zero-workspace 0.0.2

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 (507) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +187 -0
  3. package/config/component-versions.json +16 -0
  4. package/config/scenarioCapabilities.json +29 -0
  5. package/config/version-notes.yaml +244 -0
  6. package/dist/adapters/OutputAdapter.d.ts +79 -0
  7. package/dist/adapters/OutputAdapter.d.ts.map +1 -0
  8. package/dist/adapters/OutputAdapter.js +124 -0
  9. package/dist/adapters/OutputAdapter.js.map +1 -0
  10. package/dist/cli/check-node-version.d.ts +3 -0
  11. package/dist/cli/check-node-version.d.ts.map +1 -0
  12. package/dist/cli/check-node-version.js +153 -0
  13. package/dist/cli/check-node-version.js.map +1 -0
  14. package/dist/cli/plugins.d.ts +41 -0
  15. package/dist/cli/plugins.d.ts.map +1 -0
  16. package/dist/cli/plugins.js +742 -0
  17. package/dist/cli/plugins.js.map +1 -0
  18. package/dist/cli/rebuild.d.ts +63 -0
  19. package/dist/cli/rebuild.d.ts.map +1 -0
  20. package/dist/cli/rebuild.js +989 -0
  21. package/dist/cli/rebuild.js.map +1 -0
  22. package/dist/cli/repair.d.ts +7 -0
  23. package/dist/cli/repair.d.ts.map +1 -0
  24. package/dist/cli/repair.js +925 -0
  25. package/dist/cli/repair.js.map +1 -0
  26. package/dist/cli/setup.d.ts +7 -0
  27. package/dist/cli/setup.d.ts.map +1 -0
  28. package/dist/cli/setup.js +452 -0
  29. package/dist/cli/setup.js.map +1 -0
  30. package/dist/cli/update.d.ts +10 -0
  31. package/dist/cli/update.d.ts.map +1 -0
  32. package/dist/cli/update.js +426 -0
  33. package/dist/cli/update.js.map +1 -0
  34. package/dist/cli/webui.d.ts +6 -0
  35. package/dist/cli/webui.d.ts.map +1 -0
  36. package/dist/cli/webui.js +210 -0
  37. package/dist/cli/webui.js.map +1 -0
  38. package/dist/http/index.d.ts +3 -0
  39. package/dist/http/index.d.ts.map +1 -0
  40. package/dist/http/index.js +15 -0
  41. package/dist/http/index.js.map +1 -0
  42. package/dist/http/middleware/errorHandler.d.ts +16 -0
  43. package/dist/http/middleware/errorHandler.d.ts.map +1 -0
  44. package/dist/http/middleware/errorHandler.js +79 -0
  45. package/dist/http/middleware/errorHandler.js.map +1 -0
  46. package/dist/http/routes/admin.d.ts +3 -0
  47. package/dist/http/routes/admin.d.ts.map +1 -0
  48. package/dist/http/routes/admin.js +730 -0
  49. package/dist/http/routes/admin.js.map +1 -0
  50. package/dist/http/routes/backup.d.ts +3 -0
  51. package/dist/http/routes/backup.d.ts.map +1 -0
  52. package/dist/http/routes/backup.js +172 -0
  53. package/dist/http/routes/backup.js.map +1 -0
  54. package/dist/http/routes/config.d.ts +3 -0
  55. package/dist/http/routes/config.d.ts.map +1 -0
  56. package/dist/http/routes/config.js +157 -0
  57. package/dist/http/routes/config.js.map +1 -0
  58. package/dist/http/routes/context.d.ts +3 -0
  59. package/dist/http/routes/context.d.ts.map +1 -0
  60. package/dist/http/routes/context.js +82 -0
  61. package/dist/http/routes/context.js.map +1 -0
  62. package/dist/http/routes/log.d.ts +3 -0
  63. package/dist/http/routes/log.d.ts.map +1 -0
  64. package/dist/http/routes/log.js +105 -0
  65. package/dist/http/routes/log.js.map +1 -0
  66. package/dist/http/routes/memo.d.ts +6 -0
  67. package/dist/http/routes/memo.d.ts.map +1 -0
  68. package/dist/http/routes/memo.js +29 -0
  69. package/dist/http/routes/memo.js.map +1 -0
  70. package/dist/http/routes/node.d.ts +3 -0
  71. package/dist/http/routes/node.d.ts.map +1 -0
  72. package/dist/http/routes/node.js +251 -0
  73. package/dist/http/routes/node.js.map +1 -0
  74. package/dist/http/routes/state.d.ts +3 -0
  75. package/dist/http/routes/state.d.ts.map +1 -0
  76. package/dist/http/routes/state.js +48 -0
  77. package/dist/http/routes/state.js.map +1 -0
  78. package/dist/http/routes/workspace.d.ts +3 -0
  79. package/dist/http/routes/workspace.d.ts.map +1 -0
  80. package/dist/http/routes/workspace.js +249 -0
  81. package/dist/http/routes/workspace.js.map +1 -0
  82. package/dist/http/server.d.ts +10 -0
  83. package/dist/http/server.d.ts.map +1 -0
  84. package/dist/http/server.js +284 -0
  85. package/dist/http/server.js.map +1 -0
  86. package/dist/http/services.d.ts +93 -0
  87. package/dist/http/services.d.ts.map +1 -0
  88. package/dist/http/services.js +297 -0
  89. package/dist/http/services.js.map +1 -0
  90. package/dist/index.d.ts +3 -0
  91. package/dist/index.d.ts.map +1 -0
  92. package/dist/index.js +1073 -0
  93. package/dist/index.js.map +1 -0
  94. package/dist/prompts/guidanceContent.d.ts +18 -0
  95. package/dist/prompts/guidanceContent.d.ts.map +1 -0
  96. package/dist/prompts/guidanceContent.js +814 -0
  97. package/dist/prompts/guidanceContent.js.map +1 -0
  98. package/dist/prompts/index.d.ts +2 -0
  99. package/dist/prompts/index.d.ts.map +1 -0
  100. package/dist/prompts/index.js +4 -0
  101. package/dist/prompts/index.js.map +1 -0
  102. package/dist/prompts/instructions.d.ts +56 -0
  103. package/dist/prompts/instructions.d.ts.map +1 -0
  104. package/dist/prompts/instructions.js +1343 -0
  105. package/dist/prompts/instructions.js.map +1 -0
  106. package/dist/services/BackupService.d.ts +104 -0
  107. package/dist/services/BackupService.d.ts.map +1 -0
  108. package/dist/services/BackupService.js +549 -0
  109. package/dist/services/BackupService.js.map +1 -0
  110. package/dist/services/CapabilityService.d.ts +38 -0
  111. package/dist/services/CapabilityService.d.ts.map +1 -0
  112. package/dist/services/CapabilityService.js +256 -0
  113. package/dist/services/CapabilityService.js.map +1 -0
  114. package/dist/services/ConfigService.d.ts +35 -0
  115. package/dist/services/ConfigService.d.ts.map +1 -0
  116. package/dist/services/ConfigService.js +105 -0
  117. package/dist/services/ConfigService.js.map +1 -0
  118. package/dist/services/ContextService.d.ts +65 -0
  119. package/dist/services/ContextService.d.ts.map +1 -0
  120. package/dist/services/ContextService.js +503 -0
  121. package/dist/services/ContextService.js.map +1 -0
  122. package/dist/services/DetectionService.d.ts +76 -0
  123. package/dist/services/DetectionService.d.ts.map +1 -0
  124. package/dist/services/DetectionService.js +262 -0
  125. package/dist/services/DetectionService.js.map +1 -0
  126. package/dist/services/DispatchService.d.ts +267 -0
  127. package/dist/services/DispatchService.d.ts.map +1 -0
  128. package/dist/services/DispatchService.js +1357 -0
  129. package/dist/services/DispatchService.js.map +1 -0
  130. package/dist/services/EventService.d.ts +81 -0
  131. package/dist/services/EventService.d.ts.map +1 -0
  132. package/dist/services/EventService.js +187 -0
  133. package/dist/services/EventService.js.map +1 -0
  134. package/dist/services/GuidanceService.d.ts +64 -0
  135. package/dist/services/GuidanceService.d.ts.map +1 -0
  136. package/dist/services/GuidanceService.js +259 -0
  137. package/dist/services/GuidanceService.js.map +1 -0
  138. package/dist/services/HealthService.d.ts +43 -0
  139. package/dist/services/HealthService.d.ts.map +1 -0
  140. package/dist/services/HealthService.js +276 -0
  141. package/dist/services/HealthService.js.map +1 -0
  142. package/dist/services/InstallationService.d.ts +62 -0
  143. package/dist/services/InstallationService.d.ts.map +1 -0
  144. package/dist/services/InstallationService.js +204 -0
  145. package/dist/services/InstallationService.js.map +1 -0
  146. package/dist/services/LogService.d.ts +35 -0
  147. package/dist/services/LogService.d.ts.map +1 -0
  148. package/dist/services/LogService.js +189 -0
  149. package/dist/services/LogService.js.map +1 -0
  150. package/dist/services/MemoService.d.ts +39 -0
  151. package/dist/services/MemoService.d.ts.map +1 -0
  152. package/dist/services/MemoService.js +288 -0
  153. package/dist/services/MemoService.js.map +1 -0
  154. package/dist/services/NodeService.d.ts +90 -0
  155. package/dist/services/NodeService.d.ts.map +1 -0
  156. package/dist/services/NodeService.js +958 -0
  157. package/dist/services/NodeService.js.map +1 -0
  158. package/dist/services/OpenSpecParser.d.ts +43 -0
  159. package/dist/services/OpenSpecParser.d.ts.map +1 -0
  160. package/dist/services/OpenSpecParser.js +191 -0
  161. package/dist/services/OpenSpecParser.js.map +1 -0
  162. package/dist/services/ReferenceService.d.ts +35 -0
  163. package/dist/services/ReferenceService.d.ts.map +1 -0
  164. package/dist/services/ReferenceService.js +195 -0
  165. package/dist/services/ReferenceService.js.map +1 -0
  166. package/dist/services/RepairService.d.ts +36 -0
  167. package/dist/services/RepairService.d.ts.map +1 -0
  168. package/dist/services/RepairService.js +429 -0
  169. package/dist/services/RepairService.js.map +1 -0
  170. package/dist/services/SearchService.d.ts +34 -0
  171. package/dist/services/SearchService.d.ts.map +1 -0
  172. package/dist/services/SearchService.js +293 -0
  173. package/dist/services/SearchService.js.map +1 -0
  174. package/dist/services/SessionService.d.ts +136 -0
  175. package/dist/services/SessionService.d.ts.map +1 -0
  176. package/dist/services/SessionService.js +297 -0
  177. package/dist/services/SessionService.js.map +1 -0
  178. package/dist/services/StateService.d.ts +97 -0
  179. package/dist/services/StateService.d.ts.map +1 -0
  180. package/dist/services/StateService.js +846 -0
  181. package/dist/services/StateService.js.map +1 -0
  182. package/dist/services/TutorialService.d.ts +114 -0
  183. package/dist/services/TutorialService.d.ts.map +1 -0
  184. package/dist/services/TutorialService.js +1262 -0
  185. package/dist/services/TutorialService.js.map +1 -0
  186. package/dist/services/WorkspaceService.d.ts +273 -0
  187. package/dist/services/WorkspaceService.d.ts.map +1 -0
  188. package/dist/services/WorkspaceService.js +1764 -0
  189. package/dist/services/WorkspaceService.js.map +1 -0
  190. package/dist/services/index.d.ts +15 -0
  191. package/dist/services/index.d.ts.map +1 -0
  192. package/dist/services/index.js +14 -0
  193. package/dist/services/index.js.map +1 -0
  194. package/dist/storage/FileSystemAdapter.d.ts +223 -0
  195. package/dist/storage/FileSystemAdapter.d.ts.map +1 -0
  196. package/dist/storage/FileSystemAdapter.js +384 -0
  197. package/dist/storage/FileSystemAdapter.js.map +1 -0
  198. package/dist/storage/JsonStorage.d.ts +158 -0
  199. package/dist/storage/JsonStorage.d.ts.map +1 -0
  200. package/dist/storage/JsonStorage.js +613 -0
  201. package/dist/storage/JsonStorage.js.map +1 -0
  202. package/dist/storage/MarkdownStorage.d.ts +178 -0
  203. package/dist/storage/MarkdownStorage.d.ts.map +1 -0
  204. package/dist/storage/MarkdownStorage.js +918 -0
  205. package/dist/storage/MarkdownStorage.js.map +1 -0
  206. package/dist/storage/SessionBindingStorage.d.ts +69 -0
  207. package/dist/storage/SessionBindingStorage.d.ts.map +1 -0
  208. package/dist/storage/SessionBindingStorage.js +131 -0
  209. package/dist/storage/SessionBindingStorage.js.map +1 -0
  210. package/dist/storage/index.d.ts +6 -0
  211. package/dist/storage/index.d.ts.map +1 -0
  212. package/dist/storage/index.js +6 -0
  213. package/dist/storage/index.js.map +1 -0
  214. package/dist/tools/capability.d.ts +18 -0
  215. package/dist/tools/capability.d.ts.map +1 -0
  216. package/dist/tools/capability.js +73 -0
  217. package/dist/tools/capability.js.map +1 -0
  218. package/dist/tools/config.d.ts +14 -0
  219. package/dist/tools/config.d.ts.map +1 -0
  220. package/dist/tools/config.js +61 -0
  221. package/dist/tools/config.js.map +1 -0
  222. package/dist/tools/context.d.ts +22 -0
  223. package/dist/tools/context.d.ts.map +1 -0
  224. package/dist/tools/context.js +139 -0
  225. package/dist/tools/context.js.map +1 -0
  226. package/dist/tools/dispatch.d.ts +41 -0
  227. package/dist/tools/dispatch.d.ts.map +1 -0
  228. package/dist/tools/dispatch.js +380 -0
  229. package/dist/tools/dispatch.js.map +1 -0
  230. package/dist/tools/help.d.ts +44 -0
  231. package/dist/tools/help.d.ts.map +1 -0
  232. package/dist/tools/help.js +227 -0
  233. package/dist/tools/help.js.map +1 -0
  234. package/dist/tools/import.d.ts +17 -0
  235. package/dist/tools/import.d.ts.map +1 -0
  236. package/dist/tools/import.js +96 -0
  237. package/dist/tools/import.js.map +1 -0
  238. package/dist/tools/index.d.ts +12 -0
  239. package/dist/tools/index.d.ts.map +1 -0
  240. package/dist/tools/index.js +13 -0
  241. package/dist/tools/index.js.map +1 -0
  242. package/dist/tools/log.d.ts +21 -0
  243. package/dist/tools/log.d.ts.map +1 -0
  244. package/dist/tools/log.js +93 -0
  245. package/dist/tools/log.js.map +1 -0
  246. package/dist/tools/memo.d.ts +26 -0
  247. package/dist/tools/memo.d.ts.map +1 -0
  248. package/dist/tools/memo.js +188 -0
  249. package/dist/tools/memo.js.map +1 -0
  250. package/dist/tools/node.d.ts +34 -0
  251. package/dist/tools/node.d.ts.map +1 -0
  252. package/dist/tools/node.js +328 -0
  253. package/dist/tools/node.js.map +1 -0
  254. package/dist/tools/search.d.ts +14 -0
  255. package/dist/tools/search.d.ts.map +1 -0
  256. package/dist/tools/search.js +95 -0
  257. package/dist/tools/search.js.map +1 -0
  258. package/dist/tools/session.d.ts +22 -0
  259. package/dist/tools/session.d.ts.map +1 -0
  260. package/dist/tools/session.js +127 -0
  261. package/dist/tools/session.js.map +1 -0
  262. package/dist/tools/state.d.ts +10 -0
  263. package/dist/tools/state.d.ts.map +1 -0
  264. package/dist/tools/state.js +79 -0
  265. package/dist/tools/state.js.map +1 -0
  266. package/dist/tools/workspace.d.ts +38 -0
  267. package/dist/tools/workspace.d.ts.map +1 -0
  268. package/dist/tools/workspace.js +240 -0
  269. package/dist/tools/workspace.js.map +1 -0
  270. package/dist/types/capability.d.ts +36 -0
  271. package/dist/types/capability.d.ts.map +1 -0
  272. package/dist/types/capability.js +3 -0
  273. package/dist/types/capability.js.map +1 -0
  274. package/dist/types/confirmation.d.ts +35 -0
  275. package/dist/types/confirmation.d.ts.map +1 -0
  276. package/dist/types/confirmation.js +3 -0
  277. package/dist/types/confirmation.js.map +1 -0
  278. package/dist/types/context.d.ts +174 -0
  279. package/dist/types/context.d.ts.map +1 -0
  280. package/dist/types/context.js +3 -0
  281. package/dist/types/context.js.map +1 -0
  282. package/dist/types/errors.d.ts +81 -0
  283. package/dist/types/errors.d.ts.map +1 -0
  284. package/dist/types/errors.js +154 -0
  285. package/dist/types/errors.js.map +1 -0
  286. package/dist/types/guidance.d.ts +162 -0
  287. package/dist/types/guidance.d.ts.map +1 -0
  288. package/dist/types/guidance.js +4 -0
  289. package/dist/types/guidance.js.map +1 -0
  290. package/dist/types/health.d.ts +61 -0
  291. package/dist/types/health.d.ts.map +1 -0
  292. package/dist/types/health.js +3 -0
  293. package/dist/types/health.js.map +1 -0
  294. package/dist/types/index.d.ts +10 -0
  295. package/dist/types/index.d.ts.map +1 -0
  296. package/dist/types/index.js +11 -0
  297. package/dist/types/index.js.map +1 -0
  298. package/dist/types/memo.d.ts +132 -0
  299. package/dist/types/memo.d.ts.map +1 -0
  300. package/dist/types/memo.js +3 -0
  301. package/dist/types/memo.js.map +1 -0
  302. package/dist/types/node.d.ts +316 -0
  303. package/dist/types/node.d.ts.map +1 -0
  304. package/dist/types/node.js +3 -0
  305. package/dist/types/node.js.map +1 -0
  306. package/dist/types/repair.d.ts +62 -0
  307. package/dist/types/repair.d.ts.map +1 -0
  308. package/dist/types/repair.js +4 -0
  309. package/dist/types/repair.js.map +1 -0
  310. package/dist/types/search.d.ts +58 -0
  311. package/dist/types/search.d.ts.map +1 -0
  312. package/dist/types/search.js +3 -0
  313. package/dist/types/search.js.map +1 -0
  314. package/dist/types/settings.d.ts +109 -0
  315. package/dist/types/settings.d.ts.map +1 -0
  316. package/dist/types/settings.js +30 -0
  317. package/dist/types/settings.js.map +1 -0
  318. package/dist/types/workspace.d.ts +357 -0
  319. package/dist/types/workspace.d.ts.map +1 -0
  320. package/dist/types/workspace.js +3 -0
  321. package/dist/types/workspace.js.map +1 -0
  322. package/dist/utils/contentValidation.d.ts +47 -0
  323. package/dist/utils/contentValidation.d.ts.map +1 -0
  324. package/dist/utils/contentValidation.js +93 -0
  325. package/dist/utils/contentValidation.js.map +1 -0
  326. package/dist/utils/devLog.d.ts +43 -0
  327. package/dist/utils/devLog.d.ts.map +1 -0
  328. package/dist/utils/devLog.js +94 -0
  329. package/dist/utils/devLog.js.map +1 -0
  330. package/dist/utils/errorLogger.d.ts +27 -0
  331. package/dist/utils/errorLogger.d.ts.map +1 -0
  332. package/dist/utils/errorLogger.js +105 -0
  333. package/dist/utils/errorLogger.js.map +1 -0
  334. package/dist/utils/git.d.ts +123 -0
  335. package/dist/utils/git.d.ts.map +1 -0
  336. package/dist/utils/git.js +400 -0
  337. package/dist/utils/git.js.map +1 -0
  338. package/dist/utils/hash.d.ts +32 -0
  339. package/dist/utils/hash.d.ts.map +1 -0
  340. package/dist/utils/hash.js +37 -0
  341. package/dist/utils/hash.js.map +1 -0
  342. package/dist/utils/id.d.ts +54 -0
  343. package/dist/utils/id.d.ts.map +1 -0
  344. package/dist/utils/id.js +96 -0
  345. package/dist/utils/id.js.map +1 -0
  346. package/dist/utils/index.d.ts +8 -0
  347. package/dist/utils/index.d.ts.map +1 -0
  348. package/dist/utils/index.js +9 -0
  349. package/dist/utils/index.js.map +1 -0
  350. package/dist/utils/logger.d.ts +42 -0
  351. package/dist/utils/logger.d.ts.map +1 -0
  352. package/dist/utils/logger.js +228 -0
  353. package/dist/utils/logger.js.map +1 -0
  354. package/dist/utils/manualChangeFormatter.d.ts +8 -0
  355. package/dist/utils/manualChangeFormatter.d.ts.map +1 -0
  356. package/dist/utils/manualChangeFormatter.js +21 -0
  357. package/dist/utils/manualChangeFormatter.js.map +1 -0
  358. package/dist/utils/paramValidator.d.ts +35 -0
  359. package/dist/utils/paramValidator.d.ts.map +1 -0
  360. package/dist/utils/paramValidator.js +214 -0
  361. package/dist/utils/paramValidator.js.map +1 -0
  362. package/dist/utils/port.d.ts +7 -0
  363. package/dist/utils/port.d.ts.map +1 -0
  364. package/dist/utils/port.js +28 -0
  365. package/dist/utils/port.js.map +1 -0
  366. package/dist/utils/processManager.d.ts +53 -0
  367. package/dist/utils/processManager.d.ts.map +1 -0
  368. package/dist/utils/processManager.js +267 -0
  369. package/dist/utils/processManager.js.map +1 -0
  370. package/dist/utils/sessionLogger.d.ts +28 -0
  371. package/dist/utils/sessionLogger.d.ts.map +1 -0
  372. package/dist/utils/sessionLogger.js +142 -0
  373. package/dist/utils/sessionLogger.js.map +1 -0
  374. package/dist/utils/time.d.ts +15 -0
  375. package/dist/utils/time.d.ts.map +1 -0
  376. package/dist/utils/time.js +32 -0
  377. package/dist/utils/time.js.map +1 -0
  378. package/dist/utils/validation.d.ts +23 -0
  379. package/dist/utils/validation.d.ts.map +1 -0
  380. package/dist/utils/validation.js +88 -0
  381. package/dist/utils/validation.js.map +1 -0
  382. package/docs//346/227/245/345/277/227/347/263/273/347/273/237.md +389 -0
  383. package/docs//347/224/250/346/210/267/346/211/213/345/206/214.md +1446 -0
  384. package/docs//347/224/250/346/210/267/346/211/213/345/206/214/344/270/216/346/212/200/346/234/257/346/214/207/345/215/227.md +873 -0
  385. package/package.json +94 -0
  386. package/plugin/README.md +141 -0
  387. package/plugin/agents/zero-executor.md +114 -0
  388. package/plugin/agents/zero-reviewer.md +133 -0
  389. package/plugin/docs/diagnostic-guide.md +128 -0
  390. package/plugin/hooks/hooks.json.deprecated +70 -0
  391. package/plugin/scripts/cursor-hook-entry.cjs +217 -0
  392. package/plugin/scripts/hook-entry.cjs +663 -0
  393. package/plugin/scripts/openspec-import.cjs +714 -0
  394. package/plugin/scripts/shared/binding.cjs +98 -0
  395. package/plugin/scripts/shared/config.cjs +65 -0
  396. package/plugin/scripts/shared/context.cjs +120 -0
  397. package/plugin/scripts/shared/index.cjs +34 -0
  398. package/plugin/scripts/shared/logger.cjs +196 -0
  399. package/plugin/scripts/shared/reminder.cjs +261 -0
  400. package/plugin/scripts/shared/utils.cjs +62 -0
  401. package/plugin/scripts/shared/workspace.cjs +322 -0
  402. package/plugin/skills/aligning-intent/SKILL.md +275 -0
  403. package/plugin/skills/analyzing-measurements/SKILL.md +223 -0
  404. package/plugin/skills/bootstrapping-workspace/SKILL.md +260 -0
  405. package/plugin/skills/designing-solutions/SKILL.md +363 -0
  406. package/plugin/skills/diagnosing-issues/SKILL.md +219 -0
  407. package/plugin/skills/discovering-context/SKILL.md +283 -0
  408. package/plugin/skills/dispatching-parent/SKILL.md +399 -0
  409. package/plugin/skills/executing-task/SKILL.md +340 -0
  410. package/plugin/skills/memo-create/SKILL.md +222 -0
  411. package/plugin/skills/planning-verification/SKILL.md +245 -0
  412. package/plugin/skills/preparing-dispatch/SKILL.md +299 -0
  413. package/plugin/skills/researching-tech/SKILL.md +223 -0
  414. package/plugin/skills/reviewing-quality/SKILL.md +354 -0
  415. package/plugin/skills/reviewing-spec/SKILL.md +333 -0
  416. package/plugin/skills/starting-info-flow/SKILL.md +196 -0
  417. package/web/README.md +5 -0
  418. package/web/dist/assets/DocsView-Bls_Vjsr.css +1 -0
  419. package/web/dist/assets/DocsView-Cxc0B63r.js +1447 -0
  420. package/web/dist/assets/HomeView-C7df9thb.js +9 -0
  421. package/web/dist/assets/HomeView-ufUdnfHk.css +1 -0
  422. package/web/dist/assets/MarkdownContent-DXp6CtSP.js +308 -0
  423. package/web/dist/assets/MarkdownContent-NFqiOBLH.css +1 -0
  424. package/web/dist/assets/NotFoundView-BYX1oZAn.css +1 -0
  425. package/web/dist/assets/NotFoundView-zrc0lT9q.js +1 -0
  426. package/web/dist/assets/WorkspaceView-BckqgNcX.js +27 -0
  427. package/web/dist/assets/WorkspaceView-J1dgpYMx.css +1 -0
  428. package/web/dist/assets/WsConfirmDialog-C1CvL4my.css +1 -0
  429. package/web/dist/assets/WsConfirmDialog-gLEP7uBD.js +4 -0
  430. package/web/dist/assets/arc-DPkKTkUT.js +1 -0
  431. package/web/dist/assets/architectureDiagram-VXUJARFQ-CEGpqUlZ.js +36 -0
  432. package/web/dist/assets/blockDiagram-VD42YOAC-Bv-mqdQH.js +122 -0
  433. package/web/dist/assets/c4Diagram-YG6GDRKO-DRyPatZ_.js +10 -0
  434. package/web/dist/assets/channel-B84mKLDZ.js +1 -0
  435. package/web/dist/assets/chunk-4BX2VUAB-c7DivX0u.js +1 -0
  436. package/web/dist/assets/chunk-55IACEB6-CGKTaLlo.js +1 -0
  437. package/web/dist/assets/chunk-B4BG7PRW-Czhx5Q_P.js +165 -0
  438. package/web/dist/assets/chunk-DI55MBZ5-CQVA7hcZ.js +220 -0
  439. package/web/dist/assets/chunk-FMBD7UC4-hEiPmi7V.js +15 -0
  440. package/web/dist/assets/chunk-QN33PNHL-rL6yYI-E.js +1 -0
  441. package/web/dist/assets/chunk-QZHKN3VN-BRyHBBzq.js +1 -0
  442. package/web/dist/assets/chunk-TZMSLE5B-D4PXmTz9.js +1 -0
  443. package/web/dist/assets/classDiagram-2ON5EDUG-CNn53ohi.js +1 -0
  444. package/web/dist/assets/classDiagram-v2-WZHVMYZB-CNn53ohi.js +1 -0
  445. package/web/dist/assets/cose-bilkent-S5V4N54A-BAREnRga.js +1 -0
  446. package/web/dist/assets/cytoscape.esm-BnkdMOzK.js +321 -0
  447. package/web/dist/assets/dagre-6UL2VRFP-DaYzb3MT.js +4 -0
  448. package/web/dist/assets/defaultLocale-C4B-KCzX.js +1 -0
  449. package/web/dist/assets/diagram-PSM6KHXK-BFltDqvd.js +24 -0
  450. package/web/dist/assets/diagram-QEK2KX5R-CR4VU2La.js +43 -0
  451. package/web/dist/assets/diagram-S2PKOQOG-0UfIeT-1.js +24 -0
  452. package/web/dist/assets/erDiagram-Q2GNP2WA-Bo17Xmng.js +60 -0
  453. package/web/dist/assets/flowDiagram-NV44I4VS-CzqhQp8s.js +162 -0
  454. package/web/dist/assets/ganttDiagram-JELNMOA3-TXwXtUcq.js +267 -0
  455. package/web/dist/assets/gitGraphDiagram-NY62KEGX-CoFQTy9O.js +65 -0
  456. package/web/dist/assets/graph-CIQcRIVd.js +1 -0
  457. package/web/dist/assets/index-BgLd_o_M.css +1 -0
  458. package/web/dist/assets/index-Cd_J3fZn.js +30 -0
  459. package/web/dist/assets/infoDiagram-WHAUD3N6-Dq0xXfVu.js +2 -0
  460. package/web/dist/assets/init-Gi6I4Gst.js +1 -0
  461. package/web/dist/assets/journeyDiagram-XKPGCS4Q-jIg5BOfC.js +139 -0
  462. package/web/dist/assets/kanban-definition-3W4ZIXB7-D2giu6aZ.js +89 -0
  463. package/web/dist/assets/katex-XbL3y5x-.js +261 -0
  464. package/web/dist/assets/layout-Bm-XCM-8.js +1 -0
  465. package/web/dist/assets/linear-FbekP9OZ.js +1 -0
  466. package/web/dist/assets/min-BrRCpYmF.js +1 -0
  467. package/web/dist/assets/mindmap-definition-VGOIOE7T-o-4ubbY9.js +68 -0
  468. package/web/dist/assets/noto-emoji-0-400-normal-BTQbhB77.woff +0 -0
  469. package/web/dist/assets/noto-emoji-0-400-normal-DHdy6Uhy.woff2 +0 -0
  470. package/web/dist/assets/noto-emoji-1-400-normal-0IvkdXBB.woff +0 -0
  471. package/web/dist/assets/noto-emoji-1-400-normal-BY9OovbM.woff2 +0 -0
  472. package/web/dist/assets/noto-emoji-10-400-normal-D9w4QCof.woff2 +0 -0
  473. package/web/dist/assets/noto-emoji-10-400-normal-DtCumcZR.woff +0 -0
  474. package/web/dist/assets/noto-emoji-11-400-normal-BboTlyvx.woff +0 -0
  475. package/web/dist/assets/noto-emoji-12-400-normal-BB5pgBKj.woff2 +0 -0
  476. package/web/dist/assets/noto-emoji-12-400-normal-g186qhiA.woff +0 -0
  477. package/web/dist/assets/noto-emoji-2-400-normal-BKCR1azW.woff2 +0 -0
  478. package/web/dist/assets/noto-emoji-2-400-normal-BYH0KhDr.woff +0 -0
  479. package/web/dist/assets/noto-emoji-3-400-normal-CnPTUeEK.woff +0 -0
  480. package/web/dist/assets/noto-emoji-3-400-normal-TrTb2VQM.woff2 +0 -0
  481. package/web/dist/assets/noto-emoji-4-400-normal-BxD0KVdj.woff +0 -0
  482. package/web/dist/assets/noto-emoji-4-400-normal-s_n9EyG1.woff2 +0 -0
  483. package/web/dist/assets/noto-emoji-5-400-normal-C190AIxR.woff +0 -0
  484. package/web/dist/assets/noto-emoji-5-400-normal-Ctfx4xc6.woff2 +0 -0
  485. package/web/dist/assets/noto-emoji-6-400-normal-DlXlXWt7.woff +0 -0
  486. package/web/dist/assets/noto-emoji-6-400-normal-NzsjD754.woff2 +0 -0
  487. package/web/dist/assets/noto-emoji-7-400-normal-BHP8KeA6.woff2 +0 -0
  488. package/web/dist/assets/noto-emoji-7-400-normal-CtuKhtAZ.woff +0 -0
  489. package/web/dist/assets/noto-emoji-8-400-normal-DR49ZFe7.woff +0 -0
  490. package/web/dist/assets/noto-emoji-8-400-normal-Dvmkf6b2.woff2 +0 -0
  491. package/web/dist/assets/noto-emoji-9-400-normal-BeHJQ2iK.woff2 +0 -0
  492. package/web/dist/assets/noto-emoji-9-400-normal-BlXmCgeQ.woff +0 -0
  493. package/web/dist/assets/ordinal-Cboi1Yqb.js +1 -0
  494. package/web/dist/assets/pieDiagram-ADFJNKIX-C45wSpld.js +30 -0
  495. package/web/dist/assets/quadrantDiagram-AYHSOK5B-tv-_fe-W.js +7 -0
  496. package/web/dist/assets/reduce-CoLNNlNb.js +1 -0
  497. package/web/dist/assets/requirementDiagram-UZGBJVZJ-Dn6PDfkL.js +64 -0
  498. package/web/dist/assets/sankeyDiagram-TZEHDZUN-CbXTZAsG.js +10 -0
  499. package/web/dist/assets/sequenceDiagram-WL72ISMW-B-o1CUJ5.js +145 -0
  500. package/web/dist/assets/stateDiagram-FKZM4ZOC-hzrupXQi.js +1 -0
  501. package/web/dist/assets/stateDiagram-v2-4FDKWEC3-DN-c2M96.js +1 -0
  502. package/web/dist/assets/timeline-definition-IT6M3QCI-R5SP9GDo.js +61 -0
  503. package/web/dist/assets/treemap-KMMF4GRG-Pg9KlUOt.js +128 -0
  504. package/web/dist/assets/xychartDiagram-PRI3JC2R-C3vbJhd1.js +7 -0
  505. package/web/dist/favicon.svg +13 -0
  506. package/web/dist/index.html +17 -0
  507. package//351/205/215/347/275/256/346/226/271/345/274/217.md +330 -0
