import{m as Mt}from"./chunk-TBF5ZNIQ-Dqy_PWBE.js";import{y as Bt}from"./chunk-T4EQAHMB-BSu_zLEL.js";import{m as h,j as Ft,V as Yt,Y as Pt,X as Zt,K as Gt,Z as Kt,x as st,p as D,$ as zt,J as Ut,Q as jt,G as Wt,l as Qt,c as Xt,d as Vt,i as Jt,e as qt}from"./mermaid.esm.min-DGQNoR5D.js";import"./app-t8Vldhgr.js";var ft=(function(){var s=h(function(k,n,r,i){for(r=r||{},i=k.length;i--;r[k[i]]=n);return r},"o"),a=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],c=[1,10],y=[1,11],l=[1,12],o=[1,13],p=[1,23],_=[1,24],E=[1,25],w=[1,26],it=[1,27],O=[1,19],W=[1,28],L=[1,29],R=[1,20],M=[1,18],B=[1,21],F=[1,22],at=[1,36],nt=[1,37],rt=[1,38],ct=[1,39],lt=[1,40],Y=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,65,66,67,68,69],S=[1,45],N=[1,46],P=[1,55],Z=[40,48,50,51,52,70,71],G=[1,66],K=[1,64],A=[1,61],z=[1,65],U=[1,67],Q=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,65,66,67,68,69],bt=[65,66,67,68,69],gt=[1,84],mt=[1,83],kt=[1,81],Et=[1,82],Tt=[6,10,42,47],$=[6,10,13,41,42,47,48,49],X=[1,92],V=[1,91],J=[1,90],j=[19,58],Ot=[1,101],St=[1,100],ot=[19,58,60,62],ht={trace:h(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,attributeKeyType:59,",":60,ATTRIBUTE_KEY:61,COMMENT:62,cardinality:63,relType:64,ZERO_OR_ONE:65,ZERO_OR_MORE:66,ONE_OR_MORE:67,ONLY_ONE:68,MD_PARENT:69,NON_IDENTIFYING:70,IDENTIFYING:71,WORD:72,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",60:",",61:"ATTRIBUTE_KEY",62:"COMMENT",65:"ZERO_OR_ONE",66:"ZERO_OR_MORE",67:"ONE_OR_MORE",68:"ONLY_ONE",69:"MD_PARENT",70:"NON_IDENTIFYING",71:"IDENTIFYING",72:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[55,1],[56,1],[56,3],[59,1],[57,1],[12,3],[63,1],[63,1],[63,1],[63,1],[63,1],[64,1],[64,1],[14,1],[14,1],[14,1]],performAction:h(function(k,n,r,i,u,t,b){var e=t.length-1;switch(u){case 1:break;case 2:this.$=[];break;case 3:t[e-1].push(t[e]),this.$=t[e-1];break;case 4:case 5:this.$=t[e];break;case 6:case 7:this.$=[];break;case 8:i.addEntity(t[e-4]),i.addEntity(t[e-2]),i.addRelationship(t[e-4],t[e],t[e-2],t[e-3]);break;case 9:i.addEntity(t[e-8]),i.addEntity(t[e-4]),i.addRelationship(t[e-8],t[e],t[e-4],t[e-5]),i.setClass([t[e-8]],t[e-6]),i.setClass([t[e-4]],t[e-2]);break;case 10:i.addEntity(t[e-6]),i.addEntity(t[e-2]),i.addRelationship(t[e-6],t[e],t[e-2],t[e-3]),i.setClass([t[e-6]],t[e-4]);break;case 11:i.addEntity(t[e-6]),i.addEntity(t[e-4]),i.addRelationship(t[e-6],t[e],t[e-4],t[e-5]),i.setClass([t[e-4]],t[e-2]);break;case 12:i.addEntity(t[e-3]),i.addAttributes(t[e-3],t[e-1]);break;case 13:i.addEntity(t[e-5]),i.addAttributes(t[e-5],t[e-1]),i.setClass([t[e-5]],t[e-3]);break;case 14:i.addEntity(t[e-2]);break;case 15:i.addEntity(t[e-4]),i.setClass([t[e-4]],t[e-2]);break;case 16:i.addEntity(t[e]);break;case 17:i.addEntity(t[e-2]),i.setClass([t[e-2]],t[e]);break;case 18:i.addEntity(t[e-6],t[e-4]),i.addAttributes(t[e-6],t[e-1]);break;case 19:i.addEntity(t[e-8],t[e-6]),i.addAttributes(t[e-8],t[e-1]),i.setClass([t[e-8]],t[e-3]);break;case 20:i.addEntity(t[e-5],t[e-3]);break;case 21:i.addEntity(t[e-7],t[e-5]),i.setClass([t[e-7]],t[e-2]);break;case 22:i.addEntity(t[e-3],t[e-1]);break;case 23:i.addEntity(t[e-5],t[e-3]),i.setClass([t[e-5]],t[e]);break;case 24:case 25:this.$=t[e].trim(),i.setAccTitle(this.$);break;case 26:case 27:this.$=t[e].trim(),i.setAccDescription(this.$);break;case 32:i.setDirection("TB");break;case 33:i.setDirection("BT");break;case 34:i.setDirection("RL");break;case 35:i.setDirection("LR");break;case 36:this.$=t[e-3],i.addClass(t[e-2],t[e-1]);break;case 37:case 38:case 59:case 67:this.$=[t[e]];break;case 39:case 40:this.$=t[e-2].concat([t[e]]);break;case 41:this.$=t[e-2],i.setClass(t[e-1],t[e]);break;case 42:this.$=t[e-3],i.addCssStyles(t[e-2],t[e-1]);break;case 43:this.$=[t[e]];break;case 44:t[e-2].push(t[e]),this.$=t[e-2];break;case 46:this.$=t[e-1]+t[e];break;case 54:case 79:case 80:this.$=t[e].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 81:this.$=t[e];break;case 60:t[e].push(t[e-1]),this.$=t[e];break;case 61:this.$={type:t[e-1],name:t[e]};break;case 62:this.$={type:t[e-2],name:t[e-1],keys:t[e]};break;case 63:this.$={type:t[e-2],name:t[e-1],comment:t[e]};break;case 64:this.$={type:t[e-3],name:t[e-2],keys:t[e-1],comment:t[e]};break;case 65:case 66:case 69:this.$=t[e];break;case 68:t[e-2].push(t[e]),this.$=t[e-2];break;case 70:this.$=t[e].replace(/"/g,"");break;case 71:this.$={cardA:t[e],relType:t[e-1],cardB:t[e-2]};break;case 72:this.$=i.Cardinality.ZERO_OR_ONE;break;case 73:this.$=i.Cardinality.ZERO_OR_MORE;break;case 74:this.$=i.Cardinality.ONE_OR_MORE;break;case 75:this.$=i.Cardinality.ONLY_ONE;break;case 76:this.$=i.Cardinality.MD_PARENT;break;case 77:this.$=i.Identification.NON_IDENTIFYING;break;case 78:this.$=i.Identification.IDENTIFYING;break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},s(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,22:c,24:y,26:l,28:o,29:14,30:15,31:16,32:17,33:p,34:_,35:E,36:w,37:it,40:O,43:W,44:L,48:R,50:M,51:B,52:F},s(a,[2,7],{1:[2,1]}),s(a,[2,3]),{9:30,11:9,22:c,24:y,26:l,28:o,29:14,30:15,31:16,32:17,33:p,34:_,35:E,36:w,37:it,40:O,43:W,44:L,48:R,50:M,51:B,52:F},s(a,[2,5]),s(a,[2,6]),s(a,[2,16],{12:31,63:35,15:[1,32],17:[1,33],20:[1,34],65:at,66:nt,67:rt,68:ct,69:lt}),{23:[1,41]},{25:[1,42]},{27:[1,43]},s(a,[2,27]),s(a,[2,28]),s(a,[2,29]),s(a,[2,30]),s(a,[2,31]),s(Y,[2,54]),s(Y,[2,55]),s(Y,[2,56]),s(Y,[2,57]),s(Y,[2,58]),s(a,[2,32]),s(a,[2,33]),s(a,[2,34]),s(a,[2,35]),{16:44,40:S,41:N},{16:47,40:S,41:N},{16:48,40:S,41:N},s(a,[2,4]),{11:49,40:O,48:R,50:M,51:B,52:F},{16:50,40:S,41:N},{18:51,19:[1,52],53:53,54:54,58:P},{11:56,40:O,48:R,50:M,51:B,52:F},{64:57,70:[1,58],71:[1,59]},s(Z,[2,72]),s(Z,[2,73]),s(Z,[2,74]),s(Z,[2,75]),s(Z,[2,76]),s(a,[2,24]),s(a,[2,25]),s(a,[2,26]),{13:G,38:60,41:K,42:A,45:62,46:63,48:z,49:U},s(Q,[2,37]),s(Q,[2,38]),{16:68,40:S,41:N,42:A},{13:G,38:69,41:K,42:A,45:62,46:63,48:z,49:U},{13:[1,70],15:[1,71]},s(a,[2,17],{63:35,12:72,17:[1,73],42:A,65:at,66:nt,67:rt,68:ct,69:lt}),{19:[1,74]},s(a,[2,14]),{18:75,19:[2,59],53:53,54:54,58:P},{55:76,58:[1,77]},{58:[2,65]},{21:[1,78]},{63:79,65:at,66:nt,67:rt,68:ct,69:lt},s(bt,[2,77]),s(bt,[2,78]),{6:gt,10:mt,39:80,42:kt,47:Et},{40:[1,85],41:[1,86]},s(Tt,[2,43],{46:87,13:G,41:K,48:z,49:U}),s($,[2,45]),s($,[2,50]),s($,[2,51]),s($,[2,52]),s($,[2,53]),s(a,[2,41],{42:A}),{6:gt,10:mt,39:88,42:kt,47:Et},{14:89,40:X,50:V,72:J},{16:93,40:S,41:N},{11:94,40:O,48:R,50:M,51:B,52:F},{18:95,19:[1,96],53:53,54:54,58:P},s(a,[2,12]),{19:[2,60]},s(j,[2,61],{56:97,57:98,59:99,61:Ot,62:St}),s([19,58,61,62],[2,66]),s(a,[2,22],{15:[1,103],17:[1,102]}),s([40,48,50,51,52],[2,71]),s(a,[2,36]),{13:G,41:K,45:104,46:63,48:z,49:U},s(a,[2,47]),s(a,[2,48]),s(a,[2,49]),s(Q,[2,39]),s(Q,[2,40]),s($,[2,46]),s(a,[2,42]),s(a,[2,8]),s(a,[2,79]),s(a,[2,80]),s(a,[2,81]),{13:[1,105],42:A},{13:[1,107],15:[1,106]},{19:[1,108]},s(a,[2,15]),s(j,[2,62],{57:109,60:[1,110],62:St}),s(j,[2,63]),s(ot,[2,67]),s(j,[2,70]),s(ot,[2,69]),{18:111,19:[1,112],53:53,54:54,58:P},{16:113,40:S,41:N},s(Tt,[2,44],{46:87,13:G,41:K,48:z,49:U}),{14:114,40:X,50:V,72:J},{16:115,40:S,41:N},{14:116,40:X,50:V,72:J},s(a,[2,13]),s(j,[2,64]),{59:117,61:Ot},{19:[1,118]},s(a,[2,20]),s(a,[2,23],{17:[1,119],42:A}),s(a,[2,11]),{13:[1,120],42:A},s(a,[2,10]),s(ot,[2,68]),s(a,[2,18]),{18:121,19:[1,122],53:53,54:54,58:P},{14:123,40:X,50:V,72:J},{19:[1,124]},s(a,[2,21]),s(a,[2,9]),s(a,[2,19])],defaultActions:{55:[2,65],75:[2,60]},parseError:h(function(k,n){if(n.recoverable)this.trace(k);else{var r=new Error(k);throw r.hash=n,r}},"parseError"),parse:h(function(k){var n=this,r=[0],i=[],u=[null],t=[],b=this.table,e="",H=0,Nt=0,xt=0,Dt=2,At=1,vt=t.slice.call(arguments,1),d=Object.create(this.lexer),I={yy:{}};for(var ut in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ut)&&(I.yy[ut]=this.yy[ut]);d.setInput(k,I.yy),I.yy.lexer=d,I.yy.parser=this,typeof d.yylloc>"u"&&(d.yylloc={});var yt=d.yylloc;t.push(yt);var wt=d.options&&d.options.ranges;typeof I.yy.parseError=="function"?this.parseError=I.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Lt(g){r.length=r.length-2*g,u.length=u.length-g,t.length=t.length-g}h(Lt,"popStack");function Rt(){var g;return g=i.pop()||d.lex()||At,typeof g!="number"&&(g instanceof Array&&(i=g,g=i.pop()),g=n.symbols_[g]||g),g}h(Rt,"lex");for(var f,dt,C,m,ne,pt,x={},tt,T,It,et;;){if(C=r[r.length-1],this.defaultActions[C]?m=this.defaultActions[C]:((f===null||typeof f>"u")&&(f=Rt()),m=b[C]&&b[C][f]),typeof m>"u"||!m.length||!m[0]){var _t="";et=[];for(tt in b[C])this.terminals_[tt]&&tt>Dt&&et.push("'"+this.terminals_[tt]+"'");d.showPosition?_t="Parse error on line "+(H+1)+`: `+d.showPosition()+` Expecting `+et.join(", ")+", got '"+(this.terminals_[f]||f)+"'":_t="Parse error on line "+(H+1)+": Unexpected "+(f==At?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(_t,{text:d.match,token:this.terminals_[f]||f,line:d.yylineno,loc:yt,expected:et})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+C+", token: "+f);switch(m[0]){case 1:r.push(f),u.push(d.yytext),t.push(d.yylloc),r.push(m[1]),f=null,dt?(f=dt,dt=null):(Nt=d.yyleng,e=d.yytext,H=d.yylineno,yt=d.yylloc,xt>0);break;case 2:if(T=this.productions_[m[1]][1],x.$=u[u.length-T],x._$={first_line:t[t.length-(T||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(T||1)].first_column,last_column:t[t.length-1].last_column},wt&&(x._$.range=[t[t.length-(T||1)].range[0],t[t.length-1].range[1]]),pt=this.performAction.apply(x,[e,Nt,H,I.yy,m[1],u,t].concat(vt)),typeof pt<"u")return pt;T&&(r=r.slice(0,-1*T*2),u=u.slice(0,-1*T),t=t.slice(0,-1*T)),r.push(this.productions_[m[1]][0]),u.push(x.$),t.push(x._$),It=b[r[r.length-2]][r[r.length-1]],r.push(It);break;case 3:return!0}}return!0},"parse")},$t=(function(){var k={EOF:1,parseError:h(function(n,r){if(this.yy.parser)this.yy.parser.parseError(n,r);else throw new Error(n)},"parseError"),setInput:h(function(n,r){return this.yy=r||this.yy||{},this._input=n,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:h(function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var r=n.match(/(?:\r\n?|\n).*/g);return r?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},"input"),unput:h(function(n){var r=n.length,i=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-r),this.offset-=r;var u=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),i.length-1&&(this.yylineno-=i.length-1);var t=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:i?(i.length===u.length?this.yylloc.first_column:0)+u[u.length-i.length].length-i[0].length:this.yylloc.first_column-r},this.options.ranges&&(this.yylloc.range=[t[0],t[0]+this.yyleng-r]),this.yyleng=this.yytext.length,this},"unput"),more:h(function(){return this._more=!0,this},"more"),reject:h(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:h(function(n){this.unput(this.match.slice(n))},"less"),pastInput:h(function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:h(function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:h(function(){var n=this.pastInput(),r=new Array(n.length+1).join("-");return n+this.upcomingInput()+` `+r+"^"},"showPosition"),test_match:h(function(n,r){var i,u,t;if(this.options.backtrack_lexer&&(t={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&&(t.yylloc.range=this.yylloc.range.slice(0))),u=n[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+n[0].length},this.yytext+=n[0],this.match+=n[0],this.matches=n,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(n[0].length),this.matched+=n[0],i=this.performAction.call(this,this.yy,this,r,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var b in t)this[b]=t[b];return!1}return!1},"test_match"),next:h(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var n,r,i,u;this._more||(this.yytext="",this.match="");for(var t=this._currentRules(),b=0;br[0].length)){if(r=i,u=b,this.options.backtrack_lexer){if(n=this.test_match(i,t[b]),n!==!1)return n;if(this._backtrack){r=!1;continue}else return!1}else if(!this.options.flex)break}return r?(n=this.test_match(r,t[u]),n!==!1?n:!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:h(function(){var n=this.next();return n||this.lex()},"lex"),begin:h(function(n){this.conditionStack.push(n)},"begin"),popState:h(function(){var n=this.conditionStack.length-1;return n>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:h(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:h(function(n){return n=this.conditionStack.length-1-Math.abs(n||0),n>=0?this.conditionStack[n]:"INITIAL"},"topState"),pushState:h(function(n){this.begin(n)},"pushState"),stateStackSize:h(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:h(function(n,r,i,u){switch(i){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 72;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 61;case 25:return 58;case 26:return 58;case 27:return 62;case 28:break;case 29:return this.popState(),19;case 30:return r.yytext[0];case 31:return 20;case 32:return 21;case 33:return this.begin("style"),44;case 34:return this.popState(),10;case 35:break;case 36:return 13;case 37:return 42;case 38:return 49;case 39:return this.begin("style"),37;case 40:return 43;case 41:return 65;case 42:return 67;case 43:return 67;case 44:return 67;case 45:return 65;case 46:return 65;case 47:return 66;case 48:return 66;case 49:return 66;case 50:return 66;case 51:return 66;case 52:return 67;case 53:return 66;case 54:return 67;case 55:return 68;case 56:return 68;case 57:return 51;case 58:return 68;case 59:return 68;case 60:return 52;case 61:return 48;case 62:return 68;case 63:return 65;case 64:return 66;case 65:return 67;case 66:return 69;case 67:return 70;case 68:return 71;case 69:return 71;case 70:return 70;case 71:return 70;case 72:return 70;case 73:return 41;case 74:return 47;case 75:return 40;case 76:return r.yytext[0];case 77:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\u00C0-\uFFFF\*]*))/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:one or zero\b)/i,/^(?:one or more\b)/i,/^(?:one or many\b)/i,/^(?:1\+)/i,/^(?:\|o\b)/i,/^(?:zero or one\b)/i,/^(?:zero or more\b)/i,/^(?:zero or many\b)/i,/^(?:0\+)/i,/^(?:\}o\b)/i,/^(?:many\(0\))/i,/^(?:many\(1\))/i,/^(?:many\b)/i,/^(?:\}\|)/i,/^(?:one\b)/i,/^(?:only one\b)/i,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[34,35,36,37,38,73,74],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block:{rules:[23,24,25,26,27,28,29,30],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,31,32,33,39,40,41,42,43,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,75,76,77],inclusive:!0}}};return k})();ht.lexer=$t;function q(){this.yy={}}return h(q,"Parser"),q.prototype=ht,ht.Parser=q,new q})();ft.parser=ft;var Ht=ft,v,te=(v=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={ZERO_OR_ONE:"ZERO_OR_ONE",ZERO_OR_MORE:"ZERO_OR_MORE",ONE_OR_MORE:"ONE_OR_MORE",ONLY_ONE:"ONLY_ONE",MD_PARENT:"MD_PARENT"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=Ft,this.getAccTitle=Yt,this.setAccDescription=Pt,this.getAccDescription=Zt,this.setDiagramTitle=Gt,this.getDiagramTitle=Kt,this.getConfig=h(()=>st().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(a,c=""){return this.entities.has(a)?!this.entities.get(a)?.alias&&c&&(this.entities.get(a).alias=c,D.info(`Add alias '${c}' to entity '${a}'`)):(this.entities.set(a,{id:`entity-${a}-${this.entities.size}`,label:a,attributes:[],alias:c,shape:"erBox",look:st().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),D.info("Added new entity :",a)),this.entities.get(a)}getEntity(a){return this.entities.get(a)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(a,c){let y=this.addEntity(a),l;for(l=c.length-1;l>=0;l--)c[l].keys||(c[l].keys=[]),c[l].comment||(c[l].comment=""),y.attributes.push(c[l]),D.debug("Added attribute ",c[l].name)}addRelationship(a,c,y,l){let o=this.entities.get(a),p=this.entities.get(y);if(!o||!p)return;let _={entityA:o.id,roleA:c,entityB:p.id,relSpec:l};this.relationships.push(_),D.debug("Added new relationship :",_)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(a){this.direction=a}getCompiledStyles(a){let c=[];for(let y of a){let l=this.classes.get(y);l?.styles&&(c=[...c,...l.styles??[]].map(o=>o.trim())),l?.textStyles&&(c=[...c,...l.textStyles??[]].map(o=>o.trim()))}return c}addCssStyles(a,c){for(let y of a){let l=this.entities.get(y);if(!c||!l)return;for(let o of c)l.cssStyles.push(o)}}addClass(a,c){a.forEach(y=>{let l=this.classes.get(y);l===void 0&&(l={id:y,styles:[],textStyles:[]},this.classes.set(y,l)),c&&c.forEach(function(o){if(/color/.exec(o)){let p=o.replace("fill","bgFill");l.textStyles.push(p)}l.styles.push(o)})})}setClass(a,c){for(let y of a){let l=this.entities.get(y);if(l)for(let o of c)l.cssClasses+=" "+o}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],zt()}getData(){let a=[],c=[],y=st();for(let o of this.entities.keys()){let p=this.entities.get(o);p&&(p.cssCompiledStyles=this.getCompiledStyles(p.cssClasses.split(" ")),a.push(p))}let l=0;for(let o of this.relationships){let p={id:Ut(o.entityA,o.entityB,{prefix:"id",counter:l++}),type:"normal",curve:"basis",start:o.entityA,end:o.entityB,label:o.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:o.relSpec.cardB.toLowerCase(),arrowTypeEnd:o.relSpec.cardA.toLowerCase(),pattern:o.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:y.look,labelType:"markdown"};c.push(p)}return{nodes:a,edges:c,other:{},config:y,direction:"TB"}}},h(v,"ErDB"),v),Ct={};Qt(Ct,{draw:()=>ee});var ee=h(async function(s,a,c,y){D.info("REF0:"),D.info("Drawing er diagram (unified)",a);let{securityLevel:l,er:o,layout:p}=st(),_=y.db.getData(),E=Mt(a,l);_.type=y.type,_.layoutAlgorithm=Xt(p),_.config.flowchart.nodeSpacing=o?.nodeSpacing||140,_.config.flowchart.rankSpacing=o?.rankSpacing||80,_.direction=y.db.getDirection(),_.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],_.diagramId=a,await Vt(_,E),_.layoutAlgorithm==="elk"&&E.select(".edges").lower();let w=E.selectAll('[id*="-background"]');Array.from(w).length>0&&w.each(function(){let O=Jt(this),W=O.attr("id").replace("-background",""),L=E.select(`#${CSS.escape(W)}`);if(!L.empty()){let R=L.attr("transform");O.attr("transform",R)}}),qt.insertTitle(E,"erDiagramTitleText",o?.titleTopMargin??25,y.db.getDiagramTitle()),Bt(E,8,"erDiagram",o?.useMaxWidth??!0)},"draw"),se=h((s,a)=>{let c=Wt,y=c(s,"r"),l=c(s,"g"),o=c(s,"b");return jt(y,l,o,a)},"fade"),ie=h(s=>` .entityBox { fill: ${s.mainBkg}; stroke: ${s.nodeBorder}; } .relationshipLabelBox { fill: ${s.tertiaryColor}; opacity: 0.7; background-color: ${s.tertiaryColor}; rect { opacity: 0.5; } } .labelBkg { background-color: ${se(s.tertiaryColor,.5)}; } .edgeLabel .label { fill: ${s.nodeBorder}; font-size: 14px; } .label { font-family: ${s.fontFamily}; color: ${s.nodeTextColor||s.textColor}; } .edge-pattern-dashed { stroke-dasharray: 8,8; } .node rect, .node circle, .node ellipse, .node polygon { fill: ${s.mainBkg}; stroke: ${s.nodeBorder}; stroke-width: 1px; } .relationshipLine { stroke: ${s.lineColor}; stroke-width: 1; fill: none; } .marker { fill: none !important; stroke: ${s.lineColor} !important; stroke-width: 1; } .edgeLabel { background-color: ${s.edgeLabelBackground}; } .edgeLabel .label rect { fill: ${s.edgeLabelBackground}; } .edgeLabel .label text { fill: ${s.textColor}; } `,"getStyles"),ae=ie,he={parser:Ht,get db(){return new te},renderer:Ct,styles:ae};export{he as diagram};