agentbox-app 0.1.12 → 0.1.16

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 (370) hide show
  1. package/README.md +24 -9
  2. package/bin/agentbox.mjs +23 -1
  3. package/briefs/message-rules.md +36 -8
  4. package/briefs/worker.md +46 -23
  5. package/main/account-discovery.mjs +122 -30
  6. package/main/account-tooling.mjs +29 -1
  7. package/main/account-usage.mjs +46 -0
  8. package/main/acp.mjs +296 -0
  9. package/main/agent-homes.mjs +158 -0
  10. package/main/agent-sessions.mjs +311 -260
  11. package/main/agent-updates.mjs +9 -22
  12. package/main/agents.mjs +179 -466
  13. package/main/analytics.mjs +42 -2
  14. package/main/answer-modes.mjs +103 -37
  15. package/main/approval-prompt-core.mjs +197 -0
  16. package/main/approval-prompt-server.mjs +4 -138
  17. package/main/approvals.mjs +101 -297
  18. package/main/artifact-path.mjs +47 -18
  19. package/main/claude-bin.mjs +45 -311
  20. package/main/claude-input.mjs +57 -7
  21. package/main/claude-launch-env.mjs +54 -0
  22. package/main/claude-models.mjs +39 -7
  23. package/main/claude-plan.mjs +64 -16
  24. package/main/claude-session-open.mjs +28 -0
  25. package/main/claude-usage-process.mjs +40 -0
  26. package/main/claude-usage.mjs +94 -59
  27. package/main/cloud/account.mjs +179 -0
  28. package/main/cloud/aws.mjs +127 -0
  29. package/main/cloud/browser-return.mjs +58 -0
  30. package/main/cloud/clients.mjs +15 -0
  31. package/main/cloud/codex-cloud.mjs +53 -0
  32. package/main/cloud/config.mjs +107 -0
  33. package/main/cloud/docs.mjs +219 -0
  34. package/main/cloud/exec.mjs +27 -0
  35. package/main/cloud/host.mjs +165 -0
  36. package/main/cloud/kit.mjs +80 -0
  37. package/main/cloud/logins.mjs +543 -0
  38. package/main/cloud/managed.mjs +115 -0
  39. package/main/cloud/marker.mjs +104 -0
  40. package/main/cloud/org.mjs +53 -0
  41. package/main/cloud/reuse.mjs +208 -0
  42. package/main/cloud/run-cli.mjs +177 -0
  43. package/main/cloud/run.mjs +1934 -0
  44. package/main/cloud/usage.mjs +76 -0
  45. package/main/cloud-permission.mjs +51 -0
  46. package/main/codex-account.mjs +78 -0
  47. package/main/codex-app-server.mjs +276 -409
  48. package/main/codex-approvals.mjs +148 -433
  49. package/main/codex-bin.mjs +51 -249
  50. package/main/codex-models.mjs +20 -2
  51. package/main/codex-session.mjs +246 -506
  52. package/main/codex-threads-worker.mjs +12 -0
  53. package/main/codex-threads.mjs +112 -11
  54. package/main/codex-usage-file.mjs +5 -3
  55. package/main/codex-usage.mjs +56 -7
  56. package/main/codex-watch.mjs +83 -5
  57. package/main/codex.mjs +95 -363
  58. package/main/config.mjs +37 -5
  59. package/main/corner-tag.mjs +810 -0
  60. package/main/crash-report.mjs +26 -3
  61. package/main/dev-window.mjs +1 -1
  62. package/main/engine-bin.mjs +545 -0
  63. package/main/engine-setup.mjs +25 -24
  64. package/main/feedback.mjs +14 -31
  65. package/main/folder-pictures.mjs +2 -2
  66. package/main/freeze-recorder-thread.mjs +86 -0
  67. package/main/freeze-recorder.mjs +146 -0
  68. package/main/fresh-user.mjs +20 -9
  69. package/main/git-change-offthread.mjs +17 -3
  70. package/main/git-change-thread.mjs +5 -2
  71. package/main/harnesses/claude-stream.mjs +208 -0
  72. package/main/harnesses/claude.mjs +105 -0
  73. package/main/harnesses/codex.mjs +72 -0
  74. package/main/harnesses/common.mjs +78 -0
  75. package/main/harnesses/instructions-file.mjs +116 -0
  76. package/main/harnesses/opencode.mjs +234 -0
  77. package/main/harnesses.mjs +65 -0
  78. package/main/importable-threads.mjs +96 -0
  79. package/main/ipc.mjs +520 -135
  80. package/main/leftovers.mjs +117 -25
  81. package/main/liquid-glass.mjs +26 -0
  82. package/main/live-replies.mjs +10 -4
  83. package/main/local-app-frames.mjs +82 -0
  84. package/main/main-went-red.mjs +330 -0
  85. package/main/main.mjs +248 -37
  86. package/main/memory-gate-history.mjs +85 -20
  87. package/main/memory-gate-server.mjs +129 -11
  88. package/main/memory-gate.mjs +62 -8
  89. package/main/memory-log.mjs +124 -0
  90. package/main/menu.mjs +4 -2
  91. package/main/message-priority.mjs +2 -2
  92. package/main/mic.mjs +38 -0
  93. package/main/native/liquid-glass/build/liquid-glass.node +0 -0
  94. package/main/new-chats-watch.mjs +110 -0
  95. package/main/new-user-window.mjs +25 -0
  96. package/main/notify.mjs +64 -5
  97. package/main/opencode-server.mjs +271 -0
  98. package/main/opencode.mjs +287 -0
  99. package/main/phone-alerts.mjs +117 -0
  100. package/main/phone-inbox.mjs +625 -0
  101. package/main/phone-link.mjs +571 -0
  102. package/main/phone-uploads.mjs +476 -0
  103. package/main/picture-shape.mjs +114 -0
  104. package/main/quit-sequence.mjs +143 -0
  105. package/main/refresh-agent-models.mjs +15 -2
  106. package/main/relay-address.mjs +28 -0
  107. package/main/relay-client.mjs +314 -0
  108. package/main/repeats.mjs +10 -4
  109. package/main/row-label.mjs +18 -47
  110. package/main/run-change.mjs +13 -0
  111. package/main/run-ledger.mjs +135 -0
  112. package/main/runs-on.mjs +32 -35
  113. package/main/save-attachments.mjs +41 -0
  114. package/main/serve.mjs +155 -9
  115. package/main/settings.mjs +364 -50
  116. package/main/shell-path.mjs +234 -0
  117. package/main/ship-conflict-brief.mjs +119 -0
  118. package/main/ship-queue.mjs +134 -20
  119. package/main/sign-in-files.mjs +3 -7
  120. package/main/source-updater.mjs +45 -11
  121. package/main/stage-attachment.mjs +68 -0
  122. package/main/stall-watch.mjs +50 -0
  123. package/main/start-hold.mjs +73 -0
  124. package/main/store/home.mjs +87 -232
  125. package/main/store/paths.mjs +11 -0
  126. package/main/store/teammates-files.mjs +99 -0
  127. package/main/store/work-items.mjs +231 -13
  128. package/main/store.mjs +227 -53
  129. package/main/supervisor.mjs +3865 -699
  130. package/main/task-commands.mjs +13 -17
  131. package/main/task-folders-offthread.mjs +6 -1
  132. package/main/task-folders.mjs +897 -105
  133. package/main/task-terminals.mjs +147 -41
  134. package/main/team/index.mjs +114 -10
  135. package/main/team/memory-cloud.mjs +183 -1
  136. package/main/team/room-hours.mjs +48 -0
  137. package/main/team/room-setup.mjs +31 -0
  138. package/main/team/rooms-memory.mjs +454 -0
  139. package/main/team/rooms-shape.mjs +42 -0
  140. package/main/team/rooms-supabase.mjs +324 -0
  141. package/main/team/rooms.mjs +575 -0
  142. package/main/team/session.mjs +96 -26
  143. package/main/team/supabase-backend.mjs +180 -0
  144. package/main/team/sync.mjs +109 -1
  145. package/main/teammates.mjs +580 -0
  146. package/main/terminal-host.mjs +143 -0
  147. package/main/terminal-hosts.mjs +261 -0
  148. package/main/transcript-search.mjs +80 -0
  149. package/main/updater.mjs +71 -9
  150. package/main/webview-guard.mjs +45 -0
  151. package/main/worktree-include.mjs +365 -0
  152. package/mcp/core/documents.mjs +3 -1
  153. package/mcp/core/repeats.mjs +88 -0
  154. package/mcp/core/teammates.mjs +222 -0
  155. package/mcp/core/work.mjs +76 -4
  156. package/mcp/stdio.mjs +24 -11
  157. package/mcp/tools.mjs +116 -8
  158. package/package.json +30 -5
  159. package/renderer/dist/assets/abnfDiagram-YUKMZFIV-CoWB6YUK.js +1 -0
  160. package/renderer/dist/assets/arc-Ch0NrCul.js +1 -0
  161. package/renderer/dist/assets/architectureDiagram-47P4ROYG-CXz9M5tQ.js +36 -0
  162. package/renderer/dist/assets/blockDiagram-E7TT5TSB-DchGUuHH.js +140 -0
  163. package/renderer/dist/assets/c4Diagram-CRA5TL53-Cip-zNyr.js +38 -0
  164. package/renderer/dist/assets/channel-BQuQSL--.js +1 -0
  165. package/renderer/dist/assets/chunk-2Q5K7J3B-BoXid_2r.js +1 -0
  166. package/renderer/dist/assets/chunk-5VM5RSS4-Cpez1rRz.js +15 -0
  167. package/renderer/dist/assets/chunk-7TKQ45FW-DKA84YkE.js +1 -0
  168. package/renderer/dist/assets/chunk-AW2ZBBNX-Dg-SumPG.js +88 -0
  169. package/renderer/dist/assets/chunk-FVRAUYC3-06TCvPm1.js +2 -0
  170. package/renderer/dist/assets/chunk-HTAEGDNF-CMEBy1Td.js +1 -0
  171. package/renderer/dist/assets/chunk-JWPE2WC7-BJ2ObmV-.js +1 -0
  172. package/renderer/dist/assets/chunk-KQW6MTUR-CGWOYXUE.js +1 -0
  173. package/renderer/dist/assets/chunk-XXDRQBXY-CiZp07XC.js +1 -0
  174. package/renderer/dist/assets/classDiagram-v2-K4WV4PDN-DJNIX719.js +217 -0
  175. package/renderer/dist/assets/cornerTag-CPgvu-q3.js +1 -0
  176. package/renderer/dist/assets/cornerTag-oMfEjzCO.css +1 -0
  177. package/renderer/dist/assets/cose-bilkent-JH36ORCC-CbkyZOUH.js +1 -0
  178. package/renderer/dist/assets/cynefin-EF2NZ3EQ-78iOroZO.js +141 -0
  179. package/renderer/dist/assets/cynefinDiagram-3GCD6N5R-GcCopMs7.js +62 -0
  180. package/renderer/dist/assets/cytoscape.esm-C5JX3QLV.js +331 -0
  181. package/renderer/dist/assets/dagre-W4DXFKR2-DHLlXLkz.js +4 -0
  182. package/renderer/dist/assets/defaultLocale-DX6XiGOO.js +1 -0
  183. package/renderer/dist/assets/diagram-2UJZ2QOL-DuZSUHcH.js +200 -0
  184. package/renderer/dist/assets/diagram-OVF4WLC6-Ckxu3cqH.js +24 -0
  185. package/renderer/dist/assets/diagram-PFPMY2P6-CsTw9Ycn.js +30 -0
  186. package/renderer/dist/assets/diagram-UMYRVEAY-CTXd8qVg.js +24 -0
  187. package/renderer/dist/assets/diagram-YEKJPTXX-CJs1T_9m.js +41 -0
  188. package/renderer/dist/assets/diagram-ZIFT7M5P-CvjI23mf.js +3 -0
  189. package/renderer/dist/assets/ebnfDiagram-VR2GEFS7-d_IeAzOJ.js +1 -0
  190. package/renderer/dist/assets/elk-IJKZMXRS-zo9KFP3N.js +27 -0
  191. package/renderer/dist/assets/erDiagram-O2IAPWRE-DqfYf5Dt.js +99 -0
  192. package/renderer/dist/assets/flowDiagram-OXPTDLAJ-DAWsMLmo.js +213 -0
  193. package/renderer/dist/assets/ganttDiagram-R7TSEDQI-4ml_bhwR.js +292 -0
  194. package/renderer/dist/assets/gitGraphDiagram-XJZIOB7I-B_WcqSId.js +106 -0
  195. package/renderer/dist/assets/graph-DGbsTEsI.js +1 -0
  196. package/renderer/dist/assets/infoDiagram-5W2HQ5XZ-CI-jYqzc.js +2 -0
  197. package/renderer/dist/assets/init-Gi6I4Gst.js +1 -0
  198. package/renderer/dist/assets/ishikawaDiagram-K3B6WC7H-B56VWRlV.js +70 -0
  199. package/renderer/dist/assets/journeyDiagram-COXZFDF6-D1-p09Lr.js +139 -0
  200. package/renderer/dist/assets/kanban-definition-P3RFRI5V-Cv3w7JoN.js +89 -0
  201. package/renderer/dist/assets/katex-C5jXJg4s.js +257 -0
  202. package/renderer/dist/assets/linear-C35V2Spi.js +1 -0
  203. package/renderer/dist/assets/main-BcoBiGwv.css +32 -0
  204. package/renderer/dist/assets/main-CLnIOulD.js +1191 -0
  205. package/renderer/dist/assets/mermaid.core-BzGT5Vo9.js +314 -0
  206. package/renderer/dist/assets/mindmap-definition-LZFPQGKD-BZUfuymC.js +96 -0
  207. package/renderer/dist/assets/ordinal-Cboi1Yqb.js +1 -0
  208. package/renderer/dist/assets/pegDiagram-BGZESJAR-DFh9XNGe.js +1 -0
  209. package/renderer/dist/assets/pieDiagram-CAPJLFHJ-C65tPVsy.js +39 -0
  210. package/renderer/dist/assets/product-name-CSNW6d7s.js +40 -0
  211. package/renderer/dist/assets/quadrantDiagram-GDMTTRAM-Cushj_nk.js +7 -0
  212. package/renderer/dist/assets/railroadDiagram-SM67HX2B-DZGebGx5.js +1 -0
  213. package/renderer/dist/assets/requirementDiagram-X7JNWC4A-DpAB0MNo.js +84 -0
  214. package/renderer/dist/assets/sankeyDiagram-UM26HJRW-D-29rHra.js +40 -0
  215. package/renderer/dist/assets/sequenceDiagram-ZO4K6R2Y-FfOQAZol.js +169 -0
  216. package/renderer/dist/assets/sizeCapture-INFHLROL-C_n6fDBY.js +1 -0
  217. package/renderer/dist/assets/stateDiagram-v2-TBUQTH76-BZjenzJG.js +291 -0
  218. package/renderer/dist/assets/swimlanes-N4OXWK64-DxaMU9vX.js +1 -0
  219. package/renderer/dist/assets/swimlanesDiagram-K3J5GTZL-Cb2kM6rr.js +8 -0
  220. package/renderer/dist/assets/timeline-definition-YOQAKGHF-DTg5HJKz.js +120 -0
  221. package/renderer/dist/assets/usecaseDiagram-VIAY4XPW-Bc3MZDsl.js +370 -0
  222. package/renderer/dist/assets/vennDiagram-BLWOH2XV-GIVGk9Id.js +34 -0
  223. package/renderer/dist/assets/wardleyDiagram-YMQ3BMBF-NmJnbQOg.js +78 -0
  224. package/renderer/dist/assets/xychartDiagram-TAQBALBS-p-kfGfnW.js +7 -0
  225. package/renderer/dist/corner-tag.html +13 -0
  226. package/renderer/dist/emulator/audio-rules.mjs +74 -0
  227. package/renderer/dist/emulator/data/compression/README.md +11 -0
  228. package/renderer/dist/emulator/data/compression/extract7z.js +1 -0
  229. package/renderer/dist/emulator/data/compression/extractzip.js +1 -0
  230. package/renderer/dist/emulator/data/compression/libunrar.js +519 -0
  231. package/renderer/dist/emulator/data/compression/libunrar.wasm +0 -0
  232. package/renderer/dist/emulator/data/cores/README.md +22 -0
  233. package/renderer/dist/emulator/data/cores/mgba-legacy-wasm.data +0 -0
  234. package/renderer/dist/emulator/data/cores/mgba-thread-legacy-wasm.data +0 -0
  235. package/renderer/dist/emulator/data/cores/mgba-thread-wasm.data +0 -0
  236. package/renderer/dist/emulator/data/cores/mgba-wasm.data +0 -0
  237. package/renderer/dist/emulator/data/cores/package.json +65 -0
  238. package/renderer/dist/emulator/data/cores/reports/mgba.json +1 -0
  239. package/renderer/dist/emulator/data/emulator.css +1614 -0
  240. package/renderer/dist/emulator/data/loader.js +170 -0
  241. package/renderer/dist/emulator/data/localization/README.md +63 -0
  242. package/renderer/dist/emulator/data/localization/af-FR.json +339 -0
  243. package/renderer/dist/emulator/data/localization/ar-AR.json +301 -0
  244. package/renderer/dist/emulator/data/localization/ben-BEN.json +301 -0
  245. package/renderer/dist/emulator/data/localization/de-GER.json +301 -0
  246. package/renderer/dist/emulator/data/localization/el-GR.json +301 -0
  247. package/renderer/dist/emulator/data/localization/en-US.json +339 -0
  248. package/renderer/dist/emulator/data/localization/es-ES.json +310 -0
  249. package/renderer/dist/emulator/data/localization/fa-AF.json +310 -0
  250. package/renderer/dist/emulator/data/localization/hi-HI.json +301 -0
  251. package/renderer/dist/emulator/data/localization/it-IT.json +302 -0
  252. package/renderer/dist/emulator/data/localization/ja-JA.json +301 -0
  253. package/renderer/dist/emulator/data/localization/jv-JV.json +301 -0
  254. package/renderer/dist/emulator/data/localization/ko-KO.json +336 -0
  255. package/renderer/dist/emulator/data/localization/pt-BR.json +361 -0
  256. package/renderer/dist/emulator/data/localization/retroarch.json +617 -0
  257. package/renderer/dist/emulator/data/localization/ro-RO.json +310 -0
  258. package/renderer/dist/emulator/data/localization/ru-RU.json +301 -0
  259. package/renderer/dist/emulator/data/localization/tr-TR.json +310 -0
  260. package/renderer/dist/emulator/data/localization/vi-VN.json +302 -0
  261. package/renderer/dist/emulator/data/localization/zh-CN.json +351 -0
  262. package/renderer/dist/emulator/data/src/GameManager.js +464 -0
  263. package/renderer/dist/emulator/data/src/compression.js +142 -0
  264. package/renderer/dist/emulator/data/src/emulator.js +6158 -0
  265. package/renderer/dist/emulator/data/src/gamepad.js +167 -0
  266. package/renderer/dist/emulator/data/src/nipplejs.js +1 -0
  267. package/renderer/dist/emulator/data/src/shaders.js +236 -0
  268. package/renderer/dist/emulator/data/src/socket.io.min.js +7 -0
  269. package/renderer/dist/emulator/data/src/storage.js +125 -0
  270. package/renderer/dist/emulator/data/version.json +5 -0
  271. package/renderer/dist/emulator/host.js +297 -0
  272. package/renderer/dist/emulator/index.html +28 -0
  273. package/renderer/dist/emulator/provenance.json +6 -0
  274. package/renderer/dist/index.html +16 -3
  275. package/scripts/after-install.mjs +30 -8
  276. package/scripts/approval-server.sh +24 -5
  277. package/scripts/before-publish.mjs +12 -10
  278. package/scripts/cloud-shim.pl +57 -0
  279. package/shared/account-names.d.mts +6 -0
  280. package/shared/account-names.mjs +15 -0
  281. package/shared/agent-hours.mjs +136 -0
  282. package/shared/agent-import.mjs +62 -34
  283. package/shared/agents.d.mts +1 -0
  284. package/shared/agents.mjs +126 -522
  285. package/shared/analytics-events.mjs +12 -0
  286. package/shared/approval-card.mjs +36 -0
  287. package/shared/bridge-map.mjs +45 -1
  288. package/shared/claude-code-shape.mjs +6 -0
  289. package/shared/claude-commands.generated.mjs +6 -4
  290. package/shared/claude-models.generated.mjs +6 -4
  291. package/shared/claude-usage.d.mts +1 -0
  292. package/shared/claude-usage.mjs +42 -1
  293. package/shared/cloud-hand-back.d.mts +7 -0
  294. package/shared/cloud-hand-back.mjs +20 -0
  295. package/shared/cloud-kit.d.mts +219 -0
  296. package/shared/cloud-kit.mjs +341 -0
  297. package/shared/cloud-login-name.mjs +4 -0
  298. package/shared/cloud-start.mjs +17 -0
  299. package/shared/cloud-versions.mjs +23 -0
  300. package/shared/codex-import.mjs +2 -2
  301. package/shared/codex-modes.d.mts +22 -9
  302. package/shared/codex-modes.mjs +67 -11
  303. package/shared/codex-usage.mjs +108 -2
  304. package/shared/corner-tag.d.mts +36 -0
  305. package/shared/corner-tag.mjs +396 -0
  306. package/shared/dead-run-trace.mjs +19 -2
  307. package/shared/engines.mjs +76 -300
  308. package/shared/feedback.d.mts +7 -0
  309. package/shared/feedback.mjs +25 -0
  310. package/shared/first-run-practice.mjs +17 -24
  311. package/shared/harness-definitions.mjs +111 -0
  312. package/shared/instruction-defaults.json +2 -2
  313. package/shared/key-caps.d.mts +14 -0
  314. package/shared/key-caps.mjs +68 -0
  315. package/shared/message-edits.d.mts +7 -0
  316. package/shared/message-edits.mjs +35 -0
  317. package/shared/move-thread.d.mts +24 -0
  318. package/shared/move-thread.mjs +112 -0
  319. package/shared/named-threads.mjs +72 -0
  320. package/shared/not-shipped.d.mts +22 -0
  321. package/shared/not-shipped.mjs +89 -0
  322. package/shared/notify-rules.d.mts +31 -0
  323. package/shared/notify-rules.mjs +55 -8
  324. package/shared/phone-files.mjs +28 -0
  325. package/shared/phone-settings.mjs +118 -0
  326. package/shared/phone-snapshot.d.mts +16 -0
  327. package/shared/phone-snapshot.mjs +348 -0
  328. package/shared/picture-formats.d.mts +1 -0
  329. package/shared/picture-formats.mjs +13 -0
  330. package/shared/provider-commands.mjs +10 -2
  331. package/shared/rank.d.mts +4 -1
  332. package/shared/rank.mjs +82 -19
  333. package/shared/relay-address.mjs +6 -0
  334. package/shared/relay-crypto.mjs +165 -0
  335. package/shared/repeats.d.mts +8 -0
  336. package/shared/repeats.mjs +33 -2
  337. package/shared/room-cards.mjs +167 -0
  338. package/shared/room-links.d.mts +4 -0
  339. package/shared/room-links.mjs +21 -0
  340. package/shared/runs-on.d.mts +3 -13
  341. package/shared/runs-on.mjs +31 -52
  342. package/shared/shipped-note.d.mts +4 -0
  343. package/shared/shipped-note.mjs +6 -0
  344. package/shared/shortcuts.mjs +24 -10
  345. package/shared/spawn-trouble.d.mts +4 -0
  346. package/shared/spawn-trouble.mjs +484 -30
  347. package/shared/team-rules.mjs +9 -2
  348. package/shared/teammates.d.mts +19 -0
  349. package/shared/teammates.mjs +756 -0
  350. package/shared/terminal-focus.d.mts +1 -0
  351. package/shared/terminal-focus.mjs +13 -0
  352. package/shared/terminal-input.d.mts +1 -0
  353. package/shared/terminal-input.mjs +30 -0
  354. package/shared/terminal-keys.d.mts +1 -0
  355. package/shared/terminal-keys.mjs +16 -0
  356. package/shared/terminal-size.d.mts +4 -0
  357. package/shared/terminal-size.mjs +29 -0
  358. package/shared/thread-cards.mjs +4 -1
  359. package/shared/usage.d.mts +12 -0
  360. package/shared/usage.mjs +56 -3
  361. package/shared/websites.d.mts +15 -0
  362. package/shared/websites.mjs +61 -0
  363. package/shared/where-it-runs-from.d.mts +43 -0
  364. package/shared/where-it-runs-from.mjs +155 -0
  365. package/shared/work-items.mjs +150 -29
  366. package/shared/work-lines.mjs +93 -245
  367. package/shared/xterm-invalid-range.d.mts +2 -0
  368. package/shared/xterm-invalid-range.mjs +58 -0
  369. package/renderer/dist/assets/index-ChKsQkRw.js +0 -1169
  370. package/renderer/dist/assets/index-ClBXnq3B.css +0 -32
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./sizeCapture-INFHLROL-C_n6fDBY.js","./mermaid.core-BzGT5Vo9.js","./main-CLnIOulD.js","./product-name-CSNW6d7s.js","./main-BcoBiGwv.css"])))=>i.map(i=>d[i]);
2
+ import{_ as Z}from"./main-CLnIOulD.js";import{_ as d,l as c,av as I,am as ee,aw as te,ax as ne,ay as se,an as D,al as re,az as ie,aA as S,aB as R,aC as _,c as ae,L as oe,aD as ce,aE as le,aF as ue,aG as de,u as fe}from"./mermaid.core-BzGT5Vo9.js";import{G as k}from"./graph-DGbsTEsI.js";function T(e,{edgePathsClass:n="edges edgePaths"}={}){const s=e.insert("g").attr("class","root"),t=s.insert("g").attr("class","clusters"),i=s.insert("g").attr("class",n),r=s.insert("g").attr("class","edgeLabels"),a=s.insert("g").attr("class","nodes");return{clusters:t,edgePaths:i,edgeLabels:r,nodes:a,rootGroups:s}}d(T,"createLayoutElementGroups");async function B(e,n,s){if(n.label){const{shapeSvg:t,bbox:i}=await de(e,s===void 0?n:{...n,width:s});n.labelBBox={width:i.width,height:i.height},t.remove()}else n.labelBBox={width:0,height:0}}d(B,"measureGroupLabel");async function P(e,n,s){var r;const t=await ee(e,n,s),i=((r=t.node())==null?void 0:r.getBBox())??{width:0,height:0};return n.width=i.width,n.height=i.height,t}d(P,"insertMeasuredNode");function M(e,n,s){let t=e;const i=new Set;for(;t;){if(t.dir)return t.dir;if(!t.parentId||i.has(t.parentId))break;i.add(t.parentId),t=n.get(t.parentId)}return s}d(M,"resolveNodeDir");async function A(e,n,s={}){const t=new k({multigraph:!0,compound:!0}),i=[...n.edges],r=ae(),a=T(e),{edgeLabels:l,nodes:o}=a,g=new Map,b=new Map(n.nodes.map(f=>[f.id,f])),N=n.direction,v=e.node()!=null;await Promise.all(n.nodes.map(async f=>{if(f.isGroup){if(v){const m=s.unwrapGroupLabels&&f.labelType!=="markdown";await B(o,f,m?Number.POSITIVE_INFINITY:void 0)}t.setNode(f.id,{...f})}else{if(v){const m=await P(o,f,{config:r,dir:M(f,b,N)});g.set(f.id,m)}t.setNode(f.id,{...f})}}));for(const f of i)v&&S(f)&&await _(l,f),t.setEdge(f.start,f.end,{...f},f.id),n.edges.some(E=>E.id===f.id)||n.edges.push(f);if(globalThis.mermaidCaptureSizes){const{captureNodeSizes:f}=await Z(async()=>{const{captureNodeSizes:m}=await import("./sizeCapture-INFHLROL-C_n6fDBY.js");return{captureNodeSizes:m}},__vite__mapDeps([0,1,2,3,4]),import.meta.url);f(e,n)}return{graph:t,groups:a,nodeElements:g}}d(A,"createGraphWithElements");var u=new Map,w=new Map,G=new Map,ge=d(()=>{w.clear(),G.clear(),u.clear()},"clear"),h=d((e,n)=>{const s=w.get(n)||[];return c.trace("In isDescendant",n," ",e," = ",s.includes(e)),s.includes(e)},"isDescendant"),be=d((e,n)=>{const s=w.get(n)||[];return c.info("Descendants of ",n," is ",s),c.info("Edge is ",e),e.v===n||e.w===n?!1:s?s.includes(e.v)||h(e.v,n)||h(e.w,n)||s.includes(e.w):(c.debug("Tilt, ",n,",not in descendants"),!1)},"edgeInCluster"),X=d((e,n,s,t)=>{c.debug("Copying children of ",e,"root",t,"data",n.node(e),t);const i=n.children(e)||[];e!==t&&i.push(e),c.debug("Copying (nodes) clusterId",e,"nodes",i),i.forEach(r=>{if(n.children(r).length>0)X(r,n,s,t);else{const a=n.node(r);c.info("cp ",r," to ",t," with parent ",e),s.setNode(r,a),t!==n.parent(r)&&(c.debug("Setting parent",r,n.parent(r)),s.setParent(r,n.parent(r))),e!==t&&r!==e?(c.debug("Setting parent",r,e),s.setParent(r,e)):(c.info("In copy ",e,"root",t,"data",n.node(e),t),c.debug("Not Setting parent for node=",r,"cluster!==rootId",e!==t,"node!==clusterId",r!==e));const l=n.edges(r);c.debug("Copying Edges",l),l.forEach(o=>{c.info("Edge",o);const g=n.edge(o.v,o.w,o.name);c.info("Edge data",g,t);try{be(o,t)?(c.info("Copying as ",o.v,o.w,g,o.name),s.setEdge(o.v,o.w,g,o.name),c.info("newGraph edges ",s.edges(),s.edge(s.edges()[0]))):c.info("Skipping copy of edge ",o.v,"-->",o.w," rootId: ",t," clusterId:",e)}catch(b){c.error(b)}})}c.debug("Removing node",r),n.removeNode(r)})},"copy"),O=d((e,n)=>{const s=n.children(e);let t=[...s];for(const i of s)G.set(i,e),t=[...t,...O(i,n)];return t},"extractDescendants"),me=d((e,n,s)=>{const t=e.edges().filter(o=>o.v===n||o.w===n),i=e.edges().filter(o=>o.v===s||o.w===s),r=t.map(o=>({v:o.v===n?s:o.v,w:o.w===n?n:o.w})),a=i.map(o=>({v:o.v,w:o.w}));return r.filter(o=>a.some(g=>o.v===g.v&&o.w===g.w))},"findCommonEdges"),C=d((e,n,s)=>{const t=n.children(e);if(c.trace("Searching children of id ",e,t),t.length<1)return e;let i;for(const r of t){const a=C(r,n,s),l=me(n,s,a);if(a)if(l.length>0)i=a;else return a}return i},"findNonClusterChild"),L=d(e=>!u.has(e)||!u.get(e).externalConnections?e:u.has(e)?u.get(e).id:e,"getAnchorId"),xe=d((e,n)=>{var s;if(!e||n>10){c.debug("Opting out, no graph ");return}else c.debug("Opting in, graph ");e.nodes().forEach(function(t){e.children(t).length>0&&(c.debug("Cluster identified",t," Replacement id in edges: ",C(t,e,t)),w.set(t,O(t,e)),u.set(t,{id:C(t,e,t),clusterData:e.node(t)}))}),e.nodes().forEach(function(t){const i=e.children(t),r=e.edges();i.length>0?(c.debug("Cluster identified",t,w),r.forEach(a=>{const l=h(a.v,t),o=h(a.w,t);l^o&&(c.debug("Edge: ",a," leaves cluster ",t),c.debug("Descendants of XXX ",t,": ",w.get(t)),u.get(t).externalConnections=!0)})):c.debug("Not a cluster ",t,w)});for(let t of u.keys()){const i=u.get(t).id,r=e.parent(i);r!==t&&u.has(r)&&!u.get(r).externalConnections&&(u.get(t).id=r);const a=e.edges().some(l=>l.v===t);if(i&&((s=u.get(t))!=null&&s.externalConnections)&&a&&$(e,i,t)){const l=we(e,t,e.parent(i));l&&(u.get(t).id=l)}}e.edges().forEach(function(t){const i=e.edge(t);c.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),c.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e.edge(t)));let r=t.v,a=t.w;if(c.debug("Fix XXX",u,"ids:",t.v,t.w,"Translating: ",u.get(t.v)," --- ",u.get(t.w)),u.get(t.v)||u.get(t.w)){if(c.debug("Fixing and trying - removing XXX",t.v,t.w,t.name),r=L(t.v),a=L(t.w),e.removeEdge(t.v,t.w,t.name),r!==t.v){const l=e.parent(r);u.get(l).externalConnections=!0,i.fromCluster=t.v}if(a!==t.w){const l=e.parent(a);u.get(l).externalConnections=!0,i.toCluster=t.w}c.debug("Fix Replacing with XXX",r,a,t.name),e.setEdge(r,a,i,t.name)}}),p(e,0),c.trace(u)},"adjustClustersAndEdges"),p=d((e,n)=>{var i,r;if(n>10){c.error("Bailing out");return}let s=e.nodes(),t=!1;for(const a of s){const l=e.children(a);t=t||l.length>0}if(!t){c.debug("Done, no node has children",e.nodes());return}c.debug("Nodes = ",s,n);for(const a of s)if(c.debug("Extracting node",a,u,u.has(a)&&!u.get(a).externalConnections,!e.parent(a),e.node(a),e.children("D")," Depth ",n),!u.has(a))c.debug("Not a cluster",a,n);else if(!u.get(a).externalConnections&&e.children(a)&&e.children(a).length>0){c.debug("Cluster without external connections, without a parent and with children",a,n);let o=e.graph().rankdir==="TB"?"LR":"TB";(r=(i=u.get(a))==null?void 0:i.clusterData)!=null&&r.dir&&(o=u.get(a).clusterData.dir,c.debug("Fixing dir",u.get(a).clusterData.dir,o));const g=new k({multigraph:!0,compound:!0}).setGraph({rankdir:o,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});X(a,e,g,a),e.setNode(a,{clusterNode:!0,id:a,clusterData:u.get(a).clusterData,label:u.get(a).label,graph:g})}else c.debug("Cluster ** ",a," **not meeting the criteria !externalConnections:",!u.get(a).externalConnections," no parent: ",!e.parent(a)," children ",e.children(a)&&e.children(a).length>0,e.children("D"),n),c.debug(u);s=e.nodes(),c.debug("New list of nodes",s);for(const a of s){const l=e.node(a);c.debug(" Now next level",a,l),l!=null&&l.clusterNode&&p(l.graph,n+1)}},"extractor"),F=d((e,n)=>{if(n.length===0)return[];let s=Object.assign([],n);return n.forEach(t=>{const i=e.children(t),r=F(e,i);s=[...s,...r]}),s},"sorter"),ye=d(e=>F(e,e.children()),"sortNodesByHierarchy"),$=d((e,n,s)=>{let t=e.parent(n);for(;t&&t!==s;){const i=u.get(t);if(i&&!i.externalConnections)return!0;t=e.parent(t)}return!1},"isNodeInExtractableCluster"),we=d((e,n,s)=>{const t=e.children(n)??[];for(const i of t){if(i===s||h(i,s))continue;const r=C(i,e,n);if(r&&!$(e,r,n))return r}return null},"findSafeAnchorNode");function ve({prepareLayout:e,measureLayout:n,runLayoutCore:s,paintLayout:t,afterPaint:i,paintOptions:r}){const a=n??j;return d(async function(o,g,b,N){const v=g.select("g");((b==null?void 0:b.insertMarkers)??I)(v,o.markers,o.type,o.diagramId),z();const f={element:v,helpers:b,options:N};f.preparedLayout=await(e==null?void 0:e(o,f));const m=await a(o,f),E=await s(o,f),x={...f,measure:m};t?await t(o,x,E):await H(o,x,r),await(i==null?void 0:i(o,x,E))},"render")}d(ve,"createCommonLayoutRenderer");function z(){te(),ne(),se(),ge()}d(z,"clearLayoutRenderState");async function j(e,{element:n},s){return await A(n,e,s)}d(j,"defaultMeasureLayout");async function H(e,n,s={}){var a,l;const{measure:t}=n,{groups:i}=t;for(const o of((a=s.getNodes)==null?void 0:a.call(s,e,n))??e.nodes)(l=s.skipNode)!=null&&l.call(s,o,n)||await J(i,o,n,s);const r=W(e.nodes);for(const o of e.edges)Y(o,s)||await q(i,o,r,e,s,n)}d(H,"paintLayoutData");async function J(e,n,s,t){n.clusterNode?D(n):V(n,s,t)?await re(e.clusters,n):D(n)}d(J,"paintLayoutNode");function V(e,n,s){var t;return e.isGroup===!0&&(((t=s.isCluster)==null?void 0:t.call(s,e,n))??!0)}d(V,"shouldPaintAsCluster");function W(e){const n=new Map;for(const s of e)s!=null&&s.id&&n.set(s.id,s);return n}d(W,"buildNodeLookup");function Y(e,n){var s;return e.isLayoutOnly||!!((s=n.skipEdge)!=null&&s.call(n,e))}d(Y,"shouldSkipPaintEdge");async function q(e,n,s,t,i,r){const a=ie(e.edgePaths,{...n},i.clusterDb??new Map,t.type,y(n.start,n,s,r,i),y(n.end,n,s,r,i),t.diagramId,K(n,i));S(n)&&(R.has(n.id)||await _(e.edgeLabels,n),Q(n,a))}d(q,"paintLayoutEdge");function y(e,n,s,t,i){var r;return((r=i.getEdgeNode)==null?void 0:r.call(i,e,n,t))??(e?s.get(e)??{}:{})}d(y,"getRenderedNode");function K(e,n){return typeof n.skipIntersect=="function"?n.skipIntersect(e):n.skipIntersect??!1}d(K,"shouldSkipIntersect");function Q(e,n){const s=(n==null?void 0:n.updatedPath)??(n==null?void 0:n.originalPath),t=oe(),{subGraphTitleTotalMargin:i}=ce({flowchart:t.flowchart??{}});if(e.label){const r=R.get(e.id),{x:a,y:l}=le(e,n);r.attr("transform",`translate(${a}, ${l+i/2})`)}for(const[r,a]of[["startLeft",e.startLabelLeft],["startRight",e.startLabelRight],["endLeft",e.endLabelLeft],["endRight",e.endLabelRight]])if(a){const{x:l,y:o}=U(e,r,s);ue.get(e.id)[r].attr("transform",`translate(${l}, ${o})`)}}d(Q,"positionRenderedEdgeLabel");var he={startLeft:"start_left",startRight:"start_right",endLeft:"end_left",endRight:"end_right"};function U(e,n,s){var r;const t=(r=e.terminalLabelCenters)==null?void 0:r[n];if(t)return{...t};if(!s)return{x:e.x,y:e.y};const i=n.startsWith("start")?e.arrowTypeStart:e.arrowTypeEnd;return fe.calcTerminalLabelPosition(i?10:0,he[n],s)}d(U,"terminalLabelTranslate");export{xe as a,T as b,ve as c,j as d,u as e,C as f,P as i,ye as s};
@@ -0,0 +1 @@
1
+ import{au as B,_ as y}from"./mermaid.core-BzGT5Vo9.js";var w=5,O=1e-5,X=2,Y=.6,R=1e-6;function N(t){const e=[];for(let s=0;s<t.length-1;s++)e.push({a:t[s],b:t[s+1]});return e}y(N,"buildSegmentList");function T(t,e,s,a){const r=e.x-t.x,o=e.y-t.y,i=a.x-s.x,d=a.y-s.y,u=r*d-o*i;if(u===0)return null;const n=s.x-t.x,c=s.y-t.y,l=(n*d-c*i)/u,p=(n*o-c*r)/u;return l<=R||l>=1-R||p<=R||p>=1-R?null:{point:{x:t.x+l*r,y:t.y+l*o},tA:l,tB:p}}y(T,"segmentIntersection");function P(t){return Math.abs(t.b.x-t.a.x)>=Math.abs(t.b.y-t.a.y)}y(P,"isHorizontalSeg");function v(t,e,s){if(t.curve!=="rounded")return!1;const a=t.points,r=a[e],o=a[e+1];if(!r||!o)return!1;const i=Math.hypot(o.x-r.x,o.y-r.y),d=s*i,u=e>0?L(a[e-1],r,o,w):null;if(u&&d<u.cutLen)return!0;const n=e+2<a.length?L(r,o,a[e+2],w):null;return n!==null&&i-d<n.cutLen}y(v,"crossingSitsInRoundedCorner");function _(t){const e=[];for(let s=0;s<t.length;s++){const a=t[s],r=N(a.points);for(let o=s+1;o<t.length;o++){const i=t[o],d=N(i.points);for(const[u,n]of r.entries())for(const[c,l]of d.entries()){const p=T(n.a,n.b,l.a,l.b);if(!p||v(a,u,p.tA)||v(i,c,p.tB))continue;const g=P(n),S=P(l);(g!==S?g:!1)?e.push({jumpEdgeId:a.id,otherEdgeId:i.id,segIndex:u,t:p.tA,point:p.point}):e.push({jumpEdgeId:i.id,otherEdgeId:a.id,segIndex:c,t:p.tB,point:p.point})}}}return e}y(_,"findEdgeIntersections");function M(t){const e=Math.round(t*1e3)/1e3;return Number.isInteger(e)?`${e}`:`${e}`}y(M,"fmt");function A(t){return`${M(t.x)},${M(t.y)}`}y(A,"pointToString");function C(t){const e=t.b.x-t.a.x,s=t.b.y-t.a.y;return Math.abs(e)>=Math.abs(s)?e>=0?1:0:s>=0?1:0}y(C,"getArcSweepFlag");function D(t,e){if(t.length<2)return t.map(o=>({...o}));const s=t.map(o=>({...o})),a=e.arrowTypeStart&&B[e.arrowTypeStart];if(a){const o=t[0],i=t[1],d=Math.atan2(i.y-o.y,i.x-o.x);s[0].x=o.x+a*Math.cos(d),s[0].y=o.y+a*Math.sin(d)}const r=e.arrowTypeEnd&&B[e.arrowTypeEnd];if(r){const o=t.length,i=t[o-2],d=t[o-1],u=Math.atan2(d.y-i.y,d.x-i.x);s[o-1].x=d.x-r*Math.cos(u),s[o-1].y=d.y-r*Math.sin(u)}return s}y(D,"applyMarkerOffsets");function k(t,e,s,a,r){const o=t.point.x,i=t.point.y,d={x:o-e*t.r,y:i-s*t.r},u={x:o+e*t.r,y:i+s*t.r},n=[`L${A(d)}`];return r==="arc"?n.push(`A${M(t.r)},${M(t.r)} 0 0 ${a} ${A(u)}`):n.push(`M${A(u)}`),n}y(k,"emitJump");function L(t,e,s,a){const r=e.x-t.x,o=e.y-t.y,i=s.x-e.x,d=s.y-e.y,u=Math.hypot(r,o),n=Math.hypot(i,d);if(u<O||n<O)return null;const c=r/u,l=o/u,p=i/n,g=d/n,S=c*p+l*g,b=Math.max(-1,Math.min(1,S)),m=Math.acos(b);if(m<O||Math.abs(Math.PI-m)<O)return null;const h=Math.min(a/Math.sin(m/2),u/2,n/2);return{startX:e.x-c*h,startY:e.y-l*h,endX:e.x+p*h,endY:e.y+g*h,ctrlX:e.x,ctrlY:e.y,cutLen:h}}y(L,"computeRoundedCorner");function H(t,e,s){const a=t.points;if(a.length<2)return"";const r=D(a,t),o=t.curve==="rounded",i=N(r),d=new Map;for(const n of e){const c=i[n.segIndex];if(!c)continue;const l=Math.hypot(c.b.x-c.a.x,c.b.y-c.a.y),p=d.get(n.segIndex)??[];p.push({t:n.t,point:n.point,d:n.t*l,r:s.jumpRadius}),d.set(n.segIndex,p)}const u=[`M${A(r[0])}`];for(let n=0;n<i.length;n++){const c=i[n],l=Math.hypot(c.b.x-c.a.x,c.b.y-c.a.y),p=l===0?0:(c.b.x-c.a.x)/l,g=l===0?0:(c.b.y-c.a.y)/l,S=C(c);let b=0;if(o&&n>0){const f=L(r[n-1],r[n],r[n+1]??r[n],w);f&&(b=f.cutLen)}let m=l,h=null;o&&n<i.length-1&&(h=L(r[n],r[n+1],r[n+2]??r[n+1],w),h&&(m=l-h.cutLen));const $=s.jumpRadius*Y,x=[...d.get(n)??[]].sort((f,E)=>f.t-E.t).filter(f=>{const E=Math.min(f.d-b,m-f.d)-X;return f.r=Math.min(f.r,E),f.r>=$});for(let f=0;f<x.length-1;f++){const E=x[f+1].d-x[f].d;if(x[f].r+x[f+1].r>E){const I=E/2;x[f].r=Math.min(x[f].r,I),x[f+1].r=Math.min(x[f+1].r,I)}}for(const f of x)f.r<$||u.push(...k(f,p,g,S,s.jumpStyle));o&&h?(u.push(`L${M(h.startX)},${M(h.startY)}`),u.push(`Q${M(h.ctrlX)},${M(h.ctrlY)} ${M(h.endX)},${M(h.endY)}`)):u.push(`L${A(c.b)}`)}return u.join(" ")}y(H,"rewriteEdgePath");function J(t){return/^[\d\s+,.LMelm-]*$/.test(t)}y(J,"isStraightPath");function U(t){return t?t==="linear"||t==="rounded"||t==="step"||t==="stepBefore"||t==="stepAfter":!0}y(U,"curveSupportsLineHops");function j(t){if(!t)return null;try{const e=typeof atob=="function"?atob(t):Buffer.from(t,"base64").toString(),s=JSON.parse(e);if(!Array.isArray(s))return null;const a=[];for(const r of s)r&&typeof r.x=="number"&&typeof r.y=="number"&&a.push({x:r.x,y:r.y});return a.length>=2?a:null}catch{return null}}y(j,"decodeDataPoints");function F(t,e,s){if(!s.enabled)return;const a=t.node();if(!a)return;const r=new Map;for(const n of e)r.set(n.id,n);const o=new Map;for(const n of a.querySelectorAll("path[data-id]")){const c=n.getAttribute("data-id");c!==null&&!o.has(c)&&o.set(c,n)}const i=[];for(const n of e){const c=o.get(n.id);if(!c)continue;const p=j(c.getAttribute("data-points"))??n.points;i.push({...n,points:p})}const d=_(i);if(d.length===0)return;const u=new Map;for(const n of d){const c=u.get(n.jumpEdgeId)??[];c.push(n),u.set(n.jumpEdgeId,c)}for(const n of i){const c=u.get(n.id);if(!c||c.length===0)continue;const l=r.get(n.id),p=l==null?void 0:l.curve;if(p!==void 0&&!U(p))continue;const g=o.get(n.id);if(!g)continue;if(p===void 0){const x=g.getAttribute("d")??"";if(!J(x))continue}const S=g.getAttribute("style")??"",b=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(S),m=b?Number.parseFloat(b[1]):null,h=b?Number.parseFloat(b[2]):null,$=H(n,c,s);if(g.setAttribute("d",$),m!==null&&h!==null&&typeof g.getTotalLength=="function"){const x=g.getTotalLength(),f=Math.max(0,x-m-h),E=`0 ${m} ${f} ${h}`,I=S.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${E};`).replace(/;\s*;+/g,";");g.setAttribute("style",I)}}}y(F,"applyLineJumpsToSvg");export{F as a};
@@ -0,0 +1 @@
1
+ import{_ as l}from"./mermaid.core-BzGT5Vo9.js";function m(e,c){var i,t,o;e.accDescr&&((i=c.setAccDescription)==null||i.call(c,e.accDescr)),e.accTitle&&((t=c.setAccTitle)==null||t.call(c,e.accTitle)),e.title&&((o=c.setDiagramTitle)==null||o.call(c,e.title))}l(m,"populateCommonDb");export{m as p};
@@ -0,0 +1 @@
1
+ import{_ as a,d as w,l as x}from"./mermaid.core-BzGT5Vo9.js";var B=a((e,t,i,o)=>{e.attr("class",i);const{width:r,height:h,x:n,y:c}=u(e,t);w(e,h,r,o);const s=d(n,c,r,h,t);e.attr("viewBox",s),x.debug(`viewBox configured: ${s} with padding: ${t}`)},"setupViewPortForSVG"),u=a((e,t)=>{var o;const i=((o=e.node())==null?void 0:o.getBBox())||{width:0,height:0,x:0,y:0};return{width:i.width+t*2,height:i.height+t*2,x:i.x,y:i.y}},"calculateDimensionsWithPadding"),d=a((e,t,i,o,r)=>`${e-r} ${t-r} ${i} ${o}`,"createViewBox");export{B as s};
@@ -0,0 +1 @@
1
+ import{_ as a,k as o}from"./mermaid.core-BzGT5Vo9.js";var g=a((t,e)=>{let n;return e==="sandbox"&&(n=o("#i"+t)),(e==="sandbox"?o(n.nodes()[0].contentDocument.body):o("body")).select(`[id="${t}"]`)},"getDiagramElement");export{g};
@@ -0,0 +1,217 @@
1
+ import{g as st}from"./chunk-5VM5RSS4-Cpez1rRz.js";import{g as it}from"./chunk-XXDRQBXY-CiZp07XC.js";import{s as at}from"./chunk-KQW6MTUR-CGWOYXUE.js";import{_ as g,l as we,c as B,p as rt,r as nt,u as Me,k as ge,z as lt,b as ut,a as ot,s as ct,g as ht,q as dt,t as pt,m as I,A as At,y as ft,C as gt,D as mt,E as Ct,F as bt,j as kt,Y as z}from"./mermaid.core-BzGT5Vo9.js";import{c as Et}from"./chunk-7TKQ45FW-DKA84YkE.js";import"./main-CLnIOulD.js";import"./product-name-CSNW6d7s.js";var Ve=function(){var t=g(function(O,c,d,A){for(d=d||{},A=O.length;A--;d[O[A]]=c);return d},"o"),i=[1,18],a=[1,19],r=[1,20],n=[1,41],l=[1,26],h=[1,42],p=[1,24],m=[1,25],o=[1,32],y=[1,33],M=[1,34],b=[1,45],K=[1,35],Ce=[1,36],be=[1,37],ke=[1,38],Ee=[1,27],Te=[1,28],ye=[1,29],De=[1,30],Fe=[1,31],k=[1,44],E=[1,46],T=[1,43],D=[1,47],Be=[1,9],f=[1,8,9],se=[1,58],ie=[1,59],ae=[1,60],re=[1,61],ne=[1,62],_e=[1,63],Se=[1,64],S=[1,8,9,41],Pe=[1,77],G=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],le=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],ue=[13,60,86,100,102,103],W=[13,60,73,74,86,100,102,103],Re=[13,60,68,69,70,71,72,86,100,102,103],oe=[1,103],Q=[1,121],j=[1,117],X=[1,113],q=[1,119],H=[1,114],J=[1,115],Z=[1,116],$=[1,118],ee=[1,120],Ge=[22,50,60,61,82,86,87,88,89,90],Ue=[1,128],ce=[12,39],Ne=[1,8,9,39,41,44,46],he=[1,8,9,22],ze=[1,153],Ye=[1,8,9,61],x=[1,8,9,22,50,60,61,82,86,87,88,89,90],Le={trace:g(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:g(function(c,d,A,u,C,e,te){var s=e.length-1;switch(C){case 8:this.$=e[s-1];break;case 9:case 10:case 13:case 15:this.$=e[s];break;case 11:case 14:this.$=e[s-2]+"."+e[s];break;case 12:case 16:this.$=e[s-1]+e[s];break;case 17:case 18:this.$=e[s-1]+"~"+e[s]+"~";break;case 19:u.addRelation(e[s]);break;case 20:e[s-1].title=u.cleanupLabel(e[s]),u.addRelation(e[s-1]);break;case 31:this.$=e[s].trim(),u.setAccTitle(this.$);break;case 32:case 33:this.$=e[s].trim(),u.setAccDescription(this.$);break;case 34:u.addClassesToNamespace(e[s-3],e[s-1][0],e[s-1][1]),u.popNamespace();break;case 35:u.addClassesToNamespace(e[s-4],e[s-1][0],e[s-1][1]),u.popNamespace();break;case 36:this.$=u.addNamespace(e[s]);break;case 37:this.$=u.addNamespace(e[s-1],e[s]);break;case 38:this.$=[[e[s]],[]];break;case 39:this.$=[[e[s-1]],[]];break;case 40:e[s][0].unshift(e[s-2]),this.$=e[s];break;case 41:this.$=[[],[e[s]]];break;case 42:this.$=[[],[e[s-1]]];break;case 43:e[s][1].unshift(e[s-2]),this.$=e[s];break;case 44:case 45:this.$=[[],[]];break;case 46:this.$=e[s];break;case 48:u.setCssClass(e[s-2],e[s]);break;case 49:u.addMembers(e[s-3],e[s-1]);break;case 51:u.setCssClass(e[s-5],e[s-3]),u.addMembers(e[s-5],e[s-1]);break;case 52:u.addAnnotation(e[s-3],e[s-1]);break;case 53:u.addAnnotation(e[s-6],e[s-4]),u.addMembers(e[s-6],e[s-1]);break;case 54:u.addAnnotation(e[s-5],e[s-3]);break;case 55:this.$=e[s],u.addClass(e[s]);break;case 56:this.$=e[s-1],u.addClass(e[s-1]),u.setClassLabel(e[s-1],e[s]);break;case 60:u.addAnnotation(e[s],e[s-2]);break;case 61:case 74:this.$=[e[s]];break;case 62:e[s].push(e[s-1]),this.$=e[s];break;case 63:break;case 64:u.addMember(e[s-1],u.cleanupLabel(e[s]));break;case 65:break;case 66:break;case 67:this.$={id1:e[s-2],id2:e[s],relation:e[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:e[s-3],id2:e[s],relation:e[s-1],relationTitle1:e[s-2],relationTitle2:"none"};break;case 69:this.$={id1:e[s-3],id2:e[s],relation:e[s-2],relationTitle1:"none",relationTitle2:e[s-1]};break;case 70:this.$={id1:e[s-4],id2:e[s],relation:e[s-2],relationTitle1:e[s-3],relationTitle2:e[s-1]};break;case 71:this.$=u.addNote(e[s],e[s-1]);break;case 72:this.$=u.addNote(e[s]);break;case 73:this.$=e[s-2],u.defineClass(e[s-1],e[s]);break;case 75:this.$=e[s-2].concat([e[s]]);break;case 76:u.setDirection("TB");break;case 77:u.setDirection("BT");break;case 78:u.setDirection("RL");break;case 79:u.setDirection("LR");break;case 80:this.$={type1:e[s-2],type2:e[s],lineType:e[s-1]};break;case 81:this.$={type1:"none",type2:e[s],lineType:e[s-1]};break;case 82:this.$={type1:e[s-1],type2:"none",lineType:e[s]};break;case 83:this.$={type1:"none",type2:"none",lineType:e[s]};break;case 84:this.$=u.relationType.AGGREGATION;break;case 85:this.$=u.relationType.EXTENSION;break;case 86:this.$=u.relationType.COMPOSITION;break;case 87:this.$=u.relationType.DEPENDENCY;break;case 88:this.$=u.relationType.LOLLIPOP;break;case 89:this.$=u.lineType.LINE;break;case 90:this.$=u.lineType.DOTTED_LINE;break;case 91:case 97:this.$=e[s-2],u.setClickEvent(e[s-1],e[s]);break;case 92:case 98:this.$=e[s-3],u.setClickEvent(e[s-2],e[s-1]),u.setTooltip(e[s-2],e[s]);break;case 93:this.$=e[s-2],u.setLink(e[s-1],e[s]);break;case 94:this.$=e[s-3],u.setLink(e[s-2],e[s-1],e[s]);break;case 95:this.$=e[s-3],u.setLink(e[s-2],e[s-1]),u.setTooltip(e[s-2],e[s]);break;case 96:this.$=e[s-4],u.setLink(e[s-3],e[s-2],e[s]),u.setTooltip(e[s-3],e[s-1]);break;case 99:this.$=e[s-3],u.setClickEvent(e[s-2],e[s-1],e[s]);break;case 100:this.$=e[s-4],u.setClickEvent(e[s-3],e[s-2],e[s-1]),u.setTooltip(e[s-3],e[s]);break;case 101:this.$=e[s-3],u.setLink(e[s-2],e[s]);break;case 102:this.$=e[s-4],u.setLink(e[s-3],e[s-1],e[s]);break;case 103:this.$=e[s-4],u.setLink(e[s-3],e[s-1]),u.setTooltip(e[s-3],e[s]);break;case 104:this.$=e[s-5],u.setLink(e[s-4],e[s-2],e[s]),u.setTooltip(e[s-4],e[s-1]);break;case 105:this.$=e[s-2],u.setCssStyle(e[s-1],e[s]);break;case 106:u.setCssClass(e[s-1],e[s]);break;case 107:this.$=[e[s]];break;case 108:e[s-2].push(e[s]),this.$=e[s-2];break;case 110:this.$=e[s-1]+e[s];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:n,43:23,46:l,48:h,51:p,52:m,54:o,56:y,57:M,60:b,62:K,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:D},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(Be,[2,5],{8:[1,48]}),{8:[1,49]},t(f,[2,19],{22:[1,50]}),t(f,[2,21]),t(f,[2,22]),t(f,[2,23]),t(f,[2,24]),t(f,[2,25]),t(f,[2,26]),t(f,[2,27]),t(f,[2,28]),t(f,[2,29]),t(f,[2,30]),{34:[1,51]},{36:[1,52]},t(f,[2,33]),t(f,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:se,69:ie,70:ae,71:re,72:ne,73:_e,74:Se}),{39:[1,65]},t(S,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),t(f,[2,65]),t(f,[2,66]),{16:69,60:b,86:k,100:E,102:T},{16:39,17:40,19:70,60:b,86:k,100:E,102:T,103:D},{16:39,17:40,19:71,60:b,86:k,100:E,102:T,103:D},{16:39,17:40,19:72,60:b,86:k,100:E,102:T,103:D},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:b,86:k,100:E,102:T,103:D},{13:Pe,55:76},{58:78,60:[1,79]},t(f,[2,76]),t(f,[2,77]),t(f,[2,78]),t(f,[2,79]),t(G,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:b,86:k,100:E,102:T,103:D}),t(G,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:b,86:k,100:E,102:T,103:D},{16:39,17:40,19:87,60:b,86:k,100:E,102:T,103:D},t(le,[2,133]),t(le,[2,134]),t(le,[2,135]),t(le,[2,136]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),t(Be,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:i,35:a,37:r,42:n,46:l,48:h,51:p,52:m,54:o,56:y,57:M,60:b,62:K,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:D}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:a,37:r,38:22,42:n,43:23,46:l,48:h,51:p,52:m,54:o,56:y,57:M,60:b,62:K,63:Ce,64:be,65:ke,75:Ee,76:Te,78:ye,82:De,83:Fe,86:k,100:E,102:T,103:D},t(f,[2,20]),t(f,[2,31]),t(f,[2,32]),{13:[1,91],16:39,17:40,19:90,60:b,86:k,100:E,102:T,103:D},{53:92,66:56,67:57,68:se,69:ie,70:ae,71:re,72:ne,73:_e,74:Se},t(f,[2,64]),{67:93,73:_e,74:Se},t(ue,[2,83],{66:94,68:se,69:ie,70:ae,71:re,72:ne}),t(W,[2,84]),t(W,[2,85]),t(W,[2,86]),t(W,[2,87]),t(W,[2,88]),t(Re,[2,89]),t(Re,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:n,43:23,48:h,54:o,56:y},{16:100,60:b,86:k,100:E,102:T},{41:[1,102],45:101,51:oe},{16:104,60:b,86:k,100:E,102:T},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:Q,50:j,59:110,60:X,82:q,84:111,85:112,86:H,87:J,88:Z,89:$,90:ee},{60:[1,122]},{13:Pe,55:123},t(S,[2,72]),t(S,[2,138]),{22:Q,50:j,59:124,60:X,61:[1,125],82:q,84:111,85:112,86:H,87:J,88:Z,89:$,90:ee},t(Ge,[2,74]),{16:39,17:40,19:126,60:b,86:k,100:E,102:T,103:D},t(G,[2,16]),t(G,[2,17]),t(G,[2,18]),{11:127,12:Ue,39:[2,36]},t(ce,[2,9],{16:85,17:86,15:130,18:[1,129],60:b,86:k,100:E,102:T,103:D}),t(ce,[2,10]),t(Ne,[2,55],{11:131,12:Ue}),t(Be,[2,7]),{9:[1,132]},t(he,[2,67]),{16:39,17:40,19:133,60:b,86:k,100:E,102:T,103:D},{13:[1,135],16:39,17:40,19:134,60:b,86:k,100:E,102:T,103:D},t(ue,[2,82],{66:136,68:se,69:ie,70:ae,71:re,72:ne}),t(ue,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:n,43:23,48:h,54:o,56:y},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},t(S,[2,48],{39:[1,142]}),{41:[1,143]},t(S,[2,50]),{41:[2,61],45:144,51:oe},{47:[1,145]},{16:39,17:40,19:146,60:b,86:k,100:E,102:T,103:D},t(f,[2,91],{13:[1,147]}),t(f,[2,93],{13:[1,149],77:[1,148]}),t(f,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},t(f,[2,105],{61:ze}),t(Ye,[2,107],{85:154,22:Q,50:j,60:X,82:q,86:H,87:J,88:Z,89:$,90:ee}),t(x,[2,109]),t(x,[2,111]),t(x,[2,112]),t(x,[2,113]),t(x,[2,114]),t(x,[2,115]),t(x,[2,116]),t(x,[2,117]),t(x,[2,118]),t(x,[2,119]),t(f,[2,106]),t(S,[2,71]),t(f,[2,73],{61:ze}),{60:[1,155]},t(G,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:b,86:k,100:E,102:T,103:D},t(ce,[2,12]),t(Ne,[2,56]),{1:[2,4]},t(he,[2,69]),t(he,[2,68]),{16:39,17:40,19:158,60:b,86:k,100:E,102:T,103:D},t(ue,[2,80]),t(S,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:n,43:23,48:h,54:o,56:y},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:n,43:23,48:h,54:o,56:y},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:n,43:23,48:h,54:o,56:y},{45:163,51:oe},t(S,[2,49]),{41:[2,62]},t(S,[2,52],{39:[1,164]}),t(f,[2,60]),t(f,[2,92]),t(f,[2,94]),t(f,[2,95],{77:[1,165]}),t(f,[2,98]),t(f,[2,99],{13:[1,166]}),t(f,[2,101],{13:[1,168],77:[1,167]}),{22:Q,50:j,60:X,82:q,84:169,85:112,86:H,87:J,88:Z,89:$,90:ee},t(x,[2,110]),t(Ge,[2,75]),{14:[1,170]},t(ce,[2,11]),t(he,[2,70]),t(S,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:oe},t(f,[2,96]),t(f,[2,100]),t(f,[2,102]),t(f,[2,103],{77:[1,174]}),t(Ye,[2,108],{85:154,22:Q,50:j,60:X,82:q,86:H,87:J,88:Z,89:$,90:ee}),t(Ne,[2,8]),t(S,[2,51]),{41:[1,175]},t(S,[2,54]),t(f,[2,104]),t(S,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:g(function(c,d){if(d.recoverable)this.trace(c);else{var A=new Error(c);throw A.hash=d,A}},"parseError"),parse:g(function(c){var d=this,A=[0],u=[],C=[null],e=[],te=this.table,s="",pe=0,Ke=0,Ze=2,We=1,$e=e.slice.call(arguments,1),F=Object.create(this.lexer),V={yy:{}};for(var xe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xe)&&(V.yy[xe]=this.yy[xe]);F.setInput(c,V.yy),V.yy.lexer=F,V.yy.parser=this,typeof F.yylloc>"u"&&(F.yylloc={});var ve=F.yylloc;e.push(ve);var et=F.options&&F.options.ranges;typeof V.yy.parseError=="function"?this.parseError=V.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function tt(N){A.length=A.length-2*N,C.length=C.length-N,e.length=e.length-N}g(tt,"popStack");function Qe(){var N;return N=u.pop()||F.lex()||We,typeof N!="number"&&(N instanceof Array&&(u=N,N=u.pop()),N=d.symbols_[N]||N),N}g(Qe,"lex");for(var _,P,L,Ie,U={},Ae,v,je,fe;;){if(P=A[A.length-1],this.defaultActions[P]?L=this.defaultActions[P]:((_===null||typeof _>"u")&&(_=Qe()),L=te[P]&&te[P][_]),typeof L>"u"||!L.length||!L[0]){var Oe="";fe=[];for(Ae in te[P])this.terminals_[Ae]&&Ae>Ze&&fe.push("'"+this.terminals_[Ae]+"'");F.showPosition?Oe="Parse error on line "+(pe+1)+`:
2
+ `+F.showPosition()+`
3
+ Expecting `+fe.join(", ")+", got '"+(this.terminals_[_]||_)+"'":Oe="Parse error on line "+(pe+1)+": Unexpected "+(_==We?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(Oe,{text:F.match,token:this.terminals_[_]||_,line:F.yylineno,loc:ve,expected:fe})}if(L[0]instanceof Array&&L.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+_);switch(L[0]){case 1:A.push(_),C.push(F.yytext),e.push(F.yylloc),A.push(L[1]),_=null,Ke=F.yyleng,s=F.yytext,pe=F.yylineno,ve=F.yylloc;break;case 2:if(v=this.productions_[L[1]][1],U.$=C[C.length-v],U._$={first_line:e[e.length-(v||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(v||1)].first_column,last_column:e[e.length-1].last_column},et&&(U._$.range=[e[e.length-(v||1)].range[0],e[e.length-1].range[1]]),Ie=this.performAction.apply(U,[s,Ke,pe,V.yy,L[1],C,e].concat($e)),typeof Ie<"u")return Ie;v&&(A=A.slice(0,-1*v*2),C=C.slice(0,-1*v),e=e.slice(0,-1*v)),A.push(this.productions_[L[1]][0]),C.push(U.$),e.push(U._$),je=te[A[A.length-2]][A[A.length-1]],A.push(je);break;case 3:return!0}}return!0},"parse")},Je=function(){var O={EOF:1,parseError:g(function(d,A){if(this.yy.parser)this.yy.parser.parseError(d,A);else throw new Error(d)},"parseError"),setInput:g(function(c,d){return this.yy=d||this.yy||{},this._input=c,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:g(function(){var c=this._input[0];this.yytext+=c,this.yyleng++,this.offset++,this.match+=c,this.matched+=c;var d=c.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),c},"input"),unput:g(function(c){var d=c.length,A=c.split(/(?:\r\n?|\n)/g);this._input=c+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var u=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),A.length-1&&(this.yylineno-=A.length-1);var C=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:A?(A.length===u.length?this.yylloc.first_column:0)+u[u.length-A.length].length-A[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:g(function(){return this._more=!0,this},"more"),reject:g(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:g(function(c){this.unput(this.match.slice(c))},"less"),pastInput:g(function(){var c=this.matched.substr(0,this.matched.length-this.match.length);return(c.length>20?"...":"")+c.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:g(function(){var c=this.match;return c.length<20&&(c+=this._input.substr(0,20-c.length)),(c.substr(0,20)+(c.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:g(function(){var c=this.pastInput(),d=new Array(c.length+1).join("-");return c+this.upcomingInput()+`
5
+ `+d+"^"},"showPosition"),test_match:g(function(c,d){var A,u,C;if(this.options.backtrack_lexer&&(C={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&&(C.yylloc.range=this.yylloc.range.slice(0))),u=c[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+c[0].length},this.yytext+=c[0],this.match+=c[0],this.matches=c,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(c[0].length),this.matched+=c[0],A=this.performAction.call(this,this.yy,this,d,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),A)return A;if(this._backtrack){for(var e in C)this[e]=C[e];return!1}return!1},"test_match"),next:g(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var c,d,A,u;this._more||(this.yytext="",this.match="");for(var C=this._currentRules(),e=0;e<C.length;e++)if(A=this._input.match(this.rules[C[e]]),A&&(!d||A[0].length>d[0].length)){if(d=A,u=e,this.options.backtrack_lexer){if(c=this.test_match(A,C[e]),c!==!1)return c;if(this._backtrack){d=!1;continue}else return!1}else if(!this.options.flex)break}return d?(c=this.test_match(d,C[u]),c!==!1?c:!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:g(function(){var d=this.next();return d||this.lex()},"lex"),begin:g(function(d){this.conditionStack.push(d)},"begin"),popState:g(function(){var d=this.conditionStack.length-1;return d>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:g(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:g(function(d){return d=this.conditionStack.length-1-Math.abs(d||0),d>=0?this.conditionStack[d]:"INITIAL"},"topState"),pushState:g(function(d){this.begin(d)},"pushState"),stateStackSize:g(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:g(function(d,A,u,C){switch(u){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:this.popState(),this.less(0);break;case 34:return this.popState(),41;case 35:return"EOF_IN_STRUCT";case 36:return 8;case 37:break;case 38:return"EDGE_STATE";case 39:return this.begin("class"),48;case 40:return this.popState(),8;case 41:break;case 42:return this.popState(),this.popState(),41;case 43:return this.begin("class-body"),39;case 44:return this.popState(),41;case 45:return"EOF_IN_STRUCT";case 46:return"EDGE_STATE";case 47:return"OPEN_IN_STRUCT";case 48:break;case 49:return"MEMBER";case 50:return 83;case 51:return 75;case 52:return 76;case 53:return 78;case 54:return 54;case 55:return 56;case 56:return 46;case 57:return 47;case 58:return 81;case 59:this.popState();break;case 60:return"GENERICTYPE";case 61:this.begin("generic");break;case 62:this.popState();break;case 63:return"BQUOTE_STR";case 64:this.begin("bqstring");break;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 77;case 69:return 69;case 70:return 69;case 71:return 71;case 72:return 71;case 73:return 70;case 74:return 68;case 75:return 72;case 76:return 73;case 77:return 74;case 78:return 22;case 79:return 44;case 80:return 100;case 81:return 18;case 82:return"PLUS";case 83:return 87;case 84:return 61;case 85:return 89;case 86:return 89;case 87:return 90;case 88:return"EQUALS";case 89:return"EQUALS";case 90:return 60;case 91:return 12;case 92:return 14;case 93:return"PUNCTUATION";case 94:return 86;case 95:return 102;case 96:return 50;case 97:return 50;case 98:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,29,34,35,36,37,38,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},namespace:{rules:[26,29,30,31,32,33,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},"class-body":{rules:[26,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},class:{rules:[26,40,41,42,43,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr:{rules:[9,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_title:{rules:[7,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_args:{rules:[22,23,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_name:{rules:[19,20,21,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},href:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},struct:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},generic:{rules:[26,50,51,52,53,54,55,56,57,58,59,60,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},bqstring:{rules:[26,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},string:{rules:[24,25,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],inclusive:!0}}};return O}();Le.lexer=Je;function de(){this.yy={}}return g(de,"Parser"),de.prototype=Le,Le.Parser=de,new de}();Ve.parser=Ve;var Tt=Ve,Xe=["#","+","~","-",""],Y,qe=(Y=class{constructor(i,a){this.memberType=a,this.visibility="",this.classifier="",this.text="";const r=kt(i,B());this.parseMember(r)}getDisplayDetails(){let i=this.visibility+z(this.id);this.memberType==="method"&&(i+=`(${z(this.parameters.trim())})`,this.returnType&&(i+=" : "+z(this.returnType))),i=i.trim();const a=this.parseClassifier();return{displayText:i,cssStyle:a}}parseMember(i){let a="";if(this.memberType==="method"){const l=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(i);if(l){const h=l[1]?l[1].trim():"";if(Xe.includes(h)&&(this.visibility=h),this.id=l[2],this.parameters=l[3]?l[3].trim():"",a=l[4]?l[4].trim():"",this.returnType=l[5]?l[5].trim():"",a===""){const p=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(p)&&(a=p,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const n=i.length,l=i.substring(0,1),h=i.substring(n-1);Xe.includes(l)&&(this.visibility=l),/[$*]/.exec(h)&&(a=h),this.id=i.substring(this.visibility===""?0:1,a===""?n:n-1)}this.classifier=a,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const r=`${this.visibility?"\\"+this.visibility:""}${z(this.id)}${this.memberType==="method"?`(${z(this.parameters)})${this.returnType?" : "+z(this.returnType):""}`:""}`;this.text=r.replaceAll("<","&lt;").replaceAll(">","&gt;"),this.text.startsWith("\\&lt;")&&(this.text=this.text.replace("\\&lt;","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},g(Y,"ClassMember"),Y),me="classId-",He=0,R=g(t=>I.sanitizeText(t,B()),"sanitizeText"),w,yt=(w=class{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=g(i=>{const a=Et();ge(i).select("svg").selectAll("g").filter(function(){return ge(this).attr("title")!==null}).on("mouseover",l=>{const h=ge(l.currentTarget),p=h.attr("title");if(!p)return;const m=l.currentTarget.getBoundingClientRect();a.transition().duration(200).style("opacity",".9"),a.html(lt.sanitize(p)).style("left",`${window.scrollX+m.left+m.width/2}px`).style("top",`${window.scrollY+m.bottom+4}px`),h.classed("hover",!0)}).on("mouseout",l=>{a.transition().duration(500).style("opacity",0),ge(l.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=ut,this.getAccTitle=ot,this.setAccDescription=ct,this.getAccDescription=ht,this.setDiagramTitle=dt,this.getDiagramTitle=pt,this.getConfig=g(()=>B().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.popNamespace=this.popNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}splitClassNameAndType(i){const a=I.sanitizeText(i,B());let r="",n=a;if(a.indexOf("~")>0){const l=a.split("~");n=R(l[0]),r=R(l[1])}return{className:n,type:r}}setClassLabel(i,a){const r=I.sanitizeText(i,B());a&&(a=R(a));const{className:n}=this.splitClassNameAndType(r);this.classes.get(n).label=a,this.classes.get(n).text=`${a}${this.classes.get(n).type?`<${this.classes.get(n).type}>`:""}`}addClass(i){const a=I.sanitizeText(i,B()),{className:r,type:n}=this.splitClassNameAndType(a);if(this.classes.has(r))return;const l=I.sanitizeText(r,B());this.classes.set(l,{id:l,type:n,label:l,text:`${l}${n?`&lt;${n}&gt;`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:me+l+"-"+He}),He++}addInterface(i,a){const r={id:`interface${this.interfaces.length}`,label:i,classId:a};this.interfaces.push(r)}setDiagramId(i){this.diagramId=i}lookUpDomId(i){const a=I.sanitizeText(i,B());if(this.classes.has(a)){const r=this.classes.get(a).domId;return this.diagramId?`${this.diagramId}-${r}`:r}throw new Error("Class not found: "+a)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.direction="TB",At()}getClass(i){return this.classes.get(i)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(i){const a=typeof i=="number"?`note${i}`:i;return this.notes.get(a)}getNotes(){return this.notes}addRelation(i){we.debug("Adding relation: "+JSON.stringify(i));const a=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];i.relation.type1===this.relationType.LOLLIPOP&&!a.includes(i.relation.type2)?(this.addClass(i.id2),this.addInterface(i.id1,i.id2),i.id1=`interface${this.interfaces.length-1}`):i.relation.type2===this.relationType.LOLLIPOP&&!a.includes(i.relation.type1)?(this.addClass(i.id1),this.addInterface(i.id2,i.id1),i.id2=`interface${this.interfaces.length-1}`):(this.addClass(i.id1),this.addClass(i.id2)),i.id1=this.splitClassNameAndType(i.id1).className,i.id2=this.splitClassNameAndType(i.id2).className,i.relationTitle1=I.sanitizeText(i.relationTitle1.trim(),B()),i.relationTitle2=I.sanitizeText(i.relationTitle2.trim(),B()),this.relations.push(i)}addAnnotation(i,a){const r=this.splitClassNameAndType(i).className;this.classes.get(r).annotations.push(a)}addMember(i,a){this.addClass(i);const r=this.splitClassNameAndType(i).className,n=this.classes.get(r);if(typeof a=="string"){const l=a.trim();l.startsWith("<<")&&l.endsWith(">>")?n.annotations.push(R(l.substring(2,l.length-2))):l.indexOf(")")>0?n.methods.push(new qe(l,"method")):l&&n.members.push(new qe(l,"attribute"))}}addMembers(i,a){Array.isArray(a)&&(a.reverse(),a.forEach(r=>this.addMember(i,r)))}addNote(i,a){const r=this.notes.size,n={id:`note${r}`,class:a,text:i,index:r};return this.notes.set(n.id,n),n.id}cleanupLabel(i){return i.startsWith(":")&&(i=i.substring(1)),R(i.trim())}setCssClass(i,a){i.split(",").forEach(r=>{let n=r;/\d/.exec(r[0])&&(n=me+n),n=this.splitClassNameAndType(n).className;const l=this.classes.get(n);l&&(l.cssClasses+=" "+a)})}defineClass(i,a){for(const r of i){let n=this.styleClasses.get(r);n===void 0&&(n={id:r,styles:[],textStyles:[]},this.styleClasses.set(r,n)),a&&a.forEach(l=>{if(/color/.exec(l)){const h=l.replace("fill","bgFill");n.textStyles.push(h)}n.styles.push(l)}),this.classes.forEach(l=>{l.cssClasses.includes(r)&&l.styles.push(...a.flatMap(h=>h.split(",")))})}}setTooltip(i,a){i.split(",").forEach(r=>{if(a!==void 0){const n=this.splitClassNameAndType(r).className,l=this.classes.get(n);l&&(l.tooltip=R(a))}})}getTooltip(i,a){return a&&this.namespaces.has(a)?this.namespaces.get(a).classes.get(i).tooltip:this.classes.get(i).tooltip}setLink(i,a,r){const n=B();i.split(",").forEach(l=>{let h=l;/\d/.exec(l[0])&&(h=me+h),h=this.splitClassNameAndType(h).className;const p=this.classes.get(h);p&&(p.link=Me.formatUrl(a,n),n.securityLevel==="sandbox"?p.linkTarget="_top":typeof r=="string"?p.linkTarget=R(r):p.linkTarget="_blank")}),this.setCssClass(i,"clickable")}setClickEvent(i,a,r){i.split(",").forEach(n=>{this.setClickFunc(n,a,r);const l=this.splitClassNameAndType(n).className,h=this.classes.get(l);h&&(h.haveCallback=!0)}),this.setCssClass(i,"clickable")}setClickFunc(i,a,r){const n=I.sanitizeText(i,B());if(B().securityLevel!=="loose"||a===void 0)return;const h=this.splitClassNameAndType(n).className;if(this.classes.has(h)){let p=[];if(typeof r=="string"){p=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let m=0;m<p.length;m++){let o=p[m].trim();o.startsWith('"')&&o.endsWith('"')&&(o=o.substr(1,o.length-2)),p[m]=o}}p.length===0&&p.push(h),this.functions.push(()=>{const m=this.lookUpDomId(h),o=document.querySelector(`[id="${m}"]`);o!==null&&o.addEventListener("click",()=>{Me.runFunc(a,...p)},!1)})}}bindFunctions(i){this.functions.forEach(a=>{a(i)})}escapeHtml(i){return i.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}getDirection(){return this.direction}setDirection(i){this.direction=i}static resolveQualifiedId(i,a){const r=a.at(-1);return r?`${r}.${i}`:i}static getAncestorIds(i){const a=i.split("."),r=new Array(a.length);r[0]=a[0];for(let n=1;n<a.length;n++)r[n]=`${r[n-1]}.${a[n]}`;return r}createNamespaceNode(i,a,r,n=!1){return{id:i,label:a,classes:new Map,notes:new Map,children:new Map,domId:me+i+"-"+this.namespaceCounter++,parent:r,explicit:n}}linkParentChild(i,a){const r=this.namespaces.get(i),n=this.namespaces.get(a);!r||!n||(r.children.has(a)||r.children.set(a,n),n.parent??(n.parent=i))}addNamespace(i,a){const r=w.resolveQualifiedId(i,this.namespaceStack);if(this.namespaceStack.push(r),this.namespaces.has(r)){const h=this.namespaces.get(r);return h.explicit=!0,a&&(h.label=a),r}const n=r.split("."),l=w.getAncestorIds(r);for(let h=0;h<l.length;h++){const p=l[h],m=h>0?l[h-1]:void 0,o=h===l.length-1,y=o&&a?a:n[h];this.namespaces.has(p)?o&&(this.namespaces.get(p).explicit=!0):this.namespaces.set(p,this.createNamespaceNode(p,y,m,o)),m&&this.linkParentChild(m,p)}return r}popNamespace(){this.namespaceStack.pop()}getNamespace(i){return this.namespaces.get(i)}getNamespaces(){return this.namespaces}addClassesToNamespace(i,a,r){if(this.namespaces.has(i)){for(const n of a){const{className:l}=this.splitClassNameAndType(n),h=this.getClass(l);h.parent=i,this.namespaces.get(i).classes.set(l,h)}for(const n of r){const l=this.getNote(n);l.parent=i,this.namespaces.get(i).notes.set(n,l)}}}setCssStyle(i,a){const r=this.classes.get(i);if(!(!a||!r))for(const n of a)n.includes(",")?r.styles.push(...n.split(",")):r.styles.push(n)}getArrowMarker(i){let a;switch(i){case 0:a="aggregation";break;case 1:a="extension";break;case 2:a="composition";break;case 3:a="dependency";break;case 4:a="lollipop";break;default:a="none"}return a}resolveExplicitAncestor(i){let a=i;for(;a;){const r=this.namespaces.get(a);if(!r)return;if(r.explicit)return a;a=r.parent}}getData(){var p,m;const i=[],a=[],r=B(),n=((p=r.class)==null?void 0:p.hierarchicalNamespaces)??!0;for(const o of this.namespaces.values()){if(!n&&!o.explicit)continue;const y={id:o.id,label:n?o.label:o.id,isGroup:!0,padding:r.class.padding??16,shape:"rect",cssStyles:[],look:r.look,parentId:n?o.parent:void 0};i.push(y)}let l=0;for(const o of this.classes.values()){const y=n?o.parent:this.resolveExplicitAncestor(o.parent),M={...o,type:void 0,isGroup:!1,parentId:y,look:r.look,colorIndex:l++};i.push(M)}for(const o of this.notes.values()){const y=n?o.parent:this.resolveExplicitAncestor(o.parent),M={id:o.id,label:o.text,isGroup:!1,shape:"note",padding:r.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${r.themeVariables.noteBkgColor}`,`stroke: ${r.themeVariables.noteBorderColor}`],look:r.look,parentId:y,labelType:"markdown"};i.push(M);const b=(m=this.classes.get(o.class))==null?void 0:m.id;if(b){const K={id:`edgeNote${o.index}`,start:o.id,end:b,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:r.look};a.push(K)}}for(const o of this.interfaces){const y={id:o.id,label:o.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:r.look};i.push(y)}let h=0;for(const o of this.relations){h++;const y={id:ft(o.id1,o.id2,{prefix:"id",counter:h}),start:o.id1,end:o.id2,type:"normal",label:o.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(o.relation.type1),arrowTypeEnd:this.getArrowMarker(o.relation.type2),startLabelRight:o.relationTitle1==="none"?"":o.relationTitle1,endLabelLeft:o.relationTitle2==="none"?"":o.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:o.style||"",pattern:o.relation.lineType==1?"dashed":"solid",look:r.look,labelType:"markdown"};a.push(y)}return{nodes:i,edges:a,other:{},config:r,direction:this.getDirection()}}},g(w,"ClassDB"),w),Dt=g(t=>{const{theme:i,bkgColorArray:a,borderColorArray:r}=t;if(!gt(i,r))return"";const n=mt(t.look),l=Ct(a);let h="";for(let p=0;p<bt(t.THEME_COLOR_LIMIT,r);p++){const m=r[p%r.length];h+=`
7
+
8
+ [data-look="${n}"][data-color-id="color-${p}"].node .outer-path path {
9
+ stroke: ${m};
10
+ ${l?`fill: ${a[p%a.length]};`:""}
11
+ }
12
+
13
+ [data-look="${n}"][data-color-id="color-${p}"].node .divider path {
14
+ stroke: ${m};
15
+ }
16
+ `}return h},"genColor"),Ft=g(t=>`${Dt(t)}
17
+ g.classGroup text {
18
+ fill: ${t.nodeBorder||t.classText};
19
+ stroke: none;
20
+ font-family: ${t.fontFamily};
21
+ font-size: 10px;
22
+
23
+ .title {
24
+ font-weight: bolder;
25
+ }
26
+
27
+ }
28
+
29
+ .cluster-label text {
30
+ fill: ${t.titleColor};
31
+ }
32
+ .cluster-label span {
33
+ color: ${t.titleColor};
34
+ }
35
+ .cluster-label span p {
36
+ background-color: transparent;
37
+ }
38
+
39
+ .cluster rect {
40
+ fill: ${t.clusterBkg};
41
+ stroke: ${t.clusterBorder};
42
+ stroke-width: 1px;
43
+ }
44
+
45
+ .cluster text {
46
+ fill: ${t.titleColor};
47
+ }
48
+
49
+ .cluster span {
50
+ color: ${t.titleColor};
51
+ }
52
+
53
+ .nodeLabel, .edgeLabel {
54
+ color: ${t.classText};
55
+ }
56
+
57
+ .noteLabel .nodeLabel, .noteLabel .edgeLabel {
58
+ color: ${t.noteTextColor};
59
+ }
60
+ .edgeLabel .label rect {
61
+ fill: ${t.mainBkg};
62
+ }
63
+ .label text {
64
+ fill: ${t.classText};
65
+ }
66
+
67
+ .labelBkg {
68
+ background: ${t.mainBkg};
69
+ }
70
+ .edgeLabel .label span {
71
+ background: ${t.mainBkg};
72
+ }
73
+
74
+ .classTitle {
75
+ font-weight: bolder;
76
+ }
77
+ .node rect,
78
+ .node circle,
79
+ .node ellipse,
80
+ .node polygon,
81
+ .node path {
82
+ fill: ${t.mainBkg};
83
+ stroke: ${t.nodeBorder};
84
+ stroke-width: ${t.strokeWidth};
85
+ }
86
+
87
+
88
+ .divider {
89
+ stroke: ${t.nodeBorder};
90
+ stroke-width: 1;
91
+ }
92
+
93
+ g.clickable {
94
+ cursor: pointer;
95
+ }
96
+
97
+ g.classGroup rect {
98
+ fill: ${t.mainBkg};
99
+ stroke: ${t.nodeBorder};
100
+ }
101
+
102
+ g.classGroup line {
103
+ stroke: ${t.nodeBorder};
104
+ stroke-width: 1;
105
+ }
106
+
107
+ .classLabel .box {
108
+ stroke: none;
109
+ stroke-width: 0;
110
+ fill: ${t.mainBkg};
111
+ opacity: 0.5;
112
+ }
113
+
114
+ .classLabel .label {
115
+ fill: ${t.nodeBorder};
116
+ font-size: 10px;
117
+ }
118
+
119
+ .relation {
120
+ stroke: ${t.lineColor};
121
+ stroke-width: ${t.strokeWidth};
122
+ fill: none;
123
+ }
124
+
125
+ .dashed-line{
126
+ stroke-dasharray: 3;
127
+ }
128
+
129
+ .dotted-line{
130
+ stroke-dasharray: 1 2;
131
+ }
132
+
133
+ [id$="-compositionStart"], .composition {
134
+ fill: ${t.lineColor} !important;
135
+ stroke: ${t.lineColor} !important;
136
+ stroke-width: 1;
137
+ }
138
+
139
+ [id$="-compositionEnd"], .composition {
140
+ fill: ${t.lineColor} !important;
141
+ stroke: ${t.lineColor} !important;
142
+ stroke-width: 1;
143
+ }
144
+
145
+ [id$="-dependencyStart"], .dependency {
146
+ fill: ${t.lineColor} !important;
147
+ stroke: ${t.lineColor} !important;
148
+ stroke-width: 1;
149
+ }
150
+
151
+ [id$="-dependencyEnd"], .dependency {
152
+ fill: ${t.lineColor} !important;
153
+ stroke: ${t.lineColor} !important;
154
+ stroke-width: 1;
155
+ }
156
+
157
+ [id$="-extensionStart"], .extension {
158
+ fill: transparent !important;
159
+ stroke: ${t.lineColor} !important;
160
+ stroke-width: 1;
161
+ }
162
+
163
+ [id$="-extensionEnd"], .extension {
164
+ fill: transparent !important;
165
+ stroke: ${t.lineColor} !important;
166
+ stroke-width: 1;
167
+ }
168
+
169
+ [id$="-aggregationStart"], .aggregation {
170
+ fill: transparent !important;
171
+ stroke: ${t.lineColor} !important;
172
+ stroke-width: 1;
173
+ }
174
+
175
+ [id$="-aggregationEnd"], .aggregation {
176
+ fill: transparent !important;
177
+ stroke: ${t.lineColor} !important;
178
+ stroke-width: 1;
179
+ }
180
+
181
+ [id$="-lollipopStart"], .lollipop {
182
+ fill: ${t.mainBkg} !important;
183
+ stroke: ${t.lineColor} !important;
184
+ stroke-width: 1;
185
+ }
186
+
187
+ [id$="-lollipopEnd"], .lollipop {
188
+ fill: ${t.mainBkg} !important;
189
+ stroke: ${t.lineColor} !important;
190
+ stroke-width: 1;
191
+ }
192
+
193
+ .edgeTerminals {
194
+ font-size: 11px;
195
+ line-height: initial;
196
+ }
197
+
198
+ .classTitleText {
199
+ text-anchor: middle;
200
+ font-size: 18px;
201
+ fill: ${t.textColor};
202
+ }
203
+
204
+ .edgeLabel[data-look="neo"] {
205
+ background-color: ${t.edgeLabelBackground};
206
+ p {
207
+ background-color: ${t.edgeLabelBackground};
208
+ }
209
+ rect {
210
+ opacity: 0.5;
211
+ background-color: ${t.edgeLabelBackground};
212
+ fill: ${t.edgeLabelBackground};
213
+ }
214
+ text-align: center;
215
+ }
216
+ ${st()}
217
+ `,"getStyles"),Bt=Ft,_t=g((t,i="TB")=>{if(!t.doc)return i;let a=i;for(const r of t.doc)r.stmt==="dir"&&(a=r.value);return a},"getDir"),St=g(function(t,i){return i.db.getClasses()},"getClasses"),Nt=g(async function(t,i,a,r){we.info("REF0:"),we.info("Drawing class diagram (v3)",i);const{securityLevel:n,state:l,layout:h}=B();r.db.setDiagramId(i);const p=r.db.getData(),m=it(i,n);p.type=r.type,p.layoutAlgorithm=rt(h),p.nodeSpacing=(l==null?void 0:l.nodeSpacing)||50,p.rankSpacing=(l==null?void 0:l.rankSpacing)||50,p.markers=["aggregation","extension","composition","dependency","lollipop"],p.diagramId=i,await nt(p,m);const o=8;Me.insertTitle(m,"classDiagramTitleText",(l==null?void 0:l.titleTopMargin)??25,r.db.getDiagramTitle()),at(m,o,"classDiagram",(l==null?void 0:l.useMaxWidth)??!0)},"draw"),Lt={getClasses:St,draw:Nt,getDir:_t},Pt={parser:Tt,get db(){return new yt},renderer:Lt,styles:Bt,init:g(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{Pt as diagram};
@@ -0,0 +1 @@
1
+ import{j as a,r as u,a as L,N as $}from"./product-name-CSNW6d7s.js";const R=[{key:"5m",label:"5 min"},{key:"30m",label:"30 min"},{key:"today",label:"Today"}];function T({ready:e=0}={}){return e>0?{kind:"ready",text:String(e),label:`${e} waiting`}:null}function B({width:e,height:i,glass:n,radius:s},c){const r=Number.isFinite(c)&&c>0?c:1;return{width:e*r,height:i*r,glass:n&&{x:n.x*r,y:n.y*r,width:n.width*r,height:n.height*r},radius:Number.isFinite(s)?s*r:s}}const F=["tl","tr","bl","br"];function C(e){const i=Number.isFinite(e)?e:1;return q(Math.round((1+(i-1)*.3)*1e3)/1e3,1,1.25)}const g={box:10,dot:2.7,gap:.95};function I(e,i=1){const n=Number.isFinite(i)&&i>0?i:1,s=(Number.isFinite(e)&&e>0?e:g.box)*n,c={dot:s*g.dot/g.box,gap:s*g.gap/g.box},r=[];for(const o of[Math.floor(c.dot),Math.ceil(c.dot)])for(const l of[Math.floor(c.gap),Math.ceil(c.gap)]){const j=Math.max(2,o),k=Math.max(1,Math.min(l,j-1));r.push({dot:j,gap:k,side:3*j+2*k})}const h=r.filter(o=>o.dot/o.gap>=2&&o.dot/o.gap<=4),m=(h.length?h:r).sort((o,l)=>Math.abs(o.side-s)-Math.abs(l.side-s)||Math.abs(o.dot/o.gap-g.dot/g.gap)-Math.abs(l.dot/l.gap-g.dot/g.gap)),{dot:d,gap:p,side:y}=m[0],f=d+p,w=[0,1,2].map(o=>d/2+o*f);return{dot:d,gap:p,pitch:f,side:y,size:y/n,dots:w.flatMap(o=>w.map(l=>({cx:l,cy:o})))}}function z(e,i){return[...e??[]].sort((n,s)=>(Number.isFinite(s.since)?s.since:i)-(Number.isFinite(n.since)?n.since:i))}function D(e,i){if(!Number.isFinite(e))return"";const n=Math.floor((i-e)/6e4);return n<1?"now":n<60?`${n} min`:`${Math.floor(n/60)} h`}function O(e,i,n=3){const s=z(e,i),c=s.slice(0,n).map(r=>({...r,waited:D(r.since,i)}));return{lines:c,more:Math.max(0,s.length-c.length)}}const q=(e,i,n)=>Math.max(i,Math.min(n,e)),A=[0,1,2,7,null,3,6,5,4];function U(e,i){const n=i.kind==="ready";return e?n&&(e.kind!=="ready"||i.count>e.count)?"pop":n?"none":e.kind!==i.kind||e.count!==i.count?"stir":"none":n?"pop":"stir"}function M({box:e,lit:i,move:n,beat:s}){const c=`${i?" is-waiting":""}${n==="stir"&&!i?" is-turning":""}${n==="pop"?" is-popping":""}`,r=I(e,G()),h=r.dots;return a.jsx("svg",{className:`ct-lat${c}`,viewBox:`0 0 ${r.side} ${r.side}`,style:{width:`${r.size}px`,height:`${r.size}px`},"aria-hidden":"true",children:A.map((m,d)=>a.jsx("circle",{cx:h[d].cx,cy:h[d].cy,r:r.dot/2,className:m===null?"ct-heart":void 0,style:m===null?void 0:{"--p":m,"--r":d}},d))},s)}function G(){const[e,i]=u.useState(()=>typeof window>"u"?1:window.devicePixelRatio||1);return u.useEffect(()=>{let n=()=>{};const s=()=>{const c=window.devicePixelRatio||1;i(c);const r=window.matchMedia(`(resolution: ${c}dppx)`),h=()=>{n(),s()};r.addEventListener("change",h),n=()=>r.removeEventListener("change",h)};return s(),()=>n()},[]),e}const t=window.cornerTag??null,v=new URLSearchParams(location.search),N=v.get("part")==="card"?"card":"tag";function H(){const e=v.get("demo");if(!e)return null;const i=Date.now(),n=Number(v.get("n")??2),s=["Pricing page","Login redirect","Onboarding emails","A much longer thread title that will not fit on one line","Settings page","Competitor research","Release notes"],c=e.startsWith("ready")?Array.from({length:n},(m,d)=>({id:`demo-${d}`,title:s[d%s.length],says:d===1?"needs a yes":"is ready for you",since:i-[2,9,25,40,70,95,130][d%7]*6e4})):[],r=Number(v.get("s")??1.1),h=Number(v.get("before")??0);return{state:{ready:c,before:h,working:e.startsWith("ready")?20-n:20,now:i,scale:r},open:e.endsWith("-open")}}const x=H();document.documentElement.classList.toggle("ct-demo",!!x);function W(){const[e,i]=u.useState((x==null?void 0:x.state)??{ready:[],working:0,now:Date.now()});return u.useEffect(()=>t==null?void 0:t.onState(n=>i(n)),[]),u.useEffect(()=>{if(!e.scale)return;const n=document.documentElement;n.style.setProperty("--ct-s",String(e.scale)),n.style.setProperty("--ct-cs",String(C(e.scale)))},[e.scale]),u.useEffect(()=>{document.documentElement.classList.toggle("ct-native",!!e.glass)},[e.glass]),u.useEffect(()=>{var n;return(n=t==null?void 0:t.onTone)==null?void 0:n.call(t,s=>{const c=document.documentElement;c.classList.toggle("ct-tone-dark",s==="dark"),c.classList.toggle("ct-tone-light",s==="light")})},[]),e}function X({says:e,scale:i}){const n=u.useRef(null),[s,c]=u.useState({move:"none",n:0});return u.useEffect(()=>{const r=U(n.current,e);n.current=e,r!=="none"&&c(h=>({move:r,n:h.n+1}))},[e.kind,e.count]),a.jsx(M,{box:10*i,lit:e.kind==="ready",move:s.move,beat:s.n})}function S(e,i,n){u.useLayoutEffect(()=>{var d;const s=e.current;if(!s||!t)return;const c=()=>{var l;const p=s.getBoundingClientRect(),y=s.querySelector(".ct-tag")??s,f=y.getBoundingClientRect(),w=parseFloat(getComputedStyle(y).borderTopLeftRadius),o=B({width:p.width,height:p.height,glass:{x:f.x-p.x,y:f.y-p.y,width:f.width,height:f.height},radius:Number.isFinite(w)?w:void 0},(l=t.zoom)==null?void 0:l.call(t));t.size(i,o.width,o.height,o.glass,o.radius)};c();const r=new ResizeObserver(c);r.observe(s);const h=()=>{document.visibilityState==="visible"&&c()};document.addEventListener("visibilitychange",h);const m=(d=t.onMeasure)==null?void 0:d.call(t,c);return()=>{r.disconnect(),document.removeEventListener("visibilitychange",h),m==null||m()}},[n])}function E({state:e,forceOpen:i=!1}){const[n,s]=u.useState(i),[c,r]=u.useState(!1),h=u.useRef(null),m=u.useRef(!1),d={ready:e.ready.length},p=T(d),y=p==null?void 0:p.text;if(u.useEffect(()=>t==null?void 0:t.onOpen(o=>s(!!o)),[]),u.useEffect(()=>t==null?void 0:t.onDragging(o=>r(!!o)),[]),u.useEffect(()=>t==null?void 0:t.onReset(()=>{m.current=!1,r(!1),s(!1)}),[]),u.useEffect(()=>{const o=l=>{l.key==="Escape"&&n&&(t==null||t.toggle())};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[n]),S(h,"tag",y),!p)return null;const f=o=>{m.current&&(m.current=!1,t==null||t.release(o))},w=o=>{const l=document.elementFromPoint(o.clientX,o.clientY);return!!(l!=null&&l.closest(".ct-tag, .ct-grip"))};return a.jsxs("div",{ref:h,className:`ct-frame${x?" is-demo":""}`,onPointerMove:o=>t==null?void 0:t.clickable(w(o)),onPointerLeave:()=>t==null?void 0:t.clickable(!1),children:[a.jsxs("div",{role:"button","aria-label":`${p.label}. Click to open ${$}, drag to move.`,"aria-expanded":n,className:`ct-glass ct-tag ${p.kind}${n?" is-open":""}${c?" is-dragging":""}`,onPointerEnter:()=>t==null?void 0:t.hover("tag",!0),onPointerLeave:()=>{m.current||t==null||t.hover("tag",!1)},onPointerDown:o=>{o.button===0&&(o.currentTarget.setPointerCapture(o.pointerId),m.current=!0,t==null||t.press(o.screenX,o.screenY))},onPointerUp:o=>{f(!1),o.currentTarget.hasPointerCapture(o.pointerId)&&o.currentTarget.releasePointerCapture(o.pointerId)},onPointerCancel:()=>f(!0),onLostPointerCapture:()=>f(!0),onContextMenu:o=>{o.preventDefault(),t==null||t.menu()},children:[a.jsx(X,{scale:e.scale??1,says:{kind:p.kind,count:d.ready}}),a.jsx("span",{className:"ct-count",children:y})]}),F.map(o=>a.jsx("span",{className:`ct-grip ct-grip-${o}`,"data-corner":o,"aria-hidden":!0,title:"Drag to resize",onPointerDown:l=>{l.button===0&&(l.stopPropagation(),l.currentTarget.setPointerCapture(l.pointerId),m.current=!0,t==null||t.press(l.screenX,l.screenY,!0,o))},onPointerUp:l=>{l.stopPropagation(),f(!1),l.currentTarget.hasPointerCapture(l.pointerId)&&l.currentTarget.releasePointerCapture(l.pointerId)},onPointerCancel:()=>f(!0),onLostPointerCapture:()=>f(!0)},o))]})}function Y({state:e}){const{lines:i,more:n}=O(e.ready,e.now);return a.jsxs(a.Fragment,{children:[i.length>0&&a.jsx("div",{className:"ct-quiet ct-static ct-head",children:"New since you left"}),i.map(s=>a.jsxs("div",{className:"ct-row",children:[a.jsxs("button",{className:"ct-line",onClick:()=>t==null?void 0:t.go(s.open===void 0?s.id:s.open),children:[a.jsx("span",{className:"ct-pip"}),a.jsx("span",{className:"ct-name",children:s.title}),a.jsx("span",{className:"ct-says",children:s.says}),a.jsx("span",{className:"ct-when",children:s.waited})]}),a.jsx("button",{className:"ct-x","aria-label":`Clear ${s.title} from the tray`,title:"Clear from the tray",onClick:()=>t==null?void 0:t.dismiss(s.id),children:a.jsx("svg",{viewBox:"0 0 10 10","aria-hidden":!0,children:a.jsx("path",{d:"M2.6 2.6l4.8 4.8M7.4 2.6l-4.8 4.8"})})})]},s.id)),n>0&&a.jsxs("button",{className:"ct-line ct-quiet",onClick:()=>t==null?void 0:t.go(null),children:[a.jsx("span",{className:"ct-mark-sp"}),"and ",n," more"]}),(e.before??0)>0&&a.jsxs("button",{className:"ct-line ct-quiet",onClick:()=>t==null?void 0:t.go(null),children:[a.jsx("span",{className:"ct-mark-sp"}),"and ",e.before," from before"]}),!i.length&&a.jsx("div",{className:"ct-quiet ct-static",children:"Nothing is ready for you yet"}),e.working>0&&a.jsxs("button",{className:"ct-line ct-quiet",onClick:()=>t==null?void 0:t.go(null),children:[a.jsx(M,{box:10*C(e.scale??1),lit:!1,move:"none",beat:0}),i.length?`${e.working} others working`:`${e.working} working`]}),a.jsxs("div",{className:"ct-foot",children:[a.jsx("span",{children:"Hide for"}),R.map(s=>a.jsx("button",{onClick:()=>t==null?void 0:t.hide(s.key),children:s.label},s.key)),a.jsxs("span",{className:"ct-size",children:[a.jsx("span",{className:"ct-size-name",children:"Size"}),a.jsxs("span",{className:"ct-steps",children:[a.jsx("button",{"aria-label":"Smaller",title:"Smaller",onClick:()=>t==null?void 0:t.resize(-1),children:a.jsx("svg",{viewBox:"0 0 10 10","aria-hidden":!0,children:a.jsx("path",{d:"M2.4 5h5.2"})})}),a.jsx("button",{"aria-label":"Bigger",title:"Bigger",onClick:()=>t==null?void 0:t.resize(1),children:a.jsx("svg",{viewBox:"0 0 10 10","aria-hidden":!0,children:a.jsx("path",{d:"M2.4 5h5.2M5 2.4v5.2"})})})]})]}),a.jsx("span",{className:"ct-sep"}),a.jsx("button",{className:"ct-off",onClick:()=>t==null?void 0:t.settings(),children:"Turn off…"})]})]})}function P({state:e}){const i=u.useRef(null);return S(i,"card",null),u.useEffect(()=>{const n=s=>{s.key==="Escape"&&(t==null||t.toggle())};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[]),a.jsx("div",{ref:i,className:"ct-glass ct-card",style:x?{position:"relative"}:void 0,onPointerEnter:()=>t==null?void 0:t.hover("card",!0),onPointerLeave:()=>t==null?void 0:t.hover("card",!1),children:a.jsx(Y,{state:e})})}function _(){const e=W();return u.useEffect(()=>{t==null||t.ready(N)},[]),x?a.jsxs("div",{style:{position:"absolute",right:16,bottom:16,display:"flex",flexDirection:"column",alignItems:"flex-end",gap:8},children:[x.open&&a.jsx(P,{state:e}),a.jsx(E,{state:e,forceOpen:x.open})]}):N==="card"?a.jsx(P,{state:e}):a.jsx(E,{state:e})}L(document.getElementById("root")).render(a.jsx(_,{}));
@@ -0,0 +1 @@
1
+ :root{--ct-s: 1.1;--ct-cs: 1.03;--ct-ink: #1d1d1f;--ct-dim: rgba(29, 29, 31, .74);--ct-faint: rgba(29, 29, 31, .5);--ct-rule: rgba(29, 29, 31, .12);--ct-press: rgba(29, 29, 31, .07);--ct-tint: linear-gradient(180deg, rgba(252, 252, 253, .76), rgba(238, 240, 245, .72));--ct-tint-hover: linear-gradient(180deg, rgba(255, 255, 255, .93), rgba(246, 247, 251, .9));--ct-line: rgba(16, 18, 24, .16);--ct-line-bottom: rgba(16, 18, 24, .23);--ct-edge: inset 0 1px 0 rgba(255, 255, 255, .72);--ct-lat: #ec8d55;--ct-lat-rest: .66;--ct-lat-peak: .92}html,body,#root{margin:0;padding:0;background:transparent;overflow:hidden;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,DejaVu Sans,sans-serif;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;cursor:default;color:var(--ct-ink)}.ct-frame{position:absolute;left:0;top:0;display:inline-block;padding:calc(10px * var(--ct-s));box-sizing:content-box}.ct-frame.is-demo,.ct-tag{position:relative}.ct-glass{color:var(--ct-ink);background:var(--ct-tint);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);border:1px solid var(--ct-line);border-bottom-color:var(--ct-line-bottom);box-shadow:var(--ct-edge)}.ct-native .ct-glass,.ct-native .ct-tag:hover,.ct-native .ct-tag.is-open{background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.ct-native .ct-glass:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;padding:1.5px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;background:linear-gradient(135deg,#fff0,#ffffff52,#fff9 66%,#fff0)}.ct-native.ct-tone-light .ct-glass:after{background:linear-gradient(135deg,#0000,#00000014,#00000029 66%,#0000)}.ct-native.ct-tone-dark{--ct-ink: #f5f5f7;--ct-dim: rgba(245, 245, 247, .86);--ct-faint: rgba(245, 245, 247, .58);--ct-rule: rgba(255, 255, 255, .16);--ct-press: rgba(255, 255, 255, .1)}.ct-tag{height:calc(28px * var(--ct-s));padding:0 calc(10px * var(--ct-s));border-radius:calc(6px * var(--ct-s));box-sizing:border-box;display:flex;align-items:center;gap:calc(7px * var(--ct-s));font-size:calc(13px * var(--ct-s));white-space:nowrap;transition:background .12s ease}.ct-tag .ct-count{font-weight:500;color:var(--ct-dim);font-variant-numeric:tabular-nums}.ct-tag:hover,.ct-tag.is-open{background:var(--ct-tint-hover);box-shadow:var(--ct-edge);border-color:var(--ct-line);border-bottom-color:var(--ct-line-bottom)}.ct-tag.is-dragging{cursor:grabbing}.ct-grip{position:absolute;width:calc(20px * var(--ct-s));height:calc(20px * var(--ct-s))}.ct-grip-tl{left:calc(2.4px * var(--ct-s));top:calc(2.4px * var(--ct-s));cursor:nwse-resize}.ct-grip-tr{right:calc(2.4px * var(--ct-s));top:calc(2.4px * var(--ct-s));cursor:nesw-resize}.ct-grip-bl{left:calc(2.4px * var(--ct-s));bottom:calc(2.4px * var(--ct-s));cursor:nesw-resize}.ct-grip-br{right:calc(2.4px * var(--ct-s));bottom:calc(2.4px * var(--ct-s));cursor:nwse-resize}.ct-lat{flex:none;display:block;overflow:visible;transform-origin:50% 50%}.ct-lat circle{fill:var(--ct-lat);opacity:var(--ct-lat-rest);transform-box:fill-box;transform-origin:50% 50%}.ct-lat .ct-heart{opacity:1;animation:none}.ct-lat.is-waiting circle{opacity:1}@keyframes ct-orbit{0%,62%,to{opacity:var(--ct-lat-rest)}18%,42%{opacity:var(--ct-lat-peak)}}.ct-lat.is-turning circle:not(.ct-heart){animation:ct-orbit 1856ms cubic-bezier(.77,0,.175,1) 2 both;animation-delay:calc(var(--p) * 232ms)}@keyframes ct-pop{0%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes ct-land{0%{transform:scale(.45)}to{transform:scale(1)}}.ct-lat.is-popping{animation:ct-pop .42s cubic-bezier(.18,1.4,.4,1) both}.ct-lat.is-popping circle{animation:ct-land .38s cubic-bezier(.18,1.6,.4,1) both;animation-delay:calc(var(--r) * 28ms)}@media (prefers-reduced-motion: reduce){.ct-lat,.ct-lat circle{animation:none;transition:opacity .2s linear}}.ct-card{position:absolute;left:0;top:0;background:var(--ct-tint-hover);border-radius:calc(8px * var(--ct-cs));padding:calc(9px * var(--ct-cs)) calc(8px * var(--ct-cs)) calc(8px * var(--ct-cs));box-sizing:border-box;width:max-content;max-width:calc(440px * var(--ct-cs));min-width:calc(240px * var(--ct-cs))}.ct-line{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:calc(9px * var(--ct-cs));width:100%;font-size:calc(13px * var(--ct-cs));white-space:nowrap;padding:calc(5px * var(--ct-cs)) calc(6px * var(--ct-cs));border-radius:calc(4px * var(--ct-cs));cursor:pointer;color:var(--ct-ink)}.ct-line:hover{background:var(--ct-press)}.ct-row{position:relative}.ct-row:hover .ct-line{background:var(--ct-press)}.ct-row:hover .ct-when{visibility:hidden}.ct-x{all:unset;position:absolute;top:50%;right:calc(4px * var(--ct-cs));transform:translateY(-50%);display:flex;align-items:center;justify-content:center;cursor:pointer;width:calc(18px * var(--ct-cs));height:calc(18px * var(--ct-cs));border-radius:calc(4px * var(--ct-cs));color:var(--ct-dim);opacity:0}.ct-row:hover .ct-x{opacity:1}.ct-x:hover{background:var(--ct-press);color:var(--ct-ink)}.ct-x svg{width:calc(10px * var(--ct-cs));height:calc(10px * var(--ct-cs));display:block;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}.ct-line .ct-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;max-width:calc(220px * var(--ct-cs))}.ct-line .ct-says{color:var(--ct-dim)}.ct-line .ct-when{margin-left:auto;padding-left:calc(14px * var(--ct-cs));font-size:calc(12px * var(--ct-cs));color:var(--ct-faint)}.ct-quiet{font-size:calc(12.5px * var(--ct-cs));color:var(--ct-faint)}.ct-line.ct-quiet{color:var(--ct-faint)}.ct-static{padding:calc(5px * var(--ct-cs)) calc(6px * var(--ct-cs))}.ct-head{padding-top:calc(2px * var(--ct-cs));padding-bottom:calc(3px * var(--ct-cs))}.ct-mark-sp{width:calc(10px * var(--ct-cs));flex:none}.ct-pip{width:calc(7px * var(--ct-cs));height:calc(7px * var(--ct-cs));border-radius:50%;flex:none;background:var(--ct-lat)}.ct-foot{display:flex;align-items:center;gap:2px;margin:calc(6px * var(--ct-cs)) 0 0;padding:calc(7px * var(--ct-cs)) calc(6px * var(--ct-cs)) 0;border-top:1px solid var(--ct-rule);font-size:calc(11.5px * var(--ct-cs));color:var(--ct-faint);white-space:nowrap}.ct-foot>span:first-child{margin-right:2px}.ct-foot button{all:unset;cursor:pointer;padding:calc(2px * var(--ct-cs)) calc(6px * var(--ct-cs));border-radius:calc(5px * var(--ct-cs));color:var(--ct-dim)}.ct-foot button:hover{background:var(--ct-press);color:var(--ct-ink)}.ct-foot .ct-sep{flex:1;min-width:calc(16px * var(--ct-cs))}.ct-foot .ct-size{display:flex;align-items:center;gap:calc(5px * var(--ct-cs));margin-left:calc(4px * var(--ct-cs))}.ct-foot .ct-size-name{color:var(--ct-faint)}.ct-foot .ct-steps{display:flex;align-items:stretch;overflow:hidden;border:1px solid var(--ct-rule);border-radius:999px}.ct-foot .ct-steps button{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:center;width:calc(20px * var(--ct-cs));height:calc(15px * var(--ct-cs));color:var(--ct-dim)}.ct-foot .ct-steps button+button{border-left:1px solid var(--ct-rule)}.ct-foot .ct-steps button:hover{background:var(--ct-press);color:var(--ct-ink)}.ct-foot .ct-steps svg{width:calc(9px * var(--ct-cs));height:calc(9px * var(--ct-cs));display:block;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round}