@bkm016/basalt 0.1.10 → 0.1.11

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 (188) hide show
  1. package/{chunk-0mjb3sm3.js → chunk-jymx3a77.js} +165 -152
  2. package/{chunk-3mqf9ped.js → chunk-zq32mwxj.js} +110 -110
  3. package/compiled.js +1 -1
  4. package/package.json +1 -1
  5. package/ui-test-worker.js +1 -1
  6. package/web/{chunk-9yfftz38.js → chunk-05mvzx00.js} +1 -1
  7. package/web/chunk-086dshck.js +1 -0
  8. package/web/chunk-0fy590s0.js +1 -0
  9. package/web/{chunk-se4h6wx0.js → chunk-0hvxb5d5.js} +1 -1
  10. package/web/chunk-0mdf1qja.js +1 -0
  11. package/web/{chunk-w3zgfhjb.js → chunk-0y971zgq.js} +2 -2
  12. package/web/{chunk-j89s11x8.js → chunk-1t38sgrk.js} +2 -2
  13. package/web/{chunk-z4bp6p32.js → chunk-1zfxaafq.js} +1 -1
  14. package/web/{chunk-g7kz8f7q.js → chunk-27812gqr.js} +5 -5
  15. package/web/{chunk-rag65pfs.js → chunk-2ds0a2z1.js} +3 -3
  16. package/web/{chunk-rh3xb76f.js → chunk-2f2agfpj.js} +11 -11
  17. package/web/{chunk-wtvch4ad.js → chunk-2tsxj613.js} +3 -3
  18. package/web/{chunk-y2rzeb4v.js → chunk-2weaa3gn.js} +2 -2
  19. package/web/{chunk-8h2x89tw.js → chunk-3020mmp1.js} +1 -1
  20. package/web/{chunk-mykrm8ba.js → chunk-30aeb767.js} +2 -2
  21. package/web/chunk-32zmk3f5.js +1 -0
  22. package/web/{chunk-rxvm70w5.js → chunk-36dc7tcg.js} +2 -2
  23. package/web/{chunk-j37p0b13.js → chunk-3a57m7xm.js} +3 -3
  24. package/web/{chunk-tt93zbn4.js → chunk-3b4wqmnh.js} +7 -7
  25. package/web/chunk-3d3wnh8a.js +2 -0
  26. package/web/{chunk-zse05v6j.js → chunk-3ftb27f3.js} +8 -8
  27. package/web/{chunk-de40q05r.js → chunk-47mbbmst.js} +3 -3
  28. package/web/chunk-48479gnx.js +1 -0
  29. package/web/{chunk-5v5q13hz.js → chunk-4gc663j0.js} +2 -2
  30. package/web/{chunk-88wd49xe.js → chunk-4rwwtfnd.js} +2 -2
  31. package/web/{chunk-eqndhs21.js → chunk-4wwd3pfz.js} +2 -2
  32. package/web/{chunk-myd6sc76.js → chunk-57pyz29y.js} +2 -2
  33. package/web/{chunk-32ty2xfn.js → chunk-59nk506k.js} +1 -1
  34. package/web/{chunk-m4fxd5d9.js → chunk-5ahx98zj.js} +8 -8
  35. package/web/chunk-6cjm2yr7.js +1 -0
  36. package/web/{chunk-frnh4zqf.js → chunk-6jb2zyp6.js} +2 -2
  37. package/web/{chunk-3eexx7y5.js → chunk-793m5jjh.js} +1 -1
  38. package/web/{chunk-p55vhns6.js → chunk-7dycbjxn.js} +4 -4
  39. package/web/chunk-7ycxz39p.js +1 -0
  40. package/web/{chunk-gw8x1g61.js → chunk-8151c970.js} +1 -1
  41. package/web/{chunk-jccz14ye.js → chunk-885kpj14.js} +2 -2
  42. package/web/{chunk-vasppf6b.js → chunk-8csw0mvf.js} +2 -2
  43. package/web/{chunk-x850q01z.js → chunk-8z7texmv.js} +1 -1
  44. package/web/{chunk-sd3xat3r.js → chunk-90fkdzx3.js} +6 -6
  45. package/web/chunk-94denx9h.js +39 -0
  46. package/web/{chunk-zms6mrqk.js → chunk-96xhmmqz.js} +6 -6
  47. package/web/chunk-9jy8nc4r.js +1 -0
  48. package/web/{chunk-dv1berk6.js → chunk-9kkzmss7.js} +3 -3
  49. package/web/chunk-9wr33d0t.js +1 -0
  50. package/web/{chunk-fmmrthpa.js → chunk-a3pye9ag.js} +3 -3
  51. package/web/chunk-a4tdrxdh.js +1 -0
  52. package/web/chunk-a9fvsyc1.js +1 -0
  53. package/web/chunk-apvbvg4d.js +1 -0
  54. package/web/{chunk-wrevb4ew.js → chunk-b3j07x0n.js} +6 -6
  55. package/web/{chunk-0770q5e1.js → chunk-b6sqwmq7.js} +1 -1
  56. package/web/chunk-bkxcc7v5.js +1 -0
  57. package/web/chunk-bve354k7.js +1 -0
  58. package/web/{chunk-nawxgz87.js → chunk-cbwvfedy.js} +8 -8
  59. package/web/{chunk-x5g1yy12.js → chunk-cpshsp24.js} +1 -1
  60. package/web/chunk-cwpxakby.js +1 -0
  61. package/web/chunk-d3f763n7.js +2 -0
  62. package/web/{chunk-grm2208k.js → chunk-d4519smc.js} +14 -14
  63. package/web/chunk-de29pe57.js +1 -0
  64. package/web/chunk-dk0fnj87.js +1 -0
  65. package/web/{chunk-c57f714b.js → chunk-drchr3yn.js} +2 -2
  66. package/web/chunk-dsbyfvwz.js +1 -0
  67. package/web/{chunk-xtn305fd.js → chunk-dtrh40vr.js} +1 -1
  68. package/web/chunk-e68jw0bg.js +1 -0
  69. package/web/{chunk-tfqarvdx.js → chunk-e763h2px.js} +67 -67
  70. package/web/{chunk-pgwf37s2.js → chunk-enryqmj7.js} +5 -5
  71. package/web/{chunk-jke2ev6m.js → chunk-f79ajymt.js} +2 -2
  72. package/web/{chunk-qq6m2my8.js → chunk-fj753yzt.js} +2 -2
  73. package/web/{chunk-5svqfj4g.js → chunk-g0rtcedn.js} +3 -3
  74. package/web/{chunk-18neka5g.js → chunk-g31dbnzm.js} +4 -4
  75. package/web/{chunk-1ev0n3n4.js → chunk-g4as4zzd.js} +4 -4
  76. package/web/{chunk-6e87m0nm.js → chunk-gten0rpx.js} +2 -2
  77. package/web/{chunk-sjkg40ay.js → chunk-gyhr27dm.js} +1 -1
  78. package/web/{chunk-js6kb05s.js → chunk-hjyev38w.js} +6 -6
  79. package/web/{chunk-rwfmccmh.js → chunk-hm8thq7c.js} +4 -4
  80. package/web/{chunk-07agqp8h.js → chunk-j4gvtszc.js} +2 -2
  81. package/web/chunk-jd7npyv9.js +8 -0
  82. package/web/chunk-jhpg2kcf.js +1 -0
  83. package/web/{chunk-qdzy124b.js → chunk-jqqbkdtw.js} +2 -2
  84. package/web/chunk-jzz5htxp.js +1 -0
  85. package/web/chunk-ka3q31t1.js +1 -0
  86. package/web/chunk-kahab58k.js +1139 -0
  87. package/web/{chunk-q4bst4an.js → chunk-kfbgvh0c.js} +1 -1
  88. package/web/chunk-krgvx75q.js +1 -0
  89. package/web/chunk-kxeaj44h.js +1 -0
  90. package/web/chunk-m1rdyvb5.js +1 -0
  91. package/web/{chunk-z5qn0xev.js → chunk-m24yb8md.js} +2 -2
  92. package/web/chunk-m7k4wr3k.js +1 -0
  93. package/web/chunk-mdj3r75b.js +1 -0
  94. package/web/{chunk-h5ckjk48.js → chunk-mpdeqzc9.js} +10 -10
  95. package/web/{chunk-knm82fw9.js → chunk-mykbcvqz.js} +1 -1
  96. package/web/{chunk-1qh7f5kr.js → chunk-n33753da.js} +1 -1
  97. package/web/{chunk-yppgejg7.js → chunk-nafe18y9.js} +10 -10
  98. package/web/chunk-nbcpbqq4.js +1 -0
  99. package/web/{chunk-bc3ajvfg.js → chunk-nhx8pw7p.js} +1 -1
  100. package/web/chunk-nkpdd9hw.js +1 -0
  101. package/web/{chunk-eh7wp62z.js → chunk-p1yc8hwn.js} +1 -1
  102. package/web/chunk-p29brxyt.js +1 -0
  103. package/web/chunk-p8fbes0t.js +1 -0
  104. package/web/chunk-pbp1p5ex.js +1 -0
  105. package/web/{chunk-n4yzs2q0.js → chunk-ppjw1mps.js} +4 -4
  106. package/web/{chunk-7tkgbbf9.js → chunk-pq56b3mq.js} +2 -2
  107. package/web/{chunk-vvvd3grf.js → chunk-pzg25qqe.js} +2 -2
  108. package/web/{chunk-t5nvgz7z.js → chunk-q65zxczs.js} +7 -7
  109. package/web/{chunk-g7dc4hrd.js → chunk-q8v5j963.js} +2 -2
  110. package/web/{chunk-zz1qkaar.js → chunk-qykt7avq.js} +2 -2
  111. package/web/chunk-r6q1301x.js +1 -0
  112. package/web/chunk-r8kghrkb.js +1 -0
  113. package/web/chunk-rhxn7mxg.js +1 -0
  114. package/web/{chunk-46jnkghq.js → chunk-rqympya7.js} +2 -2
  115. package/web/{chunk-k0cg4n2k.js → chunk-s0xy00v5.js} +2 -2
  116. package/web/chunk-svqshmpg.js +1 -0
  117. package/web/chunk-swzxq7r3.css +1 -0
  118. package/web/{chunk-905vw286.js → chunk-t18tn37m.js} +2 -2
  119. package/web/chunk-tbsaseer.js +1 -0
  120. package/web/{chunk-rbqnre6q.js → chunk-tggja45g.js} +3 -3
  121. package/web/chunk-tgkdyxbn.js +1 -0
  122. package/web/{chunk-sc63488q.js → chunk-tpdcrrf1.js} +1 -1
  123. package/web/chunk-v0zfnvc1.js +1 -0
  124. package/web/{chunk-tqze6d6b.js → chunk-v3dn9bfw.js} +1 -1
  125. package/web/chunk-vj31fs16.js +1 -0
  126. package/web/chunk-vr79r8vh.js +1 -0
  127. package/web/chunk-wb9tax0m.js +1 -0
  128. package/web/{chunk-26ecc2xh.js → chunk-wbwets5x.js} +19 -19
  129. package/web/chunk-x9eghjjd.js +1 -0
  130. package/web/{chunk-awkdw9rw.js → chunk-xbyrgyy0.js} +2 -2
  131. package/web/{chunk-qy1zx2yw.js → chunk-xjc5fmcr.js} +24 -24
  132. package/web/{chunk-qh62nkem.js → chunk-ydtrc1ay.js} +2 -2
  133. package/web/chunk-yrh86m0n.js +1 -0
  134. package/web/chunk-z3ky5ews.js +2 -0
  135. package/web/{chunk-ehtmb6sn.js → chunk-zdhyq3ch.js} +13 -13
  136. package/web/{chunk-gsw1tv96.js → chunk-zv73g4qq.js} +2 -2
  137. package/web/index.html +1 -1
  138. package/web/chunk-045d3b5d.js +0 -1
  139. package/web/chunk-12qf1r6m.js +0 -1
  140. package/web/chunk-1ex3wgms.js +0 -2
  141. package/web/chunk-2cz7tx8q.js +0 -1
  142. package/web/chunk-4am8j3k3.js +0 -1
  143. package/web/chunk-5qvmefq2.js +0 -1
  144. package/web/chunk-5z2n4z9x.css +0 -1
  145. package/web/chunk-6y55gk1n.js +0 -1
  146. package/web/chunk-7np1jp3x.js +0 -8
  147. package/web/chunk-7qq1ypvj.js +0 -1
  148. package/web/chunk-87e8d1hv.js +0 -1
  149. package/web/chunk-8y2526ve.js +0 -1
  150. package/web/chunk-918e5t4x.js +0 -2
  151. package/web/chunk-96m2m3e8.js +0 -1
  152. package/web/chunk-9f4zzqbx.js +0 -1
  153. package/web/chunk-a1n4468c.js +0 -1
  154. package/web/chunk-arnzrqnm.js +0 -1
  155. package/web/chunk-b46ws7rf.js +0 -1
  156. package/web/chunk-bwy3e58v.js +0 -1
  157. package/web/chunk-d5gshd1a.js +0 -1
  158. package/web/chunk-dp0k5vhd.js +0 -1
  159. package/web/chunk-et1hytyv.js +0 -1
  160. package/web/chunk-f7jpakwh.js +0 -1
  161. package/web/chunk-f9m9seam.js +0 -1
  162. package/web/chunk-g2erm7k0.js +0 -1
  163. package/web/chunk-g3kbn0t2.js +0 -1
  164. package/web/chunk-ght0t49g.js +0 -1
  165. package/web/chunk-ghwm7bdj.js +0 -2
  166. package/web/chunk-gx340asc.js +0 -1
  167. package/web/chunk-h0c42zy3.js +0 -1
  168. package/web/chunk-h2txs73e.js +0 -39
  169. package/web/chunk-h3tkacc7.js +0 -1
  170. package/web/chunk-je78j3vr.js +0 -1
  171. package/web/chunk-kxdtg9dt.js +0 -1
  172. package/web/chunk-m9xzt9p7.js +0 -1
  173. package/web/chunk-mzzaet63.js +0 -1
  174. package/web/chunk-ngt1j8py.js +0 -1139
  175. package/web/chunk-q34as3v6.js +0 -1
  176. package/web/chunk-qe0bgeda.js +0 -1
  177. package/web/chunk-sat7zyva.js +0 -1
  178. package/web/chunk-sk0hpa80.js +0 -1
  179. package/web/chunk-tj1fn8v2.js +0 -1
  180. package/web/chunk-tvcxrx6h.js +0 -1
  181. package/web/chunk-tzpnh70q.js +0 -1
  182. package/web/chunk-vb7g4xg6.js +0 -1
  183. package/web/chunk-wzfe6jtq.js +0 -1
  184. package/web/chunk-xh4xn1az.js +0 -1
  185. package/web/chunk-xk904wqv.js +0 -1
  186. package/web/chunk-xzwxcxb4.js +0 -1
  187. package/web/chunk-yekaz74b.js +0 -1
  188. package/web/chunk-ys2tns0p.js +0 -1
