UNPKG

mermaid

Version:

Markdown-ish syntax for generating flowcharts, mindmaps, sequence diagrams, class diagrams, gantt charts, git graphs and more.

214 lines • 65.3 kB
import{a as b1}from"./chunk-A3LLD7C6.mjs";import{a as d1}from"./chunk-CG7VIXT6.mjs";import{a as g1}from"./chunk-AEP47HME.mjs";import{a as l1,b as c1}from"./chunk-IJTDMCXQ.mjs";import{b as p1,c as f1}from"./chunk-UGEUIIAL.mjs";import{h as i1}from"./chunk-C7QCCU7L.mjs";import{a as h1,b as Je}from"./chunk-3NO356PZ.mjs";import{h as o1}from"./chunk-3DCBE5TA.mjs";import{b as r1,c as n1,d as a1,f as u1}from"./chunk-PNVTB6QF.mjs";import{q as Pe,t as Qe}from"./chunk-EB7S5WDG.mjs";import{$ as te,H as Ht,T as qt,U as Xt,V as Qt,W as Jt,X as Zt,Y as $t,Z as e1,aa as t1,b as zt,ba as s1,c as Kt,z as Yt}from"./chunk-VLFMOWSA.mjs";import{b as Q,h as Xe}from"./chunk-NXZFCOWJ.mjs";import{a as k}from"./chunk-V3YWWTDH.mjs";var x1="flowchart-",F1=["laneRole","laneIndex","drawnExtent"];function B1(s){if(!s||typeof s!="object")return s;let i={...s};for(let n of F1)Reflect.deleteProperty(i,n);return i}k(B1,"withoutInternalKeys");var Ze=class{constructor(){this.vertexCounter=0;this.config=te();this.diagramId="";this.vertices=new Map;this.edges=[];this.classes=new Map;this.subGraphs=[];this.subGraphLookup=new Map;this.droppedSubGraphMembers=[];this.tooltips=new Map;this.subCount=0;this.firstGraphFlag=!0;this.secCount=-1;this.posCrossRef=[];this.funs=[];this.setAccTitle=Xt;this.setAccDescription=Jt;this.setDiagramTitle=$t;this.getAccTitle=Qt;this.getAccDescription=Zt;this.getDiagramTitle=e1;this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}static{k(this,"FlowDB")}sanitizeText(i){return Ht.sanitizeText(i,this.config)}sanitizeNodeLabelType(i){switch(i){case"markdown":case"string":case"text":return i;default:return"markdown"}}setDiagramId(i){this.diagramId=i}lookUpDomId(i){for(let n of this.vertices.values())if(n.id===i)return this.diagramId?`${this.diagramId}-${n.domId}`:n.domId;return this.diagramId?`${this.diagramId}-${i}`:i}addVertex(i,n,a,r,l,g,o={},D){if(!i||i.trim().length===0)return;let d;if(D!==void 0){let f;D.includes(`
`)?f=D+`
`:f=`{
`+D+`
}`,d=B1(c1(f,{schema:l1}))}let T=this.subGraphLookup.get(i);if(T&&d){Object.keys(d).length>0&&(T.metadata={...T.metadata,...d});return}let B=this.edges.find(f=>f.id===i);if(B){let f=d;f?.animate!==void 0&&(B.animate=f.animate),f?.animation!==void 0&&(B.animation=f.animation),f?.curve!==void 0&&(B.interpolate=f.curve),f?.step!==void 0&&(Je(f)?B.step=f.step:Q.warn(`Ignoring step on edge ${i}: expected a positive integer`,f.step));return}let G,m=this.vertices.get(i);if(m===void 0&&(n===void 0&&a===void 0&&r!==void 0&&r!==null&&Q.warn(`Style applied to unknown node "${i}". This may indicate a typo. The node will be created automatically.`),m={id:i,labelType:"text",domId:x1+i+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(i,m)),this.vertexCounter++,n!==void 0?(this.config=te(),G=this.sanitizeText(n.text.trim()),m.labelType=n.type,G.startsWith('"')&&G.endsWith('"')&&(G=G.substring(1,G.length-1)),m.text=G):m.text===void 0&&(m.text=i),a!==void 0&&(m.type=a),r?.forEach(f=>{m.styles.push(f)}),l?.forEach(f=>{m.classes.push(f)}),g!==void 0&&(m.dir=g),m.props===void 0?m.props=o:o!==void 0&&Object.assign(m.props,o),d!==void 0){if(d.shape){if(d.shape!==d.shape.toLowerCase()||d.shape.includes("_"))throw new Error(`No such shape: ${d.shape}. Shape names should be lowercase.`);if(!o1(d.shape))throw new Error(`No such shape: ${d.shape}.`);m.type=d?.shape}d?.label&&(m.text=d?.label,m.labelType=this.sanitizeNodeLabelType(d?.labelType)),d?.icon&&(m.icon=d?.icon,!d.label?.trim()&&m.text===i&&(m.text="")),d?.form&&(m.form=d?.form),d?.pos&&(m.pos=d?.pos),d?.img&&(m.img=d?.img,!d.label?.trim()&&m.text===i&&(m.text="")),d?.constraint&&(m.constraint=d.constraint),d.w&&(m.assetWidth=Number(d.w)),d.h&&(m.assetHeight=Number(d.h))}}addSingleLink(i,n,a,r){let o={start:i,end:n,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};Q.info("abc78 Got edge...",o);let D=a.text;if(D!==void 0&&(o.text=this.sanitizeText(D.text.trim()),o.text.startsWith('"')&&o.text.endsWith('"')&&(o.text=o.text.substring(1,o.text.length-1)),o.labelType=this.sanitizeNodeLabelType(D.type)),a!==void 0&&(o.type=a.type,o.stroke=a.stroke,o.length=a.length>10?10:a.length),r&&!this.edges.some(d=>d.id===r))o.id=r,o.isUserDefinedId=!0;else{let d=this.edges.filter(T=>T.start===o.start&&T.end===o.end);d.length===0?o.id=Qe(o.start,o.end,{counter:0,prefix:"L"}):o.id=Qe(o.start,o.end,{counter:d.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))Q.info("Pushing edge..."),this.edges.push(o);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.maxEdges}.

Initialize mermaid with maxEdges set to a higher number to allow more edges.
You cannot set this config via configuration inside the diagram as it is a secure config.
You have to call mermaid.initialize.`)}isLinkData(i){return i!==null&&typeof i=="object"&&"id"in i&&typeof i.id=="string"}addLink(i,n,a){let r=this.isLinkData(a)?a.id.replace("@",""):void 0;Q.info("addLink",i,n,r);for(let l of i)for(let g of n){let o=l===i[i.length-1],D=g===n[0];o&&D?this.addSingleLink(l,g,a,r):this.addSingleLink(l,g,a,void 0)}}updateLinkInterpolate(i,n){i.forEach(a=>{a==="default"?this.edges.defaultInterpolate=n:this.edges[a].interpolate=n})}updateLink(i,n){i.forEach(a=>{if(typeof a=="number"&&a>=this.edges.length)throw new Error(`The index ${a} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);a==="default"?this.edges.defaultStyle=n:(this.edges[a].style=n,(this.edges[a]?.style?.length??0)>0&&!this.edges[a]?.style?.some(r=>r?.startsWith("fill"))&&this.edges[a]?.style?.push("fill:none"))})}addClass(i,n){let a=n.join().replace(/\\,/g,"\xA7\xA7\xA7").replace(/,/g,";").replace(/§§§/g,",").split(";");i.split(",").forEach(r=>{let l=this.classes.get(r);l===void 0&&(l={id:r,styles:[],textStyles:[]},this.classes.set(r,l)),a?.forEach(g=>{if(/color/.exec(g)){let o=g.replace("fill","bgFill");l.textStyles.push(o)}l.styles.push(g)})})}setDirection(i){this.direction=i.trim(),/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(i,n){for(let a of i.split(",")){let r=this.vertices.get(a);r&&r.classes.push(n);let l=this.edges.find(o=>o.id===a);l&&l.classes.push(n);let g=this.subGraphLookup.get(a);g&&g.classes.push(n)}}setTooltip(i,n){if(n!==void 0){n=this.sanitizeText(n);for(let a of i.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(a):a,n)}}setClickFun(i,n,a){if(te().securityLevel!=="loose"||n===void 0)return;let r=[];if(typeof a=="string"){r=a.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let g=0;g<r.length;g++){let o=r[g].trim();o.startsWith('"')&&o.endsWith('"')&&(o=o.substr(1,o.length-2)),r[g]=o}}r.length===0&&r.push(i);let l=this.vertices.get(i);l&&(l.haveCallback=!0,this.funs.push(()=>{let g=this.lookUpDomId(i),o=document.querySelector(`[id="${g}"]`);o!==null&&o.addEventListener("click",()=>{Pe.runFunc(n,...r)},!1)}))}setLink(i,n,a){i.split(",").forEach(r=>{let l=this.vertices.get(r);l!==void 0&&(l.link=Pe.formatUrl(n,this.config),l.linkTarget=a)}),this.setClass(i,"clickable")}getTooltip(i){return this.tooltips.get(i)}setClickEvent(i,n,a){i.split(",").forEach(r=>{this.setClickFun(r,n,a)}),this.setClass(i,"clickable")}bindFunctions(i){this.funs.forEach(n=>{n(i)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(i){let n=i1();Xe(i).select("svg").selectAll("g.node").on("mouseover",l=>{let g=Xe(l.currentTarget),o=g.attr("title");if(o===null)return;let D=l.currentTarget?.getBoundingClientRect();n.transition().duration(200).style("opacity",".9"),n.text(g.attr("title")).style("left",window.scrollX+D.left+(D.right-D.left)/2+"px").style("top",window.scrollY+D.bottom+"px"),n.html(Yt.sanitize(o)),g.classed("hover",!0)}).on("mouseout",l=>{n.transition().duration(500).style("opacity",0),Xe(l.currentTarget).classed("hover",!1)})}clear(i="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.droppedSubGraphMembers=[],this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=i,this.config=te(),qt()}setGen(i){this.version=i||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(i,n,a){let r=i.text.trim(),l=a.text;i===a&&/\s/.exec(a.text)&&(r=void 0);let o=k(f=>{let x={boolean:{},number:{},string:{}},fe=[],Z;return{nodeList:f.filter(function(W){let $=typeof W;return W.stmt&&W.stmt==="dir"?(Z=W.value,!1):W.trim()===""?!1:$ in x?x[$].hasOwnProperty(W)?!1:x[$][W]=!0:fe.includes(W)?!1:fe.push(W)}),dir:Z}},"uniq")(n.flat()),D=o.nodeList,d=o.dir,T=te().flowchart??{};if(d=d??(T.inheritDir?this.getDirection()??te().direction??void 0:void 0),this.version==="gen-1")for(let f=0;f<D.length;f++)D[f]=this.lookUpDomId(D[f]);r=r??"subGraph"+this.subCount,l=l||"",l=this.sanitizeText(l),this.subCount=this.subCount+1;let B={id:r,nodes:D,title:l.trim(),classes:[],dir:d,labelType:this.sanitizeNodeLabelType(a?.type)};Q.info("Adding",B.id,B.nodes,B.dir);let G=this.makeUniq(B,this.subGraphs).nodes;this.recordDroppedMembers(B,G),B.nodes=G.filter(f=>f!==r);let m=this.subGraphs.find(f=>f.id===r);return m?m.nodes.push(...B.nodes):this.subGraphs.push(B),this.subGraphLookup.set(r,m??B),r}recordDroppedMembers(i,n){let a=new Set(n);for(let r of i.nodes){if(a.has(r)||r===i.id)continue;let l=this.subGraphs.find(g=>g.nodes.includes(r));l&&l.id!==i.id&&!this.isNestedIn(l.id,i)&&this.droppedSubGraphMembers.push({node:r,keptBy:l.id,droppedFrom:i.id})}}isNestedIn(i,n){let a=new Set,r=i;for(;r!==void 0&&!a.has(r);){if(n.nodes.includes(r))return!0;a.add(r);let l=r;r=this.subGraphs.find(g=>g.nodes.includes(l))?.id}return!1}getPosForId(i){for(let[n,a]of this.subGraphs.entries())if(a.id===i)return n;return-1}indexNodes2(i,n){let a=this.subGraphs[n].nodes;if(this.secCount=this.secCount+1,this.secCount>2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=n,this.subGraphs[n].id===i)return{result:!0,count:0};let r=0,l=1;for(;r<a.length;){let g=this.getPosForId(a[r]);if(g>=0){let o=this.indexNodes2(i,g);if(o.result)return{result:!0,count:l+o.count};l=l+o.count}r=r+1}return{result:!1,count:l}}getDepthFirstPos(i){return this.posCrossRef[i]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(i){let n=i.trim(),a="arrow_open";switch(n[0]){case"<":a="arrow_point",n=n.slice(1);break;case"x":a="arrow_cross",n=n.slice(1);break;case"o":a="arrow_circle",n=n.slice(1);break}let r="normal";return n.includes("=")&&(r="thick"),n.includes(".")&&(r="dotted"),{type:a,stroke:r}}countChar(i,n){let a=n.length,r=0;for(let l=0;l<a;++l)n[l]===i&&++r;return r}destructEndLink(i){let n=i.trim(),a=n.slice(0,-1),r="arrow_open";switch(n.slice(-1)){case"x":r="arrow_cross",n.startsWith("x")&&(r="double_"+r,a=a.slice(1));break;case">":r="arrow_point",n.startsWith("<")&&(r="double_"+r,a=a.slice(1));break;case"o":r="arrow_circle",n.startsWith("o")&&(r="double_"+r,a=a.slice(1));break}let l="normal",g=a.length-1;a.startsWith("=")&&(l="thick"),a.startsWith("~")&&(l="invisible");let o=this.countChar(".",a);return o&&(l="dotted",g=o),{type:r,stroke:l,length:g}}destructLink(i,n){let a=this.destructEndLink(i),r;if(n){if(r=this.destructStartLink(n),r.stroke!==a.stroke)return{type:"INVALID",stroke:"INVALID"};if(r.type==="arrow_open")r.type=a.type;else{if(r.type!==a.type)return{type:"INVALID",stroke:"INVALID"};r.type="double_"+r.type}return r.type==="double_arrow"&&(r.type="double_arrow_point"),r.length=a.length,r}return a}exists(i,n){for(let a of i)if(a.nodes.includes(n))return!0;return!1}makeUniq(i,n){let a=[];return i.nodes.forEach((r,l)=>{this.exists(n,r)||a.push(i.nodes[l])}),{nodes:a}}getTypeFromVertex(i){if(i.img)return"imageSquare";if(i.icon)return i.form==="circle"?"iconCircle":i.form==="square"?"iconSquare":i.form==="rounded"?"iconRounded":"icon";switch(i.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return i.type}}findNode(i,n){return i.find(a=>a.id===n)}destructEdgeType(i){let n="none",a="arrow_point";switch(i){case"arrow_point":case"arrow_circle":case"arrow_cross":a=i;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":n=i.replace("double_",""),a=n;break}return{arrowTypeStart:n,arrowTypeEnd:a}}addNodeFromVertex(i,n,a,r,l,g){let o=a.get(i.id),D=r.get(i.id)??!1,d=this.findNode(n,i.id);if(d)d.cssStyles=i.styles,d.cssCompiledStyles=this.getCompiledStyles(i.classes),d.cssClasses=i.classes.join(" ");else{let T={id:i.id,label:i.text,labelType:i.labelType,labelStyle:"",parentId:o,padding:l.flowchart?.padding||8,cssStyles:i.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...i.classes]),cssClasses:"default "+i.classes.join(" "),dir:i.dir,domId:i.domId,look:g,link:i.link,linkTarget:i.linkTarget,tooltip:this.getTooltip(i.id),icon:i.icon,pos:i.pos,img:i.img,assetWidth:i.assetWidth,assetHeight:i.assetHeight,constraint:i.constraint};D?n.push({...T,isGroup:!0,shape:"rect"}):n.push({...T,isGroup:!1,shape:this.getTypeFromVertex(i),minWidth:l.flowchart?.minNodeWidth})}}getCompiledStyles(i){let n=[];for(let a of i){let r=this.classes.get(a);r?.styles&&(n=[...n,...r.styles??[]].map(l=>l.trim())),r?.textStyles&&(n=[...n,...r.textStyles??[]].map(l=>l.trim()))}return n}getData(){let i=te(),n=[],a=[],r=this.getSubGraphs(),l=new Map,g=new Map,o=new Map;for(let c of r)for(let h of c.nodes)this.subGraphLookup.has(h)&&o.set(h,c.id);let D=new Map,d=new Map;for(let c of r){let h=o.get(c.id);h!==void 0&&d.set(h,[...d.get(h)??[],c.id])}let T=0,B=k(c=>{D.set(c,T++);for(let h of d.get(c)??[])B(h)},"walk");for(let c of r)o.has(c.id)||B(c.id);let G=k(c=>this.subGraphLookup.get(c)?.metadata?.view==="collapsed","isCollapsed"),m=k(c=>{let h,F=new Set,_=c;for(;_!==void 0&&!F.has(_);)F.add(_),G(_)&&(h=_),_=o.get(_);return h},"outermostCollapsed"),f=new Set,x=new Map;for(let c of r){let h=m(c.id);if(h!==void 0){c.id!==h&&(f.add(c.id),x.set(c.id,h));for(let F of c.nodes)F!==h&&(f.add(F),x.set(F,h))}}for(let c=r.length-1;c>=0;c--){let h=r[c];if(!f.has(h.id)){h.nodes.length>0&&g.set(h.id,!0);for(let F of h.nodes)l.set(F,h.id)}}for(let c=r.length-1;c>=0;c--){let h=r[c];f.has(h.id)||(h.metadata?.view==="collapsed"?n.push({id:h.id,label:h.title,labelStyle:"",labelType:h.labelType,parentId:l.get(h.id),padding:8,cssCompiledStyles:this.getCompiledStyles(h.classes),cssClasses:h.classes.join(" "),shape:"collapsedGroup",dir:h.dir,isGroup:!1,look:i.look,colorIndex:D.get(h.id)}):n.push({id:h.id,label:h.title,labelStyle:"",labelType:h.labelType,parentId:l.get(h.id),padding:8,cssCompiledStyles:this.getCompiledStyles(h.classes),cssClasses:h.classes.join(" "),shape:"rect",dir:h.dir,isGroup:!0,look:i.look,colorIndex:D.get(h.id),metadata:h.metadata}))}this.getVertices().forEach(c=>{f.has(c.id)||this.addNodeFromVertex(c,n,l,g,i,i.look||"classic")});let Z=this.getEdges(),Ae=Z.reduce((c,h)=>Je(h)?Math.max(c,h.step):c,0),W=h1(i.flowchart?.stepDuration),$=i.flowchart?.stepNumbers===!0?{showStepNumber:!0}:{};Z.forEach((c,h)=>{let{arrowTypeStart:F,arrowTypeEnd:_}=this.destructEdgeType(c.type),I=[...Z.defaultStyle??[]],N=x.get(c.start)??c.start,R=x.get(c.end)??c.end;if(N===R&&(x.has(c.start)||x.has(c.end)))return;c.style&&I.push(...c.style);let P={id:Qe(N,R,{counter:h,prefix:"L"},c.id),isUserDefinedId:c.isUserDefinedId,start:N,end:R,type:c.type??"normal",label:c.text,labelType:c.labelType,labelpos:"c",thickness:c.stroke,minlen:c.length,classes:c?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:c?.stroke==="invisible"||c?.type==="arrow_open"?"none":F,arrowTypeEnd:c?.stroke==="invisible"||c?.type==="arrow_open"?"none":_,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(c.classes),labelStyle:I,style:I,pattern:c.stroke,look:i.look,animate:c.animate,animation:c.animation,...Je(c)?{step:c.step,stepCount:Ae,stepDuration:W,...$}:{},curve:c.interpolate||this.edges.defaultInterpolate||i.flowchart?.curve};a.push(P)});let M=this.droppedSubGraphMembers.length>0?{droppedSubGraphMembers:[...this.droppedSubGraphMembers]}:{};return{nodes:n,edges:a,other:M,config:i}}defaultConfig(){return s1.flowchart}};var _1=k(function(s,i){return i.db.getClasses()},"getClasses"),w1=k(async function(s,i,n,a){Q.info("REF0:"),Q.info("Drawing state diagram (v2)",i);let{securityLevel:r,flowchart:l,layout:g}=te();a.db.setDiagramId(i),Q.debug("Before getData: ");let o=a.db.getData();Q.debug("Data: ",o);let D=d1(i,r),d=a.db.getDirection();o.type=a.type,o.layoutAlgorithm=f1(g),o.direction=d,o.nodeSpacing=l?.nodeSpacing||50,o.rankSpacing=l?.rankSpacing||50,o.markers=["point","circle","cross"],o.diagramId=i,Q.debug("REF1:",o),await p1(o,D);let T=o.config.flowchart?.diagramPadding??8;Pe.insertTitle(D,"flowchartTitleText",l?.titleTopMargin||0,a.db.getDiagramTitle()),g1(D,T,"flowchart",l?.useMaxWidth||!1)},"draw"),k1={getClasses:_1,draw:w1};var ut=(function(){var s=k(function(me,p,b,A){for(b=b||{},A=me.length;A--;b[me[A]]=p);return b},"o"),i=[1,4],n=[1,3],a=[1,5],r=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],l=[2,2],g=[1,13],o=[1,14],D=[1,15],d=[1,16],T=[1,23],B=[1,25],G=[1,26],m=[1,27],f=[1,50],x=[1,49],fe=[1,29],Z=[1,30],Ae=[1,31],W=[1,32],$=[1,33],M=[1,45],c=[1,47],h=[1,43],F=[1,48],_=[1,44],I=[1,51],N=[1,46],R=[1,52],P=[1,53],Oe=[1,34],Ue=[1,35],je=[1,36],We=[1,37],ze=[1,38],ge=[1,58],w=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],se=[1,62],ie=[1,61],re=[1,63],be=[8,9,11,75,77,78],lt=[1,79],Ee=[1,92],Te=[1,97],xe=[1,96],Fe=[1,93],Be=[1,89],_e=[1,95],we=[1,91],Le=[1,98],Ve=[1,94],ve=[1,99],Ie=[1,90],De=[8,9,10,11,40,75,77,78],j=[8,9,10,11,40,46,75,77,78],H=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],ct=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],Ne=[44,60,89,102,105,106,109,111,114,115,116],ht=[1,122],dt=[1,123],Ke=[1,125],Ye=[1,124],pt=[44,60,62,74,89,102,105,106,109,111,114,115,116],ft=[1,134],gt=[1,148],bt=[1,149],kt=[1,150],mt=[1,151],At=[1,136],Dt=[1,138],yt=[1,142],Ct=[1,143],St=[1,144],Et=[1,145],Tt=[1,146],xt=[1,147],Ft=[1,152],Bt=[1,153],_t=[1,132],wt=[1,133],Lt=[1,140],Vt=[1,135],vt=[1,139],It=[1,137],$e=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],Nt=[1,155],Rt=[1,157],v=[8,9,11],q=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],y=[1,177],z=[1,173],K=[1,174],C=[1,178],S=[1,175],E=[1,176],Re=[77,116,119],L=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],Gt=[1,205],Mt=[10,106],ke=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],ne=[1,249],ae=[1,247],ue=[1,251],oe=[1,245],le=[1,246],ce=[1,248],he=[1,250],de=[1,252],Ge=[1,270],Pt=[8,9,11,106],ee=[8,9,10,11,60,84,105,106,109,110,111,112],et={trace:k(function(){},"trace"),yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeparator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,vertexStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[39,2],[39,1],[20,4],[20,5],[20,3],[20,4],[20,2],[20,2],[20,3],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:k(function(p,b,A,u,V,e,ye){var t=e.length-1;switch(V){case 2:this.$=[];break;case 3:(!Array.isArray(e[t])||e[t].length>0)&&e[t-1].push(e[t]),this.$=e[t-1];break;case 4:case 185:this.$=e[t];break;case 11:u.setDirection("TB"),this.$="TB";break;case 12:u.setDirection(e[t-1]),this.$=e[t-1];break;case 27:this.$=e[t-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=u.addSubGraph(e[t-6],e[t-1],e[t-4]);break;case 34:this.$=u.addSubGraph(e[t-3],e[t-1],e[t-3]);break;case 35:this.$=u.addSubGraph(void 0,e[t-1],void 0);break;case 37:this.$=e[t].trim(),u.setAccTitle(this.$);break;case 38:case 39:this.$=e[t].trim(),u.setAccDescription(this.$);break;case 43:this.$=e[t-1]+e[t];break;case 44:this.$=e[t];break;case 45:u.addVertex(e[t-1][e[t-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,e[t]),u.addLink(e[t-3].stmt,e[t-1],e[t-2]),this.$={stmt:e[t-1],nodes:e[t-1].concat(e[t-3].nodes)};break;case 46:u.addVertex(e[t-2][e[t-2].length-1],void 0,void 0,void 0,void 0,void 0,void 0,e[t-1]),u.addLink(e[t-4].stmt,e[t-2],e[t-3]),this.$={stmt:e[t-2],nodes:e[t-2].concat(e[t-4].nodes)};break;case 47:u.addLink(e[t-2].stmt,e[t],e[t-1]),this.$={stmt:e[t],nodes:e[t].concat(e[t-2].nodes)};break;case 48:u.addLink(e[t-3].stmt,e[t-1],e[t-2]),this.$={stmt:e[t-1],nodes:e[t-1].concat(e[t-3].nodes)};break;case 49:this.$={stmt:e[t-1],nodes:e[t-1]};break;case 50:u.addVertex(e[t-1][e[t-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,e[t]),this.$={stmt:e[t-1],nodes:e[t-1],shapeData:e[t]};break;case 51:u.addVertex(e[t-2][e[t-2].length-1],void 0,void 0,void 0,void 0,void 0,void 0,e[t-1]),this.$={stmt:e[t-2],nodes:e[t-2],shapeData:e[t-1]};break;case 52:this.$={stmt:e[t],nodes:e[t]};break;case 53:this.$=[e[t]];break;case 54:u.addVertex(e[t-5][e[t-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,e[t-4]),this.$=e[t-5].concat(e[t]);break;case 55:this.$=e[t-4].concat(e[t]);break;case 56:this.$=e[t];break;case 57:this.$=e[t-2],u.setClass(e[t-2],e[t]);break;case 58:this.$=e[t-3],u.addVertex(e[t-3],e[t-1],"square");break;case 59:this.$=e[t-3],u.addVertex(e[t-3],e[t-1],"doublecircle");break;case 60:this.$=e[t-5],u.addVertex(e[t-5],e[t-2],"circle");break;case 61:this.$=e[t-3],u.addVertex(e[t-3],e[t-1],"ellipse");break;case 62:this.$=e[t-3],u.addVertex(e[t-3],e[t-1],"stadium");break;case 63:this.$=e[t-3],u.addVertex(e[t-3],e[t-1],"subroutine");break;case 64:this.$=e[t-7],u.addVertex(e[t-7],e[t-1],"rect",void 0,void 0,void 0,Object.fromEntries([[e[t-5],e[t-3]]]));break;case 65:this.$=e[t-3],u.addVertex(e[t-3],e[t-1],"cylinder");break;case 66:this.$=e[t-3],u.addVertex(e[t-3],e[t-1],"round");break;case 67:this.$=e[t-3],u.addVertex(e[t-3],e[t-1],"diamond");break;case 68:this.$=e[t-5],u.addVertex(e[t-5],e[t-2],"hexagon");break;case 69:this.$=e[t-3],u.addVertex(e[t-3],e[t-1],"odd");break;case 70:this.$=e[t-3],u.addVertex(e[t-3],e[t-1],"trapezoid");break;case 71:this.$=e[t-3],u.addVertex(e[t-3],e[t-1],"inv_trapezoid");break;case 72:this.$=e[t-3],u.addVertex(e[t-3],e[t-1],"lean_right");break;case 73:this.$=e[t-3],u.addVertex(e[t-3],e[t-1],"lean_left");break;case 74:this.$=e[t],u.addVertex(e[t]);break;case 75:e[t-1].text=e[t],this.$=e[t-1];break;case 76:case 77:e[t-2].text=e[t-1],this.$=e[t-2];break;case 78:this.$=e[t];break;case 79:var O=u.destructLink(e[t],e[t-2]);this.$={type:O.type,stroke:O.stroke,length:O.length,text:e[t-1]};break;case 80:var O=u.destructLink(e[t],e[t-2]);this.$={type:O.type,stroke:O.stroke,length:O.length,text:e[t-1],id:e[t-3]};break;case 81:this.$={text:e[t],type:"text"};break;case 82:this.$={text:e[t-1].text+""+e[t],type:e[t-1].type};break;case 83:this.$={text:e[t],type:"string"};break;case 84:this.$={text:e[t],type:"markdown"};break;case 85:var O=u.destructLink(e[t]);this.$={type:O.type,stroke:O.stroke,length:O.length};break;case 86:var O=u.destructLink(e[t]);this.$={type:O.type,stroke:O.stroke,length:O.length,id:e[t-1]};break;case 87:this.$=e[t-1];break;case 88:this.$={text:e[t],type:"text"};break;case 89:this.$={text:e[t-1].text+""+e[t],type:e[t-1].type};break;case 90:this.$={text:e[t],type:"string"};break;case 91:case 106:this.$={text:e[t],type:"markdown"};break;case 103:this.$={text:e[t],type:"text"};break;case 104:this.$={text:e[t-1].text+""+e[t],type:e[t-1].type};break;case 105:this.$={text:e[t],type:"text"};break;case 107:this.$=e[t-4],u.addClass(e[t-2],e[t]);break;case 108:this.$=e[t-4],u.setClass(e[t-2],e[t]);break;case 109:case 117:this.$=e[t-1],u.setClickEvent(e[t-1],e[t]);break;case 110:case 118:this.$=e[t-3],u.setClickEvent(e[t-3],e[t-2]),u.setTooltip(e[t-3],e[t]);break;case 111:this.$=e[t-2],u.setClickEvent(e[t-2],e[t-1],e[t]);break;case 112:this.$=e[t-4],u.setClickEvent(e[t-4],e[t-3],e[t-2]),u.setTooltip(e[t-4],e[t]);break;case 113:this.$=e[t-2],u.setLink(e[t-2],e[t]);break;case 114:this.$=e[t-4],u.setLink(e[t-4],e[t-2]),u.setTooltip(e[t-4],e[t]);break;case 115:this.$=e[t-4],u.setLink(e[t-4],e[t-2],e[t]);break;case 116:this.$=e[t-6],u.setLink(e[t-6],e[t-4],e[t]),u.setTooltip(e[t-6],e[t-2]);break;case 119:this.$=e[t-1],u.setLink(e[t-1],e[t]);break;case 120:this.$=e[t-3],u.setLink(e[t-3],e[t-2]),u.setTooltip(e[t-3],e[t]);break;case 121:this.$=e[t-3],u.setLink(e[t-3],e[t-2],e[t]);break;case 122:this.$=e[t-5],u.setLink(e[t-5],e[t-4],e[t]),u.setTooltip(e[t-5],e[t-2]);break;case 123:this.$=e[t-4],u.addVertex(e[t-2],void 0,void 0,e[t]);break;case 124:this.$=e[t-4],u.updateLink([e[t-2]],e[t]);break;case 125:this.$=e[t-4],u.updateLink(e[t-2],e[t]);break;case 126:this.$=e[t-8],u.updateLinkInterpolate([e[t-6]],e[t-2]),u.updateLink([e[t-6]],e[t]);break;case 127:this.$=e[t-8],u.updateLinkInterpolate(e[t-6],e[t-2]),u.updateLink(e[t-6],e[t]);break;case 128:this.$=e[t-6],u.updateLinkInterpolate([e[t-4]],e[t]);break;case 129:this.$=e[t-6],u.updateLinkInterpolate(e[t-4],e[t]);break;case 130:case 132:this.$=[e[t]];break;case 131:case 133:e[t-2].push(e[t]),this.$=e[t-2];break;case 135:this.$=e[t-1]+e[t];break;case 183:this.$=e[t];break;case 184:this.$=e[t-1]+""+e[t];break;case 186:this.$=e[t-1]+""+e[t];break;case 187:this.$={stmt:"dir",value:"TB"};break;case 188:this.$={stmt:"dir",value:"BT"};break;case 189:this.$={stmt:"dir",value:"RL"};break;case 190:this.$={stmt:"dir",value:"LR"};break;case 191:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:i,10:n,12:a},{1:[3]},s(r,l,{5:6}),{4:7,9:i,10:n,12:a},{4:8,9:i,10:n,12:a},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:g,9:o,10:D,11:d,20:17,22:18,23:19,24:20,25:21,26:22,27:T,33:24,34:B,36:G,38:m,42:28,43:39,44:f,45:40,47:41,60:x,84:fe,85:Z,86:Ae,87:W,88:$,89:M,102:c,105:h,106:F,109:_,111:I,113:42,114:N,115:R,116:P,121:Oe,122:Ue,123:je,124:We,125:ze},s(r,[2,9]),s(r,[2,10]),s(r,[2,11]),{8:[1,55],9:[1,56],10:ge,15:54,18:57},s(w,[2,3]),s(w,[2,4]),s(w,[2,5]),s(w,[2,6]),s(w,[2,7]),s(w,[2,8]),{8:se,9:ie,11:re,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:se,9:ie,11:re,21:68},{8:se,9:ie,11:re,21:69},{8:se,9:ie,11:re,21:70},{8:se,9:ie,11:re,21:71},{8:se,9:ie,11:re,21:72},{8:se,9:ie,10:[1,73],11:re,21:74},s(w,[2,36]),{35:[1,75]},{37:[1,76]},s(w,[2,39]),s(be,[2,52],{18:77,39:78,10:ge,40:lt}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:Ee,44:Te,60:xe,80:[1,87],89:Fe,95:[1,84],97:[1,85],101:86,105:Be,106:_e,109:we,111:Le,114:Ve,115:ve,116:Ie,120:88},s(w,[2,187]),s(w,[2,188]),s(w,[2,189]),s(w,[2,190]),s(w,[2,191]),s(De,[2,53]),s(De,[2,56],{46:[1,100]}),s(j,[2,74],{113:113,29:[1,101],44:f,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:x,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:M,102:c,105:h,106:F,109:_,111:I,114:N,115:R,116:P}),s(H,[2,183]),s(H,[2,144]),s(H,[2,145]),s(H,[2,146]),s(H,[2,147]),s(H,[2,148]),s(H,[2,149]),s(H,[2,150]),s(H,[2,151]),s(H,[2,152]),s(H,[2,153]),s(H,[2,154]),s(r,[2,12]),s(r,[2,18]),s(r,[2,19]),{9:[1,114]},s(ct,[2,26],{18:115,10:ge}),s(w,[2,27]),{42:116,43:39,44:f,45:40,47:41,60:x,89:M,102:c,105:h,106:F,109:_,111:I,113:42,114:N,115:R,116:P},s(w,[2,40]),s(w,[2,41]),s(w,[2,42]),s(Ne,[2,78],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ht,81:dt,116:Ke,119:Ye},{75:[1,126],77:[1,127]},s(pt,[2,85]),s(w,[2,28]),s(w,[2,29]),s(w,[2,30]),s(w,[2,31]),s(w,[2,32]),{10:ft,12:gt,14:bt,27:kt,28:128,32:mt,44:At,60:Dt,75:yt,80:[1,130],81:[1,131],83:141,84:Ct,85:St,86:Et,87:Tt,88:xt,89:Ft,90:Bt,91:129,105:_t,109:wt,111:Lt,114:Vt,115:vt,116:It},s($e,l,{5:154}),s(w,[2,37]),s(w,[2,38]),s(be,[2,49],{44:Nt}),s(be,[2,50],{18:156,10:ge,40:Rt}),s(De,[2,44]),{44:f,47:158,60:x,89:M,102:c,105:h,106:F,109:_,111:I,113:42,114:N,115:R,116:P},{102:[1,159],103:160,105:[1,161]},{44:f,47:162,60:x,89:M,102:c,105:h,106:F,109:_,111:I,113:42,114:N,115:R,116:P},{44:f,47:163,60:x,89:M,102:c,105:h,106:F,109:_,111:I,113:42,114:N,115:R,116:P},s(v,[2,109],{10:[1,164],96:[1,165]}),{80:[1,166]},s(v,[2,117],{120:168,10:[1,167],14:Ee,44:Te,60:xe,89:Fe,105:Be,106:_e,109:we,111:Le,114:Ve,115:ve,116:Ie}),s(v,[2,119],{10:[1,169]}),s(q,[2,185]),s(q,[2,172]),s(q,[2,173]),s(q,[2,174]),s(q,[2,175]),s(q,[2,176]),s(q,[2,177]),s(q,[2,178]),s(q,[2,179]),s(q,[2,180]),s(q,[2,181]),s(q,[2,182]),{44:f,47:170,60:x,89:M,102:c,105:h,106:F,109:_,111:I,113:42,114:N,115:R,116:P},{30:171,67:y,80:z,81:K,82:172,116:C,117:S,118:E},{30:179,67:y,80:z,81:K,82:172,116:C,117:S,118:E},{30:181,50:[1,180],67:y,80:z,81:K,82:172,116:C,117:S,118:E},{30:182,67:y,80:z,81:K,82:172,116:C,117:S,118:E},{30:183,67:y,80:z,81:K,82:172,116:C,117:S,118:E},{30:184,67:y,80:z,81:K,82:172,116:C,117:S,118:E},{109:[1,185]},{30:186,67:y,80:z,81:K,82:172,116:C,117:S,118:E},{30:187,65:[1,188],67:y,80:z,81:K,82:172,116:C,117:S,118:E},{30:189,67:y,80:z,81:K,82:172,116:C,117:S,118:E},{30:190,67:y,80:z,81:K,82:172,116:C,117:S,118:E},{30:191,67:y,80:z,81:K,82:172,116:C,117:S,118:E},s(H,[2,184]),s(r,[2,20]),s(ct,[2,25]),s(be,[2,47],{39:192,18:193,10:ge,40:lt}),s(Ne,[2,75],{10:[1,194]}),{10:[1,195]},{30:196,67:y,80:z,81:K,82:172,116:C,117:S,118:E},{77:[1,197],79:198,116:Ke,119:Ye},s(Re,[2,81]),s(Re,[2,83]),s(Re,[2,84]),s(Re,[2,170]),s(Re,[2,171]),{76:199,79:121,80:ht,81:dt,116:Ke,119:Ye},s(pt,[2,86]),{8:se,9:ie,10:ft,11:re,12:gt,14:bt,21:201,27:kt,29:[1,200],32:mt,44:At,60:Dt,75:yt,83:141,84:Ct,85:St,86:Et,87:Tt,88:xt,89:Ft,90:Bt,91:202,105:_t,109:wt,111:Lt,114:Vt,115:vt,116:It},s(L,[2,103]),s(L,[2,105]),s(L,[2,106]),s(L,[2,159]),s(L,[2,160]),s(L,[2,161]),s(L,[2,162]),s(L,[2,163]),s(L,[2,164]),s(L,[2,165]),s(L,[2,166]),s(L,[2,167]),s(L,[2,168]),s(L,[2,169]),s(L,[2,92]),s(L,[2,93]),s(L,[2,94]),s(L,[2,95]),s(L,[2,96]),s(L,[2,97]),s(L,[2,98]),s(L,[2,99]),s(L,[2,100]),s(L,[2,101]),s(L,[2,102]),{6:11,7:12,8:g,9:o,10:D,11:d,20:17,22:18,23:19,24:20,25:21,26:22,27:T,32:[1,203],33:24,34:B,36:G,38:m,42:28,43:39,44:f,45:40,47:41,60:x,84:fe,85:Z,86:Ae,87:W,88:$,89:M,102:c,105:h,106:F,109:_,111:I,113:42,114:N,115:R,116:P,121:Oe,122:Ue,123:je,124:We,125:ze},{10:ge,18:204},s(be,[2,51],{44:Gt}),s(De,[2,43]),{10:[1,206],44:f,60:x,89:M,102:c,105:h,106:F,109:_,111:I,113:113,114:N,115:R,116:P},{10:[1,207]},{10:[1,208],106:[1,209]},s(Mt,[2,130]),{10:[1,210],44:f,60:x,89:M,102:c,105:h,106:F,109:_,111:I,113:113,114:N,115:R,116:P},{10:[1,211],44:f,60:x,89:M,102:c,105:h,106:F,109:_,111:I,113:113,114:N,115:R,116:P},{80:[1,212]},s(v,[2,111],{10:[1,213]}),s(v,[2,113],{10:[1,214]}),{80:[1,215]},s(q,[2,186]),{80:[1,216],98:[1,217]},s(De,[2,57],{113:113,44:f,60:x,89:M,102:c,105:h,106:F,109:_,111:I,114:N,115:R,116:P}),{31:[1,218],67:y,82:219,116:C,117:S,118:E},s(ke,[2,88]),s(ke,[2,90]),s(ke,[2,91]),s(ke,[2,155]),s(ke,[2,156]),s(ke,[2,157]),s(ke,[2,158]),{49:[1,220],67:y,82:219,116:C,117:S,118:E},{30:221,67:y,80:z,81:K,82:172,116:C,117:S,118:E},{51:[1,222],67:y,82:219,116:C,117:S,118:E},{53:[1,223],67:y,82:219,116:C,117:S,118:E},{55:[1,224],67:y,82:219,116:C,117:S,118:E},{57:[1,225],67:y,82:219,116:C,117:S,118:E},{60:[1,226]},{64:[1,227],67:y,82:219,116:C,117:S,118:E},{66:[1,228],67:y,82:219,116:C,117:S,118:E},{30:229,67:y,80:z,81:K,82:172,116:C,117:S,118:E},{31:[1,230],67:y,82:219,116:C,117:S,118:E},{67:y,69:[1,231],71:[1,232],82:219,116:C,117:S,118:E},{67:y,69:[1,234],71:[1,233],82:219,116:C,117:S,118:E},s(be,[2,45],{18:235,10:ge,40:Rt}),s(be,[2,48],{44:Nt}),s(Ne,[2,77]),s(Ne,[2,76]),{62:[1,236],67:y,82:219,116:C,117:S,118:E},s(Ne,[2,79]),s(Re,[2,82]),{77:[1,237],79:198,116:Ke,119:Ye},{30:238,67:y,80:z,81:K,82:172,116:C,117:S,118:E},s($e,l,{5:239}),s(L,[2,104]),s(w,[2,35]),{43:240,44:f,45:40,47:41,60:x,89:M,102:c,105:h,106:F,109:_,111:I,113:42,114:N,115:R,116:P},{10:ge,18:241},{10:ne,60:ae,84:ue,92:242,105:oe,107:243,108:244,109:le,110:ce,111:he,112:de},{10:ne,60:ae,84:ue,92:253,104:[1,254],105:oe,107:243,108:244,109:le,110:ce,111:he,112:de},{10:ne,60:ae,84:ue,92:255,104:[1,256],105:oe,107:243,108:244,109:le,110:ce,111:he,112:de},{105:[1,257]},{10:ne,60:ae,84:ue,92:258,105:oe,107:243,108:244,109:le,110:ce,111:he,112:de},{44:f,47:259,60:x,89:M,102:c,105:h,106:F,109:_,111:I,113:42,114:N,115:R,116:P},s(v,[2,110]),{80:[1,260]},{80:[1,261],98:[1,262]},s(v,[2,118]),s(v,[2,120],{10:[1,263]}),s(v,[2,121]),s(j,[2,58]),s(ke,[2,89]),s(j,[2,59]),{51:[1,264],67:y,82:219,116:C,117:S,118:E},s(j,[2,66]),s(j,[2,61]),s(j,[2,62]),s(j,[2,63]),{109:[1,265]},s(j,[2,65]),s(j,[2,67]),{66:[1,266],67:y,82:219,116:C,117:S,118:E},s(j,[2,69]),s(j,[2,70]),s(j,[2,72]),s(j,[2,71]),s(j,[2,73]),s(be,[2,46],{44:Gt}),s([10,44,60,89,102,105,106,109,111,114,115,116],[2,87]),s(Ne,[2,80]),{31:[1,267],67:y,82:219,116:C,117:S,118:E},{6:11,7:12,8:g,9:o,10:D,11:d,20:17,22:18,23:19,24:20,25:21,26:22,27:T,32:[1,268],33:24,34:B,36:G,38:m,42:28,43:39,44:f,45:40,47:41,60:x,84:fe,85:Z,86:Ae,87:W,88:$,89:M,102:c,105:h,106:F,109:_,111:I,113:42,114:N,115:R,116:P,121:Oe,122:Ue,123:je,124:We,125:ze},s(De,[2,55]),{43:269,44:f,45:40,47:41,60:x,89:M,102:c,105:h,106:F,109:_,111:I,113:42,114:N,115:R,116:P},s(v,[2,123],{106:Ge}),s(Pt,[2,132],{108:271,10:ne,60:ae,84:ue,105:oe,109:le,110:ce,111:he,112:de}),s(ee,[2,134]),s(ee,[2,136]),s(ee,[2,137]),s(ee,[2,138]),s(ee,[2,139]),s(ee,[2,140]),s(ee,[2,141]),s(ee,[2,142]),s(ee,[2,143]),s(v,[2,124],{106:Ge}),{10:[1,272]},s(v,[2,125],{106:Ge}),{10:[1,273]},s(Mt,[2,131]),s(v,[2,107],{106:Ge}),s(v,[2,108],{113:113,44:f,60:x,89:M,102:c,105:h,106:F,109:_,111:I,114:N,115:R,116:P}),s(v,[2,112]),s(v,[2,114],{10:[1,274]}),s(v,[2,115]),{98:[1,275]},{51:[1,276]},{62:[1,277]},{66:[1,278]},{8:se,9:ie,11:re,21:279},s(w,[2,34]),s(De,[2,54]),{10:ne,60:ae,84:ue,105:oe,107:280,108:244,109:le,110:ce,111:he,112:de},s(ee,[2,135]),{14:Ee,44:Te,60:xe,89:Fe,101:281,105:Be,106:_e,109:we,111:Le,114:Ve,115:ve,116:Ie,120:88},{14:Ee,44:Te,60:xe,89:Fe,101:282,105:Be,106:_e,109:we,111:Le,114:Ve,115:ve,116:Ie,120:88},{98:[1,283]},s(v,[2,122]),s(j,[2,60]),{30:284,67:y,80:z,81:K,82:172,116:C,117:S,118:E},s(j,[2,68]),s($e,l,{5:285}),s(Pt,[2,133],{108:271,10:ne,60:ae,84:ue,105:oe,109:le,110:ce,111:he,112:de}),s(v,[2,128],{120:168,10:[1,286],14:Ee,44:Te,60:xe,89:Fe,105:Be,106:_e,109:we,111:Le,114:Ve,115:ve,116:Ie}),s(v,[2,129],{120:168,10:[1,287],14:Ee,44:Te,60:xe,89:Fe,105:Be,106:_e,109:we,111:Le,114:Ve,115:ve,116:Ie}),s(v,[2,116]),{31:[1,288],67:y,82:219,116:C,117:S,118:E},{6:11,7:12,8:g,9:o,10:D,11:d,20:17,22:18,23:19,24:20,25:21,26:22,27:T,32:[1,289],33:24,34:B,36:G,38:m,42:28,43:39,44:f,45:40,47:41,60:x,84:fe,85:Z,86:Ae,87:W,88:$,89:M,102:c,105:h,106:F,109:_,111:I,113:42,114:N,115:R,116:P,121:Oe,122:Ue,123:je,124:We,125:ze},{10:ne,60:ae,84:ue,92:290,105:oe,107:243,108:244,109:le,110:ce,111:he,112:de},{10:ne,60:ae,84:ue,92:291,105:oe,107:243,108:244,109:le,110:ce,111:he,112:de},s(j,[2,64]),s(w,[2,33]),s(v,[2,126],{106:Ge}),s(v,[2,127],{106:Ge})],defaultActions:{},parseError:k(function(p,b){if(b.recoverable)this.trace(p);else{var A=new Error(p);throw A.hash=b,A}},"parseError"),parse:k(function(p){var b=this,A=[0],u=[],V=[null],e=[],ye=this.table,t="",O=0,Ot=0,Ut=0,C1=2,jt=1,S1=e.slice.call(arguments,1),U=Object.create(this.lexer),Ce={yy:{}};for(var st in this.yy)Object.prototype.hasOwnProperty.call(this.yy,st)&&(Ce.yy[st]=this.yy[st]);U.setInput(p,Ce.yy),Ce.yy.lexer=U,Ce.yy.parser=this,typeof U.yylloc>"u"&&(U.yylloc={});var it=U.yylloc;e.push(it);var E1=U.options&&U.options.ranges;typeof Ce.yy.parseError=="function"?this.parseError=Ce.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function N1(X){A.length=A.length-2*X,V.length=V.length-X,e.length=e.length-X}k(N1,"popStack");function T1(){var X;return X=u.pop()||U.lex()||jt,typeof X!="number"&&(X instanceof Array&&(u=X,X=u.pop()),X=b.symbols_[X]||X),X}k(T1,"lex");for(var Y,rt,Se,J,R1,nt,Me={},He,pe,Wt,qe;;){if(Se=A[A.length-1],this.defaultActions[Se]?J=this.defaultActions[Se]:((Y===null||typeof Y>"u")&&(Y=T1()),J=ye[Se]&&ye[Se][Y]),typeof J>"u"||!J.length||!J[0]){var at="";qe=[];for(He in ye[Se])this.terminals_[He]&&He>C1&&qe.push("'"+this.terminals_[He]+"'");U.showPosition?at="Parse error on line "+(O+1)+`:
`+U.showPosition()+`
Expecting `+qe.join(", ")+", got '"+(this.terminals_[Y]||Y)+"'":at="Parse error on line "+(O+1)+": Unexpected "+(Y==jt?"end of input":"'"+(this.terminals_[Y]||Y)+"'"),this.parseError(at,{text:U.match,token:this.terminals_[Y]||Y,line:U.yylineno,loc:it,expected:qe})}if(J[0]instanceof Array&&J.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Se+", token: "+Y);switch(J[0]){case 1:A.push(Y),V.push(U.yytext),e.push(U.yylloc),A.push(J[1]),Y=null,rt?(Y=rt,rt=null):(Ot=U.yyleng,t=U.yytext,O=U.yylineno,it=U.yylloc,Ut>0&&Ut--);break;case 2:if(pe=this.productions_[J[1]][1],Me.$=V[V.length-pe],Me._$={first_line:e[e.length-(pe||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(pe||1)].first_column,last_column:e[e.length-1].last_column},E1&&(Me._$.range=[e[e.length-(pe||1)].range[0],e[e.length-1].range[1]]),nt=this.performAction.apply(Me,[t,Ot,O,Ce.yy,J[1],V,e].concat(S1)),typeof nt<"u")return nt;pe&&(A=A.slice(0,-1*pe*2),V=V.slice(0,-1*pe),e=e.slice(0,-1*pe)),A.push(this.productions_[J[1]][0]),V.push(Me.$),e.push(Me._$),Wt=ye[A[A.length-2]][A[A.length-1]],A.push(Wt);break;case 3:return!0}}return!0},"parse")},y1=(function(){var me={EOF:1,parseError:k(function(b,A){if(this.yy.parser)this.yy.parser.parseError(b,A);else throw new Error(b)},"parseError"),setInput:k(function(p,b){return this.yy=b||this.yy||{},this._input=p,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:k(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var b=p.match(/(?:\r\n?|\n).*/g);return b?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:k(function(p){var b=p.length,A=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b),this.offset-=b;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),A.length-1&&(this.yylineno-=A.length-1);var V=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:A?(A.length===u.length?this.yylloc.first_column:0)+u[u.length-A.length].length-A[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[V[0],V[0]+this.yyleng-b]),this.yyleng=this.yytext.length,this},"unput"),more:k(function(){return this._more=!0,this},"more"),reject:k(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:k(function(p){this.unput(this.match.slice(p))},"less"),pastInput:k(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:k(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:k(function(){var p=this.pastInput(),b=new Array(p.length+1).join("-");return p+this.upcomingInput()+`
`+b+"^"},"showPosition"),test_match:k(function(p,b){var A,u,V;if(this.options.backtrack_lexer&&(V={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&&(V.yylloc.range=this.yylloc.range.slice(0))),u=p[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+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,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(p[0].length),this.matched+=p[0],A=this.performAction.call(this,this.yy,this,b,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),A)return A;if(this._backtrack){for(var e in V)this[e]=V[e];return!1}return!1},"test_match"),next:k(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,b,A,u;this._more||(this.yytext="",this.match="");for(var V=this._currentRules(),e=0;e<V.length;e++)if(A=this._input.match(this.rules[V[e]]),A&&(!b||A[0].length>b[0].length)){if(b=A,u=e,this.options.backtrack_lexer){if(p=this.test_match(A,V[e]),p!==!1)return p;if(this._backtrack){b=!1;continue}else return!1}else if(!this.options.flex)break}return b?(p=this.test_match(b,V[u]),p!==!1?p:!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:k(function(){var b=this.next();return b||this.lex()},"lex"),begin:k(function(b){this.conditionStack.push(b)},"begin"),popState:k(function(){var b=this.conditionStack.length-1;return b>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:k(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:k(function(b){return b=this.conditionStack.length-1-Math.abs(b||0),b>=0?this.conditionStack[b]:"INITIAL"},"topState"),pushState:k(function(b){this.begin(b)},"pushState"),stateStackSize:k(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:k(function(b,A,u,V){var e=V;switch(u){case 0:return this.begin("acc_title"),34;break;case 1:return this.popState(),"acc_title_value";break;case 2:return this.begin("acc_descr"),36;break;case 3:return this.popState(),"acc_descr_value";break;case 4:this.begin("acc_descr_multiline");break;case 5:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),A.yytext="",40;break;case 8:return this.pushState("shapeDataStr"),40;break;case 9:return this.popState(),40;break;case 10:let ye=/\n\s*/g;return A.yytext=A.yytext.replace(ye,"<br/>"),40;break;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return b.lex.firstGraph()&&this.begin("dir"),12;break;case 36:return b.lex.firstGraph()&&this.begin("dir"),12;break;case 37:return b.lex.firstGraph()&&this.begin("dir"),12;break;case 38:return b.lex.firstGraph()&&this.begin("dir"),12;break;case 39:return 27;case 40:return 32;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return 98;case 45:return this.popState(),13;break;case 46:return this.popState(),14;break;case 47:return this.popState(),14;break;case 48:return this.popState(),14;break;case 49:return this.popState(),14;break;case 50:return this.popState(),14;break;case 51:return this.popState(),14;break;case 52:return this.popState(),14;break;case 53:return this.popState(),14;break;case 54:return this.popState(),14;break;case 55:return this.popState(),14;break;case 56:return 121;case 57:return 122;case 58:return 123;case 59:return 124;case 60:return 125;case 61:return 78;case 62:return 105;case 63:return 111;case 64:return 46;case 65:return 60;case 66:return 44;case 67:return 8;case 68:return 106;case 69:return 115;case 70:return this.popState(),77;break;case 71:return this.pushState("edgeText"),75;break;case 72:return 119;case 73:return this.popState(),77;break;case 74:return this.pushState("thickEdgeText"),75;break;case 75:return 119;case 76:return this.popState(),77;break;case 77:return this.pushState("dottedEdgeText"),75;break;case 78:return 119;case 79:return 77;case 80:return this.popState(),53;break;case 81:return"TEXT";case 82:return this.pushState("ellipseText"),52;break;case 83:return this.popState(),55;break;case 84:return this.pushState("text"),54;break;case 85:return this.popState(),57;break;case 86:return this.pushState("text"),56;break;case 87:return 58;case 88:return this.pushState("text"),67;break;case 89:return this.popState(),64;break;case 90:return this.pushState("text"),63;break;case 91:return this.popState(),49;break;case 92:return this.pushState("text"),48;break;case 93:return this.popState(),69;break;case 94:return this.popState(),71;break;case 95:return 117;case 96:return this.pushState("trapText"),68;break;case 97:return this.pushState("trapText"),70;break;case 98:return 118;case 99:return 67;case 100:return 90;case 101:return"SEP";case 102:return 89;case 103:return 115;case 104:return 111;case 105:return 44;case 106:return 109;case 107:return 114;case 108:return 116;case 109:return this.popState(),62;break;case 110:return this.pushState("text"),62;break;case 111:return this.popState(),51;break;case 112:return this.pushState("text"),50;break;case 113:return this.popState(),31;break;case 114:return this.pushState("text"),29;break;case 115:return this.popState(),66;break;case 116:return this.pushState("text"),65;break;case 117:return"TEXT";case 118:return"QUOTE";case 119:return 9;case 120:return 10;case 121:return 11}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:@\{)/,/^(?:["])/,/^(?:["])/,/^(?:[^\"]+)/,/^(?:[^}^"]+)/,/^(?:\})/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["][`])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:["])/,/^(?:style\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\b)/,/^(?:class\b)/,/^(?:href[\s])/,/^(?:click[\s]+)/,/^(?:[\s\n])/,/^(?:[^\s\n]*)/,/^(?:flowchart-elk\b)/,/^(?:swimlane-beta\b)/,/^(?:graph\b)/,/^(?:flowchart\b)/,/^(?:subgraph\b)/,/^(?:end\b\s*)/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:(\r?\n)*\s*\n)/,/^(?:\s*LR\b)/,/^(?:\s*RL\b)/,/^(?:\s*TB\b)/,/^(?:\s*BT\b)/,/^(?:\s*TD\b)/,/^(?:\s*BR\b)/,/^(?:\s*<)/,/^(?:\s*>)/,/^(?:\s*\^)/,/^(?:\s*v\b)/,/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"\[\]\(\)\{\}\|]+@(?=[^\{\"]))/,/^(?:[0-9]+)/,/^(?:#)/,/^(?::::)/,/^(?::)/,/^(?:&)/,/^(?:;)/,/^(?:,)/,/^(?:\*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:[^-]|-(?!-)+)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:[^=]|=(?!))/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:[^\.]|\.(?!))/,/^(?:\s*~~[\~]+\s*)/,/^(?:[-/\)][\)])/,/^(?:[^\(\)\[\]\{\}]|!\)+)/,/^(?:\(-)/,/^(?:\]\))/,/^(?:\(\[)/,/^(?:\]\])/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:>)/,/^(?:\)\])/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\(\(\()/,/^(?:[\\(?=\])][\]])/,/^(?:\/(?=\])\])/,/^(?:\/(?!\])|\\(?!\])|[^\\\[\]\(\)\{\}\/]+)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:<)/,/^(?:>)/,/^(?:\^)/,/^(?:\\\|)/,/^(?:v\b)/,/^(?:\*)/,/^(?:#)/,/^(?:&)/,/^(?:([A-Za-z0-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])/,/^(?:\|)/,/^(?:\|)/,/^(?:\))/,/^(?:\()/,/^(?:\])/,/^(?:\[)/,/^(?:(\}))/,/^(?:\{)/,/^(?:[^\[\]\(\)\{\}\|\"]+)/,/^(?:")/,/^(?:(\r?\n)+)/,/^(?:[^\S\n\r]+)/,/^(?:$)/],conditions:{shapeDataEndBracket:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeData:{rules:[8,11,12,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackargs:{rules:[17,18,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackname:{rules:[14,15,16,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},href:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},click:{rules:[21,24,33,34,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dottedEdgeText:{rules:[21,24,76,78,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},thickEdgeText:{rules:[21,24,73,75,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},edgeText:{rules:[21,24,70,72,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},trapText:{rules:[21,24,79,82,84,86,90,92,93,94,95,96,97,110,112,114,116],inclusive:!1},ellipseText:{rules:[21,24,79,80,81,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},text:{rules:[21,24,79,82,83,84,85,86,89,90,91,92,96,97,109,110,111,112,113,114,115,116,117],inclusive:!1},vertex:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dir:{rules:[21,24,45,46,47,48,49,50,51,52,53,54,55,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr:{rules:[3,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_title:{rules:[1,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},md_string:{rules:[19,20,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},string:{rules:[21,22,23,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,44,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,74,76,77,79,82,84,86,87,88,90,92,96,97,98,99,100,101,102,103,104,105,106,107,108,110,112,114,116,118,119,120,121],inclusive:!0}}};return me})();et.lexer=y1;function tt(){this.yy={}}return k(tt,"Parser"),tt.prototype=et,et.Parser=tt,new tt})();ut.parser=ut;var ot=ut;var m1=Object.assign({},ot);m1.parse=s=>{let i=s.replace(/}\s*\n/g,`}
`);return ot.parse(i)};var A1=m1;var L1=k(s=>{let{theme:i,bkgColorArray:n,borderColorArray:a}=s;if(!n1(i,a))return"";let r=a1(s.look),l=r1(n),g="";for(let o=0;o<u1(s.THEME_COLOR_LIMIT,a);o++){let D=a[o%a.length],d=l?`fill: ${n[o%n.length]};`:"",T=`[data-look="${r}"][data-color-id="color-${o}"]`,B=k(m=>`${T}.node ${m}, ${T}.rough-node ${m}`,"collapsedRule"),G=k(m=>`${T}.swimlane.cluster .swimlane-title${m}, ${T}.swimlane.cluster .swimlane-body${m}`,"laneRule");g+=`

    ${T}.cluster:not(.swimlane) rect {
      stroke: ${D};
      ${d}
    }

    ${T}.cluster:not(.swimlane) path {
      stroke: ${D};
      ${d}
    }

    /* Lane, classic and neo. */
    ${T}.swimlane.cluster rect.swimlane-title,
    ${T}.swimlane.cluster rect.swimlane-body {
      stroke: ${D};
      ${d}
    }

    /* Lane, handDrawn: roughjs emits the hachure fill first, then the outline. */
    ${G(" path:nth-of-type(2)")} {
      stroke: ${D};
    }
${l?`
    /* A roughjs fill is drawn as lines, so the lane fill is a stroke here. */
    ${G(" path:first-of-type")} {
      stroke: ${n[o%n.length]};
    }
`:""}
    ${B(".collapsed-group")},
    ${B(".collapsed-group path")} {
      stroke: ${D};
      ${d}
    }

    /* The ellipsis dots and the separator take clusterBorder further down, so without
       these the container is palette-coloured while its own markers are not. */
    ${B(".collapsed-indicator")} {
      fill: ${D};
    }

    ${B(".collapsed-separator")} {
      stroke: ${D};
    }
    `}return g},"genColor"),V1=k((s,i)=>{let n=Kt,a=n(s,"r"),r=n(s,"g"),l=n(s,"b");return zt(a,r,l,i)},"fade"),v1=k(s=>`${L1(s)}
  .label {
    font-family: ${s.fontFamily};
    color: ${s.nodeTextColor||s.textColor};
  }
  .cluster-label text {
    fill: ${s.titleColor};
  }
  .cluster-label span {
    color: ${s.titleColor};
  }
  .cluster-label span p {
    background-color: transparent;
  }

  .label text,span {
    fill: ${s.nodeTextColor||s.textColor};
    color: ${s.nodeTextColor||s.textColor};
  }

  .node rect,
  .node circle,
  .node ellipse,
  .node polygon,
  .node path {
    fill: ${s.mainBkg};
    stroke: ${s.nodeBorder};
    stroke-width: ${s.strokeWidth??1}px;
  }
  .rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label {
    text-anchor: middle;
  }

  .node .katex path {
    fill: #000;
    stroke: #000;
    stroke-width: 1px;
  }

  .rough-node .label,.node .label, .image-shape .label, .icon-shape .label {
    text-align: center;
  }
  .node.clickable {
    cursor: pointer;
  }


  .root .anchor path {
    fill: ${s.lineColor} !important;
    stroke-width: 0;
    stroke: ${s.lineColor};
  }

  .arrowheadPath {
    fill: ${s.arrowheadColor};
  }

  .edgePaths .path {
    stroke: ${s.lineColor};
    stroke-width: ${s.strokeWidth??2}px;
  }

  .flowchart-link {
    stroke: ${s.lineColor};
    fill: none;
  }

  .edgeLabel {
    background-color: ${s.edgeLabelBackground};
    p {
      background-color: ${s.edgeLabelBackground};
    }
    rect {
      opacity: 0.5;
      background-color: ${s.edgeLabelBackground};
      fill: ${s.edgeLabelBackground};
    }
    text-align: center;
  }

  /* For html labels only */
  .labelBkg {
    background-color: ${V1(s.edgeLabelBackground,.5)};
    // background-color:
  }

  .cluster rect {
    fill: ${s.clusterBkg};
    stroke: ${s.clusterBorder};
    stroke-width: 1px;
  }

  .cluster text {
    fill: ${s.titleColor};
  }

  .cluster span {
    color: ${s.titleColor};
  }
  /* .cluster div {
    color: ${s.titleColor};
  } */

  /* Collapsed subgraph node (@{ view: collapsed }) */
  .node .collapsed-indicator {
    fill: ${s.clusterBorder};
    stroke: none;
    opacity: 0.6;
  }

  .node .collapsed-separator {
    stroke: ${s.clusterBorder};
    stroke-width: 0.75px;
  }

  div.mermaidTooltip {
    position: absolute;
    text-align: center;
    max-width: 200px;
    padding: 2px;
    font-family: ${s.fontFamily};
    font-size: 12px;
    background: ${s.tertiaryColor};
    border: 1px solid ${s.border2};
    border-radius: 2px;
    pointer-events: none;
    z-index: 100;
  }

  .flowchartTitleText {
    text-anchor: middle;
    font-size: 18px;
    fill: ${s.textColor};
  }

  rect.text {
    fill: none;
    stroke-width: 0;
  }

  .icon-shape, .image-shape {
    background-color: ${s.edgeLabelBackground};
    p {
      background-color: ${s.edgeLabelBackground};
      padding: 2px;
    }
    .label rect {
      opacity: 0.5;
      background-color: ${s.edgeLabelBackground};
      fill: ${s.edgeLabelBackground};
    }
    text-align: center;
  }
  ${b1()}
`,"getStyles"),D1=v1;var I1=k(({styles:s=D1}={})=>({parser:A1,get db(){return new Ze},renderer:k1,styles:s,init:k(i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,t1({flowchart:{arrowMarkerAbsolute:i.arrowMarkerAbsolute}})},"init")}),"createFlowDiagram"),ms=I1();export{D1 as a,I1 as b,ms as c};