agentic-mermaid 0.5.1 → 0.5.3

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 (155) hide show
  1. package/AGENT_NATIVE.md +63 -375
  2. package/CHANGELOG.md +39 -0
  3. package/README.md +87 -50
  4. package/assets/hero.png +0 -0
  5. package/dist/agent-core.d.ts +7 -7
  6. package/dist/agent-core.js +1 -1
  7. package/dist/agent.d.ts +7 -7
  8. package/dist/agent.js +1 -1
  9. package/dist/agentic-mermaid-mcp.js +1 -1
  10. package/dist/am.js +1 -1
  11. package/dist/browser-lazy/chunks/agentic-producer-core-CC6OOLDW.js +1 -0
  12. package/dist/browser-lazy/chunks/architecture-QUFVKYJR.js +13 -0
  13. package/dist/browser-lazy/chunks/block-6J3Q63BO.js +11 -0
  14. package/dist/browser-lazy/chunks/builtin-backends-7SOZZHPF.js +12 -0
  15. package/dist/browser-lazy/chunks/c4-SQVBZAKJ.js +10 -0
  16. package/dist/browser-lazy/chunks/{chunk-MSP3S2VS.js → chunk-2GPK4VFF.js} +1 -1
  17. package/dist/browser-lazy/chunks/chunk-2SH76OTH.js +1 -0
  18. package/dist/browser-lazy/chunks/chunk-2UIA2IME.js +3 -0
  19. package/dist/browser-lazy/chunks/chunk-4LHYF3BS.js +1 -0
  20. package/dist/browser-lazy/chunks/{chunk-HR5TE7TE.js → chunk-5B2Z7575.js} +1 -1
  21. package/dist/browser-lazy/chunks/{chunk-REBVEXI2.js → chunk-5X6MJX3H.js} +1 -1
  22. package/dist/browser-lazy/chunks/chunk-AMJLVPUB.js +4 -0
  23. package/dist/browser-lazy/chunks/chunk-BU5LHXNJ.js +3 -0
  24. package/dist/browser-lazy/chunks/chunk-BY2CPG6B.js +1 -0
  25. package/dist/browser-lazy/chunks/{chunk-HDKHAM2V.js → chunk-CN7WTBWB.js} +1 -1
  26. package/dist/browser-lazy/chunks/chunk-CQE4HQEW.js +1 -0
  27. package/dist/browser-lazy/chunks/{chunk-KXPF5KIU.js → chunk-DF6765YX.js} +3 -3
  28. package/dist/browser-lazy/chunks/chunk-E2WMJZNM.js +1 -0
  29. package/dist/browser-lazy/chunks/chunk-FAIMVOX5.js +6 -0
  30. package/dist/browser-lazy/chunks/chunk-GVOEAY52.js +1 -0
  31. package/dist/browser-lazy/chunks/chunk-HLWUNUCM.js +1 -0
  32. package/dist/browser-lazy/chunks/chunk-ICC7HBJX.js +1 -0
  33. package/dist/browser-lazy/chunks/{chunk-FBL4ONAL.js → chunk-J35HAQQF.js} +15 -15
  34. package/dist/browser-lazy/chunks/chunk-J7FFAFQF.js +1 -0
  35. package/dist/browser-lazy/chunks/chunk-NO7ZIVRU.js +1 -0
  36. package/dist/browser-lazy/chunks/chunk-OZ443IVJ.js +16 -0
  37. package/dist/browser-lazy/chunks/{chunk-2J5K6NIP.js → chunk-PQGPS2YV.js} +1 -1
  38. package/dist/browser-lazy/chunks/{chunk-SBXYR7Z3.js → chunk-QA6GJQ4X.js} +1 -1
  39. package/dist/browser-lazy/chunks/chunk-RIVTHZAQ.js +1 -0
  40. package/dist/browser-lazy/chunks/chunk-SZELX2EJ.js +1 -0
  41. package/dist/browser-lazy/chunks/chunk-TYZOZXUJ.js +22 -0
  42. package/dist/browser-lazy/chunks/{chunk-E7UIB4SZ.js → chunk-UL6NDWLL.js} +1 -1
  43. package/dist/browser-lazy/chunks/chunk-VQYYGAXP.js +1 -0
  44. package/dist/browser-lazy/chunks/chunk-VWVZGQE2.js +1 -0
  45. package/dist/browser-lazy/chunks/{chunk-GMTB5UTY.js → chunk-X2UYKWKM.js} +3 -3
  46. package/dist/browser-lazy/chunks/{chunk-LLPBKBIG.js → chunk-YCEICNM6.js} +1 -1
  47. package/dist/browser-lazy/chunks/chunk-Z3FDIVLN.js +20 -0
  48. package/dist/browser-lazy/chunks/class-5QA4SCTS.js +13 -0
  49. package/dist/browser-lazy/chunks/er-7ZSKGN7Y.js +11 -0
  50. package/dist/browser-lazy/chunks/eventmodeling-2BPLHWRN.js +19 -0
  51. package/dist/browser-lazy/chunks/flowchart-NEIMZTB5.js +4 -0
  52. package/dist/browser-lazy/chunks/gantt-RDPIFYAF.js +11 -0
  53. package/dist/browser-lazy/chunks/{gitgraph-W26QIMTY.js → gitgraph-N4Y5RYB7.js} +4 -4
  54. package/dist/browser-lazy/chunks/ishikawa-LD3YBDJN.js +6 -0
  55. package/dist/browser-lazy/chunks/journey-6YQR5DJX.js +16 -0
  56. package/dist/browser-lazy/chunks/kanban-PLMJ7NBW.js +20 -0
  57. package/dist/browser-lazy/chunks/{mindmap-5A3MVHNH.js → mindmap-K2UBFO3Y.js} +6 -6
  58. package/dist/browser-lazy/chunks/{packet-AL6VDOMY.js → packet-CUW4QY6Y.js} +5 -5
  59. package/dist/browser-lazy/chunks/pie-7F7UUCG3.js +15 -0
  60. package/dist/browser-lazy/chunks/{quadrant-RJ56XFBR.js → quadrant-TOONO2WC.js} +5 -5
  61. package/dist/browser-lazy/chunks/radar-J6JVWVAX.js +16 -0
  62. package/dist/browser-lazy/chunks/render-core-BZOM3K7D.js +3 -0
  63. package/dist/browser-lazy/chunks/requirement-CMAKDJPO.js +19 -0
  64. package/dist/browser-lazy/chunks/{sankey-WKTBEZSS.js → sankey-AWXQEP3F.js} +8 -8
  65. package/dist/browser-lazy/chunks/sequence-Q2RJRB4L.js +5 -0
  66. package/dist/browser-lazy/chunks/state-WRBFQEDX.js +4 -0
  67. package/dist/browser-lazy/chunks/{timeline-PRV5PWGP.js → timeline-D2KILFXM.js} +4 -4
  68. package/dist/browser-lazy/chunks/{treemap-BVME3JLI.js → treemap-N3VYX5D4.js} +4 -4
  69. package/dist/browser-lazy/chunks/{xychart-XBI2RNHD.js → xychart-G73OGK66.js} +5 -5
  70. package/dist/browser-lazy/chunks/{zenuml-GQKPRQFJ.js → zenuml-H4BXNYXR.js} +8 -8
  71. package/dist/browser-lazy/index.d.ts +10 -0
  72. package/dist/browser-lazy/index.js +1 -1
  73. package/dist/browser.global.js +539 -539
  74. package/dist/chunk-7CRDX2QR.js +2 -0
  75. package/dist/{chunk-AVS4T4NO.js → chunk-DQDKA5ND.js} +2 -2
  76. package/dist/chunk-EHCMJUMD.js +52 -0
  77. package/dist/{chunk-AWZBTOV6.js → chunk-GVCHLSHH.js} +2 -2
  78. package/dist/{chunk-6JBQYHWB.js → chunk-H3NCS2XZ.js} +2 -2
  79. package/dist/{chunk-ORYXYGDV.js → chunk-JZOJ4YGS.js} +2 -2
  80. package/dist/{chunk-AIWXP4OF.js → chunk-NKNFOREZ.js} +2 -2
  81. package/dist/{chunk-PNL435CH.js → chunk-OMY6NRQD.js} +17 -17
  82. package/dist/{chunk-YISEN5SO.js → chunk-UA234O4M.js} +2 -2
  83. package/dist/{cli-BOEN5YAF.js → cli-YGGTJZH7.js} +2 -2
  84. package/dist/{index-Cr3xjRw9.d.ts → index-EeXqJXr5.d.ts} +3 -3
  85. package/dist/index.d.ts +4 -4
  86. package/dist/index.js +1 -1
  87. package/dist/{mcp-cli-NM3P4VPC.js → mcp-cli-63DYXTVD.js} +2 -2
  88. package/dist/{paint-certification-C33LRvWT.d.ts → paint-certification-6rwQjIv_.d.ts} +22 -2
  89. package/dist/{server-FY5Z7F32.js → server-5NEOHOFS.js} +2 -2
  90. package/dist/{svg-styles-C_v2tnxG.d.ts → svg-styles-BdnoM7AT.d.ts} +1 -1
  91. package/dist/svg-styles.d.ts +1 -1
  92. package/dist/svg-styles.js +1 -1
  93. package/dist/svg.d.ts +4 -4
  94. package/dist/svg.js +1 -1
  95. package/dist/{types-DxOTIgwg.d.ts → types-BcS52Mjt.d.ts} +11 -1
  96. package/dist/zenuml/chunks/{appearance-FTQ2722O.js → appearance-UOQ5KA6O.js} +1 -1
  97. package/dist/zenuml/chunks/{builtin-backends-QLY75JCL.js → builtin-backends-KDKE7YHO.js} +3 -3
  98. package/dist/zenuml/chunks/chunk-42DXZ5C6.js +4 -0
  99. package/dist/zenuml/chunks/{chunk-GDLMM3YO.js → chunk-7TVYPTDW.js} +1 -1
  100. package/dist/zenuml/chunks/{chunk-6OONHTSD.js → chunk-OXQWRSBM.js} +10 -10
  101. package/dist/zenuml/chunks/{chunk-LYIRUTCM.js → chunk-QWX77U7G.js} +1 -1
  102. package/dist/zenuml/chunks/{chunk-4VRUBLG4.js → chunk-RLJEI7YN.js} +10 -10
  103. package/dist/zenuml/chunks/{chunk-YFCDP4ZS.js → chunk-RZ6XK5CD.js} +1 -1
  104. package/dist/zenuml/chunks/{render-core-DNCYYOIB.js → render-core-V5RQ737O.js} +3 -3
  105. package/dist/zenuml/chunks/{zenuml-URQ4HIMD.js → zenuml-EA2ZFRUX.js} +9 -9
  106. package/dist/zenuml.d.ts +2 -2
  107. package/dist/zenuml.js +1 -1
  108. package/docs/MCP-DIRECTORY-LISTINGS.md +1 -1
  109. package/docs/README.md +59 -110
  110. package/docs/api.md +3 -1
  111. package/docs/config.md +37 -0
  112. package/docs/getting-started.md +27 -44
  113. package/examples/styles/readme-hero.md +25 -0
  114. package/examples/styles/readme-hero.mmd +13 -0
  115. package/examples/styles/readme-hero.style.json +7 -0
  116. package/package.json +1 -1
  117. package/server.json +2 -2
  118. package/dist/browser-lazy/chunks/agentic-producer-core-MGU4FD6J.js +0 -1
  119. package/dist/browser-lazy/chunks/architecture-KZTC3672.js +0 -13
  120. package/dist/browser-lazy/chunks/block-J5PD6HQM.js +0 -11
  121. package/dist/browser-lazy/chunks/builtin-backends-GSGJPT5A.js +0 -12
  122. package/dist/browser-lazy/chunks/c4-VNQSIA5M.js +0 -10
  123. package/dist/browser-lazy/chunks/chunk-4C2BVM5Y.js +0 -1
  124. package/dist/browser-lazy/chunks/chunk-5GE2SFLQ.js +0 -4
  125. package/dist/browser-lazy/chunks/chunk-6YGQR6R4.js +0 -16
  126. package/dist/browser-lazy/chunks/chunk-7AHX3HH7.js +0 -1
  127. package/dist/browser-lazy/chunks/chunk-B5PDJUJG.js +0 -3
  128. package/dist/browser-lazy/chunks/chunk-CXQWSLJV.js +0 -1
  129. package/dist/browser-lazy/chunks/chunk-DWDYWUAS.js +0 -1
  130. package/dist/browser-lazy/chunks/chunk-EUBVLDYV.js +0 -29
  131. package/dist/browser-lazy/chunks/chunk-NQF75XGM.js +0 -3
  132. package/dist/browser-lazy/chunks/chunk-P7DO3MRP.js +0 -13
  133. package/dist/browser-lazy/chunks/chunk-QQ2U2KAY.js +0 -1
  134. package/dist/browser-lazy/chunks/chunk-SJYDRC6G.js +0 -1
  135. package/dist/browser-lazy/chunks/chunk-UUTB6MDK.js +0 -1
  136. package/dist/browser-lazy/chunks/chunk-WEREIH5P.js +0 -1
  137. package/dist/browser-lazy/chunks/chunk-WHNTP27R.js +0 -6
  138. package/dist/browser-lazy/chunks/chunk-YXGB25MZ.js +0 -1
  139. package/dist/browser-lazy/chunks/class-FNDNJGYH.js +0 -13
  140. package/dist/browser-lazy/chunks/er-P263BDFG.js +0 -11
  141. package/dist/browser-lazy/chunks/eventmodeling-XX3VCGSC.js +0 -19
  142. package/dist/browser-lazy/chunks/flowchart-GTLWJA3P.js +0 -4
  143. package/dist/browser-lazy/chunks/gantt-SRIHFAIC.js +0 -11
  144. package/dist/browser-lazy/chunks/ishikawa-NTHJ7BUO.js +0 -6
  145. package/dist/browser-lazy/chunks/journey-3T62IEHN.js +0 -16
  146. package/dist/browser-lazy/chunks/kanban-U6DQ7LWQ.js +0 -20
  147. package/dist/browser-lazy/chunks/pie-4QYMTQ7W.js +0 -15
  148. package/dist/browser-lazy/chunks/radar-L5B4CNEL.js +0 -16
  149. package/dist/browser-lazy/chunks/render-core-CIGKBI2T.js +0 -3
  150. package/dist/browser-lazy/chunks/requirement-5QVLRI6Z.js +0 -19
  151. package/dist/browser-lazy/chunks/sequence-G6DQHPR7.js +0 -5
  152. package/dist/browser-lazy/chunks/state-6DEA5BXE.js +0 -4
  153. package/dist/chunk-XCEEF3NJ.js +0 -2
  154. package/dist/chunk-YQKNJNU4.js +0 -52
  155. package/dist/zenuml/chunks/chunk-7QDAZ2HL.js +0 -4