@@ -1,4 +1,4 @@
1
- import{g,o,v,i,r,f,e,n,y,it}from"./chunk-ngt1j8py.js";var V="__chat__";function M(t){if(!Number.isFinite(t)||t<=0)return"0";if(t<1000)return Math.round(t).toString();if(t<1e6)return`${(t/1000).toFixed(1)}K`;if(t<1e9)return`${(t/1e6).toFixed(2)}M`;return`${(t/1e9).toFixed(2)}B`}function L(t){let u=Number.isFinite(t)?Math.max(0,t):0;return Math.round(u).toLocaleString("en-US")}function P(t){if(!Number.isFinite(t)||t<=0)return"0s";if(t<1000)return"<1s";if(t<60000)return`${Math.floor(t/1000)}s`;if(t<3600000){let c=Math.floor(t/1000),a=Math.floor(c/60),d=c%60;return d>0?`${a}m ${d}s`:`${a}m`}if(t<259200000){let c=Math.floor(t/60000),a=Math.floor(c/60),d=c%60;return d>0?`${a}h ${d}m`:`${a}h`}let u=Math.floor(t/3600000),b=Math.floor(u/24),p=u%24;return p>0?`${b}d ${p}h`:`${b}d`}function ae(t){if(!Number.isFinite(t)||t<=0)return"0s";if(t<1000)return"<1s";if(t<60000)return`${Math.round(t/1000)}s`;if(t<3600000)return`${Math.round(t/60000)}m`;if(t<86400000){let p=t/3600000;return`${p>=10?Math.round(p).toString():p.toFixed(1).replace(/\.0$/,"")}h`}let u=t/86400000;return`${u>=10?Math.round(u).toString():u.toFixed(1).replace(/\.0$/,"")}d`}function B(t,u=1){if(!Number.isFinite(t)||t<=0)return"0%";let b=10**-u/100;if(t<b)return`<${(b*100).toFixed(u)}%`;return`${(t*100).toFixed(u)}%`}function Q(t){if(!Number.isFinite(t)||t<=0)return"0 B";if(t<1024)return`${Math.round(t)} B`;if(t<1048576)return`${(t/1024).toFixed(1)} KB`;if(t<1073741824)return`${(t/1048576).toFixed(2)} MB`;return`${(t/1073741824).toFixed(2)} GB`}function W(t){let u=t.split("-"),b=u[1],p=u[2];if(b!==void 0&&p!==void 0)return`${b}/${p}`;return t}function Z(t){let u=t.split("-"),b=u[0],p=u[1],c=u[2];if(b===void 0||p===void 0||c===void 0)return t;let a=Number(b),d=Number(p)-1,h=Number(c),w=new Date(Date.UTC(a,d,h)),C=["周日","周一","周二","周三","周四","周五","周六"],D=w.getUTCDay(),F=C[D]??"";return`${t} ${F}`}function se(t,u=Date.now()){if(t===null||t===void 0||!Number.isFinite(t)||t<=0)return"从未";let b=Math.max(0,u-t);if(b<60000)return"刚刚";if(b<3600000)return`${Math.max(1,Math.floor(b/60000))} 分钟前`;if(b<86400000)return`${Math.max(1,Math.floor(b/3600000))} 小时前`;if(b<2592000000)return`${Math.max(1,Math.floor(b/86400000))} 天前`;let p=new Date(t),c=p.getFullYear(),a=String(p.getMonth()+1).padStart(2,"0"),d=String(p.getDate()).padStart(2,"0");return`${c}-${a}-${d}`}function K(t){return e("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-raised",children:e("div",{className:"h-full rounded-full bg-accent transition-all duration-300",style:{width:`${t.percent}%`}})})}function Y(t){return e("div",{className:"flex flex-wrap items-center justify-between gap-x-4 gap-y-1 font-mono text-[11px] text-dim tabular-nums",children:t.children})}function G(t){return e("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:t.children})}function J(t){return n(G,{children:[n("span",{children:["输入 ",e("span",{className:"text-ink",children:M(t.stat.inputTokens)})]}),n("span",{children:["输出 ",e("span",{className:"text-ink",children:M(t.stat.outputTokens)})]}),n("span",{children:["缓存读 ",e("span",{className:"text-ink",children:M(t.stat.cacheReadTokens)}),t.cacheHitRate!==void 0&&n("span",{className:"text-faint",children:[" (",B(t.cacheHitRate),")"]})]})]})}function oe(t){let{projects:u,selectedProjectID:b,onSelectProject:p}=t,{style:c}=y();if(u.length===0)return e("div",{className:c("surface.empty"),children:"暂无项目统计数据"});return e("div",{className:"divide-y divide-line",children:u.map((a)=>{let d=a.projectID??V,h=b===d,w=Math.max(a.tokenShare>0?1:0,a.tokenShare*100);return n("div",{className:"p-4 space-y-2.5",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[n("div",{className:"flex min-w-0 items-center gap-2",children:[e("span",{className:"font-medium text-sm text-ink truncate",children:a.name}),e("span",{className:c("control.badge","font-mono truncate max-w-[240px]"),title:a.directory||"未绑定项目目录",children:a.directory||"独立会话"}),e("button",{type:"button",onClick:()=>p(h?null:d),className:"rounded px-1.5 py-0.5 text-[11px] text-accent hover:bg-accent/10 transition-colors cursor-pointer shrink-0",children:h?"取消筛选":"筛选"})]}),n("div",{className:"flex items-baseline gap-1.5 font-mono tabular-nums shrink-0",children:[e("span",{className:"text-xs font-medium text-ink",title:L(a.totalTokens),children:M(a.totalTokens)}),n("span",{className:"text-[11px] text-faint",children:["(",B(a.tokenShare),")"]})]})]}),e(K,{percent:w}),n(Y,{children:[e(J,{stat:a,cacheHitRate:a.cacheHitRate}),n(G,{children:[n("span",{children:["耗时 ",e("span",{className:"text-ink",children:P(a.activeDurationMs)})]}),n("span",{children:[e("span",{className:"text-ink",children:a.sessionCount.toLocaleString()})," 会话"]}),n("span",{children:["工具 ",e("span",{className:"text-ink",children:a.toolCalls.toLocaleString()})," 次"]})]})]})]},d)})})}function re(t){let{models:u}=t,{ModelIcon:b,style:p}=y();if(u.length===0)return e("div",{className:p("surface.empty"),children:"暂无模型调用数据"});return e("div",{className:"divide-y divide-line",children:u.map((c)=>{let a=Math.max(c.share>0?1:0,c.share*100);return n("div",{className:"p-4 space-y-2.5",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[n("div",{className:"flex min-w-0 items-center gap-2",children:[e(b,{modelID:c.model,className:"size-4 shrink-0"}),e("span",{className:"font-mono text-sm font-medium text-ink truncate",children:c.shortName}),e("span",{className:p("control.badge","font-mono shrink-0"),children:c.provider})]}),n("div",{className:"flex items-baseline gap-2.5 font-mono tabular-nums shrink-0",children:[c.avgTps!==null&&n("span",{className:"text-[11px] text-dim",children:[c.avgTps.toFixed(1)," tok/s"]}),n("span",{className:"text-xs font-medium text-ink",title:L(c.totalTokens),children:[M(c.totalTokens)," ",n("span",{className:"text-[11px] font-normal text-faint",children:["(",B(c.share),")"]})]})]})]}),e(K,{percent:a}),n(Y,{children:[e(J,{stat:c,cacheHitRate:c.cacheHitRate}),n(G,{children:[n("span",{children:[e("span",{className:"text-ink",children:c.turns.toLocaleString()})," 轮",c.errors>0?n("span",{className:"text-danger",children:[" (",c.errors," 错)"]}):null]}),n("span",{children:["工具 ",e("span",{className:"text-ink",children:c.toolCalls.toLocaleString()})," 次"]}),c.generationMs>0&&n("span",{children:["推理 ",e("span",{className:"text-ink",children:ae(c.generationMs)})]})]})]})]},c.model)})})}function ie(t){let{tools:u}=t,{StatusChip:b,style:p}=y();if(u.length===0)return e("div",{className:p("surface.empty"),children:"暂无工具调用数据"});return e("div",{className:"divide-y divide-line",children:u.map((c)=>{let a=Math.max(c.share>0?1:0,c.share*100),d=c.successRate>=0.95?"success":c.successRate>=0.8?"warning":"danger",h=Math.max(0,c.calls-c.errors),w=c.calls>0?Math.round(c.outputBytes/c.calls):0;return n("div",{className:"p-4 space-y-2.5",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[n("div",{className:"flex min-w-0 items-center gap-2",children:[e("span",{className:"font-mono text-sm font-medium text-ink truncate",children:c.name}),n(b,{tone:d,children:["成功率 ",B(c.successRate)]})]}),n("div",{className:"flex items-baseline gap-1.5 font-mono tabular-nums shrink-0",children:[n("span",{className:"text-xs font-medium text-ink",children:[c.calls.toLocaleString()," 次"]}),n("span",{className:"text-[11px] text-faint",children:["(",B(c.share),")"]})]})]}),e(K,{percent:a}),n(Y,{children:[n(G,{children:[n("span",{children:["成功 ",e("span",{className:"text-ink",children:h.toLocaleString()})," 次"]}),n("span",{children:["失败 ",e("span",{className:c.errors>0?"text-danger":"text-ink",children:c.errors.toLocaleString()})," 次"]})]}),n(G,{children:[n("span",{children:["累计输出 ",e("span",{className:"text-ink",children:Q(c.outputBytes)})]}),n("span",{children:["单次均值 ",e("span",{className:"text-ink",children:Q(w)})]})]})]})]},c.name)})})}function le(t){let{sessions:u,onOpenSession:b}=t,{style:p}=y();if(u.length===0)return e("div",{className:p("surface.empty"),children:"暂无高消耗会话记录"});let c=Math.max(1,...u.map((a)=>a.totalTokens));return e("div",{className:"divide-y divide-line",children:u.map((a)=>{let d=c>0?Math.max(1,a.totalTokens/c*100):0,h=a.model.split("/").pop()??a.model;return n("button",{type:"button",onClick:()=>b(a.id),className:"group block w-full p-4 text-left space-y-2.5 hover:bg-raised/40 transition-colors cursor-pointer",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[n("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[e("span",{className:"font-medium text-sm text-ink truncate group-hover:text-accent transition-colors",children:a.title.trim()||"新会话"}),e("span",{className:p("control.badge","font-mono truncate max-w-[140px] shrink-0"),title:a.projectName,children:a.projectName}),a.kind==="sub"&&e("span",{className:"rounded bg-accent/15 px-1.5 py-0.5 text-[10.5px] text-accent shrink-0",children:"子代理"}),a.archivedAt!==null&&e("span",{className:p("control.badge","shrink-0"),children:"已归档"})]}),n("div",{className:"flex items-center gap-1.5 font-mono tabular-nums shrink-0",children:[e("span",{className:"text-xs font-medium text-ink",title:L(a.totalTokens),children:M(a.totalTokens)}),e(it,{className:"size-3.5 text-faint group-hover:text-ink group-hover:translate-x-0.5 transition-all"})]})]}),e(K,{percent:d}),n(Y,{children:[e(J,{stat:a}),n(G,{children:[e("span",{className:"text-ink",children:h}),n("span",{children:["耗时 ",e("span",{className:"text-ink",children:P(a.activeDurationMs)})]}),n("span",{children:[e("span",{className:"text-ink",children:a.assistantTurns})," 轮"]}),e("span",{className:"text-faint",children:se(a.updated)})]})]})]},a.id)})})}var ce=[{value:"tokens",label:"Token 用量"},{value:"duration",label:"活跃耗时"},{value:"activity",label:"交互轮次"}];function ue(t){let{cn:u,Segmented:b,SettingGroup:p,style:c}=y(),{daily:a}=t,[d,h]=r("tokens"),[w,C]=r(null),D=v(()=>a.some((s)=>s.totalTokens>0||s.activeDurationMs>0||s.runs>0),[a]),F=v(()=>{if(a.length===0)return{totalText:"0",avgText:"0",peakDate:"—",peakValueText:"0"};if(d==="tokens"){let S=a.reduce((_,A)=>_+A.totalTokens,0),R=a.filter((_)=>_.totalTokens>0).length,N=a[0];for(let _ of a)if(!N||_.totalTokens>N.totalTokens)N=_;return{totalText:M(S),totalFullText:L(S),avgText:R>0?M(Math.round(S/R)):"0",peakDate:N&&N.totalTokens>0?W(N.date):"—",peakValueText:N&&N.totalTokens>0?M(N.totalTokens):"0"}}if(d==="duration"){let S=a.reduce((_,A)=>_+A.activeDurationMs,0),R=a.filter((_)=>_.activeDurationMs>0).length,N=a[0];for(let _ of a)if(!N||_.activeDurationMs>N.activeDurationMs)N=_;return{totalText:P(S),totalFullText:P(S),avgText:R>0?P(Math.round(S/R)):"0s",peakDate:N&&N.activeDurationMs>0?W(N.date):"—",peakValueText:N&&N.activeDurationMs>0?P(N.activeDurationMs):"0s"}}let s=a.reduce((S,R)=>S+R.assistantTurns,0),l=a.reduce((S,R)=>S+R.userMessages,0),x=s+l,T=a.filter((S)=>S.assistantTurns>0||S.userMessages>0).length,k=a[0];for(let S of a){let R=k?k.assistantTurns+k.userMessages:0;if(!k||S.assistantTurns+S.userMessages>R)k=S}let H=k?k.assistantTurns+k.userMessages:0;return{totalText:`${x.toLocaleString()} 轮`,totalFullText:`助手 ${s.toLocaleString()} 轮 · 用户 ${l.toLocaleString()} 问`,avgText:T>0?`${(x/T).toFixed(1)} 轮/天`:"0 轮/天",peakDate:k&&H>0?W(k.date):"—",peakValueText:k&&H>0?`${H.toLocaleString()} 轮`:"0 轮"}},[a,d]),j=v(()=>{if(w){let s=a.find((l)=>l.date===w);if(s)return s}for(let s=a.length-1;s>=0;s--){let l=a[s];if(l&&(l.totalTokens>0||l.activeDurationMs>0||l.runs>0))return l}return a[a.length-1]},[a,w]),z=v(()=>{if(d==="tokens")return Math.max(1,...a.map((s)=>s.totalTokens));if(d==="duration")return Math.max(1000,...a.map((s)=>s.activeDurationMs));return Math.max(1,...a.map((s)=>s.assistantTurns+s.userMessages))},[a,d]),m=v(()=>{if(a.length<=7)return a.map((x)=>x.date);let s=6,l=[];for(let x=0;x<s;x++){let T=Math.round(x*(a.length-1)/(s-1)),k=a[T];if(k)l.push(k.date)}return l},[a]);if(!D)return e(p,{title:"每日趋势",action:e(b,{value:d,onChange:(s)=>h(s),options:ce}),children:e("div",{className:c("surface.empty"),children:"当前时间范围内暂无活跃数据"})});return e(p,{title:"每日趋势",action:e(b,{value:d,onChange:(s)=>h(s),options:ce}),children:n("div",{className:"p-4 space-y-4",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[n("div",{className:"flex flex-wrap items-center gap-x-3.5 gap-y-1 font-mono text-dim tabular-nums",children:[n("span",{children:["汇总 ",e("span",{className:"text-ink",children:F.totalText})]}),n("span",{children:["日均 ",e("span",{className:"text-ink",children:F.avgText})]}),n("span",{children:["峰值 ",e("span",{className:"text-ink",children:F.peakValueText}),F.peakDate!=="—"?n("span",{className:"text-faint",children:[" (",F.peakDate,")"]}):null]})]}),n("div",{className:"flex items-center gap-3 text-[11px] text-dim",children:[d==="tokens"&&n(f,{children:[n("span",{className:"inline-flex items-center gap-1.5",children:[e("span",{className:"size-2 rounded-full bg-accent/40"}),"缓存读"]}),n("span",{className:"inline-flex items-center gap-1.5",children:[e("span",{className:"size-2 rounded-full bg-accent"}),"输入"]}),n("span",{className:"inline-flex items-center gap-1.5",children:[e("span",{className:"size-2 rounded-full bg-success"}),"输出"]})]}),d==="duration"&&n(f,{children:[n("span",{className:"inline-flex items-center gap-1.5",children:[e("span",{className:"size-2 rounded-full bg-accent"}),"工作调度"]}),n("span",{className:"inline-flex items-center gap-1.5",children:[e("span",{className:"size-2 rounded-full bg-success"}),"模型推理"]})]}),d==="activity"&&n(f,{children:[n("span",{className:"inline-flex items-center gap-1.5",children:[e("span",{className:"size-2 rounded-full bg-accent"}),"助手回复"]}),n("span",{className:"inline-flex items-center gap-1.5",children:[e("span",{className:"size-2 rounded-full bg-success"}),"用户提问"]})]})]})]}),n("div",{className:"relative h-44 w-full pt-1",children:[n("div",{className:"absolute inset-0 flex flex-col justify-between pointer-events-none pb-5 text-[10px] text-faint/60",children:[e("div",{className:"border-b border-line/40 w-full"}),e("div",{className:"border-b border-line/30 w-full"}),e("div",{className:"border-b border-line/40 w-full"})]}),n("section",{"aria-label":"每日趋势柱状序列",className:"relative h-full flex flex-col justify-between",onMouseLeave:()=>C(null),children:[e("div",{className:"flex-1 flex items-end gap-1 sm:gap-1.5 pb-2",children:a.map((s)=>{let l=s.totalTokens;if(d==="duration")l=s.activeDurationMs;else if(d==="activity")l=s.assistantTurns+s.userMessages;let x=l<=0,T=x?0:Math.max(3,Math.min(100,l/z*100)),k=j?.date===s.date;return n("button",{type:"button","aria-label":`${s.date} 统计数据`,className:"flex-1 h-full flex flex-col justify-end items-center group cursor-pointer relative min-w-0 bg-transparent p-0 border-0 focus:outline-hidden",onMouseEnter:()=>C(s.date),onFocus:()=>C(s.date),onClick:()=>C(s.date),children:[e("div",{className:u("absolute inset-y-0 w-full rounded-xs transition-colors pointer-events-none",k?"bg-accent/10":"group-hover:bg-raised/60")}),x?e("div",{className:"h-1 w-full max-w-[24px] rounded-full bg-raised group-hover:bg-dim/30"}):n("div",{className:"w-full max-w-[24px] rounded-t-xs overflow-hidden flex flex-col justify-end transition-all duration-150",style:{height:`${T}%`},children:[d==="tokens"&&n(f,{children:[s.outputTokens>0&&e("div",{className:"bg-success transition-all duration-200",style:{height:`${s.outputTokens/s.totalTokens*100}%`}}),s.inputTokens+s.cacheWriteTokens>0&&e("div",{className:"bg-accent transition-all duration-200",style:{height:`${(s.inputTokens+s.cacheWriteTokens)/s.totalTokens*100}%`}}),s.cacheReadTokens>0&&e("div",{className:"bg-accent/40 transition-all duration-200",style:{height:`${s.cacheReadTokens/s.totalTokens*100}%`}})]}),d==="duration"&&n(f,{children:[s.generationMs>0&&e("div",{className:"bg-success transition-all duration-200",style:{height:`${Math.min(100,s.generationMs/Math.max(1,s.activeDurationMs)*100)}%`}}),e("div",{className:"bg-accent flex-1 transition-all duration-200"})]}),d==="activity"&&n(f,{children:[s.userMessages>0&&e("div",{className:"bg-success transition-all duration-200",style:{height:`${s.userMessages/Math.max(1,s.assistantTurns+s.userMessages)*100}%`}}),e("div",{className:"bg-accent flex-1 transition-all duration-200"})]})]}),k&&e("div",{className:"absolute -bottom-1 size-1 rounded-full bg-accent"})]},s.date)})}),e("div",{className:u("flex items-center pt-1.5 text-[10px] text-faint font-mono tabular-nums",a.length<=7?"gap-1 sm:gap-1.5":"justify-between"),children:m.map((s)=>e("div",{className:u("whitespace-nowrap",a.length<=7&&"flex-1 text-center"),children:W(s)},s))})]})]}),e("div",{className:"flex flex-wrap items-center justify-between gap-2 border-t border-line pt-3 font-mono text-xs tabular-nums",children:j?n(f,{children:[e("span",{className:"text-ink",children:Z(j.date)}),n("div",{className:"flex flex-wrap items-center gap-x-3.5 gap-y-1 text-dim",children:[n("span",{children:["Token ",e("span",{className:"text-ink",children:M(j.totalTokens)})]}),n("span",{children:["耗时 ",e("span",{className:"text-ink",children:P(j.activeDurationMs)})]}),n("span",{children:["交互 ",n("span",{className:"text-ink",children:[j.assistantTurns+j.userMessages," 轮"]})]}),n("span",{children:["工具 ",n("span",{className:"text-ink",children:[j.toolCalls," 次"]})]})]})]}):e("span",{className:"font-sans text-faint",children:"悬停柱状图查看单日明细"})})]})})}function pe(t){let{cn:u,SettingGroup:b}=y(),{daily:p,hourly:c}=t,[a,d]=r(null),h=v(()=>{let l=new Map;for(let T of c)l.set(T.hour,T);let x=[];for(let T=0;T<24;T++){let k=l.get(T);if(k)x.push(k);else x.push({hour:T,totalTokens:0,activeDurationMs:0,userMessages:0,assistantTurns:0,runs:0})}return x},[c]),w=v(()=>{let l=h[0];for(let x of h)if(!l||x.totalTokens>l.totalTokens)l=x;return l&&l.totalTokens>0?l:null},[h]),C=v(()=>h.reduce((l,x)=>l+x.totalTokens,0),[h]),D=v(()=>Math.max(1,...h.map((l)=>l.totalTokens)),[h]),F=v(()=>{if(C<=0)return 0;return h.filter((x)=>x.hour>=8&&x.hour<20).reduce((x,T)=>x+T.totalTokens,0)/C},[h,C]),j=v(()=>Math.max(1,...p.map((l)=>l.totalTokens)),[p]),z=v(()=>{let l=0,x=0;for(let T of p)if(T.totalTokens>0||T.activeDurationMs>0||T.runs>0){if(x++,x>l)l=x}else x=0;return l},[p]),m=v(()=>p.filter((l)=>l.totalTokens>0||l.activeDurationMs>0||l.runs>0).length,[p]),s=a!==null?h[a]:w;return n(b,{title:"活跃时段与热力",action:n("div",{className:"flex items-center gap-3 font-mono text-xs text-faint tabular-nums",children:[n("span",{children:["日间占比 ",B(F)]}),n("span",{children:["连续活跃 ",z," 天"]}),n("span",{children:["活跃 ",m,"/",p.length," 天"]})]}),children:[n("div",{className:"p-4 space-y-3",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[e("span",{className:"text-dim",children:"24 小时分布"}),s?n("div",{className:"flex items-center gap-3 font-mono text-dim tabular-nums",children:[n("span",{className:"text-ink",children:[a!==null?"时段 ":"高峰 ",String(s.hour).padStart(2,"0"),":00 -"," ",String((s.hour+1)%24).padStart(2,"0"),":00"]}),e("span",{className:"text-ink",children:M(s.totalTokens)}),s.activeDurationMs>0&&e("span",{children:P(s.activeDurationMs)})]}):e("span",{className:"text-faint",children:"暂无时段分布"})]}),n("section",{"aria-label":"24 小时活跃分布序列",className:"h-28 w-full flex flex-col justify-between pt-1",onMouseLeave:()=>d(null),children:[e("div",{className:"flex-1 flex items-end gap-1.5 pb-1.5",children:h.map((l)=>{let x=w?.hour===l.hour,T=a===l.hour,k=l.totalTokens>0?Math.max(6,l.totalTokens/D*100):0,H=`${String(l.hour).padStart(2,"0")}:00 - ${String((l.hour+1)%24).padStart(2,"0")}:00
1
+ import{g,o,v,i,r,f,e,n,y,ot}from"./chunk-kahab58k.js";var V="__chat__";function M(t){if(!Number.isFinite(t)||t<=0)return"0";if(t<1000)return Math.round(t).toString();if(t<1e6)return`${(t/1000).toFixed(1)}K`;if(t<1e9)return`${(t/1e6).toFixed(2)}M`;return`${(t/1e9).toFixed(2)}B`}function L(t){let u=Number.isFinite(t)?Math.max(0,t):0;return Math.round(u).toLocaleString("en-US")}function P(t){if(!Number.isFinite(t)||t<=0)return"0s";if(t<1000)return"<1s";if(t<60000)return`${Math.floor(t/1000)}s`;if(t<3600000){let c=Math.floor(t/1000),a=Math.floor(c/60),d=c%60;return d>0?`${a}m ${d}s`:`${a}m`}if(t<259200000){let c=Math.floor(t/60000),a=Math.floor(c/60),d=c%60;return d>0?`${a}h ${d}m`:`${a}h`}let u=Math.floor(t/3600000),b=Math.floor(u/24),p=u%24;return p>0?`${b}d ${p}h`:`${b}d`}function ae(t){if(!Number.isFinite(t)||t<=0)return"0s";if(t<1000)return"<1s";if(t<60000)return`${Math.round(t/1000)}s`;if(t<3600000)return`${Math.round(t/60000)}m`;if(t<86400000){let p=t/3600000;return`${p>=10?Math.round(p).toString():p.toFixed(1).replace(/\.0$/,"")}h`}let u=t/86400000;return`${u>=10?Math.round(u).toString():u.toFixed(1).replace(/\.0$/,"")}d`}function B(t,u=1){if(!Number.isFinite(t)||t<=0)return"0%";let b=10**-u/100;if(t<b)return`<${(b*100).toFixed(u)}%`;return`${(t*100).toFixed(u)}%`}function Q(t){if(!Number.isFinite(t)||t<=0)return"0 B";if(t<1024)return`${Math.round(t)} B`;if(t<1048576)return`${(t/1024).toFixed(1)} KB`;if(t<1073741824)return`${(t/1048576).toFixed(2)} MB`;return`${(t/1073741824).toFixed(2)} GB`}function W(t){let u=t.split("-"),b=u[1],p=u[2];if(b!==void 0&&p!==void 0)return`${b}/${p}`;return t}function Z(t){let u=t.split("-"),b=u[0],p=u[1],c=u[2];if(b===void 0||p===void 0||c===void 0)return t;let a=Number(b),d=Number(p)-1,h=Number(c),w=new Date(Date.UTC(a,d,h)),C=["周日","周一","周二","周三","周四","周五","周六"],D=w.getUTCDay(),F=C[D]??"";return`${t} ${F}`}function se(t,u=Date.now()){if(t===null||t===void 0||!Number.isFinite(t)||t<=0)return"从未";let b=Math.max(0,u-t);if(b<60000)return"刚刚";if(b<3600000)return`${Math.max(1,Math.floor(b/60000))} 分钟前`;if(b<86400000)return`${Math.max(1,Math.floor(b/3600000))} 小时前`;if(b<2592000000)return`${Math.max(1,Math.floor(b/86400000))} 天前`;let p=new Date(t),c=p.getFullYear(),a=String(p.getMonth()+1).padStart(2,"0"),d=String(p.getDate()).padStart(2,"0");return`${c}-${a}-${d}`}function K(t){return e("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-raised",children:e("div",{className:"h-full rounded-full bg-accent transition-all duration-300",style:{width:`${t.percent}%`}})})}function Y(t){return e("div",{className:"flex flex-wrap items-center justify-between gap-x-4 gap-y-1 font-mono text-[11px] text-dim tabular-nums",children:t.children})}function G(t){return e("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:t.children})}function J(t){return n(G,{children:[n("span",{children:["输入 ",e("span",{className:"text-ink",children:M(t.stat.inputTokens)})]}),n("span",{children:["输出 ",e("span",{className:"text-ink",children:M(t.stat.outputTokens)})]}),n("span",{children:["缓存读 ",e("span",{className:"text-ink",children:M(t.stat.cacheReadTokens)}),t.cacheHitRate!==void 0&&n("span",{className:"text-faint",children:[" (",B(t.cacheHitRate),")"]})]})]})}function oe(t){let{projects:u,selectedProjectID:b,onSelectProject:p}=t,{style:c}=y();if(u.length===0)return e("div",{className:c("surface.empty"),children:"暂无项目统计数据"});return e("div",{className:"divide-y divide-line",children:u.map((a)=>{let d=a.projectID??V,h=b===d,w=Math.max(a.tokenShare>0?1:0,a.tokenShare*100);return n("div",{className:"p-4 space-y-2.5",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[n("div",{className:"flex min-w-0 items-center gap-2",children:[e("span",{className:"font-medium text-sm text-ink truncate",children:a.name}),e("span",{className:c("control.badge","font-mono truncate max-w-[240px]"),title:a.directory||"未绑定项目目录",children:a.directory||"独立会话"}),e("button",{type:"button",onClick:()=>p(h?null:d),className:"rounded px-1.5 py-0.5 text-[11px] text-accent hover:bg-accent/10 transition-colors cursor-pointer shrink-0",children:h?"取消筛选":"筛选"})]}),n("div",{className:"flex items-baseline gap-1.5 font-mono tabular-nums shrink-0",children:[e("span",{className:"text-xs font-medium text-ink",title:L(a.totalTokens),children:M(a.totalTokens)}),n("span",{className:"text-[11px] text-faint",children:["(",B(a.tokenShare),")"]})]})]}),e(K,{percent:w}),n(Y,{children:[e(J,{stat:a,cacheHitRate:a.cacheHitRate}),n(G,{children:[n("span",{children:["耗时 ",e("span",{className:"text-ink",children:P(a.activeDurationMs)})]}),n("span",{children:[e("span",{className:"text-ink",children:a.sessionCount.toLocaleString()})," 会话"]}),n("span",{children:["工具 ",e("span",{className:"text-ink",children:a.toolCalls.toLocaleString()})," 次"]})]})]})]},d)})})}function re(t){let{models:u}=t,{ModelIcon:b,style:p}=y();if(u.length===0)return e("div",{className:p("surface.empty"),children:"暂无模型调用数据"});return e("div",{className:"divide-y divide-line",children:u.map((c)=>{let a=Math.max(c.share>0?1:0,c.share*100);return n("div",{className:"p-4 space-y-2.5",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[n("div",{className:"flex min-w-0 items-center gap-2",children:[e(b,{modelID:c.model,className:"size-4 shrink-0"}),e("span",{className:"font-mono text-sm font-medium text-ink truncate",children:c.shortName}),e("span",{className:p("control.badge","font-mono shrink-0"),children:c.provider})]}),n("div",{className:"flex items-baseline gap-2.5 font-mono tabular-nums shrink-0",children:[c.avgTps!==null&&n("span",{className:"text-[11px] text-dim",children:[c.avgTps.toFixed(1)," tok/s"]}),n("span",{className:"text-xs font-medium text-ink",title:L(c.totalTokens),children:[M(c.totalTokens)," ",n("span",{className:"text-[11px] font-normal text-faint",children:["(",B(c.share),")"]})]})]})]}),e(K,{percent:a}),n(Y,{children:[e(J,{stat:c,cacheHitRate:c.cacheHitRate}),n(G,{children:[n("span",{children:[e("span",{className:"text-ink",children:c.turns.toLocaleString()})," 轮",c.errors>0?n("span",{className:"text-danger",children:[" (",c.errors," 错)"]}):null]}),n("span",{children:["工具 ",e("span",{className:"text-ink",children:c.toolCalls.toLocaleString()})," 次"]}),c.generationMs>0&&n("span",{children:["推理 ",e("span",{className:"text-ink",children:ae(c.generationMs)})]})]})]})]},c.model)})})}function ie(t){let{tools:u}=t,{StatusChip:b,style:p}=y();if(u.length===0)return e("div",{className:p("surface.empty"),children:"暂无工具调用数据"});return e("div",{className:"divide-y divide-line",children:u.map((c)=>{let a=Math.max(c.share>0?1:0,c.share*100),d=c.successRate>=0.95?"success":c.successRate>=0.8?"warning":"danger",h=Math.max(0,c.calls-c.errors),w=c.calls>0?Math.round(c.outputBytes/c.calls):0;return n("div",{className:"p-4 space-y-2.5",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[n("div",{className:"flex min-w-0 items-center gap-2",children:[e("span",{className:"font-mono text-sm font-medium text-ink truncate",children:c.name}),n(b,{tone:d,children:["成功率 ",B(c.successRate)]})]}),n("div",{className:"flex items-baseline gap-1.5 font-mono tabular-nums shrink-0",children:[n("span",{className:"text-xs font-medium text-ink",children:[c.calls.toLocaleString()," 次"]}),n("span",{className:"text-[11px] text-faint",children:["(",B(c.share),")"]})]})]}),e(K,{percent:a}),n(Y,{children:[n(G,{children:[n("span",{children:["成功 ",e("span",{className:"text-ink",children:h.toLocaleString()})," 次"]}),n("span",{children:["失败 ",e("span",{className:c.errors>0?"text-danger":"text-ink",children:c.errors.toLocaleString()})," 次"]})]}),n(G,{children:[n("span",{children:["累计输出 ",e("span",{className:"text-ink",children:Q(c.outputBytes)})]}),n("span",{children:["单次均值 ",e("span",{className:"text-ink",children:Q(w)})]})]})]})]},c.name)})})}function le(t){let{sessions:u,onOpenSession:b}=t,{style:p}=y();if(u.length===0)return e("div",{className:p("surface.empty"),children:"暂无高消耗会话记录"});let c=Math.max(1,...u.map((a)=>a.totalTokens));return e("div",{className:"divide-y divide-line",children:u.map((a)=>{let d=c>0?Math.max(1,a.totalTokens/c*100):0,h=a.model.split("/").pop()??a.model;return n("button",{type:"button",onClick:()=>b(a.id),className:"group block w-full p-4 text-left space-y-2.5 hover:bg-raised/40 transition-colors cursor-pointer",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[n("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[e("span",{className:"font-medium text-sm text-ink truncate group-hover:text-accent transition-colors",children:a.title.trim()||"新会话"}),e("span",{className:p("control.badge","font-mono truncate max-w-[140px] shrink-0"),title:a.projectName,children:a.projectName}),a.kind==="sub"&&e("span",{className:"rounded bg-accent/15 px-1.5 py-0.5 text-[10.5px] text-accent shrink-0",children:"子代理"}),a.archivedAt!==null&&e("span",{className:p("control.badge","shrink-0"),children:"已归档"})]}),n("div",{className:"flex items-center gap-1.5 font-mono tabular-nums shrink-0",children:[e("span",{className:"text-xs font-medium text-ink",title:L(a.totalTokens),children:M(a.totalTokens)}),e(ot,{className:"size-3.5 text-faint group-hover:text-ink group-hover:translate-x-0.5 transition-all"})]})]}),e(K,{percent:d}),n(Y,{children:[e(J,{stat:a}),n(G,{children:[e("span",{className:"text-ink",children:h}),n("span",{children:["耗时 ",e("span",{className:"text-ink",children:P(a.activeDurationMs)})]}),n("span",{children:[e("span",{className:"text-ink",children:a.assistantTurns})," 轮"]}),e("span",{className:"text-faint",children:se(a.updated)})]})]})]},a.id)})})}var ce=[{value:"tokens",label:"Token 用量"},{value:"duration",label:"活跃耗时"},{value:"activity",label:"交互轮次"}];function ue(t){let{cn:u,Segmented:b,SettingGroup:p,style:c}=y(),{daily:a}=t,[d,h]=r("tokens"),[w,C]=r(null),D=v(()=>a.some((s)=>s.totalTokens>0||s.activeDurationMs>0||s.runs>0),[a]),F=v(()=>{if(a.length===0)return{totalText:"0",avgText:"0",peakDate:"—",peakValueText:"0"};if(d==="tokens"){let S=a.reduce((_,A)=>_+A.totalTokens,0),R=a.filter((_)=>_.totalTokens>0).length,N=a[0];for(let _ of a)if(!N||_.totalTokens>N.totalTokens)N=_;return{totalText:M(S),totalFullText:L(S),avgText:R>0?M(Math.round(S/R)):"0",peakDate:N&&N.totalTokens>0?W(N.date):"—",peakValueText:N&&N.totalTokens>0?M(N.totalTokens):"0"}}if(d==="duration"){let S=a.reduce((_,A)=>_+A.activeDurationMs,0),R=a.filter((_)=>_.activeDurationMs>0).length,N=a[0];for(let _ of a)if(!N||_.activeDurationMs>N.activeDurationMs)N=_;return{totalText:P(S),totalFullText:P(S),avgText:R>0?P(Math.round(S/R)):"0s",peakDate:N&&N.activeDurationMs>0?W(N.date):"—",peakValueText:N&&N.activeDurationMs>0?P(N.activeDurationMs):"0s"}}let s=a.reduce((S,R)=>S+R.assistantTurns,0),l=a.reduce((S,R)=>S+R.userMessages,0),x=s+l,T=a.filter((S)=>S.assistantTurns>0||S.userMessages>0).length,k=a[0];for(let S of a){let R=k?k.assistantTurns+k.userMessages:0;if(!k||S.assistantTurns+S.userMessages>R)k=S}let H=k?k.assistantTurns+k.userMessages:0;return{totalText:`${x.toLocaleString()} 轮`,totalFullText:`助手 ${s.toLocaleString()} 轮 · 用户 ${l.toLocaleString()} 问`,avgText:T>0?`${(x/T).toFixed(1)} 轮/天`:"0 轮/天",peakDate:k&&H>0?W(k.date):"—",peakValueText:k&&H>0?`${H.toLocaleString()} 轮`:"0 轮"}},[a,d]),j=v(()=>{if(w){let s=a.find((l)=>l.date===w);if(s)return s}for(let s=a.length-1;s>=0;s--){let l=a[s];if(l&&(l.totalTokens>0||l.activeDurationMs>0||l.runs>0))return l}return a[a.length-1]},[a,w]),z=v(()=>{if(d==="tokens")return Math.max(1,...a.map((s)=>s.totalTokens));if(d==="duration")return Math.max(1000,...a.map((s)=>s.activeDurationMs));return Math.max(1,...a.map((s)=>s.assistantTurns+s.userMessages))},[a,d]),m=v(()=>{if(a.length<=7)return a.map((x)=>x.date);let s=6,l=[];for(let x=0;x<s;x++){let T=Math.round(x*(a.length-1)/(s-1)),k=a[T];if(k)l.push(k.date)}return l},[a]);if(!D)return e(p,{title:"每日趋势",action:e(b,{value:d,onChange:(s)=>h(s),options:ce}),children:e("div",{className:c("surface.empty"),children:"当前时间范围内暂无活跃数据"})});return e(p,{title:"每日趋势",action:e(b,{value:d,onChange:(s)=>h(s),options:ce}),children:n("div",{className:"p-4 space-y-4",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[n("div",{className:"flex flex-wrap items-center gap-x-3.5 gap-y-1 font-mono text-dim tabular-nums",children:[n("span",{children:["汇总 ",e("span",{className:"text-ink",children:F.totalText})]}),n("span",{children:["日均 ",e("span",{className:"text-ink",children:F.avgText})]}),n("span",{children:["峰值 ",e("span",{className:"text-ink",children:F.peakValueText}),F.peakDate!=="—"?n("span",{className:"text-faint",children:[" (",F.peakDate,")"]}):null]})]}),n("div",{className:"flex items-center gap-3 text-[11px] text-dim",children:[d==="tokens"&&n(f,{children:[n("span",{className:"inline-flex items-center gap-1.5",children:[e("span",{className:"size-2 rounded-full bg-accent/40"}),"缓存读"]}),n("span",{className:"inline-flex items-center gap-1.5",children:[e("span",{className:"size-2 rounded-full bg-accent"}),"输入"]}),n("span",{className:"inline-flex items-center gap-1.5",children:[e("span",{className:"size-2 rounded-full bg-success"}),"输出"]})]}),d==="duration"&&n(f,{children:[n("span",{className:"inline-flex items-center gap-1.5",children:[e("span",{className:"size-2 rounded-full bg-accent"}),"工作调度"]}),n("span",{className:"inline-flex items-center gap-1.5",children:[e("span",{className:"size-2 rounded-full bg-success"}),"模型推理"]})]}),d==="activity"&&n(f,{children:[n("span",{className:"inline-flex items-center gap-1.5",children:[e("span",{className:"size-2 rounded-full bg-accent"}),"助手回复"]}),n("span",{className:"inline-flex items-center gap-1.5",children:[e("span",{className:"size-2 rounded-full bg-success"}),"用户提问"]})]})]})]}),n("div",{className:"relative h-44 w-full pt-1",children:[n("div",{className:"absolute inset-0 flex flex-col justify-between pointer-events-none pb-5 text-[10px] text-faint/60",children:[e("div",{className:"border-b border-line/40 w-full"}),e("div",{className:"border-b border-line/30 w-full"}),e("div",{className:"border-b border-line/40 w-full"})]}),n("section",{"aria-label":"每日趋势柱状序列",className:"relative h-full flex flex-col justify-between",onMouseLeave:()=>C(null),children:[e("div",{className:"flex-1 flex items-end gap-1 sm:gap-1.5 pb-2",children:a.map((s)=>{let l=s.totalTokens;if(d==="duration")l=s.activeDurationMs;else if(d==="activity")l=s.assistantTurns+s.userMessages;let x=l<=0,T=x?0:Math.max(3,Math.min(100,l/z*100)),k=j?.date===s.date;return n("button",{type:"button","aria-label":`${s.date} 统计数据`,className:"flex-1 h-full flex flex-col justify-end items-center group cursor-pointer relative min-w-0 bg-transparent p-0 border-0 focus:outline-hidden",onMouseEnter:()=>C(s.date),onFocus:()=>C(s.date),onClick:()=>C(s.date),children:[e("div",{className:u("absolute inset-y-0 w-full rounded-xs transition-colors pointer-events-none",k?"bg-accent/10":"group-hover:bg-raised/60")}),x?e("div",{className:"h-1 w-full max-w-[24px] rounded-full bg-raised group-hover:bg-dim/30"}):n("div",{className:"w-full max-w-[24px] rounded-t-xs overflow-hidden flex flex-col justify-end transition-all duration-150",style:{height:`${T}%`},children:[d==="tokens"&&n(f,{children:[s.outputTokens>0&&e("div",{className:"bg-success transition-all duration-200",style:{height:`${s.outputTokens/s.totalTokens*100}%`}}),s.inputTokens+s.cacheWriteTokens>0&&e("div",{className:"bg-accent transition-all duration-200",style:{height:`${(s.inputTokens+s.cacheWriteTokens)/s.totalTokens*100}%`}}),s.cacheReadTokens>0&&e("div",{className:"bg-accent/40 transition-all duration-200",style:{height:`${s.cacheReadTokens/s.totalTokens*100}%`}})]}),d==="duration"&&n(f,{children:[s.generationMs>0&&e("div",{className:"bg-success transition-all duration-200",style:{height:`${Math.min(100,s.generationMs/Math.max(1,s.activeDurationMs)*100)}%`}}),e("div",{className:"bg-accent flex-1 transition-all duration-200"})]}),d==="activity"&&n(f,{children:[s.userMessages>0&&e("div",{className:"bg-success transition-all duration-200",style:{height:`${s.userMessages/Math.max(1,s.assistantTurns+s.userMessages)*100}%`}}),e("div",{className:"bg-accent flex-1 transition-all duration-200"})]})]}),k&&e("div",{className:"absolute -bottom-1 size-1 rounded-full bg-accent"})]},s.date)})}),e("div",{className:u("flex items-center pt-1.5 text-[10px] text-faint font-mono tabular-nums",a.length<=7?"gap-1 sm:gap-1.5":"justify-between"),children:m.map((s)=>e("div",{className:u("whitespace-nowrap",a.length<=7&&"flex-1 text-center"),children:W(s)},s))})]})]}),e("div",{className:"flex flex-wrap items-center justify-between gap-2 border-t border-line pt-3 font-mono text-xs tabular-nums",children:j?n(f,{children:[e("span",{className:"text-ink",children:Z(j.date)}),n("div",{className:"flex flex-wrap items-center gap-x-3.5 gap-y-1 text-dim",children:[n("span",{children:["Token ",e("span",{className:"text-ink",children:M(j.totalTokens)})]}),n("span",{children:["耗时 ",e("span",{className:"text-ink",children:P(j.activeDurationMs)})]}),n("span",{children:["交互 ",n("span",{className:"text-ink",children:[j.assistantTurns+j.userMessages," 轮"]})]}),n("span",{children:["工具 ",n("span",{className:"text-ink",children:[j.toolCalls," 次"]})]})]})]}):e("span",{className:"font-sans text-faint",children:"悬停柱状图查看单日明细"})})]})})}function pe(t){let{cn:u,SettingGroup:b}=y(),{daily:p,hourly:c}=t,[a,d]=r(null),h=v(()=>{let l=new Map;for(let T of c)l.set(T.hour,T);let x=[];for(let T=0;T<24;T++){let k=l.get(T);if(k)x.push(k);else x.push({hour:T,totalTokens:0,activeDurationMs:0,userMessages:0,assistantTurns:0,runs:0})}return x},[c]),w=v(()=>{let l=h[0];for(let x of h)if(!l||x.totalTokens>l.totalTokens)l=x;return l&&l.totalTokens>0?l:null},[h]),C=v(()=>h.reduce((l,x)=>l+x.totalTokens,0),[h]),D=v(()=>Math.max(1,...h.map((l)=>l.totalTokens)),[h]),F=v(()=>{if(C<=0)return 0;return h.filter((x)=>x.hour>=8&&x.hour<20).reduce((x,T)=>x+T.totalTokens,0)/C},[h,C]),j=v(()=>Math.max(1,...p.map((l)=>l.totalTokens)),[p]),z=v(()=>{let l=0,x=0;for(let T of p)if(T.totalTokens>0||T.activeDurationMs>0||T.runs>0){if(x++,x>l)l=x}else x=0;return l},[p]),m=v(()=>p.filter((l)=>l.totalTokens>0||l.activeDurationMs>0||l.runs>0).length,[p]),s=a!==null?h[a]:w;return n(b,{title:"活跃时段与热力",action:n("div",{className:"flex items-center gap-3 font-mono text-xs text-faint tabular-nums",children:[n("span",{children:["日间占比 ",B(F)]}),n("span",{children:["连续活跃 ",z," 天"]}),n("span",{children:["活跃 ",m,"/",p.length," 天"]})]}),children:[n("div",{className:"p-4 space-y-3",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[e("span",{className:"text-dim",children:"24 小时分布"}),s?n("div",{className:"flex items-center gap-3 font-mono text-dim tabular-nums",children:[n("span",{className:"text-ink",children:[a!==null?"时段 ":"高峰 ",String(s.hour).padStart(2,"0"),":00 -"," ",String((s.hour+1)%24).padStart(2,"0"),":00"]}),e("span",{className:"text-ink",children:M(s.totalTokens)}),s.activeDurationMs>0&&e("span",{children:P(s.activeDurationMs)})]}):e("span",{className:"text-faint",children:"暂无时段分布"})]}),n("section",{"aria-label":"24 小时活跃分布序列",className:"h-28 w-full flex flex-col justify-between pt-1",onMouseLeave:()=>d(null),children:[e("div",{className:"flex-1 flex items-end gap-1.5 pb-1.5",children:h.map((l)=>{let x=w?.hour===l.hour,T=a===l.hour,k=l.totalTokens>0?Math.max(6,l.totalTokens/D*100):0,H=`${String(l.hour).padStart(2,"0")}:00 - ${String((l.hour+1)%24).padStart(2,"0")}:00
2
2
  消耗: ${L(l.totalTokens)} Token
3
3
  耗时: ${P(l.activeDurationMs)}
4
4
  助手轮次: ${l.assistantTurns} 轮`;return e("button",{type:"button","aria-label":`${String(l.hour).padStart(2,"0")}:00 时段统计`,className:"flex-1 h-full flex flex-col justify-end items-center group relative cursor-pointer bg-transparent p-0 border-0 focus:outline-hidden",title:H,onMouseEnter:()=>d(l.hour),onFocus:()=>d(l.hour),onClick:()=>d(l.hour),children:k>0?e("div",{className:u("w-full max-w-[20px] rounded-t-xs transition-all duration-200",x||T?"bg-accent":"bg-accent/55 group-hover:bg-accent"),style:{height:`${k}%`}}):e("div",{className:"h-1 w-full max-w-[20px] rounded-full bg-raised group-hover:bg-dim/30"})},l.hour)})}),n("div",{className:"flex justify-between items-center text-[10px] text-faint font-mono pt-1.5 border-t border-line/40",children:[e("span",{children:"00:00"}),e("span",{children:"04:00"}),e("span",{children:"08:00"}),e("span",{children:"12:00"}),e("span",{children:"16:00"}),e("span",{children:"20:00"}),e("span",{children:"23:00"})]})]})]}),n("div",{className:"p-4 space-y-2.5",children:[n("div",{className:"text-xs text-dim",children:["自然日热力 (",p.length," 天)"]}),e("div",{className:"flex flex-wrap items-center gap-1.5",children:p.map((l)=>{let x="bg-raised";if(l.totalTokens>0){let k=l.totalTokens/j;if(k<=0.33)x="bg-accent/30";else if(k<=0.66)x="bg-accent/60";else x="bg-accent"}let T=`${Z(l.date)}
@@ -1,9 +1,9 @@
1
- import{t,a,Re,O,Jt,b,C,S,E,T,A,L,R,l,p,M,ze,pe,se,le,Ye,ge,ye}from"./chunk-tfqarvdx.js";import{Ft}from"./chunk-vasppf6b.js";import{je}from"./chunk-z5qn0xev.js";import{he}from"./chunk-sc63488q.js";import{ue}from"./chunk-1qh7f5kr.js";var tt=function(){var s=t(function(W,f,m,g){for(m=m||{},g=W.length;g--;m[W[g]]=f);return m},"o"),r=[1,18],n=[1,19],u=[1,20],o=[1,41],d=[1,26],k=[1,42],h=[1,24],D=[1,25],F=[1,32],V=[1,33],J=[1,34],_=[1,45],ve=[1,35],Ie=[1,36],Oe=[1,37],we=[1,38],Me=[1,27],Pe=[1,28],Ve=[1,29],Ge=[1,30],Ue=[1,31],N=[1,44],x=[1,46],v=[1,43],I=[1,47],Ke=[1,9],y=[1,8,9],be=[1,58],fe=[1,59],ke=[1,60],me=[1,61],Ce=[1,62],We=[1,63],Qe=[1,64],G=[1,8,9,41],st=[1,77],H=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],Ee=[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],Te=[13,60,86,100,102,103],Z=[13,60,73,74,86,100,102,103],it=[13,60,68,69,70,71,72,86,100,102,103],De=[1,103],ee=[1,121],te=[1,117],ie=[1,113],ae=[1,119],re=[1,114],ne=[1,115],oe=[1,116],ce=[1,118],de=[1,120],at=[22,50,60,61,82,86,87,88,89,90],rt=[1,128],Fe=[12,39],Xe=[1,8,9,39,41,44,46],Be=[1,8,9,22],nt=[1,153],lt=[1,8,9,61],Y=[1,8,9,22,50,60,61,82,86,87,88,89,90],He={trace:t(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:t(function(f,m,g,c,B,e,Ae){var i=e.length-1;switch(B){case 8:this.$=e[i-1];break;case 9:case 10:case 13:case 15:this.$=e[i];break;case 11:case 14:this.$=e[i-2]+"."+e[i];break;case 12:case 16:this.$=e[i-1]+e[i];break;case 17:case 18:this.$=e[i-1]+"~"+e[i]+"~";break;case 19:c.addRelation(e[i]);break;case 20:e[i-1].title=c.cleanupLabel(e[i]),c.addRelation(e[i-1]);break;case 31:this.$=e[i].trim(),c.setAccTitle(this.$);break;case 32:case 33:this.$=e[i].trim(),c.setAccDescription(this.$);break;case 34:c.addClassesToNamespace(e[i-3],e[i-1][0],e[i-1][1]),c.popNamespace();break;case 35:c.addClassesToNamespace(e[i-4],e[i-1][0],e[i-1][1]),c.popNamespace();break;case 36:this.$=c.addNamespace(e[i]);break;case 37:this.$=c.addNamespace(e[i-1],e[i]);break;case 38:this.$=[[e[i]],[]];break;case 39:this.$=[[e[i-1]],[]];break;case 40:e[i][0].unshift(e[i-2]),this.$=e[i];break;case 41:this.$=[[],[e[i]]];break;case 42:this.$=[[],[e[i-1]]];break;case 43:e[i][1].unshift(e[i-2]),this.$=e[i];break;case 44:case 45:this.$=[[],[]];break;case 46:this.$=e[i];break;case 48:c.setCssClass(e[i-2],e[i]);break;case 49:c.addMembers(e[i-3],e[i-1]);break;case 51:c.setCssClass(e[i-5],e[i-3]),c.addMembers(e[i-5],e[i-1]);break;case 52:c.addAnnotation(e[i-3],e[i-1]);break;case 53:c.addAnnotation(e[i-6],e[i-4]),c.addMembers(e[i-6],e[i-1]);break;case 54:c.addAnnotation(e[i-5],e[i-3]);break;case 55:this.$=e[i],c.addClass(e[i]);break;case 56:this.$=e[i-1],c.addClass(e[i-1]),c.setClassLabel(e[i-1],e[i]);break;case 60:c.addAnnotation(e[i],e[i-2]);break;case 61:case 74:this.$=[e[i]];break;case 62:e[i].push(e[i-1]),this.$=e[i];break;case 63:break;case 64:c.addMember(e[i-1],c.cleanupLabel(e[i]));break;case 65:break;case 66:break;case 67:this.$={id1:e[i-2],id2:e[i],relation:e[i-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:e[i-3],id2:e[i],relation:e[i-1],relationTitle1:e[i-2],relationTitle2:"none"};break;case 69:this.$={id1:e[i-3],id2:e[i],relation:e[i-2],relationTitle1:"none",relationTitle2:e[i-1]};break;case 70:this.$={id1:e[i-4],id2:e[i],relation:e[i-2],relationTitle1:e[i-3],relationTitle2:e[i-1]};break;case 71:this.$=c.addNote(e[i],e[i-1]);break;case 72:this.$=c.addNote(e[i]);break;case 73:this.$=e[i-2],c.defineClass(e[i-1],e[i]);break;case 75:this.$=e[i-2].concat([e[i]]);break;case 76:c.setDirection("TB");break;case 77:c.setDirection("BT");break;case 78:c.setDirection("RL");break;case 79:c.setDirection("LR");break;case 80:this.$={type1:e[i-2],type2:e[i],lineType:e[i-1]};break;case 81:this.$={type1:"none",type2:e[i],lineType:e[i-1]};break;case 82:this.$={type1:e[i-1],type2:"none",lineType:e[i]};break;case 83:this.$={type1:"none",type2:"none",lineType:e[i]};break;case 84:this.$=c.relationType.AGGREGATION;break;case 85:this.$=c.relationType.EXTENSION;break;case 86:this.$=c.relationType.COMPOSITION;break;case 87:this.$=c.relationType.DEPENDENCY;break;case 88:this.$=c.relationType.LOLLIPOP;break;case 89:this.$=c.lineType.LINE;break;case 90:this.$=c.lineType.DOTTED_LINE;break;case 91:case 97:this.$=e[i-2],c.setClickEvent(e[i-1],e[i]);break;case 92:case 98:this.$=e[i-3],c.setClickEvent(e[i-2],e[i-1]),c.setTooltip(e[i-2],e[i]);break;case 93:this.$=e[i-2],c.setLink(e[i-1],e[i]);break;case 94:this.$=e[i-3],c.setLink(e[i-2],e[i-1],e[i]);break;case 95:this.$=e[i-3],c.setLink(e[i-2],e[i-1]),c.setTooltip(e[i-2],e[i]);break;case 96:this.$=e[i-4],c.setLink(e[i-3],e[i-2],e[i]),c.setTooltip(e[i-3],e[i-1]);break;case 99:this.$=e[i-3],c.setClickEvent(e[i-2],e[i-1],e[i]);break;case 100:this.$=e[i-4],c.setClickEvent(e[i-3],e[i-2],e[i-1]),c.setTooltip(e[i-3],e[i]);break;case 101:this.$=e[i-3],c.setLink(e[i-2],e[i]);break;case 102:this.$=e[i-4],c.setLink(e[i-3],e[i-1],e[i]);break;case 103:this.$=e[i-4],c.setLink(e[i-3],e[i-1]),c.setTooltip(e[i-3],e[i]);break;case 104:this.$=e[i-5],c.setLink(e[i-4],e[i-2],e[i]),c.setTooltip(e[i-4],e[i-1]);break;case 105:this.$=e[i-2],c.setCssStyle(e[i-1],e[i]);break;case 106:c.setCssClass(e[i-1],e[i]);break;case 107:this.$=[e[i]];break;case 108:e[i-2].push(e[i]),this.$=e[i-2];break;case 110:this.$=e[i-1]+e[i];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:r,35:n,37:u,38:22,42:o,43:23,46:d,48:k,51:h,52:D,54:F,56:V,57:J,60:_,62:ve,63:Ie,64:Oe,65:we,75:Me,76:Pe,78:Ve,82:Ge,83:Ue,86:N,100:x,102:v,103:I},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},s(Ke,[2,5],{8:[1,48]}),{8:[1,49]},s(y,[2,19],{22:[1,50]}),s(y,[2,21]),s(y,[2,22]),s(y,[2,23]),s(y,[2,24]),s(y,[2,25]),s(y,[2,26]),s(y,[2,27]),s(y,[2,28]),s(y,[2,29]),s(y,[2,30]),{34:[1,51]},{36:[1,52]},s(y,[2,33]),s(y,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:be,69:fe,70:ke,71:me,72:Ce,73:We,74:Qe}),{39:[1,65]},s(G,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),s(y,[2,65]),s(y,[2,66]),{16:69,60:_,86:N,100:x,102:v},{16:39,17:40,19:70,60:_,86:N,100:x,102:v,103:I},{16:39,17:40,19:71,60:_,86:N,100:x,102:v,103:I},{16:39,17:40,19:72,60:_,86:N,100:x,102:v,103:I},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:_,86:N,100:x,102:v,103:I},{13:st,55:76},{58:78,60:[1,79]},s(y,[2,76]),s(y,[2,77]),s(y,[2,78]),s(y,[2,79]),s(H,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:_,86:N,100:x,102:v,103:I}),s(H,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:_,86:N,100:x,102:v,103:I},{16:39,17:40,19:87,60:_,86:N,100:x,102:v,103:I},s(Ee,[2,133]),s(Ee,[2,134]),s(Ee,[2,135]),s(Ee,[2,136]),s([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),s(Ke,[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:r,35:n,37:u,42:o,46:d,48:k,51:h,52:D,54:F,56:V,57:J,60:_,62:ve,63:Ie,64:Oe,65:we,75:Me,76:Pe,78:Ve,82:Ge,83:Ue,86:N,100:x,102:v,103:I}),{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:r,35:n,37:u,38:22,42:o,43:23,46:d,48:k,51:h,52:D,54:F,56:V,57:J,60:_,62:ve,63:Ie,64:Oe,65:we,75:Me,76:Pe,78:Ve,82:Ge,83:Ue,86:N,100:x,102:v,103:I},s(y,[2,20]),s(y,[2,31]),s(y,[2,32]),{13:[1,91],16:39,17:40,19:90,60:_,86:N,100:x,102:v,103:I},{53:92,66:56,67:57,68:be,69:fe,70:ke,71:me,72:Ce,73:We,74:Qe},s(y,[2,64]),{67:93,73:We,74:Qe},s(Te,[2,83],{66:94,68:be,69:fe,70:ke,71:me,72:Ce}),s(Z,[2,84]),s(Z,[2,85]),s(Z,[2,86]),s(Z,[2,87]),s(Z,[2,88]),s(it,[2,89]),s(it,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:o,43:23,48:k,54:F,56:V},{16:100,60:_,86:N,100:x,102:v},{41:[1,102],45:101,51:De},{16:104,60:_,86:N,100:x,102:v},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:ee,50:te,59:110,60:ie,82:ae,84:111,85:112,86:re,87:ne,88:oe,89:ce,90:de},{60:[1,122]},{13:st,55:123},s(G,[2,72]),s(G,[2,138]),{22:ee,50:te,59:124,60:ie,61:[1,125],82:ae,84:111,85:112,86:re,87:ne,88:oe,89:ce,90:de},s(at,[2,74]),{16:39,17:40,19:126,60:_,86:N,100:x,102:v,103:I},s(H,[2,16]),s(H,[2,17]),s(H,[2,18]),{11:127,12:rt,39:[2,36]},s(Fe,[2,9],{16:85,17:86,15:130,18:[1,129],60:_,86:N,100:x,102:v,103:I}),s(Fe,[2,10]),s(Xe,[2,55],{11:131,12:rt}),s(Ke,[2,7]),{9:[1,132]},s(Be,[2,67]),{16:39,17:40,19:133,60:_,86:N,100:x,102:v,103:I},{13:[1,135],16:39,17:40,19:134,60:_,86:N,100:x,102:v,103:I},s(Te,[2,82],{66:136,68:be,69:fe,70:ke,71:me,72:Ce}),s(Te,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:o,43:23,48:k,54:F,56:V},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},s(G,[2,48],{39:[1,142]}),{41:[1,143]},s(G,[2,50]),{41:[2,61],45:144,51:De},{47:[1,145]},{16:39,17:40,19:146,60:_,86:N,100:x,102:v,103:I},s(y,[2,91],{13:[1,147]}),s(y,[2,93],{13:[1,149],77:[1,148]}),s(y,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},s(y,[2,105],{61:nt}),s(lt,[2,107],{85:154,22:ee,50:te,60:ie,82:ae,86:re,87:ne,88:oe,89:ce,90:de}),s(Y,[2,109]),s(Y,[2,111]),s(Y,[2,112]),s(Y,[2,113]),s(Y,[2,114]),s(Y,[2,115]),s(Y,[2,116]),s(Y,[2,117]),s(Y,[2,118]),s(Y,[2,119]),s(y,[2,106]),s(G,[2,71]),s(y,[2,73],{61:nt}),{60:[1,155]},s(H,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:_,86:N,100:x,102:v,103:I},s(Fe,[2,12]),s(Xe,[2,56]),{1:[2,4]},s(Be,[2,69]),s(Be,[2,68]),{16:39,17:40,19:158,60:_,86:N,100:x,102:v,103:I},s(Te,[2,80]),s(G,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:o,43:23,48:k,54:F,56:V},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:o,43:23,48:k,54:F,56:V},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:o,43:23,48:k,54:F,56:V},{45:163,51:De},s(G,[2,49]),{41:[2,62]},s(G,[2,52],{39:[1,164]}),s(y,[2,60]),s(y,[2,92]),s(y,[2,94]),s(y,[2,95],{77:[1,165]}),s(y,[2,98]),s(y,[2,99],{13:[1,166]}),s(y,[2,101],{13:[1,168],77:[1,167]}),{22:ee,50:te,60:ie,82:ae,84:169,85:112,86:re,87:ne,88:oe,89:ce,90:de},s(Y,[2,110]),s(at,[2,75]),{14:[1,170]},s(Fe,[2,11]),s(Be,[2,70]),s(G,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:De},s(y,[2,96]),s(y,[2,100]),s(y,[2,102]),s(y,[2,103],{77:[1,174]}),s(lt,[2,108],{85:154,22:ee,50:te,60:ie,82:ae,86:re,87:ne,88:oe,89:ce,90:de}),s(Xe,[2,8]),s(G,[2,51]),{41:[1,175]},s(G,[2,54]),s(y,[2,104]),s(G,[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:t(function(f,m){if(m.recoverable)this.trace(f);else{var g=Error(f);throw g.hash=m,g}},"parseError"),parse:t(function(f){var m=this,g=[0],c=[],B=[null],e=[],Ae=this.table,i="",Se=0,ut=0,ot=0,kt=2,ct=1,mt=e.slice.call(arguments,1),w=Object.create(this.lexer),Q={yy:{}};for(var qe in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,qe))Q.yy[qe]=this.yy[qe];if(w.setInput(f,Q.yy),Q.yy.lexer=w,Q.yy.parser=this,typeof w.yylloc>"u")w.yylloc={};var Je=w.yylloc;e.push(Je);var gt=w.options&&w.options.ranges;if(typeof Q.yy.parseError==="function")this.parseError=Q.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function Ct(z){g.length=g.length-2*z,B.length=B.length-z,e.length=e.length-z}t(Ct,"popStack");function ht(){var z=c.pop()||w.lex()||ct;if(typeof z!=="number"){if(z instanceof Array)c=z,z=c.pop();z=m.symbols_[z]||z}return z}t(ht,"lex");var P,Ze,j,U,xt,$e,q={},Ne,K,dt,Le;while(!0){if(j=g[g.length-1],this.defaultActions[j])U=this.defaultActions[j];else{if(P===null||typeof P>"u")P=ht();U=Ae[j]&&Ae[j][P]}if(typeof U>"u"||!U.length||!U[0]){var et="";Le=[];for(Ne in Ae[j])if(this.terminals_[Ne]&&Ne>kt)Le.push("'"+this.terminals_[Ne]+"'");if(w.showPosition)et="Parse error on line "+(Se+1)+`:
2
- `+w.showPosition()+`
3
- Expecting `+Le.join(", ")+", got '"+(this.terminals_[P]||P)+"'";else et="Parse error on line "+(Se+1)+": Unexpected "+(P==ct?"end of input":"'"+(this.terminals_[P]||P)+"'");this.parseError(et,{text:w.match,token:this.terminals_[P]||P,line:w.yylineno,loc:Je,expected:Le})}if(U[0]instanceof Array&&U.length>1)throw Error("Parse Error: multiple actions possible at state: "+j+", token: "+P);switch(U[0]){case 1:if(g.push(P),B.push(w.yytext),e.push(w.yylloc),g.push(U[1]),P=null,!Ze){if(ut=w.yyleng,i=w.yytext,Se=w.yylineno,Je=w.yylloc,ot>0)ot--}else P=Ze,Ze=null;break;case 2:if(K=this.productions_[U[1]][1],q.$=B[B.length-K],q._$={first_line:e[e.length-(K||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(K||1)].first_column,last_column:e[e.length-1].last_column},gt)q._$.range=[e[e.length-(K||1)].range[0],e[e.length-1].range[1]];if($e=this.performAction.apply(q,[i,ut,Se,Q.yy,U[1],B,e].concat(mt)),typeof $e<"u")return $e;if(K)g=g.slice(0,-1*K*2),B=B.slice(0,-1*K),e=e.slice(0,-1*K);g.push(this.productions_[U[1]][0]),B.push(q.$),e.push(q._$),dt=Ae[g[g.length-2]][g[g.length-1]],g.push(dt);break;case 3:return!0}}return!0},"parse")},ft=function(){var W={EOF:1,parseError:t(function(m,g){if(this.yy.parser)this.yy.parser.parseError(m,g);else throw Error(m)},"parseError"),setInput:t(function(f,m){if(this.yy=m||this.yy||{},this._input=f,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];return this.offset=0,this},"setInput"),input:t(function(){var f=this._input[0];this.yytext+=f,this.yyleng++,this.offset++,this.match+=f,this.matched+=f;var m=f.match(/(?:\r\n?|\n).*/g);if(m)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),f},"input"),unput:t(function(f){var m=f.length,g=f.split(/(?:\r\n?|\n)/g);this._input=f+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var c=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1)this.yylineno-=g.length-1;var B=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===c.length?this.yylloc.first_column:0)+c[c.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges)this.yylloc.range=[B[0],B[0]+this.yyleng-m];return this.yyleng=this.yytext.length,this},"unput"),more:t(function(){return this._more=!0,this},"more"),reject:t(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).
1
+ import{t,a,Re,O,Kt,b,C,S,E,T,A,L,R,l,p,N,ze,pe,se,le,Ze,ge,ye}from"./chunk-e763h2px.js";import{Bt}from"./chunk-8csw0mvf.js";import{qe}from"./chunk-m24yb8md.js";import{he}from"./chunk-tpdcrrf1.js";import{ue}from"./chunk-n33753da.js";var tt=function(){var s=t(function(W,f,m,g){for(m=m||{},g=W.length;g--;m[W[g]]=f);return m},"o"),r=[1,18],n=[1,19],u=[1,20],o=[1,41],d=[1,26],k=[1,42],h=[1,24],D=[1,25],F=[1,32],V=[1,33],J=[1,34],_=[1,45],ve=[1,35],Ie=[1,36],Oe=[1,37],we=[1,38],Me=[1,27],Pe=[1,28],Ve=[1,29],Ge=[1,30],Ue=[1,31],x=[1,44],v=[1,46],I=[1,43],w=[1,47],Ye=[1,9],y=[1,8,9],be=[1,58],fe=[1,59],ke=[1,60],me=[1,61],Ce=[1,62],Ke=[1,63],We=[1,64],G=[1,8,9,41],st=[1,77],H=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],Ee=[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],Te=[13,60,86,100,102,103],Z=[13,60,73,74,86,100,102,103],it=[13,60,68,69,70,71,72,86,100,102,103],De=[1,103],ee=[1,121],te=[1,117],ie=[1,113],ae=[1,119],re=[1,114],ne=[1,115],oe=[1,116],ce=[1,118],de=[1,120],at=[22,50,60,61,82,86,87,88,89,90],rt=[1,128],Fe=[12,39],Qe=[1,8,9,39,41,44,46],Be=[1,8,9,22],nt=[1,153],lt=[1,8,9,61],Y=[1,8,9,22,50,60,61,82,86,87,88,89,90],je={trace:t(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:t(function(f,m,g,c,B,e,Ae){var i=e.length-1;switch(B){case 8:this.$=e[i-1];break;case 9:case 10:case 13:case 15:this.$=e[i];break;case 11:case 14:this.$=e[i-2]+"."+e[i];break;case 12:case 16:this.$=e[i-1]+e[i];break;case 17:case 18:this.$=e[i-1]+"~"+e[i]+"~";break;case 19:c.addRelation(e[i]);break;case 20:e[i-1].title=c.cleanupLabel(e[i]),c.addRelation(e[i-1]);break;case 31:this.$=e[i].trim(),c.setAccTitle(this.$);break;case 32:case 33:this.$=e[i].trim(),c.setAccDescription(this.$);break;case 34:c.addClassesToNamespace(e[i-3],e[i-1][0],e[i-1][1]),c.popNamespace();break;case 35:c.addClassesToNamespace(e[i-4],e[i-1][0],e[i-1][1]),c.popNamespace();break;case 36:this.$=c.addNamespace(e[i]);break;case 37:this.$=c.addNamespace(e[i-1],e[i]);break;case 38:this.$=[[e[i]],[]];break;case 39:this.$=[[e[i-1]],[]];break;case 40:e[i][0].unshift(e[i-2]),this.$=e[i];break;case 41:this.$=[[],[e[i]]];break;case 42:this.$=[[],[e[i-1]]];break;case 43:e[i][1].unshift(e[i-2]),this.$=e[i];break;case 44:case 45:this.$=[[],[]];break;case 46:this.$=e[i];break;case 48:c.setCssClass(e[i-2],e[i]);break;case 49:c.addMembers(e[i-3],e[i-1]);break;case 51:c.setCssClass(e[i-5],e[i-3]),c.addMembers(e[i-5],e[i-1]);break;case 52:c.addAnnotation(e[i-3],e[i-1]);break;case 53:c.addAnnotation(e[i-6],e[i-4]),c.addMembers(e[i-6],e[i-1]);break;case 54:c.addAnnotation(e[i-5],e[i-3]);break;case 55:this.$=e[i],c.addClass(e[i]);break;case 56:this.$=e[i-1],c.addClass(e[i-1]),c.setClassLabel(e[i-1],e[i]);break;case 60:c.addAnnotation(e[i],e[i-2]);break;case 61:case 74:this.$=[e[i]];break;case 62:e[i].push(e[i-1]),this.$=e[i];break;case 63:break;case 64:c.addMember(e[i-1],c.cleanupLabel(e[i]));break;case 65:break;case 66:break;case 67:this.$={id1:e[i-2],id2:e[i],relation:e[i-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:e[i-3],id2:e[i],relation:e[i-1],relationTitle1:e[i-2],relationTitle2:"none"};break;case 69:this.$={id1:e[i-3],id2:e[i],relation:e[i-2],relationTitle1:"none",relationTitle2:e[i-1]};break;case 70:this.$={id1:e[i-4],id2:e[i],relation:e[i-2],relationTitle1:e[i-3],relationTitle2:e[i-1]};break;case 71:this.$=c.addNote(e[i],e[i-1]);break;case 72:this.$=c.addNote(e[i]);break;case 73:this.$=e[i-2],c.defineClass(e[i-1],e[i]);break;case 75:this.$=e[i-2].concat([e[i]]);break;case 76:c.setDirection("TB");break;case 77:c.setDirection("BT");break;case 78:c.setDirection("RL");break;case 79:c.setDirection("LR");break;case 80:this.$={type1:e[i-2],type2:e[i],lineType:e[i-1]};break;case 81:this.$={type1:"none",type2:e[i],lineType:e[i-1]};break;case 82:this.$={type1:e[i-1],type2:"none",lineType:e[i]};break;case 83:this.$={type1:"none",type2:"none",lineType:e[i]};break;case 84:this.$=c.relationType.AGGREGATION;break;case 85:this.$=c.relationType.EXTENSION;break;case 86:this.$=c.relationType.COMPOSITION;break;case 87:this.$=c.relationType.DEPENDENCY;break;case 88:this.$=c.relationType.LOLLIPOP;break;case 89:this.$=c.lineType.LINE;break;case 90:this.$=c.lineType.DOTTED_LINE;break;case 91:case 97:this.$=e[i-2],c.setClickEvent(e[i-1],e[i]);break;case 92:case 98:this.$=e[i-3],c.setClickEvent(e[i-2],e[i-1]),c.setTooltip(e[i-2],e[i]);break;case 93:this.$=e[i-2],c.setLink(e[i-1],e[i]);break;case 94:this.$=e[i-3],c.setLink(e[i-2],e[i-1],e[i]);break;case 95:this.$=e[i-3],c.setLink(e[i-2],e[i-1]),c.setTooltip(e[i-2],e[i]);break;case 96:this.$=e[i-4],c.setLink(e[i-3],e[i-2],e[i]),c.setTooltip(e[i-3],e[i-1]);break;case 99:this.$=e[i-3],c.setClickEvent(e[i-2],e[i-1],e[i]);break;case 100:this.$=e[i-4],c.setClickEvent(e[i-3],e[i-2],e[i-1]),c.setTooltip(e[i-3],e[i]);break;case 101:this.$=e[i-3],c.setLink(e[i-2],e[i]);break;case 102:this.$=e[i-4],c.setLink(e[i-3],e[i-1],e[i]);break;case 103:this.$=e[i-4],c.setLink(e[i-3],e[i-1]),c.setTooltip(e[i-3],e[i]);break;case 104:this.$=e[i-5],c.setLink(e[i-4],e[i-2],e[i]),c.setTooltip(e[i-4],e[i-1]);break;case 105:this.$=e[i-2],c.setCssStyle(e[i-1],e[i]);break;case 106:c.setCssClass(e[i-1],e[i]);break;case 107:this.$=[e[i]];break;case 108:e[i-2].push(e[i]),this.$=e[i-2];break;case 110:this.$=e[i-1]+e[i];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:r,35:n,37:u,38:22,42:o,43:23,46:d,48:k,51:h,52:D,54:F,56:V,57:J,60:_,62:ve,63:Ie,64:Oe,65:we,75:Me,76:Pe,78:Ve,82:Ge,83:Ue,86:x,100:v,102:I,103:w},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},s(Ye,[2,5],{8:[1,48]}),{8:[1,49]},s(y,[2,19],{22:[1,50]}),s(y,[2,21]),s(y,[2,22]),s(y,[2,23]),s(y,[2,24]),s(y,[2,25]),s(y,[2,26]),s(y,[2,27]),s(y,[2,28]),s(y,[2,29]),s(y,[2,30]),{34:[1,51]},{36:[1,52]},s(y,[2,33]),s(y,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:be,69:fe,70:ke,71:me,72:Ce,73:Ke,74:We}),{39:[1,65]},s(G,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),s(y,[2,65]),s(y,[2,66]),{16:69,60:_,86:x,100:v,102:I},{16:39,17:40,19:70,60:_,86:x,100:v,102:I,103:w},{16:39,17:40,19:71,60:_,86:x,100:v,102:I,103:w},{16:39,17:40,19:72,60:_,86:x,100:v,102:I,103:w},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:_,86:x,100:v,102:I,103:w},{13:st,55:76},{58:78,60:[1,79]},s(y,[2,76]),s(y,[2,77]),s(y,[2,78]),s(y,[2,79]),s(H,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:_,86:x,100:v,102:I,103:w}),s(H,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:_,86:x,100:v,102:I,103:w},{16:39,17:40,19:87,60:_,86:x,100:v,102:I,103:w},s(Ee,[2,133]),s(Ee,[2,134]),s(Ee,[2,135]),s(Ee,[2,136]),s([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),s(Ye,[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:r,35:n,37:u,42:o,46:d,48:k,51:h,52:D,54:F,56:V,57:J,60:_,62:ve,63:Ie,64:Oe,65:we,75:Me,76:Pe,78:Ve,82:Ge,83:Ue,86:x,100:v,102:I,103:w}),{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:r,35:n,37:u,38:22,42:o,43:23,46:d,48:k,51:h,52:D,54:F,56:V,57:J,60:_,62:ve,63:Ie,64:Oe,65:we,75:Me,76:Pe,78:Ve,82:Ge,83:Ue,86:x,100:v,102:I,103:w},s(y,[2,20]),s(y,[2,31]),s(y,[2,32]),{13:[1,91],16:39,17:40,19:90,60:_,86:x,100:v,102:I,103:w},{53:92,66:56,67:57,68:be,69:fe,70:ke,71:me,72:Ce,73:Ke,74:We},s(y,[2,64]),{67:93,73:Ke,74:We},s(Te,[2,83],{66:94,68:be,69:fe,70:ke,71:me,72:Ce}),s(Z,[2,84]),s(Z,[2,85]),s(Z,[2,86]),s(Z,[2,87]),s(Z,[2,88]),s(it,[2,89]),s(it,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:o,43:23,48:k,54:F,56:V},{16:100,60:_,86:x,100:v,102:I},{41:[1,102],45:101,51:De},{16:104,60:_,86:x,100:v,102:I},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:ee,50:te,59:110,60:ie,82:ae,84:111,85:112,86:re,87:ne,88:oe,89:ce,90:de},{60:[1,122]},{13:st,55:123},s(G,[2,72]),s(G,[2,138]),{22:ee,50:te,59:124,60:ie,61:[1,125],82:ae,84:111,85:112,86:re,87:ne,88:oe,89:ce,90:de},s(at,[2,74]),{16:39,17:40,19:126,60:_,86:x,100:v,102:I,103:w},s(H,[2,16]),s(H,[2,17]),s(H,[2,18]),{11:127,12:rt,39:[2,36]},s(Fe,[2,9],{16:85,17:86,15:130,18:[1,129],60:_,86:x,100:v,102:I,103:w}),s(Fe,[2,10]),s(Qe,[2,55],{11:131,12:rt}),s(Ye,[2,7]),{9:[1,132]},s(Be,[2,67]),{16:39,17:40,19:133,60:_,86:x,100:v,102:I,103:w},{13:[1,135],16:39,17:40,19:134,60:_,86:x,100:v,102:I,103:w},s(Te,[2,82],{66:136,68:be,69:fe,70:ke,71:me,72:Ce}),s(Te,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:o,43:23,48:k,54:F,56:V},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},s(G,[2,48],{39:[1,142]}),{41:[1,143]},s(G,[2,50]),{41:[2,61],45:144,51:De},{47:[1,145]},{16:39,17:40,19:146,60:_,86:x,100:v,102:I,103:w},s(y,[2,91],{13:[1,147]}),s(y,[2,93],{13:[1,149],77:[1,148]}),s(y,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},s(y,[2,105],{61:nt}),s(lt,[2,107],{85:154,22:ee,50:te,60:ie,82:ae,86:re,87:ne,88:oe,89:ce,90:de}),s(Y,[2,109]),s(Y,[2,111]),s(Y,[2,112]),s(Y,[2,113]),s(Y,[2,114]),s(Y,[2,115]),s(Y,[2,116]),s(Y,[2,117]),s(Y,[2,118]),s(Y,[2,119]),s(y,[2,106]),s(G,[2,71]),s(y,[2,73],{61:nt}),{60:[1,155]},s(H,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:_,86:x,100:v,102:I,103:w},s(Fe,[2,12]),s(Qe,[2,56]),{1:[2,4]},s(Be,[2,69]),s(Be,[2,68]),{16:39,17:40,19:158,60:_,86:x,100:v,102:I,103:w},s(Te,[2,80]),s(G,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:o,43:23,48:k,54:F,56:V},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:o,43:23,48:k,54:F,56:V},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:o,43:23,48:k,54:F,56:V},{45:163,51:De},s(G,[2,49]),{41:[2,62]},s(G,[2,52],{39:[1,164]}),s(y,[2,60]),s(y,[2,92]),s(y,[2,94]),s(y,[2,95],{77:[1,165]}),s(y,[2,98]),s(y,[2,99],{13:[1,166]}),s(y,[2,101],{13:[1,168],77:[1,167]}),{22:ee,50:te,60:ie,82:ae,84:169,85:112,86:re,87:ne,88:oe,89:ce,90:de},s(Y,[2,110]),s(at,[2,75]),{14:[1,170]},s(Fe,[2,11]),s(Be,[2,70]),s(G,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:De},s(y,[2,96]),s(y,[2,100]),s(y,[2,102]),s(y,[2,103],{77:[1,174]}),s(lt,[2,108],{85:154,22:ee,50:te,60:ie,82:ae,86:re,87:ne,88:oe,89:ce,90:de}),s(Qe,[2,8]),s(G,[2,51]),{41:[1,175]},s(G,[2,54]),s(y,[2,104]),s(G,[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:t(function(f,m){if(m.recoverable)this.trace(f);else{var g=Error(f);throw g.hash=m,g}},"parseError"),parse:t(function(f){var m=this,g=[0],c=[],B=[null],e=[],Ae=this.table,i="",Se=0,ut=0,ot=0,kt=2,ct=1,mt=e.slice.call(arguments,1),M=Object.create(this.lexer),Q={yy:{}};for(var Xe in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,Xe))Q.yy[Xe]=this.yy[Xe];if(M.setInput(f,Q.yy),Q.yy.lexer=M,Q.yy.parser=this,typeof M.yylloc>"u")M.yylloc={};var He=M.yylloc;e.push(He);var gt=M.options&&M.options.ranges;if(typeof Q.yy.parseError==="function")this.parseError=Q.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function Ct(z){g.length=g.length-2*z,B.length=B.length-z,e.length=e.length-z}t(Ct,"popStack");function ht(){var z=c.pop()||M.lex()||ct;if(typeof z!=="number"){if(z instanceof Array)c=z,z=c.pop();z=m.symbols_[z]||z}return z}t(ht,"lex");var P,Je,j,U,xt,$e,q={},Ne,K,dt,Le;while(!0){if(j=g[g.length-1],this.defaultActions[j])U=this.defaultActions[j];else{if(P===null||typeof P>"u")P=ht();U=Ae[j]&&Ae[j][P]}if(typeof U>"u"||!U.length||!U[0]){var et="";Le=[];for(Ne in Ae[j])if(this.terminals_[Ne]&&Ne>kt)Le.push("'"+this.terminals_[Ne]+"'");if(M.showPosition)et="Parse error on line "+(Se+1)+`:
2
+ `+M.showPosition()+`
3
+ Expecting `+Le.join(", ")+", got '"+(this.terminals_[P]||P)+"'";else et="Parse error on line "+(Se+1)+": Unexpected "+(P==ct?"end of input":"'"+(this.terminals_[P]||P)+"'");this.parseError(et,{text:M.match,token:this.terminals_[P]||P,line:M.yylineno,loc:He,expected:Le})}if(U[0]instanceof Array&&U.length>1)throw Error("Parse Error: multiple actions possible at state: "+j+", token: "+P);switch(U[0]){case 1:if(g.push(P),B.push(M.yytext),e.push(M.yylloc),g.push(U[1]),P=null,!Je){if(ut=M.yyleng,i=M.yytext,Se=M.yylineno,He=M.yylloc,ot>0)ot--}else P=Je,Je=null;break;case 2:if(K=this.productions_[U[1]][1],q.$=B[B.length-K],q._$={first_line:e[e.length-(K||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(K||1)].first_column,last_column:e[e.length-1].last_column},gt)q._$.range=[e[e.length-(K||1)].range[0],e[e.length-1].range[1]];if($e=this.performAction.apply(q,[i,ut,Se,Q.yy,U[1],B,e].concat(mt)),typeof $e<"u")return $e;if(K)g=g.slice(0,-1*K*2),B=B.slice(0,-1*K),e=e.slice(0,-1*K);g.push(this.productions_[U[1]][0]),B.push(q.$),e.push(q._$),dt=Ae[g[g.length-2]][g[g.length-1]],g.push(dt);break;case 3:return!0}}return!0},"parse")},ft=function(){var W={EOF:1,parseError:t(function(m,g){if(this.yy.parser)this.yy.parser.parseError(m,g);else throw Error(m)},"parseError"),setInput:t(function(f,m){if(this.yy=m||this.yy||{},this._input=f,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];return this.offset=0,this},"setInput"),input:t(function(){var f=this._input[0];this.yytext+=f,this.yyleng++,this.offset++,this.match+=f,this.matched+=f;var m=f.match(/(?:\r\n?|\n).*/g);if(m)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),f},"input"),unput:t(function(f){var m=f.length,g=f.split(/(?:\r\n?|\n)/g);this._input=f+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-m),this.offset-=m;var c=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1)this.yylineno-=g.length-1;var B=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===c.length?this.yylloc.first_column:0)+c[c.length-g.length].length-g[0].length:this.yylloc.first_column-m},this.options.ranges)this.yylloc.range=[B[0],B[0]+this.yyleng-m];return this.yyleng=this.yytext.length,this},"unput"),more:t(function(){return this._more=!0,this},"more"),reject:t(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
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:t(function(f){this.unput(this.match.slice(f))},"less"),pastInput:t(function(){var f=this.matched.substr(0,this.matched.length-this.match.length);return(f.length>20?"...":"")+f.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:t(function(){var f=this.match;if(f.length<20)f+=this._input.substr(0,20-f.length);return(f.substr(0,20)+(f.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:t(function(){var f=this.pastInput(),m=Array(f.length+1).join("-");return f+this.upcomingInput()+`
5
5
  `+m+"^"},"showPosition"),test_match:t(function(f,m){var g,c,B;if(this.options.backtrack_lexer){if(B={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)B.yylloc.range=this.yylloc.range.slice(0)}if(c=f[0].match(/(?:\r\n?|\n).*/g),c)this.yylineno+=c.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:c?c[c.length-1].length-c[c.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+f[0].length},this.yytext+=f[0],this.match+=f[0],this.matches=f,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(f[0].length),this.matched+=f[0],g=this.performAction.call(this,this.yy,this,m,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(g)return g;else if(this._backtrack){for(var e in B)this[e]=B[e];return!1}return!1},"test_match"),next:t(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var f,m,g,c;if(!this._more)this.yytext="",this.match="";var B=this._currentRules();for(var e=0;e<B.length;e++)if(g=this._input.match(this.rules[B[e]]),g&&(!m||g[0].length>m[0].length)){if(m=g,c=e,this.options.backtrack_lexer)if(f=this.test_match(g,B[e]),f!==!1)return f;else if(this._backtrack){m=!1;continue}else return!1;else if(!this.options.flex)break}if(m){if(f=this.test_match(m,B[c]),f!==!1)return f;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
- `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:t(function(){var m=this.next();if(m)return m;else return this.lex()},"lex"),begin:t(function(m){this.conditionStack.push(m)},"begin"),popState:t(function(){var m=this.conditionStack.length-1;if(m>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:t(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:t(function(m){if(m=this.conditionStack.length-1-Math.abs(m||0),m>=0)return this.conditionStack[m];else return"INITIAL"},"topState"),pushState:t(function(m){this.begin(m)},"pushState"),stateStackSize:t(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:t(function(m,g,c,B){var e=B;switch(c){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;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),35;break;case 9:return this.popState(),"acc_descr_value";break;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;break;case 30:return this.popState(),8;break;case 31:break;case 32:return this.begin("namespace-body"),39;break;case 33:this.popState(),this.less(0);break;case 34:return this.popState(),41;break;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;break;case 40:return this.popState(),8;break;case 41:break;case 42:return this.popState(),this.popState(),41;break;case 43:return this.begin("class-body"),39;break;case 44:return this.popState(),41;break;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 W}();He.lexer=ft;function _e(){this.yy={}}return t(_e,"Parser"),_e.prototype=He,He.Parser=_e,new _e}();tt.parser=tt;var Et=tt,pt=["#","+","~","-",""],At=class{static{t(this,"ClassMember")}constructor(s,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";let n=O(s,l());this.parseMember(n)}getDisplayDetails(){let s=this.visibility+Jt(this.id);if(this.memberType==="method"){if(s+=`(${Jt(this.parameters.trim())})`,this.returnType)s+=" : "+Jt(this.returnType)}s=s.trim();let r=this.parseClassifier();return{displayText:s,cssStyle:r}}parseMember(s){let r="";if(this.memberType==="method"){let o=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(s);if(o){let d=o[1]?o[1].trim():"";if(pt.includes(d))this.visibility=d;if(this.id=o[2],this.parameters=o[3]?o[3].trim():"",r=o[4]?o[4].trim():"",this.returnType=o[5]?o[5].trim():"",r===""){let k=this.returnType.substring(this.returnType.length-1);if(/[$*]/.exec(k))r=k,this.returnType=this.returnType.substring(0,this.returnType.length-1)}}}else{let u=s.length,o=s.substring(0,1),d=s.substring(u-1);if(pt.includes(o))this.visibility=o;if(/[$*]/.exec(d))r=d;this.id=s.substring(this.visibility===""?0:1,r===""?u:u-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let n=`${this.visibility?"\\"+this.visibility:""}${Jt(this.id)}${this.memberType==="method"?`(${Jt(this.parameters)})${this.returnType?" : "+Jt(this.returnType):""}`:""}`;if(this.text=n.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""}}},xe="classId-",bt=0,X=t((s)=>b.sanitizeText(s,l()),"sanitizeText"),Tt=class s{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=t((r)=>{let n=Ft();p(r).select("svg").selectAll("g").filter(function(){return p(this).attr("title")!==null}).on("mouseover",(d)=>{let k=p(d.currentTarget),h=k.attr("title");if(!h)return;let D=d.currentTarget.getBoundingClientRect();n.transition().duration(200).style("opacity",".9"),n.html(Re.sanitize(h)).style("left",`${window.scrollX+D.left+D.width/2}px`).style("top",`${window.scrollY+D.bottom+4}px`),k.classed("hover",!0)}).on("mouseout",(d)=>{n.transition().duration(500).style("opacity",0),p(d.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=S,this.getAccTitle=E,this.setAccDescription=T,this.getAccDescription=A,this.setDiagramTitle=L,this.getDiagramTitle=R,this.getConfig=t(()=>l().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)}static{t(this,"ClassDB")}splitClassNameAndType(r){let n=b.sanitizeText(r,l()),u="",o=n;if(n.indexOf("~")>0){let d=n.split("~");o=X(d[0]),u=X(d[1])}return{className:o,type:u}}setClassLabel(r,n){let u=b.sanitizeText(r,l());if(n)n=X(n);let{className:o}=this.splitClassNameAndType(u);this.classes.get(o).label=n,this.classes.get(o).text=`${n}${this.classes.get(o).type?`<${this.classes.get(o).type}>`:""}`}addClass(r){let n=b.sanitizeText(r,l()),{className:u,type:o}=this.splitClassNameAndType(n);if(this.classes.has(u))return;let d=b.sanitizeText(u,l());this.classes.set(d,{id:d,type:o,label:d,text:`${d}${o?`&lt;${o}&gt;`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:xe+d+"-"+bt}),bt++}addInterface(r,n){let u={id:`interface${this.interfaces.length}`,label:r,classId:n};this.interfaces.push(u)}setDiagramId(r){this.diagramId=r}lookUpDomId(r){let n=b.sanitizeText(r,l());if(this.classes.has(n)){let u=this.classes.get(n).domId;return this.diagramId?`${this.diagramId}-${u}`:u}throw Error("Class not found: "+n)}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",C()}getClass(r){return this.classes.get(r)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(r){let n=typeof r==="number"?`note${r}`:r;return this.notes.get(n)}getNotes(){return this.notes}addRelation(r){a.debug("Adding relation: "+JSON.stringify(r));let n=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];if(r.relation.type1===this.relationType.LOLLIPOP&&!n.includes(r.relation.type2))this.addClass(r.id2),this.addInterface(r.id1,r.id2),r.id1=`interface${this.interfaces.length-1}`;else if(r.relation.type2===this.relationType.LOLLIPOP&&!n.includes(r.relation.type1))this.addClass(r.id1),this.addInterface(r.id2,r.id1),r.id2=`interface${this.interfaces.length-1}`;else this.addClass(r.id1),this.addClass(r.id2);r.id1=this.splitClassNameAndType(r.id1).className,r.id2=this.splitClassNameAndType(r.id2).className,r.relationTitle1=b.sanitizeText(r.relationTitle1.trim(),l()),r.relationTitle2=b.sanitizeText(r.relationTitle2.trim(),l()),this.relations.push(r)}addAnnotation(r,n){let u=this.splitClassNameAndType(r).className;this.classes.get(u).annotations.push(n)}addMember(r,n){this.addClass(r);let u=this.splitClassNameAndType(r).className,o=this.classes.get(u);if(typeof n==="string"){let d=n.trim();if(d.startsWith("<<")&&d.endsWith(">>"))o.annotations.push(X(d.substring(2,d.length-2)));else if(d.indexOf(")")>0)o.methods.push(new At(d,"method"));else if(d)o.members.push(new At(d,"attribute"))}}addMembers(r,n){if(Array.isArray(n))n.reverse(),n.forEach((u)=>this.addMember(r,u))}addNote(r,n){let u=this.notes.size,o={id:`note${u}`,class:n,text:r,index:u};return this.notes.set(o.id,o),o.id}cleanupLabel(r){if(r.startsWith(":"))r=r.substring(1);return X(r.trim())}setCssClass(r,n){r.split(",").forEach((u)=>{let o=u;if(/\d/.exec(u[0]))o=xe+o;o=this.splitClassNameAndType(o).className;let d=this.classes.get(o);if(d)d.cssClasses+=" "+n})}defineClass(r,n){for(let u of r){let o=this.styleClasses.get(u);if(o===void 0)o={id:u,styles:[],textStyles:[]},this.styleClasses.set(u,o);if(n)n.forEach((d)=>{if(/color/.exec(d)){let k=d.replace("fill","bgFill");o.textStyles.push(k)}o.styles.push(d)});this.classes.forEach((d)=>{if(d.cssClasses.includes(u))d.styles.push(...n.flatMap((k)=>k.split(",")))})}}setTooltip(r,n){r.split(",").forEach((u)=>{if(n!==void 0){let o=this.splitClassNameAndType(u).className,d=this.classes.get(o);if(d)d.tooltip=X(n)}})}getTooltip(r,n){if(n&&this.namespaces.has(n))return this.namespaces.get(n).classes.get(r).tooltip;return this.classes.get(r).tooltip}setLink(r,n,u){let o=l();r.split(",").forEach((d)=>{let k=d;if(/\d/.exec(d[0]))k=xe+k;k=this.splitClassNameAndType(k).className;let h=this.classes.get(k);if(h)if(h.link=M.formatUrl(n,o),o.securityLevel==="sandbox")h.linkTarget="_top";else if(typeof u==="string")h.linkTarget=X(u);else h.linkTarget="_blank"}),this.setCssClass(r,"clickable")}setClickEvent(r,n,u){r.split(",").forEach((o)=>{this.setClickFunc(o,n,u);let d=this.splitClassNameAndType(o).className,k=this.classes.get(d);if(k)k.haveCallback=!0}),this.setCssClass(r,"clickable")}setClickFunc(r,n,u){let o=b.sanitizeText(r,l());if(l().securityLevel!=="loose")return;if(n===void 0)return;let k=this.splitClassNameAndType(o).className;if(this.classes.has(k)){let h=[];if(typeof u==="string"){h=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let D=0;D<h.length;D++){let F=h[D].trim();if(F.startsWith('"')&&F.endsWith('"'))F=F.substr(1,F.length-2);h[D]=F}}if(h.length===0)h.push(k);this.functions.push(()=>{let D=this.lookUpDomId(k),F=document.querySelector(`[id="${D}"]`);if(F!==null)F.addEventListener("click",()=>{M.runFunc(n,...h)},!1)})}}bindFunctions(r){this.functions.forEach((n)=>{n(r)})}escapeHtml(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}getDirection(){return this.direction}setDirection(r){this.direction=r}static resolveQualifiedId(r,n){let u=n.at(-1);return u?`${u}.${r}`:r}static getAncestorIds(r){let n=r.split("."),u=Array(n.length);u[0]=n[0];for(let o=1;o<n.length;o++)u[o]=`${u[o-1]}.${n[o]}`;return u}createNamespaceNode(r,n,u,o=!1){return{id:r,label:n,classes:new Map,notes:new Map,children:new Map,domId:xe+r+"-"+this.namespaceCounter++,parent:u,explicit:o}}linkParentChild(r,n){let u=this.namespaces.get(r),o=this.namespaces.get(n);if(!u||!o)return;if(!u.children.has(n))u.children.set(n,o);o.parent??=r}addNamespace(r,n){let u=s.resolveQualifiedId(r,this.namespaceStack);if(this.namespaceStack.push(u),this.namespaces.has(u)){let k=this.namespaces.get(u);if(k.explicit=!0,n)k.label=n;return u}let o=u.split("."),d=s.getAncestorIds(u);for(let k=0;k<d.length;k++){let h=d[k],D=k>0?d[k-1]:void 0,F=k===d.length-1,V=F&&n?n:o[k];if(!this.namespaces.has(h))this.namespaces.set(h,this.createNamespaceNode(h,V,D,F));else if(F)this.namespaces.get(h).explicit=!0;if(D)this.linkParentChild(D,h)}return u}popNamespace(){this.namespaceStack.pop()}getNamespace(r){return this.namespaces.get(r)}getNamespaces(){return this.namespaces}addClassesToNamespace(r,n,u){if(!this.namespaces.has(r))return;for(let o of n){let{className:d}=this.splitClassNameAndType(o),k=this.getClass(d);k.parent=r,this.namespaces.get(r).classes.set(d,k)}for(let o of u){let d=this.getNote(o);d.parent=r,this.namespaces.get(r).notes.set(o,d)}}setCssStyle(r,n){let u=this.classes.get(r);if(!n||!u)return;for(let o of n)if(o.includes(","))u.styles.push(...o.split(","));else u.styles.push(o)}getArrowMarker(r){let n;switch(r){case 0:n="aggregation";break;case 1:n="extension";break;case 2:n="composition";break;case 3:n="dependency";break;case 4:n="lollipop";break;default:n="none"}return n}resolveExplicitAncestor(r){let n=r;while(n){let u=this.namespaces.get(n);if(!u)return;if(u.explicit)return n;n=u.parent}return}getData(){let r=[],n=[],u=l(),o=u.class?.hierarchicalNamespaces??!0;for(let h of this.namespaces.values()){if(!o&&!h.explicit)continue;let D={id:h.id,label:o?h.label:h.id,isGroup:!0,padding:u.class.padding??16,shape:"rect",cssStyles:[],look:u.look,parentId:o?h.parent:void 0};r.push(D)}let d=0;for(let h of this.classes.values()){let D=o?h.parent:this.resolveExplicitAncestor(h.parent),F={...h,type:void 0,isGroup:!1,parentId:D,look:u.look,colorIndex:d++};r.push(F)}for(let h of this.notes.values()){let D=o?h.parent:this.resolveExplicitAncestor(h.parent),F={id:h.id,label:h.text,isGroup:!1,shape:"note",padding:u.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${u.themeVariables.noteBkgColor}`,`stroke: ${u.themeVariables.noteBorderColor}`],look:u.look,parentId:D,labelType:"markdown"};r.push(F);let V=this.classes.get(h.class)?.id;if(V){let J={id:`edgeNote${h.index}`,start:h.id,end:V,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:u.look};n.push(J)}}for(let h of this.interfaces){let D={id:h.id,label:h.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:u.look};r.push(D)}let k=0;for(let h of this.relations){k++;let D={id:ze(h.id1,h.id2,{prefix:"id",counter:k}),start:h.id1,end:h.id2,type:"normal",label:h.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(h.relation.type1),arrowTypeEnd:this.getArrowMarker(h.relation.type2),startLabelRight:h.relationTitle1==="none"?"":h.relationTitle1,endLabelLeft:h.relationTitle2==="none"?"":h.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:h.style||"",pattern:h.relation.lineType==1?"dashed":"solid",look:u.look,labelType:"markdown"};n.push(D)}return{nodes:r,edges:n,other:{},config:u,direction:this.getDirection()}}},yt=t((s)=>{let{theme:r,bkgColorArray:n,borderColorArray:u}=s;if(!se(r,u))return"";let o=le(s.look),d=pe(n),k="";for(let h=0;h<Ye(s.THEME_COLOR_LIMIT,u);h++){let D=u[h%u.length];k+=`
6
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:t(function(){var m=this.next();if(m)return m;else return this.lex()},"lex"),begin:t(function(m){this.conditionStack.push(m)},"begin"),popState:t(function(){var m=this.conditionStack.length-1;if(m>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:t(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:t(function(m){if(m=this.conditionStack.length-1-Math.abs(m||0),m>=0)return this.conditionStack[m];else return"INITIAL"},"topState"),pushState:t(function(m){this.begin(m)},"pushState"),stateStackSize:t(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:t(function(m,g,c,B){var e=B;switch(c){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;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),35;break;case 9:return this.popState(),"acc_descr_value";break;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;break;case 30:return this.popState(),8;break;case 31:break;case 32:return this.begin("namespace-body"),39;break;case 33:this.popState(),this.less(0);break;case 34:return this.popState(),41;break;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;break;case 40:return this.popState(),8;break;case 41:break;case 42:return this.popState(),this.popState(),41;break;case 43:return this.begin("class-body"),39;break;case 44:return this.popState(),41;break;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 W}();je.lexer=ft;function _e(){this.yy={}}return t(_e,"Parser"),_e.prototype=je,je.Parser=_e,new _e}();tt.parser=tt;var Et=tt,pt=["#","+","~","-",""],At=class{static{t(this,"ClassMember")}constructor(s,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";let n=O(s,l());this.parseMember(n)}getDisplayDetails(){let s=this.visibility+Kt(this.id);if(this.memberType==="method"){if(s+=`(${Kt(this.parameters.trim())})`,this.returnType)s+=" : "+Kt(this.returnType)}s=s.trim();let r=this.parseClassifier();return{displayText:s,cssStyle:r}}parseMember(s){let r="";if(this.memberType==="method"){let o=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(s);if(o){let d=o[1]?o[1].trim():"";if(pt.includes(d))this.visibility=d;if(this.id=o[2],this.parameters=o[3]?o[3].trim():"",r=o[4]?o[4].trim():"",this.returnType=o[5]?o[5].trim():"",r===""){let k=this.returnType.substring(this.returnType.length-1);if(/[$*]/.exec(k))r=k,this.returnType=this.returnType.substring(0,this.returnType.length-1)}}}else{let u=s.length,o=s.substring(0,1),d=s.substring(u-1);if(pt.includes(o))this.visibility=o;if(/[$*]/.exec(d))r=d;this.id=s.substring(this.visibility===""?0:1,r===""?u:u-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let n=`${this.visibility?"\\"+this.visibility:""}${Kt(this.id)}${this.memberType==="method"?`(${Kt(this.parameters)})${this.returnType?" : "+Kt(this.returnType):""}`:""}`;if(this.text=n.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""}}},xe="classId-",bt=0,X=t((s)=>b.sanitizeText(s,l()),"sanitizeText"),Tt=class s{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=t((r)=>{let n=Bt();p(r).select("svg").selectAll("g").filter(function(){return p(this).attr("title")!==null}).on("mouseover",(d)=>{let k=p(d.currentTarget),h=k.attr("title");if(!h)return;let D=d.currentTarget.getBoundingClientRect();n.transition().duration(200).style("opacity",".9"),n.html(Re.sanitize(h)).style("left",`${window.scrollX+D.left+D.width/2}px`).style("top",`${window.scrollY+D.bottom+4}px`),k.classed("hover",!0)}).on("mouseout",(d)=>{n.transition().duration(500).style("opacity",0),p(d.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=S,this.getAccTitle=E,this.setAccDescription=T,this.getAccDescription=A,this.setDiagramTitle=L,this.getDiagramTitle=R,this.getConfig=t(()=>l().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)}static{t(this,"ClassDB")}splitClassNameAndType(r){let n=b.sanitizeText(r,l()),u="",o=n;if(n.indexOf("~")>0){let d=n.split("~");o=X(d[0]),u=X(d[1])}return{className:o,type:u}}setClassLabel(r,n){let u=b.sanitizeText(r,l());if(n)n=X(n);let{className:o}=this.splitClassNameAndType(u);this.classes.get(o).label=n,this.classes.get(o).text=`${n}${this.classes.get(o).type?`<${this.classes.get(o).type}>`:""}`}addClass(r){let n=b.sanitizeText(r,l()),{className:u,type:o}=this.splitClassNameAndType(n);if(this.classes.has(u))return;let d=b.sanitizeText(u,l());this.classes.set(d,{id:d,type:o,label:d,text:`${d}${o?`&lt;${o}&gt;`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:xe+d+"-"+bt}),bt++}addInterface(r,n){let u={id:`interface${this.interfaces.length}`,label:r,classId:n};this.interfaces.push(u)}setDiagramId(r){this.diagramId=r}lookUpDomId(r){let n=b.sanitizeText(r,l());if(this.classes.has(n)){let u=this.classes.get(n).domId;return this.diagramId?`${this.diagramId}-${u}`:u}throw Error("Class not found: "+n)}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",C()}getClass(r){return this.classes.get(r)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(r){let n=typeof r==="number"?`note${r}`:r;return this.notes.get(n)}getNotes(){return this.notes}addRelation(r){a.debug("Adding relation: "+JSON.stringify(r));let n=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];if(r.relation.type1===this.relationType.LOLLIPOP&&!n.includes(r.relation.type2))this.addClass(r.id2),this.addInterface(r.id1,r.id2),r.id1=`interface${this.interfaces.length-1}`;else if(r.relation.type2===this.relationType.LOLLIPOP&&!n.includes(r.relation.type1))this.addClass(r.id1),this.addInterface(r.id2,r.id1),r.id2=`interface${this.interfaces.length-1}`;else this.addClass(r.id1),this.addClass(r.id2);r.id1=this.splitClassNameAndType(r.id1).className,r.id2=this.splitClassNameAndType(r.id2).className,r.relationTitle1=b.sanitizeText(r.relationTitle1.trim(),l()),r.relationTitle2=b.sanitizeText(r.relationTitle2.trim(),l()),this.relations.push(r)}addAnnotation(r,n){let u=this.splitClassNameAndType(r).className;this.classes.get(u).annotations.push(n)}addMember(r,n){this.addClass(r);let u=this.splitClassNameAndType(r).className,o=this.classes.get(u);if(typeof n==="string"){let d=n.trim();if(d.startsWith("<<")&&d.endsWith(">>"))o.annotations.push(X(d.substring(2,d.length-2)));else if(d.indexOf(")")>0)o.methods.push(new At(d,"method"));else if(d)o.members.push(new At(d,"attribute"))}}addMembers(r,n){if(Array.isArray(n))n.reverse(),n.forEach((u)=>this.addMember(r,u))}addNote(r,n){let u=this.notes.size,o={id:`note${u}`,class:n,text:r,index:u};return this.notes.set(o.id,o),o.id}cleanupLabel(r){if(r.startsWith(":"))r=r.substring(1);return X(r.trim())}setCssClass(r,n){r.split(",").forEach((u)=>{let o=u;if(/\d/.exec(u[0]))o=xe+o;o=this.splitClassNameAndType(o).className;let d=this.classes.get(o);if(d)d.cssClasses+=" "+n})}defineClass(r,n){for(let u of r){let o=this.styleClasses.get(u);if(o===void 0)o={id:u,styles:[],textStyles:[]},this.styleClasses.set(u,o);if(n)n.forEach((d)=>{if(/color/.exec(d)){let k=d.replace("fill","bgFill");o.textStyles.push(k)}o.styles.push(d)});this.classes.forEach((d)=>{if(d.cssClasses.includes(u))d.styles.push(...n.flatMap((k)=>k.split(",")))})}}setTooltip(r,n){r.split(",").forEach((u)=>{if(n!==void 0){let o=this.splitClassNameAndType(u).className,d=this.classes.get(o);if(d)d.tooltip=X(n)}})}getTooltip(r,n){if(n&&this.namespaces.has(n))return this.namespaces.get(n).classes.get(r).tooltip;return this.classes.get(r).tooltip}setLink(r,n,u){let o=l();r.split(",").forEach((d)=>{let k=d;if(/\d/.exec(d[0]))k=xe+k;k=this.splitClassNameAndType(k).className;let h=this.classes.get(k);if(h)if(h.link=N.formatUrl(n,o),o.securityLevel==="sandbox")h.linkTarget="_top";else if(typeof u==="string")h.linkTarget=X(u);else h.linkTarget="_blank"}),this.setCssClass(r,"clickable")}setClickEvent(r,n,u){r.split(",").forEach((o)=>{this.setClickFunc(o,n,u);let d=this.splitClassNameAndType(o).className,k=this.classes.get(d);if(k)k.haveCallback=!0}),this.setCssClass(r,"clickable")}setClickFunc(r,n,u){let o=b.sanitizeText(r,l());if(l().securityLevel!=="loose")return;if(n===void 0)return;let k=this.splitClassNameAndType(o).className;if(this.classes.has(k)){let h=[];if(typeof u==="string"){h=u.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let D=0;D<h.length;D++){let F=h[D].trim();if(F.startsWith('"')&&F.endsWith('"'))F=F.substr(1,F.length-2);h[D]=F}}if(h.length===0)h.push(k);this.functions.push(()=>{let D=this.lookUpDomId(k),F=document.querySelector(`[id="${D}"]`);if(F!==null)F.addEventListener("click",()=>{N.runFunc(n,...h)},!1)})}}bindFunctions(r){this.functions.forEach((n)=>{n(r)})}escapeHtml(r){return r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}getDirection(){return this.direction}setDirection(r){this.direction=r}static resolveQualifiedId(r,n){let u=n.at(-1);return u?`${u}.${r}`:r}static getAncestorIds(r){let n=r.split("."),u=Array(n.length);u[0]=n[0];for(let o=1;o<n.length;o++)u[o]=`${u[o-1]}.${n[o]}`;return u}createNamespaceNode(r,n,u,o=!1){return{id:r,label:n,classes:new Map,notes:new Map,children:new Map,domId:xe+r+"-"+this.namespaceCounter++,parent:u,explicit:o}}linkParentChild(r,n){let u=this.namespaces.get(r),o=this.namespaces.get(n);if(!u||!o)return;if(!u.children.has(n))u.children.set(n,o);o.parent??=r}addNamespace(r,n){let u=s.resolveQualifiedId(r,this.namespaceStack);if(this.namespaceStack.push(u),this.namespaces.has(u)){let k=this.namespaces.get(u);if(k.explicit=!0,n)k.label=n;return u}let o=u.split("."),d=s.getAncestorIds(u);for(let k=0;k<d.length;k++){let h=d[k],D=k>0?d[k-1]:void 0,F=k===d.length-1,V=F&&n?n:o[k];if(!this.namespaces.has(h))this.namespaces.set(h,this.createNamespaceNode(h,V,D,F));else if(F)this.namespaces.get(h).explicit=!0;if(D)this.linkParentChild(D,h)}return u}popNamespace(){this.namespaceStack.pop()}getNamespace(r){return this.namespaces.get(r)}getNamespaces(){return this.namespaces}addClassesToNamespace(r,n,u){if(!this.namespaces.has(r))return;for(let o of n){let{className:d}=this.splitClassNameAndType(o),k=this.getClass(d);k.parent=r,this.namespaces.get(r).classes.set(d,k)}for(let o of u){let d=this.getNote(o);d.parent=r,this.namespaces.get(r).notes.set(o,d)}}setCssStyle(r,n){let u=this.classes.get(r);if(!n||!u)return;for(let o of n)if(o.includes(","))u.styles.push(...o.split(","));else u.styles.push(o)}getArrowMarker(r){let n;switch(r){case 0:n="aggregation";break;case 1:n="extension";break;case 2:n="composition";break;case 3:n="dependency";break;case 4:n="lollipop";break;default:n="none"}return n}resolveExplicitAncestor(r){let n=r;while(n){let u=this.namespaces.get(n);if(!u)return;if(u.explicit)return n;n=u.parent}return}getData(){let r=[],n=[],u=l(),o=u.class?.hierarchicalNamespaces??!0;for(let h of this.namespaces.values()){if(!o&&!h.explicit)continue;let D={id:h.id,label:o?h.label:h.id,isGroup:!0,padding:u.class.padding??16,shape:"rect",cssStyles:[],look:u.look,parentId:o?h.parent:void 0};r.push(D)}let d=0;for(let h of this.classes.values()){let D=o?h.parent:this.resolveExplicitAncestor(h.parent),F={...h,type:void 0,isGroup:!1,parentId:D,look:u.look,colorIndex:d++};r.push(F)}for(let h of this.notes.values()){let D=o?h.parent:this.resolveExplicitAncestor(h.parent),F={id:h.id,label:h.text,isGroup:!1,shape:"note",padding:u.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${u.themeVariables.noteBkgColor}`,`stroke: ${u.themeVariables.noteBorderColor}`],look:u.look,parentId:D,labelType:"markdown"};r.push(F);let V=this.classes.get(h.class)?.id;if(V){let J={id:`edgeNote${h.index}`,start:h.id,end:V,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:u.look};n.push(J)}}for(let h of this.interfaces){let D={id:h.id,label:h.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:u.look};r.push(D)}let k=0;for(let h of this.relations){k++;let D={id:ze(h.id1,h.id2,{prefix:"id",counter:k}),start:h.id1,end:h.id2,type:"normal",label:h.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(h.relation.type1),arrowTypeEnd:this.getArrowMarker(h.relation.type2),startLabelRight:h.relationTitle1==="none"?"":h.relationTitle1,endLabelLeft:h.relationTitle2==="none"?"":h.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:h.style||"",pattern:h.relation.lineType==1?"dashed":"solid",look:u.look,labelType:"markdown"};n.push(D)}return{nodes:r,edges:n,other:{},config:u,direction:this.getDirection()}}},yt=t((s)=>{let{theme:r,bkgColorArray:n,borderColorArray:u}=s;if(!se(r,u))return"";let o=le(s.look),d=pe(n),k="";for(let h=0;h<Ze(s.THEME_COLOR_LIMIT,u);h++){let D=u[h%u.length];k+=`
7
7
 
8
8
  [data-look="${o}"][data-color-id="color-${h}"].node .outer-path path {
9
9
  stroke: ${D};
@@ -213,5 +213,5 @@ g.classGroup line {
213
213
  }
214
214
  text-align: center;
215
215
  }
216
- ${je()}
217
- `,"getStyles"),Bt=Dt,_t=t((s,r="TB")=>{if(!s.doc)return r;let n=r;for(let u of s.doc)if(u.stmt==="dir")n=u.value;return n},"getDir"),St=t(function(s,r){return r.db.getClasses()},"getClasses"),Nt=t(async function(s,r,n,u){a.info("REF0:"),a.info("Drawing class diagram (v3)",r);let{securityLevel:o,state:d,layout:k}=l();u.db.setDiagramId(r);let h=u.db.getData(),D=he(r,o);h.type=u.type,h.layoutAlgorithm=ye(k),h.nodeSpacing=d?.nodeSpacing||50,h.rankSpacing=d?.rankSpacing||50,h.markers=["aggregation","extension","composition","dependency","lollipop"],h.diagramId=r,await ge(h,D);let F=8;M.insertTitle(D,"classDiagramTitleText",d?.titleTopMargin??25,u.db.getDiagramTitle()),ue(D,F,"classDiagram",d?.useMaxWidth??!0)},"draw"),Lt={getClasses:St,draw:Nt,getDir:_t},$t={parser:Et,get db(){return new Tt},renderer:Lt,styles:Bt,init:t((s)=>{if(!s.class)s.class={};s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute},"init")};export{$t as diagram};
216
+ ${qe()}
217
+ `,"getStyles"),Ft=Dt,_t=t((s,r="TB")=>{if(!s.doc)return r;let n=r;for(let u of s.doc)if(u.stmt==="dir")n=u.value;return n},"getDir"),St=t(function(s,r){return r.db.getClasses()},"getClasses"),Nt=t(async function(s,r,n,u){a.info("REF0:"),a.info("Drawing class diagram (v3)",r);let{securityLevel:o,state:d,layout:k}=l();u.db.setDiagramId(r);let h=u.db.getData(),D=he(r,o);h.type=u.type,h.layoutAlgorithm=ye(k),h.nodeSpacing=d?.nodeSpacing||50,h.rankSpacing=d?.rankSpacing||50,h.markers=["aggregation","extension","composition","dependency","lollipop"],h.diagramId=r,await ge(h,D);let F=8;N.insertTitle(D,"classDiagramTitleText",d?.titleTopMargin??25,u.db.getDiagramTitle()),ue(D,F,"classDiagram",d?.useMaxWidth??!0)},"draw"),Lt={getClasses:St,draw:Nt,getDir:_t},$t={parser:Et,get db(){return new Tt},renderer:Lt,styles:Ft,init:t((s)=>{if(!s.class)s.class={};s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute},"init")};export{$t as diagram};