@codragraph/cli 2.1.5 → 2.2.0-rc.6

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 (113) hide show
  1. package/README.md +18 -13
  2. package/dist/cli/analyze.d.ts +9 -4
  3. package/dist/cli/analyze.js +37 -13
  4. package/dist/cli/graphpack.d.ts +48 -0
  5. package/dist/cli/graphpack.js +217 -0
  6. package/dist/cli/index.js +81 -3
  7. package/dist/cli/status.d.ts +1 -1
  8. package/dist/cli/status.js +8 -0
  9. package/dist/cli/tool.d.ts +11 -2
  10. package/dist/cli/tool.js +138 -8
  11. package/dist/core/adaptive-profile.d.ts +52 -0
  12. package/dist/core/adaptive-profile.js +180 -0
  13. package/dist/core/cgdb/cgdb-adapter.d.ts +34 -5
  14. package/dist/core/cgdb/cgdb-adapter.js +418 -5
  15. package/dist/core/cgdb/pool-adapter.js +1 -1
  16. package/dist/core/graphpack/index.d.ts +14 -0
  17. package/dist/core/graphpack/index.js +474 -0
  18. package/dist/core/graphpack/types.d.ts +129 -0
  19. package/dist/core/graphpack/types.js +4 -0
  20. package/dist/core/ingestion/pipeline-phases/parse-impl.js +3 -1
  21. package/dist/core/ingestion/pipeline-phases/structure.js +19 -3
  22. package/dist/core/ingestion/pipeline.d.ts +10 -0
  23. package/dist/core/run-analyze.d.ts +27 -2
  24. package/dist/core/run-analyze.js +598 -27
  25. package/dist/core/search/bm25-index.d.ts +19 -0
  26. package/dist/core/search/bm25-index.js +68 -29
  27. package/dist/core/semantic/relationships.d.ts +36 -0
  28. package/dist/core/semantic/relationships.js +261 -0
  29. package/dist/mcp/local/local-backend.js +48 -3
  30. package/dist/mcp/resources.js +125 -0
  31. package/dist/mcp/tools.js +105 -0
  32. package/dist/server/api.js +112 -0
  33. package/dist/storage/repo-manager.d.ts +29 -0
  34. package/dist/web/assets/agent-CQNZQ-hg.js +1139 -0
  35. package/dist/web/assets/architectureDiagram-UL44E2DR-B5_goS_i.js +36 -0
  36. package/dist/web/assets/blockDiagram-7IZFK4PR-D7ZAlDyv.js +132 -0
  37. package/dist/web/assets/{c4Diagram-DFAF54RM-C4Hl3J2U.js → c4Diagram-Y2BXMSZH-Djcgm_54.js} +1 -1
  38. package/dist/web/assets/{chunk-7RZVMHOQ-BitYcNVR.js → chunk-3SSMPTDK-Cv2Zy2FO.js} +1 -1
  39. package/dist/web/assets/{chunk-TBF5ZNIQ-DL5stGM1.js → chunk-6764PJDD-Cppb-jH-.js} +1 -1
  40. package/dist/web/assets/{chunk-KSICW3F5-BYzvDLNI.js → chunk-AZZRMDJM-BHlLC7p3.js} +1 -1
  41. package/dist/web/assets/{chunk-AEOMTBSW-BgTIXPsY.js → chunk-JQRUD6KW-3F8Zg-1N.js} +1 -1
  42. package/dist/web/assets/chunk-KRXBNO2N-C0mbN9a7.js +1 -0
  43. package/dist/web/assets/chunk-LCXTWHL2-BoiuJpIF.js +231 -0
  44. package/dist/web/assets/{chunk-O5ABG6QK-dHwHzA6n.js → chunk-LII3EMHJ-Dqq0Qguw.js} +1 -1
  45. package/dist/web/assets/chunk-RG4AUYOV-Bl5F_gDs.js +206 -0
  46. package/dist/web/assets/{chunk-TU3PZOEN-RLyvLcv-.js → chunk-T5OCTHI4-B2tIcggA.js} +1 -1
  47. package/dist/web/assets/chunk-W44A43WB-BHe37iN7.js +13 -0
  48. package/dist/web/assets/{chunk-RWUO3TPN-BgRTY0_k.js → chunk-ZXARS5L4-wcrIaQvY.js} +1 -1
  49. package/dist/web/assets/classDiagram-KGZ6W3CR-IbI6v_24.js +1 -0
  50. package/dist/web/assets/classDiagram-v2-72OJOZXJ-IbI6v_24.js +1 -0
  51. package/dist/web/assets/{cose-bilkent-PNC4W37J-DVhePRYg.js → cose-bilkent-UX7MHV2Q-BWr7v0Wr.js} +1 -1
  52. package/dist/web/assets/dagre-ND4H6XIP-De5LIh1B.js +4 -0
  53. package/dist/web/assets/diagram-3NCE3AQN-Dd22FSHy.js +43 -0
  54. package/dist/web/assets/diagram-GF46GFSD-Cev3THY8.js +24 -0
  55. package/dist/web/assets/diagram-HNR7UZ2L-D8Z8RQGs.js +3 -0
  56. package/dist/web/assets/diagram-QXG6HAR7-B8VOJOiE.js +24 -0
  57. package/dist/web/assets/diagram-WEQXMOUZ-va1bLoMD.js +10 -0
  58. package/dist/web/assets/{erDiagram-GCSMX5X6-C3dhDFA8.js → erDiagram-L5TCEMPS-B3_9uAoP.js} +5 -5
  59. package/dist/web/assets/{flowDiagram-OTCZ4VVT-CWSFWmhr.js → flowDiagram-H6V6AXG4-98m6maI1.js} +9 -9
  60. package/dist/web/assets/ganttDiagram-JCBTUEKG-vE2nzETb.js +292 -0
  61. package/dist/web/assets/gitGraphDiagram-S2ZK5IYY-DKc8uUg_.js +106 -0
  62. package/dist/web/assets/index-BAhe1HSk.css +1 -0
  63. package/dist/web/assets/index-VTKdaklA.js +1415 -0
  64. package/dist/web/assets/infoDiagram-3YFTVSEB-DYP-Srzx.js +2 -0
  65. package/dist/web/assets/{ishikawaDiagram-YMYX4NHK-DUoJvNP2.js → ishikawaDiagram-BNXS4ZKH-QZnkpmmb.js} +3 -3
  66. package/dist/web/assets/{journeyDiagram-SO5T7YLQ-RMFPNNqz.js → journeyDiagram-M6C3CM3L-B5ojIuqu.js} +1 -1
  67. package/dist/web/assets/{kanban-definition-LJHFXRCJ-BzpDs1K9.js → kanban-definition-75IXJCU3-BJA8liRR.js} +4 -4
  68. package/dist/web/assets/{katex-GD7MH7QM-DBQvrix-.js → katex-K3KEBU37-DUqZiCRL.js} +1 -1
  69. package/dist/web/assets/mindmap-definition-2TDM6QVE-BQj5yylD.js +96 -0
  70. package/dist/web/assets/pieDiagram-CU6KROY3-4eSrPiQz.js +30 -0
  71. package/dist/web/assets/quadrantDiagram-VICAPDV7-PzxN8j55.js +7 -0
  72. package/dist/web/assets/{requirementDiagram-M5DCFWZL-DLHOVTSv.js → requirementDiagram-JXO7QTGE-CtplTc5y.js} +2 -2
  73. package/dist/web/assets/sankeyDiagram-URQDO5SZ-CoSgvkxv.js +40 -0
  74. package/dist/web/assets/sequenceDiagram-VS2MUI6T-D7ygyXvJ.js +162 -0
  75. package/dist/web/assets/stateDiagram-7D4R322I-v01gvwji.js +1 -0
  76. package/dist/web/assets/stateDiagram-v2-36443NZ5-DFD2b8_x.js +1 -0
  77. package/dist/web/assets/{timeline-definition-5SPVSISX-TRSDRgPw.js → timeline-definition-O6YCAMPW-CTI3M65J.js} +4 -4
  78. package/dist/web/assets/{vennDiagram-IE5QUKF5-DNy7HRBM.js → vennDiagram-MWXL3ELB-RnB0XMP7.js} +6 -6
  79. package/dist/web/assets/wardley-L42UT6IY-5TKZOOLJ-C-ZcgEBb.js +173 -0
  80. package/dist/web/assets/wardleyDiagram-CUQ6CDDI-EwRi4kwo.js +78 -0
  81. package/dist/web/assets/{xychartDiagram-ZHJ5623Y-Dr9r7a35.js → xychartDiagram-N2JHSOCM-DA38II6y.js} +4 -4
  82. package/dist/web/index.html +2 -2
  83. package/package.json +2 -2
  84. package/vendor/node_modules/node-addon-api/node_addon_api_except.stamp +0 -0
  85. package/dist/web/assets/agent-D5lb0zXz.js +0 -1089
  86. package/dist/web/assets/architectureDiagram-EMZXCZ2Q-CZtc99v_.js +0 -36
  87. package/dist/web/assets/blockDiagram-IGV67L2C-BtoUp-6Y.js +0 -132
  88. package/dist/web/assets/chunk-3GS5O3IE-DkUjU0WD.js +0 -231
  89. package/dist/web/assets/chunk-3YCYZ6SJ-CQkVgT_z.js +0 -1
  90. package/dist/web/assets/chunk-H3VCZNTA-Cx5XV_aC.js +0 -13
  91. package/dist/web/assets/chunk-HN6EAY2L-BBnyTNdB.js +0 -1
  92. package/dist/web/assets/chunk-PK6DOVAG-CvsEnugt.js +0 -206
  93. package/dist/web/assets/classDiagram-PPOCWD7C-DTr8QIOf.js +0 -1
  94. package/dist/web/assets/classDiagram-v2-23LJLIIU-DTr8QIOf.js +0 -1
  95. package/dist/web/assets/dagre-E77IOHMT-Dzx0A6ZU.js +0 -4
  96. package/dist/web/assets/diagram-H7BISOXX-CC9pRew1.js +0 -43
  97. package/dist/web/assets/diagram-JC5VWROH-Bau_i9tf.js +0 -24
  98. package/dist/web/assets/diagram-LXUTUG65-D9_FM2Gt.js +0 -10
  99. package/dist/web/assets/diagram-WEHSV5V5-BMlayouL.js +0 -24
  100. package/dist/web/assets/ganttDiagram-MUNLMDZQ-D3a67Yol.js +0 -292
  101. package/dist/web/assets/gitGraphDiagram-3HKGZ4G3-7jmry-vM.js +0 -106
  102. package/dist/web/assets/index-BgeqpYgd.js +0 -1415
  103. package/dist/web/assets/index-CT0GtFLZ.css +0 -1
  104. package/dist/web/assets/infoDiagram-MN7RKWGX-G7lhP0Ib.js +0 -2
  105. package/dist/web/assets/mindmap-definition-2EUWGEK5-Bk0O4roa.js +0 -96
  106. package/dist/web/assets/pieDiagram-3IATQBI2-DKU7kpgS.js +0 -30
  107. package/dist/web/assets/quadrantDiagram-E256RVCF-BY0TGWCS.js +0 -7
  108. package/dist/web/assets/sankeyDiagram-L3NBLAOT-DVMj5rX2.js +0 -10
  109. package/dist/web/assets/sequenceDiagram-ZOUHS735-CJC73bV-.js +0 -157
  110. package/dist/web/assets/stateDiagram-MLPALWAM-BCFyESls.js +0 -1
  111. package/dist/web/assets/stateDiagram-v2-B5LQ5ZB2-DahzzIca.js +0 -1
  112. package/dist/web/assets/wardley-RL74JXVD-BCRCBASE-B-eZEzf9.js +0 -161
  113. package/dist/web/assets/wardleyDiagram-XU3VSMPF-BP-r1xzR.js +0 -20
