mermaid
Version:
Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.
218 lines • 50.3 kB
JavaScript
import{a as gt}from"./chunk-BOZ75642.mjs";import{a as ct}from"./chunk-SDIBIOXT.mjs";import{a as dt}from"./chunk-R2KH53MI.mjs";import{b as ht,c as pt}from"./chunk-52IMQVNL.mjs";import"./chunk-MFYRHTYG.mjs";import{h as rt}from"./chunk-3SEI7E7V.mjs";import"./chunk-JCBDXJ5W.mjs";import"./chunk-OCMJQKYE.mjs";import"./chunk-MNT3HHAC.mjs";import"./chunk-TECWHJ6D.mjs";import"./chunk-F6PIGZHG.mjs";import"./chunk-JGXDHUYS.mjs";import"./chunk-TINYC7RT.mjs";import"./chunk-TDFULVG6.mjs";import{b as nt,c as lt,d as ut,f as ot}from"./chunk-MIE3LDYP.mjs";import{p as te,s as at}from"./chunk-QADHU5CF.mjs";import"./chunk-ZZ52EIBP.mjs";import{$ as F,B as qe,D as V,H as v,T as Je,U as Ze,V as $e,W as et,X as tt,Y as st,Z as it,z as Xe}from"./chunk-FE53TMRB.mjs";import{b as $,h as ee}from"./chunk-L2B47AAZ.mjs";import{a as d}from"./chunk-QVIEFLGF.mjs";var Pe=(function(){var t=d(function(O,c,p,g){for(p=p||{},g=O.length;g--;p[O[g]]=c);return p},"o"),i=[1,18],r=[1,19],a=[1,20],n=[1,41],u=[1,26],h=[1,42],o=[1,24],m=[1,25],f=[1,32],B=[1,33],U=[1,34],k=[1,45],Ae=[1,35],ke=[1,36],Ce=[1,37],ye=[1,38],Ee=[1,27],Te=[1,28],De=[1,29],Fe=[1,30],Ne=[1,31],C=[1,44],y=[1,46],E=[1,43],T=[1,47],Be=[1,9],b=[1,8,9],ie=[1,58],re=[1,59],ae=[1,60],ne=[1,61],le=[1,62],Se=[1,63],_e=[1,64],S=[1,8,9,41],Re=[1,77],R=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],ue=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],oe=[13,60,86,100,102,103],z=[13,60,73,74,86,100,102,103],Ge=[13,60,68,69,70,71,72,86,100,102,103],ce=[1,103],Y=[1,121],K=[1,117],j=[1,113],W=[1,119],Q=[1,114],H=[1,115],X=[1,116],q=[1,118],J=[1,120],Ue=[22,50,60,61,82,86,87,88,89,90],ze=[1,128],he=[12,39],xe=[1,8,9,39,41,44,46],pe=[1,8,9,22],Ye=[1,153],Ke=[1,8,9,61],L=[1,8,9,22,50,60,61,82,86,87,88,89,90],Le={trace:d(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:d(function(c,p,g,l,A,e,Z){var s=e.length-1;switch(A){case 8:this.$=e[s-1];break;case 9:case 10:case 13:case 15:this.$=e[s];break;case 11:case 14:this.$=e[s-2]+"."+e[s];break;case 12:case 16:this.$=e[s-1]+e[s];break;case 17:case 18:this.$=e[s-1]+"~"+e[s]+"~";break;case 19:l.addRelation(e[s]);break;case 20:e[s-1].title=l.cleanupLabel(e[s]),l.addRelation(e[s-1]);break;case 31:this.$=e[s].trim(),l.setAccTitle(this.$);break;case 32:case 33:this.$=e[s].trim(),l.setAccDescription(this.$);break;case 34:l.addClassesToNamespace(e[s-3],e[s-1][0],e[s-1][1]),l.popNamespace();break;case 35:l.addClassesToNamespace(e[s-4],e[s-1][0],e[s-1][1]),l.popNamespace();break;case 36:this.$=l.addNamespace(e[s]);break;case 37:this.$=l.addNamespace(e[s-1],e[s]);break;case 38:this.$=[[e[s]],[]];break;case 39:this.$=[[e[s-1]],[]];break;case 40:e[s][0].unshift(e[s-2]),this.$=e[s];break;case 41:this.$=[[],[e[s]]];break;case 42:this.$=[[],[e[s-1]]];break;case 43:e[s][1].unshift(e[s-2]),this.$=e[s];break;case 44:case 45:this.$=[[],[]];break;case 46:this.$=e[s];break;case 48:l.setCssClass(e[s-2],e[s]);break;case 49:l.addMembers(e[s-3],e[s-1]);break;case 51:l.setCssClass(e[s-5],e[s-3]),l.addMembers(e[s-5],e[s-1]);break;case 52:l.addAnnotation(e[s-3],e[s-1]);break;case 53:l.addAnnotation(e[s-6],e[s-4]),l.addMembers(e[s-6],e[s-1]);break;case 54:l.addAnnotation(e[s-5],e[s-3]);break;case 55:this.$=e[s],l.addClass(e[s]);break;case 56:this.$=e[s-1],l.addClass(e[s-1]),l.setClassLabel(e[s-1],e[s]);break;case 60:l.addAnnotation(e[s],e[s-2]);break;case 61:case 74:this.$=[e[s]];break;case 62:e[s].push(e[s-1]),this.$=e[s];break;case 63:break;case 64:l.addMember(e[s-1],l.cleanupLabel(e[s]));break;case 65:break;case 66:break;case 67:this.$={id1:e[s-2],id2:e[s],relation:e[s-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:e[s-3],id2:e[s],relation:e[s-1],relationTitle1:e[s-2],relationTitle2:"none"};break;case 69:this.$={id1:e[s-3],id2:e[s],relation:e[s-2],relationTitle1:"none",relationTitle2:e[s-1]};break;case 70:this.$={id1:e[s-4],id2:e[s],relation:e[s-2],relationTitle1:e[s-3],relationTitle2:e[s-1]};break;case 71:this.$=l.addNote(e[s],e[s-1]);break;case 72:this.$=l.addNote(e[s]);break;case 73:this.$=e[s-2],l.defineClass(e[s-1],e[s]);break;case 75:this.$=e[s-2].concat([e[s]]);break;case 76:l.setDirection("TB");break;case 77:l.setDirection("BT");break;case 78:l.setDirection("RL");break;case 79:l.setDirection("LR");break;case 80:this.$={type1:e[s-2],type2:e[s],lineType:e[s-1]};break;case 81:this.$={type1:"none",type2:e[s],lineType:e[s-1]};break;case 82:this.$={type1:e[s-1],type2:"none",lineType:e[s]};break;case 83:this.$={type1:"none",type2:"none",lineType:e[s]};break;case 84:this.$=l.relationType.AGGREGATION;break;case 85:this.$=l.relationType.EXTENSION;break;case 86:this.$=l.relationType.COMPOSITION;break;case 87:this.$=l.relationType.DEPENDENCY;break;case 88:this.$=l.relationType.LOLLIPOP;break;case 89:this.$=l.lineType.LINE;break;case 90:this.$=l.lineType.DOTTED_LINE;break;case 91:case 97:this.$=e[s-2],l.setClickEvent(e[s-1],e[s]);break;case 92:case 98:this.$=e[s-3],l.setClickEvent(e[s-2],e[s-1]),l.setTooltip(e[s-2],e[s]);break;case 93:this.$=e[s-2],l.setLink(e[s-1],e[s]);break;case 94:this.$=e[s-3],l.setLink(e[s-2],e[s-1],e[s]);break;case 95:this.$=e[s-3],l.setLink(e[s-2],e[s-1]),l.setTooltip(e[s-2],e[s]);break;case 96:this.$=e[s-4],l.setLink(e[s-3],e[s-2],e[s]),l.setTooltip(e[s-3],e[s-1]);break;case 99:this.$=e[s-3],l.setClickEvent(e[s-2],e[s-1],e[s]);break;case 100:this.$=e[s-4],l.setClickEvent(e[s-3],e[s-2],e[s-1]),l.setTooltip(e[s-3],e[s]);break;case 101:this.$=e[s-3],l.setLink(e[s-2],e[s]);break;case 102:this.$=e[s-4],l.setLink(e[s-3],e[s-1],e[s]);break;case 103:this.$=e[s-4],l.setLink(e[s-3],e[s-1]),l.setTooltip(e[s-3],e[s]);break;case 104:this.$=e[s-5],l.setLink(e[s-4],e[s-2],e[s]),l.setTooltip(e[s-4],e[s-1]);break;case 105:this.$=e[s-2],l.setCssStyle(e[s-1],e[s]);break;case 106:l.setCssClass(e[s-1],e[s]);break;case 107:this.$=[e[s]];break;case 108:e[s-2].push(e[s]),this.$=e[s-2];break;case 110:this.$=e[s-1]+e[s];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:r,37:a,38:22,42:n,43:23,46:u,48:h,51:o,52:m,54:f,56:B,57:U,60:k,62:Ae,63:ke,64:Ce,65:ye,75:Ee,76:Te,78:De,82:Fe,83:Ne,86:C,100:y,102:E,103:T},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(Be,[2,5],{8:[1,48]}),{8:[1,49]},t(b,[2,19],{22:[1,50]}),t(b,[2,21]),t(b,[2,22]),t(b,[2,23]),t(b,[2,24]),t(b,[2,25]),t(b,[2,26]),t(b,[2,27]),t(b,[2,28]),t(b,[2,29]),t(b,[2,30]),{34:[1,51]},{36:[1,52]},t(b,[2,33]),t(b,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:ie,69:re,70:ae,71:ne,72:le,73:Se,74:_e}),{39:[1,65]},t(S,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),t(b,[2,65]),t(b,[2,66]),{16:69,60:k,86:C,100:y,102:E},{16:39,17:40,19:70,60:k,86:C,100:y,102:E,103:T},{16:39,17:40,19:71,60:k,86:C,100:y,102:E,103:T},{16:39,17:40,19:72,60:k,86:C,100:y,102:E,103:T},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:k,86:C,100:y,102:E,103:T},{13:Re,55:76},{58:78,60:[1,79]},t(b,[2,76]),t(b,[2,77]),t(b,[2,78]),t(b,[2,79]),t(R,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:k,86:C,100:y,102:E,103:T}),t(R,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:k,86:C,100:y,102:E,103:T},{16:39,17:40,19:87,60:k,86:C,100:y,102:E,103:T},t(ue,[2,133]),t(ue,[2,134]),t(ue,[2,135]),t(ue,[2,136]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),t(Be,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:i,35:r,37:a,42:n,46:u,48:h,51:o,52:m,54:f,56:B,57:U,60:k,62:Ae,63:ke,64:Ce,65:ye,75:Ee,76:Te,78:De,82:Fe,83:Ne,86:C,100:y,102:E,103:T}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:i,35:r,37:a,38:22,42:n,43:23,46:u,48:h,51:o,52:m,54:f,56:B,57:U,60:k,62:Ae,63:ke,64:Ce,65:ye,75:Ee,76:Te,78:De,82:Fe,83:Ne,86:C,100:y,102:E,103:T},t(b,[2,20]),t(b,[2,31]),t(b,[2,32]),{13:[1,91],16:39,17:40,19:90,60:k,86:C,100:y,102:E,103:T},{53:92,66:56,67:57,68:ie,69:re,70:ae,71:ne,72:le,73:Se,74:_e},t(b,[2,64]),{67:93,73:Se,74:_e},t(oe,[2,83],{66:94,68:ie,69:re,70:ae,71:ne,72:le}),t(z,[2,84]),t(z,[2,85]),t(z,[2,86]),t(z,[2,87]),t(z,[2,88]),t(Ge,[2,89]),t(Ge,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:n,43:23,48:h,54:f,56:B},{16:100,60:k,86:C,100:y,102:E},{41:[1,102],45:101,51:ce},{16:104,60:k,86:C,100:y,102:E},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:Y,50:K,59:110,60:j,82:W,84:111,85:112,86:Q,87:H,88:X,89:q,90:J},{60:[1,122]},{13:Re,55:123},t(S,[2,72]),t(S,[2,138]),{22:Y,50:K,59:124,60:j,61:[1,125],82:W,84:111,85:112,86:Q,87:H,88:X,89:q,90:J},t(Ue,[2,74]),{16:39,17:40,19:126,60:k,86:C,100:y,102:E,103:T},t(R,[2,16]),t(R,[2,17]),t(R,[2,18]),{11:127,12:ze,39:[2,36]},t(he,[2,9],{16:85,17:86,15:130,18:[1,129],60:k,86:C,100:y,102:E,103:T}),t(he,[2,10]),t(xe,[2,55],{11:131,12:ze}),t(Be,[2,7]),{9:[1,132]},t(pe,[2,67]),{16:39,17:40,19:133,60:k,86:C,100:y,102:E,103:T},{13:[1,135],16:39,17:40,19:134,60:k,86:C,100:y,102:E,103:T},t(oe,[2,82],{66:136,68:ie,69:re,70:ae,71:ne,72:le}),t(oe,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:n,43:23,48:h,54:f,56:B},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},t(S,[2,48],{39:[1,142]}),{41:[1,143]},t(S,[2,50]),{41:[2,61],45:144,51:ce},{47:[1,145]},{16:39,17:40,19:146,60:k,86:C,100:y,102:E,103:T},t(b,[2,91],{13:[1,147]}),t(b,[2,93],{13:[1,149],77:[1,148]}),t(b,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},t(b,[2,105],{61:Ye}),t(Ke,[2,107],{85:154,22:Y,50:K,60:j,82:W,86:Q,87:H,88:X,89:q,90:J}),t(L,[2,109]),t(L,[2,111]),t(L,[2,112]),t(L,[2,113]),t(L,[2,114]),t(L,[2,115]),t(L,[2,116]),t(L,[2,117]),t(L,[2,118]),t(L,[2,119]),t(b,[2,106]),t(S,[2,71]),t(b,[2,73],{61:Ye}),{60:[1,155]},t(R,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:k,86:C,100:y,102:E,103:T},t(he,[2,12]),t(xe,[2,56]),{1:[2,4]},t(pe,[2,69]),t(pe,[2,68]),{16:39,17:40,19:158,60:k,86:C,100:y,102:E,103:T},t(oe,[2,80]),t(S,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:n,43:23,48:h,54:f,56:B},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:n,43:23,48:h,54:f,56:B},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:n,43:23,48:h,54:f,56:B},{45:163,51:ce},t(S,[2,49]),{41:[2,62]},t(S,[2,52],{39:[1,164]}),t(b,[2,60]),t(b,[2,92]),t(b,[2,94]),t(b,[2,95],{77:[1,165]}),t(b,[2,98]),t(b,[2,99],{13:[1,166]}),t(b,[2,101],{13:[1,168],77:[1,167]}),{22:Y,50:K,60:j,82:W,84:169,85:112,86:Q,87:H,88:X,89:q,90:J},t(L,[2,110]),t(Ue,[2,75]),{14:[1,170]},t(he,[2,11]),t(pe,[2,70]),t(S,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:ce},t(b,[2,96]),t(b,[2,100]),t(b,[2,102]),t(b,[2,103],{77:[1,174]}),t(Ke,[2,108],{85:154,22:Y,50:K,60:j,82:W,86:Q,87:H,88:X,89:q,90:J}),t(xe,[2,8]),t(S,[2,51]),{41:[1,175]},t(S,[2,54]),t(b,[2,104]),t(S,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:d(function(c,p){if(p.recoverable)this.trace(c);else{var g=new Error(c);throw g.hash=p,g}},"parseError"),parse:d(function(c){var p=this,g=[0],l=[],A=[null],e=[],Z=this.table,s="",de=0,je=0,We=0,yt=2,Qe=1,Et=e.slice.call(arguments,1),D=Object.create(this.lexer),M={yy:{}};for(var Ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ie)&&(M.yy[Ie]=this.yy[Ie]);D.setInput(c,M.yy),M.yy.lexer=D,M.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var Oe=D.yylloc;e.push(Oe);var Tt=D.options&&D.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function xt(_){g.length=g.length-2*_,A.length=A.length-_,e.length=e.length-_}d(xt,"popStack");function Dt(){var _;return _=l.pop()||D.lex()||Qe,typeof _!="number"&&(_ instanceof Array&&(l=_,_=l.pop()),_=p.symbols_[_]||_),_}d(Dt,"lex");for(var N,Me,w,x,Lt,we,G={},ge,I,He,be;;){if(w=g[g.length-1],this.defaultActions[w]?x=this.defaultActions[w]:((N===null||typeof N>"u")&&(N=Dt()),x=Z[w]&&Z[w][N]),typeof x>"u"||!x.length||!x[0]){var Ve="";be=[];for(ge in Z[w])this.terminals_[ge]&&ge>yt&&be.push("'"+this.terminals_[ge]+"'");D.showPosition?Ve="Parse error on line "+(de+1)+`:
`+D.showPosition()+`
Expecting `+be.join(", ")+", got '"+(this.terminals_[N]||N)+"'":Ve="Parse error on line "+(de+1)+": Unexpected "+(N==Qe?"end of input":"'"+(this.terminals_[N]||N)+"'"),this.parseError(Ve,{text:D.match,token:this.terminals_[N]||N,line:D.yylineno,loc:Oe,expected:be})}if(x[0]instanceof Array&&x.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+N);switch(x[0]){case 1:g.push(N),A.push(D.yytext),e.push(D.yylloc),g.push(x[1]),N=null,Me?(N=Me,Me=null):(je=D.yyleng,s=D.yytext,de=D.yylineno,Oe=D.yylloc,We>0&&We--);break;case 2:if(I=this.productions_[x[1]][1],G.$=A[A.length-I],G._$={first_line:e[e.length-(I||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(I||1)].first_column,last_column:e[e.length-1].last_column},Tt&&(G._$.range=[e[e.length-(I||1)].range[0],e[e.length-1].range[1]]),we=this.performAction.apply(G,[s,je,de,M.yy,x[1],A,e].concat(Et)),typeof we<"u")return we;I&&(g=g.slice(0,-1*I*2),A=A.slice(0,-1*I),e=e.slice(0,-1*I)),g.push(this.productions_[x[1]][0]),A.push(G.$),e.push(G._$),He=Z[g[g.length-2]][g[g.length-1]],g.push(He);break;case 3:return!0}}return!0},"parse")},Ct=(function(){var O={EOF:1,parseError:d(function(p,g){if(this.yy.parser)this.yy.parser.parseError(p,g);else throw new Error(p)},"parseError"),setInput:d(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:d(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:d(function(c){var p=c.length,g=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 l=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 A=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===l.length?this.yylloc.first_column:0)+l[l.length-g.length].length-g[0].length:this.yylloc.first_column-p},this.options.ranges&&(this.yylloc.range=[A[0],A[0]+this.yyleng-p]),this.yyleng=this.yytext.length,this},"unput"),more:d(function(){return this._more=!0,this},"more"),reject:d(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).
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:d(function(c){this.unput(this.match.slice(c))},"less"),pastInput:d(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:d(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:d(function(){var c=this.pastInput(),p=new Array(c.length+1).join("-");return c+this.upcomingInput()+`
`+p+"^"},"showPosition"),test_match:d(function(c,p){var g,l,A;if(this.options.backtrack_lexer&&(A={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&&(A.yylloc.range=this.yylloc.range.slice(0))),l=c[0].match(/(?:\r\n?|\n).*/g),l&&(this.yylineno+=l.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:l?l[l.length-1].length-l[l.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],g=this.performAction.call(this,this.yy,this,p,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var e in A)this[e]=A[e];return!1}return!1},"test_match"),next:d(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var c,p,g,l;this._more||(this.yytext="",this.match="");for(var A=this._currentRules(),e=0;e<A.length;e++)if(g=this._input.match(this.rules[A[e]]),g&&(!p||g[0].length>p[0].length)){if(p=g,l=e,this.options.backtrack_lexer){if(c=this.test_match(g,A[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,A[l]),c!==!1?c:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:d(function(){var p=this.next();return p||this.lex()},"lex"),begin:d(function(p){this.conditionStack.push(p)},"begin"),popState:d(function(){var p=this.conditionStack.length-1;return p>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:d(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:d(function(p){return p=this.conditionStack.length-1-Math.abs(p||0),p>=0?this.conditionStack[p]:"INITIAL"},"topState"),pushState:d(function(p){this.begin(p)},"pushState"),stateStackSize:d(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:d(function(p,g,l,A){var e=A;switch(l){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;break;case 7:return this.popState(),"acc_title_value";break;case 8:return this.begin("acc_descr"),35;break;case 9:return this.popState(),"acc_descr_value";break;case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 8;case 14:break;case 15:return 7;case 16:return 7;case 17:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 19:this.popState();break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;break;case 30:return this.popState(),8;break;case 31:break;case 32:return this.begin("namespace-body"),39;break;case 33:this.popState(),this.less(0);break;case 34:return this.popState(),41;break;case 35:return"EOF_IN_STRUCT";case 36:return 8;case 37:break;case 38:return"EDGE_STATE";case 39:return this.begin("class"),48;break;case 40:return this.popState(),8;break;case 41:break;case 42:return this.popState(),this.popState(),41;break;case 43:return this.begin("class-body"),39;break;case 44:return this.popState(),41;break;case 45:return"EOF_IN_STRUCT";case 46:return"EDGE_STATE";case 47:return"OPEN_IN_STRUCT";case 48:break;case 49:return"MEMBER";case 50:return 83;case 51:return 75;case 52:return 76;case 53:return 78;case 54:return 54;case 55:return 56;case 56:return 46;case 57:return 47;case 58:return 81;case 59:this.popState();break;case 60:return"GENERICTYPE";case 61:this.begin("generic");break;case 62:this.popState();break;case 63:return"BQUOTE_STR";case 64:this.begin("bqstring");break;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 77;case 69:return 69;case 70:return 69;case 71:return 71;case 72:return 71;case 73:return 70;case 74:return 68;case 75:return 72;case 76:return 73;case 77:return 74;case 78:return 22;case 79:return 44;case 80:return 100;case 81:return 18;case 82:return"PLUS";case 83:return 87;case 84:return 61;case 85:return 89;case 86:return 89;case 87:return 90;case 88:return"EQUALS";case 89:return"EQUALS";case 90:return 60;case 91:return 12;case 92:return 14;case 93:return"PUNCTUATION";case 94:return 86;case 95:return 102;case 96:return 50;case 97:return 50;case 98:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,29,34,35,36,37,38,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},namespace:{rules:[26,29,30,31,32,33,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},"class-body":{rules:[26,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},class:{rules:[26,40,41,42,43,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr:{rules:[9,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_title:{rules:[7,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_args:{rules:[22,23,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_name:{rules:[19,20,21,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},href:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},struct:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},generic:{rules:[26,50,51,52,53,54,55,56,57,58,59,60,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},bqstring:{rules:[26,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},string:{rules:[24,25,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],inclusive:!0}}};return O})();Le.lexer=Ct;function ve(){this.yy={}}return d(ve,"Parser"),ve.prototype=Le,Le.Parser=ve,new ve})();Pe.parser=Pe;var bt=Pe;var mt=["#","+","~","-",""],se=class{static{d(this,"ClassMember")}constructor(i,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";let a=qe(i,F());this.parseMember(a)}getDisplayDetails(){let i=this.visibility+V(this.id);this.memberType==="method"&&(i+=`(${V(this.parameters.trim())})`,this.returnType&&(i+=" : "+V(this.returnType))),i=i.trim();let r=this.parseClassifier();return{displayText:i,cssStyle:r}}parseMember(i){let r="";if(this.memberType==="method"){let u=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(i);if(u){let h=u[1]?u[1].trim():"";if(mt.includes(h)&&(this.visibility=h),this.id=u[2],this.parameters=u[3]?u[3].trim():"",r=u[4]?u[4].trim():"",this.returnType=u[5]?u[5].trim():"",r===""){let o=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(o)&&(r=o,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let n=i.length,u=i.substring(0,1),h=i.substring(n-1);mt.includes(u)&&(this.visibility=u),/[$*]/.exec(h)&&(r=h),this.id=i.substring(this.visibility===""?0:1,r===""?n:n-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let a=`${this.visibility?"\\"+this.visibility:""}${V(this.id)}${this.memberType==="method"?`(${V(this.parameters)})${this.returnType?" : "+V(this.returnType):""}`:""}`;this.text=a.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}};var me="classId-",ft=0,P=d(t=>v.sanitizeText(t,F()),"sanitizeText"),fe=class t{constructor(){this.relations=[];this.classes=new Map;this.styleClasses=new Map;this.notes=new Map;this.interfaces=[];this.namespaces=new Map;this.namespaceCounter=0;this.namespaceStack=[];this.diagramId="";this.functions=[];this.lineType={LINE:0,DOTTED_LINE:1};this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4};this.setupToolTips=d(i=>{let r=rt();ee(i).select("svg").selectAll("g").filter(function(){return ee(this).attr("title")!==null}).on("mouseover",u=>{let h=ee(u.currentTarget),o=h.attr("title");if(!o)return;let m=u.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(Xe.sanitize(o)).style("left",`${window.scrollX+m.left+m.width/2}px`).style("top",`${window.scrollY+m.bottom+4}px`),h.classed("hover",!0)}).on("mouseout",u=>{r.transition().duration(500).style("opacity",0),ee(u.currentTarget).classed("hover",!1)})},"setupToolTips");this.direction="TB";this.setAccTitle=Ze;this.getAccTitle=$e;this.setAccDescription=et;this.getAccDescription=tt;this.setDiagramTitle=st;this.getDiagramTitle=it;this.getConfig=d(()=>F().class,"getConfig");this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.popNamespace=this.popNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}static{d(this,"ClassDB")}splitClassNameAndType(i){let r=v.sanitizeText(i,F()),a="",n=r;if(r.indexOf("~")>0){let u=r.split("~");n=P(u[0]),a=P(u[1])}return{className:n,type:a}}setClassLabel(i,r){let a=v.sanitizeText(i,F());r&&(r=P(r));let{className:n}=this.splitClassNameAndType(a);this.classes.get(n).label=r,this.classes.get(n).text=`${r}${this.classes.get(n).type?`<${this.classes.get(n).type}>`:""}`}addClass(i){let r=v.sanitizeText(i,F()),{className:a,type:n}=this.splitClassNameAndType(r);if(this.classes.has(a))return;let u=v.sanitizeText(a,F());this.classes.set(u,{id:u,type:n,label:u,text:`${u}${n?`<${n}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:me+u+"-"+ft}),ft++}addInterface(i,r){let a={id:`interface${this.interfaces.length}`,label:i,classId:r};this.interfaces.push(a)}setDiagramId(i){this.diagramId=i}lookUpDomId(i){let r=v.sanitizeText(i,F());if(this.classes.has(r)){let a=this.classes.get(r).domId;return this.diagramId?`${this.diagramId}-${a}`:a}throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.direction="TB",Je()}getClass(i){return this.classes.get(i)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(i){let r=typeof i=="number"?`note${i}`:i;return this.notes.get(r)}getNotes(){return this.notes}addRelation(i){$.debug("Adding relation: "+JSON.stringify(i));let r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];i.relation.type1===this.relationType.LOLLIPOP&&!r.includes(i.relation.type2)?(this.addClass(i.id2),this.addInterface(i.id1,i.id2),i.id1=`interface${this.interfaces.length-1}`):i.relation.type2===this.relationType.LOLLIPOP&&!r.includes(i.relation.type1)?(this.addClass(i.id1),this.addInterface(i.id2,i.id1),i.id2=`interface${this.interfaces.length-1}`):(this.addClass(i.id1),this.addClass(i.id2)),i.id1=this.splitClassNameAndType(i.id1).className,i.id2=this.splitClassNameAndType(i.id2).className,i.relationTitle1=v.sanitizeText(i.relationTitle1.trim(),F()),i.relationTitle2=v.sanitizeText(i.relationTitle2.trim(),F()),this.relations.push(i)}addAnnotation(i,r){let a=this.splitClassNameAndType(i).className;this.classes.get(a).annotations.push(r)}addMember(i,r){this.addClass(i);let a=this.splitClassNameAndType(i).className,n=this.classes.get(a);if(typeof r=="string"){let u=r.trim();u.startsWith("<<")&&u.endsWith(">>")?n.annotations.push(P(u.substring(2,u.length-2))):u.indexOf(")")>0?n.methods.push(new se(u,"method")):u&&n.members.push(new se(u,"attribute"))}}addMembers(i,r){Array.isArray(r)&&(r.reverse(),r.forEach(a=>this.addMember(i,a)))}addNote(i,r){let a=this.notes.size,n={id:`note${a}`,class:r,text:i,index:a};return this.notes.set(n.id,n),n.id}cleanupLabel(i){return i.startsWith(":")&&(i=i.substring(1)),P(i.trim())}setCssClass(i,r){i.split(",").forEach(a=>{let n=a;/\d/.exec(a[0])&&(n=me+n),n=this.splitClassNameAndType(n).className;let u=this.classes.get(n);u&&(u.cssClasses+=" "+r)})}defineClass(i,r){for(let a of i){let n=this.styleClasses.get(a);n===void 0&&(n={id:a,styles:[],textStyles:[]},this.styleClasses.set(a,n)),r&&r.forEach(u=>{if(/color/.exec(u)){let h=u.replace("fill","bgFill");n.textStyles.push(h)}n.styles.push(u)}),this.classes.forEach(u=>{u.cssClasses.includes(a)&&u.styles.push(...r.flatMap(h=>h.split(",")))})}}setTooltip(i,r){i.split(",").forEach(a=>{if(r!==void 0){let n=this.splitClassNameAndType(a).className,u=this.classes.get(n);u&&(u.tooltip=P(r))}})}getTooltip(i,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(i).tooltip:this.classes.get(i).tooltip}setLink(i,r,a){let n=F();i.split(",").forEach(u=>{let h=u;/\d/.exec(u[0])&&(h=me+h),h=this.splitClassNameAndType(h).className;let o=this.classes.get(h);o&&(o.link=te.formatUrl(r,n),n.securityLevel==="sandbox"?o.linkTarget="_top":typeof a=="string"?o.linkTarget=P(a):o.linkTarget="_blank")}),this.setCssClass(i,"clickable")}setClickEvent(i,r,a){i.split(",").forEach(n=>{this.setClickFunc(n,r,a);let u=this.splitClassNameAndType(n).className,h=this.classes.get(u);h&&(h.haveCallback=!0)}),this.setCssClass(i,"clickable")}setClickFunc(i,r,a){let n=v.sanitizeText(i,F());if(F().securityLevel!=="loose"||r===void 0)return;let h=this.splitClassNameAndType(n).className;if(this.classes.has(h)){let o=[];if(typeof a=="string"){o=a.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let m=0;m<o.length;m++){let f=o[m].trim();f.startsWith('"')&&f.endsWith('"')&&(f=f.substr(1,f.length-2)),o[m]=f}}o.length===0&&o.push(h),this.functions.push(()=>{let m=this.lookUpDomId(h),f=document.querySelector(`[id="${m}"]`);f!==null&&f.addEventListener("click",()=>{te.runFunc(r,...o)},!1)})}}bindFunctions(i){this.functions.forEach(r=>{r(i)})}escapeHtml(i){return i.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}getDirection(){return this.direction}setDirection(i){this.direction=i}static resolveQualifiedId(i,r){let a=r.at(-1);return a?`${a}.${i}`:i}static getAncestorIds(i){let r=i.split("."),a=new Array(r.length);a[0]=r[0];for(let n=1;n<r.length;n++)a[n]=`${a[n-1]}.${r[n]}`;return a}createNamespaceNode(i,r,a,n=!1){return{id:i,label:r,classes:new Map,notes:new Map,children:new Map,domId:me+i+"-"+this.namespaceCounter++,parent:a,explicit:n}}linkParentChild(i,r){let a=this.namespaces.get(i),n=this.namespaces.get(r);!a||!n||(a.children.has(r)||a.children.set(r,n),n.parent??=i)}addNamespace(i,r){let a=t.resolveQualifiedId(i,this.namespaceStack);if(this.namespaceStack.push(a),this.namespaces.has(a)){let h=this.namespaces.get(a);return h.explicit=!0,r&&(h.label=r),a}let n=a.split("."),u=t.getAncestorIds(a);for(let h=0;h<u.length;h++){let o=u[h],m=h>0?u[h-1]:void 0,f=h===u.length-1,B=f&&r?r:n[h];this.namespaces.has(o)?f&&(this.namespaces.get(o).explicit=!0):this.namespaces.set(o,this.createNamespaceNode(o,B,m,f)),m&&this.linkParentChild(m,o)}return a}popNamespace(){this.namespaceStack.pop()}getNamespace(i){return this.namespaces.get(i)}getNamespaces(){return this.namespaces}addClassesToNamespace(i,r,a){if(this.namespaces.has(i)){for(let n of r){let{className:u}=this.splitClassNameAndType(n),h=this.getClass(u);h.parent=i,this.namespaces.get(i).classes.set(u,h)}for(let n of a){let u=this.getNote(n);u.parent=i,this.namespaces.get(i).notes.set(n,u)}}}setCssStyle(i,r){let a=this.classes.get(i);if(!(!r||!a))for(let n of r)n.includes(",")?a.styles.push(...n.split(",")):a.styles.push(n)}getArrowMarker(i){let r;switch(i){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}resolveExplicitAncestor(i){let r=i;for(;r;){let a=this.namespaces.get(r);if(!a)return;if(a.explicit)return r;r=a.parent}}getData(){let i=[],r=[],a=F(),n=a.class?.hierarchicalNamespaces??!0;for(let o of this.namespaces.values()){if(!n&&!o.explicit)continue;let m={id:o.id,label:n?o.label:o.id,isGroup:!0,padding:a.class.padding??16,shape:"rect",cssStyles:[],look:a.look,parentId:n?o.parent:void 0};i.push(m)}let u=0;for(let o of this.classes.values()){let m=n?o.parent:this.resolveExplicitAncestor(o.parent),f={...o,type:void 0,isGroup:!1,parentId:m,look:a.look,colorIndex:u++};i.push(f)}for(let o of this.notes.values()){let m=n?o.parent:this.resolveExplicitAncestor(o.parent),f={id:o.id,label:o.text,isGroup:!1,shape:"note",padding:a.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${a.themeVariables.noteBkgColor}`,`stroke: ${a.themeVariables.noteBorderColor}`],look:a.look,parentId:m,labelType:"markdown"};i.push(f);let B=this.classes.get(o.class)?.id;if(B){let U={id:`edgeNote${o.index}`,start:o.id,end:B,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:a.look};r.push(U)}}for(let o of this.interfaces){let m={id:o.id,label:o.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:a.look};i.push(m)}let h=0;for(let o of this.relations){h++;let m={id:at(o.id1,o.id2,{prefix:"id",counter:h}),start:o.id1,end:o.id2,type:"normal",label:o.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(o.relation.type1),arrowTypeEnd:this.getArrowMarker(o.relation.type2),startLabelRight:o.relationTitle1==="none"?"":o.relationTitle1,endLabelLeft:o.relationTitle2==="none"?"":o.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:o.style||"",pattern:o.relation.lineType==1?"dashed":"solid",look:a.look,labelType:"markdown"};r.push(m)}return{nodes:i,edges:r,other:{},config:a,direction:this.getDirection()}}};var Ft=d(t=>{let{theme:i,bkgColorArray:r,borderColorArray:a}=t;if(!lt(i,a))return"";let n=ut(t.look),u=nt(r),h="";for(let o=0;o<ot(t.THEME_COLOR_LIMIT,a);o++){let m=a[o%a.length];h+=`
[data-look="${n}"][data-color-id="color-${o}"].node .outer-path path {
stroke: ${m};
${u?`fill: ${r[o%r.length]};`:""}
}
[data-look="${n}"][data-color-id="color-${o}"].node .divider path {
stroke: ${m};
}
`}return h},"genColor"),Nt=d(t=>`${Ft(t)}
g.classGroup text {
fill: ${t.nodeBorder||t.classText};
stroke: none;
font-family: ${t.fontFamily};
font-size: 10px;
.title {
font-weight: bolder;
}
}
.cluster-label text {
fill: ${t.titleColor};
}
.cluster-label span {
color: ${t.titleColor};
}
.cluster-label span p {
background-color: transparent;
}
.cluster rect {
fill: ${t.clusterBkg};
stroke: ${t.clusterBorder};
stroke-width: 1px;
}
.cluster text {
fill: ${t.titleColor};
}
.cluster span {
color: ${t.titleColor};
}
.nodeLabel, .edgeLabel {
color: ${t.classText};
}
.noteLabel .nodeLabel, .noteLabel .edgeLabel {
color: ${t.noteTextColor};
}
.edgeLabel .label rect {
fill: ${t.mainBkg};
}
.label text {
fill: ${t.classText};
}
.labelBkg {
background: ${t.mainBkg};
}
.edgeLabel .label span {
background: ${t.mainBkg};
}
.classTitle {
font-weight: bolder;
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${t.mainBkg};
stroke: ${t.nodeBorder};
stroke-width: ${t.strokeWidth};
}
.divider {
stroke: ${t.nodeBorder};
stroke-width: 1;
}
g.clickable {
cursor: pointer;
}
g.classGroup rect {
fill: ${t.mainBkg};
stroke: ${t.nodeBorder};
}
g.classGroup line {
stroke: ${t.nodeBorder};
stroke-width: 1;
}
.classLabel .box {
stroke: none;
stroke-width: 0;
fill: ${t.mainBkg};
opacity: 0.5;
}
.classLabel .label {
fill: ${t.nodeBorder};
font-size: 10px;
}
.relation {
stroke: ${t.lineColor};
stroke-width: ${t.strokeWidth};
fill: none;
}
.dashed-line{
stroke-dasharray: 3;
}
.dotted-line{
stroke-dasharray: 1 2;
}
[id$="-compositionStart"], .composition {
fill: ${t.lineColor} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-compositionEnd"], .composition {
fill: ${t.lineColor} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-dependencyStart"], .dependency {
fill: ${t.lineColor} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-dependencyEnd"], .dependency {
fill: ${t.lineColor} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-extensionStart"], .extension {
fill: transparent !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-extensionEnd"], .extension {
fill: transparent !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-aggregationStart"], .aggregation {
fill: transparent !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-aggregationEnd"], .aggregation {
fill: transparent !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-lollipopStart"], .lollipop {
fill: ${t.mainBkg} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-lollipopEnd"], .lollipop {
fill: ${t.mainBkg} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
.edgeTerminals {
font-size: 11px;
line-height: initial;
}
.classTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${t.textColor};
}
.edgeLabel[data-look="neo"] {
background-color: ${t.edgeLabelBackground};
p {
background-color: ${t.edgeLabelBackground};
}
rect {
opacity: 0.5;
background-color: ${t.edgeLabelBackground};
fill: ${t.edgeLabelBackground};
}
text-align: center;
}
${gt()}
`,"getStyles"),At=Nt;var Bt=d((t,i="TB")=>{if(!t.doc)return i;let r=i;for(let a of t.doc)a.stmt==="dir"&&(r=a.value);return r},"getDir"),St=d(function(t,i){return i.db.getClasses()},"getClasses"),_t=d(async function(t,i,r,a){$.info("REF0:"),$.info("Drawing class diagram (v3)",i);let{securityLevel:n,state:u,layout:h}=F();a.db.setDiagramId(i);let o=a.db.getData(),m=ct(i,n);o.type=a.type,o.layoutAlgorithm=pt(h),o.nodeSpacing=u?.nodeSpacing||50,o.rankSpacing=u?.rankSpacing||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=i,await ht(o,m);let f=8;te.insertTitle(m,"classDiagramTitleText",u?.titleTopMargin??25,a.db.getDiagramTitle()),dt(m,f,"classDiagram",u?.useMaxWidth??!0)},"draw"),kt={getClasses:St,draw:_t,getDir:Bt};var hs={parser:bt,get db(){return new fe},renderer:kt,styles:At,init:d(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{hs as diagram};