UNPKG

@asyncapi/studio

Version:

One place that allows you to develop an AsyncAPI document, validate it, convert it to the latest version, preview the documentation and visualize the events flow.

19 lines (17 loc) 62.9 kB
"use strict";exports.id=6082,exports.ids=[6082],exports.modules={66881:(t,e,s)=>{s.d(e,{Z:()=>a});var i=s(1249),r=s(67444);let a=(t,e)=>i.Z.lang.round(r.Z.parse(t)[e])},86720:(t,e,s)=>{s.d(e,{q:()=>a});var i=s(17605),r=s(25329),a=(0,i.eW)((t,e)=>{let s;return"sandbox"===e&&(s=(0,r.Ys)("#i"+t)),("sandbox"===e?(0,r.Ys)(s.nodes()[0].contentDocument.body):(0,r.Ys)("body")).select(`[id="${t}"]`)},"getDiagramElement")},2840:(t,e,s)=>{s.d(e,{G:()=>i});var i=(0,s(17605).eW)(()=>` /* Font Awesome icon styling - consolidated */ .label-icon { display: inline-block; height: 1em; overflow: visible; vertical-align: -0.125em; } .node .label-icon path { fill: currentColor; stroke: revert; stroke-width: revert; } `,"getIconStyles")},96431:(t,e,s)=>{s.d(e,{AD:()=>p,AE:()=>c,Mu:()=>u,N6:()=>g,O:()=>l,kc:()=>d,rB:()=>h,yU:()=>o});var i=s(51635),r=s(17605),a=s(84414),n=s(25329),u=(0,r.eW)((t,e)=>{let s=t.append("rect");if(s.attr("x",e.x),s.attr("y",e.y),s.attr("fill",e.fill),s.attr("stroke",e.stroke),s.attr("width",e.width),s.attr("height",e.height),e.name&&s.attr("name",e.name),e.rx&&s.attr("rx",e.rx),e.ry&&s.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)s.attr(t,e.attrs[t]);return e.class&&s.attr("class",e.class),s},"drawRect"),l=(0,r.eW)((t,e)=>{u(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),o=(0,r.eW)((t,e)=>{let s=e.text.replace(i.Vw," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),e.class&&r.attr("class",e.class);let a=r.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(s),r},"drawText"),c=(0,r.eW)((t,e,s,i)=>{let r=t.append("image");r.attr("x",e),r.attr("y",s);let n=(0,a.N)(i);r.attr("xlink:href",n)},"drawImage"),h=(0,r.eW)((t,e,s,i)=>{let r=t.append("use");r.attr("x",e),r.attr("y",s);let n=(0,a.N)(i);r.attr("xlink:href",`#${n}`)},"drawEmbeddedImage"),d=(0,r.eW)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=(0,r.eW)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),g=(0,r.eW)(()=>{let t=(0,n.Ys)(".mermaidTooltip");return t.empty()&&(t=(0,n.Ys)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")},76786:(t,e,s)=>{s.d(e,{j:()=>a});var i=s(51635),r=s(17605),a=(0,r.eW)((t,e,s,a)=>{t.attr("class",s);let{width:l,height:o,x:c,y:h}=n(t,e);(0,i.v2)(t,o,l,a);let d=u(c,h,l,o,e);t.attr("viewBox",d),r.cM.debug(`viewBox configured: ${d} with padding: ${e}`)},"setupViewPortForSVG"),n=(0,r.eW)((t,e)=>{let s=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*e,height:s.height+2*e,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),u=(0,r.eW)((t,e,s,i,r)=>`${t-r} ${e-r} ${s} ${i}`,"createViewBox")},96082:(t,e,s)=>{s.d(e,{diagram:()=>D});var i=s(2840),r=s(55855),a=s(96431),n=s(86720),u=s(76786),l=s(73043);s(19669),s(88441);var o=s(70116);s(73943),s(65732),s(64890);var c=s(63951),h=s(51635),d=s(17605),p=s(25329),g=s(14165),y=s(66881),A=s(20299),b=class{constructor(){this.vertexCounter=0,this.config=(0,h.nV)(),this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=h.GN,this.setAccDescription=h.U$,this.setDiagramTitle=h.g2,this.getAccTitle=h.eu,this.getAccDescription=h.Mx,this.getDiagramTitle=h.Kr,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{(0,d.eW)(this,"FlowDB")}sanitizeText(t){return h.SY.sanitizeText(t,this.config)}sanitizeNodeLabelType(t){switch(t){case"markdown":case"string":case"text":return t;default:return"markdown"}}lookUpDomId(t){for(let e of this.vertices.values())if(e.id===t)return e.domId;return t}addVertex(t,e,s,i,a,n,u={},l){let c,d;if(!t||0===t.trim().length)return;if(void 0!==l){let t;t=l.includes("\n")?l+"\n":"{\n"+l+"\n}",c=(0,r.z)(t,{schema:r.A})}let p=this.edges.find(e=>e.id===t);if(p){let t=c;t?.animate!==void 0&&(p.animate=t.animate),t?.animation!==void 0&&(p.animation=t.animation),t?.curve!==void 0&&(p.interpolate=t.curve);return}let g=this.vertices.get(t);if(void 0===g&&(g={id:t,labelType:"text",domId:"flowchart-"+t+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(t,g)),this.vertexCounter++,void 0!==e?(this.config=(0,h.nV)(),d=this.sanitizeText(e.text.trim()),g.labelType=e.type,d.startsWith('"')&&d.endsWith('"')&&(d=d.substring(1,d.length-1)),g.text=d):void 0===g.text&&(g.text=t),void 0!==s&&(g.type=s),null!=i&&i.forEach(t=>{g.styles.push(t)}),null!=a&&a.forEach(t=>{g.classes.push(t)}),void 0!==n&&(g.dir=n),void 0===g.props?g.props=u:void 0!==u&&Object.assign(g.props,u),void 0!==c){if(c.shape){if(c.shape!==c.shape.toLowerCase()||c.shape.includes("_"))throw Error(`No such shape: ${c.shape}. Shape names should be lowercase.`);if(!(0,o.dW)(c.shape))throw Error(`No such shape: ${c.shape}.`);g.type=c?.shape}c?.label&&(g.text=c?.label,g.labelType=this.sanitizeNodeLabelType(c?.labelType)),c?.icon&&(g.icon=c?.icon,c.label?.trim()||g.text!==t||(g.text="")),c?.form&&(g.form=c?.form),c?.pos&&(g.pos=c?.pos),c?.img&&(g.img=c?.img,c.label?.trim()||g.text!==t||(g.text="")),c?.constraint&&(g.constraint=c.constraint),c.w&&(g.assetWidth=Number(c.w)),c.h&&(g.assetHeight=Number(c.h))}}addSingleLink(t,e,s,i){let r={start:t,end:e,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};d.cM.info("abc78 Got edge...",r);let a=s.text;if(void 0!==a&&(r.text=this.sanitizeText(a.text.trim()),r.text.startsWith('"')&&r.text.endsWith('"')&&(r.text=r.text.substring(1,r.text.length-1)),r.labelType=this.sanitizeNodeLabelType(a.type)),void 0!==s&&(r.type=s.type,r.stroke=s.stroke,r.length=s.length>10?10:s.length),i&&!this.edges.some(t=>t.id===i))r.id=i,r.isUserDefinedId=!0;else{let t=this.edges.filter(t=>t.start===r.start&&t.end===r.end);0===t.length?r.id=(0,c.Ln)(r.start,r.end,{counter:0,prefix:"L"}):r.id=(0,c.Ln)(r.start,r.end,{counter:t.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))d.cM.info("Pushing edge..."),this.edges.push(r);else throw 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(t){return null!==t&&"object"==typeof t&&"id"in t&&"string"==typeof t.id}addLink(t,e,s){let i=this.isLinkData(s)?s.id.replace("@",""):void 0;for(let r of(d.cM.info("addLink",t,e,i),t))for(let a of e){let n=r===t[t.length-1],u=a===e[0];n&&u?this.addSingleLink(r,a,s,i):this.addSingleLink(r,a,s,void 0)}}updateLinkInterpolate(t,e){t.forEach(t=>{"default"===t?this.edges.defaultInterpolate=e:this.edges[t].interpolate=e})}updateLink(t,e){t.forEach(t=>{if("number"==typeof t&&t>=this.edges.length)throw Error(`The index ${t} 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.)`);"default"===t?this.edges.defaultStyle=e:(this.edges[t].style=e,(this.edges[t]?.style?.length??0)>0&&!this.edges[t]?.style?.some(t=>t?.startsWith("fill"))&&this.edges[t]?.style?.push("fill:none"))})}addClass(t,e){let s=e.join().replace(/\\,/g,"\xa7\xa7\xa7").replace(/,/g,";").replace(/§§§/g,",").split(";");t.split(",").forEach(t=>{let e=this.classes.get(t);void 0===e&&(e={id:t,styles:[],textStyles:[]},this.classes.set(t,e)),null!=s&&s.forEach(t=>{if(/color/.exec(t)){let s=t.replace("fill","bgFill");e.textStyles.push(s)}e.styles.push(t)})})}setDirection(t){this.direction=t.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"),"TD"===this.direction&&(this.direction="TB")}setClass(t,e){for(let s of t.split(",")){let t=this.vertices.get(s);t&&t.classes.push(e);let i=this.edges.find(t=>t.id===s);i&&i.classes.push(e);let r=this.subGraphLookup.get(s);r&&r.classes.push(e)}}setTooltip(t,e){if(void 0!==e)for(let s of(e=this.sanitizeText(e),t.split(",")))this.tooltips.set("gen-1"===this.version?this.lookUpDomId(s):s,e)}setClickFun(t,e,s){let i=this.lookUpDomId(t);if("loose"!==(0,h.nV)().securityLevel||void 0===e)return;let r=[];if("string"==typeof s){r=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<r.length;t++){let e=r[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),r[t]=e}}0===r.length&&r.push(t);let a=this.vertices.get(t);a&&(a.haveCallback=!0,this.funs.push(()=>{let t=document.querySelector(`[id="${i}"]`);null!==t&&t.addEventListener("click",()=>{c.w8.runFunc(e,...r)},!1)}))}setLink(t,e,s){t.split(",").forEach(t=>{let i=this.vertices.get(t);void 0!==i&&(i.link=c.w8.formatUrl(e,this.config),i.linkTarget=s)}),this.setClass(t,"clickable")}getTooltip(t){return this.tooltips.get(t)}setClickEvent(t,e,s){t.split(",").forEach(t=>{this.setClickFun(t,e,s)}),this.setClass(t,"clickable")}bindFunctions(t){this.funs.forEach(e=>{e(t)})}getDirection(){return this.direction?.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(t){let e=(0,a.N6)();(0,p.Ys)(t).select("svg").selectAll("g.node").on("mouseover",t=>{let s=(0,p.Ys)(t.currentTarget),i=s.attr("title");if(null===i)return;let r=t.currentTarget?.getBoundingClientRect();e.transition().duration(200).style("opacity",".9"),e.text(s.attr("title")).style("left",window.scrollX+r.left+(r.right-r.left)/2+"px").style("top",window.scrollY+r.bottom+"px"),e.html(g.Z.sanitize(i)),s.classed("hover",!0)}).on("mouseout",t=>{e.transition().duration(500).style("opacity",0),(0,p.Ys)(t.currentTarget).classed("hover",!1)})}clear(t="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=t,this.config=(0,h.nV)(),(0,h.ZH)()}setGen(t){this.version=t||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(t,e,s){let i=t.text.trim(),r=s.text;t===s&&/\s/.exec(s.text)&&(i=void 0);let a=(0,d.eW)(t=>{let e;let s={boolean:{},number:{},string:{}},i=[];return{nodeList:t.filter(function(t){let r=typeof t;return t.stmt&&"dir"===t.stmt?(e=t.value,!1):""!==t.trim()&&(r in s?!s[r].hasOwnProperty(t)&&(s[r][t]=!0):!i.includes(t)&&i.push(t))}),dir:e}},"uniq")(e.flat()),n=a.nodeList,u=a.dir,l=(0,h.nV)().flowchart??{};if(u=u??(l.inheritDir?this.getDirection()??(0,h.nV)().direction??void 0:void 0),"gen-1"===this.version)for(let t=0;t<n.length;t++)n[t]=this.lookUpDomId(n[t]);i=i??"subGraph"+this.subCount,r=r||"",r=this.sanitizeText(r),this.subCount=this.subCount+1;let o={id:i,nodes:n,title:r.trim(),classes:[],dir:u,labelType:this.sanitizeNodeLabelType(s?.type)};return d.cM.info("Adding",o.id,o.nodes,o.dir),o.nodes=this.makeUniq(o,this.subGraphs).nodes,this.subGraphs.push(o),this.subGraphLookup.set(i,o),i}getPosForId(t){for(let[e,s]of this.subGraphs.entries())if(s.id===t)return e;return -1}indexNodes2(t,e){let s=this.subGraphs[e].nodes;if(this.secCount=this.secCount+1,this.secCount>2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=e,this.subGraphs[e].id===t)return{result:!0,count:0};let i=0,r=1;for(;i<s.length;){let e=this.getPosForId(s[i]);if(e>=0){let s=this.indexNodes2(t,e);if(s.result)return{result:!0,count:r+s.count};r+=s.count}i+=1}return{result:!1,count:r}}getDepthFirstPos(t){return this.posCrossRef[t]}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)}destructStartLink(t){let e=t.trim(),s="arrow_open";switch(e[0]){case"<":s="arrow_point",e=e.slice(1);break;case"x":s="arrow_cross",e=e.slice(1);break;case"o":s="arrow_circle",e=e.slice(1)}let i="normal";return e.includes("=")&&(i="thick"),e.includes(".")&&(i="dotted"),{type:s,stroke:i}}countChar(t,e){let s=e.length,i=0;for(let r=0;r<s;++r)e[r]===t&&++i;return i}destructEndLink(t){let e=t.trim(),s=e.slice(0,-1),i="arrow_open";switch(e.slice(-1)){case"x":i="arrow_cross",e.startsWith("x")&&(i="double_"+i,s=s.slice(1));break;case">":i="arrow_point",e.startsWith("<")&&(i="double_"+i,s=s.slice(1));break;case"o":i="arrow_circle",e.startsWith("o")&&(i="double_"+i,s=s.slice(1))}let r="normal",a=s.length-1;s.startsWith("=")&&(r="thick"),s.startsWith("~")&&(r="invisible");let n=this.countChar(".",s);return n&&(r="dotted",a=n),{type:i,stroke:r,length:a}}destructLink(t,e){let s;let i=this.destructEndLink(t);if(e){if((s=this.destructStartLink(e)).stroke!==i.stroke)return{type:"INVALID",stroke:"INVALID"};if("arrow_open"===s.type)s.type=i.type;else{if(s.type!==i.type)return{type:"INVALID",stroke:"INVALID"};s.type="double_"+s.type}return"double_arrow"===s.type&&(s.type="double_arrow_point"),s.length=i.length,s}return i}exists(t,e){for(let s of t)if(s.nodes.includes(e))return!0;return!1}makeUniq(t,e){let s=[];return t.nodes.forEach((i,r)=>{this.exists(e,i)||s.push(t.nodes[r])}),{nodes:s}}getTypeFromVertex(t){if(t.img)return"imageSquare";if(t.icon)return"circle"===t.form?"iconCircle":"square"===t.form?"iconSquare":"rounded"===t.form?"iconRounded":"icon";switch(t.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return t.type}}findNode(t,e){return t.find(t=>t.id===e)}destructEdgeType(t){let e="none",s="arrow_point";switch(t){case"arrow_point":case"arrow_circle":case"arrow_cross":s=t;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":s=e=t.replace("double_","")}return{arrowTypeStart:e,arrowTypeEnd:s}}addNodeFromVertex(t,e,s,i,r,a){let n=s.get(t.id),u=i.get(t.id)??!1,l=this.findNode(e,t.id);if(l)l.cssStyles=t.styles,l.cssCompiledStyles=this.getCompiledStyles(t.classes),l.cssClasses=t.classes.join(" ");else{let s={id:t.id,label:t.text,labelType:t.labelType,labelStyle:"",parentId:n,padding:r.flowchart?.padding||8,cssStyles:t.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...t.classes]),cssClasses:"default "+t.classes.join(" "),dir:t.dir,domId:t.domId,look:a,link:t.link,linkTarget:t.linkTarget,tooltip:this.getTooltip(t.id),icon:t.icon,pos:t.pos,img:t.img,assetWidth:t.assetWidth,assetHeight:t.assetHeight,constraint:t.constraint};u?e.push({...s,isGroup:!0,shape:"rect"}):e.push({...s,isGroup:!1,shape:this.getTypeFromVertex(t)})}}getCompiledStyles(t){let e=[];for(let s of t){let t=this.classes.get(s);t?.styles&&(e=[...e,...t.styles??[]].map(t=>t.trim())),t?.textStyles&&(e=[...e,...t.textStyles??[]].map(t=>t.trim()))}return e}getData(){let t=(0,h.nV)(),e=[],s=[],i=this.getSubGraphs(),r=new Map,a=new Map;for(let t=i.length-1;t>=0;t--){let e=i[t];for(let t of(e.nodes.length>0&&a.set(e.id,!0),e.nodes))r.set(t,e.id)}for(let s=i.length-1;s>=0;s--){let a=i[s];e.push({id:a.id,label:a.title,labelStyle:"",labelType:a.labelType,parentId:r.get(a.id),padding:8,cssCompiledStyles:this.getCompiledStyles(a.classes),cssClasses:a.classes.join(" "),shape:"rect",dir:a.dir,isGroup:!0,look:t.look})}this.getVertices().forEach(s=>{this.addNodeFromVertex(s,e,r,a,t,t.look||"classic")});let n=this.getEdges();return n.forEach((e,i)=>{let{arrowTypeStart:r,arrowTypeEnd:a}=this.destructEdgeType(e.type),u=[...n.defaultStyle??[]];e.style&&u.push(...e.style);let l={id:(0,c.Ln)(e.start,e.end,{counter:i,prefix:"L"},e.id),isUserDefinedId:e.isUserDefinedId,start:e.start,end:e.end,type:e.type??"normal",label:e.text,labelType:e.labelType,labelpos:"c",thickness:e.stroke,minlen:e.length,classes:e?.stroke==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:e?.stroke==="invisible"||e?.type==="arrow_open"?"none":r,arrowTypeEnd:e?.stroke==="invisible"||e?.type==="arrow_open"?"none":a,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(e.classes),labelStyle:u,style:u,pattern:e.stroke,look:t.look,animate:e.animate,animation:e.animation,curve:e.interpolate||this.edges.defaultInterpolate||t.flowchart?.curve};s.push(l)}),{nodes:e,edges:s,other:{},config:t}}defaultConfig(){return h.Fy.flowchart}},k=(0,d.eW)(function(t,e){return e.db.getClasses()},"getClasses"),f=(0,d.eW)(async function(t,e,s,i){let r;d.cM.info("REF0:"),d.cM.info("Drawing state diagram (v2)",e);let{securityLevel:a,flowchart:o,layout:g}=(0,h.nV)();"sandbox"===a&&(r=(0,p.Ys)("#i"+e));let y="sandbox"===a?r.nodes()[0].contentDocument:document;d.cM.debug("Before getData: ");let A=i.db.getData();d.cM.debug("Data: ",A);let b=(0,n.q)(e,a),k=i.db.getDirection();A.type=i.type,A.layoutAlgorithm=(0,l._b)(g),"dagre"===A.layoutAlgorithm&&"elk"===g&&d.cM.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),A.direction=k,A.nodeSpacing=o?.nodeSpacing||50,A.rankSpacing=o?.rankSpacing||50,A.markers=["point","circle","cross"],A.diagramId=e,d.cM.debug("REF1:",A),await (0,l.sY)(A,b);let f=A.config.flowchart?.diagramPadding??8;for(let t of(c.w8.insertTitle(b,"flowchartTitleText",o?.titleTopMargin||0,i.db.getDiagramTitle()),(0,u.j)(b,f,"flowchart",o?.useMaxWidth||!1),A.nodes)){let s=(0,p.Ys)(`#${e} [id="${t.id}"]`);if(!s||!t.link)continue;let i=y.createElementNS("http://www.w3.org/2000/svg","a");i.setAttributeNS("http://www.w3.org/2000/svg","class",t.cssClasses),i.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),"sandbox"===a?i.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):t.linkTarget&&i.setAttributeNS("http://www.w3.org/2000/svg","target",t.linkTarget);let r=s.insert(function(){return i},":first-child"),n=s.select(".label-container");n&&r.append(function(){return n.node()});let u=s.select(".label");u&&r.append(function(){return u.node()})}},"draw"),x=function(){var t=(0,d.eW)(function(t,e,s,i){for(s=s||{},i=t.length;i--;s[t[i]]=e);return s},"o"),e=[1,4],s=[1,3],i=[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],a=[2,2],n=[1,13],u=[1,14],l=[1,15],o=[1,16],c=[1,23],h=[1,25],p=[1,26],g=[1,27],y=[1,50],A=[1,49],b=[1,29],k=[1,30],f=[1,31],x=[1,32],m=[1,33],E=[1,45],D=[1,47],C=[1,43],T=[1,48],F=[1,44],S=[1,51],_=[1,46],B=[1,52],v=[1,53],w=[1,34],L=[1,35],$=[1,36],I=[1,37],N=[1,38],R=[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],P=[1,62],G=[1,61],M=[1,63],O=[8,9,11,75,77,78],V=[1,79],U=[1,92],Y=[1,97],z=[1,96],j=[1,93],K=[1,89],H=[1,95],q=[1,91],X=[1,98],Z=[1,94],Q=[1,99],J=[1,90],tt=[8,9,10,11,40,75,77,78],te=[8,9,10,11,40,46,75,77,78],ts=[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],ti=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],tr=[44,60,89,102,105,106,109,111,114,115,116],ta=[1,122],tn=[1,123],tu=[1,125],tl=[1,124],to=[44,60,62,74,89,102,105,106,109,111,114,115,116],tc=[1,134],th=[1,148],td=[1,149],tp=[1,150],tg=[1,151],ty=[1,136],tA=[1,138],tb=[1,142],tk=[1,143],tf=[1,144],tx=[1,145],tm=[1,146],tE=[1,147],tD=[1,152],tC=[1,153],tT=[1,132],tF=[1,133],tS=[1,140],t_=[1,135],tB=[1,139],tv=[1,137],tw=[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],tL=[1,155],t$=[1,157],tI=[8,9,11],tN=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],tR=[1,177],tW=[1,173],tP=[1,174],tG=[1,178],tM=[1,175],tO=[1,176],tV=[77,116,119],tU=[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],tY=[10,106],tz=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],tj=[1,248],tK=[1,246],tH=[1,250],tq=[1,244],tX=[1,245],tZ=[1,247],tQ=[1,249],tJ=[1,251],t1=[1,269],t0=[8,9,11,106],t2=[8,9,10,11,60,84,105,106,109,110,111,112],t8={trace:(0,d.eW)(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,3],[20,4],[20,2],[20,2],[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:(0,d.eW)(function(t,e,s,i,r,a,n){var u=a.length-1;switch(r){case 2:case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 3:(!Array.isArray(a[u])||a[u].length>0)&&a[u-1].push(a[u]),this.$=a[u-1];break;case 4:case 183:case 44:case 54:case 76:case 181:this.$=a[u];break;case 11:i.setDirection("TB"),this.$="TB";break;case 12:i.setDirection(a[u-1]),this.$=a[u-1];break;case 27:this.$=a[u-1].nodes;break;case 33:this.$=i.addSubGraph(a[u-6],a[u-1],a[u-4]);break;case 34:this.$=i.addSubGraph(a[u-3],a[u-1],a[u-3]);break;case 35:this.$=i.addSubGraph(void 0,a[u-1],void 0);break;case 37:this.$=a[u].trim(),i.setAccTitle(this.$);break;case 38:case 39:this.$=a[u].trim(),i.setAccDescription(this.$);break;case 43:case 133:this.$=a[u-1]+a[u];break;case 45:i.addVertex(a[u-1][a[u-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[u]),i.addLink(a[u-3].stmt,a[u-1],a[u-2]),this.$={stmt:a[u-1],nodes:a[u-1].concat(a[u-3].nodes)};break;case 46:i.addLink(a[u-2].stmt,a[u],a[u-1]),this.$={stmt:a[u],nodes:a[u].concat(a[u-2].nodes)};break;case 47:i.addLink(a[u-3].stmt,a[u-1],a[u-2]),this.$={stmt:a[u-1],nodes:a[u-1].concat(a[u-3].nodes)};break;case 48:this.$={stmt:a[u-1],nodes:a[u-1]};break;case 49:i.addVertex(a[u-1][a[u-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[u]),this.$={stmt:a[u-1],nodes:a[u-1],shapeData:a[u]};break;case 50:this.$={stmt:a[u],nodes:a[u]};break;case 51:case 128:case 130:this.$=[a[u]];break;case 52:i.addVertex(a[u-5][a[u-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,a[u-4]),this.$=a[u-5].concat(a[u]);break;case 53:this.$=a[u-4].concat(a[u]);break;case 55:this.$=a[u-2],i.setClass(a[u-2],a[u]);break;case 56:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"square");break;case 57:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"doublecircle");break;case 58:this.$=a[u-5],i.addVertex(a[u-5],a[u-2],"circle");break;case 59:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"ellipse");break;case 60:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"stadium");break;case 61:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"subroutine");break;case 62:this.$=a[u-7],i.addVertex(a[u-7],a[u-1],"rect",void 0,void 0,void 0,Object.fromEntries([[a[u-5],a[u-3]]]));break;case 63:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"cylinder");break;case 64:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"round");break;case 65:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"diamond");break;case 66:this.$=a[u-5],i.addVertex(a[u-5],a[u-2],"hexagon");break;case 67:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"odd");break;case 68:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"trapezoid");break;case 69:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"inv_trapezoid");break;case 70:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"lean_right");break;case 71:this.$=a[u-3],i.addVertex(a[u-3],a[u-1],"lean_left");break;case 72:this.$=a[u],i.addVertex(a[u]);break;case 73:a[u-1].text=a[u],this.$=a[u-1];break;case 74:case 75:a[u-2].text=a[u-1],this.$=a[u-2];break;case 77:var l=i.destructLink(a[u],a[u-2]);this.$={type:l.type,stroke:l.stroke,length:l.length,text:a[u-1]};break;case 78:var l=i.destructLink(a[u],a[u-2]);this.$={type:l.type,stroke:l.stroke,length:l.length,text:a[u-1],id:a[u-3]};break;case 79:case 86:case 101:case 103:this.$={text:a[u],type:"text"};break;case 80:case 87:case 102:this.$={text:a[u-1].text+""+a[u],type:a[u-1].type};break;case 81:case 88:this.$={text:a[u],type:"string"};break;case 82:case 89:case 104:this.$={text:a[u],type:"markdown"};break;case 83:var l=i.destructLink(a[u]);this.$={type:l.type,stroke:l.stroke,length:l.length};break;case 84:var l=i.destructLink(a[u]);this.$={type:l.type,stroke:l.stroke,length:l.length,id:a[u-1]};break;case 85:this.$=a[u-1];break;case 105:this.$=a[u-4],i.addClass(a[u-2],a[u]);break;case 106:this.$=a[u-4],i.setClass(a[u-2],a[u]);break;case 107:case 115:this.$=a[u-1],i.setClickEvent(a[u-1],a[u]);break;case 108:case 116:this.$=a[u-3],i.setClickEvent(a[u-3],a[u-2]),i.setTooltip(a[u-3],a[u]);break;case 109:this.$=a[u-2],i.setClickEvent(a[u-2],a[u-1],a[u]);break;case 110:this.$=a[u-4],i.setClickEvent(a[u-4],a[u-3],a[u-2]),i.setTooltip(a[u-4],a[u]);break;case 111:this.$=a[u-2],i.setLink(a[u-2],a[u]);break;case 112:this.$=a[u-4],i.setLink(a[u-4],a[u-2]),i.setTooltip(a[u-4],a[u]);break;case 113:this.$=a[u-4],i.setLink(a[u-4],a[u-2],a[u]);break;case 114:this.$=a[u-6],i.setLink(a[u-6],a[u-4],a[u]),i.setTooltip(a[u-6],a[u-2]);break;case 117:this.$=a[u-1],i.setLink(a[u-1],a[u]);break;case 118:this.$=a[u-3],i.setLink(a[u-3],a[u-2]),i.setTooltip(a[u-3],a[u]);break;case 119:this.$=a[u-3],i.setLink(a[u-3],a[u-2],a[u]);break;case 120:this.$=a[u-5],i.setLink(a[u-5],a[u-4],a[u]),i.setTooltip(a[u-5],a[u-2]);break;case 121:this.$=a[u-4],i.addVertex(a[u-2],void 0,void 0,a[u]);break;case 122:this.$=a[u-4],i.updateLink([a[u-2]],a[u]);break;case 123:this.$=a[u-4],i.updateLink(a[u-2],a[u]);break;case 124:this.$=a[u-8],i.updateLinkInterpolate([a[u-6]],a[u-2]),i.updateLink([a[u-6]],a[u]);break;case 125:this.$=a[u-8],i.updateLinkInterpolate(a[u-6],a[u-2]),i.updateLink(a[u-6],a[u]);break;case 126:this.$=a[u-6],i.updateLinkInterpolate([a[u-4]],a[u]);break;case 127:this.$=a[u-6],i.updateLinkInterpolate(a[u-4],a[u]);break;case 129:case 131:a[u-2].push(a[u]),this.$=a[u-2];break;case 182:case 184:this.$=a[u-1]+""+a[u];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"}}},"anonymous"),table:[{3:1,4:2,9:e,10:s,12:i},{1:[3]},t(r,a,{5:6}),{4:7,9:e,10:s,12:i},{4:8,9:e,10:s,12:i},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:n,9:u,10:l,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:c,33:24,34:h,36:p,38:g,42:28,43:39,44:y,45:40,47:41,60:A,84:b,85:k,86:f,87:x,88:m,89:E,102:D,105:C,106:T,109:F,111:S,113:42,114:_,115:B,116:v,121:w,122:L,123:$,124:I,125:N},t(r,[2,9]),t(r,[2,10]),t(r,[2,11]),{8:[1,55],9:[1,56],10:R,15:54,18:57},t(W,[2,3]),t(W,[2,4]),t(W,[2,5]),t(W,[2,6]),t(W,[2,7]),t(W,[2,8]),{8:P,9:G,11:M,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:P,9:G,11:M,21:68},{8:P,9:G,11:M,21:69},{8:P,9:G,11:M,21:70},{8:P,9:G,11:M,21:71},{8:P,9:G,11:M,21:72},{8:P,9:G,10:[1,73],11:M,21:74},t(W,[2,36]),{35:[1,75]},{37:[1,76]},t(W,[2,39]),t(O,[2,50],{18:77,39:78,10:R,40:V}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:U,44:Y,60:z,80:[1,87],89:j,95:[1,84],97:[1,85],101:86,105:K,106:H,109:q,111:X,114:Z,115:Q,116:J,120:88},t(W,[2,185]),t(W,[2,186]),t(W,[2,187]),t(W,[2,188]),t(W,[2,189]),t(tt,[2,51]),t(tt,[2,54],{46:[1,100]}),t(te,[2,72],{113:113,29:[1,101],44:y,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:A,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:E,102:D,105:C,106:T,109:F,111:S,114:_,115:B,116:v}),t(ts,[2,181]),t(ts,[2,142]),t(ts,[2,143]),t(ts,[2,144]),t(ts,[2,145]),t(ts,[2,146]),t(ts,[2,147]),t(ts,[2,148]),t(ts,[2,149]),t(ts,[2,150]),t(ts,[2,151]),t(ts,[2,152]),t(r,[2,12]),t(r,[2,18]),t(r,[2,19]),{9:[1,114]},t(ti,[2,26],{18:115,10:R}),t(W,[2,27]),{42:116,43:39,44:y,45:40,47:41,60:A,89:E,102:D,105:C,106:T,109:F,111:S,113:42,114:_,115:B,116:v},t(W,[2,40]),t(W,[2,41]),t(W,[2,42]),t(tr,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ta,81:tn,116:tu,119:tl},{75:[1,126],77:[1,127]},t(to,[2,83]),t(W,[2,28]),t(W,[2,29]),t(W,[2,30]),t(W,[2,31]),t(W,[2,32]),{10:tc,12:th,14:td,27:tp,28:128,32:tg,44:ty,60:tA,75:tb,80:[1,130],81:[1,131],83:141,84:tk,85:tf,86:tx,87:tm,88:tE,89:tD,90:tC,91:129,105:tT,109:tF,111:tS,114:t_,115:tB,116:tv},t(tw,a,{5:154}),t(W,[2,37]),t(W,[2,38]),t(O,[2,48],{44:tL}),t(O,[2,49],{18:156,10:R,40:t$}),t(tt,[2,44]),{44:y,47:158,60:A,89:E,102:D,105:C,106:T,109:F,111:S,113:42,114:_,115:B,116:v},{102:[1,159],103:160,105:[1,161]},{44:y,47:162,60:A,89:E,102:D,105:C,106:T,109:F,111:S,113:42,114:_,115:B,116:v},{44:y,47:163,60:A,89:E,102:D,105:C,106:T,109:F,111:S,113:42,114:_,115:B,116:v},t(tI,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(tI,[2,115],{120:168,10:[1,167],14:U,44:Y,60:z,89:j,105:K,106:H,109:q,111:X,114:Z,115:Q,116:J}),t(tI,[2,117],{10:[1,169]}),t(tN,[2,183]),t(tN,[2,170]),t(tN,[2,171]),t(tN,[2,172]),t(tN,[2,173]),t(tN,[2,174]),t(tN,[2,175]),t(tN,[2,176]),t(tN,[2,177]),t(tN,[2,178]),t(tN,[2,179]),t(tN,[2,180]),{44:y,47:170,60:A,89:E,102:D,105:C,106:T,109:F,111:S,113:42,114:_,115:B,116:v},{30:171,67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},{30:179,67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},{30:181,50:[1,180],67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},{30:182,67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},{30:183,67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},{30:184,67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},{109:[1,185]},{30:186,67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},{30:187,65:[1,188],67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},{30:189,67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},{30:190,67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},{30:191,67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},t(ts,[2,182]),t(r,[2,20]),t(ti,[2,25]),t(O,[2,46],{39:192,18:193,10:R,40:V}),t(tr,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},{77:[1,197],79:198,116:tu,119:tl},t(tV,[2,79]),t(tV,[2,81]),t(tV,[2,82]),t(tV,[2,168]),t(tV,[2,169]),{76:199,79:121,80:ta,81:tn,116:tu,119:tl},t(to,[2,84]),{8:P,9:G,10:tc,11:M,12:th,14:td,21:201,27:tp,29:[1,200],32:tg,44:ty,60:tA,75:tb,83:141,84:tk,85:tf,86:tx,87:tm,88:tE,89:tD,90:tC,91:202,105:tT,109:tF,111:tS,114:t_,115:tB,116:tv},t(tU,[2,101]),t(tU,[2,103]),t(tU,[2,104]),t(tU,[2,157]),t(tU,[2,158]),t(tU,[2,159]),t(tU,[2,160]),t(tU,[2,161]),t(tU,[2,162]),t(tU,[2,163]),t(tU,[2,164]),t(tU,[2,165]),t(tU,[2,166]),t(tU,[2,167]),t(tU,[2,90]),t(tU,[2,91]),t(tU,[2,92]),t(tU,[2,93]),t(tU,[2,94]),t(tU,[2,95]),t(tU,[2,96]),t(tU,[2,97]),t(tU,[2,98]),t(tU,[2,99]),t(tU,[2,100]),{6:11,7:12,8:n,9:u,10:l,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:c,32:[1,203],33:24,34:h,36:p,38:g,42:28,43:39,44:y,45:40,47:41,60:A,84:b,85:k,86:f,87:x,88:m,89:E,102:D,105:C,106:T,109:F,111:S,113:42,114:_,115:B,116:v,121:w,122:L,123:$,124:I,125:N},{10:R,18:204},{44:[1,205]},t(tt,[2,43]),{10:[1,206],44:y,60:A,89:E,102:D,105:C,106:T,109:F,111:S,113:113,114:_,115:B,116:v},{10:[1,207]},{10:[1,208],106:[1,209]},t(tY,[2,128]),{10:[1,210],44:y,60:A,89:E,102:D,105:C,106:T,109:F,111:S,113:113,114:_,115:B,116:v},{10:[1,211],44:y,60:A,89:E,102:D,105:C,106:T,109:F,111:S,113:113,114:_,115:B,116:v},{80:[1,212]},t(tI,[2,109],{10:[1,213]}),t(tI,[2,111],{10:[1,214]}),{80:[1,215]},t(tN,[2,184]),{80:[1,216],98:[1,217]},t(tt,[2,55],{113:113,44:y,60:A,89:E,102:D,105:C,106:T,109:F,111:S,114:_,115:B,116:v}),{31:[1,218],67:tR,82:219,116:tG,117:tM,118:tO},t(tz,[2,86]),t(tz,[2,88]),t(tz,[2,89]),t(tz,[2,153]),t(tz,[2,154]),t(tz,[2,155]),t(tz,[2,156]),{49:[1,220],67:tR,82:219,116:tG,117:tM,118:tO},{30:221,67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},{51:[1,222],67:tR,82:219,116:tG,117:tM,118:tO},{53:[1,223],67:tR,82:219,116:tG,117:tM,118:tO},{55:[1,224],67:tR,82:219,116:tG,117:tM,118:tO},{57:[1,225],67:tR,82:219,116:tG,117:tM,118:tO},{60:[1,226]},{64:[1,227],67:tR,82:219,116:tG,117:tM,118:tO},{66:[1,228],67:tR,82:219,116:tG,117:tM,118:tO},{30:229,67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},{31:[1,230],67:tR,82:219,116:tG,117:tM,118:tO},{67:tR,69:[1,231],71:[1,232],82:219,116:tG,117:tM,118:tO},{67:tR,69:[1,234],71:[1,233],82:219,116:tG,117:tM,118:tO},t(O,[2,45],{18:156,10:R,40:t$}),t(O,[2,47],{44:tL}),t(tr,[2,75]),t(tr,[2,74]),{62:[1,235],67:tR,82:219,116:tG,117:tM,118:tO},t(tr,[2,77]),t(tV,[2,80]),{77:[1,236],79:198,116:tu,119:tl},{30:237,67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},t(tw,a,{5:238}),t(tU,[2,102]),t(W,[2,35]),{43:239,44:y,45:40,47:41,60:A,89:E,102:D,105:C,106:T,109:F,111:S,113:42,114:_,115:B,116:v},{10:R,18:240},{10:tj,60:tK,84:tH,92:241,105:tq,107:242,108:243,109:tX,110:tZ,111:tQ,112:tJ},{10:tj,60:tK,84:tH,92:252,104:[1,253],105:tq,107:242,108:243,109:tX,110:tZ,111:tQ,112:tJ},{10:tj,60:tK,84:tH,92:254,104:[1,255],105:tq,107:242,108:243,109:tX,110:tZ,111:tQ,112:tJ},{105:[1,256]},{10:tj,60:tK,84:tH,92:257,105:tq,107:242,108:243,109:tX,110:tZ,111:tQ,112:tJ},{44:y,47:258,60:A,89:E,102:D,105:C,106:T,109:F,111:S,113:42,114:_,115:B,116:v},t(tI,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(tI,[2,116]),t(tI,[2,118],{10:[1,262]}),t(tI,[2,119]),t(te,[2,56]),t(tz,[2,87]),t(te,[2,57]),{51:[1,263],67:tR,82:219,116:tG,117:tM,118:tO},t(te,[2,64]),t(te,[2,59]),t(te,[2,60]),t(te,[2,61]),{109:[1,264]},t(te,[2,63]),t(te,[2,65]),{66:[1,265],67:tR,82:219,116:tG,117:tM,118:tO},t(te,[2,67]),t(te,[2,68]),t(te,[2,70]),t(te,[2,69]),t(te,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(tr,[2,78]),{31:[1,266],67:tR,82:219,116:tG,117:tM,118:tO},{6:11,7:12,8:n,9:u,10:l,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:c,32:[1,267],33:24,34:h,36:p,38:g,42:28,43:39,44:y,45:40,47:41,60:A,84:b,85:k,86:f,87:x,88:m,89:E,102:D,105:C,106:T,109:F,111:S,113:42,114:_,115:B,116:v,121:w,122:L,123:$,124:I,125:N},t(tt,[2,53]),{43:268,44:y,45:40,47:41,60:A,89:E,102:D,105:C,106:T,109:F,111:S,113:42,114:_,115:B,116:v},t(tI,[2,121],{106:t1}),t(t0,[2,130],{108:270,10:tj,60:tK,84:tH,105:tq,109:tX,110:tZ,111:tQ,112:tJ}),t(t2,[2,132]),t(t2,[2,134]),t(t2,[2,135]),t(t2,[2,136]),t(t2,[2,137]),t(t2,[2,138]),t(t2,[2,139]),t(t2,[2,140]),t(t2,[2,141]),t(tI,[2,122],{106:t1}),{10:[1,271]},t(tI,[2,123],{106:t1}),{10:[1,272]},t(tY,[2,129]),t(tI,[2,105],{106:t1}),t(tI,[2,106],{113:113,44:y,60:A,89:E,102:D,105:C,106:T,109:F,111:S,114:_,115:B,116:v}),t(tI,[2,110]),t(tI,[2,112],{10:[1,273]}),t(tI,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:P,9:G,11:M,21:278},t(W,[2,34]),t(tt,[2,52]),{10:tj,60:tK,84:tH,105:tq,107:279,108:243,109:tX,110:tZ,111:tQ,112:tJ},t(t2,[2,133]),{14:U,44:Y,60:z,89:j,101:280,105:K,106:H,109:q,111:X,114:Z,115:Q,116:J,120:88},{14:U,44:Y,60:z,89:j,101:281,105:K,106:H,109:q,111:X,114:Z,115:Q,116:J,120:88},{98:[1,282]},t(tI,[2,120]),t(te,[2,58]),{30:283,67:tR,80:tW,81:tP,82:172,116:tG,117:tM,118:tO},t(te,[2,66]),t(tw,a,{5:284}),t(t0,[2,131],{108:270,10:tj,60:tK,84:tH,105:tq,109:tX,110:tZ,111:tQ,112:tJ}),t(tI,[2,126],{120:168,10:[1,285],14:U,44:Y,60:z,89:j,105:K,106:H,109:q,111:X,114:Z,115:Q,116:J}),t(tI,[2,127],{120:168,10:[1,286],14:U,44:Y,60:z,89:j,105:K,106:H,109:q,111:X,114:Z,115:Q,116:J}),t(tI,[2,114]),{31:[1,287],67:tR,82:219,116:tG,117:tM,118:tO},{6:11,7:12,8:n,9:u,10:l,11:o,20:17,22:18,23:19,24:20,25:21,26:22,27:c,32:[1,288],33:24,34:h,36:p,38:g,42:28,43:39,44:y,45:40,47:41,60:A,84:b,85:k,86:f,87:x,88:m,89:E,102:D,105:C,106:T,109:F,111:S,113:42,114:_,115:B,116:v,121:w,122:L,123:$,124:I,125:N},{10:tj,60:tK,84:tH,92:289,105:tq,107:242,108:243,109:tX,110:tZ,111:tQ,112:tJ},{10:tj,60:tK,84:tH,92:290,105:tq,107:242,108:243,109:tX,110:tZ,111:tQ,112:tJ},t(te,[2,62]),t(W,[2,33]),t(tI,[2,124],{106:t1}),t(tI,[2,125],{106:t1})],defaultActions:{},parseError:(0,d.eW)(function(t,e){if(e.recoverable)this.trace(t);else{var s=Error(t);throw s.hash=e,s}},"parseError"),parse:(0,d.eW)(function(t){var e=this,s=[0],i=[],r=[null],a=[],n=this.table,u="",l=0,o=0,c=0,h=a.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,void 0===p.yylloc&&(p.yylloc={});var A=p.yylloc;a.push(A);var b=p.options&&p.options.ranges;function k(){var t;return"number"!=typeof(t=i.pop()||p.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,d.eW)(function(t){s.length=s.length-2*t,r.length=r.length-t,a.length=a.length-t},"popStack"),(0,d.eW)(k,"lex");for(var f,x,m,E,D,C,T,F,S,_={};;){if(m=s[s.length-1],this.defaultActions[m]?E=this.defaultActions[m]:(null==f&&(f=k()),E=n[m]&&n[m][f]),void 0===E||!E.length||!E[0]){var B="";for(C in S=[],n[m])this.terminals_[C]&&C>2&&S.push("'"+this.terminals_[C]+"'");B=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[f]||f)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==f?"end of input":"'"+(this.terminals_[f]||f)+"'"),this.parseError(B,{text:p.match,token:this.terminals_[f]||f,line:p.yylineno,loc:A,expected:S})}if(E[0]instanceof Array&&E.length>1)throw Error("Parse Error: multiple actions possible at state: "+m+", token: "+f);switch(E[0]){case 1:s.push(f),r.push(p.yytext),a.push(p.yylloc),s.push(E[1]),f=null,x?(f=x,x=null):(o=p.yyleng,u=p.yytext,l=p.yylineno,A=p.yylloc,c>0&&c--);break;case 2:if(T=this.productions_[E[1]][1],_.$=r[r.length-T],_._$={first_line:a[a.length-(T||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(T||1)].first_column,last_column:a[a.length-1].last_column},b&&(_._$.range=[a[a.length-(T||1)].range[0],a[a.length-1].range[1]]),void 0!==(D=this.performAction.apply(_,[u,o,l,g.yy,E[1],r,a].concat(h))))return D;T&&(s=s.slice(0,-1*T*2),r=r.slice(0,-1*T),a=a.slice(0,-1*T)),s.push(this.productions_[E[1]][0]),r.push(_.$),a.push(_._$),F=n[s[s.length-2]][s[s.length-1]],s.push(F);break;case 3:return!0}}return!0},"parse")},t6={EOF:1,parseError:(0,d.eW)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,d.eW)(function(t,e){return this.yy=e||this.yy||{},this._input=t,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:(0,d.eW)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,d.eW)(function(t){var e=t.length,s=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=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),s.length-1&&(this.yylineno-=s.length-1);var r=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:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,d.eW)(function(){return this._more=!0,this},"more"),reject:(0,d.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):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).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,d.eW)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,d.eW)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,d.eW)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,d.eW)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,d.eW)(function(t,e){var s,i,r;if(this.options.backtrack_lexer&&(r={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&&(r.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,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(t[0].length),this.matched+=t[0],s=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var a in r)this[a]=r[a];return!1},"test_match"),next:(0,d.eW)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,s,i,r=this._currentRules(),a=0;a<r.length;a++)if((s=this._input.match(this.rules[r[a]]))&&(!e||s[0].length>e[0].length)){if(e=s,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(s,r[a])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,d.eW)(function(){return this.next()||this.lex()},"lex"),begin:(0,d.eW)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,d.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,d.eW)(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:(0,d.eW)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,d.eW)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,d.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,d.eW)(function(t,e,s,i){switch(s){case 0:return this.begin("acc_title"),34;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),36;case 3:return this.popState(),"acc_descr_value";case 4:this.begin("acc_descr_multiline");break;case 5:case 12:case 14:case 17:case 20:case 23:case 33:this.popState();break;case 6:return"acc_descr_multiline_value";case 7:return this.pushState("shapeData"),e.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:return e.yytext=e.yytext.replace(/\n\s*/g,"<br/>"),40;case 11:return 40;case 13:this.begin("callbackname");break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 18:return 96;case 19:return"MD_STR";case 21:this.begin("md_string");break;case 22:return"STR";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 34:return 88;case 35:case 36:case 37:return t.lex.firstGraph()&&this.begin("dir"),12;case 38:return 27;case 39:return 32;case 40:case 41:case 42:case 43:return 98;case 44:return this.popState(),13;case 45:case 46:case 47:case 48:case 49:case 50:case 51:case 52:case 53:case 54:return this.popState(),14;case 55:return 121;case 56:return 122;case 57:return 123;case 58:return 124;case 59:return 125;case 60:return 78;case 61:return 105;case 62:case 103:return 111;case 63:return 46;case 64:return 60;case 65:case 104:return 44;case 66:return 8;case 67:return 106;case 68:case 102:return 115;case 69:case 72:case 75:return this.popState(),77;case 70:return this.pushState("edgeText"),75;case 71:case 74:case 77:return 119;case 73:return this.pushState("thickEdgeText"),75;case 76:return this.pushState("dottedEdgeText"),75;case 78:return 77;case 79:return this.popState(),53;case 80:case 116:return"TEXT";case 81:return this.pushState("ellipseText"),52;case 82:return this.popState(),55;ca