@@ -0,0 +1,132 @@
1
+ import{H as pe}from"./chunk-W44A43WB-BHe37iN7.js";import{o as xe}from"./chunk-AZZRMDJM-BHlLC7p3.js";import{m as y,I as lt,i as B,b as fe,p as S,u as be,v as me,x as we,az as Se,aA as ke,af as Le,am as _e,q as A,aj as Ee,aB as W,aC as _t,aD as at,aE as De,k as it,C as Te,d as Bt,aF as Ot,aG as ve,aH as $e}from"./index-VTKdaklA.js";var mt=function(){var e=y(function(v,c,p,b){for(p=p||{},b=v.length;b--;p[v[b]]=c);return p},"o"),t=[1,15],a=[1,7],i=[1,13],s=[1,14],l=[1,19],r=[1,16],n=[1,17],o=[1,18],u=[8,30],h=[8,10,21,28,29,30,31,39,43,46],x=[1,23],m=[1,24],f=[8,10,15,16,21,28,29,30,31,39,43,46],w=[8,10,15,16,21,27,28,29,30,31,39,43,46],_=[1,49],k={trace:y(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:y(function(v,c,p,b,D,d,E){var g=d.length-1;switch(D){case 4:b.getLogger().debug("Rule: separator (NL) ");break;case 5:b.getLogger().debug("Rule: separator (Space) ");break;case 6:b.getLogger().debug("Rule: separator (EOF) ");break;case 7:b.getLogger().debug("Rule: hierarchy: ",d[g-1]),b.setHierarchy(d[g-1]);break;case 8:b.getLogger().debug("Stop NL ");break;case 9:b.getLogger().debug("Stop EOF ");break;case 10:b.getLogger().debug("Stop NL2 ");break;case 11:b.getLogger().debug("Stop EOF2 ");break;case 12:b.getLogger().debug("Rule: statement: ",d[g]),typeof d[g].length=="number"?this.$=d[g]:this.$=[d[g]];break;case 13:b.getLogger().debug("Rule: statement #2: ",d[g-1]),this.$=[d[g-1]].concat(d[g]);break;case 14:b.getLogger().debug("Rule: link: ",d[g],v),this.$={edgeTypeStr:d[g],label:""};break;case 15:b.getLogger().debug("Rule: LABEL link: ",d[g-3],d[g-1],d[g]),this.$={edgeTypeStr:d[g],label:d[g-1]};break;case 18:let L=parseInt(d[g]),T=b.generateId();this.$={id:T,type:"space",label:"",width:L,children:[]};break;case 23:b.getLogger().debug("Rule: (nodeStatement link node) ",d[g-2],d[g-1],d[g]," typestr: ",d[g-1].edgeTypeStr);let $=b.edgeStrToEdgeData(d[g-1].edgeTypeStr),F=b.edgeStrToEdgeStartData(d[g-1].edgeTypeStr),P=b.edgeStrToThickness(d[g-1].edgeTypeStr),J=b.edgeStrToPattern(d[g-1].edgeTypeStr);this.$=[{id:d[g-2].id,label:d[g-2].label,type:d[g-2].type,directions:d[g-2].directions},{id:d[g-2].id+"-"+d[g].id,start:d[g-2].id,end:d[g].id,label:d[g-1].label,type:"edge",thickness:P,pattern:J,directions:d[g].directions,arrowTypeEnd:$,arrowTypeStart:F},{id:d[g].id,label:d[g].label,type:b.typeStr2Type(d[g].typeStr),directions:d[g].directions}];break;case 24:b.getLogger().debug("Rule: nodeStatement (abc88 node size) ",d[g-1],d[g]),this.$={id:d[g-1].id,label:d[g-1].label,type:b.typeStr2Type(d[g-1].typeStr),directions:d[g-1].directions,widthInColumns:parseInt(d[g],10)};break;case 25:b.getLogger().debug("Rule: nodeStatement (node) ",d[g]),this.$={id:d[g].id,label:d[g].label,type:b.typeStr2Type(d[g].typeStr),directions:d[g].directions,widthInColumns:1};break;case 26:b.getLogger().debug("APA123",this?this:"na"),b.getLogger().debug("COLUMNS: ",d[g]),this.$={type:"column-setting",columns:d[g]==="auto"?-1:parseInt(d[g])};break;case 27:b.getLogger().debug("Rule: id-block statement : ",d[g-2],d[g-1]),b.generateId(),this.$={...d[g-2],type:"composite",children:d[g-1]};break;case 28:b.getLogger().debug("Rule: blockStatement : ",d[g-2],d[g-1],d[g]);let C=b.generateId();this.$={id:C,type:"composite",label:"",children:d[g-1]};break;case 29:b.getLogger().debug("Rule: node (NODE_ID separator): ",d[g]),this.$={id:d[g]};break;case 30:b.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",d[g-1],d[g]),this.$={id:d[g-1],label:d[g].label,typeStr:d[g].typeStr,directions:d[g].directions};break;case 31:b.getLogger().debug("Rule: dirList: ",d[g]),this.$=[d[g]];break;case 32:b.getLogger().debug("Rule: dirList: ",d[g-1],d[g]),this.$=[d[g-1]].concat(d[g]);break;case 33:b.getLogger().debug("Rule: nodeShapeNLabel: ",d[g-2],d[g-1],d[g]),this.$={typeStr:d[g-2]+d[g],label:d[g-1]};break;case 34:b.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",d[g-3],d[g-2]," #3:",d[g-1],d[g]),this.$={typeStr:d[g-3]+d[g],label:d[g-2],directions:d[g-1]};break;case 35:case 36:this.$={type:"classDef",id:d[g-1].trim(),css:d[g].trim()};break;case 37:this.$={type:"applyClass",id:d[g-1].trim(),styleClass:d[g].trim()};break;case 38:this.$={type:"applyStyles",id:d[g-1].trim(),stylesStr:d[g].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:t,11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:i,29:s,31:l,39:r,43:n,46:o},{8:[1,20]},e(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:t,21:a,28:i,29:s,31:l,39:r,43:n,46:o}),e(h,[2,16],{14:22,15:x,16:m}),e(h,[2,17]),e(h,[2,18]),e(h,[2,19]),e(h,[2,20]),e(h,[2,21]),e(h,[2,22]),e(f,[2,25],{27:[1,25]}),e(h,[2,26]),{19:26,26:12,31:l},{10:t,11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:i,29:s,31:l,39:r,43:n,46:o},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},e(w,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},e(u,[2,13]),{26:35,31:l},{31:[2,14]},{17:[1,36]},e(f,[2,24]),{10:t,11:37,13:4,14:22,15:x,16:m,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:i,29:s,31:l,39:r,43:n,46:o},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},e(w,[2,30]),{18:[1,43]},{18:[1,44]},e(f,[2,23]),{18:[1,45]},{30:[1,46]},e(h,[2,28]),e(h,[2,35]),e(h,[2,36]),e(h,[2,37]),e(h,[2,38]),{36:[1,47]},{33:48,34:_},{15:[1,50]},e(h,[2,27]),e(w,[2,33]),{38:[1,51]},{33:52,34:_,38:[2,31]},{31:[2,15]},e(w,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:y(function(v,c){if(c.recoverable)this.trace(v);else{var p=new Error(v);throw p.hash=c,p}},"parseError"),parse:y(function(v){var c=this,p=[0],b=[],D=[null],d=[],E=this.table,g="",L=0,T=0,$=0,F=2,P=1,J=d.slice.call(arguments,1),C=Object.create(this.lexer),K={yy:{}};for(var et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,et)&&(K.yy[et]=this.yy[et]);C.setInput(v,K.yy),K.yy.lexer=C,K.yy.parser=this,typeof C.yylloc>"u"&&(C.yylloc={});var rt=C.yylloc;d.push(rt);var ye=C.options&&C.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ue(U){p.length=p.length-2*U,D.length=D.length-U,d.length=d.length-U}y(ue,"popStack");function It(){var U;return U=b.pop()||C.lex()||P,typeof U!="number"&&(U instanceof Array&&(b=U,U=b.pop()),U=c.symbols_[U]||U),U}y(It,"lex");for(var X,pt,Q,q,ra,xt,tt={},ot,Z,Ct,dt;;){if(Q=p[p.length-1],this.defaultActions[Q]?q=this.defaultActions[Q]:((X===null||typeof X>"u")&&(X=It()),q=E[Q]&&E[Q][X]),typeof q>"u"||!q.length||!q[0]){var ft="";dt=[];for(ot in E[Q])this.terminals_[ot]&&ot>F&&dt.push("'"+this.terminals_[ot]+"'");C.showPosition?ft="Parse error on line "+(L+1)+`:
2
+ `+C.showPosition()+`
3
+ Expecting `+dt.join(", ")+", got '"+(this.terminals_[X]||X)+"'":ft="Parse error on line "+(L+1)+": Unexpected "+(X==P?"end of input":"'"+(this.terminals_[X]||X)+"'"),this.parseError(ft,{text:C.match,token:this.terminals_[X]||X,line:C.yylineno,loc:rt,expected:dt})}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Q+", token: "+X);switch(q[0]){case 1:p.push(X),D.push(C.yytext),d.push(C.yylloc),p.push(q[1]),X=null,pt?(X=pt,pt=null):(T=C.yyleng,g=C.yytext,L=C.yylineno,rt=C.yylloc,$>0);break;case 2:if(Z=this.productions_[q[1]][1],tt.$=D[D.length-Z],tt._$={first_line:d[d.length-(Z||1)].first_line,last_line:d[d.length-1].last_line,first_column:d[d.length-(Z||1)].first_column,last_column:d[d.length-1].last_column},ye&&(tt._$.range=[d[d.length-(Z||1)].range[0],d[d.length-1].range[1]]),xt=this.performAction.apply(tt,[g,T,L,K.yy,q[1],D,d].concat(J)),typeof xt<"u")return xt;Z&&(p=p.slice(0,-1*Z*2),D=D.slice(0,-1*Z),d=d.slice(0,-1*Z)),p.push(this.productions_[q[1]][0]),D.push(tt.$),d.push(tt._$),Ct=E[p[p.length-2]][p[p.length-1]],p.push(Ct);break;case 3:return!0}}return!0},"parse")},I=function(){var v={EOF:1,parseError:y(function(c,p){if(this.yy.parser)this.yy.parser.parseError(c,p);else throw new Error(c)},"parseError"),setInput:y(function(c,p){return this.yy=p||this.yy||{},this._input=c,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:y(function(){var c=this._input[0];this.yytext+=c,this.yyleng++,this.offset++,this.match+=c,this.matched+=c;var p=c.match(/(?:\r\n?|\n).*/g);return p?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),c},"input"),unput:y(function(c){var p=c.length,b=c.split(/(?:\r\n?|\n)/g);this._input=c+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-p),this.offset-=p;var D=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),b.length-1&&(this.yylineno-=b.length-1);var d=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:b?(b.length===D.length?this.yylloc.first_column:0)+D[D.length-b.length].length-b[0].length:this.yylloc.first_column-p},this.options.ranges&&(this.yylloc.range=[d[0],d[0]+this.yyleng-p]),this.yyleng=this.yytext.length,this},"unput"),more:y(function(){return this._more=!0,this},"more"),reject:y(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:y(function(c){this.unput(this.match.slice(c))},"less"),pastInput:y(function(){var c=this.matched.substr(0,this.matched.length-this.match.length);return(c.length>20?"...":"")+c.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:y(function(){var c=this.match;return c.length<20&&(c+=this._input.substr(0,20-c.length)),(c.substr(0,20)+(c.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:y(function(){var c=this.pastInput(),p=new Array(c.length+1).join("-");return c+this.upcomingInput()+`
5
+ `+p+"^"},"showPosition"),test_match:y(function(c,p){var b,D,d;if(this.options.backtrack_lexer&&(d={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(d.yylloc.range=this.yylloc.range.slice(0))),D=c[0].match(/(?:\r\n?|\n).*/g),D&&(this.yylineno+=D.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:D?D[D.length-1].length-D[D.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+c[0].length},this.yytext+=c[0],this.match+=c[0],this.matches=c,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(c[0].length),this.matched+=c[0],b=this.performAction.call(this,this.yy,this,p,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),b)return b;if(this._backtrack){for(var E in d)this[E]=d[E];return!1}return!1},"test_match"),next:y(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var c,p,b,D;this._more||(this.yytext="",this.match="");for(var d=this._currentRules(),E=0;E<d.length;E++)if(b=this._input.match(this.rules[d[E]]),b&&(!p||b[0].length>p[0].length)){if(p=b,D=E,this.options.backtrack_lexer){if(c=this.test_match(b,d[E]),c!==!1)return c;if(this._backtrack){p=!1;continue}else return!1}else if(!this.options.flex)break}return p?(c=this.test_match(p,d[D]),c!==!1?c:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
6
+ `+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:y(function(){var c=this.next();return c||this.lex()},"lex"),begin:y(function(c){this.conditionStack.push(c)},"begin"),popState:y(function(){var c=this.conditionStack.length-1;return c>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:y(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:y(function(c){return c=this.conditionStack.length-1-Math.abs(c||0),c>=0?this.conditionStack[c]:"INITIAL"},"topState"),pushState:y(function(c){this.begin(c)},"pushState"),stateStackSize:y(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:y(function(c,p,b,D){switch(b){case 0:return c.getLogger().debug("Found block-beta"),10;case 1:return c.getLogger().debug("Found id-block"),29;case 2:return c.getLogger().debug("Found block"),10;case 3:c.getLogger().debug(".",p.yytext);break;case 4:c.getLogger().debug("_",p.yytext);break;case 5:return 5;case 6:return p.yytext=-1,28;case 7:return p.yytext=p.yytext.replace(/columns\s+/,""),c.getLogger().debug("COLUMNS (LEX)",p.yytext),28;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:c.getLogger().debug("LEX: POPPING STR:",p.yytext),this.popState();break;case 13:return c.getLogger().debug("LEX: STR end:",p.yytext),"STR";case 14:return p.yytext=p.yytext.replace(/space\:/,""),c.getLogger().debug("SPACE NUM (LEX)",p.yytext),21;case 15:return p.yytext="1",c.getLogger().debug("COLUMNS (LEX)",p.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),c.getLogger().debug("Lex: (("),"NODE_DEND";case 38:return this.popState(),c.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),c.getLogger().debug("Lex: ))"),"NODE_DEND";case 40:return this.popState(),c.getLogger().debug("Lex: (("),"NODE_DEND";case 41:return this.popState(),c.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),c.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),c.getLogger().debug("Lex: -)"),"NODE_DEND";case 44:return this.popState(),c.getLogger().debug("Lex: (("),"NODE_DEND";case 45:return this.popState(),c.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),c.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),c.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:return this.popState(),c.getLogger().debug("Lex: /]"),"NODE_DEND";case 49:return this.popState(),c.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),c.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),c.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),c.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),c.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return c.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return c.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return c.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:return c.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return c.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 59:return c.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 60:return c.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 61:return c.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 62:return c.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return c.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 64:return c.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 65:return this.pushState("NODE"),35;case 66:return this.pushState("NODE"),35;case 67:return this.pushState("NODE"),35;case 68:return this.pushState("NODE"),35;case 69:return this.pushState("NODE"),35;case 70:return this.pushState("NODE"),35;case 71:return this.pushState("NODE"),35;case 72:return c.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),c.getLogger().debug("LEX ARR START"),37;case 74:return c.getLogger().debug("Lex: NODE_ID",p.yytext),31;case 75:return c.getLogger().debug("Lex: EOF",p.yytext),8;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:c.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:c.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return c.getLogger().debug("LEX: NODE_DESCR:",p.yytext),"NODE_DESCR";case 83:c.getLogger().debug("LEX POPPING"),this.popState();break;case 84:c.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return p.yytext=p.yytext.replace(/^,\s*/,""),c.getLogger().debug("Lex (right): dir:",p.yytext),"DIR";case 86:return p.yytext=p.yytext.replace(/^,\s*/,""),c.getLogger().debug("Lex (left):",p.yytext),"DIR";case 87:return p.yytext=p.yytext.replace(/^,\s*/,""),c.getLogger().debug("Lex (x):",p.yytext),"DIR";case 88:return p.yytext=p.yytext.replace(/^,\s*/,""),c.getLogger().debug("Lex (y):",p.yytext),"DIR";case 89:return p.yytext=p.yytext.replace(/^,\s*/,""),c.getLogger().debug("Lex (up):",p.yytext),"DIR";case 90:return p.yytext=p.yytext.replace(/^,\s*/,""),c.getLogger().debug("Lex (down):",p.yytext),"DIR";case 91:return p.yytext="]>",c.getLogger().debug("Lex (ARROW_DIR end):",p.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return c.getLogger().debug("Lex: LINK","#"+p.yytext+"#"),15;case 93:return c.getLogger().debug("Lex: LINK",p.yytext),15;case 94:return c.getLogger().debug("Lex: LINK",p.yytext),15;case 95:return c.getLogger().debug("Lex: LINK",p.yytext),15;case 96:return c.getLogger().debug("Lex: START_LINK",p.yytext),this.pushState("LLABEL"),16;case 97:return c.getLogger().debug("Lex: START_LINK",p.yytext),this.pushState("LLABEL"),16;case 98:return c.getLogger().debug("Lex: START_LINK",p.yytext),this.pushState("LLABEL"),16;case 99:this.pushState("md_string");break;case 100:return c.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),c.getLogger().debug("Lex: LINK","#"+p.yytext+"#"),15;case 102:return this.popState(),c.getLogger().debug("Lex: LINK",p.yytext),15;case 103:return this.popState(),c.getLogger().debug("Lex: LINK",p.yytext),15;case 104:return c.getLogger().debug("Lex: COLON",p.yytext),p.yytext=p.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:=]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return v}();k.lexer=I;function N(){this.yy={}}return y(N,"Parser"),N.prototype=k,k.Parser=N,new N}();mt.parser=mt;var Ne=mt,G=new Map,Et=[],wt=new Map,Rt="color",zt="fill",Ie="bgFill",Ht=",",Ce=A(),ht=new Map,Dt="",Be=y(e=>Te.sanitizeText(e,Ce),"sanitizeText"),Oe=y(function(e,t=""){let a=ht.get(e);a||(a={id:e,styles:[],textStyles:[]},ht.set(e,a)),t==null||t.split(Ht).forEach(i=>{let s=i.replace(/([^;]*);/,"$1").trim();if(RegExp(Rt).exec(i)){let l=s.replace(zt,Ie).replace(Rt,zt);a.textStyles.push(l)}a.styles.push(s)})},"addStyleClass"),Re=y(function(e,t=""){let a=G.get(e);t!=null&&(a.styles=t.split(Ht))},"addStyle2Node"),ze=y(function(e,t){e.split(",").forEach(function(a){let i=G.get(a);if(i===void 0){let s=a.trim();i={id:s,type:"na",children:[]},G.set(s,i)}i.classes||(i.classes=[]),i.classes.push(t)})},"setCssClass"),qt=y((e,t)=>{var l;let a=e.flat(),i=[],s=((l=a.find(r=>(r==null?void 0:r.type)==="column-setting"))==null?void 0:l.columns)??-1;for(let r of a){if(typeof s=="number"&&s>0&&r.type!=="column-setting"&&typeof r.widthInColumns=="number"&&r.widthInColumns>s&&S.warn(`Block ${r.id} width ${r.widthInColumns} exceeds configured column width ${s}`),r.label&&(r.label=Be(r.label)),r.type==="classDef"){Oe(r.id,r.css);continue}if(r.type==="applyClass"){ze(r.id,(r==null?void 0:r.styleClass)??"");continue}if(r.type==="applyStyles"){r!=null&&r.stylesStr&&Re(r.id,r==null?void 0:r.stylesStr);continue}if(r.type==="column-setting")t.columns=r.columns??-1;else if(r.type==="edge"){let n=(wt.get(r.id)??0)+1;wt.set(r.id,n),r.id=n+"-"+r.id,Et.push(r)}else{r.label||(r.type==="composite"?r.label="":r.label=r.id);let n=G.get(r.id);if(n===void 0?G.set(r.id,r):(r.type!=="na"&&(n.type=r.type),r.label!==r.id&&(n.label=r.label)),r.children&&qt(r.children,r),r.type==="space"){let o=r.width??1;for(let u=0;u<o;u++){let h=Se(r);h.id=h.id+"-"+u,G.set(h.id,h),i.push(h)}}else n===void 0&&i.push(r)}}t.children=i},"populateBlockDatabase"),Tt=[],nt={id:"root",type:"composite",children:[],columns:-1},Ae=y(()=>{S.debug("Clear called"),be(),nt={id:"root",type:"composite",children:[],columns:-1},G=new Map([["root",nt]]),Tt=[],ht=new Map,Et=[],wt=new Map,Dt=""},"clear");function jt(e){switch(S.debug("typeStr2Type",e),e){case"[]":return"square";case"()":return S.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}y(jt,"typeStr2Type");function Gt(e){switch(S.debug("typeStr2Type",e),e){case"==":return"thick";default:return"normal"}}y(Gt,"edgeTypeStr2Type");function Vt(e){switch(e.trim().slice(-1)){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}y(Vt,"edgeStrToEdgeData");function Jt(e){switch(e.trim().charAt(0)){case"x":return"arrow_cross";case"o":return"arrow_circle";case"<":return"arrow_point";default:return"arrow_open"}}y(Jt,"edgeStrToEdgeStartData");function Zt(e){return e.includes("==")?"thick":"normal"}y(Zt,"edgeStrToThickness");function Qt(e){return e.includes(".-")?"dotted":"solid"}y(Qt,"edgeStrToPattern");var At=0,Me=y(()=>(At++,"id-"+Math.random().toString(36).substr(2,12)+"-"+At),"generateId"),Pe=y(e=>{nt.children=e,qt(e,nt),Tt=nt.children},"setHierarchy"),Ye=y(e=>{let t=G.get(e);return t?t.columns?t.columns:t.children?t.children.length:-1:-1},"getColumns"),Xe=y(()=>[...G.values()],"getBlocksFlat"),We=y(()=>Tt||[],"getBlocks"),Fe=y(()=>Et,"getEdges"),Ke=y(e=>G.get(e),"getBlock"),Ue=y(e=>{G.set(e.id,e)},"setBlock"),He=y(e=>{Dt=e},"setDiagramId"),qe=y(()=>Dt,"getDiagramId"),je=y(()=>S,"getLogger"),Ge=y(function(){return ht},"getClasses"),Ve={getConfig:y(()=>lt().block,"getConfig"),typeStr2Type:jt,edgeTypeStr2Type:Gt,edgeStrToEdgeData:Vt,edgeStrToEdgeStartData:Jt,edgeStrToThickness:Zt,edgeStrToPattern:Qt,getLogger:je,getBlocksFlat:Xe,getBlocks:We,getEdges:Fe,setHierarchy:Pe,getBlock:Ke,setBlock:Ue,getColumns:Ye,getClasses:Ge,clear:Ae,generateId:Me,setDiagramId:He,getDiagramId:qe},Je=Ve,bt=y((e,t)=>{let a=we,i=a(e,"r"),s=a(e,"g"),l=a(e,"b");return me(i,s,l,t)},"fade"),Ze=y(e=>`.label {
7
+ font-family: ${e.fontFamily};
8
+ color: ${e.nodeTextColor||e.textColor};
9
+ }
10
+ .cluster-label text {
11
+ fill: ${e.titleColor};
12
+ }
13
+ .cluster-label span,p {
14
+ color: ${e.titleColor};
15
+ }
16
+
17
+
18
+
19
+ .label text,span,p {
20
+ fill: ${e.nodeTextColor||e.textColor};
21
+ color: ${e.nodeTextColor||e.textColor};
22
+ }
23
+
24
+ .node rect,
25
+ .node circle,
26
+ .node ellipse,
27
+ .node polygon,
28
+ .node path {
29
+ fill: ${e.mainBkg};
30
+ stroke: ${e.nodeBorder};
31
+ stroke-width: 1px;
32
+ }
33
+ .flowchart-label text {
34
+ text-anchor: middle;
35
+ }
36
+ // .flowchart-label .text-outer-tspan {
37
+ // text-anchor: middle;
38
+ // }
39
+ // .flowchart-label .text-inner-tspan {
40
+ // text-anchor: start;
41
+ // }
42
+
43
+ .node .label {
44
+ text-align: center;
45
+ }
46
+ .node.clickable {
47
+ cursor: pointer;
48
+ }
49
+
50
+ .arrowheadPath {
51
+ fill: ${e.arrowheadColor};
52
+ }
53
+
54
+ .edgePath .path {
55
+ stroke: ${e.lineColor};
56
+ stroke-width: 2.0px;
57
+ }
58
+
59
+ .flowchart-link {
60
+ stroke: ${e.lineColor};
61
+ fill: none;
62
+ }
63
+
64
+ .edgeLabel {
65
+ background-color: ${e.edgeLabelBackground};
66
+ /*
67
+ * This is for backward compatibility with existing code that didn't
68
+ * add a \`<p>\` around edge labels.
69
+ *
70
+ * TODO: We should probably remove this in a future release.
71
+ */
72
+ p {
73
+ margin: 0;
74
+ padding: 0;
75
+ display: inline;
76
+ }
77
+ rect {
78
+ opacity: 0.5;
79
+ background-color: ${e.edgeLabelBackground};
80
+ fill: ${e.edgeLabelBackground};
81
+ }
82
+ text-align: center;
83
+ }
84
+
85
+ /* For html labels only */
86
+ .labelBkg {
87
+ background-color: ${e.edgeLabelBackground};
88
+ }
89
+
90
+ .node .cluster {
91
+ // fill: ${bt(e.mainBkg,.5)};
92
+ fill: ${bt(e.clusterBkg,.5)};
93
+ stroke: ${bt(e.clusterBorder,.2)};
94
+ box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
95
+ stroke-width: 1px;
96
+ }
97
+
98
+ .cluster text {
99
+ fill: ${e.titleColor};
100
+ }
101
+
102
+ .cluster span,p {
103
+ color: ${e.titleColor};
104
+ }
105
+ /* .cluster div {
106
+ color: ${e.titleColor};
107
+ } */
108
+
109
+ div.mermaidTooltip {
110
+ position: absolute;
111
+ text-align: center;
112
+ max-width: 200px;
113
+ padding: 2px;
114
+ font-family: ${e.fontFamily};
115
+ font-size: 12px;
116
+ background: ${e.tertiaryColor};
117
+ border: 1px solid ${e.border2};
118
+ border-radius: 2px;
119
+ pointer-events: none;
120
+ z-index: 100;
121
+ }
122
+
123
+ .flowchartTitleText {
124
+ text-anchor: middle;
125
+ font-size: 18px;
126
+ fill: ${e.textColor};
127
+ }
128
+ ${xe()}
129
+ `,"getStyles"),Qe=Ze,tr=y((e,t,a,i)=>{t.forEach(s=>{cr[s](e,a,i)})},"insertMarkers"),er=y((e,t,a)=>{S.trace("Making markers for ",a),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionStart").attr("class","marker extension "+t).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),e.append("defs").append("marker").attr("id",a+"_"+t+"-extensionEnd").attr("class","marker extension "+t).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")},"extension"),rr=y((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionStart").attr("class","marker composition "+t).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"),e.append("defs").append("marker").attr("id",a+"_"+t+"-compositionEnd").attr("class","marker composition "+t).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")},"composition"),ar=y((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationStart").attr("class","marker aggregation "+t).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"),e.append("defs").append("marker").attr("id",a+"_"+t+"-aggregationEnd").attr("class","marker aggregation "+t).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")},"aggregation"),ir=y((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyStart").attr("class","marker dependency "+t).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"),e.append("defs").append("marker").attr("id",a+"_"+t+"-dependencyEnd").attr("class","marker dependency "+t).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")},"dependency"),sr=y((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopStart").attr("class","marker lollipop "+t).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),e.append("defs").append("marker").attr("id",a+"_"+t+"-lollipopEnd").attr("class","marker lollipop "+t).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},"lollipop"),nr=y((e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-pointEnd").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).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"),e.append("marker").attr("id",a+"_"+t+"-pointStart").attr("class","marker "+t).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).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")},"point"),lr=y((e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-circleEnd").attr("class","marker "+t).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"),e.append("marker").attr("id",a+"_"+t+"-circleStart").attr("class","marker "+t).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")},"circle"),or=y((e,t,a)=>{e.append("marker").attr("id",a+"_"+t+"-crossEnd").attr("class","marker cross "+t).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"),e.append("marker").attr("id",a+"_"+t+"-crossStart").attr("class","marker cross "+t).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")},"cross"),dr=y((e,t,a)=>{e.append("defs").append("marker").attr("id",a+"_"+t+"-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 L9,13 L14,7 L9,1 Z")},"barb"),cr={extension:er,composition:rr,aggregation:ar,dependency:ir,lollipop:sr,point:nr,circle:lr,cross:or,barb:dr},hr=tr,Kt,Ut,z=((Ut=(Kt=A())==null?void 0:Kt.block)==null?void 0:Ut.padding)??8;function St(e,t){if(e===0||!Number.isInteger(e))throw new Error("Columns must be an integer !== 0.");if(t<0||!Number.isInteger(t))throw new Error("Position must be a non-negative integer."+t);if(e<0)return{px:t,py:0};if(e===1)return{px:0,py:t};let a=t%e,i=Math.floor(t/e);return{px:a,py:i}}y(St,"calculateBlockPosition");var gr=y(e=>{let t=0,a=0;for(let i of e.children){let{width:s,height:l,x:r,y:n}=i.size??{width:0,height:0,x:0,y:0};if(S.debug("getMaxChildSize abc95 child:",i.id,"width:",s,"height:",l,"x:",r,"y:",n,i.type),i.type==="space")continue;let o=s/(i.widthInColumns??1);o>t&&(t=o),l>a&&(a=l)}return{width:t,height:a}},"getMaxChildSize");function gt(e,t,a=0,i=0){var r,n,o,u,h,x,m,f,w,_,k;S.debug("setBlockSizes abc95 (start)",e.id,(r=e==null?void 0:e.size)==null?void 0:r.x,"block width =",e==null?void 0:e.size,"siblingWidth",a),(n=e==null?void 0:e.size)!=null&&n.width||(e.size={width:a,height:i,x:0,y:0});let s=0,l=0;if(((o=e.children)==null?void 0:o.length)>0){for(let d of e.children)gt(d,t);let I=gr(e);s=I.width,l=I.height,S.debug("setBlockSizes abc95 maxWidth of",e.id,":s children is ",s,l);for(let d of e.children)d.size&&(S.debug(`abc95 Setting size of children of ${e.id} id=${d.id} ${s} ${l} ${JSON.stringify(d.size)}`),d.size.width=s*(d.widthInColumns??1)+z*((d.widthInColumns??1)-1),d.size.height=l,d.size.x=0,d.size.y=0,S.debug(`abc95 updating size of ${e.id} children child:${d.id} maxWidth:${s} maxHeight:${l}`));for(let d of e.children)gt(d,t,s,l);let N=e.columns??-1,v=0;for(let d of e.children)v+=d.widthInColumns??1;let c=e.children.length;N>0&&N<v&&(c=N);let p=Math.ceil(v/c),b=c*(s+z)+z,D=p*(l+z)+z;if(b<a){S.debug(`Detected to small sibling: abc95 ${e.id} siblingWidth ${a} siblingHeight ${i} width ${b}`),b=a,D=i;let d=(a-c*z-z)/c,E=(i-p*z-z)/p;S.debug("Size indata abc88",e.id,"childWidth",d,"maxWidth",s),S.debug("Size indata abc88",e.id,"childHeight",E,"maxHeight",l),S.debug("Size indata abc88 xSize",c,"padding",z);for(let g of e.children)g.size&&(g.size.width=d,g.size.height=E,g.size.x=0,g.size.y=0)}if(S.debug(`abc95 (finale calc) ${e.id} xSize ${c} ySize ${p} columns ${N}${e.children.length} width=${Math.max(b,((u=e.size)==null?void 0:u.width)||0)}`),b<(((h=e==null?void 0:e.size)==null?void 0:h.width)||0)){b=((x=e==null?void 0:e.size)==null?void 0:x.width)||0;let d=N>0?Math.min(e.children.length,N):e.children.length;if(d>0){let E=(b-d*z-z)/d;S.debug("abc95 (growing to fit) width",e.id,b,(m=e.size)==null?void 0:m.width,E);for(let g of e.children)g.size&&(g.size.width=E)}}e.size={width:b,height:D,x:0,y:0}}S.debug("setBlockSizes abc94 (done)",e.id,(f=e==null?void 0:e.size)==null?void 0:f.x,(w=e==null?void 0:e.size)==null?void 0:w.width,(_=e==null?void 0:e.size)==null?void 0:_.y,(k=e==null?void 0:e.size)==null?void 0:k.height)}y(gt,"setBlockSizes");function vt(e,t){var i,s,l,r,n,o,u,h,x,m,f,w,_,k,I,N,v;S.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${(i=e==null?void 0:e.size)==null?void 0:i.x} y: ${(s=e==null?void 0:e.size)==null?void 0:s.y} width: ${(l=e==null?void 0:e.size)==null?void 0:l.width}`);let a=e.columns??-1;if(S.debug("layoutBlocks columns abc95",e.id,"=>",a,e),e.children&&e.children.length>0){let c=((n=(r=e==null?void 0:e.children[0])==null?void 0:r.size)==null?void 0:n.width)??0,p=e.children.length*c+(e.children.length-1)*z;S.debug("widthOfChildren 88",p,"posX");let b=new Map;{let L=0;for(let T of e.children){if(!T.size)continue;let{py:$}=St(a,L),F=b.get($)??0;T.size.height>F&&b.set($,T.size.height);let P=(T==null?void 0:T.widthInColumns)??1;a>0&&(P=Math.min(P,a-L%a)),L+=P}}let D=new Map;{let L=0,T=[...b.keys()].sort(($,F)=>$-F);for(let $ of T)D.set($,L),L+=(b.get($)??0)+z}let d=0;S.debug("abc91 block?.size?.x",e.id,(o=e==null?void 0:e.size)==null?void 0:o.x);let E=(u=e==null?void 0:e.size)!=null&&u.x?((h=e==null?void 0:e.size)==null?void 0:h.x)+(-((x=e==null?void 0:e.size)==null?void 0:x.width)/2||0):-z,g=0;for(let L of e.children){let T=e;if(!L.size)continue;let{width:$,height:F}=L.size,{px:P,py:J}=St(a,d);if(J!=g&&(g=J,E=(m=e==null?void 0:e.size)!=null&&m.x?((f=e==null?void 0:e.size)==null?void 0:f.x)+(-((w=e==null?void 0:e.size)==null?void 0:w.width)/2||0):-z,S.debug("New row in layout for block",e.id," and child ",L.id,g)),S.debug(`abc89 layout blocks (child) id: ${L.id} Pos: ${d} (px, py) ${P},${J} (${(_=T==null?void 0:T.size)==null?void 0:_.x},${(k=T==null?void 0:T.size)==null?void 0:k.y}) parent: ${T.id} width: ${$}${z}`),T.size){let K=$/2;L.size.x=E+z+K,S.debug(`abc91 layout blocks (calc) px, pyid:${L.id} startingPos=X${E} new startingPosX${L.size.x} ${K} padding=${z} width=${$} halfWidth=${K} => x:${L.size.x} y:${L.size.y} ${L.widthInColumns} (width * (child?.w || 1)) / 2 ${$*((L==null?void 0:L.widthInColumns)??1)/2}`),E=L.size.x+K;let et=D.get(J)??0,rt=b.get(J)??F;L.size.y=T.size.y-T.size.height/2+et+rt/2+z,S.debug(`abc88 layout blocks (calc) px, pyid:${L.id}startingPosX${E}${z}${K}=>x:${L.size.x}y:${L.size.y}${L.widthInColumns}(width * (child?.w || 1)) / 2${$*((L==null?void 0:L.widthInColumns)??1)/2}`)}L.children&&vt(L);let C=(L==null?void 0:L.widthInColumns)??1;a>0&&(C=Math.min(C,a-d%a)),d+=C,S.debug("abc88 columnsPos",L,d)}}S.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${(I=e==null?void 0:e.size)==null?void 0:I.x} y: ${(N=e==null?void 0:e.size)==null?void 0:N.y} width: ${(v=e==null?void 0:e.size)==null?void 0:v.width}`)}y(vt,"layoutBlocks");function $t(e,{minX:t,minY:a,maxX:i,maxY:s}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&e.id!=="root"){let{x:l,y:r,width:n,height:o}=e.size;l-n/2<t&&(t=l-n/2),r-o/2<a&&(a=r-o/2),l+n/2>i&&(i=l+n/2),r+o/2>s&&(s=r+o/2)}if(e.children)for(let l of e.children)({minX:t,minY:a,maxX:i,maxY:s}=$t(l,{minX:t,minY:a,maxX:i,maxY:s}));return{minX:t,minY:a,maxX:i,maxY:s}}y($t,"findBounds");function te(e){let t=e.getBlock("root");if(!t)return;gt(t,e,0,0),vt(t),S.debug("getBlocks",JSON.stringify(t,null,2));let{minX:a,minY:i,maxX:s,maxY:l}=$t(t),r=l-i,n=s-a;return{x:a,y:i,width:n,height:r}}y(te,"layout");var yr=y(async(e,t,a,i=!1,s=!1)=>{let l=t||"";typeof l=="object"&&(l=l[0]);let r=A(),n=W(r);return await _t(e,l,{style:a,isTitle:i,useHtmlLabels:n,markdown:!1,isNode:s,width:Number.POSITIVE_INFINITY},r)},"createLabel"),j=yr,ur=y((e,t,a,i,s)=>{t.arrowTypeStart&&Mt(e,"start",t.arrowTypeStart,a,i,s),t.arrowTypeEnd&&Mt(e,"end",t.arrowTypeEnd,a,i,s)},"addEdgeMarkers"),pr={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},Mt=y((e,t,a,i,s,l)=>{let r=pr[a];if(!r){S.warn(`Unknown arrow type: ${a}`);return}let n=t==="start"?"Start":"End";e.attr(`marker-${t}`,`url(${i}#${s}_${l}-${r}${n})`)},"addEdgeMarker"),kt={},Y={},xr=y(async(e,t)=>{let a=A(),i=W(a),s=e.insert("g").attr("class","edgeLabel"),l=s.insert("g").attr("class","label"),r=t.labelType==="markdown",n=await _t(e,t.label,{style:t.labelStyle,useHtmlLabels:i,addSvgBackground:r,isNode:!1,markdown:r,width:r?void 0:Number.POSITIVE_INFINITY},a);l.node().appendChild(n);let o=n.getBBox(),u=o;if(i){let x=n.children[0],m=B(n);o=x.getBoundingClientRect(),u=o,m.attr("width",o.width),m.attr("height",o.height)}else{let x=B(n).select("text").node();x&&typeof x.getBBox=="function"&&(u=x.getBBox())}l.attr("transform",at(u,i)),kt[t.id]=s,t.width=o.width,t.height=o.height;let h;if(t.startLabelLeft){let x=e.insert("g").attr("class","edgeTerminals"),m=x.insert("g").attr("class","inner"),f=await j(m,t.startLabelLeft,t.labelStyle);h=f;let w=f.getBBox();if(i){let _=f.children[0],k=B(f);w=_.getBoundingClientRect(),k.attr("width",w.width),k.attr("height",w.height)}m.attr("transform",at(w,i)),Y[t.id]||(Y[t.id]={}),Y[t.id].startLeft=x,st(h,t.startLabelLeft)}if(t.startLabelRight){let x=e.insert("g").attr("class","edgeTerminals"),m=x.insert("g").attr("class","inner"),f=await j(m,t.startLabelRight,t.labelStyle);h=f;let w=f.getBBox();if(i){let _=f.children[0],k=B(f);w=_.getBoundingClientRect(),k.attr("width",w.width),k.attr("height",w.height)}m.attr("transform",at(w,i)),Y[t.id]||(Y[t.id]={}),Y[t.id].startRight=x,st(h,t.startLabelRight)}if(t.endLabelLeft){let x=e.insert("g").attr("class","edgeTerminals"),m=x.insert("g").attr("class","inner"),f=await j(x,t.endLabelLeft,t.labelStyle);h=f;let w=f.getBBox();if(i){let _=f.children[0],k=B(f);w=_.getBoundingClientRect(),k.attr("width",w.width),k.attr("height",w.height)}m.attr("transform",at(w,i)),Y[t.id]||(Y[t.id]={}),Y[t.id].endLeft=x,st(h,t.endLabelLeft)}if(t.endLabelRight){let x=e.insert("g").attr("class","edgeTerminals"),m=x.insert("g").attr("class","inner"),f=await j(x,t.endLabelRight,t.labelStyle);h=f;let w=f.getBBox();if(i){let _=f.children[0],k=B(f);w=_.getBoundingClientRect(),k.attr("width",w.width),k.attr("height",w.height)}m.attr("transform",at(w,i)),Y[t.id]||(Y[t.id]={}),Y[t.id].endRight=x,st(h,t.endLabelRight)}return n},"insertEdgeLabel");function st(e,t){W(A())&&e&&(e.style.width=t.length*9+"px",e.style.height="12px")}y(st,"setTerminalWidth");var fr=y((e,t)=>{S.debug("Moving label abc88 ",e.id,e.label,kt[e.id],t);let a=t.updatedPath?t.updatedPath:t.originalPath,i=A(),{subGraphTitleTotalMargin:s}=De(i);if(e.label){let l=kt[e.id],r=e.x,n=e.y;if(a){let o=it.calcLabelPosition(a);S.debug("Moving label "+e.label+" from (",r,",",n,") to (",o.x,",",o.y,") abc88"),t.updatedPath&&(r=o.x,n=o.y)}l.attr("transform",`translate(${r}, ${n+s/2})`)}if(e.startLabelLeft){let l=Y[e.id].startLeft,r=e.x,n=e.y;if(a){let o=it.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_left",a);r=o.x,n=o.y}l.attr("transform",`translate(${r}, ${n})`)}if(e.startLabelRight){let l=Y[e.id].startRight,r=e.x,n=e.y;if(a){let o=it.calcTerminalLabelPosition(e.arrowTypeStart?10:0,"start_right",a);r=o.x,n=o.y}l.attr("transform",`translate(${r}, ${n})`)}if(e.endLabelLeft){let l=Y[e.id].endLeft,r=e.x,n=e.y;if(a){let o=it.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_left",a);r=o.x,n=o.y}l.attr("transform",`translate(${r}, ${n})`)}if(e.endLabelRight){let l=Y[e.id].endRight,r=e.x,n=e.y;if(a){let o=it.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,"end_right",a);r=o.x,n=o.y}l.attr("transform",`translate(${r}, ${n})`)}},"positionEdgeLabel"),br=y((e,t)=>{let a=e.x,i=e.y,s=Math.abs(t.x-a),l=Math.abs(t.y-i),r=e.width/2,n=e.height/2;return s>=r||l>=n},"outsideNode"),mr=y((e,t,a)=>{S.debug(`intersection calc abc89:
130
+ outsidePoint: ${JSON.stringify(t)}
131
+ insidePoint : ${JSON.stringify(a)}
132
+ node : x:${e.x} y:${e.y} w:${e.width} h:${e.height}`);let i=e.x,s=e.y,l=Math.abs(i-a.x),r=e.width/2,n=a.x<t.x?r-l:r+l,o=e.height/2,u=Math.abs(t.y-a.y),h=Math.abs(t.x-a.x);if(Math.abs(s-t.y)*r>Math.abs(i-t.x)*o){let x=a.y<t.y?t.y-o-s:s-o-t.y;n=h*x/u;let m={x:a.x<t.x?a.x+n:a.x-h+n,y:a.y<t.y?a.y+u-x:a.y-u+x};return n===0&&(m.x=t.x,m.y=t.y),h===0&&(m.x=t.x),u===0&&(m.y=t.y),S.debug(`abc89 topp/bott calc, Q ${u}, q ${x}, R ${h}, r ${n}`,m),m}else{a.x<t.x?n=t.x-r-i:n=i-r-t.x;let x=u*n/h,m=a.x<t.x?a.x+h-n:a.x-h+n,f=a.y<t.y?a.y+x:a.y-x;return S.debug(`sides calc abc89, Q ${u}, q ${x}, R ${h}, r ${n}`,{_x:m,_y:f}),n===0&&(m=t.x,f=t.y),h===0&&(m=t.x),u===0&&(f=t.y),{x:m,y:f}}},"intersection"),Pt=y((e,t)=>{S.debug("abc88 cutPathAtIntersect",e,t);let a=[],i=e[0],s=!1;return e.forEach(l=>{if(!br(t,l)&&!s){let r=mr(t,i,l),n=!1;a.forEach(o=>{n=n||o.x===r.x&&o.y===r.y}),a.some(o=>o.x===r.x&&o.y===r.y)||a.push(r),s=!0}else i=l,s||a.push(l)}),a},"cutPathAtIntersect"),wr=y(function(e,t,a,i,s,l,r){let n=a.points;S.debug("abc88 InsertEdge: edge=",a,"e=",t);let o=!1,u=l.node(t.v);var h=l.node(t.w);h!=null&&h.intersect&&(u!=null&&u.intersect)&&(n=n.slice(1,a.points.length-1),n.unshift(u.intersect(n[0])),n.push(h.intersect(n[n.length-1]))),a.toCluster&&(S.debug("to cluster abc88",i[a.toCluster]),n=Pt(a.points,i[a.toCluster].node),o=!0),a.fromCluster&&(S.debug("from cluster abc88",i[a.fromCluster]),n=Pt(n.reverse(),i[a.fromCluster].node).reverse(),o=!0);let x=n.filter(c=>!Number.isNaN(c.y)),m=_e;a.curve&&(s==="graph"||s==="flowchart")&&(m=a.curve);let{x:f,y:w}=ke(a),_=Le().x(f).y(w).curve(m),k;switch(a.thickness){case"normal":k="edge-thickness-normal";break;case"thick":k="edge-thickness-thick";break;case"invisible":k="edge-thickness-thick";break;default:k=""}switch(a.pattern){case"solid":k+=" edge-pattern-solid";break;case"dotted":k+=" edge-pattern-dotted";break;case"dashed":k+=" edge-pattern-dashed";break}let I=e.append("path").attr("d",_(x)).attr("id",a.id).attr("class"," "+k+(a.classes?" "+a.classes:"")).attr("style",a.style),N="";(A().flowchart.arrowMarkerAbsolute||A().state.arrowMarkerAbsolute)&&(N=Ee(!0)),ur(I,a,N,r,s);let v={};return o&&(v.updatedPath=n),v.originalPath=a.points,v},"insertEdge"),Sr=y(e=>{let t=new Set;for(let a of e)switch(a){case"x":t.add("right"),t.add("left");break;case"y":t.add("up"),t.add("down");break;default:t.add(a);break}return t},"expandAndDeduplicateDirections"),kr=y((e,t,a,i)=>{let s=Sr(e),l=2,r=t.height+2*a.padding,n=r/l,o=i??t.width+2*n+a.padding,u=a.padding/2;return s.has("right")&&s.has("left")&&s.has("up")&&s.has("down")?[{x:0,y:0},{x:n,y:0},{x:o/2,y:2*u},{x:o-n,y:0},{x:o,y:0},{x:o,y:-r/3},{x:o+2*u,y:-r/2},{x:o,y:-2*r/3},{x:o,y:-r},{x:o-n,y:-r},{x:o/2,y:-r-2*u},{x:n,y:-r},{x:0,y:-r},{x:0,y:-2*r/3},{x:-2*u,y:-r/2},{x:0,y:-r/3}]:s.has("right")&&s.has("left")&&s.has("up")?[{x:n,y:0},{x:o-n,y:0},{x:o,y:-r/2},{x:o-n,y:-r},{x:n,y:-r},{x:0,y:-r/2}]:s.has("right")&&s.has("left")&&s.has("down")?[{x:0,y:0},{x:n,y:-r},{x:o-n,y:-r},{x:o,y:0}]:s.has("right")&&s.has("up")&&s.has("down")?[{x:0,y:0},{x:o,y:-n},{x:o,y:-r+n},{x:0,y:-r}]:s.has("left")&&s.has("up")&&s.has("down")?[{x:o,y:0},{x:0,y:-n},{x:0,y:-r+n},{x:o,y:-r}]:s.has("right")&&s.has("left")?[{x:n,y:0},{x:n,y:-u},{x:o-n,y:-u},{x:o-n,y:0},{x:o,y:-r/2},{x:o-n,y:-r},{x:o-n,y:-r+u},{x:n,y:-r+u},{x:n,y:-r},{x:0,y:-r/2}]:s.has("up")&&s.has("down")?[{x:o/2,y:0},{x:0,y:-u},{x:n,y:-u},{x:n,y:-r+u},{x:0,y:-r+u},{x:o/2,y:-r},{x:o,y:-r+u},{x:o-n,y:-r+u},{x:o-n,y:-u},{x:o,y:-u}]:s.has("right")&&s.has("up")?[{x:0,y:0},{x:o,y:-n},{x:0,y:-r}]:s.has("right")&&s.has("down")?[{x:0,y:0},{x:o,y:0},{x:0,y:-r}]:s.has("left")&&s.has("up")?[{x:o,y:0},{x:0,y:-n},{x:o,y:-r}]:s.has("left")&&s.has("down")?[{x:o,y:0},{x:0,y:0},{x:o,y:-r}]:s.has("right")?[{x:n,y:-u},{x:n,y:-u},{x:o-n,y:-u},{x:o-n,y:0},{x:o,y:-r/2},{x:o-n,y:-r},{x:o-n,y:-r+u},{x:n,y:-r+u},{x:n,y:-r+u}]:s.has("left")?[{x:n,y:0},{x:n,y:-u},{x:o-n,y:-u},{x:o-n,y:-r+u},{x:n,y:-r+u},{x:n,y:-r},{x:0,y:-r/2}]:s.has("up")?[{x:n,y:-u},{x:n,y:-r+u},{x:0,y:-r+u},{x:o/2,y:-r},{x:o,y:-r+u},{x:o-n,y:-r+u},{x:o-n,y:-u}]:s.has("down")?[{x:o/2,y:0},{x:0,y:-u},{x:n,y:-u},{x:n,y:-r+u},{x:o-n,y:-r+u},{x:o-n,y:-u},{x:o,y:-u}]:[{x:0,y:0}]},"getArrowPoints");function ee(e,t){return e.intersect(t)}y(ee,"intersectNode");var Lr=ee;function re(e,t,a,i){var s=e.x,l=e.y,r=s-i.x,n=l-i.y,o=Math.sqrt(t*t*n*n+a*a*r*r),u=Math.abs(t*a*r/o);i.x<s&&(u=-u);var h=Math.abs(t*a*n/o);return i.y<l&&(h=-h),{x:s+u,y:l+h}}y(re,"intersectEllipse");var ae=re;function ie(e,t,a){return ae(e,t,t,a)}y(ie,"intersectCircle");var _r=ie;function se(e,t,a,i){var s,l,r,n,o,u,h,x,m,f,w,_,k,I,N;if(s=t.y-e.y,r=e.x-t.x,o=t.x*e.y-e.x*t.y,m=s*a.x+r*a.y+o,f=s*i.x+r*i.y+o,!(m!==0&&f!==0&&Lt(m,f))&&(l=i.y-a.y,n=a.x-i.x,u=i.x*a.y-a.x*i.y,h=l*e.x+n*e.y+u,x=l*t.x+n*t.y+u,!(h!==0&&x!==0&&Lt(h,x))&&(w=s*n-l*r,w!==0)))return _=Math.abs(w/2),k=r*u-n*o,I=k<0?(k-_)/w:(k+_)/w,k=l*o-s*u,N=k<0?(k-_)/w:(k+_)/w,{x:I,y:N}}y(se,"intersectLine");function Lt(e,t){return e*t>0}y(Lt,"sameSign");var Er=se,Dr=ne;function ne(e,t,a){var i=e.x,s=e.y,l=[],r=Number.POSITIVE_INFINITY,n=Number.POSITIVE_INFINITY;typeof t.forEach=="function"?t.forEach(function(w){r=Math.min(r,w.x),n=Math.min(n,w.y)}):(r=Math.min(r,t.x),n=Math.min(n,t.y));for(var o=i-e.width/2-r,u=s-e.height/2-n,h=0;h<t.length;h++){var x=t[h],m=t[h<t.length-1?h+1:0],f=Er(e,a,{x:o+x.x,y:u+x.y},{x:o+m.x,y:u+m.y});f&&l.push(f)}return l.length?(l.length>1&&l.sort(function(w,_){var k=w.x-a.x,I=w.y-a.y,N=Math.sqrt(k*k+I*I),v=_.x-a.x,c=_.y-a.y,p=Math.sqrt(v*v+c*c);return N<p?-1:N===p?0:1}),l[0]):e}y(ne,"intersectPolygon");var Tr=y((e,t)=>{var a=e.x,i=e.y,s=t.x-a,l=t.y-i,r=e.width/2,n=e.height/2,o,u;return Math.abs(l)*r>Math.abs(s)*n?(l<0&&(n=-n),o=l===0?0:n*s/l,u=n):(s<0&&(r=-r),o=r,u=s===0?0:r*l/s),{x:a+o,y:i+u}},"intersectRect"),vr=Tr,O={node:Lr,circle:_r,ellipse:ae,polygon:Dr,rect:vr},M=y(async(e,t,a,i)=>{let s=A(),l,r=t.useHtmlLabels||W(s);a?l=a:l="node default";let n=e.insert("g").attr("class",l).attr("id",t.domId||t.id),o=n.insert("g").attr("class","label").attr("style",t.labelStyle),u;t.labelText===void 0?u="":u=typeof t.labelText=="string"?t.labelText:t.labelText[0];let h;t.labelType==="markdown"?h=_t(o,Bt(Ot(u),s),{useHtmlLabels:r,width:t.width||s.flowchart.wrappingWidth,classes:"markdown-node-label"},s):h=await j(o,Bt(Ot(u),s),t.labelStyle,!1,i);let x=h.getBBox(),m=t.padding/2;if(W(s)){let f=h.children[0],w=B(h);await ve(f,u),x=f.getBoundingClientRect(),w.attr("width",x.width),w.attr("height",x.height)}return r?o.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"):o.attr("transform","translate(0, "+-x.height/2+")"),t.centerLabel&&o.attr("transform","translate("+-x.width/2+", "+-x.height/2+")"),o.insert("rect",":first-child"),{shapeSvg:n,bbox:x,halfPadding:m,label:o}},"labelHelper"),R=y((e,t)=>{let a=t.node().getBBox();e.width=a.width,e.height=a.height},"updateNodeBounds");function V(e,t,a,i){return e.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-t/2+","+a/2+")")}y(V,"insertPolygonShape");var $r=y(async(e,t)=>{t.useHtmlLabels||W(A())||(t.centerLabel=!0);let{shapeSvg:a,bbox:i,halfPadding:s}=await M(e,t,"node "+t.classes,!0);S.info("Classes = ",t.classes);let l=a.insert("rect",":first-child");return l.attr("rx",t.rx).attr("ry",t.ry).attr("x",-i.width/2-s).attr("y",-i.height/2-s).attr("width",i.width+t.padding).attr("height",i.height+t.padding),R(t,l),t.intersect=function(r){return O.rect(t,r)},a},"note"),Nr=$r,Yt=y(e=>e?" "+e:"","formatClass"),H=y((e,t)=>`${t||"node default"}${Yt(e.classes)} ${Yt(e.class)}`,"getClassesFromNode"),Xt=y(async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,H(t,void 0),!0),s=i.width+t.padding,l=i.height+t.padding,r=s+l,n=[{x:r/2,y:0},{x:r,y:-r/2},{x:r/2,y:-r},{x:0,y:-r/2}];S.info("Question main (Circle)");let o=V(a,r,r,n);return o.attr("style",t.style),R(t,o),t.intersect=function(u){return S.warn("Intersect called"),O.polygon(t,n,u)},a},"question"),Ir=y((e,t)=>{let a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=28,s=[{x:0,y:i/2},{x:i/2,y:0},{x:0,y:-i/2},{x:-i/2,y:0}];return a.insert("polygon",":first-child").attr("points",s.map(function(l){return l.x+","+l.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),t.width=28,t.height=28,t.intersect=function(l){return O.circle(t,14,l)},a},"choice"),Cr=y(async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,H(t,void 0),!0),s=4,l=t.positioned?t.height:i.height+t.padding,r=l/s,n=t.positioned?t.width:i.width+2*r+t.padding,o=[{x:r,y:0},{x:n-r,y:0},{x:n,y:-l/2},{x:n-r,y:-l},{x:r,y:-l},{x:0,y:-l/2}],u=V(a,n,l,o);return u.attr("style",t.style),R(t,u),t.intersect=function(h){return O.polygon(t,o,h)},a},"hexagon"),Br=y(async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,void 0,!0),s=2,l=i.height+2*t.padding,r=l/s,n=i.width+2*r+t.padding,o=t.positioned&&(t.widthInColumns??1)>1&&t.width>n?t.width:n,u=kr(t.directions,i,t,o),h=V(a,o,l,u);return h.attr("style",t.style),R(t,h),t.intersect=function(x){return O.polygon(t,u,x)},a},"block_arrow"),Or=y(async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,H(t,void 0),!0),s=i.width+t.padding,l=i.height+t.padding,r=[{x:-l/2,y:0},{x:s,y:0},{x:s,y:-l},{x:-l/2,y:-l},{x:0,y:-l/2}];return V(a,s,l,r).attr("style",t.style),t.width=s+l,t.height=l,t.intersect=function(n){return O.polygon(t,r,n)},a},"rect_left_inv_arrow"),Rr=y(async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,H(t),!0),s=i.width+t.padding,l=i.height+t.padding,r=[{x:-2*l/6,y:0},{x:s-l/6,y:0},{x:s+2*l/6,y:-l},{x:l/6,y:-l}],n=V(a,s,l,r);return n.attr("style",t.style),R(t,n),t.intersect=function(o){return O.polygon(t,r,o)},a},"lean_right"),zr=y(async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,H(t,void 0),!0),s=i.width+t.padding,l=i.height+t.padding,r=[{x:2*l/6,y:0},{x:s+l/6,y:0},{x:s-2*l/6,y:-l},{x:-l/6,y:-l}],n=V(a,s,l,r);return n.attr("style",t.style),R(t,n),t.intersect=function(o){return O.polygon(t,r,o)},a},"lean_left"),Ar=y(async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,H(t,void 0),!0),s=i.width+t.padding,l=i.height+t.padding,r=[{x:-2*l/6,y:0},{x:s+2*l/6,y:0},{x:s-l/6,y:-l},{x:l/6,y:-l}],n=V(a,s,l,r);return n.attr("style",t.style),R(t,n),t.intersect=function(o){return O.polygon(t,r,o)},a},"trapezoid"),Mr=y(async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,H(t,void 0),!0),s=i.width+t.padding,l=i.height+t.padding,r=[{x:l/6,y:0},{x:s-l/6,y:0},{x:s+2*l/6,y:-l},{x:-2*l/6,y:-l}],n=V(a,s,l,r);return n.attr("style",t.style),R(t,n),t.intersect=function(o){return O.polygon(t,r,o)},a},"inv_trapezoid"),Pr=y(async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,H(t,void 0),!0),s=i.width+t.padding,l=i.height+t.padding,r=[{x:0,y:0},{x:s+l/2,y:0},{x:s,y:-l/2},{x:s+l/2,y:-l},{x:0,y:-l}],n=V(a,s,l,r);return n.attr("style",t.style),R(t,n),t.intersect=function(o){return O.polygon(t,r,o)},a},"rect_right_inv_arrow"),Yr=y(async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,H(t,void 0),!0),s=i.width+t.padding,l=s/2,r=l/(2.5+s/50),n=i.height+r+t.padding,o="M 0,"+r+" a "+l+","+r+" 0,0,0 "+s+" 0 a "+l+","+r+" 0,0,0 "+-s+" 0 l 0,"+n+" a "+l+","+r+" 0,0,0 "+s+" 0 l 0,"+-n,u=a.attr("label-offset-y",r).insert("path",":first-child").attr("style",t.style).attr("d",o).attr("transform","translate("+-s/2+","+-(n/2+r)+")");return R(t,u),t.intersect=function(h){let x=O.rect(t,h),m=x.x-t.x;if(l!=0&&(Math.abs(m)<t.width/2||Math.abs(m)==t.width/2&&Math.abs(x.y-t.y)>t.height/2-r)){let f=r*r*(1-m*m/(l*l));f!=0&&(f=Math.sqrt(f)),f=r-f,h.y-t.y>0&&(f=-f),x.y+=f}return x},a},"cylinder"),Xr=y(async(e,t)=>{let{shapeSvg:a,bbox:i,halfPadding:s}=await M(e,t,"node "+t.classes+" "+t.class,!0),l=a.insert("rect",":first-child"),r=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,o=t.positioned?-r/2:-i.width/2-s,u=t.positioned?-n/2:-i.height/2-s;if(l.attr("class","basic label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",o).attr("y",u).attr("width",r).attr("height",n),t.props){let h=new Set(Object.keys(t.props));t.props.borders&&(yt(l,t.props.borders,r,n),h.delete("borders")),h.forEach(x=>{S.warn(`Unknown node property ${x}`)})}return R(t,l),t.intersect=function(h){return O.rect(t,h)},a},"rect"),Wr=y(async(e,t)=>{let{shapeSvg:a,bbox:i,halfPadding:s}=await M(e,t,"node "+t.classes,!0),l=a.insert("rect",":first-child"),r=t.positioned?t.width:i.width+t.padding,n=t.positioned?t.height:i.height+t.padding,o=t.positioned?-r/2:-i.width/2-s,u=t.positioned?-n/2:-i.height/2-s;if(l.attr("class","basic cluster composite label-container").attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",o).attr("y",u).attr("width",r).attr("height",n),t.props){let h=new Set(Object.keys(t.props));t.props.borders&&(yt(l,t.props.borders,r,n),h.delete("borders")),h.forEach(x=>{S.warn(`Unknown node property ${x}`)})}return R(t,l),t.intersect=function(h){return O.rect(t,h)},a},"composite"),Fr=y(async(e,t)=>{let{shapeSvg:a}=await M(e,t,"label",!0);S.trace("Classes = ",t.class);let i=a.insert("rect",":first-child"),s=0,l=0;if(i.attr("width",s).attr("height",l),a.attr("class","label edgeLabel"),t.props){let r=new Set(Object.keys(t.props));t.props.borders&&(yt(i,t.props.borders,s,l),r.delete("borders")),r.forEach(n=>{S.warn(`Unknown node property ${n}`)})}return R(t,i),t.intersect=function(r){return O.rect(t,r)},a},"labelRect");function yt(e,t,a,i){let s=[],l=y(n=>{s.push(n,0)},"addBorder"),r=y(n=>{s.push(0,n)},"skipBorder");t.includes("t")?(S.debug("add top border"),l(a)):r(a),t.includes("r")?(S.debug("add right border"),l(i)):r(i),t.includes("b")?(S.debug("add bottom border"),l(a)):r(a),t.includes("l")?(S.debug("add left border"),l(i)):r(i),e.attr("stroke-dasharray",s.join(" "))}y(yt,"applyNodePropertyBorders");var Kr=y(async(e,t)=>{let a;t.classes?a="node "+t.classes:a="node default";let i=e.insert("g").attr("class",a).attr("id",t.domId||t.id),s=i.insert("rect",":first-child"),l=i.insert("line"),r=i.insert("g").attr("class","label"),n=t.labelText.flat?t.labelText.flat():t.labelText,o="";typeof n=="object"?o=n[0]:o=n,S.info("Label text abc79",o,n,typeof n=="object");let u=await j(r,o,t.labelStyle,!0,!0),h={width:0,height:0};if(W(A())){let _=u.children[0],k=B(u);h=_.getBoundingClientRect(),k.attr("width",h.width),k.attr("height",h.height)}S.info("Text 2",n);let x=n.slice(1,n.length),m=u.getBBox(),f=await j(r,x.join?x.join("<br/>"):x,t.labelStyle,!0,!0);if(W(A())){let _=f.children[0],k=B(f);h=_.getBoundingClientRect(),k.attr("width",h.width),k.attr("height",h.height)}let w=t.padding/2;return B(f).attr("transform","translate( "+(h.width>m.width?0:(m.width-h.width)/2)+", "+(m.height+w+5)+")"),B(u).attr("transform","translate( "+(h.width<m.width?0:-(m.width-h.width)/2)+", 0)"),h=r.node().getBBox(),r.attr("transform","translate("+-h.width/2+", "+(-h.height/2-w+3)+")"),s.attr("class","outer title-state").attr("x",-h.width/2-w).attr("y",-h.height/2-w).attr("width",h.width+t.padding).attr("height",h.height+t.padding),l.attr("class","divider").attr("x1",-h.width/2-w).attr("x2",h.width/2+w).attr("y1",-h.height/2-w+m.height+w).attr("y2",-h.height/2-w+m.height+w),R(t,s),t.intersect=function(_){return O.rect(t,_)},i},"rectWithTitle"),Ur=y(async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,H(t,void 0),!0),s=i.height+t.padding,l=i.width+s/4+t.padding,r=a.insert("rect",":first-child").attr("style",t.style).attr("rx",s/2).attr("ry",s/2).attr("x",-l/2).attr("y",-s/2).attr("width",l).attr("height",s);return R(t,r),t.intersect=function(n){return O.rect(t,n)},a},"stadium"),Hr=y(async(e,t)=>{let{shapeSvg:a,bbox:i,halfPadding:s}=await M(e,t,H(t,void 0),!0),l=a.insert("circle",":first-child");return l.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+s).attr("width",i.width+t.padding).attr("height",i.height+t.padding),S.info("Circle main"),R(t,l),t.intersect=function(r){return S.info("Circle intersect",t,i.width/2+s,r),O.circle(t,i.width/2+s,r)},a},"circle"),qr=y(async(e,t)=>{let{shapeSvg:a,bbox:i,halfPadding:s}=await M(e,t,H(t,void 0),!0),l=5,r=a.insert("g",":first-child"),n=r.insert("circle"),o=r.insert("circle");return r.attr("class",t.class),n.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+s+l).attr("width",i.width+t.padding+l*2).attr("height",i.height+t.padding+l*2),o.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("r",i.width/2+s).attr("width",i.width+t.padding).attr("height",i.height+t.padding),S.info("DoubleCircle main"),R(t,n),t.intersect=function(u){return S.info("DoubleCircle intersect",t,i.width/2+s+l,u),O.circle(t,i.width/2+s+l,u)},a},"doublecircle"),jr=y(async(e,t)=>{let{shapeSvg:a,bbox:i}=await M(e,t,H(t,void 0),!0),s=i.width+t.padding,l=i.height+t.padding,r=[{x:0,y:0},{x:s,y:0},{x:s,y:-l},{x:0,y:-l},{x:0,y:0},{x:-8,y:0},{x:s+8,y:0},{x:s+8,y:-l},{x:-8,y:-l},{x:-8,y:0}],n=V(a,s,l,r);return n.attr("style",t.style),R(t,n),t.intersect=function(o){return O.polygon(t,r,o)},a},"subroutine"),Gr=y((e,t)=>{let a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),R(t,i),t.intersect=function(s){return O.circle(t,7,s)},a},"start"),Wt=y((e,t,a)=>{let i=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),s=70,l=10;a==="LR"&&(s=10,l=70);let r=i.append("rect").attr("x",-1*s/2).attr("y",-1*l/2).attr("width",s).attr("height",l).attr("class","fork-join");return R(t,r),t.height=t.height+t.padding/2,t.width=t.width+t.padding/2,t.intersect=function(n){return O.rect(t,n)},i},"forkJoin"),Vr=y((e,t)=>{let a=e.insert("g").attr("class","node default").attr("id",t.domId||t.id),i=a.insert("circle",":first-child"),s=a.insert("circle",":first-child");return s.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),i.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),R(t,s),t.intersect=function(l){return O.circle(t,7,l)},a},"end"),Jr=y(async(e,t)=>{var d;let a=t.padding/2,i=4,s=8,l;t.classes?l="node "+t.classes:l="node default";let r=e.insert("g").attr("class",l).attr("id",t.domId||t.id),n=r.insert("rect",":first-child"),o=r.insert("line"),u=r.insert("line"),h=0,x=i,m=r.insert("g").attr("class","label"),f=0,w=(d=t.classData.annotations)==null?void 0:d[0],_=t.classData.annotations[0]?"«"+t.classData.annotations[0]+"»":"",k=await j(m,_,t.labelStyle,!0,!0),I=k.getBBox();if(W(A())){let E=k.children[0],g=B(k);I=E.getBoundingClientRect(),g.attr("width",I.width),g.attr("height",I.height)}t.classData.annotations[0]&&(x+=I.height+i,h+=I.width);let N=t.classData.label;t.classData.type!==void 0&&t.classData.type!==""&&(W(A())?N+="&lt;"+t.classData.type+"&gt;":N+="<"+t.classData.type+">");let v=await j(m,N,t.labelStyle,!0,!0);B(v).attr("class","classTitle");let c=v.getBBox();if(W(A())){let E=v.children[0],g=B(v);c=E.getBoundingClientRect(),g.attr("width",c.width),g.attr("height",c.height)}x+=c.height+i,c.width>h&&(h=c.width);let p=[];t.classData.members.forEach(async E=>{let g=E.getDisplayDetails(),L=g.displayText;W(A())&&(L=L.replace(/</g,"&lt;").replace(/>/g,"&gt;"));let T=await j(m,L,g.cssStyle?g.cssStyle:t.labelStyle,!0,!0),$=T.getBBox();if(W(A())){let F=T.children[0],P=B(T);$=F.getBoundingClientRect(),P.attr("width",$.width),P.attr("height",$.height)}$.width>h&&(h=$.width),x+=$.height+i,p.push(T)}),x+=s;let b=[];if(t.classData.methods.forEach(async E=>{let g=E.getDisplayDetails(),L=g.displayText;W(A())&&(L=L.replace(/</g,"&lt;").replace(/>/g,"&gt;"));let T=await j(m,L,g.cssStyle?g.cssStyle:t.labelStyle,!0,!0),$=T.getBBox();if(W(A())){let F=T.children[0],P=B(T);$=F.getBoundingClientRect(),P.attr("width",$.width),P.attr("height",$.height)}$.width>h&&(h=$.width),x+=$.height+i,b.push(T)}),x+=s,w){let E=(h-I.width)/2;B(k).attr("transform","translate( "+(-1*h/2+E)+", "+-1*x/2+")"),f=I.height+i}let D=(h-c.width)/2;return B(v).attr("transform","translate( "+(-1*h/2+D)+", "+(-1*x/2+f)+")"),f+=c.height+i,o.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-x/2-a+s+f).attr("y2",-x/2-a+s+f),f+=s,p.forEach(E=>{B(E).attr("transform","translate( "+-h/2+", "+(-1*x/2+f+s/2)+")");let g=E==null?void 0:E.getBBox();f+=((g==null?void 0:g.height)??0)+i}),f+=s,u.attr("class","divider").attr("x1",-h/2-a).attr("x2",h/2+a).attr("y1",-x/2-a+s+f).attr("y2",-x/2-a+s+f),f+=s,b.forEach(E=>{B(E).attr("transform","translate( "+-h/2+", "+(-1*x/2+f)+")");let g=E==null?void 0:E.getBBox();f+=((g==null?void 0:g.height)??0)+i}),n.attr("style",t.style).attr("class","outer title-state").attr("x",-h/2-a).attr("y",-(x/2)-a).attr("width",h+t.padding).attr("height",x+t.padding),R(t,n),t.intersect=function(E){return O.rect(t,E)},r},"class_box"),Ft={rhombus:Xt,composite:Wr,question:Xt,rect:Xr,labelRect:Fr,rectWithTitle:Kr,choice:Ir,circle:Hr,doublecircle:qr,stadium:Ur,hexagon:Cr,block_arrow:Br,rect_left_inv_arrow:Or,lean_right:Rr,lean_left:zr,trapezoid:Ar,inv_trapezoid:Mr,rect_right_inv_arrow:Pr,cylinder:Yr,start:Gr,end:Vr,note:Nr,subroutine:jr,fork:Wt,join:Wt,class_box:Jr},ct={},le=y(async(e,t,a)=>{let i,s;if(t.link){let l;A().securityLevel==="sandbox"?l="_top":t.linkTarget&&(l=t.linkTarget||"_blank"),i=e.insert("svg:a").attr("xlink:href",t.link).attr("target",l),s=await Ft[t.shape](i,t,a)}else s=await Ft[t.shape](e,t,a),i=s;return t.tooltip&&s.attr("title",t.tooltip),t.class&&s.attr("class","node default "+t.class),ct[t.id]=i,t.haveCallback&&ct[t.id].attr("class",ct[t.id].attr("class")+" clickable"),i},"insertNode"),Zr=y(e=>{let t=ct[e.id];S.trace("Transforming node",e.diff,e,"translate("+(e.x-e.width/2-5)+", "+e.width/2+")");let a=8,i=e.diff||0;return e.clusterNode?t.attr("transform","translate("+(e.x+i-e.width/2)+", "+(e.y-e.height/2-a)+")"):t.attr("transform","translate("+e.x+", "+e.y+")"),i},"positionNode");function Nt(e,t,a=!1){var m,f,w;let i=e,s="default";(((m=i==null?void 0:i.classes)==null?void 0:m.length)||0)>0&&(s=((i==null?void 0:i.classes)??[]).join(" ")),s=s+" flowchart-label";let l=0,r="",n;switch(i.type){case"round":l=5,r="rect";break;case"composite":l=0,r="composite",n=0;break;case"square":r="rect";break;case"diamond":r="question";break;case"hexagon":r="hexagon";break;case"block_arrow":r="block_arrow";break;case"odd":r="rect_left_inv_arrow";break;case"lean_right":r="lean_right";break;case"lean_left":r="lean_left";break;case"trapezoid":r="trapezoid";break;case"inv_trapezoid":r="inv_trapezoid";break;case"rect_left_inv_arrow":r="rect_left_inv_arrow";break;case"circle":r="circle";break;case"ellipse":r="ellipse";break;case"stadium":r="stadium";break;case"subroutine":r="subroutine";break;case"cylinder":r="cylinder";break;case"group":r="rect";break;case"doublecircle":r="doublecircle";break;default:r="rect"}let o=$e((i==null?void 0:i.styles)??[]),u=i.label,h=i.size??{width:0,height:0,x:0,y:0},x=t.getDiagramId();return{labelStyle:o.labelStyle,shape:r,labelText:u,rx:l,ry:l,class:s,style:o.style,id:i.id,domId:x?`${x}-${i.id}`:i.id,directions:i.directions,width:h.width,height:h.height,x:h.x,y:h.y,positioned:a,intersect:void 0,type:i.type,padding:n??((w=(f=lt())==null?void 0:f.block)==null?void 0:w.padding)??0,widthInColumns:i.widthInColumns??1}}y(Nt,"getNodeFromBlock");async function oe(e,t,a){let i=Nt(t,a,!1);if(i.type==="group")return;let s=lt(),l=await le(e,i,{config:s}),r=l.node().getBBox(),n=a.getBlock(i.id);n.size={width:r.width,height:r.height,x:0,y:0,node:l},a.setBlock(n),l.remove()}y(oe,"calculateBlockSize");async function de(e,t,a){let i=Nt(t,a,!0);if(a.getBlock(i.id).type!=="space"){let s=lt();await le(e,i,{config:s}),t.intersect=i==null?void 0:i.intersect,Zr(i)}}y(de,"insertBlockPositioned");async function ut(e,t,a,i){for(let s of t)await i(e,s,a),s.children&&await ut(e,s.children,a,i)}y(ut,"performOperations");async function ce(e,t,a){await ut(e,t,a,oe)}y(ce,"calculateBlockSizes");async function he(e,t,a){await ut(e,t,a,de)}y(he,"insertBlocks");async function ge(e,t,a,i,s){let l=new pe({multigraph:!0,compound:!0});l.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(let r of a)r.size&&l.setNode(r.id,{width:r.size.width,height:r.size.height,intersect:r.intersect});for(let r of t)if(r.start&&r.end){let n=i.getBlock(r.start),o=i.getBlock(r.end);if(n!=null&&n.size&&(o!=null&&o.size)){let u=n.size,h=o.size,x=[{x:u.x,y:u.y},{x:u.x+(h.x-u.x)/2,y:u.y+(h.y-u.y)/2},{x:h.x,y:h.y}],m=s?`${s}-${r.id}`:r.id,f=r.thickness==="thick"?"edge-thickness-thick":"edge-thickness-normal",w=r.pattern==="dotted"?"edge-pattern-dotted":"edge-pattern-solid",_=`${f} ${w} flowchart-link LS-a1 LE-b1`;wr(e,{v:r.start,w:r.end,name:m},{...r,id:m,arrowTypeEnd:r.arrowTypeEnd,arrowTypeStart:r.arrowTypeStart,points:x,classes:_},void 0,"block",l,s),r.label&&(await xr(e,{...r,label:r.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:r.arrowTypeEnd,arrowTypeStart:r.arrowTypeStart,points:x,classes:_}),fr({...r,x:x[1].x,y:x[1].y},{originalPath:x}))}}}y(ge,"insertEdges");var Qr=y(function(e,t){return t.db.getClasses()},"getClasses"),ta=y(async function(e,t,a,i){let{securityLevel:s,block:l}=lt(),r=i.db;r.setDiagramId(t);let n;s==="sandbox"&&(n=B("#i"+t));let o=s==="sandbox"?B(n.nodes()[0].contentDocument.body):B("body"),u=s==="sandbox"?o.select(`[id="${t}"]`):B(`[id="${t}"]`);hr(u,["point","circle","cross"],i.type,t);let h=r.getBlocks(),x=r.getBlocksFlat(),m=r.getEdges(),f=u.insert("g").attr("class","block");await ce(f,h,r);let w=te(r);if(await he(f,h,r),await ge(f,m,x,r,t),w){let _=w,k=Math.max(1,Math.round(.125*(_.width/_.height))),I=_.height+k+10,N=_.width+10,{useMaxWidth:v}=l;fe(u,I,N,!!v),S.debug("Here Bounds",w,_),u.attr("viewBox",`${_.x-5} ${_.y-5} ${_.width+10} ${_.height+10}`)}},"draw"),ea={draw:ta,getClasses:Qr},na={parser:Ne,db:Je,renderer:ea,styles:Qe};export{na as diagram};
@@ -1,4 +1,4 @@
1
- import{u as Dt,x as Nt}from"./chunk-O5ABG6QK-dHwHzA6n.js";import{a as Pt,l as Bt,s as jt,e as Lt,m as f,q as Ne,i as Me,p as ut,b as Yt,w as Mt,M as Oe,c as bt,S as It,C as Ze,W as pt,r as Ut,f as Ft}from"./index-BgeqpYgd.js";var Ue=function(){var a=f(function(z,m,E,g){for(E=E||{},g=z.length;g--;E[z[g]]=m);return E},"o"),e=[1,24],s=[1,25],h=[1,26],l=[1,27],r=[1,28],t=[1,63],n=[1,64],i=[1,65],d=[1,66],u=[1,67],p=[1,68],b=[1,69],x=[1,29],T=[1,30],v=[1,31],B=[1,32],X=[1,33],I=[1,34],H=[1,35],V=[1,36],G=[1,37],K=[1,38],J=[1,39],Z=[1,40],ee=[1,41],te=[1,42],ae=[1,43],ie=[1,44],ne=[1,45],se=[1,46],re=[1,47],le=[1,48],oe=[1,50],ce=[1,51],he=[1,52],de=[1,53],ue=[1,54],pe=[1,55],ye=[1,56],fe=[1,57],be=[1,58],ge=[1,59],me=[1,60],ke=[14,42],$e=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Re=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],S=[1,82],A=[1,83],C=[1,84],k=[1,85],w=[12,14,42],lt=[12,14,33,42],Be=[12,14,33,42,76,77,79,80],Ee=[12,33],We=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],qe={trace:f(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:f(function(z,m,E,g,O,o,P){var y=o.length-1;switch(O){case 3:g.setDirection("TB");break;case 4:g.setDirection("BT");break;case 5:g.setDirection("RL");break;case 6:g.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:g.setC4Type(o[y-3]);break;case 19:g.setTitle(o[y].substring(6)),this.$=o[y].substring(6);break;case 20:g.setAccDescription(o[y].substring(15)),this.$=o[y].substring(15);break;case 21:this.$=o[y].trim(),g.setTitle(this.$);break;case 22:case 23:this.$=o[y].trim(),g.setAccDescription(this.$);break;case 28:o[y].splice(2,0,"ENTERPRISE"),g.addPersonOrSystemBoundary(...o[y]),this.$=o[y];break;case 29:o[y].splice(2,0,"SYSTEM"),g.addPersonOrSystemBoundary(...o[y]),this.$=o[y];break;case 30:g.addPersonOrSystemBoundary(...o[y]),this.$=o[y];break;case 31:o[y].splice(2,0,"CONTAINER"),g.addContainerBoundary(...o[y]),this.$=o[y];break;case 32:g.addDeploymentNode("node",...o[y]),this.$=o[y];break;case 33:g.addDeploymentNode("nodeL",...o[y]),this.$=o[y];break;case 34:g.addDeploymentNode("nodeR",...o[y]),this.$=o[y];break;case 35:g.popBoundaryParseStack();break;case 39:g.addPersonOrSystem("person",...o[y]),this.$=o[y];break;case 40:g.addPersonOrSystem("external_person",...o[y]),this.$=o[y];break;case 41:g.addPersonOrSystem("system",...o[y]),this.$=o[y];break;case 42:g.addPersonOrSystem("system_db",...o[y]),this.$=o[y];break;case 43:g.addPersonOrSystem("system_queue",...o[y]),this.$=o[y];break;case 44:g.addPersonOrSystem("external_system",...o[y]),this.$=o[y];break;case 45:g.addPersonOrSystem("external_system_db",...o[y]),this.$=o[y];break;case 46:g.addPersonOrSystem("external_system_queue",...o[y]),this.$=o[y];break;case 47:g.addContainer("container",...o[y]),this.$=o[y];break;case 48:g.addContainer("container_db",...o[y]),this.$=o[y];break;case 49:g.addContainer("container_queue",...o[y]),this.$=o[y];break;case 50:g.addContainer("external_container",...o[y]),this.$=o[y];break;case 51:g.addContainer("external_container_db",...o[y]),this.$=o[y];break;case 52:g.addContainer("external_container_queue",...o[y]),this.$=o[y];break;case 53:g.addComponent("component",...o[y]),this.$=o[y];break;case 54:g.addComponent("component_db",...o[y]),this.$=o[y];break;case 55:g.addComponent("component_queue",...o[y]),this.$=o[y];break;case 56:g.addComponent("external_component",...o[y]),this.$=o[y];break;case 57:g.addComponent("external_component_db",...o[y]),this.$=o[y];break;case 58:g.addComponent("external_component_queue",...o[y]),this.$=o[y];break;case 60:g.addRel("rel",...o[y]),this.$=o[y];break;case 61:g.addRel("birel",...o[y]),this.$=o[y];break;case 62:g.addRel("rel_u",...o[y]),this.$=o[y];break;case 63:g.addRel("rel_d",...o[y]),this.$=o[y];break;case 64:g.addRel("rel_l",...o[y]),this.$=o[y];break;case 65:g.addRel("rel_r",...o[y]),this.$=o[y];break;case 66:g.addRel("rel_b",...o[y]),this.$=o[y];break;case 67:o[y].splice(0,1),g.addRel("rel",...o[y]),this.$=o[y];break;case 68:g.updateElStyle("update_el_style",...o[y]),this.$=o[y];break;case 69:g.updateRelStyle("update_rel_style",...o[y]),this.$=o[y];break;case 70:g.updateLayoutConfig("update_layout_config",...o[y]),this.$=o[y];break;case 71:this.$=[o[y]];break;case 72:o[y].unshift(o[y-1]),this.$=o[y];break;case 73:case 75:this.$=o[y].trim();break;case 74:let Se={};Se[o[y-1].trim()]=o[y].trim(),this.$=Se;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:s,24:h,26:l,28:r,29:49,30:61,32:62,34:t,36:n,37:i,38:d,39:u,40:p,41:b,43:23,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me},{13:70,19:20,20:21,21:22,22:e,23:s,24:h,26:l,28:r,29:49,30:61,32:62,34:t,36:n,37:i,38:d,39:u,40:p,41:b,43:23,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me},{13:71,19:20,20:21,21:22,22:e,23:s,24:h,26:l,28:r,29:49,30:61,32:62,34:t,36:n,37:i,38:d,39:u,40:p,41:b,43:23,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me},{13:72,19:20,20:21,21:22,22:e,23:s,24:h,26:l,28:r,29:49,30:61,32:62,34:t,36:n,37:i,38:d,39:u,40:p,41:b,43:23,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me},{13:73,19:20,20:21,21:22,22:e,23:s,24:h,26:l,28:r,29:49,30:61,32:62,34:t,36:n,37:i,38:d,39:u,40:p,41:b,43:23,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me},{14:[1,74]},a(ke,[2,13],{43:23,29:49,30:61,32:62,20:75,34:t,36:n,37:i,38:d,39:u,40:p,41:b,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me}),a(ke,[2,14]),a($e,[2,16],{12:[1,76]}),a(ke,[2,36],{12:[1,77]}),a(Re,[2,19]),a(Re,[2,20]),{25:[1,78]},{27:[1,79]},a(Re,[2,23]),{35:80,75:81,76:S,77:A,79:C,80:k},{35:86,75:81,76:S,77:A,79:C,80:k},{35:87,75:81,76:S,77:A,79:C,80:k},{35:88,75:81,76:S,77:A,79:C,80:k},{35:89,75:81,76:S,77:A,79:C,80:k},{35:90,75:81,76:S,77:A,79:C,80:k},{35:91,75:81,76:S,77:A,79:C,80:k},{35:92,75:81,76:S,77:A,79:C,80:k},{35:93,75:81,76:S,77:A,79:C,80:k},{35:94,75:81,76:S,77:A,79:C,80:k},{35:95,75:81,76:S,77:A,79:C,80:k},{35:96,75:81,76:S,77:A,79:C,80:k},{35:97,75:81,76:S,77:A,79:C,80:k},{35:98,75:81,76:S,77:A,79:C,80:k},{35:99,75:81,76:S,77:A,79:C,80:k},{35:100,75:81,76:S,77:A,79:C,80:k},{35:101,75:81,76:S,77:A,79:C,80:k},{35:102,75:81,76:S,77:A,79:C,80:k},{35:103,75:81,76:S,77:A,79:C,80:k},{35:104,75:81,76:S,77:A,79:C,80:k},a(w,[2,59]),{35:105,75:81,76:S,77:A,79:C,80:k},{35:106,75:81,76:S,77:A,79:C,80:k},{35:107,75:81,76:S,77:A,79:C,80:k},{35:108,75:81,76:S,77:A,79:C,80:k},{35:109,75:81,76:S,77:A,79:C,80:k},{35:110,75:81,76:S,77:A,79:C,80:k},{35:111,75:81,76:S,77:A,79:C,80:k},{35:112,75:81,76:S,77:A,79:C,80:k},{35:113,75:81,76:S,77:A,79:C,80:k},{35:114,75:81,76:S,77:A,79:C,80:k},{35:115,75:81,76:S,77:A,79:C,80:k},{20:116,29:49,30:61,32:62,34:t,36:n,37:i,38:d,39:u,40:p,41:b,43:23,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me},{12:[1,118],33:[1,117]},{35:119,75:81,76:S,77:A,79:C,80:k},{35:120,75:81,76:S,77:A,79:C,80:k},{35:121,75:81,76:S,77:A,79:C,80:k},{35:122,75:81,76:S,77:A,79:C,80:k},{35:123,75:81,76:S,77:A,79:C,80:k},{35:124,75:81,76:S,77:A,79:C,80:k},{35:125,75:81,76:S,77:A,79:C,80:k},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},a(ke,[2,15]),a($e,[2,17],{21:22,19:130,22:e,23:s,24:h,26:l,28:r}),a(ke,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:s,24:h,26:l,28:r,34:t,36:n,37:i,38:d,39:u,40:p,41:b,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me}),a(Re,[2,21]),a(Re,[2,22]),a(w,[2,39]),a(lt,[2,71],{75:81,35:132,76:S,77:A,79:C,80:k}),a(Be,[2,73]),{78:[1,133]},a(Be,[2,75]),a(Be,[2,76]),a(w,[2,40]),a(w,[2,41]),a(w,[2,42]),a(w,[2,43]),a(w,[2,44]),a(w,[2,45]),a(w,[2,46]),a(w,[2,47]),a(w,[2,48]),a(w,[2,49]),a(w,[2,50]),a(w,[2,51]),a(w,[2,52]),a(w,[2,53]),a(w,[2,54]),a(w,[2,55]),a(w,[2,56]),a(w,[2,57]),a(w,[2,58]),a(w,[2,60]),a(w,[2,61]),a(w,[2,62]),a(w,[2,63]),a(w,[2,64]),a(w,[2,65]),a(w,[2,66]),a(w,[2,67]),a(w,[2,68]),a(w,[2,69]),a(w,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},a(Ee,[2,28]),a(Ee,[2,29]),a(Ee,[2,30]),a(Ee,[2,31]),a(Ee,[2,32]),a(Ee,[2,33]),a(Ee,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},a($e,[2,18]),a(ke,[2,38]),a(lt,[2,72]),a(Be,[2,74]),a(w,[2,24]),a(w,[2,35]),a(We,[2,25]),a(We,[2,26],{12:[1,138]}),a(We,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:f(function(z,m){if(m.recoverable)this.trace(z);else{var E=new Error(z);throw E.hash=m,E}},"parseError"),parse:f(function(z){var m=this,E=[0],g=[],O=[null],o=[],P=this.table,y="",Se=0,ot=0,wt=0,Ot=2,ct=1,Tt=o.slice.call(arguments,1),R=Object.create(this.lexer),Ae={yy:{}};for(var He in this.yy)Object.prototype.hasOwnProperty.call(this.yy,He)&&(Ae.yy[He]=this.yy[He]);R.setInput(z,Ae.yy),Ae.yy.lexer=R,Ae.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var Ve=R.yylloc;o.push(Ve);var vt=R.options&&R.options.ranges;typeof Ae.yy.parseError=="function"?this.parseError=Ae.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Rt(j){E.length=E.length-2*j,O.length=O.length-j,o.length=o.length-j}f(Rt,"popStack");function ht(){var j;return j=g.pop()||R.lex()||ct,typeof j!="number"&&(j instanceof Array&&(g=j,j=g.pop()),j=m.symbols_[j]||j),j}f(ht,"lex");for(var D,Ge,Ce,L,j0,Ke,we={},Le,W,dt,Ye;;){if(Ce=E[E.length-1],this.defaultActions[Ce]?L=this.defaultActions[Ce]:((D===null||typeof D>"u")&&(D=ht()),L=P[Ce]&&P[Ce][D]),typeof L>"u"||!L.length||!L[0]){var Je="";Ye=[];for(Le in P[Ce])this.terminals_[Le]&&Le>Ot&&Ye.push("'"+this.terminals_[Le]+"'");R.showPosition?Je="Parse error on line "+(Se+1)+`:
1
+ import{u as Dt,x as Nt}from"./chunk-LII3EMHJ-Dqq0Qguw.js";import{l as Pt,a as Bt,s as jt,e as Lt,m as f,q as Ne,i as Me,p as ut,b as Yt,D as Mt,c as Oe,d as bt,P as It,C as Ze,W as pt,f as Ut,g as Ft}from"./index-VTKdaklA.js";var Ue=function(){var a=f(function(z,m,E,g){for(E=E||{},g=z.length;g--;E[z[g]]=m);return E},"o"),e=[1,24],s=[1,25],h=[1,26],l=[1,27],r=[1,28],t=[1,63],n=[1,64],i=[1,65],d=[1,66],u=[1,67],p=[1,68],b=[1,69],x=[1,29],T=[1,30],v=[1,31],B=[1,32],X=[1,33],I=[1,34],H=[1,35],V=[1,36],G=[1,37],K=[1,38],J=[1,39],Z=[1,40],ee=[1,41],te=[1,42],ae=[1,43],ie=[1,44],ne=[1,45],se=[1,46],re=[1,47],le=[1,48],oe=[1,50],ce=[1,51],he=[1,52],de=[1,53],ue=[1,54],pe=[1,55],ye=[1,56],fe=[1,57],be=[1,58],ge=[1,59],me=[1,60],ke=[14,42],$e=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Re=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],S=[1,82],A=[1,83],C=[1,84],k=[1,85],w=[12,14,42],lt=[12,14,33,42],Be=[12,14,33,42,76,77,79,80],Ee=[12,33],We=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],qe={trace:f(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:f(function(z,m,E,g,O,o,P){var y=o.length-1;switch(O){case 3:g.setDirection("TB");break;case 4:g.setDirection("BT");break;case 5:g.setDirection("RL");break;case 6:g.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:g.setC4Type(o[y-3]);break;case 19:g.setTitle(o[y].substring(6)),this.$=o[y].substring(6);break;case 20:g.setAccDescription(o[y].substring(15)),this.$=o[y].substring(15);break;case 21:this.$=o[y].trim(),g.setTitle(this.$);break;case 22:case 23:this.$=o[y].trim(),g.setAccDescription(this.$);break;case 28:o[y].splice(2,0,"ENTERPRISE"),g.addPersonOrSystemBoundary(...o[y]),this.$=o[y];break;case 29:o[y].splice(2,0,"SYSTEM"),g.addPersonOrSystemBoundary(...o[y]),this.$=o[y];break;case 30:g.addPersonOrSystemBoundary(...o[y]),this.$=o[y];break;case 31:o[y].splice(2,0,"CONTAINER"),g.addContainerBoundary(...o[y]),this.$=o[y];break;case 32:g.addDeploymentNode("node",...o[y]),this.$=o[y];break;case 33:g.addDeploymentNode("nodeL",...o[y]),this.$=o[y];break;case 34:g.addDeploymentNode("nodeR",...o[y]),this.$=o[y];break;case 35:g.popBoundaryParseStack();break;case 39:g.addPersonOrSystem("person",...o[y]),this.$=o[y];break;case 40:g.addPersonOrSystem("external_person",...o[y]),this.$=o[y];break;case 41:g.addPersonOrSystem("system",...o[y]),this.$=o[y];break;case 42:g.addPersonOrSystem("system_db",...o[y]),this.$=o[y];break;case 43:g.addPersonOrSystem("system_queue",...o[y]),this.$=o[y];break;case 44:g.addPersonOrSystem("external_system",...o[y]),this.$=o[y];break;case 45:g.addPersonOrSystem("external_system_db",...o[y]),this.$=o[y];break;case 46:g.addPersonOrSystem("external_system_queue",...o[y]),this.$=o[y];break;case 47:g.addContainer("container",...o[y]),this.$=o[y];break;case 48:g.addContainer("container_db",...o[y]),this.$=o[y];break;case 49:g.addContainer("container_queue",...o[y]),this.$=o[y];break;case 50:g.addContainer("external_container",...o[y]),this.$=o[y];break;case 51:g.addContainer("external_container_db",...o[y]),this.$=o[y];break;case 52:g.addContainer("external_container_queue",...o[y]),this.$=o[y];break;case 53:g.addComponent("component",...o[y]),this.$=o[y];break;case 54:g.addComponent("component_db",...o[y]),this.$=o[y];break;case 55:g.addComponent("component_queue",...o[y]),this.$=o[y];break;case 56:g.addComponent("external_component",...o[y]),this.$=o[y];break;case 57:g.addComponent("external_component_db",...o[y]),this.$=o[y];break;case 58:g.addComponent("external_component_queue",...o[y]),this.$=o[y];break;case 60:g.addRel("rel",...o[y]),this.$=o[y];break;case 61:g.addRel("birel",...o[y]),this.$=o[y];break;case 62:g.addRel("rel_u",...o[y]),this.$=o[y];break;case 63:g.addRel("rel_d",...o[y]),this.$=o[y];break;case 64:g.addRel("rel_l",...o[y]),this.$=o[y];break;case 65:g.addRel("rel_r",...o[y]),this.$=o[y];break;case 66:g.addRel("rel_b",...o[y]),this.$=o[y];break;case 67:o[y].splice(0,1),g.addRel("rel",...o[y]),this.$=o[y];break;case 68:g.updateElStyle("update_el_style",...o[y]),this.$=o[y];break;case 69:g.updateRelStyle("update_rel_style",...o[y]),this.$=o[y];break;case 70:g.updateLayoutConfig("update_layout_config",...o[y]),this.$=o[y];break;case 71:this.$=[o[y]];break;case 72:o[y].unshift(o[y-1]),this.$=o[y];break;case 73:case 75:this.$=o[y].trim();break;case 74:let Se={};Se[o[y-1].trim()]=o[y].trim(),this.$=Se;break;case 76:this.$="";break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:s,24:h,26:l,28:r,29:49,30:61,32:62,34:t,36:n,37:i,38:d,39:u,40:p,41:b,43:23,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me},{13:70,19:20,20:21,21:22,22:e,23:s,24:h,26:l,28:r,29:49,30:61,32:62,34:t,36:n,37:i,38:d,39:u,40:p,41:b,43:23,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me},{13:71,19:20,20:21,21:22,22:e,23:s,24:h,26:l,28:r,29:49,30:61,32:62,34:t,36:n,37:i,38:d,39:u,40:p,41:b,43:23,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me},{13:72,19:20,20:21,21:22,22:e,23:s,24:h,26:l,28:r,29:49,30:61,32:62,34:t,36:n,37:i,38:d,39:u,40:p,41:b,43:23,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me},{13:73,19:20,20:21,21:22,22:e,23:s,24:h,26:l,28:r,29:49,30:61,32:62,34:t,36:n,37:i,38:d,39:u,40:p,41:b,43:23,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me},{14:[1,74]},a(ke,[2,13],{43:23,29:49,30:61,32:62,20:75,34:t,36:n,37:i,38:d,39:u,40:p,41:b,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me}),a(ke,[2,14]),a($e,[2,16],{12:[1,76]}),a(ke,[2,36],{12:[1,77]}),a(Re,[2,19]),a(Re,[2,20]),{25:[1,78]},{27:[1,79]},a(Re,[2,23]),{35:80,75:81,76:S,77:A,79:C,80:k},{35:86,75:81,76:S,77:A,79:C,80:k},{35:87,75:81,76:S,77:A,79:C,80:k},{35:88,75:81,76:S,77:A,79:C,80:k},{35:89,75:81,76:S,77:A,79:C,80:k},{35:90,75:81,76:S,77:A,79:C,80:k},{35:91,75:81,76:S,77:A,79:C,80:k},{35:92,75:81,76:S,77:A,79:C,80:k},{35:93,75:81,76:S,77:A,79:C,80:k},{35:94,75:81,76:S,77:A,79:C,80:k},{35:95,75:81,76:S,77:A,79:C,80:k},{35:96,75:81,76:S,77:A,79:C,80:k},{35:97,75:81,76:S,77:A,79:C,80:k},{35:98,75:81,76:S,77:A,79:C,80:k},{35:99,75:81,76:S,77:A,79:C,80:k},{35:100,75:81,76:S,77:A,79:C,80:k},{35:101,75:81,76:S,77:A,79:C,80:k},{35:102,75:81,76:S,77:A,79:C,80:k},{35:103,75:81,76:S,77:A,79:C,80:k},{35:104,75:81,76:S,77:A,79:C,80:k},a(w,[2,59]),{35:105,75:81,76:S,77:A,79:C,80:k},{35:106,75:81,76:S,77:A,79:C,80:k},{35:107,75:81,76:S,77:A,79:C,80:k},{35:108,75:81,76:S,77:A,79:C,80:k},{35:109,75:81,76:S,77:A,79:C,80:k},{35:110,75:81,76:S,77:A,79:C,80:k},{35:111,75:81,76:S,77:A,79:C,80:k},{35:112,75:81,76:S,77:A,79:C,80:k},{35:113,75:81,76:S,77:A,79:C,80:k},{35:114,75:81,76:S,77:A,79:C,80:k},{35:115,75:81,76:S,77:A,79:C,80:k},{20:116,29:49,30:61,32:62,34:t,36:n,37:i,38:d,39:u,40:p,41:b,43:23,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me},{12:[1,118],33:[1,117]},{35:119,75:81,76:S,77:A,79:C,80:k},{35:120,75:81,76:S,77:A,79:C,80:k},{35:121,75:81,76:S,77:A,79:C,80:k},{35:122,75:81,76:S,77:A,79:C,80:k},{35:123,75:81,76:S,77:A,79:C,80:k},{35:124,75:81,76:S,77:A,79:C,80:k},{35:125,75:81,76:S,77:A,79:C,80:k},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},a(ke,[2,15]),a($e,[2,17],{21:22,19:130,22:e,23:s,24:h,26:l,28:r}),a(ke,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:s,24:h,26:l,28:r,34:t,36:n,37:i,38:d,39:u,40:p,41:b,44:x,45:T,46:v,47:B,48:X,49:I,50:H,51:V,52:G,53:K,54:J,55:Z,56:ee,57:te,58:ae,59:ie,60:ne,61:se,62:re,63:le,64:oe,65:ce,66:he,67:de,68:ue,69:pe,70:ye,71:fe,72:be,73:ge,74:me}),a(Re,[2,21]),a(Re,[2,22]),a(w,[2,39]),a(lt,[2,71],{75:81,35:132,76:S,77:A,79:C,80:k}),a(Be,[2,73]),{78:[1,133]},a(Be,[2,75]),a(Be,[2,76]),a(w,[2,40]),a(w,[2,41]),a(w,[2,42]),a(w,[2,43]),a(w,[2,44]),a(w,[2,45]),a(w,[2,46]),a(w,[2,47]),a(w,[2,48]),a(w,[2,49]),a(w,[2,50]),a(w,[2,51]),a(w,[2,52]),a(w,[2,53]),a(w,[2,54]),a(w,[2,55]),a(w,[2,56]),a(w,[2,57]),a(w,[2,58]),a(w,[2,60]),a(w,[2,61]),a(w,[2,62]),a(w,[2,63]),a(w,[2,64]),a(w,[2,65]),a(w,[2,66]),a(w,[2,67]),a(w,[2,68]),a(w,[2,69]),a(w,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},a(Ee,[2,28]),a(Ee,[2,29]),a(Ee,[2,30]),a(Ee,[2,31]),a(Ee,[2,32]),a(Ee,[2,33]),a(Ee,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},a($e,[2,18]),a(ke,[2,38]),a(lt,[2,72]),a(Be,[2,74]),a(w,[2,24]),a(w,[2,35]),a(We,[2,25]),a(We,[2,26],{12:[1,138]}),a(We,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:f(function(z,m){if(m.recoverable)this.trace(z);else{var E=new Error(z);throw E.hash=m,E}},"parseError"),parse:f(function(z){var m=this,E=[0],g=[],O=[null],o=[],P=this.table,y="",Se=0,ot=0,wt=0,Ot=2,ct=1,Tt=o.slice.call(arguments,1),R=Object.create(this.lexer),Ae={yy:{}};for(var He in this.yy)Object.prototype.hasOwnProperty.call(this.yy,He)&&(Ae.yy[He]=this.yy[He]);R.setInput(z,Ae.yy),Ae.yy.lexer=R,Ae.yy.parser=this,typeof R.yylloc>"u"&&(R.yylloc={});var Ve=R.yylloc;o.push(Ve);var vt=R.options&&R.options.ranges;typeof Ae.yy.parseError=="function"?this.parseError=Ae.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Rt(j){E.length=E.length-2*j,O.length=O.length-j,o.length=o.length-j}f(Rt,"popStack");function ht(){var j;return j=g.pop()||R.lex()||ct,typeof j!="number"&&(j instanceof Array&&(g=j,j=g.pop()),j=m.symbols_[j]||j),j}f(ht,"lex");for(var D,Ge,Ce,L,j0,Ke,we={},Le,W,dt,Ye;;){if(Ce=E[E.length-1],this.defaultActions[Ce]?L=this.defaultActions[Ce]:((D===null||typeof D>"u")&&(D=ht()),L=P[Ce]&&P[Ce][D]),typeof L>"u"||!L.length||!L[0]){var Je="";Ye=[];for(Le in P[Ce])this.terminals_[Le]&&Le>Ot&&Ye.push("'"+this.terminals_[Le]+"'");R.showPosition?Je="Parse error on line "+(Se+1)+`:
2
2
  `+R.showPosition()+`
3
3
  Expecting `+Ye.join(", ")+", got '"+(this.terminals_[D]||D)+"'":Je="Parse error on line "+(Se+1)+": Unexpected "+(D==ct?"end of input":"'"+(this.terminals_[D]||D)+"'"),this.parseError(Je,{text:R.match,token:this.terminals_[D]||D,line:R.yylineno,loc:Ve,expected:Ye})}if(L[0]instanceof Array&&L.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ce+", token: "+D);switch(L[0]){case 1:E.push(D),O.push(R.yytext),o.push(R.yylloc),E.push(L[1]),D=null,Ge?(D=Ge,Ge=null):(ot=R.yyleng,y=R.yytext,Se=R.yylineno,Ve=R.yylloc,wt>0);break;case 2:if(W=this.productions_[L[1]][1],we.$=O[O.length-W],we._$={first_line:o[o.length-(W||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(W||1)].first_column,last_column:o[o.length-1].last_column},vt&&(we._$.range=[o[o.length-(W||1)].range[0],o[o.length-1].range[1]]),Ke=this.performAction.apply(we,[y,ot,Se,Ae.yy,L[1],O,o].concat(Tt)),typeof Ke<"u")return Ke;W&&(E=E.slice(0,-1*W*2),O=O.slice(0,-1*W),o=o.slice(0,-1*W)),E.push(this.productions_[L[1]][0]),O.push(we.$),o.push(we._$),dt=P[E[E.length-2]][E[E.length-1]],E.push(dt);break;case 3:return!0}}return!0},"parse")},kt=function(){var z={EOF:1,parseError:f(function(m,E){if(this.yy.parser)this.yy.parser.parseError(m,E);else throw new Error(m)},"parseError"),setInput:f(function(m,E){return this.yy=E||this.yy||{},this._input=m,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:f(function(){var m=this._input[0];this.yytext+=m,this.yyleng++,this.offset++,this.match+=m,this.matched+=m;var E=m.match(/(?:\r\n?|\n).*/g);return E?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),m},"input"),unput:f(function(m){var E=m.length,g=m.split(/(?:\r\n?|\n)/g);this._input=m+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;var O=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var o=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===O.length?this.yylloc.first_column:0)+O[O.length-g.length].length-g[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[o[0],o[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},"unput"),more:f(function(){return this._more=!0,this},"more"),reject:f(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:f(function(m){this.unput(this.match.slice(m))},"less"),pastInput:f(function(){var m=this.matched.substr(0,this.matched.length-this.match.length);return(m.length>20?"...":"")+m.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:f(function(){var m=this.match;return m.length<20&&(m+=this._input.substr(0,20-m.length)),(m.substr(0,20)+(m.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:f(function(){var m=this.pastInput(),E=new Array(m.length+1).join("-");return m+this.upcomingInput()+`