a?1:i>=a?0:NaN}function Qxe(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function Zxe(){return Array.from(this)}function Jxe(){for(var i=this._groups,a=0,f=i.length;a 0&&_<1?0:b,new Ww(b,E,_,i.opacity)}function uke(i,a,f,p){return arguments.length===1?oMt(i):new Ww(i,a,f,p??1)}function Ww(i,a,f,p){this.h=+i,this.s=+a,this.l=+f,this.opacity=+p}xN(Ww,uke,wU(R7,{brighter(i){return i=i==null?mU:Math.pow(mU,i),new Ww(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?kN:Math.pow(kN,i),new Ww(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,a=isNaN(i)||isNaN(this.s)?0:this.s,f=this.l,p=f+(f<.5?f:1-f)*a,v=2*f-p;return new p0(Jft(i>=240?i-240:i+120,v,p),Jft(i,v,p),Jft(i<120?i+240:i-120,v,p),this.opacity)},clamp(){return new Ww(cMt(this.h),kU(this.s),kU(this.l),xU(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const i=xU(this.opacity);return`${i===1?"hsl(":"hsla("}${cMt(this.h)}, ${kU(this.s)*100}%, ${kU(this.l)*100}%${i===1?")":`, ${i})`}`}}));function cMt(i){return i=(i||0)%360,i<0?i+360:i}function kU(i){return Math.max(0,Math.min(1,i||0))}function Jft(i,a,f){return(i<60?a+(f-a)*i/60:i<180?f:i<240?a+(f-a)*(240-i)/60:a)*255}const lke=Math.PI/180,hke=180/Math.PI,EU=18,uMt=.96422,lMt=1,hMt=.82521,fMt=4/29,xA=6/29,dMt=3*xA*xA,fke=xA*xA*xA;function gMt(i){if(i instanceof a3)return new a3(i.l,i.a,i.b,i.opacity);if(i instanceof g5)return pMt(i);i instanceof p0||(i=rMt(i));var a=r1t(i.r),f=r1t(i.g),p=r1t(i.b),v=t1t((.2225045*a+.7168786*f+.0606169*p)/lMt),m,b;return a===f&&f===p?m=b=v:(m=t1t((.4360747*a+.3850649*f+.1430804*p)/uMt),b=t1t((.0139322*a+.0971045*f+.7141733*p)/hMt)),new a3(116*v-16,500*(m-v),200*(v-b),i.opacity)}function dke(i,a,f,p){return arguments.length===1?gMt(i):new a3(i,a,f,p??1)}function a3(i,a,f,p){this.l=+i,this.a=+a,this.b=+f,this.opacity=+p}xN(a3,dke,wU(R7,{brighter(i){return new a3(this.l+EU*(i??1),this.a,this.b,this.opacity)},darker(i){return new a3(this.l-EU*(i??1),this.a,this.b,this.opacity)},rgb(){var i=(this.l+16)/116,a=isNaN(this.a)?i:i+this.a/500,f=isNaN(this.b)?i:i-this.b/200;return a=uMt*e1t(a),i=lMt*e1t(i),f=hMt*e1t(f),new p0(n1t(3.1338561*a-1.6168667*i-.4906146*f),n1t(-.9787684*a+1.9161415*i+.033454*f),n1t(.0719453*a-.2289914*i+1.4052427*f),this.opacity)}}));function t1t(i){return i>fke?Math.pow(i,1/3):i/dMt+fMt}function e1t(i){return i>xA?i*i*i:dMt*(i-fMt)}function n1t(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function r1t(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function gke(i){if(i instanceof g5)return new g5(i.h,i.c,i.l,i.opacity);if(i instanceof a3||(i=gMt(i)),i.a===0&&i.b===0)return new g5(NaN,0 2?lEe:uEe,_=L=null,B}function B(j){return j==null||isNaN(j=+j)?m:(_||(_=E(i.map(p),a,f)))(p(b(j)))}return B.invert=function(j){return b(v((L||(L=E(a,i.map(p),Kw)))(j)))},B.domain=function(j){return arguments.length?(i=Array.from(j,oEe),N()):i.slice()},B.range=function(j){return arguments.length?(a=Array.from(j),N()):a.slice()},B.rangeRound=function(j){return a=Array.from(j),f=Cke,N()},B.clamp=function(j){return arguments.length?(b=j?!0:TA,N()):b!==TA},B.interpolate=function(j){return arguments.length?(f=j,N()):f},B.unknown=function(j){return arguments.length?(m=j,B):m},function(j,R){return p=j,v=R,N()}}function HMt(){return hEe()(TA,TA)}function fEe(i,a,f,p){var v=Vft(i,a,f),m;switch(p=PU(p??",f"),p.type){case"s":{var b=Math.max(Math.abs(i),Math.abs(a));return p.precision==null&&!isNaN(m=iEe(v,b))&&(p.precision=m),jMt(p,b)}case"":case"e":case"g":case"p":case"r":{p.precision==null&&!isNaN(m=sEe(v,Math.max(Math.abs(i),Math.abs(a))))&&(p.precision=m-(p.type==="e"));break}case"f":case"%":{p.precision==null&&!isNaN(m=rEe(v))&&(p.precision=m-(p.type==="%")*2);break}}return RMt(p)}function dEe(i){var a=i.domain;return i.ticks=function(f){var p=a();return cxe(p[0],p[p.length-1],f??10)},i.tickFormat=function(f,p){var v=a();return fEe(v[0],v[v.length-1],f??10,p)},i.nice=function(f){f==null&&(f=10);var p=a(),v=0,m=p.length-1,b=p[v],E=p[m],_,L,N=10;for(E0;){if(L=NLt(b,E,f),L===_)return p[v]=b,p[m]=E,a(p);if(L>0)b=Math.floor(b/L)*L,E=Math.ceil(E/L)*L;else if(L<0)b=Math.ceil(b*L)/L,E=Math.floor(E*L)/L;else break;_=L}return i},i}function BU(){var i=HMt();return i.copy=function(){return qMt(i,BU())},y1t.apply(i,arguments),dEe(i)}function gEe(i,a){i=i.slice();var f=0,p=i.length-1,v=i[f],m=i[p],b;return m {f+=$Dt(v,a),a=v});const p=f/2;return edt(i,p)}function R_e(i){return i.length===1?i[0]:B_e(i)}const zDt=(i,a=2)=>{const f=Math.pow(10,a);return Math.round(i*f)/f},edt=(i,a)=>{let f,p=a;for(const v of i){if(f){const m=$Dt(v,f);if(m =1)return{x:v.x,y:v.y};if(b>0&&b<1)return{x:zDt((1-b)*f.x+b*v.x,5),y:zDt((1-b)*f.y+b*v.y,5)}}}f=v}throw new Error("Could not find a suitable point for the given distance")},j_e=(i,a,f)=>{Ut.info(`our points ${JSON.stringify(a)}`),a[0]!==f&&(a=a.reverse());const v=edt(a,25),m=i?10:5,b=Math.atan2(a[0].y-v.y,a[0].x-v.x),E={x:0,y:0};return E.x=Math.sin(b)*m+(a[0].x+v.x)/2,E.y=-Math.cos(b)*m+(a[0].y+v.y)/2,E};function $_e(i,a,f){const p=structuredClone(f);Ut.info("our points",p),a!=="start_left"&&a!=="start_right"&&p.reverse();const v=25+i,m=edt(p,v),b=10+i*.5,E=Math.atan2(p[0].y-m.y,p[0].x-m.x),_={x:0,y:0};return a==="start_left"?(_.x=Math.sin(E+Math.PI)*b+(p[0].x+m.x)/2,_.y=-Math.cos(E+Math.PI)*b+(p[0].y+m.y)/2):a==="end_right"?(_.x=Math.sin(E-Math.PI)*b+(p[0].x+m.x)/2-5,_.y=-Math.cos(E-Math.PI)*b+(p[0].y+m.y)/2-5):a==="end_left"?(_.x=Math.sin(E)*b+(p[0].x+m.x)/2-5,_.y=-Math.cos(E)*b+(p[0].y+m.y)/2-5):(_.x=Math.sin(E)*b+(p[0].x+m.x)/2,_.y=-Math.cos(E)*b+(p[0].y+m.y)/2),_}function em(i){let a="",f="";for(const p of i)p!==void 0&&(p.startsWith("color:")||p.startsWith("text-align:")?f=f+p+";":a=a+p+";");return{style:a,labelStyle:f}}let qDt=0;const HDt=()=>(qDt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+qDt);function z_e(i){let a="";const f="0123456789abcdef",p=f.length;for(let v=0;vz_e(i.length),q_e=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},H_e=function(i,a){const f=a.text.replace(Yr.lineBreakRegex," "),[,p]=$A(a.fontSize),v=i.append("text");v.attr("x",a.x),v.attr("y",a.y),v.style("text-anchor",a.anchor),v.style("font-family",a.fontFamily),v.style("font-size",p),v.style("font-weight",a.fontWeight),v.attr("fill",a.fill),a.class!==void 0&&v.attr("class",a.class);const m=v.append("tspan");return m.attr("x",a.x+a.textMargin*2),m.attr("fill",a.fill),m.text(f),v},VDt=PA((i,a,f)=>{if(!i||(f=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:" 0?j[st]+" "+ut:adt(ut,/&\f/g,j[st])))&&(_[it++]=bt);return odt(i,a,f,v===0?KDt:E,_,L,N)}function oSe(i,a,f){return odt(i,a,f,WDt,sdt(Z_e()),QN(i,2,-2),0)}function tOt(i,a,f,p){return odt(i,a,f,YDt,QN(i,0,p),QN(i,p+1,-1),p)}function hdt(i,a){for(var f="",p=QDt(i),v=0;v {let f=Y1({},i),p={};for(const v of a)sOt(v),p=Y1(p,v);if(f=Y1(f,p),p.theme&&p.theme in w5){const v=Y1({},nOt),m=Y1(v.themeVariables||{},p.themeVariables);f.theme&&f.theme in w5&&(f.themeVariables=w5[f.theme].getThemeVariables(m))}return ZN=f,oOt(ZN),ZN},uSe=i=>(sp=Y1({},oT),sp=Y1(sp,i),i.theme&&w5[i.theme]&&(sp.themeVariables=w5[i.theme].getThemeVariables(i.themeVariables)),MW(sp,HA),sp),lSe=i=>{nOt=Y1({},i)},hSe=i=>(sp=Y1(sp,i),MW(sp,HA),sp),rOt=()=>Y1({},sp),iOt=i=>(oOt(i),Y1(ZN,i),Le()),Le=()=>Y1({},ZN),sOt=i=>{i&&(["secure",...sp.secure??[]].forEach(a=>{Object.hasOwn(i,a)&&(Ut.debug(`Denied attempt to modify a secure key ${a}`,i[a]),delete i[a])}),Object.keys(i).forEach(a=>{a.startsWith("__")&&delete i[a]}),Object.keys(i).forEach(a=>{typeof i[a]=="string"&&(i[a].includes("<")||i[a].includes(">")||i[a].includes("url(data:"))&&delete i[a],typeof i[a]=="object"&&sOt(i[a])}))},fSe=i=>{lW(i),i.fontFamily&&(!i.themeVariables||!i.themeVariables.fontFamily)&&(i.themeVariables={fontFamily:i.fontFamily}),HA.push(i),MW(sp,HA)},IW=(i=sp)=>{HA=[],MW(i,HA)},dSe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},aOt={},gSe=i=>{aOt[i]||(Ut.warn(dSe[i]),aOt[i]=!0)},oOt=i=>{i&&(i.lazyLoadedDiagrams||i.loadExternalDiagramsAtStartup)&&gSe("LAZY_LOAD_DEPRECATED")},cOt="c4",pSe={id:cOt,detector:i=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>IIe);return{id:cOt,diagram:i}}},uOt="flowchart",bSe={id:uOt,detector:(i,a)=>{var f,p;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-wrapper"||((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>O$e);return{id:uOt,diagram:i}}},lOt="flowchart-v2",vSe={id:lOt,detector:(i,a)=>{var f,p,v;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-d3"||((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)&&((v=a==null?void 0:a.flowchart)==null?void 0:v.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>N$e);return{id:lOt,diagram:i}}},hOt="er",wSe={id:hOt,detector:i=>/^\s*erDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>aze);return{id:hOt,diagram:i}}},fOt="gitGraph",mSe={id:fOt,detector:i=>/^\s*gitGraph/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Ize);return{id:fOt,diagram:i}}},dOt="gantt",ySe={id:dOt,detector:i=>/^\s*gantt/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>yqe);return{id:dOt,diagram:i}}},gOt="info",xSe={id:gOt,detector:i=>/^\s*info/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>kqe);return{id:gOt,diagram:i}}},pOt="pie",kSe={id:pOt,detector:i=>/^\s*pie/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Aqe);return{id:pOt,diagram:i}}},bOt="quadrantChart",ESe={id:bOt,detector:i=>/^\s*quadrantChart/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Gqe);return{id:bOt,diagram:i}}},vOt="requirement",TSe={id:vOt,detector:i=>/^\s*requirement(Diagram)?/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>tHe);return{id:vOt,diagram:i}}},wOt="sequence",CSe={id:wOt,detector:i=>/^\s*sequenceDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>sGe);return{id:wOt,diagram:i}}},mOt="class",_Se={id:mOt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>LGe);return{id:mOt,diagram:i}}},yOt="classDiagram",SSe={id:yOt,detector:(i,a)=>{var f;return/^\s*classDiagram/.test(i)&&((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>PGe);return{id:yOt,diagram:i}}},xOt="state",ASe={id:xOt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>kVe);return{id:xOt,diagram:i}}},kOt="stateDiagram",LSe={id:kOt,detector:(i,a)=>{var f;return!!(/^\s*stateDiagram-v2/.test(i)||/^\s*stateDiagram/.test(i)&&((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>zVe);return{id:kOt,diagram:i}}},EOt="journey",MSe={id:EOt,detector:i=>/^\s*journey/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>aUe);return{id:EOt,diagram:i}}},fdt=i=>{var v;const{securityLevel:a}=Le();let f=yr("body");if(a==="sandbox"){const b=((v=yr(`#i${i}`).node())==null?void 0:v.contentDocument)??document;f=yr(b.body)}return f.select(`#${i}`)},ISe=function(i,a){for(let f of a)i.attr(f[0],f[1])},DSe=function(i,a,f){let p=new Map;return f?(p.set("width","100%"),p.set("style",`max-width: ${a}px;`)):(p.set("height",i),p.set("width",a)),p},og=function(i,a,f,p){const v=DSe(a,f,p);ISe(i,v)},cT=function(i,a,f,p){const v=a.node().getBBox(),m=v.width,b=v.height;Ut.info(`SVG bounds: ${m}x${b}`,v);let E=0,_=0;Ut.info(`Graph bounds: ${E}x${_}`,i),E=m+f*2,_=b+f*2,Ut.info(`Calculated bounds: ${E}x${_}`),og(a,_,E,p);const L=`${v.x-f} ${v.y-f} ${v.width+2*f} ${v.height+2*f}`;a.attr("viewBox",L)},TOt={draw:(i,a,f)=>{Ut.debug(`renering svg for syntax error
-`);const p=fdt(a);p.attr("viewBox","0 0 2412 512"),og(p,100,512,!0);const v=p.append("g");v.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),v.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),v.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),v.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),v.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),v.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),v.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),v.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${f}`)}},OSe=TOt,NSe={db:{},renderer:TOt,parser:{parser:{yy:{}},parse:()=>{}}},COt="flowchart-elk",PSe={id:COt,detector:(i,a)=>{var f;return!!(/^\s*flowchart-elk/.test(i)||/^\s*flowchart|graph/.test(i)&&((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="elk")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>kUe);return{id:COt,diagram:i}}},_Ot="timeline",FSe={id:_Ot,detector:i=>/^\s*timeline/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>zUe);return{id:_Ot,diagram:i}}},SOt="mindmap",BSe={id:SOt,detector:i=>/^\s*mindmap/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>vWe);return{id:SOt,diagram:i}}},AOt="sankey",RSe={id:AOt,detector:i=>/^\s*sankey-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>WWe);return{id:AOt,diagram:i}}},DW={},jSe=(i,a,f)=>{let p="";return i in DW&&DW[i]?p=DW[i](f):Ut.warn(`No theme found for ${i}`),` & {
+`).map(function(N,R){return R===0?N:""+I+N}).join(`
+`)),b+=B+p[_+1]}),b}var b0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function G7(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var jLt={exports:{}};(function(i,a){(function(f,p){i.exports=p()})(b0,function(){var f=1e3,p=6e4,w=36e5,m="millisecond",b="second",E="minute",_="hour",A="day",I="week",B="month",N="quarter",R="year",z="date",W="Invalid Date",et=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,st=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,at={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(nt){var It=["th","st","nd","rd"],Ot=nt%100;return"["+nt+(It[(Ot-20)%10]||It[Ot]||It[0])+"]"}},bt=function(nt,It,Ot){var Bt=String(nt);return!Bt||Bt.length>=It?nt:""+Array(It+1-Bt.length).join(Ot)+nt},mt={s:bt,z:function(nt){var It=-nt.utcOffset(),Ot=Math.abs(It),Bt=Math.floor(Ot/60),Et=Ot%60;return(It<=0?"+":"-")+bt(Bt,2,"0")+":"+bt(Et,2,"0")},m:function nt(It,Ot){if(It.date() a?1:i>=a?0:NaN}function v6e(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function m6e(){return Array.from(this)}function y6e(){for(var i=this._groups,a=0,f=i.length;a 0&&_<1?0:b,new Xv(b,E,_,i.opacity)}function Mke(i,a,f,p){return arguments.length===1?gMt(i):new Xv(i,a,f,p??1)}function Xv(i,a,f,p){this.h=+i,this.s=+a,this.l=+f,this.opacity=+p}_P(Xv,Mke,MU(U7,{brighter(i){return i=i==null?DU:Math.pow(DU,i),new Xv(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?SP:Math.pow(SP,i),new Xv(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,a=isNaN(i)||isNaN(this.s)?0:this.s,f=this.l,p=f+(f<.5?f:1-f)*a,w=2*f-p;return new v0(c1t(i>=240?i-240:i+120,w,p),c1t(i,w,p),c1t(i<120?i+240:i-120,w,p),this.opacity)},clamp(){return new Xv(pMt(this.h),PU(this.s),PU(this.l),OU(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const i=OU(this.opacity);return`${i===1?"hsl(":"hsla("}${pMt(this.h)}, ${PU(this.s)*100}%, ${PU(this.l)*100}%${i===1?")":`, ${i})`}`}}));function pMt(i){return i=(i||0)%360,i<0?i+360:i}function PU(i){return Math.max(0,Math.min(1,i||0))}function c1t(i,a,f){return(i<60?a+(f-a)*i/60:i<180?f:i<240?a+(f-a)*(240-i)/60:a)*255}const Dke=Math.PI/180,Ike=180/Math.PI,FU=18,bMt=.96422,wMt=1,vMt=.82521,mMt=4/29,TA=6/29,yMt=3*TA*TA,Oke=TA*TA*TA;function xMt(i){if(i instanceof u3)return new u3(i.l,i.a,i.b,i.opacity);if(i instanceof b5)return kMt(i);i instanceof v0||(i=lMt(i));var a=f1t(i.r),f=f1t(i.g),p=f1t(i.b),w=u1t((.2225045*a+.7168786*f+.0606169*p)/wMt),m,b;return a===f&&f===p?m=b=w:(m=u1t((.4360747*a+.3850649*f+.1430804*p)/bMt),b=u1t((.0139322*a+.0971045*f+.7141733*p)/vMt)),new u3(116*w-16,500*(m-w),200*(w-b),i.opacity)}function Pke(i,a,f,p){return arguments.length===1?xMt(i):new u3(i,a,f,p??1)}function u3(i,a,f,p){this.l=+i,this.a=+a,this.b=+f,this.opacity=+p}_P(u3,Pke,MU(U7,{brighter(i){return new u3(this.l+FU*(i??1),this.a,this.b,this.opacity)},darker(i){return new u3(this.l-FU*(i??1),this.a,this.b,this.opacity)},rgb(){var i=(this.l+16)/116,a=isNaN(this.a)?i:i+this.a/500,f=isNaN(this.b)?i:i-this.b/200;return a=bMt*l1t(a),i=wMt*l1t(i),f=vMt*l1t(f),new v0(h1t(3.1338561*a-1.6168667*i-.4906146*f),h1t(-.9787684*a+1.9161415*i+.033454*f),h1t(.0719453*a-.2289914*i+1.4052427*f),this.opacity)}}));function u1t(i){return i>Oke?Math.pow(i,1/3):i/yMt+mMt}function l1t(i){return i>TA?i*i*i:yMt*(i-mMt)}function h1t(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function f1t(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function Fke(i){if(i instanceof b5)return new b5(i.h,i.c,i.l,i.opacity);if(i instanceof u3||(i=xMt(i)),i.a===0&&i.b===0)return new b5(NaN,0 a&&(f=i,i=a,a=f),function(p){return Math.max(i,Math.min(a,p))}}function IEe(i,a,f){var p=i[0],w=i[1],m=a[0],b=a[1];return w 2?OEe:IEe,_=A=null,B}function B(N){return N==null||isNaN(N=+N)?m:(_||(_=E(i.map(p),a,f)))(p(b(N)))}return B.invert=function(N){return b(w((A||(A=E(a,i.map(p),Qv)))(N)))},B.domain=function(N){return arguments.length?(i=Array.from(N,MEe),I()):i.slice()},B.range=function(N){return arguments.length?(a=Array.from(N),I()):a.slice()},B.rangeRound=function(N){return a=Array.from(N),f=Uke,I()},B.clamp=function(N){return arguments.length?(b=N?!0:SA,I()):b!==SA},B.interpolate=function(N){return arguments.length?(f=N,I()):f},B.unknown=function(N){return arguments.length?(m=N,B):m},function(N,R){return p=N,w=R,I()}}function QMt(){return PEe()(SA,SA)}function FEe(i,a,f,p){var w=t1t(i,a,f),m;switch(p=WU(p??",f"),p.type){case"s":{var b=Math.max(Math.abs(i),Math.abs(a));return p.precision==null&&!isNaN(m=SEe(w,b))&&(p.precision=m),WMt(p,b)}case"":case"e":case"g":case"p":case"r":{p.precision==null&&!isNaN(m=AEe(w,Math.max(Math.abs(i),Math.abs(a))))&&(p.precision=m-(p.type==="e"));break}case"f":case"%":{p.precision==null&&!isNaN(m=_Ee(w))&&(p.precision=m-(p.type==="%")*2);break}}return UMt(p)}function NEe(i){var a=i.domain;return i.ticks=function(f){var p=a();return Axe(p[0],p[p.length-1],f??10)},i.tickFormat=function(f,p){var w=a();return FEe(w[0],w[w.length-1],f??10,p)},i.nice=function(f){f==null&&(f=10);var p=a(),w=0,m=p.length-1,b=p[w],E=p[m],_,A,I=10;for(E0;){if(A=Jft(b,E,f),A===_)return p[w]=b,p[m]=E,a(p);if(A>0)b=Math.floor(b/A)*A,E=Math.ceil(E/A)*A;else if(A<0)b=Math.ceil(b*A)/A,E=Math.floor(E*A)/A;else break;_=A}return i},i}function AA(){var i=QMt();return i.copy=function(){return XMt(i,AA())},KU.apply(i,arguments),NEe(i)}function BEe(i,a){i=i.slice();var f=0,p=i.length-1,w=i[f],m=i[p],b;return m {f+=zIt(w,a),a=w});const p=f/2;return adt(i,p)}function oSe(i){return i.length===1?i[0]:aSe(i)}const qIt=(i,a=2)=>{const f=Math.pow(10,a);return Math.round(i*f)/f},adt=(i,a)=>{let f,p=a;for(const w of i){if(f){const m=zIt(w,f);if(m =1)return{x:w.x,y:w.y};if(b>0&&b<1)return{x:qIt((1-b)*f.x+b*w.x,5),y:qIt((1-b)*f.y+b*w.y,5)}}}f=w}throw new Error("Could not find a suitable point for the given distance")},cSe=(i,a,f)=>{Ut.info(`our points ${JSON.stringify(a)}`),a[0]!==f&&(a=a.reverse());const w=adt(a,25),m=i?10:5,b=Math.atan2(a[0].y-w.y,a[0].x-w.x),E={x:0,y:0};return E.x=Math.sin(b)*m+(a[0].x+w.x)/2,E.y=-Math.cos(b)*m+(a[0].y+w.y)/2,E};function uSe(i,a,f){const p=structuredClone(f);Ut.info("our points",p),a!=="start_left"&&a!=="start_right"&&p.reverse();const w=25+i,m=adt(p,w),b=10+i*.5,E=Math.atan2(p[0].y-m.y,p[0].x-m.x),_={x:0,y:0};return a==="start_left"?(_.x=Math.sin(E+Math.PI)*b+(p[0].x+m.x)/2,_.y=-Math.cos(E+Math.PI)*b+(p[0].y+m.y)/2):a==="end_right"?(_.x=Math.sin(E-Math.PI)*b+(p[0].x+m.x)/2-5,_.y=-Math.cos(E-Math.PI)*b+(p[0].y+m.y)/2-5):a==="end_left"?(_.x=Math.sin(E)*b+(p[0].x+m.x)/2-5,_.y=-Math.cos(E)*b+(p[0].y+m.y)/2-5):(_.x=Math.sin(E)*b+(p[0].x+m.x)/2,_.y=-Math.cos(E)*b+(p[0].y+m.y)/2),_}function im(i){let a="",f="";for(const p of i)p!==void 0&&(p.startsWith("color:")||p.startsWith("text-align:")?f=f+p+";":a=a+p+";");return{style:a,labelStyle:f}}let HIt=0;const VIt=()=>(HIt++,"id-"+Math.random().toString(36).substr(2,12)+"-"+HIt);function lSe(i){let a="";const f="0123456789abcdef",p=f.length;for(let w=0;wlSe(i.length),hSe=function(){return{x:0,y:0,fill:void 0,anchor:"start",style:"#666",width:100,height:100,textMargin:0,rx:0,ry:0,valign:void 0,text:""}},fSe=function(i,a){const f=a.text.replace(Kr.lineBreakRegex," "),[,p]=VA(a.fontSize),w=i.append("text");w.attr("x",a.x),w.attr("y",a.y),w.style("text-anchor",a.anchor),w.style("font-family",a.fontFamily),w.style("font-size",p),w.style("font-weight",a.fontWeight),w.attr("fill",a.fill),a.class!==void 0&&w.attr("class",a.class);const m=w.append("tspan");return m.attr("x",a.x+a.textMargin*2),m.attr("fill",a.fill),m.text(f),w},UIt=jA((i,a,f)=>{if(!i||(f=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:" 0?N[st]+" "+at:ldt(at,/&\f/g,N[st])))&&(_[et++]=bt);return hdt(i,a,f,w===0?KIt:E,_,A,I)}function MSe(i,a,f){return hdt(i,a,f,YIt,udt(xSe()),sF(i,2,-2),0)}function eOt(i,a,f,p){return hdt(i,a,f,XIt,sF(i,0,p),sF(i,p+1,-1),p)}function pdt(i,a){for(var f="",p=ZIt(i),w=0;w {let f=Z1({},i),p={};for(const w of a)aOt(w),p=Z1(p,w);if(f=Z1(f,p),p.theme&&p.theme in T5){const w=Z1({},rOt),m=Z1(w.themeVariables||{},p.themeVariables);f.theme&&f.theme in T5&&(f.themeVariables=T5[f.theme].getThemeVariables(m))}return aF=f,cOt(aF),aF},ISe=i=>(fp=Z1({},WA),fp=Z1(fp,i),i.theme&&T5[i.theme]&&(fp.themeVariables=T5[i.theme].getThemeVariables(i.themeVariables)),jW(fp,YA),fp),OSe=i=>{rOt=Z1({},i)},PSe=i=>(fp=Z1(fp,i),jW(fp,YA),fp),iOt=()=>Z1({},fp),sOt=i=>(cOt(i),Z1(aF,i),Fd()),Fd=()=>Z1({},aF),aOt=i=>{i&&(["secure",...fp.secure??[]].forEach(a=>{Object.hasOwn(i,a)&&(Ut.debug(`Denied attempt to modify a secure key ${a}`,i[a]),delete i[a])}),Object.keys(i).forEach(a=>{a.startsWith("__")&&delete i[a]}),Object.keys(i).forEach(a=>{typeof i[a]=="string"&&(i[a].includes("<")||i[a].includes(">")||i[a].includes("url(data:"))&&delete i[a],typeof i[a]=="object"&&aOt(i[a])}))},FSe=i=>{mW(i),i.fontFamily&&(!i.themeVariables||!i.themeVariables.fontFamily)&&(i.themeVariables={fontFamily:i.fontFamily}),YA.push(i),jW(fp,YA)},$W=(i=fp)=>{YA=[],jW(i,YA)},NSe={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead."},oOt={},BSe=i=>{oOt[i]||(Ut.warn(NSe[i]),oOt[i]=!0)},cOt=i=>{i&&(i.lazyLoadedDiagrams||i.loadExternalDiagramsAtStartup)&&BSe("LAZY_LOAD_DEPRECATED")},uOt="c4",RSe={id:uOt,detector:i=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>nIe);return{id:uOt,diagram:i}}},lOt="flowchart",jSe={id:lOt,detector:(i,a)=>{var f,p;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-wrapper"||((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>cze);return{id:lOt,diagram:i}}},hOt="flowchart-v2",$Se={id:hOt,detector:(i,a)=>{var f,p,w;return((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="dagre-d3"||((p=a==null?void 0:a.flowchart)==null?void 0:p.defaultRenderer)==="elk"?!1:/^\s*graph/.test(i)&&((w=a==null?void 0:a.flowchart)==null?void 0:w.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>uze);return{id:hOt,diagram:i}}},fOt="er",zSe={id:fOt,detector:i=>/^\s*erDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Fze);return{id:fOt,diagram:i}}},dOt="gitGraph",qSe={id:dOt,detector:i=>/^\s*gitGraph/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>aqe);return{id:dOt,diagram:i}}},gOt="gantt",HSe={id:gOt,detector:i=>/^\s*gantt/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Kqe);return{id:gOt,diagram:i}}},pOt="info",VSe={id:pOt,detector:i=>/^\s*info/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>Qqe);return{id:pOt,diagram:i}}},bOt="pie",GSe={id:bOt,detector:i=>/^\s*pie/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>rHe);return{id:bOt,diagram:i}}},wOt="quadrantChart",USe={id:wOt,detector:i=>/^\s*quadrantChart/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>mHe);return{id:wOt,diagram:i}}},vOt="xychart",WSe={id:vOt,detector:i=>/^\s*xychart-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>HHe);return{id:vOt,diagram:i}}},mOt="requirement",YSe={id:mOt,detector:i=>/^\s*requirement(Diagram)?/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>JHe);return{id:mOt,diagram:i}}},yOt="sequence",KSe={id:yOt,detector:i=>/^\s*sequenceDiagram/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>iGe);return{id:yOt,diagram:i}}},xOt="class",XSe={id:xOt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>AGe);return{id:xOt,diagram:i}}},kOt="classDiagram",QSe={id:kOt,detector:(i,a)=>{var f;return/^\s*classDiagram/.test(i)&&((f=a==null?void 0:a.class)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>PGe);return{id:kOt,diagram:i}}},EOt="state",ZSe={id:EOt,detector:(i,a)=>{var f;return((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(i)},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xUe);return{id:EOt,diagram:i}}},TOt="stateDiagram",JSe={id:TOt,detector:(i,a)=>{var f;return!!(/^\s*stateDiagram-v2/.test(i)||/^\s*stateDiagram/.test(i)&&((f=a==null?void 0:a.state)==null?void 0:f.defaultRenderer)==="dagre-wrapper")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>$Ue);return{id:TOt,diagram:i}}},COt="journey",tAe={id:COt,detector:i=>/^\s*journey/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>sWe);return{id:COt,diagram:i}}},eAe=function(i,a){for(let f of a)i.attr(f[0],f[1])},nAe=function(i,a,f){let p=new Map;return f?(p.set("width","100%"),p.set("style",`max-width: ${a}px;`)):(p.set("height",i),p.set("width",a)),p},k0=function(i,a,f,p){const w=nAe(a,f,p);eAe(i,w)},fT=function(i,a,f,p){const w=a.node().getBBox(),m=w.width,b=w.height;Ut.info(`SVG bounds: ${m}x${b}`,w);let E=0,_=0;Ut.info(`Graph bounds: ${E}x${_}`,i),E=m+f*2,_=b+f*2,Ut.info(`Calculated bounds: ${E}x${_}`),k0(a,_,E,p);const A=`${w.x-f} ${w.y-f} ${w.width+2*f} ${w.height+2*f}`;a.attr("viewBox",A)},zW={},rAe=(i,a,f)=>{let p="";return i in zW&&zW[i]?p=zW[i](f):Ut.warn(`No theme found for ${i}`),` & {
font-family: ${f.fontFamily};
font-size: ${f.fontSize};
fill: ${f.textColor}
@@ -56,61 +55,62 @@
${p}
${a}
-`},$Se=(i,a)=>{a!==void 0&&(DW[i]=a)},zSe=jSe;let ddt="",gdt="",pdt="";const bdt=i=>Dd(i,Le()),ap=()=>{ddt="",pdt="",gdt=""},cg=i=>{ddt=bdt(i).replace(/^\s+/g,"")},op=()=>ddt,cp=i=>{pdt=bdt(i).replace(/\n\s+/g,`
-`)},up=()=>pdt,Z2=i=>{gdt=bdt(i)},Db=()=>gdt,LOt=Object.freeze(Object.defineProperty({__proto__:null,clear:ap,getAccDescription:up,getAccTitle:op,getDiagramTitle:Db,setAccDescription:cp,setAccTitle:cg,setDiagramTitle:Z2},Symbol.toStringTag,{value:"Module"})),qSe=Ut,HSe=jft,JN=Le,GSe=i=>Dd(i,JN()),MOt=cT,VSe=()=>LOt,OW={},NW=(i,a,f)=>{var p;if(OW[i])throw new Error(`Diagram ${i} already registered.`);OW[i]=a,f&&cDt(i,f),$Se(i,a.styles),(p=a.injectUtils)==null||p.call(a,qSe,HSe,JN,GSe,MOt,VSe(),()=>{})},vdt=i=>{if(i in OW)return OW[i];throw new USe(i)};class USe extends Error{constructor(a){super(`Diagram ${a} not found.`)}}let IOt=!1;const wdt=()=>{IOt||(IOt=!0,NW("error",NSe,i=>i.toLowerCase().trim()==="error"),NW("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},i=>i.toLowerCase().trimStart().startsWith("---")),oDt(pSe,SSe,_Se,wSe,ySe,xSe,kSe,TSe,CSe,PSe,vSe,bSe,BSe,FSe,mSe,LSe,ASe,MSe,ESe,RSe))};class DOt{constructor(a,f={}){this.text=a,this.metadata=f,this.type="graph",this.text+=`
-`;const p=Le();try{this.type=hW(a,p)}catch(m){this.type="error",this.detectError=m}const v=vdt(this.type);Ut.debug("Type "+this.type),this.db=v.db,this.renderer=v.renderer,this.parser=v.parser,this.parser.parser.yy=this.db,this.init=v.init,this.parse()}parse(){var f,p,v,m,b;if(this.detectError)throw this.detectError;(p=(f=this.db).clear)==null||p.call(f);const a=Le();(v=this.init)==null||v.call(this,a),this.metadata.title&&((b=(m=this.db).setDiagramTitle)==null||b.call(m,this.metadata.title)),this.parser.parse(this.text)}async render(a,f){await this.renderer.draw(this.text,a,f,this)}getParser(){return this.parser}getType(){return this.type}}const mdt=async(i,a={})=>{const f=hW(i,Le());try{vdt(f)}catch{const v=t9e(f);if(!v)throw new aDt(`Diagram ${f} not found.`);const{id:m,diagram:b}=await v();NW(m,b)}return new DOt(i,a)};let ydt=[];const WSe=i=>{ydt.push(i)},KSe=()=>{ydt.forEach(i=>{i()}),ydt=[]};var YSe=xDt(Object.keys,Object);const XSe=YSe;var QSe=Object.prototype,ZSe=QSe.hasOwnProperty;function OOt(i){if(!vW(i))return XSe(i);var a=[];for(var f in Object(i))ZSe.call(i,f)&&f!="constructor"&&a.push(f);return a}var JSe=nT(Jw,"DataView");const xdt=JSe;var tAe=nT(Jw,"Promise");const kdt=tAe;var eAe=nT(Jw,"Set");const GA=eAe;var nAe=nT(Jw,"WeakMap");const Edt=nAe;var NOt="[object Map]",rAe="[object Object]",POt="[object Promise]",FOt="[object Set]",BOt="[object WeakMap]",ROt="[object DataView]",iAe=eT(xdt),sAe=eT(UN),aAe=eT(kdt),oAe=eT(GA),cAe=eT(Edt),uT=tT;(xdt&&uT(new xdt(new ArrayBuffer(1)))!=ROt||UN&&uT(new UN)!=NOt||kdt&&uT(kdt.resolve())!=POt||GA&&uT(new GA)!=FOt||Edt&&uT(new Edt)!=BOt)&&(uT=function(i){var a=tT(i),f=a==rAe?i.constructor:void 0,p=f?eT(f):"";if(p)switch(p){case iAe:return ROt;case sAe:return NOt;case aAe:return POt;case oAe:return FOt;case cAe:return BOt}return a});const VA=uT;var uAe="[object Map]",lAe="[object Set]",hAe=Object.prototype,fAe=hAe.hasOwnProperty;function tP(i){if(i==null)return!0;if(ek(i)&&(Mf(i)||typeof i=="string"||typeof i.splice=="function"||BA(i)||mW(i)||FA(i)))return!i.length;var a=VA(i);if(a==uAe||a==lAe)return!i.size;if(vW(i))return!OOt(i).length;for(var f in i)if(fAe.call(i,f))return!1;return!0}const dAe="graphics-document document";function gAe(i,a){i.attr("role",dAe),a!==""&&i.attr("aria-roledescription",a)}function pAe(i,a,f,p){if(i.insert!==void 0){if(f){const v=`chart-desc-${p}`;i.attr("aria-describedby",v),i.insert("desc",":first-child").attr("id",v).text(f)}if(a){const v=`chart-title-${p}`;i.attr("aria-labelledby",v),i.insert("title",":first-child").attr("id",v).text(a)}}}const bAe=i=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function jOt(i){return typeof i>"u"||i===null}function vAe(i){return typeof i=="object"&&i!==null}function wAe(i){return Array.isArray(i)?i:jOt(i)?[]:[i]}function mAe(i,a){var f,p,v,m;if(a)for(m=Object.keys(a),f=0,p=m.length;f {a!==void 0&&(zW[i]=a)},sAe=rAe;let bdt="",wdt="",vdt="";const mdt=i=>Q1(i,Fd()),hg=()=>{bdt="",vdt="",wdt=""},E0=i=>{bdt=mdt(i).replace(/^\s+/g,"")},fg=()=>bdt,dg=i=>{vdt=mdt(i).replace(/\n\s+/g,`
+`)},gg=()=>vdt,Nb=i=>{wdt=mdt(i)},pg=()=>wdt,_Ot=Object.freeze(Object.defineProperty({__proto__:null,clear:hg,getAccDescription:gg,getAccTitle:fg,getDiagramTitle:pg,setAccDescription:dg,setAccTitle:E0,setDiagramTitle:Nb},Symbol.toStringTag,{value:"Module"})),aAe=Ut,oAe=Xft,Oe=Fd,cAe=sOt,SOt=WA,uAe=i=>Q1(i,Oe()),AOt=fT,lAe=()=>_Ot,qW={},HW=(i,a,f)=>{var p;if(qW[i])throw new Error(`Diagram ${i} already registered.`);qW[i]=a,f&&uIt(i,f),iAe(i,a.styles),(p=a.injectUtils)==null||p.call(a,aAe,oAe,Oe,uAe,AOt,lAe(),()=>{})},ydt=i=>{if(i in qW)return qW[i];throw new hAe(i)};class hAe extends Error{constructor(a){super(`Diagram ${a} not found.`)}}const VW=i=>{var w;const{securityLevel:a}=Oe();let f=yr("body");if(a==="sandbox"){const b=((w=yr(`#i${i}`).node())==null?void 0:w.contentDocument)??document;f=yr(b.body)}return f.select(`#${i}`)},LOt={draw:(i,a,f)=>{Ut.debug(`renering svg for syntax error
+`);const p=VW(a);p.attr("viewBox","0 0 2412 512"),k0(p,100,512,!0);const w=p.append("g");w.append("path").attr("class","error-icon").attr("d","m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z"),w.append("path").attr("class","error-icon").attr("d","m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z"),w.append("path").attr("class","error-icon").attr("d","m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z"),w.append("path").attr("class","error-icon").attr("d","m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z"),w.append("path").attr("class","error-icon").attr("d","m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z"),w.append("path").attr("class","error-icon").attr("d","m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z"),w.append("text").attr("class","error-text").attr("x",1440).attr("y",250).attr("font-size","150px").style("text-anchor","middle").text("Syntax error in text"),w.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${f}`)}},fAe=LOt,dAe={db:{},renderer:LOt,parser:{parser:{yy:{}},parse:()=>{}}},MOt="flowchart-elk",gAe={id:MOt,detector:(i,a)=>{var f;return!!(/^\s*flowchart-elk/.test(i)||/^\s*flowchart|graph/.test(i)&&((f=a==null?void 0:a.flowchart)==null?void 0:f.defaultRenderer)==="elk")},loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>xWe);return{id:MOt,diagram:i}}},DOt="timeline",pAe={id:DOt,detector:i=>/^\s*timeline/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>$We);return{id:DOt,diagram:i}}},IOt="mindmap",bAe={id:IOt,detector:i=>/^\s*mindmap/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>bYe);return{id:IOt,diagram:i}}},OOt="sankey",wAe={id:OOt,detector:i=>/^\s*sankey-beta/.test(i),loader:async()=>{const{diagram:i}=await Promise.resolve().then(()=>UYe);return{id:OOt,diagram:i}}};let POt=!1;const xdt=()=>{POt||(POt=!0,HW("error",dAe,i=>i.toLowerCase().trim()==="error"),HW("---",{db:{clear:()=>{}},styles:{},renderer:{draw:()=>{}},parser:{parser:{yy:{}},parse:()=>{throw new Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")}},init:()=>null},i=>i.toLowerCase().trimStart().startsWith("---")),cIt(RSe,QSe,XSe,zSe,HSe,VSe,GSe,YSe,KSe,gAe,$Se,jSe,bAe,pAe,qSe,JSe,ZSe,tAe,USe,wAe,WSe))};class FOt{constructor(a,f={}){this.text=a,this.metadata=f,this.type="graph",this.text+=`
+`;const p=Fd();try{this.type=yW(a,p)}catch(m){this.type="error",this.detectError=m}const w=ydt(this.type);Ut.debug("Type "+this.type),this.db=w.db,this.renderer=w.renderer,this.parser=w.parser,this.parser.parser.yy=this.db,this.init=w.init,this.parse()}parse(){var f,p,w,m,b;if(this.detectError)throw this.detectError;(p=(f=this.db).clear)==null||p.call(f);const a=Fd();(w=this.init)==null||w.call(this,a),this.metadata.title&&((b=(m=this.db).setDiagramTitle)==null||b.call(m,this.metadata.title)),this.parser.parse(this.text)}async render(a,f){await this.renderer.draw(this.text,a,f,this)}getParser(){return this.parser}getType(){return this.type}}const kdt=async(i,a={})=>{const f=yW(i,Fd());try{ydt(f)}catch{const w=ECe(f);if(!w)throw new oIt(`Diagram ${f} not found.`);const{id:m,diagram:b}=await w();HW(m,b)}return new FOt(i,a)};let Edt=[];const vAe=i=>{Edt.push(i)},mAe=()=>{Edt.forEach(i=>{i()}),Edt=[]};var yAe=kIt(Object.keys,Object);const xAe=yAe;var kAe=Object.prototype,EAe=kAe.hasOwnProperty;function NOt(i){if(!_W(i))return xAe(i);var a=[];for(var f in Object(i))EAe.call(i,f)&&f!="constructor"&&a.push(f);return a}var TAe=oT(nm,"DataView");const Tdt=TAe;var CAe=oT(nm,"Promise");const Cdt=CAe;var _Ae=oT(nm,"Set");const KA=_Ae;var SAe=oT(nm,"WeakMap");const _dt=SAe;var BOt="[object Map]",AAe="[object Object]",ROt="[object Promise]",jOt="[object Set]",$Ot="[object WeakMap]",zOt="[object DataView]",LAe=aT(Tdt),MAe=aT(JP),DAe=aT(Cdt),IAe=aT(KA),OAe=aT(_dt),dT=sT;(Tdt&&dT(new Tdt(new ArrayBuffer(1)))!=zOt||JP&&dT(new JP)!=BOt||Cdt&&dT(Cdt.resolve())!=ROt||KA&&dT(new KA)!=jOt||_dt&&dT(new _dt)!=$Ot)&&(dT=function(i){var a=sT(i),f=a==AAe?i.constructor:void 0,p=f?aT(f):"";if(p)switch(p){case LAe:return zOt;case MAe:return BOt;case DAe:return ROt;case IAe:return jOt;case OAe:return $Ot}return a});const XA=dT;var PAe="[object Map]",FAe="[object Set]",NAe=Object.prototype,BAe=NAe.hasOwnProperty;function oF(i){if(i==null)return!0;if(ck(i)&&(If(i)||typeof i=="string"||typeof i.splice=="function"||zA(i)||AW(i)||$A(i)))return!i.length;var a=XA(i);if(a==PAe||a==FAe)return!i.size;if(_W(i))return!NOt(i).length;for(var f in i)if(BAe.call(i,f))return!1;return!0}const RAe="graphics-document document";function jAe(i,a){i.attr("role",RAe),a!==""&&i.attr("aria-roledescription",a)}function $Ae(i,a,f,p){if(i.insert!==void 0){if(f){const w=`chart-desc-${p}`;i.attr("aria-describedby",w),i.insert("desc",":first-child").attr("id",w).text(f)}if(a){const w=`chart-title-${p}`;i.attr("aria-labelledby",w),i.insert("title",":first-child").attr("id",w).text(a)}}}const zAe=i=>i.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart();/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function qOt(i){return typeof i>"u"||i===null}function qAe(i){return typeof i=="object"&&i!==null}function HAe(i){return Array.isArray(i)?i:qOt(i)?[]:[i]}function VAe(i,a){var f,p,w,m;if(a)for(m=Object.keys(a),f=0,p=m.length;f E&&(m=" ... ",a=p-E+m.length),f-p>E&&(b=" ...",f=p+E-b.length),{str:m+i.slice(a,f).replace(/\t/g,"→")+b,pos:p-a+m.length}}function Cdt(i,a){return ug.repeat(" ",a-i.length)+i}function AAe(i,a){if(a=Object.create(a||null),!i.buffer)return null;a.maxLength||(a.maxLength=79),typeof a.indent!="number"&&(a.indent=1),typeof a.linesBefore!="number"&&(a.linesBefore=3),typeof a.linesAfter!="number"&&(a.linesAfter=2);for(var f=/\r?\n|\r|\0/g,p=[0],v=[],m,b=-1;m=f.exec(i.buffer);)v.push(m.index),p.push(m.index+m[0].length),i.position<=m.index&&b<0&&(b=p.length-2);b<0&&(b=p.length-1);var E="",_,L,N=Math.min(i.line+a.linesAfter,v.length).toString().length,B=a.maxLength-(a.indent+N+3);for(_=1;_<=a.linesBefore&&!(b-_<0);_++)L=Tdt(i.buffer,p[b-_],v[b-_],i.position-(p[b]-p[b-_]),B),E=ug.repeat(" ",a.indent)+Cdt((i.line-_+1).toString(),N)+" | "+L.str+`
-`+E;for(L=Tdt(i.buffer,p[b],v[b],i.position,B),E+=ug.repeat(" ",a.indent)+Cdt((i.line+1).toString(),N)+" | "+L.str+`
-`,E+=ug.repeat("-",a.indent+N+3+L.pos)+`^
-`,_=1;_<=a.linesAfter&&!(b+_>=v.length);_++)L=Tdt(i.buffer,p[b+_],v[b+_],i.position-(p[b]-p[b+_]),B),E+=ug.repeat(" ",a.indent)+Cdt((i.line+_+1).toString(),N)+" | "+L.str+`
-`;return E.replace(/\n$/,"")}var LAe=AAe,MAe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],IAe=["scalar","sequence","mapping"];function DAe(i){var a={};return i!==null&&Object.keys(i).forEach(function(f){i[f].forEach(function(p){a[String(p)]=f})}),a}function OAe(i,a){if(a=a||{},Object.keys(a).forEach(function(f){if(MAe.indexOf(f)===-1)throw new x5('Unknown option "'+f+'" is met in definition of "'+i+'" YAML type.')}),this.options=a,this.tag=i,this.kind=a.kind||null,this.resolve=a.resolve||function(){return!0},this.construct=a.construct||function(f){return f},this.instanceOf=a.instanceOf||null,this.predicate=a.predicate||null,this.represent=a.represent||null,this.representName=a.representName||null,this.defaultStyle=a.defaultStyle||null,this.multi=a.multi||!1,this.styleAliases=DAe(a.styleAliases||null),IAe.indexOf(this.kind)===-1)throw new x5('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}var m0=OAe;function zOt(i,a){var f=[];return i[a].forEach(function(p){var v=f.length;f.forEach(function(m,b){m.tag===p.tag&&m.kind===p.kind&&m.multi===p.multi&&(v=b)}),f[v]=p}),f}function NAe(){var i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},a,f;function p(v){v.multi?(i.multi[v.kind].push(v),i.multi.fallback.push(v)):i[v.kind][v.tag]=i.fallback[v.tag]=v}for(a=0,f=arguments.length;a >10)+55296,(i-65536&1023)+56320)}for(var ZOt=new Array(256),JOt=new Array(256),WA=0;WA<256;WA++)ZOt[WA]=QOt(WA)?1:0,JOt[WA]=QOt(WA);function qLe(i,a){this.input=i,this.filename=a.filename||null,this.schema=a.schema||OLe,this.onWarning=a.onWarning||null,this.legacy=a.legacy||!1,this.json=a.json||!1,this.listener=a.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=i.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function tNt(i,a){var f={name:i.filename,buffer:i.input.slice(0,-1),position:i.position,line:i.line,column:i.position-i.lineStart};return f.snippet=LAe(f),new x5(a,f)}function _s(i,a){throw tNt(i,a)}function BW(i,a){i.onWarning&&i.onWarning.call(null,tNt(i,a))}var eNt={YAML:function(a,f,p){var v,m,b;a.version!==null&&_s(a,"duplication of %YAML directive"),p.length!==1&&_s(a,"YAML directive accepts exactly one argument"),v=/^([0-9]+)\.([0-9]+)$/.exec(p[0]),v===null&&_s(a,"ill-formed argument of the YAML directive"),m=parseInt(v[1],10),b=parseInt(v[2],10),m!==1&&_s(a,"unacceptable YAML version of the document"),a.version=p[0],a.checkLineBreaks=b<2,b!==1&&b!==2&&BW(a,"unsupported YAML version of the document")},TAG:function(a,f,p){var v,m;p.length!==2&&_s(a,"TAG directive accepts exactly two arguments"),v=p[0],m=p[1],KOt.test(v)||_s(a,"ill-formed tag handle (first argument) of the TAG directive"),rk.call(a.tagMap,v)&&_s(a,'there is a previously declared suffix for "'+v+'" tag handle'),YOt.test(m)||_s(a,"ill-formed tag prefix (second argument) of the TAG directive");try{m=decodeURIComponent(m)}catch{_s(a,"tag prefix is malformed: "+m)}a.tagMap[v]=m}};function ik(i,a,f,p){var v,m,b,E;if(a >10)+55296,(i-65536&1023)+56320)}for(var ePt=new Array(256),nPt=new Array(256),ZA=0;ZA<256;ZA++)ePt[ZA]=tPt(ZA)?1:0,nPt[ZA]=tPt(ZA);function dMe(i,a){this.input=i,this.filename=a.filename||null,this.schema=a.schema||iMe,this.onWarning=a.onWarning||null,this.legacy=a.legacy||!1,this.json=a.json||!1,this.listener=a.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=i.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function rPt(i,a){var f={name:i.filename,buffer:i.input.slice(0,-1),position:i.position,line:i.line,column:i.position-i.lineStart};return f.snippet=tLe(f),new A5(a,f)}function Ss(i,a){throw rPt(i,a)}function WW(i,a){i.onWarning&&i.onWarning.call(null,rPt(i,a))}var iPt={YAML:function(a,f,p){var w,m,b;a.version!==null&&Ss(a,"duplication of %YAML directive"),p.length!==1&&Ss(a,"YAML directive accepts exactly one argument"),w=/^([0-9]+)\.([0-9]+)$/.exec(p[0]),w===null&&Ss(a,"ill-formed argument of the YAML directive"),m=parseInt(w[1],10),b=parseInt(w[2],10),m!==1&&Ss(a,"unacceptable YAML version of the document"),a.version=p[0],a.checkLineBreaks=b<2,b!==1&&b!==2&&WW(a,"unsupported YAML version of the document")},TAG:function(a,f,p){var w,m;p.length!==2&&Ss(a,"TAG directive accepts exactly two arguments"),w=p[0],m=p[1],QOt.test(w)||Ss(a,"ill-formed tag handle (first argument) of the TAG directive"),lk.call(a.tagMap,w)&&Ss(a,'there is a previously declared suffix for "'+w+'" tag handle'),ZOt.test(m)||Ss(a,"ill-formed tag prefix (second argument) of the TAG directive");try{m=decodeURIComponent(m)}catch{Ss(a,"tag prefix is malformed: "+m)}a.tagMap[w]=m}};function hk(i,a,f,p){var w,m,b,E;if(a -1}function Nb(i){return ek(i)?ODt(i):OOt(i)}var iDe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,sDe=/^\w*$/;function Hdt(i,a){if(Mf(i))return!1;var f=typeof i;return f=="number"||f=="symbol"||f=="boolean"||i==null||pT(i)?!0:sDe.test(i)||!iDe.test(i)||a!=null&&i in Object(a)}var aDe=500;function oDe(i){var a=PA(i,function(p){return f.size===aDe&&f.clear(),p}),f=a.cache;return a}var cDe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,uDe=/\\(\\)?/g,lDe=oDe(function(i){var a=[];return i.charCodeAt(0)===46&&a.push(""),i.replace(cDe,function(f,p,v,m){a.push(v?m.replace(uDe,"$1"):p||f)}),a});const hDe=lDe;function uPt(i){return i==null?"":iPt(i)}function eK(i,a){return Mf(i)?i:Hdt(i,a)?[i]:hDe(uPt(i))}var fDe=1/0;function oP(i){if(typeof i=="string"||pT(i))return i;var a=i+"";return a=="0"&&1/i==-fDe?"-0":a}function nK(i,a){a=eK(a,i);for(var f=0,p=a.length;i!=null&&f 0&&f(E)?a>1?rK(E,a-1,f,p,v):Gdt(v,E):p||(v[v.length]=E)}return v}function ZA(i){var a=i==null?0:i.length;return a?rK(i,1):[]}function pDe(i){return BDt(FDt(i,void 0,ZA),i+"")}function bDe(i,a,f,p){var v=-1,m=i==null?0:i.length;for(p&&m&&(f=i[++v]);++v -1?v[m?a[b]:b]:void 0}}var ONe=Math.max;function NNe(i,a,f){var p=i==null?0:i.length;if(!p)return-1;var v=f==null?0:ZIe(f);return v<0&&(v=ONe(p+v,0)),cPt(i,ok(a),v)}var PNe=DNe(NNe);const Zdt=PNe;function PPt(i,a){var f=-1,p=ek(i)?Array(i.length):[];return sK(i,function(v,m,b){p[++f]=a(v,m,b)}),p}function Of(i,a){var f=Mf(i)?QA:PPt;return f(i,ok(a))}function FNe(i,a){return i==null?i:Y1t(i,Qdt(a),iT)}function BNe(i,a){return i&&Xdt(i,Qdt(a))}function RNe(i,a){return i>a}var jNe=Object.prototype,$Ne=jNe.hasOwnProperty;function zNe(i,a){return i!=null&&$Ne.call(i,a)}function za(i,a){return i!=null&&IPt(i,a,zNe)}function qNe(i,a){return QA(a,function(f){return i[f]})}function C5(i){return i==null?[]:qNe(i,Nb(i))}function Xh(i){return i===void 0}function FPt(i,a){return ia||m&&b&&_&&!E&&!L||p&&b&&_||!f&&_||!v)return 1;if(!p&&!m&&!L&&i=E)return _;var L=f[p];return _*(L=="desc"?-1:1)}}return i.index-a.index}function KNe(i,a,f){a.length?a=QA(a,function(m){return Mf(m)?function(b){return nK(b,m.length===1?m[0]:m)}:m}):a=[sT];var p=-1;a=QA(a,wW(ok));var v=PPt(i,function(m,b,E){var _=QA(a,function(L){return L(m)});return{criteria:_,index:++p,value:m}});return VNe(v,function(m,b){return WNe(m,b,f)})}function YNe(i,a){return GNe(i,a,function(f,p){return DPt(i,p)})}var XNe=pDe(function(i,a){return i==null?{}:YNe(i,a)});const hP=XNe;var QNe=Math.ceil,ZNe=Math.max;function JNe(i,a,f,p){for(var v=-1,m=ZNe(QNe((a-i)/(f||1)),0),b=Array(m);m--;)b[p?m:++v]=i,i+=f;return b}function tPe(i){return function(a,f,p){return p&&typeof p!="number"&&YN(a,f,p)&&(f=p=void 0),a=tK(a),f===void 0?(f=a,a=0):f=tK(f),p=p===void 0?a -1}function Rb(i){return ck(i)?PIt(i):NOt(i)}var LIe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,MIe=/^\w*$/;function Udt(i,a){if(If(i))return!1;var f=typeof i;return f=="number"||f=="symbol"||f=="boolean"||i==null||vT(i)?!0:MIe.test(i)||!LIe.test(i)||a!=null&&i in Object(a)}var DIe=500;function IIe(i){var a=jA(i,function(p){return f.size===DIe&&f.clear(),p}),f=a.cache;return a}var OIe=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,PIe=/\\(\\)?/g,FIe=IIe(function(i){var a=[];return i.charCodeAt(0)===46&&a.push(""),i.replace(OIe,function(f,p,w,m){a.push(w?m.replace(PIe,"$1"):p||f)}),a});const NIe=FIe;function fFt(i){return i==null?"":oFt(i)}function hY(i,a){return If(i)?i:Udt(i,a)?[i]:NIe(fFt(i))}var BIe=1/0;function gF(i){if(typeof i=="string"||vT(i))return i;var a=i+"";return a=="0"&&1/i==-BIe?"-0":a}function fY(i,a){a=hY(a,i);for(var f=0,p=a.length;i!=null&&f 0&&f(E)?a>1?dY(E,a-1,f,p,w):Wdt(w,E):p||(w[w.length]=E)}return w}function rL(i){var a=i==null?0:i.length;return a?dY(i,1):[]}function $Ie(i){return RIt(BIt(i,void 0,rL),i+"")}function zIe(i,a,f,p){var w=-1,m=i==null?0:i.length;for(p&&m&&(f=i[++w]);++w -1?w[m?a[b]:b]:void 0}}var iFe=Math.max;function sFe(i,a,f){var p=i==null?0:i.length;if(!p)return-1;var w=f==null?0:EIe(f);return w<0&&(w=iFe(p+w,0)),hFt(i,pk(a),w)}var aFe=rFe(sFe);const e0t=aFe;function RFt(i,a){var f=-1,p=ck(i)?Array(i.length):[];return pY(i,function(w,m,b){p[++f]=a(w,m,b)}),p}function Ff(i,a){var f=If(i)?nL:RFt;return f(i,pk(a))}function oFe(i,a){return i==null?i:tdt(i,t0t(a),uT)}function cFe(i,a){return i&&Jdt(i,t0t(a))}function uFe(i,a){return i>a}var lFe=Object.prototype,hFe=lFe.hasOwnProperty;function fFe(i,a){return i!=null&&hFe.call(i,a)}function za(i,a){return i!=null&&PFt(i,a,fFe)}function dFe(i,a){return nL(a,function(f){return i[f]})}function I5(i){return i==null?[]:dFe(i,Rb(i))}function Jh(i){return i===void 0}function jFt(i,a){return ia||m&&b&&_&&!E&&!A||p&&b&&_||!f&&_||!w)return 1;if(!p&&!m&&!A&&i=E)return _;var A=f[p];return _*(A=="desc"?-1:1)}}return i.index-a.index}function mFe(i,a,f){a.length?a=nL(a,function(m){return If(m)?function(b){return fY(b,m.length===1?m[0]:m)}:m}):a=[lT];var p=-1;a=nL(a,SW(pk));var w=RFt(i,function(m,b,E){var _=nL(a,function(A){return A(m)});return{criteria:_,index:++p,value:m}});return bFe(w,function(m,b){return vFe(m,b,f)})}function yFe(i,a){return pFe(i,a,function(f,p){return FFt(i,p)})}var xFe=$Ie(function(i,a){return i==null?{}:yFe(i,a)});const vF=xFe;var kFe=Math.ceil,EFe=Math.max;function TFe(i,a,f,p){for(var w=-1,m=EFe(kFe((a-i)/(f||1)),0),b=Array(m);m--;)b[p?m:++w]=i,i+=f;return b}function CFe(i){return function(a,f,p){return p&&typeof p!="number"&&nF(a,f,p)&&(f=p=void 0),a=lY(a),f===void 0?(f=a,a=0):f=lY(f),p=p===void 0?a
/gi,CTe=i=>i?XIt(i).replace(/\\n/g,"#br#").split("#br#"):[""],KIt=i=>eW.sanitize(i),YIt=(i,a)=>{var f;if(((f=a.flowchart)==null?void 0:f.htmlLabels)!==!1){const p=a.securityLevel;p==="antiscript"||p==="strict"?i=KIt(i):p!=="loose"&&(i=XIt(i),i=i.replace(//g,">"),i=i.replace(/=/g,"="),i=LTe(i))}return i},Dd=(i,a)=>i&&(a.dompurifyConfig?i=eW.sanitize(YIt(i,a),a.dompurifyConfig).toString():i=eW.sanitize(YIt(i,a),{FORBID_TAGS:["style"]}).toString(),i),_Te=(i,a)=>typeof i=="string"?Dd(i,a):i.flat().map(f=>Dd(f,a)),STe=i=>$N.test(i),ATe=i=>i.split($N),LTe=i=>i.replace(/#br#/g,"
"),XIt=i=>i.replace($N,"#br#"),MTe=i=>{let a="";return i&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replaceAll(/\(/g,"\\("),a=a.replaceAll(/\)/g,"\\)")),a},s1=i=>!(i===!1||["false","null","0"].includes(String(i).trim().toLowerCase())),ITe=function(...i){const a=i.filter(f=>!isNaN(f));return Math.max(...a)},DTe=function(...i){const a=i.filter(f=>!isNaN(f));return Math.min(...a)},zN=function(i){const a=i.split(/(,)/),f=[];for(let p=0;p
"},f),Yr.lineBreakRegex.test(i)))return i;const p=i.split(" "),v=[];let m="";return p.forEach((b,E)=>{const _=h3(`${b} `,f),L=h3(m,f);if(_>a){const{hyphenatedStrings:j,remainingWord:R}=G_e(b,a,"-",f);v.push(m,...j),m=R}else L+_>=a?(v.push(m),m=b):m=[m,b].filter(Boolean).join(" ");E+1===p.length&&v.push(m)}),v.filter(b=>b!=="").join(f.joinWith)},(i,a,f)=>`${i}${a}${f.fontSize}${f.fontWeight}${f.fontFamily}${f.joinWith}`),G_e=PA((i,a,f="-",p)=>{p=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},p);const v=[...i],m=[];let b="";return v.forEach((E,_)=>{const L=`${b}${E}`;if(h3(L,p)>=a){const B=_+1,j=v.length===B,R=`${L}${f}`;m.push(j?L:R),b=""}else b=L}),{hyphenatedStrings:m,remainingWord:b}},(i,a,f="-",p)=>`${i}${a}${f}${p.fontSize}${p.fontWeight}${p.fontFamily}`);function ndt(i,a){return rdt(i,a).height}function h3(i,a){return rdt(i,a).width}const rdt=PA((i,a)=>{const{fontSize:f=12,fontFamily:p="Arial",fontWeight:v=400}=a;if(!i)return{width:0,height:0};const[,m]=$A(f),b=["sans-serif",p],E=i.split(Yr.lineBreakRegex),_=[],L=yr("body");if(!L.remove)return{width:0,height:0,lineHeight:0};const N=L.append("svg");for(const j of b){let R=0;const z={width:0,height:0,lineHeight:0};for(const K of E){const it=q_e();it.text=K||RDt;const st=H_e(N,it).style("font-size",m).style("font-weight",v).style("font-family",j),ut=(st._groups||st)[0][0].getBBox();if(ut.width===0&&ut.height===0)throw new Error("svg element not in render tree");z.width=Math.round(Math.max(z.width,ut.width)),R=Math.round(ut.height),z.height+=R,z.lineHeight=Math.round(Math.max(z.lineHeight,R))}_.push(z)}N.remove();const B=isNaN(_[1].height)||isNaN(_[1].width)||isNaN(_[1].lineHeight)||_[0].height>_[1].height&&_[0].width>_[1].width&&_[0].lineHeight>_[1].lineHeight?0:1;return _[B]},(i,a)=>`${i}${a.fontSize}${a.fontWeight}${a.fontFamily}`);class V_e{constructor(a=!1,f){this.count=0,this.count=f?f.length:0,this.next=a?()=>this.count++:()=>Date.now()}}let TW;const U_e=function(i){return TW=TW||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),TW.innerHTML=i,unescape(TW.textContent)};function UDt(i){return"str"in i}const W_e=(i,a,f,p)=>{var m;if(!p)return;const v=(m=i.node())==null?void 0:m.getBBox();v&&i.append("text").text(p).attr("x",v.x+v.width/2).attr("y",-f).attr("class",a)},$A=i=>{if(typeof i=="number")return[i,i+"px"];const a=parseInt(i??"",10);return Number.isNaN(a)?[void 0,void 0]:i===String(a)?[a,i+"px"]:[a,i]};function idt(i,a){return EW({},i,a)}const $a={assignWithDepth:Y1,wrapLabel:VDt,calculateTextHeight:ndt,calculateTextWidth:h3,calculateTextDimensions:rdt,cleanAndMerge:idt,detectInit:D_e,detectDirective:jDt,isSubstringInArray:N_e,interpolateToCurve:X2,calcLabelPosition:R_e,calcCardinalityPosition:j_e,calcTerminalLabelPosition:$_e,formatUrl:P_e,getStylesFromArray:em,generateId:HDt,random:GDt,runFunc:F_e,entityDecode:U_e,insertTitle:W_e,parseFontSize:$A,InitIDGenerator:V_e};var WDt="comm",KDt="rule",YDt="decl",K_e="@import",Y_e="@keyframes",X_e=Math.abs,sdt=String.fromCharCode;function XDt(i){return i.trim()}function adt(i,a,f){return i.replace(a,f)}function Q_e(i,a){return i.indexOf(a)}function XN(i,a){return i.charCodeAt(a)|0}function QN(i,a,f){return i.slice(a,f)}function nk(i){return i.length}function QDt(i){return i.length}function CW(i,a){return a.push(i),i}var _W=1,zA=1,ZDt=0,Q2=0,If=0,qA="";function odt(i,a,f,p,v,m,b){return{value:i,root:a,parent:f,type:p,props:v,children:m,line:_W,column:zA,length:b,return:""}}function Z_e(){return If}function J_e(){return If=Q2>0?XN(qA,--Q2):0,zA--,If===10&&(zA=1,_W--),If}function nm(){return If=Q2
/gi,YTe=i=>i?ZDt(i).replace(/\\n/g,"#br#").split("#br#"):[""],XDt=i=>lW.sanitize(i),QDt=(i,a)=>{var f;if(((f=a.flowchart)==null?void 0:f.htmlLabels)!==!1){const p=a.securityLevel;p==="antiscript"||p==="strict"?i=XDt(i):p!=="loose"&&(i=ZDt(i),i=i.replace(//g,">"),i=i.replace(/=/g,"="),i=ZTe(i))}return i},Q1=(i,a)=>i&&(a.dompurifyConfig?i=lW.sanitize(QDt(i,a),a.dompurifyConfig).toString():i=lW.sanitize(QDt(i,a),{FORBID_TAGS:["style"]}).toString(),i),KTe=(i,a)=>typeof i=="string"?Q1(i,a):i.flat().map(f=>Q1(f,a)),XTe=i=>WP.test(i),QTe=i=>i.split(WP),ZTe=i=>i.replace(/#br#/g,"
"),ZDt=i=>i.replace(WP,"#br#"),JTe=i=>{let a="";return i&&(a=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,a=a.replaceAll(/\(/g,"\\("),a=a.replaceAll(/\)/g,"\\)")),a},o1=i=>!(i===!1||["false","null","0"].includes(String(i).trim().toLowerCase())),tCe=function(...i){const a=i.filter(f=>!isNaN(f));return Math.max(...a)},eCe=function(...i){const a=i.filter(f=>!isNaN(f));return Math.min(...a)},YP=function(i){const a=i.split(/(,)/),f=[];for(let p=0;p
"},f),Kr.lineBreakRegex.test(i)))return i;const p=i.split(" "),w=[];let m="";return p.forEach((b,E)=>{const _=d3(`${b} `,f),A=d3(m,f);if(_>a){const{hyphenatedStrings:N,remainingWord:R}=dSe(b,a,"-",f);w.push(m,...N),m=R}else A+_>=a?(w.push(m),m=b):m=[m,b].filter(Boolean).join(" ");E+1===p.length&&w.push(m)}),w.filter(b=>b!=="").join(f.joinWith)},(i,a,f)=>`${i}${a}${f.fontSize}${f.fontWeight}${f.fontFamily}${f.joinWith}`),dSe=jA((i,a,f="-",p)=>{p=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},p);const w=[...i],m=[];let b="";return w.forEach((E,_)=>{const A=`${b}${E}`;if(d3(A,p)>=a){const B=_+1,N=w.length===B,R=`${A}${f}`;m.push(N?A:R),b=""}else b=A}),{hyphenatedStrings:m,remainingWord:b}},(i,a,f="-",p)=>`${i}${a}${f}${p.fontSize}${p.fontWeight}${p.fontFamily}`);function odt(i,a){return cdt(i,a).height}function d3(i,a){return cdt(i,a).width}const cdt=jA((i,a)=>{const{fontSize:f=12,fontFamily:p="Arial",fontWeight:w=400}=a;if(!i)return{width:0,height:0};const[,m]=VA(f),b=["sans-serif",p],E=i.split(Kr.lineBreakRegex),_=[],A=yr("body");if(!A.remove)return{width:0,height:0,lineHeight:0};const I=A.append("svg");for(const N of b){let R=0;const z={width:0,height:0,lineHeight:0};for(const W of E){const et=hSe();et.text=W||jIt;const st=fSe(I,et).style("font-size",m).style("font-weight",w).style("font-family",N),at=(st._groups||st)[0][0].getBBox();if(at.width===0&&at.height===0)throw new Error("svg element not in render tree");z.width=Math.round(Math.max(z.width,at.width)),R=Math.round(at.height),z.height+=R,z.lineHeight=Math.round(Math.max(z.lineHeight,R))}_.push(z)}I.remove();const B=isNaN(_[1].height)||isNaN(_[1].width)||isNaN(_[1].lineHeight)||_[0].height>_[1].height&&_[0].width>_[1].width&&_[0].lineHeight>_[1].lineHeight?0:1;return _[B]},(i,a)=>`${i}${a.fontSize}${a.fontWeight}${a.fontFamily}`);class gSe{constructor(a=!1,f){this.count=0,this.count=f?f.length:0,this.next=a?()=>this.count++:()=>Date.now()}}let OW;const pSe=function(i){return OW=OW||document.createElement("div"),i=escape(i).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),OW.innerHTML=i,unescape(OW.textContent)};function WIt(i){return"str"in i}const bSe=(i,a,f,p)=>{var m;if(!p)return;const w=(m=i.node())==null?void 0:m.getBBox();w&&i.append("text").text(p).attr("x",w.x+w.width/2).attr("y",-f).attr("class",a)},VA=i=>{if(typeof i=="number")return[i,i+"px"];const a=parseInt(i??"",10);return Number.isNaN(a)?[void 0,void 0]:i===String(a)?[a,i+"px"]:[a,i]};function rF(i,a){return IW({},i,a)}const $a={assignWithDepth:Z1,wrapLabel:UIt,calculateTextHeight:odt,calculateTextWidth:d3,calculateTextDimensions:cdt,cleanAndMerge:rF,detectInit:eSe,detectDirective:$It,isSubstringInArray:rSe,interpolateToCurve:ew,calcLabelPosition:oSe,calcCardinalityPosition:cSe,calcTerminalLabelPosition:uSe,formatUrl:iSe,getStylesFromArray:im,generateId:VIt,random:GIt,runFunc:sSe,entityDecode:pSe,insertTitle:bSe,parseFontSize:VA,InitIDGenerator:gSe};var YIt="comm",KIt="rule",XIt="decl",wSe="@import",vSe="@keyframes",mSe=Math.abs,udt=String.fromCharCode;function QIt(i){return i.trim()}function ldt(i,a,f){return i.replace(a,f)}function ySe(i,a){return i.indexOf(a)}function iF(i,a){return i.charCodeAt(a)|0}function sF(i,a,f){return i.slice(a,f)}function uk(i){return i.length}function ZIt(i){return i.length}function PW(i,a){return a.push(i),i}var FW=1,GA=1,JIt=0,nw=0,Of=0,UA="";function hdt(i,a,f,p,w,m,b){return{value:i,root:a,parent:f,type:p,props:w,children:m,line:FW,column:GA,length:b,return:""}}function xSe(){return Of}function kSe(){return Of=nw>0?iF(UA,--nw):0,GA--,Of===10&&(GA=1,FW--),Of}function sm(){return Of=nw
/g,"
"),p},IMe=(i="",a)=>{var v,m;const f=(m=(v=a==null?void 0:a.viewBox)==null?void 0:v.baseVal)!=null&&m.height?a.viewBox.baseVal.height+"px":mMe,p=btoa(''+i+"");return``},oNt=(i,a,f,p,v)=>{const m=i.append("div");m.attr("id",f),p&&m.attr("style",p);const b=m.append("svg").attr("id",a).attr("width","100%").attr("xmlns",pMe);return v&&b.attr("xmlns:xlink",v),b.append("g"),i};function cNt(i,a){return i.append("iframe").attr("id",a).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const DMe=(i,a,f,p)=>{var v,m,b;(v=i.getElementById(a))==null||v.remove(),(m=i.getElementById(f))==null||m.remove(),(b=i.getElementById(p))==null||b.remove()},OMe=async function(i,a,f){var nt,Ot,Nt,qt,Ct,Z;wdt();const p=sNt(a);a=p.code;const v=Le();Ut.debug(v),a.length>((v==null?void 0:v.maxTextSize)??hMe)&&(a=fMe);const m="#"+i,b="i"+i,E="#"+b,_="d"+i,L="#"+_;let N=yr("body");const B=v.securityLevel===dMe,j=v.securityLevel===gMe,R=v.fontFamily;if(f!==void 0){if(f&&(f.innerHTML=""),B){const Tt=cNt(yr(f),b);N=yr(Tt.nodes()[0].contentDocument.body),N.node().style.margin=0}else N=yr(f);oNt(N,i,_,`font-family: ${R}`,bMe)}else{if(DMe(document,i,_,b),B){const Tt=cNt(yr("body"),b);N=yr(Tt.nodes()[0].contentDocument.body),N.node().style.margin=0}else N=yr("body");oNt(N,i,_)}a=SMe(a);let z,K;try{z=await mdt(a,{title:p.title})}catch(Tt){z=new DOt("error"),K=Tt}const it=N.select(L).node(),st=z.type,ut=it.firstChild,bt=ut.firstChild,mt=(Ot=(nt=z.renderer).getClasses)==null?void 0:Ot.call(nt,a,z),yt=LMe(v,st,mt,m),dt=document.createElement("style");dt.innerHTML=yt,ut.insertBefore(dt,bt);try{await z.renderer.draw(a,i,eOt,z)}catch(Tt){throw OSe.draw(a,i,eOt),Tt}const ht=N.select(`${L} svg`),wt=(qt=(Nt=z.db).getAccTitle)==null?void 0:qt.call(Nt),X=(Z=(Ct=z.db).getAccDescription)==null?void 0:Z.call(Ct);PMe(st,ht,wt,X),N.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",vMe);let pt=N.select(L).node().innerHTML;if(Ut.debug("config.arrowMarkerAbsolute",v.arrowMarkerAbsolute),pt=MMe(pt,B,s1(v.arrowMarkerAbsolute)),B){const Tt=N.select(L+" svg").node();pt=IMe(pt,Tt)}else j||(pt=eW.sanitize(pt,{ADD_TAGS:TMe,ADD_ATTR:CMe}));if(KSe(),K)throw K;const xt=yr(B?E:L).node();return xt&&"remove"in xt&&xt.remove(),{svg:pt,bindFunctions:z.db.bindFunctions}};function NMe(i={}){var f;i!=null&&i.fontFamily&&!((f=i.themeVariables)!=null&&f.fontFamily)&&(i.themeVariables||(i.themeVariables={}),i.themeVariables.fontFamily=i.fontFamily),lSe(i),i!=null&&i.theme&&i.theme in w5?i.themeVariables=w5[i.theme].getThemeVariables(i.themeVariables):i&&(i.themeVariables=w5.default.getThemeVariables(i.themeVariables));const a=typeof i=="object"?uSe(i):rOt();jft(a.logLevel),wdt()}function PMe(i,a,f,p){gAe(a,i),pAe(a,f,p,a.attr("id"))}const hT=Object.freeze({render:OMe,parse:_Me,getDiagramFromText:mdt,initialize:NMe,getConfig:Le,setConfig:iOt,getSiteConfig:rOt,updateSiteConfig:hSe,reset:()=>{IW()},globalReset:()=>{IW(oT)},defaultConfig:oT});jft(Le().logLevel),IW(Le());const FMe=async()=>{Ut.debug("Loading registered diagrams");const a=(await Promise.allSettled(Object.entries(DA).map(async([f,{detector:p,loader:v}])=>{if(v)try{vdt(f)}catch{try{const{diagram:b,id:E}=await v();NW(E,b,p)}catch(b){throw Ut.error(`Failed to load external diagram with key ${f}. Removing from detectors.`),delete DA[f],b}}}))).filter(f=>f.status==="rejected");if(a.length>0){Ut.error(`Failed to load ${a.length} external diagrams`);for(const f of a)Ut.error(f);throw new Error(`Failed to load ${a.length} external diagrams`)}},BMe=(i,a,f)=>{Ut.warn(i),UDt(i)?(f&&f(i.str,i.hash),a.push({...i,message:i.str,error:i})):(f&&f(i),i instanceof Error&&a.push({str:i.message,message:i.message,hash:i.name,error:i}))},uNt=async function(i={querySelector:".mermaid"}){try{await RMe(i)}catch(a){if(UDt(a)&&Ut.error(a.str),Ob.parseError&&Ob.parseError(a),!i.suppressErrors)throw Ut.error("Use the suppressErrors option to suppress these errors"),a}},RMe=async function({postRenderCallback:i,querySelector:a,nodes:f}={querySelector:".mermaid"}){const p=hT.getConfig();Ut.debug(`${i?"":"No "}Callback function found`);let v;if(f)v=f;else if(a)v=document.querySelectorAll(a);else throw new Error("Nodes and querySelector are both undefined");Ut.debug(`Found ${v.length} diagrams`),(p==null?void 0:p.startOnLoad)!==void 0&&(Ut.debug("Start On Load: "+(p==null?void 0:p.startOnLoad)),hT.updateSiteConfig({startOnLoad:p==null?void 0:p.startOnLoad}));const m=new $a.InitIDGenerator(p.deterministicIds,p.deterministicIDSeed);let b;const E=[];for(const _ of Array.from(v)){Ut.info("Rendering diagram: "+_.id);/*! Check if previously processed */if(_.getAttribute("data-processed"))continue;_.setAttribute("data-processed","true");const L=`mermaid-${m.next()}`;b=_.innerHTML,b=wA($a.entityDecode(b)).trim().replace(/
/gi,"
");const N=$a.detectInit(b);N&&Ut.debug("Detected early reinit: ",N);try{const{svg:B,bindFunctions:j}=await dNt(L,b,_);_.innerHTML=B,i&&await i(L),j&&j(_)}catch(B){BMe(B,E,Ob.parseError)}}if(E.length>0)throw E[0]},lNt=function(i){hT.initialize(i)},jMe=async function(i,a,f){Ut.warn("mermaid.init is deprecated. Please use run instead."),i&&lNt(i);const p={postRenderCallback:f,querySelector:".mermaid"};typeof a=="string"?p.querySelector=a:a&&(a instanceof HTMLElement?p.nodes=[a]:p.nodes=a),await uNt(p)},$Me=async(i,{lazyLoad:a=!0}={})=>{oDt(...i),a===!1&&await FMe()},hNt=function(){if(Ob.startOnLoad){const{startOnLoad:i}=hT.getConfig();i&&Ob.run().catch(a=>Ut.error("Mermaid failed to initialize",a))}};if(typeof document<"u"){/*!
+:root { --mermaid-alt-font-family: ${i.altFontFamily}}`),!oF(a)){const E=i.htmlLabels||((p=i.flowchart)==null?void 0:p.htmlLabels)?["> *","span"]:["rect","polygon","ellipse","circle","path"];for(const _ in a){const A=a[_];oF(A.styles)||E.forEach(I=>{f+=uPt(A.id,I,A.styles)}),oF(A.textStyles)||(f+=uPt(A.id,"tspan",A.textStyles))}}return f},tDe=(i,a,f,p)=>{const w=JMe(i,f),m=sAe(a,w,i.themeVariables);return pdt(LSe(`${p}{${m}}`),DSe)},eDe=(i="",a,f)=>{let p=i;return!f&&!a&&(p=p.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),p=uF(p),p=p.replace(/
/g,"
"),p},nDe=(i="",a)=>{var w,m;const f=(m=(w=a==null?void 0:a.viewBox)==null?void 0:w.baseVal)!=null&&m.height?a.viewBox.baseVal.height+"px":VMe,p=btoa(''+i+"");return``},lPt=(i,a,f,p,w)=>{const m=i.append("div");m.attr("id",f),p&&m.attr("style",p);const b=m.append("svg").attr("id",a).attr("width","100%").attr("xmlns",$Me);return w&&b.attr("xmlns:xlink",w),b.append("g"),i};function hPt(i,a){return i.append("iframe").attr("id",a).attr("style","width: 100%; height: 100%;").attr("sandbox","")}const rDe=(i,a,f,p)=>{var w,m,b;(w=i.getElementById(a))==null||w.remove(),(m=i.getElementById(f))==null||m.remove(),(b=i.getElementById(p))==null||b.remove()},iDe=async function(i,a,f){var nt,It,Ot,Bt,Et,Z;xdt();const p=cPt(a);a=p.code;const w=Fd();Ut.debug(w),a.length>((w==null?void 0:w.maxTextSize)??NMe)&&(a=BMe);const m="#"+i,b="i"+i,E="#"+b,_="d"+i,A="#"+_;let I=yr("body");const B=w.securityLevel===RMe,N=w.securityLevel===jMe,R=w.fontFamily;if(f!==void 0){if(f&&(f.innerHTML=""),B){const Ct=hPt(yr(f),b);I=yr(Ct.nodes()[0].contentDocument.body),I.node().style.margin=0}else I=yr(f);lPt(I,i,_,`font-family: ${R}`,zMe)}else{if(rDe(document,i,_,b),B){const Ct=hPt(yr("body"),b);I=yr(Ct.nodes()[0].contentDocument.body),I.node().style.margin=0}else I=yr("body");lPt(I,i,_)}a=ZMe(a);let z,W;try{z=await kdt(a,{title:p.title})}catch(Ct){z=new FOt("error"),W=Ct}const et=I.select(A).node(),st=z.type,at=et.firstChild,bt=at.firstChild,mt=(It=(nt=z.renderer).getClasses)==null?void 0:It.call(nt,a,z),yt=tDe(w,st,mt,m),ft=document.createElement("style");ft.innerHTML=yt,at.insertBefore(ft,bt);try{await z.renderer.draw(a,i,nOt,z)}catch(Ct){throw fAe.draw(a,i,nOt),Ct}const ut=I.select(`${A} svg`),vt=(Bt=(Ot=z.db).getAccTitle)==null?void 0:Bt.call(Ot),X=(Z=(Et=z.db).getAccDescription)==null?void 0:Z.call(Et);aDe(st,ut,vt,X),I.select(`[id="${i}"]`).selectAll("foreignobject > *").attr("xmlns",qMe);let pt=I.select(A).node().innerHTML;if(Ut.debug("config.arrowMarkerAbsolute",w.arrowMarkerAbsolute),pt=eDe(pt,B,o1(w.arrowMarkerAbsolute)),B){const Ct=I.select(A+" svg").node();pt=nDe(pt,Ct)}else N||(pt=lW.sanitize(pt,{ADD_TAGS:KMe,ADD_ATTR:XMe}));if(mAe(),W)throw W;const Tt=yr(B?E:A).node();return Tt&&"remove"in Tt&&Tt.remove(),{svg:pt,bindFunctions:z.db.bindFunctions}};function sDe(i={}){var f;i!=null&&i.fontFamily&&!((f=i.themeVariables)!=null&&f.fontFamily)&&(i.themeVariables||(i.themeVariables={}),i.themeVariables.fontFamily=i.fontFamily),OSe(i),i!=null&&i.theme&&i.theme in T5?i.themeVariables=T5[i.theme].getThemeVariables(i.themeVariables):i&&(i.themeVariables=T5.default.getThemeVariables(i.themeVariables));const a=typeof i=="object"?ISe(i):iOt();Xft(a.logLevel),xdt()}function aDe(i,a,f,p){jAe(a,i),$Ae(a,f,p,a.attr("id"))}const pT=Object.freeze({render:iDe,parse:QMe,getDiagramFromText:kdt,initialize:sDe,getConfig:Fd,setConfig:sOt,getSiteConfig:iOt,updateSiteConfig:PSe,reset:()=>{$W()},globalReset:()=>{$W(WA)},defaultConfig:WA});Xft(Fd().logLevel),$W(Fd());const oDe=async()=>{Ut.debug("Loading registered diagrams");const a=(await Promise.allSettled(Object.entries(NA).map(async([f,{detector:p,loader:w}])=>{if(w)try{ydt(f)}catch{try{const{diagram:b,id:E}=await w();HW(E,b,p)}catch(b){throw Ut.error(`Failed to load external diagram with key ${f}. Removing from detectors.`),delete NA[f],b}}}))).filter(f=>f.status==="rejected");if(a.length>0){Ut.error(`Failed to load ${a.length} external diagrams`);for(const f of a)Ut.error(f);throw new Error(`Failed to load ${a.length} external diagrams`)}},cDe=(i,a,f)=>{Ut.warn(i),WIt(i)?(f&&f(i.str,i.hash),a.push({...i,message:i.str,error:i})):(f&&f(i),i instanceof Error&&a.push({str:i.message,message:i.message,hash:i.name,error:i}))},fPt=async function(i={querySelector:".mermaid"}){try{await uDe(i)}catch(a){if(WIt(a)&&Ut.error(a.str),Bb.parseError&&Bb.parseError(a),!i.suppressErrors)throw Ut.error("Use the suppressErrors option to suppress these errors"),a}},uDe=async function({postRenderCallback:i,querySelector:a,nodes:f}={querySelector:".mermaid"}){const p=pT.getConfig();Ut.debug(`${i?"":"No "}Callback function found`);let w;if(f)w=f;else if(a)w=document.querySelectorAll(a);else throw new Error("Nodes and querySelector are both undefined");Ut.debug(`Found ${w.length} diagrams`),(p==null?void 0:p.startOnLoad)!==void 0&&(Ut.debug("Start On Load: "+(p==null?void 0:p.startOnLoad)),pT.updateSiteConfig({startOnLoad:p==null?void 0:p.startOnLoad}));const m=new $a.InitIDGenerator(p.deterministicIds,p.deterministicIDSeed);let b;const E=[];for(const _ of Array.from(w)){Ut.info("Rendering diagram: "+_.id);/*! Check if previously processed */if(_.getAttribute("data-processed"))continue;_.setAttribute("data-processed","true");const A=`mermaid-${m.next()}`;b=_.innerHTML,b=xA($a.entityDecode(b)).trim().replace(/
/gi,"
");const I=$a.detectInit(b);I&&Ut.debug("Detected early reinit: ",I);try{const{svg:B,bindFunctions:N}=await bPt(A,b,_);_.innerHTML=B,i&&await i(A),N&&N(_)}catch(B){cDe(B,E,Bb.parseError)}}if(E.length>0)throw E[0]},dPt=function(i){pT.initialize(i)},lDe=async function(i,a,f){Ut.warn("mermaid.init is deprecated. Please use run instead."),i&&dPt(i);const p={postRenderCallback:f,querySelector:".mermaid"};typeof a=="string"?p.querySelector=a:a&&(a instanceof HTMLElement?p.nodes=[a]:p.nodes=a),await fPt(p)},hDe=async(i,{lazyLoad:a=!0}={})=>{cIt(...i),a===!1&&await oDe()},gPt=function(){if(Bb.startOnLoad){const{startOnLoad:i}=pT.getConfig();i&&Bb.run().catch(a=>Ut.error("Mermaid failed to initialize",a))}};if(typeof document<"u"){/*!
* Wait for document loaded before starting the execution
- */window.addEventListener("load",hNt,!1)}const zMe=function(i){Ob.parseError=i},jW=[];let Idt=!1;const fNt=async()=>{if(!Idt){for(Idt=!0;jW.length>0;){const i=jW.shift();if(i)try{await i()}catch(a){Ut.error("Error executing queue",a)}}Idt=!1}},qMe=async(i,a)=>new Promise((f,p)=>{const v=()=>new Promise((m,b)=>{hT.parse(i,a).then(E=>{m(E),f(E)},E=>{var _;Ut.error("Error parsing",E),(_=Ob.parseError)==null||_.call(Ob,E),b(E),p(E)})});jW.push(v),fNt().catch(p)}),dNt=(i,a,f)=>new Promise((p,v)=>{const m=()=>new Promise((b,E)=>{hT.render(i,a,f).then(_=>{b(_),p(_)},_=>{var L;Ut.error("Error parsing",_),(L=Ob.parseError)==null||L.call(Ob,_),E(_),v(_)})});jW.push(m),fNt().catch(v)}),Ob={startOnLoad:!0,mermaidAPI:hT,parse:qMe,render:dNt,init:jMe,run:uNt,registerExternalDiagrams:$Me,initialize:lNt,parseError:void 0,contentLoaded:hNt,setParseErrorHandler:zMe,detectType:hW};var $W=function(){var i=function(ds,Dr,nr,di){for(nr=nr||{},di=ds.length;di--;nr[ds[di]]=Dr);return nr},a=[1,24],f=[1,25],p=[1,26],v=[1,27],m=[1,28],b=[1,63],E=[1,64],_=[1,65],L=[1,66],N=[1,67],B=[1,68],j=[1,69],R=[1,29],z=[1,30],K=[1,31],it=[1,32],st=[1,33],ut=[1,34],bt=[1,35],mt=[1,36],yt=[1,37],dt=[1,38],ht=[1,39],wt=[1,40],X=[1,41],pt=[1,42],U=[1,43],xt=[1,44],nt=[1,45],Ot=[1,46],Nt=[1,47],qt=[1,48],Ct=[1,50],Z=[1,51],Tt=[1,52],Ht=[1,53],It=[1,54],Ft=[1,55],ke=[1,56],pn=[1,57],Me=[1,58],ve=[1,59],Ge=[1,60],Ke=[14,42],we=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],_e=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],$t=[1,82],re=[1,83],ie=[1,84],Oe=[1,85],oe=[12,14,42],Ne=[12,14,33,42],me=[12,14,33,42,76,77,79,80],cn=[12,33],li=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ya={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:function(Dr,nr,di,Ee,Yn,He,Ti){var gn=He.length-1;switch(Yn){case 3:Ee.setDirection("TB");break;case 4:Ee.setDirection("BT");break;case 5:Ee.setDirection("RL");break;case 6:Ee.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Ee.setC4Type(He[gn-3]);break;case 19:Ee.setTitle(He[gn].substring(6)),this.$=He[gn].substring(6);break;case 20:Ee.setAccDescription(He[gn].substring(15)),this.$=He[gn].substring(15);break;case 21:this.$=He[gn].trim(),Ee.setTitle(this.$);break;case 22:case 23:this.$=He[gn].trim(),Ee.setAccDescription(this.$);break;case 28:case 29:He[gn].splice(2,0,"ENTERPRISE"),Ee.addPersonOrSystemBoundary(...He[gn]),this.$=He[gn];break;case 30:Ee.addPersonOrSystemBoundary(...He[gn]),this.$=He[gn];break;case 31:He[gn].splice(2,0,"CONTAINER"),Ee.addContainerBoundary(...He[gn]),this.$=He[gn];break;case 32:Ee.addDeploymentNode("node",...He[gn]),this.$=He[gn];break;case 33:Ee.addDeploymentNode("nodeL",...He[gn]),this.$=He[gn];break;case 34:Ee.addDeploymentNode("nodeR",...He[gn]),this.$=He[gn];break;case 35:Ee.popBoundaryParseStack();break;case 39:Ee.addPersonOrSystem("person",...He[gn]),this.$=He[gn];break;case 40:Ee.addPersonOrSystem("external_person",...He[gn]),this.$=He[gn];break;case 41:Ee.addPersonOrSystem("system",...He[gn]),this.$=He[gn];break;case 42:Ee.addPersonOrSystem("system_db",...He[gn]),this.$=He[gn];break;case 43:Ee.addPersonOrSystem("system_queue",...He[gn]),this.$=He[gn];break;case 44:Ee.addPersonOrSystem("external_system",...He[gn]),this.$=He[gn];break;case 45:Ee.addPersonOrSystem("external_system_db",...He[gn]),this.$=He[gn];break;case 46:Ee.addPersonOrSystem("external_system_queue",...He[gn]),this.$=He[gn];break;case 47:Ee.addContainer("container",...He[gn]),this.$=He[gn];break;case 48:Ee.addContainer("container_db",...He[gn]),this.$=He[gn];break;case 49:Ee.addContainer("container_queue",...He[gn]),this.$=He[gn];break;case 50:Ee.addContainer("external_container",...He[gn]),this.$=He[gn];break;case 51:Ee.addContainer("external_container_db",...He[gn]),this.$=He[gn];break;case 52:Ee.addContainer("external_container_queue",...He[gn]),this.$=He[gn];break;case 53:Ee.addComponent("component",...He[gn]),this.$=He[gn];break;case 54:Ee.addComponent("component_db",...He[gn]),this.$=He[gn];break;case 55:Ee.addComponent("component_queue",...He[gn]),this.$=He[gn];break;case 56:Ee.addComponent("external_component",...He[gn]),this.$=He[gn];break;case 57:Ee.addComponent("external_component_db",...He[gn]),this.$=He[gn];break;case 58:Ee.addComponent("external_component_queue",...He[gn]),this.$=He[gn];break;case 60:Ee.addRel("rel",...He[gn]),this.$=He[gn];break;case 61:Ee.addRel("birel",...He[gn]),this.$=He[gn];break;case 62:Ee.addRel("rel_u",...He[gn]),this.$=He[gn];break;case 63:Ee.addRel("rel_d",...He[gn]),this.$=He[gn];break;case 64:Ee.addRel("rel_l",...He[gn]),this.$=He[gn];break;case 65:Ee.addRel("rel_r",...He[gn]),this.$=He[gn];break;case 66:Ee.addRel("rel_b",...He[gn]),this.$=He[gn];break;case 67:He[gn].splice(0,1),Ee.addRel("rel",...He[gn]),this.$=He[gn];break;case 68:Ee.updateElStyle("update_el_style",...He[gn]),this.$=He[gn];break;case 69:Ee.updateRelStyle("update_rel_style",...He[gn]),this.$=He[gn];break;case 70:Ee.updateLayoutConfig("update_layout_config",...He[gn]),this.$=He[gn];break;case 71:this.$=[He[gn]];break;case 72:He[gn].unshift(He[gn-1]),this.$=He[gn];break;case 73:case 75:this.$=He[gn].trim();break;case 74:let ks={};ks[He[gn-1].trim()]=He[gn].trim(),this.$=ks;break;case 76:this.$="";break}},table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:a,23:f,24:p,26:v,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:L,39:N,40:B,41:j,43:23,44:R,45:z,46:K,47:it,48:st,49:ut,50:bt,51:mt,52:yt,53:dt,54:ht,55:wt,56:X,57:pt,58:U,59:xt,60:nt,61:Ot,62:Nt,63:qt,64:Ct,65:Z,66:Tt,67:Ht,68:It,69:Ft,70:ke,71:pn,72:Me,73:ve,74:Ge},{13:70,19:20,20:21,21:22,22:a,23:f,24:p,26:v,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:L,39:N,40:B,41:j,43:23,44:R,45:z,46:K,47:it,48:st,49:ut,50:bt,51:mt,52:yt,53:dt,54:ht,55:wt,56:X,57:pt,58:U,59:xt,60:nt,61:Ot,62:Nt,63:qt,64:Ct,65:Z,66:Tt,67:Ht,68:It,69:Ft,70:ke,71:pn,72:Me,73:ve,74:Ge},{13:71,19:20,20:21,21:22,22:a,23:f,24:p,26:v,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:L,39:N,40:B,41:j,43:23,44:R,45:z,46:K,47:it,48:st,49:ut,50:bt,51:mt,52:yt,53:dt,54:ht,55:wt,56:X,57:pt,58:U,59:xt,60:nt,61:Ot,62:Nt,63:qt,64:Ct,65:Z,66:Tt,67:Ht,68:It,69:Ft,70:ke,71:pn,72:Me,73:ve,74:Ge},{13:72,19:20,20:21,21:22,22:a,23:f,24:p,26:v,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:L,39:N,40:B,41:j,43:23,44:R,45:z,46:K,47:it,48:st,49:ut,50:bt,51:mt,52:yt,53:dt,54:ht,55:wt,56:X,57:pt,58:U,59:xt,60:nt,61:Ot,62:Nt,63:qt,64:Ct,65:Z,66:Tt,67:Ht,68:It,69:Ft,70:ke,71:pn,72:Me,73:ve,74:Ge},{13:73,19:20,20:21,21:22,22:a,23:f,24:p,26:v,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:L,39:N,40:B,41:j,43:23,44:R,45:z,46:K,47:it,48:st,49:ut,50:bt,51:mt,52:yt,53:dt,54:ht,55:wt,56:X,57:pt,58:U,59:xt,60:nt,61:Ot,62:Nt,63:qt,64:Ct,65:Z,66:Tt,67:Ht,68:It,69:Ft,70:ke,71:pn,72:Me,73:ve,74:Ge},{14:[1,74]},i(Ke,[2,13],{43:23,29:49,30:61,32:62,20:75,34:b,36:E,37:_,38:L,39:N,40:B,41:j,44:R,45:z,46:K,47:it,48:st,49:ut,50:bt,51:mt,52:yt,53:dt,54:ht,55:wt,56:X,57:pt,58:U,59:xt,60:nt,61:Ot,62:Nt,63:qt,64:Ct,65:Z,66:Tt,67:Ht,68:It,69:Ft,70:ke,71:pn,72:Me,73:ve,74:Ge}),i(Ke,[2,14]),i(we,[2,16],{12:[1,76]}),i(Ke,[2,36],{12:[1,77]}),i(_e,[2,19]),i(_e,[2,20]),{25:[1,78]},{27:[1,79]},i(_e,[2,23]),{35:80,75:81,76:$t,77:re,79:ie,80:Oe},{35:86,75:81,76:$t,77:re,79:ie,80:Oe},{35:87,75:81,76:$t,77:re,79:ie,80:Oe},{35:88,75:81,76:$t,77:re,79:ie,80:Oe},{35:89,75:81,76:$t,77:re,79:ie,80:Oe},{35:90,75:81,76:$t,77:re,79:ie,80:Oe},{35:91,75:81,76:$t,77:re,79:ie,80:Oe},{35:92,75:81,76:$t,77:re,79:ie,80:Oe},{35:93,75:81,76:$t,77:re,79:ie,80:Oe},{35:94,75:81,76:$t,77:re,79:ie,80:Oe},{35:95,75:81,76:$t,77:re,79:ie,80:Oe},{35:96,75:81,76:$t,77:re,79:ie,80:Oe},{35:97,75:81,76:$t,77:re,79:ie,80:Oe},{35:98,75:81,76:$t,77:re,79:ie,80:Oe},{35:99,75:81,76:$t,77:re,79:ie,80:Oe},{35:100,75:81,76:$t,77:re,79:ie,80:Oe},{35:101,75:81,76:$t,77:re,79:ie,80:Oe},{35:102,75:81,76:$t,77:re,79:ie,80:Oe},{35:103,75:81,76:$t,77:re,79:ie,80:Oe},{35:104,75:81,76:$t,77:re,79:ie,80:Oe},i(oe,[2,59]),{35:105,75:81,76:$t,77:re,79:ie,80:Oe},{35:106,75:81,76:$t,77:re,79:ie,80:Oe},{35:107,75:81,76:$t,77:re,79:ie,80:Oe},{35:108,75:81,76:$t,77:re,79:ie,80:Oe},{35:109,75:81,76:$t,77:re,79:ie,80:Oe},{35:110,75:81,76:$t,77:re,79:ie,80:Oe},{35:111,75:81,76:$t,77:re,79:ie,80:Oe},{35:112,75:81,76:$t,77:re,79:ie,80:Oe},{35:113,75:81,76:$t,77:re,79:ie,80:Oe},{35:114,75:81,76:$t,77:re,79:ie,80:Oe},{35:115,75:81,76:$t,77:re,79:ie,80:Oe},{20:116,29:49,30:61,32:62,34:b,36:E,37:_,38:L,39:N,40:B,41:j,43:23,44:R,45:z,46:K,47:it,48:st,49:ut,50:bt,51:mt,52:yt,53:dt,54:ht,55:wt,56:X,57:pt,58:U,59:xt,60:nt,61:Ot,62:Nt,63:qt,64:Ct,65:Z,66:Tt,67:Ht,68:It,69:Ft,70:ke,71:pn,72:Me,73:ve,74:Ge},{12:[1,118],33:[1,117]},{35:119,75:81,76:$t,77:re,79:ie,80:Oe},{35:120,75:81,76:$t,77:re,79:ie,80:Oe},{35:121,75:81,76:$t,77:re,79:ie,80:Oe},{35:122,75:81,76:$t,77:re,79:ie,80:Oe},{35:123,75:81,76:$t,77:re,79:ie,80:Oe},{35:124,75:81,76:$t,77:re,79:ie,80:Oe},{35:125,75:81,76:$t,77:re,79:ie,80:Oe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},i(Ke,[2,15]),i(we,[2,17],{21:22,19:130,22:a,23:f,24:p,26:v,28:m}),i(Ke,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:a,23:f,24:p,26:v,28:m,34:b,36:E,37:_,38:L,39:N,40:B,41:j,44:R,45:z,46:K,47:it,48:st,49:ut,50:bt,51:mt,52:yt,53:dt,54:ht,55:wt,56:X,57:pt,58:U,59:xt,60:nt,61:Ot,62:Nt,63:qt,64:Ct,65:Z,66:Tt,67:Ht,68:It,69:Ft,70:ke,71:pn,72:Me,73:ve,74:Ge}),i(_e,[2,21]),i(_e,[2,22]),i(oe,[2,39]),i(Ne,[2,71],{75:81,35:132,76:$t,77:re,79:ie,80:Oe}),i(me,[2,73]),{78:[1,133]},i(me,[2,75]),i(me,[2,76]),i(oe,[2,40]),i(oe,[2,41]),i(oe,[2,42]),i(oe,[2,43]),i(oe,[2,44]),i(oe,[2,45]),i(oe,[2,46]),i(oe,[2,47]),i(oe,[2,48]),i(oe,[2,49]),i(oe,[2,50]),i(oe,[2,51]),i(oe,[2,52]),i(oe,[2,53]),i(oe,[2,54]),i(oe,[2,55]),i(oe,[2,56]),i(oe,[2,57]),i(oe,[2,58]),i(oe,[2,60]),i(oe,[2,61]),i(oe,[2,62]),i(oe,[2,63]),i(oe,[2,64]),i(oe,[2,65]),i(oe,[2,66]),i(oe,[2,67]),i(oe,[2,68]),i(oe,[2,69]),i(oe,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},i(cn,[2,28]),i(cn,[2,29]),i(cn,[2,30]),i(cn,[2,31]),i(cn,[2,32]),i(cn,[2,33]),i(cn,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},i(we,[2,18]),i(Ke,[2,38]),i(Ne,[2,72]),i(me,[2,74]),i(oe,[2,24]),i(oe,[2,35]),i(li,[2,25]),i(li,[2,26],{12:[1,138]}),i(li,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:function(Dr,nr){if(nr.recoverable)this.trace(Dr);else{var di=new Error(Dr);throw di.hash=nr,di}},parse:function(Dr){var nr=this,di=[0],Ee=[],Yn=[null],He=[],Ti=this.table,gn="",ks=0,qa=0,La=2,Gs=1,No=He.slice.call(arguments,1),vs=Object.create(this.lexer),nu={yy:{}};for(var $s in this.yy)Object.prototype.hasOwnProperty.call(this.yy,$s)&&(nu.yy[$s]=this.yy[$s]);vs.setInput(Dr,nu.yy),nu.yy.lexer=vs,nu.yy.parser=this,typeof vs.yylloc>"u"&&(vs.yylloc={});var Lu=vs.yylloc;He.push(Lu);var fm=vs.options&&vs.options.ranges;typeof nu.yy.parseError=="function"?this.parseError=nu.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function av(){var Ll;return Ll=Ee.pop()||vs.lex()||Gs,typeof Ll!="number"&&(Ll instanceof Array&&(Ee=Ll,Ll=Ee.pop()),Ll=nr.symbols_[Ll]||Ll),Ll}for(var Uu,Zl,Pa,Al,ua={},bc,Cc,ga,Ma;;){if(Zl=di[di.length-1],this.defaultActions[Zl]?Pa=this.defaultActions[Zl]:((Uu===null||typeof Uu>"u")&&(Uu=av()),Pa=Ti[Zl]&&Ti[Zl][Uu]),typeof Pa>"u"||!Pa.length||!Pa[0]){var Ha="";Ma=[];for(bc in Ti[Zl])this.terminals_[bc]&&bc>La&&Ma.push("'"+this.terminals_[bc]+"'");vs.showPosition?Ha="Parse error on line "+(ks+1)+`:
+ */window.addEventListener("load",gPt,!1)}const fDe=function(i){Bb.parseError=i},KW=[];let Pdt=!1;const pPt=async()=>{if(!Pdt){for(Pdt=!0;KW.length>0;){const i=KW.shift();if(i)try{await i()}catch(a){Ut.error("Error executing queue",a)}}Pdt=!1}},dDe=async(i,a)=>new Promise((f,p)=>{const w=()=>new Promise((m,b)=>{pT.parse(i,a).then(E=>{m(E),f(E)},E=>{var _;Ut.error("Error parsing",E),(_=Bb.parseError)==null||_.call(Bb,E),b(E),p(E)})});KW.push(w),pPt().catch(p)}),bPt=(i,a,f)=>new Promise((p,w)=>{const m=()=>new Promise((b,E)=>{pT.render(i,a,f).then(_=>{b(_),p(_)},_=>{var A;Ut.error("Error parsing",_),(A=Bb.parseError)==null||A.call(Bb,_),E(_),w(_)})});KW.push(m),pPt().catch(w)}),Bb={startOnLoad:!0,mermaidAPI:pT,parse:dDe,render:bPt,init:lDe,run:fPt,registerExternalDiagrams:hDe,initialize:dPt,parseError:void 0,contentLoaded:gPt,setParseErrorHandler:fDe,detectType:yW};var XW=function(){var i=function(Xi,Er,Xn,di){for(Xn=Xn||{},di=Xi.length;di--;Xn[Xi[di]]=Er);return Xn},a=[1,24],f=[1,25],p=[1,26],w=[1,27],m=[1,28],b=[1,63],E=[1,64],_=[1,65],A=[1,66],I=[1,67],B=[1,68],N=[1,69],R=[1,29],z=[1,30],W=[1,31],et=[1,32],st=[1,33],at=[1,34],bt=[1,35],mt=[1,36],yt=[1,37],ft=[1,38],ut=[1,39],vt=[1,40],X=[1,41],pt=[1,42],U=[1,43],Tt=[1,44],nt=[1,45],It=[1,46],Ot=[1,47],Bt=[1,48],Et=[1,50],Z=[1,51],Ct=[1,52],xt=[1,53],Ht=[1,54],Le=[1,55],Ft=[1,56],gn=[1,57],Se=[1,58],me=[1,59],Ve=[1,60],Ye=[14,42],ce=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],ke=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],zt=[1,82],re=[1,83],se=[1,84],Pe=[1,85],te=[12,14,42],Me=[12,14,33,42],de=[12,14,33,42,76,77,79,80],on=[12,33],ni=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],Ks={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:function(Er,Xn,di,Ee,Kn,He,Ti){var pn=He.length-1;switch(Kn){case 3:Ee.setDirection("TB");break;case 4:Ee.setDirection("BT");break;case 5:Ee.setDirection("RL");break;case 6:Ee.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:Ee.setC4Type(He[pn-3]);break;case 19:Ee.setTitle(He[pn].substring(6)),this.$=He[pn].substring(6);break;case 20:Ee.setAccDescription(He[pn].substring(15)),this.$=He[pn].substring(15);break;case 21:this.$=He[pn].trim(),Ee.setTitle(this.$);break;case 22:case 23:this.$=He[pn].trim(),Ee.setAccDescription(this.$);break;case 28:case 29:He[pn].splice(2,0,"ENTERPRISE"),Ee.addPersonOrSystemBoundary(...He[pn]),this.$=He[pn];break;case 30:Ee.addPersonOrSystemBoundary(...He[pn]),this.$=He[pn];break;case 31:He[pn].splice(2,0,"CONTAINER"),Ee.addContainerBoundary(...He[pn]),this.$=He[pn];break;case 32:Ee.addDeploymentNode("node",...He[pn]),this.$=He[pn];break;case 33:Ee.addDeploymentNode("nodeL",...He[pn]),this.$=He[pn];break;case 34:Ee.addDeploymentNode("nodeR",...He[pn]),this.$=He[pn];break;case 35:Ee.popBoundaryParseStack();break;case 39:Ee.addPersonOrSystem("person",...He[pn]),this.$=He[pn];break;case 40:Ee.addPersonOrSystem("external_person",...He[pn]),this.$=He[pn];break;case 41:Ee.addPersonOrSystem("system",...He[pn]),this.$=He[pn];break;case 42:Ee.addPersonOrSystem("system_db",...He[pn]),this.$=He[pn];break;case 43:Ee.addPersonOrSystem("system_queue",...He[pn]),this.$=He[pn];break;case 44:Ee.addPersonOrSystem("external_system",...He[pn]),this.$=He[pn];break;case 45:Ee.addPersonOrSystem("external_system_db",...He[pn]),this.$=He[pn];break;case 46:Ee.addPersonOrSystem("external_system_queue",...He[pn]),this.$=He[pn];break;case 47:Ee.addContainer("container",...He[pn]),this.$=He[pn];break;case 48:Ee.addContainer("container_db",...He[pn]),this.$=He[pn];break;case 49:Ee.addContainer("container_queue",...He[pn]),this.$=He[pn];break;case 50:Ee.addContainer("external_container",...He[pn]),this.$=He[pn];break;case 51:Ee.addContainer("external_container_db",...He[pn]),this.$=He[pn];break;case 52:Ee.addContainer("external_container_queue",...He[pn]),this.$=He[pn];break;case 53:Ee.addComponent("component",...He[pn]),this.$=He[pn];break;case 54:Ee.addComponent("component_db",...He[pn]),this.$=He[pn];break;case 55:Ee.addComponent("component_queue",...He[pn]),this.$=He[pn];break;case 56:Ee.addComponent("external_component",...He[pn]),this.$=He[pn];break;case 57:Ee.addComponent("external_component_db",...He[pn]),this.$=He[pn];break;case 58:Ee.addComponent("external_component_queue",...He[pn]),this.$=He[pn];break;case 60:Ee.addRel("rel",...He[pn]),this.$=He[pn];break;case 61:Ee.addRel("birel",...He[pn]),this.$=He[pn];break;case 62:Ee.addRel("rel_u",...He[pn]),this.$=He[pn];break;case 63:Ee.addRel("rel_d",...He[pn]),this.$=He[pn];break;case 64:Ee.addRel("rel_l",...He[pn]),this.$=He[pn];break;case 65:Ee.addRel("rel_r",...He[pn]),this.$=He[pn];break;case 66:Ee.addRel("rel_b",...He[pn]),this.$=He[pn];break;case 67:He[pn].splice(0,1),Ee.addRel("rel",...He[pn]),this.$=He[pn];break;case 68:Ee.updateElStyle("update_el_style",...He[pn]),this.$=He[pn];break;case 69:Ee.updateRelStyle("update_rel_style",...He[pn]),this.$=He[pn];break;case 70:Ee.updateLayoutConfig("update_layout_config",...He[pn]),this.$=He[pn];break;case 71:this.$=[He[pn]];break;case 72:He[pn].unshift(He[pn-1]),this.$=He[pn];break;case 73:case 75:this.$=He[pn].trim();break;case 74:let Es={};Es[He[pn-1].trim()]=He[pn].trim(),this.$=Es;break;case 76:this.$="";break}},table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:70,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:71,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:72,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{13:73,19:20,20:21,21:22,22:a,23:f,24:p,26:w,28:m,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{14:[1,74]},i(Ye,[2,13],{43:23,29:49,30:61,32:62,20:75,34:b,36:E,37:_,38:A,39:I,40:B,41:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve}),i(Ye,[2,14]),i(ce,[2,16],{12:[1,76]}),i(Ye,[2,36],{12:[1,77]}),i(ke,[2,19]),i(ke,[2,20]),{25:[1,78]},{27:[1,79]},i(ke,[2,23]),{35:80,75:81,76:zt,77:re,79:se,80:Pe},{35:86,75:81,76:zt,77:re,79:se,80:Pe},{35:87,75:81,76:zt,77:re,79:se,80:Pe},{35:88,75:81,76:zt,77:re,79:se,80:Pe},{35:89,75:81,76:zt,77:re,79:se,80:Pe},{35:90,75:81,76:zt,77:re,79:se,80:Pe},{35:91,75:81,76:zt,77:re,79:se,80:Pe},{35:92,75:81,76:zt,77:re,79:se,80:Pe},{35:93,75:81,76:zt,77:re,79:se,80:Pe},{35:94,75:81,76:zt,77:re,79:se,80:Pe},{35:95,75:81,76:zt,77:re,79:se,80:Pe},{35:96,75:81,76:zt,77:re,79:se,80:Pe},{35:97,75:81,76:zt,77:re,79:se,80:Pe},{35:98,75:81,76:zt,77:re,79:se,80:Pe},{35:99,75:81,76:zt,77:re,79:se,80:Pe},{35:100,75:81,76:zt,77:re,79:se,80:Pe},{35:101,75:81,76:zt,77:re,79:se,80:Pe},{35:102,75:81,76:zt,77:re,79:se,80:Pe},{35:103,75:81,76:zt,77:re,79:se,80:Pe},{35:104,75:81,76:zt,77:re,79:se,80:Pe},i(te,[2,59]),{35:105,75:81,76:zt,77:re,79:se,80:Pe},{35:106,75:81,76:zt,77:re,79:se,80:Pe},{35:107,75:81,76:zt,77:re,79:se,80:Pe},{35:108,75:81,76:zt,77:re,79:se,80:Pe},{35:109,75:81,76:zt,77:re,79:se,80:Pe},{35:110,75:81,76:zt,77:re,79:se,80:Pe},{35:111,75:81,76:zt,77:re,79:se,80:Pe},{35:112,75:81,76:zt,77:re,79:se,80:Pe},{35:113,75:81,76:zt,77:re,79:se,80:Pe},{35:114,75:81,76:zt,77:re,79:se,80:Pe},{35:115,75:81,76:zt,77:re,79:se,80:Pe},{20:116,29:49,30:61,32:62,34:b,36:E,37:_,38:A,39:I,40:B,41:N,43:23,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve},{12:[1,118],33:[1,117]},{35:119,75:81,76:zt,77:re,79:se,80:Pe},{35:120,75:81,76:zt,77:re,79:se,80:Pe},{35:121,75:81,76:zt,77:re,79:se,80:Pe},{35:122,75:81,76:zt,77:re,79:se,80:Pe},{35:123,75:81,76:zt,77:re,79:se,80:Pe},{35:124,75:81,76:zt,77:re,79:se,80:Pe},{35:125,75:81,76:zt,77:re,79:se,80:Pe},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},i(Ye,[2,15]),i(ce,[2,17],{21:22,19:130,22:a,23:f,24:p,26:w,28:m}),i(Ye,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:a,23:f,24:p,26:w,28:m,34:b,36:E,37:_,38:A,39:I,40:B,41:N,44:R,45:z,46:W,47:et,48:st,49:at,50:bt,51:mt,52:yt,53:ft,54:ut,55:vt,56:X,57:pt,58:U,59:Tt,60:nt,61:It,62:Ot,63:Bt,64:Et,65:Z,66:Ct,67:xt,68:Ht,69:Le,70:Ft,71:gn,72:Se,73:me,74:Ve}),i(ke,[2,21]),i(ke,[2,22]),i(te,[2,39]),i(Me,[2,71],{75:81,35:132,76:zt,77:re,79:se,80:Pe}),i(de,[2,73]),{78:[1,133]},i(de,[2,75]),i(de,[2,76]),i(te,[2,40]),i(te,[2,41]),i(te,[2,42]),i(te,[2,43]),i(te,[2,44]),i(te,[2,45]),i(te,[2,46]),i(te,[2,47]),i(te,[2,48]),i(te,[2,49]),i(te,[2,50]),i(te,[2,51]),i(te,[2,52]),i(te,[2,53]),i(te,[2,54]),i(te,[2,55]),i(te,[2,56]),i(te,[2,57]),i(te,[2,58]),i(te,[2,60]),i(te,[2,61]),i(te,[2,62]),i(te,[2,63]),i(te,[2,64]),i(te,[2,65]),i(te,[2,66]),i(te,[2,67]),i(te,[2,68]),i(te,[2,69]),i(te,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},i(on,[2,28]),i(on,[2,29]),i(on,[2,30]),i(on,[2,31]),i(on,[2,32]),i(on,[2,33]),i(on,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},i(ce,[2,18]),i(Ye,[2,38]),i(Me,[2,72]),i(de,[2,74]),i(te,[2,24]),i(te,[2,35]),i(ni,[2,25]),i(ni,[2,26],{12:[1,138]}),i(ni,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:function(Er,Xn){if(Xn.recoverable)this.trace(Er);else{var di=new Error(Er);throw di.hash=Xn,di}},parse:function(Er){var Xn=this,di=[0],Ee=[],Kn=[null],He=[],Ti=this.table,pn="",Es=0,qa=0,Ma=2,Gs=1,Po=He.slice.call(arguments,1),vs=Object.create(this.lexer),ru={yy:{}};for(var zs in this.yy)Object.prototype.hasOwnProperty.call(this.yy,zs)&&(ru.yy[zs]=this.yy[zs]);vs.setInput(Er,ru.yy),ru.yy.lexer=vs,ru.yy.parser=this,typeof vs.yylloc>"u"&&(vs.yylloc={});var Du=vs.yylloc;He.push(Du);var pm=vs.options&&vs.options.ranges;typeof ru.yy.parseError=="function"?this.parseError=ru.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function uw(){var Dl;return Dl=Ee.pop()||vs.lex()||Gs,typeof Dl!="number"&&(Dl instanceof Array&&(Ee=Dl,Dl=Ee.pop()),Dl=Xn.symbols_[Dl]||Dl),Dl}for(var Wu,th,Fa,Ml,ha={},bc,Cc,pa,Da;;){if(th=di[di.length-1],this.defaultActions[th]?Fa=this.defaultActions[th]:((Wu===null||typeof Wu>"u")&&(Wu=uw()),Fa=Ti[th]&&Ti[th][Wu]),typeof Fa>"u"||!Fa.length||!Fa[0]){var Ha="";Da=[];for(bc in Ti[th])this.terminals_[bc]&&bc>Ma&&Da.push("'"+this.terminals_[bc]+"'");vs.showPosition?Ha="Parse error on line "+(Es+1)+`:
`+vs.showPosition()+`
-Expecting `+Ma.join(", ")+", got '"+(this.terminals_[Uu]||Uu)+"'":Ha="Parse error on line "+(ks+1)+": Unexpected "+(Uu==Gs?"end of input":"'"+(this.terminals_[Uu]||Uu)+"'"),this.parseError(Ha,{text:vs.match,token:this.terminals_[Uu]||Uu,line:vs.yylineno,loc:Lu,expected:Ma})}if(Pa[0]instanceof Array&&Pa.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Zl+", token: "+Uu);switch(Pa[0]){case 1:di.push(Uu),Yn.push(vs.yytext),He.push(vs.yylloc),di.push(Pa[1]),Uu=null,qa=vs.yyleng,gn=vs.yytext,ks=vs.yylineno,Lu=vs.yylloc;break;case 2:if(Cc=this.productions_[Pa[1]][1],ua.$=Yn[Yn.length-Cc],ua._$={first_line:He[He.length-(Cc||1)].first_line,last_line:He[He.length-1].last_line,first_column:He[He.length-(Cc||1)].first_column,last_column:He[He.length-1].last_column},fm&&(ua._$.range=[He[He.length-(Cc||1)].range[0],He[He.length-1].range[1]]),Al=this.performAction.apply(ua,[gn,qa,ks,nu.yy,Pa[1],Yn,He].concat(No)),typeof Al<"u")return Al;Cc&&(di=di.slice(0,-1*Cc*2),Yn=Yn.slice(0,-1*Cc),He=He.slice(0,-1*Cc)),di.push(this.productions_[Pa[1]][0]),Yn.push(ua.$),He.push(ua._$),ga=Ti[di[di.length-2]][di[di.length-1]],di.push(ga);break;case 3:return!0}}return!0}},da=function(){var ds={EOF:1,parseError:function(nr,di){if(this.yy.parser)this.yy.parser.parseError(nr,di);else throw new Error(nr)},setInput:function(Dr,nr){return this.yy=nr||this.yy||{},this._input=Dr,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},input:function(){var Dr=this._input[0];this.yytext+=Dr,this.yyleng++,this.offset++,this.match+=Dr,this.matched+=Dr;var nr=Dr.match(/(?:\r\n?|\n).*/g);return nr?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Dr},unput:function(Dr){var nr=Dr.length,di=Dr.split(/(?:\r\n?|\n)/g);this._input=Dr+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-nr),this.offset-=nr;var Ee=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),di.length-1&&(this.yylineno-=di.length-1);var Yn=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:di?(di.length===Ee.length?this.yylloc.first_column:0)+Ee[Ee.length-di.length].length-di[0].length:this.yylloc.first_column-nr},this.options.ranges&&(this.yylloc.range=[Yn[0],Yn[0]+this.yyleng-nr]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject: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},less:function(Dr){this.unput(this.match.slice(Dr))},pastInput:function(){var Dr=this.matched.substr(0,this.matched.length-this.match.length);return(Dr.length>20?"...":"")+Dr.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var Dr=this.match;return Dr.length<20&&(Dr+=this._input.substr(0,20-Dr.length)),(Dr.substr(0,20)+(Dr.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var Dr=this.pastInput(),nr=new Array(Dr.length+1).join("-");return Dr+this.upcomingInput()+`
-`+nr+"^"},test_match:function(Dr,nr){var di,Ee,Yn;if(this.options.backtrack_lexer&&(Yn={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&&(Yn.yylloc.range=this.yylloc.range.slice(0))),Ee=Dr[0].match(/(?:\r\n?|\n).*/g),Ee&&(this.yylineno+=Ee.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ee?Ee[Ee.length-1].length-Ee[Ee.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Dr[0].length},this.yytext+=Dr[0],this.match+=Dr[0],this.matches=Dr,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(Dr[0].length),this.matched+=Dr[0],di=this.performAction.call(this,this.yy,this,nr,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),di)return di;if(this._backtrack){for(var He in Yn)this[He]=Yn[He];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Dr,nr,di,Ee;this._more||(this.yytext="",this.match="");for(var Yn=this._currentRules(),He=0;He
"),Ut.info("vertexText"+v);const m={isNode:p,label:nP(v).replace(/fa[blrs]?:fa-[\w-]+/g,E=>``),labelStyle:a.replace("fill:","color:")};return UBe(m)}else{const m=document.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("style",a.replace("color:","fill:"));let b=[];typeof v=="string"?b=v.split(/\\n|\n|
/gi):Array.isArray(v)?b=v:b=[];for(const E of b){const _=document.createElementNS("http://www.w3.org/2000/svg","tspan");_.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),_.setAttribute("dy","1em"),_.setAttribute("x","0"),f?_.setAttribute("class","title-row"):_.setAttribute("class","row"),_.textContent=E.trim(),m.appendChild(_)}return m}};function WBe(i,a){var{includeImageAlt:f=!0}=a||{};return DFt(i,f)}function DFt(i,a){return i&&typeof i=="object"&&(i.value||(a?i.alt:"")||"children"in i&&OFt(i.children,a)||Array.isArray(i)&&OFt(i,a))||""}function OFt(i,a){for(var f=[],p=-1;++p
"),Ut.info("vertexText"+w);const m={isNode:p,label:uF(w).replace(/fa[blrs]?:fa-[\w-]+/g,E=>``),labelStyle:a.replace("fill:","color:")};return wRe(m)}else{const m=document.createElementNS("http://www.w3.org/2000/svg","text");m.setAttribute("style",a.replace("color:","fill:"));let b=[];typeof w=="string"?b=w.split(/\\n|\n|
/gi):Array.isArray(w)?b=w:b=[];for(const E of b){const _=document.createElementNS("http://www.w3.org/2000/svg","tspan");_.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),_.setAttribute("dy","1em"),_.setAttribute("x","0"),f?_.setAttribute("class","title-row"):_.setAttribute("class","row"),_.textContent=E.trim(),m.appendChild(_)}return m}},vRe={};function mRe(i,a){const f=a||vRe,p=typeof f.includeImageAlt=="boolean"?f.includeImageAlt:!0,w=typeof f.includeHtml=="boolean"?f.includeHtml:!0;return FNt(i,p,w)}function FNt(i,a,f){if(yRe(i)){if("value"in i)return i.type==="html"&&!f?"":i.value;if(a&&"alt"in i&&i.alt)return i.alt;if("children"in i)return NNt(i.children,a,f)}return Array.isArray(i)?NNt(i,a,f):""}function NNt(i,a,f){const p=[];let w=-1;for(;++w