@@ -1,4 +0,0 @@
1
- import{B as e,C as t,D as i,E as a,F as r,G as n,a as o,h as s,i as l,j as c,k as d,l as u,m as f,n as p,o as m,x as g}from"./chunk-KXPF5KIU.js";import{b as h,c as y,e as v,g as b,z as S}from"./chunk-FBL4ONAL.js";import{F as $,G as w,L as x,M as C,ga as O,ha as j,ia as k,s as E,t as F,v as A,x as I,z as T}from"./chunk-GMTB5UTY.js";import{Ha as D,ab as z,bb as L,cb as M,db as R,eb as q,fb as N,ua as P}from"./chunk-EUBVLDYV.js";import{O as B,f as _,j as V}from"./chunk-P7DO3MRP.js";import{a as W,b as G,e as H,f as J,g as U}from"./chunk-N5ELX7LR.js";import{a as Y}from"./chunk-5UVGUSD6.js";function K(e){return h(e)?e:void 0}function X(e,t){let i=e.$ref;if("string"!=typeof i||!i.startsWith("#/"))return;let a=t;for(let e of i.slice(2).split("/")){if(!h(a))return;a=a[e.replaceAll("~1","/").replaceAll("~0","~")]}return K(a)}function Z(e,t,i=t,a=[],r={}){let n="field"===r.diagnostics,o=(e,t,i,a,s)=>{let l=K(t.$defs)?t:i,c=(e,t=!0)=>[{path:a,message:e,generic:t}];if(void 0!==t.$ref){let i=X(t,l);return i?o(e,i,l,a,s):c(n?"uses an unresolved schema reference":`uses unresolved schema reference ${String(t.$ref)}`,!1)}let d=Array.isArray(t.anyOf)?t.anyOf.map(K).filter(e=>void 0!==e):[];if(d.length>0){let i=n?d.filter(t=>(function e(t,i,a){let r=X(i,a);if(r)return e(t,r,a);let n=Array.isArray(i.anyOf)?i.anyOf.map(K).filter(e=>void 0!==e):[];if(n.length>0)return n.some(i=>e(t,i,a));switch(i.type){case"null":return null===t;case"string":return"string"==typeof t;case"number":case"integer":return"number"==typeof t;case"boolean":return"boolean"==typeof t;case"array":return Array.isArray(t);case"object":return h(t);default:return!0}})(e,t,l)):[],r=(i.length>0?i:d).map(t=>o(e,t,l,a,new Set(s)));if(!r.some(e=>0===e.length)){let e=t["x-agentic-mermaid-validation-expectation"];return n&&0!==i.length||"string"!=typeof e?r.sort((e,t)=>e.length-t.length)[0]??c("must match an allowed shape"):c(`must be ${e}`)}}let f=Array.isArray(t.oneOf)?t.oneOf.map(K).filter(e=>void 0!==e):[];if(f.length>0&&!n){let t=f.filter(t=>0===o(e,t,l,a,new Set(s)).length);if(1!==t.length)return c(`must match exactly one allowed shape (matched ${t.length})`)}let p=n?(e,t)=>e===t:Object.is;if(Object.prototype.hasOwnProperty.call(t,"const")&&!p(e,t.const))return c(`must equal ${String(t.const)}`);if(Array.isArray(t.enum)&&!(n?t.enum.includes(e):t.enum.some(t=>Object.is(t,e))))return c(`must be one of ${t.enum.map(String).join(" | ")}`);let m=t.type;if(!(void 0===m||"null"===m&&null===e||"string"===m&&"string"==typeof e||"number"===m&&"number"==typeof e&&Number.isFinite(e)||"integer"===m&&"number"==typeof e&&Number.isFinite(e)&&Number.isInteger(e)||"boolean"===m&&"boolean"==typeof e||"array"===m&&Array.isArray(e)||"object"===m&&h(e))){let e="number"===m?"a finite number":"integer"===m?"a finite integer":"object"===m?"a plain JSON object":"array"===m?"an array":"null"===m?"null":`a ${String(m)}`;return c(`must be ${e}`)}if("number"==typeof e){if("number"==typeof t.minimum&&e<t.minimum)return c(`must be at least ${t.minimum}`);if("number"==typeof t.exclusiveMinimum&&e<=t.exclusiveMinimum)return c(`must be greater than ${t.exclusiveMinimum}`);if("number"==typeof t.maximum&&e>t.maximum)return c(`must be at most ${t.maximum}`)}if("string"==typeof e){if("number"==typeof t.minLength&&e.length<t.minLength)return c(`must contain at least ${t.minLength} character${1===t.minLength?"":"s"}`);if("string"==typeof t.pattern){let i;try{i=new RegExp(t.pattern,n?void 0:"u").test(e)}catch{return c("uses an invalid schema pattern",!1)}if(!i)return c(r.patternMismatch?.(t)??`must match ${t.pattern}`)}if("number"==typeof t.maxLength&&e.length>t.maxLength)return c(`must contain at most ${t.maxLength} characters`)}if(Array.isArray(e)&&"array"===m){if("number"==typeof t.minItems&&e.length<t.minItems)return c(`must contain at least ${t.minItems} item${1===t.minItems?"":"s"}`);if("number"==typeof t.maxItems&&e.length>t.maxItems)return c(`must contain at most ${t.maxItems} items`);if(s.has(e))return c("must be acyclic",!1);let i=K(t.items);if(i){s.add(e);try{let t=e.flatMap((e,t)=>o(e,i,l,[...a,t],s));if(t.length>0)return t}finally{s.delete(e)}}}if(h(e)&&("object"===m||void 0!==t.properties||void 0!==t.required||void 0!==t.additionalProperties)){if(s.has(e))return c("must be acyclic",!1);s.add(e);try{let i=K(t.properties)??{},r=Array.isArray(t.required)?t.required.filter(e=>"string"==typeof e):[],n=[];for(let t of r)Object.prototype.hasOwnProperty.call(e,t)||n.push({path:[...a,t],message:"is required",generic:!1});for(let[r,c]of Object.entries(e)){if(u(r)){n.push({path:[...a,r],message:"uses a forbidden prototype key",generic:!1});continue}let e=K(i[r]);if(e){n.push(...o(c,e,l,[...a,r],s));continue}if(!1===t.additionalProperties){n.push({path:[...a,r],message:"is not allowed",generic:!1});continue}let d=K(t.additionalProperties);d&&n.push(...o(c,d,l,[...a,r],s))}if(n.length>0)return n}finally{s.delete(e)}}return r.validateRuntime?.(e,t,a)??[]};return o(e,t,i,a,new Set)}var Q,ee=new Set(Object.values(O).flat()),et=new Set(["primaryTextColor","textColor","nodeTextColor","secondaryTextColor","tertiaryTextColor"]),ei=new Set([...Array.from({length:12},(e,t)=>`pie${t+1}`),"pieStrokeColor","pieOuterStrokeColor","pieSectionTextColor","pieTitleTextColor","pieLegendTextColor"]),ea=new Set(["pieSectionTextColor","pieTitleTextColor","pieLegendTextColor"]),er=new Set([...Array.from({length:8},(e,t)=>[`git${t}`,`gitBranchLabel${t}`,`gitInv${t}`]).flat(),"commitLabelColor","commitLabelBackground"]),en=new Set([...Array.from({length:8},(e,t)=>`gitBranchLabel${t}`),"commitLabelColor"]),eo=new Set(Array.from({length:12},(e,t)=>[`cScale${t}`,`cScaleLabel${t}`,`cScaleInv${t}`]).flat()),es=new Set([...Array.from({length:12},(e,t)=>`cScale${t}`),"titleColor"]),el=new Set(["clusterBkg","clusterBorder"]),ec=["backgroundColor","titleColor","xAxisLabelColor","xAxisTickColor","xAxisLineColor","xAxisTitleColor","yAxisLabelColor","yAxisTickColor","yAxisLineColor","yAxisTitleColor","legendTextColor","dataLabelColor"],ed=new Set(["xAxisTickColor","xAxisLineColor","yAxisTickColor","yAxisLineColor"]),eu=[["bg",O.bg],["surface",O.surface],["line",O.line],["accent",O.accent]];function ef(e,t=!1){let i="string"==typeof e?e:JSON.stringify(e)??String(e);return t&&i.length>256?`${i.slice(0,256)}\u2026`:i}var ep=class extends Error{code="INVALID_THEME_COLOR";key;value;constructor(e,t,i){let a=ef(t,!0);super(E({what:`themeVariables.${e}: ${JSON.stringify(a)} is not a CSS color`,expectedForm:R(i),example:`themeVariables.${e}:#f96`}).message),this.name="ThemeVariableColorError",this.key=e,this.value=a}},em=class extends Error{code="INVALID_RENDER_COLOR";field;value;constructor(e,t){let i=ef(t,!0);super(E({what:`render option "${e}": ${JSON.stringify(i)} is not a CSS color for Architecture derived paint`,expectedForm:"a drawable CSS color or var(--name)",example:`${e}:#f96`}).message),this.name="RenderOptionColorError",this.field=e,this.value=i}},eg=class extends Error{code="INVALID_CONFIG_COLOR";path;value;constructor(e,t,i,a){let r=ef(t,!0),n=ef(e,!0);super(E({what:`${n}: ${JSON.stringify(r)} is not ${"array"===a?"an array of CSS colors":"map"===a?"a map of CSS colors":"a CSS color"}`,expectedForm:a?"array"===a?"an array of drawable CSS colors":"an object mapping node labels to drawable CSS colors":R(i),example:`${n}${"array"===a?': ["#f96"]':"map"===a?': {"A":"#f96"}':": #f96"}`}).message),this.name="FamilyConfigColorError",this.path=n,this.value=r}};function eh(e){return null===e||"object"!=typeof e||Array.isArray(e)?void 0:e}function ey(e,t,i,a){let r=e[i];if(void 0!==r&&void 0===M(r,a))throw new eg(`${t}.${i}`,r,a)}function ev(e,t,i,a){let r=e[i];if(void 0!==r){if(!Array.isArray(r))throw new eg(`${t}.${i}`,r,a,"array");for(let e=0;e<r.length;e++){let n=r[e];if(void 0===M(n,a))throw new eg(`${t}.${i}[${e}]`,n,a)}}}function eb(e,t,i,a){if(!e)return;let r="pie"===t?ei:"gitgraph"===t?er:"timeline"===t?eo:"radar"===t?es:"architecture"===t?el:void 0,n=r?new Set([...ee,...r]):ee,o="architecture"===t?new Set(eu.flatMap(([t,r])=>i?.[t]!==void 0||"surface"===t&&a&&(a?.groupHeaderSurface||a?.groupSurface?.trim().toLowerCase()!=="none")||("line"===t||"accent"===t)&&a?.edgeStroke?[]:r.find(t=>{let i=e[t];return"string"==typeof i&&i.length>0})??[])):void 0;for(let i of n){if(!Object.hasOwn(e,i))continue;let r=e[i];if(void 0===r)continue;let n=ef(r),s=et.has(i)||ea.has(i)||en.has(i)||"timeline"===t&&eo.has(i)||"radar"===t&&es.has(i)||"architecture"===t&&("clusterBkg"===i&&(!a||!a.groupHeaderSurface&&a.groupSurface?.trim().toLowerCase()==="none")||o?.has(i));if(void 0===M(r,!s))throw new ep(i,n,!s)}if("radar"===t){let t=eh(e.radar);if(!t)return;for(let e of["axisColor","graticuleColor"]){let i=t[e];if(void 0===i)continue;let a="graticuleColor"===e,r=ef(i);if(void 0===M(i,a))throw new ep(`radar.${e}`,r,a)}}if("xychart"===t){let t=eh(e.xyChart);if(!t)return;for(let e of ec){if("backgroundColor"===e&&i?.bg!==void 0)continue;let a=t[e];if(void 0===a)continue;let r=ed.has(e),n=ef(a);if(void 0===M(a,r))throw new ep(`xyChart.${e}`,n,r)}let a=t.plotColorPalette;if(void 0!==a&&("string"!=typeof a||0!==a.trim().length)){let e="string"==typeof a?z(a):a;if(!Array.isArray(e))throw new ep("xyChart.plotColorPalette",JSON.stringify(a)??String(a),!1);for(let[t,i]of e.entries()){let e="string"==typeof i?i.trim():JSON.stringify(i)??String(i);if(void 0===M(i))throw new ep(`xyChart.plotColorPalette[${t}]`,e,!1)}}}if("architecture"===t&&("string"!=typeof e.mainBkg||0===e.mainBkg.length)){let t=e.secondaryColor;if(void 0!==t){let e=ef(t);if(void 0===M(t,!0))throw new ep("secondaryColor",e,!0)}}}var eS={schemaVersion:2,provenance:{version:"12.2.0"},families:[{id:"flowchart",headers:[{value:"flowchart",agenticStatus:"native"},{value:"graph",agenticStatus:"native"},{value:"flowchart-elk",agenticStatus:"unsupported"}]},{id:"swimlane",headers:[{value:"swimlane-beta",agenticStatus:"unsupported"}]},{id:"sequence",headers:[{value:"sequenceDiagram",agenticStatus:"native"}]},{id:"class",headers:[{value:"classDiagram",agenticStatus:"native"},{value:"classDiagram-v2",agenticStatus:"native"}]},{id:"state",headers:[{value:"stateDiagram",agenticStatus:"native"},{value:"stateDiagram-v2",agenticStatus:"native"}]},{id:"er",headers:[{value:"erDiagram",agenticStatus:"native"}]},{id:"journey",headers:[{value:"journey",agenticStatus:"native"}]},{id:"gantt",headers:[{value:"gantt",agenticStatus:"native"}]},{id:"pie",headers:[{value:"pie",agenticStatus:"native"}]},{id:"quadrant",headers:[{value:"quadrantChart",agenticStatus:"native"}]},{id:"requirement",headers:[{value:"requirementDiagram",agenticStatus:"native"},{value:"requirement",agenticStatus:"native"}]},{id:"gitgraph",headers:[{value:"gitGraph",agenticStatus:"native"}]},{id:"c4",headers:[{value:"C4Context",agenticStatus:"native"},{value:"C4Container",agenticStatus:"native"},{value:"C4Component",agenticStatus:"native"},{value:"C4Dynamic",agenticStatus:"native"},{value:"C4Deployment",agenticStatus:"native"}]},{id:"mindmap",headers:[{value:"mindmap",agenticStatus:"native"}]},{id:"timeline",headers:[{value:"timeline",agenticStatus:"native"}]},{id:"zenuml",headers:[{value:"zenuml",agenticStatus:"native"}]},{id:"sankey",headers:[{value:"sankey",agenticStatus:"native"},{value:"sankey-beta",agenticStatus:"native"}]},{id:"xychart",headers:[{value:"xychart",agenticStatus:"native"},{value:"xychart-beta",agenticStatus:"native"}]},{id:"block",headers:[{value:"block",agenticStatus:"native"},{value:"block-beta",agenticStatus:"native"}]},{id:"packet",headers:[{value:"packet",agenticStatus:"native"},{value:"packet-beta",agenticStatus:"native"}]},{id:"kanban",headers:[{value:"kanban",agenticStatus:"native"}]},{id:"architecture",headers:[{value:"architecture",agenticStatus:"native"},{value:"architecture-beta",agenticStatus:"native"}]},{id:"radar",headers:[{value:"radar-beta",agenticStatus:"native"}]},{id:"eventmodeling",headers:[{value:"eventmodeling",agenticStatus:"native"}]},{id:"treemap",headers:[{value:"treemap",agenticStatus:"native"},{value:"treemap-beta",agenticStatus:"native"}]},{id:"venn",headers:[{value:"venn-beta",agenticStatus:"unsupported"}]},{id:"ishikawa",headers:[{value:"ishikawa",agenticStatus:"native"},{value:"ishikawa-beta",agenticStatus:"native"}]},{id:"wardley",headers:[{value:"wardley-beta",agenticStatus:"unsupported"}]},{id:"cynefin",headers:[{value:"cynefin-beta",agenticStatus:"unsupported"}]},{id:"treeview",headers:[{value:"treeView-beta",agenticStatus:"unsupported"}]},{id:"railroad",headers:[{value:"railroad-beta",agenticStatus:"unsupported"},{value:"railroad-ebnf-beta",agenticStatus:"unsupported"},{value:"railroad-abnf-beta",agenticStatus:"unsupported"},{value:"railroad-peg-beta",agenticStatus:"unsupported"}]},{id:"agentflow",headers:[{value:"agentflow-beta",agenticStatus:"unsupported"}]},{id:"usecase",headers:[{value:"usecase-beta",agenticStatus:"unsupported"}]}]};function e$(e,t="strict"){let i=J(e),a=l(i,t);if(a)return{kind:"registered",family:a};let r=function(e,t=eS){let i=(e.split(";")[0]??"").trim().toLowerCase();return t.families.flatMap(e=>e.headers.map(t=>({family:e,header:t}))).sort((e,t)=>t.header.value.length-e.header.value.length||D(e.family.id,t.family.id)).find(e=>(function(e,t){let i=t.trim().toLowerCase();if(e===i)return!0;if(!e.startsWith(i))return!1;let a=e[i.length];return void 0!==a&&/[\s:]/.test(a)})(i,e.header.value))??null}(i);return r?{kind:"upstream",match:r}:{kind:"unknown",header:e}}function ew(e,t,i,a){let r=F(e),n=-1,s=-1,l=e.length,d=Math.max(0,Math.min(e.length,i??0)),u=d;for(;u<=e.length;){let i=/\r\n?|\n/g;i.lastIndex=u;let a=i.exec(e),r=a?.index??-1,o=r<0?e.length:r,c=e.slice(u,o).replace(/\r$/,""),d=c.trim(),f=d.startsWith(t)?d.slice(t.length):"",p=/^\s*;/.test(f);if(d===t||p||/^\s/.test(f)&&H(d)!==d){if(s=(n=u+c.indexOf(t))+t.length,d===t)l=a?a.index+a[0].length:e.length;else for(l=p?e.indexOf(";",s)+1:s;l<o&&/[ \t]/.test(e[l]);)l++;break}if(r<0)break;u=a.index+a[0].length}if(n<0){let i=e.indexOf(t,d);n=i<0?d:i,s=Math.min(e.length,n+t.length);let a=e.indexOf(`
2
- `,s);for(l=a<0?e.length:a+1,u=n;u>0&&10!==e.charCodeAt(u-1);)u--}return Object.freeze({source:A(r,0,e.length),...(i??u)>0?{wrapper:A(r,0,i??u)}:{},...function(e,t,i,a=F(e),r){let n=W(e),s=n?.source.length??0,l=function(e,t,i=F(e),a=U(e),r){let n=[...e.slice(t).matchAll(/[^\r\n]*(?:\r\n?|\n|$)/g)],o=n.map(e=>e[0]),s=e.slice(t),l=c(Y(a),w(s).split(/\r\n?|\n/),r),d=$(s,l),u=s.split("");for(let e of d.directives)for(let t=e.start;t<e.end;t++)"\r"!==u[t]&&u[t]!==`
3
- `&&(u[t]=" ");let f=u.join("").split(/\r\n?|\n/),p=n.map(e=>t+e.index),m=[],g=c(Y(a),f,r);for(let e=0;e<f.length;e++){let t=I(f,e);if(void 0===t)break;if(null===t){e=T(g,e,f.length);continue}let a=p[e],r;r="block"===t.form?p[t.endIndex]+f[t.endIndex].indexOf("}")+1:a+o[e].length,m.push(A(i,a,r)),e=t.endIndex}return Object.freeze(m)}(e,s,a,i,r),d=e.split("");for(let t of l)if(/^\s*%% agentic-mermaid (?:accTitle|accDescr):/.test(e.slice(t.start.offset,t.end.offset)))for(let e=t.start.offset;e<t.end.offset;e++)"\r"!==d[e]&&d[e]!==`
4
- `&&(d[e]=" ");let u=(function(e,t,i=0,a=F(e)){let r=[],n=new RegExp(t.source,t.flags.includes("g")?t.flags:`${t.flags}g`),o;for(;null!==(o=n.exec(e));)r.push(A(a,i+o.index,i+o.index+o[0].length)),0===o[0].length&&n.lastIndex++;return Object.freeze(r)})(d.join("").slice(s),RegExp(G.source,"gm"),s,a).filter(t=>o(e.slice(t.start.offset,t.end.offset)));return{...n?{frontmatter:A(a,0,s)}:{},...u.length>0?{initDirectives:u}:{},...l.length>0?{accessibilityDirectives:Object.freeze(l)}:{}}}(e,0,t,r,a),header:A(r,n,s),body:A(r,l,e.length)})}function ex(e,t="strict"){let i=e$(e,t);return"registered"===i.kind?{kind:"registered",familyId:i.family.id}:i}var eC=class extends Error{name="MermaidFamilyDetectionError";code;line;preservation;help;constructor(e){super(e.message),this.code=e.code,this.line=e.line,this.preservation=e.preservation,this.help=e.help}toJSON(){return{code:this.code,message:this.message,line:this.line,preservation:this.preservation,help:this.help}}};function eO(e,t){if(!e||"object"!=typeof e||Array.isArray(e))return;let i=e[t];return i&&"object"==typeof i&&!Array.isArray(i)?i:void 0}function ej(e,t,i){if(!i)return[];let a=t&&"object"==typeof t&&!Array.isArray(t)?t:void 0,r=eO(t,i.section);if(!r)return a&&i.section in a?[{code:"INEFFECTIVE_CONFIG",field:i.section,message:`${e} config section "${i.section}" must be an object; the invalid value has no effect.`}]:[];let n=new Set(i.keys);return Object.keys(r).filter(e=>!n.has(e)).sort().map(t=>({code:"INEFFECTIVE_CONFIG",field:`${i.section}.${t}`,message:`${e} config field "${t}" is unknown and has no effect; check the spelling or remove it.`}))}function ek(e,{root:t,config:i},a={}){let r=ej(e,t,i),n=eO(t,i.section);if(n){for(let[e,t]of Object.entries(a))if(e in n&&!t.valid(n[e])){let a=`${i.section}.${e}`;r.push({code:"INEFFECTIVE_CONFIG",field:a,message:`${a} must be ${t.expected}; the invalid value has no effect.`})}}return[...r,...function(e,t,i,a={}){if(!i)return[];let r=eO(t,i.section);if(!r)return[];let n=new Set(i.noopKeys??[]);return Object.keys(r).filter(e=>{if(!n.has(e))return!1;let t=a[e];return!t||t.valid(r[e])}).sort().map(t=>({code:"INEFFECTIVE_CONFIG",field:`${i.section}.${t}`,message:`${e} config field "${t}" is accepted for ${e.includes(":")?"compatibility":"Mermaid compatibility"} but has no effect on this renderer.`}))}(e,t,i,a)]}Object.freeze(["library","cli","codeMode","localMcp","hostedMcp","editor","website"]);var eE=["onConfigDiagnostic"],eF=(e,t)=>({type:"string",...void 0===t?{}:{default:t}}),eA=(e,t,i={})=>({type:"number",...void 0===t?{}:{default:t},...i}),eI=(e,t)=>eA(void 0,t,{minimum:0}),eT=(e,t)=>eA(void 0,t,{exclusiveMinimum:0}),eD=e=>eA(void 0,void 0,{minimum:1,maximum:1e3}),ez=(e,t)=>({type:"boolean",...void 0===t?{}:{default:t}}),eL=(e,t)=>({...eF(void 0,t),"x-agentic-mermaid-runtime-validator":"safeCssPaint"}),eM=(e,t)=>({...eF(void 0,t),"x-agentic-mermaid-runtime-validator":"safeCssFontFamily"}),eR=(e,t,i=[])=>({type:"object",additionalProperties:!1,properties:e,...0===i.length?{}:{required:i}}),eq={type:"string",enum:["uppercase","lowercase","capitalize"]},eN={...eR({groupHeaderHeight:eT(void 0),groupFontSize:eT(void 0),groupFontWeight:eD(void 0),groupLetterSpacing:eA(void 0),groupFont:eM(void 0),groupTextTransform:{...eq},groupPaddingX:eI(void 0),groupPaddingY:eI(void 0),groupLabelPaddingX:eI(void 0),groupCornerRadius:eI(void 0),groupLineWidth:eI(void 0),groupText:eL(void 0),serviceFontSize:eT(void 0),serviceFontWeight:eD(void 0),serviceLetterSpacing:eA(void 0),serviceTextTransform:{...eq},servicePaddingX:eI(void 0),servicePaddingY:eI(void 0),serviceCornerRadius:eI(void 0),serviceLineWidth:eI(void 0),serviceText:eL(void 0),edgeFontSize:eT(void 0),edgeFontWeight:eD(void 0),edgeLetterSpacing:eA(void 0),edgeTextTransform:{...eq},edgeLineWidth:eI(void 0),edgeBendRadius:eI(void 0),edgeStroke:eL(void 0),edgeText:eL(void 0),iconSize:eT(void 0),serviceIconSize:eT(void 0),junctionOuterRadius:eT(void 0),junctionInnerRadius:eI(void 0),groupSurface:eL(void 0),groupHeaderSurface:eL(void 0),groupBorder:eL(void 0),serviceSurface:eL(void 0),serviceBorder:eL(void 0)},void 0),"x-agentic-mermaid-runtime-validator":"architectureVisual"},eP={anyOf:[{type:"string"},(()=>{let t=e(),i=t.$defs,a=e=>{if(Array.isArray(e))return e.map(a);if(null===e||"object"!=typeof e)return e;let t=e.$ref;if("string"==typeof t&&t.startsWith("#/$defs/")){let e=i?.[t.slice(8)];if(!e)throw Error(`StyleSpec schema has unresolved local reference ${t}`);return a(e)}return Object.fromEntries(Object.entries(e).filter(([e])=>"$defs"!==e).map(([e,t])=>[e,a(t)]))},{$schema:r,$id:n,title:o,...s}=t;return a(s)})()],"x-agentic-mermaid-validation-expectation":"a registered Style name or StyleSpec"},eB={anyOf:[{type:"null"},{type:"string"},{type:"number"},{type:"boolean"},{type:"array",items:{$ref:"#/$defs/jsonValue"}},{type:"object",additionalProperties:{$ref:"#/$defs/jsonValue"}}],"x-agentic-mermaid-validation-expectation":"a finite, acyclic JSON value without prototype keys"},e_=["flowchart","state","class","er","architecture","c4"],eV=y({layoutHints:{validationExpectation:"contain integer ranks, node groups and edge IDs",schema:{type:"object",additionalProperties:!1,properties:{ranks:{type:"object",additionalProperties:{type:"integer",minimum:0,maximum:1e4}},adjacent:{type:"array",items:{type:"array",minItems:2,items:{type:"string"}}},shortEdges:{type:"array",items:{type:"string"}}}},applicableBuiltinFamilies:["flowchart","state"]},graphLayout:{validationExpectation:"be a graph layout selection object",schema:{anyOf:[eR({backend:{type:"string",const:"elk"},fallback:{type:"string",enum:["none"]}},void 0,["backend"]),eR({backend:{type:"string",const:"agentic"},fallback:{type:"string",enum:["none","elk"]}},void 0,["backend"])]},applicableBuiltinFamilies:["flowchart","state","architecture","class","er","requirement"]},layoutSafety:{validationExpectation:"be report or strict",schema:{type:"string",enum:["report","strict"],default:"report"}},bg:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0,"#FFFFFF")},fg:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0,"#27272A")},line:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0)},accent:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0)},muted:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0)},surface:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0)},border:{validationExpectation:"be a safe non-fetching CSS paint",schema:eL(void 0)},font:{validationExpectation:"be a safe non-fetching CSS font family or stack",schema:eM(void 0,"Inter")},style:{validationExpectation:"be a registered Style name or StyleSpec, or an array of them",schema:{anyOf:[eP,{type:"array",items:eP}],"x-agentic-mermaid-runtime-validator":"styleInput"}},padding:{validationExpectation:"be a non-negative finite number",schema:eI(void 0,40),applicableBuiltinFamilies:["flowchart","state","architecture","c4"]},nodeSpacing:{validationExpectation:"be a non-negative finite number",schema:eI(void 0,24),applicableBuiltinFamilies:e_},layerSpacing:{validationExpectation:"be a non-negative finite number",schema:eI(void 0,40),applicableBuiltinFamilies:e_},wrappingWidth:{validationExpectation:"be a positive finite number",schema:eT(void 0),applicableBuiltinFamilies:["flowchart"]},componentSpacing:{validationExpectation:"be a non-negative finite number",schema:eI(void 0),applicableBuiltinFamilies:[]},transparent:{validationExpectation:"be a boolean",schema:ez(void 0,!1)},interactive:{validationExpectation:"be a boolean",schema:ez(void 0,!1),applicableBuiltinFamilies:["xychart","pie","quadrant"]},shadow:{validationExpectation:"be a boolean",schema:ez(void 0,!1),applicableBuiltinFamilies:["flowchart","state","sequence","timeline","class","er","journey","xychart","pie","quadrant","gantt","mindmap","gitgraph","sankey"]},class:{validationExpectation:"be a class options object",schema:eR({hierarchicalNamespaces:ez(void 0,!0)},void 0),applicableBuiltinFamilies:["class"]},kanban:{validationExpectation:"be a kanban options object",schema:eR({maxWidth:eT(void 0)},void 0),applicableBuiltinFamilies:["kanban"]},architecture:{validationExpectation:"be an architecture options object",schema:eR({visual:eN},void 0),applicableBuiltinFamilies:["architecture"]},timeline:{validationExpectation:"be a timeline options object",schema:eR({maxWidth:eT(void 0)},void 0),applicableBuiltinFamilies:["timeline"]},journey:{validationExpectation:"be a journey options object",schema:eR({experienceCurve:ez(void 0,!0)},void 0),applicableBuiltinFamilies:["journey"]},gantt:{validationExpectation:"be a Gantt options object",schema:eR({dependencyArrows:ez(void 0,!1),criticalPath:ez(void 0,!1)},void 0),applicableBuiltinFamilies:["gantt"]},mermaidConfig:{validationExpectation:"be a plain JSON object",schema:{type:"object",additionalProperties:{$ref:"#/$defs/jsonValue"}}},embedFontImport:{validationExpectation:"be a boolean",schema:ez(void 0,!1)},compact:{validationExpectation:"be a boolean",schema:ez(void 0,!1)},idPrefix:{validationExpectation:"be non-empty and contain only ASCII letters, digits, underscore, hyphen, dot, and colon",schema:{...eF(void 0),pattern:"^[A-Za-z0-9_.:-]+$"}},security:{validationExpectation:"be default or strict",schema:{type:"string",enum:["default","strict"],default:"default"}},ganttToday:{validationExpectation:"be a string",schema:eF(void 0),applicableBuiltinFamilies:["gantt"]},seed:{validationExpectation:"be a finite number",schema:eA(void 0,0)}}),eW=Object.freeze(Object.keys(eV)),eG=Object.freeze(eW.filter(e=>"applicableBuiltinFamilies"in eV[e]));function eH(e){let t=e=>Array.isArray(e)?e.map(t):h(e)?Object.fromEntries(Object.entries(e).map(([e,i])=>[e,t(i)])):e;return t(e)}function eJ(e){let t=String(e[0]??"");for(let i of e.slice(1))t+="number"==typeof i?`[${i}]`:`.${i}`;return`render option "${t}"`}function eU(e){return m(f(e).map(e=>e.path.length>0?`${eJ(e.path)} ${e.message}`:`render options ${e.message}`),"render options")}function eY(e,t,i){let r=t["x-agentic-mermaid-runtime-validator"];if("safeCssColor"===r&&void 0===L(e))return[{path:i,message:"must be a safe, non-fetching CSS color",generic:!1}];if("safeCssPaint"===r&&void 0===q(e))return[{path:i,message:"must be a safe, non-fetching CSS paint",generic:!1}];if("safeCssFontFamily"===r&&void 0===N(e))return[{path:i,message:"must be a safe, non-fetching CSS font family or stack",generic:!1}];if("styleInput"===r)try{a(e)}catch(e){return[{path:i,message:`is invalid: ${e instanceof Error?e.message:String(e)}`,generic:!1}]}if("architectureVisual"===r&&h(e)){let t=e.junctionOuterRadius,a=e.junctionInnerRadius;if("number"==typeof t&&"number"==typeof a&&a>t)return[{path:[...i,"junctionInnerRadius"],message:"must not exceed junctionOuterRadius",generic:!1}]}return[]}function eK(e){if(!h(e))return["render options must be a plain JSON object"];let t=eU(e);if(t.length>0)return t;let i=[],a=Q??=y(function(){let e={};for(let t of eW){let i=eV[t],a="terminalNote"in i?i.terminalNote:void 0,r="applicableBuiltinFamilies"in i?i.applicableBuiltinFamilies:void 0;e[t]={...eH(i.schema),"x-agentic-mermaid-terminal":i.terminal,...void 0===a?{}:{"x-agentic-mermaid-terminal-note":a},...void 0===r?{}:{"x-agentic-mermaid-applicable-builtin-families":[...r]}}}return{type:"object",additionalProperties:!1,properties:e,$defs:{jsonValue:eH(eB)}}}());for(let[t,r]of Object.entries(e)){if(!Object.hasOwn(eV,t)){i.push(`unknown render option "${t}"`);continue}if(null===r){i.push(`render option "${t}" must be omitted instead of null`);continue}let e=eV[t],n=Z(r,e.schema,a,[t],{diagnostics:"field",validateRuntime:eY});n.length>0&&n.every(e=>e.generic&&1===e.path.length)?i.push(`render option "${t}" must ${e.validationExpectation}`):i.push(...n.map(e=>`${eJ(e.path)} ${e.message}`))}return m(i,"render options")}var eX=class extends Error{constructor(e,t){super(`Parsed Mermaid family "${e}" serialized as family "${t}"`),this.expectedFamilyId=e,this.detectedFamilyId=t}expectedFamilyId;detectedFamilyId;name="ParsedDiagramFamilyMismatchError";code="PARSED_DIAGRAM_FAMILY_MISMATCH"},eZ=class extends Error{name="RenderCapabilityError";code="UNSATISFIED_RENDER_CAPABILITIES";output;family;decision;constructor(e,t,i,a){super(e),this.output=t,this.family=Object.freeze({id:i.identity.id,version:i.identity.version}),this.decision=a}toJSON(){return{name:this.name,code:this.code,message:this.message,output:this.output,family:this.family,decision:this.decision}}},eQ=class extends TypeError{constructor(e){super(e),this.name="RenderConfigError"}},e0=new WeakMap;function e1(e){let t=e0.get(e);if(!t)throw Error("Resolved render request has no internal execution plan");return t}function e2(e,t=[]){let i,a=e0.get(e),r=a?.executionDecision,n=a&&Object.hasOwn(a,"textMeasurement")?a.textMeasurement:void 0;return Object.freeze({version:e.version,output:e.output,sharedRequestDigest:e.sharedRequestDigest,requestDigest:e.requestDigest,appearanceDigest:e.appearance.digest,capabilityDecision:e.capabilityDecision,diagnostics:(i=new Set,Object.freeze([...Object.hasOwn(e,"resolutionDiagnostics")?e.resolutionDiagnostics:[],...t,...B(e).flatMap(e=>"agentic"===e.requested&&"elk"===e.selected?[{code:"GRAPH_LAYOUT_FALLBACK",feature:"graph-layout",message:`Agentic graph layout used the requested ELK fallback: ${e.reason??"candidate rejected"}`}]:[])].flatMap(e=>{let t=e7(e);return i.has(t)?[]:(i.add(t),[Object.freeze({...e})])}))),...r?{executionDecision:r}:{},...n?{textMeasurement:n.identity}:{},...B(e).length?{layoutDecisions:B(e)}:{}})}function e6(e){let t=e4.get(e);if(t)return t;let i=e0.get(e)?.backend?.identity.id??("layout"===e.output?`backend:${e.appearance.inferredBackend}`:void 0),a=Object.freeze({renderOptions:e.renderOptions,...e.appearance.face?{styleFace:e.appearance.face}:{},...i?{paintBackendId:i}:{},...e.familyConfig?{familyConfig:e.familyConfig}:{},...e.appearance.family?{familyAppearance:e.appearance.family}:{}});return e0.has(e)&&e4.set(e,a),a}var e4=new WeakMap;function e5(e){let t={};for(let i of eW){let a=e[i];void 0!==a&&(t[i]=a)}return t}var e3=new Set(["padding","nodeSpacing","layerSpacing","wrappingWidth","class"]);function e8(e,t="$",i=0,a=new Set,r={nodes:0,chars:0,opaque:!1,admission:void 0}){let n=r.admission;if(n?.valid)switch((++n.nodes>d.maxNodes||i>d.maxDepth)&&(n.valid=!1),typeof e){case"number":e-e!=0&&(n.valid=!1);break;case"undefined":case"bigint":case"symbol":case"function":n.valid=!1}if("string"==typeof e){if(r.chars+=e.length,r.chars>2e6)throw TypeError(`data exceeds the 2000000-character aggregate limit at ${t}`);return e}if(null===e||"object"!=typeof e)return e;if(i>64)throw TypeError(`data exceeds maximum depth 64 at ${t}`);if(++r.nodes>1e5)throw TypeError(`data exceeds the 100000-node aggregate limit at ${t}`);if(a.has(e))throw TypeError(`data must be acyclic at ${t}`);if(Array.isArray(e)){if(e.length>1e5)throw TypeError(`data array exceeds the 100000-entry limit at ${t}`);a.add(e);try{let o=[],s=Object.create(null);s.enumerable=s.configurable=s.writable=!0;for(let n=0;n<e.length;n++){if(n>=1e5)throw TypeError(`data array exceeds the 100000-entry limit at ${t}`);if(!Object.prototype.hasOwnProperty.call(e,n))throw TypeError(`data must not contain a sparse array at ${t}[${n}]`);s.value=e8(e[n],`${t}[${n}]`,i+1,a,r),Object.defineProperty(o,n,s)}return n&&o.length>d.maxItemsPerContainer&&(n.valid=!1),tr(o,!r.opaque)}finally{a.delete(e)}}if(!h(e))return r.opaque=!0,n&&(n.valid=!1),e;a.add(e);try{let o={},s=0;for(let[l,c]of Object.entries(e)){if(r.chars+=l.length,r.chars>2e6)throw TypeError(`data exceeds the 2000000-character aggregate limit at ${t}.${l}`);if(void 0!==c){n&&(++s>d.maxItemsPerContainer||u(l))&&(n.valid=!1);let e=e8(c,`${t}.${l}`,i+1,a,r);l in o?Object.defineProperty(o,l,{value:e,enumerable:!0}):o[l]=e}}return tr(o,!r.opaque)}finally{a.delete(e)}}function e9(e,t,i,a=!1){let r;if(void 0===t)return;if(!h(t))throw TypeError(`Family "${e.id}" returned ${i} data that is not a plain object`);if(a)return t;try{r=e8(t)}catch(t){throw TypeError(`Family "${e.id}" returned invalid ${i} data: ${t instanceof Error?t.message:String(t)}`)}let n={...eB,$defs:{jsonValue:eB}},o=Z(r,n,n,[`family${"config"===i?"Config":"Appearance"}`],{diagnostics:"field",validateRuntime:eY});if(o.length>0){let t=o.map(e=>`${e.path.join(".")} ${e.message}`).join("; ");throw TypeError(`Family "${e.id}" returned invalid ${i} data: ${t}`)}return tn(r)}function e7(e){if(null===e||"object"!=typeof e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(e7).join(",")}]`;let t="{",i="";for(let a of Object.keys(e).sort()){let r=e[a];void 0!==r&&(t+=`${i}${JSON.stringify(a)}:${e7(r)}`,i=",")}return`${t}}`}function te(e,t){try{let t,i;return t=tt(e),()=>(void 0===i&&(i=ti(e7(t)),t=void 0),i)}catch(e){throw e instanceof TypeError&&/aggregate limit/.test(e.message)?new x("sourceCharacters",t.originalText.length+t.text.length,!0):e}}function tt(e){let t,i={nodes:0,valid:2e6<=d.maxAggregateTextCharacters&&6e6<=d.maxAggregateTextBytes};try{t=to(e,"render contract digest input",i)}catch(e){throw TypeError((e instanceof Error?e.message:String(e)).replace("data exceeds maximum depth","data exceeds maximum nesting depth"))}return i.valid||p(t,"render contract digest input",{allowUndefinedObjectProperties:!0}),t}function ti(e){let t=-0x340d631c,i=-0x7bdddcdb;for(let a=0;a<e.length;a++){let r=i^e.charCodeAt(a),n=(r>>>16)*435+((65535&r)*435>>>16)>>>16;i=Math.imul(r,435),t=Math.imul(t,435)+n+(r<<8)|0}return`fnv1a64:${(t>>>0).toString(16).padStart(8,"0")}${(i>>>0).toString(16).padStart(8,"0")}`}var ta=new WeakSet;function tr(e,t=!0){return Object.freeze(e),t&&ta.add(e),e}function tn(e,t="$",i,a){let r;if(null===e||"object"!=typeof e||ta.has(e))return e;if(i??=new Set,a??=new WeakMap,i.has(e))throw TypeError(`render request contains a cycle at ${t}`);let n=a.get(e);if(n)return n;let o=Object.getPrototypeOf(e);if(!Array.isArray(e)&&o!==Object.prototype&&null!==o)throw TypeError(`render request contains a non-JSON object at ${t}`);if(i.add(e),Array.isArray(e)){let n=e.length,o=Array(n);for(let r=0;r<n;r++)r in e&&(o[r]=tn(e[r],`${t}[${r}]`,i,a));r=o}else{let n={};for(let[r,o]of Object.entries(e)){let e=tn(o,`${t}.${r}`,i,a);r in n?Object.defineProperty(n,r,{value:e,enumerable:!0}):n[r]=e}r=n}return i.delete(e),a.set(e,r),tr(r)}function to(e,t,i){try{return tn(i?e8(e,"$",0,new Set,{nodes:0,chars:0,opaque:!1,admission:i}):e8(e))}catch(e){throw TypeError(`${t} could not be snapshotted: ${e instanceof Error?e.message:String(e)}`)}}var ts=Object.freeze({serializable:tn({})}),tl=new WeakMap,tc=new WeakMap;function td(e){if(tl.has(e))return e;let t=tf(e),i=tn(r(t.serializable.style)),a=eK(t.serializable);if(a.length)throw new eQ(`Invalid RenderOptions: ${a.join("; ")}`);let n=tp(t.serializable.style),o=Object.freeze({...t.serializable,...t.onConfigDiagnostic?{onConfigDiagnostic:t.onConfigDiagnostic}:{}});return tl.set(o,Object.freeze({...t,capturedStyle:i})),tc.set(t.serializable,n),o}function tu(e){let t=tl.get(e)?.capturedStyle;if(!t)throw TypeError("Render options have not been captured");return t.style?i(t.style):"default"}function tf(e){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new eQ("Invalid RenderOptions: render options must be an object");let t=tl.get(e);if(t)return t;let i=[],a;for(let[t,r]of Object.entries(e))"onConfigDiagnostic"===t?a=r:void 0!==r&&i.push([t,r]);if(void 0!==a&&"function"!=typeof a)throw new eQ("Invalid RenderOptions: onConfigDiagnostic must be a function");if(0===i.length&&void 0===a)return ts;let r=Object.fromEntries(i),n;try{n=to(r,"RenderOptions")}catch(t){let e=(t instanceof Error?t.message:String(t)).replace("data exceeds maximum depth","render option tree exceeds maximum nesting depth");throw new eQ(`Invalid RenderOptions: ${e}`)}return Object.freeze({serializable:n,...void 0===a?{}:{onConfigDiagnostic:a}})}function tp(e){return tn((void 0===e?[]:Array.isArray(e)?e:[e]).flatMap(e=>{if("string"!=typeof e||"crisp"===e)return[];let i=t(e);return i?[{input:e,canonicalId:i.canonicalId}]:[]}))}var tm="1.0.0";function tg(e,t,i=tm){return t?[{id:e,version:i}]:[]}function th(e,t=`^${tm}`){return{id:e,range:t,level:"required"}}function ty(e){return`scene-primitive:${e.primitive}/${e.feature}/${e.operation}`}var tv=new WeakMap;function tb(e,t){let i=tv.get(e.backend);return i||(i=new Set(b.filter(t=>e.backend.capabilities.some(e=>e.primitive===t.primitive&&e.feature===t.feature&&e.operation===t.operation&&"unsupported"!==e.realization))),tv.set(e.backend,i)),i.has(t)}var tS=new Map;function t$(e){return!e.id.startsWith("output:")&&!e.id.startsWith("operation:")&&!e.id.startsWith("backend:")&&!e.id.startsWith("scene-primitive:")&&"core:scene"!==e.id}function tw(e,t={},a="svg",o,l={}){let c=tf(t),d=c.serializable,u=eU(d);if(u.length>0)throw new eQ(`Invalid RenderOptions: ${u.join("; ")}`);let f=c.capturedStyle??r(d.style),p=f.style,m=tn(f.face),y=c.capturedStyle?[]:eK(d);if(y.length>0)throw new eQ(`Invalid RenderOptions: ${y.join("; ")}`);let $,w=tn(g(e,d.mermaidConfig??{},e=>l.familyDescriptor?l.familyDescriptor:"registered"===($=e$(e)).kind?$.family:null)),x=l.familyDescriptor??function(e,t){if("registered"===t.kind)return t.family;throw new eC(function(e,t,i,a,r){let n=eS.provenance.version;if("unknown"===e.kind)return{code:"UNKNOWN_HEADER",message:`Unrecognized Mermaid header: "${e.header}"`,line:1,preservation:{version:1,classification:"unknown",source:t,header:e.header,mermaidVersion:n,spans:ew(t,a??e.header,i,null)},help:"Check for a Mermaid upgrade or register a namespaced family descriptor; the source was preserved unchanged."};let{family:o,header:s}=e.match,l="inventory-only"===s.agenticStatus?"inventory-only":"unsupported",c="native"===s.agenticStatus;return{code:c?"FAMILY_DESCRIPTOR_MISMATCH":"UNSUPPORTED_FAMILY",message:c?`Mermaid ${n} header "${s.value}" is marked native but no installed family descriptor claimed it`:`Mermaid ${n} family "${o.id}" is ${l} in Agentic Mermaid`,line:1,preservation:{version:1,classification:l,source:t,header:s.value,upstreamFamilyId:o.id,mermaidVersion:n,spans:ew(t,a??s.value,i,null)},help:c?"Report a descriptor/manifest mismatch; the source was preserved unchanged.":`Install a family descriptor for "${s.value}" or use a currently native family; the source was preserved unchanged.`}}("unknown"===t.kind?{...t,header:e.lines[0]??e.firstLine}:t,e.originalText,e.authoredWrapperLength??e.wrapperSource?.length??0,e.authoredHeader??e.lines[0]??e.firstLine,0))}(w,$);if(void 0!==l.expectedFamilyId&&x.id!==l.expectedFamilyId)throw new eX(l.expectedFamilyId,x.id);C("sourceCharacters",w.originalText.length+w.text.length);let E=v(w.config.themeCSS,d.security??"default");if(E)throw new eQ(E);"architecture"!==x.id&&eb(w.config.themeVariables,x.id,d),function(e,t){let i=eh(e[t]);if(i){if("timeline"===t)ev(i,"timeline","sectionFills",!1),ev(i,"timeline","sectionColours",!1),(void 0===i.sectionColours||Array.isArray(i.sectionColours)&&0===i.sectionColours.length)&&ev(i,"timeline","sectionColors",!1);else if("journey"===t)ev(i,"journey","actorColours",!0),ev(i,"journey","sectionFills",!1),ev(i,"journey","sectionColours",!1),ey(i,"journey","titleColor",!1);else if("requirement"===t)ey(i,"requirement","rect_fill",!0),ey(i,"requirement","rect_border_color",!0),ey(i,"requirement","text_color",!1);else if("sankey"===t){let e=i.linkColor;if("source"!==e&&"target"!==e&&"gradient"!==e&&ey(i,"sankey","linkColor",!0),void 0===i.nodeColors)return;let t=eh(i.nodeColors);if(!t)throw new eg("sankey.nodeColors",i.nodeColors,!1,"map");let a=void 0!==e&&"gradient"!==e;for(let[e,i]of Object.entries(t))if(void 0===M(i,a))throw new eg(/^[\w-]+$/.test(e)?`sankey.nodeColors.${e}`:`sankey.nodeColors[${JSON.stringify(e)}]`,i,a)}}}(w.frontmatter,x.id);let F=Object.freeze(eW.filter(e=>void 0!==d[e])),A=function(e,t){if(e.id.startsWith("family:")){let i=new Set(e.applicableRenderOptions??[]);return Object.freeze(t.flatMap(t=>!eG.includes(t)||i.has(t)?[]:[Object.freeze({code:"RENDER_OPTION_NOT_APPLICABLE",feature:`render-option:${t}`,message:`Render option "${t}" does not apply to extension family "${e.id}". Its FamilyDescriptor does not list the field in applicableRenderOptions.`})]))}let i=e.id;return Object.freeze(t.flatMap(e=>{let t=eV[e];if(!("applicableBuiltinFamilies"in t))return[];let a=t.applicableBuiltinFamilies;if(a.includes(i))return[];let r=0===a.length?"No built-in family currently consumes this option.":`Applicable built-in families: ${a.join(", ")}.`;return[Object.freeze({code:"RENDER_OPTION_NOT_APPLICABLE",feature:`render-option:${e}`,message:`Render option "${e}" does not apply to built-in Mermaid family "${i}". ${r}`})]}))}(x,F),{appearance:I,renderOptions:T,familyConfig:z}=function(e){let{family:t,source:a,options:r,style:o,styleFace:s}=e,l="strict"===r.security?{...r,embedFontImport:!1}:{...r};r.graphLayout&&(l.graphLayout={...r.graphLayout,fallback:r.graphLayout.fallback??"none"});let c=void 0!==o&&n(o);c&&(l=function(e,t,i){let a={...e},r=e=>O[e].some(e=>i?.[e]!==void 0);for(let e of["bg","fg","line","accent","muted","surface","border"])void 0!==a[e]||r(e)||t.colors?.[e]===void 0||(a[e]=t.colors[e]);return void 0===a.font&&void 0!==t.font&&(a.font=t.font),a}(l,o,a.config.themeVariables));let d=r.font??a.config.fontFamily??k(a.config.themeVariables,"fontFamily")??l.font??"Inter",u=N(d)??d,{style:f,...p}=l,m={...p,...o?{style:o}:{},font:u,mermaidConfig:a.config},g={...j(m,a.config,u)},y=function(e,t,i,a,r,n){if(!e.normalizeRequest)return{renderOptions:i,colors:a};let o=Object.freeze({source:tn(t),renderOptions:tn(i),colors:tn(a),...r?{style:tn(r)}:{},...n?{styleFace:tn(n)}:{}}),s=e.normalizeRequest(o);if(void 0===s)return{renderOptions:i,colors:a};let l,c={nodes:0,valid:!0};try{l=to(s,`Family "${e.id}" request normalizer result`,c)}catch(t){throw TypeError(`Family "${e.id}" request normalizer returned invalid data: ${t instanceof Error?t.message:String(t)}`)}if(!h(l))throw TypeError(`Family "${e.id}" request normalizer must return a plain object`);let d=Object.keys(l).find(e=>!["renderOptions","familyConfig","appearance"].includes(e));if(d)throw TypeError(`Family "${e.id}" request normalizer returned unknown field "${d}"`);let u=l,f=u.appearance;if(void 0!==f){if(!h(f))throw TypeError(`Family "${e.id}" request normalizer returned a non-object appearance`);let t=Object.keys(f).find(e=>!["colors","family"].includes(e));if(t)throw TypeError(`Family "${e.id}" request normalizer returned unknown appearance field "${t}"`)}let p=u.renderOptions??i;if(void 0!==p.onConfigDiagnostic)throw TypeError(`Family "${e.id}" request normalizer may not return executable option "onConfigDiagnostic"`);let m=eK(Object.fromEntries(Object.entries(p).filter(([e,t])=>void 0!==t&&!eE.includes(e))));if(m.length>0)throw new eQ(`Family "${e.id}" returned invalid normalized RenderOptions: ${m.join("; ")}`);let g=e5(i),y=e5(p);for(let t of eW)if(!e3.has(t)&&e7(g[t])!==e7(y[t]))throw TypeError(`Family "${e.id}" request normalizer may not rewrite non-geometry option "${t}"`);let v=f?.colors?function(e,t,i){let a=new Set(["bg","fg","line","accent","muted","surface","border","shadow","font","embedFontImport"]),r=Object.keys(t).find(e=>!a.has(e));if(r)throw TypeError(`Family "${e.id}" returned unknown appearance color field "${r}"`);let n={...i};for(let i of["bg","fg","line","accent","muted","surface","border"]){let a=t[i];if(void 0===a)continue;let r=q(a);if(void 0===r)throw new eQ(`Family "${e.id}" returned an unsafe ${i} paint`);n[i]=r}if(void 0!==t.font){let a=N(t.font);if(void 0===a)throw new eQ(`Family "${e.id}" returned an unsafe font family`);if(a!==i.font)throw TypeError(`Family "${e.id}" request normalizer may not rewrite appearance field "font"`)}if(void 0!==t.shadow){if("boolean"!=typeof t.shadow)throw TypeError(`Family "${e.id}" returned a non-boolean shadow value`);if(t.shadow!==i.shadow)throw TypeError(`Family "${e.id}" request normalizer may not rewrite appearance field "shadow"`)}if(void 0!==t.embedFontImport){if("boolean"!=typeof t.embedFontImport)throw TypeError(`Family "${e.id}" returned a non-boolean embedFontImport value`);if(t.embedFontImport!==i.embedFontImport)throw TypeError(`Family "${e.id}" request normalizer may not rewrite appearance field "embedFontImport"`)}return n}(e,f.colors,a):a,b=e9(e,u.familyConfig,"config",c.valid),S=e9(e,f?.family,"appearance",c.valid);return{renderOptions:p,colors:v,...b?{familyConfig:b}:{},...S?{familyAppearance:S}:{}}}(t,a,m,g,o,s),v=tn(y.colors),b=tc.get(r)??tp(r.style),S=function(e){let t=new Set;for(let i of Object.values(O))for(let a of i){let i=e.config.themeVariables?.[a];"string"==typeof i&&i.length>0&&void 0===L(i)&&t.add(a)}return Object.freeze([...t].sort())}(a),$={version:2,colors:v,font:u,style:tn(o),face:tn(s),styled:c,inferredBackend:o?i(o):"default",styleReferences:b,...S.length>0?{unsafeThemeColorKeys:S}:{},...y.familyAppearance?{family:y.familyAppearance}:{}},w=tn({...$,digest:ti(e7(tt($)))});return tn({renderOptions:tn(y.renderOptions),appearance:w,...y.familyConfig?{familyConfig:y.familyConfig}:{}})}({family:x,source:w,options:d,...p?{style:p}:{},...m?{styleFace:m}:{}}),R=I.family?.visual;"architecture"===x.id&&eb(w.config.themeVariables,x.id,d,R),function(e,t,i){if("architecture"!==t||!e)return;let a=i?.edgeStroke;if("string"==typeof a&&"none"===a.trim().toLowerCase())throw new em("architecture.visual.edgeStroke",a);for(let t of["bg","surface","line","accent"]){let r=e[t];if("string"==typeof r&&"none"===r.trim().toLowerCase()&&("surface"!==t||i?.groupSurface?.trim().toLowerCase()==="none")&&!("surface"===t&&i?.groupHeaderSurface)&&!(("line"===t||"accent"===t)&&a))throw new em(t,r)}let r=i?.groupSurface;if(!i?.groupHeaderSurface&&"string"==typeof r&&"none"===r.trim().toLowerCase())throw new em("architecture.visual.groupSurface",r)}(d,x.id,R);let B=function(e,t,i,a,r,n){var o,l,c,d,u;let f,p,m,g,h;"svg"===i||"png"===i?"scene"==(f=t.styled||e.lowerScene?"scene":"family-svg")&&(p=S(m=t.styled?t.inferredBackend:"default",a.backendPolicy)):f="layout"===i?"layout":"terminal";let y="scene"===f?(g=new Set(e.scenePrimitiveEvidence.filter(e=>"applicable"===e.applicability).map(e=>e.primitive)),b.filter(e=>g.has(e.primitive))):[],v=p?y.flatMap(e=>tg(ty(e),tb(p,e))):[],$=[{id:e.identity.id,version:e.identity.version},...tg("operation:layout",void 0!==e.layout),...tg("operation:project-positioned",void 0!==e.projectPositioned),...tg("operation:lower-scene",void 0!==e.lowerScene),...tg("operation:render-svg",void 0!==e.renderSvg),...tg("operation:render-terminal",void 0!==e.renderAscii),...tg("core:scene","scene"===f),...tg("backend:scene-renderer",void 0!==p,p?.identity.version),...v],w=[th("core:family-descriptor"),th(e.identity.id,e.identity.version)],x;switch(f){case"scene":w.push(th("core:scene"),th("operation:layout"),th("operation:lower-scene"),th("backend:scene-renderer",p?.identity.version??tm),...y.map(e=>th(ty(e)))),x=!!(e.layout&&e.lowerScene&&p&&y.every(e=>tb(p,e)));break;case"family-svg":w.push(th("operation:layout"),th("operation:render-svg")),x=!!(e.layout&&e.renderSvg);break;case"terminal":w.push(th("operation:render-terminal")),x=void 0!==e.renderAscii;break;case"layout":w.push(th("operation:layout"),th("operation:project-positioned")),x=!!(e.layout&&e.projectPositioned)}let C=function(e,t,i,a){let r=function(e,t,i,a){let r=t.length+i.length;if("string"!=typeof e||r>256)return;let n=e.length+16*r;if(n>16384)return;let o=`${e.length}:${e};${a};${t.length};${i.length};`;for(let e of t){if("string"!=typeof e.id||"string"!=typeof e.version||(n+=e.id.length+e.version.length)>16384)return;o+=`${e.id.length}:${e.id}${e.version.length}:${e.version}`}for(let e of i){if("string"!=typeof e.id||"string"!=typeof e.range||"string"!=typeof e.level||(n+=e.id.length+e.range.length+e.level.length)>16384)return;o+=`${e.id.length}:${e.id}${e.range.length}:${e.range}${e.level.length}:${e.level}`}return o.length<=8192?o:void 0}(e,t,i,a),n=void 0===r?void 0:tS.get(r);if(P("capability-decision",void 0===r?"bypass":n?"hit":"miss",void 0===r?"tuple-budget":void 0),n)return n;let o=_(e,{offers:t,requirements:i,outputAvailable:a});return void 0!==r&&(tS.size<32?tS.set(r,o):P("capability-decision","store-skipped","capacity")),o}(i,$,w,x);if(!C.accepted){let a,r;throw d=f,u=p,r=(a=C.resolutions.filter(e=>"required"===e.level&&"selected"!==e.status).map(e=>e.id).join(", "))?` (unsatisfied capabilities: ${a})`:"","layout"===i?new eZ(`No public layout projection registered for Mermaid family "${e.id}"${r}`,i,e,C):"ascii"===i||"unicode"===i||"html"===i?new eZ(`No ASCII renderer registered for Mermaid family ${e.id}${r}`,i,e,C):t.styled&&!e.lowerScene?new eZ(`Family "${e.id}" does not support styled rendering (no SceneGraph lowering registered). Render without the style option, or register a lowerScene hook for the family.${r}`,i,e,C):"scene"===d&&e.layout&&e.lowerScene&&!u?new eZ(t.styled?`Style "${t.style?.name??"(inline)"}" requires an unavailable SceneGraph backend${r}`:`Default SceneGraph backend is not registered${r}`,i,e,C):new eZ(`No SVG renderer registered for Mermaid family ${e.id}${r}`,i,e,C)}let O="terminal"===f?void 0:V(a.textMeasurement,t.font),j;if("scene"===f||"family-svg"===f){let t=Object.freeze("scene"===f?{mode:"scene",requestedId:m,selectedId:p.identity.id,version:p.identity.version,hostPolicy:void 0!==a.backendPolicy}:{mode:"family-svg"}),i={family:Object.freeze({id:e.identity.id,version:e.identity.version}),backend:t,...O?{textMeasurement:O.identity}:{}};j=Object.freeze({...i,digest:ti(e7(tt(i)))})}let k=void 0===r?void 0:Object.freeze((o=e.id,l=e.config,c=e.configDiagnostics,h=s(o),function(e,t,i,a){var r;let n;if(!i)return[];let o=a??s(e)?.configDiagnostics;return r=t.flatMap(t=>o?[...o({root:t,config:i})]:ek(e,{root:t,config:i})),n=new Set,r.sort((e,t)=>D(e.field,t.field)||D(e.message,t.message)).filter(e=>{let t=`${e.code}\0${e.field}\0${e.message}`;return!n.has(t)&&(n.add(t),!0)})}(o,[r],l??h?.config,c??h?.configDiagnostics)).map(e=>Object.freeze({...e})));return Object.freeze({output:i,mode:f,family:e,...p?{backend:p}:{},...m?{requestedBackendId:m}:{},...void 0===k?{}:{configDiagnostics:k},...n?{onConfigDiagnostic:n}:{},capabilityDecision:C,...j?{executionDecision:j}:{},...O?{textMeasurement:O}:{}})}(x,I,a,l,d.mermaidConfig,c.onConfigDiagnostic),W=B.capabilityDecision,G=Object.freeze(W.resolutions.filter(t$)),H=Object.freeze({version:W.version,accepted:G.every(e=>"required"!==e.level||"selected"===e.status),resolutions:G}),J={version:2,authoredSource:w.originalText,source:w.text,options:e5(T),appearance:I.digest,...z?{familyConfig:z}:{},...B.textMeasurement?{textMeasurement:B.textMeasurement.identity}:{},capabilities:H},U=te(J,w),Y=te({...J,output:a,outputOptions:o,capabilities:W},w),K=Object.freeze({version:2,output:a,source:tn(w),renderOptions:T,appearance:I,...z?{familyConfig:z}:{},capabilityDecision:W,explicitOptionFields:F,...0===A.length?{}:{resolutionDiagnostics:A},get sharedRequestDigest(){return U()},get requestDigest(){return Y()}});return e0.set(K,B),K}export{ex as a,eO as b,ej as c,ek as d,eQ as e,e1 as f,e2 as g,e6 as h,ti as i,td as j,tu as k,tw as l};
@@ -1,16 +0,0 @@
1
- import{a as e}from"./chunk-DWDYWUAS.js";import{b as t,c as n}from"./chunk-MSP3S2VS.js";import{d as i}from"./chunk-SBXYR7Z3.js";import{a as l}from"./chunk-5GE2SFLQ.js";import{b as s,c as r,d as a,e as o,f as d,p as c}from"./chunk-KXPF5KIU.js";import{T as u,e as h,g as p,h as f,i as g}from"./chunk-SJYDRC6G.js";import{$ as m,M as x,aa as w,fa as b,g as y,j as k,s as $,w as S,x as v}from"./chunk-GMTB5UTY.js";import{A as L,B as M,D as C,F as O,S as I,U as j,g as B,x as E,y as A}from"./chunk-P7DO3MRP.js";import{a as N}from"./chunk-5UVGUSD6.js";function W({positioned:e,options:t}){return u(e,t)}var R=String.raw`~{3,}|[xo]-?\.+-[xo]|-?\.+-[>xo]?|[xo]={2,}[xo]|={2,}[>xo]|={3,}|o-{2,}o|o-{2,}x|x-{2,}o|x-{2,}x|-{2,}[ox]|-{2,}>|-{3,}`,D=RegExp(`(<)?(${R})`,"y"),z=`<?(?:${R})`,T=String.raw`(?!${z}|[xo]?(?:-{2,}|-\.|={2,}))[^\s"@[\](){}|<>;]+`,q=/([<xo])?(-{2,}|-\.+|={2,})/y,F={solid:"-{2,}[-ox>]",thick:"={2,}[=>xo]",dotted:"-?\\.+-[>xo]?"},_={...F,mixed:Object.values(F).join("|")},U=Object.fromEntries(Object.entries(_).map(([e,t])=>[e,RegExp(`(${t})`,"y")])),H=Object.fromEntries(Object.entries(_).map(([e,t])=>[e,RegExp(`\\s*(?:${t})`,"y")])),G={solid:/--/y,thick:/==/y,dotted:void 0};function X(e){return e.includes(".")?"dotted":e.startsWith("=")?"thick":"solid"}function J(e,t,n){return e.lastIndex=n,e.exec(t)}var P=/[\p{L}\p{N}_!"#$%&'*+.`?\\/]/u;function Y(e,t=0){let n=t;for(;n<e.length;n++){let i=e[n];if("-"===i){let t=e[n+1];if("-"===t||"."===t)break;continue}if(n===t&&'"'===i)break;if(":"===i){if(e.startsWith(":::",n))break;continue}if(!P.test(i))break}return n-t}var Q={text:/[[\](){}|"]/,trapezoid:/[[\](){}]/,"edge-text":/"/};function V(e,t){let n=e;if(e.startsWith('"')){let t=e.startsWith('"`'),i=t?e.indexOf('`"',2):e.indexOf('"',1);if(i<0)return!1;n=e.slice(i+(t?2:1))}return Q[t].test(n)}var Z=/^[\p{L}0-9\s!"#$%&'*+\-./:?\\^_`]*$/u,K=/(?:^|\s)(?:"|\.+-)|--|-\.|->|:::/;function ee(e,t){return("."===e[t]||'"'===e[t])&&t>0&&P.test(e[t-1])}function et(e,t){let n=J(D,e,t);return n?{hasArrowStart:!!n[1],op:n[2],end:t+n[0].length}:null}function en(e,t){let n=ei(e,t);return n&&"end"in n?n:null}function ei(e,t){let n=J(q,e,t);if(!n)return null;let i=el(e,t,n,X(n[2]));return i&&"end"in i?i:el(e,t,n,"mixed")}function el(e,t,n,i){let l=t+n[0].length,s=function(e,t,n){let i=t;for(;i<e.length&&/\s/.test(e[i]);)i++;if('"'===e[i]){for(let t=e.indexOf('"',i+1);t>=0;t=e.indexOf('"',t+1))if(J(H[n],e,t+1))return{open:i,close:t}}}(e,l,i),r=G[X(n[2])];for(let t=s?s.close+1:l;t<e.length;t++){let a=J(U[i],e,t);if(!a){if(r&&J(r,e,t))return{stray:t};continue}let o=e.slice(l,t),d=o.trim();if(0===d.length)continue;let c=l+o.length-o.trimStart().length;return{hasArrowStart:!!n[1],...n[1]?{startMark:n[1]}:{},openOp:n[2],closeOp:a[1],labelStart:c,labelEnd:c+d.length,...s?{quote:s}:{},end:t+a[0].length,..."mixed"===i?{mixed:!0}:{}}}return null}var es=new Set(["[","(","{"]),er=new Set(["]",")","}"]);function ea(e){return eo(e,0,!1,!1)}function eo(e,t,n,i,l=-1){let s=[],r=n?[]:Array(e.length).fill(!1),a=[],o=[],d=[],u=(t,n,i)=>{s.push({kind:t,start:n,end:e.length,contentStart:i,contentEnd:e.length,closed:!1,parent:d.at(-1)??-1}),d.push(s.length-1)},h=(e,t)=>{let n=s[d.pop()];n.contentEnd=e,n.end=t,n.closed=!0};for(let p=t;p<e.length&&!(n&&s.length>0&&0===d.length);p++){let t=e[p],f=d.length>0?s[d.at(-1)]:void 0;if(f?.kind==="string"){'"'===t&&h(p,p+1);continue}if(f?.kind==="markdown"){"`"===t&&'"'===e[p+1]?(h(p,p+2),p++):'"'===t&&u("string",p,p+1);continue}if('"'===t&&p!==l&&!(i&&f?.kind==="shape"&&p!==f.contentStart)&&!(void 0===f&&ee(e,p))){"`"===e[p+1]?(u("markdown",p,p+2),p++):u("string",p,p+1);continue}if(f?.kind==="shape"){es.has(t)?u("shape",p,p+1):er.has(t)&&h(p,p+1);continue}let g="@"===t?function(e,t){let n=t+1;for(;n<e.length&&/\s/.test(e[n]);)n++;return"{"===e[n]?n:-1}(e,p):-1;if(g>=0){let t=c(e,g,"flowchart");if("closed"===t.kind){s.push({kind:"metadata",start:p,end:t.end+1,contentStart:g+1,contentEnd:t.end,closed:!0,parent:-1}),p=t.end;continue}if("unclosed"===t.kind){u("metadata",p,g+1);break}}if("|"===t){let t=function(e,t){let n=t+1;for(;n<e.length&&/\s/.test(e[n]);)n++;if('"'===e[n])for(let t=e.indexOf('"',n+1);t>=0;t=e.indexOf('"',t+1)){let i=t+1;for(;i<e.length&&/\s/.test(e[i]);)i++;if("|"===e[i])return{close:i,quote:{open:n,close:t}}}let i=e.indexOf("|",t+1);return i<0?void 0:{close:i}}(e,p);if(!t){u("pipe",p,p+1);break}let n=s.length;s.push({kind:"pipe",start:p,end:t.close+1,contentStart:p+1,contentEnd:t.close,closed:!0,parent:-1}),t.quote&&s.push({kind:"string",start:t.quote.open,end:t.quote.close+1,contentStart:t.quote.open+1,contentEnd:t.quote.close,closed:!0,parent:n}),p=t.close;continue}if(es.has(t)){u("shape",p,p+1);continue}if("-"===t||"="===t||"<"===t||"~"===t||"."===t&&!ee(e,p)){let t=et(e,p);if(t){o.push({start:p,end:t.end}),r.fill(!0,p,t.end),p=t.end-1;continue}let i=J(q,e,p),l=i?ei(e,p):null,a=l&&"end"in l?l:null;if(a){let e=s.length;s.push({kind:"edge-text",start:p,end:a.end,contentStart:a.labelStart,contentEnd:a.labelEnd,closed:!0,parent:-1}),a.quote&&s.push({kind:"string",start:a.quote.open,end:a.quote.close+1,contentStart:a.quote.open+1,contentEnd:a.quote.close,closed:!0,parent:e}),r.fill(!0,p,a.labelStart);let t=a.end-a.closeOp.length;if(r.fill(!0,t,a.end),!n)for(let e=a.labelEnd;e<t;e++)r[e]=!0;o.push({start:p,end:p+i[0].length},{start:t,end:a.end}),p=a.end-1;continue}if(i){if(o.push({start:p,end:p+i[0].length}),r.fill(!0,p,p+i[0].length),l){p+=i[0].length-1;continue}u("edge-text",p,p+i[0].length);break}}if(">"===t){u("shape",p,p+1);continue}n||(r[p]=!0),";"===t&&a.push(p)}return{regions:s,topLevel:r,separators:a,links:o,openAtEnd:d.map(e=>s[e].kind)}}var ed=/^(?:style|classDef|linkStyle)\s/;function ec(e){for(let t of Object.keys(e))if(!(t.trim()&&!/[\r\n:;,]/.test(t)&&function(e){if(/direction\s+(?:TB|BT|RL|LR|TD)|:::/.test(e))return!1;let t=e;for(;t;){if(/^(?:acc(?:Title|Descr)\s*:|(?:call|href|click)\s|(?:classDef|class|linkStyle|default|end|graph|flowchart|subgraph|swimlane-beta|interpolate|_self|_blank|_parent|_top|v)\b|["&*]|[xo]?(?:--|-\.)|[xo]?-?\.+-)/.test(t))return!1;let e=/^(?:style\b|[0-9]+|[:#]|[^\S\r\n]+)/.exec(t)??/^(?:[A-Za-z0-9!"#$%&'*+.`?\\_/]|-(?=[^>\-.]))+/.exec(t);if(!e)return!1;t=t.slice(e[0].length)}return!0}(`${t}:`)))throw $({what:`Invalid style property name ${JSON.stringify(t)}`,expectedForm:"property text that does not introduce Mermaid statements, links or shape delimiters",example:"style A background:#bbb,border:1px solid red"});return e}var eu=new RegExp(String.raw`^[a-zA-Z][\w-]*\s*:(?!:)(?:(?!${z}|:::)[^&@"[\]{}|])*$`);function eh(e,t=ea(e)){let n=[],i=0;for(let l of[...t.separators,e.length]){let t=e.slice(i,l),s=t.trim(),r=i+t.length-t.trimStart().length,a=/^end\s+/.exec(s),o=n.at(-1);a?n.push({text:"end",start:r},{text:s.slice(a[0].length),start:r+a[0].length}):s&&o&&ed.test(o.text)&&eu.test(s)?o.text=e.slice(o.start,r+s.length):s&&n.push({text:s,start:r}),i=l+1}return n}var ep=/^(?:(?:end|subgraph|classDef|class|style|linkStyle|click|href|accTitle|accDescr)(?![\w-])|direction\s)/;function ef(e){let t=[],n=e=>eo(e,0,!1,!0),i,l="",s=n(l),r=!1,a=!1,o,d=new Map,c=(t,n)=>{let i=d.get(n);if(!i){let{delimiter:t,closer:l,after:s}=em[n];i=new Uint8Array(e.length+1);for(let n=e.length-1;n>=0;n--){let r=e[n],a=r.search(t);i[n]=a<0?i[n+1]:Number(r[a]===l&&s.test(r.slice(a+1)))}d.set(n,i)}return 1===i[t]},u,h=t=>{if(!u){u=new Uint8Array(e.length+1);for(let t=e.length-1;t>=0;t--){let n=e[t],i=n.indexOf('"');u[t]=i<0?u[t+1]:Number(/^\s*[\])}]/.test(n.slice(i+1)))}}return 1===u[t]},p=!1,f=t=>{let n=e[t];if(!/^\s*acc(?:Title|Descr)/i.test(n)||p&&/^\s*accDescr\s*:?\s*\{[^}]*$/i.test(n))return;let i=v(e,t);return void 0===i&&(p=!0),i?.endIndex};for(let d=0;d<e.length;d++){let u=e[d],p=u.trim(),g=s.openAtEnd,m=s.regions.some(e=>"string"===e.kind&&e.parent>=0&&e.start!==s.regions[e.parent].contentStart),x=void 0!==o&&c(d,o),w=void 0!==i&&g.length>0&&g.length<=5&&!m&&("metadata"===g[0]||g.includes("markdown")||!r||x||a&&1===g.length&&"string"===g[0])&&!("edge-text"===g[0]&&function(e){let t=ei(e,0);return null!==t&&"stray"in t}(`${ex(l,s).prefix}${p}`));if(!w&&(!p||p.startsWith("%%"))){t.push({text:u,line:d});continue}let b=w?void 0:f(d);if(void 0!==b){i={text:u,line:d,directive:!0},t.push(i);for(let t=d+1;t<=b;t++)(i.joined??=[]).push({at:i.text.length+1,line:t,col:0}),i.text+=`
2
- ${e[t]}`;d=b,s=n(l=""),r=!0,a=!1,o=void 0;continue}let y=p,k,$;if(w&&"metadata"===g[0])$=n(y=`${l}
3
- ${u}`),k=`
4
- `;else if(w){let e=ex(l,s),t=($=n(y=`${e.prefix}${p}`)).regions[g.length-1],i=t.closed&&""===y.slice(e.prefix.length,t.contentEnd).trim();k=e.blank||i?" ":"<br>"}else{$=n(y);let e=0===g.length&&s.links.at(-1)?.end===l.trimEnd().length;i&&!r&&(e&&!ep.test(p)||$.links[0]?.start===0)&&(k=" ")}let S=function(e){let t=e.regions.filter(e=>!e.closed).at(-1),n=t&&t.parent>=0?e.regions[t.parent]:void 0;return t?.kind==="string"&&n?.kind==="shape"&&t.start===n.contentStart?t.start:void 0}($);if(void 0===S||h(d+1)||($=eo(y,0,!1,!0,S)),void 0===k)i={text:u,line:d},t.push(i);else{let e=k===`
5
- `?u:p,t=k===`
6
- `?0:u.length-u.trimStart().length;(i.joined??=[]).push({at:i.text.length+k.length,line:d,col:t}),i.text+=`${k}${e}`}let v=eh(y,$).at(-1);(void 0===k||v&&v.start>0)&&(r=void 0!==v&&ep.test(v.text),a=void 0!==v&&/^(?:click|href)\s/.test(v.text),o=void 0!==v&&/^subgraph\s/.test(v.text)?function(e,t,n){let i=t.regions.filter(e=>!e.closed),[l,s]=i,r=n.start+/^subgraph\s+/.exec(n.text)[0].length;return 1===i.length&&"string"===l.kind&&l.start===r?"string":l?.kind!=="shape"||"["!==e[l.start]||/[[\]"]/.test(e.slice(r,l.start))?void 0:1===i.length?"bracket":2===i.length&&"string"===s.kind&&s.start===l.contentStart?"bracketString":void 0}(y,$,v):void 0),l=y,s=$}return t}function eg(e){let t=e.map((e,t)=>t),n=[],i=[];for(let l of(e.forEach((e,t)=>{let l=e.trim();l&&!l.startsWith("%%")&&(n.push(t),i.push(l))}),ef(i))){let e=l.joined?.at(-1)?.line;void 0!==e&&(t[n[l.line]]=n[e])}return t}var em={bracket:{delimiter:/[[\](){}]/,closer:"]",after:/^\s*(?:;|$)/},string:{delimiter:/"/,closer:'"',after:/^\s*(?:;|$)/},bracketString:{delimiter:/"/,closer:'"',after:/^\s*\]\s*(?:;|$)/}};function ex(e,t){let n=t.regions.filter(e=>!e.closed),i=n.at(-1),l=e.slice(i.contentStart).trimStart()[0],s=void 0===l?"":"pipe"===i.kind||"edge-text"===i.kind?`${l} `:"_ ";return{prefix:`${n.map(t=>"edge-text"===t.kind?ew[X(e.slice(t.start,t.contentStart).replace(/^</,""))]:e.slice(t.start,t.contentStart)).join("")} ${s}`,blank:void 0===l}}var ew={solid:"--",thick:"==",dotted:"-."},eb=/&(?:(quot|amp|lt|gt|apos)|#(\d+)|#[xX]([0-9a-fA-F]+));/g,ey=/^note\s+(left|right)\s+of\s+([\w\p{L}-]+)\s*:\s*(.+)$/iu,ek=/^state\s+(?:"([^"]+)"\s+as\s+)?([\w\p{L}-]+)\s*<<\s*(fork|join|choice|history|deephistory|H\*|H)\s*>>$/iu,e$=/^-{2,}$/,eS=/^([\w\p{L}-]*)\[(H\*?)\]$/u,ev=/^[\w\p{L}-]+$/u;function eL(e){return e.match(/^state\s+([\w\p{L}-]+)$/u)?.[1]??(ev.test(e)?e:null)}function eM(e){let t=e.match(ey);return t?{side:t[1].toLowerCase(),target:t[2],text:t[3].trim()}:null}function eC(e){let t=e.match(s);return t?{side:t[1].toLowerCase(),target:t[2]}:null}function eO(e){let t=e.match(ek);if(!t)return null;let n=t[3].toLowerCase();return{id:t[2],stereotype:"h"===n||"history"===n?"history":"h*"===n||"deephistory"===n?"deep-history":n,...void 0!==t[1]?{label:t[1]}:{}}}var eI=String.raw`\[\*\]|[\w\p{L}-]+\[H\*?\]|\[H\*?\]|[\w\p{L}-]+`,ej=RegExp(`^(${eI})(?::::([\\w-]+))?\\s*-->\\s*(${eI})(?::::([\\w-]+))?(?:\\s*:\\s*(.+))?$`,"u");function eB(e){let t=e.match(ej);if(!t)return null;let n=t[5]?.trim();return{from:t[1],...t[2]?{fromClass:t[2]}:{},to:t[3],...t[4]?{toClass:t[4]}:{},...n?{label:n}:{}}}var eE=/^direction\s+(TD|TB|LR|BT|RL)\s*$/i,eA=/^state\s+"([^"]+)"\s+as\s+([\w\p{L}-]+)\s*$/u,eN=/^state\s+(?:"([^"]+)"\s+as\s+)?([\w\p{L}-]+)\s*\{$/u,eW=/^([\w\p{L}-]+)\s*:\s*(.+)$/u,eR=/^classDef\s+([\w,-]+)\s+(.+)$/i,eD=/^style\s+([\w\p{L},-]+)\s+(.+)$/iu,ez=/^linkStyle\s+(default|[\d,\s]+)\s+(.+)$/,eT=/\[\*\]|\[H\*?\]|[\w\p{L}](?:[\w\p{L}]|-(?!->))*(?:\[H\*?\])?/uy,eq=/(?:\w|-(?!->))+/y,eF=/(?:(?:classDef|class|style|note|scale|click|direction)(?=[ \t]|$)|end(?=[ \t]+note(?:[ \t]|$))|hide(?=[ \t]+empty[ \t]+description(?:[ \t]|$)))/iy,e_=/(?:cssClass|linkStyle)(?=[ \t]|$)/y,eU=/state[ \t]+/iy,eH=/[\w\p{L}-]+/uy,eG=/[ \t]+as[ \t]+/iy,eX=/[ \t]+as(?=[ \t]|$)/iy,eJ=/[ \t]*(?:<<[^>\n]*>>|\[\[(fork|join|choice)\]\])/iy,eP=/[ \t]*\{/y,eY=/:::[ \t]*([\w-]+)/y,eQ=/-{2,}(?=[ \t;}]|$)/y;function eV(e,t,n){return e.lastIndex=n,e.exec(t)?.[0]??null}function eZ(e,t){for(;" "===e[t]||" "===e[t];)t++;return t}function eK(e,t){let n=t;for(;e[n].openQuote&&n+1<e.length;)n++;return n}function e0(e){let t=o(e);return t.map((e,n)=>{if(!e.noteOpen)return eK(t,n);let i=n;for(;i+1<t.length&&t[i+1].noteBody;)i++;return Math.min(i+1,t.length-1)})}var e1={subject:"State text entity",example:"A : I #9829; states"},e2=/#\w+;/g,e3=e=>i(e,e1);function e5(e){return e9(M(e),e)}function e9(e,t){let n=i(e,e1);return/#\w+;/.test(t)?{text:n,content:Object.freeze({value:n,prepared:A(L(e),e2,e3),authored:t})}:{text:n}}var e4=String.raw`[\p{L}\p{N}_-]+`,e6=(RegExp(`^${e4}$`,"u"),RegExp(`^(${e4})`,"u")),e7=/^[\w-]+/;function e8(e){if(!e.startsWith(":::"))return null;let t=e.slice(3).match(e7);return t?{className:t[0],length:3+t[0].length}:null}function te(e){let t,n=(t=e.match(e6))?{id:t[1],length:t[1].length}:null;if(!n)return null;let i=e8(e.slice(n.length));return i&&n.length+i.length===e.length?{id:n.id,className:i.className}:null}var tt={subject:"Flowchart label entity",example:'A["#35;"]'},tn=RegExp(`(${B})`,"i"),ti=/(&#(?:\d+|[xX][0-9a-fA-F]+);)/;function tl(e,t=!1){let n=t?e:ts(e),l=(t||n!==e)&&n.length>=2&&n.startsWith("`")&&n.endsWith("`"),s=l?`\`${n.slice(1,-1).trim()}\``:n.trim(),r=l?M(n.slice(1,-1).trim(),!1):C(s);if(!r.includes("#")&&!r.includes("fl°"))return{text:r,markdown:l};let a=r.split(tn).map((e,t)=>t%2==1?e:e.split(ti).map((e,t)=>t%2==1?e:i(e,tt)).join("")).join(""),o=A(L(r),/&#(?:\d+|[xX][0-9a-fA-F]+);|#\w+;/g,e=>e.startsWith("&")?e:i(e,tt)),d=E(o)===O(a)?void 0:{value:a,prepared:o,authored:s};return{text:a,markdown:l,...d?{labelContent:d}:{}}}function ts(e){if(e.length<2||!e.startsWith('"'))return e;if(e.endsWith('"'))return e.slice(1,-1);let t=e.indexOf('"',1);return!(t>0)||e.startsWith('"`')||e.includes('"',t+1)?e:e.slice(1,t)+e.slice(t+1)}var tr={rect:{aliases:["proc","process","rectangle"],geometry:"rectangle",exact:!0,description:""},rounded:{aliases:["event"],geometry:"rounded",exact:!0,description:""},stadium:{aliases:["pill","terminal"],geometry:"stadium",exact:!0,description:""},cyl:{aliases:["cylinder","database","db"],geometry:"cylinder",exact:!0,description:""},diam:{aliases:["decision","diamond","question"],geometry:"diamond",exact:!0,description:""},hex:{aliases:["hexagon","prepare"],geometry:"hexagon",exact:!0,description:""},"lean-r":{aliases:["in-out","lean-right"],geometry:"lean-r",exact:!0,description:""},"lean-l":{aliases:["lean-left","out-in"],geometry:"lean-l",exact:!0,description:""},"trap-b":{aliases:["priority","trapezoid","trapezoid-bottom"],geometry:"trapezoid",exact:!0,description:""},"trap-t":{aliases:["inv-trapezoid","manual","trapezoid-top"],geometry:"trapezoid-alt",exact:!0,description:""},circle:{aliases:["circ"],geometry:"circle",exact:!0,description:""},"dbl-circ":{aliases:["double-circle"],geometry:"doublecircle",exact:!0,description:""},"fr-rect":{aliases:["framed-rectangle","subproc","subprocess","subroutine"],geometry:"subroutine",exact:!0,description:""},odd:{aliases:[],geometry:"asymmetric",exact:!0,description:""},bang:{aliases:[],geometry:"circle",exact:!0,description:""},"notch-rect":{aliases:["card","notched-rectangle"],geometry:"rectangle",exact:!0,description:""},cloud:{aliases:[],geometry:"rounded",exact:!0,description:""},hourglass:{aliases:["collate"],geometry:"diamond",exact:!0,description:""},bolt:{aliases:["com-link","lightning-bolt"],geometry:"rectangle",exact:!0,description:""},brace:{aliases:["brace-l","comment"],geometry:"rectangle",exact:!0,description:""},"brace-r":{aliases:[],geometry:"rectangle",exact:!0,description:""},braces:{aliases:[],geometry:"rectangle",exact:!0,description:""},datastore:{aliases:["data-store"],geometry:"cylinder",exact:!0,description:""},delay:{aliases:["half-rounded-rectangle"],geometry:"rounded",exact:!0,description:""},"h-cyl":{aliases:["das","horizontal-cylinder"],geometry:"cylinder",exact:!0,description:""},"lin-cyl":{aliases:["disk","lined-cylinder"],geometry:"cylinder",exact:!0,description:""},"curv-trap":{aliases:["curved-trapezoid","display"],geometry:"rounded",exact:!0,description:""},"div-rect":{aliases:["div-proc","divided-process","divided-rectangle"],geometry:"rectangle",exact:!0,description:""},doc:{aliases:["document"],geometry:"rectangle",exact:!0,description:""},tri:{aliases:["extract","triangle"],geometry:"trapezoid",exact:!0,description:""},fork:{aliases:["join"],geometry:"rectangle",exact:!0,description:""},"win-pane":{aliases:["internal-storage","window-pane"],geometry:"rectangle",exact:!0,description:""},"f-circ":{aliases:["filled-circle","junction"],geometry:"circle",exact:!0,description:""},"lin-doc":{aliases:["lined-document"],geometry:"rectangle",exact:!0,description:""},"lin-rect":{aliases:["lin-proc","lined-process","lined-rectangle","shaded-process"],geometry:"subroutine",exact:!0,description:""},"notch-pent":{aliases:["loop-limit","notched-pentagon"],geometry:"hexagon",exact:!0,description:""},"flip-tri":{aliases:["flipped-triangle","manual-file"],geometry:"trapezoid-alt",exact:!0,description:""},"sl-rect":{aliases:["manual-input","sloped-rectangle"],geometry:"lean-r",exact:!0,description:""},docs:{aliases:["documents","st-doc","stacked-document"],geometry:"rectangle",exact:!0,description:""},"st-rect":{aliases:["processes","procs","stacked-rectangle"],geometry:"rectangle",exact:!0,description:""},flag:{aliases:["paper-tape"],geometry:"rectangle",exact:!0,description:""},"sm-circ":{aliases:["small-circle","start"],geometry:"circle",exact:!0,description:""},"fr-circ":{aliases:["framed-circle","stop"],geometry:"doublecircle",exact:!0,description:""},"bow-rect":{aliases:["bow-tie-rectangle","stored-data"],geometry:"cylinder",exact:!0,description:""},"cross-circ":{aliases:["crossed-circle","summary"],geometry:"circle",exact:!0,description:""},"tag-doc":{aliases:["tagged-document"],geometry:"rectangle",exact:!0,description:""},"tag-rect":{aliases:["tag-proc","tagged-process","tagged-rectangle"],geometry:"rectangle",exact:!0,description:""},text:{aliases:[],geometry:"rectangle",exact:!0,description:""}},ta=(()=>{let e=new Map;for(let[t,n]of Object.entries(tr))for(let i of(e.set(t,t),n.aliases))e.set(i,t);return e})();function to(e,t){if(e===t)return td(t);try{return td(function(e){if(!e.includes("&"))return e;let t=e.split(`
7
- `),n=new Map;for(let e of ef(t)){if(e.directive||!e.text.includes("&"))continue;let t=ea(e.text),i=eh(e.text,t).filter(e=>/^(?:click|href)\s/i.test(e.text));for(let l of e.text.matchAll(eb)){let s=l.index,r=i.some(e=>s>=e.start&&s<e.start+e.text.length);if(!r&&!t.regions.some(e=>s>=e.contentStart&&s+l[0].length<=e.contentEnd))continue;let a=void 0===l[1]?void 0!==l[2]?Number(l[2]):Number.parseInt(l[3],16):void 0,o=!r&&(void 0===a||a>0&&a<=1114111&&(a<55296||a>57343)&&!y.test(String.fromCodePoint(a))),{line:d,col:c}=function(e,t){let n=e.joined??[],i=0,l=n.length;for(;i<l;){let e=i+Math.floor((l-i)/2);n[e].at<=t?i=e+1:l=e}let s=0===i?{at:0,line:e.line,col:0}:n[i-1];return{line:s.line,col:s.col+t-s.at}}(e,s),u=n.get(d)??[];u.unshift({col:c,length:l[0].length,code:o?`#${l[1]??a};`:N(l[0])}),n.set(d,u)}}for(let[e,i]of n){let n=t[e];for(let{col:e,length:t,code:l}of i)n=n.slice(0,e)+l+n.slice(e+t);t[e]=n}return t.join(`
8
- `)}(e))}catch(e){if(e instanceof I)throw e;return td(t)}}function td(t){var n;let i,c=t.split(`
9
- `),u=c.find(e=>e.trim().length>0&&!e.trim().startsWith("%%"))?.trim()??"",y=/^stateDiagram(?:-v2)?(?=$|[\s;%])/i.test(u),v=y?[]:ef(c).flatMap(e=>{let t=e.text.trim();if(!t||t.startsWith("%%"))return[];let n=e.text.length-e.text.trimStart().length;return[{text:t,...e.joined?{breaks:e.joined.map(e=>e.at-n)}:{}}]}),L=(i=(n=y?o(c).filter((e,t,n)=>e.noteBody||e.text.length>0&&(!e.text.startsWith("//")||n[t-1]?.openQuote===!0)).map(e=>e.text):v.map(e=>e.text)).length>0?function(e){if(!e.includes(";"))return;let t=e.match(/^(?:(?:graph|flowchart|swimlane)(?:[ \t]+(?:TD|TB|LR|BT|RL|[<>^v])(?![\w-]))?|stateDiagram(?:-v2)?)(?=$|[\s;])/i);if(!t)return;let n=e.slice(t[0].length).trim();if(n.startsWith(";"))return{header:t[0],statements:/^stateDiagram/i.test(t[0])?[n]:th(n)}}(n[0]):void 0)?[i.header,...i.statements,...n.slice(1)]:n,M=L.length-v.length,C=M>0?[...Array(M+1),...v.slice(1).map(e=>e.breaks)]:v.map(e=>e.breaks);if(0===L.length)throw Error("Empty mermaid diagram");let O=L[0],I=l(O,"strict"),B="registered"===I.kind?I.familyId:d(O);if("state"===B)return function(t){h("state")&&p("state","header",t[0],{line:1,unit:"normalized"});let n={direction:"TD",nodes:new Map,edges:[],subgraphs:[],classDefs:new Map,classAssignments:new Map,nodeStyles:new Map,linkStyles:new Map},i=[],l=function(e){let t=[];for(let n=0;n<e.length;n++){let i=n;n=eK(e,i);let l=e.slice(i,n+1).map(e=>e.text).join(`
10
- `);(l||e[i].noteBody)&&t.push({text:l,line:i,noteBody:e[i].noteBody,noteOpen:e[i].noteOpen,commentGlued:e[n].commentGlued})}let n=(e,n)=>{let i=t[e].text,l=t[e].line,s=0;for(let e=i.indexOf(`
11
- `);e>=0&&e<n;e=i.indexOf(`
12
- `,e+1))l++,s=e+1;return{line:l,column:n-s}},i=[],l=new Set,o=new Set,d=new Set,c=new Set,u=new Set,h=new Set,p=new Set,f=(e,n)=>{"}"===t[e].text[n]&&(d.add(t[e].line),p.add(`${e}:${n}`))},g=t.length-1;for(;g>0&&!t[g].noteBody&&t[g].text.startsWith("//");)g--;let m=(e,t,n)=>{let i=e.length;if(n!==g)return i;let l=0;for(let n=t+1;n<i;n++)l+="}"===e[n]?1:"{"===e[n]?-1:0;let s=eZ(e,t+1);for(let t=0;t<x&&l>0;t++,l--){let t=i-1;for(;" "===e[t]||" "===e[t];)t--;if("}"!==e[t]||t<=s)break;i=t}return i},x=0,w=0,b=0,y=!0,$=(e,t,n)=>{y||o.add(t),i.push({text:e,line:t}),y=n},S=e=>{let n=t[e+1];return void 0!==n&&!n.noteBody&&!n.noteOpen},v=e=>{for(;;){let n=t[e.row].text;if(e.column=eZ(n,e.column),e.column<n.length||0===x||!S(e.row))return;e.row++,e.column=0}},L=(e,n)=>{var i,l;let s=eV(eT,t[e.row].text,e.column);if(null===s)return null;let r=s,a={row:e.row,column:e.column+s.length},o=t[e.row].text.slice(a.column,a.column+1);n.push(/^[ \t\n]/.test(o)||""===o&&!t[e.row].commentGlued);let d={...a};if(v(d),t[d.row].text.startsWith(":::",d.column)){d.column+=3,v(d);let e=eV(eq,t[d.row].text,d.column);if(null===e)return null;r+=`:::${e}`,a.row=d.row,a.column=d.column+e.length}return(i=t[a.row].text,(l=a.column)>=i.length||" ;}:".includes(i[l])||i.startsWith("--\x3e",l))?(f(a.row,a.column),e.row=a.row,e.column=a.column,r):null},M=()=>{let e={row:w,column:b},i=[],l=L(e,i);if(null===l)return null;let s=l,r={...e};v(r);let a=t[r.row].text.startsWith("--\x3e",r.column),o;if(a){r.column+=3,v(r),o=n(r.row,r.column).line;let t=L(r,i);if(null===t)return null;s+=` --> ${t}`,e.row=r.row,e.column=r.column}let d=t[e.row].text,c=eZ(d,e.column),h={text:s,...void 0!==o?{toLine:o,nameBlanks:i}:{}};if(":"===d[c]){let i=m(d,c,e.row);i<d.length&&!/;|::/.test(k(d.slice(c+1,i)).replace(/#\w+;/g,"#"))&&u.add(t[e.row].line);let r=d.slice(c,i).trimEnd(),o={start:n(e.row,c),end:n(e.row,i)},p=a?-1:l.indexOf(":::");p<0?Object.assign(h,{text:`${s} ${r}`,textSpan:o}):Object.assign(h,{also:`${l.slice(0,p)} ${r}`,alsoSpan:o}),e.column=i}return w=e.row,b=e.column,h},C=e=>{let i=t[w].text,l=e,s="",r;if('"'===i[l]){let e=i.indexOf('"',l+1),t=e<0?null:eV(eG,i,e+1);if(null===t)return null;s=`${i.slice(l,e+1)} as `,r={start:n(w,l),end:n(w,e+1)},l=e+1+t.length}let a=eV(eH,i,l);if(null===a||(l+=a.length,!s&&null!==eV(eX,i,l)))return null;if(s&&":"===i[eZ(i,l)]){let e=((e,i,l,s)=>{let r=t[w].line,a=`state ${i}${l}`,o=eZ(e,s);eY.lastIndex=o;let d=eY.exec(e);if(null!==d){let t=eZ(e,o+d[0].length);return t<e.length&&";"!==e[t]&&"}"!==e[t]?null:(f(w,t),h.add(r),b=o+d[0].length,{text:a,opens:!1,also:`${l}:::${d[1]}`})}if(e.startsWith(":::",o)||e.includes("{",o))return null;let c=m(e,o,w);c<e.length&&u.add(r);let p=e.slice(o+1,c).trim();p.includes(":")&&h.add(r);let g={start:n(w,o),end:n(w,c)};return b=c,{text:a,opens:!1,...p?{also:`${l} : ${p}`,alsoSpan:g}:{}}})(i,s,a,l);return e&&{...e,textSpan:r}}eJ.lastIndex=l;let o=eJ.exec(i);null!==o&&(l+=o[0].length);let d=null===o?null:void 0!==o[1]?`<<${o[1]}>>`:o[0],c=eV(eP,i,l),p=null!==c,g=eZ(i,l);if(null!==c)l+=c.length;else{if(l<i.length&&!" ;}".includes(i[l]))return null;if(null===d&&g===i.length&&S(w)&&t[w+1].text.startsWith("{"))w++,l=1,p=!0;else if(s&&null===d&&g<i.length){if(";"!==i[g]&&"}"!==i[g])return null;f(w,g)}}return b=l,{text:`state ${s}${a}${null===d?"":` ${d.trim()}`}${p?" {":""}`,opens:p,...r?{textSpan:r}:{}}},O={statements:0,depth:0,column:0};for(;w<t.length;){let e=t[w];if(0===b){if(y=!0,O={statements:i.length,depth:x,column:0},e.noteBody){i.push({text:e.text,line:e.line,noteBody:!0}),w++;continue}let t=e.noteOpen?e.text.match(r):null;if(t){i.push({text:`note ${t[1]} of ${t[2]}`,line:e.line},{text:t[3],line:e.line,noteBody:!0}),w++;continue}}let n=e.text;if((b=eZ(n,b))>=n.length){w++,b=0;continue}let f=e.line,g=n[b];if(";"===g){l.add(f),b++,y=!0;continue}if("}"===g){0!==x||p.has(`${w}:${b}`)||c.add(f),i.push({text:"}",line:f}),x=Math.max(0,x-1),b++,y=!0;continue}let m=x>0?eV(eQ,n,b):null;if(null!==m){i.push({text:m,line:f}),b+=m.length,y=!0;continue}if(null!==eV(eF,n,b)||null!==eV(e_,n,b)){let e=n.slice(b);if($(e,f,!1),w++,b=0,s.test(e)&&t[w]?.noteBody===!1){let e=t.findIndex((e,t)=>t>=w&&a.test(e.text));for(;e>0&&w<e;w++)i.push({text:t[w].text,line:t[w].line,noteBody:!0})}continue}let k=w,S=b,v=eV(eU,n,b),L=null===v?null:C(b+v.length),I=null!==v&&!v.startsWith("state");if(I&&null!==L&&!L.opens){let e=eZ(t[w].text,b);(t[w].text.startsWith("--\x3e",e)||":"===t[w].text[e])&&(w=k,b=S,L=null)}let j=L??(null===v||I?M():null);if(null!==j){$(j.text,f,j.opens??!1);let e=i.at(-1);j.textSpan&&(e.textSpan=j.textSpan),void 0!==j.toLine&&(e.toLine=j.toLine),j.nameBlanks&&(e.nameBlanks=j.nameBlanks),j.opens&&(e.opens=!0,x++),void 0!==j.also&&i.push({text:j.also,line:f,...j.alsoSpan?{textSpan:j.alsoSpan}:{},...null!==L?{afterAlias:!0}:{}}),w!==k&&(O={statements:i.length,depth:x,column:b});continue}i.length=O.statements,x=O.depth,o.delete(f),l.delete(f),d.delete(f),c.delete(f),u.delete(f),h.delete(f),i.push({text:n.slice(O.column).trim(),line:f}),w++,b=0}let I=i.filter((e,t)=>{if(!e.noteBody||e.text)return!0;let n=e=>{let n=t;for(;i[n]?.noteBody&&!i[n].text;)n+=e;return!i[n]?.noteBody};return!n(-1)&&!n(1)}),j=[];for(let e of I)e.opens?j.push(e.line):"}"!==e.text||e.noteBody||j.pop();return{statements:I,semicolonLines:[...l],juxtaposedLines:[...o],braceNameLines:[...d],unopenedBraceLines:[...c],braceTextLines:[...u],aliasSuffixLines:[...h],unclosedLines:j}}(o(t.slice(1))).statements,d=function(e){let t=new Set;for(let n of e){let e=n.noteBody?null:n.text.match(eN);e&&t.add(e[2])}let n=new Set(t),i=new Map,l=new Map,s=new Map,r=[],a,o=(e,t)=>{n.add(e),!t||i.has(e)||r.some(t=>t.parent===e)||i.set(e,t)};for(let t of e){let e=r.at(-1),n=e?{parent:e.parent,region:e.region}:void 0;if(l.set(t,n),t.noteBody)continue;let d=t.text,c=d.match(eN);if(c){let e=c[2];if(r.some(t=>t.parent===e)){a=`Duplicate State composite identity "${e}" cannot contain itself`;break}o(e,n),i.has(e)||i.set(e,n),x("nesting",r.length+1),r.push({parent:e,region:s.get(e)??0});continue}if("}"===d){r.pop();continue}if(e$.test(d)&&e){s.set(e.parent,++e.region);continue}let u=eB(d);if(u){for(let e of[u.from,u.to])"[*]"===e||eS.test(e)||o(e,n);continue}let h=eM(d)?.target??eC(d)?.target??eO(d)?.id??te(d)?.id??d.match(eA)?.[2]??d.match(eW)?.[1]??eL(d);h&&o(h,n)}let d=e=>e?{parent:e.parent,...(s.get(e.parent)??0)>0?{region:e.region??0}:{}}:void 0,c=j(n),u=(e,t)=>c(`${e}__r${t+1}`,["state-region",e,t]),h=e=>void 0===e.region?e.parent:u(e.parent,e.region),p=new Map;for(let e of t){if(a||p.has(e))continue;let t=[],n=new Set,l=e;for(;void 0!==l&&!p.has(l);){if(n.has(l)){a=`State containment cycle: ${[...t,l].join(" -> ")}`;break}n.add(l),t.push(l),l=i.get(l)?.parent}if(a)break;let s=void 0===l?0:p.get(l);for(let e of t.reverse())x("nesting",s+=d(i.get(e))?.region!==void 0?2:1),p.set(e,s)}for(let[e,t]of p)(s.get(e)??0)>0&&x("nesting",t+1);return{compositeIds:t,issue:a,ownerOf:e=>d(i.get(e)),scopeOf:e=>d(l.get(e)),authored:n,ownedIds:()=>i.keys(),regionId:u,scopeId:h,floatingNoteId:e=>c(`note:${e}`,["state-floating-note",e]),pseudostateId:(e,t)=>{let n=d(l.get(t)),i=n?h(n):"";return c(`${i}_${e}`,["state-pseudo",n?.parent??"",n?.region??-1,e])}}}(l);if(d.issue)throw Error(d.issue);let c=d.compositeIds,u=new Map,f=0,y=new Set,S=new Map,v=(e,t,n)=>{if(y.has(e)&&!n)return;let i=[...y.has(e)?S.get(e)??[]:[],t];S.set(e,i),y.add(e);let l=u.get(e);l&&Object.assign(l,ty(l,i))},L=new Map,M=new Map,C=new Map,O=new Set,I=()=>{let e=i.at(-1);return e?C.get(e)??i.length:0},B=(e,t=I()+1)=>{x("nesting",t),C.set(e,t),i.push(e)},E=null,A=(e,t,l)=>{n.stateNotes||(n.stateNotes=[]);let{text:s,content:r}=e5(l);n.stateNotes.push({id:`note#${n.stateNotes.length}`,target:e,side:t,text:s,...r?{textContent:r}:{}}),h("state")&&g("state","add-note",n.stateNotes.at(-1)),c.has(e)||tv(n,i,e)},N=new Set,W=(e,t,l)=>{let s;if("[*]"===e){let e=d.pseudostateId("source"===t?"start":"end",l);return tS(n,i,{id:e,label:"",shape:"source"===t?"state-start":"state-end"}),e}let r=(s=e.match(eS))?{base:s[1],deep:"H*"===s[2]}:null;if(r){let e=[...i].reverse().find(e=>!e.concurrencyRegion),t=`${""!==r.base?r.base:e?.id??""}[H${r.deep?"*":""}]`;return tS(n,i,{id:t,label:r.deep?"H*":"H",shape:"state-history"}),t}return c.has(e)||tv(n,i,e),e};for(let t of l){let l=t.text,s={line:t.line+2,unit:"normalized"};if(h("state")&&p("state",E?"note-body":"statement",l,s),E){a.test(l)?(A(E.target,E.side,E.lines.join(`
13
- `)),E=null):E.lines.push(l);continue}if(!l)continue;let r=function(e){let t=/^note\s+"([^"]*)"\s+as\s+([\w\p{L}-]+)\s*$/iu.exec(e);return t?{id:t[2],text:t[1]}:null}(l);if(r){if(N.has(r.id))throw Error(`Duplicate floating State note "${r.id}"`);N.add(r.id);let{text:e,content:i}=e5(r.text),l=d.scopeOf(t),s=d.floatingNoteId(r.id),a={id:r.id,text:e,...i?{textContent:i}:{},...l?{scope:l}:{},nodeId:s};n.floatingStateNotes||(n.floatingStateNotes=[]),n.floatingStateNotes.push(a),tw(n),n.nodes.set(s,{id:s,label:e,...i?{labelContent:i}:{},shape:"state-note",floatingNoteId:r.id}),h("state")&&(g("state","add-floating-note",a),g("state","add-node",n.nodes.get(s)));continue}if(/^scale\s+\d+\s+width$/i.test(l)?"scale":/^hide empty description$/i.test(l)?"hide_empty_description":null)continue;let o=eM(l);if(o){A(o.target,o.side,o.text);continue}let k=eC(l);if(k){E={target:k.target,side:k.side,lines:[]};continue}let j=l.match(eE);if(j){let e=i.at(-1);e?O.has(e)||(e.direction=j[1].toUpperCase()):n.direction=j[1].toUpperCase(),h("state")&&g("state","set-direction",{parent:i.at(-1)?.id,direction:j[1].toUpperCase()});continue}let R=l.match(eR);if(R){let t=R[1].split(",").map(e=>e.trim()).filter(Boolean),i=e(R[2]);for(let e of t)n.classDefs.set(e,m(n.classDefs.get(e),i)),h("state")&&g("state","define-class",{name:e,props:i});continue}let D=function(e){let t=e.match(/^(?:class|cssClass)\s+(.+?)\s+([\w-]+)$/iu);if(!t)return null;let n=t[1].split(",").map(e=>e.trim());return n.some(e=>!ev.test(e))?null:{ids:n,className:t[2]}}(l);if(D){for(let e of D.ids)b(n.classAssignments,e,D.className),h("state")&&g("state","assign-class",{id:e,name:D.className});continue}let z=l.match(eD);if(z){let t=z[1].split(",").map(e=>e.trim()).filter(Boolean),i=e(z[2]);for(let e of t)n.nodeStyles.set(e,{...i}),h("state")&&g("state","set-node-style",{id:e,props:n.nodeStyles.get(e)});continue}let T=l.match(ez);if(T){let e=T[1].trim(),t=w(T[2]);if(0===Object.keys(t).length)continue;if("default"===e)n.linkStyles.set("default",{...n.linkStyles.get("default"),...t}),h("state")&&g("state","set-link-style",{target:e,props:n.linkStyles.get("default")});else for(let i of e.split(",").map(e=>parseInt(e.trim(),10)))isNaN(i)||(n.linkStyles.set(i,{...n.linkStyles.get(i),...t}),h("state")&&g("state","set-link-style",{target:i,props:n.linkStyles.get(i)}));continue}let q=eO(l);if(q){let e="fork"===q.stereotype?"state-fork":"join"===q.stereotype?"state-join":"choice"===q.stereotype?"state-choice":"state-history",t="state-history"===e?"deep-history"===q.stereotype?"H*":"H":"";n.nodes.has(q.id)||tw(n),n.nodes.set(q.id,{id:q.id,label:t,shape:e}),h("state")&&g("state","upsert-node",n.nodes.get(q.id)),t$(n,i,q.id);continue}if(e$.test(l)&&i.length>0){let e=i[i.length-1],t;if(e.concurrencyRegion)i.pop(),t=i[i.length-1];else{t=e,x("nodes",n.nodes.size+ ++f),tx.set(n,f);let i={id:d.regionId(t.id,tb(L,t.id)-1),label:"",nodeIds:t.nodeIds.splice(0),children:t.children.splice(0),concurrencyRegion:!0};t.children.push(i),C.set(i,I()+1),h("state")&&g("state","add-region",{id:i.id,parent:t.id,members:i.nodeIds,children:i.children.map(e=>e.id)})}x("nodes",n.nodes.size+ ++f),tx.set(n,f);let l={id:d.regionId(t.id,tb(L,t.id)-1),label:"",nodeIds:[],children:[],concurrencyRegion:!0};t.children.push(l),B(l),h("state")&&g("state","add-region",{id:l.id,parent:t.id,members:l.nodeIds});continue}let F=l.match(eN);if(F){let e=F[2],t=u.get(e);if(t&&!i.includes(t)){void 0!==F[1]&&v(e,F[1],!0),void 0!==t.direction&&O.add(t),n.nodes.delete(e),B(t,C.get(t));let i=t.children.at(-1);i?.concurrencyRegion&&B(i,C.get(i)),h("state")&&g("state","open-group",{id:e,label:t.label,parent:M.get(t)});continue}void 0!==F[1]&&(S.set(e,[F[1]]),y.add(e));let l=y.has(e)?S.get(e):void 0,s={id:e,label:e,nodeIds:[],children:[],stateComposite:!0};void 0!==l&&Object.assign(s,ty(s,l));let r=s.label;x("nodes",n.nodes.size-Number(n.nodes.has(e))+ ++f),tx.set(n,f),B(s),u.set(e,s),n.nodes.delete(e),h("state")&&g("state","open-group",{id:e,label:r,parent:i.at(-2)?.id});continue}if("}"===l){i.length>0&&i[i.length-1].concurrencyRegion&&i.pop();let e=i.pop();if(e){if(!M.has(e)){let t=i.at(-1);t?t.children.push(e):n.subgraphs.push(e),M.set(e,t?.id)}h("state")&&g("state","close-group",{id:e.id,label:e.label,members:e.nodeIds,children:e.children.map(e=>e.id),parent:M.get(e)})}continue}let _=l.match(eA);if(_){let e=[_[1]],t=_[2];if(c.has(t)){v(t,_[1],!1);continue}let l=n.nodes.get(t);l?.shape==="rounded"&&!y.has(t)&&(S.set(t,e),n.nodes.set(t,ty(l,e)),h("state")&&g("state","set-label",{id:t,label:n.nodes.get(t).label})),l||S.set(t,e),tS(n,i,ty({id:t,label:t,shape:"rounded"},e)),y.add(t);continue}let U=eB(l);if(U){let e=W(U.from,"source",t),i=W(U.to,"target",t);U.fromClass&&(b(n.classAssignments,e,U.fromClass),h("state")&&g("state","assign-class",{id:e,name:U.fromClass})),U.toClass&&(b(n.classAssignments,i,U.toClass),h("state")&&g("state","assign-class",{id:i,name:U.toClass}));let l=U.label?e5(U.label):void 0;x("edges",n.edges.length+1),n.edges.push({source:e,target:i,label:l?.text,...l?.content?{labelContent:l.content}:{},style:"solid",hasArrowStart:!1,hasArrowEnd:!0}),h("state")&&g("state","add-edge",n.edges.at(-1),s);continue}let H=te(l);if(H){c.has(H.id)||tv(n,i,H.id),b(n.classAssignments,H.id,H.className),h("state")&&g("state","assign-class",{id:H.id,name:H.className});continue}let G=l.match(eW);if(G){let e=G[1],t=G[2].trim();if(c.has(e)){v(e,t,!0);continue}let l=n.nodes.get(e),s=[...y.has(e)?S.get(e)??[]:[],t];l&&"rounded"===l.shape&&(S.set(e,s),n.nodes.set(e,ty(l,s)),h("state")&&g("state","set-label",{id:e,label:n.nodes.get(e).label})),l||S.set(e,s),tS(n,i,ty({id:e,label:e,shape:"rounded"},s)),y.add(e);continue}let X=eL(l);if(null!==X){c.has(X)||tS(n,i,{id:X,label:X,shape:"rounded"});continue}let J=/^state\s+"[^"]*"\s+as\s+/.exec(l),P=J?l.slice(J[0].length).replace(/\{$/,"").trimEnd():"";throw/\s/.test(P)?$({what:`Unsupported state syntax: "${l}"`,expectedForm:`one word after \`as\`; pinned Mermaid reads "${P}" as one name, which no transition can refer to`,example:'state "Long name" as LongName'}):$({what:`Unsupported state syntax: "${l}"`,expectedForm:"a state declaration, transition, composite, note, direction, or paint directive",example:"A --\x3e B : continue"})}let R=i.find(e=>!e.concurrencyRegion);if(R)throw $({what:`Composite state "${R.id}" is never closed`,expectedForm:"a `}` where the composite ends",example:"state X { A }"});return E&&A(E.target,E.side,E.lines.join(`
14
- `)),function(e,t,n){let i=new Map(t);for(let e of t.values())for(let t of e.children.filter(e=>e.concurrencyRegion))i.set(t.id,t);for(let e of i.values())e.nodeIds=e.nodeIds.filter(e=>!n.authored.has(e)),e.children=e.children.filter(e=>!e.stateComposite),h("state")&&g("state","reset-scope-membership",{id:e.id,members:e.nodeIds,children:e.children.map(e=>e.id)});for(let l of(e.subgraphs=[],t.values())){let t=n.ownerOf(l.id),s=t?i.get(n.scopeId(t)):void 0;if(t&&!s)throw Error(`Missing State scope for ${l.id}`);s?s.children.push(l):e.subgraphs.push(l),h("state")&&g("state","resolve-group-owner",{id:l.id,parent:s?.id})}for(let t of n.ownedIds()){if(!e.nodes.has(t))continue;let l=n.ownerOf(t);if(!l)continue;let s=i.get(n.scopeId(l));if(!s)throw Error(`Missing State scope for ${t}`);s.nodeIds.push(t),h("state")&&g("state","resolve-member-owner",{id:t,parent:s.id})}for(let t of e.floatingStateNotes??[]){if(!t.scope)continue;let e=i.get(n.scopeId(t.scope));if(!e)throw Error(`Missing State scope for floating note ${t.id}`);e.nodeIds.push(t.nodeId),h("state")&&g("state","resolve-member-owner",{id:t.nodeId,parent:e.id})}let l=e.subgraphs.map(e=>({group:e,depth:1}));for(;l.length;){let{group:e,depth:t}=l.pop();for(let n of(x("nesting",t),e.children))l.push({group:n,depth:t+1})}}(n,u,d),n}(L);if("flowchart"===B)return function(e,t=[]){let n,i=e[0].match(/^(?:(?:graph|swimlane)\s+(TD|TB|LR|BT|RL|[<>^v])|flowchart(?:\s+(TD|TB|LR|BT|RL|[<>^v]))?)\s*$/i);if(!i)throw Error(`Invalid mermaid header: "${e[0]}". Expected "graph TD", "flowchart LR", "stateDiagram-v2", etc.`);let l=">"===(n=(i[1]??i[2]??"TD").toUpperCase())?"LR":"<"===n?"RL":"^"===n?"BT":"V"===n?"TB":n;h("flowchart")&&(p("flowchart","header",e[0],{line:1,unit:"normalized"}),g("flowchart","set-direction",l));let s={direction:l,nodes:new Map,edges:[],subgraphs:[],classDefs:new Map,classAssignments:new Map,nodeStyles:new Map,linkStyles:new Map},r=[],a=new Map,o=new Set,d=function(e,t=[]){let n=[],i=new Set,l=new Set;for(let[s,r]of e.entries())for(let{text:e,start:a}of eh(r)){let r=e.match(/^subgraph\s+(.+)$/);if(r){let o=function(e){let t,n=(t=e.indexOf("["))>0&&t<e.length-1&&e.endsWith("]")?{id:e.slice(0,t).trim(),title:e.slice(t+1,-1)}:void 0;if(n){let e=tl(n.title),t={label:e.text,...e.labelContent?{labelContent:e.labelContent}:{}};if(tu(n.id))return{id:n.id,...t,generated:!1,identity:n.id,titled:!0};if(function(e){let t=e;if(e.startsWith('"')){let n=e.startsWith('"`'),i=n?e.indexOf('`"',2):e.indexOf('"',1);if(i<0)return!0;t=e.slice(i+(n?2:1))}return!Z.test(t)||K.test(t)}(n.id))throw Error(`Invalid flowchart subgraph identifier ${JSON.stringify(n.id)}`);let i=ts(n.id).trim();return tu(i)?{id:i,...t,generated:!1,identity:i,titled:!0}:{id:tc(i),...t,generated:!0,identity:i,titled:!0}}let i=tl(e),l=ts(e).trim(),s=l!==e&&/^`[\s\S]*`$/.test(l)?l.slice(1,-1).trim():l;return tu(s)?{id:s,label:i.text,...i.labelContent?{labelContent:i.labelContent}:{},generated:!1,identity:s,titled:!1}:{id:tc(s),label:i.text,...i.labelContent?{labelContent:i.labelContent}:{},generated:!0,identity:s,titled:!1}}(r[1].trim());n.push(o),o.generated?!o.titled&&(/\s/.test(o.identity)||t[s]?.some(t=>t>a&&t<a+e.length))&&i.add(o):l.add(o.id)}else{for(let t of e.matchAll(RegExp(e4,"gu")))l.add(t[0]);for(let t=0;t<e.length;){let n=Y(e,t);n>0&&l.add(e.slice(t,t+n)),t=et(e,t)?.end??t+Math.max(n,1)}}}let s=new Map;for(let e of n){if(!e.generated)continue;let t=i.has(e)?void 0:s.get(e.identity);if(t){e.id=t;continue}let n=e.id,r=n;for(let e=2;l.has(r);e++)r=`${n}_${e}`;i.has(e)||s.set(e.identity,r),l.add(r),e.id=r}return n}(e.slice(1),t.slice(1)),c=0,u=new Set([...d.values()].map(e=>e.id)),m=S(),y=[],k=()=>{let e=r.pop();if(!e)return;let t=a.get(e.id),n=m.close(e.id,e.nodeIds),i=n.filter(t=>u.has(t)&&t!==e.id);for(let l of(i.length&&y.push({lister:e.id,ids:i}),t.nodeIds=[...new Set([...t.nodeIds,...n.filter(e=>!u.has(e))])],e.children))l===t||t.children.some(e=>e.id===l.id)||t.children.push(l);t.direction??=e.direction;let l=r.at(-1);o.has(e.id)||r.some(t=>t.id===e.id)||(l?l.children.push(t):s.subgraphs.push(t),o.add(e.id),h("flowchart")&&g("flowchart","attach-group",{id:e.id,parent:l?.id})),h("flowchart")&&g("flowchart","close-group",{id:t.id,label:t.label,members:t.nodeIds,children:t.children.map(e=>e.id),direction:t.direction})};for(let t=1;t<e.length;t++)for(let n of th(e[t])){if(h("flowchart")&&p("flowchart","statement",n,{line:t+1,unit:"normalized"}),/^(?:click|href)\s+/i.test(n.trim())){!function(e,t){let n=t.trim().match(/^(?:click\s+)?(\S+)\s+(?:href\s+)?(?:"((?:\\.|[^"])*)"|(https?:\/\/\S+|mailto:\S+))/i);if(!n)return;let i=(n[2]??n[3]??"").replace(/\\(["\\])/g,"$1");if(!/^(?:https?:|mailto:)/i.test(i))return;let l=e.nodes.get(n[1]);l&&(l.href=i,h("flowchart")&&g("flowchart","set-interaction",{id:l.id,href:i}))}(s,n);continue}let e=function(e,t){let n=t.trim(),i=Y(n),l=i>0?n.slice(i).match(RegExp(`^${tf}`)):null;if(!l)return null;let{end:s,entries:r}=tg(n,i+l[0].length-1);if(""!==n.slice(s+1).trim())return null;let a=n.slice(0,i);return e.edges.some(e=>e.id===a)?{id:a,entries:r}:null}(s,n);if(e){!function(e,{id:t,entries:n}){let i=e.edges.find(e=>e.id===t);if(!i)return;let l=tm(n,"curve");l&&/^[a-z][a-z0-9-]*$/i.test(l)&&(i.curve=l);let s=tm(n,"animate")?.toLowerCase(),r=tm(n,"animation")?.toLowerCase();if("true"===s||"fast"===s||"slow"===s||"fast"===r||"slow"===r){i.animate=!0;let e="fast"===s||"slow"===s?s:r;("fast"===e||"slow"===e)&&(i.animation=e)}h("flowchart")&&g("flowchart","set-edge-metadata",i)}(s,e);continue}let i=n.match(/^classDef\s+([\w,-]+)\s+(.+)$/);if(i){let e=i[1].split(",").map(e=>e.trim()).filter(Boolean),t=ec(w(i[2]));if(0===Object.keys(t).length)continue;for(let n of e)s.classDefs.set(n,t),h("flowchart")&&g("flowchart","define-class",{name:n,props:t});continue}let l=tp(n.match(/^class\s+(\S+)\s+([\w-]+)\s*;?$/));if(l){let e=l[1].split(",").map(e=>e.trim()),t=l[2];for(let n of e)b(s.classAssignments,n,t),h("flowchart")&&g("flowchart","append-class",{id:n,name:t,classes:s.classAssignments.get(n)});continue}let o=tp(n.match(/^style\s+(\S+)\s+(.+)$/));if(o){let e=o[1].split(",").map(e=>e.trim()).filter(Boolean);for(let t of e)tq(s,t,u);let t=ec(w(o[2]));if(0===Object.keys(t).length)continue;for(let n of e)s.nodeStyles.set(n,{...s.nodeStyles.get(n),...t}),h("flowchart")&&g("flowchart","set-node-style",{id:n,props:s.nodeStyles.get(n)});continue}let m=n.match(/^linkStyle\s+(default|[\d,\s]+)\s+(.+)$/);if(m){let e=m[1].trim(),t="default"===e?[]:e.split(",").map(e=>parseInt(e.trim(),10)).filter(e=>!isNaN(e)),n=ec(w(m[2]));if(0===Object.keys(n).length)continue;if("default"===e)s.linkStyles.set("default",{...s.linkStyles.get("default"),...n}),h("flowchart")&&g("flowchart","set-link-style",{target:e,props:s.linkStyles.get("default")});else for(let e of t)s.linkStyles.set(e,{...s.linkStyles.get(e),...n}),h("flowchart")&&g("flowchart","set-link-style",{target:e,props:s.linkStyles.get(e)});continue}let y=n.match(/^direction\s+(TD|TB|LR|BT|RL)\s*$/i);if(y){let e=y[1].toUpperCase();r.length>0?r[r.length-1].direction=e:s.direction=e,h("flowchart")&&g("flowchart","set-direction",{parent:r.at(-1)?.id,direction:e});continue}if("subgraph"===n)throw $({what:`Invalid flowchart statement "${n}": a subgraph needs an id or a title (upstream fails on one with neither)`,expectedForm:'subgraph id, subgraph id[Title] or subgraph "Title"',example:'subgraph S["Stage one"]'});if(n.match(/^subgraph\s+(.+)$/)){let{id:e,label:t,labelContent:n}=d[c++],i={id:e,label:t,...n?{labelContent:n}:{},nodeIds:[],children:[]};a.has(e)||(x("nodes",s.nodes.size+a.size+1),a.set(e,{id:e,label:t,...n?{labelContent:n}:{},nodeIds:[],children:[]}),tx.set(s,a.size)),x("nesting",r.length+1),r.push(i),h("flowchart")&&g("flowchart","open-group",{id:e,label:t,scope:r.at(-2)?.id});continue}if("end"===n){k();continue}let S=function(e,t,n,i=new Set,l){let s=e.trim().replace(/;\s*$/,"").trim(),r=tB(s,t,n,i,void 0);if(!r||0===r.ids.length)return{ok:!1,remaining:s,reason:"expected node"};if(0===(s=r.remaining.trim()).length)return{ok:!0};let a=r.ids;for(;s.length>0;){let e,l,r,o,d,c,u,p,m=s.match(tI),w=m?.[1];m&&(h("flowchart")&&f("flowchart","edge-id",m[0]),s=s.slice(m[0].length).trim());let b=et(s,0);if(b){let t=b.op,n=b.end,i=/^\s*/.exec(s.slice(n))[0].length,a=s.slice(n+i);if(a.startsWith("|")){let e=function(e){let t,n=(t=eo(e,0,!0,!1).regions[0],t?.start===0?t:void 0);return n?.kind==="pipe"&&n.closed?{rawLabel:e.slice(n.contentStart,n.contentEnd),consumed:n.end}:null}(a);if(!e)return{ok:!1,remaining:a,reason:"expected edge target"};V(e.rawLabel,"text"),tW.test(e.rawLabel),e.rawLabel,tz.test(e.rawLabel);let t=tl(e.rawLabel.trim());c=t.text||void 0,u=t.labelContent,n+=i+e.consumed}h("flowchart")&&f("flowchart","link",s.slice(0,n)),s=s.slice(n).trim(),l="~"===t[0]?"invisible":t.includes(".")?"dotted":t.includes("=")?"thick":"solid",p=function(e){let t;if("~"===e[0])t=e.length-3;else if(e.includes("."))t=(e.match(/\./g)?.length??1)-1;else if(e.includes("=")){let n=e.match(/=/g)?.length??2;t=/[>ox]$/.test(e)?n-2:n-3}else{let n=e.match(/-/g)?.length??2;t=/[>ox]$/.test(e)||/^[ox]/.test(e)?n-2:n-3}return t>0?t+1:void 0}(t),o=b.hasArrowStart?"arrow":t.startsWith("o")?"circle":t.startsWith("x")?"cross":void 0,d=tH(t),e=void 0!==o,r=void 0!==d}else{let t=function(e){let t=en(e,0);if(!t)return null;let n="x"===t.startMark?"cross":"o"===t.startMark?"circle":t.startMark?"arrow":void 0;return("x"===t.startMark||"o"===t.startMark)&&n!==tH(t.closeOp)?null:{startMarker:n,openOp:t.openOp,rawLabel:e.slice(t.labelStart,t.labelEnd),closeOp:t.closeOp,consumed:t.end}}(s);if(!t)return{ok:!1,remaining:s,reason:"expected edge operator"};V(t.rawLabel,"edge-text"),tW.test(t.rawLabel);let n=tl(t.rawLabel);c=n.text||void 0,u=n.labelContent,h("flowchart")&&f("flowchart","text-link",s.slice(0,t.consumed)),s=s.slice(t.consumed).trim(),l=tU(t.openOp,t.closeOp),p=function(e,t){let n=tU(e,t),i=(e,t)=>(e.match(RegExp(`\\${t}`,"g"))??[]).length,l=0,s=0;"dotted"===n?(l=Math.max(0,i(e,".")-1),s=Math.max(0,i(t,".")-1)):"thick"===n?(l=Math.max(0,i(e,"=")-2),s=Math.max(0,i(t,"=")-(/[>ox]$/.test(t)?2:3))):(l=Math.max(0,i(e,"-")-2),s=Math.max(0,i(t,"-")-(/[>ox]$/.test(t)?2:3)));let r=Math.max(l,s);return r>0?r+1:void 0}(t.openOp,t.closeOp),e=void 0!==(o=t.startMarker),r=void 0!==(d=tH(t.closeOp))}let y=tB(s,t,n,i,void 0);if(!y||0===y.ids.length)return{ok:!1,remaining:s,reason:"expected edge target"};s=y.remaining.trim(),x("edges",t.edges.length+a.length*y.ids.length);let k=void 0!==w&&t.edges.some(e=>e.id===w)?void 0:w;for(let n of a)for(let i of y.ids){let s=n===a.at(-1)&&i===y.ids[0]?k:void 0;void 0!==s&&(k=void 0),t.edges.push({source:n,target:i,...void 0!==s?{id:s}:{},label:c,...u?{labelContent:u}:{},style:l,hasArrowStart:e,hasArrowEnd:r,startMarker:o,endMarker:d,...void 0!==p?{length:p}:{}}),h("flowchart")&&g("flowchart","add-edge",t.edges.at(-1))}a=y.ids}return{ok:!0}}(n,s,r,u);if(!S.ok)throw function(e,t){let n=`Invalid flowchart statement "${e}"`;if(/^<?(?:-{2,}|-\.+|={2,})/.test(t.remaining)){let e=ei(t.remaining,0);if(e&&"stray"in e){let i=t.remaining.slice(e.stray,e.stray+2);return $({what:`${n}: the link label in "${t.remaining}" holds a \`${i}\` before the link that closes it, which upstream's lexer rejects`,expectedForm:`a label without \`${i}\`, or a quoted one`,example:`A -- "x ${i} y" --> B`})}return $({what:`${n}: "${t.remaining}" opens a link label that no link closes (\`--\` and \`-.\` always open a link, so a node id cannot hold them)`,expectedForm:"a label closed by a link of the same stroke, or an id without `--`",example:"A -- label --\x3e B, A == label ==> B or A -. label .-> B"})}let i=function(e){if("expected edge operator"!==e.reason)return;let t=en(e.remaining,0);if(t?.startMark==="x"||t?.startMark==="o")return tH(t.closeOp)===("x"===t.startMark?"cross":"circle")?void 0:e.remaining.slice(0,t.end)}(t);return void 0!==i?$({what:`${n}: the link "${i}" starts with an \`${i[0]}\` marker and ends otherwise; upstream reads it as a link of no type, and ours reads an \`x\` or \`o\` start only before the same end`,expectedForm:"the same marker at both ends of a link label, or none",example:"A x-- label --x B or A -- label --\x3e B"}):!function(e,t){var n;let i,l=e.trim().replace(/;\s*$/,"").trim();return t.remaining.startsWith(",")&&l.endsWith(t.remaining)&&("expected edge operator"!==t.reason||(i=l[(n=l.length-t.remaining.length)-1],","===l[n]&&void 0!==i&&("-"===i||":"===i||P.test(i))))}(e,t)?Error(`${n}: could not fully consume ${t.reason}; remaining input: "${t.remaining}"`):$({what:`${n}: upstream reads the "," before "${t.remaining.slice(1)}" as part of one node id (\`A,B\` is one node there), and ours reads no "," in a node id`,expectedForm:'a node id without ",", or `&` between nodes',example:"A & B --\x3e C"})}(n,S)}for(;r.length>0;)k();return function(e,t){let n=(e,t)=>e===t||e.children.some(e=>n(e,t));for(let{lister:i,ids:l}of t)for(let t of l){let l=t?e.subgraphs.indexOf(t):-1;l<0||n(t,i)||(e.subgraphs.splice(l,1),i.children.push(t),h("flowchart")&&g("flowchart","attach-group",{id:t.id,parent:i.id}))}}(s,y.map(({lister:e,ids:t})=>({lister:a.get(e),ids:t.map(e=>a.get(e))}))),s}(L,C);if("unknown"===I.kind)throw Error(`Unknown Mermaid diagram header: ${O}`);let E="registered"===I.kind?I.familyId:I.match.family.id;throw Error(`Mermaid family "${E}" is not a graph family; use the family-neutral agent parser`)}function tc(e){return e.replace(/<\/?[a-z][^<>]*>/gi," ").trim().replace(/\s+/g,"_").replace(/[^\p{L}\p{N}_-]/gu,"").replace(/-{2,}/g,"_")||"group"}function tu(e){return e.length>0&&Y(e)===e.length}function th(e){return eh(e).map(e=>e.text)}function tp(e){return e&&e[1].split(",").every(e=>""===e||Y(e)===e.length)?e:null}var tf=String.raw`\s*@\s*\{`;function tg(e,n){let i=t(e,n,"flowchart");if(!i.ok)throw $({what:`Invalid @{} metadata in "${e}": ${i.message}`,expectedForm:'a YAML mapping with "double-quoted" strings (a single-quoted one may not hold `"` or `}`)',example:'A@{ shape: rect, label: "Start: a}b" }'});return i}function tm(e,t){return n(e.get(t))?.trim()||void 0}var tx=new WeakMap;function tw(e){x("nodes",e.nodes.size+(tx.get(e)??0)+1)}function tb(e,t){let n=(e.get(t)??0)+1;return e.set(t,n),n}function ty(e,t){let n,{text:i,content:l}=(n=t.map(e=>e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e),e9(t.map(e=>M(e)).join(`
15
- `),n.join(`
16
- `).replace(/\r\n?|\n/g,"<br/>"))),{labelContent:s,...r}=e;return{...r,label:i,...l?{labelContent:l}:{}}}var tk=new WeakMap;function t$(e,t,n){let i=t.at(-1);if(!i||i.nodeIds.includes(n))return;let l=tk.get(e);l||tk.set(e,l=new Map),!l.has(n)&&(l.set(n,i),i.nodeIds.push(n),h("state")&&g("state","add-member",{parent:i.id,id:n}))}function tS(e,t,n){!e.nodes.has(n.id)&&(tw(e),e.nodes.set(n.id,n),h("state")&&g("state","add-node",n)),t$(e,t,n.id)}function tv(e,t,n){e.nodes.has(n)?t$(e,t,n):tS(e,t,{id:n,label:n,shape:"rounded"})}var tL=e=>RegExp(`^${e}`,"u"),tM=[{regex:tL(String.raw`\(\(\((.+?)\)\)\)`),shape:"doublecircle"},{regex:tL(String.raw`\(\[(.+?)\]\)`),shape:"stadium"},{regex:tL(String.raw`\(-(.+?)-\)`),shape:"ellipse"},{regex:tL(String.raw`\(\((.+?)\)\)`),shape:"circle"},{regex:tL(String.raw`\[\[(.+?)\]\]`),shape:"subroutine"},{regex:tL(String.raw`\[\((.+?)\)\]`),shape:"cylinder"},{regex:tL(String.raw`\[\/([^\]]+?)\\\]`),shape:"trapezoid"},{regex:tL(String.raw`\[\\([^\]]+?)\/\]`),shape:"trapezoid-alt"},{regex:tL(String.raw`\[\/([^\]]+?)\/\]`),shape:"lean-r"},{regex:tL(String.raw`\[\\([^\]]+?)\\\]`),shape:"lean-l"},{regex:tL(String.raw`>(.+?)\]`),shape:"asymmetric"},{regex:tL(String.raw`\{\{(.+?)\}\}`),shape:"hexagon"},{regex:tL(String.raw`\[(.+?)\]`),shape:"rectangle"},{regex:tL(String.raw`\((.+?)\)`),shape:"rounded"},{regex:tL(String.raw`\{(.+?)\}`),shape:"diamond"}],tC=new Set(["trapezoid","trapezoid-alt","lean-r","lean-l"]);function tO(e){let t=Y(e);return t>0?{id:e.slice(0,t),length:t}:null}var tI=RegExp(String.raw`^(${T})@\s*(?=${z}|(?:-{2,}|-\.+|={2,})\s+)`,"u");function tj(e){let t=e8(e);if(!t)return null;let n=e.slice(3),i=Math.min(t.className.length,Y(n));return 0===i?null:{className:n.slice(0,i),length:3+i}}function tB(e,t,n,i,l){let s=tR(e,t,n,i,l);if(!s)return null;let r=[s.id],a=s.remaining.trim();for(;a.startsWith("&");){h("flowchart")&&f("flowchart","parallel-separator","&");let e=tR(a.slice(1).trim(),t,n,i,l);if(!e)break;r.push(e.id),a=e.remaining.trim()}return{ids:r,remaining:a}}function tE(e,t,i,l){let s=t.get("label"),r=""===s?"":n(s),a=void 0!==r?tl(r,!0):void 0,o=tm(t,"shape"),d=void 0!==o?function(e){let t=ta.get(e.trim().toLowerCase());if(!t)return null;let n=tr[t];return{canonical:t,geometry:n.geometry,exact:n.exact,description:n.description}}(o):null,c=tm(t,"icon"),u=tm(t,"img"),p=tm(t,"form"),f="circle"===p||"rounded"===p||"square"===p?p:void 0,m=d?{shape:d.geometry,semanticShape:d.canonical,authoredShape:o}:c||u?{shape:"circle"===f?"circle":"rounded"===f?"rounded":"rectangle",semanticShape:c?"icon":"image"}:{},x={...c?{icon:c}:{},...u?{image:u}:{},...f?{iconForm:f}:{}},w=i.nodes.get(e);w?(i.nodes.set(e,{...w,...void 0!==a?{label:a.text,labelContent:a.labelContent,...a.markdown?{markdownLabel:!0}:{}}:{},...m,...x}),h("flowchart")&&g("flowchart","set-node-metadata",i.nodes.get(e)),t_(l,e)):tF(i,l,{id:e,label:a?.text??e,...a?.labelContent?{labelContent:a.labelContent}:{},shape:"rectangle",...a?.markdown?{markdownLabel:!0}:{},...m,...x})}function tA(e,t,n,i){let l=t.match(RegExp(`^${tf}`));if(!l)return null;let{end:s,entries:r}=tg(t,l[0].length-1);return tE(e,r,n,i),t.slice(s+1)}var tN=[{open:"(((",close:")))",shape:"doublecircle"},{open:"([",close:"])",shape:"stadium"},{open:"(-",close:"-)",shape:"ellipse"},{open:"((",close:"))",shape:"circle"},{open:"[[",close:"]]",shape:"subroutine"},{open:"[(",close:")]",shape:"cylinder"},{open:"[/",close:"\\]",shape:"trapezoid"},{open:"[\\",close:"/]",shape:"trapezoid-alt"},{open:"[/",close:"/]",shape:"lean-r"},{open:"[\\",close:"\\]",shape:"lean-l"},{open:">",close:"]",shape:"asymmetric"},{open:"{{",close:"}}",shape:"hexagon"},{open:"[",close:"]",shape:"rectangle"},{open:"(",close:")",shape:"rounded"},{open:"{",close:"}",shape:"diamond"}],tW=/^\s*""\s*$/;function tR(e,t,n,i,l){let s=function(e,t,n){let i=tO(e),l=i&&e.slice(i.length).match(RegExp(`^${tf}`));if(!i||!l)return null;let s=i.id,{end:r,entries:a}=tg(e,i.length+l[0].length-1);return tE(s,a,t,n),{id:s,remaining:e.slice(r+1)}}(e,t,n);if(s){let n=s.remaining,i=tj(n);return i&&(b(t.classAssignments,s.id,i.className),h("flowchart")&&g("flowchart","append-class",{id:s.id,name:i.className,classes:t.classAssignments.get(s.id)}),n=n.slice(i.length)),h("flowchart")&&f("flowchart","metadata-node",e.slice(0,e.length-n.length)),{id:s.id,remaining:n}}let r=function(e,t,n,i){let l=tO(e);if(!l)return null;let s=e.slice(l.length);for(let r of tN){if(!s.startsWith(`${r.open}"`))continue;let a=r.open.length,o=s.indexOf('"',a+1);if(o<0||!s.startsWith(r.close,o+1))continue;o===a+1&&i?.add("empty-string");let d=tl(s.slice(a+1,o),!0);tT(t,n,{id:l.id,label:d.text,...d.labelContent?{labelContent:d.labelContent}:{},shape:r.shape,...d.markdown?{markdownLabel:!0}:{}});let c=l.length+o+1+r.close.length;return{id:l.id,remaining:e.slice(c)}}return null}(e,t,n,l);if(r){let i=tA(r.id,r.remaining,t,n)??r.remaining,l=tj(i);return l&&(b(t.classAssignments,r.id,l.className),h("flowchart")&&g("flowchart","append-class",{id:r.id,name:l.className,classes:t.classAssignments.get(r.id)}),i=i.slice(l.length)),h("flowchart")&&f("flowchart","quoted-node",e.slice(0,e.length-i.length)),{id:r.id,remaining:i}}let a=null,o=e,d=tO(e),c=d?e.slice(d.length):"";for(let{regex:e,shape:i}of d?tM:[]){let s=c.match(e);if(s){a=d.id,V(s[1],tC.has(i)?"trapezoid":"text")&&l?.add("label-delimiter"),tW.test(s[1])&&l?.add("empty-string");let{text:e,markdown:r,labelContent:u}=tl(s[1]);tT(t,n,{id:a,label:e,shape:i,...r?{markdownLabel:!0}:{},...u?{labelContent:u}:{}}),o=c.slice(s[0].length);break}}if(null===a){let l=tO(e);l&&(tq(t,a=l.id,i),t_(n,a),o=e.slice(l.length))}if(null===a)return null;let u=tj(o=tA(a,o,t,n)??o);return u&&(b(t.classAssignments,a,u.className),h("flowchart")&&g("flowchart","append-class",{id:a,name:u.className,classes:t.classAssignments.get(a)}),o=o.slice(u.length)),ee(e,e.length-o.length)?null:(tD.test(e)&&l?.add("node-edge-id"),h("flowchart")&&f("flowchart","node",e.slice(0,e.length-o.length)),{id:a,remaining:o})}var tD=/^[^\s"]+@(?![{"])/,tz=/^[^\s"]*@(?![{"])/;function tT(e,t,n){let i=e.nodes.get(n.id);if(!i)return void tF(e,t,n);let{markdownLabel:l,semanticShape:s,authoredShape:r,labelContent:a,...o}=i;e.nodes.set(n.id,{...o,label:n.label,shape:n.shape,...n.markdownLabel?{markdownLabel:!0}:{},...n.labelContent?{labelContent:n.labelContent}:{}}),h("flowchart")&&g("flowchart","define-node",e.nodes.get(n.id)),t_(t,n.id)}function tq(e,t,n){return!(e.nodes.has(t)||n.has(t))&&(tw(e),e.nodes.set(t,{id:t,label:t,shape:"rectangle"}),h("flowchart")&&g("flowchart","add-node",e.nodes.get(t)),!0)}function tF(e,t,n){!e.nodes.has(n.id)&&(tw(e),e.nodes.set(n.id,n),h("flowchart")&&g("flowchart","add-node",n)),t_(t,n.id)}function t_(e,t){if(e.length>0){let n=e[e.length-1];n.nodeIds.includes(t)||(n.nodeIds.push(t),h("flowchart")&&g("flowchart","add-member",{parent:n.id,id:t}))}}function tU(e,t){return e.includes(".")||t.includes(".")?"dotted":e.includes("=")||t.includes("=")?"thick":"solid"}function tH(e){let t=e[e.length-1];return">"===t?"arrow":"o"===t?"circle":"x"===t?"cross":void 0}export{W as a,eg as b,e0 as c,to as d,td as e};
@@ -1 +0,0 @@
1
- import{Da as e,Fa as t,za as a}from"./chunk-EUBVLDYV.js";import{K as n,M as r}from"./chunk-P7DO3MRP.js";function s(t){return n.test(t)?e(t,({name:e,value:t})=>r(e,t)):t}function i(e){let t=/<((?:[A-Za-z_][\w.-]*:)?(?:style|text|title|desc|metadata))\b[\s\S]*?<\/\1>/gi,a=[],n=e=>e.replace(/>\s*\r?\n\s*</g,"><"),r=0,s;for(;null!==(s=t.exec(e));)s.index>r&&a.push(n(e.slice(r,s.index))),a.push(s[0]),r=s.index+s[0].length;return r<e.length&&a.push(n(e.slice(r))),a.join("")}function l(n,r){if(!/^[A-Za-z0-9_.:-]+$/.test(r))throw Error("idPrefix must be non-empty and contain only ASCII letters, digits, underscore, hyphen, dot, and colon");let s=new Set;for(let e of a(n))for(let t of e.attributes)"id"===t.name&&s.add(t.value);let i=e=>e.startsWith(r)?e:`${r}${e}`;return t(e(n,e=>{if("id"===e.name)return i(e.value);if("aria-labelledby"===e.name||"aria-describedby"===e.name)return e.value.split(/\s+/).map(e=>s.has(e)?i(e):e).join(" ");if(("href"===e.name||"xlink:href"===e.name)&&e.value.startsWith("#")){let t=e.value.slice(1);return s.has(t)?`#${i(t)}`:e.value}}),e=>e.replace(/url\(#([^)]+)\)/g,(e,t)=>s.has(t)?`url(#${i(t)})`:e))}export{s as a,i as b,l as c};
@@ -1,3 +0,0 @@
1
- import{a as e,c as t}from"./chunk-NMQQMRIR.js";import{c as r,d as o,e as i,f as n,g as a,k as l,l as d,n as s,q as h}from"./chunk-CXQWSLJV.js";import{D as c,l as p,n as g,q as u,x as f}from"./chunk-SJYDRC6G.js";import{c as k,na as y,oa as m}from"./chunk-GMTB5UTY.js";import{La as x,ib as $,jb as b,kb as w,ub as S}from"./chunk-EUBVLDYV.js";import{A as v,H as C,I as M,a as _,w as A}from"./chunk-P7DO3MRP.js";function W(k,W,B){let{positioned:F,colors:z,resolved:R}=W,j=R.renderOptions,E=z.font??"Inter",N=j.transparent??!1,P=[],D=R.familyAppearance?.visual??j.stateVisual,H=u(j,D?.styleDefaults,R.styleFace);P.push(k.documentOpen({id:"prelude",width:F.width,height:F.height,colors:z,transparent:N,font:E,hasMonoFont:!1},w(F.width,F.height,z,N)+`
2
- `+b(E,!1,z.shadow,z.embedFontImport)));let I=[];I.push("<defs>");let T=$(z);T&&I.push(T);let V=new Set,O=new Set;H.edgeStrokeColor&&V.add(H.edgeStrokeColor);let Q=!1,Y=!1;for(let e of F.edges)e.inlineStyle?.stroke&&V.add(e.inlineStyle.stroke),e.inlineStyle?.["stroke-width"]&&O.add(e.inlineStyle.stroke??H.edgeStrokeColor),("circle"===e.startMarker||"circle"===e.endMarker)&&(Q=!0),("cross"===e.startMarker||"cross"===e.endMarker)&&(Y=!0);let q=o(V,O,Q,Y);for(let e of(I.splice(1,0,S(q)),I.push("</defs>"),P.push(k.definitions({id:"defs",markerResources:q},I.join(`
3
- `))),F.title&&P.push(k.text(f(F.title,H))),B?.surfaces===!1?[]:F.groups))P.push(function e(t,o,i,n,a){if(o.concurrencyRegion)return t.group({id:`group:${o.id}`,role:"group",open:`<g class="concurrency-region" data-id="${C(o.id)}"${a?` data-parent-id="${C(a)}"`:""}>`,close:"</g>",children:o.children.map(r=>({indent:0,node:e(t,r,i,n,o.id)}))});let l=o.labelBlock??r(A(o.label,o.labelContent),n,"group"),d=o.headerHeight??n.groupHeaderFontSize+16+l.height-l.lineHeight,s=[],h=`<g class="subgraph" data-id="${C(o.id)}" data-region="subgraph" data-label="${M(o.label)}"${a?` data-parent-id="${C(a)}"`:""}>`,c=o.inlineStyle,p=c?.fill??n.groupFillColor??"var(--_group-fill)",g=c?.stroke??n.groupBorderColor??"var(--_node-stroke)",u=c?.["stroke-width"]??String(n.groupLineWidth);s.push({indent:2,node:t.shape({id:`group-rect:${o.id}`,role:"group",geometry:{kind:"rect",x:o.x,y:o.y,width:o.width,height:o.height,rx:n.groupCornerRadius,ry:n.groupCornerRadius},paint:{fill:p,stroke:g,strokeWidth:u}})});let f=n.groupHeaderFillColor??"var(--_group-hdr)",k=x(o.x,o.y,o.width,d,n.groupCornerRadius);s.push({indent:2,node:t.shape({id:`group-header:${o.id}`,role:"group-header",geometry:{kind:"path",d:k},paint:{fill:f,stroke:g,strokeWidth:u}})});let y=l.text,m=c?.color??n.groupTextColor??"var(--_text-sec)";for(let e of(s.push({indent:2,node:t.text({id:`group-label:${o.id}`,role:"group-header",text:y,block:l,x:o.x+n.groupLabelPaddingX,y:o.y+d/2,fontSize:n.groupHeaderFontSize,anchor:"start",paint:{fill:m}})}),function(e,t){let r=e.children.filter(e=>e.concurrencyRegion);if(r.length<2)return[];let o=e=>Math.max(...r.map(e))-Math.min(...r.map(e)),i=o(e=>e.x+e.width/2)>=o(e=>e.y+e.height/2),n=[...r].sort((e,t)=>i?e.x-t.x:e.y-t.y),a=[];for(let r=1;r<n.length;r++){let o=n[r-1],l=n[r];if(i){let i=(o.x+o.width+l.x)/2;a.push({index:r-1,x1:i,y1:e.y+t+4,x2:i,y2:e.y+e.height-4})}else{let t=(o.y+o.height+l.y)/2;a.push({index:r-1,x1:e.x+4,y1:t,x2:e.x+e.width-4,y2:t})}}return a}(o,d)))s.push({indent:2,node:t.shape({id:`region-separator:${o.id}:${e.index}`,role:"group",geometry:{kind:"line",x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2},paint:{stroke:g,strokeWidth:String(n.groupLineWidth),strokeDasharray:"6 4"},attributes:{className:"region-separator"}})});for(let r of o.children)s.push({indent:0,node:e(t,r,i,n,o.id)});return t.group({id:`group:${o.id}`,role:"group",open:h,close:"</g>",children:s})}(k,e,E,H));B?.beforeEdges&&P.push(...B.beforeEdges());let G=new Set(F.nodes.map(e=>e.id)),J=e=>e.forEach(e=>{G.add(e.id),J(e.children)});J(F.groups);let U=new Map,X=new Map;for(let e of F.edges){if(e.points.length<2)continue;let t=`${e.source}->${e.target}`,r=U.get(t)??0;U.set(t,r+1);let o=`edge:${t}#${r}`;X.set(e,o);let l=void 0===e.id||G.has(e.id)?o:e.id;P.push(function(e,t,r,o,l,d){let s="dotted"===t.style?"dotted":"thick"===t.style?"thick":"invisible"===t.style?"invisible":"solid",h=L(o),p=t.labelPosition??c(t.points),u=r.edgeTextColor??"var(--_text-sec)",f=t.label?[{id:`${o}:label`,text:t.label,textContent:{value:t.label,prepared:v(A(t.label,t.labelContent))},anchor:p,paint:{fill:u},fontSize:r.edgeLabelFontSize,textAnchor:"middle",visual:{kind:"companion",markId:`${h}:text`}}]:[],k=(t.classNames??[]).map(e=>e.replace(/[^A-Za-z0-9_-]/g,"")).filter(Boolean),y={identity:{id:l,...k.length?{classNames:k}:{}},endpoints:{from:t.source,to:t.target},relationship:{kind:"flowchart-edge",direction:t.source===t.target?"self":t.hasArrowStart&&t.hasArrowEnd?"bidirectional":t.hasArrowStart?"reverse":t.hasArrowEnd?"forward":"undirected"},route:{ownership:"layout",bendRadius:r.edgeBendRadius,labelAnchors:t.labelPosition?[t.labelPosition]:[]},labels:f};if("invisible"===t.style)return e.connector({id:o,role:"edge",geometry:{kind:"polyline",points:t.points},lineStyle:"invisible",paint:{},...y});let m=a(t,r),x="dotted"===t.style?`${g.dash} ${g.gap}`:t.animate?"8 4":void 0,$="thick"===t.style?2*r.lineWidth:r.lineWidth,b=t.inlineStyle?.stroke??r.edgeStrokeColor,w=`${b?`-${n(b)}`:""}${t.inlineStyle?.["stroke-width"]?"-fixed":""}`,S,C;if(t.hasArrowEnd){let e=i(t.endMarker??"arrow");if(!(S=d.find(t=>t.id===`${e}${w}`)))throw Error(`Missing marker resource "${e}${w}"`)}if(t.hasArrowStart){let e=i(t.startMarker??"arrow");if(!(C=d.find(t=>t.id===`${e}-start${w}`)))throw Error(`Missing marker resource "${e}-start${w}"`)}let M={className:["edge",...k].join(" "),data:{style:t.style,"arrow-start":String(t.hasArrowStart),"arrow-end":String(t.hasArrowEnd),...t.hasArrowStart?{"marker-start":t.startMarker??"arrow"}:{},...t.hasArrowEnd?{"marker-end":t.endMarker??"arrow"}:{},...t.label?{label:_(t.label)}:{},...t.curve?{curve:t.curve}:{},...t.animate?{animate:"true",animation:t.animation??"slow"}:{}}},W={stroke:b??"var(--_line)",strokeWidth:t.inlineStyle?.["stroke-width"]??String($),...x?{strokeDasharray:x}:{}};if(r.edgeBendRadius>0||t.curve){if(!m)throw Error(`Missing path projection for flowchart edge "${o}"`);return e.connector({id:o,role:"edge",geometry:m.geometry,lineStyle:s,paint:W,markers:{...C?{start:C}:{},mid:[],...S?{end:S}:{}},...y,route:{...y.route,contours:m.contours},attributes:M})}return e.connector({id:o,role:"edge",geometry:{kind:"polyline",points:t.points},lineStyle:s,paint:W,markers:{...C?{start:C}:{},mid:[],...S?{end:S}:{}},...y,attributes:M})}(k,e,H,o,l,q))}for(let e of F.edges){let t=X.get(e);B?.edgeLabels!==!1&&e.label&&t&&P.push(function(e,t,o,i,n){let a=t.labelPosition??c(t.points),s=t.labelBlock??r(A(t.label,t.labelContent),i,"edge"),h=s.text,p=l+d(t,i.lineWidth),g=s.width+2*p,u=s.height+2*p,f=a.x-g/2,k=a.y-u/2,y=e.shape({id:`${n}:halo`,role:"chrome",geometry:{kind:"rect",x:f,y:k,width:g,height:u,rx:4,ry:4},paint:{fill:"var(--bg)",stroke:"none"},attributes:{className:"edge-label-halo"}}),m=s.width+2*l,x=s.height+2*l,$=e.shape({id:`${n}:pill`,role:"chrome",geometry:{kind:"rect",x:a.x-m/2,y:a.y-x/2,width:m,height:x,rx:2,ry:2},paint:{fill:"var(--bg)",stroke:"var(--_inner-stroke)",strokeWidth:"1"}}),b=i.edgeTextColor??"var(--_text-sec)",w=e.text({id:`${n}:text`,role:"label",text:h,block:s,x:a.x,y:a.y,fontSize:i.edgeLabelFontSize,anchor:"middle",paint:{fill:b}});return e.group({id:n,role:"edge-label",open:`<g class="edge-label" data-from="${C(t.source)}" data-to="${C(t.target)}" data-label="${M(t.label)}">`,close:"</g>",children:[{indent:2,node:y},{indent:2,node:$},{indent:2,node:w}]})}(k,e,0,H,L(t)))}for(let o of B?.surfaces===!1?[]:F.nodes)P.push(function(o,i,n,a,l,d){let c=function(e,t,r){let{x:o,y:i,width:n,height:a,shape:l,inlineStyle:d}=t,h=s(t,{fill:d?.fill??r.nodeFillColor??"var(--_node-fill)",stroke:d?.stroke??r.nodeBorderColor??"var(--_node-stroke)",strokeWidth:d?.["stroke-width"]??String(r.nodeLineWidth)},r.cornerRadius);return e.shape({id:`node-shape:${t.id}`,role:"state-note"===t.shape?"note":"node",geometry:h.geometry,paint:h.paint,...h.childPaints?{childPaints:h.childPaints}:{}})}(o,i,a),p=function(e,t,r){let o=t.nodeTextColor??(e.inlineStyle?.fill||!h(e)?"var(--_text)":m("var(--_text)",t.nodeFillColor??"var(--_node-fill)",r));return y(e.inlineStyle,o)}(i,a,l),g=function(e,t,o,i,n){if(("state-start"===t.shape||"state-end"===t.shape||"state-fork"===t.shape||"state-join"===t.shape||"state-choice"===t.shape)&&!t.label)return null;let a=t.x+t.width/2,l=t.y+t.height/2,d=t.labelBlock??r(A(t.label,t.labelContent),i,"node"),s=d.text;return e.text({id:`node-label:${t.id}`,role:"label",text:s,block:d,x:a,y:l,fontSize:i.nodeLabelFontSize,anchor:"middle",paint:{fill:n}})}(o,i,0,a,p),u=(i.classNames??[]).map(e=>e.replace(/[^A-Za-z0-9_-]/g,"")).filter(Boolean),f=["node",..."state-note"===i.shape?["state-note"]:[],...u].join(" "),k="state-start"===i.shape?{status:"start"}:"state-end"===i.shape?{status:"end"}:void 0,x=[{indent:2,node:c}],$=function(r,o,i){let n=Math.min(28,.4*o.height),a=o.x+o.width/2,l=o.y+6;if(o.icon){let d=t(o.icon);if(d){let e=n/24;return r.pathArtwork({id:`node:${o.id}:icon`,paths:d.paths,owner:{id:o.id,role:"node"},open:`<g class="flowchart-icon" data-icon="${C(o.icon)}" transform="translate(${a-n/2} ${l}) scale(${e})">`,transform:{kind:"matrix",a:e,b:0,c:0,d:e,e:a-n/2,f:l},paint:{fill:i,stroke:i,strokeWidth:"0.8"}})}let s=e(o.icon);return r.text({id:`node:${o.id}:icon`,role:"icon",owner:{id:o.id,role:"node"},text:s,block:o.iconFallbackBlock,x:a,y:l+n/2,fontSize:10,anchor:"middle",paint:{fill:i},baselineShift:0,attributes:{className:"flowchart-icon-fallback",data:{icon:o.icon}}})}if(o.image){let e=a-n/2,t=`M${e+2} ${l+.66*n}L${e+.36*n} ${l+.36*n}L${e+.52*n} ${l+.5*n}L${e+.7*n} ${l+.32*n}L${e+n-2} ${l+.66*n}`,d={fill:"none",stroke:i,strokeWidth:"1.2"},s={id:o.id,role:"node"};return r.group({id:`node:${o.id}:image`,role:"icon",owner:s,open:`<g class="flowchart-image-placeholder" data-image-src="${C(o.image)}">`,close:"</g>",join:"",children:[{indent:0,node:r.shape({id:`node:${o.id}:image:frame`,role:"icon",owner:s,geometry:{kind:"rect",x:e,y:l,width:n,height:.72*n,rx:2},paint:d})},{indent:0,node:r.shape({id:`node:${o.id}:image:sun`,role:"icon",owner:s,geometry:{kind:"circle",cx:e+.72*n,cy:l+.2*n,r:.08*n},paint:d})},{indent:0,node:r.shape({id:`node:${o.id}:image:landscape`,role:"icon",owner:s,geometry:{kind:"path",d:t},paint:d})}]})}return null}(o,i,p);$&&x.push({indent:2,node:$}),g&&x.push({indent:2,node:g});let b=i.semanticShape?` data-semantic-shape="${C(i.semanticShape)}"`:"",w=d&&i.href?` data-href="${C(i.href)}" role="link" tabindex="0"`:"",S=void 0===i.floatingNoteId?"":` data-floating-note-id="${C(i.floatingNoteId)}"`;return o.group({id:`node:${i.id}`,role:"state-note"===i.shape?"note":"node",open:`<g class="${f}" data-id="${C(i.id)}" data-label="${M(i.label)}" data-shape="${i.shape}"${b}${w}${S}>`,close:"</g>",children:x,channels:k})}(k,o,0,H,z,"strict"!==j.security));for(let e of F.notes??[])P.push(function(e,t,o,i){let{x:n,y:a,width:l,height:d}=t,s=i.groupHeaderFillColor??"var(--_group-hdr)",h=i.groupBorderColor??"var(--_node-stroke)",c=i.edgeTextColor??"var(--_text-sec)",g=t.textBlock??r(A(t.text,t.textContent),i,"note"),u=g.text,f=`state-note:${t.id}`;return e.group({id:f,role:"note",open:`<g class="state-note" data-id="${C(t.id)}" data-target="${C(t.target)}" data-side="${t.side}">`,close:"</g>",children:[{indent:2,node:e.shape({id:`${f}:rect`,role:"note",geometry:{kind:"rect",x:n,y:a,width:l,height:d,rx:4,ry:4},paint:{fill:s,stroke:h,strokeWidth:String(p.innerBox)}})},{indent:2,node:e.text({id:`${f}:text`,role:"label",text:u,block:g,x:n+l/2,y:a+d/2,fontSize:i.edgeLabelFontSize,anchor:"middle",paint:{fill:c}})}]})}(k,e,0,H));return P.push(k.documentClose()),{family:"flowchart",width:F.width,height:F.height,colors:z,transparent:N,parts:P}}function L(e){return e.startsWith("edge:")?`edge-label:${e.slice(5)}`:`${e}:label`}var B=k(W);export{W as a,B as b};