cc-viewer 1.6.259 → 1.6.261

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 (79) hide show
  1. package/dist/assets/App-Co-5BI9q.js +1 -0
  2. package/dist/assets/{MdxEditorPanel-CWT3SFgC.js → MdxEditorPanel-DFNyQW6b.js} +1 -1
  3. package/dist/assets/Mobile-DwYIskc6.js +1 -0
  4. package/dist/assets/{_baseUniq-DXjKWfhk.js → _baseUniq-DGKwdzTD.js} +1 -1
  5. package/dist/assets/{arc-DsQxkW5T.js → arc-nTLBi2ib.js} +1 -1
  6. package/dist/assets/{architectureDiagram-Q4EWVU46-D24v83bq.js → architectureDiagram-Q4EWVU46-pWWvthzV.js} +1 -1
  7. package/dist/assets/{blockDiagram-DXYQGD6D-D5ezdfnY.js → blockDiagram-DXYQGD6D-CpU6v2gv.js} +1 -1
  8. package/dist/assets/{c4Diagram-AHTNJAMY-g5VhpI4X.js → c4Diagram-AHTNJAMY-zdTsx1jJ.js} +1 -1
  9. package/dist/assets/{channel-Bohj9Wcp.js → channel-Cq1UANGu.js} +1 -1
  10. package/dist/assets/{chunk-4BX2VUAB-5LFKrDPS.js → chunk-4BX2VUAB-D6w9m5kB.js} +1 -1
  11. package/dist/assets/{chunk-4TB4RGXK-B7I8vecx.js → chunk-4TB4RGXK-DjZZc11c.js} +1 -1
  12. package/dist/assets/{chunk-55IACEB6-BBIiUctL.js → chunk-55IACEB6-Cw2U09Tu.js} +1 -1
  13. package/dist/assets/{chunk-EDXVE4YY-BYpcDSKa.js → chunk-EDXVE4YY-Cv-G70H7.js} +1 -1
  14. package/dist/assets/{chunk-FMBD7UC4-Dpw6TUJP.js → chunk-FMBD7UC4-Dykxux6b.js} +1 -1
  15. package/dist/assets/{chunk-OYMX7WX6-1R1GcGjy.js → chunk-OYMX7WX6-Cn9oAaEC.js} +1 -1
  16. package/dist/assets/{chunk-QZHKN3VN-B43hQ2vS.js → chunk-QZHKN3VN-CA1IccbG.js} +1 -1
  17. package/dist/assets/{chunk-YZCP3GAM-1IZth8n2.js → chunk-YZCP3GAM-CbReBNg5.js} +1 -1
  18. package/dist/assets/classDiagram-6PBFFD2Q-PgwmelQQ.js +1 -0
  19. package/dist/assets/classDiagram-v2-HSJHXN6E-PgwmelQQ.js +1 -0
  20. package/dist/assets/clone-Dnu1HdEX.js +1 -0
  21. package/dist/assets/{cose-bilkent-S5V4N54A-D05nug0R.js → cose-bilkent-S5V4N54A-TwxpCIwM.js} +1 -1
  22. package/dist/assets/{dagre-KV5264BT-DZ9d_ZUE.js → dagre-KV5264BT-CxuHKd9a.js} +1 -1
  23. package/dist/assets/{diagram-5BDNPKRD-DdyX_gXl.js → diagram-5BDNPKRD-BzR9Peib.js} +1 -1
  24. package/dist/assets/{diagram-G4DWMVQ6-cjq8tNSZ.js → diagram-G4DWMVQ6-PWFXrQqF.js} +1 -1
  25. package/dist/assets/{diagram-MMDJMWI5-NiKFms6e.js → diagram-MMDJMWI5-CqnrwtNB.js} +1 -1
  26. package/dist/assets/{diagram-TYMM5635-Dpig5X9-.js → diagram-TYMM5635-Do2MhBCf.js} +1 -1
  27. package/dist/assets/{erDiagram-SMLLAGMA-D2sWo3Zv.js → erDiagram-SMLLAGMA-CklZI6kO.js} +1 -1
  28. package/dist/assets/{flowDiagram-DWJPFMVM-D85Dj_yq.js → flowDiagram-DWJPFMVM-C_SKJN0d.js} +1 -1
  29. package/dist/assets/{ganttDiagram-T4ZO3ILL-DxAjpfgn.js → ganttDiagram-T4ZO3ILL-ChhhqFiR.js} +1 -1
  30. package/dist/assets/{gitGraphDiagram-UUTBAWPF-BO9g8cL0.js → gitGraphDiagram-UUTBAWPF-HarEJVSI.js} +1 -1
  31. package/dist/assets/{graph-BfcDIvNk.js → graph-BTcI3kpi.js} +1 -1
  32. package/dist/assets/{index-PkTBRWSU.js → index-B0NtFDg2.js} +1 -1
  33. package/dist/assets/{index-Bxmjxqf5.js → index-B7-pqPyp.js} +1 -1
  34. package/dist/assets/{index-CGqcaIdp.js → index-BG6Hzhck.js} +1 -1
  35. package/dist/assets/{index-BEpSzlsR.js → index-Bzp41aRh.js} +1 -1
  36. package/dist/assets/index-C6MrFmhs.js +2 -0
  37. package/dist/assets/{index-BJjKgolB.js → index-CF0YP7s8.js} +1 -1
  38. package/dist/assets/{index-9sv7BDJr.js → index-CQ579eP2.js} +1 -1
  39. package/dist/assets/{index-sVTuiL15.css → index-Dzkxj8m_.css} +1 -1
  40. package/dist/assets/{index-7d_JTozZ.js → index-NNx0667m.js} +1 -1
  41. package/dist/assets/{infoDiagram-42DDH7IO-BnOW3PpN.js → infoDiagram-42DDH7IO-DOcCtSEj.js} +1 -1
  42. package/dist/assets/{ishikawaDiagram-UXIWVN3A-BdRWHTx5.js → ishikawaDiagram-UXIWVN3A-Crb_pmG4.js} +1 -1
  43. package/dist/assets/{journeyDiagram-VCZTEJTY-6-pOxb-c.js → journeyDiagram-VCZTEJTY-BUv2Exj_.js} +1 -1
  44. package/dist/assets/{jszip.min-DKP-m-LG.js → jszip.min-BuZCDHia.js} +1 -1
  45. package/dist/assets/{kanban-definition-6JOO6SKY-BBX4NlcN.js → kanban-definition-6JOO6SKY-DwSHz9oV.js} +1 -1
  46. package/dist/assets/{layout-DtQNOuH0.js → layout-Dp3N3WRT.js} +1 -1
  47. package/dist/assets/{linear-6Y3OZ7u2.js → linear-JU5ltHCp.js} +1 -1
  48. package/dist/assets/{mermaid.core-CAsnLdlL.js → mermaid.core-f1mZHh7u.js} +2 -2
  49. package/dist/assets/{min-BRPZJLHh.js → min-CDzial6q.js} +1 -1
  50. package/dist/assets/{mindmap-definition-QFDTVHPH-BkmfcnFE.js → mindmap-definition-QFDTVHPH-DnhPHplB.js} +1 -1
  51. package/dist/assets/{pieDiagram-DEJITSTG-D4a_1EvH.js → pieDiagram-DEJITSTG-dMhPj5wG.js} +1 -1
  52. package/dist/assets/{quadrantDiagram-34T5L4WZ-kKniISLU.js → quadrantDiagram-34T5L4WZ-GCi1_zHo.js} +1 -1
  53. package/dist/assets/{requirementDiagram-MS252O5E-DPikXO53.js → requirementDiagram-MS252O5E-WeErs64x.js} +1 -1
  54. package/dist/assets/{sankeyDiagram-XADWPNL6--rY8uDK7.js → sankeyDiagram-XADWPNL6-BKpP6-8Q.js} +1 -1
  55. package/dist/assets/seqResourceLoaders-80G7f5Kr.js +2 -0
  56. package/dist/assets/seqResourceLoaders-B8CyM6Ul.css +41 -0
  57. package/dist/assets/{sequenceDiagram-FGHM5R23-C57z6bd_.js → sequenceDiagram-FGHM5R23-CAC5BKbx.js} +1 -1
  58. package/dist/assets/{stateDiagram-FHFEXIEX-D7q_cBTL.js → stateDiagram-FHFEXIEX-Cxrg604Z.js} +1 -1
  59. package/dist/assets/{stateDiagram-v2-QKLJ7IA2-Co3EU6Nf.js → stateDiagram-v2-QKLJ7IA2-DaUpf340.js} +1 -1
  60. package/dist/assets/{timeline-definition-GMOUNBTQ-DBV-lv69.js → timeline-definition-GMOUNBTQ-DbvXGDTU.js} +1 -1
  61. package/dist/assets/{vendor-antd-BeN8xqGk.js → vendor-antd-jGWxgt_-.js} +1 -1
  62. package/dist/assets/{vendor-codemirror-2nbmPewy.js → vendor-codemirror-9gysGjWj.js} +1 -1
  63. package/dist/assets/{vendor-mdxeditor-C7DYEBoH.js → vendor-mdxeditor-BFiCaYAL.js} +2 -2
  64. package/dist/assets/{vendor-qrcode-BFV_3WPO.js → vendor-qrcode-DjZ-VpGR.js} +1 -1
  65. package/dist/assets/{vendor-virtuoso-COKXGpsa.js → vendor-virtuoso-DB1J9xKG.js} +1 -1
  66. package/dist/assets/{vennDiagram-DHZGUBPP-ngWDn_ip.js → vennDiagram-DHZGUBPP-BoIw-nWl.js} +1 -1
  67. package/dist/assets/{wardley-RL74JXVD-BhMXVlU_.js → wardley-RL74JXVD-4PjirsHP.js} +1 -1
  68. package/dist/assets/{wardleyDiagram-NUSXRM2D-lpdygHK-.js → wardleyDiagram-NUSXRM2D-C8RzJmfU.js} +1 -1
  69. package/dist/assets/{xychartDiagram-5P7HB3ND-DVafENtB.js → xychartDiagram-5P7HB3ND-Ct6fDXwq.js} +1 -1
  70. package/dist/index.html +5 -5
  71. package/package.json +1 -1
  72. package/dist/assets/App-eBSb5fy2.js +0 -1
  73. package/dist/assets/Mobile-DdB1mwp_.js +0 -1
  74. package/dist/assets/ProxyModal-DGzTxXqd.js +0 -2
  75. package/dist/assets/ProxyModal-DzTu4uGE.css +0 -41
  76. package/dist/assets/classDiagram-6PBFFD2Q-BBoAxatM.js +0 -1
  77. package/dist/assets/classDiagram-v2-HSJHXN6E-BBoAxatM.js +0 -1
  78. package/dist/assets/clone-Cc7ofJ6W.js +0 -1
  79. package/dist/assets/index-BGEXf37A.js +0 -2
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-KV5264BT-DZ9d_ZUE.js","assets/graph-BfcDIvNk.js","assets/_baseUniq-DXjKWfhk.js","assets/layout-DtQNOuH0.js","assets/min-BRPZJLHh.js","assets/clone-Cc7ofJ6W.js","assets/vendor-mdxeditor-C7DYEBoH.js","assets/vendor-antd-BeN8xqGk.js","assets/vendor-codemirror-2nbmPewy.js","assets/vendor-markdown-BFrYfpb0.js","assets/cose-bilkent-S5V4N54A-D05nug0R.js","assets/cytoscape.esm-CT1mZavR.js","assets/c4Diagram-AHTNJAMY-g5VhpI4X.js","assets/chunk-YZCP3GAM-1IZth8n2.js","assets/flowDiagram-DWJPFMVM-D85Dj_yq.js","assets/chunk-FMBD7UC4-Dpw6TUJP.js","assets/chunk-55IACEB6-BBIiUctL.js","assets/chunk-EDXVE4YY-BYpcDSKa.js","assets/channel-Bohj9Wcp.js","assets/erDiagram-SMLLAGMA-D2sWo3Zv.js","assets/gitGraphDiagram-UUTBAWPF-BO9g8cL0.js","assets/chunk-4BX2VUAB-5LFKrDPS.js","assets/chunk-QZHKN3VN-B43hQ2vS.js","assets/wardley-RL74JXVD-BhMXVlU_.js","assets/ganttDiagram-T4ZO3ILL-DxAjpfgn.js","assets/linear-6Y3OZ7u2.js","assets/init-DMZMl1PR.js","assets/defaultLocale-DZ7E7S9R.js","assets/infoDiagram-42DDH7IO-BnOW3PpN.js","assets/pieDiagram-DEJITSTG-D4a_1EvH.js","assets/arc-DsQxkW5T.js","assets/ordinal-DA-_8pMy.js","assets/quadrantDiagram-34T5L4WZ-kKniISLU.js","assets/xychartDiagram-5P7HB3ND-DVafENtB.js","assets/requirementDiagram-MS252O5E-DPikXO53.js","assets/sequenceDiagram-FGHM5R23-C57z6bd_.js","assets/classDiagram-6PBFFD2Q-BBoAxatM.js","assets/chunk-4TB4RGXK-B7I8vecx.js","assets/classDiagram-v2-HSJHXN6E-BBoAxatM.js","assets/stateDiagram-FHFEXIEX-D7q_cBTL.js","assets/chunk-OYMX7WX6-1R1GcGjy.js","assets/stateDiagram-v2-QKLJ7IA2-Co3EU6Nf.js","assets/journeyDiagram-VCZTEJTY-6-pOxb-c.js","assets/timeline-definition-GMOUNBTQ-DBV-lv69.js","assets/mindmap-definition-QFDTVHPH-BkmfcnFE.js","assets/kanban-definition-6JOO6SKY-BBX4NlcN.js","assets/sankeyDiagram-XADWPNL6--rY8uDK7.js","assets/diagram-TYMM5635-Dpig5X9-.js","assets/diagram-MMDJMWI5-NiKFms6e.js","assets/blockDiagram-DXYQGD6D-D5ezdfnY.js","assets/diagram-5BDNPKRD-DdyX_gXl.js","assets/architectureDiagram-Q4EWVU46-D24v83bq.js","assets/ishikawaDiagram-UXIWVN3A-BdRWHTx5.js","assets/vennDiagram-DHZGUBPP-ngWDn_ip.js","assets/diagram-G4DWMVQ6-cjq8tNSZ.js","assets/wardleyDiagram-NUSXRM2D-lpdygHK-.js"])))=>i.map(i=>d[i]);
2
- var _a,_b,_c,_d,_e2,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p,__defProp=Object.defineProperty,__publicField=(obj,key,value)=>((obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value:value}):obj[key]=value)(obj,"symbol"!=typeof key?key+"":key,value);import{_ as __vitePreload}from"./vendor-mdxeditor-C7DYEBoH.js";import{O as dayjs2,a6 as serialize,a7 as stringify,a8 as compile}from"./vendor-antd-BeN8xqGk.js";import{p as purify}from"./vendor-markdown-BFrYfpb0.js";var __defProp2=Object.defineProperty,__name=(target,value)=>__defProp2(target,"name",{value:value,configurable:!0}),__export=(target,all)=>{for(var name in all)__defProp2(target,name,{get:all[name],enumerable:!0})},LEVELS={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},log={trace:__name((..._args)=>{},"trace"),debug:__name((..._args)=>{},"debug"),info:__name((..._args)=>{},"info"),warn:__name((..._args)=>{},"warn"),error:__name((..._args)=>{},"error"),fatal:__name((..._args)=>{},"fatal")},setLogLevel=__name(function(level="fatal"){let numericLevel=LEVELS.fatal;"string"==typeof level?level.toLowerCase()in LEVELS&&(numericLevel=LEVELS[level]):"number"==typeof level&&(numericLevel=level),log.trace=()=>{},log.debug=()=>{},log.info=()=>{},log.warn=()=>{},log.error=()=>{},log.fatal=()=>{},numericLevel<=LEVELS.fatal&&(log.fatal=console.error?console.error.bind(console,format("FATAL"),"color: orange"):console.log.bind(console,"",format("FATAL"))),numericLevel<=LEVELS.error&&(log.error=console.error?console.error.bind(console,format("ERROR"),"color: orange"):console.log.bind(console,"",format("ERROR"))),numericLevel<=LEVELS.warn&&(log.warn=console.warn?console.warn.bind(console,format("WARN"),"color: orange"):console.log.bind(console,"",format("WARN"))),numericLevel<=LEVELS.info&&(log.info=console.info?console.info.bind(console,format("INFO"),"color: lightblue"):console.log.bind(console,"",format("INFO"))),numericLevel<=LEVELS.debug&&(log.debug=console.debug?console.debug.bind(console,format("DEBUG"),"color: lightgreen"):console.log.bind(console,"",format("DEBUG"))),numericLevel<=LEVELS.trace&&(log.trace=console.debug?console.debug.bind(console,format("TRACE"),"color: lightgreen"):console.log.bind(console,"",format("TRACE")))},"setLogLevel"),format=__name(level=>`%c${dayjs2().format("ss.SSS")} : ${level} : `,"format");const Channel={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:r2=>r2>=255?255:r2<0?0:r2,g:g2=>g2>=255?255:g2<0?0:g2,b:b2=>b2>=255?255:b2<0?0:b2,h:h2=>h2%360,s:s2=>s2>=100?100:s2<0?0:s2,l:l4=>l4>=100?100:l4<0?0:l4,a:a2=>a2>=1?1:a2<0?0:a2},toLinear:c2=>{const n2=c2/255;return c2>.03928?Math.pow((n2+.055)/1.055,2.4):n2/12.92},hue2rgb:(p2,q2,t2)=>(t2<0&&(t2+=1),t2>1&&(t2-=1),t2<1/6?p2+6*(q2-p2)*t2:t2<.5?q2:t2<2/3?p2+(q2-p2)*(2/3-t2)*6:p2),hsl2rgb:({h:h2,s:s2,l:l4},channel)=>{if(!s2)return 2.55*l4;h2/=360,s2/=100;const q2=(l4/=100)<.5?l4*(1+s2):l4+s2-l4*s2,p2=2*l4-q2;switch(channel){case"r":return 255*Channel.hue2rgb(p2,q2,h2+1/3);case"g":return 255*Channel.hue2rgb(p2,q2,h2);case"b":return 255*Channel.hue2rgb(p2,q2,h2-1/3)}},rgb2hsl:({r:r2,g:g2,b:b2},channel)=>{r2/=255,g2/=255,b2/=255;const max2=Math.max(r2,g2,b2),min2=Math.min(r2,g2,b2),l4=(max2+min2)/2;if("l"===channel)return 100*l4;if(max2===min2)return 0;const d2=max2-min2;if("s"===channel)return 100*(l4>.5?d2/(2-max2-min2):d2/(max2+min2));switch(max2){case r2:return 60*((g2-b2)/d2+(g2<b2?6:0));case g2:return 60*((b2-r2)/d2+2);case b2:return 60*((r2-g2)/d2+4);default:return-1}}},Utils={channel:Channel,lang:{clamp:(number,lower2,upper)=>lower2>upper?Math.min(lower2,Math.max(upper,number)):Math.min(upper,Math.max(lower2,number)),round:number=>Math.round(1e10*number)/1e10},unit:{dec2hex:dec=>{const hex2=Math.round(dec).toString(16);return hex2.length>1?hex2:`0${hex2}`}}},DEC2HEX={};for(let i2=0;i2<=255;i2++)DEC2HEX[i2]=Utils.unit.dec2hex(i2);const TYPE_ALL=0,TYPE_RGB=1,TYPE_HSL=2;class Type{constructor(){this.type=TYPE_ALL}get(){return this.type}set(type2){if(this.type&&this.type!==type2)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=type2}reset(){this.type=TYPE_ALL}is(type2){return this.type===type2}}const channels=new class{constructor(data,color2){this.color=color2,this.changed=!1,this.data=data,this.type=new Type}set(data,color2){return this.color=color2,this.changed=!1,this.data=data,this.type.type=TYPE_ALL,this}_ensureHSL(){const data=this.data,{h:h2,s:s2,l:l4}=data;void 0===h2&&(data.h=Utils.channel.rgb2hsl(data,"h")),void 0===s2&&(data.s=Utils.channel.rgb2hsl(data,"s")),void 0===l4&&(data.l=Utils.channel.rgb2hsl(data,"l"))}_ensureRGB(){const data=this.data,{r:r2,g:g2,b:b2}=data;void 0===r2&&(data.r=Utils.channel.hsl2rgb(data,"r")),void 0===g2&&(data.g=Utils.channel.hsl2rgb(data,"g")),void 0===b2&&(data.b=Utils.channel.hsl2rgb(data,"b"))}get r(){const data=this.data,r2=data.r;return this.type.is(TYPE_HSL)||void 0===r2?(this._ensureHSL(),Utils.channel.hsl2rgb(data,"r")):r2}get g(){const data=this.data,g2=data.g;return this.type.is(TYPE_HSL)||void 0===g2?(this._ensureHSL(),Utils.channel.hsl2rgb(data,"g")):g2}get b(){const data=this.data,b2=data.b;return this.type.is(TYPE_HSL)||void 0===b2?(this._ensureHSL(),Utils.channel.hsl2rgb(data,"b")):b2}get h(){const data=this.data,h2=data.h;return this.type.is(TYPE_RGB)||void 0===h2?(this._ensureRGB(),Utils.channel.rgb2hsl(data,"h")):h2}get s(){const data=this.data,s2=data.s;return this.type.is(TYPE_RGB)||void 0===s2?(this._ensureRGB(),Utils.channel.rgb2hsl(data,"s")):s2}get l(){const data=this.data,l4=data.l;return this.type.is(TYPE_RGB)||void 0===l4?(this._ensureRGB(),Utils.channel.rgb2hsl(data,"l")):l4}get a(){return this.data.a}set r(r2){this.type.set(TYPE_RGB),this.changed=!0,this.data.r=r2}set g(g2){this.type.set(TYPE_RGB),this.changed=!0,this.data.g=g2}set b(b2){this.type.set(TYPE_RGB),this.changed=!0,this.data.b=b2}set h(h2){this.type.set(TYPE_HSL),this.changed=!0,this.data.h=h2}set s(s2){this.type.set(TYPE_HSL),this.changed=!0,this.data.s=s2}set l(l4){this.type.set(TYPE_HSL),this.changed=!0,this.data.l=l4}set a(a2){this.changed=!0,this.data.a=a2}}({r:0,g:0,b:0,a:0},"transparent"),Hex={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:color2=>{if(35!==color2.charCodeAt(0))return;const match=color2.match(Hex.re);if(!match)return;const hex2=match[1],dec=parseInt(hex2,16),length=hex2.length,hasAlpha=length%4==0,isFullLength=length>4,multiplier=isFullLength?1:17,bits=isFullLength?8:4,bitsOffset=hasAlpha?0:-1,mask=isFullLength?255:15;return channels.set({r:(dec>>bits*(bitsOffset+3)&mask)*multiplier,g:(dec>>bits*(bitsOffset+2)&mask)*multiplier,b:(dec>>bits*(bitsOffset+1)&mask)*multiplier,a:hasAlpha?(dec&mask)*multiplier/255:1},color2)},stringify:channels2=>{const{r:r2,g:g2,b:b2,a:a2}=channels2;return a2<1?`#${DEC2HEX[Math.round(r2)]}${DEC2HEX[Math.round(g2)]}${DEC2HEX[Math.round(b2)]}${DEC2HEX[Math.round(255*a2)]}`:`#${DEC2HEX[Math.round(r2)]}${DEC2HEX[Math.round(g2)]}${DEC2HEX[Math.round(b2)]}`}},HSL={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:hue2=>{const match=hue2.match(HSL.hueRe);if(match){const[,number,unit]=match;switch(unit){case"grad":return Utils.channel.clamp.h(.9*parseFloat(number));case"rad":return Utils.channel.clamp.h(180*parseFloat(number)/Math.PI);case"turn":return Utils.channel.clamp.h(360*parseFloat(number))}}return Utils.channel.clamp.h(parseFloat(hue2))},parse:color2=>{const charCode=color2.charCodeAt(0);if(104!==charCode&&72!==charCode)return;const match=color2.match(HSL.re);if(!match)return;const[,h2,s2,l4,a2,isAlphaPercentage]=match;return channels.set({h:HSL._hue2deg(h2),s:Utils.channel.clamp.s(parseFloat(s2)),l:Utils.channel.clamp.l(parseFloat(l4)),a:a2?Utils.channel.clamp.a(isAlphaPercentage?parseFloat(a2)/100:parseFloat(a2)):1},color2)},stringify:channels2=>{const{h:h2,s:s2,l:l4,a:a2}=channels2;return a2<1?`hsla(${Utils.lang.round(h2)}, ${Utils.lang.round(s2)}%, ${Utils.lang.round(l4)}%, ${a2})`:`hsl(${Utils.lang.round(h2)}, ${Utils.lang.round(s2)}%, ${Utils.lang.round(l4)}%)`}},Keyword={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:color2=>{color2=color2.toLowerCase();const hex2=Keyword.colors[color2];if(hex2)return Hex.parse(hex2)},stringify:channels2=>{const hex2=Hex.stringify(channels2);for(const name in Keyword.colors)if(Keyword.colors[name]===hex2)return name}},RGB={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:color2=>{const charCode=color2.charCodeAt(0);if(114!==charCode&&82!==charCode)return;const match=color2.match(RGB.re);if(!match)return;const[,r2,isRedPercentage,g2,isGreenPercentage,b2,isBluePercentage,a2,isAlphaPercentage]=match;return channels.set({r:Utils.channel.clamp.r(isRedPercentage?2.55*parseFloat(r2):parseFloat(r2)),g:Utils.channel.clamp.g(isGreenPercentage?2.55*parseFloat(g2):parseFloat(g2)),b:Utils.channel.clamp.b(isBluePercentage?2.55*parseFloat(b2):parseFloat(b2)),a:a2?Utils.channel.clamp.a(isAlphaPercentage?parseFloat(a2)/100:parseFloat(a2)):1},color2)},stringify:channels2=>{const{r:r2,g:g2,b:b2,a:a2}=channels2;return a2<1?`rgba(${Utils.lang.round(r2)}, ${Utils.lang.round(g2)}, ${Utils.lang.round(b2)}, ${Utils.lang.round(a2)})`:`rgb(${Utils.lang.round(r2)}, ${Utils.lang.round(g2)}, ${Utils.lang.round(b2)})`}},Color$1={format:{keyword:Keyword,hex:Hex,rgb:RGB,rgba:RGB,hsl:HSL,hsla:HSL},parse:color2=>{if("string"!=typeof color2)return color2;const channels2=Hex.parse(color2)||RGB.parse(color2)||HSL.parse(color2)||Keyword.parse(color2);if(channels2)return channels2;throw new Error(`Unsupported color format: "${color2}"`)},stringify:channels2=>!channels2.changed&&channels2.color?channels2.color:channels2.type.is(TYPE_HSL)||void 0===channels2.data.r?HSL.stringify(channels2):channels2.a<1||!Number.isInteger(channels2.r)||!Number.isInteger(channels2.g)||!Number.isInteger(channels2.b)?RGB.stringify(channels2):Hex.stringify(channels2)},change=(color2,channels2)=>{const ch=Color$1.parse(color2);for(const c2 in channels2)ch[c2]=Utils.channel.clamp[c2](channels2[c2]);return Color$1.stringify(ch)},rgba$1=(r2,g2,b2=0,a2=1)=>{if("number"!=typeof r2)return change(r2,{a:g2});const channels$1=channels.set({r:Utils.channel.clamp.r(r2),g:Utils.channel.clamp.g(g2),b:Utils.channel.clamp.b(b2),a:Utils.channel.clamp.a(a2)});return Color$1.stringify(channels$1)},isLight=color2=>(color2=>{const{r:r2,g:g2,b:b2}=Color$1.parse(color2),luminance2=.2126*Utils.channel.toLinear(r2)+.7152*Utils.channel.toLinear(g2)+.0722*Utils.channel.toLinear(b2);return Utils.lang.round(luminance2)})(color2)>=.5,isDark=color2=>!isLight(color2),adjustChannel=(color2,channel,amount)=>{const channels2=Color$1.parse(color2),amountCurrent=channels2[channel],amountNext=Utils.channel.clamp[channel](amountCurrent+amount);return amountCurrent!==amountNext&&(channels2[channel]=amountNext),Color$1.stringify(channels2)},lighten=(color2,amount)=>adjustChannel(color2,"l",amount),darken=(color2,amount)=>adjustChannel(color2,"l",-amount),adjust=(color2,channels2)=>{const ch=Color$1.parse(color2),changes={};for(const c2 in channels2)channels2[c2]&&(changes[c2]=ch[c2]+channels2[c2]);return change(color2,changes)},invert=(color2,weight=100)=>{const inverse=Color$1.parse(color2);return inverse.r=255-inverse.r,inverse.g=255-inverse.g,inverse.b=255-inverse.b,((color1,color2,weight=50)=>{const{r:r1,g:g1,b:b1,a:a1}=Color$1.parse(color1),{r:r2,g:g2,b:b2,a:a2}=Color$1.parse(color2),weightScale=weight/100,weightNormalized=2*weightScale-1,alphaDelta=a1-a2,weight1=((weightNormalized*alphaDelta===-1?weightNormalized:(weightNormalized+alphaDelta)/(1+weightNormalized*alphaDelta))+1)/2,weight2=1-weight1;return rgba$1(r1*weight1+r2*weight2,g1*weight1+g2*weight2,b1*weight1+b2*weight2,a1*weightScale+a2*(1-weightScale))})(inverse,color2,weight)};var configFromInitialize,frontMatterRegex=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,directiveRegex=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,anyCommentRegex=/\s*%%.*\n/gm,UnknownDiagramError=(_a=class extends Error{constructor(message){super(message),this.name="UnknownDiagramError"}},__name(_a,"UnknownDiagramError"),_a),detectors={},detectType$1=__name(function(text2,config2){text2=text2.replace(frontMatterRegex,"").replace(directiveRegex,"").replace(anyCommentRegex,"\n");for(const[key,{detector:detector32}]of Object.entries(detectors)){if(detector32(text2,config2))return key}throw new UnknownDiagramError(`No diagram type detected matching given configuration for text: ${text2}`)},"detectType"),registerLazyLoadedDiagrams=__name((...diagrams2)=>{for(const{id:id32,detector:detector32,loader:loader32}of diagrams2)addDetector(id32,detector32,loader32)},"registerLazyLoadedDiagrams"),addDetector=__name((key,detector32,loader32)=>{detectors[key]&&log.warn(`Detector with key ${key} already exists. Overwriting.`),detectors[key]={detector:detector32,loader:loader32},log.debug(`Detector with key ${key} added${loader32?" with loader":""}`)},"addDetector"),getDiagramLoader=__name(key=>detectors[key].loader,"getDiagramLoader"),assignWithDepth=__name((dst,src,{depth:depth=2,clobber:clobber=!1}={})=>{const config2={depth:depth,clobber:clobber};return Array.isArray(src)&&!Array.isArray(dst)?(src.forEach(s2=>assignWithDepth(dst,s2,config2)),dst):Array.isArray(src)&&Array.isArray(dst)?(src.forEach(s2=>{dst.includes(s2)||dst.push(s2)}),dst):void 0===dst||depth<=0?null!=dst&&"object"==typeof dst&&"object"==typeof src?Object.assign(dst,src):src:(void 0!==src&&"object"==typeof dst&&"object"==typeof src&&Object.keys(src).forEach(key=>{"object"!=typeof src[key]||null===src[key]||void 0!==dst[key]&&"object"!=typeof dst[key]?(clobber||"object"!=typeof dst[key]&&"object"!=typeof src[key])&&(dst[key]=src[key]):(void 0===dst[key]&&(dst[key]=Array.isArray(src[key])?[]:{}),dst[key]=assignWithDepth(dst[key],src[key],{depth:depth-1,clobber:clobber}))}),dst)},"assignWithDepth"),assignWithDepth_default=assignWithDepth,mkBorder=__name((col,darkMode)=>adjust(col,darkMode?{s:-40,l:10}:{s:-40,l:-10}),"mkBorder"),Theme=(__name(_b=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2,_l2,_m2,_n2,_o2,_p2,_q,_r,_s,_t,_u,_v;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||adjust(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||adjust(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||mkBorder(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||mkBorder(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||invert(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||invert(this.tertiaryColor),this.lineColor=this.lineColor||invert(this.background),this.arrowheadColor=this.arrowheadColor||invert(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||darken(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||invert(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||lighten(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||darken(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||darken(this.mainBkg,10)):(this.rowOdd=this.rowOdd||lighten(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||lighten(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||adjust(this.primaryColor,{h:30}),this.cScale4=this.cScale4||adjust(this.primaryColor,{h:60}),this.cScale5=this.cScale5||adjust(this.primaryColor,{h:90}),this.cScale6=this.cScale6||adjust(this.primaryColor,{h:120}),this.cScale7=this.cScale7||adjust(this.primaryColor,{h:150}),this.cScale8=this.cScale8||adjust(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||adjust(this.primaryColor,{h:270}),this.cScale10=this.cScale10||adjust(this.primaryColor,{h:300}),this.cScale11=this.cScale11||adjust(this.primaryColor,{h:330}),this.darkMode)for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],75);else for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],25);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;const multiplier=this.darkMode?-4:-1;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(5+3*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(8+3*i2)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||adjust(this.primaryColor,{h:64}),this.fillType3=this.fillType3||adjust(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||adjust(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||adjust(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||adjust(this.primaryColor,{h:128}),this.fillType7=this.fillType7||adjust(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||adjust(this.primaryColor,{l:-10}),this.pie5=this.pie5||adjust(this.secondaryColor,{l:-10}),this.pie6=this.pie6||adjust(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||adjust(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||adjust(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||adjust(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||adjust(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||adjust(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||adjust(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??adjust(this.primaryColor,{l:-30}),this.venn2=this.venn2??adjust(this.secondaryColor,{l:-30}),this.venn3=this.venn3??adjust(this.tertiaryColor,{l:-30}),this.venn4=this.venn4??adjust(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??adjust(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??adjust(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??adjust(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??adjust(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.radar={axisColor:(null==(_a2=this.radar)?void 0:_a2.axisColor)||this.lineColor,axisStrokeWidth:(null==(_b2=this.radar)?void 0:_b2.axisStrokeWidth)||2,axisLabelFontSize:(null==(_c2=this.radar)?void 0:_c2.axisLabelFontSize)||12,curveOpacity:(null==(_d2=this.radar)?void 0:_d2.curveOpacity)||.5,curveStrokeWidth:(null==(_e3=this.radar)?void 0:_e3.curveStrokeWidth)||2,graticuleColor:(null==(_f2=this.radar)?void 0:_f2.graticuleColor)||"#DEDEDE",graticuleStrokeWidth:(null==(_g2=this.radar)?void 0:_g2.graticuleStrokeWidth)||1,graticuleOpacity:(null==(_h2=this.radar)?void 0:_h2.graticuleOpacity)||.3,legendBoxSize:(null==(_i2=this.radar)?void 0:_i2.legendBoxSize)||12,legendFontSize:(null==(_j2=this.radar)?void 0:_j2.legendFontSize)||12},this.archEdgeColor=this.archEdgeColor||"#777",this.archEdgeArrowColor=this.archEdgeArrowColor||"#777",this.archEdgeWidth=this.archEdgeWidth||"3",this.archGroupBorderColor=this.archGroupBorderColor||"#000",this.archGroupBorderWidth=this.archGroupBorderWidth||"2px",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_k2=this.xyChart)?void 0:_k2.backgroundColor)||this.background,titleColor:(null==(_l2=this.xyChart)?void 0:_l2.titleColor)||this.primaryTextColor,dataLabelColor:(null==(_m2=this.xyChart)?void 0:_m2.dataLabelColor)||this.primaryTextColor,xAxisTitleColor:(null==(_n2=this.xyChart)?void 0:_n2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_o2=this.xyChart)?void 0:_o2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_p2=this.xyChart)?void 0:_p2.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_q=this.xyChart)?void 0:_q.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_r=this.xyChart)?void 0:_r.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_s=this.xyChart)?void 0:_s.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_t=this.xyChart)?void 0:_t.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_u=this.xyChart)?void 0:_u.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_v=this.xyChart)?void 0:_v.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||adjust(this.primaryColor,{h:-30}),this.git4=this.git4||adjust(this.primaryColor,{h:-60}),this.git5=this.git5||adjust(this.primaryColor,{h:-90}),this.git6=this.git6||adjust(this.primaryColor,{h:60}),this.git7=this.git7||adjust(this.primaryColor,{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2",this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_b),getThemeVariables=__name(userOverrides=>{const theme=new Theme;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme2=(__name(_c=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=lighten(this.primaryColor,16),this.tertiaryColor=adjust(this.primaryColor,{h:-160}),this.primaryBorderColor=invert(this.background),this.secondaryBorderColor=mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=mkBorder(this.tertiaryColor,this.darkMode),this.primaryTextColor=invert(this.primaryColor),this.secondaryTextColor=invert(this.secondaryColor),this.tertiaryTextColor=invert(this.tertiaryColor),this.lineColor=invert(this.background),this.textColor=invert(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=lighten(invert("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=rgba$1(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=darken("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=darken(this.sectionBkgColor,10),this.taskBorderColor=rgba$1(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=rgba$1(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||lighten(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||darken(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2,_l2,_m2,_n2,_o2,_p2,_q,_r,_s,_t,_u,_v;this.secondBkg=lighten(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=lighten(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=lighten(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=invert(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=adjust(this.primaryColor,{h:64}),this.fillType3=adjust(this.secondaryColor,{h:64}),this.fillType4=adjust(this.primaryColor,{h:-64}),this.fillType5=adjust(this.secondaryColor,{h:-64}),this.fillType6=adjust(this.primaryColor,{h:128}),this.fillType7=adjust(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||adjust(this.primaryColor,{h:30}),this.cScale4=this.cScale4||adjust(this.primaryColor,{h:60}),this.cScale5=this.cScale5||adjust(this.primaryColor,{h:90}),this.cScale6=this.cScale6||adjust(this.primaryColor,{h:120}),this.cScale7=this.cScale7||adjust(this.primaryColor,{h:150}),this.cScale8=this.cScale8||adjust(this.primaryColor,{h:210}),this.cScale9=this.cScale9||adjust(this.primaryColor,{h:270}),this.cScale10=this.cScale10||adjust(this.primaryColor,{h:300}),this.cScale11=this.cScale11||adjust(this.primaryColor,{h:330});for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10);for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:30,s:-30,l:-(4*i2-10)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:30,s:-30,l:-(4*i2-7)});this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["pie"+i2]=this["cScale"+i2];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.mainContrastColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.mainContrastColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let i2=0;i2<8;i2++)this["venn"+(i2+1)]=this["venn"+(i2+1)]??lighten(this["cScale"+i2],30);this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,dataLabelColor:(null==(_c2=this.xyChart)?void 0:_c2.dataLabelColor)||this.primaryTextColor,xAxisTitleColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_g2=this.xyChart)?void 0:_g2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_k2=this.xyChart)?void 0:_k2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_l2=this.xyChart)?void 0:_l2.plotColorPalette)||"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22"},this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.background},this.radar={axisColor:(null==(_m2=this.radar)?void 0:_m2.axisColor)||this.lineColor,axisStrokeWidth:(null==(_n2=this.radar)?void 0:_n2.axisStrokeWidth)||2,axisLabelFontSize:(null==(_o2=this.radar)?void 0:_o2.axisLabelFontSize)||12,curveOpacity:(null==(_p2=this.radar)?void 0:_p2.curveOpacity)||.5,curveStrokeWidth:(null==(_q=this.radar)?void 0:_q.curveStrokeWidth)||2,graticuleColor:(null==(_r=this.radar)?void 0:_r.graticuleColor)||"#DEDEDE",graticuleStrokeWidth:(null==(_s=this.radar)?void 0:_s.graticuleStrokeWidth)||1,graticuleOpacity:(null==(_t=this.radar)?void 0:_t.graticuleOpacity)||.3,legendBoxSize:(null==(_u=this.radar)?void 0:_u.legendBoxSize)||12,legendFontSize:(null==(_v=this.radar)?void 0:_v.legendFontSize)||12},this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=lighten(this.secondaryColor,20),this.git1=lighten(this.pie2||this.secondaryColor,20),this.git2=lighten(this.pie3||this.tertiaryColor,20),this.git3=lighten(this.pie4||adjust(this.primaryColor,{h:-30}),20),this.git4=lighten(this.pie5||adjust(this.primaryColor,{h:-60}),20),this.git5=lighten(this.pie6||adjust(this.primaryColor,{h:-90}),10),this.git6=lighten(this.pie7||adjust(this.primaryColor,{h:60}),10),this.git7=lighten(this.pie8||adjust(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||invert(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||invert(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||lighten(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||lighten(this.background,2),this.nodeBorder=this.nodeBorder||"#999"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_c),getThemeVariables2=__name(userOverrides=>{const theme=new Theme2;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme3=(__name(_d=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=adjust(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=adjust(this.primaryColor,{h:-160}),this.primaryBorderColor=mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=mkBorder(this.tertiaryColor,this.darkMode),this.primaryTextColor=invert(this.primaryColor),this.secondaryTextColor=invert(this.secondaryColor),this.tertiaryTextColor=invert(this.tertiaryColor),this.lineColor=invert(this.background),this.textColor=invert(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=mkBorder(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=rgba$1(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2,_l2,_m2,_n2,_o2,_p2,_q,_r,_s,_t,_u,_v;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||adjust(this.primaryColor,{h:30}),this.cScale4=this.cScale4||adjust(this.primaryColor,{h:60}),this.cScale5=this.cScale5||adjust(this.primaryColor,{h:90}),this.cScale6=this.cScale6||adjust(this.primaryColor,{h:120}),this.cScale7=this.cScale7||adjust(this.primaryColor,{h:150}),this.cScale8=this.cScale8||adjust(this.primaryColor,{h:210}),this.cScale9=this.cScale9||adjust(this.primaryColor,{h:270}),this.cScale10=this.cScale10||adjust(this.primaryColor,{h:300}),this.cScale11=this.cScale11||adjust(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||darken(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||darken(this.tertiaryColor,40);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],10),this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],25);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||adjust(this["cScale"+i2],{h:180});for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:30,l:-(5+5*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:30,l:-(7+5*i2)});if(this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,"calculated"!==this.labelTextColor){this.cScaleLabel0=this.cScaleLabel0||invert(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||invert(this.labelTextColor);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.rowOdd=this.rowOdd||lighten(this.primaryColor,75)||"#ffffff",this.rowEven=this.rowEven||lighten(this.primaryColor,1),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=adjust(this.primaryColor,{h:64}),this.fillType3=adjust(this.secondaryColor,{h:64}),this.fillType4=adjust(this.primaryColor,{h:-64}),this.fillType5=adjust(this.secondaryColor,{h:-64}),this.fillType6=adjust(this.primaryColor,{h:128}),this.fillType7=adjust(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||adjust(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||adjust(this.primaryColor,{l:-10}),this.pie5=this.pie5||adjust(this.secondaryColor,{l:-30}),this.pie6=this.pie6||adjust(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||adjust(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||adjust(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||adjust(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||adjust(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||adjust(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||adjust(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??adjust(this.primaryColor,{l:-30}),this.venn2=this.venn2??adjust(this.secondaryColor,{l:-30}),this.venn3=this.venn3??adjust(this.tertiaryColor,{l:-40}),this.venn4=this.venn4??adjust(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??adjust(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??adjust(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??adjust(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??adjust(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.radar={axisColor:(null==(_a2=this.radar)?void 0:_a2.axisColor)||this.lineColor,axisStrokeWidth:(null==(_b2=this.radar)?void 0:_b2.axisStrokeWidth)||2,axisLabelFontSize:(null==(_c2=this.radar)?void 0:_c2.axisLabelFontSize)||12,curveOpacity:(null==(_d2=this.radar)?void 0:_d2.curveOpacity)||.5,curveStrokeWidth:(null==(_e3=this.radar)?void 0:_e3.curveStrokeWidth)||2,graticuleColor:(null==(_f2=this.radar)?void 0:_f2.graticuleColor)||"#DEDEDE",graticuleStrokeWidth:(null==(_g2=this.radar)?void 0:_g2.graticuleStrokeWidth)||1,graticuleOpacity:(null==(_h2=this.radar)?void 0:_h2.graticuleOpacity)||.3,legendBoxSize:(null==(_i2=this.radar)?void 0:_i2.legendBoxSize)||12,legendFontSize:(null==(_j2=this.radar)?void 0:_j2.legendFontSize)||12},this.xyChart={backgroundColor:(null==(_k2=this.xyChart)?void 0:_k2.backgroundColor)||this.background,titleColor:(null==(_l2=this.xyChart)?void 0:_l2.titleColor)||this.primaryTextColor,dataLabelColor:(null==(_m2=this.xyChart)?void 0:_m2.dataLabelColor)||this.primaryTextColor,xAxisTitleColor:(null==(_n2=this.xyChart)?void 0:_n2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_o2=this.xyChart)?void 0:_o2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_p2=this.xyChart)?void 0:_p2.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_q=this.xyChart)?void 0:_q.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_r=this.xyChart)?void 0:_r.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_s=this.xyChart)?void 0:_s.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_t=this.xyChart)?void 0:_t.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_u=this.xyChart)?void 0:_u.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_v=this.xyChart)?void 0:_v.plotColorPalette)||"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||adjust(this.primaryColor,{h:-30}),this.git4=this.git4||adjust(this.primaryColor,{h:-60}),this.git5=this.git5||adjust(this.primaryColor,{h:-90}),this.git6=this.git6||adjust(this.primaryColor,{h:60}),this.git7=this.git7||adjust(this.primaryColor,{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||darken(invert(this.git0),25),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||invert(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||invert(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if(Object.keys(this).forEach(k2=>{"calculated"===this[k2]&&(this[k2]=void 0)}),"object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_d),getThemeVariables3=__name(userOverrides=>{const theme=new Theme3;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme4=(__name(_e2=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=lighten("#cde498",10),this.primaryBorderColor=mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=mkBorder(this.tertiaryColor,this.darkMode),this.primaryTextColor=invert(this.primaryColor),this.secondaryTextColor=invert(this.secondaryColor),this.tertiaryTextColor=invert(this.primaryColor),this.lineColor=invert(this.background),this.textColor=invert(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2,_l2,_m2,_n2,_o2,_p2,_q,_r,_s,_t,_u,_v;this.actorBorder=darken(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||adjust(this.primaryColor,{h:30}),this.cScale4=this.cScale4||adjust(this.primaryColor,{h:60}),this.cScale5=this.cScale5||adjust(this.primaryColor,{h:90}),this.cScale6=this.cScale6||adjust(this.primaryColor,{h:120}),this.cScale7=this.cScale7||adjust(this.primaryColor,{h:150}),this.cScale8=this.cScale8||adjust(this.primaryColor,{h:210}),this.cScale9=this.cScale9||adjust(this.primaryColor,{h:270}),this.cScale10=this.cScale10||adjust(this.primaryColor,{h:300}),this.cScale11=this.cScale11||adjust(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||darken(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||darken(this.tertiaryColor,40);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],10),this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],25);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||adjust(this["cScale"+i2],{h:180});this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:30,s:-30,l:-(5+5*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:30,s:-30,l:-(8+5*i2)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.rowOdd=this.rowOdd||lighten(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||lighten(this.mainBkg,20),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=adjust(this.primaryColor,{h:64}),this.fillType3=adjust(this.secondaryColor,{h:64}),this.fillType4=adjust(this.primaryColor,{h:-64}),this.fillType5=adjust(this.secondaryColor,{h:-64}),this.fillType6=adjust(this.primaryColor,{h:128}),this.fillType7=adjust(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||adjust(this.primaryColor,{l:-30}),this.pie5=this.pie5||adjust(this.secondaryColor,{l:-30}),this.pie6=this.pie6||adjust(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||adjust(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||adjust(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||adjust(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||adjust(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||adjust(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||adjust(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??adjust(this.primaryColor,{l:-30}),this.venn2=this.venn2??adjust(this.secondaryColor,{l:-30}),this.venn3=this.venn3??adjust(this.tertiaryColor,{l:-30}),this.venn4=this.venn4??adjust(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??adjust(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??adjust(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??adjust(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??adjust(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.mainBkg},this.radar={axisColor:(null==(_a2=this.radar)?void 0:_a2.axisColor)||this.lineColor,axisStrokeWidth:(null==(_b2=this.radar)?void 0:_b2.axisStrokeWidth)||2,axisLabelFontSize:(null==(_c2=this.radar)?void 0:_c2.axisLabelFontSize)||12,curveOpacity:(null==(_d2=this.radar)?void 0:_d2.curveOpacity)||.5,curveStrokeWidth:(null==(_e3=this.radar)?void 0:_e3.curveStrokeWidth)||2,graticuleColor:(null==(_f2=this.radar)?void 0:_f2.graticuleColor)||"#DEDEDE",graticuleStrokeWidth:(null==(_g2=this.radar)?void 0:_g2.graticuleStrokeWidth)||1,graticuleOpacity:(null==(_h2=this.radar)?void 0:_h2.graticuleOpacity)||.3,legendBoxSize:(null==(_i2=this.radar)?void 0:_i2.legendBoxSize)||12,legendFontSize:(null==(_j2=this.radar)?void 0:_j2.legendFontSize)||12},this.xyChart={backgroundColor:(null==(_k2=this.xyChart)?void 0:_k2.backgroundColor)||this.background,titleColor:(null==(_l2=this.xyChart)?void 0:_l2.titleColor)||this.primaryTextColor,dataLabelColor:(null==(_m2=this.xyChart)?void 0:_m2.dataLabelColor)||this.primaryTextColor,xAxisTitleColor:(null==(_n2=this.xyChart)?void 0:_n2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_o2=this.xyChart)?void 0:_o2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_p2=this.xyChart)?void 0:_p2.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_q=this.xyChart)?void 0:_q.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_r=this.xyChart)?void 0:_r.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_s=this.xyChart)?void 0:_s.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_t=this.xyChart)?void 0:_t.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_u=this.xyChart)?void 0:_u.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_v=this.xyChart)?void 0:_v.plotColorPalette)||"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||adjust(this.primaryColor,{h:-30}),this.git4=this.git4||adjust(this.primaryColor,{h:-60}),this.git5=this.git5||adjust(this.primaryColor,{h:-90}),this.git6=this.git6||adjust(this.primaryColor,{h:60}),this.git7=this.git7||adjust(this.primaryColor,{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||invert(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||invert(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_e2),getThemeVariables4=__name(userOverrides=>{const theme=new Theme4;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme5=(__name(_f=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=lighten(this.contrast,55),this.background="#ffffff",this.tertiaryColor=adjust(this.primaryColor,{h:-160}),this.primaryBorderColor=mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=mkBorder(this.tertiaryColor,this.darkMode),this.primaryTextColor=invert(this.primaryColor),this.secondaryTextColor=invert(this.secondaryColor),this.tertiaryTextColor=invert(this.tertiaryColor),this.lineColor=invert(this.background),this.textColor=invert(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||lighten(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2,_l2,_m2,_n2,_o2,_p2,_q,_r,_s,_t,_u,_v;this.secondBkg=lighten(this.contrast,55),this.border2=this.contrast,this.actorBorder=lighten(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{l:-(5+5*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{l:-(8+5*i2)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.sectionBkgColor=lighten(this.contrast,30),this.sectionBkgColor2=lighten(this.contrast,30),this.taskBorderColor=darken(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=lighten(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=darken(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.vertLineColor=this.critBkgColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||"#000",this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=adjust(this.primaryColor,{h:64}),this.fillType3=adjust(this.secondaryColor,{h:64}),this.fillType4=adjust(this.primaryColor,{h:-64}),this.fillType5=adjust(this.secondaryColor,{h:-64}),this.fillType6=adjust(this.primaryColor,{h:128}),this.fillType7=adjust(this.secondaryColor,{h:128});for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["pie"+i2]=this["cScale"+i2];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let i2=0;i2<8;i2++)this["venn"+(i2+1)]=this["venn"+(i2+1)]??this["cScale"+i2];this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,dataLabelColor:(null==(_c2=this.xyChart)?void 0:_c2.dataLabelColor)||this.primaryTextColor,xAxisTitleColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_g2=this.xyChart)?void 0:_g2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_k2=this.xyChart)?void 0:_k2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_l2=this.xyChart)?void 0:_l2.plotColorPalette)||"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0"},this.radar={axisColor:(null==(_m2=this.radar)?void 0:_m2.axisColor)||this.lineColor,axisStrokeWidth:(null==(_n2=this.radar)?void 0:_n2.axisStrokeWidth)||2,axisLabelFontSize:(null==(_o2=this.radar)?void 0:_o2.axisLabelFontSize)||12,curveOpacity:(null==(_p2=this.radar)?void 0:_p2.curveOpacity)||.5,curveStrokeWidth:(null==(_q=this.radar)?void 0:_q.curveStrokeWidth)||2,graticuleColor:(null==(_r=this.radar)?void 0:_r.graticuleColor)||"#DEDEDE",graticuleStrokeWidth:(null==(_s=this.radar)?void 0:_s.graticuleStrokeWidth)||1,graticuleOpacity:(null==(_t=this.radar)?void 0:_t.graticuleOpacity)||.3,legendBoxSize:(null==(_u=this.radar)?void 0:_u.legendBoxSize)||12,legendFontSize:(null==(_v=this.radar)?void 0:_v.legendFontSize)||12},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=darken(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||adjust(this.primaryColor,{h:-30}),this.git4=this.pie5||adjust(this.primaryColor,{h:-60}),this.git5=this.pie6||adjust(this.primaryColor,{h:-90}),this.git6=this.pie7||adjust(this.primaryColor,{h:60}),this.git7=this.pie8||adjust(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_f),getThemeVariables5=__name(userOverrides=>{const theme=new Theme5;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme6=(__name(_g=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=mkBorder(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||adjust(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||adjust(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||mkBorder(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||mkBorder(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||invert(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||invert(this.tertiaryColor),this.lineColor=this.lineColor||invert(this.background),this.arrowheadColor=this.arrowheadColor||invert(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||darken(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||invert(this.lineColor);const tertiaryColor=adjust("#ECECFE",{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||"#E9E9F1",this.sectionBkgColor2=this.sectionBkgColor2||"#ECECFE",this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||"#ECECFE",this.activeTaskBorderColor=this.activeTaskBorderColor||"#ECECFE",this.activeTaskBkgColor=this.activeTaskBkgColor||lighten("#ECECFE",23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#ECECFE",this.cScale1=this.cScale1||"#E9E9F1",this.cScale2=this.cScale2||tertiaryColor,this.cScale3=this.cScale3||adjust("#ECECFE",{h:30}),this.cScale4=this.cScale4||adjust("#ECECFE",{h:60}),this.cScale5=this.cScale5||adjust("#ECECFE",{h:90}),this.cScale6=this.cScale6||adjust("#ECECFE",{h:120}),this.cScale7=this.cScale7||adjust("#ECECFE",{h:150}),this.cScale8=this.cScale8||adjust("#ECECFE",{h:210,l:150}),this.cScale9=this.cScale9||adjust("#ECECFE",{h:270}),this.cScale10=this.cScale10||adjust("#ECECFE",{h:300}),this.cScale11=this.cScale11||adjust("#ECECFE",{h:330}),this.darkMode)for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],75);else for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],25);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;const multiplier=this.darkMode?-4:-1;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(5+3*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(8+3*i2)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||"#ECECFE",this.fillType1=this.fillType1||"#E9E9F1",this.fillType2=this.fillType2||adjust("#ECECFE",{h:64}),this.fillType3=this.fillType3||adjust("#E9E9F1",{h:64}),this.fillType4=this.fillType4||adjust("#ECECFE",{h:-64}),this.fillType5=this.fillType5||adjust("#E9E9F1",{h:-64}),this.fillType6=this.fillType6||adjust("#ECECFE",{h:128}),this.fillType7=this.fillType7||adjust("#E9E9F1",{h:128}),this.pie1=this.pie1||"#ECECFE",this.pie2=this.pie2||"#E9E9F1",this.pie3=this.pie3||tertiaryColor,this.pie4=this.pie4||adjust("#ECECFE",{l:-10}),this.pie5=this.pie5||adjust("#E9E9F1",{l:-10}),this.pie6=this.pie6||adjust(tertiaryColor,{l:-10}),this.pie7=this.pie7||adjust("#ECECFE",{h:60,l:-10}),this.pie8=this.pie8||adjust("#ECECFE",{h:-60,l:-10}),this.pie9=this.pie9||adjust("#ECECFE",{h:120,l:0}),this.pie10=this.pie10||adjust("#ECECFE",{h:60,l:-20}),this.pie11=this.pie11||adjust("#ECECFE",{h:-60,l:-20}),this.pie12=this.pie12||adjust("#ECECFE",{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||"#ECECFE",this.quadrant2Fill=this.quadrant2Fill||adjust("#ECECFE",{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust("#ECECFE",{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust("#ECECFE",{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(_c2=this.xyChart)?void 0:_c2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_g2=this.xyChart)?void 0:_g2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_k2=this.xyChart)?void 0:_k2.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||"#ECECFE",this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||"#ECECFE",this.git1=this.git1||"#E9E9F1",this.git2=this.git2||tertiaryColor,this.git3=this.git3||adjust("#ECECFE",{h:-30}),this.git4=this.git4||adjust("#ECECFE",{h:-60}),this.git5=this.git5||adjust("#ECECFE",{h:-90}),this.git6=this.git6||adjust("#ECECFE",{h:60}),this.git7=this.git7||adjust("#ECECFE",{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_g),getThemeVariables6=__name(userOverrides=>{const theme=new Theme6;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme7=(__name(_h=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=lighten(this.primaryColor,16),this.tertiaryColor=adjust(this.primaryColor,{h:-160}),this.primaryBorderColor=invert(this.background),this.secondaryBorderColor=mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=mkBorder(this.tertiaryColor,this.darkMode),this.primaryTextColor=invert(this.primaryColor),this.secondaryTextColor=invert(this.secondaryColor),this.tertiaryTextColor=invert(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=lighten(invert("#323D47"),10),this.border1="#ccc",this.border2=rgba$1(255,255,255,.25),this.arrowheadColor=invert(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||adjust(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||adjust(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||mkBorder(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||mkBorder(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||invert(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||invert(this.tertiaryColor),this.lineColor=this.lineColor||invert(this.background),this.arrowheadColor=this.arrowheadColor||invert(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||darken(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||invert(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||lighten(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||adjust(this.primaryColor,{h:30}),this.cScale4=this.cScale4||adjust(this.primaryColor,{h:60}),this.cScale5=this.cScale5||adjust(this.primaryColor,{h:90}),this.cScale6=this.cScale6||adjust(this.primaryColor,{h:120}),this.cScale7=this.cScale7||adjust(this.primaryColor,{h:150}),this.cScale8=this.cScale8||adjust(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||adjust(this.primaryColor,{h:270}),this.cScale10=this.cScale10||adjust(this.primaryColor,{h:300}),this.cScale11=this.cScale11||adjust(this.primaryColor,{h:330}),this.darkMode)for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],75);else for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],25);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;const multiplier=this.darkMode?-4:-1;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(5+3*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(8+3*i2)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||adjust(this.primaryColor,{h:64}),this.fillType3=this.fillType3||adjust(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||adjust(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||adjust(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||adjust(this.primaryColor,{h:128}),this.fillType7=this.fillType7||adjust(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||adjust(this.primaryColor,{l:-10}),this.pie5=this.pie5||adjust(this.secondaryColor,{l:-10}),this.pie6=this.pie6||adjust(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||adjust(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||adjust(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||adjust(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||adjust(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||adjust(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||adjust(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(_c2=this.xyChart)?void 0:_c2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_g2=this.xyChart)?void 0:_g2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_k2=this.xyChart)?void 0:_k2.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||"#0b0000",this.git1=this.git1||"#4d1037",this.git2=this.git2||"#3f5258",this.git3=this.git3||"#4f2f1b",this.git4=this.git4||"#6e0a0a",this.git5=this.git5||"#3b0048",this.git6=this.git6||"#995a01",this.git7=this.git7||"#154706",this.gitDarkMode=!0,this.gitDarkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_h),getThemeVariables7=__name(userOverrides=>{const theme=new Theme7;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme8=(__name(_i=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=mkBorder("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||adjust(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||adjust(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||mkBorder(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||mkBorder(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||invert(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||invert(this.tertiaryColor),this.lineColor=this.lineColor||invert(this.background),this.arrowheadColor=this.arrowheadColor||invert(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||darken(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||invert(this.lineColor);const tertiaryColor=adjust("#ECECFE",{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||"#E9E9F1",this.sectionBkgColor2=this.sectionBkgColor2||"#ECECFE",this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||"#ECECFE",this.activeTaskBorderColor=this.activeTaskBorderColor||"#ECECFE",this.activeTaskBkgColor=this.activeTaskBkgColor||lighten("#ECECFE",23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=this.mainBkg;if(this.darkMode)for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],75);else for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],25);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;const multiplier=this.darkMode?-4:-1;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(5+3*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(8+3*i2)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||"#ECECFE",this.fillType1=this.fillType1||"#E9E9F1",this.fillType2=this.fillType2||adjust("#ECECFE",{h:64}),this.fillType3=this.fillType3||adjust("#E9E9F1",{h:64}),this.fillType4=this.fillType4||adjust("#ECECFE",{h:-64}),this.fillType5=this.fillType5||adjust("#E9E9F1",{h:-64}),this.fillType6=this.fillType6||adjust("#ECECFE",{h:128}),this.fillType7=this.fillType7||adjust("#E9E9F1",{h:128}),this.pie1=this.pie1||"#ECECFE",this.pie2=this.pie2||"#E9E9F1",this.pie3=this.pie3||tertiaryColor,this.pie4=this.pie4||adjust("#ECECFE",{l:-10}),this.pie5=this.pie5||adjust("#E9E9F1",{l:-10}),this.pie6=this.pie6||adjust(tertiaryColor,{l:-10}),this.pie7=this.pie7||adjust("#ECECFE",{h:60,l:-10}),this.pie8=this.pie8||adjust("#ECECFE",{h:-60,l:-10}),this.pie9=this.pie9||adjust("#ECECFE",{h:120,l:0}),this.pie10=this.pie10||adjust("#ECECFE",{h:60,l:-20}),this.pie11=this.pie11||adjust("#ECECFE",{h:-60,l:-20}),this.pie12=this.pie12||adjust("#ECECFE",{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||"#ECECFE",this.quadrant2Fill=this.quadrant2Fill||adjust("#ECECFE",{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust("#ECECFE",{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust("#ECECFE",{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(_c2=this.xyChart)?void 0:_c2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_g2=this.xyChart)?void 0:_g2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_k2=this.xyChart)?void 0:_k2.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||"#ECECFE",this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#FFFFFF",this.git0=this.git0||"#ECECFE",this.git1=this.git1||"#E9E9F1",this.git2=this.git2||tertiaryColor,this.git3=this.git3||adjust("#ECECFE",{h:-30}),this.git4=this.git4||adjust("#ECECFE",{h:-60}),this.git5=this.git5||adjust("#ECECFE",{h:-90}),this.git6=this.git6||adjust("#ECECFE",{h:60}),this.git7=this.git7||adjust("#ECECFE",{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.erEdgeLabelBackground="#FFFFFF",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_i),getThemeVariables8=__name(userOverrides=>{const theme=new Theme8;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme9=(__name(_j=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=lighten(this.primaryColor,16),this.tertiaryColor=adjust(this.primaryColor,{h:-160}),this.primaryBorderColor=invert(this.background),this.secondaryBorderColor=mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=mkBorder(this.tertiaryColor,this.darkMode),this.primaryTextColor=invert(this.primaryColor),this.secondaryTextColor=invert(this.secondaryColor),this.tertiaryTextColor=invert(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=lighten(invert("#323D47"),10),this.border1="#ccc",this.border2=rgba$1(255,255,255,.25),this.arrowheadColor=invert(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||adjust(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||adjust(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||mkBorder(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||mkBorder(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||invert(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||invert(this.tertiaryColor),this.lineColor=this.lineColor||invert(this.background),this.arrowheadColor=this.arrowheadColor||invert(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||darken(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||invert(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||lighten(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||adjust(this.primaryColor,{h:30}),this.cScale4=this.cScale4||adjust(this.primaryColor,{h:60}),this.cScale5=this.cScale5||adjust(this.primaryColor,{h:90}),this.cScale6=this.cScale6||adjust(this.primaryColor,{h:120}),this.cScale7=this.cScale7||adjust(this.primaryColor,{h:150}),this.cScale8=this.cScale8||adjust(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||adjust(this.primaryColor,{h:270}),this.cScale10=this.cScale10||adjust(this.primaryColor,{h:300}),this.cScale11=this.cScale11||adjust(this.primaryColor,{h:330}),this.darkMode)for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],75);else for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],25);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;const multiplier=this.darkMode?-4:-1;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(5+3*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(8+3*i2)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||adjust(this.primaryColor,{h:64}),this.fillType3=this.fillType3||adjust(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||adjust(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||adjust(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||adjust(this.primaryColor,{h:128}),this.fillType7=this.fillType7||adjust(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||adjust(this.primaryColor,{l:-10}),this.pie5=this.pie5||adjust(this.secondaryColor,{l:-10}),this.pie6=this.pie6||adjust(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||adjust(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||adjust(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||adjust(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||adjust(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||adjust(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||adjust(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(_c2=this.xyChart)?void 0:_c2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_g2=this.xyChart)?void 0:_g2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_k2=this.xyChart)?void 0:_k2.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#16141F",this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||adjust(this.primaryColor,{h:-30}),this.git4=this.git4||adjust(this.primaryColor,{h:-60}),this.git5=this.git5||adjust(this.primaryColor,{h:-90}),this.git6=this.git6||adjust(this.primaryColor,{h:60}),this.git7=this.git7||adjust(this.primaryColor,{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.erEdgeLabelBackground="#16141F",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_j),getThemeVariables9=__name(userOverrides=>{const theme=new Theme9;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme10=(__name(_k=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=mkBorder(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||adjust(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||adjust(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||mkBorder(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||mkBorder(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||invert(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||invert(this.tertiaryColor),this.lineColor=this.lineColor||invert(this.background),this.arrowheadColor=this.arrowheadColor||invert(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||darken(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||invert(this.lineColor);const tertiaryColor=adjust("#ECECFE",{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||"#E9E9F1",this.sectionBkgColor2=this.sectionBkgColor2||"#ECECFE",this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||"#ECECFE",this.activeTaskBorderColor=this.activeTaskBorderColor||"#ECECFE",this.activeTaskBkgColor=this.activeTaskBkgColor||lighten("#ECECFE",23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;const multiplier=this.darkMode?-4:-1;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(5+3*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(8+3*i2)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||"#ECECFE",this.fillType1=this.fillType1||"#E9E9F1",this.fillType2=this.fillType2||adjust("#ECECFE",{h:64}),this.fillType3=this.fillType3||adjust("#E9E9F1",{h:64}),this.fillType4=this.fillType4||adjust("#ECECFE",{h:-64}),this.fillType5=this.fillType5||adjust("#E9E9F1",{h:-64}),this.fillType6=this.fillType6||adjust("#ECECFE",{h:128}),this.fillType7=this.fillType7||adjust("#E9E9F1",{h:128}),this.pie1=this.pie1||"#ECECFE",this.pie2=this.pie2||"#E9E9F1",this.pie3=this.pie3||tertiaryColor,this.pie4=this.pie4||adjust("#ECECFE",{l:-10}),this.pie5=this.pie5||adjust("#E9E9F1",{l:-10}),this.pie6=this.pie6||adjust(tertiaryColor,{l:-10}),this.pie7=this.pie7||adjust("#ECECFE",{h:60,l:-10}),this.pie8=this.pie8||adjust("#ECECFE",{h:-60,l:-10}),this.pie9=this.pie9||adjust("#ECECFE",{h:120,l:0}),this.pie10=this.pie10||adjust("#ECECFE",{h:60,l:-20}),this.pie11=this.pie11||adjust("#ECECFE",{h:-60,l:-20}),this.pie12=this.pie12||adjust("#ECECFE",{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||"#ECECFE",this.quadrant2Fill=this.quadrant2Fill||adjust("#ECECFE",{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust("#ECECFE",{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust("#ECECFE",{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(_c2=this.xyChart)?void 0:_c2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_g2=this.xyChart)?void 0:_g2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_k2=this.xyChart)?void 0:_k2.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||"#ECECFE",this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||"#ECECFE",this.git1=this.git1||"#E9E9F1",this.git2=this.git2||tertiaryColor,this.git3=this.git3||adjust("#ECECFE",{h:-30}),this.git4=this.git4||adjust("#ECECFE",{h:-60}),this.git5=this.git5||adjust("#ECECFE",{h:-90}),this.git6=this.git6||adjust("#ECECFE",{h:60}),this.git7=this.git7||adjust("#ECECFE",{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLineColor=this.commitLineColor??"#BDBCCC",this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.fontWeight=600,this.erEdgeLabelBackground="#FFFFFF",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_k),getThemeVariables10=__name(userOverrides=>{const theme=new Theme10;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme11=(__name(_l=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=lighten(this.primaryColor,16),this.tertiaryColor=adjust(this.primaryColor,{h:-160}),this.primaryBorderColor=invert(this.background),this.secondaryBorderColor=mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=mkBorder(this.tertiaryColor,this.darkMode),this.primaryTextColor=invert(this.primaryColor),this.secondaryTextColor=invert(this.secondaryColor),this.tertiaryTextColor=invert(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=lighten(invert("#323D47"),10),this.border1="#ccc",this.border2=rgba$1(255,255,255,.25),this.arrowheadColor=invert(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||adjust(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||adjust(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||mkBorder(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||mkBorder(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||invert(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||invert(this.tertiaryColor),this.lineColor=this.lineColor||invert(this.background),this.arrowheadColor=this.arrowheadColor||invert(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||darken(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||invert(this.lineColor),this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||lighten(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=darken(this["cScale"+i2],75);const multiplier=this.darkMode?-4:-1;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(5+3*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(8+3*i2)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||adjust(this.primaryColor,{h:64}),this.fillType3=this.fillType3||adjust(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||adjust(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||adjust(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||adjust(this.primaryColor,{h:128}),this.fillType7=this.fillType7||adjust(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||adjust(this.primaryColor,{l:-10}),this.pie5=this.pie5||adjust(this.secondaryColor,{l:-10}),this.pie6=this.pie6||adjust(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||adjust(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||adjust(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||adjust(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||adjust(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||adjust(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||adjust(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(_c2=this.xyChart)?void 0:_c2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_g2=this.xyChart)?void 0:_g2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_k2=this.xyChart)?void 0:_k2.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||adjust(this.primaryColor,{h:-30}),this.git4=this.git4||adjust(this.primaryColor,{h:-60}),this.git5=this.git5||adjust(this.primaryColor,{h:-90}),this.git6=this.git6||adjust(this.primaryColor,{h:60}),this.git7=this.git7||adjust(this.primaryColor,{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.fontWeight=600,this.erEdgeLabelBackground="#16141F",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_l),themes_default={base:{getThemeVariables:getThemeVariables},dark:{getThemeVariables:getThemeVariables2},default:{getThemeVariables:getThemeVariables3},forest:{getThemeVariables:getThemeVariables4},neutral:{getThemeVariables:getThemeVariables5},neo:{getThemeVariables:getThemeVariables6},"neo-dark":{getThemeVariables:getThemeVariables7},redux:{getThemeVariables:getThemeVariables8},"redux-dark":{getThemeVariables:getThemeVariables9},"redux-color":{getThemeVariables:getThemeVariables10},"redux-dark-color":{getThemeVariables:__name(userOverrides=>{const theme=new Theme11;return theme.calculate(userOverrides),theme},"getThemeVariables")}},config_schema_default={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},config={...config_schema_default,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:themes_default.default.getThemeVariables(),sequence:{...config_schema_default.sequence,messageFont:__name(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:__name(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:__name(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...config_schema_default.gantt,tickInterval:void 0,useWidth:void 0},c4:{...config_schema_default.c4,useWidth:void 0,personFont:__name(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...config_schema_default.flowchart,inheritDir:!1},external_personFont:__name(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:__name(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:__name(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:__name(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:__name(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:__name(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:__name(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:__name(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:__name(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:__name(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:__name(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:__name(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:__name(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:__name(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:__name(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:__name(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:__name(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:__name(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:__name(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:__name(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:__name(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...config_schema_default.pie,useWidth:984},xyChart:{...config_schema_default.xyChart,useWidth:void 0},requirement:{...config_schema_default.requirement,useWidth:void 0},packet:{...config_schema_default.packet},treeView:{...config_schema_default.treeView,useWidth:void 0},radar:{...config_schema_default.radar},ishikawa:{...config_schema_default.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...config_schema_default.venn}},keyify=__name((obj,prefix="")=>Object.keys(obj).reduce((res,el)=>Array.isArray(obj[el])?res:"object"==typeof obj[el]&&null!==obj[el]?[...res,prefix+el,...keyify(obj[el],"")]:[...res,prefix+el],[]),"keyify"),configKeys=new Set(keyify(config,"")),defaultConfig_default=config,sanitizeDirective=__name(args=>{if(log.debug("sanitizeDirective called with",args),"object"==typeof args&&null!=args)if(Array.isArray(args))args.forEach(arg=>sanitizeDirective(arg));else{for(const key of Object.keys(args)){if(log.debug("Checking key",key),key.startsWith("__")||key.includes("proto")||key.includes("constr")||!configKeys.has(key)||null==args[key]){log.debug("sanitize deleting key: ",key),delete args[key];continue}if("object"==typeof args[key]){log.debug("sanitizing object",key),sanitizeDirective(args[key]);continue}const cssMatchers=["themeCSS","fontFamily","altFontFamily"];for(const cssKey of cssMatchers)key.includes(cssKey)&&(log.debug("sanitizing css option",key),args[key]=sanitizeCss(args[key]))}if(args.themeVariables)for(const k2 of Object.keys(args.themeVariables)){const val=args.themeVariables[k2];(null==val?void 0:val.match)&&!val.match(/^[\d "#%(),.;A-Za-z]+$/)&&(args.themeVariables[k2]="")}log.debug("After sanitization",args)}},"sanitizeDirective"),sanitizeCss=__name(str2=>{let startCnt=0,endCnt=0;for(const element of str2){if(startCnt<endCnt)return"{ /* ERROR: Unbalanced CSS */ }";"{"===element?startCnt++:"}"===element&&endCnt++}return startCnt!==endCnt?"{ /* ERROR: Unbalanced CSS */ }":str2},"sanitizeCss"),defaultConfig=Object.freeze(defaultConfig_default),evaluate=__name(val=>!1!==val&&!["false","null","0"].includes(String(val).trim().toLowerCase()),"evaluate"),siteConfig=assignWithDepth_default({},defaultConfig),directives=[],currentConfig=assignWithDepth_default({},defaultConfig),updateCurrentConfig=__name((siteCfg,_directives)=>{let cfg=assignWithDepth_default({},siteCfg),sumOfDirectives={};for(const d2 of _directives)sanitize(d2),sumOfDirectives=assignWithDepth_default(sumOfDirectives,d2);if(cfg=assignWithDepth_default(cfg,sumOfDirectives),sumOfDirectives.theme&&sumOfDirectives.theme in themes_default){const tmpConfigFromInitialize=assignWithDepth_default({},configFromInitialize),themeVariables=assignWithDepth_default(tmpConfigFromInitialize.themeVariables||{},sumOfDirectives.themeVariables);cfg.theme&&cfg.theme in themes_default&&(cfg.themeVariables=themes_default[cfg.theme].getThemeVariables(themeVariables))}return checkConfig(currentConfig=cfg),currentConfig},"updateCurrentConfig"),setSiteConfig=__name(conf=>(siteConfig=assignWithDepth_default({},defaultConfig),siteConfig=assignWithDepth_default(siteConfig,conf),conf.theme&&themes_default[conf.theme]&&(siteConfig.themeVariables=themes_default[conf.theme].getThemeVariables(conf.themeVariables)),updateCurrentConfig(siteConfig,directives),siteConfig),"setSiteConfig"),saveConfigFromInitialize=__name(conf=>{configFromInitialize=assignWithDepth_default({},conf)},"saveConfigFromInitialize"),updateSiteConfig=__name(conf=>(siteConfig=assignWithDepth_default(siteConfig,conf),updateCurrentConfig(siteConfig,directives),siteConfig),"updateSiteConfig"),getSiteConfig=__name(()=>assignWithDepth_default({},siteConfig),"getSiteConfig"),setConfig=__name(conf=>(checkConfig(conf),assignWithDepth_default(currentConfig,conf),getConfig()),"setConfig"),getConfig=__name(()=>assignWithDepth_default({},currentConfig),"getConfig"),sanitize=__name(options=>{options&&(["secure",...siteConfig.secure??[]].forEach(key=>{Object.hasOwn(options,key)&&(log.debug(`Denied attempt to modify a secure key ${key}`,options[key]),delete options[key])}),Object.keys(options).forEach(key=>{key.startsWith("__")&&delete options[key]}),Object.keys(options).forEach(key=>{"string"==typeof options[key]&&(options[key].includes("<")||options[key].includes(">")||options[key].includes("url(data:"))&&delete options[key],"object"==typeof options[key]&&sanitize(options[key])}))},"sanitize"),addDirective=__name(directive=>{var _a2;sanitizeDirective(directive),directive.fontFamily&&!(null==(_a2=directive.themeVariables)?void 0:_a2.fontFamily)&&(directive.themeVariables={...directive.themeVariables,fontFamily:directive.fontFamily}),directives.push(directive),updateCurrentConfig(siteConfig,directives)},"addDirective"),reset=__name((config2=siteConfig)=>{updateCurrentConfig(config2,directives=[])},"reset"),ConfigWarning={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},issuedWarnings={},issueWarning=__name(warning=>{issuedWarnings[warning]||(log.warn(ConfigWarning[warning]),issuedWarnings[warning]=!0)},"issueWarning"),checkConfig=__name(config2=>{config2&&(config2.lazyLoadedDiagrams||config2.loadExternalDiagramsAtStartup)&&issueWarning("LAZY_LOAD_DEPRECATED")},"checkConfig"),getUserDefinedConfig=__name(()=>{let userConfig={};configFromInitialize&&(userConfig=assignWithDepth_default(userConfig,configFromInitialize));for(const d2 of directives)userConfig=assignWithDepth_default(userConfig,d2);return userConfig},"getUserDefinedConfig"),getEffectiveHtmlLabels=__name(config2=>{var _a2,_b2;return null!=(null==(_a2=config2.flowchart)?void 0:_a2.htmlLabels)&&issueWarning("FLOWCHART_HTML_LABELS_DEPRECATED"),evaluate(config2.htmlLabels??(null==(_b2=config2.flowchart)?void 0:_b2.htmlLabels)??!0)},"getEffectiveHtmlLabels"),lineBreakRegex=/<br\s*\/?>/gi,getRows=__name(s2=>{if(!s2)return[""];return breakToPlaceholder(s2).replace(/\\n/g,"#br#").split("#br#")},"getRows"),setupDompurifyHooksIfNotSetup=(()=>{let setup=!1;return()=>{setup||(setupDompurifyHooks(),setup=!0)}})();function setupDompurifyHooks(){purify.addHook("beforeSanitizeAttributes",node=>{"A"===node.tagName&&node.hasAttribute("target")&&node.setAttribute("data-temp-href-target",node.getAttribute("target")??"")}),purify.addHook("afterSanitizeAttributes",node=>{"A"===node.tagName&&node.hasAttribute("data-temp-href-target")&&(node.setAttribute("target",node.getAttribute("data-temp-href-target")??""),node.removeAttribute("data-temp-href-target"),"_blank"===node.getAttribute("target")&&node.setAttribute("rel","noopener"))})}__name(setupDompurifyHooks,"setupDompurifyHooks");var removeScript=__name(txt=>{setupDompurifyHooksIfNotSetup();return purify.sanitize(txt)},"removeScript"),sanitizeMore=__name((text2,config2)=>{if(getEffectiveHtmlLabels(config2)){const level=config2.securityLevel;"antiscript"===level||"strict"===level||"sandbox"===level?text2=removeScript(text2):"loose"!==level&&(text2=(text2=(text2=breakToPlaceholder(text2)).replace(/</g,"&lt;").replace(/>/g,"&gt;")).replace(/=/g,"&equals;"),text2=placeholderToBreak(text2))}return text2},"sanitizeMore"),sanitizeText=__name((text2,config2)=>text2?text2=config2.dompurifyConfig?purify.sanitize(sanitizeMore(text2,config2),config2.dompurifyConfig).toString():purify.sanitize(sanitizeMore(text2,config2),{FORBID_TAGS:["style"]}).toString():text2,"sanitizeText"),sanitizeTextOrArray=__name((a2,config2)=>"string"==typeof a2?sanitizeText(a2,config2):a2.flat().map(x2=>sanitizeText(x2,config2)),"sanitizeTextOrArray"),hasBreaks=__name(text2=>lineBreakRegex.test(text2),"hasBreaks"),splitBreaks=__name(text2=>text2.split(lineBreakRegex),"splitBreaks"),placeholderToBreak=__name(s2=>s2.replace(/#br#/g,"<br/>"),"placeholderToBreak"),breakToPlaceholder=__name(s2=>s2.replace(lineBreakRegex,"#br#"),"breakToPlaceholder"),getUrl=__name(useAbsolute=>{let url="";return useAbsolute&&(url=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,url=CSS.escape(url)),url},"getUrl"),getMax=__name(function(...values){const newValues=values.filter(value=>!isNaN(value));return Math.max(...newValues)},"getMax"),getMin=__name(function(...values){const newValues=values.filter(value=>!isNaN(value));return Math.min(...newValues)},"getMin"),parseGenericTypes=__name(function(input){const inputSets=input.split(/(,)/),output=[];for(let i2=0;i2<inputSets.length;i2++){let thisSet=inputSets[i2];if(","===thisSet&&i2>0&&i2+1<inputSets.length){const previousSet=inputSets[i2-1],nextSet=inputSets[i2+1];shouldCombineSets(previousSet,nextSet)&&(thisSet=previousSet+","+nextSet,i2++,output.pop())}output.push(processSet(thisSet))}return output.join("")},"parseGenericTypes"),countOccurrence=__name((string,substring)=>Math.max(0,string.split(substring).length-1),"countOccurrence"),shouldCombineSets=__name((previousSet,nextSet)=>{const prevCount=countOccurrence(previousSet,"~"),nextCount=countOccurrence(nextSet,"~");return 1===prevCount&&1===nextCount},"shouldCombineSets"),processSet=__name(input=>{const tildeCount=countOccurrence(input,"~");let hasStartingTilde=!1;if(tildeCount<=1)return input;tildeCount%2!=0&&input.startsWith("~")&&(input=input.substring(1),hasStartingTilde=!0);const chars=[...input];let first=chars.indexOf("~"),last=chars.lastIndexOf("~");for(;-1!==first&&-1!==last&&first!==last;)chars[first]="<",chars[last]=">",first=chars.indexOf("~"),last=chars.lastIndexOf("~");return hasStartingTilde&&chars.unshift("~"),chars.join("")},"processSet"),isMathMLSupported=__name(()=>void 0!==window.MathMLElement,"isMathMLSupported"),katexRegex=/\$\$(.*)\$\$/g,hasKatex=__name(text2=>{var _a2;return((null==(_a2=text2.match(katexRegex))?void 0:_a2.length)??0)>0},"hasKatex"),calculateMathMLDimensions=__name(async(text2,config2)=>{const divElem=document.createElement("div");divElem.innerHTML=await renderKatexSanitized(text2,config2),divElem.id="katex-temp",divElem.style.visibility="hidden",divElem.style.position="absolute",divElem.style.top="0";const body=document.querySelector("body");null==body||body.insertAdjacentElement("beforeend",divElem);const dim={width:divElem.clientWidth,height:divElem.clientHeight};return divElem.remove(),dim},"calculateMathMLDimensions"),renderKatexUnsanitized=__name(async(text2,config2)=>{if(!hasKatex(text2))return text2;if(!(isMathMLSupported()||config2.legacyMathML||config2.forceLegacyMathML))return text2.replace(katexRegex,"MathML is unsupported in this environment.");{const{default:katex}=await __vitePreload(async()=>{const{default:katex2}=await import("./katex-DSO9-KAp.js");return{default:katex2}},[]),outputMode=config2.forceLegacyMathML||!isMathMLSupported()&&config2.legacyMathML?"htmlAndMathml":"mathml";return text2.split(lineBreakRegex).map(line2=>hasKatex(line2)?`<div style="display: flex; align-items: center; justify-content: center; white-space: nowrap;">${line2}</div>`:`<div>${line2}</div>`).join("").replace(katexRegex,(_2,c2)=>katex.renderToString(c2,{throwOnError:!0,displayMode:!0,output:outputMode}).replace(/\n/g," ").replace(/<annotation.*<\/annotation>/g,""))}},"renderKatexUnsanitized"),renderKatexSanitized=__name(async(text2,config2)=>sanitizeText(await renderKatexUnsanitized(text2,config2),config2),"renderKatexSanitized"),common_default={getRows:getRows,sanitizeText:sanitizeText,sanitizeTextOrArray:sanitizeTextOrArray,hasBreaks:hasBreaks,splitBreaks:splitBreaks,lineBreakRegex:lineBreakRegex,removeScript:removeScript,getUrl:getUrl,evaluate:evaluate,getMax:getMax,getMin:getMin},d3Attrs=__name(function(d3Elem,attrs){for(let attr of attrs)d3Elem.attr(attr[0],attr[1])},"d3Attrs"),calculateSvgSizeAttrs=__name(function(height,width,useMaxWidth){let attrs=new Map;return useMaxWidth?(attrs.set("width","100%"),attrs.set("style",`max-width: ${width}px;`)):(attrs.set("height",height),attrs.set("width",width)),attrs},"calculateSvgSizeAttrs"),configureSvgSize=__name(function(svgElem,height,width,useMaxWidth){const attrs=calculateSvgSizeAttrs(height,width,useMaxWidth);d3Attrs(svgElem,attrs)},"configureSvgSize"),setupGraphViewbox=__name(function(graph,svgElem,padding,useMaxWidth){const svgBounds=svgElem.node().getBBox(),sWidth=svgBounds.width,sHeight=svgBounds.height;log.info(`SVG bounds: ${sWidth}x${sHeight}`,svgBounds);let width=0,height=0;log.info(`Graph bounds: ${width}x${height}`,graph),width=sWidth+2*padding,height=sHeight+2*padding,log.info(`Calculated bounds: ${width}x${height}`),configureSvgSize(svgElem,height,width,useMaxWidth);const vBox=`${svgBounds.x-padding} ${svgBounds.y-padding} ${svgBounds.width+2*padding} ${svgBounds.height+2*padding}`;svgElem.attr("viewBox",vBox)},"setupGraphViewbox"),themes={},getStyles=__name((type2,userStyles,options,svgId)=>{let diagramStyles="";return type2 in themes&&themes[type2]?diagramStyles=themes[type2]({...options,svgId:svgId}):log.warn(`No theme found for ${type2}`),` & {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n fill: ${options.textColor}\n }\n @keyframes edge-animation-frame {\n from {\n stroke-dashoffset: 0;\n }\n }\n @keyframes dash {\n to {\n stroke-dashoffset: 0;\n }\n }\n & .edge-animation-slow {\n stroke-dasharray: 9,5 !important;\n stroke-dashoffset: 900;\n animation: dash 50s linear infinite;\n stroke-linecap: round;\n }\n & .edge-animation-fast {\n stroke-dasharray: 9,5 !important;\n stroke-dashoffset: 900;\n animation: dash 20s linear infinite;\n stroke-linecap: round;\n }\n /* Classes common for multiple diagrams */\n\n & .error-icon {\n fill: ${options.errorBkgColor};\n }\n & .error-text {\n fill: ${options.errorTextColor};\n stroke: ${options.errorTextColor};\n }\n\n & .edge-thickness-normal {\n stroke-width: ${options.strokeWidth??1}px;\n }\n & .edge-thickness-thick {\n stroke-width: 3.5px\n }\n & .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n & .edge-thickness-invisible {\n stroke-width: 0;\n fill: none;\n }\n & .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n & .marker {\n fill: ${options.lineColor};\n stroke: ${options.lineColor};\n }\n & .marker.cross {\n stroke: ${options.lineColor};\n }\n\n & svg {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n }\n & p {\n margin: 0\n }\n\n ${diagramStyles}\n .node .neo-node {\n stroke: ${options.nodeBorder};\n }\n\n [data-look="neo"].node rect, [data-look="neo"].cluster rect, [data-look="neo"].node polygon {\n stroke: ${options.useGradient?"url("+svgId+"-gradient)":options.nodeBorder};\n filter: ${options.dropShadow?options.dropShadow.replace("url(#drop-shadow)",`url(${svgId}-drop-shadow)`):"none"};\n }\n\n\n [data-look="neo"].node path {\n stroke: ${options.useGradient?"url("+svgId+"-gradient)":options.nodeBorder};\n stroke-width: ${options.strokeWidth??1}px;\n }\n\n [data-look="neo"].node .outer-path {\n filter: ${options.dropShadow?options.dropShadow.replace("url(#drop-shadow)",`url(${svgId}-drop-shadow)`):"none"};\n }\n\n [data-look="neo"].node .neo-line path {\n stroke: ${options.nodeBorder};\n filter: none;\n }\n\n [data-look="neo"].node circle{\n stroke: ${options.useGradient?"url("+svgId+"-gradient)":options.nodeBorder};\n filter: ${options.dropShadow?options.dropShadow.replace("url(#drop-shadow)",`url(${svgId}-drop-shadow)`):"none"};\n }\n\n [data-look="neo"].node circle .state-start{\n fill: #000000;\n }\n\n [data-look="neo"].icon-shape .icon {\n fill: ${options.useGradient?"url("+svgId+"-gradient)":options.nodeBorder};\n filter: ${options.dropShadow?options.dropShadow.replace("url(#drop-shadow)",`url(${svgId}-drop-shadow)`):"none"};\n }\n\n [data-look="neo"].icon-shape .icon-neo path {\n stroke: ${options.useGradient?"url("+svgId+"-gradient)":options.nodeBorder};\n filter: ${options.dropShadow?options.dropShadow.replace("url(#drop-shadow)",`url(${svgId}-drop-shadow)`):"none"};\n }\n\n ${userStyles}\n`},"getStyles"),addStylesForDiagram=__name((type2,diagramTheme)=>{void 0!==diagramTheme&&(themes[type2]=diagramTheme)},"addStylesForDiagram"),styles_default=getStyles,commonDb_exports={};__export(commonDb_exports,{clear:()=>clear$2,getAccDescription:()=>getAccDescription,getAccTitle:()=>getAccTitle,getDiagramTitle:()=>getDiagramTitle,setAccDescription:()=>setAccDescription,setAccTitle:()=>setAccTitle,setDiagramTitle:()=>setDiagramTitle});var accTitle="",diagramTitle="",accDescription="",sanitizeText2=__name(txt=>sanitizeText(txt,getConfig()),"sanitizeText"),clear$2=__name(()=>{accTitle="",accDescription="",diagramTitle=""},"clear"),setAccTitle=__name(txt=>{accTitle=sanitizeText2(txt).replace(/^\s+/g,"")},"setAccTitle"),getAccTitle=__name(()=>accTitle,"getAccTitle"),setAccDescription=__name(txt=>{accDescription=sanitizeText2(txt).replace(/\n\s+/g,"\n")},"setAccDescription"),getAccDescription=__name(()=>accDescription,"getAccDescription"),setDiagramTitle=__name(txt=>{diagramTitle=sanitizeText2(txt)},"setDiagramTitle"),getDiagramTitle=__name(()=>diagramTitle,"getDiagramTitle"),log2=log,setLogLevel2=setLogLevel,getConfig2=getConfig,setConfig2=setConfig,defaultConfig2=defaultConfig,sanitizeText3=__name(text2=>sanitizeText(text2,getConfig2()),"sanitizeText"),setupGraphViewbox2=setupGraphViewbox,getCommonDb=__name(()=>commonDb_exports,"getCommonDb"),diagrams={},registerDiagram=__name((id32,diagram2,detector32)=>{var _a2;diagrams[id32]&&log2.warn(`Diagram with id ${id32} already registered. Overwriting.`),diagrams[id32]=diagram2,detector32&&addDetector(id32,detector32),addStylesForDiagram(id32,diagram2.styles),null==(_a2=diagram2.injectUtils)||_a2.call(diagram2,log2,setLogLevel2,getConfig2,sanitizeText3,setupGraphViewbox2,getCommonDb(),()=>{})},"registerDiagram"),getDiagram=__name(name=>{if(name in diagrams)return diagrams[name];throw new DiagramNotFoundError(name)},"getDiagram"),DiagramNotFoundError=(_m=class extends Error{constructor(name){super(`Diagram ${name} not found.`)}},__name(_m,"DiagramNotFoundError"),_m),noop$1={value:()=>{}};function dispatch(){for(var t2,i2=0,n2=arguments.length,_2={};i2<n2;++i2){if(!(t2=arguments[i2]+"")||t2 in _2||/[\s.]/.test(t2))throw new Error("illegal type: "+t2);_2[t2]=[]}return new Dispatch(_2)}function Dispatch(_2){this._=_2}function get$1(type2,name){for(var c2,i2=0,n2=type2.length;i2<n2;++i2)if((c2=type2[i2]).name===name)return c2.value}function set$2(type2,name,callback){for(var i2=0,n2=type2.length;i2<n2;++i2)if(type2[i2].name===name){type2[i2]=noop$1,type2=type2.slice(0,i2).concat(type2.slice(i2+1));break}return null!=callback&&type2.push({name:name,value:callback}),type2}Dispatch.prototype=dispatch.prototype={constructor:Dispatch,on:function(typename,callback){var t2,types,_2=this._,T2=(types=_2,(typename+"").trim().split(/^|\s+/).map(function(t2){var name="",i2=t2.indexOf(".");if(i2>=0&&(name=t2.slice(i2+1),t2=t2.slice(0,i2)),t2&&!types.hasOwnProperty(t2))throw new Error("unknown type: "+t2);return{type:t2,name:name}})),i2=-1,n2=T2.length;if(!(arguments.length<2)){if(null!=callback&&"function"!=typeof callback)throw new Error("invalid callback: "+callback);for(;++i2<n2;)if(t2=(typename=T2[i2]).type)_2[t2]=set$2(_2[t2],typename.name,callback);else if(null==callback)for(t2 in _2)_2[t2]=set$2(_2[t2],typename.name,null);return this}for(;++i2<n2;)if((t2=(typename=T2[i2]).type)&&(t2=get$1(_2[t2],typename.name)))return t2},copy:function(){var copy={},_2=this._;for(var t2 in _2)copy[t2]=_2[t2].slice();return new Dispatch(copy)},call:function(type2,that){if((n2=arguments.length-2)>0)for(var n2,t2,args=new Array(n2),i2=0;i2<n2;++i2)args[i2]=arguments[i2+2];if(!this._.hasOwnProperty(type2))throw new Error("unknown type: "+type2);for(i2=0,n2=(t2=this._[type2]).length;i2<n2;++i2)t2[i2].value.apply(that,args)},apply:function(type2,that,args){if(!this._.hasOwnProperty(type2))throw new Error("unknown type: "+type2);for(var t2=this._[type2],i2=0,n2=t2.length;i2<n2;++i2)t2[i2].value.apply(that,args)}};var xhtml="http://www.w3.org/1999/xhtml";const namespaces={svg:"http://www.w3.org/2000/svg",xhtml:xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function namespace(name){var prefix=name+="",i2=prefix.indexOf(":");return i2>=0&&"xmlns"!==(prefix=name.slice(0,i2))&&(name=name.slice(i2+1)),namespaces.hasOwnProperty(prefix)?{space:namespaces[prefix],local:name}:name}function creatorInherit(name){return function(){var document2=this.ownerDocument,uri=this.namespaceURI;return uri===xhtml&&document2.documentElement.namespaceURI===xhtml?document2.createElement(name):document2.createElementNS(uri,name)}}function creatorFixed(fullname){return function(){return this.ownerDocument.createElementNS(fullname.space,fullname.local)}}function creator(name){var fullname=namespace(name);return(fullname.local?creatorFixed:creatorInherit)(fullname)}function none(){}function selector(selector2){return null==selector2?none:function(){return this.querySelector(selector2)}}function empty(){return[]}function selectorAll(selector2){return null==selector2?empty:function(){return this.querySelectorAll(selector2)}}function arrayAll(select2){return function(){return null==(x2=select2.apply(this,arguments))?[]:Array.isArray(x2)?x2:Array.from(x2);var x2}}function matcher(selector2){return function(){return this.matches(selector2)}}function childMatcher(selector2){return function(node){return node.matches(selector2)}}var find=Array.prototype.find;function childFirst(){return this.firstElementChild}var filter=Array.prototype.filter;function children(){return Array.from(this.children)}function sparse(update){return new Array(update.length)}function EnterNode(parent,datum2){this.ownerDocument=parent.ownerDocument,this.namespaceURI=parent.namespaceURI,this._next=null,this._parent=parent,this.__data__=datum2}function bindIndex(parent,group,enter,update,exit,data){for(var node,i2=0,groupLength=group.length,dataLength=data.length;i2<dataLength;++i2)(node=group[i2])?(node.__data__=data[i2],update[i2]=node):enter[i2]=new EnterNode(parent,data[i2]);for(;i2<groupLength;++i2)(node=group[i2])&&(exit[i2]=node)}function bindKey(parent,group,enter,update,exit,data,key){var i2,node,keyValue,nodeByKeyValue=new Map,groupLength=group.length,dataLength=data.length,keyValues=new Array(groupLength);for(i2=0;i2<groupLength;++i2)(node=group[i2])&&(keyValues[i2]=keyValue=key.call(node,node.__data__,i2,group)+"",nodeByKeyValue.has(keyValue)?exit[i2]=node:nodeByKeyValue.set(keyValue,node));for(i2=0;i2<dataLength;++i2)keyValue=key.call(parent,data[i2],i2,data)+"",(node=nodeByKeyValue.get(keyValue))?(update[i2]=node,node.__data__=data[i2],nodeByKeyValue.delete(keyValue)):enter[i2]=new EnterNode(parent,data[i2]);for(i2=0;i2<groupLength;++i2)(node=group[i2])&&nodeByKeyValue.get(keyValues[i2])===node&&(exit[i2]=node)}function datum(node){return node.__data__}function arraylike(data){return"object"==typeof data&&"length"in data?data:Array.from(data)}function ascending(a2,b2){return a2<b2?-1:a2>b2?1:a2>=b2?0:NaN}function attrRemove$1(name){return function(){this.removeAttribute(name)}}function attrRemoveNS$1(fullname){return function(){this.removeAttributeNS(fullname.space,fullname.local)}}function attrConstant$1(name,value){return function(){this.setAttribute(name,value)}}function attrConstantNS$1(fullname,value){return function(){this.setAttributeNS(fullname.space,fullname.local,value)}}function attrFunction$1(name,value){return function(){var v2=value.apply(this,arguments);null==v2?this.removeAttribute(name):this.setAttribute(name,v2)}}function attrFunctionNS$1(fullname,value){return function(){var v2=value.apply(this,arguments);null==v2?this.removeAttributeNS(fullname.space,fullname.local):this.setAttributeNS(fullname.space,fullname.local,v2)}}function defaultView(node){return node.ownerDocument&&node.ownerDocument.defaultView||node.document&&node||node.defaultView}function styleRemove$1(name){return function(){this.style.removeProperty(name)}}function styleConstant$1(name,value,priority){return function(){this.style.setProperty(name,value,priority)}}function styleFunction$1(name,value,priority){return function(){var v2=value.apply(this,arguments);null==v2?this.style.removeProperty(name):this.style.setProperty(name,v2,priority)}}function styleValue(node,name){return node.style.getPropertyValue(name)||defaultView(node).getComputedStyle(node,null).getPropertyValue(name)}function propertyRemove(name){return function(){delete this[name]}}function propertyConstant(name,value){return function(){this[name]=value}}function propertyFunction(name,value){return function(){var v2=value.apply(this,arguments);null==v2?delete this[name]:this[name]=v2}}function classArray(string){return string.trim().split(/^|\s+/)}function classList(node){return node.classList||new ClassList(node)}function ClassList(node){this._node=node,this._names=classArray(node.getAttribute("class")||"")}function classedAdd(node,names){for(var list=classList(node),i2=-1,n2=names.length;++i2<n2;)list.add(names[i2])}function classedRemove(node,names){for(var list=classList(node),i2=-1,n2=names.length;++i2<n2;)list.remove(names[i2])}function classedTrue(names){return function(){classedAdd(this,names)}}function classedFalse(names){return function(){classedRemove(this,names)}}function classedFunction(names,value){return function(){(value.apply(this,arguments)?classedAdd:classedRemove)(this,names)}}function textRemove(){this.textContent=""}function textConstant$1(value){return function(){this.textContent=value}}function textFunction$1(value){return function(){var v2=value.apply(this,arguments);this.textContent=null==v2?"":v2}}function htmlRemove(){this.innerHTML=""}function htmlConstant(value){return function(){this.innerHTML=value}}function htmlFunction(value){return function(){var v2=value.apply(this,arguments);this.innerHTML=null==v2?"":v2}}function raise(){this.nextSibling&&this.parentNode.appendChild(this)}function lower(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function constantNull(){return null}function remove(){var parent=this.parentNode;parent&&parent.removeChild(this)}function selection_cloneShallow(){var clone=this.cloneNode(!1),parent=this.parentNode;return parent?parent.insertBefore(clone,this.nextSibling):clone}function selection_cloneDeep(){var clone=this.cloneNode(!0),parent=this.parentNode;return parent?parent.insertBefore(clone,this.nextSibling):clone}function onRemove(typename){return function(){var on=this.__on;if(on){for(var o2,j2=0,i2=-1,m2=on.length;j2<m2;++j2)o2=on[j2],typename.type&&o2.type!==typename.type||o2.name!==typename.name?on[++i2]=o2:this.removeEventListener(o2.type,o2.listener,o2.options);++i2?on.length=i2:delete this.__on}}}function onAdd(typename,value,options){return function(){var o2,on=this.__on,listener=function(listener){return function(event){listener.call(this,event,this.__data__)}}(value);if(on)for(var j2=0,m2=on.length;j2<m2;++j2)if((o2=on[j2]).type===typename.type&&o2.name===typename.name)return this.removeEventListener(o2.type,o2.listener,o2.options),this.addEventListener(o2.type,o2.listener=listener,o2.options=options),void(o2.value=value);this.addEventListener(typename.type,listener,options),o2={type:typename.type,name:typename.name,value:value,listener:listener,options:options},on?on.push(o2):this.__on=[o2]}}function dispatchEvent(node,type2,params){var window2=defaultView(node),event=window2.CustomEvent;"function"==typeof event?event=new event(type2,params):(event=window2.document.createEvent("Event"),params?(event.initEvent(type2,params.bubbles,params.cancelable),event.detail=params.detail):event.initEvent(type2,!1,!1)),node.dispatchEvent(event)}function dispatchConstant(type2,params){return function(){return dispatchEvent(this,type2,params)}}function dispatchFunction(type2,params){return function(){return dispatchEvent(this,type2,params.apply(this,arguments))}}EnterNode.prototype={constructor:EnterNode,appendChild:function(child){return this._parent.insertBefore(child,this._next)},insertBefore:function(child,next){return this._parent.insertBefore(child,next)},querySelector:function(selector2){return this._parent.querySelector(selector2)},querySelectorAll:function(selector2){return this._parent.querySelectorAll(selector2)}},ClassList.prototype={add:function(name){this._names.indexOf(name)<0&&(this._names.push(name),this._node.setAttribute("class",this._names.join(" ")))},remove:function(name){var i2=this._names.indexOf(name);i2>=0&&(this._names.splice(i2,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(name){return this._names.indexOf(name)>=0}};var root$1=[null];function Selection$1(groups,parents){this._groups=groups,this._parents=parents}function selection(){return new Selection$1([[document.documentElement]],root$1)}function select(selector2){return"string"==typeof selector2?new Selection$1([[document.querySelector(selector2)]],[document.documentElement]):new Selection$1([[selector2]],root$1)}function define(constructor,factory,prototype){constructor.prototype=factory.prototype=prototype,prototype.constructor=constructor}function extend$1(parent,definition){var prototype=Object.create(parent.prototype);for(var key in definition)prototype[key]=definition[key];return prototype}function Color(){}Selection$1.prototype=selection.prototype={constructor:Selection$1,select:function(select2){"function"!=typeof select2&&(select2=selector(select2));for(var groups=this._groups,m2=groups.length,subgroups=new Array(m2),j2=0;j2<m2;++j2)for(var node,subnode,group=groups[j2],n2=group.length,subgroup=subgroups[j2]=new Array(n2),i2=0;i2<n2;++i2)(node=group[i2])&&(subnode=select2.call(node,node.__data__,i2,group))&&("__data__"in node&&(subnode.__data__=node.__data__),subgroup[i2]=subnode);return new Selection$1(subgroups,this._parents)},selectAll:function(select2){select2="function"==typeof select2?arrayAll(select2):selectorAll(select2);for(var groups=this._groups,m2=groups.length,subgroups=[],parents=[],j2=0;j2<m2;++j2)for(var node,group=groups[j2],n2=group.length,i2=0;i2<n2;++i2)(node=group[i2])&&(subgroups.push(select2.call(node,node.__data__,i2,group)),parents.push(node));return new Selection$1(subgroups,parents)},selectChild:function(match){return this.select(null==match?childFirst:function(match){return function(){return find.call(this.children,match)}}("function"==typeof match?match:childMatcher(match)))},selectChildren:function(match){return this.selectAll(null==match?children:function(match){return function(){return filter.call(this.children,match)}}("function"==typeof match?match:childMatcher(match)))},filter:function(match){"function"!=typeof match&&(match=matcher(match));for(var groups=this._groups,m2=groups.length,subgroups=new Array(m2),j2=0;j2<m2;++j2)for(var node,group=groups[j2],n2=group.length,subgroup=subgroups[j2]=[],i2=0;i2<n2;++i2)(node=group[i2])&&match.call(node,node.__data__,i2,group)&&subgroup.push(node);return new Selection$1(subgroups,this._parents)},data:function(value,key){if(!arguments.length)return Array.from(this,datum);var x2,bind=key?bindKey:bindIndex,parents=this._parents,groups=this._groups;"function"!=typeof value&&(x2=value,value=function(){return x2});for(var m2=groups.length,update=new Array(m2),enter=new Array(m2),exit=new Array(m2),j2=0;j2<m2;++j2){var parent=parents[j2],group=groups[j2],groupLength=group.length,data=arraylike(value.call(parent,parent&&parent.__data__,j2,parents)),dataLength=data.length,enterGroup=enter[j2]=new Array(dataLength),updateGroup=update[j2]=new Array(dataLength);bind(parent,group,enterGroup,updateGroup,exit[j2]=new Array(groupLength),data,key);for(var previous,next,i0=0,i1=0;i0<dataLength;++i0)if(previous=enterGroup[i0]){for(i0>=i1&&(i1=i0+1);!(next=updateGroup[i1])&&++i1<dataLength;);previous._next=next||null}}return(update=new Selection$1(update,parents))._enter=enter,update._exit=exit,update},enter:function(){return new Selection$1(this._enter||this._groups.map(sparse),this._parents)},exit:function(){return new Selection$1(this._exit||this._groups.map(sparse),this._parents)},join:function(onenter,onupdate,onexit){var enter=this.enter(),update=this,exit=this.exit();return"function"==typeof onenter?(enter=onenter(enter))&&(enter=enter.selection()):enter=enter.append(onenter+""),null!=onupdate&&(update=onupdate(update))&&(update=update.selection()),null==onexit?exit.remove():onexit(exit),enter&&update?enter.merge(update).order():update},merge:function(context){for(var selection2=context.selection?context.selection():context,groups0=this._groups,groups1=selection2._groups,m0=groups0.length,m1=groups1.length,m2=Math.min(m0,m1),merges=new Array(m0),j2=0;j2<m2;++j2)for(var node,group0=groups0[j2],group1=groups1[j2],n2=group0.length,merge2=merges[j2]=new Array(n2),i2=0;i2<n2;++i2)(node=group0[i2]||group1[i2])&&(merge2[i2]=node);for(;j2<m0;++j2)merges[j2]=groups0[j2];return new Selection$1(merges,this._parents)},selection:function(){return this},order:function(){for(var groups=this._groups,j2=-1,m2=groups.length;++j2<m2;)for(var node,group=groups[j2],i2=group.length-1,next=group[i2];--i2>=0;)(node=group[i2])&&(next&&4^node.compareDocumentPosition(next)&&next.parentNode.insertBefore(node,next),next=node);return this},sort:function(compare){function compareNode(a2,b2){return a2&&b2?compare(a2.__data__,b2.__data__):!a2-!b2}compare||(compare=ascending);for(var groups=this._groups,m2=groups.length,sortgroups=new Array(m2),j2=0;j2<m2;++j2){for(var node,group=groups[j2],n2=group.length,sortgroup=sortgroups[j2]=new Array(n2),i2=0;i2<n2;++i2)(node=group[i2])&&(sortgroup[i2]=node);sortgroup.sort(compareNode)}return new Selection$1(sortgroups,this._parents).order()},call:function(){var callback=arguments[0];return arguments[0]=this,callback.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var groups=this._groups,j2=0,m2=groups.length;j2<m2;++j2)for(var group=groups[j2],i2=0,n2=group.length;i2<n2;++i2){var node=group[i2];if(node)return node}return null},size:function(){let size=0;for(const node of this)++size;return size},empty:function(){return!this.node()},each:function(callback){for(var groups=this._groups,j2=0,m2=groups.length;j2<m2;++j2)for(var node,group=groups[j2],i2=0,n2=group.length;i2<n2;++i2)(node=group[i2])&&callback.call(node,node.__data__,i2,group);return this},attr:function(name,value){var fullname=namespace(name);if(arguments.length<2){var node=this.node();return fullname.local?node.getAttributeNS(fullname.space,fullname.local):node.getAttribute(fullname)}return this.each((null==value?fullname.local?attrRemoveNS$1:attrRemove$1:"function"==typeof value?fullname.local?attrFunctionNS$1:attrFunction$1:fullname.local?attrConstantNS$1:attrConstant$1)(fullname,value))},style:function(name,value,priority){return arguments.length>1?this.each((null==value?styleRemove$1:"function"==typeof value?styleFunction$1:styleConstant$1)(name,value,null==priority?"":priority)):styleValue(this.node(),name)},property:function(name,value){return arguments.length>1?this.each((null==value?propertyRemove:"function"==typeof value?propertyFunction:propertyConstant)(name,value)):this.node()[name]},classed:function(name,value){var names=classArray(name+"");if(arguments.length<2){for(var list=classList(this.node()),i2=-1,n2=names.length;++i2<n2;)if(!list.contains(names[i2]))return!1;return!0}return this.each(("function"==typeof value?classedFunction:value?classedTrue:classedFalse)(names,value))},text:function(value){return arguments.length?this.each(null==value?textRemove:("function"==typeof value?textFunction$1:textConstant$1)(value)):this.node().textContent},html:function(value){return arguments.length?this.each(null==value?htmlRemove:("function"==typeof value?htmlFunction:htmlConstant)(value)):this.node().innerHTML},raise:function(){return this.each(raise)},lower:function(){return this.each(lower)},append:function(name){var create2="function"==typeof name?name:creator(name);return this.select(function(){return this.appendChild(create2.apply(this,arguments))})},insert:function(name,before){var create2="function"==typeof name?name:creator(name),select2=null==before?constantNull:"function"==typeof before?before:selector(before);return this.select(function(){return this.insertBefore(create2.apply(this,arguments),select2.apply(this,arguments)||null)})},remove:function(){return this.each(remove)},clone:function(deep){return this.select(deep?selection_cloneDeep:selection_cloneShallow)},datum:function(value){return arguments.length?this.property("__data__",value):this.node().__data__},on:function(typename,value,options){var i2,t2,typenames=function(typenames){return typenames.trim().split(/^|\s+/).map(function(t2){var name="",i2=t2.indexOf(".");return i2>=0&&(name=t2.slice(i2+1),t2=t2.slice(0,i2)),{type:t2,name:name}})}(typename+""),n2=typenames.length;if(!(arguments.length<2)){for(on=value?onAdd:onRemove,i2=0;i2<n2;++i2)this.each(on(typenames[i2],value,options));return this}var on=this.node().__on;if(on)for(var o2,j2=0,m2=on.length;j2<m2;++j2)for(i2=0,o2=on[j2];i2<n2;++i2)if((t2=typenames[i2]).type===o2.type&&t2.name===o2.name)return o2.value},dispatch:function(type2,params){return this.each(("function"==typeof params?dispatchFunction:dispatchConstant)(type2,params))},[Symbol.iterator]:function*(){for(var groups=this._groups,j2=0,m2=groups.length;j2<m2;++j2)for(var node,group=groups[j2],i2=0,n2=group.length;i2<n2;++i2)(node=group[i2])&&(yield node)}};var brighter=1/.7,reI="\\s*([+-]?\\d+)\\s*",reN="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",reP="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",reHex=/^#([0-9a-f]{3,8})$/,reRgbInteger=new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`),reRgbPercent=new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`),reRgbaInteger=new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`),reRgbaPercent=new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`),reHslPercent=new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`),reHslaPercent=new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`),named={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function color_formatHex(){return this.rgb().formatHex()}function color_formatRgb(){return this.rgb().formatRgb()}function color(format2){var m2,l4;return format2=(format2+"").trim().toLowerCase(),(m2=reHex.exec(format2))?(l4=m2[1].length,m2=parseInt(m2[1],16),6===l4?rgbn(m2):3===l4?new Rgb(m2>>8&15|m2>>4&240,m2>>4&15|240&m2,(15&m2)<<4|15&m2,1):8===l4?rgba(m2>>24&255,m2>>16&255,m2>>8&255,(255&m2)/255):4===l4?rgba(m2>>12&15|m2>>8&240,m2>>8&15|m2>>4&240,m2>>4&15|240&m2,((15&m2)<<4|15&m2)/255):null):(m2=reRgbInteger.exec(format2))?new Rgb(m2[1],m2[2],m2[3],1):(m2=reRgbPercent.exec(format2))?new Rgb(255*m2[1]/100,255*m2[2]/100,255*m2[3]/100,1):(m2=reRgbaInteger.exec(format2))?rgba(m2[1],m2[2],m2[3],m2[4]):(m2=reRgbaPercent.exec(format2))?rgba(255*m2[1]/100,255*m2[2]/100,255*m2[3]/100,m2[4]):(m2=reHslPercent.exec(format2))?hsla(m2[1],m2[2]/100,m2[3]/100,1):(m2=reHslaPercent.exec(format2))?hsla(m2[1],m2[2]/100,m2[3]/100,m2[4]):named.hasOwnProperty(format2)?rgbn(named[format2]):"transparent"===format2?new Rgb(NaN,NaN,NaN,0):null}function rgbn(n2){return new Rgb(n2>>16&255,n2>>8&255,255&n2,1)}function rgba(r2,g2,b2,a2){return a2<=0&&(r2=g2=b2=NaN),new Rgb(r2,g2,b2,a2)}function rgbConvert(o2){return o2 instanceof Color||(o2=color(o2)),o2?new Rgb((o2=o2.rgb()).r,o2.g,o2.b,o2.opacity):new Rgb}function rgb(r2,g2,b2,opacity){return 1===arguments.length?rgbConvert(r2):new Rgb(r2,g2,b2,null==opacity?1:opacity)}function Rgb(r2,g2,b2,opacity){this.r=+r2,this.g=+g2,this.b=+b2,this.opacity=+opacity}function rgb_formatHex(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}`}function rgb_formatRgb(){const a2=clampa(this.opacity);return`${1===a2?"rgb(":"rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${1===a2?")":`, ${a2})`}`}function clampa(opacity){return isNaN(opacity)?1:Math.max(0,Math.min(1,opacity))}function clampi(value){return Math.max(0,Math.min(255,Math.round(value)||0))}function hex(value){return((value=clampi(value))<16?"0":"")+value.toString(16)}function hsla(h2,s2,l4,a2){return a2<=0?h2=s2=l4=NaN:l4<=0||l4>=1?h2=s2=NaN:s2<=0&&(h2=NaN),new Hsl(h2,s2,l4,a2)}function hslConvert(o2){if(o2 instanceof Hsl)return new Hsl(o2.h,o2.s,o2.l,o2.opacity);if(o2 instanceof Color||(o2=color(o2)),!o2)return new Hsl;if(o2 instanceof Hsl)return o2;var r2=(o2=o2.rgb()).r/255,g2=o2.g/255,b2=o2.b/255,min2=Math.min(r2,g2,b2),max2=Math.max(r2,g2,b2),h2=NaN,s2=max2-min2,l4=(max2+min2)/2;return s2?(h2=r2===max2?(g2-b2)/s2+6*(g2<b2):g2===max2?(b2-r2)/s2+2:(r2-g2)/s2+4,s2/=l4<.5?max2+min2:2-max2-min2,h2*=60):s2=l4>0&&l4<1?0:h2,new Hsl(h2,s2,l4,o2.opacity)}function Hsl(h2,s2,l4,opacity){this.h=+h2,this.s=+s2,this.l=+l4,this.opacity=+opacity}function clamph(value){return(value=(value||0)%360)<0?value+360:value}function clampt(value){return Math.max(0,Math.min(1,value||0))}function hsl2rgb(h2,m1,m2){return 255*(h2<60?m1+(m2-m1)*h2/60:h2<180?m2:h2<240?m1+(m2-m1)*(240-h2)/60:m1)}define(Color,color,{copy(channels2){return Object.assign(new this.constructor,this,channels2)},displayable(){return this.rgb().displayable()},hex:color_formatHex,formatHex:color_formatHex,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return hslConvert(this).formatHsl()},formatRgb:color_formatRgb,toString:color_formatRgb}),define(Rgb,rgb,extend$1(Color,{brighter(k2){return k2=null==k2?brighter:Math.pow(brighter,k2),new Rgb(this.r*k2,this.g*k2,this.b*k2,this.opacity)},darker(k2){return k2=null==k2?.7:Math.pow(.7,k2),new Rgb(this.r*k2,this.g*k2,this.b*k2,this.opacity)},rgb(){return this},clamp(){return new Rgb(clampi(this.r),clampi(this.g),clampi(this.b),clampa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:rgb_formatHex,formatHex:rgb_formatHex,formatHex8:function(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:rgb_formatRgb,toString:rgb_formatRgb})),define(Hsl,function(h2,s2,l4,opacity){return 1===arguments.length?hslConvert(h2):new Hsl(h2,s2,l4,null==opacity?1:opacity)},extend$1(Color,{brighter(k2){return k2=null==k2?brighter:Math.pow(brighter,k2),new Hsl(this.h,this.s,this.l*k2,this.opacity)},darker(k2){return k2=null==k2?.7:Math.pow(.7,k2),new Hsl(this.h,this.s,this.l*k2,this.opacity)},rgb(){var h2=this.h%360+360*(this.h<0),s2=isNaN(h2)||isNaN(this.s)?0:this.s,l4=this.l,m2=l4+(l4<.5?l4:1-l4)*s2,m1=2*l4-m2;return new Rgb(hsl2rgb(h2>=240?h2-240:h2+120,m1,m2),hsl2rgb(h2,m1,m2),hsl2rgb(h2<120?h2+240:h2-120,m1,m2),this.opacity)},clamp(){return new Hsl(clamph(this.h),clampt(this.s),clampt(this.l),clampa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const a2=clampa(this.opacity);return`${1===a2?"hsl(":"hsla("}${clamph(this.h)}, ${100*clampt(this.s)}%, ${100*clampt(this.l)}%${1===a2?")":`, ${a2})`}`}}));const constant$2=x2=>()=>x2;function linear(a2,d2){return function(t2){return a2+t2*d2}}function hue(a2,b2){var d2=b2-a2;return d2?linear(a2,d2>180||d2<-180?d2-360*Math.round(d2/360):d2):constant$2(isNaN(a2)?b2:a2)}function gamma(y3){return 1===(y3=+y3)?nogamma:function(a2,b2){return b2-a2?function(a2,b2,y3){return a2=Math.pow(a2,y3),b2=Math.pow(b2,y3)-a2,y3=1/y3,function(t2){return Math.pow(a2+t2*b2,y3)}}(a2,b2,y3):constant$2(isNaN(a2)?b2:a2)}}function nogamma(a2,b2){var d2=b2-a2;return d2?linear(a2,d2):constant$2(isNaN(a2)?b2:a2)}const interpolateRgb=function rgbGamma(y3){var color2=gamma(y3);function rgb$1(start2,end){var r2=color2((start2=rgb(start2)).r,(end=rgb(end)).r),g2=color2(start2.g,end.g),b2=color2(start2.b,end.b),opacity=nogamma(start2.opacity,end.opacity);return function(t2){return start2.r=r2(t2),start2.g=g2(t2),start2.b=b2(t2),start2.opacity=opacity(t2),start2+""}}return rgb$1.gamma=rgbGamma,rgb$1}(1);function interpolateNumber(a2,b2){return a2=+a2,b2=+b2,function(t2){return a2*(1-t2)+b2*t2}}var reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,"g");function interpolateString(a2,b2){var am,bm,bs,bi=reA.lastIndex=reB.lastIndex=0,i2=-1,s2=[],q2=[];for(a2+="",b2+="";(am=reA.exec(a2))&&(bm=reB.exec(b2));)(bs=bm.index)>bi&&(bs=b2.slice(bi,bs),s2[i2]?s2[i2]+=bs:s2[++i2]=bs),(am=am[0])===(bm=bm[0])?s2[i2]?s2[i2]+=bm:s2[++i2]=bm:(s2[++i2]=null,q2.push({i:i2,x:interpolateNumber(am,bm)})),bi=reB.lastIndex;return bi<b2.length&&(bs=b2.slice(bi),s2[i2]?s2[i2]+=bs:s2[++i2]=bs),s2.length<2?q2[0]?function(b2){return function(t2){return b2(t2)+""}}(q2[0].x):function(b2){return function(){return b2}}(b2):(b2=q2.length,function(t2){for(var o2,i3=0;i3<b2;++i3)s2[(o2=q2[i3]).i]=o2.x(t2);return s2.join("")})}var svgNode,degrees=180/Math.PI,identity$1={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function decompose(a2,b2,c2,d2,e2,f2){var scaleX,scaleY,skewX;return(scaleX=Math.sqrt(a2*a2+b2*b2))&&(a2/=scaleX,b2/=scaleX),(skewX=a2*c2+b2*d2)&&(c2-=a2*skewX,d2-=b2*skewX),(scaleY=Math.sqrt(c2*c2+d2*d2))&&(c2/=scaleY,d2/=scaleY,skewX/=scaleY),a2*d2<b2*c2&&(a2=-a2,b2=-b2,skewX=-skewX,scaleX=-scaleX),{translateX:e2,translateY:f2,rotate:Math.atan2(b2,a2)*degrees,skewX:Math.atan(skewX)*degrees,scaleX:scaleX,scaleY:scaleY}}function interpolateTransform(parse3,pxComma,pxParen,degParen){function pop(s2){return s2.length?s2.pop()+" ":""}return function(a2,b2){var s2=[],q2=[];return a2=parse3(a2),b2=parse3(b2),function(xa,ya,xb,yb,s2,q2){if(xa!==xb||ya!==yb){var i2=s2.push("translate(",null,pxComma,null,pxParen);q2.push({i:i2-4,x:interpolateNumber(xa,xb)},{i:i2-2,x:interpolateNumber(ya,yb)})}else(xb||yb)&&s2.push("translate("+xb+pxComma+yb+pxParen)}(a2.translateX,a2.translateY,b2.translateX,b2.translateY,s2,q2),function(a2,b2,s2,q2){a2!==b2?(a2-b2>180?b2+=360:b2-a2>180&&(a2+=360),q2.push({i:s2.push(pop(s2)+"rotate(",null,degParen)-2,x:interpolateNumber(a2,b2)})):b2&&s2.push(pop(s2)+"rotate("+b2+degParen)}(a2.rotate,b2.rotate,s2,q2),function(a2,b2,s2,q2){a2!==b2?q2.push({i:s2.push(pop(s2)+"skewX(",null,degParen)-2,x:interpolateNumber(a2,b2)}):b2&&s2.push(pop(s2)+"skewX("+b2+degParen)}(a2.skewX,b2.skewX,s2,q2),function(xa,ya,xb,yb,s2,q2){if(xa!==xb||ya!==yb){var i2=s2.push(pop(s2)+"scale(",null,",",null,")");q2.push({i:i2-4,x:interpolateNumber(xa,xb)},{i:i2-2,x:interpolateNumber(ya,yb)})}else 1===xb&&1===yb||s2.push(pop(s2)+"scale("+xb+","+yb+")")}(a2.scaleX,a2.scaleY,b2.scaleX,b2.scaleY,s2,q2),a2=b2=null,function(t2){for(var o2,i2=-1,n2=q2.length;++i2<n2;)s2[(o2=q2[i2]).i]=o2.x(t2);return s2.join("")}}}var taskHead,taskTail,interpolateTransformCss=interpolateTransform(function(value){const m2=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(value+"");return m2.isIdentity?identity$1:decompose(m2.a,m2.b,m2.c,m2.d,m2.e,m2.f)},"px, ","px)","deg)"),interpolateTransformSvg=interpolateTransform(function(value){return null==value?identity$1:(svgNode||(svgNode=document.createElementNS("http://www.w3.org/2000/svg","g")),svgNode.setAttribute("transform",value),(value=svgNode.transform.baseVal.consolidate())?decompose((value=value.matrix).a,value.b,value.c,value.d,value.e,value.f):identity$1)},", ",")",")"),frame=0,timeout$1=0,interval=0,clockLast=0,clockNow=0,clockSkew=0,clock="object"==typeof performance&&performance.now?performance:Date,setFrame="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(f2){setTimeout(f2,17)};function now(){return clockNow||(setFrame(clearNow),clockNow=clock.now()+clockSkew)}function clearNow(){clockNow=0}function Timer(){this._call=this._time=this._next=null}function timer(callback,delay,time){var t2=new Timer;return t2.restart(callback,delay,time),t2}function wake(){clockNow=(clockLast=clock.now())+clockSkew,frame=timeout$1=0;try{!function(){now(),++frame;for(var e2,t2=taskHead;t2;)(e2=clockNow-t2._time)>=0&&t2._call.call(void 0,e2),t2=t2._next;--frame}()}finally{frame=0,function(){var t0,t2,t1=taskHead,time=1/0;for(;t1;)t1._call?(time>t1._time&&(time=t1._time),t0=t1,t1=t1._next):(t2=t1._next,t1._next=null,t1=t0?t0._next=t2:taskHead=t2);taskTail=t0,sleep(time)}(),clockNow=0}}function poke(){var now2=clock.now(),delay=now2-clockLast;delay>1e3&&(clockSkew-=delay,clockLast=now2)}function sleep(time){frame||(timeout$1&&(timeout$1=clearTimeout(timeout$1)),time-clockNow>24?(time<1/0&&(timeout$1=setTimeout(wake,time-clock.now()-clockSkew)),interval&&(interval=clearInterval(interval))):(interval||(clockLast=clock.now(),interval=setInterval(poke,1e3)),frame=1,setFrame(wake)))}function timeout(callback,delay,time){var t2=new Timer;return delay=null==delay?0:+delay,t2.restart(elapsed=>{t2.stop(),callback(elapsed+delay)},delay,time),t2}Timer.prototype=timer.prototype={constructor:Timer,restart:function(callback,delay,time){if("function"!=typeof callback)throw new TypeError("callback is not a function");time=(null==time?now():+time)+(null==delay?0:+delay),this._next||taskTail===this||(taskTail?taskTail._next=this:taskHead=this,taskTail=this),this._call=callback,this._time=time,sleep()},stop:function(){this._call&&(this._call=null,this._time=1/0,sleep())}};var emptyOn=dispatch("start","end","cancel","interrupt"),emptyTween=[];function schedule(node,name,id32,index,group,timing){var schedules=node.__transition;if(schedules){if(id32 in schedules)return}else node.__transition={};!function(node,id32,self2){var tween,schedules=node.__transition;function schedule2(elapsed){self2.state=1,self2.timer.restart(start2,self2.delay,self2.time),self2.delay<=elapsed&&start2(elapsed-self2.delay)}function start2(elapsed){var i2,j2,n2,o2;if(1!==self2.state)return stop();for(i2 in schedules)if((o2=schedules[i2]).name===self2.name){if(3===o2.state)return timeout(start2);4===o2.state?(o2.state=6,o2.timer.stop(),o2.on.call("interrupt",node,node.__data__,o2.index,o2.group),delete schedules[i2]):+i2<id32&&(o2.state=6,o2.timer.stop(),o2.on.call("cancel",node,node.__data__,o2.index,o2.group),delete schedules[i2])}if(timeout(function(){3===self2.state&&(self2.state=4,self2.timer.restart(tick,self2.delay,self2.time),tick(elapsed))}),self2.state=2,self2.on.call("start",node,node.__data__,self2.index,self2.group),2===self2.state){for(self2.state=3,tween=new Array(n2=self2.tween.length),i2=0,j2=-1;i2<n2;++i2)(o2=self2.tween[i2].value.call(node,node.__data__,self2.index,self2.group))&&(tween[++j2]=o2);tween.length=j2+1}}function tick(elapsed){for(var t2=elapsed<self2.duration?self2.ease.call(null,elapsed/self2.duration):(self2.timer.restart(stop),self2.state=5,1),i2=-1,n2=tween.length;++i2<n2;)tween[i2].call(node,t2);5===self2.state&&(self2.on.call("end",node,node.__data__,self2.index,self2.group),stop())}function stop(){for(var i2 in self2.state=6,self2.timer.stop(),delete schedules[id32],schedules)return;delete node.__transition}schedules[id32]=self2,self2.timer=timer(schedule2,0,self2.time)}(node,id32,{name:name,index:index,group:group,on:emptyOn,tween:emptyTween,time:timing.time,delay:timing.delay,duration:timing.duration,ease:timing.ease,timer:null,state:0})}function init$1(node,id32){var schedule2=get(node,id32);if(schedule2.state>0)throw new Error("too late; already scheduled");return schedule2}function set$1(node,id32){var schedule2=get(node,id32);if(schedule2.state>3)throw new Error("too late; already running");return schedule2}function get(node,id32){var schedule2=node.__transition;if(!schedule2||!(schedule2=schedule2[id32]))throw new Error("transition not found");return schedule2}function tweenRemove(id32,name){var tween0,tween1;return function(){var schedule2=set$1(this,id32),tween=schedule2.tween;if(tween!==tween0)for(var i2=0,n2=(tween1=tween0=tween).length;i2<n2;++i2)if(tween1[i2].name===name){(tween1=tween1.slice()).splice(i2,1);break}schedule2.tween=tween1}}function tweenFunction(id32,name,value){var tween0,tween1;if("function"!=typeof value)throw new Error;return function(){var schedule2=set$1(this,id32),tween=schedule2.tween;if(tween!==tween0){tween1=(tween0=tween).slice();for(var t2={name:name,value:value},i2=0,n2=tween1.length;i2<n2;++i2)if(tween1[i2].name===name){tween1[i2]=t2;break}i2===n2&&tween1.push(t2)}schedule2.tween=tween1}}function tweenValue(transition,name,value){var id32=transition._id;return transition.each(function(){var schedule2=set$1(this,id32);(schedule2.value||(schedule2.value={}))[name]=value.apply(this,arguments)}),function(node){return get(node,id32).value[name]}}function interpolate(a2,b2){var c2;return("number"==typeof b2?interpolateNumber:b2 instanceof color?interpolateRgb:(c2=color(b2))?(b2=c2,interpolateRgb):interpolateString)(a2,b2)}function attrRemove(name){return function(){this.removeAttribute(name)}}function attrRemoveNS(fullname){return function(){this.removeAttributeNS(fullname.space,fullname.local)}}function attrConstant(name,interpolate2,value1){var string00,interpolate0,string1=value1+"";return function(){var string0=this.getAttribute(name);return string0===string1?null:string0===string00?interpolate0:interpolate0=interpolate2(string00=string0,value1)}}function attrConstantNS(fullname,interpolate2,value1){var string00,interpolate0,string1=value1+"";return function(){var string0=this.getAttributeNS(fullname.space,fullname.local);return string0===string1?null:string0===string00?interpolate0:interpolate0=interpolate2(string00=string0,value1)}}function attrFunction(name,interpolate2,value){var string00,string10,interpolate0;return function(){var string0,string1,value1=value(this);if(null!=value1)return(string0=this.getAttribute(name))===(string1=value1+"")?null:string0===string00&&string1===string10?interpolate0:(string10=string1,interpolate0=interpolate2(string00=string0,value1));this.removeAttribute(name)}}function attrFunctionNS(fullname,interpolate2,value){var string00,string10,interpolate0;return function(){var string0,string1,value1=value(this);if(null!=value1)return(string0=this.getAttributeNS(fullname.space,fullname.local))===(string1=value1+"")?null:string0===string00&&string1===string10?interpolate0:(string10=string1,interpolate0=interpolate2(string00=string0,value1));this.removeAttributeNS(fullname.space,fullname.local)}}function attrTweenNS(fullname,value){var t0,i0;function tween(){var i2=value.apply(this,arguments);return i2!==i0&&(t0=(i0=i2)&&function(fullname,i2){return function(t2){this.setAttributeNS(fullname.space,fullname.local,i2.call(this,t2))}}(fullname,i2)),t0}return tween._value=value,tween}function attrTween(name,value){var t0,i0;function tween(){var i2=value.apply(this,arguments);return i2!==i0&&(t0=(i0=i2)&&function(name,i2){return function(t2){this.setAttribute(name,i2.call(this,t2))}}(name,i2)),t0}return tween._value=value,tween}function delayFunction(id32,value){return function(){init$1(this,id32).delay=+value.apply(this,arguments)}}function delayConstant(id32,value){return value=+value,function(){init$1(this,id32).delay=value}}function durationFunction(id32,value){return function(){set$1(this,id32).duration=+value.apply(this,arguments)}}function durationConstant(id32,value){return value=+value,function(){set$1(this,id32).duration=value}}var Selection=selection.prototype.constructor;function styleRemove(name){return function(){this.style.removeProperty(name)}}var id$1=0;function Transition(groups,parents,name,id32){this._groups=groups,this._parents=parents,this._name=name,this._id=id32}function newId(){return++id$1}var selection_prototype=selection.prototype;Transition.prototype={constructor:Transition,select:function(select2){var name=this._name,id32=this._id;"function"!=typeof select2&&(select2=selector(select2));for(var groups=this._groups,m2=groups.length,subgroups=new Array(m2),j2=0;j2<m2;++j2)for(var node,subnode,group=groups[j2],n2=group.length,subgroup=subgroups[j2]=new Array(n2),i2=0;i2<n2;++i2)(node=group[i2])&&(subnode=select2.call(node,node.__data__,i2,group))&&("__data__"in node&&(subnode.__data__=node.__data__),subgroup[i2]=subnode,schedule(subgroup[i2],name,id32,i2,subgroup,get(node,id32)));return new Transition(subgroups,this._parents,name,id32)},selectAll:function(select2){var name=this._name,id32=this._id;"function"!=typeof select2&&(select2=selectorAll(select2));for(var groups=this._groups,m2=groups.length,subgroups=[],parents=[],j2=0;j2<m2;++j2)for(var node,group=groups[j2],n2=group.length,i2=0;i2<n2;++i2)if(node=group[i2]){for(var child,children2=select2.call(node,node.__data__,i2,group),inherit2=get(node,id32),k2=0,l4=children2.length;k2<l4;++k2)(child=children2[k2])&&schedule(child,name,id32,k2,children2,inherit2);subgroups.push(children2),parents.push(node)}return new Transition(subgroups,parents,name,id32)},selectChild:selection_prototype.selectChild,selectChildren:selection_prototype.selectChildren,filter:function(match){"function"!=typeof match&&(match=matcher(match));for(var groups=this._groups,m2=groups.length,subgroups=new Array(m2),j2=0;j2<m2;++j2)for(var node,group=groups[j2],n2=group.length,subgroup=subgroups[j2]=[],i2=0;i2<n2;++i2)(node=group[i2])&&match.call(node,node.__data__,i2,group)&&subgroup.push(node);return new Transition(subgroups,this._parents,this._name,this._id)},merge:function(transition){if(transition._id!==this._id)throw new Error;for(var groups0=this._groups,groups1=transition._groups,m0=groups0.length,m1=groups1.length,m2=Math.min(m0,m1),merges=new Array(m0),j2=0;j2<m2;++j2)for(var node,group0=groups0[j2],group1=groups1[j2],n2=group0.length,merge2=merges[j2]=new Array(n2),i2=0;i2<n2;++i2)(node=group0[i2]||group1[i2])&&(merge2[i2]=node);for(;j2<m0;++j2)merges[j2]=groups0[j2];return new Transition(merges,this._parents,this._name,this._id)},selection:function(){return new Selection(this._groups,this._parents)},transition:function(){for(var name=this._name,id0=this._id,id1=newId(),groups=this._groups,m2=groups.length,j2=0;j2<m2;++j2)for(var node,group=groups[j2],n2=group.length,i2=0;i2<n2;++i2)if(node=group[i2]){var inherit2=get(node,id0);schedule(node,name,id1,i2,group,{time:inherit2.time+inherit2.delay+inherit2.duration,delay:0,duration:inherit2.duration,ease:inherit2.ease})}return new Transition(groups,this._parents,name,id1)},call:selection_prototype.call,nodes:selection_prototype.nodes,node:selection_prototype.node,size:selection_prototype.size,empty:selection_prototype.empty,each:selection_prototype.each,on:function(name,listener){var id32=this._id;return arguments.length<2?get(this.node(),id32).on.on(name):this.each(function(id32,name,listener){var on0,on1,sit=function(name){return(name+"").trim().split(/^|\s+/).every(function(t2){var i2=t2.indexOf(".");return i2>=0&&(t2=t2.slice(0,i2)),!t2||"start"===t2})}(name)?init$1:set$1;return function(){var schedule2=sit(this,id32),on=schedule2.on;on!==on0&&(on1=(on0=on).copy()).on(name,listener),schedule2.on=on1}}(id32,name,listener))},attr:function(name,value){var fullname=namespace(name),i2="transform"===fullname?interpolateTransformSvg:interpolate;return this.attrTween(name,"function"==typeof value?(fullname.local?attrFunctionNS:attrFunction)(fullname,i2,tweenValue(this,"attr."+name,value)):null==value?(fullname.local?attrRemoveNS:attrRemove)(fullname):(fullname.local?attrConstantNS:attrConstant)(fullname,i2,value))},attrTween:function(name,value){var key="attr."+name;if(arguments.length<2)return(key=this.tween(key))&&key._value;if(null==value)return this.tween(key,null);if("function"!=typeof value)throw new Error;var fullname=namespace(name);return this.tween(key,(fullname.local?attrTweenNS:attrTween)(fullname,value))},style:function(name,value,priority){var i2="transform"==(name+="")?interpolateTransformCss:interpolate;return null==value?this.styleTween(name,function(name,interpolate2){var string00,string10,interpolate0;return function(){var string0=styleValue(this,name),string1=(this.style.removeProperty(name),styleValue(this,name));return string0===string1?null:string0===string00&&string1===string10?interpolate0:interpolate0=interpolate2(string00=string0,string10=string1)}}(name,i2)).on("end.style."+name,styleRemove(name)):"function"==typeof value?this.styleTween(name,function(name,interpolate2,value){var string00,string10,interpolate0;return function(){var string0=styleValue(this,name),value1=value(this),string1=value1+"";return null==value1&&(this.style.removeProperty(name),string1=value1=styleValue(this,name)),string0===string1?null:string0===string00&&string1===string10?interpolate0:(string10=string1,interpolate0=interpolate2(string00=string0,value1))}}(name,i2,tweenValue(this,"style."+name,value))).each(function(id32,name){var on0,on1,listener0,remove2,key="style."+name,event="end."+key;return function(){var schedule2=set$1(this,id32),on=schedule2.on,listener=null==schedule2.value[key]?remove2||(remove2=styleRemove(name)):void 0;on===on0&&listener0===listener||(on1=(on0=on).copy()).on(event,listener0=listener),schedule2.on=on1}}(this._id,name)):this.styleTween(name,function(name,interpolate2,value1){var string00,interpolate0,string1=value1+"";return function(){var string0=styleValue(this,name);return string0===string1?null:string0===string00?interpolate0:interpolate0=interpolate2(string00=string0,value1)}}(name,i2,value),priority).on("end.style."+name,null)},styleTween:function(name,value,priority){var key="style."+(name+="");if(arguments.length<2)return(key=this.tween(key))&&key._value;if(null==value)return this.tween(key,null);if("function"!=typeof value)throw new Error;return this.tween(key,function(name,value,priority){var t2,i0;function tween(){var i2=value.apply(this,arguments);return i2!==i0&&(t2=(i0=i2)&&function(name,i2,priority){return function(t2){this.style.setProperty(name,i2.call(this,t2),priority)}}(name,i2,priority)),t2}return tween._value=value,tween}(name,value,null==priority?"":priority))},text:function(value){return this.tween("text","function"==typeof value?function(value){return function(){var value1=value(this);this.textContent=null==value1?"":value1}}(tweenValue(this,"text",value)):function(value){return function(){this.textContent=value}}(null==value?"":value+""))},textTween:function(value){var key="text";if(arguments.length<1)return(key=this.tween(key))&&key._value;if(null==value)return this.tween(key,null);if("function"!=typeof value)throw new Error;return this.tween(key,function(value){var t0,i0;function tween(){var i2=value.apply(this,arguments);return i2!==i0&&(t0=(i0=i2)&&function(i2){return function(t2){this.textContent=i2.call(this,t2)}}(i2)),t0}return tween._value=value,tween}(value))},remove:function(){return this.on("end.remove",(id32=this._id,function(){var parent=this.parentNode;for(var i2 in this.__transition)if(+i2!==id32)return;parent&&parent.removeChild(this)}));var id32},tween:function(name,value){var id32=this._id;if(name+="",arguments.length<2){for(var t2,tween=get(this.node(),id32).tween,i2=0,n2=tween.length;i2<n2;++i2)if((t2=tween[i2]).name===name)return t2.value;return null}return this.each((null==value?tweenRemove:tweenFunction)(id32,name,value))},delay:function(value){var id32=this._id;return arguments.length?this.each(("function"==typeof value?delayFunction:delayConstant)(id32,value)):get(this.node(),id32).delay},duration:function(value){var id32=this._id;return arguments.length?this.each(("function"==typeof value?durationFunction:durationConstant)(id32,value)):get(this.node(),id32).duration},ease:function(value){var id32=this._id;return arguments.length?this.each(function(id32,value){if("function"!=typeof value)throw new Error;return function(){set$1(this,id32).ease=value}}(id32,value)):get(this.node(),id32).ease},easeVarying:function(value){if("function"!=typeof value)throw new Error;return this.each(function(id32,value){return function(){var v2=value.apply(this,arguments);if("function"!=typeof v2)throw new Error;set$1(this,id32).ease=v2}}(this._id,value))},end:function(){var on0,on1,that=this,id32=that._id,size=that.size();return new Promise(function(resolve,reject){var cancel={value:reject},end={value:function(){0===--size&&resolve()}};that.each(function(){var schedule2=set$1(this,id32),on=schedule2.on;on!==on0&&((on1=(on0=on).copy())._.cancel.push(cancel),on1._.interrupt.push(cancel),on1._.end.push(end)),schedule2.on=on1}),0===size&&resolve()})},[Symbol.iterator]:selection_prototype[Symbol.iterator]};var defaultTiming={time:null,delay:0,duration:250,ease:function(t2){return((t2*=2)<=1?t2*t2*t2:(t2-=2)*t2*t2+2)/2}};function inherit(node,id32){for(var timing;!(timing=node.__transition)||!(timing=timing[id32]);)if(!(node=node.parentNode))throw new Error(`transition ${id32} not found`);return timing}selection.prototype.interrupt=function(name){return this.each(function(){!function(node,name){var schedule2,active,i2,schedules=node.__transition,empty2=!0;if(schedules){for(i2 in name=null==name?null:name+"",schedules)(schedule2=schedules[i2]).name===name?(active=schedule2.state>2&&schedule2.state<5,schedule2.state=6,schedule2.timer.stop(),schedule2.on.call(active?"interrupt":"cancel",node,node.__data__,schedule2.index,schedule2.group),delete schedules[i2]):empty2=!1;empty2&&delete node.__transition}}(this,name)})},selection.prototype.transition=function(name){var id32,timing;name instanceof Transition?(id32=name._id,name=name._name):(id32=newId(),(timing=defaultTiming).time=now(),name=null==name?null:name+"");for(var groups=this._groups,m2=groups.length,j2=0;j2<m2;++j2)for(var node,group=groups[j2],n2=group.length,i2=0;i2<n2;++i2)(node=group[i2])&&schedule(node,name,id32,i2,group,timing||inherit(node,id32));return new Transition(groups,this._parents,name,id32)};const pi$1=Math.PI,tau$1=2*pi$1,tauEpsilon=tau$1-1e-6;function append(strings){this._+=strings[0];for(let i2=1,n2=strings.length;i2<n2;++i2)this._+=arguments[i2]+strings[i2]}class Path{constructor(digits){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==digits?append:function(digits){let d2=Math.floor(digits);if(!(d2>=0))throw new Error(`invalid digits: ${digits}`);if(d2>15)return append;const k2=10**d2;return function(strings){this._+=strings[0];for(let i2=1,n2=strings.length;i2<n2;++i2)this._+=Math.round(arguments[i2]*k2)/k2+strings[i2]}}(digits)}moveTo(x2,y3){this._append`M${this._x0=this._x1=+x2},${this._y0=this._y1=+y3}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(x2,y3){this._append`L${this._x1=+x2},${this._y1=+y3}`}quadraticCurveTo(x1,y1,x2,y3){this._append`Q${+x1},${+y1},${this._x1=+x2},${this._y1=+y3}`}bezierCurveTo(x1,y1,x2,y22,x3,y3){this._append`C${+x1},${+y1},${+x2},${+y22},${this._x1=+x3},${this._y1=+y3}`}arcTo(x1,y1,x2,y22,r2){if(x1=+x1,y1=+y1,x2=+x2,y22=+y22,(r2=+r2)<0)throw new Error(`negative radius: ${r2}`);let x0=this._x1,y0=this._y1,x21=x2-x1,y21=y22-y1,x01=x0-x1,y01=y0-y1,l01_2=x01*x01+y01*y01;if(null===this._x1)this._append`M${this._x1=x1},${this._y1=y1}`;else if(l01_2>1e-6)if(Math.abs(y01*x21-y21*x01)>1e-6&&r2){let x20=x2-x0,y20=y22-y0,l21_2=x21*x21+y21*y21,l20_2=x20*x20+y20*y20,l21=Math.sqrt(l21_2),l01=Math.sqrt(l01_2),l4=r2*Math.tan((pi$1-Math.acos((l21_2+l01_2-l20_2)/(2*l21*l01)))/2),t01=l4/l01,t21=l4/l21;Math.abs(t01-1)>1e-6&&this._append`L${x1+t01*x01},${y1+t01*y01}`,this._append`A${r2},${r2},0,0,${+(y01*x20>x01*y20)},${this._x1=x1+t21*x21},${this._y1=y1+t21*y21}`}else this._append`L${this._x1=x1},${this._y1=y1}`;else;}arc(x2,y3,r2,a0,a1,ccw){if(x2=+x2,y3=+y3,ccw=!!ccw,(r2=+r2)<0)throw new Error(`negative radius: ${r2}`);let dx=r2*Math.cos(a0),dy=r2*Math.sin(a0),x0=x2+dx,y0=y3+dy,cw=1^ccw,da=ccw?a0-a1:a1-a0;null===this._x1?this._append`M${x0},${y0}`:(Math.abs(this._x1-x0)>1e-6||Math.abs(this._y1-y0)>1e-6)&&this._append`L${x0},${y0}`,r2&&(da<0&&(da=da%tau$1+tau$1),da>tauEpsilon?this._append`A${r2},${r2},0,1,${cw},${x2-dx},${y3-dy}A${r2},${r2},0,1,${cw},${this._x1=x0},${this._y1=y0}`:da>1e-6&&this._append`A${r2},${r2},0,${+(da>=pi$1)},${cw},${this._x1=x2+r2*Math.cos(a1)},${this._y1=y3+r2*Math.sin(a1)}`)}rect(x2,y3,w2,h2){this._append`M${this._x0=this._x1=+x2},${this._y0=this._y1=+y3}h${w2=+w2}v${+h2}h${-w2}Z`}toString(){return this._}}function constant$1(x2){return function(){return x2}}const abs=Math.abs,atan2=Math.atan2,cos=Math.cos,max=Math.max,min=Math.min,sin=Math.sin,sqrt=Math.sqrt,epsilon=1e-12,pi=Math.PI,halfPi=pi/2,tau=2*pi;function acos(x2){return x2>1?0:x2<-1?pi:Math.acos(x2)}function asin(x2){return x2>=1?halfPi:x2<=-1?-halfPi:Math.asin(x2)}function withPath(shape){let digits=3;return shape.digits=function(_2){if(!arguments.length)return digits;if(null==_2)digits=null;else{const d2=Math.floor(_2);if(!(d2>=0))throw new RangeError(`invalid digits: ${_2}`);digits=d2}return shape},()=>new Path(digits)}function array(x2){return"object"==typeof x2&&"length"in x2?x2:Array.from(x2)}function Linear(context){this._context=context}function curveLinear(context){return new Linear(context)}function x$2(p2){return p2[0]}function y$2(p2){return p2[1]}function line(x2,y3){var defined=constant$1(!0),context=null,curve=curveLinear,output=null,path=withPath(line2);function line2(data){var i2,d2,buffer,n2=(data=array(data)).length,defined0=!1;for(null==context&&(output=curve(buffer=path())),i2=0;i2<=n2;++i2)!(i2<n2&&defined(d2=data[i2],i2,data))===defined0&&((defined0=!defined0)?output.lineStart():output.lineEnd()),defined0&&output.point(+x2(d2,i2,data),+y3(d2,i2,data));if(buffer)return output=null,buffer+""||null}return x2="function"==typeof x2?x2:void 0===x2?x$2:constant$1(x2),y3="function"==typeof y3?y3:void 0===y3?y$2:constant$1(y3),line2.x=function(_2){return arguments.length?(x2="function"==typeof _2?_2:constant$1(+_2),line2):x2},line2.y=function(_2){return arguments.length?(y3="function"==typeof _2?_2:constant$1(+_2),line2):y3},line2.defined=function(_2){return arguments.length?(defined="function"==typeof _2?_2:constant$1(!!_2),line2):defined},line2.curve=function(_2){return arguments.length?(curve=_2,null!=context&&(output=curve(context)),line2):curve},line2.context=function(_2){return arguments.length?(null==_2?context=output=null:output=curve(context=_2),line2):context},line2}Linear.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1,this._line?this._context.lineTo(x2,y3):this._context.moveTo(x2,y3);break;case 1:this._point=2;default:this._context.lineTo(x2,y3)}}};class Bump{constructor(context,x2){this._context=context,this._x=x2}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1,this._line?this._context.lineTo(x2,y3):this._context.moveTo(x2,y3);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+x2)/2,this._y0,this._x0,y3,x2,y3):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+y3)/2,x2,this._y0,x2,y3)}this._x0=x2,this._y0=y3}}function bumpX(context){return new Bump(context,!0)}function bumpY(context){return new Bump(context,!1)}function noop(){}function point$4(that,x2,y3){that._context.bezierCurveTo((2*that._x0+that._x1)/3,(2*that._y0+that._y1)/3,(that._x0+2*that._x1)/3,(that._y0+2*that._y1)/3,(that._x0+4*that._x1+x2)/6,(that._y0+4*that._y1+y3)/6)}function Basis(context){this._context=context}function curveBasis(context){return new Basis(context)}function BasisClosed(context){this._context=context}function BasisOpen(context){this._context=context}function Bundle(context,beta){this._basis=new Basis(context),this._beta=beta}Basis.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:point$4(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1,this._line?this._context.lineTo(x2,y3):this._context.moveTo(x2,y3);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:point$4(this,x2,y3)}this._x0=this._x1,this._x1=x2,this._y0=this._y1,this._y1=y3}},BasisClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1,this._x2=x2,this._y2=y3;break;case 1:this._point=2,this._x3=x2,this._y3=y3;break;case 2:this._point=3,this._x4=x2,this._y4=y3,this._context.moveTo((this._x0+4*this._x1+x2)/6,(this._y0+4*this._y1+y3)/6);break;default:point$4(this,x2,y3)}this._x0=this._x1,this._x1=x2,this._y0=this._y1,this._y1=y3}},BasisOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var x0=(this._x0+4*this._x1+x2)/6,y0=(this._y0+4*this._y1+y3)/6;this._line?this._context.lineTo(x0,y0):this._context.moveTo(x0,y0);break;case 3:this._point=4;default:point$4(this,x2,y3)}this._x0=this._x1,this._x1=x2,this._y0=this._y1,this._y1=y3}},Bundle.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var x2=this._x,y3=this._y,j2=x2.length-1;if(j2>0)for(var t2,x0=x2[0],y0=y3[0],dx=x2[j2]-x0,dy=y3[j2]-y0,i2=-1;++i2<=j2;)t2=i2/j2,this._basis.point(this._beta*x2[i2]+(1-this._beta)*(x0+t2*dx),this._beta*y3[i2]+(1-this._beta)*(y0+t2*dy));this._x=this._y=null,this._basis.lineEnd()},point:function(x2,y3){this._x.push(+x2),this._y.push(+y3)}};const curveBundle=function custom(beta){function bundle(context){return 1===beta?new Basis(context):new Bundle(context,beta)}return bundle.beta=function(beta2){return custom(+beta2)},bundle}(.85);function point$3(that,x2,y3){that._context.bezierCurveTo(that._x1+that._k*(that._x2-that._x0),that._y1+that._k*(that._y2-that._y0),that._x2+that._k*(that._x1-x2),that._y2+that._k*(that._y1-y3),that._x2,that._y2)}function Cardinal(context,tension){this._context=context,this._k=(1-tension)/6}Cardinal.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:point$3(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1,this._line?this._context.lineTo(x2,y3):this._context.moveTo(x2,y3);break;case 1:this._point=2,this._x1=x2,this._y1=y3;break;case 2:this._point=3;default:point$3(this,x2,y3)}this._x0=this._x1,this._x1=this._x2,this._x2=x2,this._y0=this._y1,this._y1=this._y2,this._y2=y3}};const curveCardinal=function custom2(tension){function cardinal(context){return new Cardinal(context,tension)}return cardinal.tension=function(tension2){return custom2(+tension2)},cardinal}(0);function CardinalClosed(context,tension){this._context=context,this._k=(1-tension)/6}CardinalClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1,this._x3=x2,this._y3=y3;break;case 1:this._point=2,this._context.moveTo(this._x4=x2,this._y4=y3);break;case 2:this._point=3,this._x5=x2,this._y5=y3;break;default:point$3(this,x2,y3)}this._x0=this._x1,this._x1=this._x2,this._x2=x2,this._y0=this._y1,this._y1=this._y2,this._y2=y3}};const curveCardinalClosed=function custom3(tension){function cardinal(context){return new CardinalClosed(context,tension)}return cardinal.tension=function(tension2){return custom3(+tension2)},cardinal}(0);function CardinalOpen(context,tension){this._context=context,this._k=(1-tension)/6}CardinalOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$3(this,x2,y3)}this._x0=this._x1,this._x1=this._x2,this._x2=x2,this._y0=this._y1,this._y1=this._y2,this._y2=y3}};const curveCardinalOpen=function custom4(tension){function cardinal(context){return new CardinalOpen(context,tension)}return cardinal.tension=function(tension2){return custom4(+tension2)},cardinal}(0);function point$2(that,x2,y3){var x1=that._x1,y1=that._y1,x22=that._x2,y22=that._y2;if(that._l01_a>1e-12){var a2=2*that._l01_2a+3*that._l01_a*that._l12_a+that._l12_2a,n2=3*that._l01_a*(that._l01_a+that._l12_a);x1=(x1*a2-that._x0*that._l12_2a+that._x2*that._l01_2a)/n2,y1=(y1*a2-that._y0*that._l12_2a+that._y2*that._l01_2a)/n2}if(that._l23_a>1e-12){var b2=2*that._l23_2a+3*that._l23_a*that._l12_a+that._l12_2a,m2=3*that._l23_a*(that._l23_a+that._l12_a);x22=(x22*b2+that._x1*that._l23_2a-x2*that._l12_2a)/m2,y22=(y22*b2+that._y1*that._l23_2a-y3*that._l12_2a)/m2}that._context.bezierCurveTo(x1,y1,x22,y22,that._x2,that._y2)}function CatmullRom(context,alpha){this._context=context,this._alpha=alpha}CatmullRom.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){if(x2=+x2,y3=+y3,this._point){var x23=this._x2-x2,y23=this._y2-y3;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(x2,y3):this._context.moveTo(x2,y3);break;case 1:this._point=2;break;case 2:this._point=3;default:point$2(this,x2,y3)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x2,this._y0=this._y1,this._y1=this._y2,this._y2=y3}};const curveCatmullRom=function custom5(alpha){function catmullRom(context){return alpha?new CatmullRom(context,alpha):new Cardinal(context,0)}return catmullRom.alpha=function(alpha2){return custom5(+alpha2)},catmullRom}(.5);function CatmullRomClosed(context,alpha){this._context=context,this._alpha=alpha}CatmullRomClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(x2,y3){if(x2=+x2,y3=+y3,this._point){var x23=this._x2-x2,y23=this._y2-y3;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=x2,this._y3=y3;break;case 1:this._point=2,this._context.moveTo(this._x4=x2,this._y4=y3);break;case 2:this._point=3,this._x5=x2,this._y5=y3;break;default:point$2(this,x2,y3)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x2,this._y0=this._y1,this._y1=this._y2,this._y2=y3}};const curveCatmullRomClosed=function custom6(alpha){function catmullRom(context){return alpha?new CatmullRomClosed(context,alpha):new CardinalClosed(context,0)}return catmullRom.alpha=function(alpha2){return custom6(+alpha2)},catmullRom}(.5);function CatmullRomOpen(context,alpha){this._context=context,this._alpha=alpha}CatmullRomOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){if(x2=+x2,y3=+y3,this._point){var x23=this._x2-x2,y23=this._y2-y3;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$2(this,x2,y3)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x2,this._y0=this._y1,this._y1=this._y2,this._y2=y3}};const curveCatmullRomOpen=function custom7(alpha){function catmullRom(context){return alpha?new CatmullRomOpen(context,alpha):new CardinalOpen(context,0)}return catmullRom.alpha=function(alpha2){return custom7(+alpha2)},catmullRom}(.5);function LinearClosed(context){this._context=context}function sign(x2){return x2<0?-1:1}function slope3(that,x2,y22){var h0=that._x1-that._x0,h1=x2-that._x1,s0=(that._y1-that._y0)/(h0||h1<0&&-0),s1=(y22-that._y1)/(h1||h0<0&&-0),p2=(s0*h1+s1*h0)/(h0+h1);return(sign(s0)+sign(s1))*Math.min(Math.abs(s0),Math.abs(s1),.5*Math.abs(p2))||0}function slope2(that,t2){var h2=that._x1-that._x0;return h2?(3*(that._y1-that._y0)/h2-t2)/2:t2}function point$1(that,t0,t1){var x0=that._x0,y0=that._y0,x1=that._x1,y1=that._y1,dx=(x1-x0)/3;that._context.bezierCurveTo(x0+dx,y0+dx*t0,x1-dx,y1-dx*t1,x1,y1)}function MonotoneX(context){this._context=context}function MonotoneY(context){this._context=new ReflectContext(context)}function ReflectContext(context){this._context=context}function monotoneX(context){return new MonotoneX(context)}function monotoneY(context){return new MonotoneY(context)}function Natural(context){this._context=context}function controlPoints(x2){var i2,m2,n2=x2.length-1,a2=new Array(n2),b2=new Array(n2),r2=new Array(n2);for(a2[0]=0,b2[0]=2,r2[0]=x2[0]+2*x2[1],i2=1;i2<n2-1;++i2)a2[i2]=1,b2[i2]=4,r2[i2]=4*x2[i2]+2*x2[i2+1];for(a2[n2-1]=2,b2[n2-1]=7,r2[n2-1]=8*x2[n2-1]+x2[n2],i2=1;i2<n2;++i2)m2=a2[i2]/b2[i2-1],b2[i2]-=m2,r2[i2]-=m2*r2[i2-1];for(a2[n2-1]=r2[n2-1]/b2[n2-1],i2=n2-2;i2>=0;--i2)a2[i2]=(r2[i2]-a2[i2+1])/b2[i2];for(b2[n2-1]=(x2[n2]+a2[n2-1])/2,i2=0;i2<n2-1;++i2)b2[i2]=2*x2[i2+1]-a2[i2+1];return[a2,b2]}function curveNatural(context){return new Natural(context)}function Step(context,t2){this._context=context,this._t=t2}function curveStep(context){return new Step(context,.5)}function stepBefore(context){return new Step(context,0)}function stepAfter(context){return new Step(context,1)}function Transform(k2,x2,y3){this.k=k2,this.x=x2,this.y=y3}LinearClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(x2,y3){x2=+x2,y3=+y3,this._point?this._context.lineTo(x2,y3):(this._point=1,this._context.moveTo(x2,y3))}},MonotoneX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:point$1(this,this._t0,slope2(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){var t1=NaN;if(y3=+y3,(x2=+x2)!==this._x1||y3!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(x2,y3):this._context.moveTo(x2,y3);break;case 1:this._point=2;break;case 2:this._point=3,point$1(this,slope2(this,t1=slope3(this,x2,y3)),t1);break;default:point$1(this,this._t0,t1=slope3(this,x2,y3))}this._x0=this._x1,this._x1=x2,this._y0=this._y1,this._y1=y3,this._t0=t1}}},(MonotoneY.prototype=Object.create(MonotoneX.prototype)).point=function(x2,y3){MonotoneX.prototype.point.call(this,y3,x2)},ReflectContext.prototype={moveTo:function(x2,y3){this._context.moveTo(y3,x2)},closePath:function(){this._context.closePath()},lineTo:function(x2,y3){this._context.lineTo(y3,x2)},bezierCurveTo:function(x1,y1,x2,y22,x3,y3){this._context.bezierCurveTo(y1,x1,y22,x2,y3,x3)}},Natural.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var x2=this._x,y3=this._y,n2=x2.length;if(n2)if(this._line?this._context.lineTo(x2[0],y3[0]):this._context.moveTo(x2[0],y3[0]),2===n2)this._context.lineTo(x2[1],y3[1]);else for(var px=controlPoints(x2),py=controlPoints(y3),i0=0,i1=1;i1<n2;++i0,++i1)this._context.bezierCurveTo(px[0][i0],py[0][i0],px[1][i0],py[1][i0],x2[i1],y3[i1]);(this._line||0!==this._line&&1===n2)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(x2,y3){this._x.push(+x2),this._y.push(+y3)}},Step.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1,this._line?this._context.lineTo(x2,y3):this._context.moveTo(x2,y3);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,y3),this._context.lineTo(x2,y3);else{var x1=this._x*(1-this._t)+x2*this._t;this._context.lineTo(x1,this._y),this._context.lineTo(x1,y3)}}this._x=x2,this._y=y3}},Transform.prototype={constructor:Transform,scale:function(k2){return 1===k2?this:new Transform(this.k*k2,this.x,this.y)},translate:function(x2,y3){return 0===x2&0===y3?this:new Transform(this.k,this.x+this.k*x2,this.y+this.k*y3)},apply:function(point2){return[point2[0]*this.k+this.x,point2[1]*this.k+this.y]},applyX:function(x2){return x2*this.k+this.x},applyY:function(y3){return y3*this.k+this.y},invert:function(location){return[(location[0]-this.x)/this.k,(location[1]-this.y)/this.k]},invertX:function(x2){return(x2-this.x)/this.k},invertY:function(y3){return(y3-this.y)/this.k},rescaleX:function(x2){return x2.copy().domain(x2.range().map(this.invertX,this).map(x2.invert,x2))},rescaleY:function(y3){return y3.copy().domain(y3.range().map(this.invertY,this).map(y3.invert,y3))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},Transform.prototype;var selectSvgElement=__name(id32=>{var _a2;const{securityLevel:securityLevel}=getConfig2();let root2=select("body");if("sandbox"===securityLevel){const sandboxElement=select(`#i${id32}`);root2=select(((null==(_a2=sandboxElement.node())?void 0:_a2.contentDocument)??document).body)}return root2.select(`#${id32}`)},"selectSvgElement");function isNothing(subject){return null==subject}function isObject$1(subject){return"object"==typeof subject&&null!==subject}function toArray(sequence){return Array.isArray(sequence)?sequence:isNothing(sequence)?[]:[sequence]}function extend(target,source){var index,length,key,sourceKeys;if(source)for(index=0,length=(sourceKeys=Object.keys(source)).length;index<length;index+=1)target[key=sourceKeys[index]]=source[key];return target}function repeat(string,count){var cycle,result="";for(cycle=0;cycle<count;cycle+=1)result+=string;return result}function isNegativeZero(number){return 0===number&&Number.NEGATIVE_INFINITY===1/number}__name(isNothing,"isNothing"),__name(isObject$1,"isObject"),__name(toArray,"toArray"),__name(extend,"extend"),__name(repeat,"repeat"),__name(isNegativeZero,"isNegativeZero");var common={isNothing:isNothing,isObject:isObject$1,toArray:toArray,repeat:repeat,isNegativeZero:isNegativeZero,extend:extend};function formatError(exception2,compact){var where="",message=exception2.reason||"(unknown reason)";return exception2.mark?(exception2.mark.name&&(where+='in "'+exception2.mark.name+'" '),where+="("+(exception2.mark.line+1)+":"+(exception2.mark.column+1)+")",!compact&&exception2.mark.snippet&&(where+="\n\n"+exception2.mark.snippet),message+" "+where):message}function YAMLException$1(reason,mark){Error.call(this),this.name="YAMLException",this.reason=reason,this.mark=mark,this.message=formatError(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}__name(formatError,"formatError"),__name(YAMLException$1,"YAMLException$1"),YAMLException$1.prototype=Object.create(Error.prototype),YAMLException$1.prototype.constructor=YAMLException$1,YAMLException$1.prototype.toString=__name(function(compact){return this.name+": "+formatError(this,compact)},"toString");var exception=YAMLException$1;function getLine(buffer,lineStart,lineEnd,position,maxLineLength){var head="",tail="",maxHalfLength=Math.floor(maxLineLength/2)-1;return position-lineStart>maxHalfLength&&(lineStart=position-maxHalfLength+(head=" ... ").length),lineEnd-position>maxHalfLength&&(lineEnd=position+maxHalfLength-(tail=" ...").length),{str:head+buffer.slice(lineStart,lineEnd).replace(/\t/g,"→")+tail,pos:position-lineStart+head.length}}function padStart(string,max2){return common.repeat(" ",max2-string.length)+string}function makeSnippet(mark,options){if(options=Object.create(options||null),!mark.buffer)return null;options.maxLength||(options.maxLength=79),"number"!=typeof options.indent&&(options.indent=1),"number"!=typeof options.linesBefore&&(options.linesBefore=3),"number"!=typeof options.linesAfter&&(options.linesAfter=2);for(var match,re2=/\r?\n|\r|\0/g,lineStarts=[0],lineEnds=[],foundLineNo=-1;match=re2.exec(mark.buffer);)lineEnds.push(match.index),lineStarts.push(match.index+match[0].length),mark.position<=match.index&&foundLineNo<0&&(foundLineNo=lineStarts.length-2);foundLineNo<0&&(foundLineNo=lineStarts.length-1);var i2,line2,result="",lineNoLength=Math.min(mark.line+options.linesAfter,lineEnds.length).toString().length,maxLineLength=options.maxLength-(options.indent+lineNoLength+3);for(i2=1;i2<=options.linesBefore&&!(foundLineNo-i2<0);i2++)line2=getLine(mark.buffer,lineStarts[foundLineNo-i2],lineEnds[foundLineNo-i2],mark.position-(lineStarts[foundLineNo]-lineStarts[foundLineNo-i2]),maxLineLength),result=common.repeat(" ",options.indent)+padStart((mark.line-i2+1).toString(),lineNoLength)+" | "+line2.str+"\n"+result;for(line2=getLine(mark.buffer,lineStarts[foundLineNo],lineEnds[foundLineNo],mark.position,maxLineLength),result+=common.repeat(" ",options.indent)+padStart((mark.line+1).toString(),lineNoLength)+" | "+line2.str+"\n",result+=common.repeat("-",options.indent+lineNoLength+3+line2.pos)+"^\n",i2=1;i2<=options.linesAfter&&!(foundLineNo+i2>=lineEnds.length);i2++)line2=getLine(mark.buffer,lineStarts[foundLineNo+i2],lineEnds[foundLineNo+i2],mark.position-(lineStarts[foundLineNo]-lineStarts[foundLineNo+i2]),maxLineLength),result+=common.repeat(" ",options.indent)+padStart((mark.line+i2+1).toString(),lineNoLength)+" | "+line2.str+"\n";return result.replace(/\n$/,"")}__name(getLine,"getLine"),__name(padStart,"padStart"),__name(makeSnippet,"makeSnippet");var snippet=makeSnippet,TYPE_CONSTRUCTOR_OPTIONS=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],YAML_NODE_KINDS=["scalar","sequence","mapping"];function compileStyleAliases(map2){var result={};return null!==map2&&Object.keys(map2).forEach(function(style){map2[style].forEach(function(alias){result[String(alias)]=style})}),result}function Type$1(tag,options){if(options=options||{},Object.keys(options).forEach(function(name){if(-1===TYPE_CONSTRUCTOR_OPTIONS.indexOf(name))throw new exception('Unknown option "'+name+'" is met in definition of "'+tag+'" YAML type.')}),this.options=options,this.tag=tag,this.kind=options.kind||null,this.resolve=options.resolve||function(){return!0},this.construct=options.construct||function(data){return data},this.instanceOf=options.instanceOf||null,this.predicate=options.predicate||null,this.represent=options.represent||null,this.representName=options.representName||null,this.defaultStyle=options.defaultStyle||null,this.multi=options.multi||!1,this.styleAliases=compileStyleAliases(options.styleAliases||null),-1===YAML_NODE_KINDS.indexOf(this.kind))throw new exception('Unknown kind "'+this.kind+'" is specified for "'+tag+'" YAML type.')}__name(compileStyleAliases,"compileStyleAliases"),__name(Type$1,"Type$1");var type=Type$1;function compileList(schema2,name){var result=[];return schema2[name].forEach(function(currentType){var newIndex=result.length;result.forEach(function(previousType,previousIndex){previousType.tag===currentType.tag&&previousType.kind===currentType.kind&&previousType.multi===currentType.multi&&(newIndex=previousIndex)}),result[newIndex]=currentType}),result}function compileMap(){var index,length,result={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function collectType(type2){type2.multi?(result.multi[type2.kind].push(type2),result.multi.fallback.push(type2)):result[type2.kind][type2.tag]=result.fallback[type2.tag]=type2}for(__name(collectType,"collectType"),index=0,length=arguments.length;index<length;index+=1)arguments[index].forEach(collectType);return result}function Schema$1(definition){return this.extend(definition)}__name(compileList,"compileList"),__name(compileMap,"compileMap"),__name(Schema$1,"Schema$1"),Schema$1.prototype.extend=__name(function(definition){var implicit=[],explicit=[];if(definition instanceof type)explicit.push(definition);else if(Array.isArray(definition))explicit=explicit.concat(definition);else{if(!definition||!Array.isArray(definition.implicit)&&!Array.isArray(definition.explicit))throw new exception("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");definition.implicit&&(implicit=implicit.concat(definition.implicit)),definition.explicit&&(explicit=explicit.concat(definition.explicit))}implicit.forEach(function(type$1){if(!(type$1 instanceof type))throw new exception("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(type$1.loadKind&&"scalar"!==type$1.loadKind)throw new exception("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(type$1.multi)throw new exception("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),explicit.forEach(function(type$1){if(!(type$1 instanceof type))throw new exception("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var result=Object.create(Schema$1.prototype);return result.implicit=(this.implicit||[]).concat(implicit),result.explicit=(this.explicit||[]).concat(explicit),result.compiledImplicit=compileList(result,"implicit"),result.compiledExplicit=compileList(result,"explicit"),result.compiledTypeMap=compileMap(result.compiledImplicit,result.compiledExplicit),result},"extend");var failsafe=new Schema$1({explicit:[new type("tag:yaml.org,2002:str",{kind:"scalar",construct:__name(function(data){return null!==data?data:""},"construct")}),new type("tag:yaml.org,2002:seq",{kind:"sequence",construct:__name(function(data){return null!==data?data:[]},"construct")}),new type("tag:yaml.org,2002:map",{kind:"mapping",construct:__name(function(data){return null!==data?data:{}},"construct")})]});function resolveYamlNull(data){if(null===data)return!0;var max2=data.length;return 1===max2&&"~"===data||4===max2&&("null"===data||"Null"===data||"NULL"===data)}function constructYamlNull(){return null}function isNull(object){return null===object}__name(resolveYamlNull,"resolveYamlNull"),__name(constructYamlNull,"constructYamlNull"),__name(isNull,"isNull");var _null=new type("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:__name(function(){return"~"},"canonical"),lowercase:__name(function(){return"null"},"lowercase"),uppercase:__name(function(){return"NULL"},"uppercase"),camelcase:__name(function(){return"Null"},"camelcase"),empty:__name(function(){return""},"empty")},defaultStyle:"lowercase"});function resolveYamlBoolean(data){if(null===data)return!1;var max2=data.length;return 4===max2&&("true"===data||"True"===data||"TRUE"===data)||5===max2&&("false"===data||"False"===data||"FALSE"===data)}function constructYamlBoolean(data){return"true"===data||"True"===data||"TRUE"===data}function isBoolean(object){return"[object Boolean]"===Object.prototype.toString.call(object)}__name(resolveYamlBoolean,"resolveYamlBoolean"),__name(constructYamlBoolean,"constructYamlBoolean"),__name(isBoolean,"isBoolean");var bool=new type("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:__name(function(object){return object?"true":"false"},"lowercase"),uppercase:__name(function(object){return object?"TRUE":"FALSE"},"uppercase"),camelcase:__name(function(object){return object?"True":"False"},"camelcase")},defaultStyle:"lowercase"});function isHexCode(c2){return 48<=c2&&c2<=57||65<=c2&&c2<=70||97<=c2&&c2<=102}function isOctCode(c2){return 48<=c2&&c2<=55}function isDecCode(c2){return 48<=c2&&c2<=57}function resolveYamlInteger(data){if(null===data)return!1;var ch,max2=data.length,index=0,hasDigits=!1;if(!max2)return!1;if("-"!==(ch=data[index])&&"+"!==ch||(ch=data[++index]),"0"===ch){if(index+1===max2)return!0;if("b"===(ch=data[++index])){for(index++;index<max2;index++)if("_"!==(ch=data[index])){if("0"!==ch&&"1"!==ch)return!1;hasDigits=!0}return hasDigits&&"_"!==ch}if("x"===ch){for(index++;index<max2;index++)if("_"!==(ch=data[index])){if(!isHexCode(data.charCodeAt(index)))return!1;hasDigits=!0}return hasDigits&&"_"!==ch}if("o"===ch){for(index++;index<max2;index++)if("_"!==(ch=data[index])){if(!isOctCode(data.charCodeAt(index)))return!1;hasDigits=!0}return hasDigits&&"_"!==ch}}if("_"===ch)return!1;for(;index<max2;index++)if("_"!==(ch=data[index])){if(!isDecCode(data.charCodeAt(index)))return!1;hasDigits=!0}return!(!hasDigits||"_"===ch)}function constructYamlInteger(data){var ch,value=data,sign2=1;if(-1!==value.indexOf("_")&&(value=value.replace(/_/g,"")),"-"!==(ch=value[0])&&"+"!==ch||("-"===ch&&(sign2=-1),ch=(value=value.slice(1))[0]),"0"===value)return 0;if("0"===ch){if("b"===value[1])return sign2*parseInt(value.slice(2),2);if("x"===value[1])return sign2*parseInt(value.slice(2),16);if("o"===value[1])return sign2*parseInt(value.slice(2),8)}return sign2*parseInt(value,10)}function isInteger(object){return"[object Number]"===Object.prototype.toString.call(object)&&object%1==0&&!common.isNegativeZero(object)}__name(isHexCode,"isHexCode"),__name(isOctCode,"isOctCode"),__name(isDecCode,"isDecCode"),__name(resolveYamlInteger,"resolveYamlInteger"),__name(constructYamlInteger,"constructYamlInteger"),__name(isInteger,"isInteger");var int=new type("tag:yaml.org,2002:int",{kind:"scalar",resolve:resolveYamlInteger,construct:constructYamlInteger,predicate:isInteger,represent:{binary:__name(function(obj){return obj>=0?"0b"+obj.toString(2):"-0b"+obj.toString(2).slice(1)},"binary"),octal:__name(function(obj){return obj>=0?"0o"+obj.toString(8):"-0o"+obj.toString(8).slice(1)},"octal"),decimal:__name(function(obj){return obj.toString(10)},"decimal"),hexadecimal:__name(function(obj){return obj>=0?"0x"+obj.toString(16).toUpperCase():"-0x"+obj.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),YAML_FLOAT_PATTERN=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(data){return null!==data&&!(!YAML_FLOAT_PATTERN.test(data)||"_"===data[data.length-1])}function constructYamlFloat(data){var value,sign2;return sign2="-"===(value=data.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(value[0])>=0&&(value=value.slice(1)),".inf"===value?1===sign2?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===value?NaN:sign2*parseFloat(value,10)}__name(resolveYamlFloat,"resolveYamlFloat"),__name(constructYamlFloat,"constructYamlFloat");var SCIENTIFIC_WITHOUT_DOT=/^[-+]?[0-9]+e/;function representYamlFloat(object,style){var res;if(isNaN(object))switch(style){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===object)switch(style){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===object)switch(style){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(common.isNegativeZero(object))return"-0.0";return res=object.toString(10),SCIENTIFIC_WITHOUT_DOT.test(res)?res.replace("e",".e"):res}function isFloat(object){return"[object Number]"===Object.prototype.toString.call(object)&&(object%1!=0||common.isNegativeZero(object))}__name(representYamlFloat,"representYamlFloat"),__name(isFloat,"isFloat");var float=new type("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"}),json=failsafe.extend({implicit:[_null,bool,int,float]}),core=json,YAML_DATE_REGEXP=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),YAML_TIMESTAMP_REGEXP=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function resolveYamlTimestamp(data){return null!==data&&(null!==YAML_DATE_REGEXP.exec(data)||null!==YAML_TIMESTAMP_REGEXP.exec(data))}function constructYamlTimestamp(data){var match,year,month,day,hour,minute,second,date,fraction=0,delta=null;if(null===(match=YAML_DATE_REGEXP.exec(data))&&(match=YAML_TIMESTAMP_REGEXP.exec(data)),null===match)throw new Error("Date resolve error");if(year=+match[1],month=+match[2]-1,day=+match[3],!match[4])return new Date(Date.UTC(year,month,day));if(hour=+match[4],minute=+match[5],second=+match[6],match[7]){for(fraction=match[7].slice(0,3);fraction.length<3;)fraction+="0";fraction=+fraction}return match[9]&&(delta=6e4*(60*+match[10]+ +(match[11]||0)),"-"===match[9]&&(delta=-delta)),date=new Date(Date.UTC(year,month,day,hour,minute,second,fraction)),delta&&date.setTime(date.getTime()-delta),date}function representYamlTimestamp(object){return object.toISOString()}__name(resolveYamlTimestamp,"resolveYamlTimestamp"),__name(constructYamlTimestamp,"constructYamlTimestamp"),__name(representYamlTimestamp,"representYamlTimestamp");var timestamp=new type("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:resolveYamlTimestamp,construct:constructYamlTimestamp,instanceOf:Date,represent:representYamlTimestamp});function resolveYamlMerge(data){return"<<"===data||null===data}__name(resolveYamlMerge,"resolveYamlMerge");var merge$1=new type("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge}),BASE64_MAP="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function resolveYamlBinary(data){if(null===data)return!1;var code,idx,bitlen=0,max2=data.length,map2=BASE64_MAP;for(idx=0;idx<max2;idx++)if(!((code=map2.indexOf(data.charAt(idx)))>64)){if(code<0)return!1;bitlen+=6}return bitlen%8==0}function constructYamlBinary(data){var idx,tailbits,input=data.replace(/[\r\n=]/g,""),max2=input.length,map2=BASE64_MAP,bits=0,result=[];for(idx=0;idx<max2;idx++)idx%4==0&&idx&&(result.push(bits>>16&255),result.push(bits>>8&255),result.push(255&bits)),bits=bits<<6|map2.indexOf(input.charAt(idx));return 0===(tailbits=max2%4*6)?(result.push(bits>>16&255),result.push(bits>>8&255),result.push(255&bits)):18===tailbits?(result.push(bits>>10&255),result.push(bits>>2&255)):12===tailbits&&result.push(bits>>4&255),new Uint8Array(result)}function representYamlBinary(object){var idx,tail,result="",bits=0,max2=object.length,map2=BASE64_MAP;for(idx=0;idx<max2;idx++)idx%3==0&&idx&&(result+=map2[bits>>18&63],result+=map2[bits>>12&63],result+=map2[bits>>6&63],result+=map2[63&bits]),bits=(bits<<8)+object[idx];return 0===(tail=max2%3)?(result+=map2[bits>>18&63],result+=map2[bits>>12&63],result+=map2[bits>>6&63],result+=map2[63&bits]):2===tail?(result+=map2[bits>>10&63],result+=map2[bits>>4&63],result+=map2[bits<<2&63],result+=map2[64]):1===tail&&(result+=map2[bits>>2&63],result+=map2[bits<<4&63],result+=map2[64],result+=map2[64]),result}function isBinary(obj){return"[object Uint8Array]"===Object.prototype.toString.call(obj)}__name(resolveYamlBinary,"resolveYamlBinary"),__name(constructYamlBinary,"constructYamlBinary"),__name(representYamlBinary,"representYamlBinary"),__name(isBinary,"isBinary");var binary=new type("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary}),_hasOwnProperty$3=Object.prototype.hasOwnProperty,_toString$2=Object.prototype.toString;function resolveYamlOmap(data){if(null===data)return!0;var index,length,pair,pairKey,pairHasKey,objectKeys=[],object=data;for(index=0,length=object.length;index<length;index+=1){if(pair=object[index],pairHasKey=!1,"[object Object]"!==_toString$2.call(pair))return!1;for(pairKey in pair)if(_hasOwnProperty$3.call(pair,pairKey)){if(pairHasKey)return!1;pairHasKey=!0}if(!pairHasKey)return!1;if(-1!==objectKeys.indexOf(pairKey))return!1;objectKeys.push(pairKey)}return!0}function constructYamlOmap(data){return null!==data?data:[]}__name(resolveYamlOmap,"resolveYamlOmap"),__name(constructYamlOmap,"constructYamlOmap");var omap=new type("tag:yaml.org,2002:omap",{kind:"sequence",resolve:resolveYamlOmap,construct:constructYamlOmap}),_toString$1=Object.prototype.toString;function resolveYamlPairs(data){if(null===data)return!0;var index,length,pair,keys,result,object=data;for(result=new Array(object.length),index=0,length=object.length;index<length;index+=1){if(pair=object[index],"[object Object]"!==_toString$1.call(pair))return!1;if(1!==(keys=Object.keys(pair)).length)return!1;result[index]=[keys[0],pair[keys[0]]]}return!0}function constructYamlPairs(data){if(null===data)return[];var index,length,pair,keys,result,object=data;for(result=new Array(object.length),index=0,length=object.length;index<length;index+=1)pair=object[index],keys=Object.keys(pair),result[index]=[keys[0],pair[keys[0]]];return result}__name(resolveYamlPairs,"resolveYamlPairs"),__name(constructYamlPairs,"constructYamlPairs");var pairs=new type("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:resolveYamlPairs,construct:constructYamlPairs}),_hasOwnProperty$2=Object.prototype.hasOwnProperty;function resolveYamlSet(data){if(null===data)return!0;var key,object=data;for(key in object)if(_hasOwnProperty$2.call(object,key)&&null!==object[key])return!1;return!0}function constructYamlSet(data){return null!==data?data:{}}__name(resolveYamlSet,"resolveYamlSet"),__name(constructYamlSet,"constructYamlSet");var set=new type("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet}),_default=core.extend({implicit:[timestamp,merge$1],explicit:[binary,omap,pairs,set]}),_hasOwnProperty$1=Object.prototype.hasOwnProperty,PATTERN_NON_PRINTABLE=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,PATTERN_NON_ASCII_LINE_BREAKS=/[\x85\u2028\u2029]/,PATTERN_FLOW_INDICATORS=/[,\[\]\{\}]/,PATTERN_TAG_HANDLE=/^(?:!|!!|![a-z\-]+!)$/i,PATTERN_TAG_URI=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function _class(obj){return Object.prototype.toString.call(obj)}function is_EOL(c2){return 10===c2||13===c2}function is_WHITE_SPACE(c2){return 9===c2||32===c2}function is_WS_OR_EOL(c2){return 9===c2||32===c2||10===c2||13===c2}function is_FLOW_INDICATOR(c2){return 44===c2||91===c2||93===c2||123===c2||125===c2}function fromHexCode(c2){var lc;return 48<=c2&&c2<=57?c2-48:97<=(lc=32|c2)&&lc<=102?lc-97+10:-1}function escapedHexLen(c2){return 120===c2?2:117===c2?4:85===c2?8:0}function fromDecimalCode(c2){return 48<=c2&&c2<=57?c2-48:-1}function simpleEscapeSequence(c2){return 48===c2?"\0":97===c2?"":98===c2?"\b":116===c2||9===c2?"\t":110===c2?"\n":118===c2?"\v":102===c2?"\f":114===c2?"\r":101===c2?"":32===c2?" ":34===c2?'"':47===c2?"/":92===c2?"\\":78===c2?"…":95===c2?" ":76===c2?"\u2028":80===c2?"\u2029":""}function charFromCodepoint(c2){return c2<=65535?String.fromCharCode(c2):String.fromCharCode(55296+(c2-65536>>10),56320+(c2-65536&1023))}function setProperty(object,key,value){"__proto__"===key?Object.defineProperty(object,key,{configurable:!0,enumerable:!0,writable:!0,value:value}):object[key]=value}__name(_class,"_class"),__name(is_EOL,"is_EOL"),__name(is_WHITE_SPACE,"is_WHITE_SPACE"),__name(is_WS_OR_EOL,"is_WS_OR_EOL"),__name(is_FLOW_INDICATOR,"is_FLOW_INDICATOR"),__name(fromHexCode,"fromHexCode"),__name(escapedHexLen,"escapedHexLen"),__name(fromDecimalCode,"fromDecimalCode"),__name(simpleEscapeSequence,"simpleEscapeSequence"),__name(charFromCodepoint,"charFromCodepoint"),__name(setProperty,"setProperty");var i$1,simpleEscapeCheck=new Array(256),simpleEscapeMap=new Array(256);for(i$1=0;i$1<256;i$1++)simpleEscapeCheck[i$1]=simpleEscapeSequence(i$1)?1:0,simpleEscapeMap[i$1]=simpleEscapeSequence(i$1);function State$1(input,options){this.input=input,this.filename=options.filename||null,this.schema=options.schema||_default,this.onWarning=options.onWarning||null,this.legacy=options.legacy||!1,this.json=options.json||!1,this.listener=options.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=input.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function generateError(state2,message){var mark={name:state2.filename,buffer:state2.input.slice(0,-1),position:state2.position,line:state2.line,column:state2.position-state2.lineStart};return mark.snippet=snippet(mark),new exception(message,mark)}function throwError(state2,message){throw generateError(state2,message)}function throwWarning(state2,message){state2.onWarning&&state2.onWarning.call(null,generateError(state2,message))}__name(State$1,"State$1"),__name(generateError,"generateError"),__name(throwError,"throwError"),__name(throwWarning,"throwWarning");var directiveHandlers={YAML:__name(function(state2,name,args){var match,major,minor;null!==state2.version&&throwError(state2,"duplication of %YAML directive"),1!==args.length&&throwError(state2,"YAML directive accepts exactly one argument"),null===(match=/^([0-9]+)\.([0-9]+)$/.exec(args[0]))&&throwError(state2,"ill-formed argument of the YAML directive"),major=parseInt(match[1],10),minor=parseInt(match[2],10),1!==major&&throwError(state2,"unacceptable YAML version of the document"),state2.version=args[0],state2.checkLineBreaks=minor<2,1!==minor&&2!==minor&&throwWarning(state2,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:__name(function(state2,name,args){var handle,prefix;2!==args.length&&throwError(state2,"TAG directive accepts exactly two arguments"),handle=args[0],prefix=args[1],PATTERN_TAG_HANDLE.test(handle)||throwError(state2,"ill-formed tag handle (first argument) of the TAG directive"),_hasOwnProperty$1.call(state2.tagMap,handle)&&throwError(state2,'there is a previously declared suffix for "'+handle+'" tag handle'),PATTERN_TAG_URI.test(prefix)||throwError(state2,"ill-formed tag prefix (second argument) of the TAG directive");try{prefix=decodeURIComponent(prefix)}catch(err){throwError(state2,"tag prefix is malformed: "+prefix)}state2.tagMap[handle]=prefix},"handleTagDirective")};function captureSegment(state2,start2,end,checkJson){var _position,_length,_character,_result;if(start2<end){if(_result=state2.input.slice(start2,end),checkJson)for(_position=0,_length=_result.length;_position<_length;_position+=1)9===(_character=_result.charCodeAt(_position))||32<=_character&&_character<=1114111||throwError(state2,"expected valid JSON character");else PATTERN_NON_PRINTABLE.test(_result)&&throwError(state2,"the stream contains non-printable characters");state2.result+=_result}}function mergeMappings(state2,destination,source,overridableKeys){var sourceKeys,key,index,quantity;for(common.isObject(source)||throwError(state2,"cannot merge mappings; the provided source object is unacceptable"),index=0,quantity=(sourceKeys=Object.keys(source)).length;index<quantity;index+=1)key=sourceKeys[index],_hasOwnProperty$1.call(destination,key)||(setProperty(destination,key,source[key]),overridableKeys[key]=!0)}function storeMappingPair(state2,_result,overridableKeys,keyTag,keyNode,valueNode,startLine,startLineStart,startPos){var index,quantity;if(Array.isArray(keyNode))for(index=0,quantity=(keyNode=Array.prototype.slice.call(keyNode)).length;index<quantity;index+=1)Array.isArray(keyNode[index])&&throwError(state2,"nested arrays are not supported inside keys"),"object"==typeof keyNode&&"[object Object]"===_class(keyNode[index])&&(keyNode[index]="[object Object]");if("object"==typeof keyNode&&"[object Object]"===_class(keyNode)&&(keyNode="[object Object]"),keyNode=String(keyNode),null===_result&&(_result={}),"tag:yaml.org,2002:merge"===keyTag)if(Array.isArray(valueNode))for(index=0,quantity=valueNode.length;index<quantity;index+=1)mergeMappings(state2,_result,valueNode[index],overridableKeys);else mergeMappings(state2,_result,valueNode,overridableKeys);else state2.json||_hasOwnProperty$1.call(overridableKeys,keyNode)||!_hasOwnProperty$1.call(_result,keyNode)||(state2.line=startLine||state2.line,state2.lineStart=startLineStart||state2.lineStart,state2.position=startPos||state2.position,throwError(state2,"duplicated mapping key")),setProperty(_result,keyNode,valueNode),delete overridableKeys[keyNode];return _result}function readLineBreak(state2){var ch;10===(ch=state2.input.charCodeAt(state2.position))?state2.position++:13===ch?(state2.position++,10===state2.input.charCodeAt(state2.position)&&state2.position++):throwError(state2,"a line break is expected"),state2.line+=1,state2.lineStart=state2.position,state2.firstTabInLine=-1}function skipSeparationSpace(state2,allowComments,checkIndent){for(var lineBreaks=0,ch=state2.input.charCodeAt(state2.position);0!==ch;){for(;is_WHITE_SPACE(ch);)9===ch&&-1===state2.firstTabInLine&&(state2.firstTabInLine=state2.position),ch=state2.input.charCodeAt(++state2.position);if(allowComments&&35===ch)do{ch=state2.input.charCodeAt(++state2.position)}while(10!==ch&&13!==ch&&0!==ch);if(!is_EOL(ch))break;for(readLineBreak(state2),ch=state2.input.charCodeAt(state2.position),lineBreaks++,state2.lineIndent=0;32===ch;)state2.lineIndent++,ch=state2.input.charCodeAt(++state2.position)}return-1!==checkIndent&&0!==lineBreaks&&state2.lineIndent<checkIndent&&throwWarning(state2,"deficient indentation"),lineBreaks}function testDocumentSeparator(state2){var ch,_position=state2.position;return!(45!==(ch=state2.input.charCodeAt(_position))&&46!==ch||ch!==state2.input.charCodeAt(_position+1)||ch!==state2.input.charCodeAt(_position+2)||(_position+=3,0!==(ch=state2.input.charCodeAt(_position))&&!is_WS_OR_EOL(ch)))}function writeFoldedLines(state2,count){1===count?state2.result+=" ":count>1&&(state2.result+=common.repeat("\n",count-1))}function readPlainScalar(state2,nodeIndent,withinFlowCollection){var following,captureStart,captureEnd,hasPendingContent,_line,_lineStart,_lineIndent,ch,_kind=state2.kind,_result=state2.result;if(is_WS_OR_EOL(ch=state2.input.charCodeAt(state2.position))||is_FLOW_INDICATOR(ch)||35===ch||38===ch||42===ch||33===ch||124===ch||62===ch||39===ch||34===ch||37===ch||64===ch||96===ch)return!1;if((63===ch||45===ch)&&(is_WS_OR_EOL(following=state2.input.charCodeAt(state2.position+1))||withinFlowCollection&&is_FLOW_INDICATOR(following)))return!1;for(state2.kind="scalar",state2.result="",captureStart=captureEnd=state2.position,hasPendingContent=!1;0!==ch;){if(58===ch){if(is_WS_OR_EOL(following=state2.input.charCodeAt(state2.position+1))||withinFlowCollection&&is_FLOW_INDICATOR(following))break}else if(35===ch){if(is_WS_OR_EOL(state2.input.charCodeAt(state2.position-1)))break}else{if(state2.position===state2.lineStart&&testDocumentSeparator(state2)||withinFlowCollection&&is_FLOW_INDICATOR(ch))break;if(is_EOL(ch)){if(_line=state2.line,_lineStart=state2.lineStart,_lineIndent=state2.lineIndent,skipSeparationSpace(state2,!1,-1),state2.lineIndent>=nodeIndent){hasPendingContent=!0,ch=state2.input.charCodeAt(state2.position);continue}state2.position=captureEnd,state2.line=_line,state2.lineStart=_lineStart,state2.lineIndent=_lineIndent;break}}hasPendingContent&&(captureSegment(state2,captureStart,captureEnd,!1),writeFoldedLines(state2,state2.line-_line),captureStart=captureEnd=state2.position,hasPendingContent=!1),is_WHITE_SPACE(ch)||(captureEnd=state2.position+1),ch=state2.input.charCodeAt(++state2.position)}return captureSegment(state2,captureStart,captureEnd,!1),!!state2.result||(state2.kind=_kind,state2.result=_result,!1)}function readSingleQuotedScalar(state2,nodeIndent){var ch,captureStart,captureEnd;if(39!==(ch=state2.input.charCodeAt(state2.position)))return!1;for(state2.kind="scalar",state2.result="",state2.position++,captureStart=captureEnd=state2.position;0!==(ch=state2.input.charCodeAt(state2.position));)if(39===ch){if(captureSegment(state2,captureStart,state2.position,!0),39!==(ch=state2.input.charCodeAt(++state2.position)))return!0;captureStart=state2.position,state2.position++,captureEnd=state2.position}else is_EOL(ch)?(captureSegment(state2,captureStart,captureEnd,!0),writeFoldedLines(state2,skipSeparationSpace(state2,!1,nodeIndent)),captureStart=captureEnd=state2.position):state2.position===state2.lineStart&&testDocumentSeparator(state2)?throwError(state2,"unexpected end of the document within a single quoted scalar"):(state2.position++,captureEnd=state2.position);throwError(state2,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(state2,nodeIndent){var captureStart,captureEnd,hexLength,hexResult,tmp,ch;if(34!==(ch=state2.input.charCodeAt(state2.position)))return!1;for(state2.kind="scalar",state2.result="",state2.position++,captureStart=captureEnd=state2.position;0!==(ch=state2.input.charCodeAt(state2.position));){if(34===ch)return captureSegment(state2,captureStart,state2.position,!0),state2.position++,!0;if(92===ch){if(captureSegment(state2,captureStart,state2.position,!0),is_EOL(ch=state2.input.charCodeAt(++state2.position)))skipSeparationSpace(state2,!1,nodeIndent);else if(ch<256&&simpleEscapeCheck[ch])state2.result+=simpleEscapeMap[ch],state2.position++;else if((tmp=escapedHexLen(ch))>0){for(hexLength=tmp,hexResult=0;hexLength>0;hexLength--)(tmp=fromHexCode(ch=state2.input.charCodeAt(++state2.position)))>=0?hexResult=(hexResult<<4)+tmp:throwError(state2,"expected hexadecimal character");state2.result+=charFromCodepoint(hexResult),state2.position++}else throwError(state2,"unknown escape sequence");captureStart=captureEnd=state2.position}else is_EOL(ch)?(captureSegment(state2,captureStart,captureEnd,!0),writeFoldedLines(state2,skipSeparationSpace(state2,!1,nodeIndent)),captureStart=captureEnd=state2.position):state2.position===state2.lineStart&&testDocumentSeparator(state2)?throwError(state2,"unexpected end of the document within a double quoted scalar"):(state2.position++,captureEnd=state2.position)}throwError(state2,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(state2,nodeIndent){var _line,_lineStart,_pos,_result,terminator,isPair,isExplicitPair,isMapping,keyNode,keyTag,valueNode,ch,readNext=!0,_tag=state2.tag,_anchor=state2.anchor,overridableKeys=Object.create(null);if(91===(ch=state2.input.charCodeAt(state2.position)))terminator=93,isMapping=!1,_result=[];else{if(123!==ch)return!1;terminator=125,isMapping=!0,_result={}}for(null!==state2.anchor&&(state2.anchorMap[state2.anchor]=_result),ch=state2.input.charCodeAt(++state2.position);0!==ch;){if(skipSeparationSpace(state2,!0,nodeIndent),(ch=state2.input.charCodeAt(state2.position))===terminator)return state2.position++,state2.tag=_tag,state2.anchor=_anchor,state2.kind=isMapping?"mapping":"sequence",state2.result=_result,!0;readNext?44===ch&&throwError(state2,"expected the node content, but found ','"):throwError(state2,"missed comma between flow collection entries"),valueNode=null,isPair=isExplicitPair=!1,63===ch&&is_WS_OR_EOL(state2.input.charCodeAt(state2.position+1))&&(isPair=isExplicitPair=!0,state2.position++,skipSeparationSpace(state2,!0,nodeIndent)),_line=state2.line,_lineStart=state2.lineStart,_pos=state2.position,composeNode(state2,nodeIndent,1,!1,!0),keyTag=state2.tag,keyNode=state2.result,skipSeparationSpace(state2,!0,nodeIndent),ch=state2.input.charCodeAt(state2.position),!isExplicitPair&&state2.line!==_line||58!==ch||(isPair=!0,ch=state2.input.charCodeAt(++state2.position),skipSeparationSpace(state2,!0,nodeIndent),composeNode(state2,nodeIndent,1,!1,!0),valueNode=state2.result),isMapping?storeMappingPair(state2,_result,overridableKeys,keyTag,keyNode,valueNode,_line,_lineStart,_pos):isPair?_result.push(storeMappingPair(state2,null,overridableKeys,keyTag,keyNode,valueNode,_line,_lineStart,_pos)):_result.push(keyNode),skipSeparationSpace(state2,!0,nodeIndent),44===(ch=state2.input.charCodeAt(state2.position))?(readNext=!0,ch=state2.input.charCodeAt(++state2.position)):readNext=!1}throwError(state2,"unexpected end of the stream within a flow collection")}function readBlockScalar(state2,nodeIndent){var captureStart,folding,tmp,ch,chomping=1,didReadContent=!1,detectedIndent=!1,textIndent=nodeIndent,emptyLines=0,atMoreIndented=!1;if(124===(ch=state2.input.charCodeAt(state2.position)))folding=!1;else{if(62!==ch)return!1;folding=!0}for(state2.kind="scalar",state2.result="";0!==ch;)if(43===(ch=state2.input.charCodeAt(++state2.position))||45===ch)1===chomping?chomping=43===ch?3:2:throwError(state2,"repeat of a chomping mode identifier");else{if(!((tmp=fromDecimalCode(ch))>=0))break;0===tmp?throwError(state2,"bad explicit indentation width of a block scalar; it cannot be less than one"):detectedIndent?throwError(state2,"repeat of an indentation width identifier"):(textIndent=nodeIndent+tmp-1,detectedIndent=!0)}if(is_WHITE_SPACE(ch)){do{ch=state2.input.charCodeAt(++state2.position)}while(is_WHITE_SPACE(ch));if(35===ch)do{ch=state2.input.charCodeAt(++state2.position)}while(!is_EOL(ch)&&0!==ch)}for(;0!==ch;){for(readLineBreak(state2),state2.lineIndent=0,ch=state2.input.charCodeAt(state2.position);(!detectedIndent||state2.lineIndent<textIndent)&&32===ch;)state2.lineIndent++,ch=state2.input.charCodeAt(++state2.position);if(!detectedIndent&&state2.lineIndent>textIndent&&(textIndent=state2.lineIndent),is_EOL(ch))emptyLines++;else{if(state2.lineIndent<textIndent){3===chomping?state2.result+=common.repeat("\n",didReadContent?1+emptyLines:emptyLines):1===chomping&&didReadContent&&(state2.result+="\n");break}for(folding?is_WHITE_SPACE(ch)?(atMoreIndented=!0,state2.result+=common.repeat("\n",didReadContent?1+emptyLines:emptyLines)):atMoreIndented?(atMoreIndented=!1,state2.result+=common.repeat("\n",emptyLines+1)):0===emptyLines?didReadContent&&(state2.result+=" "):state2.result+=common.repeat("\n",emptyLines):state2.result+=common.repeat("\n",didReadContent?1+emptyLines:emptyLines),didReadContent=!0,detectedIndent=!0,emptyLines=0,captureStart=state2.position;!is_EOL(ch)&&0!==ch;)ch=state2.input.charCodeAt(++state2.position);captureSegment(state2,captureStart,state2.position,!1)}}return!0}function readBlockSequence(state2,nodeIndent){var _line,ch,_tag=state2.tag,_anchor=state2.anchor,_result=[],detected=!1;if(-1!==state2.firstTabInLine)return!1;for(null!==state2.anchor&&(state2.anchorMap[state2.anchor]=_result),ch=state2.input.charCodeAt(state2.position);0!==ch&&(-1!==state2.firstTabInLine&&(state2.position=state2.firstTabInLine,throwError(state2,"tab characters must not be used in indentation")),45===ch)&&is_WS_OR_EOL(state2.input.charCodeAt(state2.position+1));)if(detected=!0,state2.position++,skipSeparationSpace(state2,!0,-1)&&state2.lineIndent<=nodeIndent)_result.push(null),ch=state2.input.charCodeAt(state2.position);else if(_line=state2.line,composeNode(state2,nodeIndent,3,!1,!0),_result.push(state2.result),skipSeparationSpace(state2,!0,-1),ch=state2.input.charCodeAt(state2.position),(state2.line===_line||state2.lineIndent>nodeIndent)&&0!==ch)throwError(state2,"bad indentation of a sequence entry");else if(state2.lineIndent<nodeIndent)break;return!!detected&&(state2.tag=_tag,state2.anchor=_anchor,state2.kind="sequence",state2.result=_result,!0)}function readBlockMapping(state2,nodeIndent,flowIndent){var following,allowCompact,_line,_keyLine,_keyLineStart,_keyPos,ch,_tag=state2.tag,_anchor=state2.anchor,_result={},overridableKeys=Object.create(null),keyTag=null,keyNode=null,valueNode=null,atExplicitKey=!1,detected=!1;if(-1!==state2.firstTabInLine)return!1;for(null!==state2.anchor&&(state2.anchorMap[state2.anchor]=_result),ch=state2.input.charCodeAt(state2.position);0!==ch;){if(atExplicitKey||-1===state2.firstTabInLine||(state2.position=state2.firstTabInLine,throwError(state2,"tab characters must not be used in indentation")),following=state2.input.charCodeAt(state2.position+1),_line=state2.line,63!==ch&&58!==ch||!is_WS_OR_EOL(following)){if(_keyLine=state2.line,_keyLineStart=state2.lineStart,_keyPos=state2.position,!composeNode(state2,flowIndent,2,!1,!0))break;if(state2.line===_line){for(ch=state2.input.charCodeAt(state2.position);is_WHITE_SPACE(ch);)ch=state2.input.charCodeAt(++state2.position);if(58===ch)is_WS_OR_EOL(ch=state2.input.charCodeAt(++state2.position))||throwError(state2,"a whitespace character is expected after the key-value separator within a block mapping"),atExplicitKey&&(storeMappingPair(state2,_result,overridableKeys,keyTag,keyNode,null,_keyLine,_keyLineStart,_keyPos),keyTag=keyNode=valueNode=null),detected=!0,atExplicitKey=!1,allowCompact=!1,keyTag=state2.tag,keyNode=state2.result;else{if(!detected)return state2.tag=_tag,state2.anchor=_anchor,!0;throwError(state2,"can not read an implicit mapping pair; a colon is missed")}}else{if(!detected)return state2.tag=_tag,state2.anchor=_anchor,!0;throwError(state2,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===ch?(atExplicitKey&&(storeMappingPair(state2,_result,overridableKeys,keyTag,keyNode,null,_keyLine,_keyLineStart,_keyPos),keyTag=keyNode=valueNode=null),detected=!0,atExplicitKey=!0,allowCompact=!0):atExplicitKey?(atExplicitKey=!1,allowCompact=!0):throwError(state2,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),state2.position+=1,ch=following;if((state2.line===_line||state2.lineIndent>nodeIndent)&&(atExplicitKey&&(_keyLine=state2.line,_keyLineStart=state2.lineStart,_keyPos=state2.position),composeNode(state2,nodeIndent,4,!0,allowCompact)&&(atExplicitKey?keyNode=state2.result:valueNode=state2.result),atExplicitKey||(storeMappingPair(state2,_result,overridableKeys,keyTag,keyNode,valueNode,_keyLine,_keyLineStart,_keyPos),keyTag=keyNode=valueNode=null),skipSeparationSpace(state2,!0,-1),ch=state2.input.charCodeAt(state2.position)),(state2.line===_line||state2.lineIndent>nodeIndent)&&0!==ch)throwError(state2,"bad indentation of a mapping entry");else if(state2.lineIndent<nodeIndent)break}return atExplicitKey&&storeMappingPair(state2,_result,overridableKeys,keyTag,keyNode,null,_keyLine,_keyLineStart,_keyPos),detected&&(state2.tag=_tag,state2.anchor=_anchor,state2.kind="mapping",state2.result=_result),detected}function readTagProperty(state2){var _position,tagHandle,tagName,ch,isVerbatim=!1,isNamed=!1;if(33!==(ch=state2.input.charCodeAt(state2.position)))return!1;if(null!==state2.tag&&throwError(state2,"duplication of a tag property"),60===(ch=state2.input.charCodeAt(++state2.position))?(isVerbatim=!0,ch=state2.input.charCodeAt(++state2.position)):33===ch?(isNamed=!0,tagHandle="!!",ch=state2.input.charCodeAt(++state2.position)):tagHandle="!",_position=state2.position,isVerbatim){do{ch=state2.input.charCodeAt(++state2.position)}while(0!==ch&&62!==ch);state2.position<state2.length?(tagName=state2.input.slice(_position,state2.position),ch=state2.input.charCodeAt(++state2.position)):throwError(state2,"unexpected end of the stream within a verbatim tag")}else{for(;0!==ch&&!is_WS_OR_EOL(ch);)33===ch&&(isNamed?throwError(state2,"tag suffix cannot contain exclamation marks"):(tagHandle=state2.input.slice(_position-1,state2.position+1),PATTERN_TAG_HANDLE.test(tagHandle)||throwError(state2,"named tag handle cannot contain such characters"),isNamed=!0,_position=state2.position+1)),ch=state2.input.charCodeAt(++state2.position);tagName=state2.input.slice(_position,state2.position),PATTERN_FLOW_INDICATORS.test(tagName)&&throwError(state2,"tag suffix cannot contain flow indicator characters")}tagName&&!PATTERN_TAG_URI.test(tagName)&&throwError(state2,"tag name cannot contain such characters: "+tagName);try{tagName=decodeURIComponent(tagName)}catch(err){throwError(state2,"tag name is malformed: "+tagName)}return isVerbatim?state2.tag=tagName:_hasOwnProperty$1.call(state2.tagMap,tagHandle)?state2.tag=state2.tagMap[tagHandle]+tagName:"!"===tagHandle?state2.tag="!"+tagName:"!!"===tagHandle?state2.tag="tag:yaml.org,2002:"+tagName:throwError(state2,'undeclared tag handle "'+tagHandle+'"'),!0}function readAnchorProperty(state2){var _position,ch;if(38!==(ch=state2.input.charCodeAt(state2.position)))return!1;for(null!==state2.anchor&&throwError(state2,"duplication of an anchor property"),ch=state2.input.charCodeAt(++state2.position),_position=state2.position;0!==ch&&!is_WS_OR_EOL(ch)&&!is_FLOW_INDICATOR(ch);)ch=state2.input.charCodeAt(++state2.position);return state2.position===_position&&throwError(state2,"name of an anchor node must contain at least one character"),state2.anchor=state2.input.slice(_position,state2.position),!0}function readAlias(state2){var _position,alias,ch;if(42!==(ch=state2.input.charCodeAt(state2.position)))return!1;for(ch=state2.input.charCodeAt(++state2.position),_position=state2.position;0!==ch&&!is_WS_OR_EOL(ch)&&!is_FLOW_INDICATOR(ch);)ch=state2.input.charCodeAt(++state2.position);return state2.position===_position&&throwError(state2,"name of an alias node must contain at least one character"),alias=state2.input.slice(_position,state2.position),_hasOwnProperty$1.call(state2.anchorMap,alias)||throwError(state2,'unidentified alias "'+alias+'"'),state2.result=state2.anchorMap[alias],skipSeparationSpace(state2,!0,-1),!0}function composeNode(state2,parentIndent,nodeContext,allowToSeek,allowCompact){var allowBlockStyles,allowBlockScalars,allowBlockCollections,typeIndex,typeQuantity,typeList,type2,flowIndent,blockIndent,indentStatus=1,atNewLine=!1,hasContent=!1;if(null!==state2.listener&&state2.listener("open",state2),state2.tag=null,state2.anchor=null,state2.kind=null,state2.result=null,allowBlockStyles=allowBlockScalars=allowBlockCollections=4===nodeContext||3===nodeContext,allowToSeek&&skipSeparationSpace(state2,!0,-1)&&(atNewLine=!0,state2.lineIndent>parentIndent?indentStatus=1:state2.lineIndent===parentIndent?indentStatus=0:state2.lineIndent<parentIndent&&(indentStatus=-1)),1===indentStatus)for(;readTagProperty(state2)||readAnchorProperty(state2);)skipSeparationSpace(state2,!0,-1)?(atNewLine=!0,allowBlockCollections=allowBlockStyles,state2.lineIndent>parentIndent?indentStatus=1:state2.lineIndent===parentIndent?indentStatus=0:state2.lineIndent<parentIndent&&(indentStatus=-1)):allowBlockCollections=!1;if(allowBlockCollections&&(allowBlockCollections=atNewLine||allowCompact),1!==indentStatus&&4!==nodeContext||(flowIndent=1===nodeContext||2===nodeContext?parentIndent:parentIndent+1,blockIndent=state2.position-state2.lineStart,1===indentStatus?allowBlockCollections&&(readBlockSequence(state2,blockIndent)||readBlockMapping(state2,blockIndent,flowIndent))||readFlowCollection(state2,flowIndent)?hasContent=!0:(allowBlockScalars&&readBlockScalar(state2,flowIndent)||readSingleQuotedScalar(state2,flowIndent)||readDoubleQuotedScalar(state2,flowIndent)?hasContent=!0:readAlias(state2)?(hasContent=!0,null===state2.tag&&null===state2.anchor||throwError(state2,"alias node should not have any properties")):readPlainScalar(state2,flowIndent,1===nodeContext)&&(hasContent=!0,null===state2.tag&&(state2.tag="?")),null!==state2.anchor&&(state2.anchorMap[state2.anchor]=state2.result)):0===indentStatus&&(hasContent=allowBlockCollections&&readBlockSequence(state2,blockIndent))),null===state2.tag)null!==state2.anchor&&(state2.anchorMap[state2.anchor]=state2.result);else if("?"===state2.tag){for(null!==state2.result&&"scalar"!==state2.kind&&throwError(state2,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+state2.kind+'"'),typeIndex=0,typeQuantity=state2.implicitTypes.length;typeIndex<typeQuantity;typeIndex+=1)if((type2=state2.implicitTypes[typeIndex]).resolve(state2.result)){state2.result=type2.construct(state2.result),state2.tag=type2.tag,null!==state2.anchor&&(state2.anchorMap[state2.anchor]=state2.result);break}}else if("!"!==state2.tag){if(_hasOwnProperty$1.call(state2.typeMap[state2.kind||"fallback"],state2.tag))type2=state2.typeMap[state2.kind||"fallback"][state2.tag];else for(type2=null,typeIndex=0,typeQuantity=(typeList=state2.typeMap.multi[state2.kind||"fallback"]).length;typeIndex<typeQuantity;typeIndex+=1)if(state2.tag.slice(0,typeList[typeIndex].tag.length)===typeList[typeIndex].tag){type2=typeList[typeIndex];break}type2||throwError(state2,"unknown tag !<"+state2.tag+">"),null!==state2.result&&type2.kind!==state2.kind&&throwError(state2,"unacceptable node kind for !<"+state2.tag+'> tag; it should be "'+type2.kind+'", not "'+state2.kind+'"'),type2.resolve(state2.result,state2.tag)?(state2.result=type2.construct(state2.result,state2.tag),null!==state2.anchor&&(state2.anchorMap[state2.anchor]=state2.result)):throwError(state2,"cannot resolve a node with !<"+state2.tag+"> explicit tag")}return null!==state2.listener&&state2.listener("close",state2),null!==state2.tag||null!==state2.anchor||hasContent}function readDocument(state2){var _position,directiveName,directiveArgs,ch,documentStart=state2.position,hasDirectives=!1;for(state2.version=null,state2.checkLineBreaks=state2.legacy,state2.tagMap=Object.create(null),state2.anchorMap=Object.create(null);0!==(ch=state2.input.charCodeAt(state2.position))&&(skipSeparationSpace(state2,!0,-1),ch=state2.input.charCodeAt(state2.position),!(state2.lineIndent>0||37!==ch));){for(hasDirectives=!0,ch=state2.input.charCodeAt(++state2.position),_position=state2.position;0!==ch&&!is_WS_OR_EOL(ch);)ch=state2.input.charCodeAt(++state2.position);for(directiveArgs=[],(directiveName=state2.input.slice(_position,state2.position)).length<1&&throwError(state2,"directive name must not be less than one character in length");0!==ch;){for(;is_WHITE_SPACE(ch);)ch=state2.input.charCodeAt(++state2.position);if(35===ch){do{ch=state2.input.charCodeAt(++state2.position)}while(0!==ch&&!is_EOL(ch));break}if(is_EOL(ch))break;for(_position=state2.position;0!==ch&&!is_WS_OR_EOL(ch);)ch=state2.input.charCodeAt(++state2.position);directiveArgs.push(state2.input.slice(_position,state2.position))}0!==ch&&readLineBreak(state2),_hasOwnProperty$1.call(directiveHandlers,directiveName)?directiveHandlers[directiveName](state2,directiveName,directiveArgs):throwWarning(state2,'unknown document directive "'+directiveName+'"')}skipSeparationSpace(state2,!0,-1),0===state2.lineIndent&&45===state2.input.charCodeAt(state2.position)&&45===state2.input.charCodeAt(state2.position+1)&&45===state2.input.charCodeAt(state2.position+2)?(state2.position+=3,skipSeparationSpace(state2,!0,-1)):hasDirectives&&throwError(state2,"directives end mark is expected"),composeNode(state2,state2.lineIndent-1,4,!1,!0),skipSeparationSpace(state2,!0,-1),state2.checkLineBreaks&&PATTERN_NON_ASCII_LINE_BREAKS.test(state2.input.slice(documentStart,state2.position))&&throwWarning(state2,"non-ASCII line breaks are interpreted as content"),state2.documents.push(state2.result),state2.position===state2.lineStart&&testDocumentSeparator(state2)?46===state2.input.charCodeAt(state2.position)&&(state2.position+=3,skipSeparationSpace(state2,!0,-1)):state2.position<state2.length-1&&throwError(state2,"end of the stream or a document separator is expected")}function loadDocuments(input,options){options=options||{},0!==(input=String(input)).length&&(10!==input.charCodeAt(input.length-1)&&13!==input.charCodeAt(input.length-1)&&(input+="\n"),65279===input.charCodeAt(0)&&(input=input.slice(1)));var state2=new State$1(input,options),nullpos=input.indexOf("\0");for(-1!==nullpos&&(state2.position=nullpos,throwError(state2,"null byte is not allowed in input")),state2.input+="\0";32===state2.input.charCodeAt(state2.position);)state2.lineIndent+=1,state2.position+=1;for(;state2.position<state2.length-1;)readDocument(state2);return state2.documents}function load$1(input,options){var documents=loadDocuments(input,options);if(0!==documents.length){if(1===documents.length)return documents[0];throw new exception("expected a single document in the stream, but found more")}}__name(captureSegment,"captureSegment"),__name(mergeMappings,"mergeMappings"),__name(storeMappingPair,"storeMappingPair"),__name(readLineBreak,"readLineBreak"),__name(skipSeparationSpace,"skipSeparationSpace"),__name(testDocumentSeparator,"testDocumentSeparator"),__name(writeFoldedLines,"writeFoldedLines"),__name(readPlainScalar,"readPlainScalar"),__name(readSingleQuotedScalar,"readSingleQuotedScalar"),__name(readDoubleQuotedScalar,"readDoubleQuotedScalar"),__name(readFlowCollection,"readFlowCollection"),__name(readBlockScalar,"readBlockScalar"),__name(readBlockSequence,"readBlockSequence"),__name(readBlockMapping,"readBlockMapping"),__name(readTagProperty,"readTagProperty"),__name(readAnchorProperty,"readAnchorProperty"),__name(readAlias,"readAlias"),__name(composeNode,"composeNode"),__name(readDocument,"readDocument"),__name(loadDocuments,"loadDocuments"),__name(function(input,iterator,options){null!==iterator&&"object"==typeof iterator&&void 0===options&&(options=iterator,iterator=null);var documents=loadDocuments(input,options);if("function"!=typeof iterator)return documents;for(var index=0,length=documents.length;index<length;index+=1)iterator(documents[index])},"loadAll$1"),__name(load$1,"load$1");var loader$1={load:load$1},_toString=Object.prototype.toString,_hasOwnProperty=Object.prototype.hasOwnProperty,ESCAPE_SEQUENCES={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},DEPRECATED_BOOLEANS_SYNTAX=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],DEPRECATED_BASE60_SYNTAX=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function compileStyleMap(schema2,map2){var result,keys,index,length,tag,style,type2;if(null===map2)return{};for(result={},index=0,length=(keys=Object.keys(map2)).length;index<length;index+=1)tag=keys[index],style=String(map2[tag]),"!!"===tag.slice(0,2)&&(tag="tag:yaml.org,2002:"+tag.slice(2)),(type2=schema2.compiledTypeMap.fallback[tag])&&_hasOwnProperty.call(type2.styleAliases,style)&&(style=type2.styleAliases[style]),result[tag]=style;return result}function encodeHex(character){var string,handle,length;if(string=character.toString(16).toUpperCase(),character<=255)handle="x",length=2;else if(character<=65535)handle="u",length=4;else{if(!(character<=4294967295))throw new exception("code point within a string may not be greater than 0xFFFFFFFF");handle="U",length=8}return"\\"+handle+common.repeat("0",length-string.length)+string}__name(compileStyleMap,"compileStyleMap"),__name(encodeHex,"encodeHex");function State(options){this.schema=options.schema||_default,this.indent=Math.max(1,options.indent||2),this.noArrayIndent=options.noArrayIndent||!1,this.skipInvalid=options.skipInvalid||!1,this.flowLevel=common.isNothing(options.flowLevel)?-1:options.flowLevel,this.styleMap=compileStyleMap(this.schema,options.styles||null),this.sortKeys=options.sortKeys||!1,this.lineWidth=options.lineWidth||80,this.noRefs=options.noRefs||!1,this.noCompatMode=options.noCompatMode||!1,this.condenseFlow=options.condenseFlow||!1,this.quotingType='"'===options.quotingType?2:1,this.forceQuotes=options.forceQuotes||!1,this.replacer="function"==typeof options.replacer?options.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function indentString(string,spaces){for(var line2,ind=common.repeat(" ",spaces),position=0,next=-1,result="",length=string.length;position<length;)-1===(next=string.indexOf("\n",position))?(line2=string.slice(position),position=length):(line2=string.slice(position,next+1),position=next+1),line2.length&&"\n"!==line2&&(result+=ind),result+=line2;return result}function generateNextLine(state2,level){return"\n"+common.repeat(" ",state2.indent*level)}function testImplicitResolving(state2,str2){var index,length;for(index=0,length=state2.implicitTypes.length;index<length;index+=1)if(state2.implicitTypes[index].resolve(str2))return!0;return!1}function isWhitespace(c2){return 32===c2||9===c2}function isPrintable(c2){return 32<=c2&&c2<=126||161<=c2&&c2<=55295&&8232!==c2&&8233!==c2||57344<=c2&&c2<=65533&&65279!==c2||65536<=c2&&c2<=1114111}function isNsCharOrWhitespace(c2){return isPrintable(c2)&&65279!==c2&&13!==c2&&10!==c2}function isPlainSafe(c2,prev,inblock){var cIsNsCharOrWhitespace=isNsCharOrWhitespace(c2),cIsNsChar=cIsNsCharOrWhitespace&&!isWhitespace(c2);return(inblock?cIsNsCharOrWhitespace:cIsNsCharOrWhitespace&&44!==c2&&91!==c2&&93!==c2&&123!==c2&&125!==c2)&&35!==c2&&!(58===prev&&!cIsNsChar)||isNsCharOrWhitespace(prev)&&!isWhitespace(prev)&&35===c2||58===prev&&cIsNsChar}function isPlainSafeFirst(c2){return isPrintable(c2)&&65279!==c2&&!isWhitespace(c2)&&45!==c2&&63!==c2&&58!==c2&&44!==c2&&91!==c2&&93!==c2&&123!==c2&&125!==c2&&35!==c2&&38!==c2&&42!==c2&&33!==c2&&124!==c2&&61!==c2&&62!==c2&&39!==c2&&34!==c2&&37!==c2&&64!==c2&&96!==c2}function isPlainSafeLast(c2){return!isWhitespace(c2)&&58!==c2}function codePointAt(string,pos){var second,first=string.charCodeAt(pos);return first>=55296&&first<=56319&&pos+1<string.length&&(second=string.charCodeAt(pos+1))>=56320&&second<=57343?1024*(first-55296)+second-56320+65536:first}function needIndentIndicator(string){return/^\n* /.test(string)}__name(State,"State"),__name(indentString,"indentString"),__name(generateNextLine,"generateNextLine"),__name(testImplicitResolving,"testImplicitResolving"),__name(isWhitespace,"isWhitespace"),__name(isPrintable,"isPrintable"),__name(isNsCharOrWhitespace,"isNsCharOrWhitespace"),__name(isPlainSafe,"isPlainSafe"),__name(isPlainSafeFirst,"isPlainSafeFirst"),__name(isPlainSafeLast,"isPlainSafeLast"),__name(codePointAt,"codePointAt"),__name(needIndentIndicator,"needIndentIndicator");function chooseScalarStyle(string,singleLineOnly,indentPerLevel,lineWidth,testAmbiguousType,quotingType,forceQuotes,inblock){var i2,char=0,prevChar=null,hasLineBreak=!1,hasFoldableLine=!1,shouldTrackWidth=-1!==lineWidth,previousLineBreak=-1,plain=isPlainSafeFirst(codePointAt(string,0))&&isPlainSafeLast(codePointAt(string,string.length-1));if(singleLineOnly||forceQuotes)for(i2=0;i2<string.length;char>=65536?i2+=2:i2++){if(!isPrintable(char=codePointAt(string,i2)))return 5;plain=plain&&isPlainSafe(char,prevChar,inblock),prevChar=char}else{for(i2=0;i2<string.length;char>=65536?i2+=2:i2++){if(10===(char=codePointAt(string,i2)))hasLineBreak=!0,shouldTrackWidth&&(hasFoldableLine=hasFoldableLine||i2-previousLineBreak-1>lineWidth&&" "!==string[previousLineBreak+1],previousLineBreak=i2);else if(!isPrintable(char))return 5;plain=plain&&isPlainSafe(char,prevChar,inblock),prevChar=char}hasFoldableLine=hasFoldableLine||shouldTrackWidth&&i2-previousLineBreak-1>lineWidth&&" "!==string[previousLineBreak+1]}return hasLineBreak||hasFoldableLine?indentPerLevel>9&&needIndentIndicator(string)?5:forceQuotes?2===quotingType?5:2:hasFoldableLine?4:3:!plain||forceQuotes||testAmbiguousType(string)?2===quotingType?5:2:1}function writeScalar(state2,string,level,iskey,inblock){state2.dump=function(){if(0===string.length)return 2===state2.quotingType?'""':"''";if(!state2.noCompatMode&&(-1!==DEPRECATED_BOOLEANS_SYNTAX.indexOf(string)||DEPRECATED_BASE60_SYNTAX.test(string)))return 2===state2.quotingType?'"'+string+'"':"'"+string+"'";var indent=state2.indent*Math.max(1,level),lineWidth=-1===state2.lineWidth?-1:Math.max(Math.min(state2.lineWidth,40),state2.lineWidth-indent),singleLineOnly=iskey||state2.flowLevel>-1&&level>=state2.flowLevel;function testAmbiguity(string2){return testImplicitResolving(state2,string2)}switch(__name(testAmbiguity,"testAmbiguity"),chooseScalarStyle(string,singleLineOnly,state2.indent,lineWidth,testAmbiguity,state2.quotingType,state2.forceQuotes&&!iskey,inblock)){case 1:return string;case 2:return"'"+string.replace(/'/g,"''")+"'";case 3:return"|"+blockHeader(string,state2.indent)+dropEndingNewline(indentString(string,indent));case 4:return">"+blockHeader(string,state2.indent)+dropEndingNewline(indentString(foldString(string,lineWidth),indent));case 5:return'"'+escapeString(string)+'"';default:throw new exception("impossible error: invalid scalar style")}}()}function blockHeader(string,indentPerLevel){var indentIndicator=needIndentIndicator(string)?String(indentPerLevel):"",clip="\n"===string[string.length-1];return indentIndicator+(clip&&("\n"===string[string.length-2]||"\n"===string)?"+":clip?"":"-")+"\n"}function dropEndingNewline(string){return"\n"===string[string.length-1]?string.slice(0,-1):string}function foldString(string,width){for(var nextLF,moreIndented,match,lineRe=/(\n+)([^\n]*)/g,result=(nextLF=-1!==(nextLF=string.indexOf("\n"))?nextLF:string.length,lineRe.lastIndex=nextLF,foldLine(string.slice(0,nextLF),width)),prevMoreIndented="\n"===string[0]||" "===string[0];match=lineRe.exec(string);){var prefix=match[1],line2=match[2];moreIndented=" "===line2[0],result+=prefix+(prevMoreIndented||moreIndented||""===line2?"":"\n")+foldLine(line2,width),prevMoreIndented=moreIndented}return result}function foldLine(line2,width){if(""===line2||" "===line2[0])return line2;for(var match,end,breakRe=/ [^ ]/g,start2=0,curr=0,next=0,result="";match=breakRe.exec(line2);)(next=match.index)-start2>width&&(end=curr>start2?curr:next,result+="\n"+line2.slice(start2,end),start2=end+1),curr=next;return result+="\n",line2.length-start2>width&&curr>start2?result+=line2.slice(start2,curr)+"\n"+line2.slice(curr+1):result+=line2.slice(start2),result.slice(1)}function escapeString(string){for(var escapeSeq,result="",char=0,i2=0;i2<string.length;char>=65536?i2+=2:i2++)char=codePointAt(string,i2),!(escapeSeq=ESCAPE_SEQUENCES[char])&&isPrintable(char)?(result+=string[i2],char>=65536&&(result+=string[i2+1])):result+=escapeSeq||encodeHex(char);return result}function writeFlowSequence(state2,level,object){var index,length,value,_result="",_tag=state2.tag;for(index=0,length=object.length;index<length;index+=1)value=object[index],state2.replacer&&(value=state2.replacer.call(object,String(index),value)),(writeNode(state2,level,value,!1,!1)||void 0===value&&writeNode(state2,level,null,!1,!1))&&(""!==_result&&(_result+=","+(state2.condenseFlow?"":" ")),_result+=state2.dump);state2.tag=_tag,state2.dump="["+_result+"]"}function writeBlockSequence(state2,level,object,compact){var index,length,value,_result="",_tag=state2.tag;for(index=0,length=object.length;index<length;index+=1)value=object[index],state2.replacer&&(value=state2.replacer.call(object,String(index),value)),(writeNode(state2,level+1,value,!0,!0,!1,!0)||void 0===value&&writeNode(state2,level+1,null,!0,!0,!1,!0))&&(compact&&""===_result||(_result+=generateNextLine(state2,level)),state2.dump&&10===state2.dump.charCodeAt(0)?_result+="-":_result+="- ",_result+=state2.dump);state2.tag=_tag,state2.dump=_result||"[]"}function writeFlowMapping(state2,level,object){var index,length,objectKey,objectValue,pairBuffer,_result="",_tag=state2.tag,objectKeyList=Object.keys(object);for(index=0,length=objectKeyList.length;index<length;index+=1)pairBuffer="",""!==_result&&(pairBuffer+=", "),state2.condenseFlow&&(pairBuffer+='"'),objectValue=object[objectKey=objectKeyList[index]],state2.replacer&&(objectValue=state2.replacer.call(object,objectKey,objectValue)),writeNode(state2,level,objectKey,!1,!1)&&(state2.dump.length>1024&&(pairBuffer+="? "),pairBuffer+=state2.dump+(state2.condenseFlow?'"':"")+":"+(state2.condenseFlow?"":" "),writeNode(state2,level,objectValue,!1,!1)&&(_result+=pairBuffer+=state2.dump));state2.tag=_tag,state2.dump="{"+_result+"}"}function writeBlockMapping(state2,level,object,compact){var index,length,objectKey,objectValue,explicitPair,pairBuffer,_result="",_tag=state2.tag,objectKeyList=Object.keys(object);if(!0===state2.sortKeys)objectKeyList.sort();else if("function"==typeof state2.sortKeys)objectKeyList.sort(state2.sortKeys);else if(state2.sortKeys)throw new exception("sortKeys must be a boolean or a function");for(index=0,length=objectKeyList.length;index<length;index+=1)pairBuffer="",compact&&""===_result||(pairBuffer+=generateNextLine(state2,level)),objectValue=object[objectKey=objectKeyList[index]],state2.replacer&&(objectValue=state2.replacer.call(object,objectKey,objectValue)),writeNode(state2,level+1,objectKey,!0,!0,!0)&&((explicitPair=null!==state2.tag&&"?"!==state2.tag||state2.dump&&state2.dump.length>1024)&&(state2.dump&&10===state2.dump.charCodeAt(0)?pairBuffer+="?":pairBuffer+="? "),pairBuffer+=state2.dump,explicitPair&&(pairBuffer+=generateNextLine(state2,level)),writeNode(state2,level+1,objectValue,!0,explicitPair)&&(state2.dump&&10===state2.dump.charCodeAt(0)?pairBuffer+=":":pairBuffer+=": ",_result+=pairBuffer+=state2.dump));state2.tag=_tag,state2.dump=_result||"{}"}function detectType(state2,object,explicit){var _result,typeList,index,length,type2,style;for(index=0,length=(typeList=explicit?state2.explicitTypes:state2.implicitTypes).length;index<length;index+=1)if(((type2=typeList[index]).instanceOf||type2.predicate)&&(!type2.instanceOf||"object"==typeof object&&object instanceof type2.instanceOf)&&(!type2.predicate||type2.predicate(object))){if(explicit?type2.multi&&type2.representName?state2.tag=type2.representName(object):state2.tag=type2.tag:state2.tag="?",type2.represent){if(style=state2.styleMap[type2.tag]||type2.defaultStyle,"[object Function]"===_toString.call(type2.represent))_result=type2.represent(object,style);else{if(!_hasOwnProperty.call(type2.represent,style))throw new exception("!<"+type2.tag+'> tag resolver accepts not "'+style+'" style');_result=type2.represent[style](object,style)}state2.dump=_result}return!0}return!1}function writeNode(state2,level,object,block,compact,iskey,isblockseq){state2.tag=null,state2.dump=object,detectType(state2,object,!1)||detectType(state2,object,!0);var tagStr,type2=_toString.call(state2.dump),inblock=block;block&&(block=state2.flowLevel<0||state2.flowLevel>level);var duplicateIndex,duplicate,objectOrArray="[object Object]"===type2||"[object Array]"===type2;if(objectOrArray&&(duplicate=-1!==(duplicateIndex=state2.duplicates.indexOf(object))),(null!==state2.tag&&"?"!==state2.tag||duplicate||2!==state2.indent&&level>0)&&(compact=!1),duplicate&&state2.usedDuplicates[duplicateIndex])state2.dump="*ref_"+duplicateIndex;else{if(objectOrArray&&duplicate&&!state2.usedDuplicates[duplicateIndex]&&(state2.usedDuplicates[duplicateIndex]=!0),"[object Object]"===type2)block&&0!==Object.keys(state2.dump).length?(writeBlockMapping(state2,level,state2.dump,compact),duplicate&&(state2.dump="&ref_"+duplicateIndex+state2.dump)):(writeFlowMapping(state2,level,state2.dump),duplicate&&(state2.dump="&ref_"+duplicateIndex+" "+state2.dump));else if("[object Array]"===type2)block&&0!==state2.dump.length?(state2.noArrayIndent&&!isblockseq&&level>0?writeBlockSequence(state2,level-1,state2.dump,compact):writeBlockSequence(state2,level,state2.dump,compact),duplicate&&(state2.dump="&ref_"+duplicateIndex+state2.dump)):(writeFlowSequence(state2,level,state2.dump),duplicate&&(state2.dump="&ref_"+duplicateIndex+" "+state2.dump));else{if("[object String]"!==type2){if("[object Undefined]"===type2)return!1;if(state2.skipInvalid)return!1;throw new exception("unacceptable kind of an object to dump "+type2)}"?"!==state2.tag&&writeScalar(state2,state2.dump,level,iskey,inblock)}null!==state2.tag&&"?"!==state2.tag&&(tagStr=encodeURI("!"===state2.tag[0]?state2.tag.slice(1):state2.tag).replace(/!/g,"%21"),tagStr="!"===state2.tag[0]?"!"+tagStr:"tag:yaml.org,2002:"===tagStr.slice(0,18)?"!!"+tagStr.slice(18):"!<"+tagStr+">",state2.dump=tagStr+" "+state2.dump)}return!0}function getDuplicateReferences(object,state2){var index,length,objects=[],duplicatesIndexes=[];for(inspectNode(object,objects,duplicatesIndexes),index=0,length=duplicatesIndexes.length;index<length;index+=1)state2.duplicates.push(objects[duplicatesIndexes[index]]);state2.usedDuplicates=new Array(length)}function inspectNode(object,objects,duplicatesIndexes){var objectKeyList,index,length;if(null!==object&&"object"==typeof object)if(-1!==(index=objects.indexOf(object)))-1===duplicatesIndexes.indexOf(index)&&duplicatesIndexes.push(index);else if(objects.push(object),Array.isArray(object))for(index=0,length=object.length;index<length;index+=1)inspectNode(object[index],objects,duplicatesIndexes);else for(index=0,length=(objectKeyList=Object.keys(object)).length;index<length;index+=1)inspectNode(object[objectKeyList[index]],objects,duplicatesIndexes)}__name(chooseScalarStyle,"chooseScalarStyle"),__name(writeScalar,"writeScalar"),__name(blockHeader,"blockHeader"),__name(dropEndingNewline,"dropEndingNewline"),__name(foldString,"foldString"),__name(foldLine,"foldLine"),__name(escapeString,"escapeString"),__name(writeFlowSequence,"writeFlowSequence"),__name(writeBlockSequence,"writeBlockSequence"),__name(writeFlowMapping,"writeFlowMapping"),__name(writeBlockMapping,"writeBlockMapping"),__name(detectType,"detectType"),__name(writeNode,"writeNode"),__name(getDuplicateReferences,"getDuplicateReferences"),__name(inspectNode,"inspectNode"),__name(function(input,options){var state2=new State(options=options||{});state2.noRefs||getDuplicateReferences(input,state2);var value=input;return state2.replacer&&(value=state2.replacer.call({"":value},"",value)),writeNode(state2,0,value,!0,!0)?state2.dump+"\n":""},"dump$1"),__name(function(from,to){return function(){throw new Error("Function yaml."+from+" is removed in js-yaml 4. Use yaml."+to+" instead, which is now safe by default.")}},"renamed");var JSON_SCHEMA=json,load=loader$1.load,computeLabelTransform=__name((bbox,useHtmlLabels)=>{if(useHtmlLabels)return"translate("+-bbox.width/2+", "+-bbox.height/2+")";const x2=bbox.x??0,y3=bbox.y??0;return"translate("+-(x2+bbox.width/2)+", "+-(y3+bbox.height/2)+")"},"computeLabelTransform"),markerOffsets={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},markerOffsets2={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function calculateDeltaAndAngle$1(point1,point2){if(void 0===point1||void 0===point2)return{angle:0,deltaX:0,deltaY:0};point1=pointTransformer(point1),point2=pointTransformer(point2);const[x1,y1]=[point1.x,point1.y],[x2,y22]=[point2.x,point2.y],deltaX=x2-x1,deltaY=y22-y1;return{angle:Math.atan(deltaY/deltaX),deltaX:deltaX,deltaY:deltaY}}__name(calculateDeltaAndAngle$1,"calculateDeltaAndAngle");var hasRequiredConstants,hasRequiredDist,pointTransformer=__name(data=>Array.isArray(data)?{x:data[0],y:data[1]}:data,"pointTransformer"),getLineFunctionsWithOffset=__name(edge=>({x:__name(function(d2,i2,data){let offset=0;const DIRECTION=pointTransformer(data[0]).x<pointTransformer(data[data.length-1]).x?"left":"right";if(0===i2&&Object.hasOwn(markerOffsets,edge.arrowTypeStart)){const{angle:angle,deltaX:deltaX}=calculateDeltaAndAngle$1(data[0],data[1]);offset=markerOffsets[edge.arrowTypeStart]*Math.cos(angle)*(deltaX>=0?1:-1)}else if(i2===data.length-1&&Object.hasOwn(markerOffsets,edge.arrowTypeEnd)){const{angle:angle,deltaX:deltaX}=calculateDeltaAndAngle$1(data[data.length-1],data[data.length-2]);offset=markerOffsets[edge.arrowTypeEnd]*Math.cos(angle)*(deltaX>=0?1:-1)}const differenceToEnd=Math.abs(pointTransformer(d2).x-pointTransformer(data[data.length-1]).x),differenceInYEnd=Math.abs(pointTransformer(d2).y-pointTransformer(data[data.length-1]).y),differenceToStart=Math.abs(pointTransformer(d2).x-pointTransformer(data[0]).x),differenceInYStart=Math.abs(pointTransformer(d2).y-pointTransformer(data[0]).y),startMarkerHeight=markerOffsets[edge.arrowTypeStart],endMarkerHeight=markerOffsets[edge.arrowTypeEnd];if(differenceToEnd<endMarkerHeight&&differenceToEnd>0&&differenceInYEnd<endMarkerHeight){let adjustment=endMarkerHeight+1-differenceToEnd;adjustment*="right"===DIRECTION?-1:1,offset-=adjustment}if(differenceToStart<startMarkerHeight&&differenceToStart>0&&differenceInYStart<startMarkerHeight){let adjustment=startMarkerHeight+1-differenceToStart;adjustment*="right"===DIRECTION?-1:1,offset+=adjustment}return pointTransformer(d2).x+offset},"x"),y:__name(function(d2,i2,data){let offset=0;const DIRECTION=pointTransformer(data[0]).y<pointTransformer(data[data.length-1]).y?"down":"up";if(0===i2&&Object.hasOwn(markerOffsets,edge.arrowTypeStart)){const{angle:angle,deltaY:deltaY}=calculateDeltaAndAngle$1(data[0],data[1]);offset=markerOffsets[edge.arrowTypeStart]*Math.abs(Math.sin(angle))*(deltaY>=0?1:-1)}else if(i2===data.length-1&&Object.hasOwn(markerOffsets,edge.arrowTypeEnd)){const{angle:angle,deltaY:deltaY}=calculateDeltaAndAngle$1(data[data.length-1],data[data.length-2]);offset=markerOffsets[edge.arrowTypeEnd]*Math.abs(Math.sin(angle))*(deltaY>=0?1:-1)}const differenceToEnd=Math.abs(pointTransformer(d2).y-pointTransformer(data[data.length-1]).y),differenceInXEnd=Math.abs(pointTransformer(d2).x-pointTransformer(data[data.length-1]).x),differenceToStart=Math.abs(pointTransformer(d2).y-pointTransformer(data[0]).y),differenceInXStart=Math.abs(pointTransformer(d2).x-pointTransformer(data[0]).x),startMarkerHeight=markerOffsets[edge.arrowTypeStart],endMarkerHeight=markerOffsets[edge.arrowTypeEnd];if(differenceToEnd<endMarkerHeight&&differenceToEnd>0&&differenceInXEnd<endMarkerHeight){let adjustment=endMarkerHeight+1-differenceToEnd;adjustment*="up"===DIRECTION?-1:1,offset-=adjustment}if(differenceToStart<startMarkerHeight&&differenceToStart>0&&differenceInXStart<startMarkerHeight){let adjustment=startMarkerHeight+1-differenceToStart;adjustment*="up"===DIRECTION?-1:1,offset+=adjustment}return pointTransformer(d2).y+offset},"y")}),"getLineFunctionsWithOffset"),dist={},constants={};var distExports=function(){if(hasRequiredDist)return dist;hasRequiredDist=1,Object.defineProperty(dist,"__esModule",{value:!0}),dist.sanitizeUrl=function(url){if(!url)return constants_1.BLANK_URL;var charsToDecode,decodedUrl=decodeURI(url.trim());do{charsToDecode=(decodedUrl=decodeURI(decodedUrl=decodeHtmlCharacters(decodedUrl).replace(constants_1.htmlCtrlEntityRegex,"").replace(constants_1.ctrlCharactersRegex,"").replace(constants_1.whitespaceEscapeCharsRegex,"").trim())).match(constants_1.ctrlCharactersRegex)||decodedUrl.match(constants_1.htmlEntitiesRegex)||decodedUrl.match(constants_1.htmlCtrlEntityRegex)||decodedUrl.match(constants_1.whitespaceEscapeCharsRegex)}while(charsToDecode&&charsToDecode.length>0);var sanitizedUrl=decodedUrl;if(!sanitizedUrl)return constants_1.BLANK_URL;if(function(url){return constants_1.relativeFirstCharacters.indexOf(url[0])>-1}(sanitizedUrl))return sanitizedUrl;var trimmedUrl=sanitizedUrl.trimStart(),urlSchemeParseResults=trimmedUrl.match(constants_1.urlSchemeRegex);if(!urlSchemeParseResults)return sanitizedUrl;var urlScheme=urlSchemeParseResults[0].toLowerCase().trim();if(constants_1.invalidProtocolRegex.test(urlScheme))return constants_1.BLANK_URL;var backSanitized=trimmedUrl.replace(/\\/g,"/");if("mailto:"===urlScheme||urlScheme.includes("://"))return backSanitized;if("http:"===urlScheme||"https:"===urlScheme){if(!function(url){return URL.canParse(url)}(backSanitized))return constants_1.BLANK_URL;var url_1=new URL(backSanitized);return url_1.protocol=url_1.protocol.toLowerCase(),url_1.hostname=url_1.hostname.toLowerCase(),url_1.toString()}return backSanitized};var constants_1=(hasRequiredConstants||(hasRequiredConstants=1,Object.defineProperty(constants,"__esModule",{value:!0}),constants.BLANK_URL=constants.relativeFirstCharacters=constants.whitespaceEscapeCharsRegex=constants.urlSchemeRegex=constants.ctrlCharactersRegex=constants.htmlCtrlEntityRegex=constants.htmlEntitiesRegex=constants.invalidProtocolRegex=void 0,constants.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,constants.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,constants.htmlCtrlEntityRegex=/&(newline|tab);/gi,constants.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,constants.urlSchemeRegex=/^.+(:|&colon;)/gim,constants.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,constants.relativeFirstCharacters=[".","/"],constants.BLANK_URL="about:blank"),constants);function decodeHtmlCharacters(str2){return str2.replace(constants_1.ctrlCharactersRegex,"").replace(constants_1.htmlEntitiesRegex,function(match,dec){return String.fromCharCode(dec)})}function decodeURI(uri){try{return decodeURIComponent(uri)}catch(e2){return uri}}return dist}(),freeGlobal="object"==typeof global&&global&&global.Object===Object&&global,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto$c=Object.prototype,hasOwnProperty$a=objectProto$c.hasOwnProperty,nativeObjectToString$1=objectProto$c.toString,symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;var nativeObjectToString=Object.prototype.toString;var symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(value){return null==value?void 0===value?"[object Undefined]":"[object Null]":symToStringTag&&symToStringTag in Object(value)?function(value){var isOwn=hasOwnProperty$a.call(value,symToStringTag$1),tag=value[symToStringTag$1];try{value[symToStringTag$1]=void 0;var unmasked=!0}catch(e2){}var result=nativeObjectToString$1.call(value);return unmasked&&(isOwn?value[symToStringTag$1]=tag:delete value[symToStringTag$1]),result}(value):function(value){return nativeObjectToString.call(value)}(value)}function isObject(value){var type2=typeof value;return null!=value&&("object"==type2||"function"==type2)}function isFunction(value){if(!isObject(value))return!1;var tag=baseGetTag(value);return"[object Function]"==tag||"[object GeneratorFunction]"==tag||"[object AsyncFunction]"==tag||"[object Proxy]"==tag}var uid,coreJsData=root["__core-js_shared__"],maskSrcKey=(uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||""))?"Symbol(src)_1."+uid:"";var funcToString$2=Function.prototype.toString;function toSource(func){if(null!=func){try{return funcToString$2.call(func)}catch(e2){}try{return func+""}catch(e2){}}return""}var reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto$1=Function.prototype,objectProto$a=Object.prototype,funcToString$1=funcProto$1.toString,hasOwnProperty$9=objectProto$a.hasOwnProperty,reIsNative=RegExp("^"+funcToString$1.call(hasOwnProperty$9).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(value){return!(!isObject(value)||(func=value,maskSrcKey&&maskSrcKey in func))&&(isFunction(value)?reIsNative:reIsHostCtor).test(toSource(value));var func}function getNative(object,key){var value=function(object,key){return null==object?void 0:object[key]}(object,key);return baseIsNative(value)?value:void 0}var nativeCreate=getNative(Object,"create");var hasOwnProperty$8=Object.prototype.hasOwnProperty;var hasOwnProperty$7=Object.prototype.hasOwnProperty;function Hash(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function eq(value,other){return value===other||value!=value&&other!=other}function assocIndexOf(array2,key){for(var length=array2.length;length--;)if(eq(array2[length][0],key))return length;return-1}Hash.prototype.clear=function(){this.__data__=nativeCreate?nativeCreate(null):{},this.size=0},Hash.prototype.delete=function(key){var result=this.has(key)&&delete this.__data__[key];return this.size-=result?1:0,result},Hash.prototype.get=function(key){var data=this.__data__;if(nativeCreate){var result=data[key];return"__lodash_hash_undefined__"===result?void 0:result}return hasOwnProperty$8.call(data,key)?data[key]:void 0},Hash.prototype.has=function(key){var data=this.__data__;return nativeCreate?void 0!==data[key]:hasOwnProperty$7.call(data,key)},Hash.prototype.set=function(key,value){var data=this.__data__;return this.size+=this.has(key)?0:1,data[key]=nativeCreate&&void 0===value?"__lodash_hash_undefined__":value,this};var splice=Array.prototype.splice;function ListCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}ListCache.prototype.clear=function(){this.__data__=[],this.size=0},ListCache.prototype.delete=function(key){var data=this.__data__,index=assocIndexOf(data,key);return!(index<0)&&(index==data.length-1?data.pop():splice.call(data,index,1),--this.size,!0)},ListCache.prototype.get=function(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?void 0:data[index][1]},ListCache.prototype.has=function(key){return assocIndexOf(this.__data__,key)>-1},ListCache.prototype.set=function(key,value){var data=this.__data__,index=assocIndexOf(data,key);return index<0?(++this.size,data.push([key,value])):data[index][1]=value,this};var Map$1=getNative(root,"Map");function getMapData(map2,key){var value,type2,data=map2.__data__;return("string"==(type2=typeof(value=key))||"number"==type2||"symbol"==type2||"boolean"==type2?"__proto__"!==value:null===value)?data["string"==typeof key?"string":"hash"]:data.map}function MapCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}MapCache.prototype.clear=function(){this.size=0,this.__data__={hash:new Hash,map:new(Map$1||ListCache),string:new Hash}},MapCache.prototype.delete=function(key){var result=getMapData(this,key).delete(key);return this.size-=result?1:0,result},MapCache.prototype.get=function(key){return getMapData(this,key).get(key)},MapCache.prototype.has=function(key){return getMapData(this,key).has(key)},MapCache.prototype.set=function(key,value){var data=getMapData(this,key),size=data.size;return data.set(key,value),this.size+=data.size==size?0:1,this};function memoize(func,resolver){if("function"!=typeof func||null!=resolver&&"function"!=typeof resolver)throw new TypeError("Expected a function");var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key))return cache.get(key);var result=func.apply(this,args);return memoized.cache=cache.set(key,result)||cache,result};return memoized.cache=new(memoize.Cache||MapCache),memoized}memoize.Cache=MapCache;function Stack(entries){var data=this.__data__=new ListCache(entries);this.size=data.size}Stack.prototype.clear=function(){this.__data__=new ListCache,this.size=0},Stack.prototype.delete=function(key){var data=this.__data__,result=data.delete(key);return this.size=data.size,result},Stack.prototype.get=function(key){return this.__data__.get(key)},Stack.prototype.has=function(key){return this.__data__.has(key)},Stack.prototype.set=function(key,value){var data=this.__data__;if(data instanceof ListCache){var pairs2=data.__data__;if(!Map$1||pairs2.length<199)return pairs2.push([key,value]),this.size=++data.size,this;data=this.__data__=new MapCache(pairs2)}return data.set(key,value),this.size=data.size,this};var defineProperty=function(){try{var func=getNative(Object,"defineProperty");return func({},"",{}),func}catch(e2){}}();function baseAssignValue(object,key,value){"__proto__"==key&&defineProperty?defineProperty(object,key,{configurable:!0,enumerable:!0,value:value,writable:!0}):object[key]=value}function assignMergeValue(object,key,value){(void 0!==value&&!eq(object[key],value)||void 0===value&&!(key in object))&&baseAssignValue(object,key,value)}var baseFor=function(object,iteratee,keysFunc){for(var index=-1,iterable=Object(object),props=keysFunc(object),length=props.length;length--;){var key=props[++index];if(!1===iteratee(iterable[key],key,iterable))break}return object},freeExports$2="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule$2=freeExports$2&&"object"==typeof module&&module&&!module.nodeType&&module,Buffer$1=freeModule$2&&freeModule$2.exports===freeExports$2?root.Buffer:void 0,allocUnsafe=Buffer$1?Buffer$1.allocUnsafe:void 0;function cloneBuffer(buffer,isDeep){if(isDeep)return buffer.slice();var length=buffer.length,result=allocUnsafe?allocUnsafe(length):new buffer.constructor(length);return buffer.copy(result),result}var Uint8Array$1=root.Uint8Array;function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constructor(arrayBuffer.byteLength);return new Uint8Array$1(result).set(new Uint8Array$1(arrayBuffer)),result}function cloneTypedArray(typedArray,isDeep){var buffer=isDeep?cloneArrayBuffer(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer,typedArray.byteOffset,typedArray.length)}function copyArray(source,array2){var index=-1,length=source.length;for(array2||(array2=Array(length));++index<length;)array2[index]=source[index];return array2}var objectCreate=Object.create,baseCreate=function(){function object(){}return function(proto){if(!isObject(proto))return{};if(objectCreate)return objectCreate(proto);object.prototype=proto;var result=new object;return object.prototype=void 0,result}}();function overArg(func,transform){return function(arg){return func(transform(arg))}}var getPrototype=overArg(Object.getPrototypeOf,Object),objectProto$7=Object.prototype;function isPrototype(value){var Ctor=value&&value.constructor;return value===("function"==typeof Ctor&&Ctor.prototype||objectProto$7)}function initCloneObject(object){return"function"!=typeof object.constructor||isPrototype(object)?{}:baseCreate(getPrototype(object))}function isObjectLike(value){return null!=value&&"object"==typeof value}function baseIsArguments(value){return isObjectLike(value)&&"[object Arguments]"==baseGetTag(value)}var objectProto$6=Object.prototype,hasOwnProperty$6=objectProto$6.hasOwnProperty,propertyIsEnumerable=objectProto$6.propertyIsEnumerable,isArguments=baseIsArguments(function(){return arguments}())?baseIsArguments:function(value){return isObjectLike(value)&&hasOwnProperty$6.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")},isArray=Array.isArray;function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=9007199254740991}function isArrayLike(value){return null!=value&&isLength(value.length)&&!isFunction(value)}function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value)}var freeExports$1="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule$1=freeExports$1&&"object"==typeof module&&module&&!module.nodeType&&module,Buffer2=freeModule$1&&freeModule$1.exports===freeExports$1?root.Buffer:void 0,isBuffer=(Buffer2?Buffer2.isBuffer:void 0)||function(){return!1},funcProto=Function.prototype,objectProto$5=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$5=objectProto$5.hasOwnProperty,objectCtorString=funcToString.call(Object);var typedArrayTags={};function baseUnary(func){return function(value){return func(value)}}typedArrayTags["[object Float32Array]"]=typedArrayTags["[object Float64Array]"]=typedArrayTags["[object Int8Array]"]=typedArrayTags["[object Int16Array]"]=typedArrayTags["[object Int32Array]"]=typedArrayTags["[object Uint8Array]"]=typedArrayTags["[object Uint8ClampedArray]"]=typedArrayTags["[object Uint16Array]"]=typedArrayTags["[object Uint32Array]"]=!0,typedArrayTags["[object Arguments]"]=typedArrayTags["[object Array]"]=typedArrayTags["[object ArrayBuffer]"]=typedArrayTags["[object Boolean]"]=typedArrayTags["[object DataView]"]=typedArrayTags["[object Date]"]=typedArrayTags["[object Error]"]=typedArrayTags["[object Function]"]=typedArrayTags["[object Map]"]=typedArrayTags["[object Number]"]=typedArrayTags["[object Object]"]=typedArrayTags["[object RegExp]"]=typedArrayTags["[object Set]"]=typedArrayTags["[object String]"]=typedArrayTags["[object WeakMap]"]=!1;var freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&"object"==typeof module&&module&&!module.nodeType&&module,freeProcess=freeModule&&freeModule.exports===freeExports&&freeGlobal.process,nodeUtil=function(){try{var types=freeModule&&freeModule.require&&freeModule.require("util").types;return types||freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e2){}}(),nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):function(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[baseGetTag(value)]};function safeGet(object,key){if(("constructor"!==key||"function"!=typeof object[key])&&"__proto__"!=key)return object[key]}var hasOwnProperty$4=Object.prototype.hasOwnProperty;function assignValue(object,key,value){var objValue=object[key];hasOwnProperty$4.call(object,key)&&eq(objValue,value)&&(void 0!==value||key in object)||baseAssignValue(object,key,value)}function copyObject(source,props,object,customizer){var isNew=!object;object||(object={});for(var index=-1,length=props.length;++index<length;){var key=props[index],newValue=void 0;void 0===newValue&&(newValue=source[key]),isNew?baseAssignValue(object,key,newValue):assignValue(object,key,newValue)}return object}var reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(value,length){var type2=typeof value;return!!(length=null==length?9007199254740991:length)&&("number"==type2||"symbol"!=type2&&reIsUint.test(value))&&value>-1&&value%1==0&&value<length}var hasOwnProperty$3=Object.prototype.hasOwnProperty;function arrayLikeKeys(value,inherited){var isArr=isArray(value),isArg=!isArr&&isArguments(value),isBuff=!isArr&&!isArg&&isBuffer(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray(value),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?function(n2,iteratee){for(var index=-1,result=Array(n2);++index<n2;)result[index]=iteratee(index);return result}(value.length,String):[],length=result.length;for(var key in value)!inherited&&!hasOwnProperty$3.call(value,key)||skipIndexes&&("length"==key||isBuff&&("offset"==key||"parent"==key)||isType&&("buffer"==key||"byteLength"==key||"byteOffset"==key)||isIndex(key,length))||result.push(key);return result}var hasOwnProperty$2=Object.prototype.hasOwnProperty;function baseKeysIn(object){if(!isObject(object))return function(object){var result=[];if(null!=object)for(var key in Object(object))result.push(key);return result}(object);var isProto=isPrototype(object),result=[];for(var key in object)("constructor"!=key||!isProto&&hasOwnProperty$2.call(object,key))&&result.push(key);return result}function keysIn(object){return isArrayLike(object)?arrayLikeKeys(object,!0):baseKeysIn(object)}function baseMergeDeep(object,source,key,srcIndex,mergeFunc,customizer,stack){var objValue=safeGet(object,key),srcValue=safeGet(source,key),stacked=stack.get(srcValue);if(stacked)assignMergeValue(object,key,stacked);else{var value,newValue=customizer?customizer(objValue,srcValue,key+"",object,source,stack):void 0,isCommon=void 0===newValue;if(isCommon){var isArr=isArray(srcValue),isBuff=!isArr&&isBuffer(srcValue),isTyped=!isArr&&!isBuff&&isTypedArray(srcValue);newValue=srcValue,isArr||isBuff||isTyped?isArray(objValue)?newValue=objValue:isArrayLikeObject(objValue)?newValue=copyArray(objValue):isBuff?(isCommon=!1,newValue=cloneBuffer(srcValue,!0)):isTyped?(isCommon=!1,newValue=cloneTypedArray(srcValue,!0)):newValue=[]:function(value){if(!isObjectLike(value)||"[object Object]"!=baseGetTag(value))return!1;var proto=getPrototype(value);if(null===proto)return!0;var Ctor=hasOwnProperty$5.call(proto,"constructor")&&proto.constructor;return"function"==typeof Ctor&&Ctor instanceof Ctor&&funcToString.call(Ctor)==objectCtorString}(srcValue)||isArguments(srcValue)?(newValue=objValue,isArguments(objValue)?newValue=copyObject(value=objValue,keysIn(value)):isObject(objValue)&&!isFunction(objValue)||(newValue=initCloneObject(srcValue))):isCommon=!1}isCommon&&(stack.set(srcValue,newValue),mergeFunc(newValue,srcValue,srcIndex,customizer,stack),stack.delete(srcValue)),assignMergeValue(object,key,newValue)}}function baseMerge(object,source,srcIndex,customizer,stack){object!==source&&baseFor(source,function(srcValue,key){if(stack||(stack=new Stack),isObject(srcValue))baseMergeDeep(object,source,key,srcIndex,baseMerge,customizer,stack);else{var newValue=customizer?customizer(safeGet(object,key),srcValue,key+"",object,source,stack):void 0;void 0===newValue&&(newValue=srcValue),assignMergeValue(object,key,newValue)}},keysIn)}function identity(value){return value}var nativeMax=Math.max;function overRest(func,start2,transform){return start2=nativeMax(void 0===start2?func.length-1:start2,0),function(){for(var args=arguments,index=-1,length=nativeMax(args.length-start2,0),array2=Array(length);++index<length;)array2[index]=args[start2+index];index=-1;for(var otherArgs=Array(start2+1);++index<start2;)otherArgs[index]=args[index];return otherArgs[start2]=transform(array2),function(func,thisArg,args){switch(args.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2])}return func.apply(thisArg,args)}(func,this,otherArgs)}}function constant(value){return function(){return value}}var baseSetToString=defineProperty?function(func,string){return defineProperty(func,"toString",{configurable:!0,enumerable:!1,value:constant(string),writable:!0})}:identity,nativeNow=Date.now;var func,count,lastCalled,setToString=(func=baseSetToString,count=0,lastCalled=0,function(){var stamp=nativeNow(),remaining=16-(stamp-lastCalled);if(lastCalled=stamp,remaining>0){if(++count>=800)return arguments[0]}else count=0;return func.apply(void 0,arguments)});function baseRest(func,start2){return setToString(overRest(func,start2,identity),func+"")}function isIterateeCall(value,index,object){if(!isObject(object))return!1;var type2=typeof index;return!!("number"==type2?isArrayLike(object)&&isIndex(index,object.length):"string"==type2&&index in object)&&eq(object[index],value)}var assigner,merge=(assigner=function(object,source,srcIndex){baseMerge(object,source,srcIndex)},baseRest(function(object,sources){var index=-1,length=sources.length,customizer=length>1?sources[length-1]:void 0,guard=length>2?sources[2]:void 0;for(customizer=assigner.length>3&&"function"==typeof customizer?(length--,customizer):void 0,guard&&isIterateeCall(sources[0],sources[1],guard)&&(customizer=length<3?void 0:customizer,length=1),object=Object(object);++index<length;){var source=sources[index];source&&assigner(object,source,index,customizer)}return object})),ZERO_WIDTH_SPACE="​",d3CurveTypes={curveBasis:curveBasis,curveBasisClosed:function(context){return new BasisClosed(context)},curveBasisOpen:function(context){return new BasisOpen(context)},curveBumpX:bumpX,curveBumpY:bumpY,curveBundle:curveBundle,curveCardinalClosed:curveCardinalClosed,curveCardinalOpen:curveCardinalOpen,curveCardinal:curveCardinal,curveCatmullRomClosed:curveCatmullRomClosed,curveCatmullRomOpen:curveCatmullRomOpen,curveCatmullRom:curveCatmullRom,curveLinear:curveLinear,curveLinearClosed:function(context){return new LinearClosed(context)},curveMonotoneX:monotoneX,curveMonotoneY:monotoneY,curveNatural:curveNatural,curveStep:curveStep,curveStepAfter:stepAfter,curveStepBefore:stepBefore},directiveWithoutOpen=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,detectInit=__name(function(text2,config2){const inits=detectDirective(text2,/(?:init\b)|(?:initialize\b)/);let results={};if(Array.isArray(inits)){const args=inits.map(init2=>init2.args);sanitizeDirective(args),results=assignWithDepth_default(results,[...args])}else results=inits.args;if(!results)return;let type2=detectType$1(text2,config2);return void 0!==results.config&&("flowchart-v2"===type2&&(type2="flowchart"),results[type2]=results.config,delete results.config),results},"detectInit"),detectDirective=__name(function(text2,type2=null){var _a2,_b2;try{const commentWithoutDirectives=new RegExp(`[%]{2}(?![{]${directiveWithoutOpen.source})(?=[}][%]{2}).*\n`,"ig");let match;text2=text2.trim().replace(commentWithoutDirectives,"").replace(/'/gm,'"'),log.debug(`Detecting diagram directive${null!==type2?" type:"+type2:""} based on the text:${text2}`);const result=[];for(;null!==(match=directiveRegex.exec(text2));)if(match.index===directiveRegex.lastIndex&&directiveRegex.lastIndex++,match&&!type2||type2&&(null==(_a2=match[1])?void 0:_a2.match(type2))||type2&&(null==(_b2=match[2])?void 0:_b2.match(type2))){const type22=match[1]?match[1]:match[2],args=match[3]?match[3].trim():match[4]?JSON.parse(match[4].trim()):null;result.push({type:type22,args:args})}return 0===result.length?{type:text2,args:null}:1===result.length?result[0]:result}catch(error){return log.error(`ERROR: ${error.message} - Unable to parse directive type: '${type2}' based on the text: '${text2}'`),{type:void 0,args:null}}},"detectDirective"),removeDirectives=__name(function(text2){return text2.replace(directiveRegex,"")},"removeDirectives"),isSubstringInArray=__name(function(str2,arr){for(const[i2,element]of arr.entries())if(element.match(str2))return i2;return-1},"isSubstringInArray");function interpolateToCurve(interpolate2,defaultCurve){if(!interpolate2)return defaultCurve;const curveName=`curve${interpolate2.charAt(0).toUpperCase()+interpolate2.slice(1)}`;return d3CurveTypes[curveName]??defaultCurve}function formatUrl(linkStr,config2){const url=linkStr.trim();if(url)return"loose"!==config2.securityLevel?distExports.sanitizeUrl(url):url}__name(interpolateToCurve,"interpolateToCurve"),__name(formatUrl,"formatUrl");var runFunc=__name((functionName,...params)=>{const arrPaths=functionName.split("."),len=arrPaths.length-1,fnName=arrPaths[len];let obj=window;for(let i2=0;i2<len;i2++)if(obj=obj[arrPaths[i2]],!obj)return void log.error(`Function name: ${functionName} not found in window`);obj[fnName](...params)},"runFunc");function distance(p1,p2){return p1&&p2?Math.sqrt(Math.pow(p2.x-p1.x,2)+Math.pow(p2.y-p1.y,2)):0}function traverseEdge(points){let prevPoint,totalDistance=0;points.forEach(point2=>{totalDistance+=distance(point2,prevPoint),prevPoint=point2});return calculatePoint(points,totalDistance/2)}function calcLabelPosition(points){return 1===points.length?points[0]:traverseEdge(points)}__name(distance,"distance"),__name(traverseEdge,"traverseEdge"),__name(calcLabelPosition,"calcLabelPosition");var roundNumber=__name((num,precision=2)=>{const factor=Math.pow(10,precision);return Math.round(num*factor)/factor},"roundNumber"),calculatePoint=__name((points,distanceToTraverse)=>{let prevPoint,remainingDistance=distanceToTraverse;for(const point2 of points){if(prevPoint){const vectorDistance=distance(point2,prevPoint);if(0===vectorDistance)return prevPoint;if(vectorDistance<remainingDistance)remainingDistance-=vectorDistance;else{const distanceRatio=remainingDistance/vectorDistance;if(distanceRatio<=0)return prevPoint;if(distanceRatio>=1)return{x:point2.x,y:point2.y};if(distanceRatio>0&&distanceRatio<1)return{x:roundNumber((1-distanceRatio)*prevPoint.x+distanceRatio*point2.x,5),y:roundNumber((1-distanceRatio)*prevPoint.y+distanceRatio*point2.y,5)}}}prevPoint=point2}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),calcCardinalityPosition=__name((isRelationTypePresent,points,initialPosition)=>{log.info(`our points ${JSON.stringify(points)}`),points[0]!==initialPosition&&(points=points.reverse());const center=calculatePoint(points,25),d2=isRelationTypePresent?10:5,angle=Math.atan2(points[0].y-center.y,points[0].x-center.x),cardinalityPosition={x:0,y:0};return cardinalityPosition.x=Math.sin(angle)*d2+(points[0].x+center.x)/2,cardinalityPosition.y=-Math.cos(angle)*d2+(points[0].y+center.y)/2,cardinalityPosition},"calcCardinalityPosition");function calcTerminalLabelPosition(terminalMarkerSize,position,_points){const points=structuredClone(_points);log.info("our points",points),"start_left"!==position&&"start_right"!==position&&points.reverse();const center=calculatePoint(points,25+terminalMarkerSize),d2=10+.5*terminalMarkerSize,angle=Math.atan2(points[0].y-center.y,points[0].x-center.x),cardinalityPosition={x:0,y:0};return"start_left"===position?(cardinalityPosition.x=Math.sin(angle+Math.PI)*d2+(points[0].x+center.x)/2,cardinalityPosition.y=-Math.cos(angle+Math.PI)*d2+(points[0].y+center.y)/2):"end_right"===position?(cardinalityPosition.x=Math.sin(angle-Math.PI)*d2+(points[0].x+center.x)/2-5,cardinalityPosition.y=-Math.cos(angle-Math.PI)*d2+(points[0].y+center.y)/2-5):"end_left"===position?(cardinalityPosition.x=Math.sin(angle)*d2+(points[0].x+center.x)/2-5,cardinalityPosition.y=-Math.cos(angle)*d2+(points[0].y+center.y)/2-5):(cardinalityPosition.x=Math.sin(angle)*d2+(points[0].x+center.x)/2,cardinalityPosition.y=-Math.cos(angle)*d2+(points[0].y+center.y)/2),cardinalityPosition}function getStylesFromArray(arr){let style="",labelStyle="";for(const element of arr)void 0!==element&&(element.startsWith("color:")||element.startsWith("text-align:")?labelStyle=labelStyle+element+";":style=style+element+";");return{style:style,labelStyle:labelStyle}}__name(calcTerminalLabelPosition,"calcTerminalLabelPosition"),__name(getStylesFromArray,"getStylesFromArray");var cnt=0,generateId=__name(()=>(cnt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+cnt),"generateId");function makeRandomHex(length){let result="";for(let i2=0;i2<length;i2++)result+="0123456789abcdef".charAt(Math.floor(16*Math.random()));return result}__name(makeRandomHex,"makeRandomHex");var random=__name(options=>makeRandomHex(options.length),"random"),getTextObj=__name(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),drawSimpleText=__name(function(elem,textData){const nText=textData.text.replace(common_default.lineBreakRegex," "),[,_fontSizePx]=parseFontSize(textData.fontSize),textElem=elem.append("text");textElem.attr("x",textData.x),textElem.attr("y",textData.y),textElem.style("text-anchor",textData.anchor),textElem.style("font-family",textData.fontFamily),textElem.style("font-size",_fontSizePx),textElem.style("font-weight",textData.fontWeight),textElem.attr("fill",textData.fill),void 0!==textData.class&&textElem.attr("class",textData.class);const span=textElem.append("tspan");return span.attr("x",textData.x+2*textData.textMargin),span.attr("fill",textData.fill),span.text(nText),textElem},"drawSimpleText"),wrapLabel=memoize((label,maxWidth,config2)=>{if(!label)return label;if(config2=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},config2),common_default.lineBreakRegex.test(label))return label;const words=label.split(" ").filter(Boolean),completedLines=[];let nextLine="";return words.forEach((word,index)=>{const wordLength=calculateTextWidth(`${word} `,config2),nextLineLength=calculateTextWidth(nextLine,config2);if(wordLength>maxWidth){const{hyphenatedStrings:hyphenatedStrings,remainingWord:remainingWord}=breakString(word,maxWidth,"-",config2);completedLines.push(nextLine,...hyphenatedStrings),nextLine=remainingWord}else nextLineLength+wordLength>=maxWidth?(completedLines.push(nextLine),nextLine=word):nextLine=[nextLine,word].filter(Boolean).join(" ");index+1===words.length&&completedLines.push(nextLine)}),completedLines.filter(line2=>""!==line2).join(config2.joinWith)},(label,maxWidth,config2)=>`${label}${maxWidth}${config2.fontSize}${config2.fontWeight}${config2.fontFamily}${config2.joinWith}`),breakString=memoize((word,maxWidth,hyphenCharacter="-",config2)=>{config2=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},config2);const characters=[...word],lines=[];let currentLine="";return characters.forEach((character,index)=>{const nextLine=`${currentLine}${character}`;if(calculateTextWidth(nextLine,config2)>=maxWidth){const currentCharacter=index+1,isLastLine=characters.length===currentCharacter,hyphenatedNextLine=`${nextLine}${hyphenCharacter}`;lines.push(isLastLine?nextLine:hyphenatedNextLine),currentLine=""}else currentLine=nextLine}),{hyphenatedStrings:lines,remainingWord:currentLine}},(word,maxWidth,hyphenCharacter="-",config2)=>`${word}${maxWidth}${hyphenCharacter}${config2.fontSize}${config2.fontWeight}${config2.fontFamily}`);function calculateTextHeight(text2,config2){return calculateTextDimensions(text2,config2).height}function calculateTextWidth(text2,config2){return calculateTextDimensions(text2,config2).width}__name(calculateTextHeight,"calculateTextHeight"),__name(calculateTextWidth,"calculateTextWidth");var decoder,calculateTextDimensions=memoize((text2,config2)=>{const{fontSize:fontSize=12,fontFamily:fontFamily="Arial",fontWeight:fontWeight=400}=config2;if(!text2)return{width:0,height:0};const[,_fontSizePx]=parseFontSize(fontSize),fontFamilies=["sans-serif",fontFamily],lines=text2.split(common_default.lineBreakRegex),dims=[],body=select("body");if(!body.remove)return{width:0,height:0,lineHeight:0};const g2=body.append("svg");for(const fontFamily2 of fontFamilies){let cHeight=0;const dim={width:0,height:0,lineHeight:0};for(const line2 of lines){const textObj=getTextObj();textObj.text=line2||"​";const textElem=drawSimpleText(g2,textObj).style("font-size",_fontSizePx).style("font-weight",fontWeight).style("font-family",fontFamily2),bBox=(textElem._groups||textElem)[0][0].getBBox();if(0===bBox.width&&0===bBox.height)throw new Error("svg element not in render tree");dim.width=Math.round(Math.max(dim.width,bBox.width)),cHeight=Math.round(bBox.height),dim.height+=cHeight,dim.lineHeight=Math.round(Math.max(dim.lineHeight,cHeight))}dims.push(dim)}g2.remove();return dims[isNaN(dims[1].height)||isNaN(dims[1].width)||isNaN(dims[1].lineHeight)||dims[0].height>dims[1].height&&dims[0].width>dims[1].width&&dims[0].lineHeight>dims[1].lineHeight?0:1]},(text2,config2)=>`${text2}${config2.fontSize}${config2.fontWeight}${config2.fontFamily}`),InitIDGenerator=(__name(_n=class{constructor(deterministic=!1,seed){this.count=0,this.count=seed?seed.length:0,this.next=deterministic?()=>this.count++:()=>Date.now()}},"InitIDGenerator"),_n),entityDecode=__name(function(html){return decoder=decoder||document.createElement("div"),html=escape(html).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),decoder.innerHTML=html,unescape(decoder.textContent)},"entityDecode");function isDetailedError(error){return"str"in error}__name(isDetailedError,"isDetailedError");var insertTitle=__name((parent,cssClass,titleTopMargin,title)=>{var _a2;if(!title)return;const bounds=null==(_a2=parent.node())?void 0:_a2.getBBox();bounds&&parent.append("text").text(title).attr("text-anchor","middle").attr("x",bounds.x+bounds.width/2).attr("y",-titleTopMargin).attr("class",cssClass)},"insertTitle"),parseFontSize=__name(fontSize=>{if("number"==typeof fontSize)return[fontSize,fontSize+"px"];const fontSizeNumber=parseInt(fontSize??"",10);return Number.isNaN(fontSizeNumber)?[void 0,void 0]:fontSize===String(fontSizeNumber)?[fontSizeNumber,fontSize+"px"]:[fontSizeNumber,fontSize]},"parseFontSize");function cleanAndMerge(defaultData,data){return merge({},defaultData,data)}__name(cleanAndMerge,"cleanAndMerge");var utils_default={assignWithDepth:assignWithDepth_default,wrapLabel:wrapLabel,calculateTextHeight:calculateTextHeight,calculateTextWidth:calculateTextWidth,calculateTextDimensions:calculateTextDimensions,cleanAndMerge:cleanAndMerge,detectInit:detectInit,detectDirective:detectDirective,isSubstringInArray:isSubstringInArray,interpolateToCurve:interpolateToCurve,calcLabelPosition:calcLabelPosition,calcCardinalityPosition:calcCardinalityPosition,calcTerminalLabelPosition:calcTerminalLabelPosition,formatUrl:formatUrl,getStylesFromArray:getStylesFromArray,generateId:generateId,random:random,runFunc:runFunc,entityDecode:entityDecode,insertTitle:insertTitle,isLabelCoordinateInPath:isLabelCoordinateInPath,parseFontSize:parseFontSize,InitIDGenerator:InitIDGenerator},encodeEntities=__name(function(text2){let txt=text2;return txt=txt.replace(/style.*:\S*#.*;/g,function(s2){return s2.substring(0,s2.length-1)}),txt=txt.replace(/classDef.*:\S*#.*;/g,function(s2){return s2.substring(0,s2.length-1)}),txt=txt.replace(/#\w+;/g,function(s2){const innerTxt=s2.substring(1,s2.length-1);return/^\+?\d+$/.test(innerTxt)?"fl°°"+innerTxt+"¶ß":"fl°"+innerTxt+"¶ß"}),txt},"encodeEntities"),decodeEntities=__name(function(text2){return text2.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),getEdgeId=__name((from,to,{counter:counter=0,prefix:prefix,suffix:suffix},id32)=>id32||`${prefix?`${prefix}_`:""}${from}_${to}_${counter}${suffix?`_${suffix}`:""}`,"getEdgeId");function handleUndefinedAttr(attrValue){return attrValue??null}function isLabelCoordinateInPath(point2,dAttr){const roundedX=Math.round(point2.x),roundedY=Math.round(point2.y),sanitizedD=dAttr.replace(/(\d+\.\d+)/g,match=>Math.round(parseFloat(match)).toString());return sanitizedD.includes(roundedX.toString())||sanitizedD.includes(roundedY.toString())}__name(handleUndefinedAttr,"handleUndefinedAttr"),__name(isLabelCoordinateInPath,"isLabelCoordinateInPath");var getSubGraphTitleMargins=__name(({flowchart:flowchart})=>{var _a2,_b2;const subGraphTitleTopMargin=(null==(_a2=null==flowchart?void 0:flowchart.subGraphTitleMargin)?void 0:_a2.top)??0,subGraphTitleBottomMargin=(null==(_b2=null==flowchart?void 0:flowchart.subGraphTitleMargin)?void 0:_b2.bottom)??0;return{subGraphTitleTopMargin:subGraphTitleTopMargin,subGraphTitleBottomMargin:subGraphTitleBottomMargin,subGraphTitleTotalMargin:subGraphTitleTopMargin+subGraphTitleBottomMargin}},"getSubGraphTitleMargins");async function configureLabelImages(container,labelText){const images=container.getElementsByTagName("img");if(!images||0===images.length)return;const noImgText=""===labelText.replace(/<img[^>]*>/g,"").trim();await Promise.all([...images].map(img=>new Promise(res=>{function setupImage(){if(img.style.display="flex",img.style.flexDirection="column",noImgText){const bodyFontSize=getConfig2().fontSize?getConfig2().fontSize:window.getComputedStyle(document.body).fontSize,enlargingFactor=5,[parsedBodyFontSize=defaultConfig_default.fontSize]=parseFontSize(bodyFontSize),width=parsedBodyFontSize*enlargingFactor+"px";img.style.minWidth=width,img.style.maxWidth=width}else img.style.width="100%";res(img)}__name(setupImage,"setupImage"),setTimeout(()=>{img.complete&&setupImage()}),img.addEventListener("error",setupImage),img.addEventListener("load",setupImage)})))}__name(configureLabelImages,"configureLabelImages");var solidStateFill=__name(color2=>{const{handDrawnSeed:handDrawnSeed}=getConfig2();return{fill:color2,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:color2,seed:handDrawnSeed}},"solidStateFill"),compileStyles=__name(node=>{const stylesMap=styles2Map([...node.cssCompiledStyles||[],...node.cssStyles||[],...node.labelStyle||[]]);return{stylesMap:stylesMap,stylesArray:[...stylesMap]}},"compileStyles"),styles2Map=__name(styles=>{const styleMap=new Map;return styles.forEach(style=>{const[key,value]=style.split(":");styleMap.set(key.trim(),null==value?void 0:value.trim())}),styleMap},"styles2Map"),isLabelStyle=__name(key=>"color"===key||"font-size"===key||"font-family"===key||"font-weight"===key||"font-style"===key||"text-decoration"===key||"text-align"===key||"text-transform"===key||"line-height"===key||"letter-spacing"===key||"word-spacing"===key||"text-shadow"===key||"text-overflow"===key||"white-space"===key||"word-wrap"===key||"word-break"===key||"overflow-wrap"===key||"hyphens"===key,"isLabelStyle"),styles2String=__name(node=>{const{stylesArray:stylesArray}=compileStyles(node),labelStyles=[],nodeStyles=[],borderStyles=[],backgroundStyles=[];return stylesArray.forEach(style=>{const key=style[0];isLabelStyle(key)?labelStyles.push(style.join(":")+" !important"):(nodeStyles.push(style.join(":")+" !important"),key.includes("stroke")&&borderStyles.push(style.join(":")+" !important"),"fill"===key&&backgroundStyles.push(style.join(":")+" !important"))}),{labelStyles:labelStyles.join(";"),nodeStyles:nodeStyles.join(";"),stylesArray:stylesArray,borderStyles:borderStyles,backgroundStyles:backgroundStyles}},"styles2String"),userNodeOverrides=__name((node,options)=>{var _a2;const{themeVariables:themeVariables,handDrawnSeed:handDrawnSeed}=getConfig2(),{nodeBorder:nodeBorder,mainBkg:mainBkg}=themeVariables,{stylesMap:stylesMap}=compileStyles(node);return Object.assign({roughness:.7,fill:stylesMap.get("fill")||mainBkg,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:stylesMap.get("stroke")||nodeBorder,seed:handDrawnSeed,strokeWidth:(null==(_a2=stylesMap.get("stroke-width"))?void 0:_a2.replace("px",""))||1.3,fillLineDash:[0,0],strokeLineDash:getStrokeDashArray(stylesMap.get("stroke-dasharray"))},options)},"userNodeOverrides"),getStrokeDashArray=__name(strokeDasharrayStyle=>{if(!strokeDasharrayStyle)return[0,0];const dashArray=strokeDasharrayStyle.trim().split(/\s+/).map(Number);if(1===dashArray.length){const val=isNaN(dashArray[0])?0:dashArray[0];return[val,val]}return[isNaN(dashArray[0])?0:dashArray[0],isNaN(dashArray[1])?0:dashArray[1]]},"getStrokeDashArray");const defaultIconDimensions=Object.freeze({left:0,top:0,width:16,height:16}),defaultIconTransformations=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),defaultIconProps=Object.freeze({...defaultIconDimensions,...defaultIconTransformations}),defaultExtendedIconProps=Object.freeze({...defaultIconProps,body:"",hidden:!1}),defaultIconSizeCustomisations=Object.freeze({width:null,height:null}),defaultIconCustomisations=Object.freeze({...defaultIconSizeCustomisations,...defaultIconTransformations}),validateIconName=(icon2,allowSimpleName)=>!!icon2&&!(!(allowSimpleName&&""===icon2.prefix||icon2.prefix)||!icon2.name);function mergeIconData(parent,child){const result=function(obj1,obj2){const result={};!obj1.hFlip!=!obj2.hFlip&&(result.hFlip=!0),!obj1.vFlip!=!obj2.vFlip&&(result.vFlip=!0);const rotate=((obj1.rotate||0)+(obj2.rotate||0))%4;return rotate&&(result.rotate=rotate),result}(parent,child);for(const key in defaultExtendedIconProps)key in defaultIconTransformations?key in parent&&!(key in result)&&(result[key]=defaultIconTransformations[key]):key in child?result[key]=child[key]:key in parent&&(result[key]=parent[key]);return result}function internalGetIconData(data,name,tree){const icons=data.icons,aliases=data.aliases||Object.create(null);let currentProps={};function parse3(name$1){currentProps=mergeIconData(icons[name$1]||aliases[name$1],currentProps)}return parse3(name),tree.forEach(parse3),mergeIconData(data,currentProps)}function getIconData(data,name){if(data.icons[name])return internalGetIconData(data,name,[]);const tree=function(data,names){const icons=data.icons,aliases=data.aliases||Object.create(null),resolved=Object.create(null);return(names||Object.keys(icons).concat(Object.keys(aliases))).forEach(function resolve(name){if(icons[name])return resolved[name]=[];if(!(name in resolved)){resolved[name]=null;const parent=aliases[name]&&aliases[name].parent,value=parent&&resolve(parent);value&&(resolved[name]=[parent].concat(value))}return resolved[name]}),resolved}(data,[name])[name];return tree?internalGetIconData(data,name,tree):null}const unitsSplit=/(-?[0-9.]*[0-9]+[0-9.]*)/g,unitsTest=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function calculateSize(size,ratio,precision){if(1===ratio)return size;if(precision=precision||100,"number"==typeof size)return Math.ceil(size*ratio*precision)/precision;if("string"!=typeof size)return size;const oldParts=size.split(unitsSplit);if(null===oldParts||!oldParts.length)return size;const newParts=[];let code=oldParts.shift(),isNumber=unitsTest.test(code);for(;;){if(isNumber){const num=parseFloat(code);isNaN(num)?newParts.push(code):newParts.push(Math.ceil(num*ratio*precision)/precision)}else newParts.push(code);if(code=oldParts.shift(),void 0===code)return newParts.join("");isNumber=!isNumber}}const regex=/\sid="(\S+)"/g,counters=new Map;function replaceIDs(body){const ids=[];let match;for(;match=regex.exec(body);)ids.push(match[1]);if(!ids.length)return body;const suffix="suffix"+(16777216*Math.random()|Date.now()).toString(16);return ids.forEach(id32=>{const newID=function(id32){id32=id32.replace(/[0-9]+$/,"")||"a";const count=counters.get(id32)||0;return counters.set(id32,count+1),count?`${id32}${count}`:id32}(id32),escapedID=id32.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");body=body.replace(new RegExp('([#;"])('+escapedID+')([")]|\\.[a-z])',"g"),"$1"+newID+suffix+"$3")}),body=body.replace(new RegExp(suffix,"g"),"")}function L$1(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var T$1={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};function G$1(l4){T$1=l4}var E$1={exec:()=>null};function d$1(l4,e2=""){let t2="string"==typeof l4?l4:l4.source,n2={replace:(r2,i2)=>{let s2="string"==typeof i2?i2:i2.source;return s2=s2.replace(m$1.caret,"$1"),t2=t2.replace(r2,s2),n2},getRegex:()=>new RegExp(t2,e2)};return n2}var be=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),m$1={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:l4=>new RegExp(`^( {0,3}${l4})((?:[\t ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:l4=>new RegExp(`^ {0,${Math.min(3,l4-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),hrRegex:l4=>new RegExp(`^ {0,${Math.min(3,l4-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:l4=>new RegExp(`^ {0,${Math.min(3,l4-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:l4=>new RegExp(`^ {0,${Math.min(3,l4-1)}}#`),htmlBeginRegex:l4=>new RegExp(`^ {0,${Math.min(3,l4-1)}}<(?:[a-z].*>|!--)`,"i")},I$1=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,F$1=/(?:[*+-]|\d{1,9}[.)])/,ie=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,oe=d$1(ie).replace(/bull/g,F$1).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),ye=d$1(ie).replace(/bull/g,F$1).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),j$1=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Q$1=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Se=d$1(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Q$1).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),$e=d$1(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,F$1).getRegex(),v$1="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",U$1=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,_e=d$1("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",U$1).replace("tag",v$1).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ae=d$1(j$1).replace("hr",I$1).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",v$1).getRegex(),K$1={blockquote:d$1(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ae).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:Se,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:I$1,html:_e,lheading:oe,list:$e,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:ae,table:E$1,text:/^[^\n]+/},re=d$1("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",I$1).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",v$1).getRegex(),Me={...K$1,lheading:ye,table:re,paragraph:d$1(j$1).replace("hr",I$1).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",re).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",v$1).getRegex()},ze={...K$1,html:d$1("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",U$1).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:E$1,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:d$1(j$1).replace("hr",I$1).replace("heading"," *#{1,6} *[^\n]").replace("lheading",oe).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},le=/^( {2,}|\\)\n(?!\s*$)/,D$1=/[\p{P}\p{S}]/u,W$1=/[\s\p{P}\p{S}]/u,ue=/[^\s\p{P}\p{S}]/u,Ce=d$1(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,W$1).getRegex(),pe=/(?!~)[\p{P}\p{S}]/u,ve=d$1(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",be?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),ce=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,De=d$1(ce,"u").replace(/punct/g,D$1).getRegex(),He=d$1(ce,"u").replace(/punct/g,pe).getRegex(),he="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Ze=d$1(he,"gu").replace(/notPunctSpace/g,ue).replace(/punctSpace/g,W$1).replace(/punct/g,D$1).getRegex(),Ge=d$1(he,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,pe).getRegex(),Ne=d$1("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,ue).replace(/punctSpace/g,W$1).replace(/punct/g,D$1).getRegex(),Fe=d$1(/\\(punct)/,"gu").replace(/punct/g,D$1).getRegex(),je=d$1(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Qe=d$1(U$1).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ue=d$1("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Qe).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),q$1=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,Ke=d$1(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",q$1).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),de=d$1(/^!?\[(label)\]\[(ref)\]/).replace("label",q$1).replace("ref",Q$1).getRegex(),ke=d$1(/^!?\[(ref)\](?:\[\])?/).replace("ref",Q$1).getRegex(),se=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,X$1={_backpedal:E$1,anyPunctuation:Fe,autolink:je,blockSkip:ve,br:le,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:E$1,emStrongLDelim:De,emStrongRDelimAst:Ze,emStrongRDelimUnd:Ne,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:Ke,nolink:ke,punctuation:Ce,reflink:de,reflinkSearch:d$1("reflink|nolink(?!\\()","g").replace("reflink",de).replace("nolink",ke).getRegex(),tag:Ue,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:E$1},Xe={...X$1,link:d$1(/^!?\[(label)\]\((.*?)\)/).replace("label",q$1).getRegex(),reflink:d$1(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",q$1).getRegex()},N$1={...X$1,emStrongRDelimAst:Ge,emStrongLDelim:He,url:d$1(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",se).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:d$1(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",se).getRegex()},Je={...N$1,br:d$1(le).replace("{2,}","*").getRegex(),text:d$1(N$1.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},C$1={normal:K$1,gfm:Me,pedantic:ze},M$1={normal:X$1,gfm:N$1,breaks:Je,pedantic:Xe},Ve={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ge=l4=>Ve[l4];function w$1(l4,e2){if(e2){if(m$1.escapeTest.test(l4))return l4.replace(m$1.escapeReplace,ge)}else if(m$1.escapeTestNoEncode.test(l4))return l4.replace(m$1.escapeReplaceNoEncode,ge);return l4}function J$1(l4){try{l4=encodeURI(l4).replace(m$1.percentDecode,"%")}catch{return null}return l4}function V$1(l4,e2){var _a2;let n2=l4.replace(m$1.findPipe,(i2,s2,a2)=>{let o2=!1,p2=s2;for(;--p2>=0&&"\\"===a2[p2];)o2=!o2;return o2?"|":" |"}).split(m$1.splitPipe),r2=0;if(n2[0].trim()||n2.shift(),n2.length>0&&!(null==(_a2=n2.at(-1))?void 0:_a2.trim())&&n2.pop(),e2)if(n2.length>e2)n2.splice(e2);else for(;n2.length<e2;)n2.push("");for(;r2<n2.length;r2++)n2[r2]=n2[r2].trim().replace(m$1.slashPipe,"|");return n2}function z$1(l4,e2,t2){let n2=l4.length;if(0===n2)return"";let r2=0;for(;r2<n2;){if(l4.charAt(n2-r2-1)!==e2)break;r2++}return l4.slice(0,n2-r2)}function me(l4,e2,t2,n2,r2){let i2=e2.href,s2=e2.title||null,a2=l4[1].replace(r2.other.outputLinkReplace,"$1");n2.state.inLink=!0;let o2={type:"!"===l4[0].charAt(0)?"image":"link",raw:t2,href:i2,title:s2,text:a2,tokens:n2.inlineTokens(a2)};return n2.state.inLink=!1,o2}var y$1=class{constructor(e2){__publicField(this,"options"),__publicField(this,"rules"),__publicField(this,"lexer"),this.options=e2||T$1}space(e2){let t2=this.rules.block.newline.exec(e2);if(t2&&t2[0].length>0)return{type:"space",raw:t2[0]}}code(e2){let t2=this.rules.block.code.exec(e2);if(t2){let n2=t2[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t2[0],codeBlockStyle:"indented",text:this.options.pedantic?n2:z$1(n2,"\n")}}}fences(e2){let t2=this.rules.block.fences.exec(e2);if(t2){let n2=t2[0],r2=function(l4,e2,t2){let n2=l4.match(t2.other.indentCodeCompensation);if(null===n2)return e2;let r2=n2[1];return e2.split("\n").map(i2=>{let s2=i2.match(t2.other.beginningSpace);if(null===s2)return i2;let[a2]=s2;return a2.length>=r2.length?i2.slice(r2.length):i2}).join("\n")}(n2,t2[3]||"",this.rules);return{type:"code",raw:n2,lang:t2[2]?t2[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t2[2],text:r2}}}heading(e2){let t2=this.rules.block.heading.exec(e2);if(t2){let n2=t2[2].trim();if(this.rules.other.endingHash.test(n2)){let r2=z$1(n2,"#");(this.options.pedantic||!r2||this.rules.other.endingSpaceChar.test(r2))&&(n2=r2.trim())}return{type:"heading",raw:t2[0],depth:t2[1].length,text:n2,tokens:this.lexer.inline(n2)}}}hr(e2){let t2=this.rules.block.hr.exec(e2);if(t2)return{type:"hr",raw:z$1(t2[0],"\n")}}blockquote(e2){let t2=this.rules.block.blockquote.exec(e2);if(t2){let n2=z$1(t2[0],"\n").split("\n"),r2="",i2="",s2=[];for(;n2.length>0;){let p2,a2=!1,o2=[];for(p2=0;p2<n2.length;p2++)if(this.rules.other.blockquoteStart.test(n2[p2]))o2.push(n2[p2]),a2=!0;else{if(a2)break;o2.push(n2[p2])}n2=n2.slice(p2);let u2=o2.join("\n"),c2=u2.replace(this.rules.other.blockquoteSetextReplace,"\n $1").replace(this.rules.other.blockquoteSetextReplace2,"");r2=r2?`${r2}\n${u2}`:u2,i2=i2?`${i2}\n${c2}`:c2;let g2=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c2,s2,!0),this.lexer.state.top=g2,0===n2.length)break;let h2=s2.at(-1);if("code"===(null==h2?void 0:h2.type))break;if("blockquote"===(null==h2?void 0:h2.type)){let R2=h2,f2=R2.raw+"\n"+n2.join("\n"),O2=this.blockquote(f2);s2[s2.length-1]=O2,r2=r2.substring(0,r2.length-R2.raw.length)+O2.raw,i2=i2.substring(0,i2.length-R2.text.length)+O2.text;break}if("list"===(null==h2?void 0:h2.type)){let R2=h2,f2=R2.raw+"\n"+n2.join("\n"),O2=this.list(f2);s2[s2.length-1]=O2,r2=r2.substring(0,r2.length-h2.raw.length)+O2.raw,i2=i2.substring(0,i2.length-R2.raw.length)+O2.raw,n2=f2.substring(s2.at(-1).raw.length).split("\n");continue}}return{type:"blockquote",raw:r2,tokens:s2,text:i2}}}list(e2){let t2=this.rules.block.list.exec(e2);if(t2){let n2=t2[1].trim(),r2=n2.length>1,i2={type:"list",raw:"",ordered:r2,start:r2?+n2.slice(0,-1):"",loose:!1,items:[]};n2=r2?`\\d{1,9}\\${n2.slice(-1)}`:`\\${n2}`,this.options.pedantic&&(n2=r2?n2:"[*+-]");let s2=this.rules.other.listItemRegex(n2),a2=!1;for(;e2;){let p2=!1,u2="",c2="";if(!(t2=s2.exec(e2))||this.rules.block.hr.test(e2))break;u2=t2[0],e2=e2.substring(u2.length);let g2=t2[2].split("\n",1)[0].replace(this.rules.other.listReplaceTabs,H2=>" ".repeat(3*H2.length)),h2=e2.split("\n",1)[0],R2=!g2.trim(),f2=0;if(this.options.pedantic?(f2=2,c2=g2.trimStart()):R2?f2=t2[1].length+1:(f2=t2[2].search(this.rules.other.nonSpaceChar),f2=f2>4?1:f2,c2=g2.slice(f2),f2+=t2[1].length),R2&&this.rules.other.blankLine.test(h2)&&(u2+=h2+"\n",e2=e2.substring(h2.length+1),p2=!0),!p2){let H2=this.rules.other.nextBulletRegex(f2),ee=this.rules.other.hrRegex(f2),te=this.rules.other.fencesBeginRegex(f2),ne=this.rules.other.headingBeginRegex(f2),xe=this.rules.other.htmlBeginRegex(f2);for(;e2;){let A2,Z2=e2.split("\n",1)[0];if(h2=Z2,this.options.pedantic?(h2=h2.replace(this.rules.other.listReplaceNesting," "),A2=h2):A2=h2.replace(this.rules.other.tabCharGlobal," "),te.test(h2)||ne.test(h2)||xe.test(h2)||H2.test(h2)||ee.test(h2))break;if(A2.search(this.rules.other.nonSpaceChar)>=f2||!h2.trim())c2+="\n"+A2.slice(f2);else{if(R2||g2.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||te.test(g2)||ne.test(g2)||ee.test(g2))break;c2+="\n"+h2}!R2&&!h2.trim()&&(R2=!0),u2+=Z2+"\n",e2=e2.substring(Z2.length+1),g2=A2.slice(f2)}}i2.loose||(a2?i2.loose=!0:this.rules.other.doubleBlankLine.test(u2)&&(a2=!0));let Y2,O2=null;this.options.gfm&&(O2=this.rules.other.listIsTask.exec(c2),O2&&(Y2="[ ] "!==O2[0],c2=c2.replace(this.rules.other.listReplaceTask,""))),i2.items.push({type:"list_item",raw:u2,task:!!O2,checked:Y2,loose:!1,text:c2,tokens:[]}),i2.raw+=u2}let o2=i2.items.at(-1);if(!o2)return;o2.raw=o2.raw.trimEnd(),o2.text=o2.text.trimEnd(),i2.raw=i2.raw.trimEnd();for(let p2=0;p2<i2.items.length;p2++)if(this.lexer.state.top=!1,i2.items[p2].tokens=this.lexer.blockTokens(i2.items[p2].text,[]),!i2.loose){let u2=i2.items[p2].tokens.filter(g2=>"space"===g2.type),c2=u2.length>0&&u2.some(g2=>this.rules.other.anyLine.test(g2.raw));i2.loose=c2}if(i2.loose)for(let p2=0;p2<i2.items.length;p2++)i2.items[p2].loose=!0;return i2}}html(e2){let t2=this.rules.block.html.exec(e2);if(t2)return{type:"html",block:!0,raw:t2[0],pre:"pre"===t2[1]||"script"===t2[1]||"style"===t2[1],text:t2[0]}}def(e2){let t2=this.rules.block.def.exec(e2);if(t2){let n2=t2[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),r2=t2[2]?t2[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",i2=t2[3]?t2[3].substring(1,t2[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t2[3];return{type:"def",tag:n2,raw:t2[0],href:r2,title:i2}}}table(e2){var _a2;let t2=this.rules.block.table.exec(e2);if(!t2||!this.rules.other.tableDelimiter.test(t2[2]))return;let n2=V$1(t2[1]),r2=t2[2].replace(this.rules.other.tableAlignChars,"").split("|"),i2=(null==(_a2=t2[3])?void 0:_a2.trim())?t2[3].replace(this.rules.other.tableRowBlankLine,"").split("\n"):[],s2={type:"table",raw:t2[0],header:[],align:[],rows:[]};if(n2.length===r2.length){for(let a2 of r2)this.rules.other.tableAlignRight.test(a2)?s2.align.push("right"):this.rules.other.tableAlignCenter.test(a2)?s2.align.push("center"):this.rules.other.tableAlignLeft.test(a2)?s2.align.push("left"):s2.align.push(null);for(let a2=0;a2<n2.length;a2++)s2.header.push({text:n2[a2],tokens:this.lexer.inline(n2[a2]),header:!0,align:s2.align[a2]});for(let a2 of i2)s2.rows.push(V$1(a2,s2.header.length).map((o2,p2)=>({text:o2,tokens:this.lexer.inline(o2),header:!1,align:s2.align[p2]})));return s2}}lheading(e2){let t2=this.rules.block.lheading.exec(e2);if(t2)return{type:"heading",raw:t2[0],depth:"="===t2[2].charAt(0)?1:2,text:t2[1],tokens:this.lexer.inline(t2[1])}}paragraph(e2){let t2=this.rules.block.paragraph.exec(e2);if(t2){let n2="\n"===t2[1].charAt(t2[1].length-1)?t2[1].slice(0,-1):t2[1];return{type:"paragraph",raw:t2[0],text:n2,tokens:this.lexer.inline(n2)}}}text(e2){let t2=this.rules.block.text.exec(e2);if(t2)return{type:"text",raw:t2[0],text:t2[0],tokens:this.lexer.inline(t2[0])}}escape(e2){let t2=this.rules.inline.escape.exec(e2);if(t2)return{type:"escape",raw:t2[0],text:t2[1]}}tag(e2){let t2=this.rules.inline.tag.exec(e2);if(t2)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t2[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t2[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t2[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t2[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t2[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t2[0]}}link(e2){let t2=this.rules.inline.link.exec(e2);if(t2){let n2=t2[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n2)){if(!this.rules.other.endAngleBracket.test(n2))return;let s2=z$1(n2.slice(0,-1),"\\");if((n2.length-s2.length)%2==0)return}else{let s2=function(l4,e2){if(-1===l4.indexOf(e2[1]))return-1;let t2=0;for(let n2=0;n2<l4.length;n2++)if("\\"===l4[n2])n2++;else if(l4[n2]===e2[0])t2++;else if(l4[n2]===e2[1]&&(t2--,t2<0))return n2;return t2>0?-2:-1}(t2[2],"()");if(-2===s2)return;if(s2>-1){let o2=(0===t2[0].indexOf("!")?5:4)+t2[1].length+s2;t2[2]=t2[2].substring(0,s2),t2[0]=t2[0].substring(0,o2).trim(),t2[3]=""}}let r2=t2[2],i2="";if(this.options.pedantic){let s2=this.rules.other.pedanticHrefTitle.exec(r2);s2&&(r2=s2[1],i2=s2[3])}else i2=t2[3]?t2[3].slice(1,-1):"";return r2=r2.trim(),this.rules.other.startAngleBracket.test(r2)&&(r2=this.options.pedantic&&!this.rules.other.endAngleBracket.test(n2)?r2.slice(1):r2.slice(1,-1)),me(t2,{href:r2&&r2.replace(this.rules.inline.anyPunctuation,"$1"),title:i2&&i2.replace(this.rules.inline.anyPunctuation,"$1")},t2[0],this.lexer,this.rules)}}reflink(e2,t2){let n2;if((n2=this.rules.inline.reflink.exec(e2))||(n2=this.rules.inline.nolink.exec(e2))){let i2=t2[(n2[2]||n2[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!i2){let s2=n2[0].charAt(0);return{type:"text",raw:s2,text:s2}}return me(n2,i2,n2[0],this.lexer,this.rules)}}emStrong(e2,t2,n2=""){let r2=this.rules.inline.emStrongLDelim.exec(e2);if(!(!r2||r2[3]&&n2.match(this.rules.other.unicodeAlphaNumeric))&&(!r2[1]&&!r2[2]||!n2||this.rules.inline.punctuation.exec(n2))){let a2,o2,s2=[...r2[0]].length-1,p2=s2,u2=0,c2="*"===r2[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c2.lastIndex=0,t2=t2.slice(-1*e2.length+s2);null!=(r2=c2.exec(t2));){if(a2=r2[1]||r2[2]||r2[3]||r2[4]||r2[5]||r2[6],!a2)continue;if(o2=[...a2].length,r2[3]||r2[4]){p2+=o2;continue}if((r2[5]||r2[6])&&s2%3&&!((s2+o2)%3)){u2+=o2;continue}if(p2-=o2,p2>0)continue;o2=Math.min(o2,o2+p2+u2);let g2=[...r2[0]][0].length,h2=e2.slice(0,s2+r2.index+g2+o2);if(Math.min(s2,o2)%2){let f2=h2.slice(1,-1);return{type:"em",raw:h2,text:f2,tokens:this.lexer.inlineTokens(f2)}}let R2=h2.slice(2,-2);return{type:"strong",raw:h2,text:R2,tokens:this.lexer.inlineTokens(R2)}}}}codespan(e2){let t2=this.rules.inline.code.exec(e2);if(t2){let n2=t2[2].replace(this.rules.other.newLineCharGlobal," "),r2=this.rules.other.nonSpaceChar.test(n2),i2=this.rules.other.startingSpaceChar.test(n2)&&this.rules.other.endingSpaceChar.test(n2);return r2&&i2&&(n2=n2.substring(1,n2.length-1)),{type:"codespan",raw:t2[0],text:n2}}}br(e2){let t2=this.rules.inline.br.exec(e2);if(t2)return{type:"br",raw:t2[0]}}del(e2){let t2=this.rules.inline.del.exec(e2);if(t2)return{type:"del",raw:t2[0],text:t2[2],tokens:this.lexer.inlineTokens(t2[2])}}autolink(e2){let t2=this.rules.inline.autolink.exec(e2);if(t2){let n2,r2;return"@"===t2[2]?(n2=t2[1],r2="mailto:"+n2):(n2=t2[1],r2=n2),{type:"link",raw:t2[0],text:n2,href:r2,tokens:[{type:"text",raw:n2,text:n2}]}}}url(e2){var _a2;let t2;if(t2=this.rules.inline.url.exec(e2)){let n2,r2;if("@"===t2[2])n2=t2[0],r2="mailto:"+n2;else{let i2;do{i2=t2[0],t2[0]=(null==(_a2=this.rules.inline._backpedal.exec(t2[0]))?void 0:_a2[0])??""}while(i2!==t2[0]);n2=t2[0],r2="www."===t2[1]?"http://"+t2[0]:t2[0]}return{type:"link",raw:t2[0],text:n2,href:r2,tokens:[{type:"text",raw:n2,text:n2}]}}}inlineText(e2){let t2=this.rules.inline.text.exec(e2);if(t2){let n2=this.lexer.state.inRawBlock;return{type:"text",raw:t2[0],text:t2[0],escaped:n2}}}},x$1=class l{constructor(e2){__publicField(this,"tokens"),__publicField(this,"options"),__publicField(this,"state"),__publicField(this,"tokenizer"),__publicField(this,"inlineQueue"),this.tokens=[],this.tokens.links=Object.create(null),this.options=e2||T$1,this.options.tokenizer=this.options.tokenizer||new y$1,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t2={other:m$1,block:C$1.normal,inline:M$1.normal};this.options.pedantic?(t2.block=C$1.pedantic,t2.inline=M$1.pedantic):this.options.gfm&&(t2.block=C$1.gfm,this.options.breaks?t2.inline=M$1.breaks:t2.inline=M$1.gfm),this.tokenizer.rules=t2}static get rules(){return{block:C$1,inline:M$1}}static lex(e2,t2){return new l(t2).lex(e2)}static lexInline(e2,t2){return new l(t2).inlineTokens(e2)}lex(e2){e2=e2.replace(m$1.carriageReturn,"\n"),this.blockTokens(e2,this.tokens);for(let t2=0;t2<this.inlineQueue.length;t2++){let n2=this.inlineQueue[t2];this.inlineTokens(n2.src,n2.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e2,t2=[],n2=!1){var _a2,_b2,_c2;for(this.options.pedantic&&(e2=e2.replace(m$1.tabCharGlobal," ").replace(m$1.spaceLine,""));e2;){let r2;if(null==(_b2=null==(_a2=this.options.extensions)?void 0:_a2.block)?void 0:_b2.some(s2=>!!(r2=s2.call({lexer:this},e2,t2))&&(e2=e2.substring(r2.raw.length),t2.push(r2),!0)))continue;if(r2=this.tokenizer.space(e2)){e2=e2.substring(r2.raw.length);let s2=t2.at(-1);1===r2.raw.length&&void 0!==s2?s2.raw+="\n":t2.push(r2);continue}if(r2=this.tokenizer.code(e2)){e2=e2.substring(r2.raw.length);let s2=t2.at(-1);"paragraph"===(null==s2?void 0:s2.type)||"text"===(null==s2?void 0:s2.type)?(s2.raw+=(s2.raw.endsWith("\n")?"":"\n")+r2.raw,s2.text+="\n"+r2.text,this.inlineQueue.at(-1).src=s2.text):t2.push(r2);continue}if(r2=this.tokenizer.fences(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}if(r2=this.tokenizer.heading(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}if(r2=this.tokenizer.hr(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}if(r2=this.tokenizer.blockquote(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}if(r2=this.tokenizer.list(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}if(r2=this.tokenizer.html(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}if(r2=this.tokenizer.def(e2)){e2=e2.substring(r2.raw.length);let s2=t2.at(-1);"paragraph"===(null==s2?void 0:s2.type)||"text"===(null==s2?void 0:s2.type)?(s2.raw+=(s2.raw.endsWith("\n")?"":"\n")+r2.raw,s2.text+="\n"+r2.raw,this.inlineQueue.at(-1).src=s2.text):this.tokens.links[r2.tag]||(this.tokens.links[r2.tag]={href:r2.href,title:r2.title},t2.push(r2));continue}if(r2=this.tokenizer.table(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}if(r2=this.tokenizer.lheading(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}let i2=e2;if(null==(_c2=this.options.extensions)?void 0:_c2.startBlock){let o2,s2=1/0,a2=e2.slice(1);this.options.extensions.startBlock.forEach(p2=>{o2=p2.call({lexer:this},a2),"number"==typeof o2&&o2>=0&&(s2=Math.min(s2,o2))}),s2<1/0&&s2>=0&&(i2=e2.substring(0,s2+1))}if(this.state.top&&(r2=this.tokenizer.paragraph(i2))){let s2=t2.at(-1);n2&&"paragraph"===(null==s2?void 0:s2.type)?(s2.raw+=(s2.raw.endsWith("\n")?"":"\n")+r2.raw,s2.text+="\n"+r2.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s2.text):t2.push(r2),n2=i2.length!==e2.length,e2=e2.substring(r2.raw.length);continue}if(r2=this.tokenizer.text(e2)){e2=e2.substring(r2.raw.length);let s2=t2.at(-1);"text"===(null==s2?void 0:s2.type)?(s2.raw+=(s2.raw.endsWith("\n")?"":"\n")+r2.raw,s2.text+="\n"+r2.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s2.text):t2.push(r2);continue}if(e2){let s2="Infinite loop on byte: "+e2.charCodeAt(0);if(this.options.silent){console.error(s2);break}throw new Error(s2)}}return this.state.top=!0,t2}inline(e2,t2=[]){return this.inlineQueue.push({src:e2,tokens:t2}),t2}inlineTokens(e2,t2=[]){var _a2,_b2,_c2,_d2,_e3;let i2,n2=e2,r2=null;if(this.tokens.links){let o2=Object.keys(this.tokens.links);if(o2.length>0)for(;null!=(r2=this.tokenizer.rules.inline.reflinkSearch.exec(n2));)o2.includes(r2[0].slice(r2[0].lastIndexOf("[")+1,-1))&&(n2=n2.slice(0,r2.index)+"["+"a".repeat(r2[0].length-2)+"]"+n2.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(r2=this.tokenizer.rules.inline.anyPunctuation.exec(n2));)n2=n2.slice(0,r2.index)+"++"+n2.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;null!=(r2=this.tokenizer.rules.inline.blockSkip.exec(n2));)i2=r2[2]?r2[2].length:0,n2=n2.slice(0,r2.index+i2)+"["+"a".repeat(r2[0].length-i2-2)+"]"+n2.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n2=(null==(_b2=null==(_a2=this.options.hooks)?void 0:_a2.emStrongMask)?void 0:_b2.call({lexer:this},n2))??n2;let s2=!1,a2="";for(;e2;){let o2;if(s2||(a2=""),s2=!1,null==(_d2=null==(_c2=this.options.extensions)?void 0:_c2.inline)?void 0:_d2.some(u2=>!!(o2=u2.call({lexer:this},e2,t2))&&(e2=e2.substring(o2.raw.length),t2.push(o2),!0)))continue;if(o2=this.tokenizer.escape(e2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(o2=this.tokenizer.tag(e2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(o2=this.tokenizer.link(e2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(o2=this.tokenizer.reflink(e2,this.tokens.links)){e2=e2.substring(o2.raw.length);let u2=t2.at(-1);"text"===o2.type&&"text"===(null==u2?void 0:u2.type)?(u2.raw+=o2.raw,u2.text+=o2.text):t2.push(o2);continue}if(o2=this.tokenizer.emStrong(e2,n2,a2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(o2=this.tokenizer.codespan(e2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(o2=this.tokenizer.br(e2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(o2=this.tokenizer.del(e2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(o2=this.tokenizer.autolink(e2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(!this.state.inLink&&(o2=this.tokenizer.url(e2))){e2=e2.substring(o2.raw.length),t2.push(o2);continue}let p2=e2;if(null==(_e3=this.options.extensions)?void 0:_e3.startInline){let g2,u2=1/0,c2=e2.slice(1);this.options.extensions.startInline.forEach(h2=>{g2=h2.call({lexer:this},c2),"number"==typeof g2&&g2>=0&&(u2=Math.min(u2,g2))}),u2<1/0&&u2>=0&&(p2=e2.substring(0,u2+1))}if(o2=this.tokenizer.inlineText(p2)){e2=e2.substring(o2.raw.length),"_"!==o2.raw.slice(-1)&&(a2=o2.raw.slice(-1)),s2=!0;let u2=t2.at(-1);"text"===(null==u2?void 0:u2.type)?(u2.raw+=o2.raw,u2.text+=o2.text):t2.push(o2);continue}if(e2){let u2="Infinite loop on byte: "+e2.charCodeAt(0);if(this.options.silent){console.error(u2);break}throw new Error(u2)}}return t2}},P$1=class{constructor(e2){__publicField(this,"options"),__publicField(this,"parser"),this.options=e2||T$1}space(e2){return""}code({text:e2,lang:t2,escaped:n2}){var _a2;let r2=null==(_a2=(t2||"").match(m$1.notSpaceStart))?void 0:_a2[0],i2=e2.replace(m$1.endingNewline,"")+"\n";return r2?'<pre><code class="language-'+w$1(r2)+'">'+(n2?i2:w$1(i2,!0))+"</code></pre>\n":"<pre><code>"+(n2?i2:w$1(i2,!0))+"</code></pre>\n"}blockquote({tokens:e2}){return`<blockquote>\n${this.parser.parse(e2)}</blockquote>\n`}html({text:e2}){return e2}def(e2){return""}heading({tokens:e2,depth:t2}){return`<h${t2}>${this.parser.parseInline(e2)}</h${t2}>\n`}hr(e2){return"<hr>\n"}list(e2){let t2=e2.ordered,n2=e2.start,r2="";for(let a2=0;a2<e2.items.length;a2++){let o2=e2.items[a2];r2+=this.listitem(o2)}let i2=t2?"ol":"ul";return"<"+i2+(t2&&1!==n2?' start="'+n2+'"':"")+">\n"+r2+"</"+i2+">\n"}listitem(e2){var _a2;let t2="";if(e2.task){let n2=this.checkbox({checked:!!e2.checked});e2.loose?"paragraph"===(null==(_a2=e2.tokens[0])?void 0:_a2.type)?(e2.tokens[0].text=n2+" "+e2.tokens[0].text,e2.tokens[0].tokens&&e2.tokens[0].tokens.length>0&&"text"===e2.tokens[0].tokens[0].type&&(e2.tokens[0].tokens[0].text=n2+" "+w$1(e2.tokens[0].tokens[0].text),e2.tokens[0].tokens[0].escaped=!0)):e2.tokens.unshift({type:"text",raw:n2+" ",text:n2+" ",escaped:!0}):t2+=n2+" "}return t2+=this.parser.parse(e2.tokens,!!e2.loose),`<li>${t2}</li>\n`}checkbox({checked:e2}){return"<input "+(e2?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:e2}){return`<p>${this.parser.parseInline(e2)}</p>\n`}table(e2){let t2="",n2="";for(let i2=0;i2<e2.header.length;i2++)n2+=this.tablecell(e2.header[i2]);t2+=this.tablerow({text:n2});let r2="";for(let i2=0;i2<e2.rows.length;i2++){let s2=e2.rows[i2];n2="";for(let a2=0;a2<s2.length;a2++)n2+=this.tablecell(s2[a2]);r2+=this.tablerow({text:n2})}return r2&&(r2=`<tbody>${r2}</tbody>`),"<table>\n<thead>\n"+t2+"</thead>\n"+r2+"</table>\n"}tablerow({text:e2}){return`<tr>\n${e2}</tr>\n`}tablecell(e2){let t2=this.parser.parseInline(e2.tokens),n2=e2.header?"th":"td";return(e2.align?`<${n2} align="${e2.align}">`:`<${n2}>`)+t2+`</${n2}>\n`}strong({tokens:e2}){return`<strong>${this.parser.parseInline(e2)}</strong>`}em({tokens:e2}){return`<em>${this.parser.parseInline(e2)}</em>`}codespan({text:e2}){return`<code>${w$1(e2,!0)}</code>`}br(e2){return"<br>"}del({tokens:e2}){return`<del>${this.parser.parseInline(e2)}</del>`}link({href:e2,title:t2,tokens:n2}){let r2=this.parser.parseInline(n2),i2=J$1(e2);if(null===i2)return r2;let s2='<a href="'+(e2=i2)+'"';return t2&&(s2+=' title="'+w$1(t2)+'"'),s2+=">"+r2+"</a>",s2}image({href:e2,title:t2,text:n2,tokens:r2}){r2&&(n2=this.parser.parseInline(r2,this.parser.textRenderer));let i2=J$1(e2);if(null===i2)return w$1(n2);let s2=`<img src="${e2=i2}" alt="${n2}"`;return t2&&(s2+=` title="${w$1(t2)}"`),s2+=">",s2}text(e2){return"tokens"in e2&&e2.tokens?this.parser.parseInline(e2.tokens):"escaped"in e2&&e2.escaped?e2.text:w$1(e2.text)}},$$1=class{strong({text:e2}){return e2}em({text:e2}){return e2}codespan({text:e2}){return e2}del({text:e2}){return e2}html({text:e2}){return e2}text({text:e2}){return e2}link({text:e2}){return""+e2}image({text:e2}){return""+e2}br(){return""}},b$1=class l2{constructor(e2){__publicField(this,"options"),__publicField(this,"renderer"),__publicField(this,"textRenderer"),this.options=e2||T$1,this.options.renderer=this.options.renderer||new P$1,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new $$1}static parse(e2,t2){return new l2(t2).parse(e2)}static parseInline(e2,t2){return new l2(t2).parseInline(e2)}parse(e2,t2=!0){var _a2,_b2;let n2="";for(let r2=0;r2<e2.length;r2++){let i2=e2[r2];if(null==(_b2=null==(_a2=this.options.extensions)?void 0:_a2.renderers)?void 0:_b2[i2.type]){let a2=i2,o2=this.options.extensions.renderers[a2.type].call({parser:this},a2);if(!1!==o2||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(a2.type)){n2+=o2||"";continue}}let s2=i2;switch(s2.type){case"space":n2+=this.renderer.space(s2);continue;case"hr":n2+=this.renderer.hr(s2);continue;case"heading":n2+=this.renderer.heading(s2);continue;case"code":n2+=this.renderer.code(s2);continue;case"table":n2+=this.renderer.table(s2);continue;case"blockquote":n2+=this.renderer.blockquote(s2);continue;case"list":n2+=this.renderer.list(s2);continue;case"html":n2+=this.renderer.html(s2);continue;case"def":n2+=this.renderer.def(s2);continue;case"paragraph":n2+=this.renderer.paragraph(s2);continue;case"text":{let a2=s2,o2=this.renderer.text(a2);for(;r2+1<e2.length&&"text"===e2[r2+1].type;)a2=e2[++r2],o2+="\n"+this.renderer.text(a2);n2+=t2?this.renderer.paragraph({type:"paragraph",raw:o2,text:o2,tokens:[{type:"text",raw:o2,text:o2,escaped:!0}]}):o2;continue}default:{let a2='Token with "'+s2.type+'" type was not found.';if(this.options.silent)return console.error(a2),"";throw new Error(a2)}}}return n2}parseInline(e2,t2=this.renderer){var _a2,_b2;let n2="";for(let r2=0;r2<e2.length;r2++){let i2=e2[r2];if(null==(_b2=null==(_a2=this.options.extensions)?void 0:_a2.renderers)?void 0:_b2[i2.type]){let a2=this.options.extensions.renderers[i2.type].call({parser:this},i2);if(!1!==a2||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i2.type)){n2+=a2||"";continue}}let s2=i2;switch(s2.type){case"escape":case"text":n2+=t2.text(s2);break;case"html":n2+=t2.html(s2);break;case"link":n2+=t2.link(s2);break;case"image":n2+=t2.image(s2);break;case"strong":n2+=t2.strong(s2);break;case"em":n2+=t2.em(s2);break;case"codespan":n2+=t2.codespan(s2);break;case"br":n2+=t2.br(s2);break;case"del":n2+=t2.del(s2);break;default:{let a2='Token with "'+s2.type+'" type was not found.';if(this.options.silent)return console.error(a2),"";throw new Error(a2)}}}return n2}},S$1=(_o=class{constructor(e2){__publicField(this,"options"),__publicField(this,"block"),this.options=e2||T$1}preprocess(e2){return e2}postprocess(e2){return e2}processAllTokens(e2){return e2}emStrongMask(e2){return e2}provideLexer(){return this.block?x$1.lex:x$1.lexInline}provideParser(){return this.block?b$1.parse:b$1.parseInline}},__publicField(_o,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),__publicField(_o,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),_o),_$1=new class{constructor(...e2){__publicField(this,"defaults",{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}),__publicField(this,"options",this.setOptions),__publicField(this,"parse",this.parseMarkdown(!0)),__publicField(this,"parseInline",this.parseMarkdown(!1)),__publicField(this,"Parser",b$1),__publicField(this,"Renderer",P$1),__publicField(this,"TextRenderer",$$1),__publicField(this,"Lexer",x$1),__publicField(this,"Tokenizer",y$1),__publicField(this,"Hooks",S$1),this.use(...e2)}walkTokens(e2,t2){var _a2,_b2;let n2=[];for(let r2 of e2)switch(n2=n2.concat(t2.call(this,r2)),r2.type){case"table":{let i2=r2;for(let s2 of i2.header)n2=n2.concat(this.walkTokens(s2.tokens,t2));for(let s2 of i2.rows)for(let a2 of s2)n2=n2.concat(this.walkTokens(a2.tokens,t2));break}case"list":{let i2=r2;n2=n2.concat(this.walkTokens(i2.items,t2));break}default:{let i2=r2;(null==(_b2=null==(_a2=this.defaults.extensions)?void 0:_a2.childTokens)?void 0:_b2[i2.type])?this.defaults.extensions.childTokens[i2.type].forEach(s2=>{let a2=i2[s2].flat(1/0);n2=n2.concat(this.walkTokens(a2,t2))}):i2.tokens&&(n2=n2.concat(this.walkTokens(i2.tokens,t2)))}}return n2}use(...e2){let t2=this.defaults.extensions||{renderers:{},childTokens:{}};return e2.forEach(n2=>{let r2={...n2};if(r2.async=this.defaults.async||r2.async||!1,n2.extensions&&(n2.extensions.forEach(i2=>{if(!i2.name)throw new Error("extension name required");if("renderer"in i2){let s2=t2.renderers[i2.name];t2.renderers[i2.name]=s2?function(...a2){let o2=i2.renderer.apply(this,a2);return!1===o2&&(o2=s2.apply(this,a2)),o2}:i2.renderer}if("tokenizer"in i2){if(!i2.level||"block"!==i2.level&&"inline"!==i2.level)throw new Error("extension level must be 'block' or 'inline'");let s2=t2[i2.level];s2?s2.unshift(i2.tokenizer):t2[i2.level]=[i2.tokenizer],i2.start&&("block"===i2.level?t2.startBlock?t2.startBlock.push(i2.start):t2.startBlock=[i2.start]:"inline"===i2.level&&(t2.startInline?t2.startInline.push(i2.start):t2.startInline=[i2.start]))}"childTokens"in i2&&i2.childTokens&&(t2.childTokens[i2.name]=i2.childTokens)}),r2.extensions=t2),n2.renderer){let i2=this.defaults.renderer||new P$1(this.defaults);for(let s2 in n2.renderer){if(!(s2 in i2))throw new Error(`renderer '${s2}' does not exist`);if(["options","parser"].includes(s2))continue;let a2=s2,o2=n2.renderer[a2],p2=i2[a2];i2[a2]=(...u2)=>{let c2=o2.apply(i2,u2);return!1===c2&&(c2=p2.apply(i2,u2)),c2||""}}r2.renderer=i2}if(n2.tokenizer){let i2=this.defaults.tokenizer||new y$1(this.defaults);for(let s2 in n2.tokenizer){if(!(s2 in i2))throw new Error(`tokenizer '${s2}' does not exist`);if(["options","rules","lexer"].includes(s2))continue;let a2=s2,o2=n2.tokenizer[a2],p2=i2[a2];i2[a2]=(...u2)=>{let c2=o2.apply(i2,u2);return!1===c2&&(c2=p2.apply(i2,u2)),c2}}r2.tokenizer=i2}if(n2.hooks){let i2=this.defaults.hooks||new S$1;for(let s2 in n2.hooks){if(!(s2 in i2))throw new Error(`hook '${s2}' does not exist`);if(["options","block"].includes(s2))continue;let a2=s2,o2=n2.hooks[a2],p2=i2[a2];S$1.passThroughHooks.has(s2)?i2[a2]=u2=>{if(this.defaults.async&&S$1.passThroughHooksRespectAsync.has(s2))return(async()=>{let g2=await o2.call(i2,u2);return p2.call(i2,g2)})();let c2=o2.call(i2,u2);return p2.call(i2,c2)}:i2[a2]=(...u2)=>{if(this.defaults.async)return(async()=>{let g2=await o2.apply(i2,u2);return!1===g2&&(g2=await p2.apply(i2,u2)),g2})();let c2=o2.apply(i2,u2);return!1===c2&&(c2=p2.apply(i2,u2)),c2}}r2.hooks=i2}if(n2.walkTokens){let i2=this.defaults.walkTokens,s2=n2.walkTokens;r2.walkTokens=function(a2){let o2=[];return o2.push(s2.call(this,a2)),i2&&(o2=o2.concat(i2.call(this,a2))),o2}}this.defaults={...this.defaults,...r2}}),this}setOptions(e2){return this.defaults={...this.defaults,...e2},this}lexer(e2,t2){return x$1.lex(e2,t2??this.defaults)}parser(e2,t2){return b$1.parse(e2,t2??this.defaults)}parseMarkdown(e2){return(n2,r2)=>{let i2={...r2},s2={...this.defaults,...i2},a2=this.onError(!!s2.silent,!!s2.async);if(!0===this.defaults.async&&!1===i2.async)return a2(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof n2>"u"||null===n2)return a2(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof n2)return a2(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n2)+", string expected"));if(s2.hooks&&(s2.hooks.options=s2,s2.hooks.block=e2),s2.async)return(async()=>{let o2=s2.hooks?await s2.hooks.preprocess(n2):n2,u2=await(s2.hooks?await s2.hooks.provideLexer():e2?x$1.lex:x$1.lexInline)(o2,s2),c2=s2.hooks?await s2.hooks.processAllTokens(u2):u2;s2.walkTokens&&await Promise.all(this.walkTokens(c2,s2.walkTokens));let h2=await(s2.hooks?await s2.hooks.provideParser():e2?b$1.parse:b$1.parseInline)(c2,s2);return s2.hooks?await s2.hooks.postprocess(h2):h2})().catch(a2);try{s2.hooks&&(n2=s2.hooks.preprocess(n2));let p2=(s2.hooks?s2.hooks.provideLexer():e2?x$1.lex:x$1.lexInline)(n2,s2);s2.hooks&&(p2=s2.hooks.processAllTokens(p2)),s2.walkTokens&&this.walkTokens(p2,s2.walkTokens);let c2=(s2.hooks?s2.hooks.provideParser():e2?b$1.parse:b$1.parseInline)(p2,s2);return s2.hooks&&(c2=s2.hooks.postprocess(c2)),c2}catch(o2){return a2(o2)}}}onError(e2,t2){return n2=>{if(n2.message+="\nPlease report this to https://github.com/markedjs/marked.",e2){let r2="<p>An error occurred:</p><pre>"+w$1(n2.message+"",!0)+"</pre>";return t2?Promise.resolve(r2):r2}if(t2)return Promise.reject(n2);throw n2}}};function k$1(l4,e2){return _$1.parse(l4,e2)}function dedent(templ){for(var values=[],_i2=1;_i2<arguments.length;_i2++)values[_i2-1]=arguments[_i2];var strings=Array.from("string"==typeof templ?[templ]:templ);strings[strings.length-1]=strings[strings.length-1].replace(/\r?\n([\t ]*)$/,"");var indentLengths=strings.reduce(function(arr,str2){var matches=str2.match(/\n([\t ]+|(?!\s).)/g);return matches?arr.concat(matches.map(function(match){var _a2,_b2;return null!==(_b2=null===(_a2=match.match(/[\t ]/g))||void 0===_a2?void 0:_a2.length)&&void 0!==_b2?_b2:0})):arr},[]);if(indentLengths.length){var pattern_1=new RegExp("\n[\t ]{"+Math.min.apply(Math,indentLengths)+"}","g");strings=strings.map(function(str2){return str2.replace(pattern_1,"\n")})}strings[0]=strings[0].replace(/^\r?\n/,"");var string=strings[0];return values.forEach(function(value,i2){var endentations=string.match(/(?:^|\n)( *)$/),endentation=endentations?endentations[1]:"",indentedValue=value;"string"==typeof value&&value.includes("\n")&&(indentedValue=String(value).split("\n").map(function(str2,i3){return 0===i3?str2:""+endentation+str2}).join("\n")),string+=indentedValue+strings[i2+1]}),string}k$1.options=k$1.setOptions=function(l4){return _$1.setOptions(l4),k$1.defaults=_$1.defaults,G$1(k$1.defaults),k$1},k$1.getDefaults=L$1,k$1.defaults=T$1,k$1.use=function(...l4){return _$1.use(...l4),k$1.defaults=_$1.defaults,G$1(k$1.defaults),k$1},k$1.walkTokens=function(l4,e2){return _$1.walkTokens(l4,e2)},k$1.parseInline=_$1.parseInline,k$1.Parser=b$1,k$1.parser=b$1.parse,k$1.Renderer=P$1,k$1.TextRenderer=$$1,k$1.Lexer=x$1,k$1.lexer=x$1.lex,k$1.Tokenizer=y$1,k$1.Hooks=S$1,k$1.parse=k$1,k$1.options,k$1.setOptions,k$1.use,k$1.walkTokens,k$1.parseInline,b$1.parse,x$1.lex;var unknownIcon={body:'<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/><text transform="translate(21.16 64.67)" style="fill: #fff; font-family: ArialMT, Arial; font-size: 67.75px;"><tspan x="0" y="0">?</tspan></text></g>',height:80,width:80},iconsStore=new Map,loaderStore=new Map,registerIconPacks=__name(iconLoaders=>{for(const iconLoader of iconLoaders){if(!iconLoader.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(log.debug("Registering icon pack:",iconLoader.name),"loader"in iconLoader)loaderStore.set(iconLoader.name,iconLoader.loader);else{if(!("icons"in iconLoader))throw log.error("Invalid icon loader:",iconLoader),new Error('Invalid icon loader. Must have either "icons" or "loader" property.');iconsStore.set(iconLoader.name,iconLoader.icons)}}},"registerIconPacks"),getRegisteredIconData=__name(async(iconName,fallbackPrefix)=>{const data=((value,validate,allowSimpleName,provider="")=>{const colonSeparated=value.split(":");if("@"===value.slice(0,1)){if(colonSeparated.length<2||colonSeparated.length>3)return null;provider=colonSeparated.shift().slice(1)}if(colonSeparated.length>3||!colonSeparated.length)return null;if(colonSeparated.length>1){const name$1=colonSeparated.pop(),prefix=colonSeparated.pop(),result={provider:colonSeparated.length>0?colonSeparated[0]:provider,prefix:prefix,name:name$1};return validateIconName(result)?result:null}const name=colonSeparated[0],dashSeparated=name.split("-");if(dashSeparated.length>1){const result={provider:provider,prefix:dashSeparated.shift(),name:dashSeparated.join("-")};return validateIconName(result)?result:null}if(allowSimpleName&&""===provider){const result={provider:provider,prefix:"",name:name};return validateIconName(result,allowSimpleName)?result:null}return null})(iconName,0,void 0!==fallbackPrefix);if(!data)throw new Error(`Invalid icon name: ${iconName}`);const prefix=data.prefix||fallbackPrefix;if(!prefix)throw new Error(`Icon name must contain a prefix: ${iconName}`);let icons=iconsStore.get(prefix);if(!icons){const loader32=loaderStore.get(prefix);if(!loader32)throw new Error(`Icon set not found: ${data.prefix}`);try{icons={...await loader32(),prefix:prefix},iconsStore.set(prefix,icons)}catch(e2){throw log.error(e2),new Error(`Failed to load icon set: ${data.prefix}`)}}const iconData=getIconData(icons,data.name);if(!iconData)throw new Error(`Icon not found: ${iconName}`);return iconData},"getRegisteredIconData"),isIconAvailable=__name(async iconName=>{try{return await getRegisteredIconData(iconName),!0}catch{return!1}},"isIconAvailable"),getIconSVG=__name(async(iconName,customisations,extraAttributes)=>{let iconData;try{iconData=await getRegisteredIconData(iconName,null==customisations?void 0:customisations.fallbackPrefix)}catch(e2){log.error(e2),iconData=unknownIcon}const renderData=function(icon2,customisations){const fullIcon={...defaultIconProps,...icon2},fullCustomisations={...defaultIconCustomisations,...customisations},box={left:fullIcon.left,top:fullIcon.top,width:fullIcon.width,height:fullIcon.height};let body=fullIcon.body;[fullIcon,fullCustomisations].forEach(props=>{const transformations=[],hFlip=props.hFlip,vFlip=props.vFlip;let tempValue,rotation=props.rotate;switch(hFlip?vFlip?rotation+=2:(transformations.push("translate("+(box.width+box.left).toString()+" "+(0-box.top).toString()+")"),transformations.push("scale(-1 1)"),box.top=box.left=0):vFlip&&(transformations.push("translate("+(0-box.left).toString()+" "+(box.height+box.top).toString()+")"),transformations.push("scale(1 -1)"),box.top=box.left=0),rotation<0&&(rotation-=4*Math.floor(rotation/4)),rotation%=4,rotation){case 1:tempValue=box.height/2+box.top,transformations.unshift("rotate(90 "+tempValue.toString()+" "+tempValue.toString()+")");break;case 2:transformations.unshift("rotate(180 "+(box.width/2+box.left).toString()+" "+(box.height/2+box.top).toString()+")");break;case 3:tempValue=box.width/2+box.left,transformations.unshift("rotate(-90 "+tempValue.toString()+" "+tempValue.toString()+")")}rotation%2==1&&(box.left!==box.top&&(tempValue=box.left,box.left=box.top,box.top=tempValue),box.width!==box.height&&(tempValue=box.width,box.width=box.height,box.height=tempValue)),transformations.length&&(body=function(body,start2,end){const split=function(content,tag="defs"){let defs="";const index=content.indexOf("<"+tag);for(;index>=0;){const start2=content.indexOf(">",index),end=content.indexOf("</"+tag);if(-1===start2||-1===end)break;const endEnd=content.indexOf(">",end);if(-1===endEnd)break;defs+=content.slice(start2+1,end).trim(),content=content.slice(0,index).trim()+content.slice(endEnd+1)}return{defs:defs,content:content}}(body);return defs=split.defs,content=start2+split.content+end,defs?"<defs>"+defs+"</defs>"+content:content;var defs,content}(body,'<g transform="'+transformations.join(" ")+'">',"</g>"))});const customisationsWidth=fullCustomisations.width,customisationsHeight=fullCustomisations.height,boxWidth=box.width,boxHeight=box.height;let width,height;null===customisationsWidth?(height=null===customisationsHeight?"1em":"auto"===customisationsHeight?boxHeight:customisationsHeight,width=calculateSize(height,boxWidth/boxHeight)):(width="auto"===customisationsWidth?boxWidth:customisationsWidth,height=null===customisationsHeight?calculateSize(width,boxHeight/boxWidth):"auto"===customisationsHeight?boxHeight:customisationsHeight);const attributes={},setAttr=(prop,value)=>{(value=>"unset"===value||"undefined"===value||"none"===value)(value)||(attributes[prop]=value.toString())};setAttr("width",width),setAttr("height",height);const viewBox=[box.left,box.top,boxWidth,boxHeight];return attributes.viewBox=viewBox.join(" "),{attributes:attributes,viewBox:viewBox,body:body}}(iconData,customisations),svg=function(body,attributes){let renderAttribsHTML=-1===body.indexOf("xlink:")?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const attr in attributes)renderAttribsHTML+=" "+attr+'="'+attributes[attr]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+renderAttribsHTML+">"+body+"</svg>"}(replaceIDs(renderData.body),{...renderData.attributes,...extraAttributes});return sanitizeText(svg,getConfig())},"getIconSVG");function preprocessMarkdown(markdown,{markdownAutoWrap:markdownAutoWrap}){return dedent(markdown.replace(/<br\/>/g,"\n").replace(/\n{2,}/g,"\n"))}function nonMarkdownToLines(nonMarkdownText){return nonMarkdownText.split(/\\n|\n|<br\s*\/?>/gi).map(line2=>{var _a2;return(null==(_a2=line2.trim().match(/<[^>]+>|[^\s<>]+/g))?void 0:_a2.map(word=>({content:word,type:"normal"})))??[]})}function markdownToLines(markdown,config2={}){const preprocessedMarkdown=preprocessMarkdown(markdown,config2),nodes=k$1.lexer(preprocessedMarkdown),lines=[[]];let currentLine=0;function processNode(node,parentType="normal"){if("text"===node.type){node.text.split("\n").forEach((textLine,index)=>{0!==index&&(currentLine++,lines.push([])),textLine.split(" ").forEach(word=>{(word=word.replace(/&#39;/g,"'"))&&lines[currentLine].push({content:word,type:parentType})})})}else"strong"===node.type||"em"===node.type?node.tokens.forEach(contentNode=>{processNode(contentNode,node.type)}):"html"===node.type&&lines[currentLine].push({content:node.text,type:"normal"})}return __name(processNode,"processNode"),nodes.forEach(treeNode=>{var _a2;"paragraph"===treeNode.type?null==(_a2=treeNode.tokens)||_a2.forEach(contentNode=>{processNode(contentNode)}):"html"===treeNode.type?lines[currentLine].push({content:treeNode.text,type:"normal"}):lines[currentLine].push({content:treeNode.raw,type:"normal"})}),lines}function nonMarkdownToHTML(text2){return text2?`<p>${text2.replace(/\\n|\n/g,"<br />")}</p>`:""}function markdownToHTML(markdown,{markdownAutoWrap:markdownAutoWrap}={}){const nodes=k$1.lexer(markdown);function output(node){var _a2,_b2,_c2;return"text"===node.type?!1===markdownAutoWrap?node.text.replace(/\n */g,"<br/>").replace(/ /g,"&nbsp;"):node.text.replace(/\n */g,"<br/>"):"strong"===node.type?`<strong>${null==(_a2=node.tokens)?void 0:_a2.map(output).join("")}</strong>`:"em"===node.type?`<em>${null==(_b2=node.tokens)?void 0:_b2.map(output).join("")}</em>`:"paragraph"===node.type?`<p>${null==(_c2=node.tokens)?void 0:_c2.map(output).join("")}</p>`:"space"===node.type?"":"html"===node.type?`${node.text}`:"escape"===node.type?node.text:(log.warn(`Unsupported markdown: ${node.type}`),node.raw)}return __name(output,"output"),nodes.map(output).join("")}function splitTextToChars(text2){return Intl.Segmenter?[...(new Intl.Segmenter).segment(text2)].map(s2=>s2.segment):[...text2]}function splitWordToFitWidth(checkFit,word){return splitWordToFitWidthRecursion(checkFit,[],splitTextToChars(word.content),word.type)}function splitWordToFitWidthRecursion(checkFit,usedChars,remainingChars,type2){if(0===remainingChars.length)return[{content:usedChars.join(""),type:type2},{content:"",type:type2}];const[nextChar,...rest]=remainingChars,newWord=[...usedChars,nextChar];return checkFit([{content:newWord.join(""),type:type2}])?splitWordToFitWidthRecursion(checkFit,newWord,rest,type2):(0===usedChars.length&&nextChar&&(usedChars.push(nextChar),remainingChars.shift()),[{content:usedChars.join(""),type:type2},{content:remainingChars.join(""),type:type2}])}function splitLineToFitWidth(line2,checkFit){if(line2.some(({content:content})=>content.includes("\n")))throw new Error("splitLineToFitWidth does not support newlines in the line");return splitLineToFitWidthRecursion(line2,checkFit)}function splitLineToFitWidthRecursion(words,checkFit,lines=[],newLine=[]){if(0===words.length)return newLine.length>0&&lines.push(newLine),lines.length>0?lines:[];let joiner="";" "===words[0].content&&(joiner=" ",words.shift());const nextWord=words.shift()??{content:" ",type:"normal"},lineWithNextWord=[...newLine];if(""!==joiner&&lineWithNextWord.push({content:joiner,type:"normal"}),lineWithNextWord.push(nextWord),checkFit(lineWithNextWord))return splitLineToFitWidthRecursion(words,checkFit,lines,lineWithNextWord);if(newLine.length>0)lines.push(newLine),words.unshift(nextWord);else if(nextWord.content){const[line2,rest]=splitWordToFitWidth(checkFit,nextWord);lines.push([line2]),rest.content&&words.unshift(rest)}return splitLineToFitWidthRecursion(words,checkFit,lines)}function applyStyle(dom,styleFn){styleFn&&dom.attr("style",styleFn)}__name(preprocessMarkdown,"preprocessMarkdown"),__name(nonMarkdownToLines,"nonMarkdownToLines"),__name(markdownToLines,"markdownToLines"),__name(nonMarkdownToHTML,"nonMarkdownToHTML"),__name(markdownToHTML,"markdownToHTML"),__name(splitTextToChars,"splitTextToChars"),__name(splitWordToFitWidth,"splitWordToFitWidth"),__name(splitWordToFitWidthRecursion,"splitWordToFitWidthRecursion"),__name(splitLineToFitWidth,"splitLineToFitWidth"),__name(splitLineToFitWidthRecursion,"splitLineToFitWidthRecursion"),__name(applyStyle,"applyStyle");async function addHtmlSpan(element,node,width,classes,addBackground=!1,config2=getConfig()){const fo=element.append("foreignObject");fo.attr("width",`${Math.min(10*width,16384)}px`),fo.attr("height",`${Math.min(10*width,16384)}px`);const div=fo.append("xhtml:div"),sanitizedLabel=hasKatex(node.label)?await renderKatexSanitized(node.label.replace(common_default.lineBreakRegex,"\n"),config2):sanitizeText(node.label,config2),labelClass=node.isNode?"nodeLabel":"edgeLabel",span=div.append("span");span.html(sanitizedLabel),applyStyle(span,node.labelStyle),span.attr("class",`${labelClass} ${classes}`),applyStyle(div,node.labelStyle),div.style("display","table-cell"),div.style("white-space","nowrap"),div.style("line-height","1.5"),width!==Number.POSITIVE_INFINITY&&(div.style("max-width",width+"px"),div.style("text-align","center")),div.attr("xmlns","http://www.w3.org/1999/xhtml"),addBackground&&div.attr("class","labelBkg");let bbox=div.node().getBoundingClientRect();return bbox.width===width&&(div.style("display","table"),div.style("white-space","break-spaces"),div.style("width",width+"px"),bbox=div.node().getBoundingClientRect()),fo.node()}function createTspan(textElement,lineIndex,lineHeight,centerText=!1){const tspan=textElement.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",lineIndex*lineHeight-.1+"em").attr("dy",lineHeight+"em");return centerText&&tspan.attr("text-anchor","middle"),tspan}function computeWidthOfText(parentNode,lineHeight,line2){const testElement=parentNode.append("text"),testSpan=createTspan(testElement,1,lineHeight);updateTextContentAndStyles(testSpan,line2);const textLength=testSpan.node().getComputedTextLength();return testElement.remove(),textLength}function computeDimensionOfText(parentNode,lineHeight,text2){var _a2;const testElement=parentNode.append("text"),testSpan=createTspan(testElement,1,lineHeight);updateTextContentAndStyles(testSpan,[{content:text2,type:"normal"}]);const textDimension=null==(_a2=testSpan.node())?void 0:_a2.getBoundingClientRect();return textDimension&&testElement.remove(),textDimension}function createFormattedText(width,g2,structuredText,addBackground=!1,centerText=!1){const labelGroup=g2.append("g"),bkg=labelGroup.insert("rect").attr("class","background").attr("style","stroke: none"),textElement=labelGroup.append("text").attr("y","-10.1");centerText&&textElement.attr("text-anchor","middle");let lineIndex=0;for(const line2 of structuredText){const checkWidth=__name(line22=>computeWidthOfText(labelGroup,1.1,line22)<=width,"checkWidth"),linesUnderWidth=checkWidth(line2)?[line2]:splitLineToFitWidth(line2,checkWidth);for(const preparedLine of linesUnderWidth){updateTextContentAndStyles(createTspan(textElement,lineIndex,1.1,centerText),preparedLine),lineIndex++}}if(addBackground){const bbox=textElement.node().getBBox(),padding=2;return bkg.attr("x",bbox.x-padding).attr("y",bbox.y-padding).attr("width",bbox.width+2*padding).attr("height",bbox.height+2*padding),labelGroup.node()}return textElement.node()}function decodeHTMLEntities(text2){return text2.replace(/&(amp|lt|gt);/g,(match,entity)=>{switch(entity){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return match}})}function updateTextContentAndStyles(tspan,wrappedLine){tspan.text(""),wrappedLine.forEach((word,index)=>{const innerTspan=tspan.append("tspan").attr("font-style","em"===word.type?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight","strong"===word.type?"bold":"normal");0===index?innerTspan.text(decodeHTMLEntities(word.content)):innerTspan.text(" "+decodeHTMLEntities(word.content))})}async function replaceIconSubstring(text2,config2={}){const pendingReplacements=[];text2.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(fullMatch,prefix,iconName)=>(pendingReplacements.push((async()=>{const registeredIconName=`${prefix}:${iconName}`;return await isIconAvailable(registeredIconName)?await getIconSVG(registeredIconName,void 0,{class:"label-icon"}):`<i class='${sanitizeText(fullMatch,config2).replace(":"," ")}'></i>`})()),fullMatch));const replacements=await Promise.all(pendingReplacements);return text2.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>replacements.shift()??"")}__name(addHtmlSpan,"addHtmlSpan"),__name(createTspan,"createTspan"),__name(computeWidthOfText,"computeWidthOfText"),__name(computeDimensionOfText,"computeDimensionOfText"),__name(createFormattedText,"createFormattedText"),__name(decodeHTMLEntities,"decodeHTMLEntities"),__name(updateTextContentAndStyles,"updateTextContentAndStyles"),__name(replaceIconSubstring,"replaceIconSubstring");var createText=__name(async(el,text2="",{style:style="",isTitle:isTitle=!1,classes:classes="",useHtmlLabels:useHtmlLabels=!0,markdown:markdown=!0,isNode:isNode=!0,width:width=200,addSvgBackground:addSvgBackground=!1}={},config2)=>{if(log.debug("XYZ createText",text2,style,isTitle,classes,useHtmlLabels,isNode,"addSvgBackground: ",addSvgBackground),useHtmlLabels){const htmlText=markdown?markdownToHTML(text2,config2):nonMarkdownToHTML(text2),decodedReplacedText=await replaceIconSubstring(decodeEntities(htmlText),config2),inputForKatex=text2.replace(/\\\\/g,"\\"),node={isNode:isNode,label:hasKatex(text2)?inputForKatex:decodedReplacedText,labelStyle:style.replace("fill:","color:")};return await addHtmlSpan(el,node,width,classes,addSvgBackground,config2)}{const sanitizeBR=decodeEntities(text2.replace(/<br\s*\/?>/g,"<br/>")),svgLabel=createFormattedText(width,el,markdown?markdownToLines(sanitizeBR.replace("<br>","<br/>"),config2):nonMarkdownToLines(sanitizeBR),!!text2&&addSvgBackground,!isNode);if(isNode){/stroke:/.exec(style)&&(style=style.replace("stroke:","lineColor:"));const nodeLabelTextStyle=style.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");select(svgLabel).attr("style",nodeLabelTextStyle)}else{const edgeLabelRectStyle=style.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");select(svgLabel).select("rect").attr("style",edgeLabelRectStyle.replace(/background:/g,"fill:"));const edgeLabelTextStyle=style.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");select(svgLabel).select("text").attr("style",edgeLabelTextStyle)}return isTitle?select(svgLabel).selectAll("tspan.text-outer-tspan").classed("title-row",!0):select(svgLabel).selectAll("tspan.text-outer-tspan").classed("row",!0),svgLabel}},"createText");function t(t2,e2,s2){if(t2&&t2.length){const[n2,o2]=e2,a2=Math.PI/180*s2,h2=Math.cos(a2),r2=Math.sin(a2);for(const e3 of t2){const[t3,s3]=e3;e3[0]=(t3-n2)*h2-(s3-o2)*r2+n2,e3[1]=(t3-n2)*r2+(s3-o2)*h2+o2}}}function e(t2,e2){return t2[0]===e2[0]&&t2[1]===e2[1]}function n(t2,e2){var n2;const o2=e2.hachureAngle+90;let a2=e2.hachureGap;a2<0&&(a2=4*e2.strokeWidth),a2=Math.round(Math.max(a2,.1));let h2=1;return e2.roughness>=1&&((null===(n2=e2.randomizer)||void 0===n2?void 0:n2.next())||Math.random())>.7&&(h2=a2),function(s2,n2,o2,a2=1){const h2=o2,r2=Math.max(n2,.1),i2=s2[0]&&s2[0][0]&&"number"==typeof s2[0][0]?[s2]:s2,c2=[0,0];if(h2)for(const e2 of i2)t(e2,c2,h2);const l4=function(t2,s3,n3){const o3=[];for(const s4 of t2){const t3=[...s4];e(t3[0],t3[t3.length-1])||t3.push([t3[0][0],t3[0][1]]),t3.length>2&&o3.push(t3)}const a3=[];s3=Math.max(s3,.1);const h3=[];for(const t3 of o3)for(let e2=0;e2<t3.length-1;e2++){const s4=t3[e2],n4=t3[e2+1];if(s4[1]!==n4[1]){const t4=Math.min(s4[1],n4[1]);h3.push({ymin:t4,ymax:Math.max(s4[1],n4[1]),x:t4===s4[1]?s4[0]:n4[0],islope:(n4[0]-s4[0])/(n4[1]-s4[1])})}}if(h3.sort((t3,e2)=>t3.ymin<e2.ymin?-1:t3.ymin>e2.ymin?1:t3.x<e2.x?-1:t3.x>e2.x?1:t3.ymax===e2.ymax?0:(t3.ymax-e2.ymax)/Math.abs(t3.ymax-e2.ymax)),!h3.length)return a3;let r3=[],i3=h3[0].ymin,c3=0;for(;r3.length||h3.length;){if(h3.length){let t3=-1;for(let e2=0;e2<h3.length&&!(h3[e2].ymin>i3);e2++)t3=e2;h3.splice(0,t3+1).forEach(t4=>{r3.push({s:i3,edge:t4})})}if(r3=r3.filter(t3=>!(t3.edge.ymax<=i3)),r3.sort((t3,e2)=>t3.edge.x===e2.edge.x?0:(t3.edge.x-e2.edge.x)/Math.abs(t3.edge.x-e2.edge.x)),(1!==n3||c3%s3==0)&&r3.length>1)for(let t3=0;t3<r3.length;t3+=2){const e2=t3+1;if(e2>=r3.length)break;const s4=r3[t3].edge,n4=r3[e2].edge;a3.push([[Math.round(s4.x),i3],[Math.round(n4.x),i3]])}i3+=n3,r3.forEach(t3=>{t3.edge.x=t3.edge.x+n3*t3.edge.islope}),c3++}return a3}(i2,r2,a2);if(h2){for(const e2 of i2)t(e2,c2,-h2);!function(e2,s3,n3){const o3=[];e2.forEach(t2=>o3.push(...t2)),t(o3,s3,n3)}(l4,c2,-h2)}return l4}(t2,a2,o2,h2||1)}class o{constructor(t2){this.helper=t2}fillPolygons(t2,e2){return this._fillPolygons(t2,e2)}_fillPolygons(t2,e2){const s2=n(t2,e2);return{type:"fillSketch",ops:this.renderLines(s2,e2)}}renderLines(t2,e2){const s2=[];for(const n2 of t2)s2.push(...this.helper.doubleLineOps(n2[0][0],n2[0][1],n2[1][0],n2[1][1],e2));return s2}}function a(t2){const e2=t2[0],s2=t2[1];return Math.sqrt(Math.pow(e2[0]-s2[0],2)+Math.pow(e2[1]-s2[1],2))}class h extends o{fillPolygons(t2,e2){let s2=e2.hachureGap;s2<0&&(s2=4*e2.strokeWidth),s2=Math.max(s2,.1);const o2=n(t2,Object.assign({},e2,{hachureGap:s2})),h2=Math.PI/180*e2.hachureAngle,r2=[],i2=.5*s2*Math.cos(h2),c2=.5*s2*Math.sin(h2);for(const[t3,e3]of o2)a([t3,e3])&&r2.push([[t3[0]-i2,t3[1]+c2],[...e3]],[[t3[0]+i2,t3[1]-c2],[...e3]]);return{type:"fillSketch",ops:this.renderLines(r2,e2)}}}class r extends o{fillPolygons(t2,e2){const s2=this._fillPolygons(t2,e2),n2=Object.assign({},e2,{hachureAngle:e2.hachureAngle+90}),o2=this._fillPolygons(t2,n2);return s2.ops=s2.ops.concat(o2.ops),s2}}class i{constructor(t2){this.helper=t2}fillPolygons(t2,e2){const s2=n(t2,e2=Object.assign({},e2,{hachureAngle:0}));return this.dotsOnLines(s2,e2)}dotsOnLines(t2,e2){const s2=[];let n2=e2.hachureGap;n2<0&&(n2=4*e2.strokeWidth),n2=Math.max(n2,.1);let o2=e2.fillWeight;o2<0&&(o2=e2.strokeWidth/2);const h2=n2/4;for(const r2 of t2){const t3=a(r2),i2=t3/n2,c2=Math.ceil(i2)-1,l4=t3-c2*n2,u2=(r2[0][0]+r2[1][0])/2-n2/4,p2=Math.min(r2[0][1],r2[1][1]);for(let t4=0;t4<c2;t4++){const a2=p2+l4+t4*n2,r3=u2-h2+2*Math.random()*h2,i3=a2-h2+2*Math.random()*h2,c3=this.helper.ellipse(r3,i3,o2,o2,e2);s2.push(...c3.ops)}}return{type:"fillSketch",ops:s2}}}class c{constructor(t2){this.helper=t2}fillPolygons(t2,e2){const s2=n(t2,e2);return{type:"fillSketch",ops:this.dashedLine(s2,e2)}}dashedLine(t2,e2){const s2=e2.dashOffset<0?e2.hachureGap<0?4*e2.strokeWidth:e2.hachureGap:e2.dashOffset,n2=e2.dashGap<0?e2.hachureGap<0?4*e2.strokeWidth:e2.hachureGap:e2.dashGap,o2=[];return t2.forEach(t3=>{const h2=a(t3),r2=Math.floor(h2/(s2+n2)),i2=(h2+n2-r2*(s2+n2))/2;let c2=t3[0],l4=t3[1];c2[0]>l4[0]&&(c2=t3[1],l4=t3[0]);const u2=Math.atan((l4[1]-c2[1])/(l4[0]-c2[0]));for(let t4=0;t4<r2;t4++){const a2=t4*(s2+n2),h3=a2+s2,r3=[c2[0]+a2*Math.cos(u2)+i2*Math.cos(u2),c2[1]+a2*Math.sin(u2)+i2*Math.sin(u2)],l5=[c2[0]+h3*Math.cos(u2)+i2*Math.cos(u2),c2[1]+h3*Math.sin(u2)+i2*Math.sin(u2)];o2.push(...this.helper.doubleLineOps(r3[0],r3[1],l5[0],l5[1],e2))}}),o2}}class l3{constructor(t2){this.helper=t2}fillPolygons(t2,e2){const s2=e2.hachureGap<0?4*e2.strokeWidth:e2.hachureGap,o2=e2.zigzagOffset<0?s2:e2.zigzagOffset,a2=n(t2,e2=Object.assign({},e2,{hachureGap:s2+o2}));return{type:"fillSketch",ops:this.zigzagLines(a2,o2,e2)}}zigzagLines(t2,e2,s2){const n2=[];return t2.forEach(t3=>{const o2=a(t3),h2=Math.round(o2/(2*e2));let r2=t3[0],i2=t3[1];r2[0]>i2[0]&&(r2=t3[1],i2=t3[0]);const c2=Math.atan((i2[1]-r2[1])/(i2[0]-r2[0]));for(let t4=0;t4<h2;t4++){const o3=2*t4*e2,a2=2*(t4+1)*e2,h3=Math.sqrt(2*Math.pow(e2,2)),i3=[r2[0]+o3*Math.cos(c2),r2[1]+o3*Math.sin(c2)],l4=[r2[0]+a2*Math.cos(c2),r2[1]+a2*Math.sin(c2)],u2=[i3[0]+h3*Math.cos(c2+Math.PI/4),i3[1]+h3*Math.sin(c2+Math.PI/4)];n2.push(...this.helper.doubleLineOps(i3[0],i3[1],u2[0],u2[1],s2),...this.helper.doubleLineOps(u2[0],u2[1],l4[0],l4[1],s2))}}),n2}}const u={};class p{constructor(t2){this.seed=t2}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}}const M={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function k(t2,e2){return t2.type===e2}function b(t2){const e2=[],s2=function(t3){const e3=new Array;for(;""!==t3;)if(t3.match(/^([ \t\r\n,]+)/))t3=t3.substr(RegExp.$1.length);else if(t3.match(/^([aAcChHlLmMqQsStTvVzZ])/))e3[e3.length]={type:0,text:RegExp.$1},t3=t3.substr(RegExp.$1.length);else{if(!t3.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];e3[e3.length]={type:1,text:`${parseFloat(RegExp.$1)}`},t3=t3.substr(RegExp.$1.length)}return e3[e3.length]={type:2,text:""},e3}(t2);let n2="BOD",o2=0,a2=s2[o2];for(;!k(a2,2);){let h2=0;const r2=[];if("BOD"===n2){if("M"!==a2.text&&"m"!==a2.text)return b("M0,0"+t2);o2++,h2=M[a2.text],n2=a2.text}else k(a2,1)?h2=M[n2]:(o2++,h2=M[a2.text],n2=a2.text);if(!(o2+h2<s2.length))throw new Error("Path data ended short");for(let t3=o2;t3<o2+h2;t3++){const e3=s2[t3];if(!k(e3,1))throw new Error("Param not a number: "+n2+","+e3.text);r2[r2.length]=+e3.text}if("number"!=typeof M[n2])throw new Error("Bad segment: "+n2);{const t3={key:n2,data:r2};e2.push(t3),o2+=h2,a2=s2[o2],"M"===n2&&(n2="L"),"m"===n2&&(n2="l")}}return e2}function y2(t2){let e2=0,s2=0,n2=0,o2=0;const a2=[];for(const{key:h2,data:r2}of t2)switch(h2){case"M":a2.push({key:"M",data:[...r2]}),[e2,s2]=r2,[n2,o2]=r2;break;case"m":e2+=r2[0],s2+=r2[1],a2.push({key:"M",data:[e2,s2]}),n2=e2,o2=s2;break;case"L":a2.push({key:"L",data:[...r2]}),[e2,s2]=r2;break;case"l":e2+=r2[0],s2+=r2[1],a2.push({key:"L",data:[e2,s2]});break;case"C":a2.push({key:"C",data:[...r2]}),e2=r2[4],s2=r2[5];break;case"c":{const t3=r2.map((t4,n3)=>n3%2?t4+s2:t4+e2);a2.push({key:"C",data:t3}),e2=t3[4],s2=t3[5];break}case"Q":a2.push({key:"Q",data:[...r2]}),e2=r2[2],s2=r2[3];break;case"q":{const t3=r2.map((t4,n3)=>n3%2?t4+s2:t4+e2);a2.push({key:"Q",data:t3}),e2=t3[2],s2=t3[3];break}case"A":a2.push({key:"A",data:[...r2]}),e2=r2[5],s2=r2[6];break;case"a":e2+=r2[5],s2+=r2[6],a2.push({key:"A",data:[r2[0],r2[1],r2[2],r2[3],r2[4],e2,s2]});break;case"H":a2.push({key:"H",data:[...r2]}),e2=r2[0];break;case"h":e2+=r2[0],a2.push({key:"H",data:[e2]});break;case"V":a2.push({key:"V",data:[...r2]}),s2=r2[0];break;case"v":s2+=r2[0],a2.push({key:"V",data:[s2]});break;case"S":a2.push({key:"S",data:[...r2]}),e2=r2[2],s2=r2[3];break;case"s":{const t3=r2.map((t4,n3)=>n3%2?t4+s2:t4+e2);a2.push({key:"S",data:t3}),e2=t3[2],s2=t3[3];break}case"T":a2.push({key:"T",data:[...r2]}),e2=r2[0],s2=r2[1];break;case"t":e2+=r2[0],s2+=r2[1],a2.push({key:"T",data:[e2,s2]});break;case"Z":case"z":a2.push({key:"Z",data:[]}),e2=n2,s2=o2}return a2}function m(t2){const e2=[];let s2="",n2=0,o2=0,a2=0,h2=0,r2=0,i2=0;for(const{key:c2,data:l4}of t2){switch(c2){case"M":e2.push({key:"M",data:[...l4]}),[n2,o2]=l4,[a2,h2]=l4;break;case"C":e2.push({key:"C",data:[...l4]}),n2=l4[4],o2=l4[5],r2=l4[2],i2=l4[3];break;case"L":e2.push({key:"L",data:[...l4]}),[n2,o2]=l4;break;case"H":n2=l4[0],e2.push({key:"L",data:[n2,o2]});break;case"V":o2=l4[0],e2.push({key:"L",data:[n2,o2]});break;case"S":{let t3=0,a3=0;"C"===s2||"S"===s2?(t3=n2+(n2-r2),a3=o2+(o2-i2)):(t3=n2,a3=o2),e2.push({key:"C",data:[t3,a3,...l4]}),r2=l4[0],i2=l4[1],n2=l4[2],o2=l4[3];break}case"T":{const[t3,a3]=l4;let h3=0,c3=0;"Q"===s2||"T"===s2?(h3=n2+(n2-r2),c3=o2+(o2-i2)):(h3=n2,c3=o2);const u2=n2+2*(h3-n2)/3,p2=o2+2*(c3-o2)/3,f2=t3+2*(h3-t3)/3,d2=a3+2*(c3-a3)/3;e2.push({key:"C",data:[u2,p2,f2,d2,t3,a3]}),r2=h3,i2=c3,n2=t3,o2=a3;break}case"Q":{const[t3,s3,a3,h3]=l4,c3=n2+2*(t3-n2)/3,u2=o2+2*(s3-o2)/3,p2=a3+2*(t3-a3)/3,f2=h3+2*(s3-h3)/3;e2.push({key:"C",data:[c3,u2,p2,f2,a3,h3]}),r2=t3,i2=s3,n2=a3,o2=h3;break}case"A":{const t3=Math.abs(l4[0]),s3=Math.abs(l4[1]),a3=l4[2],h3=l4[3],r3=l4[4],i3=l4[5],c3=l4[6];0===t3||0===s3?(e2.push({key:"C",data:[n2,o2,i3,c3,i3,c3]}),n2=i3,o2=c3):n2===i3&&o2===c3||(x(n2,o2,i3,c3,t3,s3,a3,h3,r3).forEach(function(t4){e2.push({key:"C",data:t4})}),n2=i3,o2=c3);break}case"Z":e2.push({key:"Z",data:[]}),n2=a2,o2=h2}s2=c2}return e2}function w(t2,e2,s2){return[t2*Math.cos(s2)-e2*Math.sin(s2),t2*Math.sin(s2)+e2*Math.cos(s2)]}function x(t2,e2,s2,n2,o2,a2,h2,r2,i2,c2){const l4=(u2=h2,Math.PI*u2/180);var u2;let p2=[],f2=0,d2=0,g2=0,M2=0;if(c2)[f2,d2,g2,M2]=c2;else{[t2,e2]=w(t2,e2,-l4),[s2,n2]=w(s2,n2,-l4);const h3=(t2-s2)/2,c3=(e2-n2)/2;let u3=h3*h3/(o2*o2)+c3*c3/(a2*a2);u3>1&&(u3=Math.sqrt(u3),o2*=u3,a2*=u3);const p3=o2*o2,k3=a2*a2,b3=p3*k3-p3*c3*c3-k3*h3*h3,y4=p3*c3*c3+k3*h3*h3,m3=(r2===i2?-1:1)*Math.sqrt(Math.abs(b3/y4));g2=m3*o2*c3/a2+(t2+s2)/2,M2=m3*-a2*h3/o2+(e2+n2)/2,f2=Math.asin(parseFloat(((e2-M2)/a2).toFixed(9))),d2=Math.asin(parseFloat(((n2-M2)/a2).toFixed(9))),t2<g2&&(f2=Math.PI-f2),s2<g2&&(d2=Math.PI-d2),f2<0&&(f2=2*Math.PI+f2),d2<0&&(d2=2*Math.PI+d2),i2&&f2>d2&&(f2-=2*Math.PI),!i2&&d2>f2&&(d2-=2*Math.PI)}let k2=d2-f2;if(Math.abs(k2)>120*Math.PI/180){const t3=d2,e3=s2,r3=n2;d2=i2&&d2>f2?f2+120*Math.PI/180*1:f2+120*Math.PI/180*-1,p2=x(s2=g2+o2*Math.cos(d2),n2=M2+a2*Math.sin(d2),e3,r3,o2,a2,h2,0,i2,[d2,t3,g2,M2])}k2=d2-f2;const b2=Math.cos(f2),y3=Math.sin(f2),m2=Math.cos(d2),P3=Math.sin(d2),v2=Math.tan(k2/4),S2=4/3*o2*v2,O2=4/3*a2*v2,L2=[t2,e2],T2=[t2+S2*y3,e2-O2*b2],D2=[s2+S2*P3,n2-O2*m2],A2=[s2,n2];if(T2[0]=2*L2[0]-T2[0],T2[1]=2*L2[1]-T2[1],c2)return[T2,D2,A2].concat(p2);{p2=[T2,D2,A2].concat(p2);const t3=[];for(let e3=0;e3<p2.length;e3+=3){const s3=w(p2[e3][0],p2[e3][1],l4),n3=w(p2[e3+1][0],p2[e3+1][1],l4),o3=w(p2[e3+2][0],p2[e3+2][1],l4);t3.push([s3[0],s3[1],n3[0],n3[1],o3[0],o3[1]])}return t3}}const P2={randOffset:function(t2,e2){return G(t2,e2)},randOffsetWithRange:function(t2,e2,s2){return E(t2,e2,s2)},ellipse:function(t2,e2,s2,n2,o2){return D(t2,e2,o2,T(s2,n2,o2)).opset},doubleLineOps:function(t2,e2,s2,n2,o2){return $2(t2,e2,s2,n2,o2,!0)}};function v(t2,e2,s2,n2,o2){return{type:"path",ops:$2(t2,e2,s2,n2,o2)}}function S(t2,e2,s2){const n2=(t2||[]).length;if(n2>2){const o2=[];for(let e3=0;e3<n2-1;e3++)o2.push(...$2(t2[e3][0],t2[e3][1],t2[e3+1][0],t2[e3+1][1],s2));return e2&&o2.push(...$2(t2[n2-1][0],t2[n2-1][1],t2[0][0],t2[0][1],s2)),{type:"path",ops:o2}}return 2===n2?v(t2[0][0],t2[0][1],t2[1][0],t2[1][1],s2):{type:"path",ops:[]}}function L(t2,e2){if(t2.length){const s2="number"==typeof t2[0][0]?[t2]:t2,n2=j(s2[0],1*(1+.2*e2.roughness),e2),o2=e2.disableMultiStroke?[]:j(s2[0],1.5*(1+.22*e2.roughness),z(e2));for(let t3=1;t3<s2.length;t3++){const a2=s2[t3];if(a2.length){const t4=j(a2,1*(1+.2*e2.roughness),e2),s3=e2.disableMultiStroke?[]:j(a2,1.5*(1+.22*e2.roughness),z(e2));for(const e3 of t4)"move"!==e3.op&&n2.push(e3);for(const t5 of s3)"move"!==t5.op&&o2.push(t5)}}return{type:"path",ops:n2.concat(o2)}}return{type:"path",ops:[]}}function T(t2,e2,s2){const n2=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(t2/2,2)+Math.pow(e2/2,2))/2)),o2=Math.ceil(Math.max(s2.curveStepCount,s2.curveStepCount/Math.sqrt(200)*n2)),a2=2*Math.PI/o2;let h2=Math.abs(t2/2),r2=Math.abs(e2/2);const i2=1-s2.curveFitting;return h2+=G(h2*i2,s2),r2+=G(r2*i2,s2),{increment:a2,rx:h2,ry:r2}}function D(t2,e2,s2,n2){const[o2,a2]=F(n2.increment,t2,e2,n2.rx,n2.ry,1,n2.increment*E(.1,E(.4,1,s2),s2),s2);let h2=q(o2,null,s2);if(!s2.disableMultiStroke&&0!==s2.roughness){const[o3]=F(n2.increment,t2,e2,n2.rx,n2.ry,1.5,0,s2),a3=q(o3,null,s2);h2=h2.concat(a3)}return{estimatedPoints:a2,opset:{type:"path",ops:h2}}}function A(t2,e2,s2,n2,o2,a2,h2,r2,i2){const c2=t2,l4=e2;let u2=Math.abs(s2/2),p2=Math.abs(n2/2);u2+=G(.01*u2,i2),p2+=G(.01*p2,i2);let f2=o2,d2=a2;for(;f2<0;)f2+=2*Math.PI,d2+=2*Math.PI;d2-f2>2*Math.PI&&(f2=0,d2=2*Math.PI);const g2=2*Math.PI/i2.curveStepCount,M2=Math.min(g2/2,(d2-f2)/2),k2=V(M2,c2,l4,u2,p2,f2,d2,1,i2);if(!i2.disableMultiStroke){const t3=V(M2,c2,l4,u2,p2,f2,d2,1.5,i2);k2.push(...t3)}return h2&&(r2?k2.push(...$2(c2,l4,c2+u2*Math.cos(f2),l4+p2*Math.sin(f2),i2),...$2(c2,l4,c2+u2*Math.cos(d2),l4+p2*Math.sin(d2),i2)):k2.push({op:"lineTo",data:[c2,l4]},{op:"lineTo",data:[c2+u2*Math.cos(f2),l4+p2*Math.sin(f2)]})),{type:"path",ops:k2}}function _(t2,e2){const s2=m(y2(b(t2))),n2=[];let o2=[0,0],a2=[0,0];for(const{key:t3,data:h2}of s2)switch(t3){case"M":a2=[h2[0],h2[1]],o2=[h2[0],h2[1]];break;case"L":n2.push(...$2(a2[0],a2[1],h2[0],h2[1],e2)),a2=[h2[0],h2[1]];break;case"C":{const[t4,s3,o3,r2,i2,c2]=h2;n2.push(...Z(t4,s3,o3,r2,i2,c2,a2,e2)),a2=[i2,c2];break}case"Z":n2.push(...$2(a2[0],a2[1],o2[0],o2[1],e2)),a2=[o2[0],o2[1]]}return{type:"path",ops:n2}}function I(t2,e2){const s2=[];for(const n2 of t2)if(n2.length){const t3=e2.maxRandomnessOffset||0,o2=n2.length;if(o2>2){s2.push({op:"move",data:[n2[0][0]+G(t3,e2),n2[0][1]+G(t3,e2)]});for(let a2=1;a2<o2;a2++)s2.push({op:"lineTo",data:[n2[a2][0]+G(t3,e2),n2[a2][1]+G(t3,e2)]})}}return{type:"fillPath",ops:s2}}function C(t2,e2){return function(t3,e3){let s2=t3.fillStyle||"hachure";if(!u[s2])switch(s2){case"zigzag":u[s2]||(u[s2]=new h(e3));break;case"cross-hatch":u[s2]||(u[s2]=new r(e3));break;case"dots":u[s2]||(u[s2]=new i(e3));break;case"dashed":u[s2]||(u[s2]=new c(e3));break;case"zigzag-line":u[s2]||(u[s2]=new l3(e3));break;default:s2="hachure",u[s2]||(u[s2]=new o(e3))}return u[s2]}(e2,P2).fillPolygons(t2,e2)}function z(t2){const e2=Object.assign({},t2);return e2.randomizer=void 0,t2.seed&&(e2.seed=t2.seed+1),e2}function W(t2){return t2.randomizer||(t2.randomizer=new p(t2.seed||0)),t2.randomizer.next()}function E(t2,e2,s2,n2=1){return s2.roughness*n2*(W(s2)*(e2-t2)+t2)}function G(t2,e2,s2=1){return E(-t2,t2,e2,s2)}function $2(t2,e2,s2,n2,o2,a2=!1){const h2=a2?o2.disableMultiStrokeFill:o2.disableMultiStroke,r2=R(t2,e2,s2,n2,o2,!0,!1);if(h2)return r2;const i2=R(t2,e2,s2,n2,o2,!0,!0);return r2.concat(i2)}function R(t2,e2,s2,n2,o2,a2,h2){const r2=Math.pow(t2-s2,2)+Math.pow(e2-n2,2),i2=Math.sqrt(r2);let c2=1;c2=i2<200?1:i2>500?.4:-.0016668*i2+1.233334;let l4=o2.maxRandomnessOffset||0;l4*l4*100>r2&&(l4=i2/10);const u2=l4/2,p2=.2+.2*W(o2);let f2=o2.bowing*o2.maxRandomnessOffset*(n2-e2)/200,d2=o2.bowing*o2.maxRandomnessOffset*(t2-s2)/200;f2=G(f2,o2,c2),d2=G(d2,o2,c2);const g2=[],M2=()=>G(u2,o2,c2),k2=()=>G(l4,o2,c2),b2=o2.preserveVertices;return h2?g2.push({op:"move",data:[t2+(b2?0:M2()),e2+(b2?0:M2())]}):g2.push({op:"move",data:[t2+(b2?0:G(l4,o2,c2)),e2+(b2?0:G(l4,o2,c2))]}),h2?g2.push({op:"bcurveTo",data:[f2+t2+(s2-t2)*p2+M2(),d2+e2+(n2-e2)*p2+M2(),f2+t2+2*(s2-t2)*p2+M2(),d2+e2+2*(n2-e2)*p2+M2(),s2+(b2?0:M2()),n2+(b2?0:M2())]}):g2.push({op:"bcurveTo",data:[f2+t2+(s2-t2)*p2+k2(),d2+e2+(n2-e2)*p2+k2(),f2+t2+2*(s2-t2)*p2+k2(),d2+e2+2*(n2-e2)*p2+k2(),s2+(b2?0:k2()),n2+(b2?0:k2())]}),g2}function j(t2,e2,s2){if(!t2.length)return[];const n2=[];n2.push([t2[0][0]+G(e2,s2),t2[0][1]+G(e2,s2)]),n2.push([t2[0][0]+G(e2,s2),t2[0][1]+G(e2,s2)]);for(let o2=1;o2<t2.length;o2++)n2.push([t2[o2][0]+G(e2,s2),t2[o2][1]+G(e2,s2)]),o2===t2.length-1&&n2.push([t2[o2][0]+G(e2,s2),t2[o2][1]+G(e2,s2)]);return q(n2,null,s2)}function q(t2,e2,s2){const n2=t2.length,o2=[];if(n2>3){const a2=[],h2=1-s2.curveTightness;o2.push({op:"move",data:[t2[1][0],t2[1][1]]});for(let e3=1;e3+2<n2;e3++){const s3=t2[e3];a2[0]=[s3[0],s3[1]],a2[1]=[s3[0]+(h2*t2[e3+1][0]-h2*t2[e3-1][0])/6,s3[1]+(h2*t2[e3+1][1]-h2*t2[e3-1][1])/6],a2[2]=[t2[e3+1][0]+(h2*t2[e3][0]-h2*t2[e3+2][0])/6,t2[e3+1][1]+(h2*t2[e3][1]-h2*t2[e3+2][1])/6],a2[3]=[t2[e3+1][0],t2[e3+1][1]],o2.push({op:"bcurveTo",data:[a2[1][0],a2[1][1],a2[2][0],a2[2][1],a2[3][0],a2[3][1]]})}}else 3===n2?(o2.push({op:"move",data:[t2[1][0],t2[1][1]]}),o2.push({op:"bcurveTo",data:[t2[1][0],t2[1][1],t2[2][0],t2[2][1],t2[2][0],t2[2][1]]})):2===n2&&o2.push(...R(t2[0][0],t2[0][1],t2[1][0],t2[1][1],s2,0,!0));return o2}function F(t2,e2,s2,n2,o2,a2,h2,r2){const i2=[],c2=[];if(0===r2.roughness){t2/=4,c2.push([e2+n2*Math.cos(-t2),s2+o2*Math.sin(-t2)]);for(let a3=0;a3<=2*Math.PI;a3+=t2){const t3=[e2+n2*Math.cos(a3),s2+o2*Math.sin(a3)];i2.push(t3),c2.push(t3)}c2.push([e2+n2*Math.cos(0),s2+o2*Math.sin(0)]),c2.push([e2+n2*Math.cos(t2),s2+o2*Math.sin(t2)])}else{const l4=G(.5,r2)-Math.PI/2;c2.push([G(a2,r2)+e2+.9*n2*Math.cos(l4-t2),G(a2,r2)+s2+.9*o2*Math.sin(l4-t2)]);const u2=2*Math.PI+l4-.01;for(let h3=l4;h3<u2;h3+=t2){const t3=[G(a2,r2)+e2+n2*Math.cos(h3),G(a2,r2)+s2+o2*Math.sin(h3)];i2.push(t3),c2.push(t3)}c2.push([G(a2,r2)+e2+n2*Math.cos(l4+2*Math.PI+.5*h2),G(a2,r2)+s2+o2*Math.sin(l4+2*Math.PI+.5*h2)]),c2.push([G(a2,r2)+e2+.98*n2*Math.cos(l4+h2),G(a2,r2)+s2+.98*o2*Math.sin(l4+h2)]),c2.push([G(a2,r2)+e2+.9*n2*Math.cos(l4+.5*h2),G(a2,r2)+s2+.9*o2*Math.sin(l4+.5*h2)])}return[c2,i2]}function V(t2,e2,s2,n2,o2,a2,h2,r2,i2){const c2=a2+G(.1,i2),l4=[];l4.push([G(r2,i2)+e2+.9*n2*Math.cos(c2-t2),G(r2,i2)+s2+.9*o2*Math.sin(c2-t2)]);for(let a3=c2;a3<=h2;a3+=t2)l4.push([G(r2,i2)+e2+n2*Math.cos(a3),G(r2,i2)+s2+o2*Math.sin(a3)]);return l4.push([e2+n2*Math.cos(h2),s2+o2*Math.sin(h2)]),l4.push([e2+n2*Math.cos(h2),s2+o2*Math.sin(h2)]),q(l4,0,i2)}function Z(t2,e2,s2,n2,o2,a2,h2,r2){const i2=[],c2=[r2.maxRandomnessOffset||1,(r2.maxRandomnessOffset||1)+.3];let l4=[0,0];const u2=r2.disableMultiStroke?1:2,p2=r2.preserveVertices;for(let f2=0;f2<u2;f2++)0===f2?i2.push({op:"move",data:[h2[0],h2[1]]}):i2.push({op:"move",data:[h2[0]+(p2?0:G(c2[0],r2)),h2[1]+(p2?0:G(c2[0],r2))]}),l4=p2?[o2,a2]:[o2+G(c2[f2],r2),a2+G(c2[f2],r2)],i2.push({op:"bcurveTo",data:[t2+G(c2[f2],r2),e2+G(c2[f2],r2),s2+G(c2[f2],r2),n2+G(c2[f2],r2),l4[0],l4[1]]});return i2}function Q(t2){return[...t2]}function H(t2,e2=0){const s2=t2.length;if(s2<3)throw new Error("A curve must have at least three points.");const n2=[];if(3===s2)n2.push(Q(t2[0]),Q(t2[1]),Q(t2[2]),Q(t2[2]));else{const s3=[];s3.push(t2[0],t2[0]);for(let e3=1;e3<t2.length;e3++)s3.push(t2[e3]),e3===t2.length-1&&s3.push(t2[e3]);const o2=[],a2=1-e2;n2.push(Q(s3[0]));for(let t3=1;t3+2<s3.length;t3++){const e3=s3[t3];o2[0]=[e3[0],e3[1]],o2[1]=[e3[0]+(a2*s3[t3+1][0]-a2*s3[t3-1][0])/6,e3[1]+(a2*s3[t3+1][1]-a2*s3[t3-1][1])/6],o2[2]=[s3[t3+1][0]+(a2*s3[t3][0]-a2*s3[t3+2][0])/6,s3[t3+1][1]+(a2*s3[t3][1]-a2*s3[t3+2][1])/6],o2[3]=[s3[t3+1][0],s3[t3+1][1]],n2.push(o2[1],o2[2],o2[3])}}return n2}function N(t2,e2){return Math.pow(t2[0]-e2[0],2)+Math.pow(t2[1]-e2[1],2)}function B2(t2,e2,s2){const n2=N(e2,s2);if(0===n2)return N(t2,e2);let o2=((t2[0]-e2[0])*(s2[0]-e2[0])+(t2[1]-e2[1])*(s2[1]-e2[1]))/n2;return o2=Math.max(0,Math.min(1,o2)),N(t2,J(e2,s2,o2))}function J(t2,e2,s2){return[t2[0]+(e2[0]-t2[0])*s2,t2[1]+(e2[1]-t2[1])*s2]}function K(t2,e2,s2,n2){const o2=n2||[];if(function(t3,e3){const s3=t3[e3+0],n3=t3[e3+1],o3=t3[e3+2],a3=t3[e3+3];let h3=3*n3[0]-2*s3[0]-a3[0];h3*=h3;let r2=3*n3[1]-2*s3[1]-a3[1];r2*=r2;let i2=3*o3[0]-2*a3[0]-s3[0];i2*=i2;let c2=3*o3[1]-2*a3[1]-s3[1];return c2*=c2,h3<i2&&(h3=i2),r2<c2&&(r2=c2),h3+r2}(t2,e2)<s2){const s3=t2[e2+0];o2.length?(a2=o2[o2.length-1],h2=s3,Math.sqrt(N(a2,h2))>1&&o2.push(s3)):o2.push(s3),o2.push(t2[e2+3])}else{const n3=.5,a3=t2[e2+0],h3=t2[e2+1],r2=t2[e2+2],i2=t2[e2+3],c2=J(a3,h3,n3),l4=J(h3,r2,n3),u2=J(r2,i2,n3),p2=J(c2,l4,n3),f2=J(l4,u2,n3),d2=J(p2,f2,n3);K([a3,c2,p2,d2],0,s2,o2),K([d2,f2,u2,i2],0,s2,o2)}var a2,h2;return o2}function U(t2,e2){return X(t2,0,t2.length,e2)}function X(t2,e2,s2,n2,o2){const a2=o2||[],h2=t2[e2],r2=t2[s2-1];let i2=0,c2=1;for(let n3=e2+1;n3<s2-1;++n3){const e3=B2(t2[n3],h2,r2);e3>i2&&(i2=e3,c2=n3)}return Math.sqrt(i2)>n2?(X(t2,e2,c2+1,n2,a2),X(t2,c2,s2,n2,a2)):(a2.length||a2.push(h2),a2.push(r2)),a2}function Y(t2,e2=.15,s2){const n2=[],o2=(t2.length-1)/3;for(let s3=0;s3<o2;s3++)K(t2,3*s3,e2,n2);return s2&&s2>0?X(n2,0,n2.length,s2):n2}const tt="none";class et{constructor(t2){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t2||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(t2){return t2?Object.assign({},this.defaultOptions,t2):this.defaultOptions}_d(t2,e2,s2){return{shape:t2,sets:e2||[],options:s2||this.defaultOptions}}line(t2,e2,s2,n2,o2){const a2=this._o(o2);return this._d("line",[v(t2,e2,s2,n2,a2)],a2)}rectangle(t2,e2,s2,n2,o2){const a2=this._o(o2),h2=[],r2=function(t2,e2,s2,n2,o2){return S([[t2,e2],[t2+s2,e2],[t2+s2,e2+n2],[t2,e2+n2]],!0,o2)}(t2,e2,s2,n2,a2);if(a2.fill){const o3=[[t2,e2],[t2+s2,e2],[t2+s2,e2+n2],[t2,e2+n2]];"solid"===a2.fillStyle?h2.push(I([o3],a2)):h2.push(C([o3],a2))}return a2.stroke!==tt&&h2.push(r2),this._d("rectangle",h2,a2)}ellipse(t2,e2,s2,n2,o2){const a2=this._o(o2),h2=[],r2=T(s2,n2,a2),i2=D(t2,e2,a2,r2);if(a2.fill)if("solid"===a2.fillStyle){const s3=D(t2,e2,a2,r2).opset;s3.type="fillPath",h2.push(s3)}else h2.push(C([i2.estimatedPoints],a2));return a2.stroke!==tt&&h2.push(i2.opset),this._d("ellipse",h2,a2)}circle(t2,e2,s2,n2){const o2=this.ellipse(t2,e2,s2,s2,n2);return o2.shape="circle",o2}linearPath(t2,e2){const s2=this._o(e2);return this._d("linearPath",[S(t2,!1,s2)],s2)}arc(t2,e2,s2,n2,o2,a2,h2=!1,r2){const i2=this._o(r2),c2=[],l4=A(t2,e2,s2,n2,o2,a2,h2,!0,i2);if(h2&&i2.fill)if("solid"===i2.fillStyle){const h3=Object.assign({},i2);h3.disableMultiStroke=!0;const r3=A(t2,e2,s2,n2,o2,a2,!0,!1,h3);r3.type="fillPath",c2.push(r3)}else c2.push(function(t3,e3,s3,n3,o3,a3,h3){const r3=t3,i3=e3;let c3=Math.abs(s3/2),l5=Math.abs(n3/2);c3+=G(.01*c3,h3),l5+=G(.01*l5,h3);let u2=o3,p2=a3;for(;u2<0;)u2+=2*Math.PI,p2+=2*Math.PI;p2-u2>2*Math.PI&&(u2=0,p2=2*Math.PI);const f2=(p2-u2)/h3.curveStepCount,d2=[];for(let t4=u2;t4<=p2;t4+=f2)d2.push([r3+c3*Math.cos(t4),i3+l5*Math.sin(t4)]);return d2.push([r3+c3*Math.cos(p2),i3+l5*Math.sin(p2)]),d2.push([r3,i3]),C([d2],h3)}(t2,e2,s2,n2,o2,a2,i2));return i2.stroke!==tt&&c2.push(l4),this._d("arc",c2,i2)}curve(t2,e2){const s2=this._o(e2),n2=[],o2=L(t2,s2);if(s2.fill&&s2.fill!==tt)if("solid"===s2.fillStyle){const e3=L(t2,Object.assign(Object.assign({},s2),{disableMultiStroke:!0,roughness:s2.roughness?s2.roughness+s2.fillShapeRoughnessGain:0}));n2.push({type:"fillPath",ops:this._mergedShape(e3.ops)})}else{const e3=[],o3=t2;if(o3.length){const t3="number"==typeof o3[0][0]?[o3]:o3;for(const n3 of t3)n3.length<3?e3.push(...n3):3===n3.length?e3.push(...Y(H([n3[0],n3[0],n3[1],n3[2]]),10,(1+s2.roughness)/2)):e3.push(...Y(H(n3),10,(1+s2.roughness)/2))}e3.length&&n2.push(C([e3],s2))}return s2.stroke!==tt&&n2.push(o2),this._d("curve",n2,s2)}polygon(t2,e2){const s2=this._o(e2),n2=[],o2=S(t2,!0,s2);return s2.fill&&("solid"===s2.fillStyle?n2.push(I([t2],s2)):n2.push(C([t2],s2))),s2.stroke!==tt&&n2.push(o2),this._d("polygon",n2,s2)}path(t2,e2){const s2=this._o(e2),n2=[];if(!t2)return this._d("path",n2,s2);t2=(t2||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const o2=s2.fill&&"transparent"!==s2.fill&&s2.fill!==tt,a2=s2.stroke!==tt,h2=!!(s2.simplification&&s2.simplification<1),r2=function(t3,e3,s3){const n3=m(y2(b(t3))),o3=[];let a3=[],h3=[0,0],r3=[];const i3=()=>{r3.length>=4&&a3.push(...Y(r3,1)),r3=[]},c2=()=>{i3(),a3.length&&(o3.push(a3),a3=[])};for(const{key:t4,data:e4}of n3)switch(t4){case"M":c2(),h3=[e4[0],e4[1]],a3.push(h3);break;case"L":i3(),a3.push([e4[0],e4[1]]);break;case"C":if(!r3.length){const t5=a3.length?a3[a3.length-1]:h3;r3.push([t5[0],t5[1]])}r3.push([e4[0],e4[1]]),r3.push([e4[2],e4[3]]),r3.push([e4[4],e4[5]]);break;case"Z":i3(),a3.push([h3[0],h3[1]])}if(c2(),!s3)return o3;const l4=[];for(const t4 of o3){const e4=U(t4,s3);e4.length&&l4.push(e4)}return l4}(t2,0,h2?4-4*(s2.simplification||1):(1+s2.roughness)/2),i2=_(t2,s2);if(o2)if("solid"===s2.fillStyle)if(1===r2.length){const e3=_(t2,Object.assign(Object.assign({},s2),{disableMultiStroke:!0,roughness:s2.roughness?s2.roughness+s2.fillShapeRoughnessGain:0}));n2.push({type:"fillPath",ops:this._mergedShape(e3.ops)})}else n2.push(I(r2,s2));else n2.push(C(r2,s2));return a2&&(h2?r2.forEach(t3=>{n2.push(S(t3,!1,s2))}):n2.push(i2)),this._d("path",n2,s2)}opsToPath(t2,e2){let s2="";for(const n2 of t2.ops){const t3="number"==typeof e2&&e2>=0?n2.data.map(t4=>+t4.toFixed(e2)):n2.data;switch(n2.op){case"move":s2+=`M${t3[0]} ${t3[1]} `;break;case"bcurveTo":s2+=`C${t3[0]} ${t3[1]}, ${t3[2]} ${t3[3]}, ${t3[4]} ${t3[5]} `;break;case"lineTo":s2+=`L${t3[0]} ${t3[1]} `}}return s2.trim()}toPaths(t2){const e2=t2.sets||[],s2=t2.options||this.defaultOptions,n2=[];for(const t3 of e2){let e3=null;switch(t3.type){case"path":e3={d:this.opsToPath(t3),stroke:s2.stroke,strokeWidth:s2.strokeWidth,fill:tt};break;case"fillPath":e3={d:this.opsToPath(t3),stroke:tt,strokeWidth:0,fill:s2.fill||tt};break;case"fillSketch":e3=this.fillSketch(t3,s2)}e3&&n2.push(e3)}return n2}fillSketch(t2,e2){let s2=e2.fillWeight;return s2<0&&(s2=e2.strokeWidth/2),{d:this.opsToPath(t2),stroke:e2.fill||tt,strokeWidth:s2,fill:tt}}_mergedShape(t2){return t2.filter((t3,e2)=>0===e2||"move"!==t3.op)}}class st{constructor(t2,e2){this.canvas=t2,this.ctx=this.canvas.getContext("2d"),this.gen=new et(e2)}draw(t2){const e2=t2.sets||[],s2=t2.options||this.getDefaultOptions(),n2=this.ctx,o2=t2.options.fixedDecimalPlaceDigits;for(const a2 of e2)switch(a2.type){case"path":n2.save(),n2.strokeStyle="none"===s2.stroke?"transparent":s2.stroke,n2.lineWidth=s2.strokeWidth,s2.strokeLineDash&&n2.setLineDash(s2.strokeLineDash),s2.strokeLineDashOffset&&(n2.lineDashOffset=s2.strokeLineDashOffset),this._drawToContext(n2,a2,o2),n2.restore();break;case"fillPath":{n2.save(),n2.fillStyle=s2.fill||"";const e3="curve"===t2.shape||"polygon"===t2.shape||"path"===t2.shape?"evenodd":"nonzero";this._drawToContext(n2,a2,o2,e3),n2.restore();break}case"fillSketch":this.fillSketch(n2,a2,s2)}}fillSketch(t2,e2,s2){let n2=s2.fillWeight;n2<0&&(n2=s2.strokeWidth/2),t2.save(),s2.fillLineDash&&t2.setLineDash(s2.fillLineDash),s2.fillLineDashOffset&&(t2.lineDashOffset=s2.fillLineDashOffset),t2.strokeStyle=s2.fill||"",t2.lineWidth=n2,this._drawToContext(t2,e2,s2.fixedDecimalPlaceDigits),t2.restore()}_drawToContext(t2,e2,s2,n2="nonzero"){t2.beginPath();for(const n3 of e2.ops){const e3="number"==typeof s2&&s2>=0?n3.data.map(t3=>+t3.toFixed(s2)):n3.data;switch(n3.op){case"move":t2.moveTo(e3[0],e3[1]);break;case"bcurveTo":t2.bezierCurveTo(e3[0],e3[1],e3[2],e3[3],e3[4],e3[5]);break;case"lineTo":t2.lineTo(e3[0],e3[1])}}"fillPath"===e2.type?t2.fill(n2):t2.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t2,e2,s2,n2,o2){const a2=this.gen.line(t2,e2,s2,n2,o2);return this.draw(a2),a2}rectangle(t2,e2,s2,n2,o2){const a2=this.gen.rectangle(t2,e2,s2,n2,o2);return this.draw(a2),a2}ellipse(t2,e2,s2,n2,o2){const a2=this.gen.ellipse(t2,e2,s2,n2,o2);return this.draw(a2),a2}circle(t2,e2,s2,n2){const o2=this.gen.circle(t2,e2,s2,n2);return this.draw(o2),o2}linearPath(t2,e2){const s2=this.gen.linearPath(t2,e2);return this.draw(s2),s2}polygon(t2,e2){const s2=this.gen.polygon(t2,e2);return this.draw(s2),s2}arc(t2,e2,s2,n2,o2,a2,h2=!1,r2){const i2=this.gen.arc(t2,e2,s2,n2,o2,a2,h2,r2);return this.draw(i2),i2}curve(t2,e2){const s2=this.gen.curve(t2,e2);return this.draw(s2),s2}path(t2,e2){const s2=this.gen.path(t2,e2);return this.draw(s2),s2}}const nt="http://www.w3.org/2000/svg";class ot{constructor(t2,e2){this.svg=t2,this.gen=new et(e2)}draw(t2){const e2=t2.sets||[],s2=t2.options||this.getDefaultOptions(),n2=this.svg.ownerDocument||window.document,o2=n2.createElementNS(nt,"g"),a2=t2.options.fixedDecimalPlaceDigits;for(const h2 of e2){let e3=null;switch(h2.type){case"path":e3=n2.createElementNS(nt,"path"),e3.setAttribute("d",this.opsToPath(h2,a2)),e3.setAttribute("stroke",s2.stroke),e3.setAttribute("stroke-width",s2.strokeWidth+""),e3.setAttribute("fill","none"),s2.strokeLineDash&&e3.setAttribute("stroke-dasharray",s2.strokeLineDash.join(" ").trim()),s2.strokeLineDashOffset&&e3.setAttribute("stroke-dashoffset",`${s2.strokeLineDashOffset}`);break;case"fillPath":e3=n2.createElementNS(nt,"path"),e3.setAttribute("d",this.opsToPath(h2,a2)),e3.setAttribute("stroke","none"),e3.setAttribute("stroke-width","0"),e3.setAttribute("fill",s2.fill||""),"curve"!==t2.shape&&"polygon"!==t2.shape||e3.setAttribute("fill-rule","evenodd");break;case"fillSketch":e3=this.fillSketch(n2,h2,s2)}e3&&o2.appendChild(e3)}return o2}fillSketch(t2,e2,s2){let n2=s2.fillWeight;n2<0&&(n2=s2.strokeWidth/2);const o2=t2.createElementNS(nt,"path");return o2.setAttribute("d",this.opsToPath(e2,s2.fixedDecimalPlaceDigits)),o2.setAttribute("stroke",s2.fill||""),o2.setAttribute("stroke-width",n2+""),o2.setAttribute("fill","none"),s2.fillLineDash&&o2.setAttribute("stroke-dasharray",s2.fillLineDash.join(" ").trim()),s2.fillLineDashOffset&&o2.setAttribute("stroke-dashoffset",`${s2.fillLineDashOffset}`),o2}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t2,e2){return this.gen.opsToPath(t2,e2)}line(t2,e2,s2,n2,o2){const a2=this.gen.line(t2,e2,s2,n2,o2);return this.draw(a2)}rectangle(t2,e2,s2,n2,o2){const a2=this.gen.rectangle(t2,e2,s2,n2,o2);return this.draw(a2)}ellipse(t2,e2,s2,n2,o2){const a2=this.gen.ellipse(t2,e2,s2,n2,o2);return this.draw(a2)}circle(t2,e2,s2,n2){const o2=this.gen.circle(t2,e2,s2,n2);return this.draw(o2)}linearPath(t2,e2){const s2=this.gen.linearPath(t2,e2);return this.draw(s2)}polygon(t2,e2){const s2=this.gen.polygon(t2,e2);return this.draw(s2)}arc(t2,e2,s2,n2,o2,a2,h2=!1,r2){const i2=this.gen.arc(t2,e2,s2,n2,o2,a2,h2,r2);return this.draw(i2)}curve(t2,e2){const s2=this.gen.curve(t2,e2);return this.draw(s2)}path(t2,e2){const s2=this.gen.path(t2,e2);return this.draw(s2)}}var at={canvas:(t2,e2)=>new st(t2,e2),svg:(t2,e2)=>new ot(t2,e2),generator:t2=>new et(t2),newSeed:()=>et.newSeed()},labelHelper=__name(async(parent,node,_classes)=>{var _a2,_b2;let cssClasses;const useHtmlLabels=node.useHtmlLabels||evaluate(null==(_a2=getConfig2())?void 0:_a2.htmlLabels);cssClasses=_classes||"node default";const shapeSvg=parent.insert("g").attr("class",cssClasses).attr("id",node.domId||node.id),labelEl=shapeSvg.insert("g").attr("class","label").attr("style",handleUndefinedAttr(node.labelStyle));let label;label=void 0===node.label?"":"string"==typeof node.label?node.label:node.label[0];const addBackground=!!node.icon||!!node.img,isMarkdown="markdown"===node.labelType,text2=await createText(labelEl,sanitizeText(decodeEntities(label),getConfig2()),{useHtmlLabels:useHtmlLabels,width:node.width||(null==(_b2=getConfig2().flowchart)?void 0:_b2.wrappingWidth),classes:isMarkdown?"markdown-node-label":"",style:node.labelStyle,addSvgBackground:addBackground,markdown:isMarkdown},getConfig2());let bbox=text2.getBBox();const halfPadding=((null==node?void 0:node.padding)??0)/2;if(useHtmlLabels){const div=text2.children[0],dv=select(text2);await configureLabelImages(div,label),bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}return useHtmlLabels?labelEl.attr("transform","translate("+-bbox.width/2+", "+-bbox.height/2+")"):labelEl.attr("transform","translate(0, "+-bbox.height/2+")"),node.centerLabel&&labelEl.attr("transform","translate("+-bbox.width/2+", "+-bbox.height/2+")"),labelEl.insert("rect",":first-child"),{shapeSvg:shapeSvg,bbox:bbox,halfPadding:halfPadding,label:labelEl}},"labelHelper"),insertLabel=__name(async(parent,label,options)=>{var _a2,_b2;const useHtmlLabels=options.useHtmlLabels??getEffectiveHtmlLabels(getConfig2()),labelEl=parent.insert("g").attr("class","label").attr("style",options.labelStyle||""),text2=await createText(labelEl,sanitizeText(decodeEntities(label),getConfig2()),{useHtmlLabels:useHtmlLabels,width:options.width||(null==(_b2=null==(_a2=getConfig2())?void 0:_a2.flowchart)?void 0:_b2.wrappingWidth),style:options.labelStyle,addSvgBackground:!!options.icon||!!options.img});let bbox=text2.getBBox();const halfPadding=options.padding/2;if(getEffectiveHtmlLabels(getConfig2())){const div=text2.children[0],dv=select(text2);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}return useHtmlLabels?labelEl.attr("transform","translate("+-bbox.width/2+", "+-bbox.height/2+")"):labelEl.attr("transform","translate(0, "+-bbox.height/2+")"),options.centerLabel&&labelEl.attr("transform","translate("+-bbox.width/2+", "+-bbox.height/2+")"),labelEl.insert("rect",":first-child"),{shapeSvg:parent,bbox:bbox,halfPadding:halfPadding,label:labelEl}},"insertLabel"),updateNodeBounds=__name((node,element)=>{const bbox=element.node().getBBox();node.width=bbox.width,node.height=bbox.height},"updateNodeBounds"),getNodeClasses=__name((node,extra)=>("handDrawn"===node.look?"rough-node":"node")+" "+node.cssClasses+" "+(extra||""),"getNodeClasses");function createPathFromPoints(points){const pointStrings=points.map((p2,i2)=>`${0===i2?"M":"L"}${p2.x},${p2.y}`);return pointStrings.push("Z"),pointStrings.join(" ")}function generateFullSineWavePoints(x1,y1,x2,y22,amplitude,numCycles){const points=[],deltaX=x2-x1,deltaY=y22-y1,cycleLength=deltaX/numCycles,frequency=2*Math.PI/cycleLength,midY=y1+deltaY/2;for(let i2=0;i2<=50;i2++){const x3=x1+i2/50*deltaX,y3=midY+amplitude*Math.sin(frequency*(x3-x1));points.push({x:x3,y:y3})}return points}function generateCirclePoints(centerX,centerY,radius,numPoints,startAngle,endAngle){const points=[],startAngleRad=startAngle*Math.PI/180,angleStep=(endAngle*Math.PI/180-startAngleRad)/(numPoints-1);for(let i2=0;i2<numPoints;i2++){const angle=startAngleRad+i2*angleStep,x2=centerX+radius*Math.cos(angle),y3=centerY+radius*Math.sin(angle);points.push({x:-x2,y:-y3})}return points}function mergePaths(roughElement){const paths=Array.from(roughElement.childNodes).filter(node=>"path"===node.tagName),mergedPath=document.createElementNS("http://www.w3.org/2000/svg","path"),combinedPathData=paths.map(path=>path.getAttribute("d")).filter(d2=>null!==d2).join(" ");mergedPath.setAttribute("d",combinedPathData);const fillPath=paths.find(path=>"none"!==path.getAttribute("fill")),strokePath=paths.find(path=>"none"!==path.getAttribute("stroke")),getAttr=__name((element,attr)=>(null==element?void 0:element.getAttribute(attr))??void 0,"getAttr");if(fillPath){const fillAttrs={fill:getAttr(fillPath,"fill"),"fill-opacity":getAttr(fillPath,"fill-opacity")??"1"};Object.entries(fillAttrs).forEach(([attr,value])=>{value&&mergedPath.setAttribute(attr,value)})}if(strokePath){const strokeAttrs={stroke:getAttr(strokePath,"stroke"),"stroke-width":getAttr(strokePath,"stroke-width")??"1","stroke-opacity":getAttr(strokePath,"stroke-opacity")??"1"};Object.entries(strokeAttrs).forEach(([attr,value])=>{value&&mergedPath.setAttribute(attr,value)})}const group=document.createElementNS("http://www.w3.org/2000/svg","g");return group.appendChild(mergedPath),group}__name(createPathFromPoints,"createPathFromPoints"),__name(generateFullSineWavePoints,"generateFullSineWavePoints"),__name(generateCirclePoints,"generateCirclePoints"),__name(mergePaths,"mergePaths");var intersect_rect_default=__name((node,point2)=>{var sx,sy,x2=node.x,y3=node.y,dx=point2.x-x2,dy=point2.y-y3,w2=node.width/2,h2=node.height/2;return Math.abs(dy)*w2>Math.abs(dx)*h2?(dy<0&&(h2=-h2),sx=0===dy?0:h2*dx/dy,sy=h2):(dx<0&&(w2=-w2),sx=w2,sy=0===dx?0:w2*dy/dx),{x:x2+sx,y:y3+sy}},"intersectRect"),createLabel_default=__name(async(element,_vertexText,style,isTitle=!1,isNode=!1)=>{let vertexText=_vertexText||"";"object"==typeof vertexText&&(vertexText=vertexText[0]);const config2=getConfig2(),useHtmlLabels=getEffectiveHtmlLabels(config2);return await createText(element,vertexText,{style:style,isTitle:isTitle,useHtmlLabels:useHtmlLabels,markdown:!1,isNode:isNode,width:Number.POSITIVE_INFINITY},config2)},"createLabel"),createRoundedRectPathD=__name((x2,y3,totalWidth,totalHeight,radius)=>["M",x2+radius,y3,"H",x2+totalWidth-radius,"A",radius,radius,0,0,1,x2+totalWidth,y3+radius,"V",y3+totalHeight-radius,"A",radius,radius,0,0,1,x2+totalWidth-radius,y3+totalHeight,"H",x2+radius,"A",radius,radius,0,0,1,x2,y3+totalHeight-radius,"V",y3+radius,"A",radius,radius,0,0,1,x2+radius,y3,"Z"].join(" "),"createRoundedRectPathD"),rect=__name(async(parent,node)=>{log.info("Creating subgraph rect for ",node.id,node);const siteConfig2=getConfig2(),{themeVariables:themeVariables,handDrawnSeed:handDrawnSeed}=siteConfig2,{clusterBkg:clusterBkg,clusterBorder:clusterBorder}=themeVariables,{labelStyles:labelStyles,nodeStyles:nodeStyles,borderStyles:borderStyles,backgroundStyles:backgroundStyles}=styles2String(node),shapeSvg=parent.insert("g").attr("class","cluster "+node.cssClasses).attr("id",node.domId).attr("data-look",node.look),useHtmlLabels=getEffectiveHtmlLabels(siteConfig2),labelEl=shapeSvg.insert("g").attr("class","cluster-label ");let text2;text2="markdown"===node.labelType?await createText(labelEl,node.label,{style:node.labelStyle,useHtmlLabels:useHtmlLabels,isNode:!0,width:node.width}):await createLabel_default(labelEl,node.label,node.labelStyle||"",!1,!0);let bbox=text2.getBBox();if(getEffectiveHtmlLabels(siteConfig2)){const div=text2.children[0],dv=select(text2);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}const width=node.width<=bbox.width+node.padding?bbox.width+node.padding:node.width;node.width<=bbox.width+node.padding?node.diff=(width-node.width)/2-node.padding:node.diff=-node.padding;const height=node.height,x2=node.x-width/2,y3=node.y-height/2;let rect2;if(log.trace("Data ",node,JSON.stringify(node)),"handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{roughness:.7,fill:clusterBkg,stroke:clusterBorder,fillWeight:3,seed:handDrawnSeed}),roughNode=rc.path(createRoundedRectPathD(x2,y3,width,height,0),options);rect2=shapeSvg.insert(()=>(log.debug("Rough node insert CXC",roughNode),roughNode),":first-child"),rect2.select("path:nth-child(2)").attr("style",borderStyles.join(";")),rect2.select("path").attr("style",backgroundStyles.join(";").replace("fill","stroke"))}else rect2=shapeSvg.insert("rect",":first-child"),rect2.attr("style",nodeStyles).attr("rx",node.rx).attr("ry",node.ry).attr("x",x2).attr("y",y3).attr("width",width).attr("height",height);const{subGraphTitleTopMargin:subGraphTitleTopMargin}=getSubGraphTitleMargins(siteConfig2);if(labelEl.attr("transform",`translate(${node.x-bbox.width/2}, ${node.y-node.height/2+subGraphTitleTopMargin})`),labelStyles){const span=labelEl.select("span");span&&span.attr("style",labelStyles)}const rectBox=rect2.node().getBBox();return node.offsetX=0,node.width=rectBox.width,node.height=rectBox.height,node.offsetY=bbox.height-node.padding/2,node.intersect=function(point2){return intersect_rect_default(node,point2)},{cluster:shapeSvg,labelBBox:bbox}},"rect"),noteGroup=__name((parent,node)=>{const shapeSvg=parent.insert("g").attr("class","note-cluster").attr("id",node.domId),rect2=shapeSvg.insert("rect",":first-child"),padding=0*node.padding,halfPadding=padding/2;rect2.attr("rx",node.rx).attr("ry",node.ry).attr("x",node.x-node.width/2-halfPadding).attr("y",node.y-node.height/2-halfPadding).attr("width",node.width+padding).attr("height",node.height+padding).attr("fill","none");const rectBox=rect2.node().getBBox();return node.width=rectBox.width,node.height=rectBox.height,node.intersect=function(point2){return intersect_rect_default(node,point2)},{cluster:shapeSvg,labelBBox:{width:0,height:0}}},"noteGroup"),roundedWithTitle=__name(async(parent,node)=>{const siteConfig2=getConfig2(),{themeVariables:themeVariables,handDrawnSeed:handDrawnSeed}=siteConfig2,{altBackground:altBackground,compositeBackground:compositeBackground,compositeTitleBackground:compositeTitleBackground,nodeBorder:nodeBorder}=themeVariables,shapeSvg=parent.insert("g").attr("class",node.cssClasses).attr("id",node.domId).attr("data-id",node.id).attr("data-look",node.look),outerRectG=shapeSvg.insert("g",":first-child"),label=shapeSvg.insert("g").attr("class","cluster-label");let innerRect=shapeSvg.append("rect");const text2=await createLabel_default(label,node.label,node.labelStyle,void 0,!0);let bbox=text2.getBBox();if(getEffectiveHtmlLabels(siteConfig2)){const div=text2.children[0],dv=select(text2);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}const padding=0*node.padding,halfPadding=padding/2,width=(node.width<=bbox.width+node.padding?bbox.width+node.padding:node.width)+padding;node.width<=bbox.width+node.padding?node.diff=(width-node.width)/2-node.padding:node.diff=-node.padding;const height=node.height+padding,innerHeight=node.height+padding-bbox.height-6,x2=node.x-width/2,y3=node.y-height/2;node.width=width;const innerY=node.y-node.height/2-halfPadding+bbox.height+2;let rect2;if("handDrawn"===node.look){const isAlt=node.cssClasses.includes("statediagram-cluster-alt"),rc=at.svg(shapeSvg),roughOuterNode=node.rx||node.ry?rc.path(createRoundedRectPathD(x2,y3,width,height,10),{roughness:.7,fill:compositeTitleBackground,fillStyle:"solid",stroke:nodeBorder,seed:handDrawnSeed}):rc.rectangle(x2,y3,width,height,{seed:handDrawnSeed});rect2=shapeSvg.insert(()=>roughOuterNode,":first-child");const roughInnerNode=rc.rectangle(x2,innerY,width,innerHeight,{fill:isAlt?altBackground:compositeBackground,fillStyle:isAlt?"hachure":"solid",stroke:nodeBorder,seed:handDrawnSeed});rect2=shapeSvg.insert(()=>roughOuterNode,":first-child"),innerRect=shapeSvg.insert(()=>roughInnerNode)}else{rect2=outerRectG.insert("rect",":first-child");const outerRectClass="outer";rect2.attr("class",outerRectClass).attr("x",x2).attr("y",y3).attr("width",width).attr("height",height).attr("data-look",node.look),innerRect.attr("class","inner").attr("x",x2).attr("y",innerY).attr("width",width).attr("height",innerHeight)}label.attr("transform",`translate(${node.x-bbox.width/2}, ${y3+1-(getEffectiveHtmlLabels(siteConfig2)?0:3)})`);const rectBox=rect2.node().getBBox();return node.height=rectBox.height,node.offsetX=0,node.offsetY=bbox.height-node.padding/2,node.labelBBox=bbox,node.intersect=function(point2){return intersect_rect_default(node,point2)},{cluster:shapeSvg,labelBBox:bbox}},"roundedWithTitle"),kanbanSection=__name(async(parent,node)=>{log.info("Creating subgraph rect for ",node.id,node);const siteConfig2=getConfig2(),{themeVariables:themeVariables,handDrawnSeed:handDrawnSeed}=siteConfig2,{clusterBkg:clusterBkg,clusterBorder:clusterBorder}=themeVariables,{labelStyles:labelStyles,nodeStyles:nodeStyles,borderStyles:borderStyles,backgroundStyles:backgroundStyles}=styles2String(node),shapeSvg=parent.insert("g").attr("class","cluster "+node.cssClasses).attr("id",node.domId).attr("data-look",node.look),useHtmlLabels=getEffectiveHtmlLabels(siteConfig2),labelEl=shapeSvg.insert("g").attr("class","cluster-label "),text2=await createText(labelEl,node.label,{style:node.labelStyle,useHtmlLabels:useHtmlLabels,isNode:!0,width:node.width});let bbox=text2.getBBox();if(getEffectiveHtmlLabels(siteConfig2)){const div=text2.children[0],dv=select(text2);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}const width=node.width<=bbox.width+node.padding?bbox.width+node.padding:node.width;node.width<=bbox.width+node.padding?node.diff=(width-node.width)/2-node.padding:node.diff=-node.padding;const height=node.height,x2=node.x-width/2,y3=node.y-height/2;let rect2;if(log.trace("Data ",node,JSON.stringify(node)),"handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{roughness:.7,fill:clusterBkg,stroke:clusterBorder,fillWeight:4,seed:handDrawnSeed}),roughNode=rc.path(createRoundedRectPathD(x2,y3,width,height,node.rx),options);rect2=shapeSvg.insert(()=>(log.debug("Rough node insert CXC",roughNode),roughNode),":first-child"),rect2.select("path:nth-child(2)").attr("style",borderStyles.join(";")),rect2.select("path").attr("style",backgroundStyles.join(";").replace("fill","stroke"))}else rect2=shapeSvg.insert("rect",":first-child"),rect2.attr("style",nodeStyles).attr("rx",node.rx).attr("ry",node.ry).attr("x",x2).attr("y",y3).attr("width",width).attr("height",height);const{subGraphTitleTopMargin:subGraphTitleTopMargin}=getSubGraphTitleMargins(siteConfig2);if(labelEl.attr("transform",`translate(${node.x-bbox.width/2}, ${node.y-node.height/2+subGraphTitleTopMargin})`),labelStyles){const span=labelEl.select("span");span&&span.attr("style",labelStyles)}const rectBox=rect2.node().getBBox();return node.offsetX=0,node.width=rectBox.width,node.height=rectBox.height,node.offsetY=bbox.height-node.padding/2,node.intersect=function(point2){return intersect_rect_default(node,point2)},{cluster:shapeSvg,labelBBox:bbox}},"kanbanSection"),shapes={rect:rect,squareRect:rect,roundedWithTitle:roundedWithTitle,noteGroup:noteGroup,divider:__name((parent,node)=>{const siteConfig2=getConfig2(),{themeVariables:themeVariables,handDrawnSeed:handDrawnSeed}=siteConfig2,{nodeBorder:nodeBorder}=themeVariables,shapeSvg=parent.insert("g").attr("class",node.cssClasses).attr("id",node.domId).attr("data-look",node.look),outerRectG=shapeSvg.insert("g",":first-child"),padding=0*node.padding,width=node.width+padding;node.diff=-node.padding;const height=node.height+padding,x2=node.x-width/2,y3=node.y-height/2;let rect2;if(node.width=width,"handDrawn"===node.look){const roughOuterNode=at.svg(shapeSvg).rectangle(x2,y3,width,height,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:nodeBorder,seed:handDrawnSeed});rect2=shapeSvg.insert(()=>roughOuterNode,":first-child")}else{rect2=outerRectG.insert("rect",":first-child");let outerRectClass="outer";outerRectClass=(node.look,"divider"),rect2.attr("class",outerRectClass).attr("x",x2).attr("y",y3).attr("width",width).attr("height",height).attr("data-look",node.look)}const rectBox=rect2.node().getBBox();return node.height=rectBox.height,node.offsetX=0,node.offsetY=0,node.intersect=function(point2){return intersect_rect_default(node,point2)},{cluster:shapeSvg,labelBBox:{}}},"divider"),kanbanSection:kanbanSection},clusterElems=new Map,insertCluster=__name(async(elem,node)=>{const shape=node.shape||"rect",cluster=await shapes[shape](elem,node);return clusterElems.set(node.id,cluster),cluster},"insertCluster"),clear$1=__name(()=>{clusterElems=new Map},"clear");function intersectNode(node,point2){return node.intersect(point2)}__name(intersectNode,"intersectNode");var intersect_node_default=intersectNode;function intersectEllipse(node,rx,ry,point2){var cx=node.x,cy=node.y,px=cx-point2.x,py=cy-point2.y,det=Math.sqrt(rx*rx*py*py+ry*ry*px*px),dx=Math.abs(rx*ry*px/det);point2.x<cx&&(dx=-dx);var dy=Math.abs(rx*ry*py/det);return point2.y<cy&&(dy=-dy),{x:cx+dx,y:cy+dy}}__name(intersectEllipse,"intersectEllipse");var intersect_ellipse_default=intersectEllipse;function intersectCircle(node,rx,point2){return intersect_ellipse_default(node,rx,rx,point2)}__name(intersectCircle,"intersectCircle");var intersect_circle_default=intersectCircle;function intersectLine(p1,p2,q1,q2){{const a1=p2.y-p1.y,b1=p1.x-p2.x,c1=p2.x*p1.y-p1.x*p2.y,r3=a1*q1.x+b1*q1.y+c1,r4=a1*q2.x+b1*q2.y+c1,epsilon2=1e-6;if(0!==r3&&0!==r4&&sameSign(r3,r4))return;const a2=q2.y-q1.y,b2=q1.x-q2.x,c2=q2.x*q1.y-q1.x*q2.y,r1=a2*p1.x+b2*p1.y+c2,r2=a2*p2.x+b2*p2.y+c2;if(Math.abs(r1)<epsilon2&&Math.abs(r2)<epsilon2&&sameSign(r1,r2))return;const denom=a1*b2-a2*b1;if(0===denom)return;const offset=Math.abs(denom/2);let num=b1*c2-b2*c1;const x2=num<0?(num-offset)/denom:(num+offset)/denom;num=a2*c1-a1*c2;return{x:x2,y:num<0?(num-offset)/denom:(num+offset)/denom}}}function sameSign(r1,r2){return r1*r2>0}__name(intersectLine,"intersectLine"),__name(sameSign,"sameSign");var intersect_line_default=intersectLine;function intersectPolygon(node,polyPoints,point2){let x1=node.x,y1=node.y,intersections=[],minX=Number.POSITIVE_INFINITY,minY=Number.POSITIVE_INFINITY;"function"==typeof polyPoints.forEach?polyPoints.forEach(function(entry){minX=Math.min(minX,entry.x),minY=Math.min(minY,entry.y)}):(minX=Math.min(minX,polyPoints.x),minY=Math.min(minY,polyPoints.y));let left=x1-node.width/2-minX,top=y1-node.height/2-minY;for(let i2=0;i2<polyPoints.length;i2++){let p1=polyPoints[i2],p2=polyPoints[i2<polyPoints.length-1?i2+1:0],intersect=intersect_line_default(node,point2,{x:left+p1.x,y:top+p1.y},{x:left+p2.x,y:top+p2.y});intersect&&intersections.push(intersect)}return intersections.length?(intersections.length>1&&intersections.sort(function(p2,q2){let pdx=p2.x-point2.x,pdy=p2.y-point2.y,distp=Math.sqrt(pdx*pdx+pdy*pdy),qdx=q2.x-point2.x,qdy=q2.y-point2.y,distq=Math.sqrt(qdx*qdx+qdy*qdy);return distp<distq?-1:distp===distq?0:1}),intersections[0]):node}__name(intersectPolygon,"intersectPolygon");var intersect_default={node:intersect_node_default,circle:intersect_circle_default,ellipse:intersect_ellipse_default,polygon:intersectPolygon,rect:intersect_rect_default};function anchor(parent,node){const{labelStyles:labelStyles}=styles2String(node);node.labelStyle=labelStyles;const classes=getNodeClasses(node);let cssClasses=classes;classes||(cssClasses="anchor");const shapeSvg=parent.insert("g").attr("class",cssClasses).attr("id",node.domId||node.id),{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{fill:"black",stroke:"none",fillStyle:"solid"});"handDrawn"!==node.look&&(options.roughness=0);const roughNode=rc.circle(0,0,2,options),circleElem=shapeSvg.insert(()=>roughNode,":first-child");return circleElem.attr("class","anchor").attr("style",handleUndefinedAttr(cssStyles)),updateNodeBounds(node,circleElem),node.intersect=function(point2){return log.info("Circle intersect",node,1,point2),intersect_default.circle(node,1,point2)},shapeSvg}function generateArcPoints(x1,y1,x2,y22,rx,ry,clockwise){const midX=(x1+x2)/2,midY=(y1+y22)/2,angle=Math.atan2(y22-y1,x2-x1),transformedX=(x2-x1)/2/rx,transformedY=(y22-y1)/2/ry,distance2=Math.sqrt(transformedX**2+transformedY**2);if(distance2>1)throw new Error("The given radii are too small to create an arc between the points.");const scaledCenterDistance=Math.sqrt(1-distance2**2),centerX=midX+scaledCenterDistance*ry*Math.sin(angle)*(clockwise?-1:1),centerY=midY-scaledCenterDistance*rx*Math.cos(angle)*(clockwise?-1:1),startAngle=Math.atan2((y1-centerY)/ry,(x1-centerX)/rx);let angleRange=Math.atan2((y22-centerY)/ry,(x2-centerX)/rx)-startAngle;clockwise&&angleRange<0&&(angleRange+=2*Math.PI),!clockwise&&angleRange>0&&(angleRange-=2*Math.PI);const points=[];for(let i2=0;i2<20;i2++){const angle2=startAngle+i2/19*angleRange,x3=centerX+rx*Math.cos(angle2),y3=centerY+ry*Math.sin(angle2);points.push({x:x3,y:y3})}return points}function calculateArcSagitta(chord,radiusX,radiusY){const[semiMajorAxis,semiMinorAxis]=[radiusX,radiusY].sort((a2,b2)=>b2-a2);return semiMinorAxis*(1-Math.sqrt(1-(chord/semiMajorAxis/2)**2))}async function bowTieRect(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding,calcTotalHeight=__name(labelHeight=>labelHeight+labelPaddingY,"calcTotalHeight"),calcEllipseRadius=__name(totalHeight2=>{const ry2=totalHeight2/2;return[ry2/(2.5+totalHeight2/50),ry2]},"calcEllipseRadius"),{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),totalHeight=calcTotalHeight((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height),[rx,ry]=calcEllipseRadius(totalHeight),sagitta=calculateArcSagitta(totalHeight,rx,ry),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*labelPaddingX+sagitta-sagitta,h2=totalHeight,{cssStyles:cssStyles}=node,points=[{x:w2/2,y:-h2/2},{x:-w2/2,y:-h2/2},...generateArcPoints(-w2/2,-h2/2,-w2/2,h2/2,rx,ry,!1),{x:w2/2,y:h2/2},...generateArcPoints(w2/2,h2/2,w2/2,-h2/2,rx,ry,!0)],rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const bowTieRectPath=createPathFromPoints(points),bowTieRectShapePath=rc.path(bowTieRectPath,options),bowTieRectShape=shapeSvg.insert(()=>bowTieRectShapePath,":first-child");return bowTieRectShape.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&bowTieRectShape.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&bowTieRectShape.selectAll("path").attr("style",nodeStyles),bowTieRectShape.attr("transform",`translate(${rx/2}, 0)`),updateNodeBounds(node,bowTieRectShape),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}function insertPolygonShape(parent,w2,h2,points){return parent.insert("polygon",":first-child").attr("points",points.map(function(d2){return d2.x+","+d2.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-w2/2+","+h2/2+")")}__name(anchor,"anchor"),__name(generateArcPoints,"generateArcPoints"),__name(calculateArcSagitta,"calculateArcSagitta"),__name(bowTieRect,"bowTieRect"),__name(insertPolygonShape,"insertPolygonShape");async function card(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?28:nodePadding,labelPaddingY="neo"===node.look?24:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)??bbox.width)+("neo"===node.look?2*labelPaddingX:labelPaddingX+12),h2=((null==node?void 0:node.height)??bbox.height)+("neo"===node.look?2*labelPaddingY:labelPaddingY),top=-h2,points=[{x:12,y:top},{x:w2,y:top},{x:w2,y:0},{x:0,y:0},{x:0,y:top+12},{x:12,y:top}];let polygon;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options);polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-w2/2}, ${h2/2})`),cssStyles&&polygon.attr("style",cssStyles)}else polygon=insertPolygonShape(shapeSvg,w2,h2,points);return nodeStyles&&polygon.attr("style",nodeStyles),updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}function choice(parent,node){const{nodeStyles:nodeStyles}=styles2String(node);node.label="";const shapeSvg=parent.insert("g").attr("class",getNodeClasses(node)).attr("id",node.domId??node.id),{cssStyles:cssStyles}=node,s2=Math.max(28,node.width??0),points=[{x:0,y:s2/2},{x:s2/2,y:0},{x:0,y:-s2/2},{x:-s2/2,y:0}],rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const choicePath=createPathFromPoints(points),roughNode=rc.path(choicePath,options),choiceShape=shapeSvg.insert(()=>roughNode,":first-child");return cssStyles&&"handDrawn"!==node.look&&choiceShape.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&choiceShape.selectAll("path").attr("style",nodeStyles),node.width=28,node.height=28,node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function circle$1(parent,node,options){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,halfPadding:halfPadding}=await labelHelper(parent,node,getNodeClasses(node)),padding=(null==options?void 0:options.padding)??halfPadding,radius="neo"===node.look?bbox.width/2+32:bbox.width/2+padding;let circleElem;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options2=userNodeOverrides(node,{}),roughNode=rc.circle(0,0,2*radius,options2);circleElem=shapeSvg.insert(()=>roughNode,":first-child"),circleElem.attr("class","basic label-container").attr("style",handleUndefinedAttr(cssStyles))}else circleElem=shapeSvg.insert("circle",":first-child").attr("class","basic label-container").attr("style",nodeStyles).attr("r",radius).attr("cx",0).attr("cy",0);return updateNodeBounds(node,circleElem),node.calcIntersect=function(bounds,point2){const radius2=bounds.width/2;return intersect_default.circle(bounds,radius2,point2)},node.intersect=function(point2){return log.info("Circle intersect",node,radius,point2),intersect_default.circle(node,radius,point2)},shapeSvg}function createLine(r2){const xAxis45=Math.cos(Math.PI/4),yAxis45=Math.sin(Math.PI/4),lineLength=2*r2;return`M ${-lineLength/2*xAxis45},${lineLength/2*yAxis45} L ${lineLength/2*xAxis45},${-lineLength/2*yAxis45}\n M ${lineLength/2*xAxis45},${lineLength/2*yAxis45} L ${-lineLength/2*xAxis45},${-lineLength/2*yAxis45}`}function crossedCircle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles,node.label="";const shapeSvg=parent.insert("g").attr("class",getNodeClasses(node)).attr("id",node.domId??node.id),radius=Math.max(30,(null==node?void 0:node.width)??0),{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const circleNode=rc.circle(0,0,2*radius,options),linePath=createLine(radius),lineNode=rc.path(linePath,options),crossedCircle2=shapeSvg.insert(()=>circleNode,":first-child");return crossedCircle2.insert(()=>lineNode),crossedCircle2.attr("class","outer-path"),cssStyles&&"handDrawn"!==node.look&&crossedCircle2.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&crossedCircle2.selectAll("path").attr("style",nodeStyles),updateNodeBounds(node,crossedCircle2),node.intersect=function(point2){log.info("crossedCircle intersect",node,{radius:radius,point:point2});return intersect_default.circle(node,radius,point2)},shapeSvg}function generateCirclePoints2(centerX,centerY,radius,numPoints=100,startAngle=0,endAngle=180){const points=[],startAngleRad=startAngle*Math.PI/180,angleStep=(endAngle*Math.PI/180-startAngleRad)/(numPoints-1);for(let i2=0;i2<numPoints;i2++){const angle=startAngleRad+i2*angleStep,x2=centerX+radius*Math.cos(angle),y3=centerY+radius*Math.sin(angle);points.push({x:-x2,y:-y3})}return points}async function curlyBraceLeft(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),paddingX="neo"===node.look?18:node.padding??0,paddingY="neo"===node.look?12:node.padding??0,w2=bbox.width+paddingX,h2=bbox.height+paddingY,radius=Math.max(5,.1*h2),{cssStyles:cssStyles}=node,points=[...generateCirclePoints2(w2/2,-h2/2,radius,30,-90,0),{x:-w2/2-radius,y:radius},...generateCirclePoints2(w2/2+2*radius,-radius,radius,20,-180,-270),...generateCirclePoints2(w2/2+2*radius,radius,radius,20,-90,-180),{x:-w2/2-radius,y:-h2/2},...generateCirclePoints2(w2/2,h2/2,radius,20,0,90)],rectPoints=[{x:w2/2,y:-h2/2-radius},{x:-w2/2,y:-h2/2-radius},...generateCirclePoints2(w2/2,-h2/2,radius,20,-90,0),{x:-w2/2-radius,y:-radius},...generateCirclePoints2(w2/2+.1*w2,-radius,radius,20,-180,-270),...generateCirclePoints2(w2/2+.1*w2,radius,radius,20,-90,-180),{x:-w2/2-radius,y:h2/2},...generateCirclePoints2(w2/2,h2/2,radius,20,0,90),{x:-w2/2,y:h2/2+radius},{x:w2/2,y:h2/2+radius}],rc=at.svg(shapeSvg),options=userNodeOverrides(node,{fill:"none"});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const newCurlyBracePath=createPathFromPoints(points).replace("Z",""),curlyBraceLeftNode=rc.path(newCurlyBracePath,options),rectPath=createPathFromPoints(rectPoints),rectShape=rc.path(rectPath,{...options}),curlyBraceLeftShape=shapeSvg.insert("g",":first-child");return curlyBraceLeftShape.insert(()=>rectShape,":first-child").attr("stroke-opacity",0),curlyBraceLeftShape.insert(()=>curlyBraceLeftNode,":first-child"),curlyBraceLeftShape.attr("class","text"),cssStyles&&"handDrawn"!==node.look&&curlyBraceLeftShape.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&curlyBraceLeftShape.selectAll("path").attr("style",nodeStyles),curlyBraceLeftShape.attr("transform",`translate(${radius}, 0)`),label.attr("transform",`translate(${-w2/2+radius-(bbox.x-(bbox.left??0))},${-h2/2+(node.padding??0)/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,curlyBraceLeftShape),node.intersect=function(point2){return intersect_default.polygon(node,rectPoints,point2)},shapeSvg}function generateCirclePoints3(centerX,centerY,radius,numPoints=100,startAngle=0,endAngle=180){const points=[],startAngleRad=startAngle*Math.PI/180,angleStep=(endAngle*Math.PI/180-startAngleRad)/(numPoints-1);for(let i2=0;i2<numPoints;i2++){const angle=startAngleRad+i2*angleStep,x2=centerX+radius*Math.cos(angle),y3=centerY+radius*Math.sin(angle);points.push({x:x2,y:y3})}return points}async function curlyBraceRight(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),labelPaddingX="neo"===node.look?18:node.padding??0,labelPaddingY="neo"===node.look?12:node.padding??0,w2=bbox.width+("neo"===node.look?2*labelPaddingX:labelPaddingX),h2=bbox.height+("neo"===node.look?2*labelPaddingY:labelPaddingY),radius=Math.max(5,.1*h2),{cssStyles:cssStyles}=node,points=[...generateCirclePoints3(w2/2,-h2/2,radius,20,-90,0),{x:w2/2+radius,y:-radius},...generateCirclePoints3(w2/2+2*radius,-radius,radius,20,-180,-270),...generateCirclePoints3(w2/2+2*radius,radius,radius,20,-90,-180),{x:w2/2+radius,y:h2/2},...generateCirclePoints3(w2/2,h2/2,radius,20,0,90)],rectPoints=[{x:-w2/2,y:-h2/2-radius},{x:w2/2,y:-h2/2-radius},...generateCirclePoints3(w2/2,-h2/2,radius,20,-90,0),{x:w2/2+radius,y:-radius},...generateCirclePoints3(w2/2+2*radius,-radius,radius,20,-180,-270),...generateCirclePoints3(w2/2+2*radius,radius,radius,20,-90,-180),{x:w2/2+radius,y:h2/2},...generateCirclePoints3(w2/2,h2/2,radius,20,0,90),{x:w2/2,y:h2/2+radius},{x:-w2/2,y:h2/2+radius}],rc=at.svg(shapeSvg),options=userNodeOverrides(node,{fill:"none"});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const newCurlyBracePath=createPathFromPoints(points).replace("Z",""),curlyBraceRightNode=rc.path(newCurlyBracePath,options),rectPath=createPathFromPoints(rectPoints),rectShape=rc.path(rectPath,{...options}),curlyBraceRightShape=shapeSvg.insert("g",":first-child");return curlyBraceRightShape.insert(()=>rectShape,":first-child").attr("stroke-opacity",0),curlyBraceRightShape.insert(()=>curlyBraceRightNode,":first-child"),curlyBraceRightShape.attr("class","text"),cssStyles&&"handDrawn"!==node.look&&curlyBraceRightShape.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&curlyBraceRightShape.selectAll("path").attr("style",nodeStyles),curlyBraceRightShape.attr("transform",`translate(${-radius}, 0)`),label.attr("transform",`translate(${-w2/2+(node.padding??0)/2-(bbox.x-(bbox.left??0))},${-h2/2+(node.padding??0)/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,curlyBraceRightShape),node.intersect=function(point2){return intersect_default.polygon(node,rectPoints,point2)},shapeSvg}function generateCirclePoints4(centerX,centerY,radius,numPoints=100,startAngle=0,endAngle=180){const points=[],startAngleRad=startAngle*Math.PI/180,angleStep=(endAngle*Math.PI/180-startAngleRad)/(numPoints-1);for(let i2=0;i2<numPoints;i2++){const angle=startAngleRad+i2*angleStep,x2=centerX+radius*Math.cos(angle),y3=centerY+radius*Math.sin(angle);points.push({x:-x2,y:-y3})}return points}async function curlyBraces(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),labelPaddingX="neo"===node.look?18:node.padding??0,labelPaddingY="neo"===node.look?12:node.padding??0,w2=bbox.width+("neo"===node.look?2*labelPaddingX:labelPaddingX),h2=bbox.height+("neo"===node.look?2*labelPaddingY:labelPaddingY),radius=Math.max(5,.1*h2),{cssStyles:cssStyles}=node,leftCurlyBracePoints=[...generateCirclePoints4(w2/2,-h2/2,radius,30,-90,0),{x:-w2/2-radius,y:radius},...generateCirclePoints4(w2/2+2*radius,-radius,radius,20,-180,-270),...generateCirclePoints4(w2/2+2*radius,radius,radius,20,-90,-180),{x:-w2/2-radius,y:-h2/2},...generateCirclePoints4(w2/2,h2/2,radius,20,0,90)],rightCurlyBracePoints=[...generateCirclePoints4(-w2/2+radius+radius/2,-h2/2,radius,20,-90,-180),{x:w2/2-radius/2,y:radius},...generateCirclePoints4(-w2/2-radius/2,-radius,radius,20,0,90),...generateCirclePoints4(-w2/2-radius/2,radius,radius,20,-90,0),{x:w2/2-radius/2,y:-radius},...generateCirclePoints4(-w2/2+radius+radius/2,h2/2,radius,30,-180,-270)],rectPoints=[{x:w2/2,y:-h2/2-radius},{x:-w2/2,y:-h2/2-radius},...generateCirclePoints4(w2/2,-h2/2,radius,20,-90,0),{x:-w2/2-radius,y:-radius},...generateCirclePoints4(w2/2+2*radius,-radius,radius,20,-180,-270),...generateCirclePoints4(w2/2+2*radius,radius,radius,20,-90,-180),{x:-w2/2-radius,y:h2/2},...generateCirclePoints4(w2/2,h2/2,radius,20,0,90),{x:-w2/2,y:h2/2+radius},{x:w2/2-radius-radius/2,y:h2/2+radius},...generateCirclePoints4(-w2/2+radius+radius/2,-h2/2,radius,20,-90,-180),{x:w2/2-radius/2,y:radius},...generateCirclePoints4(-w2/2-radius/2,-radius,radius,20,0,90),...generateCirclePoints4(-w2/2-radius/2,radius,radius,20,-90,0),{x:w2/2-radius/2,y:-radius},...generateCirclePoints4(-w2/2+radius+radius/2,h2/2,radius,30,-180,-270)],rc=at.svg(shapeSvg),options=userNodeOverrides(node,{fill:"none"});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const newLeftCurlyBracePath=createPathFromPoints(leftCurlyBracePoints).replace("Z",""),leftCurlyBraceNode=rc.path(newLeftCurlyBracePath,options),newRightCurlyBracePath=createPathFromPoints(rightCurlyBracePoints).replace("Z",""),rightCurlyBraceNode=rc.path(newRightCurlyBracePath,options),rectPath=createPathFromPoints(rectPoints),rectShape=rc.path(rectPath,{...options}),curlyBracesShape=shapeSvg.insert("g",":first-child");return curlyBracesShape.insert(()=>rectShape,":first-child").attr("stroke-opacity",0),curlyBracesShape.insert(()=>leftCurlyBraceNode,":first-child"),curlyBracesShape.insert(()=>rightCurlyBraceNode,":first-child"),curlyBracesShape.attr("class","text"),cssStyles&&"handDrawn"!==node.look&&curlyBracesShape.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&curlyBracesShape.selectAll("path").attr("style",nodeStyles),curlyBracesShape.attr("transform",`translate(${radius-radius/4}, 0)`),label.attr("transform",`translate(${-w2/2+(node.padding??0)/2-(bbox.x-(bbox.left??0))},${-h2/2+(node.padding??0)/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,curlyBracesShape),node.intersect=function(point2){return intersect_default.polygon(node,rectPoints,point2)},shapeSvg}async function curvedTrapezoid(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),w2=Math.max(20,1.25*(bbox.width+2*labelPaddingX),(null==node?void 0:node.width)??0),h2=Math.max(5,bbox.height+2*labelPaddingY,(null==node?void 0:node.height)??0),radius=h2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const rw=w2-radius,tw=h2/4,points=[{x:rw,y:0},{x:tw,y:0},{x:0,y:h2/2},{x:tw,y:h2},{x:rw,y:h2},...generateCirclePoints(-rw,-h2/2,radius,50,270,90)],pathData=createPathFromPoints(points),shapeNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>shapeNode,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",nodeStyles),polygon.attr("transform",`translate(${-w2/2}, ${-h2/2})`),updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}__name(card,"card"),__name(choice,"choice"),__name(circle$1,"circle"),__name(createLine,"createLine"),__name(crossedCircle,"crossedCircle"),__name(generateCirclePoints2,"generateCirclePoints"),__name(curlyBraceLeft,"curlyBraceLeft"),__name(generateCirclePoints3,"generateCirclePoints"),__name(curlyBraceRight,"curlyBraceRight"),__name(generateCirclePoints4,"generateCirclePoints"),__name(curlyBraces,"curlyBraces"),__name(curvedTrapezoid,"curvedTrapezoid");var createCylinderPathD=__name((x2,y3,width,height,rx,ry)=>[`M${x2},${y3+ry}`,`a${rx},${ry} 0,0,0 ${width},0`,`a${rx},${ry} 0,0,0 ${-width},0`,`l0,${height}`,`a${rx},${ry} 0,0,0 ${width},0`,"l0,"+-height].join(" "),"createCylinderPathD"),createOuterCylinderPathD=__name((x2,y3,width,height,rx,ry)=>[`M${x2},${y3+ry}`,`M${x2+width},${y3+ry}`,`a${rx},${ry} 0,0,0 ${-width},0`,`l0,${height}`,`a${rx},${ry} 0,0,0 ${width},0`,"l0,"+-height].join(" "),"createOuterCylinderPathD"),createInnerCylinderPathD=__name((x2,y3,width,height,rx,ry)=>[`M${x2-width/2},${-height/2}`,`a${rx},${ry} 0,0,0 ${width},0`].join(" "),"createInnerCylinderPathD");async function cylinder(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?24:nodePadding,labelPaddingY="neo"===node.look?24:nodePadding;if(node.width||node.height){const originalWidth=node.width??0;node.width=(node.width??0)-labelPaddingY,node.width<8&&(node.width=8);const ry2=originalWidth/2/(2.5+originalWidth/50);node.height=(node.height??0)-labelPaddingX-3*ry2,node.height<8&&(node.height=8)}const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=(node.width?node.width:bbox.width)+labelPaddingY,rx=w2/2,ry=rx/(2.5+w2/50),h2=(node.height?node.height:bbox.height)+labelPaddingX+ry;let cylinder2;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),outerPathData=createOuterCylinderPathD(0,0,w2,h2,rx,ry),innerPathData=createInnerCylinderPathD(0,ry,w2,h2,rx,ry),options=userNodeOverrides(node,{}),outerNode=rc.path(outerPathData,options),innerLine=rc.path(innerPathData,userNodeOverrides(node,{fill:"none"}));cylinder2=shapeSvg.insert(()=>innerLine,":first-child"),cylinder2=shapeSvg.insert(()=>outerNode,":first-child"),cylinder2.attr("class","basic label-container"),cssStyles&&cylinder2.attr("style",cssStyles)}else{const pathData=createCylinderPathD(0,0,w2,h2,rx,ry);cylinder2=shapeSvg.insert("path",":first-child").attr("d",pathData).attr("class","basic label-container outer-path").attr("style",handleUndefinedAttr(cssStyles)).attr("style",nodeStyles)}return cylinder2.attr("label-offset-y",ry),cylinder2.attr("transform",`translate(${-w2/2}, ${-(h2/2+ry)})`),updateNodeBounds(node,cylinder2),label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))}, ${-bbox.height/2+(node.padding??0)/1.5-(bbox.y-(bbox.top??0))})`),node.intersect=function(point2){const pos=intersect_default.rect(node,point2),x2=pos.x-(node.x??0);if(0!=rx&&(Math.abs(x2)<(node.width??0)/2||Math.abs(x2)==(node.width??0)/2&&Math.abs(pos.y-(node.y??0))>(node.height??0)/2-ry)){let y3=ry*ry*(1-x2*x2/(rx*rx));y3>0&&(y3=Math.sqrt(y3)),y3=ry-y3,point2.y-(node.y??0)>0&&(y3=-y3),pos.y+=y3}return pos},shapeSvg}async function dividedRectangle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const paddingX="neo"===node.look?16:node.padding??0,paddingY="neo"===node.look?16:node.padding??0,{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=bbox.width+paddingX,h2=bbox.height+paddingY,rectOffset2=.2*h2,x2=-w2/2,y3=-h2/2-rectOffset2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const pts=[{x:x2,y:y3+rectOffset2},{x:-x2,y:y3+rectOffset2},{x:-x2,y:-y3},{x:x2,y:-y3},{x:x2,y:y3},{x:-x2,y:y3},{x:-x2,y:y3+rectOffset2}],poly=rc.polygon(pts.map(p2=>[p2.x,p2.y]),options),polygon=shapeSvg.insert(()=>poly,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectAll("path").attr("style",nodeStyles),label.attr("transform",`translate(${x2+(node.padding??0)/2-(bbox.x-(bbox.left??0))}, ${y3+rectOffset2+(node.padding??0)/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function doublecircle(parent,node){var _a2,_b2;const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node),gap="neo"===node.look?12:5;node.labelStyle=labelStyles;const padding=node.padding??0,labelPadding="neo"===node.look?16:padding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),outerRadius=((null==node?void 0:node.width)?(null==node?void 0:node.width)/2:bbox.width/2)+(labelPadding??0),innerRadius=outerRadius-gap;let circleGroup;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),outerOptions=userNodeOverrides(node,{roughness:.2,strokeWidth:2.5}),innerOptions=userNodeOverrides(node,{roughness:.2,strokeWidth:1.5}),outerRoughNode=rc.circle(0,0,2*outerRadius,outerOptions),innerRoughNode=rc.circle(0,0,2*innerRadius,innerOptions);circleGroup=shapeSvg.insert("g",":first-child"),circleGroup.attr("class",handleUndefinedAttr(node.cssClasses)).attr("style",handleUndefinedAttr(cssStyles)),null==(_a2=circleGroup.node())||_a2.appendChild(outerRoughNode),null==(_b2=circleGroup.node())||_b2.appendChild(innerRoughNode)}else{circleGroup=shapeSvg.insert("g",":first-child");const outerCircle=circleGroup.insert("circle",":first-child"),innerCircle=circleGroup.insert("circle");circleGroup.attr("class","basic label-container").attr("style",nodeStyles),outerCircle.attr("class","outer-circle").attr("style",nodeStyles).attr("r",outerRadius).attr("cx",0).attr("cy",0),innerCircle.attr("class","inner-circle").attr("style",nodeStyles).attr("r",innerRadius).attr("cx",0).attr("cy",0)}return updateNodeBounds(node,circleGroup),node.intersect=function(point2){return log.info("DoubleCircle intersect",node,outerRadius,point2),intersect_default.circle(node,outerRadius,point2)},shapeSvg}function filledCircle(parent,node,{config:{themeVariables:themeVariables}}){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.label="",node.labelStyle=labelStyles;const shapeSvg=parent.insert("g").attr("class",getNodeClasses(node)).attr("id",node.domId??node.id),{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),{nodeBorder:nodeBorder}=themeVariables,options=userNodeOverrides(node,{fillStyle:"solid"});"handDrawn"!==node.look&&(options.roughness=0);const circleNode=rc.circle(0,0,14,options),filledCircle2=shapeSvg.insert(()=>circleNode,":first-child");return filledCircle2.selectAll("path").attr("style",`fill: ${nodeBorder} !important;`),cssStyles&&cssStyles.length>0&&"handDrawn"!==node.look&&filledCircle2.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&filledCircle2.selectAll("path").attr("style",nodeStyles),updateNodeBounds(node,filledCircle2),node.intersect=function(point2){log.info("filledCircle intersect",node,{radius:7,point:point2});return intersect_default.circle(node,7,point2)},shapeSvg}__name(cylinder,"cylinder"),__name(dividedRectangle,"dividedRectangle"),__name(doublecircle,"doublecircle"),__name(filledCircle,"filledCircle");async function flippedTriangle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?2*nodePadding:nodePadding;(node.width||node.height)&&(node.height=(null==node?void 0:node.height)??0,node.height<10&&(node.height=10),node.width=((null==node?void 0:node.width)??0)-labelPaddingX-labelPaddingX/2,node.width<10&&(node.width=10));const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+(labelPaddingX??0),h2=(null==node?void 0:node.height)?null==node?void 0:node.height:w2+bbox.height,points=[{x:0,y:-h2},{x:h2,y:-h2},{x:h2/2,y:0}],{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options),flippedTriangle2=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-h2/2}, ${h2/2})`).attr("class","outer-path");return cssStyles&&"handDrawn"!==node.look&&flippedTriangle2.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&flippedTriangle2.selectChildren("path").attr("style",nodeStyles),node.width=w2,node.height=h2,updateNodeBounds(node,flippedTriangle2),label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))}, ${-h2/2+(node.padding??0)/2+(bbox.y-(bbox.top??0))})`),node.intersect=function(point2){return log.info("Triangle intersect",node,points,point2),intersect_default.polygon(node,points,point2)},shapeSvg}function forkJoin(parent,node,{dir:dir,config:{state:state2,themeVariables:themeVariables}}){const{nodeStyles:nodeStyles}=styles2String(node);node.label="";const shapeSvg=parent.insert("g").attr("class",getNodeClasses(node)).attr("id",node.domId??node.id),{cssStyles:cssStyles}=node;let width=Math.max(70,(null==node?void 0:node.width)??0),height=Math.max(10,(null==node?void 0:node.height)??0);"LR"===dir&&(width=Math.max(10,(null==node?void 0:node.width)??0),height=Math.max(70,(null==node?void 0:node.height)??0));const x2=-1*width/2,y3=-1*height/2,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{stroke:themeVariables.lineColor,fill:themeVariables.lineColor});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const roughNode=rc.rectangle(x2,y3,width,height,options),shape=shapeSvg.insert(()=>roughNode,":first-child");cssStyles&&"handDrawn"!==node.look&&shape.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&shape.selectAll("path").attr("style",nodeStyles),updateNodeBounds(node,shape);const padding=(null==state2?void 0:state2.padding)??0;return node.width&&node.height&&(node.width+=padding/2||0,node.height+=padding/2||0),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function halfRoundedRectangle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const paddingX="neo"===node.look?16:node.padding??0,paddingY="neo"===node.look?12:node.padding??0;(node.width||node.height)&&(node.height=((null==node?void 0:node.height)??0)-2*paddingY,node.height<10&&(node.height=10),node.width=((null==node?void 0:node.width)??0)-2*paddingX,node.width<15&&(node.width=15));const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:Math.max(15,bbox.width))+2*paddingX,h2=((null==node?void 0:node.height)?null==node?void 0:node.height:Math.max(10,bbox.height))+2*paddingY,radius=h2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:-w2/2,y:-h2/2},{x:w2/2-radius,y:-h2/2},...generateCirclePoints(-w2/2+radius,0,radius,50,90,270),{x:w2/2-radius,y:h2/2},{x:-w2/2,y:h2/2}],pathData=createPathFromPoints(points),shapeNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>shapeNode,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",nodeStyles),updateNodeBounds(node,polygon),node.intersect=function(point2){log.info("Pill intersect",node,{radius:radius,point:point2});return intersect_default.polygon(node,points,point2)},shapeSvg}__name(flippedTriangle,"flippedTriangle"),__name(forkJoin,"forkJoin"),__name(halfRoundedRectangle,"halfRoundedRectangle");var createHexagonPathD=__name((x2,y3,width,height,m2)=>[`M${x2+m2},${y3}`,`L${x2+width-m2},${y3}`,`L${x2+width},${y3-height/2}`,`L${x2+width-m2},${y3-height}`,`L${x2+m2},${y3-height}`,`L${x2},${y3-height/2}`,"Z"].join(" "),"createHexagonPathD");async function hexagon(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node),f2="neo"===node.look?3.5:4;node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?70:nodePadding,labelPaddingY="neo"===node.look?32:nodePadding;if(node.width||node.height){const m22=(node.height??0)/f2;node.width=((null==node?void 0:node.width)??0)-2*m22-labelPaddingY,node.height=(node.height??0)-labelPaddingX}const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+labelPaddingX,m2=h2/f2,w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*m2+labelPaddingY,points=[{x:m2,y:0},{x:w2-m2,y:0},{x:w2,y:-h2/2},{x:w2-m2,y:-h2},{x:m2,y:-h2},{x:0,y:-h2/2}];let polygon;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),pathData=createHexagonPathD(0,0,w2,h2,m2),roughNode=rc.path(pathData,options);polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-w2/2}, ${h2/2})`),cssStyles&&polygon.attr("style",cssStyles)}else polygon=insertPolygonShape(shapeSvg,w2,h2,points);return nodeStyles&&polygon.attr("style",nodeStyles),node.width=w2,node.height=h2,updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function hourglass(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.label="",node.labelStyle=labelStyles;const{shapeSvg:shapeSvg}=await labelHelper(parent,node,getNodeClasses(node)),w2=Math.max(30,(null==node?void 0:node.width)??0),h2=Math.max(30,(null==node?void 0:node.height)??0),{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:0,y:0},{x:w2,y:0},{x:0,y:h2},{x:w2,y:h2}],pathData=createPathFromPoints(points),shapeNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>shapeNode,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",nodeStyles),polygon.attr("transform",`translate(${-w2/2}, ${-h2/2})`),updateNodeBounds(node,polygon),node.intersect=function(point2){log.info("Pill intersect",node,{points:points});return intersect_default.polygon(node,points,point2)},shapeSvg}async function icon(parent,node,{config:{themeVariables:themeVariables,flowchart:flowchart}}){const{labelStyles:labelStyles}=styles2String(node);node.labelStyle=labelStyles;const assetHeight=node.assetHeight??48,assetWidth=node.assetWidth??48,iconSize=Math.max(assetHeight,assetWidth),defaultWidth=null==flowchart?void 0:flowchart.wrappingWidth;node.width=Math.max(iconSize,defaultWidth??0);const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,"icon-shape default"),topLabel="t"===node.pos,height=iconSize,width=iconSize,{nodeBorder:nodeBorder}=themeVariables,{stylesMap:stylesMap}=compileStyles(node),x2=-width/2,y3=-height/2,labelPadding=node.label?8:0,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{stroke:"none",fill:"none"});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const iconNode=rc.rectangle(x2,y3,width,height,options),outerWidth=Math.max(width,bbox.width),outerHeight=height+bbox.height+labelPadding,outerNode=rc.rectangle(-outerWidth/2,-outerHeight/2,outerWidth,outerHeight,{...options,fill:"transparent",stroke:"none"}),iconShape=shapeSvg.insert(()=>iconNode,":first-child"),outerShape=shapeSvg.insert(()=>outerNode);if(node.icon){const iconElem=shapeSvg.append("g");iconElem.html(`<g>${await getIconSVG(node.icon,{height:iconSize,width:iconSize,fallbackPrefix:""})}</g>`);const iconBBox=iconElem.node().getBBox(),iconWidth=iconBBox.width,iconHeight=iconBBox.height,iconX=iconBBox.x,iconY=iconBBox.y;iconElem.attr("transform",`translate(${-iconWidth/2-iconX},${topLabel?bbox.height/2+labelPadding/2-iconHeight/2-iconY:-bbox.height/2-labelPadding/2-iconHeight/2-iconY})`),iconElem.attr("style",`color: ${stylesMap.get("stroke")??nodeBorder};`)}return label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))},${topLabel?-outerHeight/2:outerHeight/2-bbox.height})`),iconShape.attr("transform",`translate(0,${topLabel?bbox.height/2+labelPadding/2:-bbox.height/2-labelPadding/2})`),updateNodeBounds(node,outerShape),node.intersect=function(point2){if(log.info("iconSquare intersect",node,point2),!node.label)return intersect_default.rect(node,point2);const dx=node.x??0,dy=node.y??0,nodeHeight=node.height??0;let points=[];points=topLabel?[{x:dx-bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+width/2,y:dy+nodeHeight/2},{x:dx-width/2,y:dy+nodeHeight/2},{x:dx-width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx-bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding}]:[{x:dx-width/2,y:dy-nodeHeight/2},{x:dx+width/2,y:dy-nodeHeight/2},{x:dx+width/2,y:dy-nodeHeight/2+height},{x:dx+bbox.width/2,y:dy-nodeHeight/2+height},{x:dx+bbox.width/2/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy-nodeHeight/2+height},{x:dx-width/2,y:dy-nodeHeight/2+height}];return intersect_default.polygon(node,points,point2)},shapeSvg}async function iconCircle(parent,node,{config:{themeVariables:themeVariables,flowchart:flowchart}}){const{labelStyles:labelStyles}=styles2String(node);node.labelStyle=labelStyles;const assetHeight=node.assetHeight??48,assetWidth=node.assetWidth??48,iconSize=Math.max(assetHeight,assetWidth),defaultWidth=null==flowchart?void 0:flowchart.wrappingWidth;node.width=Math.max(iconSize,defaultWidth??0);const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,"icon-shape default"),labelPadding=node.label?8:0,topLabel="t"===node.pos,{nodeBorder:nodeBorder,mainBkg:mainBkg}=themeVariables,{stylesMap:stylesMap}=compileStyles(node),rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const fill=stylesMap.get("fill");options.stroke=fill??mainBkg;const iconElem=shapeSvg.append("g");node.icon&&iconElem.html(`<g>${await getIconSVG(node.icon,{height:iconSize,width:iconSize,fallbackPrefix:""})}</g>`);const iconBBox=iconElem.node().getBBox(),iconWidth=iconBBox.width,iconHeight=iconBBox.height,iconX=iconBBox.x,iconY=iconBBox.y,diameter=Math.max(iconWidth,iconHeight)*Math.SQRT2+40,iconNode=rc.circle(0,0,diameter,options),outerWidth=Math.max(diameter,bbox.width),outerHeight=diameter+bbox.height+labelPadding,outerNode=rc.rectangle(-outerWidth/2,-outerHeight/2,outerWidth,outerHeight,{...options,fill:"transparent",stroke:"none"}),iconShape=shapeSvg.insert(()=>iconNode,":first-child"),outerShape=shapeSvg.insert(()=>outerNode);return iconElem.attr("transform",`translate(${-iconWidth/2-iconX},${topLabel?bbox.height/2+labelPadding/2-iconHeight/2-iconY:-bbox.height/2-labelPadding/2-iconHeight/2-iconY})`),iconElem.attr("style",`color: ${stylesMap.get("stroke")??nodeBorder};`),label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))},${topLabel?-outerHeight/2:outerHeight/2-bbox.height})`),iconShape.attr("transform",`translate(0,${topLabel?bbox.height/2+labelPadding/2:-bbox.height/2-labelPadding/2})`),updateNodeBounds(node,outerShape),node.intersect=function(point2){log.info("iconSquare intersect",node,point2);return intersect_default.rect(node,point2)},shapeSvg}async function iconRounded(parent,node,{config:{themeVariables:themeVariables,flowchart:flowchart}}){const{labelStyles:labelStyles}=styles2String(node);node.labelStyle=labelStyles;const assetHeight=node.assetHeight??48,assetWidth=node.assetWidth??48,iconSize=Math.max(assetHeight,assetWidth),defaultWidth=null==flowchart?void 0:flowchart.wrappingWidth;node.width=Math.max(iconSize,defaultWidth??0);const{shapeSvg:shapeSvg,bbox:bbox,halfPadding:halfPadding,label:label}=await labelHelper(parent,node,"icon-shape default"),topLabel="t"===node.pos,height=iconSize+2*halfPadding,width=iconSize+2*halfPadding,{nodeBorder:nodeBorder,mainBkg:mainBkg}=themeVariables,{stylesMap:stylesMap}=compileStyles(node),x2=-width/2,y3=-height/2,labelPadding=node.label?8:0,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const fill=stylesMap.get("fill");options.stroke=fill??mainBkg;const iconNode=rc.path(createRoundedRectPathD(x2,y3,width,height,5),options),outerWidth=Math.max(width,bbox.width),outerHeight=height+bbox.height+labelPadding,outerNode=rc.rectangle(-outerWidth/2,-outerHeight/2,outerWidth,outerHeight,{...options,fill:"transparent",stroke:"none"}),iconShape=shapeSvg.insert(()=>iconNode,":first-child").attr("class","icon-shape2"),outerShape=shapeSvg.insert(()=>outerNode);if(node.icon){const iconElem=shapeSvg.append("g");iconElem.html(`<g>${await getIconSVG(node.icon,{height:iconSize,width:iconSize,fallbackPrefix:""})}</g>`);const iconBBox=iconElem.node().getBBox(),iconWidth=iconBBox.width,iconHeight=iconBBox.height,iconX=iconBBox.x,iconY=iconBBox.y;iconElem.attr("transform",`translate(${-iconWidth/2-iconX},${topLabel?bbox.height/2+labelPadding/2-iconHeight/2-iconY:-bbox.height/2-labelPadding/2-iconHeight/2-iconY})`),iconElem.attr("style",`color: ${stylesMap.get("stroke")??nodeBorder};`)}return label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))},${topLabel?-outerHeight/2:outerHeight/2-bbox.height})`),iconShape.attr("transform",`translate(0,${topLabel?bbox.height/2+labelPadding/2:-bbox.height/2-labelPadding/2})`),updateNodeBounds(node,outerShape),node.intersect=function(point2){if(log.info("iconSquare intersect",node,point2),!node.label)return intersect_default.rect(node,point2);const dx=node.x??0,dy=node.y??0,nodeHeight=node.height??0;let points=[];points=topLabel?[{x:dx-bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+width/2,y:dy+nodeHeight/2},{x:dx-width/2,y:dy+nodeHeight/2},{x:dx-width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx-bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding}]:[{x:dx-width/2,y:dy-nodeHeight/2},{x:dx+width/2,y:dy-nodeHeight/2},{x:dx+width/2,y:dy-nodeHeight/2+height},{x:dx+bbox.width/2,y:dy-nodeHeight/2+height},{x:dx+bbox.width/2/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy-nodeHeight/2+height},{x:dx-width/2,y:dy-nodeHeight/2+height}];return intersect_default.polygon(node,points,point2)},shapeSvg}async function iconSquare(parent,node,{config:{themeVariables:themeVariables,flowchart:flowchart}}){const{labelStyles:labelStyles}=styles2String(node);node.labelStyle=labelStyles;const assetHeight=node.assetHeight??48,assetWidth=node.assetWidth??48,iconSize=Math.max(assetHeight,assetWidth),defaultWidth=null==flowchart?void 0:flowchart.wrappingWidth;node.width=Math.max(iconSize,defaultWidth??0);const{shapeSvg:shapeSvg,bbox:bbox,halfPadding:halfPadding,label:label}=await labelHelper(parent,node,"icon-shape default"),topLabel="t"===node.pos,height=iconSize+2*halfPadding,width=iconSize+2*halfPadding,{nodeBorder:nodeBorder,mainBkg:mainBkg}=themeVariables,{stylesMap:stylesMap}=compileStyles(node),x2=-width/2,y3=-height/2,labelPadding=node.label?8:0,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const fill=stylesMap.get("fill");options.stroke=fill??mainBkg;const iconNode=rc.path(createRoundedRectPathD(x2,y3,width,height,.1),options),outerWidth=Math.max(width,bbox.width),outerHeight=height+bbox.height+labelPadding,outerNode=rc.rectangle(-outerWidth/2,-outerHeight/2,outerWidth,outerHeight,{...options,fill:"transparent",stroke:"none"}),iconShape=shapeSvg.insert(()=>iconNode,":first-child"),outerShape=shapeSvg.insert(()=>outerNode);if(node.icon){const iconElem=shapeSvg.append("g");iconElem.html(`<g>${await getIconSVG(node.icon,{height:iconSize,width:iconSize,fallbackPrefix:""})}</g>`);const iconBBox=iconElem.node().getBBox(),iconWidth=iconBBox.width,iconHeight=iconBBox.height,iconX=iconBBox.x,iconY=iconBBox.y;iconElem.attr("transform",`translate(${-iconWidth/2-iconX},${topLabel?bbox.height/2+labelPadding/2-iconHeight/2-iconY:-bbox.height/2-labelPadding/2-iconHeight/2-iconY})`),iconElem.attr("style",`color: ${stylesMap.get("stroke")??nodeBorder};`)}return label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))},${topLabel?-outerHeight/2:outerHeight/2-bbox.height})`),iconShape.attr("transform",`translate(0,${topLabel?bbox.height/2+labelPadding/2:-bbox.height/2-labelPadding/2})`),updateNodeBounds(node,outerShape),node.intersect=function(point2){if(log.info("iconSquare intersect",node,point2),!node.label)return intersect_default.rect(node,point2);const dx=node.x??0,dy=node.y??0,nodeHeight=node.height??0;let points=[];points=topLabel?[{x:dx-bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+width/2,y:dy+nodeHeight/2},{x:dx-width/2,y:dy+nodeHeight/2},{x:dx-width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx-bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding}]:[{x:dx-width/2,y:dy-nodeHeight/2},{x:dx+width/2,y:dy-nodeHeight/2},{x:dx+width/2,y:dy-nodeHeight/2+height},{x:dx+bbox.width/2,y:dy-nodeHeight/2+height},{x:dx+bbox.width/2/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy-nodeHeight/2+height},{x:dx-width/2,y:dy-nodeHeight/2+height}];return intersect_default.polygon(node,points,point2)},shapeSvg}async function imageSquare(parent,node,{config:{flowchart:flowchart}}){const img=new Image;img.src=(null==node?void 0:node.img)??"",await img.decode();const imageNaturalWidth=Number(img.naturalWidth.toString().replace("px","")),imageNaturalHeight=Number(img.naturalHeight.toString().replace("px",""));node.imageAspectRatio=imageNaturalWidth/imageNaturalHeight;const{labelStyles:labelStyles}=styles2String(node);node.labelStyle=labelStyles;const defaultWidth=null==flowchart?void 0:flowchart.wrappingWidth;node.defaultWidth=null==flowchart?void 0:flowchart.wrappingWidth;const imageRawWidth=Math.max(node.label?defaultWidth??0:0,(null==node?void 0:node.assetWidth)??imageNaturalWidth),imageWidth="on"===node.constraint&&(null==node?void 0:node.assetHeight)?node.assetHeight*node.imageAspectRatio:imageRawWidth,imageHeight="on"===node.constraint?imageWidth/node.imageAspectRatio:(null==node?void 0:node.assetHeight)??imageNaturalHeight;node.width=Math.max(imageWidth,defaultWidth??0);const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,"image-shape default"),topLabel="t"===node.pos,x2=-imageWidth/2,y3=-imageHeight/2,labelPadding=node.label?8:0,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const imageNode=rc.rectangle(x2,y3,imageWidth,imageHeight,options),outerWidth=Math.max(imageWidth,bbox.width),outerHeight=imageHeight+bbox.height+labelPadding,outerNode=rc.rectangle(-outerWidth/2,-outerHeight/2,outerWidth,outerHeight,{...options,fill:"none",stroke:"none"}),iconShape=shapeSvg.insert(()=>imageNode,":first-child"),outerShape=shapeSvg.insert(()=>outerNode);if(node.img){const image=shapeSvg.append("image");image.attr("href",node.img),image.attr("width",imageWidth),image.attr("height",imageHeight),image.attr("preserveAspectRatio","none"),image.attr("transform",`translate(${-imageWidth/2},${topLabel?outerHeight/2-imageHeight:-outerHeight/2})`)}return label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))},${topLabel?-imageHeight/2-bbox.height/2-labelPadding/2:imageHeight/2-bbox.height/2+labelPadding/2})`),iconShape.attr("transform",`translate(0,${topLabel?bbox.height/2+labelPadding/2:-bbox.height/2-labelPadding/2})`),updateNodeBounds(node,outerShape),node.intersect=function(point2){if(log.info("iconSquare intersect",node,point2),!node.label)return intersect_default.rect(node,point2);const dx=node.x??0,dy=node.y??0,nodeHeight=node.height??0;let points=[];points=topLabel?[{x:dx-bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+imageWidth/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+imageWidth/2,y:dy+nodeHeight/2},{x:dx-imageWidth/2,y:dy+nodeHeight/2},{x:dx-imageWidth/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx-bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding}]:[{x:dx-imageWidth/2,y:dy-nodeHeight/2},{x:dx+imageWidth/2,y:dy-nodeHeight/2},{x:dx+imageWidth/2,y:dy-nodeHeight/2+imageHeight},{x:dx+bbox.width/2,y:dy-nodeHeight/2+imageHeight},{x:dx+bbox.width/2/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy-nodeHeight/2+imageHeight},{x:dx-imageWidth/2,y:dy-nodeHeight/2+imageHeight}];return intersect_default.polygon(node,points,point2)},shapeSvg}async function inv_trapezoid(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingY=nodePadding,labelPaddingX="neo"===node.look?2*nodePadding:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),w2=Math.max(bbox.width+2*(labelPaddingX??0),(null==node?void 0:node.width)??0),h2=Math.max(bbox.height+2*(labelPaddingY??0),(null==node?void 0:node.height)??0),points=[{x:0,y:0},{x:w2,y:0},{x:w2+3*h2/6,y:-h2},{x:-3*h2/6,y:-h2}];let polygon;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options);polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-w2/2}, ${h2/2})`),cssStyles&&polygon.attr("style",cssStyles)}else polygon=insertPolygonShape(shapeSvg,w2,h2,points);return nodeStyles&&polygon.attr("style",nodeStyles),node.width=w2,node.height=h2,updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function drawRect(parent,node,options){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),totalWidth=Math.max(bbox.width+2*options.labelPaddingX,(null==node?void 0:node.width)||0),totalHeight=Math.max(bbox.height+2*options.labelPaddingY,(null==node?void 0:node.height)||0),x2=-totalWidth/2,y3=-totalHeight/2;let rect2,{rx:rx,ry:ry}=node;const{cssStyles:cssStyles}=node;if((null==options?void 0:options.rx)&&options.ry&&(rx=options.rx,ry=options.ry),"handDrawn"===node.look){const rc=at.svg(shapeSvg),options2=userNodeOverrides(node,{}),roughNode=rx||ry?rc.path(createRoundedRectPathD(x2,y3,totalWidth,totalHeight,rx||0),options2):rc.rectangle(x2,y3,totalWidth,totalHeight,options2);rect2=shapeSvg.insert(()=>roughNode,":first-child"),rect2.attr("class","basic label-container").attr("style",handleUndefinedAttr(cssStyles))}else rect2=shapeSvg.insert("rect",":first-child"),rect2.attr("class","basic label-container").attr("style",nodeStyles).attr("rx",handleUndefinedAttr(rx)).attr("ry",handleUndefinedAttr(ry)).attr("x",x2).attr("y",y3).attr("width",totalWidth).attr("height",totalHeight);return updateNodeBounds(node,rect2),node.calcIntersect=function(bounds,point2){return intersect_default.rect(bounds,point2)},node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function labelRect(parent,node){const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,"label"),rect2=shapeSvg.insert("rect",":first-child");return rect2.attr("width",.1).attr("height",.1),shapeSvg.attr("class","label edgeLabel"),label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))}, ${-bbox.height/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function lean_left(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingY=nodePadding,labelPaddingX="neo"===node.look?2*nodePadding:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),h2=((null==node?void 0:node.height)??bbox.height)+labelPaddingY,w2=((null==node?void 0:node.width)??bbox.width)+labelPaddingX,points=[{x:0,y:0},{x:w2+3*h2/6,y:0},{x:w2,y:-h2},{x:-3*h2/6,y:-h2}];let polygon;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options);polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-w2/2}, ${h2/2})`),cssStyles&&polygon.attr("style",cssStyles)}else polygon=insertPolygonShape(shapeSvg,w2,h2,points);return nodeStyles&&polygon.attr("style",nodeStyles),node.width=w2,node.height=h2,updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function lean_right(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingY=nodePadding,labelPaddingX="neo"===node.look?2*nodePadding:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),h2=((null==node?void 0:node.height)??bbox.height)+labelPaddingY,w2=((null==node?void 0:node.width)??bbox.width)+labelPaddingX,points=[{x:-3*h2/6,y:0},{x:w2,y:0},{x:w2+3*h2/6,y:-h2},{x:0,y:-h2}];let polygon;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options);polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-w2/2}, ${h2/2})`),cssStyles&&polygon.attr("style",cssStyles)}else polygon=insertPolygonShape(shapeSvg,w2,h2,points);return nodeStyles&&polygon.attr("style",nodeStyles),node.width=w2,node.height=h2,updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}function lightningBolt(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.label="",node.labelStyle=labelStyles;const shapeSvg=parent.insert("g").attr("class",getNodeClasses(node)).attr("id",node.domId??node.id),{cssStyles:cssStyles}=node,width=Math.max(35,(null==node?void 0:node.width)??0),height=Math.max(35,(null==node?void 0:node.height)??0),points=[{x:width,y:0},{x:0,y:height+3.5},{x:width-14,y:height+3.5},{x:0,y:2*height},{x:width,y:height-3.5},{x:14,y:height-3.5}],rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const linePath=createPathFromPoints(points),lineNode=rc.path(linePath,options),lightningBolt2=shapeSvg.insert(()=>lineNode,":first-child");return lightningBolt2.attr("class","outer-path"),cssStyles&&"handDrawn"!==node.look&&lightningBolt2.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&lightningBolt2.selectAll("path").attr("style",nodeStyles),lightningBolt2.attr("transform",`translate(-${width/2},${-height})`),updateNodeBounds(node,lightningBolt2),node.intersect=function(point2){log.info("lightningBolt intersect",node,point2);return intersect_default.polygon(node,points,point2)},shapeSvg}__name(hexagon,"hexagon"),__name(hourglass,"hourglass"),__name(icon,"icon"),__name(iconCircle,"iconCircle"),__name(iconRounded,"iconRounded"),__name(iconSquare,"iconSquare"),__name(imageSquare,"imageSquare"),__name(inv_trapezoid,"inv_trapezoid"),__name(drawRect,"drawRect"),__name(labelRect,"labelRect"),__name(lean_left,"lean_left"),__name(lean_right,"lean_right"),__name(lightningBolt,"lightningBolt");var createCylinderPathD2=__name((x2,y3,width,height,rx,ry,outerOffset)=>[`M${x2},${y3+ry}`,`a${rx},${ry} 0,0,0 ${width},0`,`a${rx},${ry} 0,0,0 ${-width},0`,`l0,${height}`,`a${rx},${ry} 0,0,0 ${width},0`,"l0,"+-height,`M${x2},${y3+ry+outerOffset}`,`a${rx},${ry} 0,0,0 ${width},0`].join(" "),"createCylinderPathD"),createOuterCylinderPathD2=__name((x2,y3,width,height,rx,ry,outerOffset)=>[`M${x2},${y3+ry}`,`M${x2+width},${y3+ry}`,`a${rx},${ry} 0,0,0 ${-width},0`,`l0,${height}`,`a${rx},${ry} 0,0,0 ${width},0`,"l0,"+-height,`M${x2},${y3+ry+outerOffset}`,`a${rx},${ry} 0,0,0 ${width},0`].join(" "),"createOuterCylinderPathD"),createInnerCylinderPathD2=__name((x2,y3,width,height,rx,ry)=>[`M${x2-width/2},${-height/2}`,`a${rx},${ry} 0,0,0 ${width},0`].join(" "),"createInnerCylinderPathD");async function linedCylinder(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?24:nodePadding;if(node.width||node.height){const originalWidth=node.width??0;node.width=(node.width??0)-labelPaddingX,node.width<10&&(node.width=10);const ry2=originalWidth/2/(2.5+originalWidth/50);node.height=(node.height??0)-labelPaddingY-3*ry2,node.height<10&&(node.height=10)}const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*labelPaddingX,rx=w2/2,ry=rx/(2.5+w2/50),h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+ry+2*labelPaddingY,outerOffset=.1*h2;let cylinder2;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),outerPathData=createOuterCylinderPathD2(0,0,w2,h2,rx,ry,outerOffset),innerPathData=createInnerCylinderPathD2(0,ry,w2,h2,rx,ry),options=userNodeOverrides(node,{}),outerNode=rc.path(outerPathData,options),innerLine=rc.path(innerPathData,options);shapeSvg.insert(()=>innerLine,":first-child").attr("class","line"),cylinder2=shapeSvg.insert(()=>outerNode,":first-child"),cylinder2.attr("class","basic label-container"),cssStyles&&cylinder2.attr("style",cssStyles)}else{const pathData=createCylinderPathD2(0,0,w2,h2,rx,ry,outerOffset);cylinder2=shapeSvg.insert("path",":first-child").attr("d",pathData).attr("class","basic label-container outer-path").attr("style",handleUndefinedAttr(cssStyles)).attr("style",nodeStyles)}return cylinder2.attr("label-offset-y",ry),cylinder2.attr("transform",`translate(${-w2/2}, ${-(h2/2+ry)})`),updateNodeBounds(node,cylinder2),label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))}, ${-bbox.height/2+ry-(bbox.y-(bbox.top??0))})`),node.intersect=function(point2){const pos=intersect_default.rect(node,point2),x2=pos.x-(node.x??0);if(0!=rx&&(Math.abs(x2)<(node.width??0)/2||Math.abs(x2)==(node.width??0)/2&&Math.abs(pos.y-(node.y??0))>(node.height??0)/2-ry)){let y3=ry*ry*(1-x2*x2/(rx*rx));y3>0&&(y3=Math.sqrt(y3)),y3=ry-y3,point2.y-(node.y??0)>0&&(y3=-y3),pos.y+=y3}return pos},shapeSvg}async function linedWaveEdgedRect(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding;if(node.width||node.height){const originalWidth=node.width;node.width=10*(originalWidth??0)/11-2*labelPaddingX,node.width<10&&(node.width=10),node.height=((null==node?void 0:node.height)??0)-2*labelPaddingY,node.height<10&&(node.height=10)}const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*(labelPaddingX??0),h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+2*(labelPaddingY??0),waveAmplitude="neo"===node.look?h2/4:h2/8,finalH=h2+waveAmplitude,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:-w2/2-w2/2*.1,y:-finalH/2},{x:-w2/2-w2/2*.1,y:finalH/2},...generateFullSineWavePoints(-w2/2-w2/2*.1,finalH/2,w2/2+w2/2*.1,finalH/2,waveAmplitude,.8),{x:w2/2+w2/2*.1,y:-finalH/2},{x:-w2/2-w2/2*.1,y:-finalH/2},{x:-w2/2,y:-finalH/2},{x:-w2/2,y:finalH/2*1.1},{x:-w2/2,y:-finalH/2}],poly=rc.polygon(points.map(p2=>[p2.x,p2.y]),options),waveEdgeRect=shapeSvg.insert(()=>poly,":first-child");return waveEdgeRect.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&waveEdgeRect.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&waveEdgeRect.selectAll("path").attr("style",nodeStyles),waveEdgeRect.attr("transform",`translate(0,${-waveAmplitude/2})`),label.attr("transform",`translate(${-w2/2+(node.padding??0)+w2/2*.1/2-(bbox.x-(bbox.left??0))},${-h2/2+(node.padding??0)-waveAmplitude/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,waveEdgeRect),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function multiRect(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding,rectOffset2="neo"===node.look?10:5;(node.width||node.height)&&(node.width=Math.max(((null==node?void 0:node.width)??0)-2*labelPaddingX-2*rectOffset2,10),node.height=Math.max(((null==node?void 0:node.height)??0)-2*labelPaddingY-2*rectOffset2,10));const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*labelPaddingX+2*rectOffset2-2*rectOffset2,h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+2*labelPaddingY+2*rectOffset2-2*rectOffset2,x2=-w2/2,y3=-h2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),outerPathPoints=[{x:x2-rectOffset2,y:y3+rectOffset2},{x:x2-rectOffset2,y:y3+h2+rectOffset2},{x:x2+w2-rectOffset2,y:y3+h2+rectOffset2},{x:x2+w2-rectOffset2,y:y3+h2},{x:x2+w2,y:y3+h2},{x:x2+w2,y:y3+h2-rectOffset2},{x:x2+w2+rectOffset2,y:y3+h2-rectOffset2},{x:x2+w2+rectOffset2,y:y3-rectOffset2},{x:x2+rectOffset2,y:y3-rectOffset2},{x:x2+rectOffset2,y:y3},{x:x2,y:y3},{x:x2,y:y3+rectOffset2}],innerPathPoints=[{x:x2,y:y3+rectOffset2},{x:x2+w2-rectOffset2,y:y3+rectOffset2},{x:x2+w2-rectOffset2,y:y3+h2},{x:x2+w2,y:y3+h2},{x:x2+w2,y:y3},{x:x2,y:y3}];"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const outerPath=createPathFromPoints(outerPathPoints);let outerNode=rc.path(outerPath,options);const innerPath=createPathFromPoints(innerPathPoints);let innerNode=rc.path(innerPath,options);"handDrawn"!==node.look&&(outerNode=mergePaths(outerNode),innerNode=mergePaths(innerNode));const multiRect2=shapeSvg.insert("g",":first-child");return multiRect2.insert(()=>outerNode),multiRect2.insert(()=>innerNode),multiRect2.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&multiRect2.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&multiRect2.selectAll("path").attr("style",nodeStyles),label.attr("transform",`translate(${-bbox.width/2-rectOffset2-(bbox.x-(bbox.left??0))}, ${-bbox.height/2+rectOffset2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,multiRect2),node.intersect=function(point2){return intersect_default.polygon(node,outerPathPoints,point2)},shapeSvg}async function multiWaveEdgedRectangle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding;let adjustFinalHeight=!0;(node.width||node.height)&&(adjustFinalHeight=!1,node.width=((null==node?void 0:node.width)??0)-2*labelPaddingX,node.height=((null==node?void 0:node.height)??0)-3*labelPaddingY);const w2=Math.max(bbox.width,(null==node?void 0:node.width)??0)+2*labelPaddingX,h2=Math.max(bbox.height,(null==node?void 0:node.height)??0)+3*labelPaddingY,waveAmplitude="neo"===node.look?h2/4:h2/8,finalH=h2+(adjustFinalHeight?waveAmplitude/2:-waveAmplitude/2),x2=-w2/2,y3=-finalH/2,{cssStyles:cssStyles}=node,wavePoints=generateFullSineWavePoints(x2-10,y3+finalH+10,x2+w2-10,y3+finalH+10,waveAmplitude,.8),lastWavePoint=null==wavePoints?void 0:wavePoints[wavePoints.length-1],outerPathPoints=[{x:x2-10,y:y3+10},{x:x2-10,y:y3+finalH+10},...wavePoints,{x:x2+w2-10,y:lastWavePoint.y-10},{x:x2+w2,y:lastWavePoint.y-10},{x:x2+w2,y:lastWavePoint.y-20},{x:x2+w2+10,y:lastWavePoint.y-20},{x:x2+w2+10,y:y3-10},{x:x2+10,y:y3-10},{x:x2+10,y:y3},{x:x2,y:y3},{x:x2,y:y3+10}],innerPathPoints=[{x:x2,y:y3+10},{x:x2+w2-10,y:y3+10},{x:x2+w2-10,y:lastWavePoint.y-10},{x:x2+w2,y:lastWavePoint.y-10},{x:x2+w2,y:y3},{x:x2,y:y3}],rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const outerPath=createPathFromPoints(outerPathPoints),outerNode=rc.path(outerPath,options),innerPath=createPathFromPoints(innerPathPoints),innerNode=rc.path(innerPath,options),shape=shapeSvg.insert(()=>outerNode,":first-child");return shape.insert(()=>innerNode),shape.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&shape.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&shape.selectAll("path").attr("style",nodeStyles),shape.attr("transform",`translate(0,${-waveAmplitude/2})`),label.attr("transform",`translate(${-bbox.width/2-10-(bbox.x-(bbox.left??0))}, ${-bbox.height/2+10-waveAmplitude/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,shape),node.intersect=function(point2){return intersect_default.polygon(node,outerPathPoints,point2)},shapeSvg}async function note(parent,node,{config:{themeVariables:themeVariables}}){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;node.useHtmlLabels||getEffectiveHtmlLabels(getConfig())||(node.centerLabel=!0);const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),totalWidth=Math.max(bbox.width+2*(node.padding??0),(null==node?void 0:node.width)??0),totalHeight=Math.max(bbox.height+2*(node.padding??0),(null==node?void 0:node.height)??0),x2=-totalWidth/2,y3=-totalHeight/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{fill:themeVariables.noteBkgColor,stroke:themeVariables.noteBorderColor});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const noteShapeNode=rc.rectangle(x2,y3,totalWidth,totalHeight,options),rect2=shapeSvg.insert(()=>noteShapeNode,":first-child");return rect2.attr("class","basic label-container outer-path"),label.attr("class","label noteLabel"),cssStyles&&"handDrawn"!==node.look&&rect2.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&rect2.selectAll("path").attr("style",nodeStyles),label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))}, ${-bbox.height/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}__name(linedCylinder,"linedCylinder"),__name(linedWaveEdgedRect,"linedWaveEdgedRect"),__name(multiRect,"multiRect"),__name(multiWaveEdgedRectangle,"multiWaveEdgedRectangle"),__name(note,"note");var createDecisionBoxPathD=__name((x2,y3,size)=>[`M${x2+size/2},${y3}`,`L${x2+size},${y3-size/2}`,`L${x2+size/2},${y3-size}`,`L${x2},${y3-size/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function question(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),s2=bbox.width+(node.padding??0)+(bbox.height+(node.padding??0)),points=[{x:s2/2,y:0},{x:s2,y:-s2/2},{x:s2/2,y:-s2},{x:0,y:-s2/2}];let polygon;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),pathData=createDecisionBoxPathD(0,0,s2),roughNode=rc.path(pathData,options);polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-s2/2+.5}, ${s2/2})`),cssStyles&&polygon.attr("style",cssStyles)}else polygon=insertPolygonShape(shapeSvg,s2,s2,points),polygon.attr("transform",`translate(${-s2/2+.5}, ${s2/2})`);return nodeStyles&&polygon.attr("style",nodeStyles),updateNodeBounds(node,polygon),node.calcIntersect=function(bounds,point2){const s22=bounds.width,points2=[{x:s22/2,y:0},{x:s22,y:-s22/2},{x:s22/2,y:-s22},{x:0,y:-s22/2}],res=intersect_default.polygon(bounds,points2,point2);return{x:res.x-.5,y:res.y-.5}},node.intersect=function(point2){return this.calcIntersect(node,point2)},shapeSvg}async function rect_left_inv_arrow(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?21:nodePadding??0,labelPaddingY="neo"===node.look?12:nodePadding??0,{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),x2=-(((null==node?void 0:node.width)??bbox.width)+("neo"===node.look?2*labelPaddingX:labelPaddingX))/2,y3=-(((null==node?void 0:node.height)??bbox.height)+("neo"===node.look?2*labelPaddingY:labelPaddingY))/2,notch=y3/2,points=[{x:x2+notch,y:y3},{x:x2,y:0},{x:x2+notch,y:-y3},{x:-x2,y:-y3},{x:-x2,y:y3}],{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>roughNode,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectAll("path").attr("style",nodeStyles),polygon.attr("transform",`translate(${-notch/2},0)`),label.attr("transform",`translate(${-notch/2-bbox.width/2-(bbox.x-(bbox.left??0))}, ${-bbox.height/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function rectWithTitle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);let classes;node.labelStyle=labelStyles,classes=node.cssClasses?"node "+node.cssClasses:"node default";const shapeSvg=parent.insert("g").attr("class",classes).attr("id",node.domId||node.id),g2=shapeSvg.insert("g"),label=shapeSvg.insert("g").attr("class","label").attr("style",nodeStyles),description=node.description,title=node.label,text2=await createLabel_default(label,title,node.labelStyle,!0,!0);let bbox={width:0,height:0};if(getEffectiveHtmlLabels(getConfig2())){const div2=text2.children[0],dv2=select(text2);bbox=div2.getBoundingClientRect(),dv2.attr("width",bbox.width),dv2.attr("height",bbox.height)}log.info("Text 2",description);const textRows=description||[],titleBox=text2.getBBox(),descr=await createLabel_default(label,Array.isArray(textRows)?textRows.join("<br/>"):textRows,node.labelStyle,!0,!0),div=descr.children[0],dv=select(descr);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height);const halfPadding=(node.padding||0)/2;select(descr).attr("transform","translate( "+(bbox.width>titleBox.width?0:(titleBox.width-bbox.width)/2)+", "+(titleBox.height+halfPadding+5)+")"),select(text2).attr("transform","translate( "+(bbox.width<titleBox.width?0:-(titleBox.width-bbox.width)/2)+", 0)"),bbox=label.node().getBBox(),label.attr("transform","translate("+-bbox.width/2+", "+(-bbox.height/2-halfPadding+3)+")");const totalWidth=bbox.width+(node.padding||0),totalHeight=bbox.height+(node.padding||0),x2=-bbox.width/2-halfPadding,y3=-bbox.height/2-halfPadding;let rect2,innerLine;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),roughNode=rc.path(createRoundedRectPathD(x2,y3,totalWidth,totalHeight,node.rx||0),options),roughLine=rc.line(-bbox.width/2-halfPadding,-bbox.height/2-halfPadding+titleBox.height+halfPadding,bbox.width/2+halfPadding,-bbox.height/2-halfPadding+titleBox.height+halfPadding,options);innerLine=shapeSvg.insert(()=>(log.debug("Rough node insert CXC",roughNode),roughLine),":first-child"),rect2=shapeSvg.insert(()=>(log.debug("Rough node insert CXC",roughNode),roughNode),":first-child")}else rect2=g2.insert("rect",":first-child"),innerLine=g2.insert("line"),rect2.attr("class","outer title-state").attr("style",nodeStyles).attr("x",-bbox.width/2-halfPadding).attr("y",-bbox.height/2-halfPadding).attr("width",bbox.width+(node.padding||0)).attr("height",bbox.height+(node.padding||0)),innerLine.attr("class","divider").attr("x1",-bbox.width/2-halfPadding).attr("x2",bbox.width/2+halfPadding).attr("y1",-bbox.height/2-halfPadding+titleBox.height+halfPadding).attr("y2",-bbox.height/2-halfPadding+titleBox.height+halfPadding);return updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function roundedRect(parent,node,{config:{themeVariables:themeVariables}}){const radius=(null==themeVariables?void 0:themeVariables.radius)??5;return drawRect(parent,node,{rx:radius,ry:radius,labelPaddingX:1*((null==node?void 0:node.padding)??0),labelPaddingY:1*((null==node?void 0:node.padding)??0)})}__name(question,"question"),__name(rect_left_inv_arrow,"rect_left_inv_arrow"),__name(rectWithTitle,"rectWithTitle"),__name(roundedRect,"roundedRect");async function shadedProcess(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const paddingX="neo"===node.look?16:node.padding??0,paddingY="neo"===node.look?12:node.padding??0,{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),totalWidth=((null==node?void 0:node.width)??bbox.width)+2*paddingX+("neo"===node.look?8:16),totalHeight=((null==node?void 0:node.height)??bbox.height)+2*paddingY,w2=totalWidth-8,h2=totalHeight,x2=8-totalWidth/2,y3=-totalHeight/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:x2,y:y3},{x:x2+w2,y:y3},{x:x2+w2,y:y3+h2},{x:x2-8,y:y3+h2},{x:x2-8,y:y3},{x:x2,y:y3},{x:x2,y:y3+h2}],roughNode=rc.polygon(points.map(p2=>[p2.x,p2.y]),options),rect2=shapeSvg.insert(()=>roughNode,":first-child");return rect2.attr("class","basic label-container outer-path").attr("style",handleUndefinedAttr(cssStyles)),nodeStyles&&"handDrawn"!==node.look&&rect2.selectAll("path").attr("style",nodeStyles),cssStyles&&"handDrawn"!==node.look&&rect2.selectAll("path").attr("style",nodeStyles),label.attr("transform",`translate(${4-bbox.width/2-(bbox.x-(bbox.left??0))}, ${-bbox.height/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function slopedRect(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding;(node.width||node.height)&&(node.width=Math.max(((null==node?void 0:node.width)??0)-2*labelPaddingX,10),node.height=Math.max(((null==node?void 0:node.height)??0)/1.5-2*labelPaddingY,10));const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*labelPaddingX,h2=1.5*(((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+2*labelPaddingY)/1.5,x2=-w2/2,y3=-h2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:x2,y:y3},{x:x2,y:y3+h2},{x:x2+w2,y:y3+h2},{x:x2+w2,y:y3-h2/2}],pathData=createPathFromPoints(points),shapeNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>shapeNode,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",nodeStyles),polygon.attr("transform",`translate(0, ${h2/4})`),label.attr("transform",`translate(${-w2/2+(node.padding??0)-(bbox.x-(bbox.left??0))}, ${-h2/4+(node.padding??0)-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function squareRect2(parent,node){const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:2*nodePadding,labelPaddingY="neo"===node.look?12:nodePadding;return drawRect(parent,node,{rx:0,ry:0,labelPaddingX:node.labelPaddingX??labelPaddingX,labelPaddingY:labelPaddingY})}async function stadium(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?20:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),h2=bbox.height+("neo"===node.look?2*labelPaddingY:labelPaddingY),w2=bbox.width+h2/4+("neo"===node.look?2*labelPaddingX:labelPaddingX),radius=h2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:-w2/2+radius,y:-h2/2},{x:w2/2-radius,y:-h2/2},...generateCirclePoints(-w2/2+radius,0,radius,50,90,270),{x:w2/2-radius,y:h2/2},...generateCirclePoints(w2/2-radius,0,radius,50,270,450)],pathData=createPathFromPoints(points),shapeNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>shapeNode,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",nodeStyles),updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function state(parent,node){return drawRect(parent,node,{rx:"neo"===node.look?3:5,ry:"neo"===node.look?3:5})}function stateEnd(parent,node,{config:{themeVariables:themeVariables}}){var _a2,_b2;const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{cssStyles:cssStyles}=node,{lineColor:lineColor,stateBorder:stateBorder,nodeBorder:nodeBorder,nodeShadow:nodeShadow}=themeVariables;(node.width||node.height)&&((node.width??0)<14&&(node.width=14),(node.height??0)<14&&(node.height=14)),node.width||(node.width=14),node.height||(node.height=14);const shapeSvg=parent.insert("g").attr("class","node default").attr("id",node.domId??node.id),rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const roughNode=rc.circle(0,0,node.width,{...options,stroke:lineColor,strokeWidth:2}),innerFill=stateBorder??nodeBorder,innerNodeRadius=5*(node.width??0)/14,roughInnerNode=rc.circle(0,0,innerNodeRadius,{...options,fill:innerFill,stroke:innerFill,strokeWidth:2,fillStyle:"solid"}),circle2=shapeSvg.insert(()=>roughNode,":first-child");if(circle2.insert(()=>roughInnerNode),"handDrawn"!==node.look&&circle2.attr("class","outer-path"),cssStyles&&circle2.selectAll("path").attr("style",cssStyles),nodeStyles&&circle2.selectAll("path").attr("style",nodeStyles),node.width<25&&nodeShadow&&"handDrawn"!==node.look){const svgId=(null==(_b2=null==(_a2=parent.node())?void 0:_a2.ownerSVGElement)?void 0:_b2.id)??"",filterId=svgId?`${svgId}-drop-shadow-small`:"drop-shadow-small";circle2.attr("style",`filter:url(#${filterId})`)}return updateNodeBounds(node,circle2),node.intersect=function(point2){return intersect_default.circle(node,(node.width??0)/2,point2)},shapeSvg}function stateStart(parent,node,{config:{themeVariables:themeVariables}}){var _a2,_b2;const{lineColor:lineColor,nodeShadow:nodeShadow}=themeVariables;(node.width||node.height)&&((node.width??0)<14&&(node.width=14),(node.height??0)<14&&(node.height=14)),node.width||(node.width=14),node.height||(node.height=14);const shapeSvg=parent.insert("g").attr("class","node default").attr("id",node.domId||node.id);let circle2;if("handDrawn"===node.look){const roughNode=at.svg(shapeSvg).circle(0,0,node.width,solidStateFill(lineColor));circle2=shapeSvg.insert(()=>roughNode),circle2.attr("class","state-start").attr("r",(node.width??7)/2).attr("width",node.width??14).attr("height",node.height??14)}else circle2=shapeSvg.insert("circle",":first-child"),circle2.attr("class","state-start").attr("r",(node.width??7)/2).attr("width",node.width??14).attr("height",node.height??14);if(node.width<25&&nodeShadow&&"handDrawn"!==node.look){const svgId=(null==(_b2=null==(_a2=parent.node())?void 0:_a2.ownerSVGElement)?void 0:_b2.id)??"",filterId=svgId?`${svgId}-drop-shadow-small`:"drop-shadow-small";circle2.attr("style",`filter:url(#${filterId})`)}return updateNodeBounds(node,circle2),node.intersect=function(point2){return intersect_default.circle(node,(node.width??7)/2,point2)},shapeSvg}__name(shadedProcess,"shadedProcess"),__name(slopedRect,"slopedRect"),__name(squareRect2,"squareRect"),__name(stadium,"stadium"),__name(state,"state"),__name(stateEnd,"stateEnd"),__name(stateStart,"stateStart");async function subroutine(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=(null==node?void 0:node.padding)??8,labelPaddingX="neo"===node.look?28:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),totalWidth=((null==node?void 0:node.width)??bbox.width)+16+labelPaddingX,totalHeight=((null==node?void 0:node.height)??bbox.height)+labelPaddingY,w2=totalWidth-16,h2=totalHeight,x2=-totalWidth/2,y3=-totalHeight/2,points=[{x:0,y:0},{x:w2,y:0},{x:w2,y:-h2},{x:0,y:-h2},{x:0,y:0},{x:-8,y:0},{x:w2+8,y:0},{x:w2+8,y:-h2},{x:-8,y:-h2},{x:-8,y:0}];if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),roughNode=rc.rectangle(x2,y3,w2+16,h2,options),l1=rc.line(x2+8,y3,x2+8,y3+h2,options),l22=rc.line(x2+8+w2,y3,x2+8+w2,y3+h2,options);shapeSvg.insert(()=>l1,":first-child"),shapeSvg.insert(()=>l22,":first-child");const rect2=shapeSvg.insert(()=>roughNode,":first-child"),{cssStyles:cssStyles}=node;rect2.attr("class","basic label-container").attr("style",handleUndefinedAttr(cssStyles)),updateNodeBounds(node,rect2)}else{const el=insertPolygonShape(shapeSvg,w2,h2,points);nodeStyles&&el.attr("style",nodeStyles),updateNodeBounds(node,el)}return node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}__name(subroutine,"subroutine");async function taggedRect(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding;(node.width||node.height)&&(node.height=Math.max(((null==node?void 0:node.height)??0)-2*labelPaddingY,10),node.width=Math.max(((null==node?void 0:node.width)??0)-2*labelPaddingX-.2*(node.height+2*labelPaddingY),10));const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),totalHeight=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+2*labelPaddingY,tagWidth=.2*totalHeight,tagHeight=.2*totalHeight,w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*labelPaddingX+tagWidth-tagWidth,h2=totalHeight,x2=-w2/2,y3=-h2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),rectPoints=[{x:x2-tagWidth/2,y:y3},{x:x2+w2+tagWidth/2,y:y3},{x:x2+w2+tagWidth/2,y:y3+h2},{x:x2-tagWidth/2,y:y3+h2}],tagPoints=[{x:x2+w2-tagWidth/2,y:y3+h2},{x:x2+w2+tagWidth/2,y:y3+h2},{x:x2+w2+tagWidth/2,y:y3+h2-tagHeight}];"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const rectPath=createPathFromPoints(rectPoints),rectNode=rc.path(rectPath,options),tagPath=createPathFromPoints(tagPoints),tagNode=rc.path(tagPath,{...options,fillStyle:"solid"}),taggedRect2=shapeSvg.insert(()=>tagNode,":first-child");return taggedRect2.insert(()=>rectNode,":first-child"),taggedRect2.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&taggedRect2.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&taggedRect2.selectAll("path").attr("style",nodeStyles),updateNodeBounds(node,taggedRect2),node.intersect=function(point2){return intersect_default.polygon(node,rectPoints,point2)},shapeSvg}async function taggedWaveEdgedRectangle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=Math.max(bbox.width+2*(node.padding??0),(null==node?void 0:node.width)??0),h2=Math.max(bbox.height+2*(node.padding??0),(null==node?void 0:node.height)??0),waveAmplitude=h2/8,tagWidth=.2*w2,tagHeight=.2*h2,finalH=h2+waveAmplitude,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:-w2/2-w2/2*.1,y:finalH/2},...generateFullSineWavePoints(-w2/2-w2/2*.1,finalH/2,w2/2+w2/2*.1,finalH/2,waveAmplitude,.8),{x:w2/2+w2/2*.1,y:-finalH/2},{x:-w2/2-w2/2*.1,y:-finalH/2}],x2=-w2/2+w2/2*.1,y3=-finalH/2-.4*tagHeight,tagPoints=[{x:x2+w2-tagWidth,y:1.3*(y3+h2)},{x:x2+w2,y:y3+h2-tagHeight},{x:x2+w2,y:.9*(y3+h2)},...generateFullSineWavePoints(x2+w2,1.25*(y3+h2),x2+w2-tagWidth,1.3*(y3+h2),.02*-h2,.5)],waveEdgeRectPath=createPathFromPoints(points),waveEdgeRectNode=rc.path(waveEdgeRectPath,options),taggedWaveEdgeRectPath=createPathFromPoints(tagPoints),taggedWaveEdgeRectNode=rc.path(taggedWaveEdgeRectPath,{...options,fillStyle:"solid"}),waveEdgeRect=shapeSvg.insert(()=>taggedWaveEdgeRectNode,":first-child");return waveEdgeRect.insert(()=>waveEdgeRectNode,":first-child"),waveEdgeRect.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&waveEdgeRect.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&waveEdgeRect.selectAll("path").attr("style",nodeStyles),waveEdgeRect.attr("transform",`translate(0,${-waveAmplitude/2})`),label.attr("transform",`translate(${-w2/2+(node.padding??0)-(bbox.x-(bbox.left??0))},${-h2/2+(node.padding??0)-waveAmplitude/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,waveEdgeRect),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function text(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),totalWidth=Math.max(bbox.width+(node.padding??0),(null==node?void 0:node.width)||0),totalHeight=Math.max(bbox.height+(node.padding??0),(null==node?void 0:node.height)||0),x2=-totalWidth/2,y3=-totalHeight/2,rect2=shapeSvg.insert("rect",":first-child");return rect2.attr("class","text").attr("style",nodeStyles).attr("rx",0).attr("ry",0).attr("x",x2).attr("y",y3).attr("width",totalWidth).attr("height",totalHeight),updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}__name(taggedRect,"taggedRect"),__name(taggedWaveEdgedRectangle,"taggedWaveEdgedRectangle"),__name(text,"text");var createCylinderPathD3=__name((x2,y3,width,height,rx,ry)=>`M${x2},${y3}\n a${rx},${ry} 0,0,1 0,${-height}\n l${width},0\n a${rx},${ry} 0,0,1 0,${height}\n M${width},${-height}\n a${rx},${ry} 0,0,0 0,${height}\n l${-width},0`,"createCylinderPathD"),createOuterCylinderPathD3=__name((x2,y3,width,height,rx,ry)=>[`M${x2},${y3}`,`M${x2+width},${y3}`,`a${rx},${ry} 0,0,0 0,${-height}`,`l${-width},0`,`a${rx},${ry} 0,0,0 0,${height}`,`l${width},0`].join(" "),"createOuterCylinderPathD"),createInnerCylinderPathD3=__name((x2,y3,width,height,rx,ry)=>[`M${x2+width/2},${-height/2}`,`a${rx},${ry} 0,0,0 0,${height}`].join(" "),"createInnerCylinderPathD");async function tiltedCylinder(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPadding="neo"===node.look?12:nodePadding/2;if(node.width||node.height){const originalHeight=node.height??0;node.height=(node.height??0)-labelPadding,node.height<5&&(node.height=5);const rx2=originalHeight/2/(2.5+originalHeight/50);node.width=(node.width??0)-labelPadding-3*rx2,node.width<10&&(node.width=10)}const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),h2=(node.height?node.height:bbox.height)+labelPadding,ry=h2/2,rx=ry/(2.5+h2/50),w2=(node.width?node.width:bbox.width)+rx+labelPadding,{cssStyles:cssStyles}=node;let cylinder2;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),outerPathData=createOuterCylinderPathD3(0,0,w2,h2,rx,ry),innerPathData=createInnerCylinderPathD3(0,0,w2,h2,rx,ry),outerNode=rc.path(outerPathData,userNodeOverrides(node,{})),innerLine=rc.path(innerPathData,userNodeOverrides(node,{fill:"none"}));cylinder2=shapeSvg.insert(()=>innerLine,":first-child"),cylinder2=shapeSvg.insert(()=>outerNode,":first-child"),cylinder2.attr("class","basic label-container"),cssStyles&&cylinder2.attr("style",cssStyles)}else{const pathData=createCylinderPathD3(0,0,w2,h2,rx,ry);cylinder2=shapeSvg.insert("path",":first-child").attr("d",pathData).attr("class","basic label-container").attr("style",handleUndefinedAttr(cssStyles)).attr("style",nodeStyles),cylinder2.attr("class","basic label-container outer-path"),cssStyles&&cylinder2.selectAll("path").attr("style",cssStyles),nodeStyles&&cylinder2.selectAll("path").attr("style",nodeStyles)}return cylinder2.attr("label-offset-x",rx),cylinder2.attr("transform",`translate(${-w2/2}, ${h2/2} )`),label.attr("transform",`translate(${-bbox.width/2-rx-(bbox.x-(bbox.left??0))}, ${-bbox.height/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,cylinder2),node.intersect=function(point2){const pos=intersect_default.rect(node,point2),y3=pos.y-(node.y??0);if(0!=ry&&(Math.abs(y3)<(node.height??0)/2||Math.abs(y3)==(node.height??0)/2&&Math.abs(pos.x-(node.x??0))>(node.width??0)/2-rx)){let x2=rx*rx*(1-y3*y3/(ry*ry));0!=x2&&(x2=Math.sqrt(Math.abs(x2))),x2=rx-x2,point2.x-(node.x??0)>0&&(x2=-x2),pos.x+=x2}return pos},shapeSvg}async function trapezoid(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingY=(node.look,nodePadding),labelPaddingX="neo"===node.look?2*nodePadding:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),h2=((null==node?void 0:node.height)??bbox.height)+labelPaddingY,w2=((null==node?void 0:node.width)??bbox.width)+labelPaddingX,points=[{x:-3*h2/6,y:0},{x:w2+3*h2/6,y:0},{x:w2,y:-h2},{x:0,y:-h2}];let polygon;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options);polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-w2/2}, ${h2/2})`),cssStyles&&polygon.attr("style",cssStyles)}else polygon=insertPolygonShape(shapeSvg,w2,h2,points);return nodeStyles&&polygon.attr("style",nodeStyles),node.width=w2,node.height=h2,updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function trapezoidalPentagon(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding;(node.width||node.height)&&(node.height=(node.height??0)-2*labelPaddingY,node.height<5&&(node.height=5),node.width=(node.width??0)-2*labelPaddingX,node.width<15&&(node.width=15));const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*labelPaddingX,h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+2*labelPaddingY,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:-w2/2*.8,y:-h2/2},{x:w2/2*.8,y:-h2/2},{x:w2/2,y:-h2/2*.6},{x:w2/2,y:h2/2},{x:-w2/2,y:h2/2},{x:-w2/2,y:-h2/2*.6}],pathData=createPathFromPoints(points),shapeNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>shapeNode,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",nodeStyles),updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}__name(tiltedCylinder,"tiltedCylinder"),__name(trapezoid,"trapezoid"),__name(trapezoidalPentagon,"trapezoidalPentagon");async function triangle(parent,node){var _a2;const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?2*nodePadding:nodePadding;(node.width||node.height)&&(node.width=(((null==node?void 0:node.width)??0)-labelPaddingX)/2,node.width<10&&(node.width=10),node.height=(null==node?void 0:node.height)??0,node.height<10&&(node.height=10));const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),useHtmlLabels=evaluate(null==(_a2=getConfig2().flowchart)?void 0:_a2.htmlLabels),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+labelPaddingX,h2=(null==node?void 0:node.height)?null==node?void 0:node.height:w2+bbox.height,points=[{x:0,y:0},{x:h2,y:0},{x:h2/2,y:-h2}],{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-h2/2}, ${h2/2})`).attr("class","outer-path");return cssStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",nodeStyles),node.width=w2,node.height=h2,updateNodeBounds(node,polygon),label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))}, ${h2/2-(bbox.height+(node.padding??0)/(useHtmlLabels?2:1)-(bbox.y-(bbox.top??0)))})`),node.intersect=function(point2){return log.info("Triangle intersect",node,points,point2),intersect_default.polygon(node,points,point2)},shapeSvg}async function waveEdgedRectangle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding;let adjustFinalHeight=!0;(node.width||node.height)&&(adjustFinalHeight=!1,node.width=((null==node?void 0:node.width)??0)-2*labelPaddingX,node.width<10&&(node.width=10),node.height=((null==node?void 0:node.height)??0)-2*labelPaddingY,node.height<10&&(node.height=10));const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*(labelPaddingX??0),h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+2*(labelPaddingY??0),waveAmplitude="neo"===node.look?h2/4:h2/8,finalH=h2+(adjustFinalHeight?waveAmplitude:-waveAmplitude),{cssStyles:cssStyles}=node,widthDif=14-w2,extraW=widthDif>0?widthDif/2:0,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:-w2/2-extraW,y:finalH/2},...generateFullSineWavePoints(-w2/2-extraW,finalH/2,w2/2+extraW,finalH/2,waveAmplitude,.8),{x:w2/2+extraW,y:-finalH/2},{x:-w2/2-extraW,y:-finalH/2}],waveEdgeRectPath=createPathFromPoints(points),waveEdgeRectNode=rc.path(waveEdgeRectPath,options),waveEdgeRect=shapeSvg.insert(()=>waveEdgeRectNode,":first-child");return waveEdgeRect.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&waveEdgeRect.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&waveEdgeRect.selectAll("path").attr("style",nodeStyles),waveEdgeRect.attr("transform",`translate(0,${-waveAmplitude/2})`),label.attr("transform",`translate(${-w2/2+(node.padding??0)-(bbox.x-(bbox.left??0))},${-h2/2+(node.padding??0)-waveAmplitude-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,waveEdgeRect),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function waveRectangle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?20:nodePadding;if(node.width||node.height){node.width=(null==node?void 0:node.width)??0,node.width<20&&(node.width=20),node.height=(null==node?void 0:node.height)??0,node.height<10&&(node.height=10);const waveAmplitude2=Math.min(.2*node.height,node.height/4);node.height=Math.ceil(node.height-labelPaddingY-waveAmplitude2*(20/9)),node.width=node.width-2*labelPaddingX}const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*labelPaddingX,h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+labelPaddingY,waveAmplitude=h2/8,finalH=h2+2*waveAmplitude,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:-w2/2,y:finalH/2},...generateFullSineWavePoints(-w2/2,finalH/2,w2/2,finalH/2,waveAmplitude,1),{x:w2/2,y:-finalH/2},...generateFullSineWavePoints(w2/2,-finalH/2,-w2/2,-finalH/2,waveAmplitude,-1)],waveRectPath=createPathFromPoints(points),waveRectNode=rc.path(waveRectPath,options),waveRect=shapeSvg.insert(()=>waveRectNode,":first-child");return waveRect.attr("class","basic label-container"),cssStyles&&"handDrawn"!==node.look&&waveRect.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&waveRect.selectAll("path").attr("style",nodeStyles),updateNodeBounds(node,waveRect),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}__name(triangle,"triangle"),__name(waveEdgedRectangle,"waveEdgedRectangle"),__name(waveRectangle,"waveRectangle");async function windowPane(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const paddingX="neo"===node.look?16:node.padding??0,paddingY="neo"===node.look?12:node.padding??0;(node.width||node.height)&&(node.width=Math.max(((null==node?void 0:node.width)??0)-2*paddingX-10,10),node.height=Math.max(((null==node?void 0:node.height)??0)-2*paddingY-10,10));const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*paddingX+10-10,h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+2*paddingY+10-10,x2=-w2/2,y3=-h2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),outerPathPoints=[{x:x2-10,y:y3-10},{x:x2-10,y:y3+h2},{x:x2+w2,y:y3+h2},{x:x2+w2,y:y3-10}],path=`M${x2-10},${y3-10} L${x2+w2},${y3-10} L${x2+w2},${y3+h2} L${x2-10},${y3+h2} L${x2-10},${y3-10}\n M${x2-10},${y3} L${x2+w2},${y3}\n M${x2},${y3-10} L${x2},${y3+h2}`;"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const no=rc.path(path,options),windowPane2=shapeSvg.insert(()=>no,":first-child");return windowPane2.attr("transform","translate(5, 5)"),windowPane2.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&windowPane2.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&windowPane2.selectAll("path").attr("style",nodeStyles),label.attr("transform",`translate(${-bbox.width/2+5-(bbox.x-(bbox.left??0))}, ${-bbox.height/2+5-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,windowPane2),node.intersect=function(point2){return intersect_default.polygon(node,outerPathPoints,point2)},shapeSvg}__name(windowPane,"windowPane");var COLOR_THEMES=new Set(["redux-color","redux-dark-color"]),REDUX_THEMES=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function erBox(parent,node){var _a2,_b2,_c2,_d2;const entityNode=node;entityNode.alias&&(node.label=entityNode.alias);const{theme:theme,themeVariables:themeVariables}=getConfig(),{rowEven:rowEven,rowOdd:rowOdd,nodeBorder:nodeBorder,borderColorArray:borderColorArray}=themeVariables;if("handDrawn"===node.look){const{themeVariables:themeVariables2}=getConfig(),{background:background}=themeVariables2,backgroundNode={...node,id:node.id+"-background",domId:(node.domId||node.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${background}`]};await erBox(parent,backgroundNode)}const config2=getConfig();node.useHtmlLabels=config2.htmlLabels;let PADDING=(null==(_a2=config2.er)?void 0:_a2.diagramPadding)??10,TEXT_PADDING=(null==(_b2=config2.er)?void 0:_b2.entityPadding)??6;const{cssStyles:cssStyles}=node,{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);if(0===entityNode.attributes.length&&node.label){const options2={rx:0,ry:0,labelPaddingX:PADDING,labelPaddingY:1.5*PADDING};calculateTextWidth(node.label,config2)+2*options2.labelPaddingX<config2.er.minEntityWidth&&(node.width=config2.er.minEntityWidth);const shapeSvg2=await drawRect(parent,node,options2);if(null!=theme&&COLOR_THEMES.has(theme)){const colorIndex=entityNode.colorIndex??0;shapeSvg2.attr("data-color-id","color-"+colorIndex%borderColorArray.length)}if(!evaluate(config2.htmlLabels)){const textElement=shapeSvg2.select("text"),bbox=null==(_c2=textElement.node())?void 0:_c2.getBBox();textElement.attr("transform",`translate(${-bbox.width/2}, 0)`)}return shapeSvg2}config2.htmlLabels||(PADDING*=1.25,TEXT_PADDING*=1.25);let cssClasses=getNodeClasses(node);cssClasses||(cssClasses="node default");const shapeSvg=parent.insert("g").attr("class",cssClasses).attr("id",node.domId||node.id),nameBBox=await addText(shapeSvg,node.label??"",config2,0,0,["name"],labelStyles);nameBBox.height+=TEXT_PADDING;let yOffset=0;const yOffsets=[],rows=[];let maxTypeWidth=0,maxNameWidth=0,maxKeysWidth=0,maxCommentWidth=0,keysPresent=!0,commentPresent=!0;for(const attribute of entityNode.attributes){const typeBBox=await addText(shapeSvg,attribute.type,config2,0,yOffset,["attribute-type"],labelStyles);maxTypeWidth=Math.max(maxTypeWidth,typeBBox.width+PADDING);const nameBBox2=await addText(shapeSvg,attribute.name,config2,0,yOffset,["attribute-name"],labelStyles);maxNameWidth=Math.max(maxNameWidth,nameBBox2.width+PADDING);const keysBBox=await addText(shapeSvg,attribute.keys.join(),config2,0,yOffset,["attribute-keys"],labelStyles);maxKeysWidth=Math.max(maxKeysWidth,keysBBox.width+PADDING);const commentBBox=await addText(shapeSvg,attribute.comment,config2,0,yOffset,["attribute-comment"],labelStyles);maxCommentWidth=Math.max(maxCommentWidth,commentBBox.width+PADDING);const rowHeight=Math.max(typeBBox.height,nameBBox2.height,keysBBox.height,commentBBox.height)+TEXT_PADDING;rows.push({yOffset:yOffset,rowHeight:rowHeight}),yOffset+=rowHeight}let totalWidthSections=4;maxKeysWidth<=PADDING&&(keysPresent=!1,maxKeysWidth=0,totalWidthSections--),maxCommentWidth<=PADDING&&(commentPresent=!1,maxCommentWidth=0,totalWidthSections--);const shapeBBox=shapeSvg.node().getBBox();if(nameBBox.width+2*PADDING-(maxTypeWidth+maxNameWidth+maxKeysWidth+maxCommentWidth)>0){const difference=nameBBox.width+2*PADDING-(maxTypeWidth+maxNameWidth+maxKeysWidth+maxCommentWidth);maxTypeWidth+=difference/totalWidthSections,maxNameWidth+=difference/totalWidthSections,maxKeysWidth>0&&(maxKeysWidth+=difference/totalWidthSections),maxCommentWidth>0&&(maxCommentWidth+=difference/totalWidthSections)}const maxWidth=maxTypeWidth+maxNameWidth+maxKeysWidth+maxCommentWidth,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");let totalShapeBBoxHeight=0;rows.length>0&&(totalShapeBBoxHeight=rows.reduce((sum,row)=>sum+((null==row?void 0:row.rowHeight)??0),0));const w2=Math.max(shapeBBox.width+2*PADDING,(null==node?void 0:node.width)||0,maxWidth),h2=Math.max((totalShapeBBoxHeight??0)+nameBBox.height,(null==node?void 0:node.height)||0),x2=-w2/2,y3=-h2/2;if(shapeSvg.selectAll("g:not(:first-child)").each((_2,i2,nodes)=>{const text2=select(nodes[i2]),transform=text2.attr("transform");let translateX=0,translateY=0;if(transform){const translate=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(transform);translate&&(translateX=parseFloat(translate[1]),translateY=parseFloat(translate[2]),text2.attr("class").includes("attribute-name")?translateX+=maxTypeWidth:text2.attr("class").includes("attribute-keys")?translateX+=maxTypeWidth+maxNameWidth:text2.attr("class").includes("attribute-comment")&&(translateX+=maxTypeWidth+maxNameWidth+maxKeysWidth))}text2.attr("transform",`translate(${x2+PADDING/2+translateX}, ${translateY+y3+nameBBox.height+TEXT_PADDING/2})`)}),shapeSvg.select(".name").attr("transform","translate("+-nameBBox.width/2+", "+(y3+TEXT_PADDING/2)+")"),null!=theme&&COLOR_THEMES.has(theme)){const colorIndex=entityNode.colorIndex??0;shapeSvg.attr("data-color-id","color-"+colorIndex%borderColorArray.length)}const roughRect=rc.rectangle(x2,y3,w2,h2,options),rect2=shapeSvg.insert(()=>roughRect,":first-child").attr("class","outer-path").attr("style",cssStyles.join(""));yOffsets.push(0);for(const[i2,row]of rows.entries()){const isEven=(i2+1)%2==0&&0!==row.yOffset,roughRect2=rc.rectangle(x2,nameBBox.height+y3+(null==row?void 0:row.yOffset),w2,null==row?void 0:row.rowHeight,{...options,fill:isEven?rowEven:rowOdd,stroke:nodeBorder});shapeSvg.insert(()=>roughRect2,"g.label").attr("style",cssStyles.join("")).attr("class","row-rect-"+(isEven?"even":"odd"))}let points=lineToPolygon(x2,nameBBox.height+y3,w2+x2,nameBBox.height+y3,1e-4),roughLine=rc.polygon(points.map(p2=>[p2.x,p2.y]),options);if(shapeSvg.insert(()=>roughLine).attr("class","divider"),points=lineToPolygon(maxTypeWidth+x2,nameBBox.height+y3,maxTypeWidth+x2,h2+y3,1e-4),roughLine=rc.polygon(points.map(p2=>[p2.x,p2.y]),options),shapeSvg.insert(()=>roughLine).attr("class","divider"),keysPresent){const xCoord=maxTypeWidth+maxNameWidth+x2;points=lineToPolygon(xCoord,nameBBox.height+y3,xCoord,h2+y3,1e-4),roughLine=rc.polygon(points.map(p2=>[p2.x,p2.y]),options),shapeSvg.insert(()=>roughLine).attr("class","divider")}if(commentPresent){const xCoord=maxTypeWidth+maxNameWidth+maxKeysWidth+x2;points=lineToPolygon(xCoord,nameBBox.height+y3,xCoord,h2+y3,1e-4),roughLine=rc.polygon(points.map(p2=>[p2.x,p2.y]),options),shapeSvg.insert(()=>roughLine).attr("class","divider")}for(const yOffset2 of yOffsets){const yCoord=nameBBox.height+y3+yOffset2;points=lineToPolygon(x2,yCoord,w2+x2,yCoord,1e-4),roughLine=rc.polygon(points.map(p2=>[p2.x,p2.y]),options),shapeSvg.insert(()=>roughLine).attr("class","divider")}if(updateNodeBounds(node,rect2),nodeStyles&&"handDrawn"!==node.look)if(null!=theme&&REDUX_THEMES.has(theme))shapeSvg.selectAll("path").attr("style",nodeStyles);else{const allStyle=nodeStyles.split(";"),strokeStyles=null==(_d2=null==allStyle?void 0:allStyle.filter(e2=>e2.includes("stroke")))?void 0:_d2.map(s2=>`${s2}`).join("; ");shapeSvg.selectAll("path").attr("style",strokeStyles??""),shapeSvg.selectAll(".row-rect-even path").attr("style",nodeStyles)}return node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function addText(shapeSvg,labelText,config2,translateX=0,translateY=0,classes=[],style=""){const label=shapeSvg.insert("g").attr("class",`label ${classes.join(" ")}`).attr("transform",`translate(${translateX}, ${translateY})`).attr("style",style);labelText!==parseGenericTypes(labelText)&&(labelText=(labelText=parseGenericTypes(labelText)).replaceAll("<","&lt;").replaceAll(">","&gt;"));const text2=label.node().appendChild(await createText(label,labelText,{width:calculateTextWidth(labelText,config2)+100,style:style,useHtmlLabels:config2.htmlLabels},config2));if(labelText.includes("&lt;")||labelText.includes("&gt;")){let child=text2.children[0];for(child.textContent=child.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">");child.childNodes[0];)child=child.childNodes[0],child.textContent=child.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">")}let bbox=text2.getBBox();if(evaluate(config2.htmlLabels)){const div=text2.children[0];div.style.textAlign="start";const dv=select(text2);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}return bbox}function lineToPolygon(x1,y1,x2,y22,thickness){return x1===x2?[{x:x1-thickness/2,y:y1},{x:x1+thickness/2,y:y1},{x:x2+thickness/2,y:y22},{x:x2-thickness/2,y:y22}]:[{x:x1,y:y1-thickness/2},{x:x1,y:y1+thickness/2},{x:x2,y:y22+thickness/2},{x:x2,y:y22-thickness/2}]}async function textHelper(parent,node,config2,useHtmlLabels,GAP=config2.class.padding??12){const TEXT_PADDING=useHtmlLabels?0:3,shapeSvg=parent.insert("g").attr("class",getNodeClasses(node)).attr("id",node.domId||node.id);let annotationGroup=null,labelGroup=null,membersGroup=null,methodsGroup=null,annotationGroupHeight=0,labelGroupHeight=0,membersGroupHeight=0;if(annotationGroup=shapeSvg.insert("g").attr("class","annotation-group text"),node.annotations.length>0){const annotation=node.annotations[0];await addText2(annotationGroup,{text:`«${annotation}»`},0);annotationGroupHeight=annotationGroup.node().getBBox().height}labelGroup=shapeSvg.insert("g").attr("class","label-group text"),await addText2(labelGroup,node,0,["font-weight: bolder"]);const labelGroupBBox=labelGroup.node().getBBox();labelGroupHeight=labelGroupBBox.height,membersGroup=shapeSvg.insert("g").attr("class","members-group text");let yOffset=0;for(const member of node.members){yOffset+=await addText2(membersGroup,member,yOffset,[member.parseClassifier()])+TEXT_PADDING}membersGroupHeight=membersGroup.node().getBBox().height,membersGroupHeight<=0&&(membersGroupHeight=GAP/2),methodsGroup=shapeSvg.insert("g").attr("class","methods-group text");let methodsYOffset=0;for(const method of node.methods){methodsYOffset+=await addText2(methodsGroup,method,methodsYOffset,[method.parseClassifier()])+TEXT_PADDING}let bbox=shapeSvg.node().getBBox();if(null!==annotationGroup){const annotationGroupBBox=annotationGroup.node().getBBox();annotationGroup.attr("transform",`translate(${-annotationGroupBBox.width/2})`)}return labelGroup.attr("transform",`translate(${-labelGroupBBox.width/2}, ${annotationGroupHeight})`),bbox=shapeSvg.node().getBBox(),membersGroup.attr("transform",`translate(0, ${annotationGroupHeight+labelGroupHeight+2*GAP})`),bbox=shapeSvg.node().getBBox(),methodsGroup.attr("transform",`translate(0, ${annotationGroupHeight+labelGroupHeight+(membersGroupHeight?membersGroupHeight+4*GAP:2*GAP)})`),bbox=shapeSvg.node().getBBox(),{shapeSvg:shapeSvg,bbox:bbox}}async function addText2(parentGroup,node,yOffset,styles=[]){const textEl=parentGroup.insert("g").attr("class","label").attr("style",styles.join("; ")),config2=getConfig();let useHtmlLabels="useHtmlLabels"in node?node.useHtmlLabels:evaluate(config2.htmlLabels)??!0,textContent="";textContent="text"in node?node.text:node.label,!useHtmlLabels&&textContent.startsWith("\\")&&(textContent=textContent.substring(1)),hasKatex(textContent)&&(useHtmlLabels=!0);const text2=await createText(textEl,sanitizeText3(decodeEntities(textContent)),{width:calculateTextWidth(textContent,config2)+50,classes:"markdown-node-label",useHtmlLabels:useHtmlLabels},config2);let bbox,numberOfLines=1;if(useHtmlLabels){const div=text2.children[0],dv=select(text2);numberOfLines=div.innerHTML.split("<br>").length,div.innerHTML.includes("</math>")&&(numberOfLines+=div.innerHTML.split("<mrow>").length-1);const images=div.getElementsByTagName("img");if(images){const noImgText=""===textContent.replace(/<img[^>]*>/g,"").trim();await Promise.all([...images].map(img=>new Promise(res=>{function setupImage(){var _a2;if(img.style.display="flex",img.style.flexDirection="column",noImgText){const bodyFontSize=(null==(_a2=config2.fontSize)?void 0:_a2.toString())??window.getComputedStyle(document.body).fontSize,enlargingFactor=5,width=parseInt(bodyFontSize,10)*enlargingFactor+"px";img.style.minWidth=width,img.style.maxWidth=width}else img.style.width="100%";res(img)}__name(setupImage,"setupImage"),setTimeout(()=>{img.complete&&setupImage()}),img.addEventListener("error",setupImage),img.addEventListener("load",setupImage)})))}bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}else{styles.includes("font-weight: bolder")&&select(text2).selectAll("tspan").attr("font-weight",""),numberOfLines=text2.children.length;const textChild=text2.children[0];if(""===text2.textContent||text2.textContent.includes("&gt")){textChild.textContent=textContent[0]+textContent.substring(1).replaceAll("&gt;",">").replaceAll("&lt;","<").trim();" "===textContent[1]&&(textChild.textContent=textChild.textContent[0]+" "+textChild.textContent.substring(1))}"undefined"===textChild.textContent&&(textChild.textContent=""),bbox=text2.getBBox()}return textEl.attr("transform","translate(0,"+(-bbox.height/(2*numberOfLines)+yOffset)+")"),bbox.height}async function classBox(parent,node){var _a2,_b2;const config2=getConfig2(),{themeVariables:themeVariables}=config2,{useGradient:useGradient}=themeVariables,PADDING=config2.class.padding??12,GAP=PADDING,useHtmlLabels=node.useHtmlLabels??evaluate(config2.htmlLabels)??!0,classNode=node;classNode.annotations=classNode.annotations??[],classNode.members=classNode.members??[],classNode.methods=classNode.methods??[];const{shapeSvg:shapeSvg,bbox:bbox}=await textHelper(parent,node,config2,useHtmlLabels,GAP),{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles,node.cssStyles=classNode.styles||"";const styles=(null==(_a2=classNode.styles)?void 0:_a2.join(";"))||nodeStyles||"";node.cssStyles||(node.cssStyles=styles.replaceAll("!important","").split(";"));const renderExtraBox=0===classNode.members.length&&0===classNode.methods.length&&!(null==(_b2=config2.class)?void 0:_b2.hideEmptyMembersBox),rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const w2=Math.max(node.width??0,bbox.width);let h2=Math.max(node.height??0,bbox.height);const nodeHeightGreater=(node.height??0)>bbox.height;0===classNode.members.length&&0===classNode.methods.length?h2+=GAP:classNode.members.length>0&&0===classNode.methods.length&&(h2+=2*GAP);const x2=-w2/2,y3=-h2/2;let extraHeight=renderExtraBox?2*PADDING:0===classNode.members.length&&0===classNode.methods.length?-PADDING:0;nodeHeightGreater&&(extraHeight=2*PADDING);const roughRect=rc.rectangle(x2-PADDING,y3-PADDING-(renderExtraBox?PADDING:0===classNode.members.length&&0===classNode.methods.length?-PADDING/2:0),w2+2*PADDING,h2+2*PADDING+extraHeight,options),rect2=shapeSvg.insert(()=>roughRect,":first-child");rect2.attr("class","basic label-container outer-path");const rectBBox=rect2.node().getBBox(),annotationGroupHeight=shapeSvg.select(".annotation-group").node().getBBox().height-(renderExtraBox?PADDING/2:0)||0,labelGroupHeight=shapeSvg.select(".label-group").node().getBBox().height-(renderExtraBox?PADDING/2:0)||0,membersGroupHeight=shapeSvg.select(".members-group").node().getBBox().height-(renderExtraBox?PADDING/2:0)||0,methodsAreaPlacement=(annotationGroupHeight+labelGroupHeight+y3+PADDING-(y3-PADDING-(renderExtraBox?PADDING:0===classNode.members.length&&0===classNode.methods.length?-PADDING/2:0)))/2;if(shapeSvg.selectAll(".text").each((_2,i2,nodes)=>{var _a3,_b3;const text2=select(nodes[i2]),transform=text2.attr("transform");let translateY=0;if(transform){const translate=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(transform);translate&&(translateY=parseFloat(translate[2]))}let newTranslateY=translateY+y3+PADDING-(renderExtraBox?PADDING:0===classNode.members.length&&0===classNode.methods.length?-PADDING/2:0);if(text2.attr("class").includes("methods-group")){const membersGroupHeightForMethods=Math.max(membersGroupHeight,GAP/2);newTranslateY=nodeHeightGreater?Math.max(methodsAreaPlacement,annotationGroupHeight+labelGroupHeight+membersGroupHeightForMethods+y3+2*GAP+PADDING)+2*GAP:annotationGroupHeight+labelGroupHeight+membersGroupHeightForMethods+y3+4*GAP+PADDING}0===classNode.members.length&&0===classNode.methods.length&&(null==(_a3=config2.class)?void 0:_a3.hideEmptyMembersBox)&&(newTranslateY=classNode.annotations.length>0?translateY-GAP:translateY),useHtmlLabels||(newTranslateY-=4);let newTranslateX=x2;(text2.attr("class").includes("label-group")||text2.attr("class").includes("annotation-group"))&&(newTranslateX=-(null==(_b3=text2.node())?void 0:_b3.getBBox().width)/2||0,shapeSvg.selectAll("text").each(function(_22,i22,nodes2){"middle"===window.getComputedStyle(nodes2[i22]).textAnchor&&(newTranslateX=0)})),text2.attr("transform",`translate(${newTranslateX}, ${newTranslateY})`)}),classNode.members.length>0||classNode.methods.length>0||renderExtraBox){const firstLineY=annotationGroupHeight+labelGroupHeight+y3+PADDING,roughLine=rc.line(rectBBox.x,firstLineY,rectBBox.x+rectBBox.width,firstLineY+.001,options);shapeSvg.insert(()=>roughLine).attr("class","divider"+("neo"!==node.look||useGradient?"":" neo-line")).attr("style",styles)}if(renderExtraBox||classNode.members.length>0||classNode.methods.length>0){const secondLineY=annotationGroupHeight+labelGroupHeight+membersGroupHeight+y3+2*GAP+PADDING,roughLine=rc.line(rectBBox.x,nodeHeightGreater?Math.max(methodsAreaPlacement,secondLineY):secondLineY,rectBBox.x+rectBBox.width,(nodeHeightGreater?Math.max(methodsAreaPlacement,secondLineY):secondLineY)+.001,options);shapeSvg.insert(()=>roughLine).attr("class","divider"+("neo"!==node.look||useGradient?"":" neo-line")).attr("style",styles)}if("handDrawn"!==classNode.look&&shapeSvg.selectAll("path").attr("style",styles),rect2.select(":nth-child(2)").attr("style",styles),shapeSvg.selectAll(".divider").select("path").attr("style",styles),node.labelStyle?shapeSvg.selectAll("span").attr("style",node.labelStyle):shapeSvg.selectAll("span").attr("style",styles),!useHtmlLabels){const colorRegex=RegExp(/color\s*:\s*([^;]*)/),match=colorRegex.exec(styles);if(match){const colorStyle=match[0].replace("color","fill");shapeSvg.selectAll("tspan").attr("style",colorStyle)}else if(labelStyles){const match2=colorRegex.exec(labelStyles);if(match2){const colorStyle=match2[0].replace("color","fill");shapeSvg.selectAll("tspan").attr("style",colorStyle)}}}return updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function requirementBox(parent,node){var _a2,_b2;const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const requirementNode=node,elementNode=node,isRequirementNode="verifyMethod"in node,classes=getNodeClasses(node),{themeVariables:themeVariables}=getConfig2(),{borderColorArray:borderColorArray,requirementEdgeLabelBackground:requirementEdgeLabelBackground}=themeVariables,shapeSvg=parent.insert("g").attr("class",classes).attr("id",node.domId??node.id);let typeHeight;typeHeight=isRequirementNode?await addText3(shapeSvg,`&lt;&lt;${requirementNode.type}&gt;&gt;`,0,node.labelStyle):await addText3(shapeSvg,"&lt;&lt;Element&gt;&gt;",0,node.labelStyle);let accumulativeHeight=typeHeight;const nameHeight=await addText3(shapeSvg,requirementNode.name,accumulativeHeight,node.labelStyle+"; font-weight: bold;");if(accumulativeHeight+=nameHeight+20,isRequirementNode){accumulativeHeight+=await addText3(shapeSvg,""+(requirementNode.requirementId?`ID: ${requirementNode.requirementId}`:""),accumulativeHeight,node.labelStyle);accumulativeHeight+=await addText3(shapeSvg,""+(requirementNode.text?`Text: ${requirementNode.text}`:""),accumulativeHeight,node.labelStyle);accumulativeHeight+=await addText3(shapeSvg,""+(requirementNode.risk?`Risk: ${requirementNode.risk}`:""),accumulativeHeight,node.labelStyle),await addText3(shapeSvg,""+(requirementNode.verifyMethod?`Verification: ${requirementNode.verifyMethod}`:""),accumulativeHeight,node.labelStyle)}else{accumulativeHeight+=await addText3(shapeSvg,""+(elementNode.type?`Type: ${elementNode.type}`:""),accumulativeHeight,node.labelStyle),await addText3(shapeSvg,""+(elementNode.docRef?`Doc Ref: ${elementNode.docRef}`:""),accumulativeHeight,node.labelStyle)}const totalWidth=((null==(_a2=shapeSvg.node())?void 0:_a2.getBBox().width)??200)+20,totalHeight=((null==(_b2=shapeSvg.node())?void 0:_b2.getBBox().height)??200)+20,x2=-totalWidth/2,y3=-totalHeight/2,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const roughRect=rc.rectangle(x2,y3,totalWidth,totalHeight,options),rect2=shapeSvg.insert(()=>roughRect,":first-child");if(rect2.attr("class","basic label-container outer-path").attr("style",nodeStyles),null==borderColorArray?void 0:borderColorArray.length){const colorIndex=node.colorIndex??0;shapeSvg.attr("data-color-id","color-"+colorIndex%borderColorArray.length)}if(shapeSvg.selectAll(".label").each((_2,i2,nodes)=>{const text2=select(nodes[i2]),transform=text2.attr("transform");let translateX=0,translateY=0;if(transform){const translate=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(transform);translate&&(translateX=parseFloat(translate[1]),translateY=parseFloat(translate[2]))}const newTranslateY=translateY-totalHeight/2;let newTranslateX=x2+10;0!==i2&&1!==i2||(newTranslateX=translateX),text2.attr("transform",`translate(${newTranslateX}, ${newTranslateY+20})`)}),accumulativeHeight>typeHeight+nameHeight+20){const lineY=y3+typeHeight+nameHeight+20;let roughLine;if("neo"===node.look){const thickness=.001,polygonPoints=[[x2,lineY],[x2+totalWidth,lineY],[x2+totalWidth,lineY+thickness],[x2,lineY+thickness]];roughLine=rc.polygon(polygonPoints,options)}else roughLine=rc.line(x2,lineY,x2+totalWidth,lineY,options);shapeSvg.insert(()=>roughLine).attr("class","divider")}return updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect_default.rect(node,point2)},nodeStyles&&"handDrawn"!==node.look&&(requirementEdgeLabelBackground||(null==borderColorArray?void 0:borderColorArray.length))&&shapeSvg.selectAll("path").attr("style",nodeStyles),shapeSvg}async function addText3(parentGroup,inputText,yOffset,style=""){if(""===inputText)return 0;const textEl=parentGroup.insert("g").attr("class","label").attr("style",style),config2=getConfig2(),useHtmlLabels=config2.htmlLabels??!0,text2=await createText(textEl,sanitizeText3(decodeEntities(inputText)),{width:calculateTextWidth(inputText,config2)+50,classes:"markdown-node-label",useHtmlLabels:useHtmlLabels,style:style},config2);let bbox;if(useHtmlLabels){const div=text2.children[0],dv=select(text2);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}else{const textChild=text2.children[0];for(const child of textChild.children)style&&child.setAttribute("style",style);bbox=text2.getBBox(),bbox.height+=6}return textEl.attr("transform",`translate(${-bbox.width/2},${-bbox.height/2+yOffset})`),bbox.height}__name(erBox,"erBox"),__name(addText,"addText"),__name(lineToPolygon,"lineToPolygon"),__name(textHelper,"textHelper"),__name(addText2,"addText"),__name(classBox,"classBox"),__name(requirementBox,"requirementBox"),__name(addText3,"addText");var colorFromPriority=__name(priority=>{switch(priority){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function kanbanItem(parent,kanbanNode,{config:config2}){var _a2,_b2;const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(kanbanNode);kanbanNode.labelStyle=labelStyles||"";const orgWidth=kanbanNode.width;kanbanNode.width=(kanbanNode.width??200)-10;const{shapeSvg:shapeSvg,bbox:bbox,label:labelElTitle}=await labelHelper(parent,kanbanNode,getNodeClasses(kanbanNode)),padding=kanbanNode.padding||10;let link,ticketUrl="";"ticket"in kanbanNode&&kanbanNode.ticket&&(null==(_a2=null==config2?void 0:config2.kanban)?void 0:_a2.ticketBaseUrl)&&(ticketUrl=null==(_b2=null==config2?void 0:config2.kanban)?void 0:_b2.ticketBaseUrl.replace("#TICKET#",kanbanNode.ticket),link=shapeSvg.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",ticketUrl).attr("target","_blank"));const options={useHtmlLabels:kanbanNode.useHtmlLabels,labelStyle:kanbanNode.labelStyle||"",width:kanbanNode.width,img:kanbanNode.img,padding:kanbanNode.padding||8,centerLabel:!1};let labelEl,bbox2;({label:labelEl,bbox:bbox2}=link?await insertLabel(link,"ticket"in kanbanNode&&kanbanNode.ticket||"",options):await insertLabel(shapeSvg,"ticket"in kanbanNode&&kanbanNode.ticket||"",options));const{label:labelElAssigned,bbox:bboxAssigned}=await insertLabel(shapeSvg,"assigned"in kanbanNode&&kanbanNode.assigned||"",options);kanbanNode.width=orgWidth;const totalWidth=(null==kanbanNode?void 0:kanbanNode.width)||0,heightAdj=Math.max(bbox2.height,bboxAssigned.height)/2,totalHeight=Math.max(bbox.height+20,(null==kanbanNode?void 0:kanbanNode.height)||0)+heightAdj,x2=-totalWidth/2,y3=-totalHeight/2;let rect2;labelElTitle.attr("transform","translate("+(padding-totalWidth/2)+", "+(-heightAdj-bbox.height/2)+")"),labelEl.attr("transform","translate("+(padding-totalWidth/2)+", "+(-heightAdj+bbox.height/2)+")"),labelElAssigned.attr("transform","translate("+(padding+totalWidth/2-bboxAssigned.width-20)+", "+(-heightAdj+bbox.height/2)+")");const{rx:rx,ry:ry}=kanbanNode,{cssStyles:cssStyles}=kanbanNode;if("handDrawn"===kanbanNode.look){const rc=at.svg(shapeSvg),options2=userNodeOverrides(kanbanNode,{}),roughNode=rx||ry?rc.path(createRoundedRectPathD(x2,y3,totalWidth,totalHeight,rx||0),options2):rc.rectangle(x2,y3,totalWidth,totalHeight,options2);rect2=shapeSvg.insert(()=>roughNode,":first-child"),rect2.attr("class","basic label-container").attr("style",cssStyles||null)}else{rect2=shapeSvg.insert("rect",":first-child"),rect2.attr("class","basic label-container __APA__").attr("style",nodeStyles).attr("rx",rx??5).attr("ry",ry??5).attr("x",x2).attr("y",y3).attr("width",totalWidth).attr("height",totalHeight);const priority="priority"in kanbanNode&&kanbanNode.priority;if(priority){const line2=shapeSvg.append("line"),lineX=x2+2,y1=y3+Math.floor((rx??0)/2),y22=y3+totalHeight-Math.floor((rx??0)/2);line2.attr("x1",lineX).attr("y1",y1).attr("x2",lineX).attr("y2",y22).attr("stroke-width","4").attr("stroke",colorFromPriority(priority))}}return updateNodeBounds(kanbanNode,rect2),kanbanNode.height=totalHeight,kanbanNode.intersect=function(point2){return intersect_default.rect(kanbanNode,point2)},shapeSvg}async function bang(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,halfPadding:halfPadding,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=bbox.width+10*halfPadding,h2=bbox.height+8*halfPadding,r2=.15*w2,{cssStyles:cssStyles}=node,minWidth=bbox.width+20,minHeight=bbox.height+20,effectiveWidth=Math.max(w2,minWidth),effectiveHeight=Math.max(h2,minHeight);let bangElem;label.attr("transform",`translate(${-bbox.width/2}, ${-bbox.height/2})`);const path=`M0 0 \n a${r2},${r2} 1 0,0 ${.25*effectiveWidth},${-1*effectiveHeight*.1}\n a${r2},${r2} 1 0,0 ${.25*effectiveWidth},0\n a${r2},${r2} 1 0,0 ${.25*effectiveWidth},0\n a${r2},${r2} 1 0,0 ${.25*effectiveWidth},${.1*effectiveHeight}\n\n a${r2},${r2} 1 0,0 ${.15*effectiveWidth},${.33*effectiveHeight}\n a${.8*r2},${.8*r2} 1 0,0 0,${.34*effectiveHeight}\n a${r2},${r2} 1 0,0 ${-1*effectiveWidth*.15},${.33*effectiveHeight}\n\n a${r2},${r2} 1 0,0 ${-1*effectiveWidth*.25},${.15*effectiveHeight}\n a${r2},${r2} 1 0,0 ${-1*effectiveWidth*.25},0\n a${r2},${r2} 1 0,0 ${-1*effectiveWidth*.25},0\n a${r2},${r2} 1 0,0 ${-1*effectiveWidth*.25},${-1*effectiveHeight*.15}\n\n a${r2},${r2} 1 0,0 ${-1*effectiveWidth*.1},${-1*effectiveHeight*.33}\n a${.8*r2},${.8*r2} 1 0,0 0,${-1*effectiveHeight*.34}\n a${r2},${r2} 1 0,0 ${.1*effectiveWidth},${-1*effectiveHeight*.33}\n H0 V0 Z`;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),roughNode=rc.path(path,options);bangElem=shapeSvg.insert(()=>roughNode,":first-child"),bangElem.attr("class","basic label-container").attr("style",handleUndefinedAttr(cssStyles))}else bangElem=shapeSvg.insert("path",":first-child").attr("class","basic label-container").attr("style",nodeStyles).attr("d",path);return bangElem.attr("transform",`translate(${-effectiveWidth/2}, ${-effectiveHeight/2})`),updateNodeBounds(node,bangElem),node.calcIntersect=function(bounds,point2){return intersect_default.rect(bounds,point2)},node.intersect=function(point2){return log.info("Bang intersect",node,point2),intersect_default.rect(node,point2)},shapeSvg}async function cloud(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,halfPadding:halfPadding,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=bbox.width+2*halfPadding,h2=bbox.height+2*halfPadding,r1=.15*w2,r2=.25*w2,r3=.35*w2,r4=.2*w2,{cssStyles:cssStyles}=node;let cloudElem;const path=`M0 0 \n a${r1},${r1} 0 0,1 ${.25*w2},${-1*w2*.1}\n a${r3},${r3} 1 0,1 ${.4*w2},${-1*w2*.1}\n a${r2},${r2} 1 0,1 ${.35*w2},${.2*w2}\n\n a${r1},${r1} 1 0,1 ${.15*w2},${.35*h2}\n a${r4},${r4} 1 0,1 ${-1*w2*.15},${.65*h2}\n\n a${r2},${r1} 1 0,1 ${-1*w2*.25},${.15*w2}\n a${r3},${r3} 1 0,1 ${-1*w2*.5},0\n a${r1},${r1} 1 0,1 ${-1*w2*.25},${-1*w2*.15}\n\n a${r1},${r1} 1 0,1 ${-1*w2*.1},${-1*h2*.35}\n a${r4},${r4} 1 0,1 ${.1*w2},${-1*h2*.65}\n H0 V0 Z`;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),roughNode=rc.path(path,options);cloudElem=shapeSvg.insert(()=>roughNode,":first-child"),cloudElem.attr("class","basic label-container").attr("style",handleUndefinedAttr(cssStyles))}else cloudElem=shapeSvg.insert("path",":first-child").attr("class","basic label-container").attr("style",nodeStyles).attr("d",path);return label.attr("transform",`translate(${-bbox.width/2}, ${-bbox.height/2})`),cloudElem.attr("transform",`translate(${-w2/2}, ${-h2/2})`),updateNodeBounds(node,cloudElem),node.calcIntersect=function(bounds,point2){return intersect_default.rect(bounds,point2)},node.intersect=function(point2){return log.info("Cloud intersect",node,point2),intersect_default.rect(node,point2)},shapeSvg}async function defaultMindmapNode(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,halfPadding:halfPadding,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=bbox.width+8*halfPadding,h2=bbox.height+2*halfPadding,rectPath="neo"===node.look?`\n M${-w2/2} ${h2/2-5}\n v${10-h2}\n q0,-5 5,-5\n h${w2-10}\n q5,0 5,5\n v${h2-5}\n H${-w2/2}\n Z\n `:`\n M${-w2/2} ${h2/2-5}\n v${10-h2}\n q0,-5 5,-5\n h${w2-10}\n q5,0 5,5\n v${h2-10}\n q0,5 -5,5\n h${-(w2-10)}\n q-5,0 -5,-5\n Z\n `;if(!node.domId)throw new Error(`defaultMindmapNode: node "${node.id}" is missing a domId — was render.ts domId prefixing skipped?`);const bg=shapeSvg.append("path").attr("id",node.domId).attr("class","node-bkg node-"+node.type).attr("style",nodeStyles).attr("d",rectPath);return shapeSvg.append("line").attr("class","node-line-").attr("x1",-w2/2).attr("y1",h2/2).attr("x2",w2/2).attr("y2",h2/2),label.attr("transform",`translate(${-bbox.width/2}, ${-bbox.height/2})`),shapeSvg.append(()=>label.node()),updateNodeBounds(node,bg),node.calcIntersect=function(bounds,point2){return intersect_default.rect(bounds,point2)},node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function mindmapCircle(parent,node){return circle$1(parent,node,{padding:node.padding??0})}__name(kanbanItem,"kanbanItem"),__name(bang,"bang"),__name(cloud,"cloud"),__name(defaultMindmapNode,"defaultMindmapNode"),__name(mindmapCircle,"mindmapCircle");var shapesDefs=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:squareRect2},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:roundedRect},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:stadium},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:subroutine},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:cylinder},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:circle$1},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:bang},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:cloud},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:question},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:hexagon},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:lean_right},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:lean_left},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:trapezoid},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:inv_trapezoid},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:doublecircle},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:text},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:card},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:shadedProcess},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:stateStart},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:stateEnd},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:forkJoin},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:hourglass},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:curlyBraceLeft},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:curlyBraceRight},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:curlyBraces},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:lightningBolt},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:waveEdgedRectangle},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:halfRoundedRectangle},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:tiltedCylinder},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:linedCylinder},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:curvedTrapezoid},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:dividedRectangle},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:triangle},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:windowPane},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:filledCircle},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:trapezoidalPentagon},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:flippedTriangle},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:slopedRect},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:multiWaveEdgedRectangle},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:multiRect},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:bowTieRect},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:crossedCircle},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:taggedWaveEdgedRectangle},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:taggedRect},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:waveRectangle},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:rect_left_inv_arrow},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:linedWaveEdgedRect}],shapes2=__name(()=>{const undocumentedShapes={state:state,choice:choice,note:note,rectWithTitle:rectWithTitle,labelRect:labelRect,iconSquare:iconSquare,iconCircle:iconCircle,icon:icon,iconRounded:iconRounded,imageSquare:imageSquare,anchor:anchor,kanbanItem:kanbanItem,mindmapCircle:mindmapCircle,defaultMindmapNode:defaultMindmapNode,classBox:classBox,erBox:erBox,requirementBox:requirementBox},entries=[...Object.entries(undocumentedShapes),...shapesDefs.flatMap(shape=>[shape.shortName,..."aliases"in shape?shape.aliases:[],..."internalAliases"in shape?shape.internalAliases:[]].map(alias=>[alias,shape.handler]))];return Object.fromEntries(entries)},"generateShapeMap")();function isValidShape(shape){return shape in shapes2}__name(isValidShape,"isValidShape");var nodeElems=new Map;async function insertNode(elem,node,renderOptions){let newEl,el;"rect"===node.shape&&(node.rx&&node.ry?node.shape="roundedRect":node.shape="squareRect");const shapeHandler=node.shape?shapes2[node.shape]:void 0;if(!shapeHandler)throw new Error(`No such shape: ${node.shape}. Please check your syntax.`);if(node.link){let target;"sandbox"===renderOptions.config.securityLevel?target="_top":node.linkTarget&&(target=node.linkTarget||"_blank"),newEl=elem.insert("svg:a").attr("xlink:href",node.link).attr("target",target??null),el=await shapeHandler(newEl,node,renderOptions)}else el=await shapeHandler(elem,node,renderOptions),newEl=el;return newEl.attr("data-look",handleUndefinedAttr(node.look)),node.tooltip&&el.attr("title",node.tooltip),nodeElems.set(node.id,newEl),node.haveCallback&&newEl.attr("class",newEl.attr("class")+" clickable"),newEl}__name(insertNode,"insertNode");var setNodeElem=__name((elem,node)=>{nodeElems.set(node.id,elem)},"setNodeElem"),clear2=__name(()=>{nodeElems.clear()},"clear"),positionNode=__name(node=>{const el=nodeElems.get(node.id);log.trace("Transforming node",node.diff,node,"translate("+(node.x-node.width/2-5)+", "+node.width/2+")");const diff=node.diff||0;return node.clusterNode?el.attr("transform","translate("+(node.x+diff-node.width/2)+", "+(node.y-node.height/2-8)+")"):el.attr("transform","translate("+node.x+", "+node.y+")"),diff},"positionNode"),addEdgeMarkers=__name((svgPath,edge,url,id32,diagramType,useMargin=!1,strokeColor)=>{edge.arrowTypeStart&&addEdgeMarker(svgPath,"start",edge.arrowTypeStart,url,id32,diagramType,useMargin,strokeColor),edge.arrowTypeEnd&&addEdgeMarker(svgPath,"end",edge.arrowTypeEnd,url,id32,diagramType,useMargin,strokeColor)},"addEdgeMarkers"),arrowTypesMap={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},arrowTypesWithMarginSupport=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],addEdgeMarker=__name((svgPath,position,arrowType,url,id32,diagramType,useMargin=!1,strokeColor)=>{var _a2;const arrowTypeInfo=arrowTypesMap[arrowType],marginSupport=arrowTypeInfo&&arrowTypesWithMarginSupport.includes(arrowTypeInfo.type);if(!arrowTypeInfo)return void log.warn(`Unknown arrow type: ${arrowType}`);const originalMarkerId=`${id32}_${diagramType}-${arrowTypeInfo.type}${"start"===position?"Start":"End"}${useMargin&&marginSupport?"-margin":""}`;if(strokeColor&&""!==strokeColor.trim()){const coloredMarkerId=`${originalMarkerId}_${strokeColor.replace(/[^\dA-Za-z]/g,"_")}`;if(!document.getElementById(coloredMarkerId)){const originalMarker=document.getElementById(originalMarkerId);if(originalMarker){const coloredMarker=originalMarker.cloneNode(!0);coloredMarker.id=coloredMarkerId;coloredMarker.querySelectorAll("path, circle, line").forEach(path=>{path.setAttribute("stroke",strokeColor),arrowTypeInfo.fill&&path.setAttribute("fill",strokeColor)}),null==(_a2=originalMarker.parentNode)||_a2.appendChild(coloredMarker)}}svgPath.attr(`marker-${position}`,`url(${url}#${coloredMarkerId})`)}else svgPath.attr(`marker-${position}`,`url(${url}#${originalMarkerId})`)},"addEdgeMarker"),resolveEdgeCurveType=__name(edgeCurve=>{var _a2,_b2;return"string"==typeof edgeCurve?edgeCurve:null==(_b2=null==(_a2=getConfig2())?void 0:_a2.flowchart)?void 0:_b2.curve},"resolveEdgeCurveType"),edgeLabels=new Map,terminalLabels=new Map,clear=__name(()=>{edgeLabels.clear(),terminalLabels.clear()},"clear"),getLabelStyles=__name(styleArray=>styleArray?"string"==typeof styleArray?styleArray:styleArray.reduce((acc,style)=>acc+";"+style,""):"","getLabelStyles"),insertEdgeLabel=__name(async(elem,edge)=>{const config2=getConfig2();let useHtmlLabels=getEffectiveHtmlLabels(config2);const{labelStyles:labelStyles}=styles2String(edge);edge.labelStyle=labelStyles;const edgeLabel=elem.insert("g").attr("class","edgeLabel"),label=edgeLabel.insert("g").attr("class","label").attr("data-id",edge.id),isMarkdown="markdown"===edge.labelType,labelElement=await createText(elem,edge.label,{style:getLabelStyles(edge.labelStyle),useHtmlLabels:useHtmlLabels,addSvgBackground:!0,isNode:!1,markdown:isMarkdown,width:void 0},config2);label.node().appendChild(labelElement),log.info("abc82",edge,edge.labelType);let fo,bbox=labelElement.getBBox(),transformBbox=bbox;if(useHtmlLabels){const div=labelElement.children[0],dv=select(labelElement);bbox=div.getBoundingClientRect(),transformBbox=bbox,dv.attr("width",bbox.width),dv.attr("height",bbox.height)}else{const textEl=select(labelElement).select("text").node();textEl&&"function"==typeof textEl.getBBox&&(transformBbox=textEl.getBBox())}if(label.attr("transform",computeLabelTransform(transformBbox,useHtmlLabels)),edgeLabels.set(edge.id,edgeLabel),edge.width=bbox.width,edge.height=bbox.height,edge.startLabelLeft){const startEdgeLabelLeft=elem.insert("g").attr("class","edgeTerminals"),inner=startEdgeLabelLeft.insert("g").attr("class","inner"),startLabelElement=await createLabel_default(inner,edge.startLabelLeft,getLabelStyles(edge.labelStyle)||"",!1,!1);fo=startLabelElement;let slBox=startLabelElement.getBBox();if(useHtmlLabels){const div=startLabelElement.children[0],dv=select(startLabelElement);slBox=div.getBoundingClientRect(),dv.attr("width",slBox.width),dv.attr("height",slBox.height)}inner.attr("transform",computeLabelTransform(slBox,useHtmlLabels)),terminalLabels.get(edge.id)||terminalLabels.set(edge.id,{}),terminalLabels.get(edge.id).startLeft=startEdgeLabelLeft,setTerminalWidth(fo,edge.startLabelLeft)}if(edge.startLabelRight){const startEdgeLabelRight=elem.insert("g").attr("class","edgeTerminals"),inner=startEdgeLabelRight.insert("g").attr("class","inner"),startLabelElement=await createLabel_default(inner,edge.startLabelRight,getLabelStyles(edge.labelStyle)||"",!1,!1);fo=startLabelElement,inner.node().appendChild(startLabelElement);let slBox=startLabelElement.getBBox();if(useHtmlLabels){const div=startLabelElement.children[0],dv=select(startLabelElement);slBox=div.getBoundingClientRect(),dv.attr("width",slBox.width),dv.attr("height",slBox.height)}inner.attr("transform",computeLabelTransform(slBox,useHtmlLabels)),terminalLabels.get(edge.id)||terminalLabels.set(edge.id,{}),terminalLabels.get(edge.id).startRight=startEdgeLabelRight,setTerminalWidth(fo,edge.startLabelRight)}if(edge.endLabelLeft){const endEdgeLabelLeft=elem.insert("g").attr("class","edgeTerminals"),inner=endEdgeLabelLeft.insert("g").attr("class","inner"),endLabelElement=await createLabel_default(inner,edge.endLabelLeft,getLabelStyles(edge.labelStyle)||"",!1,!1);fo=endLabelElement;let slBox=endLabelElement.getBBox();if(useHtmlLabels){const div=endLabelElement.children[0],dv=select(endLabelElement);slBox=div.getBoundingClientRect(),dv.attr("width",slBox.width),dv.attr("height",slBox.height)}inner.attr("transform",computeLabelTransform(slBox,useHtmlLabels)),endEdgeLabelLeft.node().appendChild(endLabelElement),terminalLabels.get(edge.id)||terminalLabels.set(edge.id,{}),terminalLabels.get(edge.id).endLeft=endEdgeLabelLeft,setTerminalWidth(fo,edge.endLabelLeft)}if(edge.endLabelRight){const endEdgeLabelRight=elem.insert("g").attr("class","edgeTerminals"),inner=endEdgeLabelRight.insert("g").attr("class","inner"),endLabelElement=await createLabel_default(inner,edge.endLabelRight,getLabelStyles(edge.labelStyle)||"",!1,!1);fo=endLabelElement;let slBox=endLabelElement.getBBox();if(useHtmlLabels){const div=endLabelElement.children[0],dv=select(endLabelElement);slBox=div.getBoundingClientRect(),dv.attr("width",slBox.width),dv.attr("height",slBox.height)}inner.attr("transform",computeLabelTransform(slBox,useHtmlLabels)),endEdgeLabelRight.node().appendChild(endLabelElement),terminalLabels.get(edge.id)||terminalLabels.set(edge.id,{}),terminalLabels.get(edge.id).endRight=endEdgeLabelRight,setTerminalWidth(fo,edge.endLabelRight)}return labelElement},"insertEdgeLabel");function setTerminalWidth(fo,value){getEffectiveHtmlLabels(getConfig2())&&fo&&(fo.style.width=9*value.length+"px",fo.style.height="12px")}__name(setTerminalWidth,"setTerminalWidth");var positionEdgeLabel=__name((edge,paths)=>{log.debug("Moving label abc88 ",edge.id,edge.label,edgeLabels.get(edge.id),paths);let path=paths.updatedPath?paths.updatedPath:paths.originalPath;const siteConfig2=getConfig2(),{subGraphTitleTotalMargin:subGraphTitleTotalMargin}=getSubGraphTitleMargins(siteConfig2);if(edge.label){const el=edgeLabels.get(edge.id);let x2=edge.x,y3=edge.y;if(path){const pos=utils_default.calcLabelPosition(path);log.debug("Moving label "+edge.label+" from (",x2,",",y3,") to (",pos.x,",",pos.y,") abc88"),paths.updatedPath&&(x2=pos.x,y3=pos.y)}el.attr("transform",`translate(${x2}, ${y3+subGraphTitleTotalMargin/2})`)}if(edge.startLabelLeft){const el=terminalLabels.get(edge.id).startLeft;let x2=edge.x,y3=edge.y;if(path){const pos=utils_default.calcTerminalLabelPosition(edge.arrowTypeStart?10:0,"start_left",path);x2=pos.x,y3=pos.y}el.attr("transform",`translate(${x2}, ${y3})`)}if(edge.startLabelRight){const el=terminalLabels.get(edge.id).startRight;let x2=edge.x,y3=edge.y;if(path){const pos=utils_default.calcTerminalLabelPosition(edge.arrowTypeStart?10:0,"start_right",path);x2=pos.x,y3=pos.y}el.attr("transform",`translate(${x2}, ${y3})`)}if(edge.endLabelLeft){const el=terminalLabels.get(edge.id).endLeft;let x2=edge.x,y3=edge.y;if(path){const pos=utils_default.calcTerminalLabelPosition(edge.arrowTypeEnd?10:0,"end_left",path);x2=pos.x,y3=pos.y}el.attr("transform",`translate(${x2}, ${y3})`)}if(edge.endLabelRight){const el=terminalLabels.get(edge.id).endRight;let x2=edge.x,y3=edge.y;if(path){const pos=utils_default.calcTerminalLabelPosition(edge.arrowTypeEnd?10:0,"end_right",path);x2=pos.x,y3=pos.y}el.attr("transform",`translate(${x2}, ${y3})`)}},"positionEdgeLabel"),outsideNode=__name((node,point2)=>{const x2=node.x,y3=node.y,dx=Math.abs(point2.x-x2),dy=Math.abs(point2.y-y3),w2=node.width/2,h2=node.height/2;return dx>=w2||dy>=h2},"outsideNode"),intersection=__name((node,outsidePoint,insidePoint)=>{log.debug(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(outsidePoint)}\n insidePoint : ${JSON.stringify(insidePoint)}\n node : x:${node.x} y:${node.y} w:${node.width} h:${node.height}`);const x2=node.x,y3=node.y,dx=Math.abs(x2-insidePoint.x),w2=node.width/2;let r2=insidePoint.x<outsidePoint.x?w2-dx:w2+dx;const h2=node.height/2,Q2=Math.abs(outsidePoint.y-insidePoint.y),R2=Math.abs(outsidePoint.x-insidePoint.x);if(Math.abs(y3-outsidePoint.y)*w2>Math.abs(x2-outsidePoint.x)*h2){let q2=insidePoint.y<outsidePoint.y?outsidePoint.y-h2-y3:y3-h2-outsidePoint.y;r2=R2*q2/Q2;const res={x:insidePoint.x<outsidePoint.x?insidePoint.x+r2:insidePoint.x-R2+r2,y:insidePoint.y<outsidePoint.y?insidePoint.y+Q2-q2:insidePoint.y-Q2+q2};return 0===r2&&(res.x=outsidePoint.x,res.y=outsidePoint.y),0===R2&&(res.x=outsidePoint.x),0===Q2&&(res.y=outsidePoint.y),log.debug(`abc89 top/bottom calc, Q ${Q2}, q ${q2}, R ${R2}, r ${r2}`,res),res}{r2=insidePoint.x<outsidePoint.x?outsidePoint.x-w2-x2:x2-w2-outsidePoint.x;let q2=Q2*r2/R2,_x=insidePoint.x<outsidePoint.x?insidePoint.x+R2-r2:insidePoint.x-R2+r2,_y=insidePoint.y<outsidePoint.y?insidePoint.y+q2:insidePoint.y-q2;return log.debug(`sides calc abc89, Q ${Q2}, q ${q2}, R ${R2}, r ${r2}`,{_x:_x,_y:_y}),0===r2&&(_x=outsidePoint.x,_y=outsidePoint.y),0===R2&&(_x=outsidePoint.x),0===Q2&&(_y=outsidePoint.y),{x:_x,y:_y}}},"intersection"),cutPathAtIntersect=__name((_points,boundaryNode)=>{log.warn("abc88 cutPathAtIntersect",_points,boundaryNode);let points=[],lastPointOutside=_points[0],isInside=!1;return _points.forEach(point2=>{if(log.info("abc88 checking point",point2,boundaryNode),outsideNode(boundaryNode,point2)||isInside)log.warn("abc88 outside",point2,lastPointOutside),lastPointOutside=point2,isInside||points.push(point2);else{const inter=intersection(boundaryNode,lastPointOutside,point2);log.debug("abc88 inside",point2,lastPointOutside,inter),log.debug("abc88 intersection",inter,boundaryNode);let pointPresent=!1;points.forEach(p2=>{pointPresent=pointPresent||p2.x===inter.x&&p2.y===inter.y}),points.some(e2=>e2.x===inter.x&&e2.y===inter.y)?log.warn("abc88 no intersect",inter,points):points.push(inter),isInside=!0}}),log.debug("returning points",points),points},"cutPathAtIntersect");function extractCornerPoints(points){const cornerPoints=[],cornerPointPositions=[];for(let i2=1;i2<points.length-1;i2++){const prev=points[i2-1],curr=points[i2],next=points[i2+1];(prev.x===curr.x&&curr.y===next.y&&Math.abs(curr.x-next.x)>5&&Math.abs(curr.y-prev.y)>5||prev.y===curr.y&&curr.x===next.x&&Math.abs(curr.x-prev.x)>5&&Math.abs(curr.y-next.y)>5)&&(cornerPoints.push(curr),cornerPointPositions.push(i2))}return{cornerPoints:cornerPoints,cornerPointPositions:cornerPointPositions}}__name(extractCornerPoints,"extractCornerPoints");var findAdjacentPoint=__name(function(pointA,pointB,distance2){const xDiff=pointB.x-pointA.x,yDiff=pointB.y-pointA.y,ratio=distance2/Math.sqrt(xDiff*xDiff+yDiff*yDiff);return{x:pointB.x-ratio*xDiff,y:pointB.y-ratio*yDiff}},"findAdjacentPoint"),fixCorners=__name(function(lineData){const{cornerPointPositions:cornerPointPositions}=extractCornerPoints(lineData),newLineData=[];for(let i2=0;i2<lineData.length;i2++)if(cornerPointPositions.includes(i2)){const prevPoint=lineData[i2-1],nextPoint=lineData[i2+1],cornerPoint=lineData[i2],newPrevPoint=findAdjacentPoint(prevPoint,cornerPoint,5),newNextPoint=findAdjacentPoint(nextPoint,cornerPoint,5),xDiff=newNextPoint.x-newPrevPoint.x,yDiff=newNextPoint.y-newPrevPoint.y;newLineData.push(newPrevPoint);const a2=2*Math.sqrt(2);let newCornerPoint={x:cornerPoint.x,y:cornerPoint.y};if(Math.abs(nextPoint.x-prevPoint.x)>10&&Math.abs(nextPoint.y-prevPoint.y)>=10){log.debug("Corner point fixing",Math.abs(nextPoint.x-prevPoint.x),Math.abs(nextPoint.y-prevPoint.y));const r2=5;newCornerPoint=cornerPoint.x===newPrevPoint.x?{x:xDiff<0?newPrevPoint.x-r2+a2:newPrevPoint.x+r2-a2,y:yDiff<0?newPrevPoint.y-a2:newPrevPoint.y+a2}:{x:xDiff<0?newPrevPoint.x-a2:newPrevPoint.x+a2,y:yDiff<0?newPrevPoint.y-r2+a2:newPrevPoint.y+r2-a2}}else log.debug("Corner point skipping fixing",Math.abs(nextPoint.x-prevPoint.x),Math.abs(nextPoint.y-prevPoint.y));newLineData.push(newCornerPoint,newNextPoint)}else newLineData.push(lineData[i2]);return newLineData},"fixCorners"),generateDashArray=__name((len,oValueS,oValueE)=>{const middleLength=len-oValueS-oValueE,numberOfPairs=Math.floor(middleLength/4);return`0 ${oValueS} ${Array(numberOfPairs).fill("2 2").join(" ")} ${oValueE}`},"generateDashArray"),insertEdge=__name(function(elem,edge,clusterDb,diagramType,startNode,endNode,diagramId,skipIntersect=!1){var _a2;if(!diagramId)throw new Error(`insertEdge: missing diagramId for edge "${edge.id}" — edge IDs require a diagram prefix for uniqueness`);const{handDrawnSeed:handDrawnSeed}=getConfig2();let points=edge.points,pointsHasChanged=!1;const tail=startNode;var head=endNode;const edgeClassStyles=[];for(const key in edge.cssCompiledStyles)isLabelStyle(key)||edgeClassStyles.push(edge.cssCompiledStyles[key]);log.debug("UIO intersect check",edge.points,head.x,tail.x),head.intersect&&tail.intersect&&!skipIntersect&&(points=points.slice(1,edge.points.length-1),points.unshift(tail.intersect(points[0])),log.debug("Last point UIO",edge.start,"--\x3e",edge.end,points[points.length-1],head,head.intersect(points[points.length-1])),points.push(head.intersect(points[points.length-1])));const pointsStr=btoa(JSON.stringify(points));edge.toCluster&&(log.info("to cluster abc88",clusterDb.get(edge.toCluster)),points=cutPathAtIntersect(edge.points,clusterDb.get(edge.toCluster).node),pointsHasChanged=!0),edge.fromCluster&&(log.debug("from cluster abc88",clusterDb.get(edge.fromCluster),JSON.stringify(points,null,2)),points=cutPathAtIntersect(points.reverse(),clusterDb.get(edge.fromCluster).node).reverse(),pointsHasChanged=!0);let lineData=points.filter(p2=>!Number.isNaN(p2.y));const edgeCurveType=resolveEdgeCurveType(edge.curve);"rounded"!==edgeCurveType&&(lineData=fixCorners(lineData));let curve=curveLinear;switch(edgeCurveType){case"linear":case"rounded":curve=curveLinear;break;case"basis":default:curve=curveBasis;break;case"cardinal":curve=curveCardinal;break;case"bumpX":curve=bumpX;break;case"bumpY":curve=bumpY;break;case"catmullRom":curve=curveCatmullRom;break;case"monotoneX":curve=monotoneX;break;case"monotoneY":curve=monotoneY;break;case"natural":curve=curveNatural;break;case"step":curve=curveStep;break;case"stepAfter":curve=stepAfter;break;case"stepBefore":curve=stepBefore}const{x:x2,y:y3}=getLineFunctionsWithOffset(edge),lineFunction=line().x(x2).y(y3).curve(curve);let strokeClasses,svgPath;switch(edge.thickness){case"normal":default:strokeClasses="edge-thickness-normal";break;case"thick":strokeClasses="edge-thickness-thick";break;case"invisible":strokeClasses="edge-thickness-invisible"}switch(edge.pattern){case"solid":default:strokeClasses+=" edge-pattern-solid";break;case"dotted":strokeClasses+=" edge-pattern-dotted";break;case"dashed":strokeClasses+=" edge-pattern-dashed"}let linePath="rounded"===edgeCurveType?generateRoundedPath(applyMarkerOffsetsToPoints(lineData,edge),5):lineFunction(lineData);const edgeStyles=Array.isArray(edge.style)?edge.style:[edge.style];let strokeColor=edgeStyles.find(style=>null==style?void 0:style.startsWith("stroke:")),animationClass="";edge.animate&&(animationClass="edge-animation-fast"),edge.animation&&(animationClass="edge-animation-"+edge.animation);let animatedEdge=!1;if("handDrawn"===edge.look){const rc=at.svg(elem);Object.assign([],lineData);strokeClasses+=" transition",svgPath=select(rc.path(linePath,{roughness:.3,seed:handDrawnSeed})).select("path").attr("id",`${diagramId}-${edge.id}`).attr("class"," "+strokeClasses+(edge.classes?" "+edge.classes:"")+(animationClass?" "+animationClass:"")).attr("style",edgeStyles?edgeStyles.reduce((acc,style)=>acc+";"+style,""):"");let d2=svgPath.attr("d");svgPath.attr("d",d2),elem.node().appendChild(svgPath.node())}else{const stylesFromClasses=edgeClassStyles.join(";"),styles=edgeStyles?edgeStyles.reduce((acc,style)=>acc+style+";",""):"",pathStyle=(stylesFromClasses?stylesFromClasses+";"+styles+";":styles)+";"+(edgeStyles?edgeStyles.reduce((acc,style)=>acc+";"+style,""):"");svgPath=elem.append("path").attr("d",linePath).attr("id",`${diagramId}-${edge.id}`).attr("class"," "+strokeClasses+(edge.classes?" "+edge.classes:"")+(animationClass?" "+animationClass:"")).attr("style",pathStyle),strokeColor=null==(_a2=pathStyle.match(/stroke:([^;]+)/))?void 0:_a2[1],animatedEdge=!0===edge.animate||!!edge.animation||stylesFromClasses.includes("animation");const pathNode=svgPath.node(),len="function"==typeof pathNode.getTotalLength?pathNode.getTotalLength():0,oValueS=markerOffsets2[edge.arrowTypeStart]||0,oValueE=markerOffsets2[edge.arrowTypeEnd]||0;if("neo"===edge.look&&!animatedEdge){const mOffset=`stroke-dasharray: ${"dotted"===edge.pattern||"dashed"===edge.pattern?generateDashArray(len,oValueS,oValueE):`0 ${oValueS} ${len-oValueS-oValueE} ${oValueE}`}; stroke-dashoffset: 0;`;svgPath.attr("style",mOffset+svgPath.attr("style"))}}svgPath.attr("data-edge",!0),svgPath.attr("data-et","edge"),svgPath.attr("data-id",edge.id),svgPath.attr("data-points",pointsStr),svgPath.attr("data-look",handleUndefinedAttr(edge.look)),edge.showPoints&&lineData.forEach(point3=>{elem.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",point3.x).attr("cy",point3.y)});let url="";(getConfig2().flowchart.arrowMarkerAbsolute||getConfig2().state.arrowMarkerAbsolute)&&(url=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,url=url.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),log.info("arrowTypeStart",edge.arrowTypeStart),log.info("arrowTypeEnd",edge.arrowTypeEnd);const useMargin=!animatedEdge&&"neo"===(null==edge?void 0:edge.look);addEdgeMarkers(svgPath,edge,url,diagramId,diagramType,useMargin,strokeColor);const point2=points[Math.floor(points.length/2)];utils_default.isLabelCoordinateInPath(point2,svgPath.attr("d"))||(pointsHasChanged=!0);let paths={};return pointsHasChanged&&(paths.updatedPath=points),paths.originalPath=edge.points,paths},"insertEdge");function generateRoundedPath(points,radius){if(points.length<2)return"";let path="";const size=points.length;for(let i2=0;i2<size;i2++){const currPoint=points[i2],prevPoint=points[i2-1],nextPoint=points[i2+1];if(0===i2)path+=`M${currPoint.x},${currPoint.y}`;else if(i2===size-1)path+=`L${currPoint.x},${currPoint.y}`;else{const dx1=currPoint.x-prevPoint.x,dy1=currPoint.y-prevPoint.y,dx2=nextPoint.x-currPoint.x,dy2=nextPoint.y-currPoint.y,len1=Math.hypot(dx1,dy1),len2=Math.hypot(dx2,dy2);if(len1<1e-5||len2<1e-5){path+=`L${currPoint.x},${currPoint.y}`;continue}const nx1=dx1/len1,ny1=dy1/len1,nx2=dx2/len2,ny2=dy2/len2,dot=nx1*nx2+ny1*ny2,clampedDot=Math.max(-1,Math.min(1,dot)),angle=Math.acos(clampedDot);if(angle<1e-5||Math.abs(Math.PI-angle)<1e-5){path+=`L${currPoint.x},${currPoint.y}`;continue}const cutLen=Math.min(radius/Math.sin(angle/2),len1/2,len2/2),startX=currPoint.x-nx1*cutLen,startY=currPoint.y-ny1*cutLen,endX=currPoint.x+nx2*cutLen,endY=currPoint.y+ny2*cutLen;path+=`L${startX},${startY}`,path+=`Q${currPoint.x},${currPoint.y} ${endX},${endY}`}}return path}function calculateDeltaAndAngle(point1,point2){if(!point1||!point2)return{angle:0,deltaX:0,deltaY:0};const deltaX=point2.x-point1.x,deltaY=point2.y-point1.y;return{angle:Math.atan2(deltaY,deltaX),deltaX:deltaX,deltaY:deltaY}}function applyMarkerOffsetsToPoints(points,edge){const newPoints=points.map(point2=>({...point2}));if(points.length>=2&&markerOffsets[edge.arrowTypeStart]){const offsetValue=markerOffsets[edge.arrowTypeStart],point1=points[0],point2=points[1],{angle:angle}=calculateDeltaAndAngle(point1,point2),offsetX=offsetValue*Math.cos(angle),offsetY=offsetValue*Math.sin(angle);newPoints[0].x=point1.x+offsetX,newPoints[0].y=point1.y+offsetY}const n2=points.length;if(n2>=2&&markerOffsets[edge.arrowTypeEnd]){const offsetValue=markerOffsets[edge.arrowTypeEnd],point1=points[n2-1],point2=points[n2-2],{angle:angle}=calculateDeltaAndAngle(point2,point1),offsetX=offsetValue*Math.cos(angle),offsetY=offsetValue*Math.sin(angle);newPoints[n2-1].x=point1.x-offsetX,newPoints[n2-1].y=point1.y-offsetY}return newPoints}__name(generateRoundedPath,"generateRoundedPath"),__name(calculateDeltaAndAngle,"calculateDeltaAndAngle"),__name(applyMarkerOffsetsToPoints,"applyMarkerOffsetsToPoints");var insertMarkers=__name((elem,markerArray,type2,id32)=>{markerArray.forEach(markerName=>{markers[markerName](elem,type2,id32)})},"insertMarkers"),extension=__name((elem,type2,id32)=>{log.trace("Making markers for ",id32),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-extensionStart").attr("class","marker extension "+type2).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-extensionEnd").attr("class","marker extension "+type2).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),elem.append("marker").attr("id",id32+"_"+type2+"-extensionStart-margin").attr("class","marker extension "+type2).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-extensionEnd-margin").attr("class","marker extension "+type2).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),composition=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-compositionStart").attr("class","marker composition "+type2).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-compositionEnd").attr("class","marker composition "+type2).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-compositionStart-margin").attr("class","marker composition "+type2).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-compositionEnd-margin").attr("class","marker composition "+type2).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),aggregation=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-aggregationStart").attr("class","marker aggregation "+type2).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-aggregationEnd").attr("class","marker aggregation "+type2).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-aggregationStart-margin").attr("class","marker aggregation "+type2).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-aggregationEnd-margin").attr("class","marker aggregation "+type2).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),dependency=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-dependencyStart").attr("class","marker dependency "+type2).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-dependencyEnd").attr("class","marker dependency "+type2).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-dependencyStart-margin").attr("class","marker dependency "+type2).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-dependencyEnd-margin").attr("class","marker dependency "+type2).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),lollipop=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-lollipopStart").attr("class","marker lollipop "+type2).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-lollipopEnd").attr("class","marker lollipop "+type2).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-lollipopStart-margin").attr("class","marker lollipop "+type2).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-lollipopEnd-margin").attr("class","marker lollipop "+type2).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),point=__name((elem,type2,id32)=>{elem.append("marker").attr("id",id32+"_"+type2+"-pointEnd").attr("class","marker "+type2).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-pointStart").attr("class","marker "+type2).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-pointEnd-margin").attr("class","marker "+type2).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-pointStart-margin").attr("class","marker "+type2).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),circle=__name((elem,type2,id32)=>{elem.append("marker").attr("id",id32+"_"+type2+"-circleEnd").attr("class","marker "+type2).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-circleStart").attr("class","marker "+type2).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-circleEnd-margin").attr("class","marker "+type2).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-circleStart-margin").attr("class","marker "+type2).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),cross=__name((elem,type2,id32)=>{elem.append("marker").attr("id",id32+"_"+type2+"-crossEnd").attr("class","marker cross "+type2).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-crossStart").attr("class","marker cross "+type2).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-crossEnd-margin").attr("class","marker cross "+type2).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),elem.append("marker").attr("id",id32+"_"+type2+"-crossStart-margin").attr("class","marker cross "+type2).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),barb=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),barbNeo=__name((elem,type2,id32)=>{const config2=getConfig(),{themeVariables:themeVariables}=config2,{transitionColor:transitionColor}=themeVariables;elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${transitionColor}`)},"barbNeo"),only_one=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-onlyOneStart").attr("class","marker onlyOne "+type2).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-onlyOneEnd").attr("class","marker onlyOne "+type2).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),zero_or_one=__name((elem,type2,id32)=>{const startMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrOneStart").attr("class","marker zeroOrOne "+type2).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");startMarker.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),startMarker.append("path").attr("d","M9,0 L9,18");const endMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+type2).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");endMarker.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),endMarker.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),one_or_more=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-oneOrMoreStart").attr("class","marker oneOrMore "+type2).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-oneOrMoreEnd").attr("class","marker oneOrMore "+type2).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),zero_or_more=__name((elem,type2,id32)=>{const startMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+type2).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");startMarker.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),startMarker.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const endMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+type2).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");endMarker.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),endMarker.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),only_one_neo=__name((elem,type2,id32)=>{const config2=getConfig(),{themeVariables:themeVariables}=config2,{strokeWidth:strokeWidth}=themeVariables;elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-onlyOneStart").attr("class","marker onlyOne "+type2).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${strokeWidth}`),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-onlyOneEnd").attr("class","marker onlyOne "+type2).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${strokeWidth}`)},"only_one_neo"),zero_or_one_neo=__name((elem,type2,id32)=>{const config2=getConfig(),{themeVariables:themeVariables}=config2,{strokeWidth:strokeWidth,mainBkg:mainBkg}=themeVariables,startMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrOneStart").attr("class","marker zeroOrOne "+type2).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");startMarker.append("circle").attr("fill",mainBkg??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${strokeWidth}`).attr("r",6),startMarker.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${strokeWidth}`);const endMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+type2).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");endMarker.append("circle").attr("fill",mainBkg??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${strokeWidth}`).attr("r",6),endMarker.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${strokeWidth}`)},"zero_or_one_neo"),one_or_more_neo=__name((elem,type2,id32)=>{const config2=getConfig(),{themeVariables:themeVariables}=config2,{strokeWidth:strokeWidth}=themeVariables;elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-oneOrMoreStart").attr("class","marker oneOrMore "+type2).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${strokeWidth}`),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-oneOrMoreEnd").attr("class","marker oneOrMore "+type2).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${strokeWidth}`)},"one_or_more_neo"),zero_or_more_neo=__name((elem,type2,id32)=>{const config2=getConfig(),{themeVariables:themeVariables}=config2,{strokeWidth:strokeWidth,mainBkg:mainBkg}=themeVariables,startMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+type2).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");startMarker.append("circle").attr("fill",mainBkg??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${strokeWidth}`),startMarker.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${strokeWidth}`);const endMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+type2).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");endMarker.append("circle").attr("fill",mainBkg??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${strokeWidth}`),endMarker.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${strokeWidth}`)},"zero_or_more_neo"),requirement_arrow=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d","M0,0\n L20,10\n M20,10\n L0,20")},"requirement_arrow"),requirement_arrow_neo=__name((elem,type2,id32)=>{const config2=getConfig(),{themeVariables:themeVariables}=config2,{strokeWidth:strokeWidth}=themeVariables;elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${strokeWidth}`).attr("viewBox","0 0 25 20").append("path").attr("d","M0,0\n L20,10\n M20,10\n L0,20").attr("stroke-linejoin","miter")},"requirement_arrow_neo"),markers={extension:extension,composition:composition,aggregation:aggregation,dependency:dependency,lollipop:lollipop,point:point,circle:circle,cross:cross,barb:barb,barbNeo:barbNeo,only_one:only_one,zero_or_one:zero_or_one,one_or_more:one_or_more,zero_or_more:zero_or_more,only_one_neo:only_one_neo,zero_or_one_neo:zero_or_one_neo,one_or_more_neo:one_or_more_neo,zero_or_more_neo:zero_or_more_neo,requirement_arrow:requirement_arrow,requirement_contains:__name((elem,type2,id32)=>{const containsNode=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");containsNode.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),containsNode.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),containsNode.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),requirement_arrow_neo:requirement_arrow_neo,requirement_contains_neo:__name((elem,type2,id32)=>{const config2=getConfig(),{themeVariables:themeVariables}=config2,{strokeWidth:strokeWidth}=themeVariables,containsNode=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");containsNode.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),containsNode.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),containsNode.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),containsNode.selectAll("*").attr("stroke-width",`${strokeWidth}`)},"requirement_contains_neo")},markers_default=insertMarkers,internalHelpers={common:common_default,getConfig:getConfig,insertCluster:insertCluster,insertEdge:insertEdge,insertEdgeLabel:insertEdgeLabel,insertMarkers:markers_default,insertNode:insertNode,interpolateToCurve:interpolateToCurve,labelHelper:labelHelper,log:log,positionEdgeLabel:positionEdgeLabel},layoutAlgorithms={},registerLayoutLoaders=__name(loaders=>{for(const loader32 of loaders)layoutAlgorithms[loader32.name]=loader32},"registerLayoutLoaders");__name(()=>{registerLayoutLoaders([{name:"dagre",loader:__name(async()=>await __vitePreload(()=>import("./dagre-KV5264BT-DZ9d_ZUE.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),"loader")},{name:"cose-bilkent",loader:__name(async()=>await __vitePreload(()=>import("./cose-bilkent-S5V4N54A-D05nug0R.js"),__vite__mapDeps([10,11,7,6,8,9])),"loader")}])},"registerDefaultLayoutLoaders")();var render$1=__name(async(data4Layout,svg)=>{if(!(data4Layout.layoutAlgorithm in layoutAlgorithms))throw new Error(`Unknown layout algorithm: ${data4Layout.layoutAlgorithm}`);if(data4Layout.diagramId)for(const node of data4Layout.nodes){const originalDomId=node.domId||node.id;node.domId=`${data4Layout.diagramId}-${originalDomId}`}const layoutDefinition=layoutAlgorithms[data4Layout.layoutAlgorithm],layoutRenderer=await layoutDefinition.loader(),{theme:theme,themeVariables:themeVariables}=data4Layout.config,{useGradient:useGradient,gradientStart:gradientStart,gradientStop:gradientStop}=themeVariables,svgId=svg.attr("id");if(svg.append("defs").append("filter").attr("id",`${svgId}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",""+((null==theme?void 0:theme.includes("dark"))?"#FFFFFF":"#000000")),svg.append("defs").append("filter").attr("id",`${svgId}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",""+((null==theme?void 0:theme.includes("dark"))?"#FFFFFF":"#000000")),useGradient){const gradient=svg.append("linearGradient").attr("id",svg.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");gradient.append("svg:stop").attr("offset","0%").attr("stop-color",gradientStart).attr("stop-opacity",1),gradient.append("svg:stop").attr("offset","100%").attr("stop-color",gradientStop).attr("stop-opacity",1)}return layoutRenderer.render(data4Layout,svg,internalHelpers,{algorithm:layoutDefinition.algorithm})},"render"),getRegisteredLayoutAlgorithm=__name((algorithm="",{fallback:fallback="dagre"}={})=>{if(algorithm in layoutAlgorithms)return algorithm;if(fallback in layoutAlgorithms)return log.warn(`Layout algorithm ${algorithm} is not registered. Using ${fallback} as fallback.`),fallback;throw new Error(`Both layout algorithms ${algorithm} and ${fallback} are not registered.`)},"getRegisteredLayoutAlgorithm"),nativeKeys=overArg(Object.keys,Object),hasOwnProperty$1=Object.prototype.hasOwnProperty;function baseKeys(object){if(!isPrototype(object))return nativeKeys(object);var result=[];for(var key in Object(object))hasOwnProperty$1.call(object,key)&&"constructor"!=key&&result.push(key);return result}var DataView=getNative(root,"DataView"),Promise$1=getNative(root,"Promise"),Set$1=getNative(root,"Set"),WeakMap=getNative(root,"WeakMap"),dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map$1),promiseCtorString=toSource(Promise$1),setCtorString=toSource(Set$1),weakMapCtorString=toSource(WeakMap),getTag=baseGetTag;(DataView&&"[object DataView]"!=getTag(new DataView(new ArrayBuffer(1)))||Map$1&&"[object Map]"!=getTag(new Map$1)||Promise$1&&"[object Promise]"!=getTag(Promise$1.resolve())||Set$1&&"[object Set]"!=getTag(new Set$1)||WeakMap&&"[object WeakMap]"!=getTag(new WeakMap))&&(getTag=function(value){var result=baseGetTag(value),Ctor="[object Object]"==result?value.constructor:void 0,ctorString=Ctor?toSource(Ctor):"";if(ctorString)switch(ctorString){case dataViewCtorString:return"[object DataView]";case mapCtorString:return"[object Map]";case promiseCtorString:return"[object Promise]";case setCtorString:return"[object Set]";case weakMapCtorString:return"[object WeakMap]"}return result});var hasOwnProperty=Object.prototype.hasOwnProperty;function isEmpty(value){if(null==value)return!0;if(isArrayLike(value)&&(isArray(value)||"string"==typeof value||"function"==typeof value.splice||isBuffer(value)||isTypedArray(value)||isArguments(value)))return!value.length;var tag=getTag(value);if("[object Map]"==tag||"[object Set]"==tag)return!value.size;if(isPrototype(value))return!baseKeys(value).length;for(var key in value)if(hasOwnProperty.call(value,key))return!1;return!0}var c4Detector_default={id:"c4",detector:__name(txt=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./c4Diagram-AHTNJAMY-g5VhpI4X.js");return{diagram:diagram22}},__vite__mapDeps([12,13,6,7,8,9]));return{id:"c4",diagram:diagram2}},"loader")},flowDetector_default={id:"flowchart",detector:__name((txt,config2)=>{var _a2,_b2;return"dagre-wrapper"!==(null==(_a2=null==config2?void 0:config2.flowchart)?void 0:_a2.defaultRenderer)&&"elk"!==(null==(_b2=null==config2?void 0:config2.flowchart)?void 0:_b2.defaultRenderer)&&/^\s*graph/.test(txt)},"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./flowDiagram-DWJPFMVM-D85Dj_yq.js");return{diagram:diagram22}},__vite__mapDeps([14,15,13,16,17,9,18,6,7,8]));return{id:"flowchart",diagram:diagram2}},"loader")},id3="flowchart-v2",flowDetector_v2_default={id:id3,detector:__name((txt,config2)=>{var _a2,_b2,_c2;return"dagre-d3"!==(null==(_a2=null==config2?void 0:config2.flowchart)?void 0:_a2.defaultRenderer)&&("elk"===(null==(_b2=null==config2?void 0:config2.flowchart)?void 0:_b2.defaultRenderer)&&(config2.layout="elk"),!(!/^\s*graph/.test(txt)||"dagre-wrapper"!==(null==(_c2=null==config2?void 0:config2.flowchart)?void 0:_c2.defaultRenderer))||/^\s*flowchart/.test(txt))},"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./flowDiagram-DWJPFMVM-D85Dj_yq.js");return{diagram:diagram22}},__vite__mapDeps([14,15,13,16,17,9,18,6,7,8]));return{id:id3,diagram:diagram2}},"loader")},erDetector_default={id:"er",detector:__name(txt=>/^\s*erDiagram/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./erDiagram-SMLLAGMA-D2sWo3Zv.js");return{diagram:diagram22}},__vite__mapDeps([19,16,17,18,6,7,8,9]));return{id:"er",diagram:diagram2}},"loader")},gitGraphDetector_default={id:"gitGraph",detector:__name(txt=>/^\s*gitGraph/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./gitGraphDiagram-UUTBAWPF-BO9g8cL0.js");return{diagram:diagram22}},__vite__mapDeps([20,21,22,23,6,7,8,4,2,9]));return{id:"gitGraph",diagram:diagram2}},"loader")},ganttDetector_default={id:"gantt",detector:__name(txt=>/^\s*gantt/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./ganttDiagram-T4ZO3ILL-DxAjpfgn.js");return{diagram:diagram22}},__vite__mapDeps([24,7,25,26,27,6,8,9]));return{id:"gantt",diagram:diagram2}},"loader")},info={id:"info",detector:__name(txt=>/^\s*info/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./infoDiagram-42DDH7IO-BnOW3PpN.js");return{diagram:diagram22}},__vite__mapDeps([28,23,6,7,8,4,2,9]));return{id:"info",diagram:diagram2}},"loader")},pie={id:"pie",detector:__name(txt=>/^\s*pie/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./pieDiagram-DEJITSTG-D4a_1EvH.js");return{diagram:diagram22}},__vite__mapDeps([29,21,23,6,7,8,4,2,30,31,26,9]));return{id:"pie",diagram:diagram2}},"loader")},id9="quadrantChart",quadrantDetector_default={id:id9,detector:__name(txt=>/^\s*quadrantChart/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./quadrantDiagram-34T5L4WZ-kKniISLU.js");return{diagram:diagram22}},__vite__mapDeps([32,25,26,27,6,7,8,9]));return{id:id9,diagram:diagram2}},"loader")},xychartDetector_default={id:"xychart",detector:__name(txt=>/^\s*xychart(-beta)?/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./xychartDiagram-5P7HB3ND-DVafENtB.js");return{diagram:diagram22}},__vite__mapDeps([33,26,31,25,27,6,7,8,9]));return{id:"xychart",diagram:diagram2}},"loader")},requirementDetector_default={id:"requirement",detector:__name(txt=>/^\s*requirement(Diagram)?/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./requirementDiagram-MS252O5E-DPikXO53.js");return{diagram:diagram22}},__vite__mapDeps([34,16,17,6,7,8,9]));return{id:"requirement",diagram:diagram2}},"loader")},sequenceDetector_default={id:"sequence",detector:__name(txt=>/^\s*sequenceDiagram/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./sequenceDiagram-FGHM5R23-C57z6bd_.js");return{diagram:diagram22}},__vite__mapDeps([35,13,22,6,7,8,9]));return{id:"sequence",diagram:diagram2}},"loader")},classDetector_default={id:"class",detector:__name((txt,config2)=>{var _a2;return"dagre-wrapper"!==(null==(_a2=null==config2?void 0:config2.class)?void 0:_a2.defaultRenderer)&&/^\s*classDiagram/.test(txt)},"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./classDiagram-6PBFFD2Q-BBoAxatM.js");return{diagram:diagram22}},__vite__mapDeps([36,37,15,13,16,17,9,6,7,8]));return{id:"class",diagram:diagram2}},"loader")},classDetector_V2_default={id:"classDiagram",detector:__name((txt,config2)=>{var _a2;return!(!/^\s*classDiagram/.test(txt)||"dagre-wrapper"!==(null==(_a2=null==config2?void 0:config2.class)?void 0:_a2.defaultRenderer))||/^\s*classDiagram-v2/.test(txt)},"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./classDiagram-v2-HSJHXN6E-BBoAxatM.js");return{diagram:diagram22}},__vite__mapDeps([38,37,15,13,16,17,9,6,7,8]));return{id:"classDiagram",diagram:diagram2}},"loader")},stateDetector_default={id:"state",detector:__name((txt,config2)=>{var _a2;return"dagre-wrapper"!==(null==(_a2=null==config2?void 0:config2.state)?void 0:_a2.defaultRenderer)&&/^\s*stateDiagram/.test(txt)},"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./stateDiagram-FHFEXIEX-D7q_cBTL.js");return{diagram:diagram22}},__vite__mapDeps([39,40,16,17,1,2,3,4,6,7,8,9]));return{id:"state",diagram:diagram2}},"loader")},stateDetector_V2_default={id:"stateDiagram",detector:__name((txt,config2)=>{var _a2;return!!/^\s*stateDiagram-v2/.test(txt)||!(!/^\s*stateDiagram/.test(txt)||"dagre-wrapper"!==(null==(_a2=null==config2?void 0:config2.state)?void 0:_a2.defaultRenderer))},"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./stateDiagram-v2-QKLJ7IA2-Co3EU6Nf.js");return{diagram:diagram22}},__vite__mapDeps([41,40,16,17,6,7,8,9]));return{id:"stateDiagram",diagram:diagram2}},"loader")},journeyDetector_default={id:"journey",detector:__name(txt=>/^\s*journey/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./journeyDiagram-VCZTEJTY-6-pOxb-c.js");return{diagram:diagram22}},__vite__mapDeps([42,15,13,30,6,7,8,9]));return{id:"journey",diagram:diagram2}},"loader")},renderer={draw:__name((_text,id32,version)=>{log.debug("rendering svg for syntax error\n");const svg=selectSvgElement(id32),g2=svg.append("g");svg.attr("viewBox","0 0 2412 512"),configureSvgSize(svg,100,512,!0),g2.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),g2.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),g2.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),g2.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),g2.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),g2.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),g2.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),g2.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${version}`)},"draw")},errorRenderer_default=renderer,errorDiagram_default={db:{},renderer:renderer,parser:{parse:__name(()=>{},"parse")}},id18="flowchart-elk",detector_default={id:id18,detector:__name((txt,config2={})=>{var _a2;return!!(/^\s*flowchart-elk/.test(txt)||/^\s*(flowchart|graph)/.test(txt)&&"elk"===(null==(_a2=null==config2?void 0:config2.flowchart)?void 0:_a2.defaultRenderer))&&(config2.layout="elk",!0)},"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./flowDiagram-DWJPFMVM-D85Dj_yq.js");return{diagram:diagram22}},__vite__mapDeps([14,15,13,16,17,9,18,6,7,8]));return{id:id18,diagram:diagram2}},"loader")},detector_default2={id:"timeline",detector:__name(txt=>/^\s*timeline/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./timeline-definition-GMOUNBTQ-DBV-lv69.js");return{diagram:diagram22}},__vite__mapDeps([43,30,6,7,8,9]));return{id:"timeline",diagram:diagram2}},"loader")},detector_default3={id:"mindmap",detector:__name(txt=>/^\s*mindmap/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./mindmap-definition-QFDTVHPH-BkmfcnFE.js");return{diagram:diagram22}},__vite__mapDeps([44,16,17,6,7,8,9]));return{id:"mindmap",diagram:diagram2}},"loader")},detector_default4={id:"kanban",detector:__name(txt=>/^\s*kanban/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./kanban-definition-6JOO6SKY-BBX4NlcN.js");return{diagram:diagram22}},__vite__mapDeps([45,15,6,7,8,9]));return{id:"kanban",diagram:diagram2}},"loader")},sankeyDetector_default={id:"sankey",detector:__name(txt=>/^\s*sankey(-beta)?/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./sankeyDiagram-XADWPNL6--rY8uDK7.js");return{diagram:diagram22}},__vite__mapDeps([46,31,26,6,7,8,9]));return{id:"sankey",diagram:diagram2}},"loader")},packet={id:"packet",detector:__name(txt=>/^\s*packet(-beta)?/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./diagram-TYMM5635-Dpig5X9-.js");return{diagram:diagram22}},__vite__mapDeps([47,21,23,6,7,8,4,2,9]));return{id:"packet",diagram:diagram2}},"loader")},radar={id:"radar",detector:__name(txt=>/^\s*radar-beta/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./diagram-MMDJMWI5-NiKFms6e.js");return{diagram:diagram22}},__vite__mapDeps([48,21,23,6,7,8,4,2,9]));return{id:"radar",diagram:diagram2}},"loader")},blockDetector_default={id:"block",detector:__name(txt=>/^\s*block(-beta)?/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./blockDiagram-DXYQGD6D-D5ezdfnY.js");return{diagram:diagram22}},__vite__mapDeps([49,15,5,1,2,18,6,7,8,9]));return{id:"block",diagram:diagram2}},"loader")},detector_default5={id:"treeView",detector:__name(txt=>/^\s*treeView-beta/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./diagram-5BDNPKRD-DdyX_gXl.js");return{diagram:diagram22}},__vite__mapDeps([50,21,22,23,6,7,8,4,2,9]));return{id:"treeView",diagram:diagram2}},"loader")},architectureDetector_default={id:"architecture",detector:__name(txt=>/^\s*architecture/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./architectureDiagram-Q4EWVU46-D24v83bq.js");return{diagram:diagram22}},__vite__mapDeps([51,21,23,6,7,8,4,2,11,9]));return{id:"architecture",diagram:diagram2}},"loader")},ishikawa={id:"ishikawa",detector:__name(txt=>/^\s*ishikawa(-beta)?\b/i.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./ishikawaDiagram-UXIWVN3A-BdRWHTx5.js");return{diagram:diagram22}},__vite__mapDeps([52,6,7,8,9]));return{id:"ishikawa",diagram:diagram2}},"loader")},vennDetector_default={id:"venn",detector:__name(txt=>/^\s*venn-beta/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./vennDiagram-DHZGUBPP-ngWDn_ip.js");return{diagram:diagram22}},__vite__mapDeps([53,6,7,8,9]));return{id:"venn",diagram:diagram2}},"loader")},treemap={id:"treemap",detector:__name(txt=>/^\s*treemap/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./diagram-G4DWMVQ6-cjq8tNSZ.js");return{diagram:diagram22}},__vite__mapDeps([54,17,21,23,6,7,8,4,2,27,31,26,9]));return{id:"treemap",diagram:diagram2}},"loader")},wardleyDetector_default={id:"wardley-beta",detector:__name(text2=>/^\s*wardley-beta/i.test(text2),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./wardleyDiagram-NUSXRM2D-lpdygHK-.js");return{diagram:diagram22}},__vite__mapDeps([55,21,23,6,7,8,4,2,9]));return{id:"wardley-beta",diagram:diagram2}},"loader")},hasLoadedDiagrams=!1,addDiagrams=__name(()=>{hasLoadedDiagrams||(hasLoadedDiagrams=!0,registerDiagram("error",errorDiagram_default,text2=>"error"===text2.toLowerCase().trim()),registerDiagram("---",{db:{clear:__name(()=>{},"clear")},styles:{},renderer:{draw:__name(()=>{},"draw")},parser:{parse:__name(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:__name(()=>null,"init")},text2=>text2.toLowerCase().trimStart().startsWith("---")),registerLazyLoadedDiagrams(detector_default,detector_default3,architectureDetector_default),registerLazyLoadedDiagrams(c4Detector_default,detector_default4,classDetector_V2_default,classDetector_default,erDetector_default,ganttDetector_default,info,pie,requirementDetector_default,sequenceDetector_default,flowDetector_v2_default,flowDetector_default,detector_default2,gitGraphDetector_default,stateDetector_V2_default,stateDetector_default,journeyDetector_default,quadrantDetector_default,sankeyDetector_default,packet,xychartDetector_default,blockDetector_default,detector_default5,radar,ishikawa,treemap,vennDetector_default,wardleyDetector_default))},"addDiagrams"),loadRegisteredDiagrams=__name(async()=>{log.debug("Loading registered diagrams");const failed=(await Promise.allSettled(Object.entries(detectors).map(async([key,{detector:detector32,loader:loader32}])=>{if(loader32)try{getDiagram(key)}catch{try{const{diagram:diagram2,id:id32}=await loader32();registerDiagram(id32,diagram2,detector32)}catch(err){throw log.error(`Failed to load external diagram with key ${key}. Removing from detectors.`),delete detectors[key],err}}}))).filter(result=>"rejected"===result.status);if(failed.length>0){log.error(`Failed to load ${failed.length} external diagrams`);for(const res of failed)log.error(res);throw new Error(`Failed to load ${failed.length} external diagrams`)}},"loadRegisteredDiagrams");function setA11yDiagramInfo(svg,diagramType){svg.attr("role","graphics-document document"),""!==diagramType&&svg.attr("aria-roledescription",diagramType)}function addSVGa11yTitleDescription(svg,a11yTitle,a11yDesc,baseId){if(void 0!==svg.insert){if(a11yDesc){const descId=`chart-desc-${baseId}`;svg.attr("aria-describedby",descId),svg.insert("desc",":first-child").attr("id",descId).text(a11yDesc)}if(a11yTitle){const titleId=`chart-title-${baseId}`;svg.attr("aria-labelledby",titleId),svg.insert("title",":first-child").attr("id",titleId).text(a11yTitle)}}}__name(setA11yDiagramInfo,"setA11yDiagramInfo"),__name(addSVGa11yTitleDescription,"addSVGa11yTitleDescription");var Diagram=(__name(_p=class{constructor(type2,text2,db,parser,renderer2){this.type=type2,this.text=text2,this.db=db,this.parser=parser,this.renderer=renderer2}static async fromText(text2,metadata={}){var _a2,_b2;const config2=getConfig(),type2=detectType$1(text2,config2);text2=encodeEntities(text2)+"\n";try{getDiagram(type2)}catch{const loader32=getDiagramLoader(type2);if(!loader32)throw new UnknownDiagramError(`Diagram ${type2} not found.`);const{id:id32,diagram:diagram2}=await loader32();registerDiagram(id32,diagram2)}const{db:db,parser:parser,renderer:renderer2,init:init2}=getDiagram(type2);return parser.parser&&(parser.parser.yy=db),null==(_a2=db.clear)||_a2.call(db),null==init2||init2(config2),metadata.title&&(null==(_b2=db.setDiagramTitle)||_b2.call(db,metadata.title)),await parser.parse(text2),new _p(type2,text2,db,parser,renderer2)}async render(id32,version){await this.renderer.draw(this.text,id32,version,this)}getParser(){return this.parser}getType(){return this.type}},"Diagram"),_p),interactionFunctions=[],attachFunctions=__name(()=>{interactionFunctions.forEach(f2=>{f2()}),interactionFunctions=[]},"attachFunctions"),cleanupComments=__name(text2=>text2.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function extractFrontMatter(text2){const matches=text2.match(frontMatterRegex);if(!matches)return{text:text2,metadata:{}};let parsed=load(matches[1],{schema:JSON_SCHEMA})??{};parsed="object"!=typeof parsed||Array.isArray(parsed)?{}:parsed;const metadata={};return parsed.displayMode&&(metadata.displayMode=parsed.displayMode.toString()),parsed.title&&(metadata.title=parsed.title.toString()),parsed.config&&(metadata.config=parsed.config),{text:text2.slice(matches[0].length),metadata:metadata}}__name(extractFrontMatter,"extractFrontMatter");var cleanupText=__name(code=>code.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,(match,tag,attributes)=>"<"+tag+attributes.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),processFrontmatter=__name(code=>{const{text:text2,metadata:metadata}=extractFrontMatter(code),{displayMode:displayMode,title:title,config:config2={}}=metadata;return displayMode&&(config2.gantt||(config2.gantt={}),config2.gantt.displayMode=displayMode),{title:title,config:config2,text:text2}},"processFrontmatter"),processDirectives=__name(code=>{const initDirective=utils_default.detectInit(code)??{},wrapDirectives=utils_default.detectDirective(code,"wrap");return Array.isArray(wrapDirectives)?initDirective.wrap=wrapDirectives.some(({type:type2})=>"wrap"===type2):"wrap"===(null==wrapDirectives?void 0:wrapDirectives.type)&&(initDirective.wrap=!0),{text:removeDirectives(code),directive:initDirective}},"processDirectives");function preprocessDiagram(code){const cleanedCode=cleanupText(code),frontMatterResult=processFrontmatter(cleanedCode),directiveResult=processDirectives(frontMatterResult.text),config2=cleanAndMerge(frontMatterResult.config,directiveResult.directive);return{code:code=cleanupComments(directiveResult.text),title:frontMatterResult.title,config:config2}}function toBase64(str2){const utf8Bytes=(new TextEncoder).encode(str2),utf8Str=Array.from(utf8Bytes,byte=>String.fromCodePoint(byte)).join("");return btoa(utf8Str)}__name(preprocessDiagram,"preprocessDiagram"),__name(toBase64,"toBase64");var DOMPURIFY_TAGS=["foreignobject"],DOMPURIFY_ATTR=["dominant-baseline"];function processAndSetConfigs(text2){const processed=preprocessDiagram(text2);return reset(),addDirective(processed.config??{}),processed}async function parse(text2,parseOptions){addDiagrams();try{const{code:code,config:config2}=processAndSetConfigs(text2);return{diagramType:(await getDiagramFromText(code)).type,config:config2}}catch(error){if(null==parseOptions?void 0:parseOptions.suppressErrors)return!1;throw error}}__name(processAndSetConfigs,"processAndSetConfigs"),__name(parse,"parse");var cssImportantStyles=__name((cssClass,element,cssClasses=[])=>`\n.${cssClass} ${element} { ${cssClasses.join(" !important; ")} !important; }`,"cssImportantStyles"),createCssStyles=__name((config2,classDefs=new Map)=>{let cssStyles="";if(void 0!==config2.themeCSS&&(cssStyles+=`\n${config2.themeCSS}`),void 0!==config2.fontFamily&&(cssStyles+=`\n:root { --mermaid-font-family: ${config2.fontFamily}}`),void 0!==config2.altFontFamily&&(cssStyles+=`\n:root { --mermaid-alt-font-family: ${config2.altFontFamily}}`),classDefs instanceof Map){const cssElements=getEffectiveHtmlLabels(config2)?["> *","span"]:["rect","polygon","ellipse","circle","path"];classDefs.forEach(styleClassDef=>{isEmpty(styleClassDef.styles)||cssElements.forEach(cssElement=>{cssStyles+=cssImportantStyles(styleClassDef.id,cssElement,styleClassDef.styles)}),isEmpty(styleClassDef.textStyles)||(cssStyles+=cssImportantStyles(styleClassDef.id,"tspan",((null==styleClassDef?void 0:styleClassDef.textStyles)||[]).map(s2=>s2.replace("color","fill"))))})}return cssStyles},"createCssStyles"),createUserStyles=__name((config2,graphType,classDefs,svgId)=>{const userCSSstyles=createCssStyles(config2,classDefs),allStyles=styles_default(graphType,userCSSstyles,{...config2.themeVariables,theme:config2.theme,look:config2.look},svgId);return serialize(compile(`${svgId}{${allStyles}}`),stringify)},"createUserStyles"),cleanUpSvgCode=__name((svgCode="",inSandboxMode,useArrowMarkerUrls)=>{let cleanedUpSvg=svgCode;return useArrowMarkerUrls||inSandboxMode||(cleanedUpSvg=cleanedUpSvg.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),cleanedUpSvg=decodeEntities(cleanedUpSvg),cleanedUpSvg=cleanedUpSvg.replace(/<br>/g,"<br/>"),cleanedUpSvg},"cleanUpSvgCode"),putIntoIFrame=__name((svgCode="",svgElement)=>{var _a2,_b2;return`<iframe style="width:100%;height:${(null==(_b2=null==(_a2=null==svgElement?void 0:svgElement.viewBox)?void 0:_a2.baseVal)?void 0:_b2.height)?svgElement.viewBox.baseVal.height+"px":"100%"};border:0;margin:0;" src="data:text/html;charset=UTF-8;base64,${toBase64(`<body style="margin:0">${svgCode}</body>`)}" sandbox="allow-top-navigation-by-user-activation allow-popups">\n The "iframe" tag is not supported by your browser.\n</iframe>`},"putIntoIFrame"),appendDivSvgG=__name((parentRoot,id32,enclosingDivId,divStyle,svgXlink)=>{const enclosingDiv=parentRoot.append("div");enclosingDiv.attr("id",enclosingDivId),divStyle&&enclosingDiv.attr("style",divStyle);const svgNode2=enclosingDiv.append("svg").attr("id",id32).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return svgXlink&&svgNode2.attr("xmlns:xlink",svgXlink),svgNode2.append("g"),parentRoot},"appendDivSvgG");function sandboxedIframe(parentNode,iFrameId){return parentNode.append("iframe").attr("id",iFrameId).attr("style","width: 100%; height: 100%;").attr("sandbox","")}__name(sandboxedIframe,"sandboxedIframe");var removeExistingElements=__name((doc,id32,divId,iFrameId)=>{var _a2,_b2,_c2;null==(_a2=doc.getElementById(id32))||_a2.remove(),null==(_b2=doc.getElementById(divId))||_b2.remove(),null==(_c2=doc.getElementById(iFrameId))||_c2.remove()},"removeExistingElements"),render=__name(async function(id32,text2,svgContainingElement){var _a2,_b2,_c2,_d2,_e3,_f2;addDiagrams();const processed=processAndSetConfigs(text2);text2=processed.code;const config2=getConfig();log.debug(config2),text2.length>((null==config2?void 0:config2.maxTextSize)??5e4)&&(text2="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");const idSelector="#"+id32,iFrameID="i"+id32,iFrameID_selector="#"+iFrameID,enclosingDivID="d"+id32,enclosingDivID_selector="#"+enclosingDivID,removeTempElements=__name(()=>{const node=select(isSandboxed?iFrameID_selector:enclosingDivID_selector).node();node&&"remove"in node&&node.remove()},"removeTempElements");let root2=select("body");const isSandboxed="sandbox"===config2.securityLevel,isLooseSecurityLevel="loose"===config2.securityLevel,fontFamily=config2.fontFamily;if(void 0!==svgContainingElement){if(svgContainingElement&&(svgContainingElement.innerHTML=""),isSandboxed){const iframe=sandboxedIframe(select(svgContainingElement),iFrameID);root2=select(iframe.nodes()[0].contentDocument.body),root2.node().style.margin=0}else root2=select(svgContainingElement);appendDivSvgG(root2,id32,enclosingDivID,`font-family: ${fontFamily}`,"http://www.w3.org/1999/xlink")}else{if(removeExistingElements(document,id32,enclosingDivID,iFrameID),isSandboxed){const iframe=sandboxedIframe(select("body"),iFrameID);root2=select(iframe.nodes()[0].contentDocument.body),root2.node().style.margin=0}else root2=select("body");appendDivSvgG(root2,id32,enclosingDivID)}let diag,parseEncounteredException;try{diag=await Diagram.fromText(text2,{title:processed.title})}catch(error){if(config2.suppressErrorRendering)throw removeTempElements(),error;diag=await Diagram.fromText("error"),parseEncounteredException=error}const element=root2.select(enclosingDivID_selector).node(),diagramType=diag.type,svg=element.firstChild,firstChild=svg.firstChild,diagramClassDefs=null==(_b2=(_a2=diag.renderer).getClasses)?void 0:_b2.call(_a2,text2,diag),rules=createUserStyles(config2,diagramType,diagramClassDefs,idSelector),style1=document.createElement("style");style1.innerHTML=rules,svg.insertBefore(style1,firstChild);try{await diag.renderer.draw(text2,id32,"11.14.0",diag)}catch(e2){throw config2.suppressErrorRendering?removeTempElements():errorRenderer_default.draw(text2,id32,"11.14.0"),e2}addA11yInfo(diagramType,root2.select(`${enclosingDivID_selector} svg`),null==(_d2=(_c2=diag.db).getAccTitle)?void 0:_d2.call(_c2),null==(_f2=(_e3=diag.db).getAccDescription)?void 0:_f2.call(_e3)),root2.select(`[id="${id32}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let svgCode=root2.select(enclosingDivID_selector).node().innerHTML;if(log.debug("config.arrowMarkerAbsolute",config2.arrowMarkerAbsolute),svgCode=cleanUpSvgCode(svgCode,isSandboxed,evaluate(config2.arrowMarkerAbsolute)),isSandboxed){const svgEl=root2.select(enclosingDivID_selector+" svg").node();svgCode=putIntoIFrame(svgCode,svgEl)}else isLooseSecurityLevel||(svgCode=purify.sanitize(svgCode,{ADD_TAGS:DOMPURIFY_TAGS,ADD_ATTR:DOMPURIFY_ATTR,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(attachFunctions(),parseEncounteredException)throw parseEncounteredException;return removeTempElements(),{diagramType:diagramType,svg:svgCode,bindFunctions:diag.db.bindFunctions}},"render");function initialize(userOptions={}){var _a2;const options=assignWithDepth_default({},userOptions);(null==options?void 0:options.fontFamily)&&!(null==(_a2=options.themeVariables)?void 0:_a2.fontFamily)&&(options.themeVariables||(options.themeVariables={}),options.themeVariables.fontFamily=options.fontFamily),saveConfigFromInitialize(options),(null==options?void 0:options.theme)&&options.theme in themes_default?options.themeVariables=themes_default[options.theme].getThemeVariables(options.themeVariables):options&&(options.themeVariables=themes_default.default.getThemeVariables(options.themeVariables));const config2="object"==typeof options?setSiteConfig(options):getSiteConfig();setLogLevel(config2.logLevel),addDiagrams()}__name(initialize,"initialize");var getDiagramFromText=__name((text2,metadata={})=>{const{code:code}=preprocessDiagram(text2);return Diagram.fromText(code,metadata)},"getDiagramFromText");function addA11yInfo(diagramType,svgNode2,a11yTitle,a11yDescr){setA11yDiagramInfo(svgNode2,diagramType),addSVGa11yTitleDescription(svgNode2,a11yTitle,a11yDescr,svgNode2.attr("id"))}__name(addA11yInfo,"addA11yInfo");var mermaidAPI=Object.freeze({render:render,parse:parse,getDiagramFromText:getDiagramFromText,initialize:initialize,getConfig:getConfig,setConfig:setConfig,getSiteConfig:getSiteConfig,updateSiteConfig:updateSiteConfig,reset:__name(()=>{reset()},"reset"),globalReset:__name(()=>{reset(defaultConfig)},"globalReset"),defaultConfig:defaultConfig});setLogLevel(getConfig().logLevel),reset(getConfig());var handleError=__name((error,errors,parseError)=>{log.warn(error),isDetailedError(error)?(parseError&&parseError(error.str,error.hash),errors.push({...error,message:error.str,error:error})):(parseError&&parseError(error),error instanceof Error&&errors.push({str:error.message,message:error.message,hash:error.name,error:error}))},"handleError"),run=__name(async function(options={querySelector:".mermaid"}){try{await runThrowsErrors(options)}catch(e2){if(isDetailedError(e2)&&log.error(e2.str),mermaid.parseError&&mermaid.parseError(e2),!options.suppressErrors)throw log.error("Use the suppressErrors option to suppress these errors"),e2}},"run"),runThrowsErrors=__name(async function({postRenderCallback:postRenderCallback,querySelector:querySelector,nodes:nodes}={querySelector:".mermaid"}){const conf=mermaidAPI.getConfig();let nodesToProcess;if(log.debug((postRenderCallback?"":"No ")+"Callback function found"),nodes)nodesToProcess=nodes;else{if(!querySelector)throw new Error("Nodes and querySelector are both undefined");nodesToProcess=document.querySelectorAll(querySelector)}log.debug(`Found ${nodesToProcess.length} diagrams`),void 0!==(null==conf?void 0:conf.startOnLoad)&&(log.debug("Start On Load: "+(null==conf?void 0:conf.startOnLoad)),mermaidAPI.updateSiteConfig({startOnLoad:null==conf?void 0:conf.startOnLoad}));const idGenerator=new utils_default.InitIDGenerator(conf.deterministicIds,conf.deterministicIDSeed);let txt;const errors=[];for(const element of Array.from(nodesToProcess)){if(log.info("Rendering diagram: "+element.id),element.getAttribute("data-processed"))continue;element.setAttribute("data-processed","true");const id32=`mermaid-${idGenerator.next()}`;txt=element.innerHTML,txt=dedent(utils_default.entityDecode(txt)).trim().replace(/<br\s*\/?>/gi,"<br/>");const init2=utils_default.detectInit(txt);init2&&log.debug("Detected early reinit: ",init2);try{const{svg:svg,bindFunctions:bindFunctions}=await render2(id32,txt,element);element.innerHTML=svg,postRenderCallback&&await postRenderCallback(id32),bindFunctions&&bindFunctions(element)}catch(error){handleError(error,errors,mermaid.parseError)}}if(errors.length>0)throw errors[0]},"runThrowsErrors"),initialize2=__name(function(config2){mermaidAPI.initialize(config2)},"initialize"),init=__name(async function(config2,nodes,callback){log.warn("mermaid.init is deprecated. Please use run instead."),config2&&initialize2(config2);const runOptions={postRenderCallback:callback,querySelector:".mermaid"};"string"==typeof nodes?runOptions.querySelector=nodes:nodes&&(nodes instanceof HTMLElement?runOptions.nodes=[nodes]:runOptions.nodes=nodes),await run(runOptions)},"init"),registerExternalDiagrams=__name(async(diagrams2,{lazyLoad:lazyLoad=!0}={})=>{addDiagrams(),registerLazyLoadedDiagrams(...diagrams2),!1===lazyLoad&&await loadRegisteredDiagrams()},"registerExternalDiagrams"),contentLoaded=__name(function(){if(mermaid.startOnLoad){const{startOnLoad:startOnLoad}=mermaidAPI.getConfig();startOnLoad&&mermaid.run().catch(err=>log.error("Mermaid failed to initialize",err))}},"contentLoaded");"undefined"!=typeof document&&window.addEventListener("load",contentLoaded,!1);var setParseErrorHandler=__name(function(parseErrorHandler){mermaid.parseError=parseErrorHandler},"setParseErrorHandler"),executionQueue=[],executionQueueRunning=!1,executeQueue=__name(async()=>{if(!executionQueueRunning){for(executionQueueRunning=!0;executionQueue.length>0;){const f2=executionQueue.shift();if(f2)try{await f2()}catch(e2){log.error("Error executing queue",e2)}}executionQueueRunning=!1}},"executeQueue"),parse2=__name(async(text2,parseOptions)=>new Promise((resolve,reject)=>{const performCall=__name(()=>new Promise((res,rej)=>{mermaidAPI.parse(text2,parseOptions).then(r2=>{res(r2),resolve(r2)},e2=>{var _a2;log.error("Error parsing",e2),null==(_a2=mermaid.parseError)||_a2.call(mermaid,e2),rej(e2),reject(e2)})}),"performCall");executionQueue.push(performCall),executeQueue().catch(reject)}),"parse"),render2=__name((id32,text2,container)=>new Promise((resolve,reject)=>{const performCall=__name(()=>new Promise((res,rej)=>{mermaidAPI.render(id32,text2,container).then(r2=>{res(r2),resolve(r2)},e2=>{var _a2;log.error("Error parsing",e2),null==(_a2=mermaid.parseError)||_a2.call(mermaid,e2),rej(e2),reject(e2)})}),"performCall");executionQueue.push(performCall),executeQueue().catch(reject)}),"render"),mermaid={startOnLoad:!0,mermaidAPI:mermaidAPI,parse:parse2,render:render2,init:init,run:run,registerExternalDiagrams:registerExternalDiagrams,registerLayoutLoaders:registerLayoutLoaders,initialize:initialize2,parseError:void 0,contentLoaded:contentLoaded,setParseErrorHandler:setParseErrorHandler,detectType:detectType$1,registerIconPacks:registerIconPacks,getRegisteredDiagramsMetadata:__name(()=>Object.keys(detectors).map(id32=>({id:id32})),"getRegisteredDiagramsMetadata")},mermaid_default=mermaid;
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-KV5264BT-CxuHKd9a.js","assets/graph-BTcI3kpi.js","assets/_baseUniq-DGKwdzTD.js","assets/layout-Dp3N3WRT.js","assets/min-CDzial6q.js","assets/clone-Dnu1HdEX.js","assets/vendor-mdxeditor-BFiCaYAL.js","assets/vendor-antd-jGWxgt_-.js","assets/vendor-codemirror-9gysGjWj.js","assets/vendor-markdown-BFrYfpb0.js","assets/cose-bilkent-S5V4N54A-TwxpCIwM.js","assets/cytoscape.esm-CT1mZavR.js","assets/c4Diagram-AHTNJAMY-zdTsx1jJ.js","assets/chunk-YZCP3GAM-CbReBNg5.js","assets/flowDiagram-DWJPFMVM-C_SKJN0d.js","assets/chunk-FMBD7UC4-Dykxux6b.js","assets/chunk-55IACEB6-Cw2U09Tu.js","assets/chunk-EDXVE4YY-Cv-G70H7.js","assets/channel-Cq1UANGu.js","assets/erDiagram-SMLLAGMA-CklZI6kO.js","assets/gitGraphDiagram-UUTBAWPF-HarEJVSI.js","assets/chunk-4BX2VUAB-D6w9m5kB.js","assets/chunk-QZHKN3VN-CA1IccbG.js","assets/wardley-RL74JXVD-4PjirsHP.js","assets/ganttDiagram-T4ZO3ILL-ChhhqFiR.js","assets/linear-JU5ltHCp.js","assets/init-DMZMl1PR.js","assets/defaultLocale-DZ7E7S9R.js","assets/infoDiagram-42DDH7IO-DOcCtSEj.js","assets/pieDiagram-DEJITSTG-dMhPj5wG.js","assets/arc-nTLBi2ib.js","assets/ordinal-DA-_8pMy.js","assets/quadrantDiagram-34T5L4WZ-GCi1_zHo.js","assets/xychartDiagram-5P7HB3ND-Ct6fDXwq.js","assets/requirementDiagram-MS252O5E-WeErs64x.js","assets/sequenceDiagram-FGHM5R23-CAC5BKbx.js","assets/classDiagram-6PBFFD2Q-PgwmelQQ.js","assets/chunk-4TB4RGXK-DjZZc11c.js","assets/classDiagram-v2-HSJHXN6E-PgwmelQQ.js","assets/stateDiagram-FHFEXIEX-Cxrg604Z.js","assets/chunk-OYMX7WX6-Cn9oAaEC.js","assets/stateDiagram-v2-QKLJ7IA2-DaUpf340.js","assets/journeyDiagram-VCZTEJTY-BUv2Exj_.js","assets/timeline-definition-GMOUNBTQ-DbvXGDTU.js","assets/mindmap-definition-QFDTVHPH-DnhPHplB.js","assets/kanban-definition-6JOO6SKY-DwSHz9oV.js","assets/sankeyDiagram-XADWPNL6-BKpP6-8Q.js","assets/diagram-TYMM5635-Do2MhBCf.js","assets/diagram-MMDJMWI5-CqnrwtNB.js","assets/blockDiagram-DXYQGD6D-CpU6v2gv.js","assets/diagram-5BDNPKRD-BzR9Peib.js","assets/architectureDiagram-Q4EWVU46-pWWvthzV.js","assets/ishikawaDiagram-UXIWVN3A-Crb_pmG4.js","assets/vennDiagram-DHZGUBPP-BoIw-nWl.js","assets/diagram-G4DWMVQ6-PWFXrQqF.js","assets/wardleyDiagram-NUSXRM2D-C8RzJmfU.js"])))=>i.map(i=>d[i]);
2
+ var _a,_b,_c,_d,_e2,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p,__defProp=Object.defineProperty,__publicField=(obj,key,value)=>((obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value:value}):obj[key]=value)(obj,"symbol"!=typeof key?key+"":key,value);import{_ as __vitePreload}from"./vendor-mdxeditor-BFiCaYAL.js";import{O as dayjs2,a6 as serialize,a7 as stringify,a8 as compile}from"./vendor-antd-jGWxgt_-.js";import{p as purify}from"./vendor-markdown-BFrYfpb0.js";var __defProp2=Object.defineProperty,__name=(target,value)=>__defProp2(target,"name",{value:value,configurable:!0}),__export=(target,all)=>{for(var name in all)__defProp2(target,name,{get:all[name],enumerable:!0})},LEVELS={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},log={trace:__name((..._args)=>{},"trace"),debug:__name((..._args)=>{},"debug"),info:__name((..._args)=>{},"info"),warn:__name((..._args)=>{},"warn"),error:__name((..._args)=>{},"error"),fatal:__name((..._args)=>{},"fatal")},setLogLevel=__name(function(level="fatal"){let numericLevel=LEVELS.fatal;"string"==typeof level?level.toLowerCase()in LEVELS&&(numericLevel=LEVELS[level]):"number"==typeof level&&(numericLevel=level),log.trace=()=>{},log.debug=()=>{},log.info=()=>{},log.warn=()=>{},log.error=()=>{},log.fatal=()=>{},numericLevel<=LEVELS.fatal&&(log.fatal=console.error?console.error.bind(console,format("FATAL"),"color: orange"):console.log.bind(console,"",format("FATAL"))),numericLevel<=LEVELS.error&&(log.error=console.error?console.error.bind(console,format("ERROR"),"color: orange"):console.log.bind(console,"",format("ERROR"))),numericLevel<=LEVELS.warn&&(log.warn=console.warn?console.warn.bind(console,format("WARN"),"color: orange"):console.log.bind(console,"",format("WARN"))),numericLevel<=LEVELS.info&&(log.info=console.info?console.info.bind(console,format("INFO"),"color: lightblue"):console.log.bind(console,"",format("INFO"))),numericLevel<=LEVELS.debug&&(log.debug=console.debug?console.debug.bind(console,format("DEBUG"),"color: lightgreen"):console.log.bind(console,"",format("DEBUG"))),numericLevel<=LEVELS.trace&&(log.trace=console.debug?console.debug.bind(console,format("TRACE"),"color: lightgreen"):console.log.bind(console,"",format("TRACE")))},"setLogLevel"),format=__name(level=>`%c${dayjs2().format("ss.SSS")} : ${level} : `,"format");const Channel={min:{r:0,g:0,b:0,s:0,l:0,a:0},max:{r:255,g:255,b:255,h:360,s:100,l:100,a:1},clamp:{r:r2=>r2>=255?255:r2<0?0:r2,g:g2=>g2>=255?255:g2<0?0:g2,b:b2=>b2>=255?255:b2<0?0:b2,h:h2=>h2%360,s:s2=>s2>=100?100:s2<0?0:s2,l:l4=>l4>=100?100:l4<0?0:l4,a:a2=>a2>=1?1:a2<0?0:a2},toLinear:c2=>{const n2=c2/255;return c2>.03928?Math.pow((n2+.055)/1.055,2.4):n2/12.92},hue2rgb:(p2,q2,t2)=>(t2<0&&(t2+=1),t2>1&&(t2-=1),t2<1/6?p2+6*(q2-p2)*t2:t2<.5?q2:t2<2/3?p2+(q2-p2)*(2/3-t2)*6:p2),hsl2rgb:({h:h2,s:s2,l:l4},channel)=>{if(!s2)return 2.55*l4;h2/=360,s2/=100;const q2=(l4/=100)<.5?l4*(1+s2):l4+s2-l4*s2,p2=2*l4-q2;switch(channel){case"r":return 255*Channel.hue2rgb(p2,q2,h2+1/3);case"g":return 255*Channel.hue2rgb(p2,q2,h2);case"b":return 255*Channel.hue2rgb(p2,q2,h2-1/3)}},rgb2hsl:({r:r2,g:g2,b:b2},channel)=>{r2/=255,g2/=255,b2/=255;const max2=Math.max(r2,g2,b2),min2=Math.min(r2,g2,b2),l4=(max2+min2)/2;if("l"===channel)return 100*l4;if(max2===min2)return 0;const d2=max2-min2;if("s"===channel)return 100*(l4>.5?d2/(2-max2-min2):d2/(max2+min2));switch(max2){case r2:return 60*((g2-b2)/d2+(g2<b2?6:0));case g2:return 60*((b2-r2)/d2+2);case b2:return 60*((r2-g2)/d2+4);default:return-1}}},Utils={channel:Channel,lang:{clamp:(number,lower2,upper)=>lower2>upper?Math.min(lower2,Math.max(upper,number)):Math.min(upper,Math.max(lower2,number)),round:number=>Math.round(1e10*number)/1e10},unit:{dec2hex:dec=>{const hex2=Math.round(dec).toString(16);return hex2.length>1?hex2:`0${hex2}`}}},DEC2HEX={};for(let i2=0;i2<=255;i2++)DEC2HEX[i2]=Utils.unit.dec2hex(i2);const TYPE_ALL=0,TYPE_RGB=1,TYPE_HSL=2;class Type{constructor(){this.type=TYPE_ALL}get(){return this.type}set(type2){if(this.type&&this.type!==type2)throw new Error("Cannot change both RGB and HSL channels at the same time");this.type=type2}reset(){this.type=TYPE_ALL}is(type2){return this.type===type2}}const channels=new class{constructor(data,color2){this.color=color2,this.changed=!1,this.data=data,this.type=new Type}set(data,color2){return this.color=color2,this.changed=!1,this.data=data,this.type.type=TYPE_ALL,this}_ensureHSL(){const data=this.data,{h:h2,s:s2,l:l4}=data;void 0===h2&&(data.h=Utils.channel.rgb2hsl(data,"h")),void 0===s2&&(data.s=Utils.channel.rgb2hsl(data,"s")),void 0===l4&&(data.l=Utils.channel.rgb2hsl(data,"l"))}_ensureRGB(){const data=this.data,{r:r2,g:g2,b:b2}=data;void 0===r2&&(data.r=Utils.channel.hsl2rgb(data,"r")),void 0===g2&&(data.g=Utils.channel.hsl2rgb(data,"g")),void 0===b2&&(data.b=Utils.channel.hsl2rgb(data,"b"))}get r(){const data=this.data,r2=data.r;return this.type.is(TYPE_HSL)||void 0===r2?(this._ensureHSL(),Utils.channel.hsl2rgb(data,"r")):r2}get g(){const data=this.data,g2=data.g;return this.type.is(TYPE_HSL)||void 0===g2?(this._ensureHSL(),Utils.channel.hsl2rgb(data,"g")):g2}get b(){const data=this.data,b2=data.b;return this.type.is(TYPE_HSL)||void 0===b2?(this._ensureHSL(),Utils.channel.hsl2rgb(data,"b")):b2}get h(){const data=this.data,h2=data.h;return this.type.is(TYPE_RGB)||void 0===h2?(this._ensureRGB(),Utils.channel.rgb2hsl(data,"h")):h2}get s(){const data=this.data,s2=data.s;return this.type.is(TYPE_RGB)||void 0===s2?(this._ensureRGB(),Utils.channel.rgb2hsl(data,"s")):s2}get l(){const data=this.data,l4=data.l;return this.type.is(TYPE_RGB)||void 0===l4?(this._ensureRGB(),Utils.channel.rgb2hsl(data,"l")):l4}get a(){return this.data.a}set r(r2){this.type.set(TYPE_RGB),this.changed=!0,this.data.r=r2}set g(g2){this.type.set(TYPE_RGB),this.changed=!0,this.data.g=g2}set b(b2){this.type.set(TYPE_RGB),this.changed=!0,this.data.b=b2}set h(h2){this.type.set(TYPE_HSL),this.changed=!0,this.data.h=h2}set s(s2){this.type.set(TYPE_HSL),this.changed=!0,this.data.s=s2}set l(l4){this.type.set(TYPE_HSL),this.changed=!0,this.data.l=l4}set a(a2){this.changed=!0,this.data.a=a2}}({r:0,g:0,b:0,a:0},"transparent"),Hex={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:color2=>{if(35!==color2.charCodeAt(0))return;const match=color2.match(Hex.re);if(!match)return;const hex2=match[1],dec=parseInt(hex2,16),length=hex2.length,hasAlpha=length%4==0,isFullLength=length>4,multiplier=isFullLength?1:17,bits=isFullLength?8:4,bitsOffset=hasAlpha?0:-1,mask=isFullLength?255:15;return channels.set({r:(dec>>bits*(bitsOffset+3)&mask)*multiplier,g:(dec>>bits*(bitsOffset+2)&mask)*multiplier,b:(dec>>bits*(bitsOffset+1)&mask)*multiplier,a:hasAlpha?(dec&mask)*multiplier/255:1},color2)},stringify:channels2=>{const{r:r2,g:g2,b:b2,a:a2}=channels2;return a2<1?`#${DEC2HEX[Math.round(r2)]}${DEC2HEX[Math.round(g2)]}${DEC2HEX[Math.round(b2)]}${DEC2HEX[Math.round(255*a2)]}`:`#${DEC2HEX[Math.round(r2)]}${DEC2HEX[Math.round(g2)]}${DEC2HEX[Math.round(b2)]}`}},HSL={re:/^hsla?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(?:deg|grad|rad|turn)?)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?%)(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e-?\d+)?(%)?))?\s*?\)$/i,hueRe:/^(.+?)(deg|grad|rad|turn)$/i,_hue2deg:hue2=>{const match=hue2.match(HSL.hueRe);if(match){const[,number,unit]=match;switch(unit){case"grad":return Utils.channel.clamp.h(.9*parseFloat(number));case"rad":return Utils.channel.clamp.h(180*parseFloat(number)/Math.PI);case"turn":return Utils.channel.clamp.h(360*parseFloat(number))}}return Utils.channel.clamp.h(parseFloat(hue2))},parse:color2=>{const charCode=color2.charCodeAt(0);if(104!==charCode&&72!==charCode)return;const match=color2.match(HSL.re);if(!match)return;const[,h2,s2,l4,a2,isAlphaPercentage]=match;return channels.set({h:HSL._hue2deg(h2),s:Utils.channel.clamp.s(parseFloat(s2)),l:Utils.channel.clamp.l(parseFloat(l4)),a:a2?Utils.channel.clamp.a(isAlphaPercentage?parseFloat(a2)/100:parseFloat(a2)):1},color2)},stringify:channels2=>{const{h:h2,s:s2,l:l4,a:a2}=channels2;return a2<1?`hsla(${Utils.lang.round(h2)}, ${Utils.lang.round(s2)}%, ${Utils.lang.round(l4)}%, ${a2})`:`hsl(${Utils.lang.round(h2)}, ${Utils.lang.round(s2)}%, ${Utils.lang.round(l4)}%)`}},Keyword={colors:{aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyanaqua:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",transparent:"#00000000",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},parse:color2=>{color2=color2.toLowerCase();const hex2=Keyword.colors[color2];if(hex2)return Hex.parse(hex2)},stringify:channels2=>{const hex2=Hex.stringify(channels2);for(const name in Keyword.colors)if(Keyword.colors[name]===hex2)return name}},RGB={re:/^rgba?\(\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))\s*?(?:,|\s)\s*?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?))(?:\s*?(?:,|\/)\s*?\+?(-?(?:\d+(?:\.\d+)?|(?:\.\d+))(?:e\d+)?(%?)))?\s*?\)$/i,parse:color2=>{const charCode=color2.charCodeAt(0);if(114!==charCode&&82!==charCode)return;const match=color2.match(RGB.re);if(!match)return;const[,r2,isRedPercentage,g2,isGreenPercentage,b2,isBluePercentage,a2,isAlphaPercentage]=match;return channels.set({r:Utils.channel.clamp.r(isRedPercentage?2.55*parseFloat(r2):parseFloat(r2)),g:Utils.channel.clamp.g(isGreenPercentage?2.55*parseFloat(g2):parseFloat(g2)),b:Utils.channel.clamp.b(isBluePercentage?2.55*parseFloat(b2):parseFloat(b2)),a:a2?Utils.channel.clamp.a(isAlphaPercentage?parseFloat(a2)/100:parseFloat(a2)):1},color2)},stringify:channels2=>{const{r:r2,g:g2,b:b2,a:a2}=channels2;return a2<1?`rgba(${Utils.lang.round(r2)}, ${Utils.lang.round(g2)}, ${Utils.lang.round(b2)}, ${Utils.lang.round(a2)})`:`rgb(${Utils.lang.round(r2)}, ${Utils.lang.round(g2)}, ${Utils.lang.round(b2)})`}},Color$1={format:{keyword:Keyword,hex:Hex,rgb:RGB,rgba:RGB,hsl:HSL,hsla:HSL},parse:color2=>{if("string"!=typeof color2)return color2;const channels2=Hex.parse(color2)||RGB.parse(color2)||HSL.parse(color2)||Keyword.parse(color2);if(channels2)return channels2;throw new Error(`Unsupported color format: "${color2}"`)},stringify:channels2=>!channels2.changed&&channels2.color?channels2.color:channels2.type.is(TYPE_HSL)||void 0===channels2.data.r?HSL.stringify(channels2):channels2.a<1||!Number.isInteger(channels2.r)||!Number.isInteger(channels2.g)||!Number.isInteger(channels2.b)?RGB.stringify(channels2):Hex.stringify(channels2)},change=(color2,channels2)=>{const ch=Color$1.parse(color2);for(const c2 in channels2)ch[c2]=Utils.channel.clamp[c2](channels2[c2]);return Color$1.stringify(ch)},rgba$1=(r2,g2,b2=0,a2=1)=>{if("number"!=typeof r2)return change(r2,{a:g2});const channels$1=channels.set({r:Utils.channel.clamp.r(r2),g:Utils.channel.clamp.g(g2),b:Utils.channel.clamp.b(b2),a:Utils.channel.clamp.a(a2)});return Color$1.stringify(channels$1)},isLight=color2=>(color2=>{const{r:r2,g:g2,b:b2}=Color$1.parse(color2),luminance2=.2126*Utils.channel.toLinear(r2)+.7152*Utils.channel.toLinear(g2)+.0722*Utils.channel.toLinear(b2);return Utils.lang.round(luminance2)})(color2)>=.5,isDark=color2=>!isLight(color2),adjustChannel=(color2,channel,amount)=>{const channels2=Color$1.parse(color2),amountCurrent=channels2[channel],amountNext=Utils.channel.clamp[channel](amountCurrent+amount);return amountCurrent!==amountNext&&(channels2[channel]=amountNext),Color$1.stringify(channels2)},lighten=(color2,amount)=>adjustChannel(color2,"l",amount),darken=(color2,amount)=>adjustChannel(color2,"l",-amount),adjust=(color2,channels2)=>{const ch=Color$1.parse(color2),changes={};for(const c2 in channels2)channels2[c2]&&(changes[c2]=ch[c2]+channels2[c2]);return change(color2,changes)},invert=(color2,weight=100)=>{const inverse=Color$1.parse(color2);return inverse.r=255-inverse.r,inverse.g=255-inverse.g,inverse.b=255-inverse.b,((color1,color2,weight=50)=>{const{r:r1,g:g1,b:b1,a:a1}=Color$1.parse(color1),{r:r2,g:g2,b:b2,a:a2}=Color$1.parse(color2),weightScale=weight/100,weightNormalized=2*weightScale-1,alphaDelta=a1-a2,weight1=((weightNormalized*alphaDelta===-1?weightNormalized:(weightNormalized+alphaDelta)/(1+weightNormalized*alphaDelta))+1)/2,weight2=1-weight1;return rgba$1(r1*weight1+r2*weight2,g1*weight1+g2*weight2,b1*weight1+b2*weight2,a1*weightScale+a2*(1-weightScale))})(inverse,color2,weight)};var configFromInitialize,frontMatterRegex=/^-{3}\s*[\n\r](.*?)[\n\r]-{3}\s*[\n\r]+/s,directiveRegex=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,anyCommentRegex=/\s*%%.*\n/gm,UnknownDiagramError=(_a=class extends Error{constructor(message){super(message),this.name="UnknownDiagramError"}},__name(_a,"UnknownDiagramError"),_a),detectors={},detectType$1=__name(function(text2,config2){text2=text2.replace(frontMatterRegex,"").replace(directiveRegex,"").replace(anyCommentRegex,"\n");for(const[key,{detector:detector32}]of Object.entries(detectors)){if(detector32(text2,config2))return key}throw new UnknownDiagramError(`No diagram type detected matching given configuration for text: ${text2}`)},"detectType"),registerLazyLoadedDiagrams=__name((...diagrams2)=>{for(const{id:id32,detector:detector32,loader:loader32}of diagrams2)addDetector(id32,detector32,loader32)},"registerLazyLoadedDiagrams"),addDetector=__name((key,detector32,loader32)=>{detectors[key]&&log.warn(`Detector with key ${key} already exists. Overwriting.`),detectors[key]={detector:detector32,loader:loader32},log.debug(`Detector with key ${key} added${loader32?" with loader":""}`)},"addDetector"),getDiagramLoader=__name(key=>detectors[key].loader,"getDiagramLoader"),assignWithDepth=__name((dst,src,{depth:depth=2,clobber:clobber=!1}={})=>{const config2={depth:depth,clobber:clobber};return Array.isArray(src)&&!Array.isArray(dst)?(src.forEach(s2=>assignWithDepth(dst,s2,config2)),dst):Array.isArray(src)&&Array.isArray(dst)?(src.forEach(s2=>{dst.includes(s2)||dst.push(s2)}),dst):void 0===dst||depth<=0?null!=dst&&"object"==typeof dst&&"object"==typeof src?Object.assign(dst,src):src:(void 0!==src&&"object"==typeof dst&&"object"==typeof src&&Object.keys(src).forEach(key=>{"object"!=typeof src[key]||null===src[key]||void 0!==dst[key]&&"object"!=typeof dst[key]?(clobber||"object"!=typeof dst[key]&&"object"!=typeof src[key])&&(dst[key]=src[key]):(void 0===dst[key]&&(dst[key]=Array.isArray(src[key])?[]:{}),dst[key]=assignWithDepth(dst[key],src[key],{depth:depth-1,clobber:clobber}))}),dst)},"assignWithDepth"),assignWithDepth_default=assignWithDepth,mkBorder=__name((col,darkMode)=>adjust(col,darkMode?{s:-40,l:10}:{s:-40,l:-10}),"mkBorder"),Theme=(__name(_b=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2,_l2,_m2,_n2,_o2,_p2,_q,_r,_s,_t,_u,_v;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||adjust(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||adjust(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||mkBorder(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||mkBorder(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||invert(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||invert(this.tertiaryColor),this.lineColor=this.lineColor||invert(this.background),this.arrowheadColor=this.arrowheadColor||invert(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||darken(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||invert(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||lighten(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||"navy",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||darken(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||darken(this.mainBkg,10)):(this.rowOdd=this.rowOdd||lighten(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||lighten(this.mainBkg,5)),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||this.tertiaryColor,this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||adjust(this.primaryColor,{h:30}),this.cScale4=this.cScale4||adjust(this.primaryColor,{h:60}),this.cScale5=this.cScale5||adjust(this.primaryColor,{h:90}),this.cScale6=this.cScale6||adjust(this.primaryColor,{h:120}),this.cScale7=this.cScale7||adjust(this.primaryColor,{h:150}),this.cScale8=this.cScale8||adjust(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||adjust(this.primaryColor,{h:270}),this.cScale10=this.cScale10||adjust(this.primaryColor,{h:300}),this.cScale11=this.cScale11||adjust(this.primaryColor,{h:330}),this.darkMode)for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],75);else for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],25);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;const multiplier=this.darkMode?-4:-1;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(5+3*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(8+3*i2)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||adjust(this.primaryColor,{h:64}),this.fillType3=this.fillType3||adjust(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||adjust(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||adjust(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||adjust(this.primaryColor,{h:128}),this.fillType7=this.fillType7||adjust(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||adjust(this.primaryColor,{l:-10}),this.pie5=this.pie5||adjust(this.secondaryColor,{l:-10}),this.pie6=this.pie6||adjust(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||adjust(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||adjust(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||adjust(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||adjust(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||adjust(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||adjust(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??adjust(this.primaryColor,{l:-30}),this.venn2=this.venn2??adjust(this.secondaryColor,{l:-30}),this.venn3=this.venn3??adjust(this.tertiaryColor,{l:-30}),this.venn4=this.venn4??adjust(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??adjust(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??adjust(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??adjust(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??adjust(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.radar={axisColor:(null==(_a2=this.radar)?void 0:_a2.axisColor)||this.lineColor,axisStrokeWidth:(null==(_b2=this.radar)?void 0:_b2.axisStrokeWidth)||2,axisLabelFontSize:(null==(_c2=this.radar)?void 0:_c2.axisLabelFontSize)||12,curveOpacity:(null==(_d2=this.radar)?void 0:_d2.curveOpacity)||.5,curveStrokeWidth:(null==(_e3=this.radar)?void 0:_e3.curveStrokeWidth)||2,graticuleColor:(null==(_f2=this.radar)?void 0:_f2.graticuleColor)||"#DEDEDE",graticuleStrokeWidth:(null==(_g2=this.radar)?void 0:_g2.graticuleStrokeWidth)||1,graticuleOpacity:(null==(_h2=this.radar)?void 0:_h2.graticuleOpacity)||.3,legendBoxSize:(null==(_i2=this.radar)?void 0:_i2.legendBoxSize)||12,legendFontSize:(null==(_j2=this.radar)?void 0:_j2.legendFontSize)||12},this.archEdgeColor=this.archEdgeColor||"#777",this.archEdgeArrowColor=this.archEdgeArrowColor||"#777",this.archEdgeWidth=this.archEdgeWidth||"3",this.archGroupBorderColor=this.archGroupBorderColor||"#000",this.archGroupBorderWidth=this.archGroupBorderWidth||"2px",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_k2=this.xyChart)?void 0:_k2.backgroundColor)||this.background,titleColor:(null==(_l2=this.xyChart)?void 0:_l2.titleColor)||this.primaryTextColor,dataLabelColor:(null==(_m2=this.xyChart)?void 0:_m2.dataLabelColor)||this.primaryTextColor,xAxisTitleColor:(null==(_n2=this.xyChart)?void 0:_n2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_o2=this.xyChart)?void 0:_o2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_p2=this.xyChart)?void 0:_p2.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_q=this.xyChart)?void 0:_q.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_r=this.xyChart)?void 0:_r.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_s=this.xyChart)?void 0:_s.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_t=this.xyChart)?void 0:_t.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_u=this.xyChart)?void 0:_u.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_v=this.xyChart)?void 0:_v.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||adjust(this.primaryColor,{h:-30}),this.git4=this.git4||adjust(this.primaryColor,{h:-60}),this.git5=this.git5||adjust(this.primaryColor,{h:-90}),this.git6=this.git6||adjust(this.primaryColor,{h:60}),this.git7=this.git7||adjust(this.primaryColor,{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2",this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_b),getThemeVariables=__name(userOverrides=>{const theme=new Theme;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme2=(__name(_c=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=lighten(this.primaryColor,16),this.tertiaryColor=adjust(this.primaryColor,{h:-160}),this.primaryBorderColor=invert(this.background),this.secondaryBorderColor=mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=mkBorder(this.tertiaryColor,this.darkMode),this.primaryTextColor=invert(this.primaryColor),this.secondaryTextColor=invert(this.secondaryColor),this.tertiaryTextColor=invert(this.tertiaryColor),this.lineColor=invert(this.background),this.textColor=invert(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=lighten(invert("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=rgba$1(255,255,255,.25),this.arrowheadColor="calculated",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#F9FFFE",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="calculated",this.activationBkgColor="calculated",this.sequenceNumberColor="black",this.clusterBkg="#302F3D",this.sectionBkgColor=darken("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=darken(this.sectionBkgColor,10),this.taskBorderColor=rgba$1(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=rgba$1(255,255,255,50),this.activeTaskBkgColor="#81B1DB",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="grey",this.critBorderColor="#E83737",this.critBkgColor="#E83737",this.taskTextDarkColor="calculated",this.todayLineColor="#DB5757",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||lighten(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||darken(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2,_l2,_m2,_n2,_o2,_p2,_q,_r,_s,_t,_u,_v;this.secondBkg=lighten(this.mainBkg,16),this.lineColor=this.mainContrastColor,this.arrowheadColor=this.mainContrastColor,this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.edgeLabelBackground=lighten(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,this.signalColor=this.mainContrastColor,this.signalTextColor=this.mainContrastColor,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.mainContrastColor,this.loopTextColor=this.mainContrastColor,this.noteBorderColor=this.secondaryBorderColor,this.noteBkgColor=this.secondBkg,this.noteTextColor=this.secondaryTextColor,this.activationBorderColor=this.border1,this.activationBkgColor=this.secondBkg,this.altSectionBkgColor=this.background,this.taskBkgColor=lighten(this.mainBkg,23),this.taskTextColor=this.darkTextColor,this.taskTextLightColor=this.mainContrastColor,this.taskTextOutsideColor=this.taskTextLightColor,this.gridColor=this.mainContrastColor,this.doneTaskBkgColor=this.mainContrastColor,this.taskTextDarkColor=invert(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#555",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#f4f4f4",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=adjust(this.primaryColor,{h:64}),this.fillType3=adjust(this.secondaryColor,{h:64}),this.fillType4=adjust(this.primaryColor,{h:-64}),this.fillType5=adjust(this.secondaryColor,{h:-64}),this.fillType6=adjust(this.primaryColor,{h:128}),this.fillType7=adjust(this.secondaryColor,{h:128}),this.cScale1=this.cScale1||"#0b0000",this.cScale2=this.cScale2||"#4d1037",this.cScale3=this.cScale3||"#3f5258",this.cScale4=this.cScale4||"#4f2f1b",this.cScale5=this.cScale5||"#6e0a0a",this.cScale6=this.cScale6||"#3b0048",this.cScale7=this.cScale7||"#995a01",this.cScale8=this.cScale8||"#154706",this.cScale9=this.cScale9||"#161722",this.cScale10=this.cScale10||"#00296f",this.cScale11=this.cScale11||"#01629c",this.cScale12=this.cScale12||"#010029",this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||adjust(this.primaryColor,{h:30}),this.cScale4=this.cScale4||adjust(this.primaryColor,{h:60}),this.cScale5=this.cScale5||adjust(this.primaryColor,{h:90}),this.cScale6=this.cScale6||adjust(this.primaryColor,{h:120}),this.cScale7=this.cScale7||adjust(this.primaryColor,{h:150}),this.cScale8=this.cScale8||adjust(this.primaryColor,{h:210}),this.cScale9=this.cScale9||adjust(this.primaryColor,{h:270}),this.cScale10=this.cScale10||adjust(this.primaryColor,{h:300}),this.cScale11=this.cScale11||adjust(this.primaryColor,{h:330});for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10);for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:30,s:-30,l:-(4*i2-10)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:30,s:-30,l:-(4*i2-7)});this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["pie"+i2]=this["cScale"+i2];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.mainContrastColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.mainContrastColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let i2=0;i2<8;i2++)this["venn"+(i2+1)]=this["venn"+(i2+1)]??lighten(this["cScale"+i2],30);this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,dataLabelColor:(null==(_c2=this.xyChart)?void 0:_c2.dataLabelColor)||this.primaryTextColor,xAxisTitleColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_g2=this.xyChart)?void 0:_g2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_k2=this.xyChart)?void 0:_k2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_l2=this.xyChart)?void 0:_l2.plotColorPalette)||"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22"},this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.background},this.radar={axisColor:(null==(_m2=this.radar)?void 0:_m2.axisColor)||this.lineColor,axisStrokeWidth:(null==(_n2=this.radar)?void 0:_n2.axisStrokeWidth)||2,axisLabelFontSize:(null==(_o2=this.radar)?void 0:_o2.axisLabelFontSize)||12,curveOpacity:(null==(_p2=this.radar)?void 0:_p2.curveOpacity)||.5,curveStrokeWidth:(null==(_q=this.radar)?void 0:_q.curveStrokeWidth)||2,graticuleColor:(null==(_r=this.radar)?void 0:_r.graticuleColor)||"#DEDEDE",graticuleStrokeWidth:(null==(_s=this.radar)?void 0:_s.graticuleStrokeWidth)||1,graticuleOpacity:(null==(_t=this.radar)?void 0:_t.graticuleOpacity)||.3,legendBoxSize:(null==(_u=this.radar)?void 0:_u.legendBoxSize)||12,legendFontSize:(null==(_v=this.radar)?void 0:_v.legendFontSize)||12},this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=lighten(this.secondaryColor,20),this.git1=lighten(this.pie2||this.secondaryColor,20),this.git2=lighten(this.pie3||this.tertiaryColor,20),this.git3=lighten(this.pie4||adjust(this.primaryColor,{h:-30}),20),this.git4=lighten(this.pie5||adjust(this.primaryColor,{h:-60}),20),this.git5=lighten(this.pie6||adjust(this.primaryColor,{h:-90}),10),this.git6=lighten(this.pie7||adjust(this.primaryColor,{h:60}),10),this.git7=lighten(this.pie8||adjust(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||invert(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||invert(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||lighten(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||lighten(this.background,2),this.nodeBorder=this.nodeBorder||"#999"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_c),getThemeVariables2=__name(userOverrides=>{const theme=new Theme2;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme3=(__name(_d=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=adjust(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=adjust(this.primaryColor,{h:-160}),this.primaryBorderColor=mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=mkBorder(this.tertiaryColor,this.darkMode),this.primaryTextColor=invert(this.primaryColor),this.secondaryTextColor=invert(this.secondaryColor),this.tertiaryTextColor=invert(this.tertiaryColor),this.lineColor=invert(this.background),this.textColor=invert(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=mkBorder(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="calculated",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",this.sectionBkgColor="calculated",this.altSectionBkgColor="calculated",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="calculated",this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor="calculated",this.taskTextOutsideColor=this.taskTextDarkColor,this.taskTextClickableColor="calculated",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBorderColor="calculated",this.critBkgColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.sectionBkgColor=rgba$1(102,102,255,.49),this.altSectionBkgColor="white",this.sectionBkgColor2="#fff400",this.taskBorderColor="#534fbc",this.taskBkgColor="#8a90dd",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="#534fbc",this.activeTaskBkgColor="#bfc7ff",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2,_l2,_m2,_n2,_o2,_p2,_q,_r,_s,_t,_u,_v;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||adjust(this.primaryColor,{h:30}),this.cScale4=this.cScale4||adjust(this.primaryColor,{h:60}),this.cScale5=this.cScale5||adjust(this.primaryColor,{h:90}),this.cScale6=this.cScale6||adjust(this.primaryColor,{h:120}),this.cScale7=this.cScale7||adjust(this.primaryColor,{h:150}),this.cScale8=this.cScale8||adjust(this.primaryColor,{h:210}),this.cScale9=this.cScale9||adjust(this.primaryColor,{h:270}),this.cScale10=this.cScale10||adjust(this.primaryColor,{h:300}),this.cScale11=this.cScale11||adjust(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||darken(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||darken(this.tertiaryColor,40);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],10),this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],25);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||adjust(this["cScale"+i2],{h:180});for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:30,l:-(5+5*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:30,l:-(7+5*i2)});if(this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,"calculated"!==this.labelTextColor){this.cScaleLabel0=this.cScaleLabel0||invert(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||invert(this.labelTextColor);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.rowOdd=this.rowOdd||lighten(this.primaryColor,75)||"#ffffff",this.rowEven=this.rowEven||lighten(this.primaryColor,1),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=adjust(this.primaryColor,{h:64}),this.fillType3=adjust(this.secondaryColor,{h:64}),this.fillType4=adjust(this.primaryColor,{h:-64}),this.fillType5=adjust(this.secondaryColor,{h:-64}),this.fillType6=adjust(this.primaryColor,{h:128}),this.fillType7=adjust(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||adjust(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||adjust(this.primaryColor,{l:-10}),this.pie5=this.pie5||adjust(this.secondaryColor,{l:-30}),this.pie6=this.pie6||adjust(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||adjust(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||adjust(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||adjust(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||adjust(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||adjust(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||adjust(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??adjust(this.primaryColor,{l:-30}),this.venn2=this.venn2??adjust(this.secondaryColor,{l:-30}),this.venn3=this.venn3??adjust(this.tertiaryColor,{l:-40}),this.venn4=this.venn4??adjust(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??adjust(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??adjust(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??adjust(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??adjust(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.radar={axisColor:(null==(_a2=this.radar)?void 0:_a2.axisColor)||this.lineColor,axisStrokeWidth:(null==(_b2=this.radar)?void 0:_b2.axisStrokeWidth)||2,axisLabelFontSize:(null==(_c2=this.radar)?void 0:_c2.axisLabelFontSize)||12,curveOpacity:(null==(_d2=this.radar)?void 0:_d2.curveOpacity)||.5,curveStrokeWidth:(null==(_e3=this.radar)?void 0:_e3.curveStrokeWidth)||2,graticuleColor:(null==(_f2=this.radar)?void 0:_f2.graticuleColor)||"#DEDEDE",graticuleStrokeWidth:(null==(_g2=this.radar)?void 0:_g2.graticuleStrokeWidth)||1,graticuleOpacity:(null==(_h2=this.radar)?void 0:_h2.graticuleOpacity)||.3,legendBoxSize:(null==(_i2=this.radar)?void 0:_i2.legendBoxSize)||12,legendFontSize:(null==(_j2=this.radar)?void 0:_j2.legendFontSize)||12},this.xyChart={backgroundColor:(null==(_k2=this.xyChart)?void 0:_k2.backgroundColor)||this.background,titleColor:(null==(_l2=this.xyChart)?void 0:_l2.titleColor)||this.primaryTextColor,dataLabelColor:(null==(_m2=this.xyChart)?void 0:_m2.dataLabelColor)||this.primaryTextColor,xAxisTitleColor:(null==(_n2=this.xyChart)?void 0:_n2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_o2=this.xyChart)?void 0:_o2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_p2=this.xyChart)?void 0:_p2.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_q=this.xyChart)?void 0:_q.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_r=this.xyChart)?void 0:_r.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_s=this.xyChart)?void 0:_s.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_t=this.xyChart)?void 0:_t.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_u=this.xyChart)?void 0:_u.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_v=this.xyChart)?void 0:_v.plotColorPalette)||"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||adjust(this.primaryColor,{h:-30}),this.git4=this.git4||adjust(this.primaryColor,{h:-60}),this.git5=this.git5||adjust(this.primaryColor,{h:-90}),this.git6=this.git6||adjust(this.primaryColor,{h:60}),this.git7=this.git7||adjust(this.primaryColor,{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||darken(invert(this.git0),25),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||invert(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||invert(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if(Object.keys(this).forEach(k2=>{"calculated"===this[k2]&&(this[k2]=void 0)}),"object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_d),getThemeVariables3=__name(userOverrides=>{const theme=new Theme3;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme4=(__name(_e2=class{constructor(){this.background="#f4f4f4",this.primaryColor="#cde498",this.secondaryColor="#cdffb2",this.background="white",this.mainBkg="#cde498",this.secondBkg="#cdffb2",this.lineColor="green",this.border1="#13540c",this.border2="#6eaa49",this.arrowheadColor="green",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.tertiaryColor=lighten("#cde498",10),this.primaryBorderColor=mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=mkBorder(this.tertiaryColor,this.darkMode),this.primaryTextColor=invert(this.primaryColor),this.secondaryTextColor=invert(this.secondaryColor),this.tertiaryTextColor=invert(this.primaryColor),this.lineColor=invert(this.background),this.textColor=invert(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="#333",this.edgeLabelBackground="#e8e8e8",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="black",this.actorLineColor="calculated",this.signalColor="#333",this.signalTextColor="#333",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="#326932",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="#fff5ad",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="#6eaa49",this.altSectionBkgColor="white",this.sectionBkgColor2="#6eaa49",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="#487e3a",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="black",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="lightgrey",this.doneTaskBkgColor="lightgrey",this.doneTaskBorderColor="grey",this.critBorderColor="#ff8888",this.critBkgColor="red",this.todayLineColor="red",this.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2,_l2,_m2,_n2,_o2,_p2,_q,_r,_s,_t,_u,_v;this.actorBorder=darken(this.mainBkg,20),this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||adjust(this.primaryColor,{h:30}),this.cScale4=this.cScale4||adjust(this.primaryColor,{h:60}),this.cScale5=this.cScale5||adjust(this.primaryColor,{h:90}),this.cScale6=this.cScale6||adjust(this.primaryColor,{h:120}),this.cScale7=this.cScale7||adjust(this.primaryColor,{h:150}),this.cScale8=this.cScale8||adjust(this.primaryColor,{h:210}),this.cScale9=this.cScale9||adjust(this.primaryColor,{h:270}),this.cScale10=this.cScale10||adjust(this.primaryColor,{h:300}),this.cScale11=this.cScale11||adjust(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||darken(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||darken(this.tertiaryColor,40);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],10),this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],25);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||adjust(this["cScale"+i2],{h:180});this.scaleLabelColor="calculated"!==this.scaleLabelColor&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:30,s:-30,l:-(5+5*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:30,s:-30,l:-(8+5*i2)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.rowOdd=this.rowOdd||lighten(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||lighten(this.mainBkg,20),this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=adjust(this.primaryColor,{h:64}),this.fillType3=adjust(this.secondaryColor,{h:64}),this.fillType4=adjust(this.primaryColor,{h:-64}),this.fillType5=adjust(this.secondaryColor,{h:-64}),this.fillType6=adjust(this.primaryColor,{h:128}),this.fillType7=adjust(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||adjust(this.primaryColor,{l:-30}),this.pie5=this.pie5||adjust(this.secondaryColor,{l:-30}),this.pie6=this.pie6||adjust(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||adjust(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||adjust(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||adjust(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||adjust(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||adjust(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||adjust(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??adjust(this.primaryColor,{l:-30}),this.venn2=this.venn2??adjust(this.secondaryColor,{l:-30}),this.venn3=this.venn3??adjust(this.tertiaryColor,{l:-30}),this.venn4=this.venn4??adjust(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??adjust(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??adjust(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??adjust(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??adjust(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.mainBkg},this.radar={axisColor:(null==(_a2=this.radar)?void 0:_a2.axisColor)||this.lineColor,axisStrokeWidth:(null==(_b2=this.radar)?void 0:_b2.axisStrokeWidth)||2,axisLabelFontSize:(null==(_c2=this.radar)?void 0:_c2.axisLabelFontSize)||12,curveOpacity:(null==(_d2=this.radar)?void 0:_d2.curveOpacity)||.5,curveStrokeWidth:(null==(_e3=this.radar)?void 0:_e3.curveStrokeWidth)||2,graticuleColor:(null==(_f2=this.radar)?void 0:_f2.graticuleColor)||"#DEDEDE",graticuleStrokeWidth:(null==(_g2=this.radar)?void 0:_g2.graticuleStrokeWidth)||1,graticuleOpacity:(null==(_h2=this.radar)?void 0:_h2.graticuleOpacity)||.3,legendBoxSize:(null==(_i2=this.radar)?void 0:_i2.legendBoxSize)||12,legendFontSize:(null==(_j2=this.radar)?void 0:_j2.legendFontSize)||12},this.xyChart={backgroundColor:(null==(_k2=this.xyChart)?void 0:_k2.backgroundColor)||this.background,titleColor:(null==(_l2=this.xyChart)?void 0:_l2.titleColor)||this.primaryTextColor,dataLabelColor:(null==(_m2=this.xyChart)?void 0:_m2.dataLabelColor)||this.primaryTextColor,xAxisTitleColor:(null==(_n2=this.xyChart)?void 0:_n2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_o2=this.xyChart)?void 0:_o2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_p2=this.xyChart)?void 0:_p2.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_q=this.xyChart)?void 0:_q.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_r=this.xyChart)?void 0:_r.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_s=this.xyChart)?void 0:_s.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_t=this.xyChart)?void 0:_t.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_u=this.xyChart)?void 0:_u.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_v=this.xyChart)?void 0:_v.plotColorPalette)||"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||adjust(this.primaryColor,{h:-30}),this.git4=this.git4||adjust(this.primaryColor,{h:-60}),this.git5=this.git5||adjust(this.primaryColor,{h:-90}),this.git6=this.git6||adjust(this.primaryColor,{h:60}),this.git7=this.git7||adjust(this.primaryColor,{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||invert(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||invert(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_e2),getThemeVariables4=__name(userOverrides=>{const theme=new Theme4;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme5=(__name(_f=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=lighten(this.contrast,55),this.background="#ffffff",this.tertiaryColor=adjust(this.primaryColor,{h:-160}),this.primaryBorderColor=mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=mkBorder(this.tertiaryColor,this.darkMode),this.primaryTextColor=invert(this.primaryColor),this.secondaryTextColor=invert(this.secondaryColor),this.tertiaryTextColor=invert(this.tertiaryColor),this.lineColor=invert(this.background),this.textColor=invert(this.background),this.mainBkg="#eee",this.secondBkg="calculated",this.lineColor="#666",this.border1="#999",this.border2="calculated",this.note="#ffa",this.text="#333",this.critical="#d42",this.done="#bbb",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.nodeBkg="calculated",this.nodeBorder="calculated",this.clusterBkg="calculated",this.clusterBorder="calculated",this.defaultLinkColor="calculated",this.titleColor="calculated",this.edgeLabelBackground="white",this.actorBorder="calculated",this.actorBkg="calculated",this.actorTextColor="calculated",this.actorLineColor=this.actorBorder,this.signalColor="calculated",this.signalTextColor="calculated",this.labelBoxBkgColor="calculated",this.labelBoxBorderColor="calculated",this.labelTextColor="calculated",this.loopTextColor="calculated",this.noteBorderColor="calculated",this.noteBkgColor="calculated",this.noteTextColor="calculated",this.activationBorderColor="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.sectionBkgColor="calculated",this.altSectionBkgColor="white",this.sectionBkgColor2="calculated",this.excludeBkgColor="#eeeeee",this.taskBorderColor="calculated",this.taskBkgColor="calculated",this.taskTextLightColor="white",this.taskTextColor="calculated",this.taskTextDarkColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor="calculated",this.activeTaskBkgColor="calculated",this.gridColor="calculated",this.doneTaskBkgColor="calculated",this.doneTaskBorderColor="calculated",this.critBkgColor="calculated",this.critBorderColor="calculated",this.todayLineColor="calculated",this.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||lighten(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2,_l2,_m2,_n2,_o2,_p2,_q,_r,_s,_t,_u,_v;this.secondBkg=lighten(this.contrast,55),this.border2=this.contrast,this.actorBorder=lighten(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.signalColor=this.text,this.signalTextColor=this.text,this.labelBoxBkgColor=this.actorBkg,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.text,this.loopTextColor=this.text,this.noteBorderColor="#999",this.noteBkgColor="#666",this.noteTextColor="#fff",this.cScale0=this.cScale0||"#555",this.cScale1=this.cScale1||"#F4F4F4",this.cScale2=this.cScale2||"#555",this.cScale3=this.cScale3||"#BBB",this.cScale4=this.cScale4||"#777",this.cScale5=this.cScale5||"#999",this.cScale6=this.cScale6||"#DDD",this.cScale7=this.cScale7||"#FFF",this.cScale8=this.cScale8||"#DDD",this.cScale9=this.cScale9||"#BBB",this.cScale10=this.cScale10||"#999",this.cScale11=this.cScale11||"#777";for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{l:-(5+5*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{l:-(8+5*i2)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.sectionBkgColor=lighten(this.contrast,30),this.sectionBkgColor2=lighten(this.contrast,30),this.taskBorderColor=darken(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=lighten(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=darken(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.vertLineColor=this.critBkgColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||"#000",this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=adjust(this.primaryColor,{h:64}),this.fillType3=adjust(this.secondaryColor,{h:64}),this.fillType4=adjust(this.primaryColor,{h:-64}),this.fillType5=adjust(this.secondaryColor,{h:-64}),this.fillType6=adjust(this.primaryColor,{h:128}),this.fillType7=adjust(this.secondaryColor,{h:128});for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["pie"+i2]=this["cScale"+i2];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let i2=0;i2<8;i2++)this["venn"+(i2+1)]=this["venn"+(i2+1)]??this["cScale"+i2];this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,dataLabelColor:(null==(_c2=this.xyChart)?void 0:_c2.dataLabelColor)||this.primaryTextColor,xAxisTitleColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_g2=this.xyChart)?void 0:_g2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_k2=this.xyChart)?void 0:_k2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_l2=this.xyChart)?void 0:_l2.plotColorPalette)||"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0"},this.radar={axisColor:(null==(_m2=this.radar)?void 0:_m2.axisColor)||this.lineColor,axisStrokeWidth:(null==(_n2=this.radar)?void 0:_n2.axisStrokeWidth)||2,axisLabelFontSize:(null==(_o2=this.radar)?void 0:_o2.axisLabelFontSize)||12,curveOpacity:(null==(_p2=this.radar)?void 0:_p2.curveOpacity)||.5,curveStrokeWidth:(null==(_q=this.radar)?void 0:_q.curveStrokeWidth)||2,graticuleColor:(null==(_r=this.radar)?void 0:_r.graticuleColor)||"#DEDEDE",graticuleStrokeWidth:(null==(_s=this.radar)?void 0:_s.graticuleStrokeWidth)||1,graticuleOpacity:(null==(_t=this.radar)?void 0:_t.graticuleOpacity)||.3,legendBoxSize:(null==(_u=this.radar)?void 0:_u.legendBoxSize)||12,legendFontSize:(null==(_v=this.radar)?void 0:_v.legendFontSize)||12},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=darken(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||adjust(this.primaryColor,{h:-30}),this.git4=this.pie5||adjust(this.primaryColor,{h:-60}),this.git5=this.pie6||adjust(this.primaryColor,{h:-90}),this.git6=this.pie7||adjust(this.primaryColor,{h:60}),this.git7=this.pie8||adjust(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_f),getThemeVariables5=__name(userOverrides=>{const theme=new Theme5;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme6=(__name(_g=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=mkBorder(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||adjust(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||adjust(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||mkBorder(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||mkBorder(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||invert(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||invert(this.tertiaryColor),this.lineColor=this.lineColor||invert(this.background),this.arrowheadColor=this.arrowheadColor||invert(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||darken(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||invert(this.lineColor);const tertiaryColor=adjust("#ECECFE",{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||"#E9E9F1",this.sectionBkgColor2=this.sectionBkgColor2||"#ECECFE",this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||"#ECECFE",this.activeTaskBorderColor=this.activeTaskBorderColor||"#ECECFE",this.activeTaskBkgColor=this.activeTaskBkgColor||lighten("#ECECFE",23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#ECECFE",this.cScale1=this.cScale1||"#E9E9F1",this.cScale2=this.cScale2||tertiaryColor,this.cScale3=this.cScale3||adjust("#ECECFE",{h:30}),this.cScale4=this.cScale4||adjust("#ECECFE",{h:60}),this.cScale5=this.cScale5||adjust("#ECECFE",{h:90}),this.cScale6=this.cScale6||adjust("#ECECFE",{h:120}),this.cScale7=this.cScale7||adjust("#ECECFE",{h:150}),this.cScale8=this.cScale8||adjust("#ECECFE",{h:210,l:150}),this.cScale9=this.cScale9||adjust("#ECECFE",{h:270}),this.cScale10=this.cScale10||adjust("#ECECFE",{h:300}),this.cScale11=this.cScale11||adjust("#ECECFE",{h:330}),this.darkMode)for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],75);else for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],25);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;const multiplier=this.darkMode?-4:-1;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(5+3*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(8+3*i2)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||"#ECECFE",this.fillType1=this.fillType1||"#E9E9F1",this.fillType2=this.fillType2||adjust("#ECECFE",{h:64}),this.fillType3=this.fillType3||adjust("#E9E9F1",{h:64}),this.fillType4=this.fillType4||adjust("#ECECFE",{h:-64}),this.fillType5=this.fillType5||adjust("#E9E9F1",{h:-64}),this.fillType6=this.fillType6||adjust("#ECECFE",{h:128}),this.fillType7=this.fillType7||adjust("#E9E9F1",{h:128}),this.pie1=this.pie1||"#ECECFE",this.pie2=this.pie2||"#E9E9F1",this.pie3=this.pie3||tertiaryColor,this.pie4=this.pie4||adjust("#ECECFE",{l:-10}),this.pie5=this.pie5||adjust("#E9E9F1",{l:-10}),this.pie6=this.pie6||adjust(tertiaryColor,{l:-10}),this.pie7=this.pie7||adjust("#ECECFE",{h:60,l:-10}),this.pie8=this.pie8||adjust("#ECECFE",{h:-60,l:-10}),this.pie9=this.pie9||adjust("#ECECFE",{h:120,l:0}),this.pie10=this.pie10||adjust("#ECECFE",{h:60,l:-20}),this.pie11=this.pie11||adjust("#ECECFE",{h:-60,l:-20}),this.pie12=this.pie12||adjust("#ECECFE",{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||"#ECECFE",this.quadrant2Fill=this.quadrant2Fill||adjust("#ECECFE",{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust("#ECECFE",{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust("#ECECFE",{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(_c2=this.xyChart)?void 0:_c2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_g2=this.xyChart)?void 0:_g2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_k2=this.xyChart)?void 0:_k2.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||"#ECECFE",this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||"#ECECFE",this.git1=this.git1||"#E9E9F1",this.git2=this.git2||tertiaryColor,this.git3=this.git3||adjust("#ECECFE",{h:-30}),this.git4=this.git4||adjust("#ECECFE",{h:-60}),this.git5=this.git5||adjust("#ECECFE",{h:-90}),this.git6=this.git6||adjust("#ECECFE",{h:60}),this.git7=this.git7||adjust("#ECECFE",{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_g),getThemeVariables6=__name(userOverrides=>{const theme=new Theme6;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme7=(__name(_h=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=lighten(this.primaryColor,16),this.tertiaryColor=adjust(this.primaryColor,{h:-160}),this.primaryBorderColor=invert(this.background),this.secondaryBorderColor=mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=mkBorder(this.tertiaryColor,this.darkMode),this.primaryTextColor=invert(this.primaryColor),this.secondaryTextColor=invert(this.secondaryColor),this.tertiaryTextColor=invert(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=lighten(invert("#323D47"),10),this.border1="#ccc",this.border2=rgba$1(255,255,255,.25),this.arrowheadColor=invert(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||adjust(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||adjust(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||mkBorder(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||mkBorder(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||invert(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||invert(this.tertiaryColor),this.lineColor=this.lineColor||invert(this.background),this.arrowheadColor=this.arrowheadColor||invert(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||darken(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||invert(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||lighten(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||adjust(this.primaryColor,{h:30}),this.cScale4=this.cScale4||adjust(this.primaryColor,{h:60}),this.cScale5=this.cScale5||adjust(this.primaryColor,{h:90}),this.cScale6=this.cScale6||adjust(this.primaryColor,{h:120}),this.cScale7=this.cScale7||adjust(this.primaryColor,{h:150}),this.cScale8=this.cScale8||adjust(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||adjust(this.primaryColor,{h:270}),this.cScale10=this.cScale10||adjust(this.primaryColor,{h:300}),this.cScale11=this.cScale11||adjust(this.primaryColor,{h:330}),this.darkMode)for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],75);else for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],25);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;const multiplier=this.darkMode?-4:-1;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(5+3*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(8+3*i2)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||adjust(this.primaryColor,{h:64}),this.fillType3=this.fillType3||adjust(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||adjust(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||adjust(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||adjust(this.primaryColor,{h:128}),this.fillType7=this.fillType7||adjust(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||adjust(this.primaryColor,{l:-10}),this.pie5=this.pie5||adjust(this.secondaryColor,{l:-10}),this.pie6=this.pie6||adjust(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||adjust(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||adjust(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||adjust(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||adjust(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||adjust(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||adjust(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(_c2=this.xyChart)?void 0:_c2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_g2=this.xyChart)?void 0:_g2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_k2=this.xyChart)?void 0:_k2.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||"#0b0000",this.git1=this.git1||"#4d1037",this.git2=this.git2||"#3f5258",this.git3=this.git3||"#4f2f1b",this.git4=this.git4||"#6e0a0a",this.git5=this.git5||"#3b0048",this.git6=this.git6||"#995a01",this.git7=this.git7||"#154706",this.gitDarkMode=!0,this.gitDarkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_h),getThemeVariables7=__name(userOverrides=>{const theme=new Theme7;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme8=(__name(_i=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=mkBorder("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||adjust(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||adjust(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||mkBorder(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||mkBorder(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||invert(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||invert(this.tertiaryColor),this.lineColor=this.lineColor||invert(this.background),this.arrowheadColor=this.arrowheadColor||invert(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||darken(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||invert(this.lineColor);const tertiaryColor=adjust("#ECECFE",{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||"#E9E9F1",this.sectionBkgColor2=this.sectionBkgColor2||"#ECECFE",this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||"#ECECFE",this.activeTaskBorderColor=this.activeTaskBorderColor||"#ECECFE",this.activeTaskBkgColor=this.activeTaskBkgColor||lighten("#ECECFE",23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=this.mainBkg;if(this.darkMode)for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],75);else for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],25);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;const multiplier=this.darkMode?-4:-1;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(5+3*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(8+3*i2)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||"#ECECFE",this.fillType1=this.fillType1||"#E9E9F1",this.fillType2=this.fillType2||adjust("#ECECFE",{h:64}),this.fillType3=this.fillType3||adjust("#E9E9F1",{h:64}),this.fillType4=this.fillType4||adjust("#ECECFE",{h:-64}),this.fillType5=this.fillType5||adjust("#E9E9F1",{h:-64}),this.fillType6=this.fillType6||adjust("#ECECFE",{h:128}),this.fillType7=this.fillType7||adjust("#E9E9F1",{h:128}),this.pie1=this.pie1||"#ECECFE",this.pie2=this.pie2||"#E9E9F1",this.pie3=this.pie3||tertiaryColor,this.pie4=this.pie4||adjust("#ECECFE",{l:-10}),this.pie5=this.pie5||adjust("#E9E9F1",{l:-10}),this.pie6=this.pie6||adjust(tertiaryColor,{l:-10}),this.pie7=this.pie7||adjust("#ECECFE",{h:60,l:-10}),this.pie8=this.pie8||adjust("#ECECFE",{h:-60,l:-10}),this.pie9=this.pie9||adjust("#ECECFE",{h:120,l:0}),this.pie10=this.pie10||adjust("#ECECFE",{h:60,l:-20}),this.pie11=this.pie11||adjust("#ECECFE",{h:-60,l:-20}),this.pie12=this.pie12||adjust("#ECECFE",{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||"#ECECFE",this.quadrant2Fill=this.quadrant2Fill||adjust("#ECECFE",{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust("#ECECFE",{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust("#ECECFE",{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(_c2=this.xyChart)?void 0:_c2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_g2=this.xyChart)?void 0:_g2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_k2=this.xyChart)?void 0:_k2.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||"#ECECFE",this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#FFFFFF",this.git0=this.git0||"#ECECFE",this.git1=this.git1||"#E9E9F1",this.git2=this.git2||tertiaryColor,this.git3=this.git3||adjust("#ECECFE",{h:-30}),this.git4=this.git4||adjust("#ECECFE",{h:-60}),this.git5=this.git5||adjust("#ECECFE",{h:-90}),this.git6=this.git6||adjust("#ECECFE",{h:60}),this.git7=this.git7||adjust("#ECECFE",{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.erEdgeLabelBackground="#FFFFFF",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_i),getThemeVariables8=__name(userOverrides=>{const theme=new Theme8;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme9=(__name(_j=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=lighten(this.primaryColor,16),this.tertiaryColor=adjust(this.primaryColor,{h:-160}),this.primaryBorderColor=invert(this.background),this.secondaryBorderColor=mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=mkBorder(this.tertiaryColor,this.darkMode),this.primaryTextColor=invert(this.primaryColor),this.secondaryTextColor=invert(this.secondaryColor),this.tertiaryTextColor=invert(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=lighten(invert("#323D47"),10),this.border1="#ccc",this.border2=rgba$1(255,255,255,.25),this.arrowheadColor=invert(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||adjust(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||adjust(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||mkBorder(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||mkBorder(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||invert(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||invert(this.tertiaryColor),this.lineColor=this.lineColor||invert(this.background),this.arrowheadColor=this.arrowheadColor||invert(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||darken(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||invert(this.lineColor),this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||lighten(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||adjust(this.primaryColor,{h:30}),this.cScale4=this.cScale4||adjust(this.primaryColor,{h:60}),this.cScale5=this.cScale5||adjust(this.primaryColor,{h:90}),this.cScale6=this.cScale6||adjust(this.primaryColor,{h:120}),this.cScale7=this.cScale7||adjust(this.primaryColor,{h:150}),this.cScale8=this.cScale8||adjust(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||adjust(this.primaryColor,{h:270}),this.cScale10=this.cScale10||adjust(this.primaryColor,{h:300}),this.cScale11=this.cScale11||adjust(this.primaryColor,{h:330}),this.darkMode)for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],75);else for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScale"+i2]=darken(this["cScale"+i2],25);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;const multiplier=this.darkMode?-4:-1;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(5+3*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(8+3*i2)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||adjust(this.primaryColor,{h:64}),this.fillType3=this.fillType3||adjust(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||adjust(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||adjust(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||adjust(this.primaryColor,{h:128}),this.fillType7=this.fillType7||adjust(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||adjust(this.primaryColor,{l:-10}),this.pie5=this.pie5||adjust(this.secondaryColor,{l:-10}),this.pie6=this.pie6||adjust(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||adjust(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||adjust(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||adjust(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||adjust(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||adjust(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||adjust(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(_c2=this.xyChart)?void 0:_c2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_g2=this.xyChart)?void 0:_g2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_k2=this.xyChart)?void 0:_k2.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#16141F",this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||adjust(this.primaryColor,{h:-30}),this.git4=this.git4||adjust(this.primaryColor,{h:-60}),this.git5=this.git5||adjust(this.primaryColor,{h:-90}),this.git6=this.git6||adjust(this.primaryColor,{h:60}),this.git7=this.git7||adjust(this.primaryColor,{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.erEdgeLabelBackground="#16141F",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_j),getThemeVariables9=__name(userOverrides=>{const theme=new Theme9;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme10=(__name(_k=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=mkBorder(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||adjust(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||adjust(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||mkBorder(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||mkBorder(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||invert(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||invert(this.tertiaryColor),this.lineColor=this.lineColor||invert(this.background),this.arrowheadColor=this.arrowheadColor||invert(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.primaryBorderColor,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||darken(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||invert(this.lineColor);const tertiaryColor=adjust("#ECECFE",{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||"#E9E9F1",this.sectionBkgColor2=this.sectionBkgColor2||"#ECECFE",this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||"#ECECFE",this.activeTaskBorderColor=this.activeTaskBorderColor||"#ECECFE",this.activeTaskBkgColor=this.activeTaskBkgColor||lighten("#ECECFE",23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=this["cScaleLabel"+i2]||this.scaleLabelColor;const multiplier=this.darkMode?-4:-1;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(5+3*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(8+3*i2)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||"#ECECFE",this.fillType1=this.fillType1||"#E9E9F1",this.fillType2=this.fillType2||adjust("#ECECFE",{h:64}),this.fillType3=this.fillType3||adjust("#E9E9F1",{h:64}),this.fillType4=this.fillType4||adjust("#ECECFE",{h:-64}),this.fillType5=this.fillType5||adjust("#E9E9F1",{h:-64}),this.fillType6=this.fillType6||adjust("#ECECFE",{h:128}),this.fillType7=this.fillType7||adjust("#E9E9F1",{h:128}),this.pie1=this.pie1||"#ECECFE",this.pie2=this.pie2||"#E9E9F1",this.pie3=this.pie3||tertiaryColor,this.pie4=this.pie4||adjust("#ECECFE",{l:-10}),this.pie5=this.pie5||adjust("#E9E9F1",{l:-10}),this.pie6=this.pie6||adjust(tertiaryColor,{l:-10}),this.pie7=this.pie7||adjust("#ECECFE",{h:60,l:-10}),this.pie8=this.pie8||adjust("#ECECFE",{h:-60,l:-10}),this.pie9=this.pie9||adjust("#ECECFE",{h:120,l:0}),this.pie10=this.pie10||adjust("#ECECFE",{h:60,l:-20}),this.pie11=this.pie11||adjust("#ECECFE",{h:-60,l:-20}),this.pie12=this.pie12||adjust("#ECECFE",{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||"#ECECFE",this.quadrant2Fill=this.quadrant2Fill||adjust("#ECECFE",{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust("#ECECFE",{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust("#ECECFE",{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(_c2=this.xyChart)?void 0:_c2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_g2=this.xyChart)?void 0:_g2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_k2=this.xyChart)?void 0:_k2.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||"#ECECFE",this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||"#ECECFE",this.git1=this.git1||"#E9E9F1",this.git2=this.git2||tertiaryColor,this.git3=this.git3||adjust("#ECECFE",{h:-30}),this.git4=this.git4||adjust("#ECECFE",{h:-60}),this.git5=this.git5||adjust("#ECECFE",{h:-90}),this.git6=this.git6||adjust("#ECECFE",{h:60}),this.git7=this.git7||adjust("#ECECFE",{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLineColor=this.commitLineColor??"#BDBCCC",this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.fontWeight=600,this.erEdgeLabelBackground="#FFFFFF",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_k),getThemeVariables10=__name(userOverrides=>{const theme=new Theme10;return theme.calculate(userOverrides),theme},"getThemeVariables"),Theme11=(__name(_l=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=lighten(this.primaryColor,16),this.tertiaryColor=adjust(this.primaryColor,{h:-160}),this.primaryBorderColor=invert(this.background),this.secondaryBorderColor=mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=mkBorder(this.tertiaryColor,this.darkMode),this.primaryTextColor=invert(this.primaryColor),this.secondaryTextColor=invert(this.secondaryColor),this.tertiaryTextColor=invert(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=lighten(invert("#323D47"),10),this.border1="#ccc",this.border2=rgba$1(255,255,255,.25),this.arrowheadColor=invert(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){var _a2,_b2,_c2,_d2,_e3,_f2,_g2,_h2,_i2,_j2,_k2;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||adjust(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||adjust(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||mkBorder(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||mkBorder(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||mkBorder(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||mkBorder(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||invert(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||invert(this.tertiaryColor),this.lineColor=this.lineColor||invert(this.background),this.arrowheadColor=this.arrowheadColor||invert(this.background),this.textColor=this.textColor||this.primaryTextColor,this.border2=this.border2||this.tertiaryBorderColor,this.nodeBkg=this.nodeBkg||this.primaryColor,this.mainBkg=this.mainBkg||this.primaryColor,this.nodeBorder=this.nodeBorder||this.border1,this.clusterBkg=this.clusterBkg||this.tertiaryColor,this.clusterBorder=this.clusterBorder||this.tertiaryBorderColor,this.defaultLinkColor=this.defaultLinkColor||this.lineColor,this.titleColor=this.titleColor||this.tertiaryTextColor,this.edgeLabelBackground=this.edgeLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,this.labelBoxBkgColor=this.labelBoxBkgColor||this.actorBkg,this.signalColor=this.signalColor||this.textColor,this.signalTextColor=this.signalTextColor||this.textColor,this.labelBoxBorderColor=this.labelBoxBorderColor||this.actorBorder,this.labelTextColor=this.labelTextColor||this.actorTextColor,this.loopTextColor=this.loopTextColor||this.actorTextColor,this.activationBorderColor=this.activationBorderColor||darken(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||invert(this.lineColor),this.rootLabelColor="#FFFFFF",this.sectionBkgColor=this.sectionBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||this.secondaryColor,this.sectionBkgColor2=this.sectionBkgColor2||this.primaryColor,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||this.primaryColor,this.activeTaskBorderColor=this.activeTaskBorderColor||this.primaryColor,this.activeTaskBkgColor=this.activeTaskBkgColor||lighten(this.primaryColor,23),this.gridColor=this.gridColor||"lightgrey",this.doneTaskBkgColor=this.doneTaskBkgColor||"lightgrey",this.doneTaskBorderColor=this.doneTaskBorderColor||"grey",this.critBorderColor=this.critBorderColor||"#ff8888",this.critBkgColor=this.critBkgColor||"red",this.todayLineColor=this.todayLineColor||"red",this.taskTextColor=this.taskTextColor||this.textColor,this.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextOutsideColor=this.taskTextOutsideColor||this.textColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.transitionColor=this.transitionColor||this.lineColor,this.transitionLabelColor=this.transitionLabelColor||this.textColor,this.stateLabelColor=this.stateLabelColor||this.stateBkg||this.primaryTextColor,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.specialStateColor=this.lineColor,this.cScale0=this.cScale0||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleInv"+i2]=this["cScaleInv"+i2]||invert(this["cScale"+i2]);for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this.darkMode?this["cScalePeer"+i2]=this["cScalePeer"+i2]||lighten(this["cScale"+i2],10):this["cScalePeer"+i2]=this["cScalePeer"+i2]||darken(this["cScale"+i2],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let i2=0;i2<this.THEME_COLOR_LIMIT;i2++)this["cScaleLabel"+i2]=darken(this["cScale"+i2],75);const multiplier=this.darkMode?-4:-1;for(let i2=0;i2<5;i2++)this["surface"+i2]=this["surface"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(5+3*i2)}),this["surfacePeer"+i2]=this["surfacePeer"+i2]||adjust(this.mainBkg,{h:180,s:-15,l:multiplier*(8+3*i2)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||adjust(this.primaryColor,{h:64}),this.fillType3=this.fillType3||adjust(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||adjust(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||adjust(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||adjust(this.primaryColor,{h:128}),this.fillType7=this.fillType7||adjust(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||adjust(this.primaryColor,{l:-10}),this.pie5=this.pie5||adjust(this.secondaryColor,{l:-10}),this.pie6=this.pie6||adjust(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||adjust(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||adjust(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||adjust(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||adjust(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||adjust(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||adjust(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||adjust(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||adjust(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||adjust(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||adjust(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||adjust(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||adjust(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||isDark(this.quadrant1Fill)?lighten(this.quadrant1Fill):darken(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:(null==(_a2=this.xyChart)?void 0:_a2.backgroundColor)||this.background,titleColor:(null==(_b2=this.xyChart)?void 0:_b2.titleColor)||this.primaryTextColor,xAxisTitleColor:(null==(_c2=this.xyChart)?void 0:_c2.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:(null==(_d2=this.xyChart)?void 0:_d2.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:(null==(_e3=this.xyChart)?void 0:_e3.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:(null==(_f2=this.xyChart)?void 0:_f2.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:(null==(_g2=this.xyChart)?void 0:_g2.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:(null==(_h2=this.xyChart)?void 0:_h2.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:(null==(_i2=this.xyChart)?void 0:_i2.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:(null==(_j2=this.xyChart)?void 0:_j2.yAxisLineColor)||this.primaryTextColor,plotColorPalette:(null==(_k2=this.xyChart)?void 0:_k2.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?darken(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||adjust(this.primaryColor,{h:-30}),this.git4=this.git4||adjust(this.primaryColor,{h:-60}),this.git5=this.git5||adjust(this.primaryColor,{h:-90}),this.git6=this.git6||adjust(this.primaryColor,{h:60}),this.git7=this.git7||adjust(this.primaryColor,{h:120}),this.darkMode?(this.git0=lighten(this.git0,25),this.git1=lighten(this.git1,25),this.git2=lighten(this.git2,25),this.git3=lighten(this.git3,25),this.git4=lighten(this.git4,25),this.git5=lighten(this.git5,25),this.git6=lighten(this.git6,25),this.git7=lighten(this.git7,25)):(this.git0=darken(this.git0,25),this.git1=darken(this.git1,25),this.git2=darken(this.git2,25),this.git3=darken(this.git3,25),this.git4=darken(this.git4,25),this.git5=darken(this.git5,25),this.git6=darken(this.git6,25),this.git7=darken(this.git7,25)),this.gitInv0=this.gitInv0||invert(this.git0),this.gitInv1=this.gitInv1||invert(this.git1),this.gitInv2=this.gitInv2||invert(this.git2),this.gitInv3=this.gitInv3||invert(this.git3),this.gitInv4=this.gitInv4||invert(this.git4),this.gitInv5=this.gitInv5||invert(this.git5),this.gitInv6=this.gitInv6||invert(this.git6),this.gitInv7=this.gitInv7||invert(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.fontWeight=600,this.erEdgeLabelBackground="#16141F",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||"#ffffff",this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||"#f2f2f2"}calculate(overrides){if("object"!=typeof overrides)return void this.updateColors();const keys=Object.keys(overrides);keys.forEach(k2=>{this[k2]=overrides[k2]}),this.updateColors(),keys.forEach(k2=>{this[k2]=overrides[k2]})}},"Theme"),_l),themes_default={base:{getThemeVariables:getThemeVariables},dark:{getThemeVariables:getThemeVariables2},default:{getThemeVariables:getThemeVariables3},forest:{getThemeVariables:getThemeVariables4},neutral:{getThemeVariables:getThemeVariables5},neo:{getThemeVariables:getThemeVariables6},"neo-dark":{getThemeVariables:getThemeVariables7},redux:{getThemeVariables:getThemeVariables8},"redux-dark":{getThemeVariables:getThemeVariables9},"redux-color":{getThemeVariables:getThemeVariables10},"redux-dark-color":{getThemeVariables:__name(userOverrides=>{const theme=new Theme11;return theme.calculate(userOverrides),theme},"getThemeVariables")}},config_schema_default={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},sequence:{useMaxWidth:!0,hideUnusedParticipants:!1,activationWidth:10,diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",mirrorActors:!0,forceMenus:!1,bottomMarginAdj:1,rightAngles:!1,showSequenceNumbers:!1,actorFontSize:14,actorFontFamily:'"Open Sans", sans-serif',actorFontWeight:400,noteFontSize:14,noteFontFamily:'"trebuchet ms", verdana, arial, sans-serif',noteFontWeight:400,noteAlign:"center",messageFontSize:16,messageFontFamily:'"trebuchet ms", verdana, arial, sans-serif',messageFontWeight:400,wrap:!1,wrapPadding:10,labelBoxWidth:50,labelBoxHeight:20},gantt:{useMaxWidth:!0,titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,rightPadding:75,leftPadding:75,gridLineStartPadding:35,fontSize:11,sectionFontSize:11,numberSectionStyles:4,axisFormat:"%Y-%m-%d",topAxis:!1,displayMode:"",weekday:"sunday"},journey:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,maxLabelWidth:360,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1},state:{useMaxWidth:!0,titleTopMargin:25,dividerMargin:10,sizeUnit:5,padding:8,textHeight:10,titleShift:-15,noteMargin:10,forkWidth:70,forkHeight:7,miniPadding:2,fontSizeFactor:5.02,fontSize:24,labelHeight:16,edgeLengthFactor:"20",compositTitleSize:35,radius:5,defaultRenderer:"dagre-wrapper"},er:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:20,layoutDirection:"TB",minEntityWidth:100,minEntityHeight:75,entityPadding:15,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75},quadrantChart:{useMaxWidth:!0,chartWidth:500,chartHeight:500,titleFontSize:20,titlePadding:10,quadrantPadding:5,xAxisLabelPadding:5,yAxisLabelPadding:5,xAxisLabelFontSize:16,yAxisLabelFontSize:16,quadrantLabelFontSize:16,quadrantTextTopPadding:5,pointTextPadding:5,pointLabelFontSize:12,pointRadius:5,xAxisPosition:"top",yAxisPosition:"left",quadrantInternalBorderStrokeWidth:1,quadrantExternalBorderStrokeWidth:2},xyChart:{useMaxWidth:!0,width:700,height:500,titleFontSize:20,titlePadding:10,showDataLabel:!1,showDataLabelOutsideBar:!1,showTitle:!0,xAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},yAxis:{$ref:"#/$defs/XYChartAxisConfig",showLabel:!0,labelFontSize:14,labelPadding:5,showTitle:!0,titleFontSize:16,titlePadding:5,showTick:!0,tickLength:5,tickWidth:2,showAxisLine:!0,axisLineWidth:2},chartOrientation:"vertical",plotReservedSpacePercent:50},requirement:{useMaxWidth:!0,rect_fill:"#f9f9f9",text_color:"#333",rect_border_size:"0.5px",rect_border_color:"#bbb",rect_min_width:200,rect_min_height:200,fontSize:14,rect_padding:10,line_height:20},mindmap:{useMaxWidth:!0,padding:10,maxNodeWidth:200,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},timeline:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,leftMargin:150,width:150,height:50,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,messageAlign:"center",bottomMarginAdj:1,rightAngles:!1,taskFontSize:14,taskFontFamily:'"Open Sans", sans-serif',taskMargin:50,activationWidth:10,textPlacement:"fo",actorColours:["#8FBC8F","#7CFC00","#00FFFF","#20B2AA","#B0E0E6","#FFFFE0"],sectionFills:["#191970","#8B008B","#4B0082","#2F4F4F","#800000","#8B4513","#00008B"],sectionColours:["#fff"],disableMulticolor:!1},gitGraph:{useMaxWidth:!0,titleTopMargin:25,diagramPadding:8,nodeLabel:{width:75,height:100,x:-25,y:0},mainBranchName:"main",mainBranchOrder:0,showCommitLabel:!0,showBranches:!0,rotateCommitLabel:!0,parallelCommits:!1,arrowMarkerAbsolute:!1},c4:{useMaxWidth:!0,diagramMarginX:50,diagramMarginY:10,c4ShapeMargin:50,c4ShapePadding:20,width:216,height:60,boxMargin:10,c4ShapeInRow:4,nextLinePaddingX:0,c4BoundaryInRow:2,personFontSize:14,personFontFamily:'"Open Sans", sans-serif',personFontWeight:"normal",external_personFontSize:14,external_personFontFamily:'"Open Sans", sans-serif',external_personFontWeight:"normal",systemFontSize:14,systemFontFamily:'"Open Sans", sans-serif',systemFontWeight:"normal",external_systemFontSize:14,external_systemFontFamily:'"Open Sans", sans-serif',external_systemFontWeight:"normal",system_dbFontSize:14,system_dbFontFamily:'"Open Sans", sans-serif',system_dbFontWeight:"normal",external_system_dbFontSize:14,external_system_dbFontFamily:'"Open Sans", sans-serif',external_system_dbFontWeight:"normal",system_queueFontSize:14,system_queueFontFamily:'"Open Sans", sans-serif',system_queueFontWeight:"normal",external_system_queueFontSize:14,external_system_queueFontFamily:'"Open Sans", sans-serif',external_system_queueFontWeight:"normal",boundaryFontSize:14,boundaryFontFamily:'"Open Sans", sans-serif',boundaryFontWeight:"normal",messageFontSize:12,messageFontFamily:'"Open Sans", sans-serif',messageFontWeight:"normal",containerFontSize:14,containerFontFamily:'"Open Sans", sans-serif',containerFontWeight:"normal",external_containerFontSize:14,external_containerFontFamily:'"Open Sans", sans-serif',external_containerFontWeight:"normal",container_dbFontSize:14,container_dbFontFamily:'"Open Sans", sans-serif',container_dbFontWeight:"normal",external_container_dbFontSize:14,external_container_dbFontFamily:'"Open Sans", sans-serif',external_container_dbFontWeight:"normal",container_queueFontSize:14,container_queueFontFamily:'"Open Sans", sans-serif',container_queueFontWeight:"normal",external_container_queueFontSize:14,external_container_queueFontFamily:'"Open Sans", sans-serif',external_container_queueFontWeight:"normal",componentFontSize:14,componentFontFamily:'"Open Sans", sans-serif',componentFontWeight:"normal",external_componentFontSize:14,external_componentFontFamily:'"Open Sans", sans-serif',external_componentFontWeight:"normal",component_dbFontSize:14,component_dbFontFamily:'"Open Sans", sans-serif',component_dbFontWeight:"normal",external_component_dbFontSize:14,external_component_dbFontFamily:'"Open Sans", sans-serif',external_component_dbFontWeight:"normal",component_queueFontSize:14,component_queueFontFamily:'"Open Sans", sans-serif',component_queueFontWeight:"normal",external_component_queueFontSize:14,external_component_queueFontFamily:'"Open Sans", sans-serif',external_component_queueFontWeight:"normal",wrap:!0,wrapPadding:10,person_bg_color:"#08427B",person_border_color:"#073B6F",external_person_bg_color:"#686868",external_person_border_color:"#8A8A8A",system_bg_color:"#1168BD",system_border_color:"#3C7FC0",system_db_bg_color:"#1168BD",system_db_border_color:"#3C7FC0",system_queue_bg_color:"#1168BD",system_queue_border_color:"#3C7FC0",external_system_bg_color:"#999999",external_system_border_color:"#8A8A8A",external_system_db_bg_color:"#999999",external_system_db_border_color:"#8A8A8A",external_system_queue_bg_color:"#999999",external_system_queue_border_color:"#8A8A8A",container_bg_color:"#438DD5",container_border_color:"#3C7FC0",container_db_bg_color:"#438DD5",container_db_border_color:"#3C7FC0",container_queue_bg_color:"#438DD5",container_queue_border_color:"#3C7FC0",external_container_bg_color:"#B3B3B3",external_container_border_color:"#A6A6A6",external_container_db_bg_color:"#B3B3B3",external_container_db_border_color:"#A6A6A6",external_container_queue_bg_color:"#B3B3B3",external_container_queue_border_color:"#A6A6A6",component_bg_color:"#85BBF0",component_border_color:"#78A8D8",component_db_bg_color:"#85BBF0",component_db_border_color:"#78A8D8",component_queue_bg_color:"#85BBF0",component_queue_border_color:"#78A8D8",external_component_bg_color:"#CCCCCC",external_component_border_color:"#BFBFBF",external_component_db_bg_color:"#CCCCCC",external_component_db_border_color:"#BFBFBF",external_component_queue_bg_color:"#CCCCCC",external_component_queue_border_color:"#BFBFBF"},sankey:{useMaxWidth:!0,width:600,height:400,linkColor:"gradient",nodeAlignment:"justify",showValues:!0,prefix:"",suffix:""},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",maxTextSize:5e4,maxEdges:500,darkMode:!1,fontFamily:'"trebuchet ms", verdana, arial, sans-serif;',logLevel:5,securityLevel:"strict",startOnLoad:!0,arrowMarkerAbsolute:!1,secure:["secure","securityLevel","startOnLoad","maxTextSize","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},config={...config_schema_default,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:themes_default.default.getThemeVariables(),sequence:{...config_schema_default.sequence,messageFont:__name(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:__name(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:__name(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1},gantt:{...config_schema_default.gantt,tickInterval:void 0,useWidth:void 0},c4:{...config_schema_default.c4,useWidth:void 0,personFont:__name(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...config_schema_default.flowchart,inheritDir:!1},external_personFont:__name(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:__name(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:__name(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:__name(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:__name(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:__name(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:__name(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:__name(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:__name(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:__name(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:__name(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:__name(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:__name(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:__name(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:__name(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:__name(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:__name(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:__name(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:__name(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:__name(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:__name(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...config_schema_default.pie,useWidth:984},xyChart:{...config_schema_default.xyChart,useWidth:void 0},requirement:{...config_schema_default.requirement,useWidth:void 0},packet:{...config_schema_default.packet},treeView:{...config_schema_default.treeView,useWidth:void 0},radar:{...config_schema_default.radar},ishikawa:{...config_schema_default.ishikawa},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...config_schema_default.venn}},keyify=__name((obj,prefix="")=>Object.keys(obj).reduce((res,el)=>Array.isArray(obj[el])?res:"object"==typeof obj[el]&&null!==obj[el]?[...res,prefix+el,...keyify(obj[el],"")]:[...res,prefix+el],[]),"keyify"),configKeys=new Set(keyify(config,"")),defaultConfig_default=config,sanitizeDirective=__name(args=>{if(log.debug("sanitizeDirective called with",args),"object"==typeof args&&null!=args)if(Array.isArray(args))args.forEach(arg=>sanitizeDirective(arg));else{for(const key of Object.keys(args)){if(log.debug("Checking key",key),key.startsWith("__")||key.includes("proto")||key.includes("constr")||!configKeys.has(key)||null==args[key]){log.debug("sanitize deleting key: ",key),delete args[key];continue}if("object"==typeof args[key]){log.debug("sanitizing object",key),sanitizeDirective(args[key]);continue}const cssMatchers=["themeCSS","fontFamily","altFontFamily"];for(const cssKey of cssMatchers)key.includes(cssKey)&&(log.debug("sanitizing css option",key),args[key]=sanitizeCss(args[key]))}if(args.themeVariables)for(const k2 of Object.keys(args.themeVariables)){const val=args.themeVariables[k2];(null==val?void 0:val.match)&&!val.match(/^[\d "#%(),.;A-Za-z]+$/)&&(args.themeVariables[k2]="")}log.debug("After sanitization",args)}},"sanitizeDirective"),sanitizeCss=__name(str2=>{let startCnt=0,endCnt=0;for(const element of str2){if(startCnt<endCnt)return"{ /* ERROR: Unbalanced CSS */ }";"{"===element?startCnt++:"}"===element&&endCnt++}return startCnt!==endCnt?"{ /* ERROR: Unbalanced CSS */ }":str2},"sanitizeCss"),defaultConfig=Object.freeze(defaultConfig_default),evaluate=__name(val=>!1!==val&&!["false","null","0"].includes(String(val).trim().toLowerCase()),"evaluate"),siteConfig=assignWithDepth_default({},defaultConfig),directives=[],currentConfig=assignWithDepth_default({},defaultConfig),updateCurrentConfig=__name((siteCfg,_directives)=>{let cfg=assignWithDepth_default({},siteCfg),sumOfDirectives={};for(const d2 of _directives)sanitize(d2),sumOfDirectives=assignWithDepth_default(sumOfDirectives,d2);if(cfg=assignWithDepth_default(cfg,sumOfDirectives),sumOfDirectives.theme&&sumOfDirectives.theme in themes_default){const tmpConfigFromInitialize=assignWithDepth_default({},configFromInitialize),themeVariables=assignWithDepth_default(tmpConfigFromInitialize.themeVariables||{},sumOfDirectives.themeVariables);cfg.theme&&cfg.theme in themes_default&&(cfg.themeVariables=themes_default[cfg.theme].getThemeVariables(themeVariables))}return checkConfig(currentConfig=cfg),currentConfig},"updateCurrentConfig"),setSiteConfig=__name(conf=>(siteConfig=assignWithDepth_default({},defaultConfig),siteConfig=assignWithDepth_default(siteConfig,conf),conf.theme&&themes_default[conf.theme]&&(siteConfig.themeVariables=themes_default[conf.theme].getThemeVariables(conf.themeVariables)),updateCurrentConfig(siteConfig,directives),siteConfig),"setSiteConfig"),saveConfigFromInitialize=__name(conf=>{configFromInitialize=assignWithDepth_default({},conf)},"saveConfigFromInitialize"),updateSiteConfig=__name(conf=>(siteConfig=assignWithDepth_default(siteConfig,conf),updateCurrentConfig(siteConfig,directives),siteConfig),"updateSiteConfig"),getSiteConfig=__name(()=>assignWithDepth_default({},siteConfig),"getSiteConfig"),setConfig=__name(conf=>(checkConfig(conf),assignWithDepth_default(currentConfig,conf),getConfig()),"setConfig"),getConfig=__name(()=>assignWithDepth_default({},currentConfig),"getConfig"),sanitize=__name(options=>{options&&(["secure",...siteConfig.secure??[]].forEach(key=>{Object.hasOwn(options,key)&&(log.debug(`Denied attempt to modify a secure key ${key}`,options[key]),delete options[key])}),Object.keys(options).forEach(key=>{key.startsWith("__")&&delete options[key]}),Object.keys(options).forEach(key=>{"string"==typeof options[key]&&(options[key].includes("<")||options[key].includes(">")||options[key].includes("url(data:"))&&delete options[key],"object"==typeof options[key]&&sanitize(options[key])}))},"sanitize"),addDirective=__name(directive=>{var _a2;sanitizeDirective(directive),directive.fontFamily&&!(null==(_a2=directive.themeVariables)?void 0:_a2.fontFamily)&&(directive.themeVariables={...directive.themeVariables,fontFamily:directive.fontFamily}),directives.push(directive),updateCurrentConfig(siteConfig,directives)},"addDirective"),reset=__name((config2=siteConfig)=>{updateCurrentConfig(config2,directives=[])},"reset"),ConfigWarning={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},issuedWarnings={},issueWarning=__name(warning=>{issuedWarnings[warning]||(log.warn(ConfigWarning[warning]),issuedWarnings[warning]=!0)},"issueWarning"),checkConfig=__name(config2=>{config2&&(config2.lazyLoadedDiagrams||config2.loadExternalDiagramsAtStartup)&&issueWarning("LAZY_LOAD_DEPRECATED")},"checkConfig"),getUserDefinedConfig=__name(()=>{let userConfig={};configFromInitialize&&(userConfig=assignWithDepth_default(userConfig,configFromInitialize));for(const d2 of directives)userConfig=assignWithDepth_default(userConfig,d2);return userConfig},"getUserDefinedConfig"),getEffectiveHtmlLabels=__name(config2=>{var _a2,_b2;return null!=(null==(_a2=config2.flowchart)?void 0:_a2.htmlLabels)&&issueWarning("FLOWCHART_HTML_LABELS_DEPRECATED"),evaluate(config2.htmlLabels??(null==(_b2=config2.flowchart)?void 0:_b2.htmlLabels)??!0)},"getEffectiveHtmlLabels"),lineBreakRegex=/<br\s*\/?>/gi,getRows=__name(s2=>{if(!s2)return[""];return breakToPlaceholder(s2).replace(/\\n/g,"#br#").split("#br#")},"getRows"),setupDompurifyHooksIfNotSetup=(()=>{let setup=!1;return()=>{setup||(setupDompurifyHooks(),setup=!0)}})();function setupDompurifyHooks(){purify.addHook("beforeSanitizeAttributes",node=>{"A"===node.tagName&&node.hasAttribute("target")&&node.setAttribute("data-temp-href-target",node.getAttribute("target")??"")}),purify.addHook("afterSanitizeAttributes",node=>{"A"===node.tagName&&node.hasAttribute("data-temp-href-target")&&(node.setAttribute("target",node.getAttribute("data-temp-href-target")??""),node.removeAttribute("data-temp-href-target"),"_blank"===node.getAttribute("target")&&node.setAttribute("rel","noopener"))})}__name(setupDompurifyHooks,"setupDompurifyHooks");var removeScript=__name(txt=>{setupDompurifyHooksIfNotSetup();return purify.sanitize(txt)},"removeScript"),sanitizeMore=__name((text2,config2)=>{if(getEffectiveHtmlLabels(config2)){const level=config2.securityLevel;"antiscript"===level||"strict"===level||"sandbox"===level?text2=removeScript(text2):"loose"!==level&&(text2=(text2=(text2=breakToPlaceholder(text2)).replace(/</g,"&lt;").replace(/>/g,"&gt;")).replace(/=/g,"&equals;"),text2=placeholderToBreak(text2))}return text2},"sanitizeMore"),sanitizeText=__name((text2,config2)=>text2?text2=config2.dompurifyConfig?purify.sanitize(sanitizeMore(text2,config2),config2.dompurifyConfig).toString():purify.sanitize(sanitizeMore(text2,config2),{FORBID_TAGS:["style"]}).toString():text2,"sanitizeText"),sanitizeTextOrArray=__name((a2,config2)=>"string"==typeof a2?sanitizeText(a2,config2):a2.flat().map(x2=>sanitizeText(x2,config2)),"sanitizeTextOrArray"),hasBreaks=__name(text2=>lineBreakRegex.test(text2),"hasBreaks"),splitBreaks=__name(text2=>text2.split(lineBreakRegex),"splitBreaks"),placeholderToBreak=__name(s2=>s2.replace(/#br#/g,"<br/>"),"placeholderToBreak"),breakToPlaceholder=__name(s2=>s2.replace(lineBreakRegex,"#br#"),"breakToPlaceholder"),getUrl=__name(useAbsolute=>{let url="";return useAbsolute&&(url=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,url=CSS.escape(url)),url},"getUrl"),getMax=__name(function(...values){const newValues=values.filter(value=>!isNaN(value));return Math.max(...newValues)},"getMax"),getMin=__name(function(...values){const newValues=values.filter(value=>!isNaN(value));return Math.min(...newValues)},"getMin"),parseGenericTypes=__name(function(input){const inputSets=input.split(/(,)/),output=[];for(let i2=0;i2<inputSets.length;i2++){let thisSet=inputSets[i2];if(","===thisSet&&i2>0&&i2+1<inputSets.length){const previousSet=inputSets[i2-1],nextSet=inputSets[i2+1];shouldCombineSets(previousSet,nextSet)&&(thisSet=previousSet+","+nextSet,i2++,output.pop())}output.push(processSet(thisSet))}return output.join("")},"parseGenericTypes"),countOccurrence=__name((string,substring)=>Math.max(0,string.split(substring).length-1),"countOccurrence"),shouldCombineSets=__name((previousSet,nextSet)=>{const prevCount=countOccurrence(previousSet,"~"),nextCount=countOccurrence(nextSet,"~");return 1===prevCount&&1===nextCount},"shouldCombineSets"),processSet=__name(input=>{const tildeCount=countOccurrence(input,"~");let hasStartingTilde=!1;if(tildeCount<=1)return input;tildeCount%2!=0&&input.startsWith("~")&&(input=input.substring(1),hasStartingTilde=!0);const chars=[...input];let first=chars.indexOf("~"),last=chars.lastIndexOf("~");for(;-1!==first&&-1!==last&&first!==last;)chars[first]="<",chars[last]=">",first=chars.indexOf("~"),last=chars.lastIndexOf("~");return hasStartingTilde&&chars.unshift("~"),chars.join("")},"processSet"),isMathMLSupported=__name(()=>void 0!==window.MathMLElement,"isMathMLSupported"),katexRegex=/\$\$(.*)\$\$/g,hasKatex=__name(text2=>{var _a2;return((null==(_a2=text2.match(katexRegex))?void 0:_a2.length)??0)>0},"hasKatex"),calculateMathMLDimensions=__name(async(text2,config2)=>{const divElem=document.createElement("div");divElem.innerHTML=await renderKatexSanitized(text2,config2),divElem.id="katex-temp",divElem.style.visibility="hidden",divElem.style.position="absolute",divElem.style.top="0";const body=document.querySelector("body");null==body||body.insertAdjacentElement("beforeend",divElem);const dim={width:divElem.clientWidth,height:divElem.clientHeight};return divElem.remove(),dim},"calculateMathMLDimensions"),renderKatexUnsanitized=__name(async(text2,config2)=>{if(!hasKatex(text2))return text2;if(!(isMathMLSupported()||config2.legacyMathML||config2.forceLegacyMathML))return text2.replace(katexRegex,"MathML is unsupported in this environment.");{const{default:katex}=await __vitePreload(async()=>{const{default:katex2}=await import("./katex-DSO9-KAp.js");return{default:katex2}},[]),outputMode=config2.forceLegacyMathML||!isMathMLSupported()&&config2.legacyMathML?"htmlAndMathml":"mathml";return text2.split(lineBreakRegex).map(line2=>hasKatex(line2)?`<div style="display: flex; align-items: center; justify-content: center; white-space: nowrap;">${line2}</div>`:`<div>${line2}</div>`).join("").replace(katexRegex,(_2,c2)=>katex.renderToString(c2,{throwOnError:!0,displayMode:!0,output:outputMode}).replace(/\n/g," ").replace(/<annotation.*<\/annotation>/g,""))}},"renderKatexUnsanitized"),renderKatexSanitized=__name(async(text2,config2)=>sanitizeText(await renderKatexUnsanitized(text2,config2),config2),"renderKatexSanitized"),common_default={getRows:getRows,sanitizeText:sanitizeText,sanitizeTextOrArray:sanitizeTextOrArray,hasBreaks:hasBreaks,splitBreaks:splitBreaks,lineBreakRegex:lineBreakRegex,removeScript:removeScript,getUrl:getUrl,evaluate:evaluate,getMax:getMax,getMin:getMin},d3Attrs=__name(function(d3Elem,attrs){for(let attr of attrs)d3Elem.attr(attr[0],attr[1])},"d3Attrs"),calculateSvgSizeAttrs=__name(function(height,width,useMaxWidth){let attrs=new Map;return useMaxWidth?(attrs.set("width","100%"),attrs.set("style",`max-width: ${width}px;`)):(attrs.set("height",height),attrs.set("width",width)),attrs},"calculateSvgSizeAttrs"),configureSvgSize=__name(function(svgElem,height,width,useMaxWidth){const attrs=calculateSvgSizeAttrs(height,width,useMaxWidth);d3Attrs(svgElem,attrs)},"configureSvgSize"),setupGraphViewbox=__name(function(graph,svgElem,padding,useMaxWidth){const svgBounds=svgElem.node().getBBox(),sWidth=svgBounds.width,sHeight=svgBounds.height;log.info(`SVG bounds: ${sWidth}x${sHeight}`,svgBounds);let width=0,height=0;log.info(`Graph bounds: ${width}x${height}`,graph),width=sWidth+2*padding,height=sHeight+2*padding,log.info(`Calculated bounds: ${width}x${height}`),configureSvgSize(svgElem,height,width,useMaxWidth);const vBox=`${svgBounds.x-padding} ${svgBounds.y-padding} ${svgBounds.width+2*padding} ${svgBounds.height+2*padding}`;svgElem.attr("viewBox",vBox)},"setupGraphViewbox"),themes={},getStyles=__name((type2,userStyles,options,svgId)=>{let diagramStyles="";return type2 in themes&&themes[type2]?diagramStyles=themes[type2]({...options,svgId:svgId}):log.warn(`No theme found for ${type2}`),` & {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n fill: ${options.textColor}\n }\n @keyframes edge-animation-frame {\n from {\n stroke-dashoffset: 0;\n }\n }\n @keyframes dash {\n to {\n stroke-dashoffset: 0;\n }\n }\n & .edge-animation-slow {\n stroke-dasharray: 9,5 !important;\n stroke-dashoffset: 900;\n animation: dash 50s linear infinite;\n stroke-linecap: round;\n }\n & .edge-animation-fast {\n stroke-dasharray: 9,5 !important;\n stroke-dashoffset: 900;\n animation: dash 20s linear infinite;\n stroke-linecap: round;\n }\n /* Classes common for multiple diagrams */\n\n & .error-icon {\n fill: ${options.errorBkgColor};\n }\n & .error-text {\n fill: ${options.errorTextColor};\n stroke: ${options.errorTextColor};\n }\n\n & .edge-thickness-normal {\n stroke-width: ${options.strokeWidth??1}px;\n }\n & .edge-thickness-thick {\n stroke-width: 3.5px\n }\n & .edge-pattern-solid {\n stroke-dasharray: 0;\n }\n & .edge-thickness-invisible {\n stroke-width: 0;\n fill: none;\n }\n & .edge-pattern-dashed{\n stroke-dasharray: 3;\n }\n .edge-pattern-dotted {\n stroke-dasharray: 2;\n }\n\n & .marker {\n fill: ${options.lineColor};\n stroke: ${options.lineColor};\n }\n & .marker.cross {\n stroke: ${options.lineColor};\n }\n\n & svg {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n }\n & p {\n margin: 0\n }\n\n ${diagramStyles}\n .node .neo-node {\n stroke: ${options.nodeBorder};\n }\n\n [data-look="neo"].node rect, [data-look="neo"].cluster rect, [data-look="neo"].node polygon {\n stroke: ${options.useGradient?"url("+svgId+"-gradient)":options.nodeBorder};\n filter: ${options.dropShadow?options.dropShadow.replace("url(#drop-shadow)",`url(${svgId}-drop-shadow)`):"none"};\n }\n\n\n [data-look="neo"].node path {\n stroke: ${options.useGradient?"url("+svgId+"-gradient)":options.nodeBorder};\n stroke-width: ${options.strokeWidth??1}px;\n }\n\n [data-look="neo"].node .outer-path {\n filter: ${options.dropShadow?options.dropShadow.replace("url(#drop-shadow)",`url(${svgId}-drop-shadow)`):"none"};\n }\n\n [data-look="neo"].node .neo-line path {\n stroke: ${options.nodeBorder};\n filter: none;\n }\n\n [data-look="neo"].node circle{\n stroke: ${options.useGradient?"url("+svgId+"-gradient)":options.nodeBorder};\n filter: ${options.dropShadow?options.dropShadow.replace("url(#drop-shadow)",`url(${svgId}-drop-shadow)`):"none"};\n }\n\n [data-look="neo"].node circle .state-start{\n fill: #000000;\n }\n\n [data-look="neo"].icon-shape .icon {\n fill: ${options.useGradient?"url("+svgId+"-gradient)":options.nodeBorder};\n filter: ${options.dropShadow?options.dropShadow.replace("url(#drop-shadow)",`url(${svgId}-drop-shadow)`):"none"};\n }\n\n [data-look="neo"].icon-shape .icon-neo path {\n stroke: ${options.useGradient?"url("+svgId+"-gradient)":options.nodeBorder};\n filter: ${options.dropShadow?options.dropShadow.replace("url(#drop-shadow)",`url(${svgId}-drop-shadow)`):"none"};\n }\n\n ${userStyles}\n`},"getStyles"),addStylesForDiagram=__name((type2,diagramTheme)=>{void 0!==diagramTheme&&(themes[type2]=diagramTheme)},"addStylesForDiagram"),styles_default=getStyles,commonDb_exports={};__export(commonDb_exports,{clear:()=>clear$2,getAccDescription:()=>getAccDescription,getAccTitle:()=>getAccTitle,getDiagramTitle:()=>getDiagramTitle,setAccDescription:()=>setAccDescription,setAccTitle:()=>setAccTitle,setDiagramTitle:()=>setDiagramTitle});var accTitle="",diagramTitle="",accDescription="",sanitizeText2=__name(txt=>sanitizeText(txt,getConfig()),"sanitizeText"),clear$2=__name(()=>{accTitle="",accDescription="",diagramTitle=""},"clear"),setAccTitle=__name(txt=>{accTitle=sanitizeText2(txt).replace(/^\s+/g,"")},"setAccTitle"),getAccTitle=__name(()=>accTitle,"getAccTitle"),setAccDescription=__name(txt=>{accDescription=sanitizeText2(txt).replace(/\n\s+/g,"\n")},"setAccDescription"),getAccDescription=__name(()=>accDescription,"getAccDescription"),setDiagramTitle=__name(txt=>{diagramTitle=sanitizeText2(txt)},"setDiagramTitle"),getDiagramTitle=__name(()=>diagramTitle,"getDiagramTitle"),log2=log,setLogLevel2=setLogLevel,getConfig2=getConfig,setConfig2=setConfig,defaultConfig2=defaultConfig,sanitizeText3=__name(text2=>sanitizeText(text2,getConfig2()),"sanitizeText"),setupGraphViewbox2=setupGraphViewbox,getCommonDb=__name(()=>commonDb_exports,"getCommonDb"),diagrams={},registerDiagram=__name((id32,diagram2,detector32)=>{var _a2;diagrams[id32]&&log2.warn(`Diagram with id ${id32} already registered. Overwriting.`),diagrams[id32]=diagram2,detector32&&addDetector(id32,detector32),addStylesForDiagram(id32,diagram2.styles),null==(_a2=diagram2.injectUtils)||_a2.call(diagram2,log2,setLogLevel2,getConfig2,sanitizeText3,setupGraphViewbox2,getCommonDb(),()=>{})},"registerDiagram"),getDiagram=__name(name=>{if(name in diagrams)return diagrams[name];throw new DiagramNotFoundError(name)},"getDiagram"),DiagramNotFoundError=(_m=class extends Error{constructor(name){super(`Diagram ${name} not found.`)}},__name(_m,"DiagramNotFoundError"),_m),noop$1={value:()=>{}};function dispatch(){for(var t2,i2=0,n2=arguments.length,_2={};i2<n2;++i2){if(!(t2=arguments[i2]+"")||t2 in _2||/[\s.]/.test(t2))throw new Error("illegal type: "+t2);_2[t2]=[]}return new Dispatch(_2)}function Dispatch(_2){this._=_2}function get$1(type2,name){for(var c2,i2=0,n2=type2.length;i2<n2;++i2)if((c2=type2[i2]).name===name)return c2.value}function set$2(type2,name,callback){for(var i2=0,n2=type2.length;i2<n2;++i2)if(type2[i2].name===name){type2[i2]=noop$1,type2=type2.slice(0,i2).concat(type2.slice(i2+1));break}return null!=callback&&type2.push({name:name,value:callback}),type2}Dispatch.prototype=dispatch.prototype={constructor:Dispatch,on:function(typename,callback){var t2,types,_2=this._,T2=(types=_2,(typename+"").trim().split(/^|\s+/).map(function(t2){var name="",i2=t2.indexOf(".");if(i2>=0&&(name=t2.slice(i2+1),t2=t2.slice(0,i2)),t2&&!types.hasOwnProperty(t2))throw new Error("unknown type: "+t2);return{type:t2,name:name}})),i2=-1,n2=T2.length;if(!(arguments.length<2)){if(null!=callback&&"function"!=typeof callback)throw new Error("invalid callback: "+callback);for(;++i2<n2;)if(t2=(typename=T2[i2]).type)_2[t2]=set$2(_2[t2],typename.name,callback);else if(null==callback)for(t2 in _2)_2[t2]=set$2(_2[t2],typename.name,null);return this}for(;++i2<n2;)if((t2=(typename=T2[i2]).type)&&(t2=get$1(_2[t2],typename.name)))return t2},copy:function(){var copy={},_2=this._;for(var t2 in _2)copy[t2]=_2[t2].slice();return new Dispatch(copy)},call:function(type2,that){if((n2=arguments.length-2)>0)for(var n2,t2,args=new Array(n2),i2=0;i2<n2;++i2)args[i2]=arguments[i2+2];if(!this._.hasOwnProperty(type2))throw new Error("unknown type: "+type2);for(i2=0,n2=(t2=this._[type2]).length;i2<n2;++i2)t2[i2].value.apply(that,args)},apply:function(type2,that,args){if(!this._.hasOwnProperty(type2))throw new Error("unknown type: "+type2);for(var t2=this._[type2],i2=0,n2=t2.length;i2<n2;++i2)t2[i2].value.apply(that,args)}};var xhtml="http://www.w3.org/1999/xhtml";const namespaces={svg:"http://www.w3.org/2000/svg",xhtml:xhtml,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function namespace(name){var prefix=name+="",i2=prefix.indexOf(":");return i2>=0&&"xmlns"!==(prefix=name.slice(0,i2))&&(name=name.slice(i2+1)),namespaces.hasOwnProperty(prefix)?{space:namespaces[prefix],local:name}:name}function creatorInherit(name){return function(){var document2=this.ownerDocument,uri=this.namespaceURI;return uri===xhtml&&document2.documentElement.namespaceURI===xhtml?document2.createElement(name):document2.createElementNS(uri,name)}}function creatorFixed(fullname){return function(){return this.ownerDocument.createElementNS(fullname.space,fullname.local)}}function creator(name){var fullname=namespace(name);return(fullname.local?creatorFixed:creatorInherit)(fullname)}function none(){}function selector(selector2){return null==selector2?none:function(){return this.querySelector(selector2)}}function empty(){return[]}function selectorAll(selector2){return null==selector2?empty:function(){return this.querySelectorAll(selector2)}}function arrayAll(select2){return function(){return null==(x2=select2.apply(this,arguments))?[]:Array.isArray(x2)?x2:Array.from(x2);var x2}}function matcher(selector2){return function(){return this.matches(selector2)}}function childMatcher(selector2){return function(node){return node.matches(selector2)}}var find=Array.prototype.find;function childFirst(){return this.firstElementChild}var filter=Array.prototype.filter;function children(){return Array.from(this.children)}function sparse(update){return new Array(update.length)}function EnterNode(parent,datum2){this.ownerDocument=parent.ownerDocument,this.namespaceURI=parent.namespaceURI,this._next=null,this._parent=parent,this.__data__=datum2}function bindIndex(parent,group,enter,update,exit,data){for(var node,i2=0,groupLength=group.length,dataLength=data.length;i2<dataLength;++i2)(node=group[i2])?(node.__data__=data[i2],update[i2]=node):enter[i2]=new EnterNode(parent,data[i2]);for(;i2<groupLength;++i2)(node=group[i2])&&(exit[i2]=node)}function bindKey(parent,group,enter,update,exit,data,key){var i2,node,keyValue,nodeByKeyValue=new Map,groupLength=group.length,dataLength=data.length,keyValues=new Array(groupLength);for(i2=0;i2<groupLength;++i2)(node=group[i2])&&(keyValues[i2]=keyValue=key.call(node,node.__data__,i2,group)+"",nodeByKeyValue.has(keyValue)?exit[i2]=node:nodeByKeyValue.set(keyValue,node));for(i2=0;i2<dataLength;++i2)keyValue=key.call(parent,data[i2],i2,data)+"",(node=nodeByKeyValue.get(keyValue))?(update[i2]=node,node.__data__=data[i2],nodeByKeyValue.delete(keyValue)):enter[i2]=new EnterNode(parent,data[i2]);for(i2=0;i2<groupLength;++i2)(node=group[i2])&&nodeByKeyValue.get(keyValues[i2])===node&&(exit[i2]=node)}function datum(node){return node.__data__}function arraylike(data){return"object"==typeof data&&"length"in data?data:Array.from(data)}function ascending(a2,b2){return a2<b2?-1:a2>b2?1:a2>=b2?0:NaN}function attrRemove$1(name){return function(){this.removeAttribute(name)}}function attrRemoveNS$1(fullname){return function(){this.removeAttributeNS(fullname.space,fullname.local)}}function attrConstant$1(name,value){return function(){this.setAttribute(name,value)}}function attrConstantNS$1(fullname,value){return function(){this.setAttributeNS(fullname.space,fullname.local,value)}}function attrFunction$1(name,value){return function(){var v2=value.apply(this,arguments);null==v2?this.removeAttribute(name):this.setAttribute(name,v2)}}function attrFunctionNS$1(fullname,value){return function(){var v2=value.apply(this,arguments);null==v2?this.removeAttributeNS(fullname.space,fullname.local):this.setAttributeNS(fullname.space,fullname.local,v2)}}function defaultView(node){return node.ownerDocument&&node.ownerDocument.defaultView||node.document&&node||node.defaultView}function styleRemove$1(name){return function(){this.style.removeProperty(name)}}function styleConstant$1(name,value,priority){return function(){this.style.setProperty(name,value,priority)}}function styleFunction$1(name,value,priority){return function(){var v2=value.apply(this,arguments);null==v2?this.style.removeProperty(name):this.style.setProperty(name,v2,priority)}}function styleValue(node,name){return node.style.getPropertyValue(name)||defaultView(node).getComputedStyle(node,null).getPropertyValue(name)}function propertyRemove(name){return function(){delete this[name]}}function propertyConstant(name,value){return function(){this[name]=value}}function propertyFunction(name,value){return function(){var v2=value.apply(this,arguments);null==v2?delete this[name]:this[name]=v2}}function classArray(string){return string.trim().split(/^|\s+/)}function classList(node){return node.classList||new ClassList(node)}function ClassList(node){this._node=node,this._names=classArray(node.getAttribute("class")||"")}function classedAdd(node,names){for(var list=classList(node),i2=-1,n2=names.length;++i2<n2;)list.add(names[i2])}function classedRemove(node,names){for(var list=classList(node),i2=-1,n2=names.length;++i2<n2;)list.remove(names[i2])}function classedTrue(names){return function(){classedAdd(this,names)}}function classedFalse(names){return function(){classedRemove(this,names)}}function classedFunction(names,value){return function(){(value.apply(this,arguments)?classedAdd:classedRemove)(this,names)}}function textRemove(){this.textContent=""}function textConstant$1(value){return function(){this.textContent=value}}function textFunction$1(value){return function(){var v2=value.apply(this,arguments);this.textContent=null==v2?"":v2}}function htmlRemove(){this.innerHTML=""}function htmlConstant(value){return function(){this.innerHTML=value}}function htmlFunction(value){return function(){var v2=value.apply(this,arguments);this.innerHTML=null==v2?"":v2}}function raise(){this.nextSibling&&this.parentNode.appendChild(this)}function lower(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function constantNull(){return null}function remove(){var parent=this.parentNode;parent&&parent.removeChild(this)}function selection_cloneShallow(){var clone=this.cloneNode(!1),parent=this.parentNode;return parent?parent.insertBefore(clone,this.nextSibling):clone}function selection_cloneDeep(){var clone=this.cloneNode(!0),parent=this.parentNode;return parent?parent.insertBefore(clone,this.nextSibling):clone}function onRemove(typename){return function(){var on=this.__on;if(on){for(var o2,j2=0,i2=-1,m2=on.length;j2<m2;++j2)o2=on[j2],typename.type&&o2.type!==typename.type||o2.name!==typename.name?on[++i2]=o2:this.removeEventListener(o2.type,o2.listener,o2.options);++i2?on.length=i2:delete this.__on}}}function onAdd(typename,value,options){return function(){var o2,on=this.__on,listener=function(listener){return function(event){listener.call(this,event,this.__data__)}}(value);if(on)for(var j2=0,m2=on.length;j2<m2;++j2)if((o2=on[j2]).type===typename.type&&o2.name===typename.name)return this.removeEventListener(o2.type,o2.listener,o2.options),this.addEventListener(o2.type,o2.listener=listener,o2.options=options),void(o2.value=value);this.addEventListener(typename.type,listener,options),o2={type:typename.type,name:typename.name,value:value,listener:listener,options:options},on?on.push(o2):this.__on=[o2]}}function dispatchEvent(node,type2,params){var window2=defaultView(node),event=window2.CustomEvent;"function"==typeof event?event=new event(type2,params):(event=window2.document.createEvent("Event"),params?(event.initEvent(type2,params.bubbles,params.cancelable),event.detail=params.detail):event.initEvent(type2,!1,!1)),node.dispatchEvent(event)}function dispatchConstant(type2,params){return function(){return dispatchEvent(this,type2,params)}}function dispatchFunction(type2,params){return function(){return dispatchEvent(this,type2,params.apply(this,arguments))}}EnterNode.prototype={constructor:EnterNode,appendChild:function(child){return this._parent.insertBefore(child,this._next)},insertBefore:function(child,next){return this._parent.insertBefore(child,next)},querySelector:function(selector2){return this._parent.querySelector(selector2)},querySelectorAll:function(selector2){return this._parent.querySelectorAll(selector2)}},ClassList.prototype={add:function(name){this._names.indexOf(name)<0&&(this._names.push(name),this._node.setAttribute("class",this._names.join(" ")))},remove:function(name){var i2=this._names.indexOf(name);i2>=0&&(this._names.splice(i2,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(name){return this._names.indexOf(name)>=0}};var root$1=[null];function Selection$1(groups,parents){this._groups=groups,this._parents=parents}function selection(){return new Selection$1([[document.documentElement]],root$1)}function select(selector2){return"string"==typeof selector2?new Selection$1([[document.querySelector(selector2)]],[document.documentElement]):new Selection$1([[selector2]],root$1)}function define(constructor,factory,prototype){constructor.prototype=factory.prototype=prototype,prototype.constructor=constructor}function extend$1(parent,definition){var prototype=Object.create(parent.prototype);for(var key in definition)prototype[key]=definition[key];return prototype}function Color(){}Selection$1.prototype=selection.prototype={constructor:Selection$1,select:function(select2){"function"!=typeof select2&&(select2=selector(select2));for(var groups=this._groups,m2=groups.length,subgroups=new Array(m2),j2=0;j2<m2;++j2)for(var node,subnode,group=groups[j2],n2=group.length,subgroup=subgroups[j2]=new Array(n2),i2=0;i2<n2;++i2)(node=group[i2])&&(subnode=select2.call(node,node.__data__,i2,group))&&("__data__"in node&&(subnode.__data__=node.__data__),subgroup[i2]=subnode);return new Selection$1(subgroups,this._parents)},selectAll:function(select2){select2="function"==typeof select2?arrayAll(select2):selectorAll(select2);for(var groups=this._groups,m2=groups.length,subgroups=[],parents=[],j2=0;j2<m2;++j2)for(var node,group=groups[j2],n2=group.length,i2=0;i2<n2;++i2)(node=group[i2])&&(subgroups.push(select2.call(node,node.__data__,i2,group)),parents.push(node));return new Selection$1(subgroups,parents)},selectChild:function(match){return this.select(null==match?childFirst:function(match){return function(){return find.call(this.children,match)}}("function"==typeof match?match:childMatcher(match)))},selectChildren:function(match){return this.selectAll(null==match?children:function(match){return function(){return filter.call(this.children,match)}}("function"==typeof match?match:childMatcher(match)))},filter:function(match){"function"!=typeof match&&(match=matcher(match));for(var groups=this._groups,m2=groups.length,subgroups=new Array(m2),j2=0;j2<m2;++j2)for(var node,group=groups[j2],n2=group.length,subgroup=subgroups[j2]=[],i2=0;i2<n2;++i2)(node=group[i2])&&match.call(node,node.__data__,i2,group)&&subgroup.push(node);return new Selection$1(subgroups,this._parents)},data:function(value,key){if(!arguments.length)return Array.from(this,datum);var x2,bind=key?bindKey:bindIndex,parents=this._parents,groups=this._groups;"function"!=typeof value&&(x2=value,value=function(){return x2});for(var m2=groups.length,update=new Array(m2),enter=new Array(m2),exit=new Array(m2),j2=0;j2<m2;++j2){var parent=parents[j2],group=groups[j2],groupLength=group.length,data=arraylike(value.call(parent,parent&&parent.__data__,j2,parents)),dataLength=data.length,enterGroup=enter[j2]=new Array(dataLength),updateGroup=update[j2]=new Array(dataLength);bind(parent,group,enterGroup,updateGroup,exit[j2]=new Array(groupLength),data,key);for(var previous,next,i0=0,i1=0;i0<dataLength;++i0)if(previous=enterGroup[i0]){for(i0>=i1&&(i1=i0+1);!(next=updateGroup[i1])&&++i1<dataLength;);previous._next=next||null}}return(update=new Selection$1(update,parents))._enter=enter,update._exit=exit,update},enter:function(){return new Selection$1(this._enter||this._groups.map(sparse),this._parents)},exit:function(){return new Selection$1(this._exit||this._groups.map(sparse),this._parents)},join:function(onenter,onupdate,onexit){var enter=this.enter(),update=this,exit=this.exit();return"function"==typeof onenter?(enter=onenter(enter))&&(enter=enter.selection()):enter=enter.append(onenter+""),null!=onupdate&&(update=onupdate(update))&&(update=update.selection()),null==onexit?exit.remove():onexit(exit),enter&&update?enter.merge(update).order():update},merge:function(context){for(var selection2=context.selection?context.selection():context,groups0=this._groups,groups1=selection2._groups,m0=groups0.length,m1=groups1.length,m2=Math.min(m0,m1),merges=new Array(m0),j2=0;j2<m2;++j2)for(var node,group0=groups0[j2],group1=groups1[j2],n2=group0.length,merge2=merges[j2]=new Array(n2),i2=0;i2<n2;++i2)(node=group0[i2]||group1[i2])&&(merge2[i2]=node);for(;j2<m0;++j2)merges[j2]=groups0[j2];return new Selection$1(merges,this._parents)},selection:function(){return this},order:function(){for(var groups=this._groups,j2=-1,m2=groups.length;++j2<m2;)for(var node,group=groups[j2],i2=group.length-1,next=group[i2];--i2>=0;)(node=group[i2])&&(next&&4^node.compareDocumentPosition(next)&&next.parentNode.insertBefore(node,next),next=node);return this},sort:function(compare){function compareNode(a2,b2){return a2&&b2?compare(a2.__data__,b2.__data__):!a2-!b2}compare||(compare=ascending);for(var groups=this._groups,m2=groups.length,sortgroups=new Array(m2),j2=0;j2<m2;++j2){for(var node,group=groups[j2],n2=group.length,sortgroup=sortgroups[j2]=new Array(n2),i2=0;i2<n2;++i2)(node=group[i2])&&(sortgroup[i2]=node);sortgroup.sort(compareNode)}return new Selection$1(sortgroups,this._parents).order()},call:function(){var callback=arguments[0];return arguments[0]=this,callback.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var groups=this._groups,j2=0,m2=groups.length;j2<m2;++j2)for(var group=groups[j2],i2=0,n2=group.length;i2<n2;++i2){var node=group[i2];if(node)return node}return null},size:function(){let size=0;for(const node of this)++size;return size},empty:function(){return!this.node()},each:function(callback){for(var groups=this._groups,j2=0,m2=groups.length;j2<m2;++j2)for(var node,group=groups[j2],i2=0,n2=group.length;i2<n2;++i2)(node=group[i2])&&callback.call(node,node.__data__,i2,group);return this},attr:function(name,value){var fullname=namespace(name);if(arguments.length<2){var node=this.node();return fullname.local?node.getAttributeNS(fullname.space,fullname.local):node.getAttribute(fullname)}return this.each((null==value?fullname.local?attrRemoveNS$1:attrRemove$1:"function"==typeof value?fullname.local?attrFunctionNS$1:attrFunction$1:fullname.local?attrConstantNS$1:attrConstant$1)(fullname,value))},style:function(name,value,priority){return arguments.length>1?this.each((null==value?styleRemove$1:"function"==typeof value?styleFunction$1:styleConstant$1)(name,value,null==priority?"":priority)):styleValue(this.node(),name)},property:function(name,value){return arguments.length>1?this.each((null==value?propertyRemove:"function"==typeof value?propertyFunction:propertyConstant)(name,value)):this.node()[name]},classed:function(name,value){var names=classArray(name+"");if(arguments.length<2){for(var list=classList(this.node()),i2=-1,n2=names.length;++i2<n2;)if(!list.contains(names[i2]))return!1;return!0}return this.each(("function"==typeof value?classedFunction:value?classedTrue:classedFalse)(names,value))},text:function(value){return arguments.length?this.each(null==value?textRemove:("function"==typeof value?textFunction$1:textConstant$1)(value)):this.node().textContent},html:function(value){return arguments.length?this.each(null==value?htmlRemove:("function"==typeof value?htmlFunction:htmlConstant)(value)):this.node().innerHTML},raise:function(){return this.each(raise)},lower:function(){return this.each(lower)},append:function(name){var create2="function"==typeof name?name:creator(name);return this.select(function(){return this.appendChild(create2.apply(this,arguments))})},insert:function(name,before){var create2="function"==typeof name?name:creator(name),select2=null==before?constantNull:"function"==typeof before?before:selector(before);return this.select(function(){return this.insertBefore(create2.apply(this,arguments),select2.apply(this,arguments)||null)})},remove:function(){return this.each(remove)},clone:function(deep){return this.select(deep?selection_cloneDeep:selection_cloneShallow)},datum:function(value){return arguments.length?this.property("__data__",value):this.node().__data__},on:function(typename,value,options){var i2,t2,typenames=function(typenames){return typenames.trim().split(/^|\s+/).map(function(t2){var name="",i2=t2.indexOf(".");return i2>=0&&(name=t2.slice(i2+1),t2=t2.slice(0,i2)),{type:t2,name:name}})}(typename+""),n2=typenames.length;if(!(arguments.length<2)){for(on=value?onAdd:onRemove,i2=0;i2<n2;++i2)this.each(on(typenames[i2],value,options));return this}var on=this.node().__on;if(on)for(var o2,j2=0,m2=on.length;j2<m2;++j2)for(i2=0,o2=on[j2];i2<n2;++i2)if((t2=typenames[i2]).type===o2.type&&t2.name===o2.name)return o2.value},dispatch:function(type2,params){return this.each(("function"==typeof params?dispatchFunction:dispatchConstant)(type2,params))},[Symbol.iterator]:function*(){for(var groups=this._groups,j2=0,m2=groups.length;j2<m2;++j2)for(var node,group=groups[j2],i2=0,n2=group.length;i2<n2;++i2)(node=group[i2])&&(yield node)}};var brighter=1/.7,reI="\\s*([+-]?\\d+)\\s*",reN="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",reP="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",reHex=/^#([0-9a-f]{3,8})$/,reRgbInteger=new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`),reRgbPercent=new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`),reRgbaInteger=new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`),reRgbaPercent=new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`),reHslPercent=new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`),reHslaPercent=new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`),named={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function color_formatHex(){return this.rgb().formatHex()}function color_formatRgb(){return this.rgb().formatRgb()}function color(format2){var m2,l4;return format2=(format2+"").trim().toLowerCase(),(m2=reHex.exec(format2))?(l4=m2[1].length,m2=parseInt(m2[1],16),6===l4?rgbn(m2):3===l4?new Rgb(m2>>8&15|m2>>4&240,m2>>4&15|240&m2,(15&m2)<<4|15&m2,1):8===l4?rgba(m2>>24&255,m2>>16&255,m2>>8&255,(255&m2)/255):4===l4?rgba(m2>>12&15|m2>>8&240,m2>>8&15|m2>>4&240,m2>>4&15|240&m2,((15&m2)<<4|15&m2)/255):null):(m2=reRgbInteger.exec(format2))?new Rgb(m2[1],m2[2],m2[3],1):(m2=reRgbPercent.exec(format2))?new Rgb(255*m2[1]/100,255*m2[2]/100,255*m2[3]/100,1):(m2=reRgbaInteger.exec(format2))?rgba(m2[1],m2[2],m2[3],m2[4]):(m2=reRgbaPercent.exec(format2))?rgba(255*m2[1]/100,255*m2[2]/100,255*m2[3]/100,m2[4]):(m2=reHslPercent.exec(format2))?hsla(m2[1],m2[2]/100,m2[3]/100,1):(m2=reHslaPercent.exec(format2))?hsla(m2[1],m2[2]/100,m2[3]/100,m2[4]):named.hasOwnProperty(format2)?rgbn(named[format2]):"transparent"===format2?new Rgb(NaN,NaN,NaN,0):null}function rgbn(n2){return new Rgb(n2>>16&255,n2>>8&255,255&n2,1)}function rgba(r2,g2,b2,a2){return a2<=0&&(r2=g2=b2=NaN),new Rgb(r2,g2,b2,a2)}function rgbConvert(o2){return o2 instanceof Color||(o2=color(o2)),o2?new Rgb((o2=o2.rgb()).r,o2.g,o2.b,o2.opacity):new Rgb}function rgb(r2,g2,b2,opacity){return 1===arguments.length?rgbConvert(r2):new Rgb(r2,g2,b2,null==opacity?1:opacity)}function Rgb(r2,g2,b2,opacity){this.r=+r2,this.g=+g2,this.b=+b2,this.opacity=+opacity}function rgb_formatHex(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}`}function rgb_formatRgb(){const a2=clampa(this.opacity);return`${1===a2?"rgb(":"rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${1===a2?")":`, ${a2})`}`}function clampa(opacity){return isNaN(opacity)?1:Math.max(0,Math.min(1,opacity))}function clampi(value){return Math.max(0,Math.min(255,Math.round(value)||0))}function hex(value){return((value=clampi(value))<16?"0":"")+value.toString(16)}function hsla(h2,s2,l4,a2){return a2<=0?h2=s2=l4=NaN:l4<=0||l4>=1?h2=s2=NaN:s2<=0&&(h2=NaN),new Hsl(h2,s2,l4,a2)}function hslConvert(o2){if(o2 instanceof Hsl)return new Hsl(o2.h,o2.s,o2.l,o2.opacity);if(o2 instanceof Color||(o2=color(o2)),!o2)return new Hsl;if(o2 instanceof Hsl)return o2;var r2=(o2=o2.rgb()).r/255,g2=o2.g/255,b2=o2.b/255,min2=Math.min(r2,g2,b2),max2=Math.max(r2,g2,b2),h2=NaN,s2=max2-min2,l4=(max2+min2)/2;return s2?(h2=r2===max2?(g2-b2)/s2+6*(g2<b2):g2===max2?(b2-r2)/s2+2:(r2-g2)/s2+4,s2/=l4<.5?max2+min2:2-max2-min2,h2*=60):s2=l4>0&&l4<1?0:h2,new Hsl(h2,s2,l4,o2.opacity)}function Hsl(h2,s2,l4,opacity){this.h=+h2,this.s=+s2,this.l=+l4,this.opacity=+opacity}function clamph(value){return(value=(value||0)%360)<0?value+360:value}function clampt(value){return Math.max(0,Math.min(1,value||0))}function hsl2rgb(h2,m1,m2){return 255*(h2<60?m1+(m2-m1)*h2/60:h2<180?m2:h2<240?m1+(m2-m1)*(240-h2)/60:m1)}define(Color,color,{copy(channels2){return Object.assign(new this.constructor,this,channels2)},displayable(){return this.rgb().displayable()},hex:color_formatHex,formatHex:color_formatHex,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return hslConvert(this).formatHsl()},formatRgb:color_formatRgb,toString:color_formatRgb}),define(Rgb,rgb,extend$1(Color,{brighter(k2){return k2=null==k2?brighter:Math.pow(brighter,k2),new Rgb(this.r*k2,this.g*k2,this.b*k2,this.opacity)},darker(k2){return k2=null==k2?.7:Math.pow(.7,k2),new Rgb(this.r*k2,this.g*k2,this.b*k2,this.opacity)},rgb(){return this},clamp(){return new Rgb(clampi(this.r),clampi(this.g),clampi(this.b),clampa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:rgb_formatHex,formatHex:rgb_formatHex,formatHex8:function(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:rgb_formatRgb,toString:rgb_formatRgb})),define(Hsl,function(h2,s2,l4,opacity){return 1===arguments.length?hslConvert(h2):new Hsl(h2,s2,l4,null==opacity?1:opacity)},extend$1(Color,{brighter(k2){return k2=null==k2?brighter:Math.pow(brighter,k2),new Hsl(this.h,this.s,this.l*k2,this.opacity)},darker(k2){return k2=null==k2?.7:Math.pow(.7,k2),new Hsl(this.h,this.s,this.l*k2,this.opacity)},rgb(){var h2=this.h%360+360*(this.h<0),s2=isNaN(h2)||isNaN(this.s)?0:this.s,l4=this.l,m2=l4+(l4<.5?l4:1-l4)*s2,m1=2*l4-m2;return new Rgb(hsl2rgb(h2>=240?h2-240:h2+120,m1,m2),hsl2rgb(h2,m1,m2),hsl2rgb(h2<120?h2+240:h2-120,m1,m2),this.opacity)},clamp(){return new Hsl(clamph(this.h),clampt(this.s),clampt(this.l),clampa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const a2=clampa(this.opacity);return`${1===a2?"hsl(":"hsla("}${clamph(this.h)}, ${100*clampt(this.s)}%, ${100*clampt(this.l)}%${1===a2?")":`, ${a2})`}`}}));const constant$2=x2=>()=>x2;function linear(a2,d2){return function(t2){return a2+t2*d2}}function hue(a2,b2){var d2=b2-a2;return d2?linear(a2,d2>180||d2<-180?d2-360*Math.round(d2/360):d2):constant$2(isNaN(a2)?b2:a2)}function gamma(y3){return 1===(y3=+y3)?nogamma:function(a2,b2){return b2-a2?function(a2,b2,y3){return a2=Math.pow(a2,y3),b2=Math.pow(b2,y3)-a2,y3=1/y3,function(t2){return Math.pow(a2+t2*b2,y3)}}(a2,b2,y3):constant$2(isNaN(a2)?b2:a2)}}function nogamma(a2,b2){var d2=b2-a2;return d2?linear(a2,d2):constant$2(isNaN(a2)?b2:a2)}const interpolateRgb=function rgbGamma(y3){var color2=gamma(y3);function rgb$1(start2,end){var r2=color2((start2=rgb(start2)).r,(end=rgb(end)).r),g2=color2(start2.g,end.g),b2=color2(start2.b,end.b),opacity=nogamma(start2.opacity,end.opacity);return function(t2){return start2.r=r2(t2),start2.g=g2(t2),start2.b=b2(t2),start2.opacity=opacity(t2),start2+""}}return rgb$1.gamma=rgbGamma,rgb$1}(1);function interpolateNumber(a2,b2){return a2=+a2,b2=+b2,function(t2){return a2*(1-t2)+b2*t2}}var reA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,reB=new RegExp(reA.source,"g");function interpolateString(a2,b2){var am,bm,bs,bi=reA.lastIndex=reB.lastIndex=0,i2=-1,s2=[],q2=[];for(a2+="",b2+="";(am=reA.exec(a2))&&(bm=reB.exec(b2));)(bs=bm.index)>bi&&(bs=b2.slice(bi,bs),s2[i2]?s2[i2]+=bs:s2[++i2]=bs),(am=am[0])===(bm=bm[0])?s2[i2]?s2[i2]+=bm:s2[++i2]=bm:(s2[++i2]=null,q2.push({i:i2,x:interpolateNumber(am,bm)})),bi=reB.lastIndex;return bi<b2.length&&(bs=b2.slice(bi),s2[i2]?s2[i2]+=bs:s2[++i2]=bs),s2.length<2?q2[0]?function(b2){return function(t2){return b2(t2)+""}}(q2[0].x):function(b2){return function(){return b2}}(b2):(b2=q2.length,function(t2){for(var o2,i3=0;i3<b2;++i3)s2[(o2=q2[i3]).i]=o2.x(t2);return s2.join("")})}var svgNode,degrees=180/Math.PI,identity$1={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function decompose(a2,b2,c2,d2,e2,f2){var scaleX,scaleY,skewX;return(scaleX=Math.sqrt(a2*a2+b2*b2))&&(a2/=scaleX,b2/=scaleX),(skewX=a2*c2+b2*d2)&&(c2-=a2*skewX,d2-=b2*skewX),(scaleY=Math.sqrt(c2*c2+d2*d2))&&(c2/=scaleY,d2/=scaleY,skewX/=scaleY),a2*d2<b2*c2&&(a2=-a2,b2=-b2,skewX=-skewX,scaleX=-scaleX),{translateX:e2,translateY:f2,rotate:Math.atan2(b2,a2)*degrees,skewX:Math.atan(skewX)*degrees,scaleX:scaleX,scaleY:scaleY}}function interpolateTransform(parse3,pxComma,pxParen,degParen){function pop(s2){return s2.length?s2.pop()+" ":""}return function(a2,b2){var s2=[],q2=[];return a2=parse3(a2),b2=parse3(b2),function(xa,ya,xb,yb,s2,q2){if(xa!==xb||ya!==yb){var i2=s2.push("translate(",null,pxComma,null,pxParen);q2.push({i:i2-4,x:interpolateNumber(xa,xb)},{i:i2-2,x:interpolateNumber(ya,yb)})}else(xb||yb)&&s2.push("translate("+xb+pxComma+yb+pxParen)}(a2.translateX,a2.translateY,b2.translateX,b2.translateY,s2,q2),function(a2,b2,s2,q2){a2!==b2?(a2-b2>180?b2+=360:b2-a2>180&&(a2+=360),q2.push({i:s2.push(pop(s2)+"rotate(",null,degParen)-2,x:interpolateNumber(a2,b2)})):b2&&s2.push(pop(s2)+"rotate("+b2+degParen)}(a2.rotate,b2.rotate,s2,q2),function(a2,b2,s2,q2){a2!==b2?q2.push({i:s2.push(pop(s2)+"skewX(",null,degParen)-2,x:interpolateNumber(a2,b2)}):b2&&s2.push(pop(s2)+"skewX("+b2+degParen)}(a2.skewX,b2.skewX,s2,q2),function(xa,ya,xb,yb,s2,q2){if(xa!==xb||ya!==yb){var i2=s2.push(pop(s2)+"scale(",null,",",null,")");q2.push({i:i2-4,x:interpolateNumber(xa,xb)},{i:i2-2,x:interpolateNumber(ya,yb)})}else 1===xb&&1===yb||s2.push(pop(s2)+"scale("+xb+","+yb+")")}(a2.scaleX,a2.scaleY,b2.scaleX,b2.scaleY,s2,q2),a2=b2=null,function(t2){for(var o2,i2=-1,n2=q2.length;++i2<n2;)s2[(o2=q2[i2]).i]=o2.x(t2);return s2.join("")}}}var taskHead,taskTail,interpolateTransformCss=interpolateTransform(function(value){const m2=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(value+"");return m2.isIdentity?identity$1:decompose(m2.a,m2.b,m2.c,m2.d,m2.e,m2.f)},"px, ","px)","deg)"),interpolateTransformSvg=interpolateTransform(function(value){return null==value?identity$1:(svgNode||(svgNode=document.createElementNS("http://www.w3.org/2000/svg","g")),svgNode.setAttribute("transform",value),(value=svgNode.transform.baseVal.consolidate())?decompose((value=value.matrix).a,value.b,value.c,value.d,value.e,value.f):identity$1)},", ",")",")"),frame=0,timeout$1=0,interval=0,clockLast=0,clockNow=0,clockSkew=0,clock="object"==typeof performance&&performance.now?performance:Date,setFrame="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(f2){setTimeout(f2,17)};function now(){return clockNow||(setFrame(clearNow),clockNow=clock.now()+clockSkew)}function clearNow(){clockNow=0}function Timer(){this._call=this._time=this._next=null}function timer(callback,delay,time){var t2=new Timer;return t2.restart(callback,delay,time),t2}function wake(){clockNow=(clockLast=clock.now())+clockSkew,frame=timeout$1=0;try{!function(){now(),++frame;for(var e2,t2=taskHead;t2;)(e2=clockNow-t2._time)>=0&&t2._call.call(void 0,e2),t2=t2._next;--frame}()}finally{frame=0,function(){var t0,t2,t1=taskHead,time=1/0;for(;t1;)t1._call?(time>t1._time&&(time=t1._time),t0=t1,t1=t1._next):(t2=t1._next,t1._next=null,t1=t0?t0._next=t2:taskHead=t2);taskTail=t0,sleep(time)}(),clockNow=0}}function poke(){var now2=clock.now(),delay=now2-clockLast;delay>1e3&&(clockSkew-=delay,clockLast=now2)}function sleep(time){frame||(timeout$1&&(timeout$1=clearTimeout(timeout$1)),time-clockNow>24?(time<1/0&&(timeout$1=setTimeout(wake,time-clock.now()-clockSkew)),interval&&(interval=clearInterval(interval))):(interval||(clockLast=clock.now(),interval=setInterval(poke,1e3)),frame=1,setFrame(wake)))}function timeout(callback,delay,time){var t2=new Timer;return delay=null==delay?0:+delay,t2.restart(elapsed=>{t2.stop(),callback(elapsed+delay)},delay,time),t2}Timer.prototype=timer.prototype={constructor:Timer,restart:function(callback,delay,time){if("function"!=typeof callback)throw new TypeError("callback is not a function");time=(null==time?now():+time)+(null==delay?0:+delay),this._next||taskTail===this||(taskTail?taskTail._next=this:taskHead=this,taskTail=this),this._call=callback,this._time=time,sleep()},stop:function(){this._call&&(this._call=null,this._time=1/0,sleep())}};var emptyOn=dispatch("start","end","cancel","interrupt"),emptyTween=[];function schedule(node,name,id32,index,group,timing){var schedules=node.__transition;if(schedules){if(id32 in schedules)return}else node.__transition={};!function(node,id32,self2){var tween,schedules=node.__transition;function schedule2(elapsed){self2.state=1,self2.timer.restart(start2,self2.delay,self2.time),self2.delay<=elapsed&&start2(elapsed-self2.delay)}function start2(elapsed){var i2,j2,n2,o2;if(1!==self2.state)return stop();for(i2 in schedules)if((o2=schedules[i2]).name===self2.name){if(3===o2.state)return timeout(start2);4===o2.state?(o2.state=6,o2.timer.stop(),o2.on.call("interrupt",node,node.__data__,o2.index,o2.group),delete schedules[i2]):+i2<id32&&(o2.state=6,o2.timer.stop(),o2.on.call("cancel",node,node.__data__,o2.index,o2.group),delete schedules[i2])}if(timeout(function(){3===self2.state&&(self2.state=4,self2.timer.restart(tick,self2.delay,self2.time),tick(elapsed))}),self2.state=2,self2.on.call("start",node,node.__data__,self2.index,self2.group),2===self2.state){for(self2.state=3,tween=new Array(n2=self2.tween.length),i2=0,j2=-1;i2<n2;++i2)(o2=self2.tween[i2].value.call(node,node.__data__,self2.index,self2.group))&&(tween[++j2]=o2);tween.length=j2+1}}function tick(elapsed){for(var t2=elapsed<self2.duration?self2.ease.call(null,elapsed/self2.duration):(self2.timer.restart(stop),self2.state=5,1),i2=-1,n2=tween.length;++i2<n2;)tween[i2].call(node,t2);5===self2.state&&(self2.on.call("end",node,node.__data__,self2.index,self2.group),stop())}function stop(){for(var i2 in self2.state=6,self2.timer.stop(),delete schedules[id32],schedules)return;delete node.__transition}schedules[id32]=self2,self2.timer=timer(schedule2,0,self2.time)}(node,id32,{name:name,index:index,group:group,on:emptyOn,tween:emptyTween,time:timing.time,delay:timing.delay,duration:timing.duration,ease:timing.ease,timer:null,state:0})}function init$1(node,id32){var schedule2=get(node,id32);if(schedule2.state>0)throw new Error("too late; already scheduled");return schedule2}function set$1(node,id32){var schedule2=get(node,id32);if(schedule2.state>3)throw new Error("too late; already running");return schedule2}function get(node,id32){var schedule2=node.__transition;if(!schedule2||!(schedule2=schedule2[id32]))throw new Error("transition not found");return schedule2}function tweenRemove(id32,name){var tween0,tween1;return function(){var schedule2=set$1(this,id32),tween=schedule2.tween;if(tween!==tween0)for(var i2=0,n2=(tween1=tween0=tween).length;i2<n2;++i2)if(tween1[i2].name===name){(tween1=tween1.slice()).splice(i2,1);break}schedule2.tween=tween1}}function tweenFunction(id32,name,value){var tween0,tween1;if("function"!=typeof value)throw new Error;return function(){var schedule2=set$1(this,id32),tween=schedule2.tween;if(tween!==tween0){tween1=(tween0=tween).slice();for(var t2={name:name,value:value},i2=0,n2=tween1.length;i2<n2;++i2)if(tween1[i2].name===name){tween1[i2]=t2;break}i2===n2&&tween1.push(t2)}schedule2.tween=tween1}}function tweenValue(transition,name,value){var id32=transition._id;return transition.each(function(){var schedule2=set$1(this,id32);(schedule2.value||(schedule2.value={}))[name]=value.apply(this,arguments)}),function(node){return get(node,id32).value[name]}}function interpolate(a2,b2){var c2;return("number"==typeof b2?interpolateNumber:b2 instanceof color?interpolateRgb:(c2=color(b2))?(b2=c2,interpolateRgb):interpolateString)(a2,b2)}function attrRemove(name){return function(){this.removeAttribute(name)}}function attrRemoveNS(fullname){return function(){this.removeAttributeNS(fullname.space,fullname.local)}}function attrConstant(name,interpolate2,value1){var string00,interpolate0,string1=value1+"";return function(){var string0=this.getAttribute(name);return string0===string1?null:string0===string00?interpolate0:interpolate0=interpolate2(string00=string0,value1)}}function attrConstantNS(fullname,interpolate2,value1){var string00,interpolate0,string1=value1+"";return function(){var string0=this.getAttributeNS(fullname.space,fullname.local);return string0===string1?null:string0===string00?interpolate0:interpolate0=interpolate2(string00=string0,value1)}}function attrFunction(name,interpolate2,value){var string00,string10,interpolate0;return function(){var string0,string1,value1=value(this);if(null!=value1)return(string0=this.getAttribute(name))===(string1=value1+"")?null:string0===string00&&string1===string10?interpolate0:(string10=string1,interpolate0=interpolate2(string00=string0,value1));this.removeAttribute(name)}}function attrFunctionNS(fullname,interpolate2,value){var string00,string10,interpolate0;return function(){var string0,string1,value1=value(this);if(null!=value1)return(string0=this.getAttributeNS(fullname.space,fullname.local))===(string1=value1+"")?null:string0===string00&&string1===string10?interpolate0:(string10=string1,interpolate0=interpolate2(string00=string0,value1));this.removeAttributeNS(fullname.space,fullname.local)}}function attrTweenNS(fullname,value){var t0,i0;function tween(){var i2=value.apply(this,arguments);return i2!==i0&&(t0=(i0=i2)&&function(fullname,i2){return function(t2){this.setAttributeNS(fullname.space,fullname.local,i2.call(this,t2))}}(fullname,i2)),t0}return tween._value=value,tween}function attrTween(name,value){var t0,i0;function tween(){var i2=value.apply(this,arguments);return i2!==i0&&(t0=(i0=i2)&&function(name,i2){return function(t2){this.setAttribute(name,i2.call(this,t2))}}(name,i2)),t0}return tween._value=value,tween}function delayFunction(id32,value){return function(){init$1(this,id32).delay=+value.apply(this,arguments)}}function delayConstant(id32,value){return value=+value,function(){init$1(this,id32).delay=value}}function durationFunction(id32,value){return function(){set$1(this,id32).duration=+value.apply(this,arguments)}}function durationConstant(id32,value){return value=+value,function(){set$1(this,id32).duration=value}}var Selection=selection.prototype.constructor;function styleRemove(name){return function(){this.style.removeProperty(name)}}var id$1=0;function Transition(groups,parents,name,id32){this._groups=groups,this._parents=parents,this._name=name,this._id=id32}function newId(){return++id$1}var selection_prototype=selection.prototype;Transition.prototype={constructor:Transition,select:function(select2){var name=this._name,id32=this._id;"function"!=typeof select2&&(select2=selector(select2));for(var groups=this._groups,m2=groups.length,subgroups=new Array(m2),j2=0;j2<m2;++j2)for(var node,subnode,group=groups[j2],n2=group.length,subgroup=subgroups[j2]=new Array(n2),i2=0;i2<n2;++i2)(node=group[i2])&&(subnode=select2.call(node,node.__data__,i2,group))&&("__data__"in node&&(subnode.__data__=node.__data__),subgroup[i2]=subnode,schedule(subgroup[i2],name,id32,i2,subgroup,get(node,id32)));return new Transition(subgroups,this._parents,name,id32)},selectAll:function(select2){var name=this._name,id32=this._id;"function"!=typeof select2&&(select2=selectorAll(select2));for(var groups=this._groups,m2=groups.length,subgroups=[],parents=[],j2=0;j2<m2;++j2)for(var node,group=groups[j2],n2=group.length,i2=0;i2<n2;++i2)if(node=group[i2]){for(var child,children2=select2.call(node,node.__data__,i2,group),inherit2=get(node,id32),k2=0,l4=children2.length;k2<l4;++k2)(child=children2[k2])&&schedule(child,name,id32,k2,children2,inherit2);subgroups.push(children2),parents.push(node)}return new Transition(subgroups,parents,name,id32)},selectChild:selection_prototype.selectChild,selectChildren:selection_prototype.selectChildren,filter:function(match){"function"!=typeof match&&(match=matcher(match));for(var groups=this._groups,m2=groups.length,subgroups=new Array(m2),j2=0;j2<m2;++j2)for(var node,group=groups[j2],n2=group.length,subgroup=subgroups[j2]=[],i2=0;i2<n2;++i2)(node=group[i2])&&match.call(node,node.__data__,i2,group)&&subgroup.push(node);return new Transition(subgroups,this._parents,this._name,this._id)},merge:function(transition){if(transition._id!==this._id)throw new Error;for(var groups0=this._groups,groups1=transition._groups,m0=groups0.length,m1=groups1.length,m2=Math.min(m0,m1),merges=new Array(m0),j2=0;j2<m2;++j2)for(var node,group0=groups0[j2],group1=groups1[j2],n2=group0.length,merge2=merges[j2]=new Array(n2),i2=0;i2<n2;++i2)(node=group0[i2]||group1[i2])&&(merge2[i2]=node);for(;j2<m0;++j2)merges[j2]=groups0[j2];return new Transition(merges,this._parents,this._name,this._id)},selection:function(){return new Selection(this._groups,this._parents)},transition:function(){for(var name=this._name,id0=this._id,id1=newId(),groups=this._groups,m2=groups.length,j2=0;j2<m2;++j2)for(var node,group=groups[j2],n2=group.length,i2=0;i2<n2;++i2)if(node=group[i2]){var inherit2=get(node,id0);schedule(node,name,id1,i2,group,{time:inherit2.time+inherit2.delay+inherit2.duration,delay:0,duration:inherit2.duration,ease:inherit2.ease})}return new Transition(groups,this._parents,name,id1)},call:selection_prototype.call,nodes:selection_prototype.nodes,node:selection_prototype.node,size:selection_prototype.size,empty:selection_prototype.empty,each:selection_prototype.each,on:function(name,listener){var id32=this._id;return arguments.length<2?get(this.node(),id32).on.on(name):this.each(function(id32,name,listener){var on0,on1,sit=function(name){return(name+"").trim().split(/^|\s+/).every(function(t2){var i2=t2.indexOf(".");return i2>=0&&(t2=t2.slice(0,i2)),!t2||"start"===t2})}(name)?init$1:set$1;return function(){var schedule2=sit(this,id32),on=schedule2.on;on!==on0&&(on1=(on0=on).copy()).on(name,listener),schedule2.on=on1}}(id32,name,listener))},attr:function(name,value){var fullname=namespace(name),i2="transform"===fullname?interpolateTransformSvg:interpolate;return this.attrTween(name,"function"==typeof value?(fullname.local?attrFunctionNS:attrFunction)(fullname,i2,tweenValue(this,"attr."+name,value)):null==value?(fullname.local?attrRemoveNS:attrRemove)(fullname):(fullname.local?attrConstantNS:attrConstant)(fullname,i2,value))},attrTween:function(name,value){var key="attr."+name;if(arguments.length<2)return(key=this.tween(key))&&key._value;if(null==value)return this.tween(key,null);if("function"!=typeof value)throw new Error;var fullname=namespace(name);return this.tween(key,(fullname.local?attrTweenNS:attrTween)(fullname,value))},style:function(name,value,priority){var i2="transform"==(name+="")?interpolateTransformCss:interpolate;return null==value?this.styleTween(name,function(name,interpolate2){var string00,string10,interpolate0;return function(){var string0=styleValue(this,name),string1=(this.style.removeProperty(name),styleValue(this,name));return string0===string1?null:string0===string00&&string1===string10?interpolate0:interpolate0=interpolate2(string00=string0,string10=string1)}}(name,i2)).on("end.style."+name,styleRemove(name)):"function"==typeof value?this.styleTween(name,function(name,interpolate2,value){var string00,string10,interpolate0;return function(){var string0=styleValue(this,name),value1=value(this),string1=value1+"";return null==value1&&(this.style.removeProperty(name),string1=value1=styleValue(this,name)),string0===string1?null:string0===string00&&string1===string10?interpolate0:(string10=string1,interpolate0=interpolate2(string00=string0,value1))}}(name,i2,tweenValue(this,"style."+name,value))).each(function(id32,name){var on0,on1,listener0,remove2,key="style."+name,event="end."+key;return function(){var schedule2=set$1(this,id32),on=schedule2.on,listener=null==schedule2.value[key]?remove2||(remove2=styleRemove(name)):void 0;on===on0&&listener0===listener||(on1=(on0=on).copy()).on(event,listener0=listener),schedule2.on=on1}}(this._id,name)):this.styleTween(name,function(name,interpolate2,value1){var string00,interpolate0,string1=value1+"";return function(){var string0=styleValue(this,name);return string0===string1?null:string0===string00?interpolate0:interpolate0=interpolate2(string00=string0,value1)}}(name,i2,value),priority).on("end.style."+name,null)},styleTween:function(name,value,priority){var key="style."+(name+="");if(arguments.length<2)return(key=this.tween(key))&&key._value;if(null==value)return this.tween(key,null);if("function"!=typeof value)throw new Error;return this.tween(key,function(name,value,priority){var t2,i0;function tween(){var i2=value.apply(this,arguments);return i2!==i0&&(t2=(i0=i2)&&function(name,i2,priority){return function(t2){this.style.setProperty(name,i2.call(this,t2),priority)}}(name,i2,priority)),t2}return tween._value=value,tween}(name,value,null==priority?"":priority))},text:function(value){return this.tween("text","function"==typeof value?function(value){return function(){var value1=value(this);this.textContent=null==value1?"":value1}}(tweenValue(this,"text",value)):function(value){return function(){this.textContent=value}}(null==value?"":value+""))},textTween:function(value){var key="text";if(arguments.length<1)return(key=this.tween(key))&&key._value;if(null==value)return this.tween(key,null);if("function"!=typeof value)throw new Error;return this.tween(key,function(value){var t0,i0;function tween(){var i2=value.apply(this,arguments);return i2!==i0&&(t0=(i0=i2)&&function(i2){return function(t2){this.textContent=i2.call(this,t2)}}(i2)),t0}return tween._value=value,tween}(value))},remove:function(){return this.on("end.remove",(id32=this._id,function(){var parent=this.parentNode;for(var i2 in this.__transition)if(+i2!==id32)return;parent&&parent.removeChild(this)}));var id32},tween:function(name,value){var id32=this._id;if(name+="",arguments.length<2){for(var t2,tween=get(this.node(),id32).tween,i2=0,n2=tween.length;i2<n2;++i2)if((t2=tween[i2]).name===name)return t2.value;return null}return this.each((null==value?tweenRemove:tweenFunction)(id32,name,value))},delay:function(value){var id32=this._id;return arguments.length?this.each(("function"==typeof value?delayFunction:delayConstant)(id32,value)):get(this.node(),id32).delay},duration:function(value){var id32=this._id;return arguments.length?this.each(("function"==typeof value?durationFunction:durationConstant)(id32,value)):get(this.node(),id32).duration},ease:function(value){var id32=this._id;return arguments.length?this.each(function(id32,value){if("function"!=typeof value)throw new Error;return function(){set$1(this,id32).ease=value}}(id32,value)):get(this.node(),id32).ease},easeVarying:function(value){if("function"!=typeof value)throw new Error;return this.each(function(id32,value){return function(){var v2=value.apply(this,arguments);if("function"!=typeof v2)throw new Error;set$1(this,id32).ease=v2}}(this._id,value))},end:function(){var on0,on1,that=this,id32=that._id,size=that.size();return new Promise(function(resolve,reject){var cancel={value:reject},end={value:function(){0===--size&&resolve()}};that.each(function(){var schedule2=set$1(this,id32),on=schedule2.on;on!==on0&&((on1=(on0=on).copy())._.cancel.push(cancel),on1._.interrupt.push(cancel),on1._.end.push(end)),schedule2.on=on1}),0===size&&resolve()})},[Symbol.iterator]:selection_prototype[Symbol.iterator]};var defaultTiming={time:null,delay:0,duration:250,ease:function(t2){return((t2*=2)<=1?t2*t2*t2:(t2-=2)*t2*t2+2)/2}};function inherit(node,id32){for(var timing;!(timing=node.__transition)||!(timing=timing[id32]);)if(!(node=node.parentNode))throw new Error(`transition ${id32} not found`);return timing}selection.prototype.interrupt=function(name){return this.each(function(){!function(node,name){var schedule2,active,i2,schedules=node.__transition,empty2=!0;if(schedules){for(i2 in name=null==name?null:name+"",schedules)(schedule2=schedules[i2]).name===name?(active=schedule2.state>2&&schedule2.state<5,schedule2.state=6,schedule2.timer.stop(),schedule2.on.call(active?"interrupt":"cancel",node,node.__data__,schedule2.index,schedule2.group),delete schedules[i2]):empty2=!1;empty2&&delete node.__transition}}(this,name)})},selection.prototype.transition=function(name){var id32,timing;name instanceof Transition?(id32=name._id,name=name._name):(id32=newId(),(timing=defaultTiming).time=now(),name=null==name?null:name+"");for(var groups=this._groups,m2=groups.length,j2=0;j2<m2;++j2)for(var node,group=groups[j2],n2=group.length,i2=0;i2<n2;++i2)(node=group[i2])&&schedule(node,name,id32,i2,group,timing||inherit(node,id32));return new Transition(groups,this._parents,name,id32)};const pi$1=Math.PI,tau$1=2*pi$1,tauEpsilon=tau$1-1e-6;function append(strings){this._+=strings[0];for(let i2=1,n2=strings.length;i2<n2;++i2)this._+=arguments[i2]+strings[i2]}class Path{constructor(digits){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==digits?append:function(digits){let d2=Math.floor(digits);if(!(d2>=0))throw new Error(`invalid digits: ${digits}`);if(d2>15)return append;const k2=10**d2;return function(strings){this._+=strings[0];for(let i2=1,n2=strings.length;i2<n2;++i2)this._+=Math.round(arguments[i2]*k2)/k2+strings[i2]}}(digits)}moveTo(x2,y3){this._append`M${this._x0=this._x1=+x2},${this._y0=this._y1=+y3}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(x2,y3){this._append`L${this._x1=+x2},${this._y1=+y3}`}quadraticCurveTo(x1,y1,x2,y3){this._append`Q${+x1},${+y1},${this._x1=+x2},${this._y1=+y3}`}bezierCurveTo(x1,y1,x2,y22,x3,y3){this._append`C${+x1},${+y1},${+x2},${+y22},${this._x1=+x3},${this._y1=+y3}`}arcTo(x1,y1,x2,y22,r2){if(x1=+x1,y1=+y1,x2=+x2,y22=+y22,(r2=+r2)<0)throw new Error(`negative radius: ${r2}`);let x0=this._x1,y0=this._y1,x21=x2-x1,y21=y22-y1,x01=x0-x1,y01=y0-y1,l01_2=x01*x01+y01*y01;if(null===this._x1)this._append`M${this._x1=x1},${this._y1=y1}`;else if(l01_2>1e-6)if(Math.abs(y01*x21-y21*x01)>1e-6&&r2){let x20=x2-x0,y20=y22-y0,l21_2=x21*x21+y21*y21,l20_2=x20*x20+y20*y20,l21=Math.sqrt(l21_2),l01=Math.sqrt(l01_2),l4=r2*Math.tan((pi$1-Math.acos((l21_2+l01_2-l20_2)/(2*l21*l01)))/2),t01=l4/l01,t21=l4/l21;Math.abs(t01-1)>1e-6&&this._append`L${x1+t01*x01},${y1+t01*y01}`,this._append`A${r2},${r2},0,0,${+(y01*x20>x01*y20)},${this._x1=x1+t21*x21},${this._y1=y1+t21*y21}`}else this._append`L${this._x1=x1},${this._y1=y1}`;else;}arc(x2,y3,r2,a0,a1,ccw){if(x2=+x2,y3=+y3,ccw=!!ccw,(r2=+r2)<0)throw new Error(`negative radius: ${r2}`);let dx=r2*Math.cos(a0),dy=r2*Math.sin(a0),x0=x2+dx,y0=y3+dy,cw=1^ccw,da=ccw?a0-a1:a1-a0;null===this._x1?this._append`M${x0},${y0}`:(Math.abs(this._x1-x0)>1e-6||Math.abs(this._y1-y0)>1e-6)&&this._append`L${x0},${y0}`,r2&&(da<0&&(da=da%tau$1+tau$1),da>tauEpsilon?this._append`A${r2},${r2},0,1,${cw},${x2-dx},${y3-dy}A${r2},${r2},0,1,${cw},${this._x1=x0},${this._y1=y0}`:da>1e-6&&this._append`A${r2},${r2},0,${+(da>=pi$1)},${cw},${this._x1=x2+r2*Math.cos(a1)},${this._y1=y3+r2*Math.sin(a1)}`)}rect(x2,y3,w2,h2){this._append`M${this._x0=this._x1=+x2},${this._y0=this._y1=+y3}h${w2=+w2}v${+h2}h${-w2}Z`}toString(){return this._}}function constant$1(x2){return function(){return x2}}const abs=Math.abs,atan2=Math.atan2,cos=Math.cos,max=Math.max,min=Math.min,sin=Math.sin,sqrt=Math.sqrt,epsilon=1e-12,pi=Math.PI,halfPi=pi/2,tau=2*pi;function acos(x2){return x2>1?0:x2<-1?pi:Math.acos(x2)}function asin(x2){return x2>=1?halfPi:x2<=-1?-halfPi:Math.asin(x2)}function withPath(shape){let digits=3;return shape.digits=function(_2){if(!arguments.length)return digits;if(null==_2)digits=null;else{const d2=Math.floor(_2);if(!(d2>=0))throw new RangeError(`invalid digits: ${_2}`);digits=d2}return shape},()=>new Path(digits)}function array(x2){return"object"==typeof x2&&"length"in x2?x2:Array.from(x2)}function Linear(context){this._context=context}function curveLinear(context){return new Linear(context)}function x$2(p2){return p2[0]}function y$2(p2){return p2[1]}function line(x2,y3){var defined=constant$1(!0),context=null,curve=curveLinear,output=null,path=withPath(line2);function line2(data){var i2,d2,buffer,n2=(data=array(data)).length,defined0=!1;for(null==context&&(output=curve(buffer=path())),i2=0;i2<=n2;++i2)!(i2<n2&&defined(d2=data[i2],i2,data))===defined0&&((defined0=!defined0)?output.lineStart():output.lineEnd()),defined0&&output.point(+x2(d2,i2,data),+y3(d2,i2,data));if(buffer)return output=null,buffer+""||null}return x2="function"==typeof x2?x2:void 0===x2?x$2:constant$1(x2),y3="function"==typeof y3?y3:void 0===y3?y$2:constant$1(y3),line2.x=function(_2){return arguments.length?(x2="function"==typeof _2?_2:constant$1(+_2),line2):x2},line2.y=function(_2){return arguments.length?(y3="function"==typeof _2?_2:constant$1(+_2),line2):y3},line2.defined=function(_2){return arguments.length?(defined="function"==typeof _2?_2:constant$1(!!_2),line2):defined},line2.curve=function(_2){return arguments.length?(curve=_2,null!=context&&(output=curve(context)),line2):curve},line2.context=function(_2){return arguments.length?(null==_2?context=output=null:output=curve(context=_2),line2):context},line2}Linear.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1,this._line?this._context.lineTo(x2,y3):this._context.moveTo(x2,y3);break;case 1:this._point=2;default:this._context.lineTo(x2,y3)}}};class Bump{constructor(context,x2){this._context=context,this._x=x2}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line}point(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1,this._line?this._context.lineTo(x2,y3):this._context.moveTo(x2,y3);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+x2)/2,this._y0,this._x0,y3,x2,y3):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+y3)/2,x2,this._y0,x2,y3)}this._x0=x2,this._y0=y3}}function bumpX(context){return new Bump(context,!0)}function bumpY(context){return new Bump(context,!1)}function noop(){}function point$4(that,x2,y3){that._context.bezierCurveTo((2*that._x0+that._x1)/3,(2*that._y0+that._y1)/3,(that._x0+2*that._x1)/3,(that._y0+2*that._y1)/3,(that._x0+4*that._x1+x2)/6,(that._y0+4*that._y1+y3)/6)}function Basis(context){this._context=context}function curveBasis(context){return new Basis(context)}function BasisClosed(context){this._context=context}function BasisOpen(context){this._context=context}function Bundle(context,beta){this._basis=new Basis(context),this._beta=beta}Basis.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:point$4(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1,this._line?this._context.lineTo(x2,y3):this._context.moveTo(x2,y3);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:point$4(this,x2,y3)}this._x0=this._x1,this._x1=x2,this._y0=this._y1,this._y1=y3}},BasisClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1,this._x2=x2,this._y2=y3;break;case 1:this._point=2,this._x3=x2,this._y3=y3;break;case 2:this._point=3,this._x4=x2,this._y4=y3,this._context.moveTo((this._x0+4*this._x1+x2)/6,(this._y0+4*this._y1+y3)/6);break;default:point$4(this,x2,y3)}this._x0=this._x1,this._x1=x2,this._y0=this._y1,this._y1=y3}},BasisOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var x0=(this._x0+4*this._x1+x2)/6,y0=(this._y0+4*this._y1+y3)/6;this._line?this._context.lineTo(x0,y0):this._context.moveTo(x0,y0);break;case 3:this._point=4;default:point$4(this,x2,y3)}this._x0=this._x1,this._x1=x2,this._y0=this._y1,this._y1=y3}},Bundle.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var x2=this._x,y3=this._y,j2=x2.length-1;if(j2>0)for(var t2,x0=x2[0],y0=y3[0],dx=x2[j2]-x0,dy=y3[j2]-y0,i2=-1;++i2<=j2;)t2=i2/j2,this._basis.point(this._beta*x2[i2]+(1-this._beta)*(x0+t2*dx),this._beta*y3[i2]+(1-this._beta)*(y0+t2*dy));this._x=this._y=null,this._basis.lineEnd()},point:function(x2,y3){this._x.push(+x2),this._y.push(+y3)}};const curveBundle=function custom(beta){function bundle(context){return 1===beta?new Basis(context):new Bundle(context,beta)}return bundle.beta=function(beta2){return custom(+beta2)},bundle}(.85);function point$3(that,x2,y3){that._context.bezierCurveTo(that._x1+that._k*(that._x2-that._x0),that._y1+that._k*(that._y2-that._y0),that._x2+that._k*(that._x1-x2),that._y2+that._k*(that._y1-y3),that._x2,that._y2)}function Cardinal(context,tension){this._context=context,this._k=(1-tension)/6}Cardinal.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:point$3(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1,this._line?this._context.lineTo(x2,y3):this._context.moveTo(x2,y3);break;case 1:this._point=2,this._x1=x2,this._y1=y3;break;case 2:this._point=3;default:point$3(this,x2,y3)}this._x0=this._x1,this._x1=this._x2,this._x2=x2,this._y0=this._y1,this._y1=this._y2,this._y2=y3}};const curveCardinal=function custom2(tension){function cardinal(context){return new Cardinal(context,tension)}return cardinal.tension=function(tension2){return custom2(+tension2)},cardinal}(0);function CardinalClosed(context,tension){this._context=context,this._k=(1-tension)/6}CardinalClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1,this._x3=x2,this._y3=y3;break;case 1:this._point=2,this._context.moveTo(this._x4=x2,this._y4=y3);break;case 2:this._point=3,this._x5=x2,this._y5=y3;break;default:point$3(this,x2,y3)}this._x0=this._x1,this._x1=this._x2,this._x2=x2,this._y0=this._y1,this._y1=this._y2,this._y2=y3}};const curveCardinalClosed=function custom3(tension){function cardinal(context){return new CardinalClosed(context,tension)}return cardinal.tension=function(tension2){return custom3(+tension2)},cardinal}(0);function CardinalOpen(context,tension){this._context=context,this._k=(1-tension)/6}CardinalOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$3(this,x2,y3)}this._x0=this._x1,this._x1=this._x2,this._x2=x2,this._y0=this._y1,this._y1=this._y2,this._y2=y3}};const curveCardinalOpen=function custom4(tension){function cardinal(context){return new CardinalOpen(context,tension)}return cardinal.tension=function(tension2){return custom4(+tension2)},cardinal}(0);function point$2(that,x2,y3){var x1=that._x1,y1=that._y1,x22=that._x2,y22=that._y2;if(that._l01_a>1e-12){var a2=2*that._l01_2a+3*that._l01_a*that._l12_a+that._l12_2a,n2=3*that._l01_a*(that._l01_a+that._l12_a);x1=(x1*a2-that._x0*that._l12_2a+that._x2*that._l01_2a)/n2,y1=(y1*a2-that._y0*that._l12_2a+that._y2*that._l01_2a)/n2}if(that._l23_a>1e-12){var b2=2*that._l23_2a+3*that._l23_a*that._l12_a+that._l12_2a,m2=3*that._l23_a*(that._l23_a+that._l12_a);x22=(x22*b2+that._x1*that._l23_2a-x2*that._l12_2a)/m2,y22=(y22*b2+that._y1*that._l23_2a-y3*that._l12_2a)/m2}that._context.bezierCurveTo(x1,y1,x22,y22,that._x2,that._y2)}function CatmullRom(context,alpha){this._context=context,this._alpha=alpha}CatmullRom.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){if(x2=+x2,y3=+y3,this._point){var x23=this._x2-x2,y23=this._y2-y3;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(x2,y3):this._context.moveTo(x2,y3);break;case 1:this._point=2;break;case 2:this._point=3;default:point$2(this,x2,y3)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x2,this._y0=this._y1,this._y1=this._y2,this._y2=y3}};const curveCatmullRom=function custom5(alpha){function catmullRom(context){return alpha?new CatmullRom(context,alpha):new Cardinal(context,0)}return catmullRom.alpha=function(alpha2){return custom5(+alpha2)},catmullRom}(.5);function CatmullRomClosed(context,alpha){this._context=context,this._alpha=alpha}CatmullRomClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(x2,y3){if(x2=+x2,y3=+y3,this._point){var x23=this._x2-x2,y23=this._y2-y3;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=x2,this._y3=y3;break;case 1:this._point=2,this._context.moveTo(this._x4=x2,this._y4=y3);break;case 2:this._point=3,this._x5=x2,this._y5=y3;break;default:point$2(this,x2,y3)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x2,this._y0=this._y1,this._y1=this._y2,this._y2=y3}};const curveCatmullRomClosed=function custom6(alpha){function catmullRom(context){return alpha?new CatmullRomClosed(context,alpha):new CardinalClosed(context,0)}return catmullRom.alpha=function(alpha2){return custom6(+alpha2)},catmullRom}(.5);function CatmullRomOpen(context,alpha){this._context=context,this._alpha=alpha}CatmullRomOpen.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){if(x2=+x2,y3=+y3,this._point){var x23=this._x2-x2,y23=this._y2-y3;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(x23*x23+y23*y23,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:point$2(this,x2,y3)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=x2,this._y0=this._y1,this._y1=this._y2,this._y2=y3}};const curveCatmullRomOpen=function custom7(alpha){function catmullRom(context){return alpha?new CatmullRomOpen(context,alpha):new CardinalOpen(context,0)}return catmullRom.alpha=function(alpha2){return custom7(+alpha2)},catmullRom}(.5);function LinearClosed(context){this._context=context}function sign(x2){return x2<0?-1:1}function slope3(that,x2,y22){var h0=that._x1-that._x0,h1=x2-that._x1,s0=(that._y1-that._y0)/(h0||h1<0&&-0),s1=(y22-that._y1)/(h1||h0<0&&-0),p2=(s0*h1+s1*h0)/(h0+h1);return(sign(s0)+sign(s1))*Math.min(Math.abs(s0),Math.abs(s1),.5*Math.abs(p2))||0}function slope2(that,t2){var h2=that._x1-that._x0;return h2?(3*(that._y1-that._y0)/h2-t2)/2:t2}function point$1(that,t0,t1){var x0=that._x0,y0=that._y0,x1=that._x1,y1=that._y1,dx=(x1-x0)/3;that._context.bezierCurveTo(x0+dx,y0+dx*t0,x1-dx,y1-dx*t1,x1,y1)}function MonotoneX(context){this._context=context}function MonotoneY(context){this._context=new ReflectContext(context)}function ReflectContext(context){this._context=context}function monotoneX(context){return new MonotoneX(context)}function monotoneY(context){return new MonotoneY(context)}function Natural(context){this._context=context}function controlPoints(x2){var i2,m2,n2=x2.length-1,a2=new Array(n2),b2=new Array(n2),r2=new Array(n2);for(a2[0]=0,b2[0]=2,r2[0]=x2[0]+2*x2[1],i2=1;i2<n2-1;++i2)a2[i2]=1,b2[i2]=4,r2[i2]=4*x2[i2]+2*x2[i2+1];for(a2[n2-1]=2,b2[n2-1]=7,r2[n2-1]=8*x2[n2-1]+x2[n2],i2=1;i2<n2;++i2)m2=a2[i2]/b2[i2-1],b2[i2]-=m2,r2[i2]-=m2*r2[i2-1];for(a2[n2-1]=r2[n2-1]/b2[n2-1],i2=n2-2;i2>=0;--i2)a2[i2]=(r2[i2]-a2[i2+1])/b2[i2];for(b2[n2-1]=(x2[n2]+a2[n2-1])/2,i2=0;i2<n2-1;++i2)b2[i2]=2*x2[i2+1]-a2[i2+1];return[a2,b2]}function curveNatural(context){return new Natural(context)}function Step(context,t2){this._context=context,this._t=t2}function curveStep(context){return new Step(context,.5)}function stepBefore(context){return new Step(context,0)}function stepAfter(context){return new Step(context,1)}function Transform(k2,x2,y3){this.k=k2,this.x=x2,this.y=y3}LinearClosed.prototype={areaStart:noop,areaEnd:noop,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(x2,y3){x2=+x2,y3=+y3,this._point?this._context.lineTo(x2,y3):(this._point=1,this._context.moveTo(x2,y3))}},MonotoneX.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:point$1(this,this._t0,slope2(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(x2,y3){var t1=NaN;if(y3=+y3,(x2=+x2)!==this._x1||y3!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(x2,y3):this._context.moveTo(x2,y3);break;case 1:this._point=2;break;case 2:this._point=3,point$1(this,slope2(this,t1=slope3(this,x2,y3)),t1);break;default:point$1(this,this._t0,t1=slope3(this,x2,y3))}this._x0=this._x1,this._x1=x2,this._y0=this._y1,this._y1=y3,this._t0=t1}}},(MonotoneY.prototype=Object.create(MonotoneX.prototype)).point=function(x2,y3){MonotoneX.prototype.point.call(this,y3,x2)},ReflectContext.prototype={moveTo:function(x2,y3){this._context.moveTo(y3,x2)},closePath:function(){this._context.closePath()},lineTo:function(x2,y3){this._context.lineTo(y3,x2)},bezierCurveTo:function(x1,y1,x2,y22,x3,y3){this._context.bezierCurveTo(y1,x1,y22,x2,y3,x3)}},Natural.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var x2=this._x,y3=this._y,n2=x2.length;if(n2)if(this._line?this._context.lineTo(x2[0],y3[0]):this._context.moveTo(x2[0],y3[0]),2===n2)this._context.lineTo(x2[1],y3[1]);else for(var px=controlPoints(x2),py=controlPoints(y3),i0=0,i1=1;i1<n2;++i0,++i1)this._context.bezierCurveTo(px[0][i0],py[0][i0],px[1][i0],py[1][i0],x2[i1],y3[i1]);(this._line||0!==this._line&&1===n2)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(x2,y3){this._x.push(+x2),this._y.push(+y3)}},Step.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(x2,y3){switch(x2=+x2,y3=+y3,this._point){case 0:this._point=1,this._line?this._context.lineTo(x2,y3):this._context.moveTo(x2,y3);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,y3),this._context.lineTo(x2,y3);else{var x1=this._x*(1-this._t)+x2*this._t;this._context.lineTo(x1,this._y),this._context.lineTo(x1,y3)}}this._x=x2,this._y=y3}},Transform.prototype={constructor:Transform,scale:function(k2){return 1===k2?this:new Transform(this.k*k2,this.x,this.y)},translate:function(x2,y3){return 0===x2&0===y3?this:new Transform(this.k,this.x+this.k*x2,this.y+this.k*y3)},apply:function(point2){return[point2[0]*this.k+this.x,point2[1]*this.k+this.y]},applyX:function(x2){return x2*this.k+this.x},applyY:function(y3){return y3*this.k+this.y},invert:function(location){return[(location[0]-this.x)/this.k,(location[1]-this.y)/this.k]},invertX:function(x2){return(x2-this.x)/this.k},invertY:function(y3){return(y3-this.y)/this.k},rescaleX:function(x2){return x2.copy().domain(x2.range().map(this.invertX,this).map(x2.invert,x2))},rescaleY:function(y3){return y3.copy().domain(y3.range().map(this.invertY,this).map(y3.invert,y3))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},Transform.prototype;var selectSvgElement=__name(id32=>{var _a2;const{securityLevel:securityLevel}=getConfig2();let root2=select("body");if("sandbox"===securityLevel){const sandboxElement=select(`#i${id32}`);root2=select(((null==(_a2=sandboxElement.node())?void 0:_a2.contentDocument)??document).body)}return root2.select(`#${id32}`)},"selectSvgElement");function isNothing(subject){return null==subject}function isObject$1(subject){return"object"==typeof subject&&null!==subject}function toArray(sequence){return Array.isArray(sequence)?sequence:isNothing(sequence)?[]:[sequence]}function extend(target,source){var index,length,key,sourceKeys;if(source)for(index=0,length=(sourceKeys=Object.keys(source)).length;index<length;index+=1)target[key=sourceKeys[index]]=source[key];return target}function repeat(string,count){var cycle,result="";for(cycle=0;cycle<count;cycle+=1)result+=string;return result}function isNegativeZero(number){return 0===number&&Number.NEGATIVE_INFINITY===1/number}__name(isNothing,"isNothing"),__name(isObject$1,"isObject"),__name(toArray,"toArray"),__name(extend,"extend"),__name(repeat,"repeat"),__name(isNegativeZero,"isNegativeZero");var common={isNothing:isNothing,isObject:isObject$1,toArray:toArray,repeat:repeat,isNegativeZero:isNegativeZero,extend:extend};function formatError(exception2,compact){var where="",message=exception2.reason||"(unknown reason)";return exception2.mark?(exception2.mark.name&&(where+='in "'+exception2.mark.name+'" '),where+="("+(exception2.mark.line+1)+":"+(exception2.mark.column+1)+")",!compact&&exception2.mark.snippet&&(where+="\n\n"+exception2.mark.snippet),message+" "+where):message}function YAMLException$1(reason,mark){Error.call(this),this.name="YAMLException",this.reason=reason,this.mark=mark,this.message=formatError(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}__name(formatError,"formatError"),__name(YAMLException$1,"YAMLException$1"),YAMLException$1.prototype=Object.create(Error.prototype),YAMLException$1.prototype.constructor=YAMLException$1,YAMLException$1.prototype.toString=__name(function(compact){return this.name+": "+formatError(this,compact)},"toString");var exception=YAMLException$1;function getLine(buffer,lineStart,lineEnd,position,maxLineLength){var head="",tail="",maxHalfLength=Math.floor(maxLineLength/2)-1;return position-lineStart>maxHalfLength&&(lineStart=position-maxHalfLength+(head=" ... ").length),lineEnd-position>maxHalfLength&&(lineEnd=position+maxHalfLength-(tail=" ...").length),{str:head+buffer.slice(lineStart,lineEnd).replace(/\t/g,"→")+tail,pos:position-lineStart+head.length}}function padStart(string,max2){return common.repeat(" ",max2-string.length)+string}function makeSnippet(mark,options){if(options=Object.create(options||null),!mark.buffer)return null;options.maxLength||(options.maxLength=79),"number"!=typeof options.indent&&(options.indent=1),"number"!=typeof options.linesBefore&&(options.linesBefore=3),"number"!=typeof options.linesAfter&&(options.linesAfter=2);for(var match,re2=/\r?\n|\r|\0/g,lineStarts=[0],lineEnds=[],foundLineNo=-1;match=re2.exec(mark.buffer);)lineEnds.push(match.index),lineStarts.push(match.index+match[0].length),mark.position<=match.index&&foundLineNo<0&&(foundLineNo=lineStarts.length-2);foundLineNo<0&&(foundLineNo=lineStarts.length-1);var i2,line2,result="",lineNoLength=Math.min(mark.line+options.linesAfter,lineEnds.length).toString().length,maxLineLength=options.maxLength-(options.indent+lineNoLength+3);for(i2=1;i2<=options.linesBefore&&!(foundLineNo-i2<0);i2++)line2=getLine(mark.buffer,lineStarts[foundLineNo-i2],lineEnds[foundLineNo-i2],mark.position-(lineStarts[foundLineNo]-lineStarts[foundLineNo-i2]),maxLineLength),result=common.repeat(" ",options.indent)+padStart((mark.line-i2+1).toString(),lineNoLength)+" | "+line2.str+"\n"+result;for(line2=getLine(mark.buffer,lineStarts[foundLineNo],lineEnds[foundLineNo],mark.position,maxLineLength),result+=common.repeat(" ",options.indent)+padStart((mark.line+1).toString(),lineNoLength)+" | "+line2.str+"\n",result+=common.repeat("-",options.indent+lineNoLength+3+line2.pos)+"^\n",i2=1;i2<=options.linesAfter&&!(foundLineNo+i2>=lineEnds.length);i2++)line2=getLine(mark.buffer,lineStarts[foundLineNo+i2],lineEnds[foundLineNo+i2],mark.position-(lineStarts[foundLineNo]-lineStarts[foundLineNo+i2]),maxLineLength),result+=common.repeat(" ",options.indent)+padStart((mark.line+i2+1).toString(),lineNoLength)+" | "+line2.str+"\n";return result.replace(/\n$/,"")}__name(getLine,"getLine"),__name(padStart,"padStart"),__name(makeSnippet,"makeSnippet");var snippet=makeSnippet,TYPE_CONSTRUCTOR_OPTIONS=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],YAML_NODE_KINDS=["scalar","sequence","mapping"];function compileStyleAliases(map2){var result={};return null!==map2&&Object.keys(map2).forEach(function(style){map2[style].forEach(function(alias){result[String(alias)]=style})}),result}function Type$1(tag,options){if(options=options||{},Object.keys(options).forEach(function(name){if(-1===TYPE_CONSTRUCTOR_OPTIONS.indexOf(name))throw new exception('Unknown option "'+name+'" is met in definition of "'+tag+'" YAML type.')}),this.options=options,this.tag=tag,this.kind=options.kind||null,this.resolve=options.resolve||function(){return!0},this.construct=options.construct||function(data){return data},this.instanceOf=options.instanceOf||null,this.predicate=options.predicate||null,this.represent=options.represent||null,this.representName=options.representName||null,this.defaultStyle=options.defaultStyle||null,this.multi=options.multi||!1,this.styleAliases=compileStyleAliases(options.styleAliases||null),-1===YAML_NODE_KINDS.indexOf(this.kind))throw new exception('Unknown kind "'+this.kind+'" is specified for "'+tag+'" YAML type.')}__name(compileStyleAliases,"compileStyleAliases"),__name(Type$1,"Type$1");var type=Type$1;function compileList(schema2,name){var result=[];return schema2[name].forEach(function(currentType){var newIndex=result.length;result.forEach(function(previousType,previousIndex){previousType.tag===currentType.tag&&previousType.kind===currentType.kind&&previousType.multi===currentType.multi&&(newIndex=previousIndex)}),result[newIndex]=currentType}),result}function compileMap(){var index,length,result={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function collectType(type2){type2.multi?(result.multi[type2.kind].push(type2),result.multi.fallback.push(type2)):result[type2.kind][type2.tag]=result.fallback[type2.tag]=type2}for(__name(collectType,"collectType"),index=0,length=arguments.length;index<length;index+=1)arguments[index].forEach(collectType);return result}function Schema$1(definition){return this.extend(definition)}__name(compileList,"compileList"),__name(compileMap,"compileMap"),__name(Schema$1,"Schema$1"),Schema$1.prototype.extend=__name(function(definition){var implicit=[],explicit=[];if(definition instanceof type)explicit.push(definition);else if(Array.isArray(definition))explicit=explicit.concat(definition);else{if(!definition||!Array.isArray(definition.implicit)&&!Array.isArray(definition.explicit))throw new exception("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");definition.implicit&&(implicit=implicit.concat(definition.implicit)),definition.explicit&&(explicit=explicit.concat(definition.explicit))}implicit.forEach(function(type$1){if(!(type$1 instanceof type))throw new exception("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(type$1.loadKind&&"scalar"!==type$1.loadKind)throw new exception("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(type$1.multi)throw new exception("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),explicit.forEach(function(type$1){if(!(type$1 instanceof type))throw new exception("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var result=Object.create(Schema$1.prototype);return result.implicit=(this.implicit||[]).concat(implicit),result.explicit=(this.explicit||[]).concat(explicit),result.compiledImplicit=compileList(result,"implicit"),result.compiledExplicit=compileList(result,"explicit"),result.compiledTypeMap=compileMap(result.compiledImplicit,result.compiledExplicit),result},"extend");var failsafe=new Schema$1({explicit:[new type("tag:yaml.org,2002:str",{kind:"scalar",construct:__name(function(data){return null!==data?data:""},"construct")}),new type("tag:yaml.org,2002:seq",{kind:"sequence",construct:__name(function(data){return null!==data?data:[]},"construct")}),new type("tag:yaml.org,2002:map",{kind:"mapping",construct:__name(function(data){return null!==data?data:{}},"construct")})]});function resolveYamlNull(data){if(null===data)return!0;var max2=data.length;return 1===max2&&"~"===data||4===max2&&("null"===data||"Null"===data||"NULL"===data)}function constructYamlNull(){return null}function isNull(object){return null===object}__name(resolveYamlNull,"resolveYamlNull"),__name(constructYamlNull,"constructYamlNull"),__name(isNull,"isNull");var _null=new type("tag:yaml.org,2002:null",{kind:"scalar",resolve:resolveYamlNull,construct:constructYamlNull,predicate:isNull,represent:{canonical:__name(function(){return"~"},"canonical"),lowercase:__name(function(){return"null"},"lowercase"),uppercase:__name(function(){return"NULL"},"uppercase"),camelcase:__name(function(){return"Null"},"camelcase"),empty:__name(function(){return""},"empty")},defaultStyle:"lowercase"});function resolveYamlBoolean(data){if(null===data)return!1;var max2=data.length;return 4===max2&&("true"===data||"True"===data||"TRUE"===data)||5===max2&&("false"===data||"False"===data||"FALSE"===data)}function constructYamlBoolean(data){return"true"===data||"True"===data||"TRUE"===data}function isBoolean(object){return"[object Boolean]"===Object.prototype.toString.call(object)}__name(resolveYamlBoolean,"resolveYamlBoolean"),__name(constructYamlBoolean,"constructYamlBoolean"),__name(isBoolean,"isBoolean");var bool=new type("tag:yaml.org,2002:bool",{kind:"scalar",resolve:resolveYamlBoolean,construct:constructYamlBoolean,predicate:isBoolean,represent:{lowercase:__name(function(object){return object?"true":"false"},"lowercase"),uppercase:__name(function(object){return object?"TRUE":"FALSE"},"uppercase"),camelcase:__name(function(object){return object?"True":"False"},"camelcase")},defaultStyle:"lowercase"});function isHexCode(c2){return 48<=c2&&c2<=57||65<=c2&&c2<=70||97<=c2&&c2<=102}function isOctCode(c2){return 48<=c2&&c2<=55}function isDecCode(c2){return 48<=c2&&c2<=57}function resolveYamlInteger(data){if(null===data)return!1;var ch,max2=data.length,index=0,hasDigits=!1;if(!max2)return!1;if("-"!==(ch=data[index])&&"+"!==ch||(ch=data[++index]),"0"===ch){if(index+1===max2)return!0;if("b"===(ch=data[++index])){for(index++;index<max2;index++)if("_"!==(ch=data[index])){if("0"!==ch&&"1"!==ch)return!1;hasDigits=!0}return hasDigits&&"_"!==ch}if("x"===ch){for(index++;index<max2;index++)if("_"!==(ch=data[index])){if(!isHexCode(data.charCodeAt(index)))return!1;hasDigits=!0}return hasDigits&&"_"!==ch}if("o"===ch){for(index++;index<max2;index++)if("_"!==(ch=data[index])){if(!isOctCode(data.charCodeAt(index)))return!1;hasDigits=!0}return hasDigits&&"_"!==ch}}if("_"===ch)return!1;for(;index<max2;index++)if("_"!==(ch=data[index])){if(!isDecCode(data.charCodeAt(index)))return!1;hasDigits=!0}return!(!hasDigits||"_"===ch)}function constructYamlInteger(data){var ch,value=data,sign2=1;if(-1!==value.indexOf("_")&&(value=value.replace(/_/g,"")),"-"!==(ch=value[0])&&"+"!==ch||("-"===ch&&(sign2=-1),ch=(value=value.slice(1))[0]),"0"===value)return 0;if("0"===ch){if("b"===value[1])return sign2*parseInt(value.slice(2),2);if("x"===value[1])return sign2*parseInt(value.slice(2),16);if("o"===value[1])return sign2*parseInt(value.slice(2),8)}return sign2*parseInt(value,10)}function isInteger(object){return"[object Number]"===Object.prototype.toString.call(object)&&object%1==0&&!common.isNegativeZero(object)}__name(isHexCode,"isHexCode"),__name(isOctCode,"isOctCode"),__name(isDecCode,"isDecCode"),__name(resolveYamlInteger,"resolveYamlInteger"),__name(constructYamlInteger,"constructYamlInteger"),__name(isInteger,"isInteger");var int=new type("tag:yaml.org,2002:int",{kind:"scalar",resolve:resolveYamlInteger,construct:constructYamlInteger,predicate:isInteger,represent:{binary:__name(function(obj){return obj>=0?"0b"+obj.toString(2):"-0b"+obj.toString(2).slice(1)},"binary"),octal:__name(function(obj){return obj>=0?"0o"+obj.toString(8):"-0o"+obj.toString(8).slice(1)},"octal"),decimal:__name(function(obj){return obj.toString(10)},"decimal"),hexadecimal:__name(function(obj){return obj>=0?"0x"+obj.toString(16).toUpperCase():"-0x"+obj.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),YAML_FLOAT_PATTERN=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function resolveYamlFloat(data){return null!==data&&!(!YAML_FLOAT_PATTERN.test(data)||"_"===data[data.length-1])}function constructYamlFloat(data){var value,sign2;return sign2="-"===(value=data.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(value[0])>=0&&(value=value.slice(1)),".inf"===value?1===sign2?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===value?NaN:sign2*parseFloat(value,10)}__name(resolveYamlFloat,"resolveYamlFloat"),__name(constructYamlFloat,"constructYamlFloat");var SCIENTIFIC_WITHOUT_DOT=/^[-+]?[0-9]+e/;function representYamlFloat(object,style){var res;if(isNaN(object))switch(style){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===object)switch(style){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===object)switch(style){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(common.isNegativeZero(object))return"-0.0";return res=object.toString(10),SCIENTIFIC_WITHOUT_DOT.test(res)?res.replace("e",".e"):res}function isFloat(object){return"[object Number]"===Object.prototype.toString.call(object)&&(object%1!=0||common.isNegativeZero(object))}__name(representYamlFloat,"representYamlFloat"),__name(isFloat,"isFloat");var float=new type("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"}),json=failsafe.extend({implicit:[_null,bool,int,float]}),core=json,YAML_DATE_REGEXP=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),YAML_TIMESTAMP_REGEXP=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function resolveYamlTimestamp(data){return null!==data&&(null!==YAML_DATE_REGEXP.exec(data)||null!==YAML_TIMESTAMP_REGEXP.exec(data))}function constructYamlTimestamp(data){var match,year,month,day,hour,minute,second,date,fraction=0,delta=null;if(null===(match=YAML_DATE_REGEXP.exec(data))&&(match=YAML_TIMESTAMP_REGEXP.exec(data)),null===match)throw new Error("Date resolve error");if(year=+match[1],month=+match[2]-1,day=+match[3],!match[4])return new Date(Date.UTC(year,month,day));if(hour=+match[4],minute=+match[5],second=+match[6],match[7]){for(fraction=match[7].slice(0,3);fraction.length<3;)fraction+="0";fraction=+fraction}return match[9]&&(delta=6e4*(60*+match[10]+ +(match[11]||0)),"-"===match[9]&&(delta=-delta)),date=new Date(Date.UTC(year,month,day,hour,minute,second,fraction)),delta&&date.setTime(date.getTime()-delta),date}function representYamlTimestamp(object){return object.toISOString()}__name(resolveYamlTimestamp,"resolveYamlTimestamp"),__name(constructYamlTimestamp,"constructYamlTimestamp"),__name(representYamlTimestamp,"representYamlTimestamp");var timestamp=new type("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:resolveYamlTimestamp,construct:constructYamlTimestamp,instanceOf:Date,represent:representYamlTimestamp});function resolveYamlMerge(data){return"<<"===data||null===data}__name(resolveYamlMerge,"resolveYamlMerge");var merge$1=new type("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge}),BASE64_MAP="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";function resolveYamlBinary(data){if(null===data)return!1;var code,idx,bitlen=0,max2=data.length,map2=BASE64_MAP;for(idx=0;idx<max2;idx++)if(!((code=map2.indexOf(data.charAt(idx)))>64)){if(code<0)return!1;bitlen+=6}return bitlen%8==0}function constructYamlBinary(data){var idx,tailbits,input=data.replace(/[\r\n=]/g,""),max2=input.length,map2=BASE64_MAP,bits=0,result=[];for(idx=0;idx<max2;idx++)idx%4==0&&idx&&(result.push(bits>>16&255),result.push(bits>>8&255),result.push(255&bits)),bits=bits<<6|map2.indexOf(input.charAt(idx));return 0===(tailbits=max2%4*6)?(result.push(bits>>16&255),result.push(bits>>8&255),result.push(255&bits)):18===tailbits?(result.push(bits>>10&255),result.push(bits>>2&255)):12===tailbits&&result.push(bits>>4&255),new Uint8Array(result)}function representYamlBinary(object){var idx,tail,result="",bits=0,max2=object.length,map2=BASE64_MAP;for(idx=0;idx<max2;idx++)idx%3==0&&idx&&(result+=map2[bits>>18&63],result+=map2[bits>>12&63],result+=map2[bits>>6&63],result+=map2[63&bits]),bits=(bits<<8)+object[idx];return 0===(tail=max2%3)?(result+=map2[bits>>18&63],result+=map2[bits>>12&63],result+=map2[bits>>6&63],result+=map2[63&bits]):2===tail?(result+=map2[bits>>10&63],result+=map2[bits>>4&63],result+=map2[bits<<2&63],result+=map2[64]):1===tail&&(result+=map2[bits>>2&63],result+=map2[bits<<4&63],result+=map2[64],result+=map2[64]),result}function isBinary(obj){return"[object Uint8Array]"===Object.prototype.toString.call(obj)}__name(resolveYamlBinary,"resolveYamlBinary"),__name(constructYamlBinary,"constructYamlBinary"),__name(representYamlBinary,"representYamlBinary"),__name(isBinary,"isBinary");var binary=new type("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary}),_hasOwnProperty$3=Object.prototype.hasOwnProperty,_toString$2=Object.prototype.toString;function resolveYamlOmap(data){if(null===data)return!0;var index,length,pair,pairKey,pairHasKey,objectKeys=[],object=data;for(index=0,length=object.length;index<length;index+=1){if(pair=object[index],pairHasKey=!1,"[object Object]"!==_toString$2.call(pair))return!1;for(pairKey in pair)if(_hasOwnProperty$3.call(pair,pairKey)){if(pairHasKey)return!1;pairHasKey=!0}if(!pairHasKey)return!1;if(-1!==objectKeys.indexOf(pairKey))return!1;objectKeys.push(pairKey)}return!0}function constructYamlOmap(data){return null!==data?data:[]}__name(resolveYamlOmap,"resolveYamlOmap"),__name(constructYamlOmap,"constructYamlOmap");var omap=new type("tag:yaml.org,2002:omap",{kind:"sequence",resolve:resolveYamlOmap,construct:constructYamlOmap}),_toString$1=Object.prototype.toString;function resolveYamlPairs(data){if(null===data)return!0;var index,length,pair,keys,result,object=data;for(result=new Array(object.length),index=0,length=object.length;index<length;index+=1){if(pair=object[index],"[object Object]"!==_toString$1.call(pair))return!1;if(1!==(keys=Object.keys(pair)).length)return!1;result[index]=[keys[0],pair[keys[0]]]}return!0}function constructYamlPairs(data){if(null===data)return[];var index,length,pair,keys,result,object=data;for(result=new Array(object.length),index=0,length=object.length;index<length;index+=1)pair=object[index],keys=Object.keys(pair),result[index]=[keys[0],pair[keys[0]]];return result}__name(resolveYamlPairs,"resolveYamlPairs"),__name(constructYamlPairs,"constructYamlPairs");var pairs=new type("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:resolveYamlPairs,construct:constructYamlPairs}),_hasOwnProperty$2=Object.prototype.hasOwnProperty;function resolveYamlSet(data){if(null===data)return!0;var key,object=data;for(key in object)if(_hasOwnProperty$2.call(object,key)&&null!==object[key])return!1;return!0}function constructYamlSet(data){return null!==data?data:{}}__name(resolveYamlSet,"resolveYamlSet"),__name(constructYamlSet,"constructYamlSet");var set=new type("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet}),_default=core.extend({implicit:[timestamp,merge$1],explicit:[binary,omap,pairs,set]}),_hasOwnProperty$1=Object.prototype.hasOwnProperty,PATTERN_NON_PRINTABLE=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,PATTERN_NON_ASCII_LINE_BREAKS=/[\x85\u2028\u2029]/,PATTERN_FLOW_INDICATORS=/[,\[\]\{\}]/,PATTERN_TAG_HANDLE=/^(?:!|!!|![a-z\-]+!)$/i,PATTERN_TAG_URI=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function _class(obj){return Object.prototype.toString.call(obj)}function is_EOL(c2){return 10===c2||13===c2}function is_WHITE_SPACE(c2){return 9===c2||32===c2}function is_WS_OR_EOL(c2){return 9===c2||32===c2||10===c2||13===c2}function is_FLOW_INDICATOR(c2){return 44===c2||91===c2||93===c2||123===c2||125===c2}function fromHexCode(c2){var lc;return 48<=c2&&c2<=57?c2-48:97<=(lc=32|c2)&&lc<=102?lc-97+10:-1}function escapedHexLen(c2){return 120===c2?2:117===c2?4:85===c2?8:0}function fromDecimalCode(c2){return 48<=c2&&c2<=57?c2-48:-1}function simpleEscapeSequence(c2){return 48===c2?"\0":97===c2?"":98===c2?"\b":116===c2||9===c2?"\t":110===c2?"\n":118===c2?"\v":102===c2?"\f":114===c2?"\r":101===c2?"":32===c2?" ":34===c2?'"':47===c2?"/":92===c2?"\\":78===c2?"…":95===c2?" ":76===c2?"\u2028":80===c2?"\u2029":""}function charFromCodepoint(c2){return c2<=65535?String.fromCharCode(c2):String.fromCharCode(55296+(c2-65536>>10),56320+(c2-65536&1023))}function setProperty(object,key,value){"__proto__"===key?Object.defineProperty(object,key,{configurable:!0,enumerable:!0,writable:!0,value:value}):object[key]=value}__name(_class,"_class"),__name(is_EOL,"is_EOL"),__name(is_WHITE_SPACE,"is_WHITE_SPACE"),__name(is_WS_OR_EOL,"is_WS_OR_EOL"),__name(is_FLOW_INDICATOR,"is_FLOW_INDICATOR"),__name(fromHexCode,"fromHexCode"),__name(escapedHexLen,"escapedHexLen"),__name(fromDecimalCode,"fromDecimalCode"),__name(simpleEscapeSequence,"simpleEscapeSequence"),__name(charFromCodepoint,"charFromCodepoint"),__name(setProperty,"setProperty");var i$1,simpleEscapeCheck=new Array(256),simpleEscapeMap=new Array(256);for(i$1=0;i$1<256;i$1++)simpleEscapeCheck[i$1]=simpleEscapeSequence(i$1)?1:0,simpleEscapeMap[i$1]=simpleEscapeSequence(i$1);function State$1(input,options){this.input=input,this.filename=options.filename||null,this.schema=options.schema||_default,this.onWarning=options.onWarning||null,this.legacy=options.legacy||!1,this.json=options.json||!1,this.listener=options.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=input.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function generateError(state2,message){var mark={name:state2.filename,buffer:state2.input.slice(0,-1),position:state2.position,line:state2.line,column:state2.position-state2.lineStart};return mark.snippet=snippet(mark),new exception(message,mark)}function throwError(state2,message){throw generateError(state2,message)}function throwWarning(state2,message){state2.onWarning&&state2.onWarning.call(null,generateError(state2,message))}__name(State$1,"State$1"),__name(generateError,"generateError"),__name(throwError,"throwError"),__name(throwWarning,"throwWarning");var directiveHandlers={YAML:__name(function(state2,name,args){var match,major,minor;null!==state2.version&&throwError(state2,"duplication of %YAML directive"),1!==args.length&&throwError(state2,"YAML directive accepts exactly one argument"),null===(match=/^([0-9]+)\.([0-9]+)$/.exec(args[0]))&&throwError(state2,"ill-formed argument of the YAML directive"),major=parseInt(match[1],10),minor=parseInt(match[2],10),1!==major&&throwError(state2,"unacceptable YAML version of the document"),state2.version=args[0],state2.checkLineBreaks=minor<2,1!==minor&&2!==minor&&throwWarning(state2,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:__name(function(state2,name,args){var handle,prefix;2!==args.length&&throwError(state2,"TAG directive accepts exactly two arguments"),handle=args[0],prefix=args[1],PATTERN_TAG_HANDLE.test(handle)||throwError(state2,"ill-formed tag handle (first argument) of the TAG directive"),_hasOwnProperty$1.call(state2.tagMap,handle)&&throwError(state2,'there is a previously declared suffix for "'+handle+'" tag handle'),PATTERN_TAG_URI.test(prefix)||throwError(state2,"ill-formed tag prefix (second argument) of the TAG directive");try{prefix=decodeURIComponent(prefix)}catch(err){throwError(state2,"tag prefix is malformed: "+prefix)}state2.tagMap[handle]=prefix},"handleTagDirective")};function captureSegment(state2,start2,end,checkJson){var _position,_length,_character,_result;if(start2<end){if(_result=state2.input.slice(start2,end),checkJson)for(_position=0,_length=_result.length;_position<_length;_position+=1)9===(_character=_result.charCodeAt(_position))||32<=_character&&_character<=1114111||throwError(state2,"expected valid JSON character");else PATTERN_NON_PRINTABLE.test(_result)&&throwError(state2,"the stream contains non-printable characters");state2.result+=_result}}function mergeMappings(state2,destination,source,overridableKeys){var sourceKeys,key,index,quantity;for(common.isObject(source)||throwError(state2,"cannot merge mappings; the provided source object is unacceptable"),index=0,quantity=(sourceKeys=Object.keys(source)).length;index<quantity;index+=1)key=sourceKeys[index],_hasOwnProperty$1.call(destination,key)||(setProperty(destination,key,source[key]),overridableKeys[key]=!0)}function storeMappingPair(state2,_result,overridableKeys,keyTag,keyNode,valueNode,startLine,startLineStart,startPos){var index,quantity;if(Array.isArray(keyNode))for(index=0,quantity=(keyNode=Array.prototype.slice.call(keyNode)).length;index<quantity;index+=1)Array.isArray(keyNode[index])&&throwError(state2,"nested arrays are not supported inside keys"),"object"==typeof keyNode&&"[object Object]"===_class(keyNode[index])&&(keyNode[index]="[object Object]");if("object"==typeof keyNode&&"[object Object]"===_class(keyNode)&&(keyNode="[object Object]"),keyNode=String(keyNode),null===_result&&(_result={}),"tag:yaml.org,2002:merge"===keyTag)if(Array.isArray(valueNode))for(index=0,quantity=valueNode.length;index<quantity;index+=1)mergeMappings(state2,_result,valueNode[index],overridableKeys);else mergeMappings(state2,_result,valueNode,overridableKeys);else state2.json||_hasOwnProperty$1.call(overridableKeys,keyNode)||!_hasOwnProperty$1.call(_result,keyNode)||(state2.line=startLine||state2.line,state2.lineStart=startLineStart||state2.lineStart,state2.position=startPos||state2.position,throwError(state2,"duplicated mapping key")),setProperty(_result,keyNode,valueNode),delete overridableKeys[keyNode];return _result}function readLineBreak(state2){var ch;10===(ch=state2.input.charCodeAt(state2.position))?state2.position++:13===ch?(state2.position++,10===state2.input.charCodeAt(state2.position)&&state2.position++):throwError(state2,"a line break is expected"),state2.line+=1,state2.lineStart=state2.position,state2.firstTabInLine=-1}function skipSeparationSpace(state2,allowComments,checkIndent){for(var lineBreaks=0,ch=state2.input.charCodeAt(state2.position);0!==ch;){for(;is_WHITE_SPACE(ch);)9===ch&&-1===state2.firstTabInLine&&(state2.firstTabInLine=state2.position),ch=state2.input.charCodeAt(++state2.position);if(allowComments&&35===ch)do{ch=state2.input.charCodeAt(++state2.position)}while(10!==ch&&13!==ch&&0!==ch);if(!is_EOL(ch))break;for(readLineBreak(state2),ch=state2.input.charCodeAt(state2.position),lineBreaks++,state2.lineIndent=0;32===ch;)state2.lineIndent++,ch=state2.input.charCodeAt(++state2.position)}return-1!==checkIndent&&0!==lineBreaks&&state2.lineIndent<checkIndent&&throwWarning(state2,"deficient indentation"),lineBreaks}function testDocumentSeparator(state2){var ch,_position=state2.position;return!(45!==(ch=state2.input.charCodeAt(_position))&&46!==ch||ch!==state2.input.charCodeAt(_position+1)||ch!==state2.input.charCodeAt(_position+2)||(_position+=3,0!==(ch=state2.input.charCodeAt(_position))&&!is_WS_OR_EOL(ch)))}function writeFoldedLines(state2,count){1===count?state2.result+=" ":count>1&&(state2.result+=common.repeat("\n",count-1))}function readPlainScalar(state2,nodeIndent,withinFlowCollection){var following,captureStart,captureEnd,hasPendingContent,_line,_lineStart,_lineIndent,ch,_kind=state2.kind,_result=state2.result;if(is_WS_OR_EOL(ch=state2.input.charCodeAt(state2.position))||is_FLOW_INDICATOR(ch)||35===ch||38===ch||42===ch||33===ch||124===ch||62===ch||39===ch||34===ch||37===ch||64===ch||96===ch)return!1;if((63===ch||45===ch)&&(is_WS_OR_EOL(following=state2.input.charCodeAt(state2.position+1))||withinFlowCollection&&is_FLOW_INDICATOR(following)))return!1;for(state2.kind="scalar",state2.result="",captureStart=captureEnd=state2.position,hasPendingContent=!1;0!==ch;){if(58===ch){if(is_WS_OR_EOL(following=state2.input.charCodeAt(state2.position+1))||withinFlowCollection&&is_FLOW_INDICATOR(following))break}else if(35===ch){if(is_WS_OR_EOL(state2.input.charCodeAt(state2.position-1)))break}else{if(state2.position===state2.lineStart&&testDocumentSeparator(state2)||withinFlowCollection&&is_FLOW_INDICATOR(ch))break;if(is_EOL(ch)){if(_line=state2.line,_lineStart=state2.lineStart,_lineIndent=state2.lineIndent,skipSeparationSpace(state2,!1,-1),state2.lineIndent>=nodeIndent){hasPendingContent=!0,ch=state2.input.charCodeAt(state2.position);continue}state2.position=captureEnd,state2.line=_line,state2.lineStart=_lineStart,state2.lineIndent=_lineIndent;break}}hasPendingContent&&(captureSegment(state2,captureStart,captureEnd,!1),writeFoldedLines(state2,state2.line-_line),captureStart=captureEnd=state2.position,hasPendingContent=!1),is_WHITE_SPACE(ch)||(captureEnd=state2.position+1),ch=state2.input.charCodeAt(++state2.position)}return captureSegment(state2,captureStart,captureEnd,!1),!!state2.result||(state2.kind=_kind,state2.result=_result,!1)}function readSingleQuotedScalar(state2,nodeIndent){var ch,captureStart,captureEnd;if(39!==(ch=state2.input.charCodeAt(state2.position)))return!1;for(state2.kind="scalar",state2.result="",state2.position++,captureStart=captureEnd=state2.position;0!==(ch=state2.input.charCodeAt(state2.position));)if(39===ch){if(captureSegment(state2,captureStart,state2.position,!0),39!==(ch=state2.input.charCodeAt(++state2.position)))return!0;captureStart=state2.position,state2.position++,captureEnd=state2.position}else is_EOL(ch)?(captureSegment(state2,captureStart,captureEnd,!0),writeFoldedLines(state2,skipSeparationSpace(state2,!1,nodeIndent)),captureStart=captureEnd=state2.position):state2.position===state2.lineStart&&testDocumentSeparator(state2)?throwError(state2,"unexpected end of the document within a single quoted scalar"):(state2.position++,captureEnd=state2.position);throwError(state2,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(state2,nodeIndent){var captureStart,captureEnd,hexLength,hexResult,tmp,ch;if(34!==(ch=state2.input.charCodeAt(state2.position)))return!1;for(state2.kind="scalar",state2.result="",state2.position++,captureStart=captureEnd=state2.position;0!==(ch=state2.input.charCodeAt(state2.position));){if(34===ch)return captureSegment(state2,captureStart,state2.position,!0),state2.position++,!0;if(92===ch){if(captureSegment(state2,captureStart,state2.position,!0),is_EOL(ch=state2.input.charCodeAt(++state2.position)))skipSeparationSpace(state2,!1,nodeIndent);else if(ch<256&&simpleEscapeCheck[ch])state2.result+=simpleEscapeMap[ch],state2.position++;else if((tmp=escapedHexLen(ch))>0){for(hexLength=tmp,hexResult=0;hexLength>0;hexLength--)(tmp=fromHexCode(ch=state2.input.charCodeAt(++state2.position)))>=0?hexResult=(hexResult<<4)+tmp:throwError(state2,"expected hexadecimal character");state2.result+=charFromCodepoint(hexResult),state2.position++}else throwError(state2,"unknown escape sequence");captureStart=captureEnd=state2.position}else is_EOL(ch)?(captureSegment(state2,captureStart,captureEnd,!0),writeFoldedLines(state2,skipSeparationSpace(state2,!1,nodeIndent)),captureStart=captureEnd=state2.position):state2.position===state2.lineStart&&testDocumentSeparator(state2)?throwError(state2,"unexpected end of the document within a double quoted scalar"):(state2.position++,captureEnd=state2.position)}throwError(state2,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(state2,nodeIndent){var _line,_lineStart,_pos,_result,terminator,isPair,isExplicitPair,isMapping,keyNode,keyTag,valueNode,ch,readNext=!0,_tag=state2.tag,_anchor=state2.anchor,overridableKeys=Object.create(null);if(91===(ch=state2.input.charCodeAt(state2.position)))terminator=93,isMapping=!1,_result=[];else{if(123!==ch)return!1;terminator=125,isMapping=!0,_result={}}for(null!==state2.anchor&&(state2.anchorMap[state2.anchor]=_result),ch=state2.input.charCodeAt(++state2.position);0!==ch;){if(skipSeparationSpace(state2,!0,nodeIndent),(ch=state2.input.charCodeAt(state2.position))===terminator)return state2.position++,state2.tag=_tag,state2.anchor=_anchor,state2.kind=isMapping?"mapping":"sequence",state2.result=_result,!0;readNext?44===ch&&throwError(state2,"expected the node content, but found ','"):throwError(state2,"missed comma between flow collection entries"),valueNode=null,isPair=isExplicitPair=!1,63===ch&&is_WS_OR_EOL(state2.input.charCodeAt(state2.position+1))&&(isPair=isExplicitPair=!0,state2.position++,skipSeparationSpace(state2,!0,nodeIndent)),_line=state2.line,_lineStart=state2.lineStart,_pos=state2.position,composeNode(state2,nodeIndent,1,!1,!0),keyTag=state2.tag,keyNode=state2.result,skipSeparationSpace(state2,!0,nodeIndent),ch=state2.input.charCodeAt(state2.position),!isExplicitPair&&state2.line!==_line||58!==ch||(isPair=!0,ch=state2.input.charCodeAt(++state2.position),skipSeparationSpace(state2,!0,nodeIndent),composeNode(state2,nodeIndent,1,!1,!0),valueNode=state2.result),isMapping?storeMappingPair(state2,_result,overridableKeys,keyTag,keyNode,valueNode,_line,_lineStart,_pos):isPair?_result.push(storeMappingPair(state2,null,overridableKeys,keyTag,keyNode,valueNode,_line,_lineStart,_pos)):_result.push(keyNode),skipSeparationSpace(state2,!0,nodeIndent),44===(ch=state2.input.charCodeAt(state2.position))?(readNext=!0,ch=state2.input.charCodeAt(++state2.position)):readNext=!1}throwError(state2,"unexpected end of the stream within a flow collection")}function readBlockScalar(state2,nodeIndent){var captureStart,folding,tmp,ch,chomping=1,didReadContent=!1,detectedIndent=!1,textIndent=nodeIndent,emptyLines=0,atMoreIndented=!1;if(124===(ch=state2.input.charCodeAt(state2.position)))folding=!1;else{if(62!==ch)return!1;folding=!0}for(state2.kind="scalar",state2.result="";0!==ch;)if(43===(ch=state2.input.charCodeAt(++state2.position))||45===ch)1===chomping?chomping=43===ch?3:2:throwError(state2,"repeat of a chomping mode identifier");else{if(!((tmp=fromDecimalCode(ch))>=0))break;0===tmp?throwError(state2,"bad explicit indentation width of a block scalar; it cannot be less than one"):detectedIndent?throwError(state2,"repeat of an indentation width identifier"):(textIndent=nodeIndent+tmp-1,detectedIndent=!0)}if(is_WHITE_SPACE(ch)){do{ch=state2.input.charCodeAt(++state2.position)}while(is_WHITE_SPACE(ch));if(35===ch)do{ch=state2.input.charCodeAt(++state2.position)}while(!is_EOL(ch)&&0!==ch)}for(;0!==ch;){for(readLineBreak(state2),state2.lineIndent=0,ch=state2.input.charCodeAt(state2.position);(!detectedIndent||state2.lineIndent<textIndent)&&32===ch;)state2.lineIndent++,ch=state2.input.charCodeAt(++state2.position);if(!detectedIndent&&state2.lineIndent>textIndent&&(textIndent=state2.lineIndent),is_EOL(ch))emptyLines++;else{if(state2.lineIndent<textIndent){3===chomping?state2.result+=common.repeat("\n",didReadContent?1+emptyLines:emptyLines):1===chomping&&didReadContent&&(state2.result+="\n");break}for(folding?is_WHITE_SPACE(ch)?(atMoreIndented=!0,state2.result+=common.repeat("\n",didReadContent?1+emptyLines:emptyLines)):atMoreIndented?(atMoreIndented=!1,state2.result+=common.repeat("\n",emptyLines+1)):0===emptyLines?didReadContent&&(state2.result+=" "):state2.result+=common.repeat("\n",emptyLines):state2.result+=common.repeat("\n",didReadContent?1+emptyLines:emptyLines),didReadContent=!0,detectedIndent=!0,emptyLines=0,captureStart=state2.position;!is_EOL(ch)&&0!==ch;)ch=state2.input.charCodeAt(++state2.position);captureSegment(state2,captureStart,state2.position,!1)}}return!0}function readBlockSequence(state2,nodeIndent){var _line,ch,_tag=state2.tag,_anchor=state2.anchor,_result=[],detected=!1;if(-1!==state2.firstTabInLine)return!1;for(null!==state2.anchor&&(state2.anchorMap[state2.anchor]=_result),ch=state2.input.charCodeAt(state2.position);0!==ch&&(-1!==state2.firstTabInLine&&(state2.position=state2.firstTabInLine,throwError(state2,"tab characters must not be used in indentation")),45===ch)&&is_WS_OR_EOL(state2.input.charCodeAt(state2.position+1));)if(detected=!0,state2.position++,skipSeparationSpace(state2,!0,-1)&&state2.lineIndent<=nodeIndent)_result.push(null),ch=state2.input.charCodeAt(state2.position);else if(_line=state2.line,composeNode(state2,nodeIndent,3,!1,!0),_result.push(state2.result),skipSeparationSpace(state2,!0,-1),ch=state2.input.charCodeAt(state2.position),(state2.line===_line||state2.lineIndent>nodeIndent)&&0!==ch)throwError(state2,"bad indentation of a sequence entry");else if(state2.lineIndent<nodeIndent)break;return!!detected&&(state2.tag=_tag,state2.anchor=_anchor,state2.kind="sequence",state2.result=_result,!0)}function readBlockMapping(state2,nodeIndent,flowIndent){var following,allowCompact,_line,_keyLine,_keyLineStart,_keyPos,ch,_tag=state2.tag,_anchor=state2.anchor,_result={},overridableKeys=Object.create(null),keyTag=null,keyNode=null,valueNode=null,atExplicitKey=!1,detected=!1;if(-1!==state2.firstTabInLine)return!1;for(null!==state2.anchor&&(state2.anchorMap[state2.anchor]=_result),ch=state2.input.charCodeAt(state2.position);0!==ch;){if(atExplicitKey||-1===state2.firstTabInLine||(state2.position=state2.firstTabInLine,throwError(state2,"tab characters must not be used in indentation")),following=state2.input.charCodeAt(state2.position+1),_line=state2.line,63!==ch&&58!==ch||!is_WS_OR_EOL(following)){if(_keyLine=state2.line,_keyLineStart=state2.lineStart,_keyPos=state2.position,!composeNode(state2,flowIndent,2,!1,!0))break;if(state2.line===_line){for(ch=state2.input.charCodeAt(state2.position);is_WHITE_SPACE(ch);)ch=state2.input.charCodeAt(++state2.position);if(58===ch)is_WS_OR_EOL(ch=state2.input.charCodeAt(++state2.position))||throwError(state2,"a whitespace character is expected after the key-value separator within a block mapping"),atExplicitKey&&(storeMappingPair(state2,_result,overridableKeys,keyTag,keyNode,null,_keyLine,_keyLineStart,_keyPos),keyTag=keyNode=valueNode=null),detected=!0,atExplicitKey=!1,allowCompact=!1,keyTag=state2.tag,keyNode=state2.result;else{if(!detected)return state2.tag=_tag,state2.anchor=_anchor,!0;throwError(state2,"can not read an implicit mapping pair; a colon is missed")}}else{if(!detected)return state2.tag=_tag,state2.anchor=_anchor,!0;throwError(state2,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===ch?(atExplicitKey&&(storeMappingPair(state2,_result,overridableKeys,keyTag,keyNode,null,_keyLine,_keyLineStart,_keyPos),keyTag=keyNode=valueNode=null),detected=!0,atExplicitKey=!0,allowCompact=!0):atExplicitKey?(atExplicitKey=!1,allowCompact=!0):throwError(state2,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),state2.position+=1,ch=following;if((state2.line===_line||state2.lineIndent>nodeIndent)&&(atExplicitKey&&(_keyLine=state2.line,_keyLineStart=state2.lineStart,_keyPos=state2.position),composeNode(state2,nodeIndent,4,!0,allowCompact)&&(atExplicitKey?keyNode=state2.result:valueNode=state2.result),atExplicitKey||(storeMappingPair(state2,_result,overridableKeys,keyTag,keyNode,valueNode,_keyLine,_keyLineStart,_keyPos),keyTag=keyNode=valueNode=null),skipSeparationSpace(state2,!0,-1),ch=state2.input.charCodeAt(state2.position)),(state2.line===_line||state2.lineIndent>nodeIndent)&&0!==ch)throwError(state2,"bad indentation of a mapping entry");else if(state2.lineIndent<nodeIndent)break}return atExplicitKey&&storeMappingPair(state2,_result,overridableKeys,keyTag,keyNode,null,_keyLine,_keyLineStart,_keyPos),detected&&(state2.tag=_tag,state2.anchor=_anchor,state2.kind="mapping",state2.result=_result),detected}function readTagProperty(state2){var _position,tagHandle,tagName,ch,isVerbatim=!1,isNamed=!1;if(33!==(ch=state2.input.charCodeAt(state2.position)))return!1;if(null!==state2.tag&&throwError(state2,"duplication of a tag property"),60===(ch=state2.input.charCodeAt(++state2.position))?(isVerbatim=!0,ch=state2.input.charCodeAt(++state2.position)):33===ch?(isNamed=!0,tagHandle="!!",ch=state2.input.charCodeAt(++state2.position)):tagHandle="!",_position=state2.position,isVerbatim){do{ch=state2.input.charCodeAt(++state2.position)}while(0!==ch&&62!==ch);state2.position<state2.length?(tagName=state2.input.slice(_position,state2.position),ch=state2.input.charCodeAt(++state2.position)):throwError(state2,"unexpected end of the stream within a verbatim tag")}else{for(;0!==ch&&!is_WS_OR_EOL(ch);)33===ch&&(isNamed?throwError(state2,"tag suffix cannot contain exclamation marks"):(tagHandle=state2.input.slice(_position-1,state2.position+1),PATTERN_TAG_HANDLE.test(tagHandle)||throwError(state2,"named tag handle cannot contain such characters"),isNamed=!0,_position=state2.position+1)),ch=state2.input.charCodeAt(++state2.position);tagName=state2.input.slice(_position,state2.position),PATTERN_FLOW_INDICATORS.test(tagName)&&throwError(state2,"tag suffix cannot contain flow indicator characters")}tagName&&!PATTERN_TAG_URI.test(tagName)&&throwError(state2,"tag name cannot contain such characters: "+tagName);try{tagName=decodeURIComponent(tagName)}catch(err){throwError(state2,"tag name is malformed: "+tagName)}return isVerbatim?state2.tag=tagName:_hasOwnProperty$1.call(state2.tagMap,tagHandle)?state2.tag=state2.tagMap[tagHandle]+tagName:"!"===tagHandle?state2.tag="!"+tagName:"!!"===tagHandle?state2.tag="tag:yaml.org,2002:"+tagName:throwError(state2,'undeclared tag handle "'+tagHandle+'"'),!0}function readAnchorProperty(state2){var _position,ch;if(38!==(ch=state2.input.charCodeAt(state2.position)))return!1;for(null!==state2.anchor&&throwError(state2,"duplication of an anchor property"),ch=state2.input.charCodeAt(++state2.position),_position=state2.position;0!==ch&&!is_WS_OR_EOL(ch)&&!is_FLOW_INDICATOR(ch);)ch=state2.input.charCodeAt(++state2.position);return state2.position===_position&&throwError(state2,"name of an anchor node must contain at least one character"),state2.anchor=state2.input.slice(_position,state2.position),!0}function readAlias(state2){var _position,alias,ch;if(42!==(ch=state2.input.charCodeAt(state2.position)))return!1;for(ch=state2.input.charCodeAt(++state2.position),_position=state2.position;0!==ch&&!is_WS_OR_EOL(ch)&&!is_FLOW_INDICATOR(ch);)ch=state2.input.charCodeAt(++state2.position);return state2.position===_position&&throwError(state2,"name of an alias node must contain at least one character"),alias=state2.input.slice(_position,state2.position),_hasOwnProperty$1.call(state2.anchorMap,alias)||throwError(state2,'unidentified alias "'+alias+'"'),state2.result=state2.anchorMap[alias],skipSeparationSpace(state2,!0,-1),!0}function composeNode(state2,parentIndent,nodeContext,allowToSeek,allowCompact){var allowBlockStyles,allowBlockScalars,allowBlockCollections,typeIndex,typeQuantity,typeList,type2,flowIndent,blockIndent,indentStatus=1,atNewLine=!1,hasContent=!1;if(null!==state2.listener&&state2.listener("open",state2),state2.tag=null,state2.anchor=null,state2.kind=null,state2.result=null,allowBlockStyles=allowBlockScalars=allowBlockCollections=4===nodeContext||3===nodeContext,allowToSeek&&skipSeparationSpace(state2,!0,-1)&&(atNewLine=!0,state2.lineIndent>parentIndent?indentStatus=1:state2.lineIndent===parentIndent?indentStatus=0:state2.lineIndent<parentIndent&&(indentStatus=-1)),1===indentStatus)for(;readTagProperty(state2)||readAnchorProperty(state2);)skipSeparationSpace(state2,!0,-1)?(atNewLine=!0,allowBlockCollections=allowBlockStyles,state2.lineIndent>parentIndent?indentStatus=1:state2.lineIndent===parentIndent?indentStatus=0:state2.lineIndent<parentIndent&&(indentStatus=-1)):allowBlockCollections=!1;if(allowBlockCollections&&(allowBlockCollections=atNewLine||allowCompact),1!==indentStatus&&4!==nodeContext||(flowIndent=1===nodeContext||2===nodeContext?parentIndent:parentIndent+1,blockIndent=state2.position-state2.lineStart,1===indentStatus?allowBlockCollections&&(readBlockSequence(state2,blockIndent)||readBlockMapping(state2,blockIndent,flowIndent))||readFlowCollection(state2,flowIndent)?hasContent=!0:(allowBlockScalars&&readBlockScalar(state2,flowIndent)||readSingleQuotedScalar(state2,flowIndent)||readDoubleQuotedScalar(state2,flowIndent)?hasContent=!0:readAlias(state2)?(hasContent=!0,null===state2.tag&&null===state2.anchor||throwError(state2,"alias node should not have any properties")):readPlainScalar(state2,flowIndent,1===nodeContext)&&(hasContent=!0,null===state2.tag&&(state2.tag="?")),null!==state2.anchor&&(state2.anchorMap[state2.anchor]=state2.result)):0===indentStatus&&(hasContent=allowBlockCollections&&readBlockSequence(state2,blockIndent))),null===state2.tag)null!==state2.anchor&&(state2.anchorMap[state2.anchor]=state2.result);else if("?"===state2.tag){for(null!==state2.result&&"scalar"!==state2.kind&&throwError(state2,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+state2.kind+'"'),typeIndex=0,typeQuantity=state2.implicitTypes.length;typeIndex<typeQuantity;typeIndex+=1)if((type2=state2.implicitTypes[typeIndex]).resolve(state2.result)){state2.result=type2.construct(state2.result),state2.tag=type2.tag,null!==state2.anchor&&(state2.anchorMap[state2.anchor]=state2.result);break}}else if("!"!==state2.tag){if(_hasOwnProperty$1.call(state2.typeMap[state2.kind||"fallback"],state2.tag))type2=state2.typeMap[state2.kind||"fallback"][state2.tag];else for(type2=null,typeIndex=0,typeQuantity=(typeList=state2.typeMap.multi[state2.kind||"fallback"]).length;typeIndex<typeQuantity;typeIndex+=1)if(state2.tag.slice(0,typeList[typeIndex].tag.length)===typeList[typeIndex].tag){type2=typeList[typeIndex];break}type2||throwError(state2,"unknown tag !<"+state2.tag+">"),null!==state2.result&&type2.kind!==state2.kind&&throwError(state2,"unacceptable node kind for !<"+state2.tag+'> tag; it should be "'+type2.kind+'", not "'+state2.kind+'"'),type2.resolve(state2.result,state2.tag)?(state2.result=type2.construct(state2.result,state2.tag),null!==state2.anchor&&(state2.anchorMap[state2.anchor]=state2.result)):throwError(state2,"cannot resolve a node with !<"+state2.tag+"> explicit tag")}return null!==state2.listener&&state2.listener("close",state2),null!==state2.tag||null!==state2.anchor||hasContent}function readDocument(state2){var _position,directiveName,directiveArgs,ch,documentStart=state2.position,hasDirectives=!1;for(state2.version=null,state2.checkLineBreaks=state2.legacy,state2.tagMap=Object.create(null),state2.anchorMap=Object.create(null);0!==(ch=state2.input.charCodeAt(state2.position))&&(skipSeparationSpace(state2,!0,-1),ch=state2.input.charCodeAt(state2.position),!(state2.lineIndent>0||37!==ch));){for(hasDirectives=!0,ch=state2.input.charCodeAt(++state2.position),_position=state2.position;0!==ch&&!is_WS_OR_EOL(ch);)ch=state2.input.charCodeAt(++state2.position);for(directiveArgs=[],(directiveName=state2.input.slice(_position,state2.position)).length<1&&throwError(state2,"directive name must not be less than one character in length");0!==ch;){for(;is_WHITE_SPACE(ch);)ch=state2.input.charCodeAt(++state2.position);if(35===ch){do{ch=state2.input.charCodeAt(++state2.position)}while(0!==ch&&!is_EOL(ch));break}if(is_EOL(ch))break;for(_position=state2.position;0!==ch&&!is_WS_OR_EOL(ch);)ch=state2.input.charCodeAt(++state2.position);directiveArgs.push(state2.input.slice(_position,state2.position))}0!==ch&&readLineBreak(state2),_hasOwnProperty$1.call(directiveHandlers,directiveName)?directiveHandlers[directiveName](state2,directiveName,directiveArgs):throwWarning(state2,'unknown document directive "'+directiveName+'"')}skipSeparationSpace(state2,!0,-1),0===state2.lineIndent&&45===state2.input.charCodeAt(state2.position)&&45===state2.input.charCodeAt(state2.position+1)&&45===state2.input.charCodeAt(state2.position+2)?(state2.position+=3,skipSeparationSpace(state2,!0,-1)):hasDirectives&&throwError(state2,"directives end mark is expected"),composeNode(state2,state2.lineIndent-1,4,!1,!0),skipSeparationSpace(state2,!0,-1),state2.checkLineBreaks&&PATTERN_NON_ASCII_LINE_BREAKS.test(state2.input.slice(documentStart,state2.position))&&throwWarning(state2,"non-ASCII line breaks are interpreted as content"),state2.documents.push(state2.result),state2.position===state2.lineStart&&testDocumentSeparator(state2)?46===state2.input.charCodeAt(state2.position)&&(state2.position+=3,skipSeparationSpace(state2,!0,-1)):state2.position<state2.length-1&&throwError(state2,"end of the stream or a document separator is expected")}function loadDocuments(input,options){options=options||{},0!==(input=String(input)).length&&(10!==input.charCodeAt(input.length-1)&&13!==input.charCodeAt(input.length-1)&&(input+="\n"),65279===input.charCodeAt(0)&&(input=input.slice(1)));var state2=new State$1(input,options),nullpos=input.indexOf("\0");for(-1!==nullpos&&(state2.position=nullpos,throwError(state2,"null byte is not allowed in input")),state2.input+="\0";32===state2.input.charCodeAt(state2.position);)state2.lineIndent+=1,state2.position+=1;for(;state2.position<state2.length-1;)readDocument(state2);return state2.documents}function load$1(input,options){var documents=loadDocuments(input,options);if(0!==documents.length){if(1===documents.length)return documents[0];throw new exception("expected a single document in the stream, but found more")}}__name(captureSegment,"captureSegment"),__name(mergeMappings,"mergeMappings"),__name(storeMappingPair,"storeMappingPair"),__name(readLineBreak,"readLineBreak"),__name(skipSeparationSpace,"skipSeparationSpace"),__name(testDocumentSeparator,"testDocumentSeparator"),__name(writeFoldedLines,"writeFoldedLines"),__name(readPlainScalar,"readPlainScalar"),__name(readSingleQuotedScalar,"readSingleQuotedScalar"),__name(readDoubleQuotedScalar,"readDoubleQuotedScalar"),__name(readFlowCollection,"readFlowCollection"),__name(readBlockScalar,"readBlockScalar"),__name(readBlockSequence,"readBlockSequence"),__name(readBlockMapping,"readBlockMapping"),__name(readTagProperty,"readTagProperty"),__name(readAnchorProperty,"readAnchorProperty"),__name(readAlias,"readAlias"),__name(composeNode,"composeNode"),__name(readDocument,"readDocument"),__name(loadDocuments,"loadDocuments"),__name(function(input,iterator,options){null!==iterator&&"object"==typeof iterator&&void 0===options&&(options=iterator,iterator=null);var documents=loadDocuments(input,options);if("function"!=typeof iterator)return documents;for(var index=0,length=documents.length;index<length;index+=1)iterator(documents[index])},"loadAll$1"),__name(load$1,"load$1");var loader$1={load:load$1},_toString=Object.prototype.toString,_hasOwnProperty=Object.prototype.hasOwnProperty,ESCAPE_SEQUENCES={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},DEPRECATED_BOOLEANS_SYNTAX=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],DEPRECATED_BASE60_SYNTAX=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function compileStyleMap(schema2,map2){var result,keys,index,length,tag,style,type2;if(null===map2)return{};for(result={},index=0,length=(keys=Object.keys(map2)).length;index<length;index+=1)tag=keys[index],style=String(map2[tag]),"!!"===tag.slice(0,2)&&(tag="tag:yaml.org,2002:"+tag.slice(2)),(type2=schema2.compiledTypeMap.fallback[tag])&&_hasOwnProperty.call(type2.styleAliases,style)&&(style=type2.styleAliases[style]),result[tag]=style;return result}function encodeHex(character){var string,handle,length;if(string=character.toString(16).toUpperCase(),character<=255)handle="x",length=2;else if(character<=65535)handle="u",length=4;else{if(!(character<=4294967295))throw new exception("code point within a string may not be greater than 0xFFFFFFFF");handle="U",length=8}return"\\"+handle+common.repeat("0",length-string.length)+string}__name(compileStyleMap,"compileStyleMap"),__name(encodeHex,"encodeHex");function State(options){this.schema=options.schema||_default,this.indent=Math.max(1,options.indent||2),this.noArrayIndent=options.noArrayIndent||!1,this.skipInvalid=options.skipInvalid||!1,this.flowLevel=common.isNothing(options.flowLevel)?-1:options.flowLevel,this.styleMap=compileStyleMap(this.schema,options.styles||null),this.sortKeys=options.sortKeys||!1,this.lineWidth=options.lineWidth||80,this.noRefs=options.noRefs||!1,this.noCompatMode=options.noCompatMode||!1,this.condenseFlow=options.condenseFlow||!1,this.quotingType='"'===options.quotingType?2:1,this.forceQuotes=options.forceQuotes||!1,this.replacer="function"==typeof options.replacer?options.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function indentString(string,spaces){for(var line2,ind=common.repeat(" ",spaces),position=0,next=-1,result="",length=string.length;position<length;)-1===(next=string.indexOf("\n",position))?(line2=string.slice(position),position=length):(line2=string.slice(position,next+1),position=next+1),line2.length&&"\n"!==line2&&(result+=ind),result+=line2;return result}function generateNextLine(state2,level){return"\n"+common.repeat(" ",state2.indent*level)}function testImplicitResolving(state2,str2){var index,length;for(index=0,length=state2.implicitTypes.length;index<length;index+=1)if(state2.implicitTypes[index].resolve(str2))return!0;return!1}function isWhitespace(c2){return 32===c2||9===c2}function isPrintable(c2){return 32<=c2&&c2<=126||161<=c2&&c2<=55295&&8232!==c2&&8233!==c2||57344<=c2&&c2<=65533&&65279!==c2||65536<=c2&&c2<=1114111}function isNsCharOrWhitespace(c2){return isPrintable(c2)&&65279!==c2&&13!==c2&&10!==c2}function isPlainSafe(c2,prev,inblock){var cIsNsCharOrWhitespace=isNsCharOrWhitespace(c2),cIsNsChar=cIsNsCharOrWhitespace&&!isWhitespace(c2);return(inblock?cIsNsCharOrWhitespace:cIsNsCharOrWhitespace&&44!==c2&&91!==c2&&93!==c2&&123!==c2&&125!==c2)&&35!==c2&&!(58===prev&&!cIsNsChar)||isNsCharOrWhitespace(prev)&&!isWhitespace(prev)&&35===c2||58===prev&&cIsNsChar}function isPlainSafeFirst(c2){return isPrintable(c2)&&65279!==c2&&!isWhitespace(c2)&&45!==c2&&63!==c2&&58!==c2&&44!==c2&&91!==c2&&93!==c2&&123!==c2&&125!==c2&&35!==c2&&38!==c2&&42!==c2&&33!==c2&&124!==c2&&61!==c2&&62!==c2&&39!==c2&&34!==c2&&37!==c2&&64!==c2&&96!==c2}function isPlainSafeLast(c2){return!isWhitespace(c2)&&58!==c2}function codePointAt(string,pos){var second,first=string.charCodeAt(pos);return first>=55296&&first<=56319&&pos+1<string.length&&(second=string.charCodeAt(pos+1))>=56320&&second<=57343?1024*(first-55296)+second-56320+65536:first}function needIndentIndicator(string){return/^\n* /.test(string)}__name(State,"State"),__name(indentString,"indentString"),__name(generateNextLine,"generateNextLine"),__name(testImplicitResolving,"testImplicitResolving"),__name(isWhitespace,"isWhitespace"),__name(isPrintable,"isPrintable"),__name(isNsCharOrWhitespace,"isNsCharOrWhitespace"),__name(isPlainSafe,"isPlainSafe"),__name(isPlainSafeFirst,"isPlainSafeFirst"),__name(isPlainSafeLast,"isPlainSafeLast"),__name(codePointAt,"codePointAt"),__name(needIndentIndicator,"needIndentIndicator");function chooseScalarStyle(string,singleLineOnly,indentPerLevel,lineWidth,testAmbiguousType,quotingType,forceQuotes,inblock){var i2,char=0,prevChar=null,hasLineBreak=!1,hasFoldableLine=!1,shouldTrackWidth=-1!==lineWidth,previousLineBreak=-1,plain=isPlainSafeFirst(codePointAt(string,0))&&isPlainSafeLast(codePointAt(string,string.length-1));if(singleLineOnly||forceQuotes)for(i2=0;i2<string.length;char>=65536?i2+=2:i2++){if(!isPrintable(char=codePointAt(string,i2)))return 5;plain=plain&&isPlainSafe(char,prevChar,inblock),prevChar=char}else{for(i2=0;i2<string.length;char>=65536?i2+=2:i2++){if(10===(char=codePointAt(string,i2)))hasLineBreak=!0,shouldTrackWidth&&(hasFoldableLine=hasFoldableLine||i2-previousLineBreak-1>lineWidth&&" "!==string[previousLineBreak+1],previousLineBreak=i2);else if(!isPrintable(char))return 5;plain=plain&&isPlainSafe(char,prevChar,inblock),prevChar=char}hasFoldableLine=hasFoldableLine||shouldTrackWidth&&i2-previousLineBreak-1>lineWidth&&" "!==string[previousLineBreak+1]}return hasLineBreak||hasFoldableLine?indentPerLevel>9&&needIndentIndicator(string)?5:forceQuotes?2===quotingType?5:2:hasFoldableLine?4:3:!plain||forceQuotes||testAmbiguousType(string)?2===quotingType?5:2:1}function writeScalar(state2,string,level,iskey,inblock){state2.dump=function(){if(0===string.length)return 2===state2.quotingType?'""':"''";if(!state2.noCompatMode&&(-1!==DEPRECATED_BOOLEANS_SYNTAX.indexOf(string)||DEPRECATED_BASE60_SYNTAX.test(string)))return 2===state2.quotingType?'"'+string+'"':"'"+string+"'";var indent=state2.indent*Math.max(1,level),lineWidth=-1===state2.lineWidth?-1:Math.max(Math.min(state2.lineWidth,40),state2.lineWidth-indent),singleLineOnly=iskey||state2.flowLevel>-1&&level>=state2.flowLevel;function testAmbiguity(string2){return testImplicitResolving(state2,string2)}switch(__name(testAmbiguity,"testAmbiguity"),chooseScalarStyle(string,singleLineOnly,state2.indent,lineWidth,testAmbiguity,state2.quotingType,state2.forceQuotes&&!iskey,inblock)){case 1:return string;case 2:return"'"+string.replace(/'/g,"''")+"'";case 3:return"|"+blockHeader(string,state2.indent)+dropEndingNewline(indentString(string,indent));case 4:return">"+blockHeader(string,state2.indent)+dropEndingNewline(indentString(foldString(string,lineWidth),indent));case 5:return'"'+escapeString(string)+'"';default:throw new exception("impossible error: invalid scalar style")}}()}function blockHeader(string,indentPerLevel){var indentIndicator=needIndentIndicator(string)?String(indentPerLevel):"",clip="\n"===string[string.length-1];return indentIndicator+(clip&&("\n"===string[string.length-2]||"\n"===string)?"+":clip?"":"-")+"\n"}function dropEndingNewline(string){return"\n"===string[string.length-1]?string.slice(0,-1):string}function foldString(string,width){for(var nextLF,moreIndented,match,lineRe=/(\n+)([^\n]*)/g,result=(nextLF=-1!==(nextLF=string.indexOf("\n"))?nextLF:string.length,lineRe.lastIndex=nextLF,foldLine(string.slice(0,nextLF),width)),prevMoreIndented="\n"===string[0]||" "===string[0];match=lineRe.exec(string);){var prefix=match[1],line2=match[2];moreIndented=" "===line2[0],result+=prefix+(prevMoreIndented||moreIndented||""===line2?"":"\n")+foldLine(line2,width),prevMoreIndented=moreIndented}return result}function foldLine(line2,width){if(""===line2||" "===line2[0])return line2;for(var match,end,breakRe=/ [^ ]/g,start2=0,curr=0,next=0,result="";match=breakRe.exec(line2);)(next=match.index)-start2>width&&(end=curr>start2?curr:next,result+="\n"+line2.slice(start2,end),start2=end+1),curr=next;return result+="\n",line2.length-start2>width&&curr>start2?result+=line2.slice(start2,curr)+"\n"+line2.slice(curr+1):result+=line2.slice(start2),result.slice(1)}function escapeString(string){for(var escapeSeq,result="",char=0,i2=0;i2<string.length;char>=65536?i2+=2:i2++)char=codePointAt(string,i2),!(escapeSeq=ESCAPE_SEQUENCES[char])&&isPrintable(char)?(result+=string[i2],char>=65536&&(result+=string[i2+1])):result+=escapeSeq||encodeHex(char);return result}function writeFlowSequence(state2,level,object){var index,length,value,_result="",_tag=state2.tag;for(index=0,length=object.length;index<length;index+=1)value=object[index],state2.replacer&&(value=state2.replacer.call(object,String(index),value)),(writeNode(state2,level,value,!1,!1)||void 0===value&&writeNode(state2,level,null,!1,!1))&&(""!==_result&&(_result+=","+(state2.condenseFlow?"":" ")),_result+=state2.dump);state2.tag=_tag,state2.dump="["+_result+"]"}function writeBlockSequence(state2,level,object,compact){var index,length,value,_result="",_tag=state2.tag;for(index=0,length=object.length;index<length;index+=1)value=object[index],state2.replacer&&(value=state2.replacer.call(object,String(index),value)),(writeNode(state2,level+1,value,!0,!0,!1,!0)||void 0===value&&writeNode(state2,level+1,null,!0,!0,!1,!0))&&(compact&&""===_result||(_result+=generateNextLine(state2,level)),state2.dump&&10===state2.dump.charCodeAt(0)?_result+="-":_result+="- ",_result+=state2.dump);state2.tag=_tag,state2.dump=_result||"[]"}function writeFlowMapping(state2,level,object){var index,length,objectKey,objectValue,pairBuffer,_result="",_tag=state2.tag,objectKeyList=Object.keys(object);for(index=0,length=objectKeyList.length;index<length;index+=1)pairBuffer="",""!==_result&&(pairBuffer+=", "),state2.condenseFlow&&(pairBuffer+='"'),objectValue=object[objectKey=objectKeyList[index]],state2.replacer&&(objectValue=state2.replacer.call(object,objectKey,objectValue)),writeNode(state2,level,objectKey,!1,!1)&&(state2.dump.length>1024&&(pairBuffer+="? "),pairBuffer+=state2.dump+(state2.condenseFlow?'"':"")+":"+(state2.condenseFlow?"":" "),writeNode(state2,level,objectValue,!1,!1)&&(_result+=pairBuffer+=state2.dump));state2.tag=_tag,state2.dump="{"+_result+"}"}function writeBlockMapping(state2,level,object,compact){var index,length,objectKey,objectValue,explicitPair,pairBuffer,_result="",_tag=state2.tag,objectKeyList=Object.keys(object);if(!0===state2.sortKeys)objectKeyList.sort();else if("function"==typeof state2.sortKeys)objectKeyList.sort(state2.sortKeys);else if(state2.sortKeys)throw new exception("sortKeys must be a boolean or a function");for(index=0,length=objectKeyList.length;index<length;index+=1)pairBuffer="",compact&&""===_result||(pairBuffer+=generateNextLine(state2,level)),objectValue=object[objectKey=objectKeyList[index]],state2.replacer&&(objectValue=state2.replacer.call(object,objectKey,objectValue)),writeNode(state2,level+1,objectKey,!0,!0,!0)&&((explicitPair=null!==state2.tag&&"?"!==state2.tag||state2.dump&&state2.dump.length>1024)&&(state2.dump&&10===state2.dump.charCodeAt(0)?pairBuffer+="?":pairBuffer+="? "),pairBuffer+=state2.dump,explicitPair&&(pairBuffer+=generateNextLine(state2,level)),writeNode(state2,level+1,objectValue,!0,explicitPair)&&(state2.dump&&10===state2.dump.charCodeAt(0)?pairBuffer+=":":pairBuffer+=": ",_result+=pairBuffer+=state2.dump));state2.tag=_tag,state2.dump=_result||"{}"}function detectType(state2,object,explicit){var _result,typeList,index,length,type2,style;for(index=0,length=(typeList=explicit?state2.explicitTypes:state2.implicitTypes).length;index<length;index+=1)if(((type2=typeList[index]).instanceOf||type2.predicate)&&(!type2.instanceOf||"object"==typeof object&&object instanceof type2.instanceOf)&&(!type2.predicate||type2.predicate(object))){if(explicit?type2.multi&&type2.representName?state2.tag=type2.representName(object):state2.tag=type2.tag:state2.tag="?",type2.represent){if(style=state2.styleMap[type2.tag]||type2.defaultStyle,"[object Function]"===_toString.call(type2.represent))_result=type2.represent(object,style);else{if(!_hasOwnProperty.call(type2.represent,style))throw new exception("!<"+type2.tag+'> tag resolver accepts not "'+style+'" style');_result=type2.represent[style](object,style)}state2.dump=_result}return!0}return!1}function writeNode(state2,level,object,block,compact,iskey,isblockseq){state2.tag=null,state2.dump=object,detectType(state2,object,!1)||detectType(state2,object,!0);var tagStr,type2=_toString.call(state2.dump),inblock=block;block&&(block=state2.flowLevel<0||state2.flowLevel>level);var duplicateIndex,duplicate,objectOrArray="[object Object]"===type2||"[object Array]"===type2;if(objectOrArray&&(duplicate=-1!==(duplicateIndex=state2.duplicates.indexOf(object))),(null!==state2.tag&&"?"!==state2.tag||duplicate||2!==state2.indent&&level>0)&&(compact=!1),duplicate&&state2.usedDuplicates[duplicateIndex])state2.dump="*ref_"+duplicateIndex;else{if(objectOrArray&&duplicate&&!state2.usedDuplicates[duplicateIndex]&&(state2.usedDuplicates[duplicateIndex]=!0),"[object Object]"===type2)block&&0!==Object.keys(state2.dump).length?(writeBlockMapping(state2,level,state2.dump,compact),duplicate&&(state2.dump="&ref_"+duplicateIndex+state2.dump)):(writeFlowMapping(state2,level,state2.dump),duplicate&&(state2.dump="&ref_"+duplicateIndex+" "+state2.dump));else if("[object Array]"===type2)block&&0!==state2.dump.length?(state2.noArrayIndent&&!isblockseq&&level>0?writeBlockSequence(state2,level-1,state2.dump,compact):writeBlockSequence(state2,level,state2.dump,compact),duplicate&&(state2.dump="&ref_"+duplicateIndex+state2.dump)):(writeFlowSequence(state2,level,state2.dump),duplicate&&(state2.dump="&ref_"+duplicateIndex+" "+state2.dump));else{if("[object String]"!==type2){if("[object Undefined]"===type2)return!1;if(state2.skipInvalid)return!1;throw new exception("unacceptable kind of an object to dump "+type2)}"?"!==state2.tag&&writeScalar(state2,state2.dump,level,iskey,inblock)}null!==state2.tag&&"?"!==state2.tag&&(tagStr=encodeURI("!"===state2.tag[0]?state2.tag.slice(1):state2.tag).replace(/!/g,"%21"),tagStr="!"===state2.tag[0]?"!"+tagStr:"tag:yaml.org,2002:"===tagStr.slice(0,18)?"!!"+tagStr.slice(18):"!<"+tagStr+">",state2.dump=tagStr+" "+state2.dump)}return!0}function getDuplicateReferences(object,state2){var index,length,objects=[],duplicatesIndexes=[];for(inspectNode(object,objects,duplicatesIndexes),index=0,length=duplicatesIndexes.length;index<length;index+=1)state2.duplicates.push(objects[duplicatesIndexes[index]]);state2.usedDuplicates=new Array(length)}function inspectNode(object,objects,duplicatesIndexes){var objectKeyList,index,length;if(null!==object&&"object"==typeof object)if(-1!==(index=objects.indexOf(object)))-1===duplicatesIndexes.indexOf(index)&&duplicatesIndexes.push(index);else if(objects.push(object),Array.isArray(object))for(index=0,length=object.length;index<length;index+=1)inspectNode(object[index],objects,duplicatesIndexes);else for(index=0,length=(objectKeyList=Object.keys(object)).length;index<length;index+=1)inspectNode(object[objectKeyList[index]],objects,duplicatesIndexes)}__name(chooseScalarStyle,"chooseScalarStyle"),__name(writeScalar,"writeScalar"),__name(blockHeader,"blockHeader"),__name(dropEndingNewline,"dropEndingNewline"),__name(foldString,"foldString"),__name(foldLine,"foldLine"),__name(escapeString,"escapeString"),__name(writeFlowSequence,"writeFlowSequence"),__name(writeBlockSequence,"writeBlockSequence"),__name(writeFlowMapping,"writeFlowMapping"),__name(writeBlockMapping,"writeBlockMapping"),__name(detectType,"detectType"),__name(writeNode,"writeNode"),__name(getDuplicateReferences,"getDuplicateReferences"),__name(inspectNode,"inspectNode"),__name(function(input,options){var state2=new State(options=options||{});state2.noRefs||getDuplicateReferences(input,state2);var value=input;return state2.replacer&&(value=state2.replacer.call({"":value},"",value)),writeNode(state2,0,value,!0,!0)?state2.dump+"\n":""},"dump$1"),__name(function(from,to){return function(){throw new Error("Function yaml."+from+" is removed in js-yaml 4. Use yaml."+to+" instead, which is now safe by default.")}},"renamed");var JSON_SCHEMA=json,load=loader$1.load,computeLabelTransform=__name((bbox,useHtmlLabels)=>{if(useHtmlLabels)return"translate("+-bbox.width/2+", "+-bbox.height/2+")";const x2=bbox.x??0,y3=bbox.y??0;return"translate("+-(x2+bbox.width/2)+", "+-(y3+bbox.height/2)+")"},"computeLabelTransform"),markerOffsets={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},markerOffsets2={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function calculateDeltaAndAngle$1(point1,point2){if(void 0===point1||void 0===point2)return{angle:0,deltaX:0,deltaY:0};point1=pointTransformer(point1),point2=pointTransformer(point2);const[x1,y1]=[point1.x,point1.y],[x2,y22]=[point2.x,point2.y],deltaX=x2-x1,deltaY=y22-y1;return{angle:Math.atan(deltaY/deltaX),deltaX:deltaX,deltaY:deltaY}}__name(calculateDeltaAndAngle$1,"calculateDeltaAndAngle");var hasRequiredConstants,hasRequiredDist,pointTransformer=__name(data=>Array.isArray(data)?{x:data[0],y:data[1]}:data,"pointTransformer"),getLineFunctionsWithOffset=__name(edge=>({x:__name(function(d2,i2,data){let offset=0;const DIRECTION=pointTransformer(data[0]).x<pointTransformer(data[data.length-1]).x?"left":"right";if(0===i2&&Object.hasOwn(markerOffsets,edge.arrowTypeStart)){const{angle:angle,deltaX:deltaX}=calculateDeltaAndAngle$1(data[0],data[1]);offset=markerOffsets[edge.arrowTypeStart]*Math.cos(angle)*(deltaX>=0?1:-1)}else if(i2===data.length-1&&Object.hasOwn(markerOffsets,edge.arrowTypeEnd)){const{angle:angle,deltaX:deltaX}=calculateDeltaAndAngle$1(data[data.length-1],data[data.length-2]);offset=markerOffsets[edge.arrowTypeEnd]*Math.cos(angle)*(deltaX>=0?1:-1)}const differenceToEnd=Math.abs(pointTransformer(d2).x-pointTransformer(data[data.length-1]).x),differenceInYEnd=Math.abs(pointTransformer(d2).y-pointTransformer(data[data.length-1]).y),differenceToStart=Math.abs(pointTransformer(d2).x-pointTransformer(data[0]).x),differenceInYStart=Math.abs(pointTransformer(d2).y-pointTransformer(data[0]).y),startMarkerHeight=markerOffsets[edge.arrowTypeStart],endMarkerHeight=markerOffsets[edge.arrowTypeEnd];if(differenceToEnd<endMarkerHeight&&differenceToEnd>0&&differenceInYEnd<endMarkerHeight){let adjustment=endMarkerHeight+1-differenceToEnd;adjustment*="right"===DIRECTION?-1:1,offset-=adjustment}if(differenceToStart<startMarkerHeight&&differenceToStart>0&&differenceInYStart<startMarkerHeight){let adjustment=startMarkerHeight+1-differenceToStart;adjustment*="right"===DIRECTION?-1:1,offset+=adjustment}return pointTransformer(d2).x+offset},"x"),y:__name(function(d2,i2,data){let offset=0;const DIRECTION=pointTransformer(data[0]).y<pointTransformer(data[data.length-1]).y?"down":"up";if(0===i2&&Object.hasOwn(markerOffsets,edge.arrowTypeStart)){const{angle:angle,deltaY:deltaY}=calculateDeltaAndAngle$1(data[0],data[1]);offset=markerOffsets[edge.arrowTypeStart]*Math.abs(Math.sin(angle))*(deltaY>=0?1:-1)}else if(i2===data.length-1&&Object.hasOwn(markerOffsets,edge.arrowTypeEnd)){const{angle:angle,deltaY:deltaY}=calculateDeltaAndAngle$1(data[data.length-1],data[data.length-2]);offset=markerOffsets[edge.arrowTypeEnd]*Math.abs(Math.sin(angle))*(deltaY>=0?1:-1)}const differenceToEnd=Math.abs(pointTransformer(d2).y-pointTransformer(data[data.length-1]).y),differenceInXEnd=Math.abs(pointTransformer(d2).x-pointTransformer(data[data.length-1]).x),differenceToStart=Math.abs(pointTransformer(d2).y-pointTransformer(data[0]).y),differenceInXStart=Math.abs(pointTransformer(d2).x-pointTransformer(data[0]).x),startMarkerHeight=markerOffsets[edge.arrowTypeStart],endMarkerHeight=markerOffsets[edge.arrowTypeEnd];if(differenceToEnd<endMarkerHeight&&differenceToEnd>0&&differenceInXEnd<endMarkerHeight){let adjustment=endMarkerHeight+1-differenceToEnd;adjustment*="up"===DIRECTION?-1:1,offset-=adjustment}if(differenceToStart<startMarkerHeight&&differenceToStart>0&&differenceInXStart<startMarkerHeight){let adjustment=startMarkerHeight+1-differenceToStart;adjustment*="up"===DIRECTION?-1:1,offset+=adjustment}return pointTransformer(d2).y+offset},"y")}),"getLineFunctionsWithOffset"),dist={},constants={};var distExports=function(){if(hasRequiredDist)return dist;hasRequiredDist=1,Object.defineProperty(dist,"__esModule",{value:!0}),dist.sanitizeUrl=function(url){if(!url)return constants_1.BLANK_URL;var charsToDecode,decodedUrl=decodeURI(url.trim());do{charsToDecode=(decodedUrl=decodeURI(decodedUrl=decodeHtmlCharacters(decodedUrl).replace(constants_1.htmlCtrlEntityRegex,"").replace(constants_1.ctrlCharactersRegex,"").replace(constants_1.whitespaceEscapeCharsRegex,"").trim())).match(constants_1.ctrlCharactersRegex)||decodedUrl.match(constants_1.htmlEntitiesRegex)||decodedUrl.match(constants_1.htmlCtrlEntityRegex)||decodedUrl.match(constants_1.whitespaceEscapeCharsRegex)}while(charsToDecode&&charsToDecode.length>0);var sanitizedUrl=decodedUrl;if(!sanitizedUrl)return constants_1.BLANK_URL;if(function(url){return constants_1.relativeFirstCharacters.indexOf(url[0])>-1}(sanitizedUrl))return sanitizedUrl;var trimmedUrl=sanitizedUrl.trimStart(),urlSchemeParseResults=trimmedUrl.match(constants_1.urlSchemeRegex);if(!urlSchemeParseResults)return sanitizedUrl;var urlScheme=urlSchemeParseResults[0].toLowerCase().trim();if(constants_1.invalidProtocolRegex.test(urlScheme))return constants_1.BLANK_URL;var backSanitized=trimmedUrl.replace(/\\/g,"/");if("mailto:"===urlScheme||urlScheme.includes("://"))return backSanitized;if("http:"===urlScheme||"https:"===urlScheme){if(!function(url){return URL.canParse(url)}(backSanitized))return constants_1.BLANK_URL;var url_1=new URL(backSanitized);return url_1.protocol=url_1.protocol.toLowerCase(),url_1.hostname=url_1.hostname.toLowerCase(),url_1.toString()}return backSanitized};var constants_1=(hasRequiredConstants||(hasRequiredConstants=1,Object.defineProperty(constants,"__esModule",{value:!0}),constants.BLANK_URL=constants.relativeFirstCharacters=constants.whitespaceEscapeCharsRegex=constants.urlSchemeRegex=constants.ctrlCharactersRegex=constants.htmlCtrlEntityRegex=constants.htmlEntitiesRegex=constants.invalidProtocolRegex=void 0,constants.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,constants.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,constants.htmlCtrlEntityRegex=/&(newline|tab);/gi,constants.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,constants.urlSchemeRegex=/^.+(:|&colon;)/gim,constants.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,constants.relativeFirstCharacters=[".","/"],constants.BLANK_URL="about:blank"),constants);function decodeHtmlCharacters(str2){return str2.replace(constants_1.ctrlCharactersRegex,"").replace(constants_1.htmlEntitiesRegex,function(match,dec){return String.fromCharCode(dec)})}function decodeURI(uri){try{return decodeURIComponent(uri)}catch(e2){return uri}}return dist}(),freeGlobal="object"==typeof global&&global&&global.Object===Object&&global,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root.Symbol,objectProto$c=Object.prototype,hasOwnProperty$a=objectProto$c.hasOwnProperty,nativeObjectToString$1=objectProto$c.toString,symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;var nativeObjectToString=Object.prototype.toString;var symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(value){return null==value?void 0===value?"[object Undefined]":"[object Null]":symToStringTag&&symToStringTag in Object(value)?function(value){var isOwn=hasOwnProperty$a.call(value,symToStringTag$1),tag=value[symToStringTag$1];try{value[symToStringTag$1]=void 0;var unmasked=!0}catch(e2){}var result=nativeObjectToString$1.call(value);return unmasked&&(isOwn?value[symToStringTag$1]=tag:delete value[symToStringTag$1]),result}(value):function(value){return nativeObjectToString.call(value)}(value)}function isObject(value){var type2=typeof value;return null!=value&&("object"==type2||"function"==type2)}function isFunction(value){if(!isObject(value))return!1;var tag=baseGetTag(value);return"[object Function]"==tag||"[object GeneratorFunction]"==tag||"[object AsyncFunction]"==tag||"[object Proxy]"==tag}var uid,coreJsData=root["__core-js_shared__"],maskSrcKey=(uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||""))?"Symbol(src)_1."+uid:"";var funcToString$2=Function.prototype.toString;function toSource(func){if(null!=func){try{return funcToString$2.call(func)}catch(e2){}try{return func+""}catch(e2){}}return""}var reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto$1=Function.prototype,objectProto$a=Object.prototype,funcToString$1=funcProto$1.toString,hasOwnProperty$9=objectProto$a.hasOwnProperty,reIsNative=RegExp("^"+funcToString$1.call(hasOwnProperty$9).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(value){return!(!isObject(value)||(func=value,maskSrcKey&&maskSrcKey in func))&&(isFunction(value)?reIsNative:reIsHostCtor).test(toSource(value));var func}function getNative(object,key){var value=function(object,key){return null==object?void 0:object[key]}(object,key);return baseIsNative(value)?value:void 0}var nativeCreate=getNative(Object,"create");var hasOwnProperty$8=Object.prototype.hasOwnProperty;var hasOwnProperty$7=Object.prototype.hasOwnProperty;function Hash(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function eq(value,other){return value===other||value!=value&&other!=other}function assocIndexOf(array2,key){for(var length=array2.length;length--;)if(eq(array2[length][0],key))return length;return-1}Hash.prototype.clear=function(){this.__data__=nativeCreate?nativeCreate(null):{},this.size=0},Hash.prototype.delete=function(key){var result=this.has(key)&&delete this.__data__[key];return this.size-=result?1:0,result},Hash.prototype.get=function(key){var data=this.__data__;if(nativeCreate){var result=data[key];return"__lodash_hash_undefined__"===result?void 0:result}return hasOwnProperty$8.call(data,key)?data[key]:void 0},Hash.prototype.has=function(key){var data=this.__data__;return nativeCreate?void 0!==data[key]:hasOwnProperty$7.call(data,key)},Hash.prototype.set=function(key,value){var data=this.__data__;return this.size+=this.has(key)?0:1,data[key]=nativeCreate&&void 0===value?"__lodash_hash_undefined__":value,this};var splice=Array.prototype.splice;function ListCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}ListCache.prototype.clear=function(){this.__data__=[],this.size=0},ListCache.prototype.delete=function(key){var data=this.__data__,index=assocIndexOf(data,key);return!(index<0)&&(index==data.length-1?data.pop():splice.call(data,index,1),--this.size,!0)},ListCache.prototype.get=function(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?void 0:data[index][1]},ListCache.prototype.has=function(key){return assocIndexOf(this.__data__,key)>-1},ListCache.prototype.set=function(key,value){var data=this.__data__,index=assocIndexOf(data,key);return index<0?(++this.size,data.push([key,value])):data[index][1]=value,this};var Map$1=getNative(root,"Map");function getMapData(map2,key){var value,type2,data=map2.__data__;return("string"==(type2=typeof(value=key))||"number"==type2||"symbol"==type2||"boolean"==type2?"__proto__"!==value:null===value)?data["string"==typeof key?"string":"hash"]:data.map}function MapCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}MapCache.prototype.clear=function(){this.size=0,this.__data__={hash:new Hash,map:new(Map$1||ListCache),string:new Hash}},MapCache.prototype.delete=function(key){var result=getMapData(this,key).delete(key);return this.size-=result?1:0,result},MapCache.prototype.get=function(key){return getMapData(this,key).get(key)},MapCache.prototype.has=function(key){return getMapData(this,key).has(key)},MapCache.prototype.set=function(key,value){var data=getMapData(this,key),size=data.size;return data.set(key,value),this.size+=data.size==size?0:1,this};function memoize(func,resolver){if("function"!=typeof func||null!=resolver&&"function"!=typeof resolver)throw new TypeError("Expected a function");var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key))return cache.get(key);var result=func.apply(this,args);return memoized.cache=cache.set(key,result)||cache,result};return memoized.cache=new(memoize.Cache||MapCache),memoized}memoize.Cache=MapCache;function Stack(entries){var data=this.__data__=new ListCache(entries);this.size=data.size}Stack.prototype.clear=function(){this.__data__=new ListCache,this.size=0},Stack.prototype.delete=function(key){var data=this.__data__,result=data.delete(key);return this.size=data.size,result},Stack.prototype.get=function(key){return this.__data__.get(key)},Stack.prototype.has=function(key){return this.__data__.has(key)},Stack.prototype.set=function(key,value){var data=this.__data__;if(data instanceof ListCache){var pairs2=data.__data__;if(!Map$1||pairs2.length<199)return pairs2.push([key,value]),this.size=++data.size,this;data=this.__data__=new MapCache(pairs2)}return data.set(key,value),this.size=data.size,this};var defineProperty=function(){try{var func=getNative(Object,"defineProperty");return func({},"",{}),func}catch(e2){}}();function baseAssignValue(object,key,value){"__proto__"==key&&defineProperty?defineProperty(object,key,{configurable:!0,enumerable:!0,value:value,writable:!0}):object[key]=value}function assignMergeValue(object,key,value){(void 0!==value&&!eq(object[key],value)||void 0===value&&!(key in object))&&baseAssignValue(object,key,value)}var baseFor=function(object,iteratee,keysFunc){for(var index=-1,iterable=Object(object),props=keysFunc(object),length=props.length;length--;){var key=props[++index];if(!1===iteratee(iterable[key],key,iterable))break}return object},freeExports$2="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule$2=freeExports$2&&"object"==typeof module&&module&&!module.nodeType&&module,Buffer$1=freeModule$2&&freeModule$2.exports===freeExports$2?root.Buffer:void 0,allocUnsafe=Buffer$1?Buffer$1.allocUnsafe:void 0;function cloneBuffer(buffer,isDeep){if(isDeep)return buffer.slice();var length=buffer.length,result=allocUnsafe?allocUnsafe(length):new buffer.constructor(length);return buffer.copy(result),result}var Uint8Array$1=root.Uint8Array;function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constructor(arrayBuffer.byteLength);return new Uint8Array$1(result).set(new Uint8Array$1(arrayBuffer)),result}function cloneTypedArray(typedArray,isDeep){var buffer=isDeep?cloneArrayBuffer(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer,typedArray.byteOffset,typedArray.length)}function copyArray(source,array2){var index=-1,length=source.length;for(array2||(array2=Array(length));++index<length;)array2[index]=source[index];return array2}var objectCreate=Object.create,baseCreate=function(){function object(){}return function(proto){if(!isObject(proto))return{};if(objectCreate)return objectCreate(proto);object.prototype=proto;var result=new object;return object.prototype=void 0,result}}();function overArg(func,transform){return function(arg){return func(transform(arg))}}var getPrototype=overArg(Object.getPrototypeOf,Object),objectProto$7=Object.prototype;function isPrototype(value){var Ctor=value&&value.constructor;return value===("function"==typeof Ctor&&Ctor.prototype||objectProto$7)}function initCloneObject(object){return"function"!=typeof object.constructor||isPrototype(object)?{}:baseCreate(getPrototype(object))}function isObjectLike(value){return null!=value&&"object"==typeof value}function baseIsArguments(value){return isObjectLike(value)&&"[object Arguments]"==baseGetTag(value)}var objectProto$6=Object.prototype,hasOwnProperty$6=objectProto$6.hasOwnProperty,propertyIsEnumerable=objectProto$6.propertyIsEnumerable,isArguments=baseIsArguments(function(){return arguments}())?baseIsArguments:function(value){return isObjectLike(value)&&hasOwnProperty$6.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")},isArray=Array.isArray;function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=9007199254740991}function isArrayLike(value){return null!=value&&isLength(value.length)&&!isFunction(value)}function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value)}var freeExports$1="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule$1=freeExports$1&&"object"==typeof module&&module&&!module.nodeType&&module,Buffer2=freeModule$1&&freeModule$1.exports===freeExports$1?root.Buffer:void 0,isBuffer=(Buffer2?Buffer2.isBuffer:void 0)||function(){return!1},funcProto=Function.prototype,objectProto$5=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$5=objectProto$5.hasOwnProperty,objectCtorString=funcToString.call(Object);var typedArrayTags={};function baseUnary(func){return function(value){return func(value)}}typedArrayTags["[object Float32Array]"]=typedArrayTags["[object Float64Array]"]=typedArrayTags["[object Int8Array]"]=typedArrayTags["[object Int16Array]"]=typedArrayTags["[object Int32Array]"]=typedArrayTags["[object Uint8Array]"]=typedArrayTags["[object Uint8ClampedArray]"]=typedArrayTags["[object Uint16Array]"]=typedArrayTags["[object Uint32Array]"]=!0,typedArrayTags["[object Arguments]"]=typedArrayTags["[object Array]"]=typedArrayTags["[object ArrayBuffer]"]=typedArrayTags["[object Boolean]"]=typedArrayTags["[object DataView]"]=typedArrayTags["[object Date]"]=typedArrayTags["[object Error]"]=typedArrayTags["[object Function]"]=typedArrayTags["[object Map]"]=typedArrayTags["[object Number]"]=typedArrayTags["[object Object]"]=typedArrayTags["[object RegExp]"]=typedArrayTags["[object Set]"]=typedArrayTags["[object String]"]=typedArrayTags["[object WeakMap]"]=!1;var freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&"object"==typeof module&&module&&!module.nodeType&&module,freeProcess=freeModule&&freeModule.exports===freeExports&&freeGlobal.process,nodeUtil=function(){try{var types=freeModule&&freeModule.require&&freeModule.require("util").types;return types||freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e2){}}(),nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):function(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[baseGetTag(value)]};function safeGet(object,key){if(("constructor"!==key||"function"!=typeof object[key])&&"__proto__"!=key)return object[key]}var hasOwnProperty$4=Object.prototype.hasOwnProperty;function assignValue(object,key,value){var objValue=object[key];hasOwnProperty$4.call(object,key)&&eq(objValue,value)&&(void 0!==value||key in object)||baseAssignValue(object,key,value)}function copyObject(source,props,object,customizer){var isNew=!object;object||(object={});for(var index=-1,length=props.length;++index<length;){var key=props[index],newValue=void 0;void 0===newValue&&(newValue=source[key]),isNew?baseAssignValue(object,key,newValue):assignValue(object,key,newValue)}return object}var reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(value,length){var type2=typeof value;return!!(length=null==length?9007199254740991:length)&&("number"==type2||"symbol"!=type2&&reIsUint.test(value))&&value>-1&&value%1==0&&value<length}var hasOwnProperty$3=Object.prototype.hasOwnProperty;function arrayLikeKeys(value,inherited){var isArr=isArray(value),isArg=!isArr&&isArguments(value),isBuff=!isArr&&!isArg&&isBuffer(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray(value),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?function(n2,iteratee){for(var index=-1,result=Array(n2);++index<n2;)result[index]=iteratee(index);return result}(value.length,String):[],length=result.length;for(var key in value)!inherited&&!hasOwnProperty$3.call(value,key)||skipIndexes&&("length"==key||isBuff&&("offset"==key||"parent"==key)||isType&&("buffer"==key||"byteLength"==key||"byteOffset"==key)||isIndex(key,length))||result.push(key);return result}var hasOwnProperty$2=Object.prototype.hasOwnProperty;function baseKeysIn(object){if(!isObject(object))return function(object){var result=[];if(null!=object)for(var key in Object(object))result.push(key);return result}(object);var isProto=isPrototype(object),result=[];for(var key in object)("constructor"!=key||!isProto&&hasOwnProperty$2.call(object,key))&&result.push(key);return result}function keysIn(object){return isArrayLike(object)?arrayLikeKeys(object,!0):baseKeysIn(object)}function baseMergeDeep(object,source,key,srcIndex,mergeFunc,customizer,stack){var objValue=safeGet(object,key),srcValue=safeGet(source,key),stacked=stack.get(srcValue);if(stacked)assignMergeValue(object,key,stacked);else{var value,newValue=customizer?customizer(objValue,srcValue,key+"",object,source,stack):void 0,isCommon=void 0===newValue;if(isCommon){var isArr=isArray(srcValue),isBuff=!isArr&&isBuffer(srcValue),isTyped=!isArr&&!isBuff&&isTypedArray(srcValue);newValue=srcValue,isArr||isBuff||isTyped?isArray(objValue)?newValue=objValue:isArrayLikeObject(objValue)?newValue=copyArray(objValue):isBuff?(isCommon=!1,newValue=cloneBuffer(srcValue,!0)):isTyped?(isCommon=!1,newValue=cloneTypedArray(srcValue,!0)):newValue=[]:function(value){if(!isObjectLike(value)||"[object Object]"!=baseGetTag(value))return!1;var proto=getPrototype(value);if(null===proto)return!0;var Ctor=hasOwnProperty$5.call(proto,"constructor")&&proto.constructor;return"function"==typeof Ctor&&Ctor instanceof Ctor&&funcToString.call(Ctor)==objectCtorString}(srcValue)||isArguments(srcValue)?(newValue=objValue,isArguments(objValue)?newValue=copyObject(value=objValue,keysIn(value)):isObject(objValue)&&!isFunction(objValue)||(newValue=initCloneObject(srcValue))):isCommon=!1}isCommon&&(stack.set(srcValue,newValue),mergeFunc(newValue,srcValue,srcIndex,customizer,stack),stack.delete(srcValue)),assignMergeValue(object,key,newValue)}}function baseMerge(object,source,srcIndex,customizer,stack){object!==source&&baseFor(source,function(srcValue,key){if(stack||(stack=new Stack),isObject(srcValue))baseMergeDeep(object,source,key,srcIndex,baseMerge,customizer,stack);else{var newValue=customizer?customizer(safeGet(object,key),srcValue,key+"",object,source,stack):void 0;void 0===newValue&&(newValue=srcValue),assignMergeValue(object,key,newValue)}},keysIn)}function identity(value){return value}var nativeMax=Math.max;function overRest(func,start2,transform){return start2=nativeMax(void 0===start2?func.length-1:start2,0),function(){for(var args=arguments,index=-1,length=nativeMax(args.length-start2,0),array2=Array(length);++index<length;)array2[index]=args[start2+index];index=-1;for(var otherArgs=Array(start2+1);++index<start2;)otherArgs[index]=args[index];return otherArgs[start2]=transform(array2),function(func,thisArg,args){switch(args.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2])}return func.apply(thisArg,args)}(func,this,otherArgs)}}function constant(value){return function(){return value}}var baseSetToString=defineProperty?function(func,string){return defineProperty(func,"toString",{configurable:!0,enumerable:!1,value:constant(string),writable:!0})}:identity,nativeNow=Date.now;var func,count,lastCalled,setToString=(func=baseSetToString,count=0,lastCalled=0,function(){var stamp=nativeNow(),remaining=16-(stamp-lastCalled);if(lastCalled=stamp,remaining>0){if(++count>=800)return arguments[0]}else count=0;return func.apply(void 0,arguments)});function baseRest(func,start2){return setToString(overRest(func,start2,identity),func+"")}function isIterateeCall(value,index,object){if(!isObject(object))return!1;var type2=typeof index;return!!("number"==type2?isArrayLike(object)&&isIndex(index,object.length):"string"==type2&&index in object)&&eq(object[index],value)}var assigner,merge=(assigner=function(object,source,srcIndex){baseMerge(object,source,srcIndex)},baseRest(function(object,sources){var index=-1,length=sources.length,customizer=length>1?sources[length-1]:void 0,guard=length>2?sources[2]:void 0;for(customizer=assigner.length>3&&"function"==typeof customizer?(length--,customizer):void 0,guard&&isIterateeCall(sources[0],sources[1],guard)&&(customizer=length<3?void 0:customizer,length=1),object=Object(object);++index<length;){var source=sources[index];source&&assigner(object,source,index,customizer)}return object})),ZERO_WIDTH_SPACE="​",d3CurveTypes={curveBasis:curveBasis,curveBasisClosed:function(context){return new BasisClosed(context)},curveBasisOpen:function(context){return new BasisOpen(context)},curveBumpX:bumpX,curveBumpY:bumpY,curveBundle:curveBundle,curveCardinalClosed:curveCardinalClosed,curveCardinalOpen:curveCardinalOpen,curveCardinal:curveCardinal,curveCatmullRomClosed:curveCatmullRomClosed,curveCatmullRomOpen:curveCatmullRomOpen,curveCatmullRom:curveCatmullRom,curveLinear:curveLinear,curveLinearClosed:function(context){return new LinearClosed(context)},curveMonotoneX:monotoneX,curveMonotoneY:monotoneY,curveNatural:curveNatural,curveStep:curveStep,curveStepAfter:stepAfter,curveStepBefore:stepBefore},directiveWithoutOpen=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,detectInit=__name(function(text2,config2){const inits=detectDirective(text2,/(?:init\b)|(?:initialize\b)/);let results={};if(Array.isArray(inits)){const args=inits.map(init2=>init2.args);sanitizeDirective(args),results=assignWithDepth_default(results,[...args])}else results=inits.args;if(!results)return;let type2=detectType$1(text2,config2);return void 0!==results.config&&("flowchart-v2"===type2&&(type2="flowchart"),results[type2]=results.config,delete results.config),results},"detectInit"),detectDirective=__name(function(text2,type2=null){var _a2,_b2;try{const commentWithoutDirectives=new RegExp(`[%]{2}(?![{]${directiveWithoutOpen.source})(?=[}][%]{2}).*\n`,"ig");let match;text2=text2.trim().replace(commentWithoutDirectives,"").replace(/'/gm,'"'),log.debug(`Detecting diagram directive${null!==type2?" type:"+type2:""} based on the text:${text2}`);const result=[];for(;null!==(match=directiveRegex.exec(text2));)if(match.index===directiveRegex.lastIndex&&directiveRegex.lastIndex++,match&&!type2||type2&&(null==(_a2=match[1])?void 0:_a2.match(type2))||type2&&(null==(_b2=match[2])?void 0:_b2.match(type2))){const type22=match[1]?match[1]:match[2],args=match[3]?match[3].trim():match[4]?JSON.parse(match[4].trim()):null;result.push({type:type22,args:args})}return 0===result.length?{type:text2,args:null}:1===result.length?result[0]:result}catch(error){return log.error(`ERROR: ${error.message} - Unable to parse directive type: '${type2}' based on the text: '${text2}'`),{type:void 0,args:null}}},"detectDirective"),removeDirectives=__name(function(text2){return text2.replace(directiveRegex,"")},"removeDirectives"),isSubstringInArray=__name(function(str2,arr){for(const[i2,element]of arr.entries())if(element.match(str2))return i2;return-1},"isSubstringInArray");function interpolateToCurve(interpolate2,defaultCurve){if(!interpolate2)return defaultCurve;const curveName=`curve${interpolate2.charAt(0).toUpperCase()+interpolate2.slice(1)}`;return d3CurveTypes[curveName]??defaultCurve}function formatUrl(linkStr,config2){const url=linkStr.trim();if(url)return"loose"!==config2.securityLevel?distExports.sanitizeUrl(url):url}__name(interpolateToCurve,"interpolateToCurve"),__name(formatUrl,"formatUrl");var runFunc=__name((functionName,...params)=>{const arrPaths=functionName.split("."),len=arrPaths.length-1,fnName=arrPaths[len];let obj=window;for(let i2=0;i2<len;i2++)if(obj=obj[arrPaths[i2]],!obj)return void log.error(`Function name: ${functionName} not found in window`);obj[fnName](...params)},"runFunc");function distance(p1,p2){return p1&&p2?Math.sqrt(Math.pow(p2.x-p1.x,2)+Math.pow(p2.y-p1.y,2)):0}function traverseEdge(points){let prevPoint,totalDistance=0;points.forEach(point2=>{totalDistance+=distance(point2,prevPoint),prevPoint=point2});return calculatePoint(points,totalDistance/2)}function calcLabelPosition(points){return 1===points.length?points[0]:traverseEdge(points)}__name(distance,"distance"),__name(traverseEdge,"traverseEdge"),__name(calcLabelPosition,"calcLabelPosition");var roundNumber=__name((num,precision=2)=>{const factor=Math.pow(10,precision);return Math.round(num*factor)/factor},"roundNumber"),calculatePoint=__name((points,distanceToTraverse)=>{let prevPoint,remainingDistance=distanceToTraverse;for(const point2 of points){if(prevPoint){const vectorDistance=distance(point2,prevPoint);if(0===vectorDistance)return prevPoint;if(vectorDistance<remainingDistance)remainingDistance-=vectorDistance;else{const distanceRatio=remainingDistance/vectorDistance;if(distanceRatio<=0)return prevPoint;if(distanceRatio>=1)return{x:point2.x,y:point2.y};if(distanceRatio>0&&distanceRatio<1)return{x:roundNumber((1-distanceRatio)*prevPoint.x+distanceRatio*point2.x,5),y:roundNumber((1-distanceRatio)*prevPoint.y+distanceRatio*point2.y,5)}}}prevPoint=point2}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),calcCardinalityPosition=__name((isRelationTypePresent,points,initialPosition)=>{log.info(`our points ${JSON.stringify(points)}`),points[0]!==initialPosition&&(points=points.reverse());const center=calculatePoint(points,25),d2=isRelationTypePresent?10:5,angle=Math.atan2(points[0].y-center.y,points[0].x-center.x),cardinalityPosition={x:0,y:0};return cardinalityPosition.x=Math.sin(angle)*d2+(points[0].x+center.x)/2,cardinalityPosition.y=-Math.cos(angle)*d2+(points[0].y+center.y)/2,cardinalityPosition},"calcCardinalityPosition");function calcTerminalLabelPosition(terminalMarkerSize,position,_points){const points=structuredClone(_points);log.info("our points",points),"start_left"!==position&&"start_right"!==position&&points.reverse();const center=calculatePoint(points,25+terminalMarkerSize),d2=10+.5*terminalMarkerSize,angle=Math.atan2(points[0].y-center.y,points[0].x-center.x),cardinalityPosition={x:0,y:0};return"start_left"===position?(cardinalityPosition.x=Math.sin(angle+Math.PI)*d2+(points[0].x+center.x)/2,cardinalityPosition.y=-Math.cos(angle+Math.PI)*d2+(points[0].y+center.y)/2):"end_right"===position?(cardinalityPosition.x=Math.sin(angle-Math.PI)*d2+(points[0].x+center.x)/2-5,cardinalityPosition.y=-Math.cos(angle-Math.PI)*d2+(points[0].y+center.y)/2-5):"end_left"===position?(cardinalityPosition.x=Math.sin(angle)*d2+(points[0].x+center.x)/2-5,cardinalityPosition.y=-Math.cos(angle)*d2+(points[0].y+center.y)/2-5):(cardinalityPosition.x=Math.sin(angle)*d2+(points[0].x+center.x)/2,cardinalityPosition.y=-Math.cos(angle)*d2+(points[0].y+center.y)/2),cardinalityPosition}function getStylesFromArray(arr){let style="",labelStyle="";for(const element of arr)void 0!==element&&(element.startsWith("color:")||element.startsWith("text-align:")?labelStyle=labelStyle+element+";":style=style+element+";");return{style:style,labelStyle:labelStyle}}__name(calcTerminalLabelPosition,"calcTerminalLabelPosition"),__name(getStylesFromArray,"getStylesFromArray");var cnt=0,generateId=__name(()=>(cnt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+cnt),"generateId");function makeRandomHex(length){let result="";for(let i2=0;i2<length;i2++)result+="0123456789abcdef".charAt(Math.floor(16*Math.random()));return result}__name(makeRandomHex,"makeRandomHex");var random=__name(options=>makeRandomHex(options.length),"random"),getTextObj=__name(function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},"getTextObj"),drawSimpleText=__name(function(elem,textData){const nText=textData.text.replace(common_default.lineBreakRegex," "),[,_fontSizePx]=parseFontSize(textData.fontSize),textElem=elem.append("text");textElem.attr("x",textData.x),textElem.attr("y",textData.y),textElem.style("text-anchor",textData.anchor),textElem.style("font-family",textData.fontFamily),textElem.style("font-size",_fontSizePx),textElem.style("font-weight",textData.fontWeight),textElem.attr("fill",textData.fill),void 0!==textData.class&&textElem.attr("class",textData.class);const span=textElem.append("tspan");return span.attr("x",textData.x+2*textData.textMargin),span.attr("fill",textData.fill),span.text(nText),textElem},"drawSimpleText"),wrapLabel=memoize((label,maxWidth,config2)=>{if(!label)return label;if(config2=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},config2),common_default.lineBreakRegex.test(label))return label;const words=label.split(" ").filter(Boolean),completedLines=[];let nextLine="";return words.forEach((word,index)=>{const wordLength=calculateTextWidth(`${word} `,config2),nextLineLength=calculateTextWidth(nextLine,config2);if(wordLength>maxWidth){const{hyphenatedStrings:hyphenatedStrings,remainingWord:remainingWord}=breakString(word,maxWidth,"-",config2);completedLines.push(nextLine,...hyphenatedStrings),nextLine=remainingWord}else nextLineLength+wordLength>=maxWidth?(completedLines.push(nextLine),nextLine=word):nextLine=[nextLine,word].filter(Boolean).join(" ");index+1===words.length&&completedLines.push(nextLine)}),completedLines.filter(line2=>""!==line2).join(config2.joinWith)},(label,maxWidth,config2)=>`${label}${maxWidth}${config2.fontSize}${config2.fontWeight}${config2.fontFamily}${config2.joinWith}`),breakString=memoize((word,maxWidth,hyphenCharacter="-",config2)=>{config2=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},config2);const characters=[...word],lines=[];let currentLine="";return characters.forEach((character,index)=>{const nextLine=`${currentLine}${character}`;if(calculateTextWidth(nextLine,config2)>=maxWidth){const currentCharacter=index+1,isLastLine=characters.length===currentCharacter,hyphenatedNextLine=`${nextLine}${hyphenCharacter}`;lines.push(isLastLine?nextLine:hyphenatedNextLine),currentLine=""}else currentLine=nextLine}),{hyphenatedStrings:lines,remainingWord:currentLine}},(word,maxWidth,hyphenCharacter="-",config2)=>`${word}${maxWidth}${hyphenCharacter}${config2.fontSize}${config2.fontWeight}${config2.fontFamily}`);function calculateTextHeight(text2,config2){return calculateTextDimensions(text2,config2).height}function calculateTextWidth(text2,config2){return calculateTextDimensions(text2,config2).width}__name(calculateTextHeight,"calculateTextHeight"),__name(calculateTextWidth,"calculateTextWidth");var decoder,calculateTextDimensions=memoize((text2,config2)=>{const{fontSize:fontSize=12,fontFamily:fontFamily="Arial",fontWeight:fontWeight=400}=config2;if(!text2)return{width:0,height:0};const[,_fontSizePx]=parseFontSize(fontSize),fontFamilies=["sans-serif",fontFamily],lines=text2.split(common_default.lineBreakRegex),dims=[],body=select("body");if(!body.remove)return{width:0,height:0,lineHeight:0};const g2=body.append("svg");for(const fontFamily2 of fontFamilies){let cHeight=0;const dim={width:0,height:0,lineHeight:0};for(const line2 of lines){const textObj=getTextObj();textObj.text=line2||"​";const textElem=drawSimpleText(g2,textObj).style("font-size",_fontSizePx).style("font-weight",fontWeight).style("font-family",fontFamily2),bBox=(textElem._groups||textElem)[0][0].getBBox();if(0===bBox.width&&0===bBox.height)throw new Error("svg element not in render tree");dim.width=Math.round(Math.max(dim.width,bBox.width)),cHeight=Math.round(bBox.height),dim.height+=cHeight,dim.lineHeight=Math.round(Math.max(dim.lineHeight,cHeight))}dims.push(dim)}g2.remove();return dims[isNaN(dims[1].height)||isNaN(dims[1].width)||isNaN(dims[1].lineHeight)||dims[0].height>dims[1].height&&dims[0].width>dims[1].width&&dims[0].lineHeight>dims[1].lineHeight?0:1]},(text2,config2)=>`${text2}${config2.fontSize}${config2.fontWeight}${config2.fontFamily}`),InitIDGenerator=(__name(_n=class{constructor(deterministic=!1,seed){this.count=0,this.count=seed?seed.length:0,this.next=deterministic?()=>this.count++:()=>Date.now()}},"InitIDGenerator"),_n),entityDecode=__name(function(html){return decoder=decoder||document.createElement("div"),html=escape(html).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),decoder.innerHTML=html,unescape(decoder.textContent)},"entityDecode");function isDetailedError(error){return"str"in error}__name(isDetailedError,"isDetailedError");var insertTitle=__name((parent,cssClass,titleTopMargin,title)=>{var _a2;if(!title)return;const bounds=null==(_a2=parent.node())?void 0:_a2.getBBox();bounds&&parent.append("text").text(title).attr("text-anchor","middle").attr("x",bounds.x+bounds.width/2).attr("y",-titleTopMargin).attr("class",cssClass)},"insertTitle"),parseFontSize=__name(fontSize=>{if("number"==typeof fontSize)return[fontSize,fontSize+"px"];const fontSizeNumber=parseInt(fontSize??"",10);return Number.isNaN(fontSizeNumber)?[void 0,void 0]:fontSize===String(fontSizeNumber)?[fontSizeNumber,fontSize+"px"]:[fontSizeNumber,fontSize]},"parseFontSize");function cleanAndMerge(defaultData,data){return merge({},defaultData,data)}__name(cleanAndMerge,"cleanAndMerge");var utils_default={assignWithDepth:assignWithDepth_default,wrapLabel:wrapLabel,calculateTextHeight:calculateTextHeight,calculateTextWidth:calculateTextWidth,calculateTextDimensions:calculateTextDimensions,cleanAndMerge:cleanAndMerge,detectInit:detectInit,detectDirective:detectDirective,isSubstringInArray:isSubstringInArray,interpolateToCurve:interpolateToCurve,calcLabelPosition:calcLabelPosition,calcCardinalityPosition:calcCardinalityPosition,calcTerminalLabelPosition:calcTerminalLabelPosition,formatUrl:formatUrl,getStylesFromArray:getStylesFromArray,generateId:generateId,random:random,runFunc:runFunc,entityDecode:entityDecode,insertTitle:insertTitle,isLabelCoordinateInPath:isLabelCoordinateInPath,parseFontSize:parseFontSize,InitIDGenerator:InitIDGenerator},encodeEntities=__name(function(text2){let txt=text2;return txt=txt.replace(/style.*:\S*#.*;/g,function(s2){return s2.substring(0,s2.length-1)}),txt=txt.replace(/classDef.*:\S*#.*;/g,function(s2){return s2.substring(0,s2.length-1)}),txt=txt.replace(/#\w+;/g,function(s2){const innerTxt=s2.substring(1,s2.length-1);return/^\+?\d+$/.test(innerTxt)?"fl°°"+innerTxt+"¶ß":"fl°"+innerTxt+"¶ß"}),txt},"encodeEntities"),decodeEntities=__name(function(text2){return text2.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),getEdgeId=__name((from,to,{counter:counter=0,prefix:prefix,suffix:suffix},id32)=>id32||`${prefix?`${prefix}_`:""}${from}_${to}_${counter}${suffix?`_${suffix}`:""}`,"getEdgeId");function handleUndefinedAttr(attrValue){return attrValue??null}function isLabelCoordinateInPath(point2,dAttr){const roundedX=Math.round(point2.x),roundedY=Math.round(point2.y),sanitizedD=dAttr.replace(/(\d+\.\d+)/g,match=>Math.round(parseFloat(match)).toString());return sanitizedD.includes(roundedX.toString())||sanitizedD.includes(roundedY.toString())}__name(handleUndefinedAttr,"handleUndefinedAttr"),__name(isLabelCoordinateInPath,"isLabelCoordinateInPath");var getSubGraphTitleMargins=__name(({flowchart:flowchart})=>{var _a2,_b2;const subGraphTitleTopMargin=(null==(_a2=null==flowchart?void 0:flowchart.subGraphTitleMargin)?void 0:_a2.top)??0,subGraphTitleBottomMargin=(null==(_b2=null==flowchart?void 0:flowchart.subGraphTitleMargin)?void 0:_b2.bottom)??0;return{subGraphTitleTopMargin:subGraphTitleTopMargin,subGraphTitleBottomMargin:subGraphTitleBottomMargin,subGraphTitleTotalMargin:subGraphTitleTopMargin+subGraphTitleBottomMargin}},"getSubGraphTitleMargins");async function configureLabelImages(container,labelText){const images=container.getElementsByTagName("img");if(!images||0===images.length)return;const noImgText=""===labelText.replace(/<img[^>]*>/g,"").trim();await Promise.all([...images].map(img=>new Promise(res=>{function setupImage(){if(img.style.display="flex",img.style.flexDirection="column",noImgText){const bodyFontSize=getConfig2().fontSize?getConfig2().fontSize:window.getComputedStyle(document.body).fontSize,enlargingFactor=5,[parsedBodyFontSize=defaultConfig_default.fontSize]=parseFontSize(bodyFontSize),width=parsedBodyFontSize*enlargingFactor+"px";img.style.minWidth=width,img.style.maxWidth=width}else img.style.width="100%";res(img)}__name(setupImage,"setupImage"),setTimeout(()=>{img.complete&&setupImage()}),img.addEventListener("error",setupImage),img.addEventListener("load",setupImage)})))}__name(configureLabelImages,"configureLabelImages");var solidStateFill=__name(color2=>{const{handDrawnSeed:handDrawnSeed}=getConfig2();return{fill:color2,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:color2,seed:handDrawnSeed}},"solidStateFill"),compileStyles=__name(node=>{const stylesMap=styles2Map([...node.cssCompiledStyles||[],...node.cssStyles||[],...node.labelStyle||[]]);return{stylesMap:stylesMap,stylesArray:[...stylesMap]}},"compileStyles"),styles2Map=__name(styles=>{const styleMap=new Map;return styles.forEach(style=>{const[key,value]=style.split(":");styleMap.set(key.trim(),null==value?void 0:value.trim())}),styleMap},"styles2Map"),isLabelStyle=__name(key=>"color"===key||"font-size"===key||"font-family"===key||"font-weight"===key||"font-style"===key||"text-decoration"===key||"text-align"===key||"text-transform"===key||"line-height"===key||"letter-spacing"===key||"word-spacing"===key||"text-shadow"===key||"text-overflow"===key||"white-space"===key||"word-wrap"===key||"word-break"===key||"overflow-wrap"===key||"hyphens"===key,"isLabelStyle"),styles2String=__name(node=>{const{stylesArray:stylesArray}=compileStyles(node),labelStyles=[],nodeStyles=[],borderStyles=[],backgroundStyles=[];return stylesArray.forEach(style=>{const key=style[0];isLabelStyle(key)?labelStyles.push(style.join(":")+" !important"):(nodeStyles.push(style.join(":")+" !important"),key.includes("stroke")&&borderStyles.push(style.join(":")+" !important"),"fill"===key&&backgroundStyles.push(style.join(":")+" !important"))}),{labelStyles:labelStyles.join(";"),nodeStyles:nodeStyles.join(";"),stylesArray:stylesArray,borderStyles:borderStyles,backgroundStyles:backgroundStyles}},"styles2String"),userNodeOverrides=__name((node,options)=>{var _a2;const{themeVariables:themeVariables,handDrawnSeed:handDrawnSeed}=getConfig2(),{nodeBorder:nodeBorder,mainBkg:mainBkg}=themeVariables,{stylesMap:stylesMap}=compileStyles(node);return Object.assign({roughness:.7,fill:stylesMap.get("fill")||mainBkg,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:stylesMap.get("stroke")||nodeBorder,seed:handDrawnSeed,strokeWidth:(null==(_a2=stylesMap.get("stroke-width"))?void 0:_a2.replace("px",""))||1.3,fillLineDash:[0,0],strokeLineDash:getStrokeDashArray(stylesMap.get("stroke-dasharray"))},options)},"userNodeOverrides"),getStrokeDashArray=__name(strokeDasharrayStyle=>{if(!strokeDasharrayStyle)return[0,0];const dashArray=strokeDasharrayStyle.trim().split(/\s+/).map(Number);if(1===dashArray.length){const val=isNaN(dashArray[0])?0:dashArray[0];return[val,val]}return[isNaN(dashArray[0])?0:dashArray[0],isNaN(dashArray[1])?0:dashArray[1]]},"getStrokeDashArray");const defaultIconDimensions=Object.freeze({left:0,top:0,width:16,height:16}),defaultIconTransformations=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),defaultIconProps=Object.freeze({...defaultIconDimensions,...defaultIconTransformations}),defaultExtendedIconProps=Object.freeze({...defaultIconProps,body:"",hidden:!1}),defaultIconSizeCustomisations=Object.freeze({width:null,height:null}),defaultIconCustomisations=Object.freeze({...defaultIconSizeCustomisations,...defaultIconTransformations}),validateIconName=(icon2,allowSimpleName)=>!!icon2&&!(!(allowSimpleName&&""===icon2.prefix||icon2.prefix)||!icon2.name);function mergeIconData(parent,child){const result=function(obj1,obj2){const result={};!obj1.hFlip!=!obj2.hFlip&&(result.hFlip=!0),!obj1.vFlip!=!obj2.vFlip&&(result.vFlip=!0);const rotate=((obj1.rotate||0)+(obj2.rotate||0))%4;return rotate&&(result.rotate=rotate),result}(parent,child);for(const key in defaultExtendedIconProps)key in defaultIconTransformations?key in parent&&!(key in result)&&(result[key]=defaultIconTransformations[key]):key in child?result[key]=child[key]:key in parent&&(result[key]=parent[key]);return result}function internalGetIconData(data,name,tree){const icons=data.icons,aliases=data.aliases||Object.create(null);let currentProps={};function parse3(name$1){currentProps=mergeIconData(icons[name$1]||aliases[name$1],currentProps)}return parse3(name),tree.forEach(parse3),mergeIconData(data,currentProps)}function getIconData(data,name){if(data.icons[name])return internalGetIconData(data,name,[]);const tree=function(data,names){const icons=data.icons,aliases=data.aliases||Object.create(null),resolved=Object.create(null);return(names||Object.keys(icons).concat(Object.keys(aliases))).forEach(function resolve(name){if(icons[name])return resolved[name]=[];if(!(name in resolved)){resolved[name]=null;const parent=aliases[name]&&aliases[name].parent,value=parent&&resolve(parent);value&&(resolved[name]=[parent].concat(value))}return resolved[name]}),resolved}(data,[name])[name];return tree?internalGetIconData(data,name,tree):null}const unitsSplit=/(-?[0-9.]*[0-9]+[0-9.]*)/g,unitsTest=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function calculateSize(size,ratio,precision){if(1===ratio)return size;if(precision=precision||100,"number"==typeof size)return Math.ceil(size*ratio*precision)/precision;if("string"!=typeof size)return size;const oldParts=size.split(unitsSplit);if(null===oldParts||!oldParts.length)return size;const newParts=[];let code=oldParts.shift(),isNumber=unitsTest.test(code);for(;;){if(isNumber){const num=parseFloat(code);isNaN(num)?newParts.push(code):newParts.push(Math.ceil(num*ratio*precision)/precision)}else newParts.push(code);if(code=oldParts.shift(),void 0===code)return newParts.join("");isNumber=!isNumber}}const regex=/\sid="(\S+)"/g,counters=new Map;function replaceIDs(body){const ids=[];let match;for(;match=regex.exec(body);)ids.push(match[1]);if(!ids.length)return body;const suffix="suffix"+(16777216*Math.random()|Date.now()).toString(16);return ids.forEach(id32=>{const newID=function(id32){id32=id32.replace(/[0-9]+$/,"")||"a";const count=counters.get(id32)||0;return counters.set(id32,count+1),count?`${id32}${count}`:id32}(id32),escapedID=id32.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");body=body.replace(new RegExp('([#;"])('+escapedID+')([")]|\\.[a-z])',"g"),"$1"+newID+suffix+"$3")}),body=body.replace(new RegExp(suffix,"g"),"")}function L$1(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var T$1={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};function G$1(l4){T$1=l4}var E$1={exec:()=>null};function d$1(l4,e2=""){let t2="string"==typeof l4?l4:l4.source,n2={replace:(r2,i2)=>{let s2="string"==typeof i2?i2:i2.source;return s2=s2.replace(m$1.caret,"$1"),t2=t2.replace(r2,s2),n2},getRegex:()=>new RegExp(t2,e2)};return n2}var be=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),m$1={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:l4=>new RegExp(`^( {0,3}${l4})((?:[\t ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:l4=>new RegExp(`^ {0,${Math.min(3,l4-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),hrRegex:l4=>new RegExp(`^ {0,${Math.min(3,l4-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:l4=>new RegExp(`^ {0,${Math.min(3,l4-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:l4=>new RegExp(`^ {0,${Math.min(3,l4-1)}}#`),htmlBeginRegex:l4=>new RegExp(`^ {0,${Math.min(3,l4-1)}}<(?:[a-z].*>|!--)`,"i")},I$1=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,F$1=/(?:[*+-]|\d{1,9}[.)])/,ie=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,oe=d$1(ie).replace(/bull/g,F$1).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),ye=d$1(ie).replace(/bull/g,F$1).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),j$1=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Q$1=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Se=d$1(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Q$1).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),$e=d$1(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,F$1).getRegex(),v$1="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",U$1=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,_e=d$1("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",U$1).replace("tag",v$1).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ae=d$1(j$1).replace("hr",I$1).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",v$1).getRegex(),K$1={blockquote:d$1(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ae).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:Se,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:I$1,html:_e,lheading:oe,list:$e,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:ae,table:E$1,text:/^[^\n]+/},re=d$1("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",I$1).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",v$1).getRegex(),Me={...K$1,lheading:ye,table:re,paragraph:d$1(j$1).replace("hr",I$1).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",re).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",v$1).getRegex()},ze={...K$1,html:d$1("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",U$1).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:E$1,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:d$1(j$1).replace("hr",I$1).replace("heading"," *#{1,6} *[^\n]").replace("lheading",oe).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},le=/^( {2,}|\\)\n(?!\s*$)/,D$1=/[\p{P}\p{S}]/u,W$1=/[\s\p{P}\p{S}]/u,ue=/[^\s\p{P}\p{S}]/u,Ce=d$1(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,W$1).getRegex(),pe=/(?!~)[\p{P}\p{S}]/u,ve=d$1(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",be?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),ce=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,De=d$1(ce,"u").replace(/punct/g,D$1).getRegex(),He=d$1(ce,"u").replace(/punct/g,pe).getRegex(),he="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Ze=d$1(he,"gu").replace(/notPunctSpace/g,ue).replace(/punctSpace/g,W$1).replace(/punct/g,D$1).getRegex(),Ge=d$1(he,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,pe).getRegex(),Ne=d$1("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,ue).replace(/punctSpace/g,W$1).replace(/punct/g,D$1).getRegex(),Fe=d$1(/\\(punct)/,"gu").replace(/punct/g,D$1).getRegex(),je=d$1(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Qe=d$1(U$1).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ue=d$1("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Qe).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),q$1=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,Ke=d$1(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",q$1).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),de=d$1(/^!?\[(label)\]\[(ref)\]/).replace("label",q$1).replace("ref",Q$1).getRegex(),ke=d$1(/^!?\[(ref)\](?:\[\])?/).replace("ref",Q$1).getRegex(),se=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,X$1={_backpedal:E$1,anyPunctuation:Fe,autolink:je,blockSkip:ve,br:le,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:E$1,emStrongLDelim:De,emStrongRDelimAst:Ze,emStrongRDelimUnd:Ne,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:Ke,nolink:ke,punctuation:Ce,reflink:de,reflinkSearch:d$1("reflink|nolink(?!\\()","g").replace("reflink",de).replace("nolink",ke).getRegex(),tag:Ue,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:E$1},Xe={...X$1,link:d$1(/^!?\[(label)\]\((.*?)\)/).replace("label",q$1).getRegex(),reflink:d$1(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",q$1).getRegex()},N$1={...X$1,emStrongRDelimAst:Ge,emStrongLDelim:He,url:d$1(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",se).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:d$1(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",se).getRegex()},Je={...N$1,br:d$1(le).replace("{2,}","*").getRegex(),text:d$1(N$1.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},C$1={normal:K$1,gfm:Me,pedantic:ze},M$1={normal:X$1,gfm:N$1,breaks:Je,pedantic:Xe},Ve={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ge=l4=>Ve[l4];function w$1(l4,e2){if(e2){if(m$1.escapeTest.test(l4))return l4.replace(m$1.escapeReplace,ge)}else if(m$1.escapeTestNoEncode.test(l4))return l4.replace(m$1.escapeReplaceNoEncode,ge);return l4}function J$1(l4){try{l4=encodeURI(l4).replace(m$1.percentDecode,"%")}catch{return null}return l4}function V$1(l4,e2){var _a2;let n2=l4.replace(m$1.findPipe,(i2,s2,a2)=>{let o2=!1,p2=s2;for(;--p2>=0&&"\\"===a2[p2];)o2=!o2;return o2?"|":" |"}).split(m$1.splitPipe),r2=0;if(n2[0].trim()||n2.shift(),n2.length>0&&!(null==(_a2=n2.at(-1))?void 0:_a2.trim())&&n2.pop(),e2)if(n2.length>e2)n2.splice(e2);else for(;n2.length<e2;)n2.push("");for(;r2<n2.length;r2++)n2[r2]=n2[r2].trim().replace(m$1.slashPipe,"|");return n2}function z$1(l4,e2,t2){let n2=l4.length;if(0===n2)return"";let r2=0;for(;r2<n2;){if(l4.charAt(n2-r2-1)!==e2)break;r2++}return l4.slice(0,n2-r2)}function me(l4,e2,t2,n2,r2){let i2=e2.href,s2=e2.title||null,a2=l4[1].replace(r2.other.outputLinkReplace,"$1");n2.state.inLink=!0;let o2={type:"!"===l4[0].charAt(0)?"image":"link",raw:t2,href:i2,title:s2,text:a2,tokens:n2.inlineTokens(a2)};return n2.state.inLink=!1,o2}var y$1=class{constructor(e2){__publicField(this,"options"),__publicField(this,"rules"),__publicField(this,"lexer"),this.options=e2||T$1}space(e2){let t2=this.rules.block.newline.exec(e2);if(t2&&t2[0].length>0)return{type:"space",raw:t2[0]}}code(e2){let t2=this.rules.block.code.exec(e2);if(t2){let n2=t2[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t2[0],codeBlockStyle:"indented",text:this.options.pedantic?n2:z$1(n2,"\n")}}}fences(e2){let t2=this.rules.block.fences.exec(e2);if(t2){let n2=t2[0],r2=function(l4,e2,t2){let n2=l4.match(t2.other.indentCodeCompensation);if(null===n2)return e2;let r2=n2[1];return e2.split("\n").map(i2=>{let s2=i2.match(t2.other.beginningSpace);if(null===s2)return i2;let[a2]=s2;return a2.length>=r2.length?i2.slice(r2.length):i2}).join("\n")}(n2,t2[3]||"",this.rules);return{type:"code",raw:n2,lang:t2[2]?t2[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t2[2],text:r2}}}heading(e2){let t2=this.rules.block.heading.exec(e2);if(t2){let n2=t2[2].trim();if(this.rules.other.endingHash.test(n2)){let r2=z$1(n2,"#");(this.options.pedantic||!r2||this.rules.other.endingSpaceChar.test(r2))&&(n2=r2.trim())}return{type:"heading",raw:t2[0],depth:t2[1].length,text:n2,tokens:this.lexer.inline(n2)}}}hr(e2){let t2=this.rules.block.hr.exec(e2);if(t2)return{type:"hr",raw:z$1(t2[0],"\n")}}blockquote(e2){let t2=this.rules.block.blockquote.exec(e2);if(t2){let n2=z$1(t2[0],"\n").split("\n"),r2="",i2="",s2=[];for(;n2.length>0;){let p2,a2=!1,o2=[];for(p2=0;p2<n2.length;p2++)if(this.rules.other.blockquoteStart.test(n2[p2]))o2.push(n2[p2]),a2=!0;else{if(a2)break;o2.push(n2[p2])}n2=n2.slice(p2);let u2=o2.join("\n"),c2=u2.replace(this.rules.other.blockquoteSetextReplace,"\n $1").replace(this.rules.other.blockquoteSetextReplace2,"");r2=r2?`${r2}\n${u2}`:u2,i2=i2?`${i2}\n${c2}`:c2;let g2=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c2,s2,!0),this.lexer.state.top=g2,0===n2.length)break;let h2=s2.at(-1);if("code"===(null==h2?void 0:h2.type))break;if("blockquote"===(null==h2?void 0:h2.type)){let R2=h2,f2=R2.raw+"\n"+n2.join("\n"),O2=this.blockquote(f2);s2[s2.length-1]=O2,r2=r2.substring(0,r2.length-R2.raw.length)+O2.raw,i2=i2.substring(0,i2.length-R2.text.length)+O2.text;break}if("list"===(null==h2?void 0:h2.type)){let R2=h2,f2=R2.raw+"\n"+n2.join("\n"),O2=this.list(f2);s2[s2.length-1]=O2,r2=r2.substring(0,r2.length-h2.raw.length)+O2.raw,i2=i2.substring(0,i2.length-R2.raw.length)+O2.raw,n2=f2.substring(s2.at(-1).raw.length).split("\n");continue}}return{type:"blockquote",raw:r2,tokens:s2,text:i2}}}list(e2){let t2=this.rules.block.list.exec(e2);if(t2){let n2=t2[1].trim(),r2=n2.length>1,i2={type:"list",raw:"",ordered:r2,start:r2?+n2.slice(0,-1):"",loose:!1,items:[]};n2=r2?`\\d{1,9}\\${n2.slice(-1)}`:`\\${n2}`,this.options.pedantic&&(n2=r2?n2:"[*+-]");let s2=this.rules.other.listItemRegex(n2),a2=!1;for(;e2;){let p2=!1,u2="",c2="";if(!(t2=s2.exec(e2))||this.rules.block.hr.test(e2))break;u2=t2[0],e2=e2.substring(u2.length);let g2=t2[2].split("\n",1)[0].replace(this.rules.other.listReplaceTabs,H2=>" ".repeat(3*H2.length)),h2=e2.split("\n",1)[0],R2=!g2.trim(),f2=0;if(this.options.pedantic?(f2=2,c2=g2.trimStart()):R2?f2=t2[1].length+1:(f2=t2[2].search(this.rules.other.nonSpaceChar),f2=f2>4?1:f2,c2=g2.slice(f2),f2+=t2[1].length),R2&&this.rules.other.blankLine.test(h2)&&(u2+=h2+"\n",e2=e2.substring(h2.length+1),p2=!0),!p2){let H2=this.rules.other.nextBulletRegex(f2),ee=this.rules.other.hrRegex(f2),te=this.rules.other.fencesBeginRegex(f2),ne=this.rules.other.headingBeginRegex(f2),xe=this.rules.other.htmlBeginRegex(f2);for(;e2;){let A2,Z2=e2.split("\n",1)[0];if(h2=Z2,this.options.pedantic?(h2=h2.replace(this.rules.other.listReplaceNesting," "),A2=h2):A2=h2.replace(this.rules.other.tabCharGlobal," "),te.test(h2)||ne.test(h2)||xe.test(h2)||H2.test(h2)||ee.test(h2))break;if(A2.search(this.rules.other.nonSpaceChar)>=f2||!h2.trim())c2+="\n"+A2.slice(f2);else{if(R2||g2.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||te.test(g2)||ne.test(g2)||ee.test(g2))break;c2+="\n"+h2}!R2&&!h2.trim()&&(R2=!0),u2+=Z2+"\n",e2=e2.substring(Z2.length+1),g2=A2.slice(f2)}}i2.loose||(a2?i2.loose=!0:this.rules.other.doubleBlankLine.test(u2)&&(a2=!0));let Y2,O2=null;this.options.gfm&&(O2=this.rules.other.listIsTask.exec(c2),O2&&(Y2="[ ] "!==O2[0],c2=c2.replace(this.rules.other.listReplaceTask,""))),i2.items.push({type:"list_item",raw:u2,task:!!O2,checked:Y2,loose:!1,text:c2,tokens:[]}),i2.raw+=u2}let o2=i2.items.at(-1);if(!o2)return;o2.raw=o2.raw.trimEnd(),o2.text=o2.text.trimEnd(),i2.raw=i2.raw.trimEnd();for(let p2=0;p2<i2.items.length;p2++)if(this.lexer.state.top=!1,i2.items[p2].tokens=this.lexer.blockTokens(i2.items[p2].text,[]),!i2.loose){let u2=i2.items[p2].tokens.filter(g2=>"space"===g2.type),c2=u2.length>0&&u2.some(g2=>this.rules.other.anyLine.test(g2.raw));i2.loose=c2}if(i2.loose)for(let p2=0;p2<i2.items.length;p2++)i2.items[p2].loose=!0;return i2}}html(e2){let t2=this.rules.block.html.exec(e2);if(t2)return{type:"html",block:!0,raw:t2[0],pre:"pre"===t2[1]||"script"===t2[1]||"style"===t2[1],text:t2[0]}}def(e2){let t2=this.rules.block.def.exec(e2);if(t2){let n2=t2[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),r2=t2[2]?t2[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",i2=t2[3]?t2[3].substring(1,t2[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t2[3];return{type:"def",tag:n2,raw:t2[0],href:r2,title:i2}}}table(e2){var _a2;let t2=this.rules.block.table.exec(e2);if(!t2||!this.rules.other.tableDelimiter.test(t2[2]))return;let n2=V$1(t2[1]),r2=t2[2].replace(this.rules.other.tableAlignChars,"").split("|"),i2=(null==(_a2=t2[3])?void 0:_a2.trim())?t2[3].replace(this.rules.other.tableRowBlankLine,"").split("\n"):[],s2={type:"table",raw:t2[0],header:[],align:[],rows:[]};if(n2.length===r2.length){for(let a2 of r2)this.rules.other.tableAlignRight.test(a2)?s2.align.push("right"):this.rules.other.tableAlignCenter.test(a2)?s2.align.push("center"):this.rules.other.tableAlignLeft.test(a2)?s2.align.push("left"):s2.align.push(null);for(let a2=0;a2<n2.length;a2++)s2.header.push({text:n2[a2],tokens:this.lexer.inline(n2[a2]),header:!0,align:s2.align[a2]});for(let a2 of i2)s2.rows.push(V$1(a2,s2.header.length).map((o2,p2)=>({text:o2,tokens:this.lexer.inline(o2),header:!1,align:s2.align[p2]})));return s2}}lheading(e2){let t2=this.rules.block.lheading.exec(e2);if(t2)return{type:"heading",raw:t2[0],depth:"="===t2[2].charAt(0)?1:2,text:t2[1],tokens:this.lexer.inline(t2[1])}}paragraph(e2){let t2=this.rules.block.paragraph.exec(e2);if(t2){let n2="\n"===t2[1].charAt(t2[1].length-1)?t2[1].slice(0,-1):t2[1];return{type:"paragraph",raw:t2[0],text:n2,tokens:this.lexer.inline(n2)}}}text(e2){let t2=this.rules.block.text.exec(e2);if(t2)return{type:"text",raw:t2[0],text:t2[0],tokens:this.lexer.inline(t2[0])}}escape(e2){let t2=this.rules.inline.escape.exec(e2);if(t2)return{type:"escape",raw:t2[0],text:t2[1]}}tag(e2){let t2=this.rules.inline.tag.exec(e2);if(t2)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t2[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t2[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t2[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t2[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t2[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t2[0]}}link(e2){let t2=this.rules.inline.link.exec(e2);if(t2){let n2=t2[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n2)){if(!this.rules.other.endAngleBracket.test(n2))return;let s2=z$1(n2.slice(0,-1),"\\");if((n2.length-s2.length)%2==0)return}else{let s2=function(l4,e2){if(-1===l4.indexOf(e2[1]))return-1;let t2=0;for(let n2=0;n2<l4.length;n2++)if("\\"===l4[n2])n2++;else if(l4[n2]===e2[0])t2++;else if(l4[n2]===e2[1]&&(t2--,t2<0))return n2;return t2>0?-2:-1}(t2[2],"()");if(-2===s2)return;if(s2>-1){let o2=(0===t2[0].indexOf("!")?5:4)+t2[1].length+s2;t2[2]=t2[2].substring(0,s2),t2[0]=t2[0].substring(0,o2).trim(),t2[3]=""}}let r2=t2[2],i2="";if(this.options.pedantic){let s2=this.rules.other.pedanticHrefTitle.exec(r2);s2&&(r2=s2[1],i2=s2[3])}else i2=t2[3]?t2[3].slice(1,-1):"";return r2=r2.trim(),this.rules.other.startAngleBracket.test(r2)&&(r2=this.options.pedantic&&!this.rules.other.endAngleBracket.test(n2)?r2.slice(1):r2.slice(1,-1)),me(t2,{href:r2&&r2.replace(this.rules.inline.anyPunctuation,"$1"),title:i2&&i2.replace(this.rules.inline.anyPunctuation,"$1")},t2[0],this.lexer,this.rules)}}reflink(e2,t2){let n2;if((n2=this.rules.inline.reflink.exec(e2))||(n2=this.rules.inline.nolink.exec(e2))){let i2=t2[(n2[2]||n2[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!i2){let s2=n2[0].charAt(0);return{type:"text",raw:s2,text:s2}}return me(n2,i2,n2[0],this.lexer,this.rules)}}emStrong(e2,t2,n2=""){let r2=this.rules.inline.emStrongLDelim.exec(e2);if(!(!r2||r2[3]&&n2.match(this.rules.other.unicodeAlphaNumeric))&&(!r2[1]&&!r2[2]||!n2||this.rules.inline.punctuation.exec(n2))){let a2,o2,s2=[...r2[0]].length-1,p2=s2,u2=0,c2="*"===r2[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c2.lastIndex=0,t2=t2.slice(-1*e2.length+s2);null!=(r2=c2.exec(t2));){if(a2=r2[1]||r2[2]||r2[3]||r2[4]||r2[5]||r2[6],!a2)continue;if(o2=[...a2].length,r2[3]||r2[4]){p2+=o2;continue}if((r2[5]||r2[6])&&s2%3&&!((s2+o2)%3)){u2+=o2;continue}if(p2-=o2,p2>0)continue;o2=Math.min(o2,o2+p2+u2);let g2=[...r2[0]][0].length,h2=e2.slice(0,s2+r2.index+g2+o2);if(Math.min(s2,o2)%2){let f2=h2.slice(1,-1);return{type:"em",raw:h2,text:f2,tokens:this.lexer.inlineTokens(f2)}}let R2=h2.slice(2,-2);return{type:"strong",raw:h2,text:R2,tokens:this.lexer.inlineTokens(R2)}}}}codespan(e2){let t2=this.rules.inline.code.exec(e2);if(t2){let n2=t2[2].replace(this.rules.other.newLineCharGlobal," "),r2=this.rules.other.nonSpaceChar.test(n2),i2=this.rules.other.startingSpaceChar.test(n2)&&this.rules.other.endingSpaceChar.test(n2);return r2&&i2&&(n2=n2.substring(1,n2.length-1)),{type:"codespan",raw:t2[0],text:n2}}}br(e2){let t2=this.rules.inline.br.exec(e2);if(t2)return{type:"br",raw:t2[0]}}del(e2){let t2=this.rules.inline.del.exec(e2);if(t2)return{type:"del",raw:t2[0],text:t2[2],tokens:this.lexer.inlineTokens(t2[2])}}autolink(e2){let t2=this.rules.inline.autolink.exec(e2);if(t2){let n2,r2;return"@"===t2[2]?(n2=t2[1],r2="mailto:"+n2):(n2=t2[1],r2=n2),{type:"link",raw:t2[0],text:n2,href:r2,tokens:[{type:"text",raw:n2,text:n2}]}}}url(e2){var _a2;let t2;if(t2=this.rules.inline.url.exec(e2)){let n2,r2;if("@"===t2[2])n2=t2[0],r2="mailto:"+n2;else{let i2;do{i2=t2[0],t2[0]=(null==(_a2=this.rules.inline._backpedal.exec(t2[0]))?void 0:_a2[0])??""}while(i2!==t2[0]);n2=t2[0],r2="www."===t2[1]?"http://"+t2[0]:t2[0]}return{type:"link",raw:t2[0],text:n2,href:r2,tokens:[{type:"text",raw:n2,text:n2}]}}}inlineText(e2){let t2=this.rules.inline.text.exec(e2);if(t2){let n2=this.lexer.state.inRawBlock;return{type:"text",raw:t2[0],text:t2[0],escaped:n2}}}},x$1=class l{constructor(e2){__publicField(this,"tokens"),__publicField(this,"options"),__publicField(this,"state"),__publicField(this,"tokenizer"),__publicField(this,"inlineQueue"),this.tokens=[],this.tokens.links=Object.create(null),this.options=e2||T$1,this.options.tokenizer=this.options.tokenizer||new y$1,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t2={other:m$1,block:C$1.normal,inline:M$1.normal};this.options.pedantic?(t2.block=C$1.pedantic,t2.inline=M$1.pedantic):this.options.gfm&&(t2.block=C$1.gfm,this.options.breaks?t2.inline=M$1.breaks:t2.inline=M$1.gfm),this.tokenizer.rules=t2}static get rules(){return{block:C$1,inline:M$1}}static lex(e2,t2){return new l(t2).lex(e2)}static lexInline(e2,t2){return new l(t2).inlineTokens(e2)}lex(e2){e2=e2.replace(m$1.carriageReturn,"\n"),this.blockTokens(e2,this.tokens);for(let t2=0;t2<this.inlineQueue.length;t2++){let n2=this.inlineQueue[t2];this.inlineTokens(n2.src,n2.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e2,t2=[],n2=!1){var _a2,_b2,_c2;for(this.options.pedantic&&(e2=e2.replace(m$1.tabCharGlobal," ").replace(m$1.spaceLine,""));e2;){let r2;if(null==(_b2=null==(_a2=this.options.extensions)?void 0:_a2.block)?void 0:_b2.some(s2=>!!(r2=s2.call({lexer:this},e2,t2))&&(e2=e2.substring(r2.raw.length),t2.push(r2),!0)))continue;if(r2=this.tokenizer.space(e2)){e2=e2.substring(r2.raw.length);let s2=t2.at(-1);1===r2.raw.length&&void 0!==s2?s2.raw+="\n":t2.push(r2);continue}if(r2=this.tokenizer.code(e2)){e2=e2.substring(r2.raw.length);let s2=t2.at(-1);"paragraph"===(null==s2?void 0:s2.type)||"text"===(null==s2?void 0:s2.type)?(s2.raw+=(s2.raw.endsWith("\n")?"":"\n")+r2.raw,s2.text+="\n"+r2.text,this.inlineQueue.at(-1).src=s2.text):t2.push(r2);continue}if(r2=this.tokenizer.fences(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}if(r2=this.tokenizer.heading(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}if(r2=this.tokenizer.hr(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}if(r2=this.tokenizer.blockquote(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}if(r2=this.tokenizer.list(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}if(r2=this.tokenizer.html(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}if(r2=this.tokenizer.def(e2)){e2=e2.substring(r2.raw.length);let s2=t2.at(-1);"paragraph"===(null==s2?void 0:s2.type)||"text"===(null==s2?void 0:s2.type)?(s2.raw+=(s2.raw.endsWith("\n")?"":"\n")+r2.raw,s2.text+="\n"+r2.raw,this.inlineQueue.at(-1).src=s2.text):this.tokens.links[r2.tag]||(this.tokens.links[r2.tag]={href:r2.href,title:r2.title},t2.push(r2));continue}if(r2=this.tokenizer.table(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}if(r2=this.tokenizer.lheading(e2)){e2=e2.substring(r2.raw.length),t2.push(r2);continue}let i2=e2;if(null==(_c2=this.options.extensions)?void 0:_c2.startBlock){let o2,s2=1/0,a2=e2.slice(1);this.options.extensions.startBlock.forEach(p2=>{o2=p2.call({lexer:this},a2),"number"==typeof o2&&o2>=0&&(s2=Math.min(s2,o2))}),s2<1/0&&s2>=0&&(i2=e2.substring(0,s2+1))}if(this.state.top&&(r2=this.tokenizer.paragraph(i2))){let s2=t2.at(-1);n2&&"paragraph"===(null==s2?void 0:s2.type)?(s2.raw+=(s2.raw.endsWith("\n")?"":"\n")+r2.raw,s2.text+="\n"+r2.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s2.text):t2.push(r2),n2=i2.length!==e2.length,e2=e2.substring(r2.raw.length);continue}if(r2=this.tokenizer.text(e2)){e2=e2.substring(r2.raw.length);let s2=t2.at(-1);"text"===(null==s2?void 0:s2.type)?(s2.raw+=(s2.raw.endsWith("\n")?"":"\n")+r2.raw,s2.text+="\n"+r2.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s2.text):t2.push(r2);continue}if(e2){let s2="Infinite loop on byte: "+e2.charCodeAt(0);if(this.options.silent){console.error(s2);break}throw new Error(s2)}}return this.state.top=!0,t2}inline(e2,t2=[]){return this.inlineQueue.push({src:e2,tokens:t2}),t2}inlineTokens(e2,t2=[]){var _a2,_b2,_c2,_d2,_e3;let i2,n2=e2,r2=null;if(this.tokens.links){let o2=Object.keys(this.tokens.links);if(o2.length>0)for(;null!=(r2=this.tokenizer.rules.inline.reflinkSearch.exec(n2));)o2.includes(r2[0].slice(r2[0].lastIndexOf("[")+1,-1))&&(n2=n2.slice(0,r2.index)+"["+"a".repeat(r2[0].length-2)+"]"+n2.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(r2=this.tokenizer.rules.inline.anyPunctuation.exec(n2));)n2=n2.slice(0,r2.index)+"++"+n2.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;null!=(r2=this.tokenizer.rules.inline.blockSkip.exec(n2));)i2=r2[2]?r2[2].length:0,n2=n2.slice(0,r2.index+i2)+"["+"a".repeat(r2[0].length-i2-2)+"]"+n2.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n2=(null==(_b2=null==(_a2=this.options.hooks)?void 0:_a2.emStrongMask)?void 0:_b2.call({lexer:this},n2))??n2;let s2=!1,a2="";for(;e2;){let o2;if(s2||(a2=""),s2=!1,null==(_d2=null==(_c2=this.options.extensions)?void 0:_c2.inline)?void 0:_d2.some(u2=>!!(o2=u2.call({lexer:this},e2,t2))&&(e2=e2.substring(o2.raw.length),t2.push(o2),!0)))continue;if(o2=this.tokenizer.escape(e2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(o2=this.tokenizer.tag(e2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(o2=this.tokenizer.link(e2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(o2=this.tokenizer.reflink(e2,this.tokens.links)){e2=e2.substring(o2.raw.length);let u2=t2.at(-1);"text"===o2.type&&"text"===(null==u2?void 0:u2.type)?(u2.raw+=o2.raw,u2.text+=o2.text):t2.push(o2);continue}if(o2=this.tokenizer.emStrong(e2,n2,a2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(o2=this.tokenizer.codespan(e2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(o2=this.tokenizer.br(e2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(o2=this.tokenizer.del(e2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(o2=this.tokenizer.autolink(e2)){e2=e2.substring(o2.raw.length),t2.push(o2);continue}if(!this.state.inLink&&(o2=this.tokenizer.url(e2))){e2=e2.substring(o2.raw.length),t2.push(o2);continue}let p2=e2;if(null==(_e3=this.options.extensions)?void 0:_e3.startInline){let g2,u2=1/0,c2=e2.slice(1);this.options.extensions.startInline.forEach(h2=>{g2=h2.call({lexer:this},c2),"number"==typeof g2&&g2>=0&&(u2=Math.min(u2,g2))}),u2<1/0&&u2>=0&&(p2=e2.substring(0,u2+1))}if(o2=this.tokenizer.inlineText(p2)){e2=e2.substring(o2.raw.length),"_"!==o2.raw.slice(-1)&&(a2=o2.raw.slice(-1)),s2=!0;let u2=t2.at(-1);"text"===(null==u2?void 0:u2.type)?(u2.raw+=o2.raw,u2.text+=o2.text):t2.push(o2);continue}if(e2){let u2="Infinite loop on byte: "+e2.charCodeAt(0);if(this.options.silent){console.error(u2);break}throw new Error(u2)}}return t2}},P$1=class{constructor(e2){__publicField(this,"options"),__publicField(this,"parser"),this.options=e2||T$1}space(e2){return""}code({text:e2,lang:t2,escaped:n2}){var _a2;let r2=null==(_a2=(t2||"").match(m$1.notSpaceStart))?void 0:_a2[0],i2=e2.replace(m$1.endingNewline,"")+"\n";return r2?'<pre><code class="language-'+w$1(r2)+'">'+(n2?i2:w$1(i2,!0))+"</code></pre>\n":"<pre><code>"+(n2?i2:w$1(i2,!0))+"</code></pre>\n"}blockquote({tokens:e2}){return`<blockquote>\n${this.parser.parse(e2)}</blockquote>\n`}html({text:e2}){return e2}def(e2){return""}heading({tokens:e2,depth:t2}){return`<h${t2}>${this.parser.parseInline(e2)}</h${t2}>\n`}hr(e2){return"<hr>\n"}list(e2){let t2=e2.ordered,n2=e2.start,r2="";for(let a2=0;a2<e2.items.length;a2++){let o2=e2.items[a2];r2+=this.listitem(o2)}let i2=t2?"ol":"ul";return"<"+i2+(t2&&1!==n2?' start="'+n2+'"':"")+">\n"+r2+"</"+i2+">\n"}listitem(e2){var _a2;let t2="";if(e2.task){let n2=this.checkbox({checked:!!e2.checked});e2.loose?"paragraph"===(null==(_a2=e2.tokens[0])?void 0:_a2.type)?(e2.tokens[0].text=n2+" "+e2.tokens[0].text,e2.tokens[0].tokens&&e2.tokens[0].tokens.length>0&&"text"===e2.tokens[0].tokens[0].type&&(e2.tokens[0].tokens[0].text=n2+" "+w$1(e2.tokens[0].tokens[0].text),e2.tokens[0].tokens[0].escaped=!0)):e2.tokens.unshift({type:"text",raw:n2+" ",text:n2+" ",escaped:!0}):t2+=n2+" "}return t2+=this.parser.parse(e2.tokens,!!e2.loose),`<li>${t2}</li>\n`}checkbox({checked:e2}){return"<input "+(e2?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:e2}){return`<p>${this.parser.parseInline(e2)}</p>\n`}table(e2){let t2="",n2="";for(let i2=0;i2<e2.header.length;i2++)n2+=this.tablecell(e2.header[i2]);t2+=this.tablerow({text:n2});let r2="";for(let i2=0;i2<e2.rows.length;i2++){let s2=e2.rows[i2];n2="";for(let a2=0;a2<s2.length;a2++)n2+=this.tablecell(s2[a2]);r2+=this.tablerow({text:n2})}return r2&&(r2=`<tbody>${r2}</tbody>`),"<table>\n<thead>\n"+t2+"</thead>\n"+r2+"</table>\n"}tablerow({text:e2}){return`<tr>\n${e2}</tr>\n`}tablecell(e2){let t2=this.parser.parseInline(e2.tokens),n2=e2.header?"th":"td";return(e2.align?`<${n2} align="${e2.align}">`:`<${n2}>`)+t2+`</${n2}>\n`}strong({tokens:e2}){return`<strong>${this.parser.parseInline(e2)}</strong>`}em({tokens:e2}){return`<em>${this.parser.parseInline(e2)}</em>`}codespan({text:e2}){return`<code>${w$1(e2,!0)}</code>`}br(e2){return"<br>"}del({tokens:e2}){return`<del>${this.parser.parseInline(e2)}</del>`}link({href:e2,title:t2,tokens:n2}){let r2=this.parser.parseInline(n2),i2=J$1(e2);if(null===i2)return r2;let s2='<a href="'+(e2=i2)+'"';return t2&&(s2+=' title="'+w$1(t2)+'"'),s2+=">"+r2+"</a>",s2}image({href:e2,title:t2,text:n2,tokens:r2}){r2&&(n2=this.parser.parseInline(r2,this.parser.textRenderer));let i2=J$1(e2);if(null===i2)return w$1(n2);let s2=`<img src="${e2=i2}" alt="${n2}"`;return t2&&(s2+=` title="${w$1(t2)}"`),s2+=">",s2}text(e2){return"tokens"in e2&&e2.tokens?this.parser.parseInline(e2.tokens):"escaped"in e2&&e2.escaped?e2.text:w$1(e2.text)}},$$1=class{strong({text:e2}){return e2}em({text:e2}){return e2}codespan({text:e2}){return e2}del({text:e2}){return e2}html({text:e2}){return e2}text({text:e2}){return e2}link({text:e2}){return""+e2}image({text:e2}){return""+e2}br(){return""}},b$1=class l2{constructor(e2){__publicField(this,"options"),__publicField(this,"renderer"),__publicField(this,"textRenderer"),this.options=e2||T$1,this.options.renderer=this.options.renderer||new P$1,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new $$1}static parse(e2,t2){return new l2(t2).parse(e2)}static parseInline(e2,t2){return new l2(t2).parseInline(e2)}parse(e2,t2=!0){var _a2,_b2;let n2="";for(let r2=0;r2<e2.length;r2++){let i2=e2[r2];if(null==(_b2=null==(_a2=this.options.extensions)?void 0:_a2.renderers)?void 0:_b2[i2.type]){let a2=i2,o2=this.options.extensions.renderers[a2.type].call({parser:this},a2);if(!1!==o2||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(a2.type)){n2+=o2||"";continue}}let s2=i2;switch(s2.type){case"space":n2+=this.renderer.space(s2);continue;case"hr":n2+=this.renderer.hr(s2);continue;case"heading":n2+=this.renderer.heading(s2);continue;case"code":n2+=this.renderer.code(s2);continue;case"table":n2+=this.renderer.table(s2);continue;case"blockquote":n2+=this.renderer.blockquote(s2);continue;case"list":n2+=this.renderer.list(s2);continue;case"html":n2+=this.renderer.html(s2);continue;case"def":n2+=this.renderer.def(s2);continue;case"paragraph":n2+=this.renderer.paragraph(s2);continue;case"text":{let a2=s2,o2=this.renderer.text(a2);for(;r2+1<e2.length&&"text"===e2[r2+1].type;)a2=e2[++r2],o2+="\n"+this.renderer.text(a2);n2+=t2?this.renderer.paragraph({type:"paragraph",raw:o2,text:o2,tokens:[{type:"text",raw:o2,text:o2,escaped:!0}]}):o2;continue}default:{let a2='Token with "'+s2.type+'" type was not found.';if(this.options.silent)return console.error(a2),"";throw new Error(a2)}}}return n2}parseInline(e2,t2=this.renderer){var _a2,_b2;let n2="";for(let r2=0;r2<e2.length;r2++){let i2=e2[r2];if(null==(_b2=null==(_a2=this.options.extensions)?void 0:_a2.renderers)?void 0:_b2[i2.type]){let a2=this.options.extensions.renderers[i2.type].call({parser:this},i2);if(!1!==a2||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i2.type)){n2+=a2||"";continue}}let s2=i2;switch(s2.type){case"escape":case"text":n2+=t2.text(s2);break;case"html":n2+=t2.html(s2);break;case"link":n2+=t2.link(s2);break;case"image":n2+=t2.image(s2);break;case"strong":n2+=t2.strong(s2);break;case"em":n2+=t2.em(s2);break;case"codespan":n2+=t2.codespan(s2);break;case"br":n2+=t2.br(s2);break;case"del":n2+=t2.del(s2);break;default:{let a2='Token with "'+s2.type+'" type was not found.';if(this.options.silent)return console.error(a2),"";throw new Error(a2)}}}return n2}},S$1=(_o=class{constructor(e2){__publicField(this,"options"),__publicField(this,"block"),this.options=e2||T$1}preprocess(e2){return e2}postprocess(e2){return e2}processAllTokens(e2){return e2}emStrongMask(e2){return e2}provideLexer(){return this.block?x$1.lex:x$1.lexInline}provideParser(){return this.block?b$1.parse:b$1.parseInline}},__publicField(_o,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),__publicField(_o,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),_o),_$1=new class{constructor(...e2){__publicField(this,"defaults",{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}),__publicField(this,"options",this.setOptions),__publicField(this,"parse",this.parseMarkdown(!0)),__publicField(this,"parseInline",this.parseMarkdown(!1)),__publicField(this,"Parser",b$1),__publicField(this,"Renderer",P$1),__publicField(this,"TextRenderer",$$1),__publicField(this,"Lexer",x$1),__publicField(this,"Tokenizer",y$1),__publicField(this,"Hooks",S$1),this.use(...e2)}walkTokens(e2,t2){var _a2,_b2;let n2=[];for(let r2 of e2)switch(n2=n2.concat(t2.call(this,r2)),r2.type){case"table":{let i2=r2;for(let s2 of i2.header)n2=n2.concat(this.walkTokens(s2.tokens,t2));for(let s2 of i2.rows)for(let a2 of s2)n2=n2.concat(this.walkTokens(a2.tokens,t2));break}case"list":{let i2=r2;n2=n2.concat(this.walkTokens(i2.items,t2));break}default:{let i2=r2;(null==(_b2=null==(_a2=this.defaults.extensions)?void 0:_a2.childTokens)?void 0:_b2[i2.type])?this.defaults.extensions.childTokens[i2.type].forEach(s2=>{let a2=i2[s2].flat(1/0);n2=n2.concat(this.walkTokens(a2,t2))}):i2.tokens&&(n2=n2.concat(this.walkTokens(i2.tokens,t2)))}}return n2}use(...e2){let t2=this.defaults.extensions||{renderers:{},childTokens:{}};return e2.forEach(n2=>{let r2={...n2};if(r2.async=this.defaults.async||r2.async||!1,n2.extensions&&(n2.extensions.forEach(i2=>{if(!i2.name)throw new Error("extension name required");if("renderer"in i2){let s2=t2.renderers[i2.name];t2.renderers[i2.name]=s2?function(...a2){let o2=i2.renderer.apply(this,a2);return!1===o2&&(o2=s2.apply(this,a2)),o2}:i2.renderer}if("tokenizer"in i2){if(!i2.level||"block"!==i2.level&&"inline"!==i2.level)throw new Error("extension level must be 'block' or 'inline'");let s2=t2[i2.level];s2?s2.unshift(i2.tokenizer):t2[i2.level]=[i2.tokenizer],i2.start&&("block"===i2.level?t2.startBlock?t2.startBlock.push(i2.start):t2.startBlock=[i2.start]:"inline"===i2.level&&(t2.startInline?t2.startInline.push(i2.start):t2.startInline=[i2.start]))}"childTokens"in i2&&i2.childTokens&&(t2.childTokens[i2.name]=i2.childTokens)}),r2.extensions=t2),n2.renderer){let i2=this.defaults.renderer||new P$1(this.defaults);for(let s2 in n2.renderer){if(!(s2 in i2))throw new Error(`renderer '${s2}' does not exist`);if(["options","parser"].includes(s2))continue;let a2=s2,o2=n2.renderer[a2],p2=i2[a2];i2[a2]=(...u2)=>{let c2=o2.apply(i2,u2);return!1===c2&&(c2=p2.apply(i2,u2)),c2||""}}r2.renderer=i2}if(n2.tokenizer){let i2=this.defaults.tokenizer||new y$1(this.defaults);for(let s2 in n2.tokenizer){if(!(s2 in i2))throw new Error(`tokenizer '${s2}' does not exist`);if(["options","rules","lexer"].includes(s2))continue;let a2=s2,o2=n2.tokenizer[a2],p2=i2[a2];i2[a2]=(...u2)=>{let c2=o2.apply(i2,u2);return!1===c2&&(c2=p2.apply(i2,u2)),c2}}r2.tokenizer=i2}if(n2.hooks){let i2=this.defaults.hooks||new S$1;for(let s2 in n2.hooks){if(!(s2 in i2))throw new Error(`hook '${s2}' does not exist`);if(["options","block"].includes(s2))continue;let a2=s2,o2=n2.hooks[a2],p2=i2[a2];S$1.passThroughHooks.has(s2)?i2[a2]=u2=>{if(this.defaults.async&&S$1.passThroughHooksRespectAsync.has(s2))return(async()=>{let g2=await o2.call(i2,u2);return p2.call(i2,g2)})();let c2=o2.call(i2,u2);return p2.call(i2,c2)}:i2[a2]=(...u2)=>{if(this.defaults.async)return(async()=>{let g2=await o2.apply(i2,u2);return!1===g2&&(g2=await p2.apply(i2,u2)),g2})();let c2=o2.apply(i2,u2);return!1===c2&&(c2=p2.apply(i2,u2)),c2}}r2.hooks=i2}if(n2.walkTokens){let i2=this.defaults.walkTokens,s2=n2.walkTokens;r2.walkTokens=function(a2){let o2=[];return o2.push(s2.call(this,a2)),i2&&(o2=o2.concat(i2.call(this,a2))),o2}}this.defaults={...this.defaults,...r2}}),this}setOptions(e2){return this.defaults={...this.defaults,...e2},this}lexer(e2,t2){return x$1.lex(e2,t2??this.defaults)}parser(e2,t2){return b$1.parse(e2,t2??this.defaults)}parseMarkdown(e2){return(n2,r2)=>{let i2={...r2},s2={...this.defaults,...i2},a2=this.onError(!!s2.silent,!!s2.async);if(!0===this.defaults.async&&!1===i2.async)return a2(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof n2>"u"||null===n2)return a2(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof n2)return a2(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n2)+", string expected"));if(s2.hooks&&(s2.hooks.options=s2,s2.hooks.block=e2),s2.async)return(async()=>{let o2=s2.hooks?await s2.hooks.preprocess(n2):n2,u2=await(s2.hooks?await s2.hooks.provideLexer():e2?x$1.lex:x$1.lexInline)(o2,s2),c2=s2.hooks?await s2.hooks.processAllTokens(u2):u2;s2.walkTokens&&await Promise.all(this.walkTokens(c2,s2.walkTokens));let h2=await(s2.hooks?await s2.hooks.provideParser():e2?b$1.parse:b$1.parseInline)(c2,s2);return s2.hooks?await s2.hooks.postprocess(h2):h2})().catch(a2);try{s2.hooks&&(n2=s2.hooks.preprocess(n2));let p2=(s2.hooks?s2.hooks.provideLexer():e2?x$1.lex:x$1.lexInline)(n2,s2);s2.hooks&&(p2=s2.hooks.processAllTokens(p2)),s2.walkTokens&&this.walkTokens(p2,s2.walkTokens);let c2=(s2.hooks?s2.hooks.provideParser():e2?b$1.parse:b$1.parseInline)(p2,s2);return s2.hooks&&(c2=s2.hooks.postprocess(c2)),c2}catch(o2){return a2(o2)}}}onError(e2,t2){return n2=>{if(n2.message+="\nPlease report this to https://github.com/markedjs/marked.",e2){let r2="<p>An error occurred:</p><pre>"+w$1(n2.message+"",!0)+"</pre>";return t2?Promise.resolve(r2):r2}if(t2)return Promise.reject(n2);throw n2}}};function k$1(l4,e2){return _$1.parse(l4,e2)}function dedent(templ){for(var values=[],_i2=1;_i2<arguments.length;_i2++)values[_i2-1]=arguments[_i2];var strings=Array.from("string"==typeof templ?[templ]:templ);strings[strings.length-1]=strings[strings.length-1].replace(/\r?\n([\t ]*)$/,"");var indentLengths=strings.reduce(function(arr,str2){var matches=str2.match(/\n([\t ]+|(?!\s).)/g);return matches?arr.concat(matches.map(function(match){var _a2,_b2;return null!==(_b2=null===(_a2=match.match(/[\t ]/g))||void 0===_a2?void 0:_a2.length)&&void 0!==_b2?_b2:0})):arr},[]);if(indentLengths.length){var pattern_1=new RegExp("\n[\t ]{"+Math.min.apply(Math,indentLengths)+"}","g");strings=strings.map(function(str2){return str2.replace(pattern_1,"\n")})}strings[0]=strings[0].replace(/^\r?\n/,"");var string=strings[0];return values.forEach(function(value,i2){var endentations=string.match(/(?:^|\n)( *)$/),endentation=endentations?endentations[1]:"",indentedValue=value;"string"==typeof value&&value.includes("\n")&&(indentedValue=String(value).split("\n").map(function(str2,i3){return 0===i3?str2:""+endentation+str2}).join("\n")),string+=indentedValue+strings[i2+1]}),string}k$1.options=k$1.setOptions=function(l4){return _$1.setOptions(l4),k$1.defaults=_$1.defaults,G$1(k$1.defaults),k$1},k$1.getDefaults=L$1,k$1.defaults=T$1,k$1.use=function(...l4){return _$1.use(...l4),k$1.defaults=_$1.defaults,G$1(k$1.defaults),k$1},k$1.walkTokens=function(l4,e2){return _$1.walkTokens(l4,e2)},k$1.parseInline=_$1.parseInline,k$1.Parser=b$1,k$1.parser=b$1.parse,k$1.Renderer=P$1,k$1.TextRenderer=$$1,k$1.Lexer=x$1,k$1.lexer=x$1.lex,k$1.Tokenizer=y$1,k$1.Hooks=S$1,k$1.parse=k$1,k$1.options,k$1.setOptions,k$1.use,k$1.walkTokens,k$1.parseInline,b$1.parse,x$1.lex;var unknownIcon={body:'<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/><text transform="translate(21.16 64.67)" style="fill: #fff; font-family: ArialMT, Arial; font-size: 67.75px;"><tspan x="0" y="0">?</tspan></text></g>',height:80,width:80},iconsStore=new Map,loaderStore=new Map,registerIconPacks=__name(iconLoaders=>{for(const iconLoader of iconLoaders){if(!iconLoader.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(log.debug("Registering icon pack:",iconLoader.name),"loader"in iconLoader)loaderStore.set(iconLoader.name,iconLoader.loader);else{if(!("icons"in iconLoader))throw log.error("Invalid icon loader:",iconLoader),new Error('Invalid icon loader. Must have either "icons" or "loader" property.');iconsStore.set(iconLoader.name,iconLoader.icons)}}},"registerIconPacks"),getRegisteredIconData=__name(async(iconName,fallbackPrefix)=>{const data=((value,validate,allowSimpleName,provider="")=>{const colonSeparated=value.split(":");if("@"===value.slice(0,1)){if(colonSeparated.length<2||colonSeparated.length>3)return null;provider=colonSeparated.shift().slice(1)}if(colonSeparated.length>3||!colonSeparated.length)return null;if(colonSeparated.length>1){const name$1=colonSeparated.pop(),prefix=colonSeparated.pop(),result={provider:colonSeparated.length>0?colonSeparated[0]:provider,prefix:prefix,name:name$1};return validateIconName(result)?result:null}const name=colonSeparated[0],dashSeparated=name.split("-");if(dashSeparated.length>1){const result={provider:provider,prefix:dashSeparated.shift(),name:dashSeparated.join("-")};return validateIconName(result)?result:null}if(allowSimpleName&&""===provider){const result={provider:provider,prefix:"",name:name};return validateIconName(result,allowSimpleName)?result:null}return null})(iconName,0,void 0!==fallbackPrefix);if(!data)throw new Error(`Invalid icon name: ${iconName}`);const prefix=data.prefix||fallbackPrefix;if(!prefix)throw new Error(`Icon name must contain a prefix: ${iconName}`);let icons=iconsStore.get(prefix);if(!icons){const loader32=loaderStore.get(prefix);if(!loader32)throw new Error(`Icon set not found: ${data.prefix}`);try{icons={...await loader32(),prefix:prefix},iconsStore.set(prefix,icons)}catch(e2){throw log.error(e2),new Error(`Failed to load icon set: ${data.prefix}`)}}const iconData=getIconData(icons,data.name);if(!iconData)throw new Error(`Icon not found: ${iconName}`);return iconData},"getRegisteredIconData"),isIconAvailable=__name(async iconName=>{try{return await getRegisteredIconData(iconName),!0}catch{return!1}},"isIconAvailable"),getIconSVG=__name(async(iconName,customisations,extraAttributes)=>{let iconData;try{iconData=await getRegisteredIconData(iconName,null==customisations?void 0:customisations.fallbackPrefix)}catch(e2){log.error(e2),iconData=unknownIcon}const renderData=function(icon2,customisations){const fullIcon={...defaultIconProps,...icon2},fullCustomisations={...defaultIconCustomisations,...customisations},box={left:fullIcon.left,top:fullIcon.top,width:fullIcon.width,height:fullIcon.height};let body=fullIcon.body;[fullIcon,fullCustomisations].forEach(props=>{const transformations=[],hFlip=props.hFlip,vFlip=props.vFlip;let tempValue,rotation=props.rotate;switch(hFlip?vFlip?rotation+=2:(transformations.push("translate("+(box.width+box.left).toString()+" "+(0-box.top).toString()+")"),transformations.push("scale(-1 1)"),box.top=box.left=0):vFlip&&(transformations.push("translate("+(0-box.left).toString()+" "+(box.height+box.top).toString()+")"),transformations.push("scale(1 -1)"),box.top=box.left=0),rotation<0&&(rotation-=4*Math.floor(rotation/4)),rotation%=4,rotation){case 1:tempValue=box.height/2+box.top,transformations.unshift("rotate(90 "+tempValue.toString()+" "+tempValue.toString()+")");break;case 2:transformations.unshift("rotate(180 "+(box.width/2+box.left).toString()+" "+(box.height/2+box.top).toString()+")");break;case 3:tempValue=box.width/2+box.left,transformations.unshift("rotate(-90 "+tempValue.toString()+" "+tempValue.toString()+")")}rotation%2==1&&(box.left!==box.top&&(tempValue=box.left,box.left=box.top,box.top=tempValue),box.width!==box.height&&(tempValue=box.width,box.width=box.height,box.height=tempValue)),transformations.length&&(body=function(body,start2,end){const split=function(content,tag="defs"){let defs="";const index=content.indexOf("<"+tag);for(;index>=0;){const start2=content.indexOf(">",index),end=content.indexOf("</"+tag);if(-1===start2||-1===end)break;const endEnd=content.indexOf(">",end);if(-1===endEnd)break;defs+=content.slice(start2+1,end).trim(),content=content.slice(0,index).trim()+content.slice(endEnd+1)}return{defs:defs,content:content}}(body);return defs=split.defs,content=start2+split.content+end,defs?"<defs>"+defs+"</defs>"+content:content;var defs,content}(body,'<g transform="'+transformations.join(" ")+'">',"</g>"))});const customisationsWidth=fullCustomisations.width,customisationsHeight=fullCustomisations.height,boxWidth=box.width,boxHeight=box.height;let width,height;null===customisationsWidth?(height=null===customisationsHeight?"1em":"auto"===customisationsHeight?boxHeight:customisationsHeight,width=calculateSize(height,boxWidth/boxHeight)):(width="auto"===customisationsWidth?boxWidth:customisationsWidth,height=null===customisationsHeight?calculateSize(width,boxHeight/boxWidth):"auto"===customisationsHeight?boxHeight:customisationsHeight);const attributes={},setAttr=(prop,value)=>{(value=>"unset"===value||"undefined"===value||"none"===value)(value)||(attributes[prop]=value.toString())};setAttr("width",width),setAttr("height",height);const viewBox=[box.left,box.top,boxWidth,boxHeight];return attributes.viewBox=viewBox.join(" "),{attributes:attributes,viewBox:viewBox,body:body}}(iconData,customisations),svg=function(body,attributes){let renderAttribsHTML=-1===body.indexOf("xlink:")?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const attr in attributes)renderAttribsHTML+=" "+attr+'="'+attributes[attr]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+renderAttribsHTML+">"+body+"</svg>"}(replaceIDs(renderData.body),{...renderData.attributes,...extraAttributes});return sanitizeText(svg,getConfig())},"getIconSVG");function preprocessMarkdown(markdown,{markdownAutoWrap:markdownAutoWrap}){return dedent(markdown.replace(/<br\/>/g,"\n").replace(/\n{2,}/g,"\n"))}function nonMarkdownToLines(nonMarkdownText){return nonMarkdownText.split(/\\n|\n|<br\s*\/?>/gi).map(line2=>{var _a2;return(null==(_a2=line2.trim().match(/<[^>]+>|[^\s<>]+/g))?void 0:_a2.map(word=>({content:word,type:"normal"})))??[]})}function markdownToLines(markdown,config2={}){const preprocessedMarkdown=preprocessMarkdown(markdown,config2),nodes=k$1.lexer(preprocessedMarkdown),lines=[[]];let currentLine=0;function processNode(node,parentType="normal"){if("text"===node.type){node.text.split("\n").forEach((textLine,index)=>{0!==index&&(currentLine++,lines.push([])),textLine.split(" ").forEach(word=>{(word=word.replace(/&#39;/g,"'"))&&lines[currentLine].push({content:word,type:parentType})})})}else"strong"===node.type||"em"===node.type?node.tokens.forEach(contentNode=>{processNode(contentNode,node.type)}):"html"===node.type&&lines[currentLine].push({content:node.text,type:"normal"})}return __name(processNode,"processNode"),nodes.forEach(treeNode=>{var _a2;"paragraph"===treeNode.type?null==(_a2=treeNode.tokens)||_a2.forEach(contentNode=>{processNode(contentNode)}):"html"===treeNode.type?lines[currentLine].push({content:treeNode.text,type:"normal"}):lines[currentLine].push({content:treeNode.raw,type:"normal"})}),lines}function nonMarkdownToHTML(text2){return text2?`<p>${text2.replace(/\\n|\n/g,"<br />")}</p>`:""}function markdownToHTML(markdown,{markdownAutoWrap:markdownAutoWrap}={}){const nodes=k$1.lexer(markdown);function output(node){var _a2,_b2,_c2;return"text"===node.type?!1===markdownAutoWrap?node.text.replace(/\n */g,"<br/>").replace(/ /g,"&nbsp;"):node.text.replace(/\n */g,"<br/>"):"strong"===node.type?`<strong>${null==(_a2=node.tokens)?void 0:_a2.map(output).join("")}</strong>`:"em"===node.type?`<em>${null==(_b2=node.tokens)?void 0:_b2.map(output).join("")}</em>`:"paragraph"===node.type?`<p>${null==(_c2=node.tokens)?void 0:_c2.map(output).join("")}</p>`:"space"===node.type?"":"html"===node.type?`${node.text}`:"escape"===node.type?node.text:(log.warn(`Unsupported markdown: ${node.type}`),node.raw)}return __name(output,"output"),nodes.map(output).join("")}function splitTextToChars(text2){return Intl.Segmenter?[...(new Intl.Segmenter).segment(text2)].map(s2=>s2.segment):[...text2]}function splitWordToFitWidth(checkFit,word){return splitWordToFitWidthRecursion(checkFit,[],splitTextToChars(word.content),word.type)}function splitWordToFitWidthRecursion(checkFit,usedChars,remainingChars,type2){if(0===remainingChars.length)return[{content:usedChars.join(""),type:type2},{content:"",type:type2}];const[nextChar,...rest]=remainingChars,newWord=[...usedChars,nextChar];return checkFit([{content:newWord.join(""),type:type2}])?splitWordToFitWidthRecursion(checkFit,newWord,rest,type2):(0===usedChars.length&&nextChar&&(usedChars.push(nextChar),remainingChars.shift()),[{content:usedChars.join(""),type:type2},{content:remainingChars.join(""),type:type2}])}function splitLineToFitWidth(line2,checkFit){if(line2.some(({content:content})=>content.includes("\n")))throw new Error("splitLineToFitWidth does not support newlines in the line");return splitLineToFitWidthRecursion(line2,checkFit)}function splitLineToFitWidthRecursion(words,checkFit,lines=[],newLine=[]){if(0===words.length)return newLine.length>0&&lines.push(newLine),lines.length>0?lines:[];let joiner="";" "===words[0].content&&(joiner=" ",words.shift());const nextWord=words.shift()??{content:" ",type:"normal"},lineWithNextWord=[...newLine];if(""!==joiner&&lineWithNextWord.push({content:joiner,type:"normal"}),lineWithNextWord.push(nextWord),checkFit(lineWithNextWord))return splitLineToFitWidthRecursion(words,checkFit,lines,lineWithNextWord);if(newLine.length>0)lines.push(newLine),words.unshift(nextWord);else if(nextWord.content){const[line2,rest]=splitWordToFitWidth(checkFit,nextWord);lines.push([line2]),rest.content&&words.unshift(rest)}return splitLineToFitWidthRecursion(words,checkFit,lines)}function applyStyle(dom,styleFn){styleFn&&dom.attr("style",styleFn)}__name(preprocessMarkdown,"preprocessMarkdown"),__name(nonMarkdownToLines,"nonMarkdownToLines"),__name(markdownToLines,"markdownToLines"),__name(nonMarkdownToHTML,"nonMarkdownToHTML"),__name(markdownToHTML,"markdownToHTML"),__name(splitTextToChars,"splitTextToChars"),__name(splitWordToFitWidth,"splitWordToFitWidth"),__name(splitWordToFitWidthRecursion,"splitWordToFitWidthRecursion"),__name(splitLineToFitWidth,"splitLineToFitWidth"),__name(splitLineToFitWidthRecursion,"splitLineToFitWidthRecursion"),__name(applyStyle,"applyStyle");async function addHtmlSpan(element,node,width,classes,addBackground=!1,config2=getConfig()){const fo=element.append("foreignObject");fo.attr("width",`${Math.min(10*width,16384)}px`),fo.attr("height",`${Math.min(10*width,16384)}px`);const div=fo.append("xhtml:div"),sanitizedLabel=hasKatex(node.label)?await renderKatexSanitized(node.label.replace(common_default.lineBreakRegex,"\n"),config2):sanitizeText(node.label,config2),labelClass=node.isNode?"nodeLabel":"edgeLabel",span=div.append("span");span.html(sanitizedLabel),applyStyle(span,node.labelStyle),span.attr("class",`${labelClass} ${classes}`),applyStyle(div,node.labelStyle),div.style("display","table-cell"),div.style("white-space","nowrap"),div.style("line-height","1.5"),width!==Number.POSITIVE_INFINITY&&(div.style("max-width",width+"px"),div.style("text-align","center")),div.attr("xmlns","http://www.w3.org/1999/xhtml"),addBackground&&div.attr("class","labelBkg");let bbox=div.node().getBoundingClientRect();return bbox.width===width&&(div.style("display","table"),div.style("white-space","break-spaces"),div.style("width",width+"px"),bbox=div.node().getBoundingClientRect()),fo.node()}function createTspan(textElement,lineIndex,lineHeight,centerText=!1){const tspan=textElement.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",lineIndex*lineHeight-.1+"em").attr("dy",lineHeight+"em");return centerText&&tspan.attr("text-anchor","middle"),tspan}function computeWidthOfText(parentNode,lineHeight,line2){const testElement=parentNode.append("text"),testSpan=createTspan(testElement,1,lineHeight);updateTextContentAndStyles(testSpan,line2);const textLength=testSpan.node().getComputedTextLength();return testElement.remove(),textLength}function computeDimensionOfText(parentNode,lineHeight,text2){var _a2;const testElement=parentNode.append("text"),testSpan=createTspan(testElement,1,lineHeight);updateTextContentAndStyles(testSpan,[{content:text2,type:"normal"}]);const textDimension=null==(_a2=testSpan.node())?void 0:_a2.getBoundingClientRect();return textDimension&&testElement.remove(),textDimension}function createFormattedText(width,g2,structuredText,addBackground=!1,centerText=!1){const labelGroup=g2.append("g"),bkg=labelGroup.insert("rect").attr("class","background").attr("style","stroke: none"),textElement=labelGroup.append("text").attr("y","-10.1");centerText&&textElement.attr("text-anchor","middle");let lineIndex=0;for(const line2 of structuredText){const checkWidth=__name(line22=>computeWidthOfText(labelGroup,1.1,line22)<=width,"checkWidth"),linesUnderWidth=checkWidth(line2)?[line2]:splitLineToFitWidth(line2,checkWidth);for(const preparedLine of linesUnderWidth){updateTextContentAndStyles(createTspan(textElement,lineIndex,1.1,centerText),preparedLine),lineIndex++}}if(addBackground){const bbox=textElement.node().getBBox(),padding=2;return bkg.attr("x",bbox.x-padding).attr("y",bbox.y-padding).attr("width",bbox.width+2*padding).attr("height",bbox.height+2*padding),labelGroup.node()}return textElement.node()}function decodeHTMLEntities(text2){return text2.replace(/&(amp|lt|gt);/g,(match,entity)=>{switch(entity){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return match}})}function updateTextContentAndStyles(tspan,wrappedLine){tspan.text(""),wrappedLine.forEach((word,index)=>{const innerTspan=tspan.append("tspan").attr("font-style","em"===word.type?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight","strong"===word.type?"bold":"normal");0===index?innerTspan.text(decodeHTMLEntities(word.content)):innerTspan.text(" "+decodeHTMLEntities(word.content))})}async function replaceIconSubstring(text2,config2={}){const pendingReplacements=[];text2.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(fullMatch,prefix,iconName)=>(pendingReplacements.push((async()=>{const registeredIconName=`${prefix}:${iconName}`;return await isIconAvailable(registeredIconName)?await getIconSVG(registeredIconName,void 0,{class:"label-icon"}):`<i class='${sanitizeText(fullMatch,config2).replace(":"," ")}'></i>`})()),fullMatch));const replacements=await Promise.all(pendingReplacements);return text2.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>replacements.shift()??"")}__name(addHtmlSpan,"addHtmlSpan"),__name(createTspan,"createTspan"),__name(computeWidthOfText,"computeWidthOfText"),__name(computeDimensionOfText,"computeDimensionOfText"),__name(createFormattedText,"createFormattedText"),__name(decodeHTMLEntities,"decodeHTMLEntities"),__name(updateTextContentAndStyles,"updateTextContentAndStyles"),__name(replaceIconSubstring,"replaceIconSubstring");var createText=__name(async(el,text2="",{style:style="",isTitle:isTitle=!1,classes:classes="",useHtmlLabels:useHtmlLabels=!0,markdown:markdown=!0,isNode:isNode=!0,width:width=200,addSvgBackground:addSvgBackground=!1}={},config2)=>{if(log.debug("XYZ createText",text2,style,isTitle,classes,useHtmlLabels,isNode,"addSvgBackground: ",addSvgBackground),useHtmlLabels){const htmlText=markdown?markdownToHTML(text2,config2):nonMarkdownToHTML(text2),decodedReplacedText=await replaceIconSubstring(decodeEntities(htmlText),config2),inputForKatex=text2.replace(/\\\\/g,"\\"),node={isNode:isNode,label:hasKatex(text2)?inputForKatex:decodedReplacedText,labelStyle:style.replace("fill:","color:")};return await addHtmlSpan(el,node,width,classes,addSvgBackground,config2)}{const sanitizeBR=decodeEntities(text2.replace(/<br\s*\/?>/g,"<br/>")),svgLabel=createFormattedText(width,el,markdown?markdownToLines(sanitizeBR.replace("<br>","<br/>"),config2):nonMarkdownToLines(sanitizeBR),!!text2&&addSvgBackground,!isNode);if(isNode){/stroke:/.exec(style)&&(style=style.replace("stroke:","lineColor:"));const nodeLabelTextStyle=style.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");select(svgLabel).attr("style",nodeLabelTextStyle)}else{const edgeLabelRectStyle=style.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");select(svgLabel).select("rect").attr("style",edgeLabelRectStyle.replace(/background:/g,"fill:"));const edgeLabelTextStyle=style.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");select(svgLabel).select("text").attr("style",edgeLabelTextStyle)}return isTitle?select(svgLabel).selectAll("tspan.text-outer-tspan").classed("title-row",!0):select(svgLabel).selectAll("tspan.text-outer-tspan").classed("row",!0),svgLabel}},"createText");function t(t2,e2,s2){if(t2&&t2.length){const[n2,o2]=e2,a2=Math.PI/180*s2,h2=Math.cos(a2),r2=Math.sin(a2);for(const e3 of t2){const[t3,s3]=e3;e3[0]=(t3-n2)*h2-(s3-o2)*r2+n2,e3[1]=(t3-n2)*r2+(s3-o2)*h2+o2}}}function e(t2,e2){return t2[0]===e2[0]&&t2[1]===e2[1]}function n(t2,e2){var n2;const o2=e2.hachureAngle+90;let a2=e2.hachureGap;a2<0&&(a2=4*e2.strokeWidth),a2=Math.round(Math.max(a2,.1));let h2=1;return e2.roughness>=1&&((null===(n2=e2.randomizer)||void 0===n2?void 0:n2.next())||Math.random())>.7&&(h2=a2),function(s2,n2,o2,a2=1){const h2=o2,r2=Math.max(n2,.1),i2=s2[0]&&s2[0][0]&&"number"==typeof s2[0][0]?[s2]:s2,c2=[0,0];if(h2)for(const e2 of i2)t(e2,c2,h2);const l4=function(t2,s3,n3){const o3=[];for(const s4 of t2){const t3=[...s4];e(t3[0],t3[t3.length-1])||t3.push([t3[0][0],t3[0][1]]),t3.length>2&&o3.push(t3)}const a3=[];s3=Math.max(s3,.1);const h3=[];for(const t3 of o3)for(let e2=0;e2<t3.length-1;e2++){const s4=t3[e2],n4=t3[e2+1];if(s4[1]!==n4[1]){const t4=Math.min(s4[1],n4[1]);h3.push({ymin:t4,ymax:Math.max(s4[1],n4[1]),x:t4===s4[1]?s4[0]:n4[0],islope:(n4[0]-s4[0])/(n4[1]-s4[1])})}}if(h3.sort((t3,e2)=>t3.ymin<e2.ymin?-1:t3.ymin>e2.ymin?1:t3.x<e2.x?-1:t3.x>e2.x?1:t3.ymax===e2.ymax?0:(t3.ymax-e2.ymax)/Math.abs(t3.ymax-e2.ymax)),!h3.length)return a3;let r3=[],i3=h3[0].ymin,c3=0;for(;r3.length||h3.length;){if(h3.length){let t3=-1;for(let e2=0;e2<h3.length&&!(h3[e2].ymin>i3);e2++)t3=e2;h3.splice(0,t3+1).forEach(t4=>{r3.push({s:i3,edge:t4})})}if(r3=r3.filter(t3=>!(t3.edge.ymax<=i3)),r3.sort((t3,e2)=>t3.edge.x===e2.edge.x?0:(t3.edge.x-e2.edge.x)/Math.abs(t3.edge.x-e2.edge.x)),(1!==n3||c3%s3==0)&&r3.length>1)for(let t3=0;t3<r3.length;t3+=2){const e2=t3+1;if(e2>=r3.length)break;const s4=r3[t3].edge,n4=r3[e2].edge;a3.push([[Math.round(s4.x),i3],[Math.round(n4.x),i3]])}i3+=n3,r3.forEach(t3=>{t3.edge.x=t3.edge.x+n3*t3.edge.islope}),c3++}return a3}(i2,r2,a2);if(h2){for(const e2 of i2)t(e2,c2,-h2);!function(e2,s3,n3){const o3=[];e2.forEach(t2=>o3.push(...t2)),t(o3,s3,n3)}(l4,c2,-h2)}return l4}(t2,a2,o2,h2||1)}class o{constructor(t2){this.helper=t2}fillPolygons(t2,e2){return this._fillPolygons(t2,e2)}_fillPolygons(t2,e2){const s2=n(t2,e2);return{type:"fillSketch",ops:this.renderLines(s2,e2)}}renderLines(t2,e2){const s2=[];for(const n2 of t2)s2.push(...this.helper.doubleLineOps(n2[0][0],n2[0][1],n2[1][0],n2[1][1],e2));return s2}}function a(t2){const e2=t2[0],s2=t2[1];return Math.sqrt(Math.pow(e2[0]-s2[0],2)+Math.pow(e2[1]-s2[1],2))}class h extends o{fillPolygons(t2,e2){let s2=e2.hachureGap;s2<0&&(s2=4*e2.strokeWidth),s2=Math.max(s2,.1);const o2=n(t2,Object.assign({},e2,{hachureGap:s2})),h2=Math.PI/180*e2.hachureAngle,r2=[],i2=.5*s2*Math.cos(h2),c2=.5*s2*Math.sin(h2);for(const[t3,e3]of o2)a([t3,e3])&&r2.push([[t3[0]-i2,t3[1]+c2],[...e3]],[[t3[0]+i2,t3[1]-c2],[...e3]]);return{type:"fillSketch",ops:this.renderLines(r2,e2)}}}class r extends o{fillPolygons(t2,e2){const s2=this._fillPolygons(t2,e2),n2=Object.assign({},e2,{hachureAngle:e2.hachureAngle+90}),o2=this._fillPolygons(t2,n2);return s2.ops=s2.ops.concat(o2.ops),s2}}class i{constructor(t2){this.helper=t2}fillPolygons(t2,e2){const s2=n(t2,e2=Object.assign({},e2,{hachureAngle:0}));return this.dotsOnLines(s2,e2)}dotsOnLines(t2,e2){const s2=[];let n2=e2.hachureGap;n2<0&&(n2=4*e2.strokeWidth),n2=Math.max(n2,.1);let o2=e2.fillWeight;o2<0&&(o2=e2.strokeWidth/2);const h2=n2/4;for(const r2 of t2){const t3=a(r2),i2=t3/n2,c2=Math.ceil(i2)-1,l4=t3-c2*n2,u2=(r2[0][0]+r2[1][0])/2-n2/4,p2=Math.min(r2[0][1],r2[1][1]);for(let t4=0;t4<c2;t4++){const a2=p2+l4+t4*n2,r3=u2-h2+2*Math.random()*h2,i3=a2-h2+2*Math.random()*h2,c3=this.helper.ellipse(r3,i3,o2,o2,e2);s2.push(...c3.ops)}}return{type:"fillSketch",ops:s2}}}class c{constructor(t2){this.helper=t2}fillPolygons(t2,e2){const s2=n(t2,e2);return{type:"fillSketch",ops:this.dashedLine(s2,e2)}}dashedLine(t2,e2){const s2=e2.dashOffset<0?e2.hachureGap<0?4*e2.strokeWidth:e2.hachureGap:e2.dashOffset,n2=e2.dashGap<0?e2.hachureGap<0?4*e2.strokeWidth:e2.hachureGap:e2.dashGap,o2=[];return t2.forEach(t3=>{const h2=a(t3),r2=Math.floor(h2/(s2+n2)),i2=(h2+n2-r2*(s2+n2))/2;let c2=t3[0],l4=t3[1];c2[0]>l4[0]&&(c2=t3[1],l4=t3[0]);const u2=Math.atan((l4[1]-c2[1])/(l4[0]-c2[0]));for(let t4=0;t4<r2;t4++){const a2=t4*(s2+n2),h3=a2+s2,r3=[c2[0]+a2*Math.cos(u2)+i2*Math.cos(u2),c2[1]+a2*Math.sin(u2)+i2*Math.sin(u2)],l5=[c2[0]+h3*Math.cos(u2)+i2*Math.cos(u2),c2[1]+h3*Math.sin(u2)+i2*Math.sin(u2)];o2.push(...this.helper.doubleLineOps(r3[0],r3[1],l5[0],l5[1],e2))}}),o2}}class l3{constructor(t2){this.helper=t2}fillPolygons(t2,e2){const s2=e2.hachureGap<0?4*e2.strokeWidth:e2.hachureGap,o2=e2.zigzagOffset<0?s2:e2.zigzagOffset,a2=n(t2,e2=Object.assign({},e2,{hachureGap:s2+o2}));return{type:"fillSketch",ops:this.zigzagLines(a2,o2,e2)}}zigzagLines(t2,e2,s2){const n2=[];return t2.forEach(t3=>{const o2=a(t3),h2=Math.round(o2/(2*e2));let r2=t3[0],i2=t3[1];r2[0]>i2[0]&&(r2=t3[1],i2=t3[0]);const c2=Math.atan((i2[1]-r2[1])/(i2[0]-r2[0]));for(let t4=0;t4<h2;t4++){const o3=2*t4*e2,a2=2*(t4+1)*e2,h3=Math.sqrt(2*Math.pow(e2,2)),i3=[r2[0]+o3*Math.cos(c2),r2[1]+o3*Math.sin(c2)],l4=[r2[0]+a2*Math.cos(c2),r2[1]+a2*Math.sin(c2)],u2=[i3[0]+h3*Math.cos(c2+Math.PI/4),i3[1]+h3*Math.sin(c2+Math.PI/4)];n2.push(...this.helper.doubleLineOps(i3[0],i3[1],u2[0],u2[1],s2),...this.helper.doubleLineOps(u2[0],u2[1],l4[0],l4[1],s2))}}),n2}}const u={};class p{constructor(t2){this.seed=t2}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}}const M={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function k(t2,e2){return t2.type===e2}function b(t2){const e2=[],s2=function(t3){const e3=new Array;for(;""!==t3;)if(t3.match(/^([ \t\r\n,]+)/))t3=t3.substr(RegExp.$1.length);else if(t3.match(/^([aAcChHlLmMqQsStTvVzZ])/))e3[e3.length]={type:0,text:RegExp.$1},t3=t3.substr(RegExp.$1.length);else{if(!t3.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];e3[e3.length]={type:1,text:`${parseFloat(RegExp.$1)}`},t3=t3.substr(RegExp.$1.length)}return e3[e3.length]={type:2,text:""},e3}(t2);let n2="BOD",o2=0,a2=s2[o2];for(;!k(a2,2);){let h2=0;const r2=[];if("BOD"===n2){if("M"!==a2.text&&"m"!==a2.text)return b("M0,0"+t2);o2++,h2=M[a2.text],n2=a2.text}else k(a2,1)?h2=M[n2]:(o2++,h2=M[a2.text],n2=a2.text);if(!(o2+h2<s2.length))throw new Error("Path data ended short");for(let t3=o2;t3<o2+h2;t3++){const e3=s2[t3];if(!k(e3,1))throw new Error("Param not a number: "+n2+","+e3.text);r2[r2.length]=+e3.text}if("number"!=typeof M[n2])throw new Error("Bad segment: "+n2);{const t3={key:n2,data:r2};e2.push(t3),o2+=h2,a2=s2[o2],"M"===n2&&(n2="L"),"m"===n2&&(n2="l")}}return e2}function y2(t2){let e2=0,s2=0,n2=0,o2=0;const a2=[];for(const{key:h2,data:r2}of t2)switch(h2){case"M":a2.push({key:"M",data:[...r2]}),[e2,s2]=r2,[n2,o2]=r2;break;case"m":e2+=r2[0],s2+=r2[1],a2.push({key:"M",data:[e2,s2]}),n2=e2,o2=s2;break;case"L":a2.push({key:"L",data:[...r2]}),[e2,s2]=r2;break;case"l":e2+=r2[0],s2+=r2[1],a2.push({key:"L",data:[e2,s2]});break;case"C":a2.push({key:"C",data:[...r2]}),e2=r2[4],s2=r2[5];break;case"c":{const t3=r2.map((t4,n3)=>n3%2?t4+s2:t4+e2);a2.push({key:"C",data:t3}),e2=t3[4],s2=t3[5];break}case"Q":a2.push({key:"Q",data:[...r2]}),e2=r2[2],s2=r2[3];break;case"q":{const t3=r2.map((t4,n3)=>n3%2?t4+s2:t4+e2);a2.push({key:"Q",data:t3}),e2=t3[2],s2=t3[3];break}case"A":a2.push({key:"A",data:[...r2]}),e2=r2[5],s2=r2[6];break;case"a":e2+=r2[5],s2+=r2[6],a2.push({key:"A",data:[r2[0],r2[1],r2[2],r2[3],r2[4],e2,s2]});break;case"H":a2.push({key:"H",data:[...r2]}),e2=r2[0];break;case"h":e2+=r2[0],a2.push({key:"H",data:[e2]});break;case"V":a2.push({key:"V",data:[...r2]}),s2=r2[0];break;case"v":s2+=r2[0],a2.push({key:"V",data:[s2]});break;case"S":a2.push({key:"S",data:[...r2]}),e2=r2[2],s2=r2[3];break;case"s":{const t3=r2.map((t4,n3)=>n3%2?t4+s2:t4+e2);a2.push({key:"S",data:t3}),e2=t3[2],s2=t3[3];break}case"T":a2.push({key:"T",data:[...r2]}),e2=r2[0],s2=r2[1];break;case"t":e2+=r2[0],s2+=r2[1],a2.push({key:"T",data:[e2,s2]});break;case"Z":case"z":a2.push({key:"Z",data:[]}),e2=n2,s2=o2}return a2}function m(t2){const e2=[];let s2="",n2=0,o2=0,a2=0,h2=0,r2=0,i2=0;for(const{key:c2,data:l4}of t2){switch(c2){case"M":e2.push({key:"M",data:[...l4]}),[n2,o2]=l4,[a2,h2]=l4;break;case"C":e2.push({key:"C",data:[...l4]}),n2=l4[4],o2=l4[5],r2=l4[2],i2=l4[3];break;case"L":e2.push({key:"L",data:[...l4]}),[n2,o2]=l4;break;case"H":n2=l4[0],e2.push({key:"L",data:[n2,o2]});break;case"V":o2=l4[0],e2.push({key:"L",data:[n2,o2]});break;case"S":{let t3=0,a3=0;"C"===s2||"S"===s2?(t3=n2+(n2-r2),a3=o2+(o2-i2)):(t3=n2,a3=o2),e2.push({key:"C",data:[t3,a3,...l4]}),r2=l4[0],i2=l4[1],n2=l4[2],o2=l4[3];break}case"T":{const[t3,a3]=l4;let h3=0,c3=0;"Q"===s2||"T"===s2?(h3=n2+(n2-r2),c3=o2+(o2-i2)):(h3=n2,c3=o2);const u2=n2+2*(h3-n2)/3,p2=o2+2*(c3-o2)/3,f2=t3+2*(h3-t3)/3,d2=a3+2*(c3-a3)/3;e2.push({key:"C",data:[u2,p2,f2,d2,t3,a3]}),r2=h3,i2=c3,n2=t3,o2=a3;break}case"Q":{const[t3,s3,a3,h3]=l4,c3=n2+2*(t3-n2)/3,u2=o2+2*(s3-o2)/3,p2=a3+2*(t3-a3)/3,f2=h3+2*(s3-h3)/3;e2.push({key:"C",data:[c3,u2,p2,f2,a3,h3]}),r2=t3,i2=s3,n2=a3,o2=h3;break}case"A":{const t3=Math.abs(l4[0]),s3=Math.abs(l4[1]),a3=l4[2],h3=l4[3],r3=l4[4],i3=l4[5],c3=l4[6];0===t3||0===s3?(e2.push({key:"C",data:[n2,o2,i3,c3,i3,c3]}),n2=i3,o2=c3):n2===i3&&o2===c3||(x(n2,o2,i3,c3,t3,s3,a3,h3,r3).forEach(function(t4){e2.push({key:"C",data:t4})}),n2=i3,o2=c3);break}case"Z":e2.push({key:"Z",data:[]}),n2=a2,o2=h2}s2=c2}return e2}function w(t2,e2,s2){return[t2*Math.cos(s2)-e2*Math.sin(s2),t2*Math.sin(s2)+e2*Math.cos(s2)]}function x(t2,e2,s2,n2,o2,a2,h2,r2,i2,c2){const l4=(u2=h2,Math.PI*u2/180);var u2;let p2=[],f2=0,d2=0,g2=0,M2=0;if(c2)[f2,d2,g2,M2]=c2;else{[t2,e2]=w(t2,e2,-l4),[s2,n2]=w(s2,n2,-l4);const h3=(t2-s2)/2,c3=(e2-n2)/2;let u3=h3*h3/(o2*o2)+c3*c3/(a2*a2);u3>1&&(u3=Math.sqrt(u3),o2*=u3,a2*=u3);const p3=o2*o2,k3=a2*a2,b3=p3*k3-p3*c3*c3-k3*h3*h3,y4=p3*c3*c3+k3*h3*h3,m3=(r2===i2?-1:1)*Math.sqrt(Math.abs(b3/y4));g2=m3*o2*c3/a2+(t2+s2)/2,M2=m3*-a2*h3/o2+(e2+n2)/2,f2=Math.asin(parseFloat(((e2-M2)/a2).toFixed(9))),d2=Math.asin(parseFloat(((n2-M2)/a2).toFixed(9))),t2<g2&&(f2=Math.PI-f2),s2<g2&&(d2=Math.PI-d2),f2<0&&(f2=2*Math.PI+f2),d2<0&&(d2=2*Math.PI+d2),i2&&f2>d2&&(f2-=2*Math.PI),!i2&&d2>f2&&(d2-=2*Math.PI)}let k2=d2-f2;if(Math.abs(k2)>120*Math.PI/180){const t3=d2,e3=s2,r3=n2;d2=i2&&d2>f2?f2+120*Math.PI/180*1:f2+120*Math.PI/180*-1,p2=x(s2=g2+o2*Math.cos(d2),n2=M2+a2*Math.sin(d2),e3,r3,o2,a2,h2,0,i2,[d2,t3,g2,M2])}k2=d2-f2;const b2=Math.cos(f2),y3=Math.sin(f2),m2=Math.cos(d2),P3=Math.sin(d2),v2=Math.tan(k2/4),S2=4/3*o2*v2,O2=4/3*a2*v2,L2=[t2,e2],T2=[t2+S2*y3,e2-O2*b2],D2=[s2+S2*P3,n2-O2*m2],A2=[s2,n2];if(T2[0]=2*L2[0]-T2[0],T2[1]=2*L2[1]-T2[1],c2)return[T2,D2,A2].concat(p2);{p2=[T2,D2,A2].concat(p2);const t3=[];for(let e3=0;e3<p2.length;e3+=3){const s3=w(p2[e3][0],p2[e3][1],l4),n3=w(p2[e3+1][0],p2[e3+1][1],l4),o3=w(p2[e3+2][0],p2[e3+2][1],l4);t3.push([s3[0],s3[1],n3[0],n3[1],o3[0],o3[1]])}return t3}}const P2={randOffset:function(t2,e2){return G(t2,e2)},randOffsetWithRange:function(t2,e2,s2){return E(t2,e2,s2)},ellipse:function(t2,e2,s2,n2,o2){return D(t2,e2,o2,T(s2,n2,o2)).opset},doubleLineOps:function(t2,e2,s2,n2,o2){return $2(t2,e2,s2,n2,o2,!0)}};function v(t2,e2,s2,n2,o2){return{type:"path",ops:$2(t2,e2,s2,n2,o2)}}function S(t2,e2,s2){const n2=(t2||[]).length;if(n2>2){const o2=[];for(let e3=0;e3<n2-1;e3++)o2.push(...$2(t2[e3][0],t2[e3][1],t2[e3+1][0],t2[e3+1][1],s2));return e2&&o2.push(...$2(t2[n2-1][0],t2[n2-1][1],t2[0][0],t2[0][1],s2)),{type:"path",ops:o2}}return 2===n2?v(t2[0][0],t2[0][1],t2[1][0],t2[1][1],s2):{type:"path",ops:[]}}function L(t2,e2){if(t2.length){const s2="number"==typeof t2[0][0]?[t2]:t2,n2=j(s2[0],1*(1+.2*e2.roughness),e2),o2=e2.disableMultiStroke?[]:j(s2[0],1.5*(1+.22*e2.roughness),z(e2));for(let t3=1;t3<s2.length;t3++){const a2=s2[t3];if(a2.length){const t4=j(a2,1*(1+.2*e2.roughness),e2),s3=e2.disableMultiStroke?[]:j(a2,1.5*(1+.22*e2.roughness),z(e2));for(const e3 of t4)"move"!==e3.op&&n2.push(e3);for(const t5 of s3)"move"!==t5.op&&o2.push(t5)}}return{type:"path",ops:n2.concat(o2)}}return{type:"path",ops:[]}}function T(t2,e2,s2){const n2=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(t2/2,2)+Math.pow(e2/2,2))/2)),o2=Math.ceil(Math.max(s2.curveStepCount,s2.curveStepCount/Math.sqrt(200)*n2)),a2=2*Math.PI/o2;let h2=Math.abs(t2/2),r2=Math.abs(e2/2);const i2=1-s2.curveFitting;return h2+=G(h2*i2,s2),r2+=G(r2*i2,s2),{increment:a2,rx:h2,ry:r2}}function D(t2,e2,s2,n2){const[o2,a2]=F(n2.increment,t2,e2,n2.rx,n2.ry,1,n2.increment*E(.1,E(.4,1,s2),s2),s2);let h2=q(o2,null,s2);if(!s2.disableMultiStroke&&0!==s2.roughness){const[o3]=F(n2.increment,t2,e2,n2.rx,n2.ry,1.5,0,s2),a3=q(o3,null,s2);h2=h2.concat(a3)}return{estimatedPoints:a2,opset:{type:"path",ops:h2}}}function A(t2,e2,s2,n2,o2,a2,h2,r2,i2){const c2=t2,l4=e2;let u2=Math.abs(s2/2),p2=Math.abs(n2/2);u2+=G(.01*u2,i2),p2+=G(.01*p2,i2);let f2=o2,d2=a2;for(;f2<0;)f2+=2*Math.PI,d2+=2*Math.PI;d2-f2>2*Math.PI&&(f2=0,d2=2*Math.PI);const g2=2*Math.PI/i2.curveStepCount,M2=Math.min(g2/2,(d2-f2)/2),k2=V(M2,c2,l4,u2,p2,f2,d2,1,i2);if(!i2.disableMultiStroke){const t3=V(M2,c2,l4,u2,p2,f2,d2,1.5,i2);k2.push(...t3)}return h2&&(r2?k2.push(...$2(c2,l4,c2+u2*Math.cos(f2),l4+p2*Math.sin(f2),i2),...$2(c2,l4,c2+u2*Math.cos(d2),l4+p2*Math.sin(d2),i2)):k2.push({op:"lineTo",data:[c2,l4]},{op:"lineTo",data:[c2+u2*Math.cos(f2),l4+p2*Math.sin(f2)]})),{type:"path",ops:k2}}function _(t2,e2){const s2=m(y2(b(t2))),n2=[];let o2=[0,0],a2=[0,0];for(const{key:t3,data:h2}of s2)switch(t3){case"M":a2=[h2[0],h2[1]],o2=[h2[0],h2[1]];break;case"L":n2.push(...$2(a2[0],a2[1],h2[0],h2[1],e2)),a2=[h2[0],h2[1]];break;case"C":{const[t4,s3,o3,r2,i2,c2]=h2;n2.push(...Z(t4,s3,o3,r2,i2,c2,a2,e2)),a2=[i2,c2];break}case"Z":n2.push(...$2(a2[0],a2[1],o2[0],o2[1],e2)),a2=[o2[0],o2[1]]}return{type:"path",ops:n2}}function I(t2,e2){const s2=[];for(const n2 of t2)if(n2.length){const t3=e2.maxRandomnessOffset||0,o2=n2.length;if(o2>2){s2.push({op:"move",data:[n2[0][0]+G(t3,e2),n2[0][1]+G(t3,e2)]});for(let a2=1;a2<o2;a2++)s2.push({op:"lineTo",data:[n2[a2][0]+G(t3,e2),n2[a2][1]+G(t3,e2)]})}}return{type:"fillPath",ops:s2}}function C(t2,e2){return function(t3,e3){let s2=t3.fillStyle||"hachure";if(!u[s2])switch(s2){case"zigzag":u[s2]||(u[s2]=new h(e3));break;case"cross-hatch":u[s2]||(u[s2]=new r(e3));break;case"dots":u[s2]||(u[s2]=new i(e3));break;case"dashed":u[s2]||(u[s2]=new c(e3));break;case"zigzag-line":u[s2]||(u[s2]=new l3(e3));break;default:s2="hachure",u[s2]||(u[s2]=new o(e3))}return u[s2]}(e2,P2).fillPolygons(t2,e2)}function z(t2){const e2=Object.assign({},t2);return e2.randomizer=void 0,t2.seed&&(e2.seed=t2.seed+1),e2}function W(t2){return t2.randomizer||(t2.randomizer=new p(t2.seed||0)),t2.randomizer.next()}function E(t2,e2,s2,n2=1){return s2.roughness*n2*(W(s2)*(e2-t2)+t2)}function G(t2,e2,s2=1){return E(-t2,t2,e2,s2)}function $2(t2,e2,s2,n2,o2,a2=!1){const h2=a2?o2.disableMultiStrokeFill:o2.disableMultiStroke,r2=R(t2,e2,s2,n2,o2,!0,!1);if(h2)return r2;const i2=R(t2,e2,s2,n2,o2,!0,!0);return r2.concat(i2)}function R(t2,e2,s2,n2,o2,a2,h2){const r2=Math.pow(t2-s2,2)+Math.pow(e2-n2,2),i2=Math.sqrt(r2);let c2=1;c2=i2<200?1:i2>500?.4:-.0016668*i2+1.233334;let l4=o2.maxRandomnessOffset||0;l4*l4*100>r2&&(l4=i2/10);const u2=l4/2,p2=.2+.2*W(o2);let f2=o2.bowing*o2.maxRandomnessOffset*(n2-e2)/200,d2=o2.bowing*o2.maxRandomnessOffset*(t2-s2)/200;f2=G(f2,o2,c2),d2=G(d2,o2,c2);const g2=[],M2=()=>G(u2,o2,c2),k2=()=>G(l4,o2,c2),b2=o2.preserveVertices;return h2?g2.push({op:"move",data:[t2+(b2?0:M2()),e2+(b2?0:M2())]}):g2.push({op:"move",data:[t2+(b2?0:G(l4,o2,c2)),e2+(b2?0:G(l4,o2,c2))]}),h2?g2.push({op:"bcurveTo",data:[f2+t2+(s2-t2)*p2+M2(),d2+e2+(n2-e2)*p2+M2(),f2+t2+2*(s2-t2)*p2+M2(),d2+e2+2*(n2-e2)*p2+M2(),s2+(b2?0:M2()),n2+(b2?0:M2())]}):g2.push({op:"bcurveTo",data:[f2+t2+(s2-t2)*p2+k2(),d2+e2+(n2-e2)*p2+k2(),f2+t2+2*(s2-t2)*p2+k2(),d2+e2+2*(n2-e2)*p2+k2(),s2+(b2?0:k2()),n2+(b2?0:k2())]}),g2}function j(t2,e2,s2){if(!t2.length)return[];const n2=[];n2.push([t2[0][0]+G(e2,s2),t2[0][1]+G(e2,s2)]),n2.push([t2[0][0]+G(e2,s2),t2[0][1]+G(e2,s2)]);for(let o2=1;o2<t2.length;o2++)n2.push([t2[o2][0]+G(e2,s2),t2[o2][1]+G(e2,s2)]),o2===t2.length-1&&n2.push([t2[o2][0]+G(e2,s2),t2[o2][1]+G(e2,s2)]);return q(n2,null,s2)}function q(t2,e2,s2){const n2=t2.length,o2=[];if(n2>3){const a2=[],h2=1-s2.curveTightness;o2.push({op:"move",data:[t2[1][0],t2[1][1]]});for(let e3=1;e3+2<n2;e3++){const s3=t2[e3];a2[0]=[s3[0],s3[1]],a2[1]=[s3[0]+(h2*t2[e3+1][0]-h2*t2[e3-1][0])/6,s3[1]+(h2*t2[e3+1][1]-h2*t2[e3-1][1])/6],a2[2]=[t2[e3+1][0]+(h2*t2[e3][0]-h2*t2[e3+2][0])/6,t2[e3+1][1]+(h2*t2[e3][1]-h2*t2[e3+2][1])/6],a2[3]=[t2[e3+1][0],t2[e3+1][1]],o2.push({op:"bcurveTo",data:[a2[1][0],a2[1][1],a2[2][0],a2[2][1],a2[3][0],a2[3][1]]})}}else 3===n2?(o2.push({op:"move",data:[t2[1][0],t2[1][1]]}),o2.push({op:"bcurveTo",data:[t2[1][0],t2[1][1],t2[2][0],t2[2][1],t2[2][0],t2[2][1]]})):2===n2&&o2.push(...R(t2[0][0],t2[0][1],t2[1][0],t2[1][1],s2,0,!0));return o2}function F(t2,e2,s2,n2,o2,a2,h2,r2){const i2=[],c2=[];if(0===r2.roughness){t2/=4,c2.push([e2+n2*Math.cos(-t2),s2+o2*Math.sin(-t2)]);for(let a3=0;a3<=2*Math.PI;a3+=t2){const t3=[e2+n2*Math.cos(a3),s2+o2*Math.sin(a3)];i2.push(t3),c2.push(t3)}c2.push([e2+n2*Math.cos(0),s2+o2*Math.sin(0)]),c2.push([e2+n2*Math.cos(t2),s2+o2*Math.sin(t2)])}else{const l4=G(.5,r2)-Math.PI/2;c2.push([G(a2,r2)+e2+.9*n2*Math.cos(l4-t2),G(a2,r2)+s2+.9*o2*Math.sin(l4-t2)]);const u2=2*Math.PI+l4-.01;for(let h3=l4;h3<u2;h3+=t2){const t3=[G(a2,r2)+e2+n2*Math.cos(h3),G(a2,r2)+s2+o2*Math.sin(h3)];i2.push(t3),c2.push(t3)}c2.push([G(a2,r2)+e2+n2*Math.cos(l4+2*Math.PI+.5*h2),G(a2,r2)+s2+o2*Math.sin(l4+2*Math.PI+.5*h2)]),c2.push([G(a2,r2)+e2+.98*n2*Math.cos(l4+h2),G(a2,r2)+s2+.98*o2*Math.sin(l4+h2)]),c2.push([G(a2,r2)+e2+.9*n2*Math.cos(l4+.5*h2),G(a2,r2)+s2+.9*o2*Math.sin(l4+.5*h2)])}return[c2,i2]}function V(t2,e2,s2,n2,o2,a2,h2,r2,i2){const c2=a2+G(.1,i2),l4=[];l4.push([G(r2,i2)+e2+.9*n2*Math.cos(c2-t2),G(r2,i2)+s2+.9*o2*Math.sin(c2-t2)]);for(let a3=c2;a3<=h2;a3+=t2)l4.push([G(r2,i2)+e2+n2*Math.cos(a3),G(r2,i2)+s2+o2*Math.sin(a3)]);return l4.push([e2+n2*Math.cos(h2),s2+o2*Math.sin(h2)]),l4.push([e2+n2*Math.cos(h2),s2+o2*Math.sin(h2)]),q(l4,0,i2)}function Z(t2,e2,s2,n2,o2,a2,h2,r2){const i2=[],c2=[r2.maxRandomnessOffset||1,(r2.maxRandomnessOffset||1)+.3];let l4=[0,0];const u2=r2.disableMultiStroke?1:2,p2=r2.preserveVertices;for(let f2=0;f2<u2;f2++)0===f2?i2.push({op:"move",data:[h2[0],h2[1]]}):i2.push({op:"move",data:[h2[0]+(p2?0:G(c2[0],r2)),h2[1]+(p2?0:G(c2[0],r2))]}),l4=p2?[o2,a2]:[o2+G(c2[f2],r2),a2+G(c2[f2],r2)],i2.push({op:"bcurveTo",data:[t2+G(c2[f2],r2),e2+G(c2[f2],r2),s2+G(c2[f2],r2),n2+G(c2[f2],r2),l4[0],l4[1]]});return i2}function Q(t2){return[...t2]}function H(t2,e2=0){const s2=t2.length;if(s2<3)throw new Error("A curve must have at least three points.");const n2=[];if(3===s2)n2.push(Q(t2[0]),Q(t2[1]),Q(t2[2]),Q(t2[2]));else{const s3=[];s3.push(t2[0],t2[0]);for(let e3=1;e3<t2.length;e3++)s3.push(t2[e3]),e3===t2.length-1&&s3.push(t2[e3]);const o2=[],a2=1-e2;n2.push(Q(s3[0]));for(let t3=1;t3+2<s3.length;t3++){const e3=s3[t3];o2[0]=[e3[0],e3[1]],o2[1]=[e3[0]+(a2*s3[t3+1][0]-a2*s3[t3-1][0])/6,e3[1]+(a2*s3[t3+1][1]-a2*s3[t3-1][1])/6],o2[2]=[s3[t3+1][0]+(a2*s3[t3][0]-a2*s3[t3+2][0])/6,s3[t3+1][1]+(a2*s3[t3][1]-a2*s3[t3+2][1])/6],o2[3]=[s3[t3+1][0],s3[t3+1][1]],n2.push(o2[1],o2[2],o2[3])}}return n2}function N(t2,e2){return Math.pow(t2[0]-e2[0],2)+Math.pow(t2[1]-e2[1],2)}function B2(t2,e2,s2){const n2=N(e2,s2);if(0===n2)return N(t2,e2);let o2=((t2[0]-e2[0])*(s2[0]-e2[0])+(t2[1]-e2[1])*(s2[1]-e2[1]))/n2;return o2=Math.max(0,Math.min(1,o2)),N(t2,J(e2,s2,o2))}function J(t2,e2,s2){return[t2[0]+(e2[0]-t2[0])*s2,t2[1]+(e2[1]-t2[1])*s2]}function K(t2,e2,s2,n2){const o2=n2||[];if(function(t3,e3){const s3=t3[e3+0],n3=t3[e3+1],o3=t3[e3+2],a3=t3[e3+3];let h3=3*n3[0]-2*s3[0]-a3[0];h3*=h3;let r2=3*n3[1]-2*s3[1]-a3[1];r2*=r2;let i2=3*o3[0]-2*a3[0]-s3[0];i2*=i2;let c2=3*o3[1]-2*a3[1]-s3[1];return c2*=c2,h3<i2&&(h3=i2),r2<c2&&(r2=c2),h3+r2}(t2,e2)<s2){const s3=t2[e2+0];o2.length?(a2=o2[o2.length-1],h2=s3,Math.sqrt(N(a2,h2))>1&&o2.push(s3)):o2.push(s3),o2.push(t2[e2+3])}else{const n3=.5,a3=t2[e2+0],h3=t2[e2+1],r2=t2[e2+2],i2=t2[e2+3],c2=J(a3,h3,n3),l4=J(h3,r2,n3),u2=J(r2,i2,n3),p2=J(c2,l4,n3),f2=J(l4,u2,n3),d2=J(p2,f2,n3);K([a3,c2,p2,d2],0,s2,o2),K([d2,f2,u2,i2],0,s2,o2)}var a2,h2;return o2}function U(t2,e2){return X(t2,0,t2.length,e2)}function X(t2,e2,s2,n2,o2){const a2=o2||[],h2=t2[e2],r2=t2[s2-1];let i2=0,c2=1;for(let n3=e2+1;n3<s2-1;++n3){const e3=B2(t2[n3],h2,r2);e3>i2&&(i2=e3,c2=n3)}return Math.sqrt(i2)>n2?(X(t2,e2,c2+1,n2,a2),X(t2,c2,s2,n2,a2)):(a2.length||a2.push(h2),a2.push(r2)),a2}function Y(t2,e2=.15,s2){const n2=[],o2=(t2.length-1)/3;for(let s3=0;s3<o2;s3++)K(t2,3*s3,e2,n2);return s2&&s2>0?X(n2,0,n2.length,s2):n2}const tt="none";class et{constructor(t2){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=t2||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(t2){return t2?Object.assign({},this.defaultOptions,t2):this.defaultOptions}_d(t2,e2,s2){return{shape:t2,sets:e2||[],options:s2||this.defaultOptions}}line(t2,e2,s2,n2,o2){const a2=this._o(o2);return this._d("line",[v(t2,e2,s2,n2,a2)],a2)}rectangle(t2,e2,s2,n2,o2){const a2=this._o(o2),h2=[],r2=function(t2,e2,s2,n2,o2){return S([[t2,e2],[t2+s2,e2],[t2+s2,e2+n2],[t2,e2+n2]],!0,o2)}(t2,e2,s2,n2,a2);if(a2.fill){const o3=[[t2,e2],[t2+s2,e2],[t2+s2,e2+n2],[t2,e2+n2]];"solid"===a2.fillStyle?h2.push(I([o3],a2)):h2.push(C([o3],a2))}return a2.stroke!==tt&&h2.push(r2),this._d("rectangle",h2,a2)}ellipse(t2,e2,s2,n2,o2){const a2=this._o(o2),h2=[],r2=T(s2,n2,a2),i2=D(t2,e2,a2,r2);if(a2.fill)if("solid"===a2.fillStyle){const s3=D(t2,e2,a2,r2).opset;s3.type="fillPath",h2.push(s3)}else h2.push(C([i2.estimatedPoints],a2));return a2.stroke!==tt&&h2.push(i2.opset),this._d("ellipse",h2,a2)}circle(t2,e2,s2,n2){const o2=this.ellipse(t2,e2,s2,s2,n2);return o2.shape="circle",o2}linearPath(t2,e2){const s2=this._o(e2);return this._d("linearPath",[S(t2,!1,s2)],s2)}arc(t2,e2,s2,n2,o2,a2,h2=!1,r2){const i2=this._o(r2),c2=[],l4=A(t2,e2,s2,n2,o2,a2,h2,!0,i2);if(h2&&i2.fill)if("solid"===i2.fillStyle){const h3=Object.assign({},i2);h3.disableMultiStroke=!0;const r3=A(t2,e2,s2,n2,o2,a2,!0,!1,h3);r3.type="fillPath",c2.push(r3)}else c2.push(function(t3,e3,s3,n3,o3,a3,h3){const r3=t3,i3=e3;let c3=Math.abs(s3/2),l5=Math.abs(n3/2);c3+=G(.01*c3,h3),l5+=G(.01*l5,h3);let u2=o3,p2=a3;for(;u2<0;)u2+=2*Math.PI,p2+=2*Math.PI;p2-u2>2*Math.PI&&(u2=0,p2=2*Math.PI);const f2=(p2-u2)/h3.curveStepCount,d2=[];for(let t4=u2;t4<=p2;t4+=f2)d2.push([r3+c3*Math.cos(t4),i3+l5*Math.sin(t4)]);return d2.push([r3+c3*Math.cos(p2),i3+l5*Math.sin(p2)]),d2.push([r3,i3]),C([d2],h3)}(t2,e2,s2,n2,o2,a2,i2));return i2.stroke!==tt&&c2.push(l4),this._d("arc",c2,i2)}curve(t2,e2){const s2=this._o(e2),n2=[],o2=L(t2,s2);if(s2.fill&&s2.fill!==tt)if("solid"===s2.fillStyle){const e3=L(t2,Object.assign(Object.assign({},s2),{disableMultiStroke:!0,roughness:s2.roughness?s2.roughness+s2.fillShapeRoughnessGain:0}));n2.push({type:"fillPath",ops:this._mergedShape(e3.ops)})}else{const e3=[],o3=t2;if(o3.length){const t3="number"==typeof o3[0][0]?[o3]:o3;for(const n3 of t3)n3.length<3?e3.push(...n3):3===n3.length?e3.push(...Y(H([n3[0],n3[0],n3[1],n3[2]]),10,(1+s2.roughness)/2)):e3.push(...Y(H(n3),10,(1+s2.roughness)/2))}e3.length&&n2.push(C([e3],s2))}return s2.stroke!==tt&&n2.push(o2),this._d("curve",n2,s2)}polygon(t2,e2){const s2=this._o(e2),n2=[],o2=S(t2,!0,s2);return s2.fill&&("solid"===s2.fillStyle?n2.push(I([t2],s2)):n2.push(C([t2],s2))),s2.stroke!==tt&&n2.push(o2),this._d("polygon",n2,s2)}path(t2,e2){const s2=this._o(e2),n2=[];if(!t2)return this._d("path",n2,s2);t2=(t2||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const o2=s2.fill&&"transparent"!==s2.fill&&s2.fill!==tt,a2=s2.stroke!==tt,h2=!!(s2.simplification&&s2.simplification<1),r2=function(t3,e3,s3){const n3=m(y2(b(t3))),o3=[];let a3=[],h3=[0,0],r3=[];const i3=()=>{r3.length>=4&&a3.push(...Y(r3,1)),r3=[]},c2=()=>{i3(),a3.length&&(o3.push(a3),a3=[])};for(const{key:t4,data:e4}of n3)switch(t4){case"M":c2(),h3=[e4[0],e4[1]],a3.push(h3);break;case"L":i3(),a3.push([e4[0],e4[1]]);break;case"C":if(!r3.length){const t5=a3.length?a3[a3.length-1]:h3;r3.push([t5[0],t5[1]])}r3.push([e4[0],e4[1]]),r3.push([e4[2],e4[3]]),r3.push([e4[4],e4[5]]);break;case"Z":i3(),a3.push([h3[0],h3[1]])}if(c2(),!s3)return o3;const l4=[];for(const t4 of o3){const e4=U(t4,s3);e4.length&&l4.push(e4)}return l4}(t2,0,h2?4-4*(s2.simplification||1):(1+s2.roughness)/2),i2=_(t2,s2);if(o2)if("solid"===s2.fillStyle)if(1===r2.length){const e3=_(t2,Object.assign(Object.assign({},s2),{disableMultiStroke:!0,roughness:s2.roughness?s2.roughness+s2.fillShapeRoughnessGain:0}));n2.push({type:"fillPath",ops:this._mergedShape(e3.ops)})}else n2.push(I(r2,s2));else n2.push(C(r2,s2));return a2&&(h2?r2.forEach(t3=>{n2.push(S(t3,!1,s2))}):n2.push(i2)),this._d("path",n2,s2)}opsToPath(t2,e2){let s2="";for(const n2 of t2.ops){const t3="number"==typeof e2&&e2>=0?n2.data.map(t4=>+t4.toFixed(e2)):n2.data;switch(n2.op){case"move":s2+=`M${t3[0]} ${t3[1]} `;break;case"bcurveTo":s2+=`C${t3[0]} ${t3[1]}, ${t3[2]} ${t3[3]}, ${t3[4]} ${t3[5]} `;break;case"lineTo":s2+=`L${t3[0]} ${t3[1]} `}}return s2.trim()}toPaths(t2){const e2=t2.sets||[],s2=t2.options||this.defaultOptions,n2=[];for(const t3 of e2){let e3=null;switch(t3.type){case"path":e3={d:this.opsToPath(t3),stroke:s2.stroke,strokeWidth:s2.strokeWidth,fill:tt};break;case"fillPath":e3={d:this.opsToPath(t3),stroke:tt,strokeWidth:0,fill:s2.fill||tt};break;case"fillSketch":e3=this.fillSketch(t3,s2)}e3&&n2.push(e3)}return n2}fillSketch(t2,e2){let s2=e2.fillWeight;return s2<0&&(s2=e2.strokeWidth/2),{d:this.opsToPath(t2),stroke:e2.fill||tt,strokeWidth:s2,fill:tt}}_mergedShape(t2){return t2.filter((t3,e2)=>0===e2||"move"!==t3.op)}}class st{constructor(t2,e2){this.canvas=t2,this.ctx=this.canvas.getContext("2d"),this.gen=new et(e2)}draw(t2){const e2=t2.sets||[],s2=t2.options||this.getDefaultOptions(),n2=this.ctx,o2=t2.options.fixedDecimalPlaceDigits;for(const a2 of e2)switch(a2.type){case"path":n2.save(),n2.strokeStyle="none"===s2.stroke?"transparent":s2.stroke,n2.lineWidth=s2.strokeWidth,s2.strokeLineDash&&n2.setLineDash(s2.strokeLineDash),s2.strokeLineDashOffset&&(n2.lineDashOffset=s2.strokeLineDashOffset),this._drawToContext(n2,a2,o2),n2.restore();break;case"fillPath":{n2.save(),n2.fillStyle=s2.fill||"";const e3="curve"===t2.shape||"polygon"===t2.shape||"path"===t2.shape?"evenodd":"nonzero";this._drawToContext(n2,a2,o2,e3),n2.restore();break}case"fillSketch":this.fillSketch(n2,a2,s2)}}fillSketch(t2,e2,s2){let n2=s2.fillWeight;n2<0&&(n2=s2.strokeWidth/2),t2.save(),s2.fillLineDash&&t2.setLineDash(s2.fillLineDash),s2.fillLineDashOffset&&(t2.lineDashOffset=s2.fillLineDashOffset),t2.strokeStyle=s2.fill||"",t2.lineWidth=n2,this._drawToContext(t2,e2,s2.fixedDecimalPlaceDigits),t2.restore()}_drawToContext(t2,e2,s2,n2="nonzero"){t2.beginPath();for(const n3 of e2.ops){const e3="number"==typeof s2&&s2>=0?n3.data.map(t3=>+t3.toFixed(s2)):n3.data;switch(n3.op){case"move":t2.moveTo(e3[0],e3[1]);break;case"bcurveTo":t2.bezierCurveTo(e3[0],e3[1],e3[2],e3[3],e3[4],e3[5]);break;case"lineTo":t2.lineTo(e3[0],e3[1])}}"fillPath"===e2.type?t2.fill(n2):t2.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(t2,e2,s2,n2,o2){const a2=this.gen.line(t2,e2,s2,n2,o2);return this.draw(a2),a2}rectangle(t2,e2,s2,n2,o2){const a2=this.gen.rectangle(t2,e2,s2,n2,o2);return this.draw(a2),a2}ellipse(t2,e2,s2,n2,o2){const a2=this.gen.ellipse(t2,e2,s2,n2,o2);return this.draw(a2),a2}circle(t2,e2,s2,n2){const o2=this.gen.circle(t2,e2,s2,n2);return this.draw(o2),o2}linearPath(t2,e2){const s2=this.gen.linearPath(t2,e2);return this.draw(s2),s2}polygon(t2,e2){const s2=this.gen.polygon(t2,e2);return this.draw(s2),s2}arc(t2,e2,s2,n2,o2,a2,h2=!1,r2){const i2=this.gen.arc(t2,e2,s2,n2,o2,a2,h2,r2);return this.draw(i2),i2}curve(t2,e2){const s2=this.gen.curve(t2,e2);return this.draw(s2),s2}path(t2,e2){const s2=this.gen.path(t2,e2);return this.draw(s2),s2}}const nt="http://www.w3.org/2000/svg";class ot{constructor(t2,e2){this.svg=t2,this.gen=new et(e2)}draw(t2){const e2=t2.sets||[],s2=t2.options||this.getDefaultOptions(),n2=this.svg.ownerDocument||window.document,o2=n2.createElementNS(nt,"g"),a2=t2.options.fixedDecimalPlaceDigits;for(const h2 of e2){let e3=null;switch(h2.type){case"path":e3=n2.createElementNS(nt,"path"),e3.setAttribute("d",this.opsToPath(h2,a2)),e3.setAttribute("stroke",s2.stroke),e3.setAttribute("stroke-width",s2.strokeWidth+""),e3.setAttribute("fill","none"),s2.strokeLineDash&&e3.setAttribute("stroke-dasharray",s2.strokeLineDash.join(" ").trim()),s2.strokeLineDashOffset&&e3.setAttribute("stroke-dashoffset",`${s2.strokeLineDashOffset}`);break;case"fillPath":e3=n2.createElementNS(nt,"path"),e3.setAttribute("d",this.opsToPath(h2,a2)),e3.setAttribute("stroke","none"),e3.setAttribute("stroke-width","0"),e3.setAttribute("fill",s2.fill||""),"curve"!==t2.shape&&"polygon"!==t2.shape||e3.setAttribute("fill-rule","evenodd");break;case"fillSketch":e3=this.fillSketch(n2,h2,s2)}e3&&o2.appendChild(e3)}return o2}fillSketch(t2,e2,s2){let n2=s2.fillWeight;n2<0&&(n2=s2.strokeWidth/2);const o2=t2.createElementNS(nt,"path");return o2.setAttribute("d",this.opsToPath(e2,s2.fixedDecimalPlaceDigits)),o2.setAttribute("stroke",s2.fill||""),o2.setAttribute("stroke-width",n2+""),o2.setAttribute("fill","none"),s2.fillLineDash&&o2.setAttribute("stroke-dasharray",s2.fillLineDash.join(" ").trim()),s2.fillLineDashOffset&&o2.setAttribute("stroke-dashoffset",`${s2.fillLineDashOffset}`),o2}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(t2,e2){return this.gen.opsToPath(t2,e2)}line(t2,e2,s2,n2,o2){const a2=this.gen.line(t2,e2,s2,n2,o2);return this.draw(a2)}rectangle(t2,e2,s2,n2,o2){const a2=this.gen.rectangle(t2,e2,s2,n2,o2);return this.draw(a2)}ellipse(t2,e2,s2,n2,o2){const a2=this.gen.ellipse(t2,e2,s2,n2,o2);return this.draw(a2)}circle(t2,e2,s2,n2){const o2=this.gen.circle(t2,e2,s2,n2);return this.draw(o2)}linearPath(t2,e2){const s2=this.gen.linearPath(t2,e2);return this.draw(s2)}polygon(t2,e2){const s2=this.gen.polygon(t2,e2);return this.draw(s2)}arc(t2,e2,s2,n2,o2,a2,h2=!1,r2){const i2=this.gen.arc(t2,e2,s2,n2,o2,a2,h2,r2);return this.draw(i2)}curve(t2,e2){const s2=this.gen.curve(t2,e2);return this.draw(s2)}path(t2,e2){const s2=this.gen.path(t2,e2);return this.draw(s2)}}var at={canvas:(t2,e2)=>new st(t2,e2),svg:(t2,e2)=>new ot(t2,e2),generator:t2=>new et(t2),newSeed:()=>et.newSeed()},labelHelper=__name(async(parent,node,_classes)=>{var _a2,_b2;let cssClasses;const useHtmlLabels=node.useHtmlLabels||evaluate(null==(_a2=getConfig2())?void 0:_a2.htmlLabels);cssClasses=_classes||"node default";const shapeSvg=parent.insert("g").attr("class",cssClasses).attr("id",node.domId||node.id),labelEl=shapeSvg.insert("g").attr("class","label").attr("style",handleUndefinedAttr(node.labelStyle));let label;label=void 0===node.label?"":"string"==typeof node.label?node.label:node.label[0];const addBackground=!!node.icon||!!node.img,isMarkdown="markdown"===node.labelType,text2=await createText(labelEl,sanitizeText(decodeEntities(label),getConfig2()),{useHtmlLabels:useHtmlLabels,width:node.width||(null==(_b2=getConfig2().flowchart)?void 0:_b2.wrappingWidth),classes:isMarkdown?"markdown-node-label":"",style:node.labelStyle,addSvgBackground:addBackground,markdown:isMarkdown},getConfig2());let bbox=text2.getBBox();const halfPadding=((null==node?void 0:node.padding)??0)/2;if(useHtmlLabels){const div=text2.children[0],dv=select(text2);await configureLabelImages(div,label),bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}return useHtmlLabels?labelEl.attr("transform","translate("+-bbox.width/2+", "+-bbox.height/2+")"):labelEl.attr("transform","translate(0, "+-bbox.height/2+")"),node.centerLabel&&labelEl.attr("transform","translate("+-bbox.width/2+", "+-bbox.height/2+")"),labelEl.insert("rect",":first-child"),{shapeSvg:shapeSvg,bbox:bbox,halfPadding:halfPadding,label:labelEl}},"labelHelper"),insertLabel=__name(async(parent,label,options)=>{var _a2,_b2;const useHtmlLabels=options.useHtmlLabels??getEffectiveHtmlLabels(getConfig2()),labelEl=parent.insert("g").attr("class","label").attr("style",options.labelStyle||""),text2=await createText(labelEl,sanitizeText(decodeEntities(label),getConfig2()),{useHtmlLabels:useHtmlLabels,width:options.width||(null==(_b2=null==(_a2=getConfig2())?void 0:_a2.flowchart)?void 0:_b2.wrappingWidth),style:options.labelStyle,addSvgBackground:!!options.icon||!!options.img});let bbox=text2.getBBox();const halfPadding=options.padding/2;if(getEffectiveHtmlLabels(getConfig2())){const div=text2.children[0],dv=select(text2);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}return useHtmlLabels?labelEl.attr("transform","translate("+-bbox.width/2+", "+-bbox.height/2+")"):labelEl.attr("transform","translate(0, "+-bbox.height/2+")"),options.centerLabel&&labelEl.attr("transform","translate("+-bbox.width/2+", "+-bbox.height/2+")"),labelEl.insert("rect",":first-child"),{shapeSvg:parent,bbox:bbox,halfPadding:halfPadding,label:labelEl}},"insertLabel"),updateNodeBounds=__name((node,element)=>{const bbox=element.node().getBBox();node.width=bbox.width,node.height=bbox.height},"updateNodeBounds"),getNodeClasses=__name((node,extra)=>("handDrawn"===node.look?"rough-node":"node")+" "+node.cssClasses+" "+(extra||""),"getNodeClasses");function createPathFromPoints(points){const pointStrings=points.map((p2,i2)=>`${0===i2?"M":"L"}${p2.x},${p2.y}`);return pointStrings.push("Z"),pointStrings.join(" ")}function generateFullSineWavePoints(x1,y1,x2,y22,amplitude,numCycles){const points=[],deltaX=x2-x1,deltaY=y22-y1,cycleLength=deltaX/numCycles,frequency=2*Math.PI/cycleLength,midY=y1+deltaY/2;for(let i2=0;i2<=50;i2++){const x3=x1+i2/50*deltaX,y3=midY+amplitude*Math.sin(frequency*(x3-x1));points.push({x:x3,y:y3})}return points}function generateCirclePoints(centerX,centerY,radius,numPoints,startAngle,endAngle){const points=[],startAngleRad=startAngle*Math.PI/180,angleStep=(endAngle*Math.PI/180-startAngleRad)/(numPoints-1);for(let i2=0;i2<numPoints;i2++){const angle=startAngleRad+i2*angleStep,x2=centerX+radius*Math.cos(angle),y3=centerY+radius*Math.sin(angle);points.push({x:-x2,y:-y3})}return points}function mergePaths(roughElement){const paths=Array.from(roughElement.childNodes).filter(node=>"path"===node.tagName),mergedPath=document.createElementNS("http://www.w3.org/2000/svg","path"),combinedPathData=paths.map(path=>path.getAttribute("d")).filter(d2=>null!==d2).join(" ");mergedPath.setAttribute("d",combinedPathData);const fillPath=paths.find(path=>"none"!==path.getAttribute("fill")),strokePath=paths.find(path=>"none"!==path.getAttribute("stroke")),getAttr=__name((element,attr)=>(null==element?void 0:element.getAttribute(attr))??void 0,"getAttr");if(fillPath){const fillAttrs={fill:getAttr(fillPath,"fill"),"fill-opacity":getAttr(fillPath,"fill-opacity")??"1"};Object.entries(fillAttrs).forEach(([attr,value])=>{value&&mergedPath.setAttribute(attr,value)})}if(strokePath){const strokeAttrs={stroke:getAttr(strokePath,"stroke"),"stroke-width":getAttr(strokePath,"stroke-width")??"1","stroke-opacity":getAttr(strokePath,"stroke-opacity")??"1"};Object.entries(strokeAttrs).forEach(([attr,value])=>{value&&mergedPath.setAttribute(attr,value)})}const group=document.createElementNS("http://www.w3.org/2000/svg","g");return group.appendChild(mergedPath),group}__name(createPathFromPoints,"createPathFromPoints"),__name(generateFullSineWavePoints,"generateFullSineWavePoints"),__name(generateCirclePoints,"generateCirclePoints"),__name(mergePaths,"mergePaths");var intersect_rect_default=__name((node,point2)=>{var sx,sy,x2=node.x,y3=node.y,dx=point2.x-x2,dy=point2.y-y3,w2=node.width/2,h2=node.height/2;return Math.abs(dy)*w2>Math.abs(dx)*h2?(dy<0&&(h2=-h2),sx=0===dy?0:h2*dx/dy,sy=h2):(dx<0&&(w2=-w2),sx=w2,sy=0===dx?0:w2*dy/dx),{x:x2+sx,y:y3+sy}},"intersectRect"),createLabel_default=__name(async(element,_vertexText,style,isTitle=!1,isNode=!1)=>{let vertexText=_vertexText||"";"object"==typeof vertexText&&(vertexText=vertexText[0]);const config2=getConfig2(),useHtmlLabels=getEffectiveHtmlLabels(config2);return await createText(element,vertexText,{style:style,isTitle:isTitle,useHtmlLabels:useHtmlLabels,markdown:!1,isNode:isNode,width:Number.POSITIVE_INFINITY},config2)},"createLabel"),createRoundedRectPathD=__name((x2,y3,totalWidth,totalHeight,radius)=>["M",x2+radius,y3,"H",x2+totalWidth-radius,"A",radius,radius,0,0,1,x2+totalWidth,y3+radius,"V",y3+totalHeight-radius,"A",radius,radius,0,0,1,x2+totalWidth-radius,y3+totalHeight,"H",x2+radius,"A",radius,radius,0,0,1,x2,y3+totalHeight-radius,"V",y3+radius,"A",radius,radius,0,0,1,x2+radius,y3,"Z"].join(" "),"createRoundedRectPathD"),rect=__name(async(parent,node)=>{log.info("Creating subgraph rect for ",node.id,node);const siteConfig2=getConfig2(),{themeVariables:themeVariables,handDrawnSeed:handDrawnSeed}=siteConfig2,{clusterBkg:clusterBkg,clusterBorder:clusterBorder}=themeVariables,{labelStyles:labelStyles,nodeStyles:nodeStyles,borderStyles:borderStyles,backgroundStyles:backgroundStyles}=styles2String(node),shapeSvg=parent.insert("g").attr("class","cluster "+node.cssClasses).attr("id",node.domId).attr("data-look",node.look),useHtmlLabels=getEffectiveHtmlLabels(siteConfig2),labelEl=shapeSvg.insert("g").attr("class","cluster-label ");let text2;text2="markdown"===node.labelType?await createText(labelEl,node.label,{style:node.labelStyle,useHtmlLabels:useHtmlLabels,isNode:!0,width:node.width}):await createLabel_default(labelEl,node.label,node.labelStyle||"",!1,!0);let bbox=text2.getBBox();if(getEffectiveHtmlLabels(siteConfig2)){const div=text2.children[0],dv=select(text2);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}const width=node.width<=bbox.width+node.padding?bbox.width+node.padding:node.width;node.width<=bbox.width+node.padding?node.diff=(width-node.width)/2-node.padding:node.diff=-node.padding;const height=node.height,x2=node.x-width/2,y3=node.y-height/2;let rect2;if(log.trace("Data ",node,JSON.stringify(node)),"handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{roughness:.7,fill:clusterBkg,stroke:clusterBorder,fillWeight:3,seed:handDrawnSeed}),roughNode=rc.path(createRoundedRectPathD(x2,y3,width,height,0),options);rect2=shapeSvg.insert(()=>(log.debug("Rough node insert CXC",roughNode),roughNode),":first-child"),rect2.select("path:nth-child(2)").attr("style",borderStyles.join(";")),rect2.select("path").attr("style",backgroundStyles.join(";").replace("fill","stroke"))}else rect2=shapeSvg.insert("rect",":first-child"),rect2.attr("style",nodeStyles).attr("rx",node.rx).attr("ry",node.ry).attr("x",x2).attr("y",y3).attr("width",width).attr("height",height);const{subGraphTitleTopMargin:subGraphTitleTopMargin}=getSubGraphTitleMargins(siteConfig2);if(labelEl.attr("transform",`translate(${node.x-bbox.width/2}, ${node.y-node.height/2+subGraphTitleTopMargin})`),labelStyles){const span=labelEl.select("span");span&&span.attr("style",labelStyles)}const rectBox=rect2.node().getBBox();return node.offsetX=0,node.width=rectBox.width,node.height=rectBox.height,node.offsetY=bbox.height-node.padding/2,node.intersect=function(point2){return intersect_rect_default(node,point2)},{cluster:shapeSvg,labelBBox:bbox}},"rect"),noteGroup=__name((parent,node)=>{const shapeSvg=parent.insert("g").attr("class","note-cluster").attr("id",node.domId),rect2=shapeSvg.insert("rect",":first-child"),padding=0*node.padding,halfPadding=padding/2;rect2.attr("rx",node.rx).attr("ry",node.ry).attr("x",node.x-node.width/2-halfPadding).attr("y",node.y-node.height/2-halfPadding).attr("width",node.width+padding).attr("height",node.height+padding).attr("fill","none");const rectBox=rect2.node().getBBox();return node.width=rectBox.width,node.height=rectBox.height,node.intersect=function(point2){return intersect_rect_default(node,point2)},{cluster:shapeSvg,labelBBox:{width:0,height:0}}},"noteGroup"),roundedWithTitle=__name(async(parent,node)=>{const siteConfig2=getConfig2(),{themeVariables:themeVariables,handDrawnSeed:handDrawnSeed}=siteConfig2,{altBackground:altBackground,compositeBackground:compositeBackground,compositeTitleBackground:compositeTitleBackground,nodeBorder:nodeBorder}=themeVariables,shapeSvg=parent.insert("g").attr("class",node.cssClasses).attr("id",node.domId).attr("data-id",node.id).attr("data-look",node.look),outerRectG=shapeSvg.insert("g",":first-child"),label=shapeSvg.insert("g").attr("class","cluster-label");let innerRect=shapeSvg.append("rect");const text2=await createLabel_default(label,node.label,node.labelStyle,void 0,!0);let bbox=text2.getBBox();if(getEffectiveHtmlLabels(siteConfig2)){const div=text2.children[0],dv=select(text2);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}const padding=0*node.padding,halfPadding=padding/2,width=(node.width<=bbox.width+node.padding?bbox.width+node.padding:node.width)+padding;node.width<=bbox.width+node.padding?node.diff=(width-node.width)/2-node.padding:node.diff=-node.padding;const height=node.height+padding,innerHeight=node.height+padding-bbox.height-6,x2=node.x-width/2,y3=node.y-height/2;node.width=width;const innerY=node.y-node.height/2-halfPadding+bbox.height+2;let rect2;if("handDrawn"===node.look){const isAlt=node.cssClasses.includes("statediagram-cluster-alt"),rc=at.svg(shapeSvg),roughOuterNode=node.rx||node.ry?rc.path(createRoundedRectPathD(x2,y3,width,height,10),{roughness:.7,fill:compositeTitleBackground,fillStyle:"solid",stroke:nodeBorder,seed:handDrawnSeed}):rc.rectangle(x2,y3,width,height,{seed:handDrawnSeed});rect2=shapeSvg.insert(()=>roughOuterNode,":first-child");const roughInnerNode=rc.rectangle(x2,innerY,width,innerHeight,{fill:isAlt?altBackground:compositeBackground,fillStyle:isAlt?"hachure":"solid",stroke:nodeBorder,seed:handDrawnSeed});rect2=shapeSvg.insert(()=>roughOuterNode,":first-child"),innerRect=shapeSvg.insert(()=>roughInnerNode)}else{rect2=outerRectG.insert("rect",":first-child");const outerRectClass="outer";rect2.attr("class",outerRectClass).attr("x",x2).attr("y",y3).attr("width",width).attr("height",height).attr("data-look",node.look),innerRect.attr("class","inner").attr("x",x2).attr("y",innerY).attr("width",width).attr("height",innerHeight)}label.attr("transform",`translate(${node.x-bbox.width/2}, ${y3+1-(getEffectiveHtmlLabels(siteConfig2)?0:3)})`);const rectBox=rect2.node().getBBox();return node.height=rectBox.height,node.offsetX=0,node.offsetY=bbox.height-node.padding/2,node.labelBBox=bbox,node.intersect=function(point2){return intersect_rect_default(node,point2)},{cluster:shapeSvg,labelBBox:bbox}},"roundedWithTitle"),kanbanSection=__name(async(parent,node)=>{log.info("Creating subgraph rect for ",node.id,node);const siteConfig2=getConfig2(),{themeVariables:themeVariables,handDrawnSeed:handDrawnSeed}=siteConfig2,{clusterBkg:clusterBkg,clusterBorder:clusterBorder}=themeVariables,{labelStyles:labelStyles,nodeStyles:nodeStyles,borderStyles:borderStyles,backgroundStyles:backgroundStyles}=styles2String(node),shapeSvg=parent.insert("g").attr("class","cluster "+node.cssClasses).attr("id",node.domId).attr("data-look",node.look),useHtmlLabels=getEffectiveHtmlLabels(siteConfig2),labelEl=shapeSvg.insert("g").attr("class","cluster-label "),text2=await createText(labelEl,node.label,{style:node.labelStyle,useHtmlLabels:useHtmlLabels,isNode:!0,width:node.width});let bbox=text2.getBBox();if(getEffectiveHtmlLabels(siteConfig2)){const div=text2.children[0],dv=select(text2);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}const width=node.width<=bbox.width+node.padding?bbox.width+node.padding:node.width;node.width<=bbox.width+node.padding?node.diff=(width-node.width)/2-node.padding:node.diff=-node.padding;const height=node.height,x2=node.x-width/2,y3=node.y-height/2;let rect2;if(log.trace("Data ",node,JSON.stringify(node)),"handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{roughness:.7,fill:clusterBkg,stroke:clusterBorder,fillWeight:4,seed:handDrawnSeed}),roughNode=rc.path(createRoundedRectPathD(x2,y3,width,height,node.rx),options);rect2=shapeSvg.insert(()=>(log.debug("Rough node insert CXC",roughNode),roughNode),":first-child"),rect2.select("path:nth-child(2)").attr("style",borderStyles.join(";")),rect2.select("path").attr("style",backgroundStyles.join(";").replace("fill","stroke"))}else rect2=shapeSvg.insert("rect",":first-child"),rect2.attr("style",nodeStyles).attr("rx",node.rx).attr("ry",node.ry).attr("x",x2).attr("y",y3).attr("width",width).attr("height",height);const{subGraphTitleTopMargin:subGraphTitleTopMargin}=getSubGraphTitleMargins(siteConfig2);if(labelEl.attr("transform",`translate(${node.x-bbox.width/2}, ${node.y-node.height/2+subGraphTitleTopMargin})`),labelStyles){const span=labelEl.select("span");span&&span.attr("style",labelStyles)}const rectBox=rect2.node().getBBox();return node.offsetX=0,node.width=rectBox.width,node.height=rectBox.height,node.offsetY=bbox.height-node.padding/2,node.intersect=function(point2){return intersect_rect_default(node,point2)},{cluster:shapeSvg,labelBBox:bbox}},"kanbanSection"),shapes={rect:rect,squareRect:rect,roundedWithTitle:roundedWithTitle,noteGroup:noteGroup,divider:__name((parent,node)=>{const siteConfig2=getConfig2(),{themeVariables:themeVariables,handDrawnSeed:handDrawnSeed}=siteConfig2,{nodeBorder:nodeBorder}=themeVariables,shapeSvg=parent.insert("g").attr("class",node.cssClasses).attr("id",node.domId).attr("data-look",node.look),outerRectG=shapeSvg.insert("g",":first-child"),padding=0*node.padding,width=node.width+padding;node.diff=-node.padding;const height=node.height+padding,x2=node.x-width/2,y3=node.y-height/2;let rect2;if(node.width=width,"handDrawn"===node.look){const roughOuterNode=at.svg(shapeSvg).rectangle(x2,y3,width,height,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:nodeBorder,seed:handDrawnSeed});rect2=shapeSvg.insert(()=>roughOuterNode,":first-child")}else{rect2=outerRectG.insert("rect",":first-child");let outerRectClass="outer";outerRectClass=(node.look,"divider"),rect2.attr("class",outerRectClass).attr("x",x2).attr("y",y3).attr("width",width).attr("height",height).attr("data-look",node.look)}const rectBox=rect2.node().getBBox();return node.height=rectBox.height,node.offsetX=0,node.offsetY=0,node.intersect=function(point2){return intersect_rect_default(node,point2)},{cluster:shapeSvg,labelBBox:{}}},"divider"),kanbanSection:kanbanSection},clusterElems=new Map,insertCluster=__name(async(elem,node)=>{const shape=node.shape||"rect",cluster=await shapes[shape](elem,node);return clusterElems.set(node.id,cluster),cluster},"insertCluster"),clear$1=__name(()=>{clusterElems=new Map},"clear");function intersectNode(node,point2){return node.intersect(point2)}__name(intersectNode,"intersectNode");var intersect_node_default=intersectNode;function intersectEllipse(node,rx,ry,point2){var cx=node.x,cy=node.y,px=cx-point2.x,py=cy-point2.y,det=Math.sqrt(rx*rx*py*py+ry*ry*px*px),dx=Math.abs(rx*ry*px/det);point2.x<cx&&(dx=-dx);var dy=Math.abs(rx*ry*py/det);return point2.y<cy&&(dy=-dy),{x:cx+dx,y:cy+dy}}__name(intersectEllipse,"intersectEllipse");var intersect_ellipse_default=intersectEllipse;function intersectCircle(node,rx,point2){return intersect_ellipse_default(node,rx,rx,point2)}__name(intersectCircle,"intersectCircle");var intersect_circle_default=intersectCircle;function intersectLine(p1,p2,q1,q2){{const a1=p2.y-p1.y,b1=p1.x-p2.x,c1=p2.x*p1.y-p1.x*p2.y,r3=a1*q1.x+b1*q1.y+c1,r4=a1*q2.x+b1*q2.y+c1,epsilon2=1e-6;if(0!==r3&&0!==r4&&sameSign(r3,r4))return;const a2=q2.y-q1.y,b2=q1.x-q2.x,c2=q2.x*q1.y-q1.x*q2.y,r1=a2*p1.x+b2*p1.y+c2,r2=a2*p2.x+b2*p2.y+c2;if(Math.abs(r1)<epsilon2&&Math.abs(r2)<epsilon2&&sameSign(r1,r2))return;const denom=a1*b2-a2*b1;if(0===denom)return;const offset=Math.abs(denom/2);let num=b1*c2-b2*c1;const x2=num<0?(num-offset)/denom:(num+offset)/denom;num=a2*c1-a1*c2;return{x:x2,y:num<0?(num-offset)/denom:(num+offset)/denom}}}function sameSign(r1,r2){return r1*r2>0}__name(intersectLine,"intersectLine"),__name(sameSign,"sameSign");var intersect_line_default=intersectLine;function intersectPolygon(node,polyPoints,point2){let x1=node.x,y1=node.y,intersections=[],minX=Number.POSITIVE_INFINITY,minY=Number.POSITIVE_INFINITY;"function"==typeof polyPoints.forEach?polyPoints.forEach(function(entry){minX=Math.min(minX,entry.x),minY=Math.min(minY,entry.y)}):(minX=Math.min(minX,polyPoints.x),minY=Math.min(minY,polyPoints.y));let left=x1-node.width/2-minX,top=y1-node.height/2-minY;for(let i2=0;i2<polyPoints.length;i2++){let p1=polyPoints[i2],p2=polyPoints[i2<polyPoints.length-1?i2+1:0],intersect=intersect_line_default(node,point2,{x:left+p1.x,y:top+p1.y},{x:left+p2.x,y:top+p2.y});intersect&&intersections.push(intersect)}return intersections.length?(intersections.length>1&&intersections.sort(function(p2,q2){let pdx=p2.x-point2.x,pdy=p2.y-point2.y,distp=Math.sqrt(pdx*pdx+pdy*pdy),qdx=q2.x-point2.x,qdy=q2.y-point2.y,distq=Math.sqrt(qdx*qdx+qdy*qdy);return distp<distq?-1:distp===distq?0:1}),intersections[0]):node}__name(intersectPolygon,"intersectPolygon");var intersect_default={node:intersect_node_default,circle:intersect_circle_default,ellipse:intersect_ellipse_default,polygon:intersectPolygon,rect:intersect_rect_default};function anchor(parent,node){const{labelStyles:labelStyles}=styles2String(node);node.labelStyle=labelStyles;const classes=getNodeClasses(node);let cssClasses=classes;classes||(cssClasses="anchor");const shapeSvg=parent.insert("g").attr("class",cssClasses).attr("id",node.domId||node.id),{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{fill:"black",stroke:"none",fillStyle:"solid"});"handDrawn"!==node.look&&(options.roughness=0);const roughNode=rc.circle(0,0,2,options),circleElem=shapeSvg.insert(()=>roughNode,":first-child");return circleElem.attr("class","anchor").attr("style",handleUndefinedAttr(cssStyles)),updateNodeBounds(node,circleElem),node.intersect=function(point2){return log.info("Circle intersect",node,1,point2),intersect_default.circle(node,1,point2)},shapeSvg}function generateArcPoints(x1,y1,x2,y22,rx,ry,clockwise){const midX=(x1+x2)/2,midY=(y1+y22)/2,angle=Math.atan2(y22-y1,x2-x1),transformedX=(x2-x1)/2/rx,transformedY=(y22-y1)/2/ry,distance2=Math.sqrt(transformedX**2+transformedY**2);if(distance2>1)throw new Error("The given radii are too small to create an arc between the points.");const scaledCenterDistance=Math.sqrt(1-distance2**2),centerX=midX+scaledCenterDistance*ry*Math.sin(angle)*(clockwise?-1:1),centerY=midY-scaledCenterDistance*rx*Math.cos(angle)*(clockwise?-1:1),startAngle=Math.atan2((y1-centerY)/ry,(x1-centerX)/rx);let angleRange=Math.atan2((y22-centerY)/ry,(x2-centerX)/rx)-startAngle;clockwise&&angleRange<0&&(angleRange+=2*Math.PI),!clockwise&&angleRange>0&&(angleRange-=2*Math.PI);const points=[];for(let i2=0;i2<20;i2++){const angle2=startAngle+i2/19*angleRange,x3=centerX+rx*Math.cos(angle2),y3=centerY+ry*Math.sin(angle2);points.push({x:x3,y:y3})}return points}function calculateArcSagitta(chord,radiusX,radiusY){const[semiMajorAxis,semiMinorAxis]=[radiusX,radiusY].sort((a2,b2)=>b2-a2);return semiMinorAxis*(1-Math.sqrt(1-(chord/semiMajorAxis/2)**2))}async function bowTieRect(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding,calcTotalHeight=__name(labelHeight=>labelHeight+labelPaddingY,"calcTotalHeight"),calcEllipseRadius=__name(totalHeight2=>{const ry2=totalHeight2/2;return[ry2/(2.5+totalHeight2/50),ry2]},"calcEllipseRadius"),{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),totalHeight=calcTotalHeight((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height),[rx,ry]=calcEllipseRadius(totalHeight),sagitta=calculateArcSagitta(totalHeight,rx,ry),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*labelPaddingX+sagitta-sagitta,h2=totalHeight,{cssStyles:cssStyles}=node,points=[{x:w2/2,y:-h2/2},{x:-w2/2,y:-h2/2},...generateArcPoints(-w2/2,-h2/2,-w2/2,h2/2,rx,ry,!1),{x:w2/2,y:h2/2},...generateArcPoints(w2/2,h2/2,w2/2,-h2/2,rx,ry,!0)],rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const bowTieRectPath=createPathFromPoints(points),bowTieRectShapePath=rc.path(bowTieRectPath,options),bowTieRectShape=shapeSvg.insert(()=>bowTieRectShapePath,":first-child");return bowTieRectShape.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&bowTieRectShape.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&bowTieRectShape.selectAll("path").attr("style",nodeStyles),bowTieRectShape.attr("transform",`translate(${rx/2}, 0)`),updateNodeBounds(node,bowTieRectShape),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}function insertPolygonShape(parent,w2,h2,points){return parent.insert("polygon",":first-child").attr("points",points.map(function(d2){return d2.x+","+d2.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-w2/2+","+h2/2+")")}__name(anchor,"anchor"),__name(generateArcPoints,"generateArcPoints"),__name(calculateArcSagitta,"calculateArcSagitta"),__name(bowTieRect,"bowTieRect"),__name(insertPolygonShape,"insertPolygonShape");async function card(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?28:nodePadding,labelPaddingY="neo"===node.look?24:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)??bbox.width)+("neo"===node.look?2*labelPaddingX:labelPaddingX+12),h2=((null==node?void 0:node.height)??bbox.height)+("neo"===node.look?2*labelPaddingY:labelPaddingY),top=-h2,points=[{x:12,y:top},{x:w2,y:top},{x:w2,y:0},{x:0,y:0},{x:0,y:top+12},{x:12,y:top}];let polygon;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options);polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-w2/2}, ${h2/2})`),cssStyles&&polygon.attr("style",cssStyles)}else polygon=insertPolygonShape(shapeSvg,w2,h2,points);return nodeStyles&&polygon.attr("style",nodeStyles),updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}function choice(parent,node){const{nodeStyles:nodeStyles}=styles2String(node);node.label="";const shapeSvg=parent.insert("g").attr("class",getNodeClasses(node)).attr("id",node.domId??node.id),{cssStyles:cssStyles}=node,s2=Math.max(28,node.width??0),points=[{x:0,y:s2/2},{x:s2/2,y:0},{x:0,y:-s2/2},{x:-s2/2,y:0}],rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const choicePath=createPathFromPoints(points),roughNode=rc.path(choicePath,options),choiceShape=shapeSvg.insert(()=>roughNode,":first-child");return cssStyles&&"handDrawn"!==node.look&&choiceShape.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&choiceShape.selectAll("path").attr("style",nodeStyles),node.width=28,node.height=28,node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function circle$1(parent,node,options){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,halfPadding:halfPadding}=await labelHelper(parent,node,getNodeClasses(node)),padding=(null==options?void 0:options.padding)??halfPadding,radius="neo"===node.look?bbox.width/2+32:bbox.width/2+padding;let circleElem;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options2=userNodeOverrides(node,{}),roughNode=rc.circle(0,0,2*radius,options2);circleElem=shapeSvg.insert(()=>roughNode,":first-child"),circleElem.attr("class","basic label-container").attr("style",handleUndefinedAttr(cssStyles))}else circleElem=shapeSvg.insert("circle",":first-child").attr("class","basic label-container").attr("style",nodeStyles).attr("r",radius).attr("cx",0).attr("cy",0);return updateNodeBounds(node,circleElem),node.calcIntersect=function(bounds,point2){const radius2=bounds.width/2;return intersect_default.circle(bounds,radius2,point2)},node.intersect=function(point2){return log.info("Circle intersect",node,radius,point2),intersect_default.circle(node,radius,point2)},shapeSvg}function createLine(r2){const xAxis45=Math.cos(Math.PI/4),yAxis45=Math.sin(Math.PI/4),lineLength=2*r2;return`M ${-lineLength/2*xAxis45},${lineLength/2*yAxis45} L ${lineLength/2*xAxis45},${-lineLength/2*yAxis45}\n M ${lineLength/2*xAxis45},${lineLength/2*yAxis45} L ${-lineLength/2*xAxis45},${-lineLength/2*yAxis45}`}function crossedCircle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles,node.label="";const shapeSvg=parent.insert("g").attr("class",getNodeClasses(node)).attr("id",node.domId??node.id),radius=Math.max(30,(null==node?void 0:node.width)??0),{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const circleNode=rc.circle(0,0,2*radius,options),linePath=createLine(radius),lineNode=rc.path(linePath,options),crossedCircle2=shapeSvg.insert(()=>circleNode,":first-child");return crossedCircle2.insert(()=>lineNode),crossedCircle2.attr("class","outer-path"),cssStyles&&"handDrawn"!==node.look&&crossedCircle2.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&crossedCircle2.selectAll("path").attr("style",nodeStyles),updateNodeBounds(node,crossedCircle2),node.intersect=function(point2){log.info("crossedCircle intersect",node,{radius:radius,point:point2});return intersect_default.circle(node,radius,point2)},shapeSvg}function generateCirclePoints2(centerX,centerY,radius,numPoints=100,startAngle=0,endAngle=180){const points=[],startAngleRad=startAngle*Math.PI/180,angleStep=(endAngle*Math.PI/180-startAngleRad)/(numPoints-1);for(let i2=0;i2<numPoints;i2++){const angle=startAngleRad+i2*angleStep,x2=centerX+radius*Math.cos(angle),y3=centerY+radius*Math.sin(angle);points.push({x:-x2,y:-y3})}return points}async function curlyBraceLeft(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),paddingX="neo"===node.look?18:node.padding??0,paddingY="neo"===node.look?12:node.padding??0,w2=bbox.width+paddingX,h2=bbox.height+paddingY,radius=Math.max(5,.1*h2),{cssStyles:cssStyles}=node,points=[...generateCirclePoints2(w2/2,-h2/2,radius,30,-90,0),{x:-w2/2-radius,y:radius},...generateCirclePoints2(w2/2+2*radius,-radius,radius,20,-180,-270),...generateCirclePoints2(w2/2+2*radius,radius,radius,20,-90,-180),{x:-w2/2-radius,y:-h2/2},...generateCirclePoints2(w2/2,h2/2,radius,20,0,90)],rectPoints=[{x:w2/2,y:-h2/2-radius},{x:-w2/2,y:-h2/2-radius},...generateCirclePoints2(w2/2,-h2/2,radius,20,-90,0),{x:-w2/2-radius,y:-radius},...generateCirclePoints2(w2/2+.1*w2,-radius,radius,20,-180,-270),...generateCirclePoints2(w2/2+.1*w2,radius,radius,20,-90,-180),{x:-w2/2-radius,y:h2/2},...generateCirclePoints2(w2/2,h2/2,radius,20,0,90),{x:-w2/2,y:h2/2+radius},{x:w2/2,y:h2/2+radius}],rc=at.svg(shapeSvg),options=userNodeOverrides(node,{fill:"none"});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const newCurlyBracePath=createPathFromPoints(points).replace("Z",""),curlyBraceLeftNode=rc.path(newCurlyBracePath,options),rectPath=createPathFromPoints(rectPoints),rectShape=rc.path(rectPath,{...options}),curlyBraceLeftShape=shapeSvg.insert("g",":first-child");return curlyBraceLeftShape.insert(()=>rectShape,":first-child").attr("stroke-opacity",0),curlyBraceLeftShape.insert(()=>curlyBraceLeftNode,":first-child"),curlyBraceLeftShape.attr("class","text"),cssStyles&&"handDrawn"!==node.look&&curlyBraceLeftShape.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&curlyBraceLeftShape.selectAll("path").attr("style",nodeStyles),curlyBraceLeftShape.attr("transform",`translate(${radius}, 0)`),label.attr("transform",`translate(${-w2/2+radius-(bbox.x-(bbox.left??0))},${-h2/2+(node.padding??0)/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,curlyBraceLeftShape),node.intersect=function(point2){return intersect_default.polygon(node,rectPoints,point2)},shapeSvg}function generateCirclePoints3(centerX,centerY,radius,numPoints=100,startAngle=0,endAngle=180){const points=[],startAngleRad=startAngle*Math.PI/180,angleStep=(endAngle*Math.PI/180-startAngleRad)/(numPoints-1);for(let i2=0;i2<numPoints;i2++){const angle=startAngleRad+i2*angleStep,x2=centerX+radius*Math.cos(angle),y3=centerY+radius*Math.sin(angle);points.push({x:x2,y:y3})}return points}async function curlyBraceRight(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),labelPaddingX="neo"===node.look?18:node.padding??0,labelPaddingY="neo"===node.look?12:node.padding??0,w2=bbox.width+("neo"===node.look?2*labelPaddingX:labelPaddingX),h2=bbox.height+("neo"===node.look?2*labelPaddingY:labelPaddingY),radius=Math.max(5,.1*h2),{cssStyles:cssStyles}=node,points=[...generateCirclePoints3(w2/2,-h2/2,radius,20,-90,0),{x:w2/2+radius,y:-radius},...generateCirclePoints3(w2/2+2*radius,-radius,radius,20,-180,-270),...generateCirclePoints3(w2/2+2*radius,radius,radius,20,-90,-180),{x:w2/2+radius,y:h2/2},...generateCirclePoints3(w2/2,h2/2,radius,20,0,90)],rectPoints=[{x:-w2/2,y:-h2/2-radius},{x:w2/2,y:-h2/2-radius},...generateCirclePoints3(w2/2,-h2/2,radius,20,-90,0),{x:w2/2+radius,y:-radius},...generateCirclePoints3(w2/2+2*radius,-radius,radius,20,-180,-270),...generateCirclePoints3(w2/2+2*radius,radius,radius,20,-90,-180),{x:w2/2+radius,y:h2/2},...generateCirclePoints3(w2/2,h2/2,radius,20,0,90),{x:w2/2,y:h2/2+radius},{x:-w2/2,y:h2/2+radius}],rc=at.svg(shapeSvg),options=userNodeOverrides(node,{fill:"none"});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const newCurlyBracePath=createPathFromPoints(points).replace("Z",""),curlyBraceRightNode=rc.path(newCurlyBracePath,options),rectPath=createPathFromPoints(rectPoints),rectShape=rc.path(rectPath,{...options}),curlyBraceRightShape=shapeSvg.insert("g",":first-child");return curlyBraceRightShape.insert(()=>rectShape,":first-child").attr("stroke-opacity",0),curlyBraceRightShape.insert(()=>curlyBraceRightNode,":first-child"),curlyBraceRightShape.attr("class","text"),cssStyles&&"handDrawn"!==node.look&&curlyBraceRightShape.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&curlyBraceRightShape.selectAll("path").attr("style",nodeStyles),curlyBraceRightShape.attr("transform",`translate(${-radius}, 0)`),label.attr("transform",`translate(${-w2/2+(node.padding??0)/2-(bbox.x-(bbox.left??0))},${-h2/2+(node.padding??0)/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,curlyBraceRightShape),node.intersect=function(point2){return intersect_default.polygon(node,rectPoints,point2)},shapeSvg}function generateCirclePoints4(centerX,centerY,radius,numPoints=100,startAngle=0,endAngle=180){const points=[],startAngleRad=startAngle*Math.PI/180,angleStep=(endAngle*Math.PI/180-startAngleRad)/(numPoints-1);for(let i2=0;i2<numPoints;i2++){const angle=startAngleRad+i2*angleStep,x2=centerX+radius*Math.cos(angle),y3=centerY+radius*Math.sin(angle);points.push({x:-x2,y:-y3})}return points}async function curlyBraces(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),labelPaddingX="neo"===node.look?18:node.padding??0,labelPaddingY="neo"===node.look?12:node.padding??0,w2=bbox.width+("neo"===node.look?2*labelPaddingX:labelPaddingX),h2=bbox.height+("neo"===node.look?2*labelPaddingY:labelPaddingY),radius=Math.max(5,.1*h2),{cssStyles:cssStyles}=node,leftCurlyBracePoints=[...generateCirclePoints4(w2/2,-h2/2,radius,30,-90,0),{x:-w2/2-radius,y:radius},...generateCirclePoints4(w2/2+2*radius,-radius,radius,20,-180,-270),...generateCirclePoints4(w2/2+2*radius,radius,radius,20,-90,-180),{x:-w2/2-radius,y:-h2/2},...generateCirclePoints4(w2/2,h2/2,radius,20,0,90)],rightCurlyBracePoints=[...generateCirclePoints4(-w2/2+radius+radius/2,-h2/2,radius,20,-90,-180),{x:w2/2-radius/2,y:radius},...generateCirclePoints4(-w2/2-radius/2,-radius,radius,20,0,90),...generateCirclePoints4(-w2/2-radius/2,radius,radius,20,-90,0),{x:w2/2-radius/2,y:-radius},...generateCirclePoints4(-w2/2+radius+radius/2,h2/2,radius,30,-180,-270)],rectPoints=[{x:w2/2,y:-h2/2-radius},{x:-w2/2,y:-h2/2-radius},...generateCirclePoints4(w2/2,-h2/2,radius,20,-90,0),{x:-w2/2-radius,y:-radius},...generateCirclePoints4(w2/2+2*radius,-radius,radius,20,-180,-270),...generateCirclePoints4(w2/2+2*radius,radius,radius,20,-90,-180),{x:-w2/2-radius,y:h2/2},...generateCirclePoints4(w2/2,h2/2,radius,20,0,90),{x:-w2/2,y:h2/2+radius},{x:w2/2-radius-radius/2,y:h2/2+radius},...generateCirclePoints4(-w2/2+radius+radius/2,-h2/2,radius,20,-90,-180),{x:w2/2-radius/2,y:radius},...generateCirclePoints4(-w2/2-radius/2,-radius,radius,20,0,90),...generateCirclePoints4(-w2/2-radius/2,radius,radius,20,-90,0),{x:w2/2-radius/2,y:-radius},...generateCirclePoints4(-w2/2+radius+radius/2,h2/2,radius,30,-180,-270)],rc=at.svg(shapeSvg),options=userNodeOverrides(node,{fill:"none"});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const newLeftCurlyBracePath=createPathFromPoints(leftCurlyBracePoints).replace("Z",""),leftCurlyBraceNode=rc.path(newLeftCurlyBracePath,options),newRightCurlyBracePath=createPathFromPoints(rightCurlyBracePoints).replace("Z",""),rightCurlyBraceNode=rc.path(newRightCurlyBracePath,options),rectPath=createPathFromPoints(rectPoints),rectShape=rc.path(rectPath,{...options}),curlyBracesShape=shapeSvg.insert("g",":first-child");return curlyBracesShape.insert(()=>rectShape,":first-child").attr("stroke-opacity",0),curlyBracesShape.insert(()=>leftCurlyBraceNode,":first-child"),curlyBracesShape.insert(()=>rightCurlyBraceNode,":first-child"),curlyBracesShape.attr("class","text"),cssStyles&&"handDrawn"!==node.look&&curlyBracesShape.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&curlyBracesShape.selectAll("path").attr("style",nodeStyles),curlyBracesShape.attr("transform",`translate(${radius-radius/4}, 0)`),label.attr("transform",`translate(${-w2/2+(node.padding??0)/2-(bbox.x-(bbox.left??0))},${-h2/2+(node.padding??0)/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,curlyBracesShape),node.intersect=function(point2){return intersect_default.polygon(node,rectPoints,point2)},shapeSvg}async function curvedTrapezoid(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),w2=Math.max(20,1.25*(bbox.width+2*labelPaddingX),(null==node?void 0:node.width)??0),h2=Math.max(5,bbox.height+2*labelPaddingY,(null==node?void 0:node.height)??0),radius=h2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const rw=w2-radius,tw=h2/4,points=[{x:rw,y:0},{x:tw,y:0},{x:0,y:h2/2},{x:tw,y:h2},{x:rw,y:h2},...generateCirclePoints(-rw,-h2/2,radius,50,270,90)],pathData=createPathFromPoints(points),shapeNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>shapeNode,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",nodeStyles),polygon.attr("transform",`translate(${-w2/2}, ${-h2/2})`),updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}__name(card,"card"),__name(choice,"choice"),__name(circle$1,"circle"),__name(createLine,"createLine"),__name(crossedCircle,"crossedCircle"),__name(generateCirclePoints2,"generateCirclePoints"),__name(curlyBraceLeft,"curlyBraceLeft"),__name(generateCirclePoints3,"generateCirclePoints"),__name(curlyBraceRight,"curlyBraceRight"),__name(generateCirclePoints4,"generateCirclePoints"),__name(curlyBraces,"curlyBraces"),__name(curvedTrapezoid,"curvedTrapezoid");var createCylinderPathD=__name((x2,y3,width,height,rx,ry)=>[`M${x2},${y3+ry}`,`a${rx},${ry} 0,0,0 ${width},0`,`a${rx},${ry} 0,0,0 ${-width},0`,`l0,${height}`,`a${rx},${ry} 0,0,0 ${width},0`,"l0,"+-height].join(" "),"createCylinderPathD"),createOuterCylinderPathD=__name((x2,y3,width,height,rx,ry)=>[`M${x2},${y3+ry}`,`M${x2+width},${y3+ry}`,`a${rx},${ry} 0,0,0 ${-width},0`,`l0,${height}`,`a${rx},${ry} 0,0,0 ${width},0`,"l0,"+-height].join(" "),"createOuterCylinderPathD"),createInnerCylinderPathD=__name((x2,y3,width,height,rx,ry)=>[`M${x2-width/2},${-height/2}`,`a${rx},${ry} 0,0,0 ${width},0`].join(" "),"createInnerCylinderPathD");async function cylinder(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?24:nodePadding,labelPaddingY="neo"===node.look?24:nodePadding;if(node.width||node.height){const originalWidth=node.width??0;node.width=(node.width??0)-labelPaddingY,node.width<8&&(node.width=8);const ry2=originalWidth/2/(2.5+originalWidth/50);node.height=(node.height??0)-labelPaddingX-3*ry2,node.height<8&&(node.height=8)}const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=(node.width?node.width:bbox.width)+labelPaddingY,rx=w2/2,ry=rx/(2.5+w2/50),h2=(node.height?node.height:bbox.height)+labelPaddingX+ry;let cylinder2;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),outerPathData=createOuterCylinderPathD(0,0,w2,h2,rx,ry),innerPathData=createInnerCylinderPathD(0,ry,w2,h2,rx,ry),options=userNodeOverrides(node,{}),outerNode=rc.path(outerPathData,options),innerLine=rc.path(innerPathData,userNodeOverrides(node,{fill:"none"}));cylinder2=shapeSvg.insert(()=>innerLine,":first-child"),cylinder2=shapeSvg.insert(()=>outerNode,":first-child"),cylinder2.attr("class","basic label-container"),cssStyles&&cylinder2.attr("style",cssStyles)}else{const pathData=createCylinderPathD(0,0,w2,h2,rx,ry);cylinder2=shapeSvg.insert("path",":first-child").attr("d",pathData).attr("class","basic label-container outer-path").attr("style",handleUndefinedAttr(cssStyles)).attr("style",nodeStyles)}return cylinder2.attr("label-offset-y",ry),cylinder2.attr("transform",`translate(${-w2/2}, ${-(h2/2+ry)})`),updateNodeBounds(node,cylinder2),label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))}, ${-bbox.height/2+(node.padding??0)/1.5-(bbox.y-(bbox.top??0))})`),node.intersect=function(point2){const pos=intersect_default.rect(node,point2),x2=pos.x-(node.x??0);if(0!=rx&&(Math.abs(x2)<(node.width??0)/2||Math.abs(x2)==(node.width??0)/2&&Math.abs(pos.y-(node.y??0))>(node.height??0)/2-ry)){let y3=ry*ry*(1-x2*x2/(rx*rx));y3>0&&(y3=Math.sqrt(y3)),y3=ry-y3,point2.y-(node.y??0)>0&&(y3=-y3),pos.y+=y3}return pos},shapeSvg}async function dividedRectangle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const paddingX="neo"===node.look?16:node.padding??0,paddingY="neo"===node.look?16:node.padding??0,{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=bbox.width+paddingX,h2=bbox.height+paddingY,rectOffset2=.2*h2,x2=-w2/2,y3=-h2/2-rectOffset2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const pts=[{x:x2,y:y3+rectOffset2},{x:-x2,y:y3+rectOffset2},{x:-x2,y:-y3},{x:x2,y:-y3},{x:x2,y:y3},{x:-x2,y:y3},{x:-x2,y:y3+rectOffset2}],poly=rc.polygon(pts.map(p2=>[p2.x,p2.y]),options),polygon=shapeSvg.insert(()=>poly,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectAll("path").attr("style",nodeStyles),label.attr("transform",`translate(${x2+(node.padding??0)/2-(bbox.x-(bbox.left??0))}, ${y3+rectOffset2+(node.padding??0)/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function doublecircle(parent,node){var _a2,_b2;const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node),gap="neo"===node.look?12:5;node.labelStyle=labelStyles;const padding=node.padding??0,labelPadding="neo"===node.look?16:padding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),outerRadius=((null==node?void 0:node.width)?(null==node?void 0:node.width)/2:bbox.width/2)+(labelPadding??0),innerRadius=outerRadius-gap;let circleGroup;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),outerOptions=userNodeOverrides(node,{roughness:.2,strokeWidth:2.5}),innerOptions=userNodeOverrides(node,{roughness:.2,strokeWidth:1.5}),outerRoughNode=rc.circle(0,0,2*outerRadius,outerOptions),innerRoughNode=rc.circle(0,0,2*innerRadius,innerOptions);circleGroup=shapeSvg.insert("g",":first-child"),circleGroup.attr("class",handleUndefinedAttr(node.cssClasses)).attr("style",handleUndefinedAttr(cssStyles)),null==(_a2=circleGroup.node())||_a2.appendChild(outerRoughNode),null==(_b2=circleGroup.node())||_b2.appendChild(innerRoughNode)}else{circleGroup=shapeSvg.insert("g",":first-child");const outerCircle=circleGroup.insert("circle",":first-child"),innerCircle=circleGroup.insert("circle");circleGroup.attr("class","basic label-container").attr("style",nodeStyles),outerCircle.attr("class","outer-circle").attr("style",nodeStyles).attr("r",outerRadius).attr("cx",0).attr("cy",0),innerCircle.attr("class","inner-circle").attr("style",nodeStyles).attr("r",innerRadius).attr("cx",0).attr("cy",0)}return updateNodeBounds(node,circleGroup),node.intersect=function(point2){return log.info("DoubleCircle intersect",node,outerRadius,point2),intersect_default.circle(node,outerRadius,point2)},shapeSvg}function filledCircle(parent,node,{config:{themeVariables:themeVariables}}){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.label="",node.labelStyle=labelStyles;const shapeSvg=parent.insert("g").attr("class",getNodeClasses(node)).attr("id",node.domId??node.id),{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),{nodeBorder:nodeBorder}=themeVariables,options=userNodeOverrides(node,{fillStyle:"solid"});"handDrawn"!==node.look&&(options.roughness=0);const circleNode=rc.circle(0,0,14,options),filledCircle2=shapeSvg.insert(()=>circleNode,":first-child");return filledCircle2.selectAll("path").attr("style",`fill: ${nodeBorder} !important;`),cssStyles&&cssStyles.length>0&&"handDrawn"!==node.look&&filledCircle2.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&filledCircle2.selectAll("path").attr("style",nodeStyles),updateNodeBounds(node,filledCircle2),node.intersect=function(point2){log.info("filledCircle intersect",node,{radius:7,point:point2});return intersect_default.circle(node,7,point2)},shapeSvg}__name(cylinder,"cylinder"),__name(dividedRectangle,"dividedRectangle"),__name(doublecircle,"doublecircle"),__name(filledCircle,"filledCircle");async function flippedTriangle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?2*nodePadding:nodePadding;(node.width||node.height)&&(node.height=(null==node?void 0:node.height)??0,node.height<10&&(node.height=10),node.width=((null==node?void 0:node.width)??0)-labelPaddingX-labelPaddingX/2,node.width<10&&(node.width=10));const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+(labelPaddingX??0),h2=(null==node?void 0:node.height)?null==node?void 0:node.height:w2+bbox.height,points=[{x:0,y:-h2},{x:h2,y:-h2},{x:h2/2,y:0}],{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options),flippedTriangle2=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-h2/2}, ${h2/2})`).attr("class","outer-path");return cssStyles&&"handDrawn"!==node.look&&flippedTriangle2.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&flippedTriangle2.selectChildren("path").attr("style",nodeStyles),node.width=w2,node.height=h2,updateNodeBounds(node,flippedTriangle2),label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))}, ${-h2/2+(node.padding??0)/2+(bbox.y-(bbox.top??0))})`),node.intersect=function(point2){return log.info("Triangle intersect",node,points,point2),intersect_default.polygon(node,points,point2)},shapeSvg}function forkJoin(parent,node,{dir:dir,config:{state:state2,themeVariables:themeVariables}}){const{nodeStyles:nodeStyles}=styles2String(node);node.label="";const shapeSvg=parent.insert("g").attr("class",getNodeClasses(node)).attr("id",node.domId??node.id),{cssStyles:cssStyles}=node;let width=Math.max(70,(null==node?void 0:node.width)??0),height=Math.max(10,(null==node?void 0:node.height)??0);"LR"===dir&&(width=Math.max(10,(null==node?void 0:node.width)??0),height=Math.max(70,(null==node?void 0:node.height)??0));const x2=-1*width/2,y3=-1*height/2,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{stroke:themeVariables.lineColor,fill:themeVariables.lineColor});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const roughNode=rc.rectangle(x2,y3,width,height,options),shape=shapeSvg.insert(()=>roughNode,":first-child");cssStyles&&"handDrawn"!==node.look&&shape.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&shape.selectAll("path").attr("style",nodeStyles),updateNodeBounds(node,shape);const padding=(null==state2?void 0:state2.padding)??0;return node.width&&node.height&&(node.width+=padding/2||0,node.height+=padding/2||0),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function halfRoundedRectangle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const paddingX="neo"===node.look?16:node.padding??0,paddingY="neo"===node.look?12:node.padding??0;(node.width||node.height)&&(node.height=((null==node?void 0:node.height)??0)-2*paddingY,node.height<10&&(node.height=10),node.width=((null==node?void 0:node.width)??0)-2*paddingX,node.width<15&&(node.width=15));const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:Math.max(15,bbox.width))+2*paddingX,h2=((null==node?void 0:node.height)?null==node?void 0:node.height:Math.max(10,bbox.height))+2*paddingY,radius=h2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:-w2/2,y:-h2/2},{x:w2/2-radius,y:-h2/2},...generateCirclePoints(-w2/2+radius,0,radius,50,90,270),{x:w2/2-radius,y:h2/2},{x:-w2/2,y:h2/2}],pathData=createPathFromPoints(points),shapeNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>shapeNode,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",nodeStyles),updateNodeBounds(node,polygon),node.intersect=function(point2){log.info("Pill intersect",node,{radius:radius,point:point2});return intersect_default.polygon(node,points,point2)},shapeSvg}__name(flippedTriangle,"flippedTriangle"),__name(forkJoin,"forkJoin"),__name(halfRoundedRectangle,"halfRoundedRectangle");var createHexagonPathD=__name((x2,y3,width,height,m2)=>[`M${x2+m2},${y3}`,`L${x2+width-m2},${y3}`,`L${x2+width},${y3-height/2}`,`L${x2+width-m2},${y3-height}`,`L${x2+m2},${y3-height}`,`L${x2},${y3-height/2}`,"Z"].join(" "),"createHexagonPathD");async function hexagon(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node),f2="neo"===node.look?3.5:4;node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?70:nodePadding,labelPaddingY="neo"===node.look?32:nodePadding;if(node.width||node.height){const m22=(node.height??0)/f2;node.width=((null==node?void 0:node.width)??0)-2*m22-labelPaddingY,node.height=(node.height??0)-labelPaddingX}const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+labelPaddingX,m2=h2/f2,w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*m2+labelPaddingY,points=[{x:m2,y:0},{x:w2-m2,y:0},{x:w2,y:-h2/2},{x:w2-m2,y:-h2},{x:m2,y:-h2},{x:0,y:-h2/2}];let polygon;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),pathData=createHexagonPathD(0,0,w2,h2,m2),roughNode=rc.path(pathData,options);polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-w2/2}, ${h2/2})`),cssStyles&&polygon.attr("style",cssStyles)}else polygon=insertPolygonShape(shapeSvg,w2,h2,points);return nodeStyles&&polygon.attr("style",nodeStyles),node.width=w2,node.height=h2,updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function hourglass(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.label="",node.labelStyle=labelStyles;const{shapeSvg:shapeSvg}=await labelHelper(parent,node,getNodeClasses(node)),w2=Math.max(30,(null==node?void 0:node.width)??0),h2=Math.max(30,(null==node?void 0:node.height)??0),{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:0,y:0},{x:w2,y:0},{x:0,y:h2},{x:w2,y:h2}],pathData=createPathFromPoints(points),shapeNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>shapeNode,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",nodeStyles),polygon.attr("transform",`translate(${-w2/2}, ${-h2/2})`),updateNodeBounds(node,polygon),node.intersect=function(point2){log.info("Pill intersect",node,{points:points});return intersect_default.polygon(node,points,point2)},shapeSvg}async function icon(parent,node,{config:{themeVariables:themeVariables,flowchart:flowchart}}){const{labelStyles:labelStyles}=styles2String(node);node.labelStyle=labelStyles;const assetHeight=node.assetHeight??48,assetWidth=node.assetWidth??48,iconSize=Math.max(assetHeight,assetWidth),defaultWidth=null==flowchart?void 0:flowchart.wrappingWidth;node.width=Math.max(iconSize,defaultWidth??0);const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,"icon-shape default"),topLabel="t"===node.pos,height=iconSize,width=iconSize,{nodeBorder:nodeBorder}=themeVariables,{stylesMap:stylesMap}=compileStyles(node),x2=-width/2,y3=-height/2,labelPadding=node.label?8:0,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{stroke:"none",fill:"none"});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const iconNode=rc.rectangle(x2,y3,width,height,options),outerWidth=Math.max(width,bbox.width),outerHeight=height+bbox.height+labelPadding,outerNode=rc.rectangle(-outerWidth/2,-outerHeight/2,outerWidth,outerHeight,{...options,fill:"transparent",stroke:"none"}),iconShape=shapeSvg.insert(()=>iconNode,":first-child"),outerShape=shapeSvg.insert(()=>outerNode);if(node.icon){const iconElem=shapeSvg.append("g");iconElem.html(`<g>${await getIconSVG(node.icon,{height:iconSize,width:iconSize,fallbackPrefix:""})}</g>`);const iconBBox=iconElem.node().getBBox(),iconWidth=iconBBox.width,iconHeight=iconBBox.height,iconX=iconBBox.x,iconY=iconBBox.y;iconElem.attr("transform",`translate(${-iconWidth/2-iconX},${topLabel?bbox.height/2+labelPadding/2-iconHeight/2-iconY:-bbox.height/2-labelPadding/2-iconHeight/2-iconY})`),iconElem.attr("style",`color: ${stylesMap.get("stroke")??nodeBorder};`)}return label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))},${topLabel?-outerHeight/2:outerHeight/2-bbox.height})`),iconShape.attr("transform",`translate(0,${topLabel?bbox.height/2+labelPadding/2:-bbox.height/2-labelPadding/2})`),updateNodeBounds(node,outerShape),node.intersect=function(point2){if(log.info("iconSquare intersect",node,point2),!node.label)return intersect_default.rect(node,point2);const dx=node.x??0,dy=node.y??0,nodeHeight=node.height??0;let points=[];points=topLabel?[{x:dx-bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+width/2,y:dy+nodeHeight/2},{x:dx-width/2,y:dy+nodeHeight/2},{x:dx-width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx-bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding}]:[{x:dx-width/2,y:dy-nodeHeight/2},{x:dx+width/2,y:dy-nodeHeight/2},{x:dx+width/2,y:dy-nodeHeight/2+height},{x:dx+bbox.width/2,y:dy-nodeHeight/2+height},{x:dx+bbox.width/2/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy-nodeHeight/2+height},{x:dx-width/2,y:dy-nodeHeight/2+height}];return intersect_default.polygon(node,points,point2)},shapeSvg}async function iconCircle(parent,node,{config:{themeVariables:themeVariables,flowchart:flowchart}}){const{labelStyles:labelStyles}=styles2String(node);node.labelStyle=labelStyles;const assetHeight=node.assetHeight??48,assetWidth=node.assetWidth??48,iconSize=Math.max(assetHeight,assetWidth),defaultWidth=null==flowchart?void 0:flowchart.wrappingWidth;node.width=Math.max(iconSize,defaultWidth??0);const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,"icon-shape default"),labelPadding=node.label?8:0,topLabel="t"===node.pos,{nodeBorder:nodeBorder,mainBkg:mainBkg}=themeVariables,{stylesMap:stylesMap}=compileStyles(node),rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const fill=stylesMap.get("fill");options.stroke=fill??mainBkg;const iconElem=shapeSvg.append("g");node.icon&&iconElem.html(`<g>${await getIconSVG(node.icon,{height:iconSize,width:iconSize,fallbackPrefix:""})}</g>`);const iconBBox=iconElem.node().getBBox(),iconWidth=iconBBox.width,iconHeight=iconBBox.height,iconX=iconBBox.x,iconY=iconBBox.y,diameter=Math.max(iconWidth,iconHeight)*Math.SQRT2+40,iconNode=rc.circle(0,0,diameter,options),outerWidth=Math.max(diameter,bbox.width),outerHeight=diameter+bbox.height+labelPadding,outerNode=rc.rectangle(-outerWidth/2,-outerHeight/2,outerWidth,outerHeight,{...options,fill:"transparent",stroke:"none"}),iconShape=shapeSvg.insert(()=>iconNode,":first-child"),outerShape=shapeSvg.insert(()=>outerNode);return iconElem.attr("transform",`translate(${-iconWidth/2-iconX},${topLabel?bbox.height/2+labelPadding/2-iconHeight/2-iconY:-bbox.height/2-labelPadding/2-iconHeight/2-iconY})`),iconElem.attr("style",`color: ${stylesMap.get("stroke")??nodeBorder};`),label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))},${topLabel?-outerHeight/2:outerHeight/2-bbox.height})`),iconShape.attr("transform",`translate(0,${topLabel?bbox.height/2+labelPadding/2:-bbox.height/2-labelPadding/2})`),updateNodeBounds(node,outerShape),node.intersect=function(point2){log.info("iconSquare intersect",node,point2);return intersect_default.rect(node,point2)},shapeSvg}async function iconRounded(parent,node,{config:{themeVariables:themeVariables,flowchart:flowchart}}){const{labelStyles:labelStyles}=styles2String(node);node.labelStyle=labelStyles;const assetHeight=node.assetHeight??48,assetWidth=node.assetWidth??48,iconSize=Math.max(assetHeight,assetWidth),defaultWidth=null==flowchart?void 0:flowchart.wrappingWidth;node.width=Math.max(iconSize,defaultWidth??0);const{shapeSvg:shapeSvg,bbox:bbox,halfPadding:halfPadding,label:label}=await labelHelper(parent,node,"icon-shape default"),topLabel="t"===node.pos,height=iconSize+2*halfPadding,width=iconSize+2*halfPadding,{nodeBorder:nodeBorder,mainBkg:mainBkg}=themeVariables,{stylesMap:stylesMap}=compileStyles(node),x2=-width/2,y3=-height/2,labelPadding=node.label?8:0,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const fill=stylesMap.get("fill");options.stroke=fill??mainBkg;const iconNode=rc.path(createRoundedRectPathD(x2,y3,width,height,5),options),outerWidth=Math.max(width,bbox.width),outerHeight=height+bbox.height+labelPadding,outerNode=rc.rectangle(-outerWidth/2,-outerHeight/2,outerWidth,outerHeight,{...options,fill:"transparent",stroke:"none"}),iconShape=shapeSvg.insert(()=>iconNode,":first-child").attr("class","icon-shape2"),outerShape=shapeSvg.insert(()=>outerNode);if(node.icon){const iconElem=shapeSvg.append("g");iconElem.html(`<g>${await getIconSVG(node.icon,{height:iconSize,width:iconSize,fallbackPrefix:""})}</g>`);const iconBBox=iconElem.node().getBBox(),iconWidth=iconBBox.width,iconHeight=iconBBox.height,iconX=iconBBox.x,iconY=iconBBox.y;iconElem.attr("transform",`translate(${-iconWidth/2-iconX},${topLabel?bbox.height/2+labelPadding/2-iconHeight/2-iconY:-bbox.height/2-labelPadding/2-iconHeight/2-iconY})`),iconElem.attr("style",`color: ${stylesMap.get("stroke")??nodeBorder};`)}return label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))},${topLabel?-outerHeight/2:outerHeight/2-bbox.height})`),iconShape.attr("transform",`translate(0,${topLabel?bbox.height/2+labelPadding/2:-bbox.height/2-labelPadding/2})`),updateNodeBounds(node,outerShape),node.intersect=function(point2){if(log.info("iconSquare intersect",node,point2),!node.label)return intersect_default.rect(node,point2);const dx=node.x??0,dy=node.y??0,nodeHeight=node.height??0;let points=[];points=topLabel?[{x:dx-bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+width/2,y:dy+nodeHeight/2},{x:dx-width/2,y:dy+nodeHeight/2},{x:dx-width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx-bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding}]:[{x:dx-width/2,y:dy-nodeHeight/2},{x:dx+width/2,y:dy-nodeHeight/2},{x:dx+width/2,y:dy-nodeHeight/2+height},{x:dx+bbox.width/2,y:dy-nodeHeight/2+height},{x:dx+bbox.width/2/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy-nodeHeight/2+height},{x:dx-width/2,y:dy-nodeHeight/2+height}];return intersect_default.polygon(node,points,point2)},shapeSvg}async function iconSquare(parent,node,{config:{themeVariables:themeVariables,flowchart:flowchart}}){const{labelStyles:labelStyles}=styles2String(node);node.labelStyle=labelStyles;const assetHeight=node.assetHeight??48,assetWidth=node.assetWidth??48,iconSize=Math.max(assetHeight,assetWidth),defaultWidth=null==flowchart?void 0:flowchart.wrappingWidth;node.width=Math.max(iconSize,defaultWidth??0);const{shapeSvg:shapeSvg,bbox:bbox,halfPadding:halfPadding,label:label}=await labelHelper(parent,node,"icon-shape default"),topLabel="t"===node.pos,height=iconSize+2*halfPadding,width=iconSize+2*halfPadding,{nodeBorder:nodeBorder,mainBkg:mainBkg}=themeVariables,{stylesMap:stylesMap}=compileStyles(node),x2=-width/2,y3=-height/2,labelPadding=node.label?8:0,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const fill=stylesMap.get("fill");options.stroke=fill??mainBkg;const iconNode=rc.path(createRoundedRectPathD(x2,y3,width,height,.1),options),outerWidth=Math.max(width,bbox.width),outerHeight=height+bbox.height+labelPadding,outerNode=rc.rectangle(-outerWidth/2,-outerHeight/2,outerWidth,outerHeight,{...options,fill:"transparent",stroke:"none"}),iconShape=shapeSvg.insert(()=>iconNode,":first-child"),outerShape=shapeSvg.insert(()=>outerNode);if(node.icon){const iconElem=shapeSvg.append("g");iconElem.html(`<g>${await getIconSVG(node.icon,{height:iconSize,width:iconSize,fallbackPrefix:""})}</g>`);const iconBBox=iconElem.node().getBBox(),iconWidth=iconBBox.width,iconHeight=iconBBox.height,iconX=iconBBox.x,iconY=iconBBox.y;iconElem.attr("transform",`translate(${-iconWidth/2-iconX},${topLabel?bbox.height/2+labelPadding/2-iconHeight/2-iconY:-bbox.height/2-labelPadding/2-iconHeight/2-iconY})`),iconElem.attr("style",`color: ${stylesMap.get("stroke")??nodeBorder};`)}return label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))},${topLabel?-outerHeight/2:outerHeight/2-bbox.height})`),iconShape.attr("transform",`translate(0,${topLabel?bbox.height/2+labelPadding/2:-bbox.height/2-labelPadding/2})`),updateNodeBounds(node,outerShape),node.intersect=function(point2){if(log.info("iconSquare intersect",node,point2),!node.label)return intersect_default.rect(node,point2);const dx=node.x??0,dy=node.y??0,nodeHeight=node.height??0;let points=[];points=topLabel?[{x:dx-bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+width/2,y:dy+nodeHeight/2},{x:dx-width/2,y:dy+nodeHeight/2},{x:dx-width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx-bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding}]:[{x:dx-width/2,y:dy-nodeHeight/2},{x:dx+width/2,y:dy-nodeHeight/2},{x:dx+width/2,y:dy-nodeHeight/2+height},{x:dx+bbox.width/2,y:dy-nodeHeight/2+height},{x:dx+bbox.width/2/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy-nodeHeight/2+height},{x:dx-width/2,y:dy-nodeHeight/2+height}];return intersect_default.polygon(node,points,point2)},shapeSvg}async function imageSquare(parent,node,{config:{flowchart:flowchart}}){const img=new Image;img.src=(null==node?void 0:node.img)??"",await img.decode();const imageNaturalWidth=Number(img.naturalWidth.toString().replace("px","")),imageNaturalHeight=Number(img.naturalHeight.toString().replace("px",""));node.imageAspectRatio=imageNaturalWidth/imageNaturalHeight;const{labelStyles:labelStyles}=styles2String(node);node.labelStyle=labelStyles;const defaultWidth=null==flowchart?void 0:flowchart.wrappingWidth;node.defaultWidth=null==flowchart?void 0:flowchart.wrappingWidth;const imageRawWidth=Math.max(node.label?defaultWidth??0:0,(null==node?void 0:node.assetWidth)??imageNaturalWidth),imageWidth="on"===node.constraint&&(null==node?void 0:node.assetHeight)?node.assetHeight*node.imageAspectRatio:imageRawWidth,imageHeight="on"===node.constraint?imageWidth/node.imageAspectRatio:(null==node?void 0:node.assetHeight)??imageNaturalHeight;node.width=Math.max(imageWidth,defaultWidth??0);const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,"image-shape default"),topLabel="t"===node.pos,x2=-imageWidth/2,y3=-imageHeight/2,labelPadding=node.label?8:0,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const imageNode=rc.rectangle(x2,y3,imageWidth,imageHeight,options),outerWidth=Math.max(imageWidth,bbox.width),outerHeight=imageHeight+bbox.height+labelPadding,outerNode=rc.rectangle(-outerWidth/2,-outerHeight/2,outerWidth,outerHeight,{...options,fill:"none",stroke:"none"}),iconShape=shapeSvg.insert(()=>imageNode,":first-child"),outerShape=shapeSvg.insert(()=>outerNode);if(node.img){const image=shapeSvg.append("image");image.attr("href",node.img),image.attr("width",imageWidth),image.attr("height",imageHeight),image.attr("preserveAspectRatio","none"),image.attr("transform",`translate(${-imageWidth/2},${topLabel?outerHeight/2-imageHeight:-outerHeight/2})`)}return label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))},${topLabel?-imageHeight/2-bbox.height/2-labelPadding/2:imageHeight/2-bbox.height/2+labelPadding/2})`),iconShape.attr("transform",`translate(0,${topLabel?bbox.height/2+labelPadding/2:-bbox.height/2-labelPadding/2})`),updateNodeBounds(node,outerShape),node.intersect=function(point2){if(log.info("iconSquare intersect",node,point2),!node.label)return intersect_default.rect(node,point2);const dx=node.x??0,dy=node.y??0,nodeHeight=node.height??0;let points=[];points=topLabel?[{x:dx-bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2},{x:dx+bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+imageWidth/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx+imageWidth/2,y:dy+nodeHeight/2},{x:dx-imageWidth/2,y:dy+nodeHeight/2},{x:dx-imageWidth/2,y:dy-nodeHeight/2+bbox.height+labelPadding},{x:dx-bbox.width/2,y:dy-nodeHeight/2+bbox.height+labelPadding}]:[{x:dx-imageWidth/2,y:dy-nodeHeight/2},{x:dx+imageWidth/2,y:dy-nodeHeight/2},{x:dx+imageWidth/2,y:dy-nodeHeight/2+imageHeight},{x:dx+bbox.width/2,y:dy-nodeHeight/2+imageHeight},{x:dx+bbox.width/2/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy+nodeHeight/2},{x:dx-bbox.width/2,y:dy-nodeHeight/2+imageHeight},{x:dx-imageWidth/2,y:dy-nodeHeight/2+imageHeight}];return intersect_default.polygon(node,points,point2)},shapeSvg}async function inv_trapezoid(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingY=nodePadding,labelPaddingX="neo"===node.look?2*nodePadding:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),w2=Math.max(bbox.width+2*(labelPaddingX??0),(null==node?void 0:node.width)??0),h2=Math.max(bbox.height+2*(labelPaddingY??0),(null==node?void 0:node.height)??0),points=[{x:0,y:0},{x:w2,y:0},{x:w2+3*h2/6,y:-h2},{x:-3*h2/6,y:-h2}];let polygon;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options);polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-w2/2}, ${h2/2})`),cssStyles&&polygon.attr("style",cssStyles)}else polygon=insertPolygonShape(shapeSvg,w2,h2,points);return nodeStyles&&polygon.attr("style",nodeStyles),node.width=w2,node.height=h2,updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function drawRect(parent,node,options){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),totalWidth=Math.max(bbox.width+2*options.labelPaddingX,(null==node?void 0:node.width)||0),totalHeight=Math.max(bbox.height+2*options.labelPaddingY,(null==node?void 0:node.height)||0),x2=-totalWidth/2,y3=-totalHeight/2;let rect2,{rx:rx,ry:ry}=node;const{cssStyles:cssStyles}=node;if((null==options?void 0:options.rx)&&options.ry&&(rx=options.rx,ry=options.ry),"handDrawn"===node.look){const rc=at.svg(shapeSvg),options2=userNodeOverrides(node,{}),roughNode=rx||ry?rc.path(createRoundedRectPathD(x2,y3,totalWidth,totalHeight,rx||0),options2):rc.rectangle(x2,y3,totalWidth,totalHeight,options2);rect2=shapeSvg.insert(()=>roughNode,":first-child"),rect2.attr("class","basic label-container").attr("style",handleUndefinedAttr(cssStyles))}else rect2=shapeSvg.insert("rect",":first-child"),rect2.attr("class","basic label-container").attr("style",nodeStyles).attr("rx",handleUndefinedAttr(rx)).attr("ry",handleUndefinedAttr(ry)).attr("x",x2).attr("y",y3).attr("width",totalWidth).attr("height",totalHeight);return updateNodeBounds(node,rect2),node.calcIntersect=function(bounds,point2){return intersect_default.rect(bounds,point2)},node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function labelRect(parent,node){const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,"label"),rect2=shapeSvg.insert("rect",":first-child");return rect2.attr("width",.1).attr("height",.1),shapeSvg.attr("class","label edgeLabel"),label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))}, ${-bbox.height/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function lean_left(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingY=nodePadding,labelPaddingX="neo"===node.look?2*nodePadding:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),h2=((null==node?void 0:node.height)??bbox.height)+labelPaddingY,w2=((null==node?void 0:node.width)??bbox.width)+labelPaddingX,points=[{x:0,y:0},{x:w2+3*h2/6,y:0},{x:w2,y:-h2},{x:-3*h2/6,y:-h2}];let polygon;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options);polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-w2/2}, ${h2/2})`),cssStyles&&polygon.attr("style",cssStyles)}else polygon=insertPolygonShape(shapeSvg,w2,h2,points);return nodeStyles&&polygon.attr("style",nodeStyles),node.width=w2,node.height=h2,updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function lean_right(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingY=nodePadding,labelPaddingX="neo"===node.look?2*nodePadding:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),h2=((null==node?void 0:node.height)??bbox.height)+labelPaddingY,w2=((null==node?void 0:node.width)??bbox.width)+labelPaddingX,points=[{x:-3*h2/6,y:0},{x:w2,y:0},{x:w2+3*h2/6,y:-h2},{x:0,y:-h2}];let polygon;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options);polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-w2/2}, ${h2/2})`),cssStyles&&polygon.attr("style",cssStyles)}else polygon=insertPolygonShape(shapeSvg,w2,h2,points);return nodeStyles&&polygon.attr("style",nodeStyles),node.width=w2,node.height=h2,updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}function lightningBolt(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.label="",node.labelStyle=labelStyles;const shapeSvg=parent.insert("g").attr("class",getNodeClasses(node)).attr("id",node.domId??node.id),{cssStyles:cssStyles}=node,width=Math.max(35,(null==node?void 0:node.width)??0),height=Math.max(35,(null==node?void 0:node.height)??0),points=[{x:width,y:0},{x:0,y:height+3.5},{x:width-14,y:height+3.5},{x:0,y:2*height},{x:width,y:height-3.5},{x:14,y:height-3.5}],rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const linePath=createPathFromPoints(points),lineNode=rc.path(linePath,options),lightningBolt2=shapeSvg.insert(()=>lineNode,":first-child");return lightningBolt2.attr("class","outer-path"),cssStyles&&"handDrawn"!==node.look&&lightningBolt2.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&lightningBolt2.selectAll("path").attr("style",nodeStyles),lightningBolt2.attr("transform",`translate(-${width/2},${-height})`),updateNodeBounds(node,lightningBolt2),node.intersect=function(point2){log.info("lightningBolt intersect",node,point2);return intersect_default.polygon(node,points,point2)},shapeSvg}__name(hexagon,"hexagon"),__name(hourglass,"hourglass"),__name(icon,"icon"),__name(iconCircle,"iconCircle"),__name(iconRounded,"iconRounded"),__name(iconSquare,"iconSquare"),__name(imageSquare,"imageSquare"),__name(inv_trapezoid,"inv_trapezoid"),__name(drawRect,"drawRect"),__name(labelRect,"labelRect"),__name(lean_left,"lean_left"),__name(lean_right,"lean_right"),__name(lightningBolt,"lightningBolt");var createCylinderPathD2=__name((x2,y3,width,height,rx,ry,outerOffset)=>[`M${x2},${y3+ry}`,`a${rx},${ry} 0,0,0 ${width},0`,`a${rx},${ry} 0,0,0 ${-width},0`,`l0,${height}`,`a${rx},${ry} 0,0,0 ${width},0`,"l0,"+-height,`M${x2},${y3+ry+outerOffset}`,`a${rx},${ry} 0,0,0 ${width},0`].join(" "),"createCylinderPathD"),createOuterCylinderPathD2=__name((x2,y3,width,height,rx,ry,outerOffset)=>[`M${x2},${y3+ry}`,`M${x2+width},${y3+ry}`,`a${rx},${ry} 0,0,0 ${-width},0`,`l0,${height}`,`a${rx},${ry} 0,0,0 ${width},0`,"l0,"+-height,`M${x2},${y3+ry+outerOffset}`,`a${rx},${ry} 0,0,0 ${width},0`].join(" "),"createOuterCylinderPathD"),createInnerCylinderPathD2=__name((x2,y3,width,height,rx,ry)=>[`M${x2-width/2},${-height/2}`,`a${rx},${ry} 0,0,0 ${width},0`].join(" "),"createInnerCylinderPathD");async function linedCylinder(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?24:nodePadding;if(node.width||node.height){const originalWidth=node.width??0;node.width=(node.width??0)-labelPaddingX,node.width<10&&(node.width=10);const ry2=originalWidth/2/(2.5+originalWidth/50);node.height=(node.height??0)-labelPaddingY-3*ry2,node.height<10&&(node.height=10)}const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*labelPaddingX,rx=w2/2,ry=rx/(2.5+w2/50),h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+ry+2*labelPaddingY,outerOffset=.1*h2;let cylinder2;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),outerPathData=createOuterCylinderPathD2(0,0,w2,h2,rx,ry,outerOffset),innerPathData=createInnerCylinderPathD2(0,ry,w2,h2,rx,ry),options=userNodeOverrides(node,{}),outerNode=rc.path(outerPathData,options),innerLine=rc.path(innerPathData,options);shapeSvg.insert(()=>innerLine,":first-child").attr("class","line"),cylinder2=shapeSvg.insert(()=>outerNode,":first-child"),cylinder2.attr("class","basic label-container"),cssStyles&&cylinder2.attr("style",cssStyles)}else{const pathData=createCylinderPathD2(0,0,w2,h2,rx,ry,outerOffset);cylinder2=shapeSvg.insert("path",":first-child").attr("d",pathData).attr("class","basic label-container outer-path").attr("style",handleUndefinedAttr(cssStyles)).attr("style",nodeStyles)}return cylinder2.attr("label-offset-y",ry),cylinder2.attr("transform",`translate(${-w2/2}, ${-(h2/2+ry)})`),updateNodeBounds(node,cylinder2),label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))}, ${-bbox.height/2+ry-(bbox.y-(bbox.top??0))})`),node.intersect=function(point2){const pos=intersect_default.rect(node,point2),x2=pos.x-(node.x??0);if(0!=rx&&(Math.abs(x2)<(node.width??0)/2||Math.abs(x2)==(node.width??0)/2&&Math.abs(pos.y-(node.y??0))>(node.height??0)/2-ry)){let y3=ry*ry*(1-x2*x2/(rx*rx));y3>0&&(y3=Math.sqrt(y3)),y3=ry-y3,point2.y-(node.y??0)>0&&(y3=-y3),pos.y+=y3}return pos},shapeSvg}async function linedWaveEdgedRect(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding;if(node.width||node.height){const originalWidth=node.width;node.width=10*(originalWidth??0)/11-2*labelPaddingX,node.width<10&&(node.width=10),node.height=((null==node?void 0:node.height)??0)-2*labelPaddingY,node.height<10&&(node.height=10)}const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*(labelPaddingX??0),h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+2*(labelPaddingY??0),waveAmplitude="neo"===node.look?h2/4:h2/8,finalH=h2+waveAmplitude,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:-w2/2-w2/2*.1,y:-finalH/2},{x:-w2/2-w2/2*.1,y:finalH/2},...generateFullSineWavePoints(-w2/2-w2/2*.1,finalH/2,w2/2+w2/2*.1,finalH/2,waveAmplitude,.8),{x:w2/2+w2/2*.1,y:-finalH/2},{x:-w2/2-w2/2*.1,y:-finalH/2},{x:-w2/2,y:-finalH/2},{x:-w2/2,y:finalH/2*1.1},{x:-w2/2,y:-finalH/2}],poly=rc.polygon(points.map(p2=>[p2.x,p2.y]),options),waveEdgeRect=shapeSvg.insert(()=>poly,":first-child");return waveEdgeRect.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&waveEdgeRect.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&waveEdgeRect.selectAll("path").attr("style",nodeStyles),waveEdgeRect.attr("transform",`translate(0,${-waveAmplitude/2})`),label.attr("transform",`translate(${-w2/2+(node.padding??0)+w2/2*.1/2-(bbox.x-(bbox.left??0))},${-h2/2+(node.padding??0)-waveAmplitude/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,waveEdgeRect),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function multiRect(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding,rectOffset2="neo"===node.look?10:5;(node.width||node.height)&&(node.width=Math.max(((null==node?void 0:node.width)??0)-2*labelPaddingX-2*rectOffset2,10),node.height=Math.max(((null==node?void 0:node.height)??0)-2*labelPaddingY-2*rectOffset2,10));const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*labelPaddingX+2*rectOffset2-2*rectOffset2,h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+2*labelPaddingY+2*rectOffset2-2*rectOffset2,x2=-w2/2,y3=-h2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),outerPathPoints=[{x:x2-rectOffset2,y:y3+rectOffset2},{x:x2-rectOffset2,y:y3+h2+rectOffset2},{x:x2+w2-rectOffset2,y:y3+h2+rectOffset2},{x:x2+w2-rectOffset2,y:y3+h2},{x:x2+w2,y:y3+h2},{x:x2+w2,y:y3+h2-rectOffset2},{x:x2+w2+rectOffset2,y:y3+h2-rectOffset2},{x:x2+w2+rectOffset2,y:y3-rectOffset2},{x:x2+rectOffset2,y:y3-rectOffset2},{x:x2+rectOffset2,y:y3},{x:x2,y:y3},{x:x2,y:y3+rectOffset2}],innerPathPoints=[{x:x2,y:y3+rectOffset2},{x:x2+w2-rectOffset2,y:y3+rectOffset2},{x:x2+w2-rectOffset2,y:y3+h2},{x:x2+w2,y:y3+h2},{x:x2+w2,y:y3},{x:x2,y:y3}];"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const outerPath=createPathFromPoints(outerPathPoints);let outerNode=rc.path(outerPath,options);const innerPath=createPathFromPoints(innerPathPoints);let innerNode=rc.path(innerPath,options);"handDrawn"!==node.look&&(outerNode=mergePaths(outerNode),innerNode=mergePaths(innerNode));const multiRect2=shapeSvg.insert("g",":first-child");return multiRect2.insert(()=>outerNode),multiRect2.insert(()=>innerNode),multiRect2.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&multiRect2.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&multiRect2.selectAll("path").attr("style",nodeStyles),label.attr("transform",`translate(${-bbox.width/2-rectOffset2-(bbox.x-(bbox.left??0))}, ${-bbox.height/2+rectOffset2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,multiRect2),node.intersect=function(point2){return intersect_default.polygon(node,outerPathPoints,point2)},shapeSvg}async function multiWaveEdgedRectangle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding;let adjustFinalHeight=!0;(node.width||node.height)&&(adjustFinalHeight=!1,node.width=((null==node?void 0:node.width)??0)-2*labelPaddingX,node.height=((null==node?void 0:node.height)??0)-3*labelPaddingY);const w2=Math.max(bbox.width,(null==node?void 0:node.width)??0)+2*labelPaddingX,h2=Math.max(bbox.height,(null==node?void 0:node.height)??0)+3*labelPaddingY,waveAmplitude="neo"===node.look?h2/4:h2/8,finalH=h2+(adjustFinalHeight?waveAmplitude/2:-waveAmplitude/2),x2=-w2/2,y3=-finalH/2,{cssStyles:cssStyles}=node,wavePoints=generateFullSineWavePoints(x2-10,y3+finalH+10,x2+w2-10,y3+finalH+10,waveAmplitude,.8),lastWavePoint=null==wavePoints?void 0:wavePoints[wavePoints.length-1],outerPathPoints=[{x:x2-10,y:y3+10},{x:x2-10,y:y3+finalH+10},...wavePoints,{x:x2+w2-10,y:lastWavePoint.y-10},{x:x2+w2,y:lastWavePoint.y-10},{x:x2+w2,y:lastWavePoint.y-20},{x:x2+w2+10,y:lastWavePoint.y-20},{x:x2+w2+10,y:y3-10},{x:x2+10,y:y3-10},{x:x2+10,y:y3},{x:x2,y:y3},{x:x2,y:y3+10}],innerPathPoints=[{x:x2,y:y3+10},{x:x2+w2-10,y:y3+10},{x:x2+w2-10,y:lastWavePoint.y-10},{x:x2+w2,y:lastWavePoint.y-10},{x:x2+w2,y:y3},{x:x2,y:y3}],rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const outerPath=createPathFromPoints(outerPathPoints),outerNode=rc.path(outerPath,options),innerPath=createPathFromPoints(innerPathPoints),innerNode=rc.path(innerPath,options),shape=shapeSvg.insert(()=>outerNode,":first-child");return shape.insert(()=>innerNode),shape.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&shape.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&shape.selectAll("path").attr("style",nodeStyles),shape.attr("transform",`translate(0,${-waveAmplitude/2})`),label.attr("transform",`translate(${-bbox.width/2-10-(bbox.x-(bbox.left??0))}, ${-bbox.height/2+10-waveAmplitude/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,shape),node.intersect=function(point2){return intersect_default.polygon(node,outerPathPoints,point2)},shapeSvg}async function note(parent,node,{config:{themeVariables:themeVariables}}){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;node.useHtmlLabels||getEffectiveHtmlLabels(getConfig())||(node.centerLabel=!0);const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),totalWidth=Math.max(bbox.width+2*(node.padding??0),(null==node?void 0:node.width)??0),totalHeight=Math.max(bbox.height+2*(node.padding??0),(null==node?void 0:node.height)??0),x2=-totalWidth/2,y3=-totalHeight/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{fill:themeVariables.noteBkgColor,stroke:themeVariables.noteBorderColor});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const noteShapeNode=rc.rectangle(x2,y3,totalWidth,totalHeight,options),rect2=shapeSvg.insert(()=>noteShapeNode,":first-child");return rect2.attr("class","basic label-container outer-path"),label.attr("class","label noteLabel"),cssStyles&&"handDrawn"!==node.look&&rect2.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&rect2.selectAll("path").attr("style",nodeStyles),label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))}, ${-bbox.height/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}__name(linedCylinder,"linedCylinder"),__name(linedWaveEdgedRect,"linedWaveEdgedRect"),__name(multiRect,"multiRect"),__name(multiWaveEdgedRectangle,"multiWaveEdgedRectangle"),__name(note,"note");var createDecisionBoxPathD=__name((x2,y3,size)=>[`M${x2+size/2},${y3}`,`L${x2+size},${y3-size/2}`,`L${x2+size/2},${y3-size}`,`L${x2},${y3-size/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function question(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),s2=bbox.width+(node.padding??0)+(bbox.height+(node.padding??0)),points=[{x:s2/2,y:0},{x:s2,y:-s2/2},{x:s2/2,y:-s2},{x:0,y:-s2/2}];let polygon;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),pathData=createDecisionBoxPathD(0,0,s2),roughNode=rc.path(pathData,options);polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-s2/2+.5}, ${s2/2})`),cssStyles&&polygon.attr("style",cssStyles)}else polygon=insertPolygonShape(shapeSvg,s2,s2,points),polygon.attr("transform",`translate(${-s2/2+.5}, ${s2/2})`);return nodeStyles&&polygon.attr("style",nodeStyles),updateNodeBounds(node,polygon),node.calcIntersect=function(bounds,point2){const s22=bounds.width,points2=[{x:s22/2,y:0},{x:s22,y:-s22/2},{x:s22/2,y:-s22},{x:0,y:-s22/2}],res=intersect_default.polygon(bounds,points2,point2);return{x:res.x-.5,y:res.y-.5}},node.intersect=function(point2){return this.calcIntersect(node,point2)},shapeSvg}async function rect_left_inv_arrow(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?21:nodePadding??0,labelPaddingY="neo"===node.look?12:nodePadding??0,{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),x2=-(((null==node?void 0:node.width)??bbox.width)+("neo"===node.look?2*labelPaddingX:labelPaddingX))/2,y3=-(((null==node?void 0:node.height)??bbox.height)+("neo"===node.look?2*labelPaddingY:labelPaddingY))/2,notch=y3/2,points=[{x:x2+notch,y:y3},{x:x2,y:0},{x:x2+notch,y:-y3},{x:-x2,y:-y3},{x:-x2,y:y3}],{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>roughNode,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectAll("path").attr("style",nodeStyles),polygon.attr("transform",`translate(${-notch/2},0)`),label.attr("transform",`translate(${-notch/2-bbox.width/2-(bbox.x-(bbox.left??0))}, ${-bbox.height/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function rectWithTitle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);let classes;node.labelStyle=labelStyles,classes=node.cssClasses?"node "+node.cssClasses:"node default";const shapeSvg=parent.insert("g").attr("class",classes).attr("id",node.domId||node.id),g2=shapeSvg.insert("g"),label=shapeSvg.insert("g").attr("class","label").attr("style",nodeStyles),description=node.description,title=node.label,text2=await createLabel_default(label,title,node.labelStyle,!0,!0);let bbox={width:0,height:0};if(getEffectiveHtmlLabels(getConfig2())){const div2=text2.children[0],dv2=select(text2);bbox=div2.getBoundingClientRect(),dv2.attr("width",bbox.width),dv2.attr("height",bbox.height)}log.info("Text 2",description);const textRows=description||[],titleBox=text2.getBBox(),descr=await createLabel_default(label,Array.isArray(textRows)?textRows.join("<br/>"):textRows,node.labelStyle,!0,!0),div=descr.children[0],dv=select(descr);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height);const halfPadding=(node.padding||0)/2;select(descr).attr("transform","translate( "+(bbox.width>titleBox.width?0:(titleBox.width-bbox.width)/2)+", "+(titleBox.height+halfPadding+5)+")"),select(text2).attr("transform","translate( "+(bbox.width<titleBox.width?0:-(titleBox.width-bbox.width)/2)+", 0)"),bbox=label.node().getBBox(),label.attr("transform","translate("+-bbox.width/2+", "+(-bbox.height/2-halfPadding+3)+")");const totalWidth=bbox.width+(node.padding||0),totalHeight=bbox.height+(node.padding||0),x2=-bbox.width/2-halfPadding,y3=-bbox.height/2-halfPadding;let rect2,innerLine;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),roughNode=rc.path(createRoundedRectPathD(x2,y3,totalWidth,totalHeight,node.rx||0),options),roughLine=rc.line(-bbox.width/2-halfPadding,-bbox.height/2-halfPadding+titleBox.height+halfPadding,bbox.width/2+halfPadding,-bbox.height/2-halfPadding+titleBox.height+halfPadding,options);innerLine=shapeSvg.insert(()=>(log.debug("Rough node insert CXC",roughNode),roughLine),":first-child"),rect2=shapeSvg.insert(()=>(log.debug("Rough node insert CXC",roughNode),roughNode),":first-child")}else rect2=g2.insert("rect",":first-child"),innerLine=g2.insert("line"),rect2.attr("class","outer title-state").attr("style",nodeStyles).attr("x",-bbox.width/2-halfPadding).attr("y",-bbox.height/2-halfPadding).attr("width",bbox.width+(node.padding||0)).attr("height",bbox.height+(node.padding||0)),innerLine.attr("class","divider").attr("x1",-bbox.width/2-halfPadding).attr("x2",bbox.width/2+halfPadding).attr("y1",-bbox.height/2-halfPadding+titleBox.height+halfPadding).attr("y2",-bbox.height/2-halfPadding+titleBox.height+halfPadding);return updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function roundedRect(parent,node,{config:{themeVariables:themeVariables}}){const radius=(null==themeVariables?void 0:themeVariables.radius)??5;return drawRect(parent,node,{rx:radius,ry:radius,labelPaddingX:1*((null==node?void 0:node.padding)??0),labelPaddingY:1*((null==node?void 0:node.padding)??0)})}__name(question,"question"),__name(rect_left_inv_arrow,"rect_left_inv_arrow"),__name(rectWithTitle,"rectWithTitle"),__name(roundedRect,"roundedRect");async function shadedProcess(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const paddingX="neo"===node.look?16:node.padding??0,paddingY="neo"===node.look?12:node.padding??0,{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),totalWidth=((null==node?void 0:node.width)??bbox.width)+2*paddingX+("neo"===node.look?8:16),totalHeight=((null==node?void 0:node.height)??bbox.height)+2*paddingY,w2=totalWidth-8,h2=totalHeight,x2=8-totalWidth/2,y3=-totalHeight/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:x2,y:y3},{x:x2+w2,y:y3},{x:x2+w2,y:y3+h2},{x:x2-8,y:y3+h2},{x:x2-8,y:y3},{x:x2,y:y3},{x:x2,y:y3+h2}],roughNode=rc.polygon(points.map(p2=>[p2.x,p2.y]),options),rect2=shapeSvg.insert(()=>roughNode,":first-child");return rect2.attr("class","basic label-container outer-path").attr("style",handleUndefinedAttr(cssStyles)),nodeStyles&&"handDrawn"!==node.look&&rect2.selectAll("path").attr("style",nodeStyles),cssStyles&&"handDrawn"!==node.look&&rect2.selectAll("path").attr("style",nodeStyles),label.attr("transform",`translate(${4-bbox.width/2-(bbox.x-(bbox.left??0))}, ${-bbox.height/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function slopedRect(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding;(node.width||node.height)&&(node.width=Math.max(((null==node?void 0:node.width)??0)-2*labelPaddingX,10),node.height=Math.max(((null==node?void 0:node.height)??0)/1.5-2*labelPaddingY,10));const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*labelPaddingX,h2=1.5*(((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+2*labelPaddingY)/1.5,x2=-w2/2,y3=-h2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:x2,y:y3},{x:x2,y:y3+h2},{x:x2+w2,y:y3+h2},{x:x2+w2,y:y3-h2/2}],pathData=createPathFromPoints(points),shapeNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>shapeNode,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",nodeStyles),polygon.attr("transform",`translate(0, ${h2/4})`),label.attr("transform",`translate(${-w2/2+(node.padding??0)-(bbox.x-(bbox.left??0))}, ${-h2/4+(node.padding??0)-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function squareRect2(parent,node){const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:2*nodePadding,labelPaddingY="neo"===node.look?12:nodePadding;return drawRect(parent,node,{rx:0,ry:0,labelPaddingX:node.labelPaddingX??labelPaddingX,labelPaddingY:labelPaddingY})}async function stadium(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?20:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),h2=bbox.height+("neo"===node.look?2*labelPaddingY:labelPaddingY),w2=bbox.width+h2/4+("neo"===node.look?2*labelPaddingX:labelPaddingX),radius=h2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:-w2/2+radius,y:-h2/2},{x:w2/2-radius,y:-h2/2},...generateCirclePoints(-w2/2+radius,0,radius,50,90,270),{x:w2/2-radius,y:h2/2},...generateCirclePoints(w2/2-radius,0,radius,50,270,450)],pathData=createPathFromPoints(points),shapeNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>shapeNode,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",nodeStyles),updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function state(parent,node){return drawRect(parent,node,{rx:"neo"===node.look?3:5,ry:"neo"===node.look?3:5})}function stateEnd(parent,node,{config:{themeVariables:themeVariables}}){var _a2,_b2;const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{cssStyles:cssStyles}=node,{lineColor:lineColor,stateBorder:stateBorder,nodeBorder:nodeBorder,nodeShadow:nodeShadow}=themeVariables;(node.width||node.height)&&((node.width??0)<14&&(node.width=14),(node.height??0)<14&&(node.height=14)),node.width||(node.width=14),node.height||(node.height=14);const shapeSvg=parent.insert("g").attr("class","node default").attr("id",node.domId??node.id),rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const roughNode=rc.circle(0,0,node.width,{...options,stroke:lineColor,strokeWidth:2}),innerFill=stateBorder??nodeBorder,innerNodeRadius=5*(node.width??0)/14,roughInnerNode=rc.circle(0,0,innerNodeRadius,{...options,fill:innerFill,stroke:innerFill,strokeWidth:2,fillStyle:"solid"}),circle2=shapeSvg.insert(()=>roughNode,":first-child");if(circle2.insert(()=>roughInnerNode),"handDrawn"!==node.look&&circle2.attr("class","outer-path"),cssStyles&&circle2.selectAll("path").attr("style",cssStyles),nodeStyles&&circle2.selectAll("path").attr("style",nodeStyles),node.width<25&&nodeShadow&&"handDrawn"!==node.look){const svgId=(null==(_b2=null==(_a2=parent.node())?void 0:_a2.ownerSVGElement)?void 0:_b2.id)??"",filterId=svgId?`${svgId}-drop-shadow-small`:"drop-shadow-small";circle2.attr("style",`filter:url(#${filterId})`)}return updateNodeBounds(node,circle2),node.intersect=function(point2){return intersect_default.circle(node,(node.width??0)/2,point2)},shapeSvg}function stateStart(parent,node,{config:{themeVariables:themeVariables}}){var _a2,_b2;const{lineColor:lineColor,nodeShadow:nodeShadow}=themeVariables;(node.width||node.height)&&((node.width??0)<14&&(node.width=14),(node.height??0)<14&&(node.height=14)),node.width||(node.width=14),node.height||(node.height=14);const shapeSvg=parent.insert("g").attr("class","node default").attr("id",node.domId||node.id);let circle2;if("handDrawn"===node.look){const roughNode=at.svg(shapeSvg).circle(0,0,node.width,solidStateFill(lineColor));circle2=shapeSvg.insert(()=>roughNode),circle2.attr("class","state-start").attr("r",(node.width??7)/2).attr("width",node.width??14).attr("height",node.height??14)}else circle2=shapeSvg.insert("circle",":first-child"),circle2.attr("class","state-start").attr("r",(node.width??7)/2).attr("width",node.width??14).attr("height",node.height??14);if(node.width<25&&nodeShadow&&"handDrawn"!==node.look){const svgId=(null==(_b2=null==(_a2=parent.node())?void 0:_a2.ownerSVGElement)?void 0:_b2.id)??"",filterId=svgId?`${svgId}-drop-shadow-small`:"drop-shadow-small";circle2.attr("style",`filter:url(#${filterId})`)}return updateNodeBounds(node,circle2),node.intersect=function(point2){return intersect_default.circle(node,(node.width??7)/2,point2)},shapeSvg}__name(shadedProcess,"shadedProcess"),__name(slopedRect,"slopedRect"),__name(squareRect2,"squareRect"),__name(stadium,"stadium"),__name(state,"state"),__name(stateEnd,"stateEnd"),__name(stateStart,"stateStart");async function subroutine(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=(null==node?void 0:node.padding)??8,labelPaddingX="neo"===node.look?28:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),totalWidth=((null==node?void 0:node.width)??bbox.width)+16+labelPaddingX,totalHeight=((null==node?void 0:node.height)??bbox.height)+labelPaddingY,w2=totalWidth-16,h2=totalHeight,x2=-totalWidth/2,y3=-totalHeight/2,points=[{x:0,y:0},{x:w2,y:0},{x:w2,y:-h2},{x:0,y:-h2},{x:0,y:0},{x:-8,y:0},{x:w2+8,y:0},{x:w2+8,y:-h2},{x:-8,y:-h2},{x:-8,y:0}];if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),roughNode=rc.rectangle(x2,y3,w2+16,h2,options),l1=rc.line(x2+8,y3,x2+8,y3+h2,options),l22=rc.line(x2+8+w2,y3,x2+8+w2,y3+h2,options);shapeSvg.insert(()=>l1,":first-child"),shapeSvg.insert(()=>l22,":first-child");const rect2=shapeSvg.insert(()=>roughNode,":first-child"),{cssStyles:cssStyles}=node;rect2.attr("class","basic label-container").attr("style",handleUndefinedAttr(cssStyles)),updateNodeBounds(node,rect2)}else{const el=insertPolygonShape(shapeSvg,w2,h2,points);nodeStyles&&el.attr("style",nodeStyles),updateNodeBounds(node,el)}return node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}__name(subroutine,"subroutine");async function taggedRect(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding;(node.width||node.height)&&(node.height=Math.max(((null==node?void 0:node.height)??0)-2*labelPaddingY,10),node.width=Math.max(((null==node?void 0:node.width)??0)-2*labelPaddingX-.2*(node.height+2*labelPaddingY),10));const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),totalHeight=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+2*labelPaddingY,tagWidth=.2*totalHeight,tagHeight=.2*totalHeight,w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*labelPaddingX+tagWidth-tagWidth,h2=totalHeight,x2=-w2/2,y3=-h2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),rectPoints=[{x:x2-tagWidth/2,y:y3},{x:x2+w2+tagWidth/2,y:y3},{x:x2+w2+tagWidth/2,y:y3+h2},{x:x2-tagWidth/2,y:y3+h2}],tagPoints=[{x:x2+w2-tagWidth/2,y:y3+h2},{x:x2+w2+tagWidth/2,y:y3+h2},{x:x2+w2+tagWidth/2,y:y3+h2-tagHeight}];"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const rectPath=createPathFromPoints(rectPoints),rectNode=rc.path(rectPath,options),tagPath=createPathFromPoints(tagPoints),tagNode=rc.path(tagPath,{...options,fillStyle:"solid"}),taggedRect2=shapeSvg.insert(()=>tagNode,":first-child");return taggedRect2.insert(()=>rectNode,":first-child"),taggedRect2.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&taggedRect2.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&taggedRect2.selectAll("path").attr("style",nodeStyles),updateNodeBounds(node,taggedRect2),node.intersect=function(point2){return intersect_default.polygon(node,rectPoints,point2)},shapeSvg}async function taggedWaveEdgedRectangle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=Math.max(bbox.width+2*(node.padding??0),(null==node?void 0:node.width)??0),h2=Math.max(bbox.height+2*(node.padding??0),(null==node?void 0:node.height)??0),waveAmplitude=h2/8,tagWidth=.2*w2,tagHeight=.2*h2,finalH=h2+waveAmplitude,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:-w2/2-w2/2*.1,y:finalH/2},...generateFullSineWavePoints(-w2/2-w2/2*.1,finalH/2,w2/2+w2/2*.1,finalH/2,waveAmplitude,.8),{x:w2/2+w2/2*.1,y:-finalH/2},{x:-w2/2-w2/2*.1,y:-finalH/2}],x2=-w2/2+w2/2*.1,y3=-finalH/2-.4*tagHeight,tagPoints=[{x:x2+w2-tagWidth,y:1.3*(y3+h2)},{x:x2+w2,y:y3+h2-tagHeight},{x:x2+w2,y:.9*(y3+h2)},...generateFullSineWavePoints(x2+w2,1.25*(y3+h2),x2+w2-tagWidth,1.3*(y3+h2),.02*-h2,.5)],waveEdgeRectPath=createPathFromPoints(points),waveEdgeRectNode=rc.path(waveEdgeRectPath,options),taggedWaveEdgeRectPath=createPathFromPoints(tagPoints),taggedWaveEdgeRectNode=rc.path(taggedWaveEdgeRectPath,{...options,fillStyle:"solid"}),waveEdgeRect=shapeSvg.insert(()=>taggedWaveEdgeRectNode,":first-child");return waveEdgeRect.insert(()=>waveEdgeRectNode,":first-child"),waveEdgeRect.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&waveEdgeRect.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&waveEdgeRect.selectAll("path").attr("style",nodeStyles),waveEdgeRect.attr("transform",`translate(0,${-waveAmplitude/2})`),label.attr("transform",`translate(${-w2/2+(node.padding??0)-(bbox.x-(bbox.left??0))},${-h2/2+(node.padding??0)-waveAmplitude/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,waveEdgeRect),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function text(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),totalWidth=Math.max(bbox.width+(node.padding??0),(null==node?void 0:node.width)||0),totalHeight=Math.max(bbox.height+(node.padding??0),(null==node?void 0:node.height)||0),x2=-totalWidth/2,y3=-totalHeight/2,rect2=shapeSvg.insert("rect",":first-child");return rect2.attr("class","text").attr("style",nodeStyles).attr("rx",0).attr("ry",0).attr("x",x2).attr("y",y3).attr("width",totalWidth).attr("height",totalHeight),updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}__name(taggedRect,"taggedRect"),__name(taggedWaveEdgedRectangle,"taggedWaveEdgedRectangle"),__name(text,"text");var createCylinderPathD3=__name((x2,y3,width,height,rx,ry)=>`M${x2},${y3}\n a${rx},${ry} 0,0,1 0,${-height}\n l${width},0\n a${rx},${ry} 0,0,1 0,${height}\n M${width},${-height}\n a${rx},${ry} 0,0,0 0,${height}\n l${-width},0`,"createCylinderPathD"),createOuterCylinderPathD3=__name((x2,y3,width,height,rx,ry)=>[`M${x2},${y3}`,`M${x2+width},${y3}`,`a${rx},${ry} 0,0,0 0,${-height}`,`l${-width},0`,`a${rx},${ry} 0,0,0 0,${height}`,`l${width},0`].join(" "),"createOuterCylinderPathD"),createInnerCylinderPathD3=__name((x2,y3,width,height,rx,ry)=>[`M${x2+width/2},${-height/2}`,`a${rx},${ry} 0,0,0 0,${height}`].join(" "),"createInnerCylinderPathD");async function tiltedCylinder(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPadding="neo"===node.look?12:nodePadding/2;if(node.width||node.height){const originalHeight=node.height??0;node.height=(node.height??0)-labelPadding,node.height<5&&(node.height=5);const rx2=originalHeight/2/(2.5+originalHeight/50);node.width=(node.width??0)-labelPadding-3*rx2,node.width<10&&(node.width=10)}const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),h2=(node.height?node.height:bbox.height)+labelPadding,ry=h2/2,rx=ry/(2.5+h2/50),w2=(node.width?node.width:bbox.width)+rx+labelPadding,{cssStyles:cssStyles}=node;let cylinder2;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),outerPathData=createOuterCylinderPathD3(0,0,w2,h2,rx,ry),innerPathData=createInnerCylinderPathD3(0,0,w2,h2,rx,ry),outerNode=rc.path(outerPathData,userNodeOverrides(node,{})),innerLine=rc.path(innerPathData,userNodeOverrides(node,{fill:"none"}));cylinder2=shapeSvg.insert(()=>innerLine,":first-child"),cylinder2=shapeSvg.insert(()=>outerNode,":first-child"),cylinder2.attr("class","basic label-container"),cssStyles&&cylinder2.attr("style",cssStyles)}else{const pathData=createCylinderPathD3(0,0,w2,h2,rx,ry);cylinder2=shapeSvg.insert("path",":first-child").attr("d",pathData).attr("class","basic label-container").attr("style",handleUndefinedAttr(cssStyles)).attr("style",nodeStyles),cylinder2.attr("class","basic label-container outer-path"),cssStyles&&cylinder2.selectAll("path").attr("style",cssStyles),nodeStyles&&cylinder2.selectAll("path").attr("style",nodeStyles)}return cylinder2.attr("label-offset-x",rx),cylinder2.attr("transform",`translate(${-w2/2}, ${h2/2} )`),label.attr("transform",`translate(${-bbox.width/2-rx-(bbox.x-(bbox.left??0))}, ${-bbox.height/2-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,cylinder2),node.intersect=function(point2){const pos=intersect_default.rect(node,point2),y3=pos.y-(node.y??0);if(0!=ry&&(Math.abs(y3)<(node.height??0)/2||Math.abs(y3)==(node.height??0)/2&&Math.abs(pos.x-(node.x??0))>(node.width??0)/2-rx)){let x2=rx*rx*(1-y3*y3/(ry*ry));0!=x2&&(x2=Math.sqrt(Math.abs(x2))),x2=rx-x2,point2.x-(node.x??0)>0&&(x2=-x2),pos.x+=x2}return pos},shapeSvg}async function trapezoid(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingY=(node.look,nodePadding),labelPaddingX="neo"===node.look?2*nodePadding:nodePadding,{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),h2=((null==node?void 0:node.height)??bbox.height)+labelPaddingY,w2=((null==node?void 0:node.width)??bbox.width)+labelPaddingX,points=[{x:-3*h2/6,y:0},{x:w2+3*h2/6,y:0},{x:w2,y:-h2},{x:0,y:-h2}];let polygon;const{cssStyles:cssStyles}=node;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options);polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-w2/2}, ${h2/2})`),cssStyles&&polygon.attr("style",cssStyles)}else polygon=insertPolygonShape(shapeSvg,w2,h2,points);return nodeStyles&&polygon.attr("style",nodeStyles),node.width=w2,node.height=h2,updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function trapezoidalPentagon(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding;(node.width||node.height)&&(node.height=(node.height??0)-2*labelPaddingY,node.height<5&&(node.height=5),node.width=(node.width??0)-2*labelPaddingX,node.width<15&&(node.width=15));const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*labelPaddingX,h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+2*labelPaddingY,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:-w2/2*.8,y:-h2/2},{x:w2/2*.8,y:-h2/2},{x:w2/2,y:-h2/2*.6},{x:w2/2,y:h2/2},{x:-w2/2,y:h2/2},{x:-w2/2,y:-h2/2*.6}],pathData=createPathFromPoints(points),shapeNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>shapeNode,":first-child");return polygon.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",nodeStyles),updateNodeBounds(node,polygon),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}__name(tiltedCylinder,"tiltedCylinder"),__name(trapezoid,"trapezoid"),__name(trapezoidalPentagon,"trapezoidalPentagon");async function triangle(parent,node){var _a2;const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?2*nodePadding:nodePadding;(node.width||node.height)&&(node.width=(((null==node?void 0:node.width)??0)-labelPaddingX)/2,node.width<10&&(node.width=10),node.height=(null==node?void 0:node.height)??0,node.height<10&&(node.height=10));const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),useHtmlLabels=evaluate(null==(_a2=getConfig2().flowchart)?void 0:_a2.htmlLabels),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+labelPaddingX,h2=(null==node?void 0:node.height)?null==node?void 0:node.height:w2+bbox.height,points=[{x:0,y:0},{x:h2,y:0},{x:h2/2,y:-h2}],{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const pathData=createPathFromPoints(points),roughNode=rc.path(pathData,options),polygon=shapeSvg.insert(()=>roughNode,":first-child").attr("transform",`translate(${-h2/2}, ${h2/2})`).attr("class","outer-path");return cssStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&polygon.selectChildren("path").attr("style",nodeStyles),node.width=w2,node.height=h2,updateNodeBounds(node,polygon),label.attr("transform",`translate(${-bbox.width/2-(bbox.x-(bbox.left??0))}, ${h2/2-(bbox.height+(node.padding??0)/(useHtmlLabels?2:1)-(bbox.y-(bbox.top??0)))})`),node.intersect=function(point2){return log.info("Triangle intersect",node,points,point2),intersect_default.polygon(node,points,point2)},shapeSvg}async function waveEdgedRectangle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?12:nodePadding;let adjustFinalHeight=!0;(node.width||node.height)&&(adjustFinalHeight=!1,node.width=((null==node?void 0:node.width)??0)-2*labelPaddingX,node.width<10&&(node.width=10),node.height=((null==node?void 0:node.height)??0)-2*labelPaddingY,node.height<10&&(node.height=10));const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*(labelPaddingX??0),h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+2*(labelPaddingY??0),waveAmplitude="neo"===node.look?h2/4:h2/8,finalH=h2+(adjustFinalHeight?waveAmplitude:-waveAmplitude),{cssStyles:cssStyles}=node,widthDif=14-w2,extraW=widthDif>0?widthDif/2:0,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:-w2/2-extraW,y:finalH/2},...generateFullSineWavePoints(-w2/2-extraW,finalH/2,w2/2+extraW,finalH/2,waveAmplitude,.8),{x:w2/2+extraW,y:-finalH/2},{x:-w2/2-extraW,y:-finalH/2}],waveEdgeRectPath=createPathFromPoints(points),waveEdgeRectNode=rc.path(waveEdgeRectPath,options),waveEdgeRect=shapeSvg.insert(()=>waveEdgeRectNode,":first-child");return waveEdgeRect.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&waveEdgeRect.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&waveEdgeRect.selectAll("path").attr("style",nodeStyles),waveEdgeRect.attr("transform",`translate(0,${-waveAmplitude/2})`),label.attr("transform",`translate(${-w2/2+(node.padding??0)-(bbox.x-(bbox.left??0))},${-h2/2+(node.padding??0)-waveAmplitude-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,waveEdgeRect),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}async function waveRectangle(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const nodePadding=node.padding??0,labelPaddingX="neo"===node.look?16:nodePadding,labelPaddingY="neo"===node.look?20:nodePadding;if(node.width||node.height){node.width=(null==node?void 0:node.width)??0,node.width<20&&(node.width=20),node.height=(null==node?void 0:node.height)??0,node.height<10&&(node.height=10);const waveAmplitude2=Math.min(.2*node.height,node.height/4);node.height=Math.ceil(node.height-labelPaddingY-waveAmplitude2*(20/9)),node.width=node.width-2*labelPaddingX}const{shapeSvg:shapeSvg,bbox:bbox}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*labelPaddingX,h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+labelPaddingY,waveAmplitude=h2/8,finalH=h2+2*waveAmplitude,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const points=[{x:-w2/2,y:finalH/2},...generateFullSineWavePoints(-w2/2,finalH/2,w2/2,finalH/2,waveAmplitude,1),{x:w2/2,y:-finalH/2},...generateFullSineWavePoints(w2/2,-finalH/2,-w2/2,-finalH/2,waveAmplitude,-1)],waveRectPath=createPathFromPoints(points),waveRectNode=rc.path(waveRectPath,options),waveRect=shapeSvg.insert(()=>waveRectNode,":first-child");return waveRect.attr("class","basic label-container"),cssStyles&&"handDrawn"!==node.look&&waveRect.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&waveRect.selectAll("path").attr("style",nodeStyles),updateNodeBounds(node,waveRect),node.intersect=function(point2){return intersect_default.polygon(node,points,point2)},shapeSvg}__name(triangle,"triangle"),__name(waveEdgedRectangle,"waveEdgedRectangle"),__name(waveRectangle,"waveRectangle");async function windowPane(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const paddingX="neo"===node.look?16:node.padding??0,paddingY="neo"===node.look?12:node.padding??0;(node.width||node.height)&&(node.width=Math.max(((null==node?void 0:node.width)??0)-2*paddingX-10,10),node.height=Math.max(((null==node?void 0:node.height)??0)-2*paddingY-10,10));const{shapeSvg:shapeSvg,bbox:bbox,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=((null==node?void 0:node.width)?null==node?void 0:node.width:bbox.width)+2*paddingX+10-10,h2=((null==node?void 0:node.height)?null==node?void 0:node.height:bbox.height)+2*paddingY+10-10,x2=-w2/2,y3=-h2/2,{cssStyles:cssStyles}=node,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),outerPathPoints=[{x:x2-10,y:y3-10},{x:x2-10,y:y3+h2},{x:x2+w2,y:y3+h2},{x:x2+w2,y:y3-10}],path=`M${x2-10},${y3-10} L${x2+w2},${y3-10} L${x2+w2},${y3+h2} L${x2-10},${y3+h2} L${x2-10},${y3-10}\n M${x2-10},${y3} L${x2+w2},${y3}\n M${x2},${y3-10} L${x2},${y3+h2}`;"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const no=rc.path(path,options),windowPane2=shapeSvg.insert(()=>no,":first-child");return windowPane2.attr("transform","translate(5, 5)"),windowPane2.attr("class","basic label-container outer-path"),cssStyles&&"handDrawn"!==node.look&&windowPane2.selectAll("path").attr("style",cssStyles),nodeStyles&&"handDrawn"!==node.look&&windowPane2.selectAll("path").attr("style",nodeStyles),label.attr("transform",`translate(${-bbox.width/2+5-(bbox.x-(bbox.left??0))}, ${-bbox.height/2+5-(bbox.y-(bbox.top??0))})`),updateNodeBounds(node,windowPane2),node.intersect=function(point2){return intersect_default.polygon(node,outerPathPoints,point2)},shapeSvg}__name(windowPane,"windowPane");var COLOR_THEMES=new Set(["redux-color","redux-dark-color"]),REDUX_THEMES=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function erBox(parent,node){var _a2,_b2,_c2,_d2;const entityNode=node;entityNode.alias&&(node.label=entityNode.alias);const{theme:theme,themeVariables:themeVariables}=getConfig(),{rowEven:rowEven,rowOdd:rowOdd,nodeBorder:nodeBorder,borderColorArray:borderColorArray}=themeVariables;if("handDrawn"===node.look){const{themeVariables:themeVariables2}=getConfig(),{background:background}=themeVariables2,backgroundNode={...node,id:node.id+"-background",domId:(node.domId||node.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${background}`]};await erBox(parent,backgroundNode)}const config2=getConfig();node.useHtmlLabels=config2.htmlLabels;let PADDING=(null==(_a2=config2.er)?void 0:_a2.diagramPadding)??10,TEXT_PADDING=(null==(_b2=config2.er)?void 0:_b2.entityPadding)??6;const{cssStyles:cssStyles}=node,{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);if(0===entityNode.attributes.length&&node.label){const options2={rx:0,ry:0,labelPaddingX:PADDING,labelPaddingY:1.5*PADDING};calculateTextWidth(node.label,config2)+2*options2.labelPaddingX<config2.er.minEntityWidth&&(node.width=config2.er.minEntityWidth);const shapeSvg2=await drawRect(parent,node,options2);if(null!=theme&&COLOR_THEMES.has(theme)){const colorIndex=entityNode.colorIndex??0;shapeSvg2.attr("data-color-id","color-"+colorIndex%borderColorArray.length)}if(!evaluate(config2.htmlLabels)){const textElement=shapeSvg2.select("text"),bbox=null==(_c2=textElement.node())?void 0:_c2.getBBox();textElement.attr("transform",`translate(${-bbox.width/2}, 0)`)}return shapeSvg2}config2.htmlLabels||(PADDING*=1.25,TEXT_PADDING*=1.25);let cssClasses=getNodeClasses(node);cssClasses||(cssClasses="node default");const shapeSvg=parent.insert("g").attr("class",cssClasses).attr("id",node.domId||node.id),nameBBox=await addText(shapeSvg,node.label??"",config2,0,0,["name"],labelStyles);nameBBox.height+=TEXT_PADDING;let yOffset=0;const yOffsets=[],rows=[];let maxTypeWidth=0,maxNameWidth=0,maxKeysWidth=0,maxCommentWidth=0,keysPresent=!0,commentPresent=!0;for(const attribute of entityNode.attributes){const typeBBox=await addText(shapeSvg,attribute.type,config2,0,yOffset,["attribute-type"],labelStyles);maxTypeWidth=Math.max(maxTypeWidth,typeBBox.width+PADDING);const nameBBox2=await addText(shapeSvg,attribute.name,config2,0,yOffset,["attribute-name"],labelStyles);maxNameWidth=Math.max(maxNameWidth,nameBBox2.width+PADDING);const keysBBox=await addText(shapeSvg,attribute.keys.join(),config2,0,yOffset,["attribute-keys"],labelStyles);maxKeysWidth=Math.max(maxKeysWidth,keysBBox.width+PADDING);const commentBBox=await addText(shapeSvg,attribute.comment,config2,0,yOffset,["attribute-comment"],labelStyles);maxCommentWidth=Math.max(maxCommentWidth,commentBBox.width+PADDING);const rowHeight=Math.max(typeBBox.height,nameBBox2.height,keysBBox.height,commentBBox.height)+TEXT_PADDING;rows.push({yOffset:yOffset,rowHeight:rowHeight}),yOffset+=rowHeight}let totalWidthSections=4;maxKeysWidth<=PADDING&&(keysPresent=!1,maxKeysWidth=0,totalWidthSections--),maxCommentWidth<=PADDING&&(commentPresent=!1,maxCommentWidth=0,totalWidthSections--);const shapeBBox=shapeSvg.node().getBBox();if(nameBBox.width+2*PADDING-(maxTypeWidth+maxNameWidth+maxKeysWidth+maxCommentWidth)>0){const difference=nameBBox.width+2*PADDING-(maxTypeWidth+maxNameWidth+maxKeysWidth+maxCommentWidth);maxTypeWidth+=difference/totalWidthSections,maxNameWidth+=difference/totalWidthSections,maxKeysWidth>0&&(maxKeysWidth+=difference/totalWidthSections),maxCommentWidth>0&&(maxCommentWidth+=difference/totalWidthSections)}const maxWidth=maxTypeWidth+maxNameWidth+maxKeysWidth+maxCommentWidth,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");let totalShapeBBoxHeight=0;rows.length>0&&(totalShapeBBoxHeight=rows.reduce((sum,row)=>sum+((null==row?void 0:row.rowHeight)??0),0));const w2=Math.max(shapeBBox.width+2*PADDING,(null==node?void 0:node.width)||0,maxWidth),h2=Math.max((totalShapeBBoxHeight??0)+nameBBox.height,(null==node?void 0:node.height)||0),x2=-w2/2,y3=-h2/2;if(shapeSvg.selectAll("g:not(:first-child)").each((_2,i2,nodes)=>{const text2=select(nodes[i2]),transform=text2.attr("transform");let translateX=0,translateY=0;if(transform){const translate=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(transform);translate&&(translateX=parseFloat(translate[1]),translateY=parseFloat(translate[2]),text2.attr("class").includes("attribute-name")?translateX+=maxTypeWidth:text2.attr("class").includes("attribute-keys")?translateX+=maxTypeWidth+maxNameWidth:text2.attr("class").includes("attribute-comment")&&(translateX+=maxTypeWidth+maxNameWidth+maxKeysWidth))}text2.attr("transform",`translate(${x2+PADDING/2+translateX}, ${translateY+y3+nameBBox.height+TEXT_PADDING/2})`)}),shapeSvg.select(".name").attr("transform","translate("+-nameBBox.width/2+", "+(y3+TEXT_PADDING/2)+")"),null!=theme&&COLOR_THEMES.has(theme)){const colorIndex=entityNode.colorIndex??0;shapeSvg.attr("data-color-id","color-"+colorIndex%borderColorArray.length)}const roughRect=rc.rectangle(x2,y3,w2,h2,options),rect2=shapeSvg.insert(()=>roughRect,":first-child").attr("class","outer-path").attr("style",cssStyles.join(""));yOffsets.push(0);for(const[i2,row]of rows.entries()){const isEven=(i2+1)%2==0&&0!==row.yOffset,roughRect2=rc.rectangle(x2,nameBBox.height+y3+(null==row?void 0:row.yOffset),w2,null==row?void 0:row.rowHeight,{...options,fill:isEven?rowEven:rowOdd,stroke:nodeBorder});shapeSvg.insert(()=>roughRect2,"g.label").attr("style",cssStyles.join("")).attr("class","row-rect-"+(isEven?"even":"odd"))}let points=lineToPolygon(x2,nameBBox.height+y3,w2+x2,nameBBox.height+y3,1e-4),roughLine=rc.polygon(points.map(p2=>[p2.x,p2.y]),options);if(shapeSvg.insert(()=>roughLine).attr("class","divider"),points=lineToPolygon(maxTypeWidth+x2,nameBBox.height+y3,maxTypeWidth+x2,h2+y3,1e-4),roughLine=rc.polygon(points.map(p2=>[p2.x,p2.y]),options),shapeSvg.insert(()=>roughLine).attr("class","divider"),keysPresent){const xCoord=maxTypeWidth+maxNameWidth+x2;points=lineToPolygon(xCoord,nameBBox.height+y3,xCoord,h2+y3,1e-4),roughLine=rc.polygon(points.map(p2=>[p2.x,p2.y]),options),shapeSvg.insert(()=>roughLine).attr("class","divider")}if(commentPresent){const xCoord=maxTypeWidth+maxNameWidth+maxKeysWidth+x2;points=lineToPolygon(xCoord,nameBBox.height+y3,xCoord,h2+y3,1e-4),roughLine=rc.polygon(points.map(p2=>[p2.x,p2.y]),options),shapeSvg.insert(()=>roughLine).attr("class","divider")}for(const yOffset2 of yOffsets){const yCoord=nameBBox.height+y3+yOffset2;points=lineToPolygon(x2,yCoord,w2+x2,yCoord,1e-4),roughLine=rc.polygon(points.map(p2=>[p2.x,p2.y]),options),shapeSvg.insert(()=>roughLine).attr("class","divider")}if(updateNodeBounds(node,rect2),nodeStyles&&"handDrawn"!==node.look)if(null!=theme&&REDUX_THEMES.has(theme))shapeSvg.selectAll("path").attr("style",nodeStyles);else{const allStyle=nodeStyles.split(";"),strokeStyles=null==(_d2=null==allStyle?void 0:allStyle.filter(e2=>e2.includes("stroke")))?void 0:_d2.map(s2=>`${s2}`).join("; ");shapeSvg.selectAll("path").attr("style",strokeStyles??""),shapeSvg.selectAll(".row-rect-even path").attr("style",nodeStyles)}return node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function addText(shapeSvg,labelText,config2,translateX=0,translateY=0,classes=[],style=""){const label=shapeSvg.insert("g").attr("class",`label ${classes.join(" ")}`).attr("transform",`translate(${translateX}, ${translateY})`).attr("style",style);labelText!==parseGenericTypes(labelText)&&(labelText=(labelText=parseGenericTypes(labelText)).replaceAll("<","&lt;").replaceAll(">","&gt;"));const text2=label.node().appendChild(await createText(label,labelText,{width:calculateTextWidth(labelText,config2)+100,style:style,useHtmlLabels:config2.htmlLabels},config2));if(labelText.includes("&lt;")||labelText.includes("&gt;")){let child=text2.children[0];for(child.textContent=child.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">");child.childNodes[0];)child=child.childNodes[0],child.textContent=child.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">")}let bbox=text2.getBBox();if(evaluate(config2.htmlLabels)){const div=text2.children[0];div.style.textAlign="start";const dv=select(text2);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}return bbox}function lineToPolygon(x1,y1,x2,y22,thickness){return x1===x2?[{x:x1-thickness/2,y:y1},{x:x1+thickness/2,y:y1},{x:x2+thickness/2,y:y22},{x:x2-thickness/2,y:y22}]:[{x:x1,y:y1-thickness/2},{x:x1,y:y1+thickness/2},{x:x2,y:y22+thickness/2},{x:x2,y:y22-thickness/2}]}async function textHelper(parent,node,config2,useHtmlLabels,GAP=config2.class.padding??12){const TEXT_PADDING=useHtmlLabels?0:3,shapeSvg=parent.insert("g").attr("class",getNodeClasses(node)).attr("id",node.domId||node.id);let annotationGroup=null,labelGroup=null,membersGroup=null,methodsGroup=null,annotationGroupHeight=0,labelGroupHeight=0,membersGroupHeight=0;if(annotationGroup=shapeSvg.insert("g").attr("class","annotation-group text"),node.annotations.length>0){const annotation=node.annotations[0];await addText2(annotationGroup,{text:`«${annotation}»`},0);annotationGroupHeight=annotationGroup.node().getBBox().height}labelGroup=shapeSvg.insert("g").attr("class","label-group text"),await addText2(labelGroup,node,0,["font-weight: bolder"]);const labelGroupBBox=labelGroup.node().getBBox();labelGroupHeight=labelGroupBBox.height,membersGroup=shapeSvg.insert("g").attr("class","members-group text");let yOffset=0;for(const member of node.members){yOffset+=await addText2(membersGroup,member,yOffset,[member.parseClassifier()])+TEXT_PADDING}membersGroupHeight=membersGroup.node().getBBox().height,membersGroupHeight<=0&&(membersGroupHeight=GAP/2),methodsGroup=shapeSvg.insert("g").attr("class","methods-group text");let methodsYOffset=0;for(const method of node.methods){methodsYOffset+=await addText2(methodsGroup,method,methodsYOffset,[method.parseClassifier()])+TEXT_PADDING}let bbox=shapeSvg.node().getBBox();if(null!==annotationGroup){const annotationGroupBBox=annotationGroup.node().getBBox();annotationGroup.attr("transform",`translate(${-annotationGroupBBox.width/2})`)}return labelGroup.attr("transform",`translate(${-labelGroupBBox.width/2}, ${annotationGroupHeight})`),bbox=shapeSvg.node().getBBox(),membersGroup.attr("transform",`translate(0, ${annotationGroupHeight+labelGroupHeight+2*GAP})`),bbox=shapeSvg.node().getBBox(),methodsGroup.attr("transform",`translate(0, ${annotationGroupHeight+labelGroupHeight+(membersGroupHeight?membersGroupHeight+4*GAP:2*GAP)})`),bbox=shapeSvg.node().getBBox(),{shapeSvg:shapeSvg,bbox:bbox}}async function addText2(parentGroup,node,yOffset,styles=[]){const textEl=parentGroup.insert("g").attr("class","label").attr("style",styles.join("; ")),config2=getConfig();let useHtmlLabels="useHtmlLabels"in node?node.useHtmlLabels:evaluate(config2.htmlLabels)??!0,textContent="";textContent="text"in node?node.text:node.label,!useHtmlLabels&&textContent.startsWith("\\")&&(textContent=textContent.substring(1)),hasKatex(textContent)&&(useHtmlLabels=!0);const text2=await createText(textEl,sanitizeText3(decodeEntities(textContent)),{width:calculateTextWidth(textContent,config2)+50,classes:"markdown-node-label",useHtmlLabels:useHtmlLabels},config2);let bbox,numberOfLines=1;if(useHtmlLabels){const div=text2.children[0],dv=select(text2);numberOfLines=div.innerHTML.split("<br>").length,div.innerHTML.includes("</math>")&&(numberOfLines+=div.innerHTML.split("<mrow>").length-1);const images=div.getElementsByTagName("img");if(images){const noImgText=""===textContent.replace(/<img[^>]*>/g,"").trim();await Promise.all([...images].map(img=>new Promise(res=>{function setupImage(){var _a2;if(img.style.display="flex",img.style.flexDirection="column",noImgText){const bodyFontSize=(null==(_a2=config2.fontSize)?void 0:_a2.toString())??window.getComputedStyle(document.body).fontSize,enlargingFactor=5,width=parseInt(bodyFontSize,10)*enlargingFactor+"px";img.style.minWidth=width,img.style.maxWidth=width}else img.style.width="100%";res(img)}__name(setupImage,"setupImage"),setTimeout(()=>{img.complete&&setupImage()}),img.addEventListener("error",setupImage),img.addEventListener("load",setupImage)})))}bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}else{styles.includes("font-weight: bolder")&&select(text2).selectAll("tspan").attr("font-weight",""),numberOfLines=text2.children.length;const textChild=text2.children[0];if(""===text2.textContent||text2.textContent.includes("&gt")){textChild.textContent=textContent[0]+textContent.substring(1).replaceAll("&gt;",">").replaceAll("&lt;","<").trim();" "===textContent[1]&&(textChild.textContent=textChild.textContent[0]+" "+textChild.textContent.substring(1))}"undefined"===textChild.textContent&&(textChild.textContent=""),bbox=text2.getBBox()}return textEl.attr("transform","translate(0,"+(-bbox.height/(2*numberOfLines)+yOffset)+")"),bbox.height}async function classBox(parent,node){var _a2,_b2;const config2=getConfig2(),{themeVariables:themeVariables}=config2,{useGradient:useGradient}=themeVariables,PADDING=config2.class.padding??12,GAP=PADDING,useHtmlLabels=node.useHtmlLabels??evaluate(config2.htmlLabels)??!0,classNode=node;classNode.annotations=classNode.annotations??[],classNode.members=classNode.members??[],classNode.methods=classNode.methods??[];const{shapeSvg:shapeSvg,bbox:bbox}=await textHelper(parent,node,config2,useHtmlLabels,GAP),{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles,node.cssStyles=classNode.styles||"";const styles=(null==(_a2=classNode.styles)?void 0:_a2.join(";"))||nodeStyles||"";node.cssStyles||(node.cssStyles=styles.replaceAll("!important","").split(";"));const renderExtraBox=0===classNode.members.length&&0===classNode.methods.length&&!(null==(_b2=config2.class)?void 0:_b2.hideEmptyMembersBox),rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const w2=Math.max(node.width??0,bbox.width);let h2=Math.max(node.height??0,bbox.height);const nodeHeightGreater=(node.height??0)>bbox.height;0===classNode.members.length&&0===classNode.methods.length?h2+=GAP:classNode.members.length>0&&0===classNode.methods.length&&(h2+=2*GAP);const x2=-w2/2,y3=-h2/2;let extraHeight=renderExtraBox?2*PADDING:0===classNode.members.length&&0===classNode.methods.length?-PADDING:0;nodeHeightGreater&&(extraHeight=2*PADDING);const roughRect=rc.rectangle(x2-PADDING,y3-PADDING-(renderExtraBox?PADDING:0===classNode.members.length&&0===classNode.methods.length?-PADDING/2:0),w2+2*PADDING,h2+2*PADDING+extraHeight,options),rect2=shapeSvg.insert(()=>roughRect,":first-child");rect2.attr("class","basic label-container outer-path");const rectBBox=rect2.node().getBBox(),annotationGroupHeight=shapeSvg.select(".annotation-group").node().getBBox().height-(renderExtraBox?PADDING/2:0)||0,labelGroupHeight=shapeSvg.select(".label-group").node().getBBox().height-(renderExtraBox?PADDING/2:0)||0,membersGroupHeight=shapeSvg.select(".members-group").node().getBBox().height-(renderExtraBox?PADDING/2:0)||0,methodsAreaPlacement=(annotationGroupHeight+labelGroupHeight+y3+PADDING-(y3-PADDING-(renderExtraBox?PADDING:0===classNode.members.length&&0===classNode.methods.length?-PADDING/2:0)))/2;if(shapeSvg.selectAll(".text").each((_2,i2,nodes)=>{var _a3,_b3;const text2=select(nodes[i2]),transform=text2.attr("transform");let translateY=0;if(transform){const translate=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(transform);translate&&(translateY=parseFloat(translate[2]))}let newTranslateY=translateY+y3+PADDING-(renderExtraBox?PADDING:0===classNode.members.length&&0===classNode.methods.length?-PADDING/2:0);if(text2.attr("class").includes("methods-group")){const membersGroupHeightForMethods=Math.max(membersGroupHeight,GAP/2);newTranslateY=nodeHeightGreater?Math.max(methodsAreaPlacement,annotationGroupHeight+labelGroupHeight+membersGroupHeightForMethods+y3+2*GAP+PADDING)+2*GAP:annotationGroupHeight+labelGroupHeight+membersGroupHeightForMethods+y3+4*GAP+PADDING}0===classNode.members.length&&0===classNode.methods.length&&(null==(_a3=config2.class)?void 0:_a3.hideEmptyMembersBox)&&(newTranslateY=classNode.annotations.length>0?translateY-GAP:translateY),useHtmlLabels||(newTranslateY-=4);let newTranslateX=x2;(text2.attr("class").includes("label-group")||text2.attr("class").includes("annotation-group"))&&(newTranslateX=-(null==(_b3=text2.node())?void 0:_b3.getBBox().width)/2||0,shapeSvg.selectAll("text").each(function(_22,i22,nodes2){"middle"===window.getComputedStyle(nodes2[i22]).textAnchor&&(newTranslateX=0)})),text2.attr("transform",`translate(${newTranslateX}, ${newTranslateY})`)}),classNode.members.length>0||classNode.methods.length>0||renderExtraBox){const firstLineY=annotationGroupHeight+labelGroupHeight+y3+PADDING,roughLine=rc.line(rectBBox.x,firstLineY,rectBBox.x+rectBBox.width,firstLineY+.001,options);shapeSvg.insert(()=>roughLine).attr("class","divider"+("neo"!==node.look||useGradient?"":" neo-line")).attr("style",styles)}if(renderExtraBox||classNode.members.length>0||classNode.methods.length>0){const secondLineY=annotationGroupHeight+labelGroupHeight+membersGroupHeight+y3+2*GAP+PADDING,roughLine=rc.line(rectBBox.x,nodeHeightGreater?Math.max(methodsAreaPlacement,secondLineY):secondLineY,rectBBox.x+rectBBox.width,(nodeHeightGreater?Math.max(methodsAreaPlacement,secondLineY):secondLineY)+.001,options);shapeSvg.insert(()=>roughLine).attr("class","divider"+("neo"!==node.look||useGradient?"":" neo-line")).attr("style",styles)}if("handDrawn"!==classNode.look&&shapeSvg.selectAll("path").attr("style",styles),rect2.select(":nth-child(2)").attr("style",styles),shapeSvg.selectAll(".divider").select("path").attr("style",styles),node.labelStyle?shapeSvg.selectAll("span").attr("style",node.labelStyle):shapeSvg.selectAll("span").attr("style",styles),!useHtmlLabels){const colorRegex=RegExp(/color\s*:\s*([^;]*)/),match=colorRegex.exec(styles);if(match){const colorStyle=match[0].replace("color","fill");shapeSvg.selectAll("tspan").attr("style",colorStyle)}else if(labelStyles){const match2=colorRegex.exec(labelStyles);if(match2){const colorStyle=match2[0].replace("color","fill");shapeSvg.selectAll("tspan").attr("style",colorStyle)}}}return updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function requirementBox(parent,node){var _a2,_b2;const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const requirementNode=node,elementNode=node,isRequirementNode="verifyMethod"in node,classes=getNodeClasses(node),{themeVariables:themeVariables}=getConfig2(),{borderColorArray:borderColorArray,requirementEdgeLabelBackground:requirementEdgeLabelBackground}=themeVariables,shapeSvg=parent.insert("g").attr("class",classes).attr("id",node.domId??node.id);let typeHeight;typeHeight=isRequirementNode?await addText3(shapeSvg,`&lt;&lt;${requirementNode.type}&gt;&gt;`,0,node.labelStyle):await addText3(shapeSvg,"&lt;&lt;Element&gt;&gt;",0,node.labelStyle);let accumulativeHeight=typeHeight;const nameHeight=await addText3(shapeSvg,requirementNode.name,accumulativeHeight,node.labelStyle+"; font-weight: bold;");if(accumulativeHeight+=nameHeight+20,isRequirementNode){accumulativeHeight+=await addText3(shapeSvg,""+(requirementNode.requirementId?`ID: ${requirementNode.requirementId}`:""),accumulativeHeight,node.labelStyle);accumulativeHeight+=await addText3(shapeSvg,""+(requirementNode.text?`Text: ${requirementNode.text}`:""),accumulativeHeight,node.labelStyle);accumulativeHeight+=await addText3(shapeSvg,""+(requirementNode.risk?`Risk: ${requirementNode.risk}`:""),accumulativeHeight,node.labelStyle),await addText3(shapeSvg,""+(requirementNode.verifyMethod?`Verification: ${requirementNode.verifyMethod}`:""),accumulativeHeight,node.labelStyle)}else{accumulativeHeight+=await addText3(shapeSvg,""+(elementNode.type?`Type: ${elementNode.type}`:""),accumulativeHeight,node.labelStyle),await addText3(shapeSvg,""+(elementNode.docRef?`Doc Ref: ${elementNode.docRef}`:""),accumulativeHeight,node.labelStyle)}const totalWidth=((null==(_a2=shapeSvg.node())?void 0:_a2.getBBox().width)??200)+20,totalHeight=((null==(_b2=shapeSvg.node())?void 0:_b2.getBBox().height)??200)+20,x2=-totalWidth/2,y3=-totalHeight/2,rc=at.svg(shapeSvg),options=userNodeOverrides(node,{});"handDrawn"!==node.look&&(options.roughness=0,options.fillStyle="solid");const roughRect=rc.rectangle(x2,y3,totalWidth,totalHeight,options),rect2=shapeSvg.insert(()=>roughRect,":first-child");if(rect2.attr("class","basic label-container outer-path").attr("style",nodeStyles),null==borderColorArray?void 0:borderColorArray.length){const colorIndex=node.colorIndex??0;shapeSvg.attr("data-color-id","color-"+colorIndex%borderColorArray.length)}if(shapeSvg.selectAll(".label").each((_2,i2,nodes)=>{const text2=select(nodes[i2]),transform=text2.attr("transform");let translateX=0,translateY=0;if(transform){const translate=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(transform);translate&&(translateX=parseFloat(translate[1]),translateY=parseFloat(translate[2]))}const newTranslateY=translateY-totalHeight/2;let newTranslateX=x2+10;0!==i2&&1!==i2||(newTranslateX=translateX),text2.attr("transform",`translate(${newTranslateX}, ${newTranslateY+20})`)}),accumulativeHeight>typeHeight+nameHeight+20){const lineY=y3+typeHeight+nameHeight+20;let roughLine;if("neo"===node.look){const thickness=.001,polygonPoints=[[x2,lineY],[x2+totalWidth,lineY],[x2+totalWidth,lineY+thickness],[x2,lineY+thickness]];roughLine=rc.polygon(polygonPoints,options)}else roughLine=rc.line(x2,lineY,x2+totalWidth,lineY,options);shapeSvg.insert(()=>roughLine).attr("class","divider")}return updateNodeBounds(node,rect2),node.intersect=function(point2){return intersect_default.rect(node,point2)},nodeStyles&&"handDrawn"!==node.look&&(requirementEdgeLabelBackground||(null==borderColorArray?void 0:borderColorArray.length))&&shapeSvg.selectAll("path").attr("style",nodeStyles),shapeSvg}async function addText3(parentGroup,inputText,yOffset,style=""){if(""===inputText)return 0;const textEl=parentGroup.insert("g").attr("class","label").attr("style",style),config2=getConfig2(),useHtmlLabels=config2.htmlLabels??!0,text2=await createText(textEl,sanitizeText3(decodeEntities(inputText)),{width:calculateTextWidth(inputText,config2)+50,classes:"markdown-node-label",useHtmlLabels:useHtmlLabels,style:style},config2);let bbox;if(useHtmlLabels){const div=text2.children[0],dv=select(text2);bbox=div.getBoundingClientRect(),dv.attr("width",bbox.width),dv.attr("height",bbox.height)}else{const textChild=text2.children[0];for(const child of textChild.children)style&&child.setAttribute("style",style);bbox=text2.getBBox(),bbox.height+=6}return textEl.attr("transform",`translate(${-bbox.width/2},${-bbox.height/2+yOffset})`),bbox.height}__name(erBox,"erBox"),__name(addText,"addText"),__name(lineToPolygon,"lineToPolygon"),__name(textHelper,"textHelper"),__name(addText2,"addText"),__name(classBox,"classBox"),__name(requirementBox,"requirementBox"),__name(addText3,"addText");var colorFromPriority=__name(priority=>{switch(priority){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function kanbanItem(parent,kanbanNode,{config:config2}){var _a2,_b2;const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(kanbanNode);kanbanNode.labelStyle=labelStyles||"";const orgWidth=kanbanNode.width;kanbanNode.width=(kanbanNode.width??200)-10;const{shapeSvg:shapeSvg,bbox:bbox,label:labelElTitle}=await labelHelper(parent,kanbanNode,getNodeClasses(kanbanNode)),padding=kanbanNode.padding||10;let link,ticketUrl="";"ticket"in kanbanNode&&kanbanNode.ticket&&(null==(_a2=null==config2?void 0:config2.kanban)?void 0:_a2.ticketBaseUrl)&&(ticketUrl=null==(_b2=null==config2?void 0:config2.kanban)?void 0:_b2.ticketBaseUrl.replace("#TICKET#",kanbanNode.ticket),link=shapeSvg.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",ticketUrl).attr("target","_blank"));const options={useHtmlLabels:kanbanNode.useHtmlLabels,labelStyle:kanbanNode.labelStyle||"",width:kanbanNode.width,img:kanbanNode.img,padding:kanbanNode.padding||8,centerLabel:!1};let labelEl,bbox2;({label:labelEl,bbox:bbox2}=link?await insertLabel(link,"ticket"in kanbanNode&&kanbanNode.ticket||"",options):await insertLabel(shapeSvg,"ticket"in kanbanNode&&kanbanNode.ticket||"",options));const{label:labelElAssigned,bbox:bboxAssigned}=await insertLabel(shapeSvg,"assigned"in kanbanNode&&kanbanNode.assigned||"",options);kanbanNode.width=orgWidth;const totalWidth=(null==kanbanNode?void 0:kanbanNode.width)||0,heightAdj=Math.max(bbox2.height,bboxAssigned.height)/2,totalHeight=Math.max(bbox.height+20,(null==kanbanNode?void 0:kanbanNode.height)||0)+heightAdj,x2=-totalWidth/2,y3=-totalHeight/2;let rect2;labelElTitle.attr("transform","translate("+(padding-totalWidth/2)+", "+(-heightAdj-bbox.height/2)+")"),labelEl.attr("transform","translate("+(padding-totalWidth/2)+", "+(-heightAdj+bbox.height/2)+")"),labelElAssigned.attr("transform","translate("+(padding+totalWidth/2-bboxAssigned.width-20)+", "+(-heightAdj+bbox.height/2)+")");const{rx:rx,ry:ry}=kanbanNode,{cssStyles:cssStyles}=kanbanNode;if("handDrawn"===kanbanNode.look){const rc=at.svg(shapeSvg),options2=userNodeOverrides(kanbanNode,{}),roughNode=rx||ry?rc.path(createRoundedRectPathD(x2,y3,totalWidth,totalHeight,rx||0),options2):rc.rectangle(x2,y3,totalWidth,totalHeight,options2);rect2=shapeSvg.insert(()=>roughNode,":first-child"),rect2.attr("class","basic label-container").attr("style",cssStyles||null)}else{rect2=shapeSvg.insert("rect",":first-child"),rect2.attr("class","basic label-container __APA__").attr("style",nodeStyles).attr("rx",rx??5).attr("ry",ry??5).attr("x",x2).attr("y",y3).attr("width",totalWidth).attr("height",totalHeight);const priority="priority"in kanbanNode&&kanbanNode.priority;if(priority){const line2=shapeSvg.append("line"),lineX=x2+2,y1=y3+Math.floor((rx??0)/2),y22=y3+totalHeight-Math.floor((rx??0)/2);line2.attr("x1",lineX).attr("y1",y1).attr("x2",lineX).attr("y2",y22).attr("stroke-width","4").attr("stroke",colorFromPriority(priority))}}return updateNodeBounds(kanbanNode,rect2),kanbanNode.height=totalHeight,kanbanNode.intersect=function(point2){return intersect_default.rect(kanbanNode,point2)},shapeSvg}async function bang(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,halfPadding:halfPadding,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=bbox.width+10*halfPadding,h2=bbox.height+8*halfPadding,r2=.15*w2,{cssStyles:cssStyles}=node,minWidth=bbox.width+20,minHeight=bbox.height+20,effectiveWidth=Math.max(w2,minWidth),effectiveHeight=Math.max(h2,minHeight);let bangElem;label.attr("transform",`translate(${-bbox.width/2}, ${-bbox.height/2})`);const path=`M0 0 \n a${r2},${r2} 1 0,0 ${.25*effectiveWidth},${-1*effectiveHeight*.1}\n a${r2},${r2} 1 0,0 ${.25*effectiveWidth},0\n a${r2},${r2} 1 0,0 ${.25*effectiveWidth},0\n a${r2},${r2} 1 0,0 ${.25*effectiveWidth},${.1*effectiveHeight}\n\n a${r2},${r2} 1 0,0 ${.15*effectiveWidth},${.33*effectiveHeight}\n a${.8*r2},${.8*r2} 1 0,0 0,${.34*effectiveHeight}\n a${r2},${r2} 1 0,0 ${-1*effectiveWidth*.15},${.33*effectiveHeight}\n\n a${r2},${r2} 1 0,0 ${-1*effectiveWidth*.25},${.15*effectiveHeight}\n a${r2},${r2} 1 0,0 ${-1*effectiveWidth*.25},0\n a${r2},${r2} 1 0,0 ${-1*effectiveWidth*.25},0\n a${r2},${r2} 1 0,0 ${-1*effectiveWidth*.25},${-1*effectiveHeight*.15}\n\n a${r2},${r2} 1 0,0 ${-1*effectiveWidth*.1},${-1*effectiveHeight*.33}\n a${.8*r2},${.8*r2} 1 0,0 0,${-1*effectiveHeight*.34}\n a${r2},${r2} 1 0,0 ${.1*effectiveWidth},${-1*effectiveHeight*.33}\n H0 V0 Z`;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),roughNode=rc.path(path,options);bangElem=shapeSvg.insert(()=>roughNode,":first-child"),bangElem.attr("class","basic label-container").attr("style",handleUndefinedAttr(cssStyles))}else bangElem=shapeSvg.insert("path",":first-child").attr("class","basic label-container").attr("style",nodeStyles).attr("d",path);return bangElem.attr("transform",`translate(${-effectiveWidth/2}, ${-effectiveHeight/2})`),updateNodeBounds(node,bangElem),node.calcIntersect=function(bounds,point2){return intersect_default.rect(bounds,point2)},node.intersect=function(point2){return log.info("Bang intersect",node,point2),intersect_default.rect(node,point2)},shapeSvg}async function cloud(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,halfPadding:halfPadding,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=bbox.width+2*halfPadding,h2=bbox.height+2*halfPadding,r1=.15*w2,r2=.25*w2,r3=.35*w2,r4=.2*w2,{cssStyles:cssStyles}=node;let cloudElem;const path=`M0 0 \n a${r1},${r1} 0 0,1 ${.25*w2},${-1*w2*.1}\n a${r3},${r3} 1 0,1 ${.4*w2},${-1*w2*.1}\n a${r2},${r2} 1 0,1 ${.35*w2},${.2*w2}\n\n a${r1},${r1} 1 0,1 ${.15*w2},${.35*h2}\n a${r4},${r4} 1 0,1 ${-1*w2*.15},${.65*h2}\n\n a${r2},${r1} 1 0,1 ${-1*w2*.25},${.15*w2}\n a${r3},${r3} 1 0,1 ${-1*w2*.5},0\n a${r1},${r1} 1 0,1 ${-1*w2*.25},${-1*w2*.15}\n\n a${r1},${r1} 1 0,1 ${-1*w2*.1},${-1*h2*.35}\n a${r4},${r4} 1 0,1 ${.1*w2},${-1*h2*.65}\n H0 V0 Z`;if("handDrawn"===node.look){const rc=at.svg(shapeSvg),options=userNodeOverrides(node,{}),roughNode=rc.path(path,options);cloudElem=shapeSvg.insert(()=>roughNode,":first-child"),cloudElem.attr("class","basic label-container").attr("style",handleUndefinedAttr(cssStyles))}else cloudElem=shapeSvg.insert("path",":first-child").attr("class","basic label-container").attr("style",nodeStyles).attr("d",path);return label.attr("transform",`translate(${-bbox.width/2}, ${-bbox.height/2})`),cloudElem.attr("transform",`translate(${-w2/2}, ${-h2/2})`),updateNodeBounds(node,cloudElem),node.calcIntersect=function(bounds,point2){return intersect_default.rect(bounds,point2)},node.intersect=function(point2){return log.info("Cloud intersect",node,point2),intersect_default.rect(node,point2)},shapeSvg}async function defaultMindmapNode(parent,node){const{labelStyles:labelStyles,nodeStyles:nodeStyles}=styles2String(node);node.labelStyle=labelStyles;const{shapeSvg:shapeSvg,bbox:bbox,halfPadding:halfPadding,label:label}=await labelHelper(parent,node,getNodeClasses(node)),w2=bbox.width+8*halfPadding,h2=bbox.height+2*halfPadding,rectPath="neo"===node.look?`\n M${-w2/2} ${h2/2-5}\n v${10-h2}\n q0,-5 5,-5\n h${w2-10}\n q5,0 5,5\n v${h2-5}\n H${-w2/2}\n Z\n `:`\n M${-w2/2} ${h2/2-5}\n v${10-h2}\n q0,-5 5,-5\n h${w2-10}\n q5,0 5,5\n v${h2-10}\n q0,5 -5,5\n h${-(w2-10)}\n q-5,0 -5,-5\n Z\n `;if(!node.domId)throw new Error(`defaultMindmapNode: node "${node.id}" is missing a domId — was render.ts domId prefixing skipped?`);const bg=shapeSvg.append("path").attr("id",node.domId).attr("class","node-bkg node-"+node.type).attr("style",nodeStyles).attr("d",rectPath);return shapeSvg.append("line").attr("class","node-line-").attr("x1",-w2/2).attr("y1",h2/2).attr("x2",w2/2).attr("y2",h2/2),label.attr("transform",`translate(${-bbox.width/2}, ${-bbox.height/2})`),shapeSvg.append(()=>label.node()),updateNodeBounds(node,bg),node.calcIntersect=function(bounds,point2){return intersect_default.rect(bounds,point2)},node.intersect=function(point2){return intersect_default.rect(node,point2)},shapeSvg}async function mindmapCircle(parent,node){return circle$1(parent,node,{padding:node.padding??0})}__name(kanbanItem,"kanbanItem"),__name(bang,"bang"),__name(cloud,"cloud"),__name(defaultMindmapNode,"defaultMindmapNode"),__name(mindmapCircle,"mindmapCircle");var shapesDefs=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:squareRect2},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:roundedRect},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:stadium},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:subroutine},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:cylinder},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:circle$1},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:bang},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:cloud},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:question},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:hexagon},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:lean_right},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:lean_left},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:trapezoid},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:inv_trapezoid},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:doublecircle},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:text},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:card},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:shadedProcess},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:stateStart},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:stateEnd},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:forkJoin},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:hourglass},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:curlyBraceLeft},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:curlyBraceRight},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:curlyBraces},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:lightningBolt},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:waveEdgedRectangle},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:halfRoundedRectangle},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:tiltedCylinder},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:linedCylinder},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:curvedTrapezoid},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:dividedRectangle},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:triangle},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:windowPane},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:filledCircle},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:trapezoidalPentagon},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:flippedTriangle},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:slopedRect},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:multiWaveEdgedRectangle},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:multiRect},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:bowTieRect},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:crossedCircle},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:taggedWaveEdgedRectangle},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:taggedRect},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:waveRectangle},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:rect_left_inv_arrow},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:linedWaveEdgedRect}],shapes2=__name(()=>{const undocumentedShapes={state:state,choice:choice,note:note,rectWithTitle:rectWithTitle,labelRect:labelRect,iconSquare:iconSquare,iconCircle:iconCircle,icon:icon,iconRounded:iconRounded,imageSquare:imageSquare,anchor:anchor,kanbanItem:kanbanItem,mindmapCircle:mindmapCircle,defaultMindmapNode:defaultMindmapNode,classBox:classBox,erBox:erBox,requirementBox:requirementBox},entries=[...Object.entries(undocumentedShapes),...shapesDefs.flatMap(shape=>[shape.shortName,..."aliases"in shape?shape.aliases:[],..."internalAliases"in shape?shape.internalAliases:[]].map(alias=>[alias,shape.handler]))];return Object.fromEntries(entries)},"generateShapeMap")();function isValidShape(shape){return shape in shapes2}__name(isValidShape,"isValidShape");var nodeElems=new Map;async function insertNode(elem,node,renderOptions){let newEl,el;"rect"===node.shape&&(node.rx&&node.ry?node.shape="roundedRect":node.shape="squareRect");const shapeHandler=node.shape?shapes2[node.shape]:void 0;if(!shapeHandler)throw new Error(`No such shape: ${node.shape}. Please check your syntax.`);if(node.link){let target;"sandbox"===renderOptions.config.securityLevel?target="_top":node.linkTarget&&(target=node.linkTarget||"_blank"),newEl=elem.insert("svg:a").attr("xlink:href",node.link).attr("target",target??null),el=await shapeHandler(newEl,node,renderOptions)}else el=await shapeHandler(elem,node,renderOptions),newEl=el;return newEl.attr("data-look",handleUndefinedAttr(node.look)),node.tooltip&&el.attr("title",node.tooltip),nodeElems.set(node.id,newEl),node.haveCallback&&newEl.attr("class",newEl.attr("class")+" clickable"),newEl}__name(insertNode,"insertNode");var setNodeElem=__name((elem,node)=>{nodeElems.set(node.id,elem)},"setNodeElem"),clear2=__name(()=>{nodeElems.clear()},"clear"),positionNode=__name(node=>{const el=nodeElems.get(node.id);log.trace("Transforming node",node.diff,node,"translate("+(node.x-node.width/2-5)+", "+node.width/2+")");const diff=node.diff||0;return node.clusterNode?el.attr("transform","translate("+(node.x+diff-node.width/2)+", "+(node.y-node.height/2-8)+")"):el.attr("transform","translate("+node.x+", "+node.y+")"),diff},"positionNode"),addEdgeMarkers=__name((svgPath,edge,url,id32,diagramType,useMargin=!1,strokeColor)=>{edge.arrowTypeStart&&addEdgeMarker(svgPath,"start",edge.arrowTypeStart,url,id32,diagramType,useMargin,strokeColor),edge.arrowTypeEnd&&addEdgeMarker(svgPath,"end",edge.arrowTypeEnd,url,id32,diagramType,useMargin,strokeColor)},"addEdgeMarkers"),arrowTypesMap={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},arrowTypesWithMarginSupport=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],addEdgeMarker=__name((svgPath,position,arrowType,url,id32,diagramType,useMargin=!1,strokeColor)=>{var _a2;const arrowTypeInfo=arrowTypesMap[arrowType],marginSupport=arrowTypeInfo&&arrowTypesWithMarginSupport.includes(arrowTypeInfo.type);if(!arrowTypeInfo)return void log.warn(`Unknown arrow type: ${arrowType}`);const originalMarkerId=`${id32}_${diagramType}-${arrowTypeInfo.type}${"start"===position?"Start":"End"}${useMargin&&marginSupport?"-margin":""}`;if(strokeColor&&""!==strokeColor.trim()){const coloredMarkerId=`${originalMarkerId}_${strokeColor.replace(/[^\dA-Za-z]/g,"_")}`;if(!document.getElementById(coloredMarkerId)){const originalMarker=document.getElementById(originalMarkerId);if(originalMarker){const coloredMarker=originalMarker.cloneNode(!0);coloredMarker.id=coloredMarkerId;coloredMarker.querySelectorAll("path, circle, line").forEach(path=>{path.setAttribute("stroke",strokeColor),arrowTypeInfo.fill&&path.setAttribute("fill",strokeColor)}),null==(_a2=originalMarker.parentNode)||_a2.appendChild(coloredMarker)}}svgPath.attr(`marker-${position}`,`url(${url}#${coloredMarkerId})`)}else svgPath.attr(`marker-${position}`,`url(${url}#${originalMarkerId})`)},"addEdgeMarker"),resolveEdgeCurveType=__name(edgeCurve=>{var _a2,_b2;return"string"==typeof edgeCurve?edgeCurve:null==(_b2=null==(_a2=getConfig2())?void 0:_a2.flowchart)?void 0:_b2.curve},"resolveEdgeCurveType"),edgeLabels=new Map,terminalLabels=new Map,clear=__name(()=>{edgeLabels.clear(),terminalLabels.clear()},"clear"),getLabelStyles=__name(styleArray=>styleArray?"string"==typeof styleArray?styleArray:styleArray.reduce((acc,style)=>acc+";"+style,""):"","getLabelStyles"),insertEdgeLabel=__name(async(elem,edge)=>{const config2=getConfig2();let useHtmlLabels=getEffectiveHtmlLabels(config2);const{labelStyles:labelStyles}=styles2String(edge);edge.labelStyle=labelStyles;const edgeLabel=elem.insert("g").attr("class","edgeLabel"),label=edgeLabel.insert("g").attr("class","label").attr("data-id",edge.id),isMarkdown="markdown"===edge.labelType,labelElement=await createText(elem,edge.label,{style:getLabelStyles(edge.labelStyle),useHtmlLabels:useHtmlLabels,addSvgBackground:!0,isNode:!1,markdown:isMarkdown,width:void 0},config2);label.node().appendChild(labelElement),log.info("abc82",edge,edge.labelType);let fo,bbox=labelElement.getBBox(),transformBbox=bbox;if(useHtmlLabels){const div=labelElement.children[0],dv=select(labelElement);bbox=div.getBoundingClientRect(),transformBbox=bbox,dv.attr("width",bbox.width),dv.attr("height",bbox.height)}else{const textEl=select(labelElement).select("text").node();textEl&&"function"==typeof textEl.getBBox&&(transformBbox=textEl.getBBox())}if(label.attr("transform",computeLabelTransform(transformBbox,useHtmlLabels)),edgeLabels.set(edge.id,edgeLabel),edge.width=bbox.width,edge.height=bbox.height,edge.startLabelLeft){const startEdgeLabelLeft=elem.insert("g").attr("class","edgeTerminals"),inner=startEdgeLabelLeft.insert("g").attr("class","inner"),startLabelElement=await createLabel_default(inner,edge.startLabelLeft,getLabelStyles(edge.labelStyle)||"",!1,!1);fo=startLabelElement;let slBox=startLabelElement.getBBox();if(useHtmlLabels){const div=startLabelElement.children[0],dv=select(startLabelElement);slBox=div.getBoundingClientRect(),dv.attr("width",slBox.width),dv.attr("height",slBox.height)}inner.attr("transform",computeLabelTransform(slBox,useHtmlLabels)),terminalLabels.get(edge.id)||terminalLabels.set(edge.id,{}),terminalLabels.get(edge.id).startLeft=startEdgeLabelLeft,setTerminalWidth(fo,edge.startLabelLeft)}if(edge.startLabelRight){const startEdgeLabelRight=elem.insert("g").attr("class","edgeTerminals"),inner=startEdgeLabelRight.insert("g").attr("class","inner"),startLabelElement=await createLabel_default(inner,edge.startLabelRight,getLabelStyles(edge.labelStyle)||"",!1,!1);fo=startLabelElement,inner.node().appendChild(startLabelElement);let slBox=startLabelElement.getBBox();if(useHtmlLabels){const div=startLabelElement.children[0],dv=select(startLabelElement);slBox=div.getBoundingClientRect(),dv.attr("width",slBox.width),dv.attr("height",slBox.height)}inner.attr("transform",computeLabelTransform(slBox,useHtmlLabels)),terminalLabels.get(edge.id)||terminalLabels.set(edge.id,{}),terminalLabels.get(edge.id).startRight=startEdgeLabelRight,setTerminalWidth(fo,edge.startLabelRight)}if(edge.endLabelLeft){const endEdgeLabelLeft=elem.insert("g").attr("class","edgeTerminals"),inner=endEdgeLabelLeft.insert("g").attr("class","inner"),endLabelElement=await createLabel_default(inner,edge.endLabelLeft,getLabelStyles(edge.labelStyle)||"",!1,!1);fo=endLabelElement;let slBox=endLabelElement.getBBox();if(useHtmlLabels){const div=endLabelElement.children[0],dv=select(endLabelElement);slBox=div.getBoundingClientRect(),dv.attr("width",slBox.width),dv.attr("height",slBox.height)}inner.attr("transform",computeLabelTransform(slBox,useHtmlLabels)),endEdgeLabelLeft.node().appendChild(endLabelElement),terminalLabels.get(edge.id)||terminalLabels.set(edge.id,{}),terminalLabels.get(edge.id).endLeft=endEdgeLabelLeft,setTerminalWidth(fo,edge.endLabelLeft)}if(edge.endLabelRight){const endEdgeLabelRight=elem.insert("g").attr("class","edgeTerminals"),inner=endEdgeLabelRight.insert("g").attr("class","inner"),endLabelElement=await createLabel_default(inner,edge.endLabelRight,getLabelStyles(edge.labelStyle)||"",!1,!1);fo=endLabelElement;let slBox=endLabelElement.getBBox();if(useHtmlLabels){const div=endLabelElement.children[0],dv=select(endLabelElement);slBox=div.getBoundingClientRect(),dv.attr("width",slBox.width),dv.attr("height",slBox.height)}inner.attr("transform",computeLabelTransform(slBox,useHtmlLabels)),endEdgeLabelRight.node().appendChild(endLabelElement),terminalLabels.get(edge.id)||terminalLabels.set(edge.id,{}),terminalLabels.get(edge.id).endRight=endEdgeLabelRight,setTerminalWidth(fo,edge.endLabelRight)}return labelElement},"insertEdgeLabel");function setTerminalWidth(fo,value){getEffectiveHtmlLabels(getConfig2())&&fo&&(fo.style.width=9*value.length+"px",fo.style.height="12px")}__name(setTerminalWidth,"setTerminalWidth");var positionEdgeLabel=__name((edge,paths)=>{log.debug("Moving label abc88 ",edge.id,edge.label,edgeLabels.get(edge.id),paths);let path=paths.updatedPath?paths.updatedPath:paths.originalPath;const siteConfig2=getConfig2(),{subGraphTitleTotalMargin:subGraphTitleTotalMargin}=getSubGraphTitleMargins(siteConfig2);if(edge.label){const el=edgeLabels.get(edge.id);let x2=edge.x,y3=edge.y;if(path){const pos=utils_default.calcLabelPosition(path);log.debug("Moving label "+edge.label+" from (",x2,",",y3,") to (",pos.x,",",pos.y,") abc88"),paths.updatedPath&&(x2=pos.x,y3=pos.y)}el.attr("transform",`translate(${x2}, ${y3+subGraphTitleTotalMargin/2})`)}if(edge.startLabelLeft){const el=terminalLabels.get(edge.id).startLeft;let x2=edge.x,y3=edge.y;if(path){const pos=utils_default.calcTerminalLabelPosition(edge.arrowTypeStart?10:0,"start_left",path);x2=pos.x,y3=pos.y}el.attr("transform",`translate(${x2}, ${y3})`)}if(edge.startLabelRight){const el=terminalLabels.get(edge.id).startRight;let x2=edge.x,y3=edge.y;if(path){const pos=utils_default.calcTerminalLabelPosition(edge.arrowTypeStart?10:0,"start_right",path);x2=pos.x,y3=pos.y}el.attr("transform",`translate(${x2}, ${y3})`)}if(edge.endLabelLeft){const el=terminalLabels.get(edge.id).endLeft;let x2=edge.x,y3=edge.y;if(path){const pos=utils_default.calcTerminalLabelPosition(edge.arrowTypeEnd?10:0,"end_left",path);x2=pos.x,y3=pos.y}el.attr("transform",`translate(${x2}, ${y3})`)}if(edge.endLabelRight){const el=terminalLabels.get(edge.id).endRight;let x2=edge.x,y3=edge.y;if(path){const pos=utils_default.calcTerminalLabelPosition(edge.arrowTypeEnd?10:0,"end_right",path);x2=pos.x,y3=pos.y}el.attr("transform",`translate(${x2}, ${y3})`)}},"positionEdgeLabel"),outsideNode=__name((node,point2)=>{const x2=node.x,y3=node.y,dx=Math.abs(point2.x-x2),dy=Math.abs(point2.y-y3),w2=node.width/2,h2=node.height/2;return dx>=w2||dy>=h2},"outsideNode"),intersection=__name((node,outsidePoint,insidePoint)=>{log.debug(`intersection calc abc89:\n outsidePoint: ${JSON.stringify(outsidePoint)}\n insidePoint : ${JSON.stringify(insidePoint)}\n node : x:${node.x} y:${node.y} w:${node.width} h:${node.height}`);const x2=node.x,y3=node.y,dx=Math.abs(x2-insidePoint.x),w2=node.width/2;let r2=insidePoint.x<outsidePoint.x?w2-dx:w2+dx;const h2=node.height/2,Q2=Math.abs(outsidePoint.y-insidePoint.y),R2=Math.abs(outsidePoint.x-insidePoint.x);if(Math.abs(y3-outsidePoint.y)*w2>Math.abs(x2-outsidePoint.x)*h2){let q2=insidePoint.y<outsidePoint.y?outsidePoint.y-h2-y3:y3-h2-outsidePoint.y;r2=R2*q2/Q2;const res={x:insidePoint.x<outsidePoint.x?insidePoint.x+r2:insidePoint.x-R2+r2,y:insidePoint.y<outsidePoint.y?insidePoint.y+Q2-q2:insidePoint.y-Q2+q2};return 0===r2&&(res.x=outsidePoint.x,res.y=outsidePoint.y),0===R2&&(res.x=outsidePoint.x),0===Q2&&(res.y=outsidePoint.y),log.debug(`abc89 top/bottom calc, Q ${Q2}, q ${q2}, R ${R2}, r ${r2}`,res),res}{r2=insidePoint.x<outsidePoint.x?outsidePoint.x-w2-x2:x2-w2-outsidePoint.x;let q2=Q2*r2/R2,_x=insidePoint.x<outsidePoint.x?insidePoint.x+R2-r2:insidePoint.x-R2+r2,_y=insidePoint.y<outsidePoint.y?insidePoint.y+q2:insidePoint.y-q2;return log.debug(`sides calc abc89, Q ${Q2}, q ${q2}, R ${R2}, r ${r2}`,{_x:_x,_y:_y}),0===r2&&(_x=outsidePoint.x,_y=outsidePoint.y),0===R2&&(_x=outsidePoint.x),0===Q2&&(_y=outsidePoint.y),{x:_x,y:_y}}},"intersection"),cutPathAtIntersect=__name((_points,boundaryNode)=>{log.warn("abc88 cutPathAtIntersect",_points,boundaryNode);let points=[],lastPointOutside=_points[0],isInside=!1;return _points.forEach(point2=>{if(log.info("abc88 checking point",point2,boundaryNode),outsideNode(boundaryNode,point2)||isInside)log.warn("abc88 outside",point2,lastPointOutside),lastPointOutside=point2,isInside||points.push(point2);else{const inter=intersection(boundaryNode,lastPointOutside,point2);log.debug("abc88 inside",point2,lastPointOutside,inter),log.debug("abc88 intersection",inter,boundaryNode);let pointPresent=!1;points.forEach(p2=>{pointPresent=pointPresent||p2.x===inter.x&&p2.y===inter.y}),points.some(e2=>e2.x===inter.x&&e2.y===inter.y)?log.warn("abc88 no intersect",inter,points):points.push(inter),isInside=!0}}),log.debug("returning points",points),points},"cutPathAtIntersect");function extractCornerPoints(points){const cornerPoints=[],cornerPointPositions=[];for(let i2=1;i2<points.length-1;i2++){const prev=points[i2-1],curr=points[i2],next=points[i2+1];(prev.x===curr.x&&curr.y===next.y&&Math.abs(curr.x-next.x)>5&&Math.abs(curr.y-prev.y)>5||prev.y===curr.y&&curr.x===next.x&&Math.abs(curr.x-prev.x)>5&&Math.abs(curr.y-next.y)>5)&&(cornerPoints.push(curr),cornerPointPositions.push(i2))}return{cornerPoints:cornerPoints,cornerPointPositions:cornerPointPositions}}__name(extractCornerPoints,"extractCornerPoints");var findAdjacentPoint=__name(function(pointA,pointB,distance2){const xDiff=pointB.x-pointA.x,yDiff=pointB.y-pointA.y,ratio=distance2/Math.sqrt(xDiff*xDiff+yDiff*yDiff);return{x:pointB.x-ratio*xDiff,y:pointB.y-ratio*yDiff}},"findAdjacentPoint"),fixCorners=__name(function(lineData){const{cornerPointPositions:cornerPointPositions}=extractCornerPoints(lineData),newLineData=[];for(let i2=0;i2<lineData.length;i2++)if(cornerPointPositions.includes(i2)){const prevPoint=lineData[i2-1],nextPoint=lineData[i2+1],cornerPoint=lineData[i2],newPrevPoint=findAdjacentPoint(prevPoint,cornerPoint,5),newNextPoint=findAdjacentPoint(nextPoint,cornerPoint,5),xDiff=newNextPoint.x-newPrevPoint.x,yDiff=newNextPoint.y-newPrevPoint.y;newLineData.push(newPrevPoint);const a2=2*Math.sqrt(2);let newCornerPoint={x:cornerPoint.x,y:cornerPoint.y};if(Math.abs(nextPoint.x-prevPoint.x)>10&&Math.abs(nextPoint.y-prevPoint.y)>=10){log.debug("Corner point fixing",Math.abs(nextPoint.x-prevPoint.x),Math.abs(nextPoint.y-prevPoint.y));const r2=5;newCornerPoint=cornerPoint.x===newPrevPoint.x?{x:xDiff<0?newPrevPoint.x-r2+a2:newPrevPoint.x+r2-a2,y:yDiff<0?newPrevPoint.y-a2:newPrevPoint.y+a2}:{x:xDiff<0?newPrevPoint.x-a2:newPrevPoint.x+a2,y:yDiff<0?newPrevPoint.y-r2+a2:newPrevPoint.y+r2-a2}}else log.debug("Corner point skipping fixing",Math.abs(nextPoint.x-prevPoint.x),Math.abs(nextPoint.y-prevPoint.y));newLineData.push(newCornerPoint,newNextPoint)}else newLineData.push(lineData[i2]);return newLineData},"fixCorners"),generateDashArray=__name((len,oValueS,oValueE)=>{const middleLength=len-oValueS-oValueE,numberOfPairs=Math.floor(middleLength/4);return`0 ${oValueS} ${Array(numberOfPairs).fill("2 2").join(" ")} ${oValueE}`},"generateDashArray"),insertEdge=__name(function(elem,edge,clusterDb,diagramType,startNode,endNode,diagramId,skipIntersect=!1){var _a2;if(!diagramId)throw new Error(`insertEdge: missing diagramId for edge "${edge.id}" — edge IDs require a diagram prefix for uniqueness`);const{handDrawnSeed:handDrawnSeed}=getConfig2();let points=edge.points,pointsHasChanged=!1;const tail=startNode;var head=endNode;const edgeClassStyles=[];for(const key in edge.cssCompiledStyles)isLabelStyle(key)||edgeClassStyles.push(edge.cssCompiledStyles[key]);log.debug("UIO intersect check",edge.points,head.x,tail.x),head.intersect&&tail.intersect&&!skipIntersect&&(points=points.slice(1,edge.points.length-1),points.unshift(tail.intersect(points[0])),log.debug("Last point UIO",edge.start,"--\x3e",edge.end,points[points.length-1],head,head.intersect(points[points.length-1])),points.push(head.intersect(points[points.length-1])));const pointsStr=btoa(JSON.stringify(points));edge.toCluster&&(log.info("to cluster abc88",clusterDb.get(edge.toCluster)),points=cutPathAtIntersect(edge.points,clusterDb.get(edge.toCluster).node),pointsHasChanged=!0),edge.fromCluster&&(log.debug("from cluster abc88",clusterDb.get(edge.fromCluster),JSON.stringify(points,null,2)),points=cutPathAtIntersect(points.reverse(),clusterDb.get(edge.fromCluster).node).reverse(),pointsHasChanged=!0);let lineData=points.filter(p2=>!Number.isNaN(p2.y));const edgeCurveType=resolveEdgeCurveType(edge.curve);"rounded"!==edgeCurveType&&(lineData=fixCorners(lineData));let curve=curveLinear;switch(edgeCurveType){case"linear":case"rounded":curve=curveLinear;break;case"basis":default:curve=curveBasis;break;case"cardinal":curve=curveCardinal;break;case"bumpX":curve=bumpX;break;case"bumpY":curve=bumpY;break;case"catmullRom":curve=curveCatmullRom;break;case"monotoneX":curve=monotoneX;break;case"monotoneY":curve=monotoneY;break;case"natural":curve=curveNatural;break;case"step":curve=curveStep;break;case"stepAfter":curve=stepAfter;break;case"stepBefore":curve=stepBefore}const{x:x2,y:y3}=getLineFunctionsWithOffset(edge),lineFunction=line().x(x2).y(y3).curve(curve);let strokeClasses,svgPath;switch(edge.thickness){case"normal":default:strokeClasses="edge-thickness-normal";break;case"thick":strokeClasses="edge-thickness-thick";break;case"invisible":strokeClasses="edge-thickness-invisible"}switch(edge.pattern){case"solid":default:strokeClasses+=" edge-pattern-solid";break;case"dotted":strokeClasses+=" edge-pattern-dotted";break;case"dashed":strokeClasses+=" edge-pattern-dashed"}let linePath="rounded"===edgeCurveType?generateRoundedPath(applyMarkerOffsetsToPoints(lineData,edge),5):lineFunction(lineData);const edgeStyles=Array.isArray(edge.style)?edge.style:[edge.style];let strokeColor=edgeStyles.find(style=>null==style?void 0:style.startsWith("stroke:")),animationClass="";edge.animate&&(animationClass="edge-animation-fast"),edge.animation&&(animationClass="edge-animation-"+edge.animation);let animatedEdge=!1;if("handDrawn"===edge.look){const rc=at.svg(elem);Object.assign([],lineData);strokeClasses+=" transition",svgPath=select(rc.path(linePath,{roughness:.3,seed:handDrawnSeed})).select("path").attr("id",`${diagramId}-${edge.id}`).attr("class"," "+strokeClasses+(edge.classes?" "+edge.classes:"")+(animationClass?" "+animationClass:"")).attr("style",edgeStyles?edgeStyles.reduce((acc,style)=>acc+";"+style,""):"");let d2=svgPath.attr("d");svgPath.attr("d",d2),elem.node().appendChild(svgPath.node())}else{const stylesFromClasses=edgeClassStyles.join(";"),styles=edgeStyles?edgeStyles.reduce((acc,style)=>acc+style+";",""):"",pathStyle=(stylesFromClasses?stylesFromClasses+";"+styles+";":styles)+";"+(edgeStyles?edgeStyles.reduce((acc,style)=>acc+";"+style,""):"");svgPath=elem.append("path").attr("d",linePath).attr("id",`${diagramId}-${edge.id}`).attr("class"," "+strokeClasses+(edge.classes?" "+edge.classes:"")+(animationClass?" "+animationClass:"")).attr("style",pathStyle),strokeColor=null==(_a2=pathStyle.match(/stroke:([^;]+)/))?void 0:_a2[1],animatedEdge=!0===edge.animate||!!edge.animation||stylesFromClasses.includes("animation");const pathNode=svgPath.node(),len="function"==typeof pathNode.getTotalLength?pathNode.getTotalLength():0,oValueS=markerOffsets2[edge.arrowTypeStart]||0,oValueE=markerOffsets2[edge.arrowTypeEnd]||0;if("neo"===edge.look&&!animatedEdge){const mOffset=`stroke-dasharray: ${"dotted"===edge.pattern||"dashed"===edge.pattern?generateDashArray(len,oValueS,oValueE):`0 ${oValueS} ${len-oValueS-oValueE} ${oValueE}`}; stroke-dashoffset: 0;`;svgPath.attr("style",mOffset+svgPath.attr("style"))}}svgPath.attr("data-edge",!0),svgPath.attr("data-et","edge"),svgPath.attr("data-id",edge.id),svgPath.attr("data-points",pointsStr),svgPath.attr("data-look",handleUndefinedAttr(edge.look)),edge.showPoints&&lineData.forEach(point3=>{elem.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",point3.x).attr("cy",point3.y)});let url="";(getConfig2().flowchart.arrowMarkerAbsolute||getConfig2().state.arrowMarkerAbsolute)&&(url=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,url=url.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),log.info("arrowTypeStart",edge.arrowTypeStart),log.info("arrowTypeEnd",edge.arrowTypeEnd);const useMargin=!animatedEdge&&"neo"===(null==edge?void 0:edge.look);addEdgeMarkers(svgPath,edge,url,diagramId,diagramType,useMargin,strokeColor);const point2=points[Math.floor(points.length/2)];utils_default.isLabelCoordinateInPath(point2,svgPath.attr("d"))||(pointsHasChanged=!0);let paths={};return pointsHasChanged&&(paths.updatedPath=points),paths.originalPath=edge.points,paths},"insertEdge");function generateRoundedPath(points,radius){if(points.length<2)return"";let path="";const size=points.length;for(let i2=0;i2<size;i2++){const currPoint=points[i2],prevPoint=points[i2-1],nextPoint=points[i2+1];if(0===i2)path+=`M${currPoint.x},${currPoint.y}`;else if(i2===size-1)path+=`L${currPoint.x},${currPoint.y}`;else{const dx1=currPoint.x-prevPoint.x,dy1=currPoint.y-prevPoint.y,dx2=nextPoint.x-currPoint.x,dy2=nextPoint.y-currPoint.y,len1=Math.hypot(dx1,dy1),len2=Math.hypot(dx2,dy2);if(len1<1e-5||len2<1e-5){path+=`L${currPoint.x},${currPoint.y}`;continue}const nx1=dx1/len1,ny1=dy1/len1,nx2=dx2/len2,ny2=dy2/len2,dot=nx1*nx2+ny1*ny2,clampedDot=Math.max(-1,Math.min(1,dot)),angle=Math.acos(clampedDot);if(angle<1e-5||Math.abs(Math.PI-angle)<1e-5){path+=`L${currPoint.x},${currPoint.y}`;continue}const cutLen=Math.min(radius/Math.sin(angle/2),len1/2,len2/2),startX=currPoint.x-nx1*cutLen,startY=currPoint.y-ny1*cutLen,endX=currPoint.x+nx2*cutLen,endY=currPoint.y+ny2*cutLen;path+=`L${startX},${startY}`,path+=`Q${currPoint.x},${currPoint.y} ${endX},${endY}`}}return path}function calculateDeltaAndAngle(point1,point2){if(!point1||!point2)return{angle:0,deltaX:0,deltaY:0};const deltaX=point2.x-point1.x,deltaY=point2.y-point1.y;return{angle:Math.atan2(deltaY,deltaX),deltaX:deltaX,deltaY:deltaY}}function applyMarkerOffsetsToPoints(points,edge){const newPoints=points.map(point2=>({...point2}));if(points.length>=2&&markerOffsets[edge.arrowTypeStart]){const offsetValue=markerOffsets[edge.arrowTypeStart],point1=points[0],point2=points[1],{angle:angle}=calculateDeltaAndAngle(point1,point2),offsetX=offsetValue*Math.cos(angle),offsetY=offsetValue*Math.sin(angle);newPoints[0].x=point1.x+offsetX,newPoints[0].y=point1.y+offsetY}const n2=points.length;if(n2>=2&&markerOffsets[edge.arrowTypeEnd]){const offsetValue=markerOffsets[edge.arrowTypeEnd],point1=points[n2-1],point2=points[n2-2],{angle:angle}=calculateDeltaAndAngle(point2,point1),offsetX=offsetValue*Math.cos(angle),offsetY=offsetValue*Math.sin(angle);newPoints[n2-1].x=point1.x-offsetX,newPoints[n2-1].y=point1.y-offsetY}return newPoints}__name(generateRoundedPath,"generateRoundedPath"),__name(calculateDeltaAndAngle,"calculateDeltaAndAngle"),__name(applyMarkerOffsetsToPoints,"applyMarkerOffsetsToPoints");var insertMarkers=__name((elem,markerArray,type2,id32)=>{markerArray.forEach(markerName=>{markers[markerName](elem,type2,id32)})},"insertMarkers"),extension=__name((elem,type2,id32)=>{log.trace("Making markers for ",id32),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-extensionStart").attr("class","marker extension "+type2).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-extensionEnd").attr("class","marker extension "+type2).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),elem.append("marker").attr("id",id32+"_"+type2+"-extensionStart-margin").attr("class","marker extension "+type2).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-extensionEnd-margin").attr("class","marker extension "+type2).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),composition=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-compositionStart").attr("class","marker composition "+type2).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-compositionEnd").attr("class","marker composition "+type2).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-compositionStart-margin").attr("class","marker composition "+type2).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-compositionEnd-margin").attr("class","marker composition "+type2).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),aggregation=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-aggregationStart").attr("class","marker aggregation "+type2).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-aggregationEnd").attr("class","marker aggregation "+type2).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-aggregationStart-margin").attr("class","marker aggregation "+type2).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-aggregationEnd-margin").attr("class","marker aggregation "+type2).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),dependency=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-dependencyStart").attr("class","marker dependency "+type2).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-dependencyEnd").attr("class","marker dependency "+type2).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-dependencyStart-margin").attr("class","marker dependency "+type2).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-dependencyEnd-margin").attr("class","marker dependency "+type2).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),lollipop=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-lollipopStart").attr("class","marker lollipop "+type2).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-lollipopEnd").attr("class","marker lollipop "+type2).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-lollipopStart-margin").attr("class","marker lollipop "+type2).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-lollipopEnd-margin").attr("class","marker lollipop "+type2).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),point=__name((elem,type2,id32)=>{elem.append("marker").attr("id",id32+"_"+type2+"-pointEnd").attr("class","marker "+type2).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-pointStart").attr("class","marker "+type2).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-pointEnd-margin").attr("class","marker "+type2).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-pointStart-margin").attr("class","marker "+type2).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),circle=__name((elem,type2,id32)=>{elem.append("marker").attr("id",id32+"_"+type2+"-circleEnd").attr("class","marker "+type2).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-circleStart").attr("class","marker "+type2).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-circleEnd-margin").attr("class","marker "+type2).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-circleStart-margin").attr("class","marker "+type2).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),cross=__name((elem,type2,id32)=>{elem.append("marker").attr("id",id32+"_"+type2+"-crossEnd").attr("class","marker cross "+type2).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-crossStart").attr("class","marker cross "+type2).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),elem.append("marker").attr("id",id32+"_"+type2+"-crossEnd-margin").attr("class","marker cross "+type2).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),elem.append("marker").attr("id",id32+"_"+type2+"-crossStart-margin").attr("class","marker cross "+type2).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),barb=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),barbNeo=__name((elem,type2,id32)=>{const config2=getConfig(),{themeVariables:themeVariables}=config2,{transitionColor:transitionColor}=themeVariables;elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${transitionColor}`)},"barbNeo"),only_one=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-onlyOneStart").attr("class","marker onlyOne "+type2).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-onlyOneEnd").attr("class","marker onlyOne "+type2).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),zero_or_one=__name((elem,type2,id32)=>{const startMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrOneStart").attr("class","marker zeroOrOne "+type2).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");startMarker.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),startMarker.append("path").attr("d","M9,0 L9,18");const endMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+type2).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");endMarker.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),endMarker.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),one_or_more=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-oneOrMoreStart").attr("class","marker oneOrMore "+type2).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27"),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-oneOrMoreEnd").attr("class","marker oneOrMore "+type2).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),zero_or_more=__name((elem,type2,id32)=>{const startMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+type2).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");startMarker.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),startMarker.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const endMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+type2).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");endMarker.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),endMarker.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),only_one_neo=__name((elem,type2,id32)=>{const config2=getConfig(),{themeVariables:themeVariables}=config2,{strokeWidth:strokeWidth}=themeVariables;elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-onlyOneStart").attr("class","marker onlyOne "+type2).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${strokeWidth}`),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-onlyOneEnd").attr("class","marker onlyOne "+type2).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${strokeWidth}`)},"only_one_neo"),zero_or_one_neo=__name((elem,type2,id32)=>{const config2=getConfig(),{themeVariables:themeVariables}=config2,{strokeWidth:strokeWidth,mainBkg:mainBkg}=themeVariables,startMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrOneStart").attr("class","marker zeroOrOne "+type2).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");startMarker.append("circle").attr("fill",mainBkg??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${strokeWidth}`).attr("r",6),startMarker.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${strokeWidth}`);const endMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+type2).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");endMarker.append("circle").attr("fill",mainBkg??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${strokeWidth}`).attr("r",6),endMarker.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${strokeWidth}`)},"zero_or_one_neo"),one_or_more_neo=__name((elem,type2,id32)=>{const config2=getConfig(),{themeVariables:themeVariables}=config2,{strokeWidth:strokeWidth}=themeVariables;elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-oneOrMoreStart").attr("class","marker oneOrMore "+type2).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${strokeWidth}`),elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-oneOrMoreEnd").attr("class","marker oneOrMore "+type2).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${strokeWidth}`)},"one_or_more_neo"),zero_or_more_neo=__name((elem,type2,id32)=>{const config2=getConfig(),{themeVariables:themeVariables}=config2,{strokeWidth:strokeWidth,mainBkg:mainBkg}=themeVariables,startMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+type2).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");startMarker.append("circle").attr("fill",mainBkg??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${strokeWidth}`),startMarker.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${strokeWidth}`);const endMarker=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+type2).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");endMarker.append("circle").attr("fill",mainBkg??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${strokeWidth}`),endMarker.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${strokeWidth}`)},"zero_or_more_neo"),requirement_arrow=__name((elem,type2,id32)=>{elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d","M0,0\n L20,10\n M20,10\n L0,20")},"requirement_arrow"),requirement_arrow_neo=__name((elem,type2,id32)=>{const config2=getConfig(),{themeVariables:themeVariables}=config2,{strokeWidth:strokeWidth}=themeVariables;elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${strokeWidth}`).attr("viewBox","0 0 25 20").append("path").attr("d","M0,0\n L20,10\n M20,10\n L0,20").attr("stroke-linejoin","miter")},"requirement_arrow_neo"),markers={extension:extension,composition:composition,aggregation:aggregation,dependency:dependency,lollipop:lollipop,point:point,circle:circle,cross:cross,barb:barb,barbNeo:barbNeo,only_one:only_one,zero_or_one:zero_or_one,one_or_more:one_or_more,zero_or_more:zero_or_more,only_one_neo:only_one_neo,zero_or_one_neo:zero_or_one_neo,one_or_more_neo:one_or_more_neo,zero_or_more_neo:zero_or_more_neo,requirement_arrow:requirement_arrow,requirement_contains:__name((elem,type2,id32)=>{const containsNode=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");containsNode.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),containsNode.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),containsNode.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),requirement_arrow_neo:requirement_arrow_neo,requirement_contains_neo:__name((elem,type2,id32)=>{const config2=getConfig(),{themeVariables:themeVariables}=config2,{strokeWidth:strokeWidth}=themeVariables,containsNode=elem.append("defs").append("marker").attr("id",id32+"_"+type2+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");containsNode.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),containsNode.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),containsNode.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),containsNode.selectAll("*").attr("stroke-width",`${strokeWidth}`)},"requirement_contains_neo")},markers_default=insertMarkers,internalHelpers={common:common_default,getConfig:getConfig,insertCluster:insertCluster,insertEdge:insertEdge,insertEdgeLabel:insertEdgeLabel,insertMarkers:markers_default,insertNode:insertNode,interpolateToCurve:interpolateToCurve,labelHelper:labelHelper,log:log,positionEdgeLabel:positionEdgeLabel},layoutAlgorithms={},registerLayoutLoaders=__name(loaders=>{for(const loader32 of loaders)layoutAlgorithms[loader32.name]=loader32},"registerLayoutLoaders");__name(()=>{registerLayoutLoaders([{name:"dagre",loader:__name(async()=>await __vitePreload(()=>import("./dagre-KV5264BT-CxuHKd9a.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9])),"loader")},{name:"cose-bilkent",loader:__name(async()=>await __vitePreload(()=>import("./cose-bilkent-S5V4N54A-TwxpCIwM.js"),__vite__mapDeps([10,11,7,6,8,9])),"loader")}])},"registerDefaultLayoutLoaders")();var render$1=__name(async(data4Layout,svg)=>{if(!(data4Layout.layoutAlgorithm in layoutAlgorithms))throw new Error(`Unknown layout algorithm: ${data4Layout.layoutAlgorithm}`);if(data4Layout.diagramId)for(const node of data4Layout.nodes){const originalDomId=node.domId||node.id;node.domId=`${data4Layout.diagramId}-${originalDomId}`}const layoutDefinition=layoutAlgorithms[data4Layout.layoutAlgorithm],layoutRenderer=await layoutDefinition.loader(),{theme:theme,themeVariables:themeVariables}=data4Layout.config,{useGradient:useGradient,gradientStart:gradientStart,gradientStop:gradientStop}=themeVariables,svgId=svg.attr("id");if(svg.append("defs").append("filter").attr("id",`${svgId}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",""+((null==theme?void 0:theme.includes("dark"))?"#FFFFFF":"#000000")),svg.append("defs").append("filter").attr("id",`${svgId}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",""+((null==theme?void 0:theme.includes("dark"))?"#FFFFFF":"#000000")),useGradient){const gradient=svg.append("linearGradient").attr("id",svg.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");gradient.append("svg:stop").attr("offset","0%").attr("stop-color",gradientStart).attr("stop-opacity",1),gradient.append("svg:stop").attr("offset","100%").attr("stop-color",gradientStop).attr("stop-opacity",1)}return layoutRenderer.render(data4Layout,svg,internalHelpers,{algorithm:layoutDefinition.algorithm})},"render"),getRegisteredLayoutAlgorithm=__name((algorithm="",{fallback:fallback="dagre"}={})=>{if(algorithm in layoutAlgorithms)return algorithm;if(fallback in layoutAlgorithms)return log.warn(`Layout algorithm ${algorithm} is not registered. Using ${fallback} as fallback.`),fallback;throw new Error(`Both layout algorithms ${algorithm} and ${fallback} are not registered.`)},"getRegisteredLayoutAlgorithm"),nativeKeys=overArg(Object.keys,Object),hasOwnProperty$1=Object.prototype.hasOwnProperty;function baseKeys(object){if(!isPrototype(object))return nativeKeys(object);var result=[];for(var key in Object(object))hasOwnProperty$1.call(object,key)&&"constructor"!=key&&result.push(key);return result}var DataView=getNative(root,"DataView"),Promise$1=getNative(root,"Promise"),Set$1=getNative(root,"Set"),WeakMap=getNative(root,"WeakMap"),dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map$1),promiseCtorString=toSource(Promise$1),setCtorString=toSource(Set$1),weakMapCtorString=toSource(WeakMap),getTag=baseGetTag;(DataView&&"[object DataView]"!=getTag(new DataView(new ArrayBuffer(1)))||Map$1&&"[object Map]"!=getTag(new Map$1)||Promise$1&&"[object Promise]"!=getTag(Promise$1.resolve())||Set$1&&"[object Set]"!=getTag(new Set$1)||WeakMap&&"[object WeakMap]"!=getTag(new WeakMap))&&(getTag=function(value){var result=baseGetTag(value),Ctor="[object Object]"==result?value.constructor:void 0,ctorString=Ctor?toSource(Ctor):"";if(ctorString)switch(ctorString){case dataViewCtorString:return"[object DataView]";case mapCtorString:return"[object Map]";case promiseCtorString:return"[object Promise]";case setCtorString:return"[object Set]";case weakMapCtorString:return"[object WeakMap]"}return result});var hasOwnProperty=Object.prototype.hasOwnProperty;function isEmpty(value){if(null==value)return!0;if(isArrayLike(value)&&(isArray(value)||"string"==typeof value||"function"==typeof value.splice||isBuffer(value)||isTypedArray(value)||isArguments(value)))return!value.length;var tag=getTag(value);if("[object Map]"==tag||"[object Set]"==tag)return!value.size;if(isPrototype(value))return!baseKeys(value).length;for(var key in value)if(hasOwnProperty.call(value,key))return!1;return!0}var c4Detector_default={id:"c4",detector:__name(txt=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./c4Diagram-AHTNJAMY-zdTsx1jJ.js");return{diagram:diagram22}},__vite__mapDeps([12,13,6,7,8,9]));return{id:"c4",diagram:diagram2}},"loader")},flowDetector_default={id:"flowchart",detector:__name((txt,config2)=>{var _a2,_b2;return"dagre-wrapper"!==(null==(_a2=null==config2?void 0:config2.flowchart)?void 0:_a2.defaultRenderer)&&"elk"!==(null==(_b2=null==config2?void 0:config2.flowchart)?void 0:_b2.defaultRenderer)&&/^\s*graph/.test(txt)},"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./flowDiagram-DWJPFMVM-C_SKJN0d.js");return{diagram:diagram22}},__vite__mapDeps([14,15,13,16,17,9,18,6,7,8]));return{id:"flowchart",diagram:diagram2}},"loader")},id3="flowchart-v2",flowDetector_v2_default={id:id3,detector:__name((txt,config2)=>{var _a2,_b2,_c2;return"dagre-d3"!==(null==(_a2=null==config2?void 0:config2.flowchart)?void 0:_a2.defaultRenderer)&&("elk"===(null==(_b2=null==config2?void 0:config2.flowchart)?void 0:_b2.defaultRenderer)&&(config2.layout="elk"),!(!/^\s*graph/.test(txt)||"dagre-wrapper"!==(null==(_c2=null==config2?void 0:config2.flowchart)?void 0:_c2.defaultRenderer))||/^\s*flowchart/.test(txt))},"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./flowDiagram-DWJPFMVM-C_SKJN0d.js");return{diagram:diagram22}},__vite__mapDeps([14,15,13,16,17,9,18,6,7,8]));return{id:id3,diagram:diagram2}},"loader")},erDetector_default={id:"er",detector:__name(txt=>/^\s*erDiagram/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./erDiagram-SMLLAGMA-CklZI6kO.js");return{diagram:diagram22}},__vite__mapDeps([19,16,17,18,6,7,8,9]));return{id:"er",diagram:diagram2}},"loader")},gitGraphDetector_default={id:"gitGraph",detector:__name(txt=>/^\s*gitGraph/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./gitGraphDiagram-UUTBAWPF-HarEJVSI.js");return{diagram:diagram22}},__vite__mapDeps([20,21,22,23,6,7,8,4,2,9]));return{id:"gitGraph",diagram:diagram2}},"loader")},ganttDetector_default={id:"gantt",detector:__name(txt=>/^\s*gantt/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./ganttDiagram-T4ZO3ILL-ChhhqFiR.js");return{diagram:diagram22}},__vite__mapDeps([24,7,25,26,27,6,8,9]));return{id:"gantt",diagram:diagram2}},"loader")},info={id:"info",detector:__name(txt=>/^\s*info/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./infoDiagram-42DDH7IO-DOcCtSEj.js");return{diagram:diagram22}},__vite__mapDeps([28,23,6,7,8,4,2,9]));return{id:"info",diagram:diagram2}},"loader")},pie={id:"pie",detector:__name(txt=>/^\s*pie/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./pieDiagram-DEJITSTG-dMhPj5wG.js");return{diagram:diagram22}},__vite__mapDeps([29,21,23,6,7,8,4,2,30,31,26,9]));return{id:"pie",diagram:diagram2}},"loader")},id9="quadrantChart",quadrantDetector_default={id:id9,detector:__name(txt=>/^\s*quadrantChart/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./quadrantDiagram-34T5L4WZ-GCi1_zHo.js");return{diagram:diagram22}},__vite__mapDeps([32,25,26,27,6,7,8,9]));return{id:id9,diagram:diagram2}},"loader")},xychartDetector_default={id:"xychart",detector:__name(txt=>/^\s*xychart(-beta)?/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./xychartDiagram-5P7HB3ND-Ct6fDXwq.js");return{diagram:diagram22}},__vite__mapDeps([33,26,31,25,27,6,7,8,9]));return{id:"xychart",diagram:diagram2}},"loader")},requirementDetector_default={id:"requirement",detector:__name(txt=>/^\s*requirement(Diagram)?/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./requirementDiagram-MS252O5E-WeErs64x.js");return{diagram:diagram22}},__vite__mapDeps([34,16,17,6,7,8,9]));return{id:"requirement",diagram:diagram2}},"loader")},sequenceDetector_default={id:"sequence",detector:__name(txt=>/^\s*sequenceDiagram/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./sequenceDiagram-FGHM5R23-CAC5BKbx.js");return{diagram:diagram22}},__vite__mapDeps([35,13,22,6,7,8,9]));return{id:"sequence",diagram:diagram2}},"loader")},classDetector_default={id:"class",detector:__name((txt,config2)=>{var _a2;return"dagre-wrapper"!==(null==(_a2=null==config2?void 0:config2.class)?void 0:_a2.defaultRenderer)&&/^\s*classDiagram/.test(txt)},"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./classDiagram-6PBFFD2Q-PgwmelQQ.js");return{diagram:diagram22}},__vite__mapDeps([36,37,15,13,16,17,9,6,7,8]));return{id:"class",diagram:diagram2}},"loader")},classDetector_V2_default={id:"classDiagram",detector:__name((txt,config2)=>{var _a2;return!(!/^\s*classDiagram/.test(txt)||"dagre-wrapper"!==(null==(_a2=null==config2?void 0:config2.class)?void 0:_a2.defaultRenderer))||/^\s*classDiagram-v2/.test(txt)},"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./classDiagram-v2-HSJHXN6E-PgwmelQQ.js");return{diagram:diagram22}},__vite__mapDeps([38,37,15,13,16,17,9,6,7,8]));return{id:"classDiagram",diagram:diagram2}},"loader")},stateDetector_default={id:"state",detector:__name((txt,config2)=>{var _a2;return"dagre-wrapper"!==(null==(_a2=null==config2?void 0:config2.state)?void 0:_a2.defaultRenderer)&&/^\s*stateDiagram/.test(txt)},"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./stateDiagram-FHFEXIEX-Cxrg604Z.js");return{diagram:diagram22}},__vite__mapDeps([39,40,16,17,1,2,3,4,6,7,8,9]));return{id:"state",diagram:diagram2}},"loader")},stateDetector_V2_default={id:"stateDiagram",detector:__name((txt,config2)=>{var _a2;return!!/^\s*stateDiagram-v2/.test(txt)||!(!/^\s*stateDiagram/.test(txt)||"dagre-wrapper"!==(null==(_a2=null==config2?void 0:config2.state)?void 0:_a2.defaultRenderer))},"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./stateDiagram-v2-QKLJ7IA2-DaUpf340.js");return{diagram:diagram22}},__vite__mapDeps([41,40,16,17,6,7,8,9]));return{id:"stateDiagram",diagram:diagram2}},"loader")},journeyDetector_default={id:"journey",detector:__name(txt=>/^\s*journey/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./journeyDiagram-VCZTEJTY-BUv2Exj_.js");return{diagram:diagram22}},__vite__mapDeps([42,15,13,30,6,7,8,9]));return{id:"journey",diagram:diagram2}},"loader")},renderer={draw:__name((_text,id32,version)=>{log.debug("rendering svg for syntax error\n");const svg=selectSvgElement(id32),g2=svg.append("g");svg.attr("viewBox","0 0 2412 512"),configureSvgSize(svg,100,512,!0),g2.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),g2.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),g2.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),g2.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),g2.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),g2.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),g2.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),g2.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${version}`)},"draw")},errorRenderer_default=renderer,errorDiagram_default={db:{},renderer:renderer,parser:{parse:__name(()=>{},"parse")}},id18="flowchart-elk",detector_default={id:id18,detector:__name((txt,config2={})=>{var _a2;return!!(/^\s*flowchart-elk/.test(txt)||/^\s*(flowchart|graph)/.test(txt)&&"elk"===(null==(_a2=null==config2?void 0:config2.flowchart)?void 0:_a2.defaultRenderer))&&(config2.layout="elk",!0)},"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./flowDiagram-DWJPFMVM-C_SKJN0d.js");return{diagram:diagram22}},__vite__mapDeps([14,15,13,16,17,9,18,6,7,8]));return{id:id18,diagram:diagram2}},"loader")},detector_default2={id:"timeline",detector:__name(txt=>/^\s*timeline/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./timeline-definition-GMOUNBTQ-DbvXGDTU.js");return{diagram:diagram22}},__vite__mapDeps([43,30,6,7,8,9]));return{id:"timeline",diagram:diagram2}},"loader")},detector_default3={id:"mindmap",detector:__name(txt=>/^\s*mindmap/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./mindmap-definition-QFDTVHPH-DnhPHplB.js");return{diagram:diagram22}},__vite__mapDeps([44,16,17,6,7,8,9]));return{id:"mindmap",diagram:diagram2}},"loader")},detector_default4={id:"kanban",detector:__name(txt=>/^\s*kanban/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./kanban-definition-6JOO6SKY-DwSHz9oV.js");return{diagram:diagram22}},__vite__mapDeps([45,15,6,7,8,9]));return{id:"kanban",diagram:diagram2}},"loader")},sankeyDetector_default={id:"sankey",detector:__name(txt=>/^\s*sankey(-beta)?/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./sankeyDiagram-XADWPNL6-BKpP6-8Q.js");return{diagram:diagram22}},__vite__mapDeps([46,31,26,6,7,8,9]));return{id:"sankey",diagram:diagram2}},"loader")},packet={id:"packet",detector:__name(txt=>/^\s*packet(-beta)?/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./diagram-TYMM5635-Do2MhBCf.js");return{diagram:diagram22}},__vite__mapDeps([47,21,23,6,7,8,4,2,9]));return{id:"packet",diagram:diagram2}},"loader")},radar={id:"radar",detector:__name(txt=>/^\s*radar-beta/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./diagram-MMDJMWI5-CqnrwtNB.js");return{diagram:diagram22}},__vite__mapDeps([48,21,23,6,7,8,4,2,9]));return{id:"radar",diagram:diagram2}},"loader")},blockDetector_default={id:"block",detector:__name(txt=>/^\s*block(-beta)?/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./blockDiagram-DXYQGD6D-CpU6v2gv.js");return{diagram:diagram22}},__vite__mapDeps([49,15,5,1,2,18,6,7,8,9]));return{id:"block",diagram:diagram2}},"loader")},detector_default5={id:"treeView",detector:__name(txt=>/^\s*treeView-beta/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./diagram-5BDNPKRD-BzR9Peib.js");return{diagram:diagram22}},__vite__mapDeps([50,21,22,23,6,7,8,4,2,9]));return{id:"treeView",diagram:diagram2}},"loader")},architectureDetector_default={id:"architecture",detector:__name(txt=>/^\s*architecture/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./architectureDiagram-Q4EWVU46-pWWvthzV.js");return{diagram:diagram22}},__vite__mapDeps([51,21,23,6,7,8,4,2,11,9]));return{id:"architecture",diagram:diagram2}},"loader")},ishikawa={id:"ishikawa",detector:__name(txt=>/^\s*ishikawa(-beta)?\b/i.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./ishikawaDiagram-UXIWVN3A-Crb_pmG4.js");return{diagram:diagram22}},__vite__mapDeps([52,6,7,8,9]));return{id:"ishikawa",diagram:diagram2}},"loader")},vennDetector_default={id:"venn",detector:__name(txt=>/^\s*venn-beta/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./vennDiagram-DHZGUBPP-BoIw-nWl.js");return{diagram:diagram22}},__vite__mapDeps([53,6,7,8,9]));return{id:"venn",diagram:diagram2}},"loader")},treemap={id:"treemap",detector:__name(txt=>/^\s*treemap/.test(txt),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./diagram-G4DWMVQ6-PWFXrQqF.js");return{diagram:diagram22}},__vite__mapDeps([54,17,21,23,6,7,8,4,2,27,31,26,9]));return{id:"treemap",diagram:diagram2}},"loader")},wardleyDetector_default={id:"wardley-beta",detector:__name(text2=>/^\s*wardley-beta/i.test(text2),"detector"),loader:__name(async()=>{const{diagram:diagram2}=await __vitePreload(async()=>{const{diagram:diagram22}=await import("./wardleyDiagram-NUSXRM2D-C8RzJmfU.js");return{diagram:diagram22}},__vite__mapDeps([55,21,23,6,7,8,4,2,9]));return{id:"wardley-beta",diagram:diagram2}},"loader")},hasLoadedDiagrams=!1,addDiagrams=__name(()=>{hasLoadedDiagrams||(hasLoadedDiagrams=!0,registerDiagram("error",errorDiagram_default,text2=>"error"===text2.toLowerCase().trim()),registerDiagram("---",{db:{clear:__name(()=>{},"clear")},styles:{},renderer:{draw:__name(()=>{},"draw")},parser:{parse:__name(()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},"parse")},init:__name(()=>null,"init")},text2=>text2.toLowerCase().trimStart().startsWith("---")),registerLazyLoadedDiagrams(detector_default,detector_default3,architectureDetector_default),registerLazyLoadedDiagrams(c4Detector_default,detector_default4,classDetector_V2_default,classDetector_default,erDetector_default,ganttDetector_default,info,pie,requirementDetector_default,sequenceDetector_default,flowDetector_v2_default,flowDetector_default,detector_default2,gitGraphDetector_default,stateDetector_V2_default,stateDetector_default,journeyDetector_default,quadrantDetector_default,sankeyDetector_default,packet,xychartDetector_default,blockDetector_default,detector_default5,radar,ishikawa,treemap,vennDetector_default,wardleyDetector_default))},"addDiagrams"),loadRegisteredDiagrams=__name(async()=>{log.debug("Loading registered diagrams");const failed=(await Promise.allSettled(Object.entries(detectors).map(async([key,{detector:detector32,loader:loader32}])=>{if(loader32)try{getDiagram(key)}catch{try{const{diagram:diagram2,id:id32}=await loader32();registerDiagram(id32,diagram2,detector32)}catch(err){throw log.error(`Failed to load external diagram with key ${key}. Removing from detectors.`),delete detectors[key],err}}}))).filter(result=>"rejected"===result.status);if(failed.length>0){log.error(`Failed to load ${failed.length} external diagrams`);for(const res of failed)log.error(res);throw new Error(`Failed to load ${failed.length} external diagrams`)}},"loadRegisteredDiagrams");function setA11yDiagramInfo(svg,diagramType){svg.attr("role","graphics-document document"),""!==diagramType&&svg.attr("aria-roledescription",diagramType)}function addSVGa11yTitleDescription(svg,a11yTitle,a11yDesc,baseId){if(void 0!==svg.insert){if(a11yDesc){const descId=`chart-desc-${baseId}`;svg.attr("aria-describedby",descId),svg.insert("desc",":first-child").attr("id",descId).text(a11yDesc)}if(a11yTitle){const titleId=`chart-title-${baseId}`;svg.attr("aria-labelledby",titleId),svg.insert("title",":first-child").attr("id",titleId).text(a11yTitle)}}}__name(setA11yDiagramInfo,"setA11yDiagramInfo"),__name(addSVGa11yTitleDescription,"addSVGa11yTitleDescription");var Diagram=(__name(_p=class{constructor(type2,text2,db,parser,renderer2){this.type=type2,this.text=text2,this.db=db,this.parser=parser,this.renderer=renderer2}static async fromText(text2,metadata={}){var _a2,_b2;const config2=getConfig(),type2=detectType$1(text2,config2);text2=encodeEntities(text2)+"\n";try{getDiagram(type2)}catch{const loader32=getDiagramLoader(type2);if(!loader32)throw new UnknownDiagramError(`Diagram ${type2} not found.`);const{id:id32,diagram:diagram2}=await loader32();registerDiagram(id32,diagram2)}const{db:db,parser:parser,renderer:renderer2,init:init2}=getDiagram(type2);return parser.parser&&(parser.parser.yy=db),null==(_a2=db.clear)||_a2.call(db),null==init2||init2(config2),metadata.title&&(null==(_b2=db.setDiagramTitle)||_b2.call(db,metadata.title)),await parser.parse(text2),new _p(type2,text2,db,parser,renderer2)}async render(id32,version){await this.renderer.draw(this.text,id32,version,this)}getParser(){return this.parser}getType(){return this.type}},"Diagram"),_p),interactionFunctions=[],attachFunctions=__name(()=>{interactionFunctions.forEach(f2=>{f2()}),interactionFunctions=[]},"attachFunctions"),cleanupComments=__name(text2=>text2.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function extractFrontMatter(text2){const matches=text2.match(frontMatterRegex);if(!matches)return{text:text2,metadata:{}};let parsed=load(matches[1],{schema:JSON_SCHEMA})??{};parsed="object"!=typeof parsed||Array.isArray(parsed)?{}:parsed;const metadata={};return parsed.displayMode&&(metadata.displayMode=parsed.displayMode.toString()),parsed.title&&(metadata.title=parsed.title.toString()),parsed.config&&(metadata.config=parsed.config),{text:text2.slice(matches[0].length),metadata:metadata}}__name(extractFrontMatter,"extractFrontMatter");var cleanupText=__name(code=>code.replace(/\r\n?/g,"\n").replace(/<(\w+)([^>]*)>/g,(match,tag,attributes)=>"<"+tag+attributes.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),processFrontmatter=__name(code=>{const{text:text2,metadata:metadata}=extractFrontMatter(code),{displayMode:displayMode,title:title,config:config2={}}=metadata;return displayMode&&(config2.gantt||(config2.gantt={}),config2.gantt.displayMode=displayMode),{title:title,config:config2,text:text2}},"processFrontmatter"),processDirectives=__name(code=>{const initDirective=utils_default.detectInit(code)??{},wrapDirectives=utils_default.detectDirective(code,"wrap");return Array.isArray(wrapDirectives)?initDirective.wrap=wrapDirectives.some(({type:type2})=>"wrap"===type2):"wrap"===(null==wrapDirectives?void 0:wrapDirectives.type)&&(initDirective.wrap=!0),{text:removeDirectives(code),directive:initDirective}},"processDirectives");function preprocessDiagram(code){const cleanedCode=cleanupText(code),frontMatterResult=processFrontmatter(cleanedCode),directiveResult=processDirectives(frontMatterResult.text),config2=cleanAndMerge(frontMatterResult.config,directiveResult.directive);return{code:code=cleanupComments(directiveResult.text),title:frontMatterResult.title,config:config2}}function toBase64(str2){const utf8Bytes=(new TextEncoder).encode(str2),utf8Str=Array.from(utf8Bytes,byte=>String.fromCodePoint(byte)).join("");return btoa(utf8Str)}__name(preprocessDiagram,"preprocessDiagram"),__name(toBase64,"toBase64");var DOMPURIFY_TAGS=["foreignobject"],DOMPURIFY_ATTR=["dominant-baseline"];function processAndSetConfigs(text2){const processed=preprocessDiagram(text2);return reset(),addDirective(processed.config??{}),processed}async function parse(text2,parseOptions){addDiagrams();try{const{code:code,config:config2}=processAndSetConfigs(text2);return{diagramType:(await getDiagramFromText(code)).type,config:config2}}catch(error){if(null==parseOptions?void 0:parseOptions.suppressErrors)return!1;throw error}}__name(processAndSetConfigs,"processAndSetConfigs"),__name(parse,"parse");var cssImportantStyles=__name((cssClass,element,cssClasses=[])=>`\n.${cssClass} ${element} { ${cssClasses.join(" !important; ")} !important; }`,"cssImportantStyles"),createCssStyles=__name((config2,classDefs=new Map)=>{let cssStyles="";if(void 0!==config2.themeCSS&&(cssStyles+=`\n${config2.themeCSS}`),void 0!==config2.fontFamily&&(cssStyles+=`\n:root { --mermaid-font-family: ${config2.fontFamily}}`),void 0!==config2.altFontFamily&&(cssStyles+=`\n:root { --mermaid-alt-font-family: ${config2.altFontFamily}}`),classDefs instanceof Map){const cssElements=getEffectiveHtmlLabels(config2)?["> *","span"]:["rect","polygon","ellipse","circle","path"];classDefs.forEach(styleClassDef=>{isEmpty(styleClassDef.styles)||cssElements.forEach(cssElement=>{cssStyles+=cssImportantStyles(styleClassDef.id,cssElement,styleClassDef.styles)}),isEmpty(styleClassDef.textStyles)||(cssStyles+=cssImportantStyles(styleClassDef.id,"tspan",((null==styleClassDef?void 0:styleClassDef.textStyles)||[]).map(s2=>s2.replace("color","fill"))))})}return cssStyles},"createCssStyles"),createUserStyles=__name((config2,graphType,classDefs,svgId)=>{const userCSSstyles=createCssStyles(config2,classDefs),allStyles=styles_default(graphType,userCSSstyles,{...config2.themeVariables,theme:config2.theme,look:config2.look},svgId);return serialize(compile(`${svgId}{${allStyles}}`),stringify)},"createUserStyles"),cleanUpSvgCode=__name((svgCode="",inSandboxMode,useArrowMarkerUrls)=>{let cleanedUpSvg=svgCode;return useArrowMarkerUrls||inSandboxMode||(cleanedUpSvg=cleanedUpSvg.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),cleanedUpSvg=decodeEntities(cleanedUpSvg),cleanedUpSvg=cleanedUpSvg.replace(/<br>/g,"<br/>"),cleanedUpSvg},"cleanUpSvgCode"),putIntoIFrame=__name((svgCode="",svgElement)=>{var _a2,_b2;return`<iframe style="width:100%;height:${(null==(_b2=null==(_a2=null==svgElement?void 0:svgElement.viewBox)?void 0:_a2.baseVal)?void 0:_b2.height)?svgElement.viewBox.baseVal.height+"px":"100%"};border:0;margin:0;" src="data:text/html;charset=UTF-8;base64,${toBase64(`<body style="margin:0">${svgCode}</body>`)}" sandbox="allow-top-navigation-by-user-activation allow-popups">\n The "iframe" tag is not supported by your browser.\n</iframe>`},"putIntoIFrame"),appendDivSvgG=__name((parentRoot,id32,enclosingDivId,divStyle,svgXlink)=>{const enclosingDiv=parentRoot.append("div");enclosingDiv.attr("id",enclosingDivId),divStyle&&enclosingDiv.attr("style",divStyle);const svgNode2=enclosingDiv.append("svg").attr("id",id32).attr("width","100%").attr("xmlns","http://www.w3.org/2000/svg");return svgXlink&&svgNode2.attr("xmlns:xlink",svgXlink),svgNode2.append("g"),parentRoot},"appendDivSvgG");function sandboxedIframe(parentNode,iFrameId){return parentNode.append("iframe").attr("id",iFrameId).attr("style","width: 100%; height: 100%;").attr("sandbox","")}__name(sandboxedIframe,"sandboxedIframe");var removeExistingElements=__name((doc,id32,divId,iFrameId)=>{var _a2,_b2,_c2;null==(_a2=doc.getElementById(id32))||_a2.remove(),null==(_b2=doc.getElementById(divId))||_b2.remove(),null==(_c2=doc.getElementById(iFrameId))||_c2.remove()},"removeExistingElements"),render=__name(async function(id32,text2,svgContainingElement){var _a2,_b2,_c2,_d2,_e3,_f2;addDiagrams();const processed=processAndSetConfigs(text2);text2=processed.code;const config2=getConfig();log.debug(config2),text2.length>((null==config2?void 0:config2.maxTextSize)??5e4)&&(text2="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa");const idSelector="#"+id32,iFrameID="i"+id32,iFrameID_selector="#"+iFrameID,enclosingDivID="d"+id32,enclosingDivID_selector="#"+enclosingDivID,removeTempElements=__name(()=>{const node=select(isSandboxed?iFrameID_selector:enclosingDivID_selector).node();node&&"remove"in node&&node.remove()},"removeTempElements");let root2=select("body");const isSandboxed="sandbox"===config2.securityLevel,isLooseSecurityLevel="loose"===config2.securityLevel,fontFamily=config2.fontFamily;if(void 0!==svgContainingElement){if(svgContainingElement&&(svgContainingElement.innerHTML=""),isSandboxed){const iframe=sandboxedIframe(select(svgContainingElement),iFrameID);root2=select(iframe.nodes()[0].contentDocument.body),root2.node().style.margin=0}else root2=select(svgContainingElement);appendDivSvgG(root2,id32,enclosingDivID,`font-family: ${fontFamily}`,"http://www.w3.org/1999/xlink")}else{if(removeExistingElements(document,id32,enclosingDivID,iFrameID),isSandboxed){const iframe=sandboxedIframe(select("body"),iFrameID);root2=select(iframe.nodes()[0].contentDocument.body),root2.node().style.margin=0}else root2=select("body");appendDivSvgG(root2,id32,enclosingDivID)}let diag,parseEncounteredException;try{diag=await Diagram.fromText(text2,{title:processed.title})}catch(error){if(config2.suppressErrorRendering)throw removeTempElements(),error;diag=await Diagram.fromText("error"),parseEncounteredException=error}const element=root2.select(enclosingDivID_selector).node(),diagramType=diag.type,svg=element.firstChild,firstChild=svg.firstChild,diagramClassDefs=null==(_b2=(_a2=diag.renderer).getClasses)?void 0:_b2.call(_a2,text2,diag),rules=createUserStyles(config2,diagramType,diagramClassDefs,idSelector),style1=document.createElement("style");style1.innerHTML=rules,svg.insertBefore(style1,firstChild);try{await diag.renderer.draw(text2,id32,"11.14.0",diag)}catch(e2){throw config2.suppressErrorRendering?removeTempElements():errorRenderer_default.draw(text2,id32,"11.14.0"),e2}addA11yInfo(diagramType,root2.select(`${enclosingDivID_selector} svg`),null==(_d2=(_c2=diag.db).getAccTitle)?void 0:_d2.call(_c2),null==(_f2=(_e3=diag.db).getAccDescription)?void 0:_f2.call(_e3)),root2.select(`[id="${id32}"]`).selectAll("foreignobject > *").attr("xmlns","http://www.w3.org/1999/xhtml");let svgCode=root2.select(enclosingDivID_selector).node().innerHTML;if(log.debug("config.arrowMarkerAbsolute",config2.arrowMarkerAbsolute),svgCode=cleanUpSvgCode(svgCode,isSandboxed,evaluate(config2.arrowMarkerAbsolute)),isSandboxed){const svgEl=root2.select(enclosingDivID_selector+" svg").node();svgCode=putIntoIFrame(svgCode,svgEl)}else isLooseSecurityLevel||(svgCode=purify.sanitize(svgCode,{ADD_TAGS:DOMPURIFY_TAGS,ADD_ATTR:DOMPURIFY_ATTR,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(attachFunctions(),parseEncounteredException)throw parseEncounteredException;return removeTempElements(),{diagramType:diagramType,svg:svgCode,bindFunctions:diag.db.bindFunctions}},"render");function initialize(userOptions={}){var _a2;const options=assignWithDepth_default({},userOptions);(null==options?void 0:options.fontFamily)&&!(null==(_a2=options.themeVariables)?void 0:_a2.fontFamily)&&(options.themeVariables||(options.themeVariables={}),options.themeVariables.fontFamily=options.fontFamily),saveConfigFromInitialize(options),(null==options?void 0:options.theme)&&options.theme in themes_default?options.themeVariables=themes_default[options.theme].getThemeVariables(options.themeVariables):options&&(options.themeVariables=themes_default.default.getThemeVariables(options.themeVariables));const config2="object"==typeof options?setSiteConfig(options):getSiteConfig();setLogLevel(config2.logLevel),addDiagrams()}__name(initialize,"initialize");var getDiagramFromText=__name((text2,metadata={})=>{const{code:code}=preprocessDiagram(text2);return Diagram.fromText(code,metadata)},"getDiagramFromText");function addA11yInfo(diagramType,svgNode2,a11yTitle,a11yDescr){setA11yDiagramInfo(svgNode2,diagramType),addSVGa11yTitleDescription(svgNode2,a11yTitle,a11yDescr,svgNode2.attr("id"))}__name(addA11yInfo,"addA11yInfo");var mermaidAPI=Object.freeze({render:render,parse:parse,getDiagramFromText:getDiagramFromText,initialize:initialize,getConfig:getConfig,setConfig:setConfig,getSiteConfig:getSiteConfig,updateSiteConfig:updateSiteConfig,reset:__name(()=>{reset()},"reset"),globalReset:__name(()=>{reset(defaultConfig)},"globalReset"),defaultConfig:defaultConfig});setLogLevel(getConfig().logLevel),reset(getConfig());var handleError=__name((error,errors,parseError)=>{log.warn(error),isDetailedError(error)?(parseError&&parseError(error.str,error.hash),errors.push({...error,message:error.str,error:error})):(parseError&&parseError(error),error instanceof Error&&errors.push({str:error.message,message:error.message,hash:error.name,error:error}))},"handleError"),run=__name(async function(options={querySelector:".mermaid"}){try{await runThrowsErrors(options)}catch(e2){if(isDetailedError(e2)&&log.error(e2.str),mermaid.parseError&&mermaid.parseError(e2),!options.suppressErrors)throw log.error("Use the suppressErrors option to suppress these errors"),e2}},"run"),runThrowsErrors=__name(async function({postRenderCallback:postRenderCallback,querySelector:querySelector,nodes:nodes}={querySelector:".mermaid"}){const conf=mermaidAPI.getConfig();let nodesToProcess;if(log.debug((postRenderCallback?"":"No ")+"Callback function found"),nodes)nodesToProcess=nodes;else{if(!querySelector)throw new Error("Nodes and querySelector are both undefined");nodesToProcess=document.querySelectorAll(querySelector)}log.debug(`Found ${nodesToProcess.length} diagrams`),void 0!==(null==conf?void 0:conf.startOnLoad)&&(log.debug("Start On Load: "+(null==conf?void 0:conf.startOnLoad)),mermaidAPI.updateSiteConfig({startOnLoad:null==conf?void 0:conf.startOnLoad}));const idGenerator=new utils_default.InitIDGenerator(conf.deterministicIds,conf.deterministicIDSeed);let txt;const errors=[];for(const element of Array.from(nodesToProcess)){if(log.info("Rendering diagram: "+element.id),element.getAttribute("data-processed"))continue;element.setAttribute("data-processed","true");const id32=`mermaid-${idGenerator.next()}`;txt=element.innerHTML,txt=dedent(utils_default.entityDecode(txt)).trim().replace(/<br\s*\/?>/gi,"<br/>");const init2=utils_default.detectInit(txt);init2&&log.debug("Detected early reinit: ",init2);try{const{svg:svg,bindFunctions:bindFunctions}=await render2(id32,txt,element);element.innerHTML=svg,postRenderCallback&&await postRenderCallback(id32),bindFunctions&&bindFunctions(element)}catch(error){handleError(error,errors,mermaid.parseError)}}if(errors.length>0)throw errors[0]},"runThrowsErrors"),initialize2=__name(function(config2){mermaidAPI.initialize(config2)},"initialize"),init=__name(async function(config2,nodes,callback){log.warn("mermaid.init is deprecated. Please use run instead."),config2&&initialize2(config2);const runOptions={postRenderCallback:callback,querySelector:".mermaid"};"string"==typeof nodes?runOptions.querySelector=nodes:nodes&&(nodes instanceof HTMLElement?runOptions.nodes=[nodes]:runOptions.nodes=nodes),await run(runOptions)},"init"),registerExternalDiagrams=__name(async(diagrams2,{lazyLoad:lazyLoad=!0}={})=>{addDiagrams(),registerLazyLoadedDiagrams(...diagrams2),!1===lazyLoad&&await loadRegisteredDiagrams()},"registerExternalDiagrams"),contentLoaded=__name(function(){if(mermaid.startOnLoad){const{startOnLoad:startOnLoad}=mermaidAPI.getConfig();startOnLoad&&mermaid.run().catch(err=>log.error("Mermaid failed to initialize",err))}},"contentLoaded");"undefined"!=typeof document&&window.addEventListener("load",contentLoaded,!1);var setParseErrorHandler=__name(function(parseErrorHandler){mermaid.parseError=parseErrorHandler},"setParseErrorHandler"),executionQueue=[],executionQueueRunning=!1,executeQueue=__name(async()=>{if(!executionQueueRunning){for(executionQueueRunning=!0;executionQueue.length>0;){const f2=executionQueue.shift();if(f2)try{await f2()}catch(e2){log.error("Error executing queue",e2)}}executionQueueRunning=!1}},"executeQueue"),parse2=__name(async(text2,parseOptions)=>new Promise((resolve,reject)=>{const performCall=__name(()=>new Promise((res,rej)=>{mermaidAPI.parse(text2,parseOptions).then(r2=>{res(r2),resolve(r2)},e2=>{var _a2;log.error("Error parsing",e2),null==(_a2=mermaid.parseError)||_a2.call(mermaid,e2),rej(e2),reject(e2)})}),"performCall");executionQueue.push(performCall),executeQueue().catch(reject)}),"parse"),render2=__name((id32,text2,container)=>new Promise((resolve,reject)=>{const performCall=__name(()=>new Promise((res,rej)=>{mermaidAPI.render(id32,text2,container).then(r2=>{res(r2),resolve(r2)},e2=>{var _a2;log.error("Error parsing",e2),null==(_a2=mermaid.parseError)||_a2.call(mermaid,e2),rej(e2),reject(e2)})}),"performCall");executionQueue.push(performCall),executeQueue().catch(reject)}),"render"),mermaid={startOnLoad:!0,mermaidAPI:mermaidAPI,parse:parse2,render:render2,init:init,run:run,registerExternalDiagrams:registerExternalDiagrams,registerLayoutLoaders:registerLayoutLoaders,initialize:initialize2,parseError:void 0,contentLoaded:contentLoaded,setParseErrorHandler:setParseErrorHandler,detectType:detectType$1,registerIconPacks:registerIconPacks,getRegisteredDiagramsMetadata:__name(()=>Object.keys(detectors).map(id32=>({id:id32})),"getRegisteredDiagramsMetadata")},mermaid_default=mermaid;
3
3
  /*! Check if previously processed */
4
4
  /*!
5
5
  * Wait for document loaded before starting the execution