@@ -0,0 +1,267 @@
1
+ import{aP as tn,aQ as In,aR as en,aS as nn,aT as rn,aU as se,aV as Yn,_ as f,g as An,s as Wn,q as Ln,p as On,a as $n,b as Nn,c as St,d as qt,e as Hn,l as vt,k as Vn,j as Pn,y as Rn,u as zn}from"./MarkdownContent-DXp6CtSP.js";import{x as sn,a7 as nt,a8 as Bn,a9 as qn}from"./index-Cd_J3fZn.js";import{b as Zn,t as Le,c as jn,a as Xn,l as Qn}from"./linear-FbekP9OZ.js";import{i as Gn}from"./init-Gi6I4Gst.js";import"./defaultLocale-C4B-KCzX.js";function Jn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function Kn(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of t)(i=e(i,++r,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function tr(t){return t}var jt=1,ae=2,ke=3,Zt=4,Oe=1e-6;function er(t){return"translate("+t+",0)"}function nr(t){return"translate(0,"+t+")"}function rr(t){return e=>+t(e)}function ir(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function sr(){return!this.__axis}function an(t,e){var n=[],r=null,i=null,a=6,c=6,b=3,E=typeof window<"u"&&window.devicePixelRatio>1?0:.5,S=t===jt||t===Zt?-1:1,x=t===Zt||t===ae?"x":"y",W=t===jt||t===ke?er:nr;function _(C){var V=r??(e.ticks?e.ticks.apply(e,n):e.domain()),I=i??(e.tickFormat?e.tickFormat.apply(e,n):tr),tt=Math.max(a,0)+b,Z=e.range(),rt=+Z[0]+E,R=+Z[Z.length-1]+E,q=(e.bandwidth?ir:rr)(e.copy(),E),G=C.selection?C.selection():C,m=G.selectAll(".domain").data([null]),g=G.selectAll(".tick").data(V,e).order(),y=g.exit(),h=g.enter().append("g").attr("class","tick"),D=g.select("line"),M=g.select("text");m=m.merge(m.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),g=g.merge(h),D=D.merge(h.append("line").attr("stroke","currentColor").attr(x+"2",S*a)),M=M.merge(h.append("text").attr("fill","currentColor").attr(x,S*tt).attr("dy",t===jt?"0em":t===ke?"0.71em":"0.32em")),C!==G&&(m=m.transition(C),g=g.transition(C),D=D.transition(C),M=M.transition(C),y=y.transition(C).attr("opacity",Oe).attr("transform",function(w){return isFinite(w=q(w))?W(w+E):this.getAttribute("transform")}),h.attr("opacity",Oe).attr("transform",function(w){var p=this.parentNode.__axis;return W((p&&isFinite(p=p(w))?p:q(w))+E)})),y.remove(),m.attr("d",t===Zt||t===ae?c?"M"+S*c+","+rt+"H"+E+"V"+R+"H"+S*c:"M"+E+","+rt+"V"+R:c?"M"+rt+","+S*c+"V"+E+"H"+R+"V"+S*c:"M"+rt+","+E+"H"+R),g.attr("opacity",1).attr("transform",function(w){return W(q(w)+E)}),D.attr(x+"2",S*a),M.attr(x,S*tt).text(I),G.filter(sr).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===ae?"start":t===Zt?"end":"middle"),G.each(function(){this.__axis=q})}return _.scale=function(C){return arguments.length?(e=C,_):e},_.ticks=function(){return n=Array.from(arguments),_},_.tickArguments=function(C){return arguments.length?(n=C==null?[]:Array.from(C),_):n.slice()},_.tickValues=function(C){return arguments.length?(r=C==null?null:Array.from(C),_):r&&r.slice()},_.tickFormat=function(C){return arguments.length?(i=C,_):i},_.tickSize=function(C){return arguments.length?(a=c=+C,_):a},_.tickSizeInner=function(C){return arguments.length?(a=+C,_):a},_.tickSizeOuter=function(C){return arguments.length?(c=+C,_):c},_.tickPadding=function(C){return arguments.length?(b=+C,_):b},_.offset=function(C){return arguments.length?(E=+C,_):E},_}function ar(t){return an(jt,t)}function or(t){return an(ke,t)}const cr=Math.PI/180,ur=180/Math.PI,Kt=18,on=.96422,cn=1,un=.82521,ln=4/29,_t=6/29,fn=3*_t*_t,lr=_t*_t*_t;function dn(t){if(t instanceof ut)return new ut(t.l,t.a,t.b,t.opacity);if(t instanceof ht)return hn(t);t instanceof tn||(t=In(t));var e=le(t.r),n=le(t.g),r=le(t.b),i=oe((.2225045*e+.7168786*n+.0606169*r)/cn),a,c;return e===n&&n===r?a=c=i:(a=oe((.4360747*e+.3850649*n+.1430804*r)/on),c=oe((.0139322*e+.0971045*n+.7141733*r)/un)),new ut(116*i-16,500*(a-i),200*(i-c),t.opacity)}function fr(t,e,n,r){return arguments.length===1?dn(t):new ut(t,e,n,r??1)}function ut(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}en(ut,fr,nn(rn,{brighter(t){return new ut(this.l+Kt*(t??1),this.a,this.b,this.opacity)},darker(t){return new ut(this.l-Kt*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=on*ce(e),t=cn*ce(t),n=un*ce(n),new tn(ue(3.1338561*e-1.6168667*t-.4906146*n),ue(-.9787684*e+1.9161415*t+.033454*n),ue(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function oe(t){return t>lr?Math.pow(t,1/3):t/fn+ln}function ce(t){return t>_t?t*t*t:fn*(t-ln)}function ue(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function le(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function dr(t){if(t instanceof ht)return new ht(t.h,t.c,t.l,t.opacity);if(t instanceof ut||(t=dn(t)),t.a===0&&t.b===0)return new ht(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*ur;return new ht(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function pe(t,e,n,r){return arguments.length===1?dr(t):new ht(t,e,n,r??1)}function ht(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function hn(t){if(isNaN(t.h))return new ut(t.l,0,0,t.opacity);var e=t.h*cr;return new ut(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}en(ht,pe,nn(rn,{brighter(t){return new ht(this.h,this.c,this.l+Kt*(t??1),this.opacity)},darker(t){return new ht(this.h,this.c,this.l-Kt*(t??1),this.opacity)},rgb(){return hn(this).rgb()}}));function hr(t){return function(e,n){var r=t((e=pe(e)).h,(n=pe(n)).h),i=se(e.c,n.c),a=se(e.l,n.l),c=se(e.opacity,n.opacity);return function(b){return e.h=r(b),e.c=i(b),e.l=a(b),e.opacity=c(b),e+""}}}const mr=hr(Yn);function gr(t,e){t=t.slice();var n=0,r=t.length-1,i=t[n],a=t[r],c;return a<i&&(c=n,n=r,r=c,c=i,i=a,a=c),t[n]=e.floor(i),t[r]=e.ceil(a),t}const fe=new Date,de=new Date;function Q(t,e,n,r){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return i.floor=a=>(t(a=new Date(+a)),a),i.ceil=a=>(t(a=new Date(a-1)),e(a,1),t(a),a),i.round=a=>{const c=i(a),b=i.ceil(a);return a-c<b-a?c:b},i.offset=(a,c)=>(e(a=new Date(+a),c==null?1:Math.floor(c)),a),i.range=(a,c,b)=>{const E=[];if(a=i.ceil(a),b=b==null?1:Math.floor(b),!(a<c)||!(b>0))return E;let S;do E.push(S=new Date(+a)),e(a,b),t(a);while(S<a&&a<c);return E},i.filter=a=>Q(c=>{if(c>=c)for(;t(c),!a(c);)c.setTime(c-1)},(c,b)=>{if(c>=c)if(b<0)for(;++b<=0;)for(;e(c,-1),!a(c););else for(;--b>=0;)for(;e(c,1),!a(c););}),n&&(i.count=(a,c)=>(fe.setTime(+a),de.setTime(+c),t(fe),t(de),Math.floor(n(fe,de))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(r?c=>r(c)%a===0:c=>i.count(0,c)%a===0):i)),i}const Ut=Q(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Ut.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Q(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Ut);Ut.range;const mt=1e3,st=mt*60,gt=st*60,yt=gt*24,we=yt*7,$e=yt*30,he=yt*365,pt=Q(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*mt)},(t,e)=>(e-t)/mt,t=>t.getUTCSeconds());pt.range;const Lt=Q(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt)},(t,e)=>{t.setTime(+t+e*st)},(t,e)=>(e-t)/st,t=>t.getMinutes());Lt.range;const yr=Q(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*st)},(t,e)=>(e-t)/st,t=>t.getUTCMinutes());yr.range;const Ot=Q(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*mt-t.getMinutes()*st)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getHours());Ot.range;const kr=Q(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*gt)},(t,e)=>(e-t)/gt,t=>t.getUTCHours());kr.range;const Tt=Q(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*st)/yt,t=>t.getDate()-1);Tt.range;const Ce=Q(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>t.getUTCDate()-1);Ce.range;const pr=Q(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/yt,t=>Math.floor(t/yt));pr.range;function wt(t){return Q(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*st)/we)}const Ht=wt(0),$t=wt(1),mn=wt(2),gn=wt(3),bt=wt(4),yn=wt(5),kn=wt(6);Ht.range;$t.range;mn.range;gn.range;bt.range;yn.range;kn.range;function Ct(t){return Q(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/we)}const pn=Ct(0),te=Ct(1),vr=Ct(2),Tr=Ct(3),Et=Ct(4),br=Ct(5),xr=Ct(6);pn.range;te.range;vr.range;Tr.range;Et.range;br.range;xr.range;const Nt=Q(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth());Nt.range;const wr=Q(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth());wr.range;const kt=Q(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());kt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Q(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});kt.range;const xt=Q(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());xt.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Q(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});xt.range;function Cr(t,e,n,r,i,a){const c=[[pt,1,mt],[pt,5,5*mt],[pt,15,15*mt],[pt,30,30*mt],[a,1,st],[a,5,5*st],[a,15,15*st],[a,30,30*st],[i,1,gt],[i,3,3*gt],[i,6,6*gt],[i,12,12*gt],[r,1,yt],[r,2,2*yt],[n,1,we],[e,1,$e],[e,3,3*$e],[t,1,he]];function b(S,x,W){const _=x<S;_&&([S,x]=[x,S]);const C=W&&typeof W.range=="function"?W:E(S,x,W),V=C?C.range(S,+x+1):[];return _?V.reverse():V}function E(S,x,W){const _=Math.abs(x-S)/W,C=Zn(([,,tt])=>tt).right(c,_);if(C===c.length)return t.every(Le(S/he,x/he,W));if(C===0)return Ut.every(Math.max(Le(S,x,W),1));const[V,I]=c[_/c[C-1][2]<c[C][2]/_?C-1:C];return V.every(I)}return[b,E]}const[Dr,Mr]=Cr(kt,Nt,Ht,Tt,Ot,Lt);function me(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function ge(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Yt(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function Sr(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,c=t.shortDays,b=t.months,E=t.shortMonths,S=At(i),x=Wt(i),W=At(a),_=Wt(a),C=At(c),V=Wt(c),I=At(b),tt=Wt(b),Z=At(E),rt=Wt(E),R={a:k,A:F,b:o,B:z,c:null,d:ze,e:ze,f:Qr,g:ai,G:ci,H:Zr,I:jr,j:Xr,L:vn,m:Gr,M:Jr,p:s,q:U,Q:Ze,s:je,S:Kr,u:ti,U:ei,V:ni,w:ri,W:ii,x:null,X:null,y:si,Y:oi,Z:ui,"%":qe},q={a:P,A:$,b:O,B:J,c:null,d:Be,e:Be,f:hi,g:wi,G:Di,H:li,I:fi,j:di,L:bn,m:mi,M:gi,p:Y,q:at,Q:Ze,s:je,S:yi,u:ki,U:pi,V:vi,w:Ti,W:bi,x:null,X:null,y:xi,Y:Ci,Z:Mi,"%":qe},G={a:D,A:M,b:w,B:p,c:u,d:Pe,e:Pe,f:Rr,g:Ve,G:He,H:Re,I:Re,j:Nr,L:Pr,m:$r,M:Hr,p:h,q:Or,Q:Br,s:qr,S:Vr,u:Ir,U:Yr,V:Ar,w:Er,W:Wr,x:d,X:v,y:Ve,Y:He,Z:Lr,"%":zr};R.x=m(n,R),R.X=m(r,R),R.c=m(e,R),q.x=m(n,q),q.X=m(r,q),q.c=m(e,q);function m(T,L){return function(N){var l=[],et=-1,A=0,j=T.length,B,ot,lt;for(N instanceof Date||(N=new Date(+N));++et<j;)T.charCodeAt(et)===37&&(l.push(T.slice(A,et)),(ot=Ne[B=T.charAt(++et)])!=null?B=T.charAt(++et):ot=B==="e"?" ":"0",(lt=L[B])&&(B=lt(N,ot)),l.push(B),A=et+1);return l.push(T.slice(A,et)),l.join("")}}function g(T,L){return function(N){var l=Yt(1900,void 0,1),et=y(l,T,N+="",0),A,j;if(et!=N.length)return null;if("Q"in l)return new Date(l.Q);if("s"in l)return new Date(l.s*1e3+("L"in l?l.L:0));if(L&&!("Z"in l)&&(l.Z=0),"p"in l&&(l.H=l.H%12+l.p*12),l.m===void 0&&(l.m="q"in l?l.q:0),"V"in l){if(l.V<1||l.V>53)return null;"w"in l||(l.w=1),"Z"in l?(A=ge(Yt(l.y,0,1)),j=A.getUTCDay(),A=j>4||j===0?te.ceil(A):te(A),A=Ce.offset(A,(l.V-1)*7),l.y=A.getUTCFullYear(),l.m=A.getUTCMonth(),l.d=A.getUTCDate()+(l.w+6)%7):(A=me(Yt(l.y,0,1)),j=A.getDay(),A=j>4||j===0?$t.ceil(A):$t(A),A=Tt.offset(A,(l.V-1)*7),l.y=A.getFullYear(),l.m=A.getMonth(),l.d=A.getDate()+(l.w+6)%7)}else("W"in l||"U"in l)&&("w"in l||(l.w="u"in l?l.u%7:"W"in l?1:0),j="Z"in l?ge(Yt(l.y,0,1)).getUTCDay():me(Yt(l.y,0,1)).getDay(),l.m=0,l.d="W"in l?(l.w+6)%7+l.W*7-(j+5)%7:l.w+l.U*7-(j+6)%7);return"Z"in l?(l.H+=l.Z/100|0,l.M+=l.Z%100,ge(l)):me(l)}}function y(T,L,N,l){for(var et=0,A=L.length,j=N.length,B,ot;et<A;){if(l>=j)return-1;if(B=L.charCodeAt(et++),B===37){if(B=L.charAt(et++),ot=G[B in Ne?L.charAt(et++):B],!ot||(l=ot(T,N,l))<0)return-1}else if(B!=N.charCodeAt(l++))return-1}return l}function h(T,L,N){var l=S.exec(L.slice(N));return l?(T.p=x.get(l[0].toLowerCase()),N+l[0].length):-1}function D(T,L,N){var l=C.exec(L.slice(N));return l?(T.w=V.get(l[0].toLowerCase()),N+l[0].length):-1}function M(T,L,N){var l=W.exec(L.slice(N));return l?(T.w=_.get(l[0].toLowerCase()),N+l[0].length):-1}function w(T,L,N){var l=Z.exec(L.slice(N));return l?(T.m=rt.get(l[0].toLowerCase()),N+l[0].length):-1}function p(T,L,N){var l=I.exec(L.slice(N));return l?(T.m=tt.get(l[0].toLowerCase()),N+l[0].length):-1}function u(T,L,N){return y(T,e,L,N)}function d(T,L,N){return y(T,n,L,N)}function v(T,L,N){return y(T,r,L,N)}function k(T){return c[T.getDay()]}function F(T){return a[T.getDay()]}function o(T){return E[T.getMonth()]}function z(T){return b[T.getMonth()]}function s(T){return i[+(T.getHours()>=12)]}function U(T){return 1+~~(T.getMonth()/3)}function P(T){return c[T.getUTCDay()]}function $(T){return a[T.getUTCDay()]}function O(T){return E[T.getUTCMonth()]}function J(T){return b[T.getUTCMonth()]}function Y(T){return i[+(T.getUTCHours()>=12)]}function at(T){return 1+~~(T.getUTCMonth()/3)}return{format:function(T){var L=m(T+="",R);return L.toString=function(){return T},L},parse:function(T){var L=g(T+="",!1);return L.toString=function(){return T},L},utcFormat:function(T){var L=m(T+="",q);return L.toString=function(){return T},L},utcParse:function(T){var L=g(T+="",!0);return L.toString=function(){return T},L}}}var Ne={"-":"",_:" ",0:"0"},K=/^\s*\d+/,_r=/^%/,Fr=/[\\^$*+?|[\]().{}]/g;function H(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a<n?new Array(n-a+1).join(e)+i:i)}function Ur(t){return t.replace(Fr,"\\$&")}function At(t){return new RegExp("^(?:"+t.map(Ur).join("|")+")","i")}function Wt(t){return new Map(t.map((e,n)=>[e.toLowerCase(),n]))}function Er(t,e,n){var r=K.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Ir(t,e,n){var r=K.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Yr(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function Ar(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Wr(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function He(t,e,n){var r=K.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Ve(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Lr(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Or(t,e,n){var r=K.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function $r(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Pe(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Nr(t,e,n){var r=K.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function Re(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Hr(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Vr(t,e,n){var r=K.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function Pr(t,e,n){var r=K.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Rr(t,e,n){var r=K.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function zr(t,e,n){var r=_r.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function Br(t,e,n){var r=K.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function qr(t,e,n){var r=K.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function ze(t,e){return H(t.getDate(),e,2)}function Zr(t,e){return H(t.getHours(),e,2)}function jr(t,e){return H(t.getHours()%12||12,e,2)}function Xr(t,e){return H(1+Tt.count(kt(t),t),e,3)}function vn(t,e){return H(t.getMilliseconds(),e,3)}function Qr(t,e){return vn(t,e)+"000"}function Gr(t,e){return H(t.getMonth()+1,e,2)}function Jr(t,e){return H(t.getMinutes(),e,2)}function Kr(t,e){return H(t.getSeconds(),e,2)}function ti(t){var e=t.getDay();return e===0?7:e}function ei(t,e){return H(Ht.count(kt(t)-1,t),e,2)}function Tn(t){var e=t.getDay();return e>=4||e===0?bt(t):bt.ceil(t)}function ni(t,e){return t=Tn(t),H(bt.count(kt(t),t)+(kt(t).getDay()===4),e,2)}function ri(t){return t.getDay()}function ii(t,e){return H($t.count(kt(t)-1,t),e,2)}function si(t,e){return H(t.getFullYear()%100,e,2)}function ai(t,e){return t=Tn(t),H(t.getFullYear()%100,e,2)}function oi(t,e){return H(t.getFullYear()%1e4,e,4)}function ci(t,e){var n=t.getDay();return t=n>=4||n===0?bt(t):bt.ceil(t),H(t.getFullYear()%1e4,e,4)}function ui(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+H(e/60|0,"0",2)+H(e%60,"0",2)}function Be(t,e){return H(t.getUTCDate(),e,2)}function li(t,e){return H(t.getUTCHours(),e,2)}function fi(t,e){return H(t.getUTCHours()%12||12,e,2)}function di(t,e){return H(1+Ce.count(xt(t),t),e,3)}function bn(t,e){return H(t.getUTCMilliseconds(),e,3)}function hi(t,e){return bn(t,e)+"000"}function mi(t,e){return H(t.getUTCMonth()+1,e,2)}function gi(t,e){return H(t.getUTCMinutes(),e,2)}function yi(t,e){return H(t.getUTCSeconds(),e,2)}function ki(t){var e=t.getUTCDay();return e===0?7:e}function pi(t,e){return H(pn.count(xt(t)-1,t),e,2)}function xn(t){var e=t.getUTCDay();return e>=4||e===0?Et(t):Et.ceil(t)}function vi(t,e){return t=xn(t),H(Et.count(xt(t),t)+(xt(t).getUTCDay()===4),e,2)}function Ti(t){return t.getUTCDay()}function bi(t,e){return H(te.count(xt(t)-1,t),e,2)}function xi(t,e){return H(t.getUTCFullYear()%100,e,2)}function wi(t,e){return t=xn(t),H(t.getUTCFullYear()%100,e,2)}function Ci(t,e){return H(t.getUTCFullYear()%1e4,e,4)}function Di(t,e){var n=t.getUTCDay();return t=n>=4||n===0?Et(t):Et.ceil(t),H(t.getUTCFullYear()%1e4,e,4)}function Mi(){return"+0000"}function qe(){return"%"}function Ze(t){return+t}function je(t){return Math.floor(+t/1e3)}var Mt,ee;Si({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Si(t){return Mt=Sr(t),ee=Mt.format,Mt.parse,Mt.utcFormat,Mt.utcParse,Mt}function _i(t){return new Date(t)}function Fi(t){return t instanceof Date?+t:+new Date(+t)}function wn(t,e,n,r,i,a,c,b,E,S){var x=jn(),W=x.invert,_=x.domain,C=S(".%L"),V=S(":%S"),I=S("%I:%M"),tt=S("%I %p"),Z=S("%a %d"),rt=S("%b %d"),R=S("%B"),q=S("%Y");function G(m){return(E(m)<m?C:b(m)<m?V:c(m)<m?I:a(m)<m?tt:r(m)<m?i(m)<m?Z:rt:n(m)<m?R:q)(m)}return x.invert=function(m){return new Date(W(m))},x.domain=function(m){return arguments.length?_(Array.from(m,Fi)):_().map(_i)},x.ticks=function(m){var g=_();return t(g[0],g[g.length-1],m??10)},x.tickFormat=function(m,g){return g==null?G:S(g)},x.nice=function(m){var g=_();return(!m||typeof m.range!="function")&&(m=e(g[0],g[g.length-1],m??10)),m?_(gr(g,m)):x},x.copy=function(){return Xn(x,wn(t,e,n,r,i,a,c,b,E,S))},x}function Ui(){return Gn.apply(wn(Dr,Mr,kt,Nt,Ht,Tt,Ot,Lt,pt,ee).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var Xt={exports:{}},Ei=Xt.exports,Xe;function Ii(){return Xe||(Xe=1,(function(t,e){(function(n,r){t.exports=r()})(Ei,(function(){var n="day";return function(r,i,a){var c=function(S){return S.add(4-S.isoWeekday(),n)},b=i.prototype;b.isoWeekYear=function(){return c(this).year()},b.isoWeek=function(S){if(!this.$utils().u(S))return this.add(7*(S-this.isoWeek()),n);var x,W,_,C,V=c(this),I=(x=this.isoWeekYear(),W=this.$u,_=(W?a.utc:a)().year(x).startOf("year"),C=4-_.isoWeekday(),_.isoWeekday()>4&&(C+=7),_.add(C,n));return V.diff(I,"week")+1},b.isoWeekday=function(S){return this.$utils().u(S)?this.day()||7:this.day(this.day()%7?S:S-7)};var E=b.startOf;b.startOf=function(S,x){var W=this.$utils(),_=!!W.u(x)||x;return W.p(S)==="isoweek"?_?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):E.bind(this)(S,x)}}}))})(Xt)),Xt.exports}var Yi=Ii();const Ai=sn(Yi);var Qt={exports:{}},Wi=Qt.exports,Qe;function Li(){return Qe||(Qe=1,(function(t,e){(function(n,r){t.exports=r()})(Wi,(function(){var n,r,i=1e3,a=6e4,c=36e5,b=864e5,E=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,S=31536e6,x=2628e6,W=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,_={years:S,months:x,days:b,hours:c,minutes:a,seconds:i,milliseconds:1,weeks:6048e5},C=function(m){return m instanceof q},V=function(m,g,y){return new q(m,y,g.$l)},I=function(m){return r.p(m)+"s"},tt=function(m){return m<0},Z=function(m){return tt(m)?Math.ceil(m):Math.floor(m)},rt=function(m){return Math.abs(m)},R=function(m,g){return m?tt(m)?{negative:!0,format:""+rt(m)+g}:{negative:!1,format:""+m+g}:{negative:!1,format:""}},q=(function(){function m(y,h,D){var M=this;if(this.$d={},this.$l=D,y===void 0&&(this.$ms=0,this.parseFromMilliseconds()),h)return V(y*_[I(h)],this);if(typeof y=="number")return this.$ms=y,this.parseFromMilliseconds(),this;if(typeof y=="object")return Object.keys(y).forEach((function(u){M.$d[I(u)]=y[u]})),this.calMilliseconds(),this;if(typeof y=="string"){var w=y.match(W);if(w){var p=w.slice(2).map((function(u){return u!=null?Number(u):0}));return this.$d.years=p[0],this.$d.months=p[1],this.$d.weeks=p[2],this.$d.days=p[3],this.$d.hours=p[4],this.$d.minutes=p[5],this.$d.seconds=p[6],this.calMilliseconds(),this}}return this}var g=m.prototype;return g.calMilliseconds=function(){var y=this;this.$ms=Object.keys(this.$d).reduce((function(h,D){return h+(y.$d[D]||0)*_[D]}),0)},g.parseFromMilliseconds=function(){var y=this.$ms;this.$d.years=Z(y/S),y%=S,this.$d.months=Z(y/x),y%=x,this.$d.days=Z(y/b),y%=b,this.$d.hours=Z(y/c),y%=c,this.$d.minutes=Z(y/a),y%=a,this.$d.seconds=Z(y/i),y%=i,this.$d.milliseconds=y},g.toISOString=function(){var y=R(this.$d.years,"Y"),h=R(this.$d.months,"M"),D=+this.$d.days||0;this.$d.weeks&&(D+=7*this.$d.weeks);var M=R(D,"D"),w=R(this.$d.hours,"H"),p=R(this.$d.minutes,"M"),u=this.$d.seconds||0;this.$d.milliseconds&&(u+=this.$d.milliseconds/1e3,u=Math.round(1e3*u)/1e3);var d=R(u,"S"),v=y.negative||h.negative||M.negative||w.negative||p.negative||d.negative,k=w.format||p.format||d.format?"T":"",F=(v?"-":"")+"P"+y.format+h.format+M.format+k+w.format+p.format+d.format;return F==="P"||F==="-P"?"P0D":F},g.toJSON=function(){return this.toISOString()},g.format=function(y){var h=y||"YYYY-MM-DDTHH:mm:ss",D={Y:this.$d.years,YY:r.s(this.$d.years,2,"0"),YYYY:r.s(this.$d.years,4,"0"),M:this.$d.months,MM:r.s(this.$d.months,2,"0"),D:this.$d.days,DD:r.s(this.$d.days,2,"0"),H:this.$d.hours,HH:r.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:r.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:r.s(this.$d.seconds,2,"0"),SSS:r.s(this.$d.milliseconds,3,"0")};return h.replace(E,(function(M,w){return w||String(D[M])}))},g.as=function(y){return this.$ms/_[I(y)]},g.get=function(y){var h=this.$ms,D=I(y);return D==="milliseconds"?h%=1e3:h=D==="weeks"?Z(h/_[D]):this.$d[D],h||0},g.add=function(y,h,D){var M;return M=h?y*_[I(h)]:C(y)?y.$ms:V(y,this).$ms,V(this.$ms+M*(D?-1:1),this)},g.subtract=function(y,h){return this.add(y,h,!0)},g.locale=function(y){var h=this.clone();return h.$l=y,h},g.clone=function(){return V(this.$ms,this)},g.humanize=function(y){return n().add(this.$ms,"ms").locale(this.$l).fromNow(!y)},g.valueOf=function(){return this.asMilliseconds()},g.milliseconds=function(){return this.get("milliseconds")},g.asMilliseconds=function(){return this.as("milliseconds")},g.seconds=function(){return this.get("seconds")},g.asSeconds=function(){return this.as("seconds")},g.minutes=function(){return this.get("minutes")},g.asMinutes=function(){return this.as("minutes")},g.hours=function(){return this.get("hours")},g.asHours=function(){return this.as("hours")},g.days=function(){return this.get("days")},g.asDays=function(){return this.as("days")},g.weeks=function(){return this.get("weeks")},g.asWeeks=function(){return this.as("weeks")},g.months=function(){return this.get("months")},g.asMonths=function(){return this.as("months")},g.years=function(){return this.get("years")},g.asYears=function(){return this.as("years")},m})(),G=function(m,g,y){return m.add(g.years()*y,"y").add(g.months()*y,"M").add(g.days()*y,"d").add(g.hours()*y,"h").add(g.minutes()*y,"m").add(g.seconds()*y,"s").add(g.milliseconds()*y,"ms")};return function(m,g,y){n=y,r=y().$utils(),y.duration=function(M,w){var p=y.locale();return V(M,{$l:p},w)},y.isDuration=C;var h=g.prototype.add,D=g.prototype.subtract;g.prototype.add=function(M,w){return C(M)?G(this,M,1):h.bind(this)(M,w)},g.prototype.subtract=function(M,w){return C(M)?G(this,M,-1):D.bind(this)(M,w)}}}))})(Qt)),Qt.exports}var Oi=Li();const $i=sn(Oi);var ve=(function(){var t=f(function(p,u,d,v){for(d=d||{},v=p.length;v--;d[p[v]]=u);return d},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],n=[1,26],r=[1,27],i=[1,28],a=[1,29],c=[1,30],b=[1,31],E=[1,32],S=[1,33],x=[1,34],W=[1,9],_=[1,10],C=[1,11],V=[1,12],I=[1,13],tt=[1,14],Z=[1,15],rt=[1,16],R=[1,19],q=[1,20],G=[1,21],m=[1,22],g=[1,23],y=[1,25],h=[1,35],D={trace:f(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:f(function(u,d,v,k,F,o,z){var s=o.length-1;switch(F){case 1:return o[s-1];case 2:this.$=[];break;case 3:o[s-1].push(o[s]),this.$=o[s-1];break;case 4:case 5:this.$=o[s];break;case 6:case 7:this.$=[];break;case 8:k.setWeekday("monday");break;case 9:k.setWeekday("tuesday");break;case 10:k.setWeekday("wednesday");break;case 11:k.setWeekday("thursday");break;case 12:k.setWeekday("friday");break;case 13:k.setWeekday("saturday");break;case 14:k.setWeekday("sunday");break;case 15:k.setWeekend("friday");break;case 16:k.setWeekend("saturday");break;case 17:k.setDateFormat(o[s].substr(11)),this.$=o[s].substr(11);break;case 18:k.enableInclusiveEndDates(),this.$=o[s].substr(18);break;case 19:k.TopAxis(),this.$=o[s].substr(8);break;case 20:k.setAxisFormat(o[s].substr(11)),this.$=o[s].substr(11);break;case 21:k.setTickInterval(o[s].substr(13)),this.$=o[s].substr(13);break;case 22:k.setExcludes(o[s].substr(9)),this.$=o[s].substr(9);break;case 23:k.setIncludes(o[s].substr(9)),this.$=o[s].substr(9);break;case 24:k.setTodayMarker(o[s].substr(12)),this.$=o[s].substr(12);break;case 27:k.setDiagramTitle(o[s].substr(6)),this.$=o[s].substr(6);break;case 28:this.$=o[s].trim(),k.setAccTitle(this.$);break;case 29:case 30:this.$=o[s].trim(),k.setAccDescription(this.$);break;case 31:k.addSection(o[s].substr(8)),this.$=o[s].substr(8);break;case 33:k.addTask(o[s-1],o[s]),this.$="task";break;case 34:this.$=o[s-1],k.setClickEvent(o[s-1],o[s],null);break;case 35:this.$=o[s-2],k.setClickEvent(o[s-2],o[s-1],o[s]);break;case 36:this.$=o[s-2],k.setClickEvent(o[s-2],o[s-1],null),k.setLink(o[s-2],o[s]);break;case 37:this.$=o[s-3],k.setClickEvent(o[s-3],o[s-2],o[s-1]),k.setLink(o[s-3],o[s]);break;case 38:this.$=o[s-2],k.setClickEvent(o[s-2],o[s],null),k.setLink(o[s-2],o[s-1]);break;case 39:this.$=o[s-3],k.setClickEvent(o[s-3],o[s-1],o[s]),k.setLink(o[s-3],o[s-2]);break;case 40:this.$=o[s-1],k.setLink(o[s-1],o[s]);break;case 41:case 47:this.$=o[s-1]+" "+o[s];break;case 42:case 43:case 45:this.$=o[s-2]+" "+o[s-1]+" "+o[s];break;case 44:case 46:this.$=o[s-3]+" "+o[s-2]+" "+o[s-1]+" "+o[s];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:r,14:i,15:a,16:c,17:b,18:E,19:18,20:S,21:x,22:W,23:_,24:C,25:V,26:I,27:tt,28:Z,29:rt,30:R,31:q,33:G,35:m,36:g,37:24,38:y,40:h},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:n,13:r,14:i,15:a,16:c,17:b,18:E,19:18,20:S,21:x,22:W,23:_,24:C,25:V,26:I,27:tt,28:Z,29:rt,30:R,31:q,33:G,35:m,36:g,37:24,38:y,40:h},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:f(function(u,d){if(d.recoverable)this.trace(u);else{var v=new Error(u);throw v.hash=d,v}},"parseError"),parse:f(function(u){var d=this,v=[0],k=[],F=[null],o=[],z=this.table,s="",U=0,P=0,$=2,O=1,J=o.slice.call(arguments,1),Y=Object.create(this.lexer),at={yy:{}};for(var T in this.yy)Object.prototype.hasOwnProperty.call(this.yy,T)&&(at.yy[T]=this.yy[T]);Y.setInput(u,at.yy),at.yy.lexer=Y,at.yy.parser=this,typeof Y.yylloc>"u"&&(Y.yylloc={});var L=Y.yylloc;o.push(L);var N=Y.options&&Y.options.ranges;typeof at.yy.parseError=="function"?this.parseError=at.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function l(it){v.length=v.length-2*it,F.length=F.length-it,o.length=o.length-it}f(l,"popStack");function et(){var it;return it=k.pop()||Y.lex()||O,typeof it!="number"&&(it instanceof Array&&(k=it,it=k.pop()),it=d.symbols_[it]||it),it}f(et,"lex");for(var A,j,B,ot,lt={},zt,ft,We,Bt;;){if(j=v[v.length-1],this.defaultActions[j]?B=this.defaultActions[j]:((A===null||typeof A>"u")&&(A=et()),B=z[j]&&z[j][A]),typeof B>"u"||!B.length||!B[0]){var ie="";Bt=[];for(zt in z[j])this.terminals_[zt]&&zt>$&&Bt.push("'"+this.terminals_[zt]+"'");Y.showPosition?ie="Parse error on line "+(U+1)+`:
2
+ `+Y.showPosition()+`
3
+ Expecting `+Bt.join(", ")+", got '"+(this.terminals_[A]||A)+"'":ie="Parse error on line "+(U+1)+": Unexpected "+(A==O?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(ie,{text:Y.match,token:this.terminals_[A]||A,line:Y.yylineno,loc:L,expected:Bt})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+A);switch(B[0]){case 1:v.push(A),F.push(Y.yytext),o.push(Y.yylloc),v.push(B[1]),A=null,P=Y.yyleng,s=Y.yytext,U=Y.yylineno,L=Y.yylloc;break;case 2:if(ft=this.productions_[B[1]][1],lt.$=F[F.length-ft],lt._$={first_line:o[o.length-(ft||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(ft||1)].first_column,last_column:o[o.length-1].last_column},N&&(lt._$.range=[o[o.length-(ft||1)].range[0],o[o.length-1].range[1]]),ot=this.performAction.apply(lt,[s,P,U,at.yy,B[1],F,o].concat(J)),typeof ot<"u")return ot;ft&&(v=v.slice(0,-1*ft*2),F=F.slice(0,-1*ft),o=o.slice(0,-1*ft)),v.push(this.productions_[B[1]][0]),F.push(lt.$),o.push(lt._$),We=z[v[v.length-2]][v[v.length-1]],v.push(We);break;case 3:return!0}}return!0},"parse")},M=(function(){var p={EOF:1,parseError:f(function(d,v){if(this.yy.parser)this.yy.parser.parseError(d,v);else throw new Error(d)},"parseError"),setInput:f(function(u,d){return this.yy=d||this.yy||{},this._input=u,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:f(function(){var u=this._input[0];this.yytext+=u,this.yyleng++,this.offset++,this.match+=u,this.matched+=u;var d=u.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),u},"input"),unput:f(function(u){var d=u.length,v=u.split(/(?:\r\n?|\n)/g);this._input=u+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var k=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),v.length-1&&(this.yylineno-=v.length-1);var F=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:v?(v.length===k.length?this.yylloc.first_column:0)+k[k.length-v.length].length-v[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[F[0],F[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:f(function(){return this._more=!0,this},"more"),reject:f(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:f(function(u){this.unput(this.match.slice(u))},"less"),pastInput:f(function(){var u=this.matched.substr(0,this.matched.length-this.match.length);return(u.length>20?"...":"")+u.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:f(function(){var u=this.match;return u.length<20&&(u+=this._input.substr(0,20-u.length)),(u.substr(0,20)+(u.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:f(function(){var u=this.pastInput(),d=new Array(u.length+1).join("-");return u+this.upcomingInput()+`
5
+ `+d+"^"},"showPosition"),test_match:f(function(u,d){var v,k,F;if(this.options.backtrack_lexer&&(F={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(F.yylloc.range=this.yylloc.range.slice(0))),k=u[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+u[0].length},this.yytext+=u[0],this.match+=u[0],this.matches=u,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(u[0].length),this.matched+=u[0],v=this.performAction.call(this,this.yy,this,d,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),v)return v;if(this._backtrack){for(var o in F)this[o]=F[o];return!1}return!1},"test_match"),next:f(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var u,d,v,k;this._more||(this.yytext="",this.match="");for(var F=this._currentRules(),o=0;o<F.length;o++)if(v=this._input.match(this.rules[F[o]]),v&&(!d||v[0].length>d[0].length)){if(d=v,k=o,this.options.backtrack_lexer){if(u=this.test_match(v,F[o]),u!==!1)return u;if(this._backtrack){d=!1;continue}else return!1}else if(!this.options.flex)break}return d?(u=this.test_match(d,F[k]),u!==!1?u:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:f(function(){var d=this.next();return d||this.lex()},"lex"),begin:f(function(d){this.conditionStack.push(d)},"begin"),popState:f(function(){var d=this.conditionStack.length-1;return d>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:f(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:f(function(d){return d=this.conditionStack.length-1-Math.abs(d||0),d>=0?this.conditionStack[d]:"INITIAL"},"topState"),pushState:f(function(d){this.begin(d)},"pushState"),stateStackSize:f(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:f(function(d,v,k,F){switch(k){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:break;case 9:break;case 10:break;case 11:return 10;case 12:break;case 13:break;case 14:this.begin("href");break;case 15:this.popState();break;case 16:return 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return p})();D.lexer=M;function w(){this.yy={}}return f(w,"Parser"),w.prototype=D,D.Parser=w,new w})();ve.parser=ve;var Ni=ve;nt.extend(Ai);nt.extend(Bn);nt.extend(qn);var Ge={friday:5,saturday:6},ct="",De="",Me=void 0,Se="",Vt=[],Pt=[],_e=new Map,Fe=[],ne=[],It="",Ue="",Cn=["active","done","crit","milestone","vert"],Ee=[],Rt=!1,Ie=!1,Ye="sunday",re="saturday",Te=0,Hi=f(function(){Fe=[],ne=[],It="",Ee=[],Gt=0,xe=void 0,Jt=void 0,X=[],ct="",De="",Ue="",Me=void 0,Se="",Vt=[],Pt=[],Rt=!1,Ie=!1,Te=0,_e=new Map,Rn(),Ye="sunday",re="saturday"},"clear"),Vi=f(function(t){De=t},"setAxisFormat"),Pi=f(function(){return De},"getAxisFormat"),Ri=f(function(t){Me=t},"setTickInterval"),zi=f(function(){return Me},"getTickInterval"),Bi=f(function(t){Se=t},"setTodayMarker"),qi=f(function(){return Se},"getTodayMarker"),Zi=f(function(t){ct=t},"setDateFormat"),ji=f(function(){Rt=!0},"enableInclusiveEndDates"),Xi=f(function(){return Rt},"endDatesAreInclusive"),Qi=f(function(){Ie=!0},"enableTopAxis"),Gi=f(function(){return Ie},"topAxisEnabled"),Ji=f(function(t){Ue=t},"setDisplayMode"),Ki=f(function(){return Ue},"getDisplayMode"),ts=f(function(){return ct},"getDateFormat"),es=f(function(t){Vt=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),ns=f(function(){return Vt},"getIncludes"),rs=f(function(t){Pt=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),is=f(function(){return Pt},"getExcludes"),ss=f(function(){return _e},"getLinks"),as=f(function(t){It=t,Fe.push(t)},"addSection"),os=f(function(){return Fe},"getSections"),cs=f(function(){let t=Je();const e=10;let n=0;for(;!t&&n<e;)t=Je(),n++;return ne=X,ne},"getTasks"),Dn=f(function(t,e,n,r){const i=t.format(e.trim()),a=t.format("YYYY-MM-DD");return r.includes(i)||r.includes(a)?!1:n.includes("weekends")&&(t.isoWeekday()===Ge[re]||t.isoWeekday()===Ge[re]+1)||n.includes(t.format("dddd").toLowerCase())?!0:n.includes(i)||n.includes(a)},"isInvalidDate"),us=f(function(t){Ye=t},"setWeekday"),ls=f(function(){return Ye},"getWeekday"),fs=f(function(t){re=t},"setWeekend"),Mn=f(function(t,e,n,r){if(!n.length||t.manualEndTime)return;let i;t.startTime instanceof Date?i=nt(t.startTime):i=nt(t.startTime,e,!0),i=i.add(1,"d");let a;t.endTime instanceof Date?a=nt(t.endTime):a=nt(t.endTime,e,!0);const[c,b]=ds(i,a,e,n,r);t.endTime=c.toDate(),t.renderEndTime=b},"checkTaskDates"),ds=f(function(t,e,n,r,i){let a=!1,c=null;for(;t<=e;)a||(c=e.toDate()),a=Dn(t,n,r,i),a&&(e=e.add(1,"d")),t=t.add(1,"d");return[e,c]},"fixTaskDates"),be=f(function(t,e,n){if(n=n.trim(),f(b=>{const E=b.trim();return E==="x"||E==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(n))return new Date(Number(n));const a=/^after\s+(?<ids>[\d\w- ]+)/.exec(n);if(a!==null){let b=null;for(const S of a.groups.ids.split(" ")){let x=Dt(S);x!==void 0&&(!b||x.endTime>b.endTime)&&(b=x)}if(b)return b.endTime;const E=new Date;return E.setHours(0,0,0,0),E}let c=nt(n,e.trim(),!0);if(c.isValid())return c.toDate();{vt.debug("Invalid date:"+n),vt.debug("With date format:"+e.trim());const b=new Date(n);if(b===void 0||isNaN(b.getTime())||b.getFullYear()<-1e4||b.getFullYear()>1e4)throw new Error("Invalid date:"+n);return b}},"getStartDate"),Sn=f(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),_n=f(function(t,e,n,r=!1){n=n.trim();const a=/^until\s+(?<ids>[\d\w- ]+)/.exec(n);if(a!==null){let x=null;for(const _ of a.groups.ids.split(" ")){let C=Dt(_);C!==void 0&&(!x||C.startTime<x.startTime)&&(x=C)}if(x)return x.startTime;const W=new Date;return W.setHours(0,0,0,0),W}let c=nt(n,e.trim(),!0);if(c.isValid())return r&&(c=c.add(1,"d")),c.toDate();let b=nt(t);const[E,S]=Sn(n);if(!Number.isNaN(E)){const x=b.add(E,S);x.isValid()&&(b=x)}return b.toDate()},"getEndDate"),Gt=0,Ft=f(function(t){return t===void 0?(Gt=Gt+1,"task"+Gt):t},"parseId"),hs=f(function(t,e){let n;e.substr(0,1)===":"?n=e.substr(1,e.length):n=e;const r=n.split(","),i={};Ae(r,i,Cn);for(let c=0;c<r.length;c++)r[c]=r[c].trim();let a="";switch(r.length){case 1:i.id=Ft(),i.startTime=t.endTime,a=r[0];break;case 2:i.id=Ft(),i.startTime=be(void 0,ct,r[0]),a=r[1];break;case 3:i.id=Ft(r[0]),i.startTime=be(void 0,ct,r[1]),a=r[2];break}return a&&(i.endTime=_n(i.startTime,ct,a,Rt),i.manualEndTime=nt(a,"YYYY-MM-DD",!0).isValid(),Mn(i,ct,Pt,Vt)),i},"compileData"),ms=f(function(t,e){let n;e.substr(0,1)===":"?n=e.substr(1,e.length):n=e;const r=n.split(","),i={};Ae(r,i,Cn);for(let a=0;a<r.length;a++)r[a]=r[a].trim();switch(r.length){case 1:i.id=Ft(),i.startTime={type:"prevTaskEnd",id:t},i.endTime={data:r[0]};break;case 2:i.id=Ft(),i.startTime={type:"getStartDate",startData:r[0]},i.endTime={data:r[1]};break;case 3:i.id=Ft(r[0]),i.startTime={type:"getStartDate",startData:r[1]},i.endTime={data:r[2]};break}return i},"parseData"),xe,Jt,X=[],Fn={},gs=f(function(t,e){const n={section:It,type:It,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},r=ms(Jt,e);n.raw.startTime=r.startTime,n.raw.endTime=r.endTime,n.id=r.id,n.prevTaskId=Jt,n.active=r.active,n.done=r.done,n.crit=r.crit,n.milestone=r.milestone,n.vert=r.vert,n.order=Te,Te++;const i=X.push(n);Jt=n.id,Fn[n.id]=i-1},"addTask"),Dt=f(function(t){const e=Fn[t];return X[e]},"findTaskById"),ys=f(function(t,e){const n={section:It,type:It,description:t,task:t,classes:[]},r=hs(xe,e);n.startTime=r.startTime,n.endTime=r.endTime,n.id=r.id,n.active=r.active,n.done=r.done,n.crit=r.crit,n.milestone=r.milestone,n.vert=r.vert,xe=n,ne.push(n)},"addTaskOrg"),Je=f(function(){const t=f(function(n){const r=X[n];let i="";switch(X[n].raw.startTime.type){case"prevTaskEnd":{const a=Dt(r.prevTaskId);r.startTime=a.endTime;break}case"getStartDate":i=be(void 0,ct,X[n].raw.startTime.startData),i&&(X[n].startTime=i);break}return X[n].startTime&&(X[n].endTime=_n(X[n].startTime,ct,X[n].raw.endTime.data,Rt),X[n].endTime&&(X[n].processed=!0,X[n].manualEndTime=nt(X[n].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),Mn(X[n],ct,Pt,Vt))),X[n].processed},"compileTask");let e=!0;for(const[n,r]of X.entries())t(n),e=e&&r.processed;return e},"compileTasks"),ks=f(function(t,e){let n=e;St().securityLevel!=="loose"&&(n=Pn.sanitizeUrl(e)),t.split(",").forEach(function(r){Dt(r)!==void 0&&(En(r,()=>{window.open(n,"_self")}),_e.set(r,n))}),Un(t,"clickable")},"setLink"),Un=f(function(t,e){t.split(",").forEach(function(n){let r=Dt(n);r!==void 0&&r.classes.push(e)})},"setClass"),ps=f(function(t,e,n){if(St().securityLevel!=="loose"||e===void 0)return;let r=[];if(typeof n=="string"){r=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a<r.length;a++){let c=r[a].trim();c.startsWith('"')&&c.endsWith('"')&&(c=c.substr(1,c.length-2)),r[a]=c}}r.length===0&&r.push(t),Dt(t)!==void 0&&En(t,()=>{zn.runFunc(e,...r)})},"setClickFun"),En=f(function(t,e){Ee.push(function(){const n=document.querySelector(`[id="${t}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const n=document.querySelector(`[id="${t}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},"pushFun"),vs=f(function(t,e,n){t.split(",").forEach(function(r){ps(r,e,n)}),Un(t,"clickable")},"setClickEvent"),Ts=f(function(t){Ee.forEach(function(e){e(t)})},"bindFunctions"),bs={getConfig:f(()=>St().gantt,"getConfig"),clear:Hi,setDateFormat:Zi,getDateFormat:ts,enableInclusiveEndDates:ji,endDatesAreInclusive:Xi,enableTopAxis:Qi,topAxisEnabled:Gi,setAxisFormat:Vi,getAxisFormat:Pi,setTickInterval:Ri,getTickInterval:zi,setTodayMarker:Bi,getTodayMarker:qi,setAccTitle:Nn,getAccTitle:$n,setDiagramTitle:On,getDiagramTitle:Ln,setDisplayMode:Ji,getDisplayMode:Ki,setAccDescription:Wn,getAccDescription:An,addSection:as,getSections:os,getTasks:cs,addTask:gs,findTaskById:Dt,addTaskOrg:ys,setIncludes:es,getIncludes:ns,setExcludes:rs,getExcludes:is,setClickEvent:vs,setLink:ks,getLinks:ss,bindFunctions:Ts,parseDuration:Sn,isInvalidDate:Dn,setWeekday:us,getWeekday:ls,setWeekend:fs};function Ae(t,e,n){let r=!0;for(;r;)r=!1,n.forEach(function(i){const a="^\\s*"+i+"\\s*$",c=new RegExp(a);t[0].match(c)&&(e[i]=!0,t.shift(1),r=!0)})}f(Ae,"getTaskTags");nt.extend($i);var xs=f(function(){vt.debug("Something is calling, setConf, remove the call")},"setConf"),Ke={monday:$t,tuesday:mn,wednesday:gn,thursday:bt,friday:yn,saturday:kn,sunday:Ht},ws=f((t,e)=>{let n=[...t].map(()=>-1/0),r=[...t].sort((a,c)=>a.startTime-c.startTime||a.order-c.order),i=0;for(const a of r)for(let c=0;c<n.length;c++)if(a.startTime>=n[c]){n[c]=a.endTime,a.order=c+e,c>i&&(i=c);break}return i},"getMaxIntersections"),dt,ye=1e4,Cs=f(function(t,e,n,r){const i=St().gantt,a=St().securityLevel;let c;a==="sandbox"&&(c=qt("#i"+e));const b=a==="sandbox"?qt(c.nodes()[0].contentDocument.body):qt("body"),E=a==="sandbox"?c.nodes()[0].contentDocument:document,S=E.getElementById(e);dt=S.parentElement.offsetWidth,dt===void 0&&(dt=1200),i.useWidth!==void 0&&(dt=i.useWidth);const x=r.db.getTasks();let W=[];for(const h of x)W.push(h.type);W=y(W);const _={};let C=2*i.topPadding;if(r.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const h={};for(const M of x)h[M.section]===void 0?h[M.section]=[M]:h[M.section].push(M);let D=0;for(const M of Object.keys(h)){const w=ws(h[M],D)+1;D+=w,C+=w*(i.barHeight+i.barGap),_[M]=w}}else{C+=x.length*(i.barHeight+i.barGap);for(const h of W)_[h]=x.filter(D=>D.type===h).length}S.setAttribute("viewBox","0 0 "+dt+" "+C);const V=b.select(`[id="${e}"]`),I=Ui().domain([Kn(x,function(h){return h.startTime}),Jn(x,function(h){return h.endTime})]).rangeRound([0,dt-i.leftPadding-i.rightPadding]);function tt(h,D){const M=h.startTime,w=D.startTime;let p=0;return M>w?p=1:M<w&&(p=-1),p}f(tt,"taskCompare"),x.sort(tt),Z(x,dt,C),Hn(V,C,dt,i.useMaxWidth),V.append("text").text(r.db.getDiagramTitle()).attr("x",dt/2).attr("y",i.titleTopMargin).attr("class","titleText");function Z(h,D,M){const w=i.barHeight,p=w+i.barGap,u=i.topPadding,d=i.leftPadding,v=Qn().domain([0,W.length]).range(["#00B9FA","#F95002"]).interpolate(mr);R(p,u,d,D,M,h,r.db.getExcludes(),r.db.getIncludes()),G(d,u,D,M),rt(h,p,u,d,w,v,D),m(p,u),g(d,u,D,M)}f(Z,"makeGantt");function rt(h,D,M,w,p,u,d){h.sort((s,U)=>s.vert===U.vert?0:s.vert?1:-1);const k=[...new Set(h.map(s=>s.order))].map(s=>h.find(U=>U.order===s));V.append("g").selectAll("rect").data(k).enter().append("rect").attr("x",0).attr("y",function(s,U){return U=s.order,U*D+M-2}).attr("width",function(){return d-i.rightPadding/2}).attr("height",D).attr("class",function(s){for(const[U,P]of W.entries())if(s.type===P)return"section section"+U%i.numberSectionStyles;return"section section0"}).enter();const F=V.append("g").selectAll("rect").data(h).enter(),o=r.db.getLinks();if(F.append("rect").attr("id",function(s){return s.id}).attr("rx",3).attr("ry",3).attr("x",function(s){return s.milestone?I(s.startTime)+w+.5*(I(s.endTime)-I(s.startTime))-.5*p:I(s.startTime)+w}).attr("y",function(s,U){return U=s.order,s.vert?i.gridLineStartPadding:U*D+M}).attr("width",function(s){return s.milestone?p:s.vert?.08*p:I(s.renderEndTime||s.endTime)-I(s.startTime)}).attr("height",function(s){return s.vert?x.length*(i.barHeight+i.barGap)+i.barHeight*2:p}).attr("transform-origin",function(s,U){return U=s.order,(I(s.startTime)+w+.5*(I(s.endTime)-I(s.startTime))).toString()+"px "+(U*D+M+.5*p).toString()+"px"}).attr("class",function(s){const U="task";let P="";s.classes.length>0&&(P=s.classes.join(" "));let $=0;for(const[J,Y]of W.entries())s.type===Y&&($=J%i.numberSectionStyles);let O="";return s.active?s.crit?O+=" activeCrit":O=" active":s.done?s.crit?O=" doneCrit":O=" done":s.crit&&(O+=" crit"),O.length===0&&(O=" task"),s.milestone&&(O=" milestone "+O),s.vert&&(O=" vert "+O),O+=$,O+=" "+P,U+O}),F.append("text").attr("id",function(s){return s.id+"-text"}).text(function(s){return s.task}).attr("font-size",i.fontSize).attr("x",function(s){let U=I(s.startTime),P=I(s.renderEndTime||s.endTime);if(s.milestone&&(U+=.5*(I(s.endTime)-I(s.startTime))-.5*p,P=U+p),s.vert)return I(s.startTime)+w;const $=this.getBBox().width;return $>P-U?P+$+1.5*i.leftPadding>d?U+w-5:P+w+5:(P-U)/2+U+w}).attr("y",function(s,U){return s.vert?i.gridLineStartPadding+x.length*(i.barHeight+i.barGap)+60:(U=s.order,U*D+i.barHeight/2+(i.fontSize/2-2)+M)}).attr("text-height",p).attr("class",function(s){const U=I(s.startTime);let P=I(s.endTime);s.milestone&&(P=U+p);const $=this.getBBox().width;let O="";s.classes.length>0&&(O=s.classes.join(" "));let J=0;for(const[at,T]of W.entries())s.type===T&&(J=at%i.numberSectionStyles);let Y="";return s.active&&(s.crit?Y="activeCritText"+J:Y="activeText"+J),s.done?s.crit?Y=Y+" doneCritText"+J:Y=Y+" doneText"+J:s.crit&&(Y=Y+" critText"+J),s.milestone&&(Y+=" milestoneText"),s.vert&&(Y+=" vertText"),$>P-U?P+$+1.5*i.leftPadding>d?O+" taskTextOutsideLeft taskTextOutside"+J+" "+Y:O+" taskTextOutsideRight taskTextOutside"+J+" "+Y+" width-"+$:O+" taskText taskText"+J+" "+Y+" width-"+$}),St().securityLevel==="sandbox"){let s;s=qt("#i"+e);const U=s.nodes()[0].contentDocument;F.filter(function(P){return o.has(P.id)}).each(function(P){var $=U.querySelector("#"+P.id),O=U.querySelector("#"+P.id+"-text");const J=$.parentNode;var Y=U.createElement("a");Y.setAttribute("xlink:href",o.get(P.id)),Y.setAttribute("target","_top"),J.appendChild(Y),Y.appendChild($),Y.appendChild(O)})}}f(rt,"drawRects");function R(h,D,M,w,p,u,d,v){if(d.length===0&&v.length===0)return;let k,F;for(const{startTime:$,endTime:O}of u)(k===void 0||$<k)&&(k=$),(F===void 0||O>F)&&(F=O);if(!k||!F)return;if(nt(F).diff(nt(k),"year")>5){vt.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");return}const o=r.db.getDateFormat(),z=[];let s=null,U=nt(k);for(;U.valueOf()<=F;)r.db.isInvalidDate(U,o,d,v)?s?s.end=U:s={start:U,end:U}:s&&(z.push(s),s=null),U=U.add(1,"d");V.append("g").selectAll("rect").data(z).enter().append("rect").attr("id",$=>"exclude-"+$.start.format("YYYY-MM-DD")).attr("x",$=>I($.start.startOf("day"))+M).attr("y",i.gridLineStartPadding).attr("width",$=>I($.end.endOf("day"))-I($.start.startOf("day"))).attr("height",p-D-i.gridLineStartPadding).attr("transform-origin",function($,O){return(I($.start)+M+.5*(I($.end)-I($.start))).toString()+"px "+(O*h+.5*p).toString()+"px"}).attr("class","exclude-range")}f(R,"drawExcludeDays");function q(h,D,M,w){if(M<=0||h>D)return 1/0;const p=D-h,u=nt.duration({[w??"day"]:M}).asMilliseconds();return u<=0?1/0:Math.ceil(p/u)}f(q,"getEstimatedTickCount");function G(h,D,M,w){const p=r.db.getDateFormat(),u=r.db.getAxisFormat();let d;u?d=u:p==="D"?d="%d":d=i.axisFormat??"%Y-%m-%d";let v=or(I).tickSize(-w+D+i.gridLineStartPadding).tickFormat(ee(d));const F=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(r.db.getTickInterval()||i.tickInterval);if(F!==null){const o=parseInt(F[1],10);if(isNaN(o)||o<=0)vt.warn(`Invalid tick interval value: "${F[1]}". Skipping custom tick interval.`);else{const z=F[2],s=r.db.getWeekday()||i.weekday,U=I.domain(),P=U[0],$=U[1],O=q(P,$,o,z);if(O>ye)vt.warn(`The tick interval "${o}${z}" would generate ${O} ticks, which exceeds the maximum allowed (${ye}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(z){case"millisecond":v.ticks(Ut.every(o));break;case"second":v.ticks(pt.every(o));break;case"minute":v.ticks(Lt.every(o));break;case"hour":v.ticks(Ot.every(o));break;case"day":v.ticks(Tt.every(o));break;case"week":v.ticks(Ke[s].every(o));break;case"month":v.ticks(Nt.every(o));break}}}if(V.append("g").attr("class","grid").attr("transform","translate("+h+", "+(w-50)+")").call(v).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),r.db.topAxisEnabled()||i.topAxis){let o=ar(I).tickSize(-w+D+i.gridLineStartPadding).tickFormat(ee(d));if(F!==null){const z=parseInt(F[1],10);if(isNaN(z)||z<=0)vt.warn(`Invalid tick interval value: "${F[1]}". Skipping custom tick interval.`);else{const s=F[2],U=r.db.getWeekday()||i.weekday,P=I.domain(),$=P[0],O=P[1];if(q($,O,z,s)<=ye)switch(s){case"millisecond":o.ticks(Ut.every(z));break;case"second":o.ticks(pt.every(z));break;case"minute":o.ticks(Lt.every(z));break;case"hour":o.ticks(Ot.every(z));break;case"day":o.ticks(Tt.every(z));break;case"week":o.ticks(Ke[U].every(z));break;case"month":o.ticks(Nt.every(z));break}}}V.append("g").attr("class","grid").attr("transform","translate("+h+", "+D+")").call(o).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}f(G,"makeGrid");function m(h,D){let M=0;const w=Object.keys(_).map(p=>[p,_[p]]);V.append("g").selectAll("text").data(w).enter().append(function(p){const u=p[0].split(Vn.lineBreakRegex),d=-(u.length-1)/2,v=E.createElementNS("http://www.w3.org/2000/svg","text");v.setAttribute("dy",d+"em");for(const[k,F]of u.entries()){const o=E.createElementNS("http://www.w3.org/2000/svg","tspan");o.setAttribute("alignment-baseline","central"),o.setAttribute("x","10"),k>0&&o.setAttribute("dy","1em"),o.textContent=F,v.appendChild(o)}return v}).attr("x",10).attr("y",function(p,u){if(u>0)for(let d=0;d<u;d++)return M+=w[u-1][1],p[1]*h/2+M*h+D;else return p[1]*h/2+D}).attr("font-size",i.sectionFontSize).attr("class",function(p){for(const[u,d]of W.entries())if(p[0]===d)return"sectionTitle sectionTitle"+u%i.numberSectionStyles;return"sectionTitle"})}f(m,"vertLabels");function g(h,D,M,w){const p=r.db.getTodayMarker();if(p==="off")return;const u=V.append("g").attr("class","today"),d=new Date,v=u.append("line");v.attr("x1",I(d)+h).attr("x2",I(d)+h).attr("y1",i.titleTopMargin).attr("y2",w-i.titleTopMargin).attr("class","today"),p!==""&&v.attr("style",p.replace(/,/g,";"))}f(g,"drawToday");function y(h){const D={},M=[];for(let w=0,p=h.length;w<p;++w)Object.prototype.hasOwnProperty.call(D,h[w])||(D[h[w]]=!0,M.push(h[w]));return M}f(y,"checkUnique")},"draw"),Ds={setConf:xs,draw:Cs},Ms=f(t=>`
7
+ .mermaid-main-font {
8
+ font-family: ${t.fontFamily};
9
+ }
10
+
11
+ .exclude-range {
12
+ fill: ${t.excludeBkgColor};
13
+ }
14
+
15
+ .section {
16
+ stroke: none;
17
+ opacity: 0.2;
18
+ }
19
+
20
+ .section0 {
21
+ fill: ${t.sectionBkgColor};
22
+ }
23
+
24
+ .section2 {
25
+ fill: ${t.sectionBkgColor2};
26
+ }
27
+
28
+ .section1,
29
+ .section3 {
30
+ fill: ${t.altSectionBkgColor};
31
+ opacity: 0.2;
32
+ }
33
+
34
+ .sectionTitle0 {
35
+ fill: ${t.titleColor};
36
+ }
37
+
38
+ .sectionTitle1 {
39
+ fill: ${t.titleColor};
40
+ }
41
+
42
+ .sectionTitle2 {
43
+ fill: ${t.titleColor};
44
+ }
45
+
46
+ .sectionTitle3 {
47
+ fill: ${t.titleColor};
48
+ }
49
+
50
+ .sectionTitle {
51
+ text-anchor: start;
52
+ font-family: ${t.fontFamily};
53
+ }
54
+
55
+
56
+ /* Grid and axis */
57
+
58
+ .grid .tick {
59
+ stroke: ${t.gridColor};
60
+ opacity: 0.8;
61
+ shape-rendering: crispEdges;
62
+ }
63
+
64
+ .grid .tick text {
65
+ font-family: ${t.fontFamily};
66
+ fill: ${t.textColor};
67
+ }
68
+
69
+ .grid path {
70
+ stroke-width: 0;
71
+ }
72
+
73
+
74
+ /* Today line */
75
+
76
+ .today {
77
+ fill: none;
78
+ stroke: ${t.todayLineColor};
79
+ stroke-width: 2px;
80
+ }
81
+
82
+
83
+ /* Task styling */
84
+
85
+ /* Default task */
86
+
87
+ .task {
88
+ stroke-width: 2;
89
+ }
90
+
91
+ .taskText {
92
+ text-anchor: middle;
93
+ font-family: ${t.fontFamily};
94
+ }
95
+
96
+ .taskTextOutsideRight {
97
+ fill: ${t.taskTextDarkColor};
98
+ text-anchor: start;
99
+ font-family: ${t.fontFamily};
100
+ }
101
+
102
+ .taskTextOutsideLeft {
103
+ fill: ${t.taskTextDarkColor};
104
+ text-anchor: end;
105
+ }
106
+
107
+
108
+ /* Special case clickable */
109
+
110
+ .task.clickable {
111
+ cursor: pointer;
112
+ }
113
+
114
+ .taskText.clickable {
115
+ cursor: pointer;
116
+ fill: ${t.taskTextClickableColor} !important;
117
+ font-weight: bold;
118
+ }
119
+
120
+ .taskTextOutsideLeft.clickable {
121
+ cursor: pointer;
122
+ fill: ${t.taskTextClickableColor} !important;
123
+ font-weight: bold;
124
+ }
125
+
126
+ .taskTextOutsideRight.clickable {
127
+ cursor: pointer;
128
+ fill: ${t.taskTextClickableColor} !important;
129
+ font-weight: bold;
130
+ }
131
+
132
+
133
+ /* Specific task settings for the sections*/
134
+
135
+ .taskText0,
136
+ .taskText1,
137
+ .taskText2,
138
+ .taskText3 {
139
+ fill: ${t.taskTextColor};
140
+ }
141
+
142
+ .task0,
143
+ .task1,
144
+ .task2,
145
+ .task3 {
146
+ fill: ${t.taskBkgColor};
147
+ stroke: ${t.taskBorderColor};
148
+ }
149
+
150
+ .taskTextOutside0,
151
+ .taskTextOutside2
152
+ {
153
+ fill: ${t.taskTextOutsideColor};
154
+ }
155
+
156
+ .taskTextOutside1,
157
+ .taskTextOutside3 {
158
+ fill: ${t.taskTextOutsideColor};
159
+ }
160
+
161
+
162
+ /* Active task */
163
+
164
+ .active0,
165
+ .active1,
166
+ .active2,
167
+ .active3 {
168
+ fill: ${t.activeTaskBkgColor};
169
+ stroke: ${t.activeTaskBorderColor};
170
+ }
171
+
172
+ .activeText0,
173
+ .activeText1,
174
+ .activeText2,
175
+ .activeText3 {
176
+ fill: ${t.taskTextDarkColor} !important;
177
+ }
178
+
179
+
180
+ /* Completed task */
181
+
182
+ .done0,
183
+ .done1,
184
+ .done2,
185
+ .done3 {
186
+ stroke: ${t.doneTaskBorderColor};
187
+ fill: ${t.doneTaskBkgColor};
188
+ stroke-width: 2;
189
+ }
190
+
191
+ .doneText0,
192
+ .doneText1,
193
+ .doneText2,
194
+ .doneText3 {
195
+ fill: ${t.taskTextDarkColor} !important;
196
+ }
197
+
198
+
199
+ /* Tasks on the critical line */
200
+
201
+ .crit0,
202
+ .crit1,
203
+ .crit2,
204
+ .crit3 {
205
+ stroke: ${t.critBorderColor};
206
+ fill: ${t.critBkgColor};
207
+ stroke-width: 2;
208
+ }
209
+
210
+ .activeCrit0,
211
+ .activeCrit1,
212
+ .activeCrit2,
213
+ .activeCrit3 {
214
+ stroke: ${t.critBorderColor};
215
+ fill: ${t.activeTaskBkgColor};
216
+ stroke-width: 2;
217
+ }
218
+
219
+ .doneCrit0,
220
+ .doneCrit1,
221
+ .doneCrit2,
222
+ .doneCrit3 {
223
+ stroke: ${t.critBorderColor};
224
+ fill: ${t.doneTaskBkgColor};
225
+ stroke-width: 2;
226
+ cursor: pointer;
227
+ shape-rendering: crispEdges;
228
+ }
229
+
230
+ .milestone {
231
+ transform: rotate(45deg) scale(0.8,0.8);
232
+ }
233
+
234
+ .milestoneText {
235
+ font-style: italic;
236
+ }
237
+ .doneCritText0,
238
+ .doneCritText1,
239
+ .doneCritText2,
240
+ .doneCritText3 {
241
+ fill: ${t.taskTextDarkColor} !important;
242
+ }
243
+
244
+ .vert {
245
+ stroke: ${t.vertLineColor};
246
+ }
247
+
248
+ .vertText {
249
+ font-size: 15px;
250
+ text-anchor: middle;
251
+ fill: ${t.vertLineColor} !important;
252
+ }
253
+
254
+ .activeCritText0,
255
+ .activeCritText1,
256
+ .activeCritText2,
257
+ .activeCritText3 {
258
+ fill: ${t.taskTextDarkColor} !important;
259
+ }
260
+
261
+ .titleText {
262
+ text-anchor: middle;
263
+ font-size: 18px;
264
+ fill: ${t.titleColor||t.textColor};
265
+ font-family: ${t.fontFamily};
266
+ }
267
+ `,"getStyles"),Ss=Ms,Ys={parser:Ni,db:bs,renderer:Ds,styles:Ss};export{Ys as diagram};
@@ -0,0 +1,65 @@
1
+ import{p as Y}from"./chunk-4BX2VUAB-c7DivX0u.js";import{I as K}from"./chunk-QZHKN3VN-BRyHBBzq.js";import{_ as l,q as U,p as V,s as X,g as J,a as Q,b as Z,l as m,c as rr,d as er,u as tr,C as ar,y as sr,k as C,D as nr,E as or,F as cr,G as ir}from"./MarkdownContent-DXp6CtSP.js";import{p as dr}from"./treemap-KMMF4GRG-Pg9KlUOt.js";import"./index-Cd_J3fZn.js";import"./reduce-CoLNNlNb.js";import"./min-BrRCpYmF.js";var x={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},hr=cr.gitGraph,I=l(()=>nr({...hr,...or().gitGraph}),"getConfig"),c=new K(()=>{const t=I(),r=t.mainBranchName,s=t.mainBranchOrder;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:s}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function A(){return ir({length:7})}l(A,"getID");function F(t,r){const s=Object.create(null);return t.reduce((n,e)=>{const a=r(e);return s[a]||(s[a]=!0,n.push(e)),n},[])}l(F,"uniqBy");var lr=l(function(t){c.records.direction=t},"setDirection"),$r=l(function(t){m.debug("options str",t),t=t?.trim(),t=t||"{}";try{c.records.options=JSON.parse(t)}catch(r){m.error("error while parsing gitGraph options",r.message)}},"setOptions"),fr=l(function(){return c.records.options},"getOptions"),gr=l(function(t){let r=t.msg,s=t.id;const n=t.type;let e=t.tags;m.info("commit",r,s,n,e),m.debug("Entering commit:",r,s,n,e);const a=I();s=C.sanitizeText(s,a),r=C.sanitizeText(r,a),e=e?.map(o=>C.sanitizeText(o,a));const d={id:s||c.records.seq+"-"+A(),message:r,seq:c.records.seq++,type:n??x.NORMAL,tags:e??[],parents:c.records.head==null?[]:[c.records.head.id],branch:c.records.currBranch};c.records.head=d,m.info("main branch",a.mainBranchName),c.records.commits.has(d.id)&&m.warn(`Commit ID ${d.id} already exists`),c.records.commits.set(d.id,d),c.records.branches.set(c.records.currBranch,d.id),m.debug("in pushCommit "+d.id)},"commit"),yr=l(function(t){let r=t.name;const s=t.order;if(r=C.sanitizeText(r,I()),c.records.branches.has(r))throw new Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);c.records.branches.set(r,c.records.head!=null?c.records.head.id:null),c.records.branchConfig.set(r,{name:r,order:s}),z(r),m.debug("in createBranch")},"branch"),ur=l(t=>{let r=t.branch,s=t.id;const n=t.type,e=t.tags,a=I();r=C.sanitizeText(r,a),s&&(s=C.sanitizeText(s,a));const d=c.records.branches.get(c.records.currBranch),o=c.records.branches.get(r),f=d?c.records.commits.get(d):void 0,h=o?c.records.commits.get(o):void 0;if(f&&h&&f.branch===r)throw new Error(`Cannot merge branch '${r}' into itself.`);if(c.records.currBranch===r){const i=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw i.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},i}if(f===void 0||!f){const i=new Error(`Incorrect usage of "merge". Current branch (${c.records.currBranch})has no commits`);throw i.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},i}if(!c.records.branches.has(r)){const i=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw i.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},i}if(h===void 0||!h){const i=new Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw i.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},i}if(f===h){const i=new Error('Incorrect usage of "merge". Both branches have same head');throw i.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},i}if(s&&c.records.commits.has(s)){const i=new Error('Incorrect usage of "merge". Commit with id:'+s+" already exists, use different custom id");throw i.hash={text:`merge ${r} ${s} ${n} ${e?.join(" ")}`,token:`merge ${r} ${s} ${n} ${e?.join(" ")}`,expected:[`merge ${r} ${s}_UNIQUE ${n} ${e?.join(" ")}`]},i}const $=o||"",g={id:s||`${c.records.seq}-${A()}`,message:`merged branch ${r} into ${c.records.currBranch}`,seq:c.records.seq++,parents:c.records.head==null?[]:[c.records.head.id,$],branch:c.records.currBranch,type:x.MERGE,customType:n,customId:!!s,tags:e??[]};c.records.head=g,c.records.commits.set(g.id,g),c.records.branches.set(c.records.currBranch,g.id),m.debug(c.records.branches),m.debug("in mergeBranch")},"merge"),pr=l(function(t){let r=t.id,s=t.targetId,n=t.tags,e=t.parent;m.debug("Entering cherryPick:",r,s,n);const a=I();if(r=C.sanitizeText(r,a),s=C.sanitizeText(s,a),n=n?.map(f=>C.sanitizeText(f,a)),e=C.sanitizeText(e,a),!r||!c.records.commits.has(r)){const f=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw f.hash={text:`cherryPick ${r} ${s}`,token:`cherryPick ${r} ${s}`,expected:["cherry-pick abc"]},f}const d=c.records.commits.get(r);if(d===void 0||!d)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(e&&!(Array.isArray(d.parents)&&d.parents.includes(e)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=d.branch;if(d.type===x.MERGE&&!e)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!s||!c.records.commits.has(s)){if(o===c.records.currBranch){const g=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw g.hash={text:`cherryPick ${r} ${s}`,token:`cherryPick ${r} ${s}`,expected:["cherry-pick abc"]},g}const f=c.records.branches.get(c.records.currBranch);if(f===void 0||!f){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${c.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${r} ${s}`,token:`cherryPick ${r} ${s}`,expected:["cherry-pick abc"]},g}const h=c.records.commits.get(f);if(h===void 0||!h){const g=new Error(`Incorrect usage of "cherry-pick". Current branch (${c.records.currBranch})has no commits`);throw g.hash={text:`cherryPick ${r} ${s}`,token:`cherryPick ${r} ${s}`,expected:["cherry-pick abc"]},g}const $={id:c.records.seq+"-"+A(),message:`cherry-picked ${d?.message} into ${c.records.currBranch}`,seq:c.records.seq++,parents:c.records.head==null?[]:[c.records.head.id,d.id],branch:c.records.currBranch,type:x.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${d.id}${d.type===x.MERGE?`|parent:${e}`:""}`]};c.records.head=$,c.records.commits.set($.id,$),c.records.branches.set(c.records.currBranch,$.id),m.debug(c.records.branches),m.debug("in cherryPick")}},"cherryPick"),z=l(function(t){if(t=C.sanitizeText(t,I()),c.records.branches.has(t)){c.records.currBranch=t;const r=c.records.branches.get(c.records.currBranch);r===void 0||!r?c.records.head=null:c.records.head=c.records.commits.get(r)??null}else{const r=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw r.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},r}},"checkout");function H(t,r,s){const n=t.indexOf(r);n===-1?t.push(s):t.splice(n,1,s)}l(H,"upsert");function P(t){const r=t.reduce((e,a)=>e.seq>a.seq?e:a,t[0]);let s="";t.forEach(function(e){e===r?s+=" *":s+=" |"});const n=[s,r.id,r.seq];for(const e in c.records.branches)c.records.branches.get(e)===r.id&&n.push(e);if(m.debug(n.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){const e=c.records.commits.get(r.parents[0]);H(t,r,e),r.parents[1]&&t.push(c.records.commits.get(r.parents[1]))}else{if(r.parents.length==0)return;if(r.parents[0]){const e=c.records.commits.get(r.parents[0]);H(t,r,e)}}t=F(t,e=>e.id),P(t)}l(P,"prettyPrintCommitHistory");var xr=l(function(){m.debug(c.records.commits);const t=N()[0];P([t])},"prettyPrint"),mr=l(function(){c.reset(),sr()},"clear"),br=l(function(){return[...c.records.branchConfig.values()].map((r,s)=>r.order!==null&&r.order!==void 0?r:{...r,order:parseFloat(`0.${s}`)}).sort((r,s)=>(r.order??0)-(s.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),wr=l(function(){return c.records.branches},"getBranches"),vr=l(function(){return c.records.commits},"getCommits"),N=l(function(){const t=[...c.records.commits.values()];return t.forEach(function(r){m.debug(r.id)}),t.sort((r,s)=>r.seq-s.seq),t},"getCommitsArray"),Cr=l(function(){return c.records.currBranch},"getCurrentBranch"),Er=l(function(){return c.records.direction},"getDirection"),Tr=l(function(){return c.records.head},"getHead"),S={commitType:x,getConfig:I,setDirection:lr,setOptions:$r,getOptions:fr,commit:gr,branch:yr,merge:ur,cherryPick:pr,checkout:z,prettyPrint:xr,clear:mr,getBranchesAsObjArray:br,getBranches:wr,getCommits:vr,getCommitsArray:N,getCurrentBranch:Cr,getDirection:Er,getHead:Tr,setAccTitle:Z,getAccTitle:Q,getAccDescription:J,setAccDescription:X,setDiagramTitle:V,getDiagramTitle:U},Br=l((t,r)=>{Y(t,r),t.dir&&r.setDirection(t.dir);for(const s of t.statements)Lr(s,r)},"populate"),Lr=l((t,r)=>{const n={Commit:l(e=>r.commit(kr(e)),"Commit"),Branch:l(e=>r.branch(Mr(e)),"Branch"),Merge:l(e=>r.merge(Ir(e)),"Merge"),Checkout:l(e=>r.checkout(Rr(e)),"Checkout"),CherryPicking:l(e=>r.cherryPick(Gr(e)),"CherryPicking")}[t.$type];n?n(t):m.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),kr=l(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?x[t.type]:x.NORMAL,tags:t.tags??void 0}),"parseCommit"),Mr=l(t=>({name:t.name,order:t.order??0}),"parseBranch"),Ir=l(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?x[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),Rr=l(t=>t.branch,"parseCheckout"),Gr=l(t=>({id:t.id,targetId:"",tags:t.tags?.length===0?void 0:t.tags,parent:t.parent}),"parseCherryPicking"),Or={parse:l(async t=>{const r=await dr("gitGraph",t);m.debug(r),Br(r,S)},"parse")},qr=rr(),v=qr?.gitGraph,L=10,k=40,E=4,T=2,M=8,b=new Map,w=new Map,O=30,R=new Map,q=[],B=0,u="LR",Ar=l(()=>{b.clear(),w.clear(),R.clear(),B=0,q=[],u="LR"},"clear"),W=l(t=>{const r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|<br\s*\/?>/gi):t).forEach(n=>{const e=document.createElementNS("http://www.w3.org/2000/svg","tspan");e.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e.setAttribute("dy","1em"),e.setAttribute("x","0"),e.setAttribute("class","row"),e.textContent=n.trim(),r.appendChild(e)}),r},"drawText"),j=l(t=>{let r,s,n;return u==="BT"?(s=l((e,a)=>e<=a,"comparisonFunc"),n=1/0):(s=l((e,a)=>e>=a,"comparisonFunc"),n=0),t.forEach(e=>{const a=u==="TB"||u=="BT"?w.get(e)?.y:w.get(e)?.x;a!==void 0&&s(a,n)&&(r=e,n=a)}),r},"findClosestParent"),_r=l(t=>{let r="",s=1/0;return t.forEach(n=>{const e=w.get(n).y;e<=s&&(r=n,s=e)}),r||void 0},"findClosestParentBT"),Hr=l((t,r,s)=>{let n=s,e=s;const a=[];t.forEach(d=>{const o=r.get(d);if(!o)throw new Error(`Commit not found for key ${d}`);o.parents.length?(n=Dr(o),e=Math.max(n,e)):a.push(o),Fr(o,n)}),n=e,a.forEach(d=>{zr(d,n,s)}),t.forEach(d=>{const o=r.get(d);if(o?.parents.length){const f=_r(o.parents);n=w.get(f).y-k,n<=e&&(e=n);const h=b.get(o.branch).pos,$=n-L;w.set(o.id,{x:h,y:$})}})},"setParallelBTPos"),Pr=l(t=>{const r=j(t.parents.filter(n=>n!==null));if(!r)throw new Error(`Closest parent not found for commit ${t.id}`);const s=w.get(r)?.y;if(s===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return s},"findClosestParentPos"),Dr=l(t=>Pr(t)+k,"calculateCommitPosition"),Fr=l((t,r)=>{const s=b.get(t.branch);if(!s)throw new Error(`Branch not found for commit ${t.id}`);const n=s.pos,e=r+L;return w.set(t.id,{x:n,y:e}),{x:n,y:e}},"setCommitPosition"),zr=l((t,r,s)=>{const n=b.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const e=r+s,a=n.pos;w.set(t.id,{x:a,y:e})},"setRootPosition"),Nr=l((t,r,s,n,e,a)=>{if(a===x.HIGHLIGHT)t.append("rect").attr("x",s.x-10).attr("y",s.y-10).attr("width",20).attr("height",20).attr("class",`commit ${r.id} commit-highlight${e%M} ${n}-outer`),t.append("rect").attr("x",s.x-6).attr("y",s.y-6).attr("width",12).attr("height",12).attr("class",`commit ${r.id} commit${e%M} ${n}-inner`);else if(a===x.CHERRY_PICK)t.append("circle").attr("cx",s.x).attr("cy",s.y).attr("r",10).attr("class",`commit ${r.id} ${n}`),t.append("circle").attr("cx",s.x-3).attr("cy",s.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${n}`),t.append("circle").attr("cx",s.x+3).attr("cy",s.y+2).attr("r",2.75).attr("fill","#fff").attr("class",`commit ${r.id} ${n}`),t.append("line").attr("x1",s.x+3).attr("y1",s.y+1).attr("x2",s.x).attr("y2",s.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${n}`),t.append("line").attr("x1",s.x-3).attr("y1",s.y+1).attr("x2",s.x).attr("y2",s.y-5).attr("stroke","#fff").attr("class",`commit ${r.id} ${n}`);else{const d=t.append("circle");if(d.attr("cx",s.x),d.attr("cy",s.y),d.attr("r",r.type===x.MERGE?9:10),d.attr("class",`commit ${r.id} commit${e%M}`),a===x.MERGE){const o=t.append("circle");o.attr("cx",s.x),o.attr("cy",s.y),o.attr("r",6),o.attr("class",`commit ${n} ${r.id} commit${e%M}`)}a===x.REVERSE&&t.append("path").attr("d",`M ${s.x-5},${s.y-5}L${s.x+5},${s.y+5}M${s.x-5},${s.y+5}L${s.x+5},${s.y-5}`).attr("class",`commit ${n} ${r.id} commit${e%M}`)}},"drawCommitBullet"),Sr=l((t,r,s,n)=>{if(r.type!==x.CHERRY_PICK&&(r.customId&&r.type===x.MERGE||r.type!==x.MERGE)&&v?.showCommitLabel){const e=t.append("g"),a=e.insert("rect").attr("class","commit-label-bkg"),d=e.append("text").attr("x",n).attr("y",s.y+25).attr("class","commit-label").text(r.id),o=d.node()?.getBBox();if(o&&(a.attr("x",s.posWithOffset-o.width/2-T).attr("y",s.y+13.5).attr("width",o.width+2*T).attr("height",o.height+2*T),u==="TB"||u==="BT"?(a.attr("x",s.x-(o.width+4*E+5)).attr("y",s.y-12),d.attr("x",s.x-(o.width+4*E)).attr("y",s.y+o.height-12)):d.attr("x",s.posWithOffset-o.width/2),v.rotateCommitLabel))if(u==="TB"||u==="BT")d.attr("transform","rotate(-45, "+s.x+", "+s.y+")"),a.attr("transform","rotate(-45, "+s.x+", "+s.y+")");else{const f=-7.5-(o.width+10)/25*9.5,h=10+o.width/25*8.5;e.attr("transform","translate("+f+", "+h+") rotate(-45, "+n+", "+s.y+")")}}},"drawCommitLabel"),Wr=l((t,r,s,n)=>{if(r.tags.length>0){let e=0,a=0,d=0;const o=[];for(const f of r.tags.reverse()){const h=t.insert("polygon"),$=t.append("circle"),g=t.append("text").attr("y",s.y-16-e).attr("class","tag-label").text(f),i=g.node()?.getBBox();if(!i)throw new Error("Tag bbox not found");a=Math.max(a,i.width),d=Math.max(d,i.height),g.attr("x",s.posWithOffset-i.width/2),o.push({tag:g,hole:$,rect:h,yOffset:e}),e+=20}for(const{tag:f,hole:h,rect:$,yOffset:g}of o){const i=d/2,y=s.y-19.2-g;if($.attr("class","tag-label-bkg").attr("points",`
2
+ ${n-a/2-E/2},${y+T}
3
+ ${n-a/2-E/2},${y-T}
4
+ ${s.posWithOffset-a/2-E},${y-i-T}
5
+ ${s.posWithOffset+a/2+E},${y-i-T}
6
+ ${s.posWithOffset+a/2+E},${y+i+T}
7
+ ${s.posWithOffset-a/2-E},${y+i+T}`),h.attr("cy",y).attr("cx",n-a/2+E/2).attr("r",1.5).attr("class","tag-hole"),u==="TB"||u==="BT"){const p=n+g;$.attr("class","tag-label-bkg").attr("points",`
8
+ ${s.x},${p+2}
9
+ ${s.x},${p-2}
10
+ ${s.x+L},${p-i-2}
11
+ ${s.x+L+a+4},${p-i-2}
12
+ ${s.x+L+a+4},${p+i+2}
13
+ ${s.x+L},${p+i+2}`).attr("transform","translate(12,12) rotate(45, "+s.x+","+n+")"),h.attr("cx",s.x+E/2).attr("cy",p).attr("transform","translate(12,12) rotate(45, "+s.x+","+n+")"),f.attr("x",s.x+5).attr("y",p+3).attr("transform","translate(14,14) rotate(45, "+s.x+","+n+")")}}}},"drawCommitTags"),jr=l(t=>{switch(t.customType??t.type){case x.NORMAL:return"commit-normal";case x.REVERSE:return"commit-reverse";case x.HIGHLIGHT:return"commit-highlight";case x.MERGE:return"commit-merge";case x.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),Yr=l((t,r,s,n)=>{const e={x:0,y:0};if(t.parents.length>0){const a=j(t.parents);if(a){const d=n.get(a)??e;return r==="TB"?d.y+k:r==="BT"?(n.get(t.id)??e).y-k:d.x+k}}else return r==="TB"?O:r==="BT"?(n.get(t.id)??e).y-k:0;return 0},"calculatePosition"),Kr=l((t,r,s)=>{const n=u==="BT"&&s?r:r+L,e=u==="TB"||u==="BT"?n:b.get(t.branch)?.pos,a=u==="TB"||u==="BT"?b.get(t.branch)?.pos:n;if(a===void 0||e===void 0)throw new Error(`Position were undefined for commit ${t.id}`);return{x:a,y:e,posWithOffset:n}},"getCommitPosition"),D=l((t,r,s)=>{if(!v)throw new Error("GitGraph config not found");const n=t.append("g").attr("class","commit-bullets"),e=t.append("g").attr("class","commit-labels");let a=u==="TB"||u==="BT"?O:0;const d=[...r.keys()],o=v?.parallelCommits??!1,f=l(($,g)=>{const i=r.get($)?.seq,y=r.get(g)?.seq;return i!==void 0&&y!==void 0?i-y:0},"sortKeys");let h=d.sort(f);u==="BT"&&(o&&Hr(h,r,a),h=h.reverse()),h.forEach($=>{const g=r.get($);if(!g)throw new Error(`Commit not found for key ${$}`);o&&(a=Yr(g,u,a,w));const i=Kr(g,a,o);if(s){const y=jr(g),p=g.customType??g.type,_=b.get(g.branch)?.index??0;Nr(n,g,i,y,_,p),Sr(e,g,i,a),Wr(e,g,i,a)}u==="TB"||u==="BT"?w.set(g.id,{x:i.x,y:i.posWithOffset}):w.set(g.id,{x:i.posWithOffset,y:i.y}),a=u==="BT"&&o?a+k:a+k+L,a>B&&(B=a)})},"drawCommits"),Ur=l((t,r,s,n,e)=>{const d=(u==="TB"||u==="BT"?s.x<n.x:s.y<n.y)?r.branch:t.branch,o=l(h=>h.branch===d,"isOnBranchToGetCurve"),f=l(h=>h.seq>t.seq&&h.seq<r.seq,"isBetweenCommits");return[...e.values()].some(h=>f(h)&&o(h))},"shouldRerouteArrow"),G=l((t,r,s=0)=>{const n=t+Math.abs(t-r)/2;if(s>5)return n;if(q.every(d=>Math.abs(d-n)>=10))return q.push(n),n;const a=Math.abs(t-r);return G(t,r-a/5,s+1)},"findLane"),Vr=l((t,r,s,n)=>{const e=w.get(r.id),a=w.get(s.id);if(e===void 0||a===void 0)throw new Error(`Commit positions not found for commits ${r.id} and ${s.id}`);const d=Ur(r,s,e,a,n);let o="",f="",h=0,$=0,g=b.get(s.branch)?.index;s.type===x.MERGE&&r.id!==s.parents[0]&&(g=b.get(r.branch)?.index);let i;if(d){o="A 10 10, 0, 0, 0,",f="A 10 10, 0, 0, 1,",h=10,$=10;const y=e.y<a.y?G(e.y,a.y):G(a.y,e.y),p=e.x<a.x?G(e.x,a.x):G(a.x,e.x);u==="TB"?e.x<a.x?i=`M ${e.x} ${e.y} L ${p-h} ${e.y} ${f} ${p} ${e.y+$} L ${p} ${a.y-h} ${o} ${p+$} ${a.y} L ${a.x} ${a.y}`:(g=b.get(r.branch)?.index,i=`M ${e.x} ${e.y} L ${p+h} ${e.y} ${o} ${p} ${e.y+$} L ${p} ${a.y-h} ${f} ${p-$} ${a.y} L ${a.x} ${a.y}`):u==="BT"?e.x<a.x?i=`M ${e.x} ${e.y} L ${p-h} ${e.y} ${o} ${p} ${e.y-$} L ${p} ${a.y+h} ${f} ${p+$} ${a.y} L ${a.x} ${a.y}`:(g=b.get(r.branch)?.index,i=`M ${e.x} ${e.y} L ${p+h} ${e.y} ${f} ${p} ${e.y-$} L ${p} ${a.y+h} ${o} ${p-$} ${a.y} L ${a.x} ${a.y}`):e.y<a.y?i=`M ${e.x} ${e.y} L ${e.x} ${y-h} ${o} ${e.x+$} ${y} L ${a.x-h} ${y} ${f} ${a.x} ${y+$} L ${a.x} ${a.y}`:(g=b.get(r.branch)?.index,i=`M ${e.x} ${e.y} L ${e.x} ${y+h} ${f} ${e.x+$} ${y} L ${a.x-h} ${y} ${o} ${a.x} ${y-$} L ${a.x} ${a.y}`)}else o="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",h=20,$=20,u==="TB"?(e.x<a.x&&(s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${e.x} ${a.y-h} ${o} ${e.x+$} ${a.y} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${a.x-h} ${e.y} ${f} ${a.x} ${e.y+$} L ${a.x} ${a.y}`),e.x>a.x&&(o="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",h=20,$=20,s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${e.x} ${a.y-h} ${f} ${e.x-$} ${a.y} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${a.x+h} ${e.y} ${o} ${a.x} ${e.y+$} L ${a.x} ${a.y}`),e.x===a.x&&(i=`M ${e.x} ${e.y} L ${a.x} ${a.y}`)):u==="BT"?(e.x<a.x&&(s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${e.x} ${a.y+h} ${f} ${e.x+$} ${a.y} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${a.x-h} ${e.y} ${o} ${a.x} ${e.y-$} L ${a.x} ${a.y}`),e.x>a.x&&(o="A 20 20, 0, 0, 0,",f="A 20 20, 0, 0, 1,",h=20,$=20,s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${e.x} ${a.y+h} ${o} ${e.x-$} ${a.y} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${a.x-h} ${e.y} ${o} ${a.x} ${e.y-$} L ${a.x} ${a.y}`),e.x===a.x&&(i=`M ${e.x} ${e.y} L ${a.x} ${a.y}`)):(e.y<a.y&&(s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${a.x-h} ${e.y} ${f} ${a.x} ${e.y+$} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${e.x} ${a.y-h} ${o} ${e.x+$} ${a.y} L ${a.x} ${a.y}`),e.y>a.y&&(s.type===x.MERGE&&r.id!==s.parents[0]?i=`M ${e.x} ${e.y} L ${a.x-h} ${e.y} ${o} ${a.x} ${e.y-$} L ${a.x} ${a.y}`:i=`M ${e.x} ${e.y} L ${e.x} ${a.y+h} ${f} ${e.x+$} ${a.y} L ${a.x} ${a.y}`),e.y===a.y&&(i=`M ${e.x} ${e.y} L ${a.x} ${a.y}`));if(i===void 0)throw new Error("Line definition not found");t.append("path").attr("d",i).attr("class","arrow arrow"+g%M)},"drawArrow"),Xr=l((t,r)=>{const s=t.append("g").attr("class","commit-arrows");[...r.keys()].forEach(n=>{const e=r.get(n);e.parents&&e.parents.length>0&&e.parents.forEach(a=>{Vr(s,r.get(a),e,r)})})},"drawArrows"),Jr=l((t,r)=>{const s=t.append("g");r.forEach((n,e)=>{const a=e%M,d=b.get(n.name)?.pos;if(d===void 0)throw new Error(`Position not found for branch ${n.name}`);const o=s.append("line");o.attr("x1",0),o.attr("y1",d),o.attr("x2",B),o.attr("y2",d),o.attr("class","branch branch"+a),u==="TB"?(o.attr("y1",O),o.attr("x1",d),o.attr("y2",B),o.attr("x2",d)):u==="BT"&&(o.attr("y1",B),o.attr("x1",d),o.attr("y2",O),o.attr("x2",d)),q.push(d);const f=n.name,h=W(f),$=s.insert("rect"),i=s.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);i.node().appendChild(h);const y=h.getBBox();$.attr("class","branchLabelBkg label"+a).attr("rx",4).attr("ry",4).attr("x",-y.width-4-(v?.rotateCommitLabel===!0?30:0)).attr("y",-y.height/2+8).attr("width",y.width+18).attr("height",y.height+4),i.attr("transform","translate("+(-y.width-14-(v?.rotateCommitLabel===!0?30:0))+", "+(d-y.height/2-1)+")"),u==="TB"?($.attr("x",d-y.width/2-10).attr("y",0),i.attr("transform","translate("+(d-y.width/2-5)+", 0)")):u==="BT"?($.attr("x",d-y.width/2-10).attr("y",B),i.attr("transform","translate("+(d-y.width/2-5)+", "+B+")")):$.attr("transform","translate(-19, "+(d-y.height/2)+")")})},"drawBranches"),Qr=l(function(t,r,s,n,e){return b.set(t,{pos:r,index:s}),r+=50+(e?40:0)+(u==="TB"||u==="BT"?n.width/2:0),r},"setBranchPosition"),Zr=l(function(t,r,s,n){if(Ar(),m.debug("in gitgraph renderer",t+`
14
+ `,"id:",r,s),!v)throw new Error("GitGraph config not found");const e=v.rotateCommitLabel??!1,a=n.db;R=a.getCommits();const d=a.getBranchesAsObjArray();u=a.getDirection();const o=er(`[id="${r}"]`);let f=0;d.forEach((h,$)=>{const g=W(h.name),i=o.append("g"),y=i.insert("g").attr("class","branchLabel"),p=y.insert("g").attr("class","label branch-label");p.node()?.appendChild(g);const _=g.getBBox();f=Qr(h.name,f,$,_,e),p.remove(),y.remove(),i.remove()}),D(o,R,!1),v.showBranches&&Jr(o,d),Xr(o,R),D(o,R,!0),tr.insertTitle(o,"gitTitleText",v.titleTopMargin??0,a.getDiagramTitle()),ar(void 0,o,v.diagramPadding,v.useMaxWidth)},"draw"),re={draw:Zr},ee=l(t=>`
15
+ .commit-id,
16
+ .commit-msg,
17
+ .branch-label {
18
+ fill: lightgrey;
19
+ color: lightgrey;
20
+ font-family: 'trebuchet ms', verdana, arial, sans-serif;
21
+ font-family: var(--mermaid-font-family);
22
+ }
23
+ ${[0,1,2,3,4,5,6,7].map(r=>`
24
+ .branch-label${r} { fill: ${t["gitBranchLabel"+r]}; }
25
+ .commit${r} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; }
26
+ .commit-highlight${r} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; }
27
+ .label${r} { fill: ${t["git"+r]}; }
28
+ .arrow${r} { stroke: ${t["git"+r]}; }
29
+ `).join(`
30
+ `)}
31
+
32
+ .branch {
33
+ stroke-width: 1;
34
+ stroke: ${t.lineColor};
35
+ stroke-dasharray: 2;
36
+ }
37
+ .commit-label { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelColor};}
38
+ .commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${t.commitLabelBackground}; opacity: 0.5; }
39
+ .tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}
40
+ .tag-label-bkg { fill: ${t.tagLabelBackground}; stroke: ${t.tagLabelBorder}; }
41
+ .tag-hole { fill: ${t.textColor}; }
42
+
43
+ .commit-merge {
44
+ stroke: ${t.primaryColor};
45
+ fill: ${t.primaryColor};
46
+ }
47
+ .commit-reverse {
48
+ stroke: ${t.primaryColor};
49
+ fill: ${t.primaryColor};
50
+ stroke-width: 3;
51
+ }
52
+ .commit-highlight-outer {
53
+ }
54
+ .commit-highlight-inner {
55
+ stroke: ${t.primaryColor};
56
+ fill: ${t.primaryColor};
57
+ }
58
+
59
+ .arrow { stroke-width: 8; stroke-linecap: round; fill: none}
60
+ .gitTitleText {
61
+ text-anchor: middle;
62
+ font-size: 18px;
63
+ fill: ${t.textColor};
64
+ }
65
+ `,"getStyles"),te=ee,he={parser:Or,db:S,renderer:re,styles:te};export{he as diagram};
@@ -0,0 +1 @@
1
+ import{a as f,i as b,k as _,b as l,u as L}from"./index-Cd_J3fZn.js";import{f as g,a as d,v as p,r as j}from"./reduce-CoLNNlNb.js";import{ar as E}from"./MarkdownContent-DXp6CtSP.js";var v="\0",a="\0",O="";class N{constructor(e={}){this._isDirected=Object.prototype.hasOwnProperty.call(e,"directed")?e.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(e,"multigraph")?e.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=f(void 0),this._defaultEdgeLabelFn=f(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[a]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return b(e)||(e=f(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return _(this._nodes)}sources(){var e=this;return g(this.nodes(),function(t){return E(e._in[t])})}sinks(){var e=this;return g(this.nodes(),function(t){return E(e._out[t])})}setNodes(e,t){var s=arguments,i=this;return d(e,function(r){s.length>1?i.setNode(r,t):i.setNode(r)}),this}setNode(e,t){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=a,this._children[e]={},this._children[a][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var t=s=>this.removeEdge(this._edgeObjs[s]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],d(this.children(e),s=>{this.setParent(s)}),delete this._children[e]),d(_(this._in[e]),t),delete this._in[e],delete this._preds[e],d(_(this._out[e]),t),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(l(t))t=a;else{t+="";for(var s=t;!l(s);s=this.parent(s))if(s===e)throw new Error("Setting "+t+" as parent of "+e+" would create a cycle");this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var t=this._parent[e];if(t!==a)return t}}children(e){if(l(e)&&(e=a),this._isCompound){var t=this._children[e];if(t)return _(t)}else{if(e===a)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var t=this._preds[e];if(t)return _(t)}successors(e){var t=this._sucs[e];if(t)return _(t)}neighbors(e){var t=this.predecessors(e);if(t)return L(t,this.successors(e))}isLeaf(e){var t;return this.isDirected()?t=this.successors(e):t=this.neighbors(e),t.length===0}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var s=this;d(this._nodes,function(n,h){e(h)&&t.setNode(h,n)}),d(this._edgeObjs,function(n){t.hasNode(n.v)&&t.hasNode(n.w)&&t.setEdge(n,s.edge(n))});var i={};function r(n){var h=s.parent(n);return h===void 0||t.hasNode(h)?(i[n]=h,h):h in i?i[h]:r(h)}return this._isCompound&&d(t.nodes(),function(n){t.setParent(n,r(n))}),t}setDefaultEdgeLabel(e){return b(e)||(e=f(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return p(this._edgeObjs)}setPath(e,t){var s=this,i=arguments;return j(e,function(r,n){return i.length>1?s.setEdge(r,n,t):s.setEdge(r,n),n}),this}setEdge(){var e,t,s,i,r=!1,n=arguments[0];typeof n=="object"&&n!==null&&"v"in n?(e=n.v,t=n.w,s=n.name,arguments.length===2&&(i=arguments[1],r=!0)):(e=n,t=arguments[1],s=arguments[3],arguments.length>2&&(i=arguments[2],r=!0)),e=""+e,t=""+t,l(s)||(s=""+s);var h=c(this._isDirected,e,t,s);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,h))return r&&(this._edgeLabels[h]=i),this;if(!l(s)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(t),this._edgeLabels[h]=r?i:this._defaultEdgeLabelFn(e,t,s);var u=P(this._isDirected,e,t,s);return e=u.v,t=u.w,Object.freeze(u),this._edgeObjs[h]=u,C(this._preds[t],e),C(this._sucs[e],t),this._in[t][h]=u,this._out[e][h]=u,this._edgeCount++,this}edge(e,t,s){var i=arguments.length===1?m(this._isDirected,arguments[0]):c(this._isDirected,e,t,s);return this._edgeLabels[i]}hasEdge(e,t,s){var i=arguments.length===1?m(this._isDirected,arguments[0]):c(this._isDirected,e,t,s);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,t,s){var i=arguments.length===1?m(this._isDirected,arguments[0]):c(this._isDirected,e,t,s),r=this._edgeObjs[i];return r&&(e=r.v,t=r.w,delete this._edgeLabels[i],delete this._edgeObjs[i],y(this._preds[t],e),y(this._sucs[e],t),delete this._in[t][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,t){var s=this._in[e];if(s){var i=p(s);return t?g(i,function(r){return r.v===t}):i}}outEdges(e,t){var s=this._out[e];if(s){var i=p(s);return t?g(i,function(r){return r.w===t}):i}}nodeEdges(e,t){var s=this.inEdges(e,t);if(s)return s.concat(this.outEdges(e,t))}}N.prototype._nodeCount=0;N.prototype._edgeCount=0;function C(o,e){o[e]?o[e]++:o[e]=1}function y(o,e){--o[e]||delete o[e]}function c(o,e,t,s){var i=""+e,r=""+t;if(!o&&i>r){var n=i;i=r,r=n}return i+O+r+O+(l(s)?v:s)}function P(o,e,t,s){var i=""+e,r=""+t;if(!o&&i>r){var n=i;i=r,r=n}var h={v:i,w:r};return s&&(h.name=s),h}function m(o,e){return c(o,e.v,e.w,e.name)}export{N as G};