Lines Matching refs:trace

6 `)),b+=F+g[S+1]}),b}var Z0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function e9(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var yOt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(Z0,function(){var f=1e3,g=6e4,w=36e5,v="millisecond",b="second",E="minute",S="hour",_="day",M="week",F="month",R="quarter",B="year",z="date",Y="Invalid Date",nt=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,ot=/\[([^\]]+)]|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,ft={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(V){var Ot=["th","st","nd","rd"],It=V%100;return"["+V+(Ot[(It-20)%10]||Ot[It]||Ot[0])+"]"}},wt=function(V,Ot,It){var jt=String(V);return!jt||jt.length>=Ot?V:""+Array(Ot+1-jt.length).join(It)+V},mt={s:wt,z:function(V){var Ot=-V.utcOffset(),It=Math.abs(Ot),jt=Math.floor(It/60),xt=It%60;return(Ot<=0?"+":"-")+wt(jt,2,"0")+":"+wt(xt,2,"0")},m:function V(Ot,It){if(Ot.date()<It.date())return-V(It,Ot);var jt=12*(It.year()-Ot.year())+(It.month()-Ot.month()),xt=Ot.clone().add(jt,F),Ft=It-xt<0,Ct=Ot.clone().add(jt+(Ft?-1:1),F);return+(-(jt+(It-xt)/(Ft?xt-Ct:Ct-xt))||0)},a:function(V){return V<0?Math.ceil(V)||0:Math.floor(V)},p:function(V){return{M:F,y:B,w:M,d:_,D:z,h:S,m:E,s:b,ms:v,Q:R}[V]||String(V||"").toLowerCase().replace(/s$/,"")},u:function(V){return V===void 0}},ct="en",rt={};rt[ct]=ft;var it=function(V){return V instanceof K},gt=function V(Ot,It,jt){var xt;if(!Ot)return ct;if(typeof Ot=="string"){var Ft=Ot.toLowerCase();rt[Ft]&&(xt=Ft),It&&(rt[Ft]=It,xt=Ft);var Ct=Ot.split("-");if(!xt&&Ct.length>1)return V(Ct[0])}else{var kt=Ot.name;rt[kt]=Ot,xt=kt}return!jt&&xt&&(ct=xt),xt||!jt&&ct},Q=function(V,Ot){if(it(V))return V.clone();var It=typeof Ot=="object"?Ot:{};return It.date=V,It.args=arguments,new K(It)},dt=mt;dt.l=gt,dt.i=it,dt.w=function(V,Ot){return Q(V,{locale:Ot.$L,utc:Ot.$u,x:Ot.$x,$offset:Ot.$offset})};var K=function(){function V(It){this.$L=gt(It.locale,null,!0),this.parse(It)}var Ot=V.prototype;return Ot.parse=function(It){this.$d=function(jt){var xt=jt.date,Ft=jt.utc;if(xt===null)return new Date(NaN);if(dt.u(xt))return new Date;if(xt instanceof Date)return new Date(xt);if(typeof xt=="string"&&!/Z$/i.test(xt)){var Ct=xt.match(nt);if(Ct){var kt=Ct[2]-1||0,Gt=(Ct[7]||"0").substring(0,3);return Ft?new Date(Date.UTC(Ct[1],kt,Ct[3]||1,Ct[4]||0,Ct[5]||0,Ct[6]||0,Gt)):new Date(Ct[1],kt,Ct[3]||1,Ct[4]||0,Ct[5]||0,Ct[6]||0,Gt)}}return new Date(xt)}(It),this.$x=It.x||{},this.init()},Ot.init=function(){var It=this.$d;this.$y=It.getFullYear(),this.$M=It.getMonth(),this.$D=It.getDate(),this.$W=It.getDay(),this.$H=It.getHours(),this.$m=It.getMinutes(),this.$s=It.getSeconds(),this.$ms=It.getMilliseconds()},Ot.$utils=function(){return dt},Ot.isValid=function(){return this.$d.toString()!==Y},Ot.isSame=function(It,jt){var xt=Q(It);return this.startOf(jt)<=xt&&xt<=this.endOf(jt)},Ot.isAfter=function(It,jt){return Q(It)<this.startOf(jt)},Ot.isBefore=function(It,jt){return this.endOf(jt)<Q(It)},Ot.$g=function(It,jt,xt){return dt.u(It)?this[jt]:this.set(xt,It)},Ot.unix=function(){return Math.floor(this.valueOf()/1e3)},Ot.valueOf=function(){return this.$d.getTime()},Ot.startOf=function(It,jt){var xt=this,Ft=!!dt.u(jt)||jt,Ct=dt.p(It),kt=function(sn,be){var Ne=dt.w(xt.$u?Date.UTC(xt.$y,be,sn):new Date(xt.$y,be,sn),xt);return Ft?Ne:Ne.endOf(_)},Gt=function(sn,be){return dt.w(xt.toDate()[sn].apply(xt.toDate("s"),(Ft?[0,0,0,0]:[23,59,59,999]).slice(be)),xt)},Fe=this.$W,Mt=this.$M,pn=this.$D,Ae="set"+(this.$u?"UTC":"");switch(Ct){case B:return Ft?kt(1,0):kt(31,11);case F:return Ft?kt(1,Mt):kt(0,Mt+1);case M:var ye=this.$locale().weekStart||0,tn=(Fe<ye?Fe+7:Fe)-ye;return kt(Ft?pn-tn:pn+(6-tn),Mt);case _:case z:return Gt(Ae+"Hours",0);case S:return Gt(Ae+"Minutes",1);case E:return Gt(Ae+"Seconds",2);case b:return Gt(Ae+"Milliseconds",3);default:return this.clone()}},Ot.endOf=function(It){return this.startOf(It,!1)},Ot.$set=function(It,jt){var xt,Ft=dt.p(It),Ct="set"+(this.$u?"UTC":""),kt=(xt={},xt[_]=Ct+"Date",xt[z]=Ct+"Date",xt[F]=Ct+"Month",xt[B]=Ct+"FullYear",xt[S]=Ct+"Hours",xt[E]=Ct+"Minutes",xt[b]=Ct+"Seconds",xt[v]=Ct+"Milliseconds",xt)[Ft],Gt=Ft===_?this.$D+(jt-this.$W):jt;if(Ft===F||Ft===B){var Fe=this.clone().set(z,1);Fe.$d[kt](Gt),Fe.init(),this.$d=Fe.set(z,Math.min(this.$D,Fe.daysInMonth())).$d}else kt&&this.$d[kt](Gt);return this.init(),this},Ot.set=function(It,jt){return this.clone().$set(It,jt)},Ot.get=function(It){return this[dt.p(It)]()},Ot.add=function(It,jt){var xt,Ft=this;It=Number(It);var Ct=dt.p(jt),kt=function(Mt){var pn=Q(Ft);return dt.w(pn.date(pn.date()+Math.round(Mt*It)),Ft)};if(Ct===F)return this.set(F,this.$M+It);if(Ct===B)return this.set(B,this.$y+It);if(Ct===_)return kt(1);if(Ct===M)return kt(7);var Gt=(xt={},xt[E]=g,xt[S]=w,xt[b]=f,xt)[Ct]||1,Fe=this.$d.getTime()+It*Gt;return dt.w(Fe,this)},Ot.subtract=function(It,jt){return this.add(-1*It,jt)},Ot.format=function(It){var jt=this,xt=this.$locale();if(!this.isValid())return xt.invalidDate||Y;var Ft=It||"YYYY-MM-DDTHH:mm:ssZ",Ct=dt.z(this),kt=this.$H,Gt=this.$m,Fe=this.$M,Mt=xt.weekdays,pn=xt.months,Ae=function(be,Ne,Xt,_e){return be&&(be[Ne]||be(jt,Ft))||Xt[Ne].slice(0,_e)},ye=function(be){return dt.s(kt%12||12,be,"0")},tn=xt.meridiem||function(be,Ne,Xt){var _e=be<12?"AM":"PM";return Xt?_e.toLowerCase():_e},sn={YY:String(this.$y).slice(-2),YYYY:this.$y,M:Fe+1,MM:dt.s(Fe+1,2,"0"),MMM:Ae(xt.monthsShort,Fe,pn,3),MMMM:Ae(pn,Fe),D:this.$D,DD:dt.s(this.$D,2,"0"),d:String(this.$W),dd:Ae(xt.weekdaysMin,this.$W,Mt,2),ddd:Ae(xt.weekdaysShort,this.$W,Mt,3),dddd:Mt[this.$W],H:String(kt),HH:dt.s(kt,2,"0"),h:ye(1),hh:ye(2),a:tn(kt,Gt,!0),A:tn(kt,Gt,!1),m:String(Gt),mm:dt.s(Gt,2,"0"),s:String(this.$s),ss:dt.s(this.$s,2,"0"),SSS:dt.s(this.$ms,3,"0"),Z:Ct};return Ft.replace(ot,function(be,Ne){return Ne||sn[be]||Ct.replace(":","")})},Ot.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},Ot.diff=function(It,jt,xt){var Ft,Ct=dt.p(jt),kt=Q(It),Gt=(kt.utcOffset()-this.utcOffset())*g,Fe=this-kt,Mt=dt.m(this,kt);return Mt=(Ft={},Ft[B]=Mt/12,Ft[F]=Mt,Ft[R]=Mt/3,Ft[M]=(Fe-Gt)/6048e5,Ft[_]=(Fe-Gt)/864e5,Ft[S]=Fe/w,Ft[E]=Fe/g,Ft[b]=Fe/f,Ft)[Ct]||Fe,xt?Mt:dt.a(Mt)},Ot.daysInMonth=function(){return this.endOf(F).$D},Ot.$locale=function(){return rt[this.$L]},Ot.locale=function(It,jt){if(!It)return this.$L;var xt=this.clone(),Ft=gt(It,jt,!0);return Ft&&(xt.$L=Ft),xt},Ot.clone=function(){return dt.w(this.$d,this)},Ot.toDate=function(){return new Date(this.valueOf())},Ot.toJSON=function(){return this.isValid()?this.toISOString():null},Ot.toISOString=function(){return this.$d.toISOString()},Ot.toString=function(){return this.$d.toUTCString()},V}(),yt=K.prototype;return Q.prototype=yt,[["$ms",v],["$s",b],["$m",E],["$H",S],["$W",_],["$M",F],["$y",B],["$D",z]].forEach(function(V){yt[V[1]]=function(Ot){return this.$g(Ot,V[0],V[1])}}),Q.extend=function(V,Ot){return V.$i||(V(Ot,K,Q),V.$i=!0),Q},Q.locale=gt,Q.isDayjs=it,Q.unix=function(V){return Q(1e3*V)},Q.en=rt[ct],Q.Ls=rt,Q.p={},Q})})(yOt);var g9e=yOt.exports;const tg=e9(g9e),yx={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},Kt={trace:(...i)=>{},debug:(...i)=>{},info:(...i)=>{},warn:(...i)=>{},error:(...i)=>{},fatal:(...i)=>{}},d0t=function(i="fatal"){let a=yx.fatal;typeof i=="string"?(i=i.toLowerCase(),i in yx&&(a=yx[i])):typeof i=="number"&&(a=i),Kt.trace=()=>{},Kt.debug=()=>{},Kt.info=()=>{},Kt.warn=()=>{},Kt.error=()=>{},Kt.fatal=()=>{},a<=yx.fatal&&(Kt.fatal=console.error?console.error.bind(console,Gw("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Gw("FATAL"))),a<=yx.error&&(Kt.error=console.error?console.error.bind(console,Gw("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Gw("ERROR"))),a<=yx.warn&&(Kt.warn=console.warn?console.warn.bind(console,Gw("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Gw("WARN"))),a<=yx.info&&(Kt.info=console.info?console.info.bind(console,Gw("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Gw("INFO"))),a<=yx.debug&&(Kt.debug=console.debug?console.debug.bind(console,Gw("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Gw("DEBUG"))),a<=yx.trace&&(Kt.trace=console.debug?console.debug.bind(console,Gw("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Gw("TRACE")))},Gw=i=>`%c${tg().format("ss.SSS")} : ${i} : `;var g0t={};Object.defineProperty(g0t,"__esModule",{value:!0});var h8=g0t.sanitizeUrl=void 0,p9e=/^([^\w]*)(javascript|data|vbscript)/im,b9e=/&#(\w+)(^\w|;)?/g,w9e=/&(newline|tab);/gi,m9e=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,v9e=/^.+(:|&colon;)/gim,y9e=[".","/"];function x9e(i){return y9e.indexOf(i[0])>-1}function k9e(i){return i.replace(b9e,function(a,f){return String.fromCharCode(f)})}function E9e(i){var a=k9e(i||"").replace(w9e,"").replace(m9e,"").trim();if(!a)return"about:blank";if(x9e(a))return a;var f=a.match(v9e);if(!f)return a;var g=f[0];return p9e.test(g)?"about:blank":a}h8=g0t.sanitizeUrl=E9e;function nW(i,a){return i==null||a==null?NaN:i<a?-1:i>a?1:i>=a?0:NaN}function T9e(i,a){return i==null||a==null?NaN:a<i?-1:a>i?1:a>=i?0:NaN}function p0t(i){let a,f,g;i.length!==2?(a=nW,f=(E,S)=>nW(i(E),S),g=(E,S)=>i(E)-S):(a=i===nW||i===T9e?i:C9e,f=i,g=i);function w(E,S,_=0,M=E.length){if(_<M){if(a(S,S)!==0)return M;do{const F=_+M>>>1;f(E[F],S)<0?_=F+1:M=F}while(_<M)}return _}function v(E,S,_=0,M=E.length){if(_<M){if(a(S,S)!==0)return M;do{const F=_+M>>>1;f(E[F],S)<=0?_=F+1:M=F}while(_<M)}return _}function b(E,S,_=0,M=E.length){const F=w(E,S,_,M-1);return F>_&&g(E[F-1],S)>-g(E[F],S)?F-1:F}return{left:w,center:b,right:v}}function C9e(){return 0}function S9e(i){return i===null?NaN:+i}const _9e=p0t(nW).right;p0t(S9e).center;const A9e=_9e;class xOt extends Map{constructor(a,f=M9e){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:f}}),a!=null)for(const[g,w]of a)this.set(g,w)}get(a){return super.get(kOt(this,a))}has(a){return super.has(kOt(this,a))}set(a,f){return super.set(L9e(this,a),f)}delete(a){return super.delete(D9e(this,a))}}function kOt({_intern:i,_key:a},f){const g=a(f);return i.has(g)?i.get(g):f}function L9e({_intern:i,_key:a},f){const g=a(f);return i.has(g)?i.get(g):(i.set(g,f),f)}function D9e({_intern:i,_key:a},f){const g=a(f);return i.has(g)&&(f=i.get(g),i.delete(g)),f}function M9e(i){return i!==null&&typeof i=="object"?i.valueOf():i}const I9e=Math.sqrt(50),O9e=Math.sqrt(10),N9e=Math.sqrt(2);function rW(i,a,f){const g=(a-i)/Math.max(0,f),w=Math.floor(Math.log10(g)),v=g/Math.pow(10,w),b=v>=I9e?10:v>=O9e?5:v>=N9e?2:1;let E,S,_;return w<0?(_=Math.pow(10,-w)/b,E=Math.round(i*_),S=Math.round(a*_),E/_<i&&++E,S/_>a&&--S,_=-_):(_=Math.pow(10,w)*b,E=Math.round(i/_),S=Math.round(a/_),E*_<i&&++E,S*_>a&&--S),S<E&&.5<=f&&f<2?rW(i,a,f*2):[E,S,_]}function P9e(i,a,f){if(a=+a,i=+i,f=+f,!(f>0))return[];if(i===a)return[i];const g=a<i,[w,v,b]=g?rW(a,i,f):rW(i,a,f);if(!(v>=w))return[];const E=v-w+1,S=new Array(E);if(g)if(b<0)for(let _=0;_<E;++_)S[_]=(v-_)/-b;else for(let _=0;_<E;++_)S[_]=(v-_)*b;else if(b<0)for(let _=0;_<E;++_)S[_]=(w+_)/-b;else for(let _=0;_<E;++_)S[_]=(w+_)*b;return S}function b0t(i,a,f){return a=+a,i=+i,f=+f,rW(i,a,f)[2]}function w0t(i,a,f){a=+a,i=+i,f=+f;const g=a<i,w=g?b0t(a,i,f):b0t(i,a,f);return(g?-1:1)*(w<0?1/-w:w)}function F9e(i,a){let f;if(a===void 0)for(const g of i)g!=null&&(f<g||f===void 0&&g>=g)&&(f=g);else{let g=-1;for(let w of i)(w=a(w,++g,i))!=null&&(f<w||f===void 0&&w>=w)&&(f=w)}return f}function B9e(i,a){let f;if(a===void 0)for(const g of i)g!=null&&(f>g||f===void 0&&g>=g)&&(f=g);else{let g=-1;for(let w of i)(w=a(w,++g,i))!=null&&(f>w||f===void 0&&w>=w)&&(f=w)}return f}function R9e(i,a,f){i=+i,a=+a,f=(w=arguments.length)<2?(a=i,i=0,1):w<3?1:+f;for(var g=-1,w=Math.max(0,Math.ceil((a-i)/f))|0,v=new Array(w);++g<w;)v[g]=i+g*f;return v}function j9e(i){return i}var iW=1,m0t=2,v0t=3,sW=4,EOt=1e-6;function $9e(i){return"translate("+i+",0)"}function z9e(i){return"translate(0,"+i+")"}function q9e(i){return a=>+i(a)}function H9e(i,a){return a=Math.max(0,i.bandwidth()-a*2)/2,i.round()&&(a=Math.round(a)),f=>+i(f)+a}function V9e(){return!this.__axis}function TOt(i,a){var f=[],g=null,w=null,v=6,b=6,E=3,S=typeof window<"u"&&window.devicePixelRatio>1?0:.5,_=i===iW||i===sW?-1:1,M=i===sW||i===m0t?"x":"y",F=i===iW||i===v0t?$9e:z9e;function R(B){var z=g??(a.ticks?a.ticks.apply(a,f):a.domain()),Y=w??(a.tickFormat?a.tickFormat.apply(a,f):j9e),nt=Math.max(v,0)+E,ot=a.range(),ft=+ot[0]+S,wt=+ot[ot.length-1]+S,mt=(a.bandwidth?H9e:q9e)(a.copy(),S),ct=B.selection?B.selection():B,rt=ct.selectAll(".domain").data([null]),it=ct.selectAll(".tick").data(z,a).order(),gt=it.exit(),Q=it.enter().append("g").attr("class","tick"),dt=it.select("line"),K=it.select("text");rt=rt.merge(rt.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),it=it.merge(Q),dt=dt.merge(Q.append("line").attr("stroke","currentColor").attr(M+"2",_*v)),K=K.merge(Q.append("text").attr("fill","currentColor").attr(M,_*nt).attr("dy",i===iW?"0em":i===v0t?"0.71em":"0.32em")),B!==ct&&(rt=rt.transition(B),it=it.transition(B),dt=dt.transition(B),K=K.transition(B),gt=gt.transition(B).attr("opacity",EOt).attr("transform",function(yt){return isFinite(yt=mt(yt))?F(yt+S):this.getAttribute("transform")}),Q.attr("opacity",EOt).attr("transform",function(yt){var V=this.parentNode.__axis;return F((V&&isFinite(V=V(yt))?V:mt(yt))+S)})),gt.remove(),rt.attr("d",i===sW||i===m0t?b?"M"+_*b+","+ft+"H"+S+"V"+wt+"H"+_*b:"M"+S+","+ft+"V"+wt:b?"M"+ft+","+_*b+"V"+S+"H"+wt+"V"+_*b:"M"+ft+","+S+"H"+wt),it.attr("opacity",1).attr("transform",function(yt){return F(mt(yt)+S)}),dt.attr(M+"2",_*v),K.attr(M,_*nt).text(Y),ct.filter(V9e).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",i===m0t?"start":i===sW?"end":"middle"),ct.each(function(){this.__axis=mt})}return R.scale=function(B){return arguments.length?(a=B,R):a},R.ticks=function(){return f=Array.from(arguments),R},R.tickArguments=function(B){return arguments.length?(f=B==null?[]:Array.from(B),R):f.slice()},R.tickValues=function(B){return arguments.length?(g=B==null?null:Array.from(B),R):g&&g.slice()},R.tickFormat=function(B){return arguments.length?(w=B,R):w},R.tickSize=function(B){return arguments.length?(v=b=+B,R):v},R.tickSizeInner=function(B){return arguments.length?(v=+B,R):v},R.tickSizeOuter=function(B){return arguments.length?(b=+B,R):b},R.tickPadding=function(B){return arguments.length?(E=+B,R):E},R.offset=function(B){return arguments.length?(S=+B,R):S},R}function U9e(i){return TOt(iW,i)}function G9e(i){return TOt(v0t,i)}var K9e={value:()=>{}};function COt(){for(var i=0,a=arguments.length,f={},g;i<a;++i){if(!(g=arguments[i]+"")||g in f||/[\s.]/.test(g))throw new Error("illegal type: "+g);f[g]=[]}return new aW(f)}function aW(i){this._=i}function W9e(i,a){return i.trim().split(/^|\s+/).map(function(f){var g="",w=f.indexOf(".");if(w>=0&&(g=f.slice(w+1),f=f.slice(0,w)),f&&!a.hasOwnProperty(f))throw new Error("unknown type: "+f);return{type:f,name:g}})}aW.prototype=COt.prototype={constructor:aW,on:function(i,a){var f=this._,g=W9e(i+"",f),w,v=-1,b=g.length;if(arguments.length<2){for(;++v<b;)if((w=(i=g[v]).type)&&(w=Y9e(f[w],i.name)))return w;return}if(a!=null&&typeof a!="function")throw new Error("invalid callback: "+a);for(;++v<b;)if(w=(i=g[v]).type)f[w]=SOt(f[w],i.name,a);else if(a==null)for(w in f)f[w]=SOt(f[w],i.name,null);return this},copy:function(){var i={},a=this._;for(var f in a)i[f]=a[f].slice();return new aW(i)},call:function(i,a){if((w=arguments.length-2)>0)for(var f=new Array(w),g=0,w,v;g<w;++g)f[g]=arguments[g+2];if(!this._.hasOwnProperty(i))throw new Error("unknown type: "+i);for(v=this._[i],g=0,w=v.length;g<w;++g)v[g].value.apply(a,f)},apply:function(i,a,f){if(!this._.hasOwnProperty(i))throw new Error("unknown type: "+i);for(var g=this._[i],w=0,v=g.length;w<v;++w)g[w].value.apply(a,f)}};function Y9e(i,a){for(var f=0,g=i.length,w;f<g;++f)if((w=i[f]).name===a)return w.value}function SOt(i,a,f){for(var g=0,w=i.length;g<w;++g)if(i[g].name===a){i[g]=K9e,i=i.slice(0,g).concat(i.slice(g+1));break}return f!=null&&i.push({name:a,value:f}),i}var y0t="http://www.w3.org/1999/xhtml";const _Ot={svg:"http://www.w3.org/2000/svg",xhtml:y0t,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function oW(i){var a=i+="",f=a.indexOf(":");return f>=0&&(a=i.slice(0,f))!=="xmlns"&&(i=i.slice(f+1)),_Ot.hasOwnProperty(a)?{space:_Ot[a],local:i}:i}function X9e(i){return function(){var a=this.ownerDocument,f=this.namespaceURI;return f===y0t&&a.documentElement.namespaceURI===y0t?a.createElement(i):a.createElementNS(f,i)}}function Q9e(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function AOt(i){var a=oW(i);return(a.local?Q9e:X9e)(a)}function J9e(){}function x0t(i){return i==null?J9e:function(){return this.querySelector(i)}}function Z9e(i){typeof i!="function"&&(i=x0t(i));for(var a=this._groups,f=a.length,g=new Array(f),w=0;w<f;++w)for(var v=a[w],b=v.length,E=g[w]=new Array(b),S,_,M=0;M<b;++M)(S=v[M])&&(_=i.call(S,S.__data__,M,v))&&("__data__"in S&&(_.__data__=S.__data__),E[M]=_);return new Gg(g,this._parents)}function LOt(i){return i==null?[]:Array.isArray(i)?i:Array.from(i)}function tCe(){return[]}function DOt(i){return i==null?tCe:function(){return this.querySelectorAll(i)}}function eCe(i){return function(){return LOt(i.apply(this,arguments))}}function nCe(i){typeof i=="function"?i=eCe(i):i=DOt(i);for(var a=this._groups,f=a.length,g=[],w=[],v=0;v<f;++v)for(var b=a[v],E=b.length,S,_=0;_<E;++_)(S=b[_])&&(g.push(i.call(S,S.__data__,_,b)),w.push(S));return new Gg(g,w)}function MOt(i){return function(){return this.matches(i)}}function IOt(i){return function(a){return a.matches(i)}}var rCe=Array.prototype.find;function iCe(i){return function(){return rCe.call(this.children,i)}}function sCe(){return this.firstElementChild}function aCe(i){return this.select(i==null?sCe:iCe(typeof i=="function"?i:IOt(i)))}var oCe=Array.prototype.filter;function cCe(){return Array.from(this.children)}function uCe(i){return function(){return oCe.call(this.children,i)}}function lCe(i){return this.selectAll(i==null?cCe:uCe(typeof i=="function"?i:IOt(i)))}function hCe(i){typeof i!="function"&&(i=MOt(i));for(var a=this._groups,f=a.length,g=new Array(f),w=0;w<f;++w)for(var v=a[w],b=v.length,E=g[w]=[],S,_=0;_<b;++_)(S=v[_])&&i.call(S,S.__data__,_,v)&&E.push(S);return new Gg(g,this._parents)}function OOt(i){return new Array(i.length)}function fCe(){return new Gg(this._enter||this._groups.map(OOt),this._parents)}function cW(i,a){this.ownerDocument=i.ownerDocument,this.namespaceURI=i.namespaceURI,this._next=null,this._parent=i,this.__data__=a}cW.prototype={constructor:cW,appendChild:function(i){return this._parent.insertBefore(i,this._next)},insertBefore:function(i,a){return this._parent.insertBefore(i,a)},querySelector:function(i){return this._parent.querySelector(i)},querySelectorAll:function(i){return this._parent.querySelectorAll(i)}};function dCe(i){return function(){return i}}function gCe(i,a,f,g,w,v){for(var b=0,E,S=a.length,_=v.length;b<_;++b)(E=a[b])?(E.__data__=v[b],g[b]=E):f[b]=new cW(i,v[b]);for(;b<S;++b)(E=a[b])&&(w[b]=E)}function pCe(i,a,f,g,w,v,b){var E,S,_=new Map,M=a.length,F=v.length,R=new Array(M),B;for(E=0;E<M;++E)(S=a[E])&&(R[E]=B=b.call(S,S.__data__,E,a)+"",_.has(B)?w[E]=S:_.set(B,S));for(E=0;E<F;++E)B=b.call(i,v[E],E,v)+"",(S=_.get(B))?(g[E]=S,S.__data__=v[E],_.delete(B)):f[E]=new cW(i,v[E]);for(E=0;E<M;++E)(S=a[E])&&_.get(R[E])===S&&(w[E]=S)}function bCe(i){return i.__data__}function wCe(i,a){if(!arguments.length)return Array.from(this,bCe);var f=a?pCe:gCe,g=this._parents,w=this._groups;typeof i!="function"&&(i=dCe(i));for(var v=w.length,b=new Array(v),E=new Array(v),S=new Array(v),_=0;_<v;++_){var M=g[_],F=w[_],R=F.length,B=mCe(i.call(M,M&&M.__data__,_,g)),z=B.length,Y=E[_]=new Array(z),nt=b[_]=new Array(z),ot=S[_]=new Array(R);f(M,F,Y,nt,ot,B,a);for(var ft=0,wt=0,mt,ct;ft<z;++ft)if(mt=Y[ft]){for(ft>=wt&&(wt=ft+1);!(ct=nt[wt])&&++wt<z;);mt._next=ct||null}}return b=new Gg(b,g),b._enter=E,b._exit=S,b}function mCe(i){return typeof i=="object"&&"length"in i?i:Array.from(i)}function vCe(){return new Gg(this._exit||this._groups.map(OOt),this._parents)}function yCe(i,a,f){var g=this.enter(),w=this,v=this.exit();return typeof i=="function"?(g=i(g),g&&(g=g.selection())):g=g.append(i+""),a!=null&&(w=a(w),w&&(w=w.selection())),f==null?v.remove():f(v),g&&w?g.merge(w).order():w}function xCe(i){for(var a=i.selection?i.selection():i,f=this._groups,g=a._groups,w=f.length,v=g.length,b=Math.min(w,v),E=new Array(w),S=0;S<b;++S)for(var _=f[S],M=g[S],F=_.length,R=E[S]=new Array(F),B,z=0;z<F;++z)(B=_[z]||M[z])&&(R[z]=B);for(;S<w;++S)E[S]=f[S];return new Gg(E,this._parents)}function kCe(){for(var i=this._groups,a=-1,f=i.length;++a<f;)for(var g=i[a],w=g.length-1,v=g[w],b;--w>=0;)(b=g[w])&&(v&&b.compareDocumentPosition(v)^4&&v.parentNode.insertBefore(b,v),v=b);return this}function ECe(i){i||(i=TCe);function a(F,R){return F&&R?i(F.__data__,R.__data__):!F-!R}for(var f=this._groups,g=f.length,w=new Array(g),v=0;v<g;++v){for(var b=f[v],E=b.length,S=w[v]=new Array(E),_,M=0;M<E;++M)(_=b[M])&&(S[M]=_);S.sort(a)}return new Gg(w,this._parents).order()}function TCe(i,a){return i<a?-1:i>a?1:i>=a?0:NaN}function CCe(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function SCe(){return Array.from(this)}function _Ce(){for(var i=this._groups,a=0,f=i.length;a<f;++a)for(var g=i[a],w=0,v=g.length;w<v;++w){var b=g[w];if(b)return b}return null}function ACe(){let i=0;for(const a of this)++i;return i}function LCe(){return!this.node()}function DCe(i){for(var a=this._groups,f=0,g=a.length;f<g;++f)for(var w=a[f],v=0,b=w.length,E;v<b;++v)(E=w[v])&&i.call(E,E.__data__,v,w);return this}function MCe(i){return function(){this.removeAttribute(i)}}function ICe(i){return function(){this.removeAttributeNS(i.space,i.local)}}function OCe(i,a){return function(){this.setAttribute(i,a)}}function NCe(i,a){return function(){this.setAttributeNS(i.space,i.local,a)}}function PCe(i,a){return function(){var f=a.apply(this,arguments);f==null?this.removeAttribute(i):this.setAttribute(i,f)}}function FCe(i,a){return function(){var f=a.apply(this,arguments);f==null?this.removeAttributeNS(i.space,i.local):this.setAttributeNS(i.space,i.local,f)}}function BCe(i,a){var f=oW(i);if(arguments.length<2){var g=this.node();return f.local?g.getAttributeNS(f.space,f.local):g.getAttribute(f)}return this.each((a==null?f.local?ICe:MCe:typeof a=="function"?f.local?FCe:PCe:f.local?NCe:OCe)(f,a))}function NOt(i){return i.ownerDocument&&i.ownerDocument.defaultView||i.document&&i||i.defaultView}function RCe(i){return function(){this.style.removeProperty(i)}}function jCe(i,a,f){return function(){this.style.setProperty(i,a,f)}}function $Ce(i,a,f){return function(){var g=a.apply(this,arguments);g==null?this.style.removeProperty(i):this.style.setProperty(i,g,f)}}function zCe(i,a,f){return arguments.length>1?this.each((a==null?RCe:typeof a=="function"?$Ce:jCe)(i,a,f??"")):RL(this.node(),i)}function RL(i,a){return i.style.getPropertyValue(a)||NOt(i).getComputedStyle(i,null).getPropertyValue(a)}function qCe(i){return function(){delete this[i]}}function HCe(i,a){return function(){this[i]=a}}function VCe(i,a){return function(){var f=a.apply(this,arguments);f==null?delete this[i]:this[i]=f}}function UCe(i,a){return arguments.length>1?this.each((a==null?qCe:typeof a=="function"?VCe:HCe)(i,a)):this.node()[i]}function POt(i){return i.trim().split(/^|\s+/)}function k0t(i){return i.classList||new FOt(i)}function FOt(i){this._node=i,this._names=POt(i.getAttribute("class")||"")}FOt.prototype={add:function(i){var a=this._names.indexOf(i);a<0&&(this._names.push(i),this._node.setAttribute("class",this._names.join(" ")))},remove:function(i){var a=this._names.indexOf(i);a>=0&&(this._names.splice(a,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(i){return this._names.indexOf(i)>=0}};function BOt(i,a){for(var f=k0t(i),g=-1,w=a.length;++g<w;)f.add(a[g])}function ROt(i,a){for(var f=k0t(i),g=-1,w=a.length;++g<w;)f.remove(a[g])}function GCe(i){return function(){BOt(this,i)}}function KCe(i){return function(){ROt(this,i)}}function WCe(i,a){return function(){(a.apply(this,arguments)?BOt:ROt)(this,i)}}function YCe(i,a){var f=POt(i+"");if(arguments.length<2){for(var g=k0t(this.node()),w=-1,v=f.length;++w<v;)if(!g.contains(f[w]))return!1;return!0}return this.each((typeof a=="function"?WCe:a?GCe:KCe)(f,a))}function XCe(){this.textContent=""}function QCe(i){return function(){this.textContent=i}}function JCe(i){return function(){var a=i.apply(this,arguments);this.textContent=a??""}}function ZCe(i){return arguments.length?this.each(i==null?XCe:(typeof i=="function"?JCe:QCe)(i)):this.node().textContent}function tSe(){this.innerHTML=""}function eSe(i){return function(){this.innerHTML=i}}function nSe(i){return function(){var a=i.apply(this,arguments);this.innerHTML=a??""}}function rSe(i){return arguments.length?this.each(i==null?tSe:(typeof i=="function"?nSe:eSe)(i)):this.node().innerHTML}function iSe(){this.nextSibling&&this.parentNode.appendChild(this)}function sSe(){return this.each(iSe)}function aSe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function oSe(){return this.each(aSe)}function cSe(i){var a=typeof i=="function"?i:AOt(i);return this.select(function(){return this.appendChild(a.apply(this,arguments))})}function uSe(){return null}function lSe(i,a){var f=typeof i=="function"?i:AOt(i),g=a==null?uSe:typeof a=="function"?a:x0t(a);return this.select(function(){return this.insertBefore(f.apply(this,arguments),g.apply(this,arguments)||null)})}function hSe(){var i=this.parentNode;i&&i.removeChild(this)}function fSe(){return this.each(hSe)}function dSe(){var i=this.cloneNode(!1),a=this.parentNode;return a?a.insertBefore(i,this.nextSibling):i}function gSe(){var i=this.cloneNode(!0),a=this.parentNode;return a?a.insertBefore(i,this.nextSibling):i}function pSe(i){return this.select(i?gSe:dSe)}function bSe(i){return arguments.length?this.property("__data__",i):this.node().__data__}function wSe(i){return function(a){i.call(this,a,this.__data__)}}function mSe(i){return i.trim().split(/^|\s+/).map(function(a){var f="",g=a.indexOf(".");return g>=0&&(f=a.slice(g+1),a=a.slice(0,g)),{type:a,name:f}})}function vSe(i){return function(){var a=this.__on;if(a){for(var f=0,g=-1,w=a.length,v;f<w;++f)v=a[f],(!i.type||v.type===i.type)&&v.name===i.name?this.removeEventListener(v.type,v.listener,v.options):a[++g]=v;++g?a.length=g:delete this.__on}}}function ySe(i,a,f){return function(){var g=this.__on,w,v=wSe(a);if(g){for(var b=0,E=g.length;b<E;++b)if((w=g[b]).type===i.type&&w.name===i.name){this.removeEventListener(w.type,w.listener,w.options),this.addEventListener(w.type,w.listener=v,w.options=f),w.value=a;return}}this.addEventListener(i.type,v,f),w={type:i.type,name:i.name,value:a,listener:v,options:f},g?g.push(w):this.__on=[w]}}function xSe(i,a,f){var g=mSe(i+""),w,v=g.length,b;if(arguments.length<2){var E=this.node().__on;if(E){for(var S=0,_=E.length,M;S<_;++S)for(w=0,M=E[S];w<v;++w)if((b=g[w]).type===M.type&&b.name===M.name)return M.value}return}for(E=a?ySe:vSe,w=0;w<v;++w)this.each(E(g[w],a,f));return this}function jOt(i,a,f){var g=NOt(i),w=g.CustomEvent;typeof w=="function"?w=new w(a,f):(w=g.document.createEvent("Event"),f?(w.initEvent(a,f.bubbles,f.cancelable),w.detail=f.detail):w.initEvent(a,!1,!1)),i.dispatchEvent(w)}function kSe(i,a){return function(){return jOt(this,i,a)}}function ESe(i,a){return function(){return jOt(this,i,a.apply(this,arguments))}}function TSe(i,a){return this.each((typeof a=="function"?ESe:kSe)(i,a))}function*CSe(){for(var i=this._groups,a=0,f=i.length;a<f;++a)for(var g=i[a],w=0,v=g.length,b;w<v;++w)(b=g[w])&&(yield b)}var E0t=[null];function Gg(i,a){this._groups=i,this._parents=a}function JP(){return new Gg([[document.documentElement]],E0t)}function SSe(){return this}Gg.prototype=JP.prototype={constructor:Gg,select:Z9e,selectAll:nCe,selectChild:aCe,selectChildren:lCe,filter:hCe,data:wCe,enter:fCe,exit:vCe,join:yCe,merge:xCe,selection:SSe,order:kCe,sort:ECe,call:CCe,nodes:SCe,node:_Ce,size:ACe,empty:LCe,each:DCe,attr:BCe,style:zCe,property:UCe,classed:YCe,text:ZCe,html:rSe,raise:sSe,lower:oSe,append:cSe,insert:lSe,remove:fSe,clone:pSe,datum:bSe,on:xSe,dispatch:TSe,[Symbol.iterator]:CSe};function Tr(i){return typeof i=="string"?new Gg([[document.querySelector(i)]],[document.documentElement]):new Gg([[i]],E0t)}function $Ot(i){return typeof i=="string"?new Gg([document.querySelectorAll(i)],[document.documentElement]):new Gg([LOt(i)],E0t)}function ZP(i,a,f){i.prototype=a.prototype=f,f.constructor=i}function uW(i,a){var f=Object.create(i.prototype);for(var g in a)f[g]=a[g];return f}function n9(){}var tF=.7,lW=1/tF,jL="\\s*([+-]?\\d+)\\s*",eF="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Q3="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",_Se=/^#([0-9a-f]{3,8})$/,ASe=new RegExp(`^rgb\\(${jL},${jL},${jL}\\)$`),LSe=new RegExp(`^rgb\\(${Q3},${Q3},${Q3}\\)$`),DSe=new RegExp(`^rgba\\(${jL},${jL},${jL},${eF}\\)$`),MSe=new RegExp(`^rgba\\(${Q3},${Q3},${Q3},${eF}\\)$`),ISe=new RegExp(`^hsl\\(${eF},${Q3},${Q3}\\)$`),OSe=new RegExp(`^hsla\\(${eF},${Q3},${Q3},${eF}\\)$`),zOt={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ZP(n9,r9,{copy(i){return Object.assign(new this.constructor,this,i)},displayable(){return this.rgb().displayable()},hex:qOt,formatHex:qOt,formatHex8:NSe,formatHsl:PSe,formatRgb:HOt,toString:HOt});function qOt(){return this.rgb().formatHex()}function NSe(){return this.rgb().formatHex8()}function PSe(){return YOt(this).formatHsl()}function HOt(){return this.rgb().formatRgb()}function r9(i){var a,f;return i=(i+"").trim().toLowerCase(),(a=_Se.exec(i))?(f=a[1].length,a=parseInt(a[1],16),f===6?VOt(a):f===3?new eg(a>>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):f===8?hW(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):f===4?hW(a>>12&15|a>>8&240,a>>8&15|a>>4&240,a>>4&15|a&240,((a&15)<<4|a&15)/255):null):(a=ASe.exec(i))?new eg(a[1],a[2],a[3],1):(a=LSe.exec(i))?new eg(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=DSe.exec(i))?hW(a[1],a[2],a[3],a[4]):(a=MSe.exec(i))?hW(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=ISe.exec(i))?WOt(a[1],a[2]/100,a[3]/100,1):(a=OSe.exec(i))?WOt(a[1],a[2]/100,a[3]/100,a[4]):zOt.hasOwnProperty(i)?VOt(zOt[i]):i==="transparent"?new eg(NaN,NaN,NaN,0):null}function VOt(i){return new eg(i>>16&255,i>>8&255,i&255,1)}function hW(i,a,f,g){return g<=0&&(i=a=f=NaN),new eg(i,a,f,g)}function UOt(i){return i instanceof n9||(i=r9(i)),i?(i=i.rgb(),new eg(i.r,i.g,i.b,i.opacity)):new eg}function T0t(i,a,f,g){return arguments.length===1?UOt(i):new eg(i,a,f,g??1)}function eg(i,a,f,g){this.r=+i,this.g=+a,this.b=+f,this.opacity=+g}ZP(eg,T0t,uW(n9,{brighter(i){return i=i==null?lW:Math.pow(lW,i),new eg(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?tF:Math.pow(tF,i),new eg(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new eg(i9(this.r),i9(this.g),i9(this.b),fW(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:GOt,formatHex:GOt,formatHex8:FSe,formatRgb:KOt,toString:KOt}));function GOt(){return`#${s9(this.r)}${s9(this.g)}${s9(this.b)}`}function FSe(){return`#${s9(this.r)}${s9(this.g)}${s9(this.b)}${s9((isNaN(this.opacity)?1:this.opacity)*255)}`}function KOt(){const i=fW(this.opacity);return`${i===1?"rgb(":"rgba("}${i9(this.r)}, ${i9(this.g)}, ${i9(this.b)}${i===1?")":`, ${i})`}`}function fW(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function i9(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function s9(i){return i=i9(i),(i<16?"0":"")+i.toString(16)}function WOt(i,a,f,g){return g<=0?i=a=f=NaN:f<=0||f>=1?i=a=NaN:a<=0&&(i=NaN),new jv(i,a,f,g)}function YOt(i){if(i instanceof jv)return new jv(i.h,i.s,i.l,i.opacity);if(i instanceof n9||(i=r9(i)),!i)return new jv;if(i instanceof jv)return i;i=i.rgb();var a=i.r/255,f=i.g/255,g=i.b/255,w=Math.min(a,f,g),v=Math.max(a,f,g),b=NaN,E=v-w,S=(v+w)/2;return E?(a===v?b=(f-g)/E+(f<g)*6:f===v?b=(g-a)/E+2:b=(a-f)/E+4,E/=S<.5?v+w:2-v-w,b*=60):E=S>0&&S<1?0:b,new jv(b,E,S,i.opacity)}function BSe(i,a,f,g){return arguments.length===1?YOt(i):new jv(i,a,f,g??1)}function jv(i,a,f,g){this.h=+i,this.s=+a,this.l=+f,this.opacity=+g}ZP(jv,BSe,uW(n9,{brighter(i){return i=i==null?lW:Math.pow(lW,i),new jv(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?tF:Math.pow(tF,i),new jv(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,g=f+(f<.5?f:1-f)*a,w=2*f-g;return new eg(C0t(i>=240?i-240:i+120,w,g),C0t(i,w,g),C0t(i<120?i+240:i-120,w,g),this.opacity)},clamp(){return new jv(XOt(this.h),dW(this.s),dW(this.l),fW(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=fW(this.opacity);return`${i===1?"hsl(":"hsla("}${XOt(this.h)}, ${dW(this.s)*100}%, ${dW(this.l)*100}%${i===1?")":`, ${i})`}`}}));function XOt(i){return i=(i||0)%360,i<0?i+360:i}function dW(i){return Math.max(0,Math.min(1,i||0))}function C0t(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 RSe=Math.PI/180,jSe=180/Math.PI,gW=18,QOt=.96422,JOt=1,ZOt=.82521,tNt=4/29,$L=6/29,eNt=3*$L*$L,$Se=$L*$L*$L;function nNt(i){if(i instanceof J3)return new J3(i.l,i.a,i.b,i.opacity);if(i instanceof xx)return rNt(i);i instanceof eg||(i=UOt(i));var a=L0t(i.r),f=L0t(i.g),g=L0t(i.b),w=S0t((.2225045*a+.7168786*f+.0606169*g)/JOt),v,b;return a===f&&f===g?v=b=w:(v=S0t((.4360747*a+.3850649*f+.1430804*g)/QOt),b=S0t((.0139322*a+.0971045*f+.7141733*g)/ZOt)),new J3(116*w-16,500*(v-w),200*(w-b),i.opacity)}function zSe(i,a,f,g){return arguments.length===1?nNt(i):new J3(i,a,f,g??1)}function J3(i,a,f,g){this.l=+i,this.a=+a,this.b=+f,this.opacity=+g}ZP(J3,zSe,uW(n9,{brighter(i){return new J3(this.l+gW*(i??1),this.a,this.b,this.opacity)},darker(i){return new J3(this.l-gW*(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=QOt*_0t(a),i=JOt*_0t(i),f=ZOt*_0t(f),new eg(A0t(3.1338561*a-1.6168667*i-.4906146*f),A0t(-.9787684*a+1.9161415*i+.033454*f),A0t(.0719453*a-.2289914*i+1.4052427*f),this.opacity)}}));function S0t(i){return i>$Se?Math.pow(i,1/3):i/eNt+tNt}function _0t(i){return i>$L?i*i*i:eNt*(i-tNt)}function A0t(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function L0t(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function qSe(i){if(i instanceof xx)return new xx(i.h,i.c,i.l,i.opacity);if(i instanceof J3||(i=nNt(i)),i.a===0&&i.b===0)return new xx(NaN,0<i.l&&i.l<100?0:NaN,i.l,i.opacity);var a=Math.atan2(i.b,i.a)*jSe;return new xx(a<0?a+360:a,Math.sqrt(i.a*i.a+i.b*i.b),i.l,i.opacity)}function D0t(i,a,f,g){return arguments.length===1?qSe(i):new xx(i,a,f,g??1)}function xx(i,a,f,g){this.h=+i,this.c=+a,this.l=+f,this.opacity=+g}function rNt(i){if(isNaN(i.h))return new J3(i.l,0,0,i.opacity);var a=i.h*RSe;return new J3(i.l,Math.cos(a)*i.c,Math.sin(a)*i.c,i.opacity)}ZP(xx,D0t,uW(n9,{brighter(i){return new xx(this.h,this.c,this.l+gW*(i??1),this.opacity)},darker(i){return new xx(this.h,this.c,this.l-gW*(i??1),this.opacity)},rgb(){return rNt(this).rgb()}}));const pW=i=>()=>i;function iNt(i,a){return function(f){return i+f*a}}function HSe(i,a,f){return i=Math.pow(i,f),a=Math.pow(a,f)-i,f=1/f,function(g){return Math.pow(i+g*a,f)}}function VSe(i,a){var f=a-i;return f?iNt(i,f>180||f<-180?f-360*Math.round(f/360):f):pW(isNaN(i)?a:i)}function USe(i){return(i=+i)==1?nF:function(a,f){return f-a?HSe(a,f,i):pW(isNaN(a)?f:a)}}function nF(i,a){var f=a-i;return f?iNt(i,f):pW(isNaN(i)?a:i)}const bW=function i(a){var f=USe(a);function g(w,v){var b=f((w=T0t(w)).r,(v=T0t(v)).r),E=f(w.g,v.g),S=f(w.b,v.b),_=nF(w.opacity,v.opacity);return function(M){return w.r=b(M),w.g=E(M),w.b=S(M),w.opacity=_(M),w+""}}return g.gamma=i,g}(1);function GSe(i,a){a||(a=[]);var f=i?Math.min(a.length,i.length):0,g=a.slice(),w;return function(v){for(w=0;w<f;++w)g[w]=i[w]*(1-v)+a[w]*v;return g}}function KSe(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)}function WSe(i,a){var f=a?a.length:0,g=i?Math.min(f,i.length):0,w=new Array(g),v=new Array(f),b;for(b=0;b<g;++b)w[b]=O0t(i[b],a[b]);for(;b<f;++b)v[b]=a[b];return function(E){for(b=0;b<g;++b)v[b]=w[b](E);return v}}function YSe(i,a){var f=new Date;return i=+i,a=+a,function(g){return f.setTime(i*(1-g)+a*g),f}}function $v(i,a){return i=+i,a=+a,function(f){return i*(1-f)+a*f}}function XSe(i,a){var f={},g={},w;(i===null||typeof i!="object")&&(i={}),(a===null||typeof a!="object")&&(a={});for(w in a)w in i?f[w]=O0t(i[w],a[w]):g[w]=a[w];return function(v){for(w in f)g[w]=f[w](v);return g}}var M0t=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,I0t=new RegExp(M0t.source,"g");function QSe(i){return function(){return i}}function JSe(i){return function(a){return i(a)+""}}function sNt(i,a){var f=M0t.lastIndex=I0t.lastIndex=0,g,w,v,b=-1,E=[],S=[];for(i=i+"",a=a+"";(g=M0t.exec(i))&&(w=I0t.exec(a));)(v=w.index)>f&&(v=a.slice(f,v),E[b]?E[b]+=v:E[++b]=v),(g=g[0])===(w=w[0])?E[b]?E[b]+=w:E[++b]=w:(E[++b]=null,S.push({i:b,x:$v(g,w)})),f=I0t.lastIndex;return f<a.length&&(v=a.slice(f),E[b]?E[b]+=v:E[++b]=v),E.length<2?S[0]?JSe(S[0].x):QSe(a):(a=S.length,function(_){for(var M=0,F;M<a;++M)E[(F=S[M]).i]=F.x(_);return E.join("")})}function O0t(i,a){var f=typeof a,g;return a==null||f==="boolean"?pW(a):(f==="number"?$v:f==="string"?(g=r9(a))?(a=g,bW):sNt:a instanceof r9?bW:a instanceof Date?YSe:KSe(a)?GSe:Array.isArray(a)?WSe:typeof a.valueOf!="function"&&typeof a.toString!="function"||isNaN(a)?XSe:$v)(i,a)}function ZSe(i,a){return i=+i,a=+a,function(f){return Math.round(i*(1-f)+a*f)}}var aNt=180/Math.PI,N0t={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function oNt(i,a,f,g,w,v){var b,E,S;return(b=Math.sqrt(i*i+a*a))&&(i/=b,a/=b),(S=i*f+a*g)&&(f-=i*S,g-=a*S),(E=Math.sqrt(f*f+g*g))&&(f/=E,g/=E,S/=E),i*g<a*f&&(i=-i,a=-a,S=-S,b=-b),{translateX:w,translateY:v,rotate:Math.atan2(a,i)*aNt,skewX:Math.atan(S)*aNt,scaleX:b,scaleY:E}}var wW;function t_e(i){const a=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(i+"");return a.isIdentity?N0t:oNt(a.a,a.b,a.c,a.d,a.e,a.f)}function e_e(i){return i==null||(wW||(wW=document.createElementNS("http://www.w3.org/2000/svg","g")),wW.setAttribute("transform",i),!(i=wW.transform.baseVal.consolidate()))?N0t:(i=i.matrix,oNt(i.a,i.b,i.c,i.d,i.e,i.f))}function cNt(i,a,f,g){function w(_){return _.length?_.pop()+" ":""}function v(_,M,F,R,B,z){if(_!==F||M!==R){var Y=B.push("translate(",null,a,null,f);z.push({i:Y-4,x:$v(_,F)},{i:Y-2,x:$v(M,R)})}else(F||R)&&B.push("translate("+F+a+R+f)}function b(_,M,F,R){_!==M?(_-M>180?M+=360:M-_>180&&(_+=360),R.push({i:F.push(w(F)+"rotate(",null,g)-2,x:$v(_,M)})):M&&F.push(w(F)+"rotate("+M+g)}function E(_,M,F,R){_!==M?R.push({i:F.push(w(F)+"skewX(",null,g)-2,x:$v(_,M)}):M&&F.push(w(F)+"skewX("+M+g)}function S(_,M,F,R,B,z){if(_!==F||M!==R){var Y=B.push(w(B)+"scale(",null,",",null,")");z.push({i:Y-4,x:$v(_,F)},{i:Y-2,x:$v(M,R)})}else(F!==1||R!==1)&&B.push(w(B)+"scale("+F+","+R+")")}return function(_,M){var F=[],R=[];return _=i(_),M=i(M),v(_.translateX,_.translateY,M.translateX,M.translateY,F,R),b(_.rotate,M.rotate,F,R),E(_.skewX,M.skewX,F,R),S(_.scaleX,_.scaleY,M.scaleX,M.scaleY,F,R),_=M=null,function(B){for(var z=-1,Y=R.length,nt;++z<Y;)F[(nt=R[z]).i]=nt.x(B);return F.join("")}}}var n_e=cNt(t_e,"px, ","px)","deg)"),r_e=cNt(e_e,", ",")",")");function i_e(i){return function(a,f){var g=i((a=D0t(a)).h,(f=D0t(f)).h),w=nF(a.c,f.c),v=nF(a.l,f.l),b=nF(a.opacity,f.opacity);return function(E){return a.h=g(E),a.c=w(E),a.l=v(E),a.opacity=b(E),a+""}}}const s_e=i_e(VSe);var zL=0,rF=0,iF=0,uNt=1e3,mW,sF,vW=0,a9=0,yW=0,aF=typeof performance=="object"&&performance.now?performance:Date,lNt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(i){setTimeout(i,17)};function P0t(){return a9||(lNt(a_e),a9=aF.now()+yW)}function a_e(){a9=0}function xW(){this._call=this._time=this._next=null}xW.prototype=hNt.prototype={constructor:xW,restart:function(i,a,f){if(typeof i!="function")throw new TypeError("callback is not a function");f=(f==null?P0t():+f)+(a==null?0:+a),!this._next&&sF!==this&&(sF?sF._next=this:mW=this,sF=this),this._call=i,this._time=f,F0t()},stop:function(){this._call&&(this._call=null,this._time=1/0,F0t())}};function hNt(i,a,f){var g=new xW;return g.restart(i,a,f),g}function o_e(){P0t(),++zL;for(var i=mW,a;i;)(a=a9-i._time)>=0&&i._call.call(void 0,a),i=i._next;--zL}function fNt(){a9=(vW=aF.now())+yW,zL=rF=0;try{o_e()}finally{zL=0,u_e(),a9=0}}function c_e(){var i=aF.now(),a=i-vW;a>uNt&&(yW-=a,vW=i)}function u_e(){for(var i,a=mW,f,g=1/0;a;)a._call?(g>a._time&&(g=a._time),i=a,a=a._next):(f=a._next,a._next=null,a=i?i._next=f:mW=f);sF=i,F0t(g)}function F0t(i){if(!zL){rF&&(rF=clearTimeout(rF));var a=i-a9;a>24?(i<1/0&&(rF=setTimeout(fNt,i-aF.now()-yW)),iF&&(iF=clearInterval(iF))):(iF||(vW=aF.now(),iF=setInterval(c_e,uNt)),zL=1,lNt(fNt))}}function dNt(i,a,f){var g=new xW;return a=a==null?0:+a,g.restart(w=>{g.stop(),i(w+a)},a,f),g}var l_e=COt("start","end","cancel","interrupt"),h_e=[],gNt=0,pNt=1,B0t=2,kW=3,bNt=4,R0t=5,EW=6;function TW(i,a,f,g,w,v){var b=i.__transition;if(!b)i.__transition={};else if(f in b)return;f_e(i,f,{name:a,index:g,group:w,on:l_e,tween:h_e,time:v.time,delay:v.delay,duration:v.duration,ease:v.ease,timer:null,state:gNt})}function j0t(i,a){var f=zv(i,a);if(f.state>gNt)throw new Error("too late; already scheduled");return f}function Z3(i,a){var f=zv(i,a);if(f.state>kW)throw new Error("too late; already running");return f}function zv(i,a){var f=i.__transition;if(!f||!(f=f[a]))throw new Error("transition not found");return f}function f_e(i,a,f){var g=i.__transition,w;g[a]=f,f.timer=hNt(v,0,f.time);function v(_){f.state=pNt,f.timer.restart(b,f.delay,f.time),f.delay<=_&&b(_-f.delay)}function b(_){var M,F,R,B;if(f.state!==pNt)return S();for(M in g)if(B=g[M],B.name===f.name){if(B.state===kW)return dNt(b);B.state===bNt?(B.state=EW,B.timer.stop(),B.on.call("interrupt",i,i.__data__,B.index,B.group),delete g[M]):+M<a&&(B.state=EW,B.timer.stop(),B.on.call("cancel",i,i.__data__,B.index,B.group),delete g[M])}if(dNt(function(){f.state===kW&&(f.state=bNt,f.timer.restart(E,f.delay,f.time),E(_))}),f.state=B0t,f.on.call("start",i,i.__data__,f.index,f.group),f.state===B0t){for(f.state=kW,w=new Array(R=f.tween.length),M=0,F=-1;M<R;++M)(B=f.tween[M].value.call(i,i.__data__,f.index,f.group))&&(w[++F]=B);w.length=F+1}}function E(_){for(var M=_<f.duration?f.ease.call(null,_/f.duration):(f.timer.restart(S),f.state=R0t,1),F=-1,R=w.length;++F<R;)w[F].call(i,M);f.state===R0t&&(f.on.call("end",i,i.__data__,f.index,f.group),S())}function S(){f.state=EW,f.timer.stop(),delete g[a];for(var _ in g)return;delete i.__transition}}function d_e(i,a){var f=i.__transition,g,w,v=!0,b;if(f){a=a==null?null:a+"";for(b in f){if((g=f[b]).name!==a){v=!1;continue}w=g.state>B0t&&g.state<R0t,g.state=EW,g.timer.stop(),g.on.call(w?"interrupt":"cancel",i,i.__data__,g.index,g.group),delete f[b]}v&&delete i.__transition}}function g_e(i){return this.each(function(){d_e(this,i)})}function p_e(i,a){var f,g;return function(){var w=Z3(this,i),v=w.tween;if(v!==f){g=f=v;for(var b=0,E=g.length;b<E;++b)if(g[b].name===a){g=g.slice(),g.splice(b,1);break}}w.tween=g}}function b_e(i,a,f){var g,w;if(typeof f!="function")throw new Error;return function(){var v=Z3(this,i),b=v.tween;if(b!==g){w=(g=b).slice();for(var E={name:a,value:f},S=0,_=w.length;S<_;++S)if(w[S].name===a){w[S]=E;break}S===_&&w.push(E)}v.tween=w}}function w_e(i,a){var f=this._id;if(i+="",arguments.length<2){for(var g=zv(this.node(),f).tween,w=0,v=g.length,b;w<v;++w)if((b=g[w]).name===i)return b.value;return null}return this.each((a==null?p_e:b_e)(f,i,a))}function $0t(i,a,f){var g=i._id;return i.each(function(){var w=Z3(this,g);(w.value||(w.value={}))[a]=f.apply(this,arguments)}),function(w){return zv(w,g).value[a]}}function wNt(i,a){var f;return(typeof a=="number"?$v:a instanceof r9?bW:(f=r9(a))?(a=f,bW):sNt)(i,a)}function m_e(i){return function(){this.removeAttribute(i)}}function v_e(i){return function(){this.removeAttributeNS(i.space,i.local)}}function y_e(i,a,f){var g,w=f+"",v;return function(){var b=this.getAttribute(i);return b===w?null:b===g?v:v=a(g=b,f)}}function x_e(i,a,f){var g,w=f+"",v;return function(){var b=this.getAttributeNS(i.space,i.local);return b===w?null:b===g?v:v=a(g=b,f)}}function k_e(i,a,f){var g,w,v;return function(){var b,E=f(this),S;return E==null?void this.removeAttribute(i):(b=this.getAttribute(i),S=E+"",b===S?null:b===g&&S===w?v:(w=S,v=a(g=b,E)))}}function E_e(i,a,f){var g,w,v;return function(){var b,E=f(this),S;return E==null?void this.removeAttributeNS(i.space,i.local):(b=this.getAttributeNS(i.space,i.local),S=E+"",b===S?null:b===g&&S===w?v:(w=S,v=a(g=b,E)))}}function T_e(i,a){var f=oW(i),g=f==="transform"?r_e:wNt;return this.attrTween(i,typeof a=="function"?(f.local?E_e:k_e)(f,g,$0t(this,"attr."+i,a)):a==null?(f.local?v_e:m_e)(f):(f.local?x_e:y_e)(f,g,a))}function C_e(i,a){return function(f){this.setAttribute(i,a.call(this,f))}}function S_e(i,a){return function(f){this.setAttributeNS(i.space,i.local,a.call(this,f))}}function __e(i,a){var f,g;function w(){var v=a.apply(this,arguments);return v!==g&&(f=(g=v)&&S_e(i,v)),f}return w._value=a,w}function A_e(i,a){var f,g;function w(){var v=a.apply(this,arguments);return v!==g&&(f=(g=v)&&C_e(i,v)),f}return w._value=a,w}function L_e(i,a){var f="attr."+i;if(arguments.length<2)return(f=this.tween(f))&&f._value;if(a==null)return this.tween(f,null);if(typeof a!="function")throw new Error;var g=oW(i);return this.tween(f,(g.local?__e:A_e)(g,a))}function D_e(i,a){return function(){j0t(this,i).delay=+a.apply(this,arguments)}}function M_e(i,a){return a=+a,function(){j0t(this,i).delay=a}}function I_e(i){var a=this._id;return arguments.length?this.each((typeof i=="function"?D_e:M_e)(a,i)):zv(this.node(),a).delay}function O_e(i,a){return function(){Z3(this,i).duration=+a.apply(this,arguments)}}function N_e(i,a){return a=+a,function(){Z3(this,i).duration=a}}function P_e(i){var a=this._id;return arguments.length?this.each((typeof i=="function"?O_e:N_e)(a,i)):zv(this.node(),a).duration}function F_e(i,a){if(typeof a!="function")throw new Error;return function(){Z3(this,i).ease=a}}function B_e(i){var a=this._id;return arguments.length?this.each(F_e(a,i)):zv(this.node(),a).ease}function R_e(i,a){return function(){var f=a.apply(this,arguments);if(typeof f!="function")throw new Error;Z3(this,i).ease=f}}function j_e(i){if(typeof i!="function")throw new Error;return this.each(R_e(this._id,i))}function $_e(i){typeof i!="function"&&(i=MOt(i));for(var a=this._groups,f=a.length,g=new Array(f),w=0;w<f;++w)for(var v=a[w],b=v.length,E=g[w]=[],S,_=0;_<b;++_)(S=v[_])&&i.call(S,S.__data__,_,v)&&E.push(S);return new kx(g,this._parents,this._name,this._id)}function z_e(i){if(i._id!==this._id)throw new Error;for(var a=this._groups,f=i._groups,g=a.length,w=f.length,v=Math.min(g,w),b=new Array(g),E=0;E<v;++E)for(var S=a[E],_=f[E],M=S.length,F=b[E]=new Array(M),R,B=0;B<M;++B)(R=S[B]||_[B])&&(F[B]=R);for(;E<g;++E)b[E]=a[E];return new kx(b,this._parents,this._name,this._id)}function q_e(i){return(i+"").trim().split(/^|\s+/).every(function(a){var f=a.indexOf(".");return f>=0&&(a=a.slice(0,f)),!a||a==="start"})}function H_e(i,a,f){var g,w,v=q_e(a)?j0t:Z3;return function(){var b=v(this,i),E=b.on;E!==g&&(w=(g=E).copy()).on(a,f),b.on=w}}function V_e(i,a){var f=this._id;return arguments.length<2?zv(this.node(),f).on.on(i):this.each(H_e(f,i,a))}function U_e(i){return function(){var a=this.parentNode;for(var f in this.__transition)if(+f!==i)return;a&&a.removeChild(this)}}function G_e(){return this.on("end.remove",U_e(this._id))}function K_e(i){var a=this._name,f=this._id;typeof i!="function"&&(i=x0t(i));for(var g=this._groups,w=g.length,v=new Array(w),b=0;b<w;++b)for(var E=g[b],S=E.length,_=v[b]=new Array(S),M,F,R=0;R<S;++R)(M=E[R])&&(F=i.call(M,M.__data__,R,E))&&("__data__"in M&&(F.__data__=M.__data__),_[R]=F,TW(_[R],a,f,R,_,zv(M,f)));return new kx(v,this._parents,a,f)}function W_e(i){var a=this._name,f=this._id;typeof i!="function"&&(i=DOt(i));for(var g=this._groups,w=g.length,v=[],b=[],E=0;E<w;++E)for(var S=g[E],_=S.length,M,F=0;F<_;++F)if(M=S[F]){for(var R=i.call(M,M.__data__,F,S),B,z=zv(M,f),Y=0,nt=R.length;Y<nt;++Y)(B=R[Y])&&TW(B,a,f,Y,R,z);v.push(R),b.push(M)}return new kx(v,b,a,f)}var Y_e=JP.prototype.constructor;function X_e(){return new Y_e(this._groups,this._parents)}function Q_e(i,a){var f,g,w;return function(){var v=RL(this,i),b=(this.style.removeProperty(i),RL(this,i));return v===b?null:v===f&&b===g?w:w=a(f=v,g=b)}}function mNt(i){return function(){this.style.removeProperty(i)}}function J_e(i,a,f){var g,w=f+"",v;return function(){var b=RL(this,i);return b===w?null:b===g?v:v=a(g=b,f)}}function Z_e(i,a,f){var g,w,v;return function(){var b=RL(this,i),E=f(this),S=E+"";return E==null&&(S=E=(this.style.removeProperty(i),RL(this,i))),b===S?null:b===g&&S===w?v:(w=S,v=a(g=b,E))}}function tAe(i,a){var f,g,w,v="style."+a,b="end."+v,E;return function(){var S=Z3(this,i),_=S.on,M=S.value[v]==null?E||(E=mNt(a)):void 0;(_!==f||w!==M)&&(g=(f=_).copy()).on(b,w=M),S.on=g}}function eAe(i,a,f){var g=(i+="")=="transform"?n_e:wNt;return a==null?this.styleTween(i,Q_e(i,g)).on("end.style."+i,mNt(i)):typeof a=="function"?this.styleTween(i,Z_e(i,g,$0t(this,"style."+i,a))).each(tAe(this._id,i)):this.styleTween(i,J_e(i,g,a),f).on("end.style."+i,null)}function nAe(i,a,f){return function(g){this.style.setProperty(i,a.call(this,g),f)}}function rAe(i,a,f){var g,w;function v(){var b=a.apply(this,arguments);return b!==w&&(g=(w=b)&&nAe(i,b,f)),g}return v._value=a,v}function iAe(i,a,f){var g="style."+(i+="");if(arguments.length<2)return(g=this.tween(g))&&g._value;if(a==null)return this.tween(g,null);if(typeof a!="function")throw new Error;return this.tween(g,rAe(i,a,f??""))}function sAe(i){return function(){this.textContent=i}}function aAe(i){return function(){var a=i(this);this.textContent=a??""}}function oAe(i){return this.tween("text",typeof i=="function"?aAe($0t(this,"text",i)):sAe(i==null?"":i+""))}function cAe(i){return function(a){this.textContent=i.call(this,a)}}function uAe(i){var a,f;function g(){var w=i.apply(this,arguments);return w!==f&&(a=(f=w)&&cAe(w)),a}return g._value=i,g}function lAe(i){var a="text";if(arguments.length<1)return(a=this.tween(a))&&a._value;if(i==null)return this.tween(a,null);if(typeof i!="function")throw new Error;return this.tween(a,uAe(i))}function hAe(){for(var i=this._name,a=this._id,f=vNt(),g=this._groups,w=g.length,v=0;v<w;++v)for(var b=g[v],E=b.length,S,_=0;_<E;++_)if(S=b[_]){var M=zv(S,a);TW(S,i,f,_,b,{time:M.time+M.delay+M.duration,delay:0,duration:M.duration,ease:M.ease})}return new kx(g,this._parents,i,f)}function fAe(){var i,a,f=this,g=f._id,w=f.size();return new Promise(function(v,b){var E={value:b},S={value:function(){--w===0&&v()}};f.each(function(){var _=Z3(this,g),M=_.on;M!==i&&(a=(i=M).copy(),a._.cancel.push(E),a._.interrupt.push(E),a._.end.push(S)),_.on=a}),w===0&&v()})}var dAe=0;function kx(i,a,f,g){this._groups=i,this._parents=a,this._name=f,this._id=g}function vNt(){return++dAe}var Ex=JP.prototype;kx.prototype={constructor:kx,select:K_e,selectAll:W_e,selectChild:Ex.selectChild,selectChildren:Ex.selectChildren,filter:$_e,merge:z_e,selection:X_e,transition:hAe,call:Ex.call,nodes:Ex.nodes,node:Ex.node,size:Ex.size,empty:Ex.empty,each:Ex.each,on:V_e,attr:T_e,attrTween:L_e,style:eAe,styleTween:iAe,text:oAe,textTween:lAe,remove:G_e,tween:w_e,delay:I_e,duration:P_e,ease:B_e,easeVarying:j_e,end:fAe,[Symbol.iterator]:Ex[Symbol.iterator]};function gAe(i){return((i*=2)<=1?i*i*i:(i-=2)*i*i+2)/2}var pAe={time:null,delay:0,duration:250,ease:gAe};function bAe(i,a){for(var f;!(f=i.__transition)||!(f=f[a]);)if(!(i=i.parentNode))throw new Error(`transition ${a} not found`);return f}function wAe(i){var a,f;i instanceof kx?(a=i._id,i=i._name):(a=vNt(),(f=pAe).time=P0t(),i=i==null?null:i+"");for(var g=this._groups,w=g.length,v=0;v<w;++v)for(var b=g[v],E=b.length,S,_=0;_<E;++_)(S=b[_])&&TW(S,i,a,_,b,f||bAe(S,a));return new kx(g,this._parents,i,a)}JP.prototype.interrupt=g_e,JP.prototype.transition=wAe;const z0t=Math.PI,q0t=2*z0t,o9=1e-6,mAe=q0t-o9;function yNt(i){this._+=i[0];for(let a=1,f=i.length;a<f;++a)this._+=arguments[a]+i[a]}function vAe(i){let a=Math.floor(i);if(!(a>=0))throw new Error(`invalid digits: ${i}`);if(a>15)return yNt;const f=10**a;return function(g){this._+=g[0];for(let w=1,v=g.length;w<v;++w)this._+=Math.round(arguments[w]*f)/f+g[w]}}let yAe=class{constructor(a){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=a==null?yNt:vAe(a)}moveTo(a,f){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+f}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(a,f){this._append`L${this._x1=+a},${this._y1=+f}`}quadraticCurveTo(a,f,g,w){this._append`Q${+a},${+f},${this._x1=+g},${this._y1=+w}`}bezierCurveTo(a,f,g,w,v,b){this._append`C${+a},${+f},${+g},${+w},${this._x1=+v},${this._y1=+b}`}arcTo(a,f,g,w,v){if(a=+a,f=+f,g=+g,w=+w,v=+v,v<0)throw new Error(`negative radius: ${v}`);let b=this._x1,E=this._y1,S=g-a,_=w-f,M=b-a,F=E-f,R=M*M+F*F;if(this._x1===null)this._append`M${this._x1=a},${this._y1=f}`;else if(R>o9)if(!(Math.abs(F*S-_*M)>o9)||!v)this._append`L${this._x1=a},${this._y1=f}`;else{let B=g-b,z=w-E,Y=S*S+_*_,nt=B*B+z*z,ot=Math.sqrt(Y),ft=Math.sqrt(R),wt=v*Math.tan((z0t-Math.acos((Y+R-nt)/(2*ot*ft)))/2),mt=wt/ft,ct=wt/ot;Math.abs(mt-1)>o9&&this._append`L${a+mt*M},${f+mt*F}`,this._append`A${v},${v},0,0,${+(F*B>M*z)},${this._x1=a+ct*S},${this._y1=f+ct*_}`}}arc(a,f,g,w,v,b){if(a=+a,f=+f,g=+g,b=!!b,g<0)throw new Error(`negative radius: ${g}`);let E=g*Math.cos(w),S=g*Math.sin(w),_=a+E,M=f+S,F=1^b,R=b?w-v:v-w;this._x1===null?this._append`M${_},${M}`:(Math.abs(this._x1-_)>o9||Math.abs(this._y1-M)>o9)&&this._append`L${_},${M}`,g&&(R<0&&(R=R%q0t+q0t),R>mAe?this._append`A${g},${g},0,1,${F},${a-E},${f-S}A${g},${g},0,1,${F},${this._x1=_},${this._y1=M}`:R>o9&&this._append`A${g},${g},0,${+(R>=z0t)},${F},${this._x1=a+g*Math.cos(v)},${this._y1=f+g*Math.sin(v)}`)}rect(a,f,g,w){this._append`M${this._x0=this._x1=+a},${this._y0=this._y1=+f}h${g=+g}v${+w}h${-g}Z`}toString(){return this._}};function xAe(i){if(!i.ok)throw new Error(i.status+" "+i.statusText);return i.text()}function kAe(i,a){return fetch(i,a).then(xAe)}function EAe(i){return(a,f)=>kAe(a,f).then(g=>new DOMParser().parseFromString(g,i))}var TAe=EAe("image/svg+xml");function CAe(i){return Math.abs(i=Math.round(i))>=1e21?i.toLocaleString("en").replace(/,/g,""):i.toString(10)}function CW(i,a){if((f=(i=a?i.toExponential(a-1):i.toExponential()).indexOf("e"))<0)return null;var f,g=i.slice(0,f);return[g.length>1?g[0]+g.slice(2):g,+i.slice(f+1)]}function qL(i){return i=CW(Math.abs(i)),i?i[1]:NaN}function SAe(i,a){return function(f,g){for(var w=f.length,v=[],b=0,E=i[0],S=0;w>0&&E>0&&(S+E+1>g&&(E=Math.max(1,g-S)),v.push(f.substring(w-=E,w+E)),!((S+=E+1)>g));)E=i[b=(b+1)%i.length];return v.reverse().join(a)}}function _Ae(i){return function(a){return a.replace(/[0-9]/g,function(f){return i[+f]})}}var AAe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function SW(i){if(!(a=AAe.exec(i)))throw new Error("invalid format: "+i);var a;return new H0t({fill:a[1],align:a[2],sign:a[3],symbol:a[4],zero:a[5],width:a[6],comma:a[7],precision:a[8]&&a[8].slice(1),trim:a[9],type:a[10]})}SW.prototype=H0t.prototype;function H0t(i){this.fill=i.fill===void 0?" ":i.fill+"",this.align=i.align===void 0?">":i.align+"",this.sign=i.sign===void 0?"-":i.sign+"",this.symbol=i.symbol===void 0?"":i.symbol+"",this.zero=!!i.zero,this.width=i.width===void 0?void 0:+i.width,this.comma=!!i.comma,this.precision=i.precision===void 0?void 0:+i.precision,this.trim=!!i.trim,this.type=i.type===void 0?"":i.type+""}H0t.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function LAe(i){t:for(var a=i.length,f=1,g=-1,w;f<a;++f)switch(i[f]){case".":g=w=f;break;case"0":g===0&&(g=f),w=f;break;default:if(!+i[f])break t;g>0&&(g=0);break}return g>0?i.slice(0,g)+i.slice(w+1):i}var xNt;function DAe(i,a){var f=CW(i,a);if(!f)return i+"";var g=f[0],w=f[1],v=w-(xNt=Math.max(-8,Math.min(8,Math.floor(w/3)))*3)+1,b=g.length;return v===b?g:v>b?g+new Array(v-b+1).join("0"):v>0?g.slice(0,v)+"."+g.slice(v):"0."+new Array(1-v).join("0")+CW(i,Math.max(0,a+v-1))[0]}function kNt(i,a){var f=CW(i,a);if(!f)return i+"";var g=f[0],w=f[1];return w<0?"0."+new Array(-w).join("0")+g:g.length>w+1?g.slice(0,w+1)+"."+g.slice(w+1):g+new Array(w-g.length+2).join("0")}const ENt={"%":(i,a)=>(i*100).toFixed(a),b:i=>Math.round(i).toString(2),c:i=>i+"",d:CAe,e:(i,a)=>i.toExponential(a),f:(i,a)=>i.toFixed(a),g:(i,a)=>i.toPrecision(a),o:i=>Math.round(i).toString(8),p:(i,a)=>kNt(i*100,a),r:kNt,s:DAe,X:i=>Math.round(i).toString(16).toUpperCase(),x:i=>Math.round(i).toString(16)};function TNt(i){return i}var CNt=Array.prototype.map,SNt=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function MAe(i){var a=i.grouping===void 0||i.thousands===void 0?TNt:SAe(CNt.call(i.grouping,Number),i.thousands+""),f=i.currency===void 0?"":i.currency[0]+"",g=i.currency===void 0?"":i.currency[1]+"",w=i.decimal===void 0?".":i.decimal+"",v=i.numerals===void 0?TNt:_Ae(CNt.call(i.numerals,String)),b=i.percent===void 0?"%":i.percent+"",E=i.minus===void 0?"−":i.minus+"",S=i.nan===void 0?"NaN":i.nan+"";function _(F){F=SW(F);var R=F.fill,B=F.align,z=F.sign,Y=F.symbol,nt=F.zero,ot=F.width,ft=F.comma,wt=F.precision,mt=F.trim,ct=F.type;ct==="n"?(ft=!0,ct="g"):ENt[ct]||(wt===void 0&&(wt=12),mt=!0,ct="g"),(nt||R==="0"&&B==="=")&&(nt=!0,R="0",B="=");var rt=Y==="$"?f:Y==="#"&&/[boxX]/.test(ct)?"0"+ct.toLowerCase():"",it=Y==="$"?g:/[%p]/.test(ct)?b:"",gt=ENt[ct],Q=/[defgprs%]/.test(ct);wt=wt===void 0?6:/[gprs]/.test(ct)?Math.max(1,Math.min(21,wt)):Math.max(0,Math.min(20,wt));function dt(K){var yt=rt,V=it,Ot,It,jt;if(ct==="c")V=gt(K)+V,K="";else{K=+K;var xt=K<0||1/K<0;if(K=isNaN(K)?S:gt(Math.abs(K),wt),mt&&(K=LAe(K)),xt&&+K==0&&z!=="+"&&(xt=!1),yt=(xt?z==="("?z:E:z==="-"||z==="("?"":z)+yt,V=(ct==="s"?SNt[8+xNt/3]:"")+V+(xt&&z==="("?")":""),Q){for(Ot=-1,It=K.length;++Ot<It;)if(jt=K.charCodeAt(Ot),48>jt||jt>57){V=(jt===46?w+K.slice(Ot+1):K.slice(Ot))+V,K=K.slice(0,Ot);break}}}ft&&!nt&&(K=a(K,1/0));var Ft=yt.length+K.length+V.length,Ct=Ft<ot?new Array(ot-Ft+1).join(R):"";switch(ft&&nt&&(K=a(Ct+K,Ct.length?ot-V.length:1/0),Ct=""),B){case"<":K=yt+K+V+Ct;break;case"=":K=yt+Ct+K+V;break;case"^":K=Ct.slice(0,Ft=Ct.length>>1)+yt+K+V+Ct.slice(Ft);break;default:K=Ct+yt+K+V;break}return v(K)}return dt.toString=function(){return F+""},dt}function M(F,R){var B=_((F=SW(F),F.type="f",F)),z=Math.max(-8,Math.min(8,Math.floor(qL(R)/3)))*3,Y=Math.pow(10,-z),nt=SNt[8+z/3];return function(ot){return B(Y*ot)+nt}}return{format:_,formatPrefix:M}}var _W,_Nt,ANt;IAe({thousands:",",grouping:[3],currency:["$",""]});function IAe(i){return _W=MAe(i),_Nt=_W.format,ANt=_W.formatPrefix,_W}function OAe(i){return Math.max(0,-qL(Math.abs(i)))}function NAe(i,a){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(qL(a)/3)))*3-qL(Math.abs(i)))}function PAe(i,a){return i=Math.abs(i),a=Math.abs(a)-i,Math.max(0,qL(a)-qL(i))+1}function AW(i,a){switch(arguments.length){case 0:break;case 1:this.range(i);break;default:this.range(a).domain(i);break}return this}const LNt=Symbol("implicit");function oF(){var i=new xOt,a=[],f=[],g=LNt;function w(v){let b=i.get(v);if(b===void 0){if(g!==LNt)return g;i.set(v,b=a.push(v)-1)}return f[b%f.length]}return w.domain=function(v){if(!arguments.length)return a.slice();a=[],i=new xOt;for(const b of v)i.has(b)||i.set(b,a.push(b)-1);return w},w.range=function(v){return arguments.length?(f=Array.from(v),w):f.slice()},w.unknown=function(v){return arguments.length?(g=v,w):g},w.copy=function(){return oF(a,f).unknown(g)},AW.apply(w,arguments),w}function V0t(){var i=oF().unknown(void 0),a=i.domain,f=i.range,g=0,w=1,v,b,E=!1,S=0,_=0,M=.5;delete i.unknown;function F(){var R=a().length,B=w<g,z=B?w:g,Y=B?g:w;v=(Y-z)/Math.max(1,R-S+_*2),E&&(v=Math.floor(v)),z+=(Y-z-v*(R-S))*M,b=v*(1-S),E&&(z=Math.round(z),b=Math.round(b));var nt=R9e(R).map(function(ot){return z+v*ot});return f(B?nt.reverse():nt)}return i.domain=function(R){return arguments.length?(a(R),F()):a()},i.range=function(R){return arguments.length?([g,w]=R,g=+g,w=+w,F()):[g,w]},i.rangeRound=function(R){return[g,w]=R,g=+g,w=+w,E=!0,F()},i.bandwidth=function(){return b},i.step=function(){return v},i.round=function(R){return arguments.length?(E=!!R,F()):E},i.padding=function(R){return arguments.length?(S=Math.min(1,_=+R),F()):S},i.paddingInner=function(R){return arguments.length?(S=Math.min(1,R),F()):S},i.paddingOuter=function(R){return arguments.length?(_=+R,F()):_},i.align=function(R){return arguments.length?(M=Math.max(0,Math.min(1,R)),F()):M},i.copy=function(){return V0t(a(),[g,w]).round(E).paddingInner(S).paddingOuter(_).align(M)},AW.apply(F(),arguments)}function FAe(i){return function(){return i}}function BAe(i){return+i}var DNt=[0,1];function HL(i){return i}function U0t(i,a){return(a-=i=+i)?function(f){return(f-i)/a}:FAe(isNaN(a)?NaN:.5)}function RAe(i,a){var f;return i>a&&(f=i,i=a,a=f),function(g){return Math.max(i,Math.min(a,g))}}function jAe(i,a,f){var g=i[0],w=i[1],v=a[0],b=a[1];return w<g?(g=U0t(w,g),v=f(b,v)):(g=U0t(g,w),v=f(v,b)),function(E){return v(g(E))}}function $Ae(i,a,f){var g=Math.min(i.length,a.length)-1,w=new Array(g),v=new Array(g),b=-1;for(i[g]<i[0]&&(i=i.slice().reverse(),a=a.slice().reverse());++b<g;)w[b]=U0t(i[b],i[b+1]),v[b]=f(a[b],a[b+1]);return function(E){var S=A9e(i,E,1,g)-1;return v[S](w[S](E))}}function MNt(i,a){return a.domain(i.domain()).range(i.range()).interpolate(i.interpolate()).clamp(i.clamp()).unknown(i.unknown())}function zAe(){var i=DNt,a=DNt,f=O0t,g,w,v,b=HL,E,S,_;function M(){var R=Math.min(i.length,a.length);return b!==HL&&(b=RAe(i[0],i[R-1])),E=R>2?$Ae:jAe,S=_=null,F}function F(R){return R==null||isNaN(R=+R)?v:(S||(S=E(i.map(g),a,f)))(g(b(R)))}return F.invert=function(R){return b(w((_||(_=E(a,i.map(g),$v)))(R)))},F.domain=function(R){return arguments.length?(i=Array.from(R,BAe),M()):i.slice()},F.range=function(R){return arguments.length?(a=Array.from(R),M()):a.slice()},F.rangeRound=function(R){return a=Array.from(R),f=ZSe,M()},F.clamp=function(R){return arguments.length?(b=R?!0:HL,M()):b!==HL},F.interpolate=function(R){return arguments.length?(f=R,M()):f},F.unknown=function(R){return arguments.length?(v=R,F):v},function(R,B){return g=R,w=B,M()}}function INt(){return zAe()(HL,HL)}function qAe(i,a,f,g){var w=w0t(i,a,f),v;switch(g=SW(g??",f"),g.type){case"s":{var b=Math.max(Math.abs(i),Math.abs(a));return g.precision==null&&!isNaN(v=NAe(w,b))&&(g.precision=v),ANt(g,b)}case"":case"e":case"g":case"p":case"r":{g.precision==null&&!isNaN(v=PAe(w,Math.max(Math.abs(i),Math.abs(a))))&&(g.precision=v-(g.type==="e"));break}case"f":case"%":{g.precision==null&&!isNaN(v=OAe(w))&&(g.precision=v-(g.type==="%")*2);break}}return _Nt(g)}function HAe(i){var a=i.domain;return i.ticks=function(f){var g=a();return P9e(g[0],g[g.length-1],f??10)},i.tickFormat=function(f,g){var w=a();return qAe(w[0],w[w.length-1],f??10,g)},i.nice=function(f){f==null&&(f=10);var g=a(),w=0,v=g.length-1,b=g[w],E=g[v],S,_,M=10;for(E<b&&(_=b,b=E,E=_,_=w,w=v,v=_);M-- >0;){if(_=b0t(b,E,f),_===S)return g[w]=b,g[v]=E,a(g);if(_>0)b=Math.floor(b/_)*_,E=Math.ceil(E/_)*_;else if(_<0)b=Math.ceil(b*_)/_,E=Math.floor(E*_)/_;else break;S=_}return i},i}function VL(){var i=INt();return i.copy=function(){return MNt(i,VL())},AW.apply(i,arguments),HAe(i)}function VAe(i,a){i=i.slice();var f=0,g=i.length-1,w=i[f],v=i[g],b;return v<w&&(b=f,f=g,g=b,b=w,w=v,v=b),i[f]=a.floor(w),i[g]=a.ceil(v),i}const G0t=new Date,K0t=new Date;function R1(i,a,f,g){function w(v){return i(v=arguments.length===0?new Date:new Date(+v)),v}return w.floor=v=>(i(v=new Date(+v)),v),w.ceil=v=>(i(v=new Date(v-1)),a(v,1),i(v),v),w.round=v=>{const b=w(v),E=w.ceil(v);return v-b<E-v?b:E},w.offset=(v,b)=>(a(v=new Date(+v),b==null?1:Math.floor(b)),v),w.range=(v,b,E)=>{const S=[];if(v=w.ceil(v),E=E==null?1:Math.floor(E),!(v<b)||!(E>0))return S;let _;do S.push(_=new Date(+v)),a(v,E),i(v);while(_<v&&v<b);return S},w.filter=v=>R1(b=>{if(b>=b)for(;i(b),!v(b);)b.setTime(b-1)},(b,E)=>{if(b>=b)if(E<0)for(;++E<=0;)for(;a(b,-1),!v(b););else for(;--E>=0;)for(;a(b,1),!v(b););}),f&&(w.count=(v,b)=>(G0t.setTime(+v),K0t.setTime(+b),i(G0t),i(K0t),Math.floor(f(G0t,K0t))),w.every=v=>(v=Math.floor(v),!isFinite(v)||!(v>0)?null:v>1?w.filter(g?b=>g(b)%v===0:b=>w.count(0,b)%v===0):w)),w}const UL=R1(()=>{},(i,a)=>{i.setTime(+i+a)},(i,a)=>a-i);UL.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?R1(a=>{a.setTime(Math.floor(a/i)*i)},(a,f)=>{a.setTime(+a+f*i)},(a,f)=>(f-a)/i):UL),UL.range;const Tx=1e3,Kw=Tx*60,Cx=Kw*60,Sx=Cx*24,W0t=Sx*7,ONt=Sx*30,Y0t=Sx*365,f8=R1(i=>{i.setTime(i-i.getMilliseconds())},(i,a)=>{i.setTime(+i+a*Tx)},(i,a)=>(a-i)/Tx,i=>i.getUTCSeconds());f8.range;const cF=R1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*Tx)},(i,a)=>{i.setTime(+i+a*Kw)},(i,a)=>(a-i)/Kw,i=>i.getMinutes());cF.range,R1(i=>{i.setUTCSeconds(0,0)},(i,a)=>{i.setTime(+i+a*Kw)},(i,a)=>(a-i)/Kw,i=>i.getUTCMinutes()).range;const uF=R1(i=>{i.setTime(i-i.getMilliseconds()-i.getSeconds()*Tx-i.getMinutes()*Kw)},(i,a)=>{i.setTime(+i+a*Cx)},(i,a)=>(a-i)/Cx,i=>i.getHours());uF.range,R1(i=>{i.setUTCMinutes(0,0,0)},(i,a)=>{i.setTime(+i+a*Cx)},(i,a)=>(a-i)/Cx,i=>i.getUTCHours()).range;const c9=R1(i=>i.setHours(0,0,0,0),(i,a)=>i.setDate(i.getDate()+a),(i,a)=>(a-i-(a.getTimezoneOffset()-i.getTimezoneOffset())*Kw)/Sx,i=>i.getDate()-1);c9.range;const X0t=R1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/Sx,i=>i.getUTCDate()-1);X0t.range,R1(i=>{i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCDate(i.getUTCDate()+a)},(i,a)=>(a-i)/Sx,i=>Math.floor(i/Sx)).range;function u9(i){return R1(a=>{a.setDate(a.getDate()-(a.getDay()+7-i)%7),a.setHours(0,0,0,0)},(a,f)=>{a.setDate(a.getDate()+f*7)},(a,f)=>(f-a-(f.getTimezoneOffset()-a.getTimezoneOffset())*Kw)/W0t)}const lF=u9(0),hF=u9(1),NNt=u9(2),PNt=u9(3),l9=u9(4),FNt=u9(5),BNt=u9(6);lF.range,hF.range,NNt.range,PNt.range,l9.range,FNt.range,BNt.range;function h9(i){return R1(a=>{a.setUTCDate(a.getUTCDate()-(a.getUTCDay()+7-i)%7),a.setUTCHours(0,0,0,0)},(a,f)=>{a.setUTCDate(a.getUTCDate()+f*7)},(a,f)=>(f-a)/W0t)}const RNt=h9(0),LW=h9(1),UAe=h9(2),GAe=h9(3),GL=h9(4),KAe=h9(5),WAe=h9(6);RNt.range,LW.range,UAe.range,GAe.range,GL.range,KAe.range,WAe.range;const fF=R1(i=>{i.setDate(1),i.setHours(0,0,0,0)},(i,a)=>{i.setMonth(i.getMonth()+a)},(i,a)=>a.getMonth()-i.getMonth()+(a.getFullYear()-i.getFullYear())*12,i=>i.getMonth());fF.range,R1(i=>{i.setUTCDate(1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCMonth(i.getUTCMonth()+a)},(i,a)=>a.getUTCMonth()-i.getUTCMonth()+(a.getUTCFullYear()-i.getUTCFullYear())*12,i=>i.getUTCMonth()).range;const _x=R1(i=>{i.setMonth(0,1),i.setHours(0,0,0,0)},(i,a)=>{i.setFullYear(i.getFullYear()+a)},(i,a)=>a.getFullYear()-i.getFullYear(),i=>i.getFullYear());_x.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:R1(a=>{a.setFullYear(Math.floor(a.getFullYear()/i)*i),a.setMonth(0,1),a.setHours(0,0,0,0)},(a,f)=>{a.setFullYear(a.getFullYear()+f*i)}),_x.range;const f9=R1(i=>{i.setUTCMonth(0,1),i.setUTCHours(0,0,0,0)},(i,a)=>{i.setUTCFullYear(i.getUTCFullYear()+a)},(i,a)=>a.getUTCFullYear()-i.getUTCFullYear(),i=>i.getUTCFullYear());f9.every=i=>!isFinite(i=Math.floor(i))||!(i>0)?null:R1(a=>{a.setUTCFullYear(Math.floor(a.getUTCFullYear()/i)*i),a.setUTCMonth(0,1),a.setUTCHours(0,0,0,0)},(a,f)=>{a.setUTCFullYear(a.getUTCFullYear()+f*i)}),f9.range;function YAe(i,a,f,g,w,v){const b=[[f8,1,Tx],[f8,5,5*Tx],[f8,15,15*Tx],[f8,30,30*Tx],[v,1,Kw],[v,5,5*Kw],[v,15,15*Kw],[v,30,30*Kw],[w,1,Cx],[w,3,3*Cx],[w,6,6*Cx],[w,12,12*Cx],[g,1,Sx],[g,2,2*Sx],[f,1,W0t],[a,1,ONt],[a,3,3*ONt],[i,1,Y0t]];function E(_,M,F){const R=M<_;R&&([_,M]=[M,_]);const B=F&&typeof F.range=="function"?F:S(_,M,F),z=B?B.range(_,+M+1):[];return R?z.reverse():z}function S(_,M,F){const R=Math.abs(M-_)/F,B=p0t(([,,nt])=>nt).right(b,R);if(B===b.length)return i.every(w0t(_/Y0t,M/Y0t,F));if(B===0)return UL.every(Math.max(w0t(_,M,F),1));const[z,Y]=b[R/b[B-1][2]<b[B][2]/R?B-1:B];return z.every(Y)}return[E,S]}const[XAe,QAe]=YAe(_x,fF,lF,c9,uF,cF);function Q0t(i){if(0<=i.y&&i.y<100){var a=new Date(-1,i.m,i.d,i.H,i.M,i.S,i.L);return a.setFullYear(i.y),a}return new Date(i.y,i.m,i.d,i.H,i.M,i.S,i.L)}function J0t(i){if(0<=i.y&&i.y<100){var a=new Date(Date.UTC(-1,i.m,i.d,i.H,i.M,i.S,i.L));return a.setUTCFullYear(i.y),a}return new Date(Date.UTC(i.y,i.m,i.d,i.H,i.M,i.S,i.L))}function dF(i,a,f){return{y:i,m:a,d:f,H:0,M:0,S:0,L:0}}function JAe(i){var a=i.dateTime,f=i.date,g=i.time,w=i.periods,v=i.days,b=i.shortDays,E=i.months,S=i.shortMonths,_=gF(w),M=pF(w),F=gF(v),R=pF(v),B=gF(b),z=pF(b),Y=gF(E),nt=pF(E),ot=gF(S),ft=pF(S),wt={a:xt,A:Ft,b:Ct,B:kt,c:null,d:VNt,e:VNt,f:xLe,g:MLe,G:OLe,H:mLe,I:vLe,j:yLe,L:UNt,m:kLe,M:ELe,p:Gt,q:Fe,Q:QNt,s:JNt,S:TLe,u:CLe,U:SLe,V:_Le,w:ALe,W:LLe,x:null,X:null,y:DLe,Y:ILe,Z:NLe,"%":XNt},mt={a:Mt,A:pn,b:Ae,B:ye,c:null,d:KNt,e:KNt,f:RLe,g:WLe,G:XLe,H:PLe,I:FLe,j:BLe,L:WNt,m:jLe,M:$Le,p:tn,q:sn,Q:QNt,s:JNt,S:zLe,u:qLe,U:HLe,V:VLe,w:ULe,W:GLe,x:null,X:null,y:KLe,Y:YLe,Z:QLe,"%":XNt},ct={a:dt,A:K,b:yt,B:V,c:Ot,d:qNt,e:qNt,f:gLe,g:zNt,G:$Nt,H:HNt,I:HNt,j:lLe,L:dLe,m:uLe,M:hLe,p:Q,q:cLe,Q:bLe,s:wLe,S:fLe,u:rLe,U:iLe,V:sLe,w:nLe,W:aLe,x:It,X:jt,y:zNt,Y:$Nt,Z:oLe,"%":pLe};wt.x=rt(f,wt),wt.X=rt(g,wt),wt.c=rt(a,wt),mt.x=rt(f,mt),mt.X=rt(g,mt),mt.c=rt(a,mt);function rt(be,Ne){return function(Xt){var _e=[],xe=-1,Mn=0,ce=be.length,Br,we,Fi;for(Xt instanceof Date||(Xt=new Date(+Xt));++xe<ce;)be.charCodeAt(xe)===37&&(_e.push(be.slice(Mn,xe)),(we=jNt[Br=be.charAt(++xe)])!=null?Br=be.charAt(++xe):we=Br==="e"?" ":"0",(Fi=Ne[Br])&&(Br=Fi(Xt,we)),_e.push(Br),Mn=xe+1);return _e.push(be.slice(Mn,xe)),_e.join("")}}function it(be,Ne){return function(Xt){var _e=dF(1900,void 0,1),xe=gt(_e,be,Xt+="",0),Mn,ce;if(xe!=Xt.length)return null;if("Q"in _e)return new Date(_e.Q);if("s"in _e)return new Date(_e.s*1e3+("L"in _e?_e.L:0));if(Ne&&!("Z"in _e)&&(_e.Z=0),"p"in _e&&(_e.H=_e.H%12+_e.p*12),_e.m===void 0&&(_e.m="q"in _e?_e.q:0),"V"in _e){if(_e.V<1||_e.V>53)return null;"w"in _e||(_e.w=1),"Z"in _e?(Mn=J0t(dF(_e.y,0,1)),ce=Mn.getUTCDay(),Mn=ce>4||ce===0?LW.ceil(Mn):LW(Mn),Mn=X0t.offset(Mn,(_e.V-1)*7),_e.y=Mn.getUTCFullYear(),_e.m=Mn.getUTCMonth(),_e.d=Mn.getUTCDate()+(_e.w+6)%7):(Mn=Q0t(dF(_e.y,0,1)),ce=Mn.getDay(),Mn=ce>4||ce===0?hF.ceil(Mn):hF(Mn),Mn=c9.offset(Mn,(_e.V-1)*7),_e.y=Mn.getFullYear(),_e.m=Mn.getMonth(),_e.d=Mn.getDate()+(_e.w+6)%7)}else("W"in _e||"U"in _e)&&("w"in _e||(_e.w="u"in _e?_e.u%7:"W"in _e?1:0),ce="Z"in _e?J0t(dF(_e.y,0,1)).getUTCDay():Q0t(dF(_e.y,0,1)).getDay(),_e.m=0,_e.d="W"in _e?(_e.w+6)%7+_e.W*7-(ce+5)%7:_e.w+_e.U*7-(ce+6)%7);return"Z"in _e?(_e.H+=_e.Z/100|0,_e.M+=_e.Z%100,J0t(_e)):Q0t(_e)}}function gt(be,Ne,Xt,_e){for(var xe=0,Mn=Ne.length,ce=Xt.length,Br,we;xe<Mn;){if(_e>=ce)return-1;if(Br=Ne.charCodeAt(xe++),Br===37){if(Br=Ne.charAt(xe++),we=ct[Br in jNt?Ne.charAt(xe++):Br],!we||(_e=we(be,Xt,_e))<0)return-1}else if(Br!=Xt.charCodeAt(_e++))return-1}return _e}function Q(be,Ne,Xt){var _e=_.exec(Ne.slice(Xt));return _e?(be.p=M.get(_e[0].toLowerCase()),Xt+_e[0].length):-1}function dt(be,Ne,Xt){var _e=B.exec(Ne.slice(Xt));return _e?(be.w=z.get(_e[0].toLowerCase()),Xt+_e[0].length):-1}function K(be,Ne,Xt){var _e=F.exec(Ne.slice(Xt));return _e?(be.w=R.get(_e[0].toLowerCase()),Xt+_e[0].length):-1}function yt(be,Ne,Xt){var _e=ot.exec(Ne.slice(Xt));return _e?(be.m=ft.get(_e[0].toLowerCase()),Xt+_e[0].length):-1}function V(be,Ne,Xt){var _e=Y.exec(Ne.slice(Xt));return _e?(be.m=nt.get(_e[0].toLowerCase()),Xt+_e[0].length):-1}function Ot(be,Ne,Xt){return gt(be,a,Ne,Xt)}function It(be,Ne,Xt){return gt(be,f,Ne,Xt)}function jt(be,Ne,Xt){return gt(be,g,Ne,Xt)}function xt(be){return b[be.getDay()]}function Ft(be){return v[be.getDay()]}function Ct(be){return S[be.getMonth()]}function kt(be){return E[be.getMonth()]}function Gt(be){return w[+(be.getHours()>=12)]}function Fe(be){return 1+~~(be.getMonth()/3)}function Mt(be){return b[be.getUTCDay()]}function pn(be){return v[be.getUTCDay()]}function Ae(be){return S[be.getUTCMonth()]}function ye(be){return E[be.getUTCMonth()]}function tn(be){return w[+(be.getUTCHours()>=12)]}function sn(be){return 1+~~(be.getUTCMonth()/3)}return{format:function(be){var Ne=rt(be+="",wt);return Ne.toString=function(){return be},Ne},parse:function(be){var Ne=it(be+="",!1);return Ne.toString=function(){return be},Ne},utcFormat:function(be){var Ne=rt(be+="",mt);return Ne.toString=function(){return be},Ne},utcParse:function(be){var Ne=it(be+="",!0);return Ne.toString=function(){return be},Ne}}}var jNt={"-":"",_:" ",0:"0"},Ad=/^\s*\d+/,ZAe=/^%/,tLe=/[\\^$*+?|[\]().{}]/g;function Jc(i,a,f){var g=i<0?"-":"",w=(g?-i:i)+"",v=w.length;return g+(v<f?new Array(f-v+1).join(a)+w:w)}function eLe(i){return i.replace(tLe,"\\$&")}function gF(i){return new RegExp("^(?:"+i.map(eLe).join("|")+")","i")}function pF(i){return new Map(i.map((a,f)=>[a.toLowerCase(),f]))}function nLe(i,a,f){var g=Ad.exec(a.slice(f,f+1));return g?(i.w=+g[0],f+g[0].length):-1}function rLe(i,a,f){var g=Ad.exec(a.slice(f,f+1));return g?(i.u=+g[0],f+g[0].length):-1}function iLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.U=+g[0],f+g[0].length):-1}function sLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.V=+g[0],f+g[0].length):-1}function aLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.W=+g[0],f+g[0].length):-1}function $Nt(i,a,f){var g=Ad.exec(a.slice(f,f+4));return g?(i.y=+g[0],f+g[0].length):-1}function zNt(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.y=+g[0]+(+g[0]>68?1900:2e3),f+g[0].length):-1}function oLe(i,a,f){var g=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(a.slice(f,f+6));return g?(i.Z=g[1]?0:-(g[2]+(g[3]||"00")),f+g[0].length):-1}function cLe(i,a,f){var g=Ad.exec(a.slice(f,f+1));return g?(i.q=g[0]*3-3,f+g[0].length):-1}function uLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.m=g[0]-1,f+g[0].length):-1}function qNt(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.d=+g[0],f+g[0].length):-1}function lLe(i,a,f){var g=Ad.exec(a.slice(f,f+3));return g?(i.m=0,i.d=+g[0],f+g[0].length):-1}function HNt(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.H=+g[0],f+g[0].length):-1}function hLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.M=+g[0],f+g[0].length):-1}function fLe(i,a,f){var g=Ad.exec(a.slice(f,f+2));return g?(i.S=+g[0],f+g[0].length):-1}function dLe(i,a,f){var g=Ad.exec(a.slice(f,f+3));return g?(i.L=+g[0],f+g[0].length):-1}function gLe(i,a,f){var g=Ad.exec(a.slice(f,f+6));return g?(i.L=Math.floor(g[0]/1e3),f+g[0].length):-1}function pLe(i,a,f){var g=ZAe.exec(a.slice(f,f+1));return g?f+g[0].length:-1}function bLe(i,a,f){var g=Ad.exec(a.slice(f));return g?(i.Q=+g[0],f+g[0].length):-1}function wLe(i,a,f){var g=Ad.exec(a.slice(f));return g?(i.s=+g[0],f+g[0].length):-1}function VNt(i,a){return Jc(i.getDate(),a,2)}function mLe(i,a){return Jc(i.getHours(),a,2)}function vLe(i,a){return Jc(i.getHours()%12||12,a,2)}function yLe(i,a){return Jc(1+c9.count(_x(i),i),a,3)}function UNt(i,a){return Jc(i.getMilliseconds(),a,3)}function xLe(i,a){return UNt(i,a)+"000"}function kLe(i,a){return Jc(i.getMonth()+1,a,2)}function ELe(i,a){return Jc(i.getMinutes(),a,2)}function TLe(i,a){return Jc(i.getSeconds(),a,2)}function CLe(i){var a=i.getDay();return a===0?7:a}function SLe(i,a){return Jc(lF.count(_x(i)-1,i),a,2)}function GNt(i){var a=i.getDay();return a>=4||a===0?l9(i):l9.ceil(i)}function _Le(i,a){return i=GNt(i),Jc(l9.count(_x(i),i)+(_x(i).getDay()===4),a,2)}function ALe(i){return i.getDay()}function LLe(i,a){return Jc(hF.count(_x(i)-1,i),a,2)}function DLe(i,a){return Jc(i.getFullYear()%100,a,2)}function MLe(i,a){return i=GNt(i),Jc(i.getFullYear()%100,a,2)}function ILe(i,a){return Jc(i.getFullYear()%1e4,a,4)}function OLe(i,a){var f=i.getDay();return i=f>=4||f===0?l9(i):l9.ceil(i),Jc(i.getFullYear()%1e4,a,4)}function NLe(i){var a=i.getTimezoneOffset();return(a>0?"-":(a*=-1,"+"))+Jc(a/60|0,"0",2)+Jc(a%60,"0",2)}function KNt(i,a){return Jc(i.getUTCDate(),a,2)}function PLe(i,a){return Jc(i.getUTCHours(),a,2)}function FLe(i,a){return Jc(i.getUTCHours()%12||12,a,2)}function BLe(i,a){return Jc(1+X0t.count(f9(i),i),a,3)}function WNt(i,a){return Jc(i.getUTCMilliseconds(),a,3)}function RLe(i,a){return WNt(i,a)+"000"}function jLe(i,a){return Jc(i.getUTCMonth()+1,a,2)}function $Le(i,a){return Jc(i.getUTCMinutes(),a,2)}function zLe(i,a){return Jc(i.getUTCSeconds(),a,2)}function qLe(i){var a=i.getUTCDay();return a===0?7:a}function HLe(i,a){return Jc(RNt.count(f9(i)-1,i),a,2)}function YNt(i){var a=i.getUTCDay();return a>=4||a===0?GL(i):GL.ceil(i)}function VLe(i,a){return i=YNt(i),Jc(GL.count(f9(i),i)+(f9(i).getUTCDay()===4),a,2)}function ULe(i){return i.getUTCDay()}function GLe(i,a){return Jc(LW.count(f9(i)-1,i),a,2)}function KLe(i,a){return Jc(i.getUTCFullYear()%100,a,2)}function WLe(i,a){return i=YNt(i),Jc(i.getUTCFullYear()%100,a,2)}function YLe(i,a){return Jc(i.getUTCFullYear()%1e4,a,4)}function XLe(i,a){var f=i.getUTCDay();return i=f>=4||f===0?GL(i):GL.ceil(i),Jc(i.getUTCFullYear()%1e4,a,4)}function QLe(){return"+0000"}function XNt(){return"%"}function QNt(i){return+i}function JNt(i){return Math.floor(+i/1e3)}var KL,DW;JLe({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function JLe(i){return KL=JAe(i),DW=KL.format,KL.parse,KL.utcFormat,KL.utcParse,KL}function ZLe(i){return new Date(i)}function tDe(i){return i instanceof Date?+i:+new Date(+i)}function ZNt(i,a,f,g,w,v,b,E,S,_){var M=INt(),F=M.invert,R=M.domain,B=_(".%L"),z=_(":%S"),Y=_("%I:%M"),nt=_("%I %p"),ot=_("%a %d"),ft=_("%b %d"),wt=_("%B"),mt=_("%Y");function ct(rt){return(S(rt)<rt?B:E(rt)<rt?z:b(rt)<rt?Y:v(rt)<rt?nt:g(rt)<rt?w(rt)<rt?ot:ft:f(rt)<rt?wt:mt)(rt)}return M.invert=function(rt){return new Date(F(rt))},M.domain=function(rt){return arguments.length?R(Array.from(rt,tDe)):R().map(ZLe)},M.ticks=function(rt){var it=R();return i(it[0],it[it.length-1],rt??10)},M.tickFormat=function(rt,it){return it==null?ct:_(it)},M.nice=function(rt){var it=R();return(!rt||typeof rt.range!="function")&&(rt=a(it[0],it[it.length-1],rt??10)),rt?R(VAe(it,rt)):M},M.copy=function(){return MNt(M,ZNt(i,a,f,g,w,v,b,E,S,_))},M}function eDe(){return AW.apply(ZNt(XAe,QAe,_x,fF,lF,c9,uF,cF,f8,DW).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function nDe(i){for(var a=i.length/6|0,f=new Array(a),g=0;g<a;)f[g]="#"+i.slice(g*6,++g*6);return f}const tPt=nDe("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function kf(i){return function(){return i}}const ePt=Math.abs,ng=Math.atan2,d9=Math.cos,rDe=Math.max,Z0t=Math.min,t4=Math.sin,WL=Math.sqrt,rg=1e-12,bF=Math.PI,MW=bF/2,IW=2*bF;function iDe(i){return i>1?0:i<-1?bF:Math.acos(i)}function nPt(i){return i>=1?MW:i<=-1?-MW:Math.asin(i)}function rPt(i){let a=3;return i.digits=function(f){if(!arguments.length)return a;if(f==null)a=null;else{const g=Math.floor(f);if(!(g>=0))throw new RangeError(`invalid digits: ${f}`);a=g}return i},()=>new yAe(a)}function sDe(i){return i.innerRadius}function aDe(i){return i.outerRadius}function oDe(i){return i.startAngle}function cDe(i){return i.endAngle}function uDe(i){return i&&i.padAngle}function lDe(i,a,f,g,w,v,b,E){var S=f-i,_=g-a,M=b-w,F=E-v,R=F*S-M*_;if(!(R*R<rg))return R=(M*(a-v)-F*(i-w))/R,[i+R*S,a+R*_]}function OW(i,a,f,g,w,v,b){var E=i-f,S=a-g,_=(b?v:-v)/WL(E*E+S*S),M=_*S,F=-_*E,R=i+M,B=a+F,z=f+M,Y=g+F,nt=(R+z)/2,ot=(B+Y)/2,ft=z-R,wt=Y-B,mt=ft*ft+wt*wt,ct=w-v,rt=R*Y-z*B,it=(wt<0?-1:1)*WL(rDe(0,ct*ct*mt-rt*rt)),gt=(rt*wt-ft*it)/mt,Q=(-rt*ft-wt*it)/mt,dt=(rt*wt+ft*it)/mt,K=(-rt*ft+wt*it)/mt,yt=gt-nt,V=Q-ot,Ot=dt-nt,It=K-ot;return yt*yt+V*V>Ot*Ot+It*It&&(gt=dt,Q=K),{cx:gt,cy:Q,x01:-M,y01:-F,x11:gt*(w/ct-1),y11:Q*(w/ct-1)}}function YL(){var i=sDe,a=aDe,f=kf(0),g=null,w=oDe,v=cDe,b=uDe,E=null,S=rPt(_);function _(){var M,F,R=+i.apply(this,arguments),B=+a.apply(this,arguments),z=w.apply(this,arguments)-MW,Y=v.apply(this,arguments)-MW,nt=ePt(Y-z),ot=Y>z;if(E||(E=M=S()),B<R&&(F=B,B=R,R=F),!(B>rg))E.moveTo(0,0);else if(nt>IW-rg)E.moveTo(B*d9(z),B*t4(z)),E.arc(0,0,B,z,Y,!ot),R>rg&&(E.moveTo(R*d9(Y),R*t4(Y)),E.arc(0,0,R,Y,z,ot));else{var ft=z,wt=Y,mt=z,ct=Y,rt=nt,it=nt,gt=b.apply(this,arguments)/2,Q=gt>rg&&(g?+g.apply(this,arguments):WL(R*R+B*B)),dt=Z0t(ePt(B-R)/2,+f.apply(this,arguments)),K=dt,yt=dt,V,Ot;if(Q>rg){var It=nPt(Q/R*t4(gt)),jt=nPt(Q/B*t4(gt));(rt-=It*2)>rg?(It*=ot?1:-1,mt+=It,ct-=It):(rt=0,mt=ct=(z+Y)/2),(it-=jt*2)>rg?(jt*=ot?1:-1,ft+=jt,wt-=jt):(it=0,ft=wt=(z+Y)/2)}var xt=B*d9(ft),Ft=B*t4(ft),Ct=R*d9(ct),kt=R*t4(ct);if(dt>rg){var Gt=B*d9(wt),Fe=B*t4(wt),Mt=R*d9(mt),pn=R*t4(mt),Ae;if(nt<bF)if(Ae=lDe(xt,Ft,Mt,pn,Gt,Fe,Ct,kt)){var ye=xt-Ae[0],tn=Ft-Ae[1],sn=Gt-Ae[0],be=Fe-Ae[1],Ne=1/t4(iDe((ye*sn+tn*be)/(WL(ye*ye+tn*tn)*WL(sn*sn+be*be)))/2),Xt=WL(Ae[0]*Ae[0]+Ae[1]*Ae[1]);K=Z0t(dt,(R-Xt)/(Ne-1)),yt=Z0t(dt,(B-Xt)/(Ne+1))}else K=yt=0}it>rg?yt>rg?(V=OW(Mt,pn,xt,Ft,B,yt,ot),Ot=OW(Gt,Fe,Ct,kt,B,yt,ot),E.moveTo(V.cx+V.x01,V.cy+V.y01),yt<dt?E.arc(V.cx,V.cy,yt,ng(V.y01,V.x01),ng(Ot.y01,Ot.x01),!ot):(E.arc(V.cx,V.cy,yt,ng(V.y01,V.x01),ng(V.y11,V.x11),!ot),E.arc(0,0,B,ng(V.cy+V.y11,V.cx+V.x11),ng(Ot.cy+Ot.y11,Ot.cx+Ot.x11),!ot),E.arc(Ot.cx,Ot.cy,yt,ng(Ot.y11,Ot.x11),ng(Ot.y01,Ot.x01),!ot))):(E.moveTo(xt,Ft),E.arc(0,0,B,ft,wt,!ot)):E.moveTo(xt,Ft),!(R>rg)||!(rt>rg)?E.lineTo(Ct,kt):K>rg?(V=OW(Ct,kt,Gt,Fe,R,-K,ot),Ot=OW(xt,Ft,Mt,pn,R,-K,ot),E.lineTo(V.cx+V.x01,V.cy+V.y01),K<dt?E.arc(V.cx,V.cy,K,ng(V.y01,V.x01),ng(Ot.y01,Ot.x01),!ot):(E.arc(V.cx,V.cy,K,ng(V.y01,V.x01),ng(V.y11,V.x11),!ot),E.arc(0,0,R,ng(V.cy+V.y11,V.cx+V.x11),ng(Ot.cy+Ot.y11,Ot.cx+Ot.x11),ot),E.arc(Ot.cx,Ot.cy,K,ng(Ot.y11,Ot.x11),ng(Ot.y01,Ot.x01),!ot))):E.arc(0,0,R,ct,mt,ot)}if(E.closePath(),M)return E=null,M+""||null}return _.centroid=function(){var M=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2,F=(+w.apply(this,arguments)+ +v.apply(this,arguments))/2-bF/2;return[d9(F)*M,t4(F)*M]},_.innerRadius=function(M){return arguments.length?(i=typeof M=="function"?M:kf(+M),_):i},_.outerRadius=function(M){return arguments.length?(a=typeof M=="function"?M:kf(+M),_):a},_.cornerRadius=function(M){return arguments.length?(f=typeof M=="function"?M:kf(+M),_):f},_.padRadius=function(M){return arguments.length?(g=M==null?null:typeof M=="function"?M:kf(+M),_):g},_.startAngle=function(M){return arguments.length?(w=typeof M=="function"?M:kf(+M),_):w},_.endAngle=function(M){return arguments.length?(v=typeof M=="function"?M:kf(+M),_):v},_.padAngle=function(M){return arguments.length?(b=typeof M=="function"?M:kf(+M),_):b},_.context=function(M){return arguments.length?(E=M??null,_):E},_}function iPt(i){return typeof i=="object"&&"length"in i?i:Array.from(i)}function sPt(i){this._context=i}sPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;default:this._context.lineTo(i,a);break}}};function Kg(i){return new sPt(i)}function hDe(i){return i[0]}function fDe(i){return i[1]}function Ax(i,a){var f=kf(!0),g=null,w=Kg,v=null,b=rPt(E);i=typeof i=="function"?i:i===void 0?hDe:kf(i),a=typeof a=="function"?a:a===void 0?fDe:kf(a);function E(S){var _,M=(S=iPt(S)).length,F,R=!1,B;for(g==null&&(v=w(B=b())),_=0;_<=M;++_)!(_<M&&f(F=S[_],_,S))===R&&((R=!R)?v.lineStart():v.lineEnd()),R&&v.point(+i(F,_,S),+a(F,_,S));if(B)return v=null,B+""||null}return E.x=function(S){return arguments.length?(i=typeof S=="function"?S:kf(+S),E):i},E.y=function(S){return arguments.length?(a=typeof S=="function"?S:kf(+S),E):a},E.defined=function(S){return arguments.length?(f=typeof S=="function"?S:kf(!!S),E):f},E.curve=function(S){return arguments.length?(w=S,g!=null&&(v=w(g)),E):w},E.context=function(S){return arguments.length?(S==null?g=v=null:v=w(g=S),E):g},E}function dDe(i,a){return a<i?-1:a>i?1:a>=i?0:NaN}function gDe(i){return i}function pDe(){var i=gDe,a=dDe,f=null,g=kf(0),w=kf(IW),v=kf(0);function b(E){var S,_=(E=iPt(E)).length,M,F,R=0,B=new Array(_),z=new Array(_),Y=+g.apply(this,arguments),nt=Math.min(IW,Math.max(-IW,w.apply(this,arguments)-Y)),ot,ft=Math.min(Math.abs(nt)/_,v.apply(this,arguments)),wt=ft*(nt<0?-1:1),mt;for(S=0;S<_;++S)(mt=z[B[S]=S]=+i(E[S],S,E))>0&&(R+=mt);for(a!=null?B.sort(function(ct,rt){return a(z[ct],z[rt])}):f!=null&&B.sort(function(ct,rt){return f(E[ct],E[rt])}),S=0,F=R?(nt-_*wt)/R:0;S<_;++S,Y=ot)M=B[S],mt=z[M],ot=Y+(mt>0?mt*F:0)+wt,z[M]={data:E[M],index:S,value:mt,startAngle:Y,endAngle:ot,padAngle:ft};return z}return b.value=function(E){return arguments.length?(i=typeof E=="function"?E:kf(+E),b):i},b.sortValues=function(E){return arguments.length?(a=E,f=null,b):a},b.sort=function(E){return arguments.length?(f=E,a=null,b):f},b.startAngle=function(E){return arguments.length?(g=typeof E=="function"?E:kf(+E),b):g},b.endAngle=function(E){return arguments.length?(w=typeof E=="function"?E:kf(+E),b):w},b.padAngle=function(E){return arguments.length?(v=typeof E=="function"?E:kf(+E),b):v},b}class aPt{constructor(a,f){this._context=a,this._x=f}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(a,f){switch(a=+a,f=+f,this._point){case 0:{this._point=1,this._line?this._context.lineTo(a,f):this._context.moveTo(a,f);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+a)/2,this._y0,this._x0,f,a,f):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+f)/2,a,this._y0,a,f);break}}this._x0=a,this._y0=f}}function bDe(i){return new aPt(i,!0)}function wDe(i){return new aPt(i,!1)}function d8(){}function NW(i,a,f){i._context.bezierCurveTo((2*i._x0+i._x1)/3,(2*i._y0+i._y1)/3,(i._x0+2*i._x1)/3,(i._y0+2*i._y1)/3,(i._x0+4*i._x1+a)/6,(i._y0+4*i._y1+f)/6)}function PW(i){this._context=i}PW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:NW(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:NW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function wF(i){return new PW(i)}function oPt(i){this._context=i}oPt.prototype={areaStart:d8,areaEnd:d8,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x2=i,this._y2=a;break;case 1:this._point=2,this._x3=i,this._y3=a;break;case 2:this._point=3,this._x4=i,this._y4=a,this._context.moveTo((this._x0+4*this._x1+i)/6,(this._y0+4*this._y1+a)/6);break;default:NW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function mDe(i){return new oPt(i)}function cPt(i){this._context=i}cPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var f=(this._x0+4*this._x1+i)/6,g=(this._y0+4*this._y1+a)/6;this._line?this._context.lineTo(f,g):this._context.moveTo(f,g);break;case 3:this._point=4;default:NW(this,i,a);break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a}};function vDe(i){return new cPt(i)}function uPt(i,a){this._basis=new PW(i),this._beta=a}uPt.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var i=this._x,a=this._y,f=i.length-1;if(f>0)for(var g=i[0],w=a[0],v=i[f]-g,b=a[f]-w,E=-1,S;++E<=f;)S=E/f,this._basis.point(this._beta*i[E]+(1-this._beta)*(g+S*v),this._beta*a[E]+(1-this._beta)*(w+S*b));this._x=this._y=null,this._basis.lineEnd()},point:function(i,a){this._x.push(+i),this._y.push(+a)}};const yDe=function i(a){function f(g){return a===1?new PW(g):new uPt(g,a)}return f.beta=function(g){return i(+g)},f}(.85);function FW(i,a,f){i._context.bezierCurveTo(i._x1+i._k*(i._x2-i._x0),i._y1+i._k*(i._y2-i._y0),i._x2+i._k*(i._x1-a),i._y2+i._k*(i._y1-f),i._x2,i._y2)}function tgt(i,a){this._context=i,this._k=(1-a)/6}tgt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:FW(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2,this._x1=i,this._y1=a;break;case 2:this._point=3;default:FW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const xDe=function i(a){function f(g){return new tgt(g,a)}return f.tension=function(g){return i(+g)},f}(0);function egt(i,a){this._context=i,this._k=(1-a)/6}egt.prototype={areaStart:d8,areaEnd:d8,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:FW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const kDe=function i(a){function f(g){return new egt(g,a)}return f.tension=function(g){return i(+g)},f}(0);function ngt(i,a){this._context=i,this._k=(1-a)/6}ngt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:FW(this,i,a);break}this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const EDe=function i(a){function f(g){return new ngt(g,a)}return f.tension=function(g){return i(+g)},f}(0);function rgt(i,a,f){var g=i._x1,w=i._y1,v=i._x2,b=i._y2;if(i._l01_a>rg){var E=2*i._l01_2a+3*i._l01_a*i._l12_a+i._l12_2a,S=3*i._l01_a*(i._l01_a+i._l12_a);g=(g*E-i._x0*i._l12_2a+i._x2*i._l01_2a)/S,w=(w*E-i._y0*i._l12_2a+i._y2*i._l01_2a)/S}if(i._l23_a>rg){var _=2*i._l23_2a+3*i._l23_a*i._l12_a+i._l12_2a,M=3*i._l23_a*(i._l23_a+i._l12_a);v=(v*_+i._x1*i._l23_2a-a*i._l12_2a)/M,b=(b*_+i._y1*i._l23_2a-f*i._l12_2a)/M}i._context.bezierCurveTo(g,w,v,b,i._x2,i._y2)}function lPt(i,a){this._context=i,this._alpha=a}lPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,g=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+g*g,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3;default:rgt(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const TDe=function i(a){function f(g){return a?new lPt(g,a):new tgt(g,0)}return f.alpha=function(g){return i(+g)},f}(.5);function hPt(i,a){this._context=i,this._alpha=a}hPt.prototype={areaStart:d8,areaEnd:d8,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,g=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+g*g,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=i,this._y3=a;break;case 1:this._point=2,this._context.moveTo(this._x4=i,this._y4=a);break;case 2:this._point=3,this._x5=i,this._y5=a;break;default:rgt(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const CDe=function i(a){function f(g){return a?new hPt(g,a):new egt(g,0)}return f.alpha=function(g){return i(+g)},f}(.5);function fPt(i,a){this._context=i,this._alpha=a}fPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){if(i=+i,a=+a,this._point){var f=this._x2-i,g=this._y2-a;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(f*f+g*g,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:rgt(this,i,a);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=i,this._y0=this._y1,this._y1=this._y2,this._y2=a}};const SDe=function i(a){function f(g){return a?new fPt(g,a):new ngt(g,0)}return f.alpha=function(g){return i(+g)},f}(.5);function dPt(i){this._context=i}dPt.prototype={areaStart:d8,areaEnd:d8,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(i,a){i=+i,a=+a,this._point?this._context.lineTo(i,a):(this._point=1,this._context.moveTo(i,a))}};function _De(i){return new dPt(i)}function gPt(i){return i<0?-1:1}function pPt(i,a,f){var g=i._x1-i._x0,w=a-i._x1,v=(i._y1-i._y0)/(g||w<0&&-0),b=(f-i._y1)/(w||g<0&&-0),E=(v*w+b*g)/(g+w);return(gPt(v)+gPt(b))*Math.min(Math.abs(v),Math.abs(b),.5*Math.abs(E))||0}function bPt(i,a){var f=i._x1-i._x0;return f?(3*(i._y1-i._y0)/f-a)/2:a}function igt(i,a,f){var g=i._x0,w=i._y0,v=i._x1,b=i._y1,E=(v-g)/3;i._context.bezierCurveTo(g+E,w+E*a,v-E,b-E*f,v,b)}function BW(i){this._context=i}BW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:igt(this,this._t0,bPt(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(i,a){var f=NaN;if(i=+i,a=+a,!(i===this._x1&&a===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;break;case 2:this._point=3,igt(this,bPt(this,f=pPt(this,i,a)),f);break;default:igt(this,this._t0,f=pPt(this,i,a));break}this._x0=this._x1,this._x1=i,this._y0=this._y1,this._y1=a,this._t0=f}}};function wPt(i){this._context=new mPt(i)}(wPt.prototype=Object.create(BW.prototype)).point=function(i,a){BW.prototype.point.call(this,a,i)};function mPt(i){this._context=i}mPt.prototype={moveTo:function(i,a){this._context.moveTo(a,i)},closePath:function(){this._context.closePath()},lineTo:function(i,a){this._context.lineTo(a,i)},bezierCurveTo:function(i,a,f,g,w,v){this._context.bezierCurveTo(a,i,g,f,v,w)}};function ADe(i){return new BW(i)}function LDe(i){return new wPt(i)}function vPt(i){this._context=i}vPt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var i=this._x,a=this._y,f=i.length;if(f)if(this._line?this._context.lineTo(i[0],a[0]):this._context.moveTo(i[0],a[0]),f===2)this._context.lineTo(i[1],a[1]);else for(var g=yPt(i),w=yPt(a),v=0,b=1;b<f;++v,++b)this._context.bezierCurveTo(g[0][v],w[0][v],g[1][v],w[1][v],i[b],a[b]);(this._line||this._line!==0&&f===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(i,a){this._x.push(+i),this._y.push(+a)}};function yPt(i){var a,f=i.length-1,g,w=new Array(f),v=new Array(f),b=new Array(f);for(w[0]=0,v[0]=2,b[0]=i[0]+2*i[1],a=1;a<f-1;++a)w[a]=1,v[a]=4,b[a]=4*i[a]+2*i[a+1];for(w[f-1]=2,v[f-1]=7,b[f-1]=8*i[f-1]+i[f],a=1;a<f;++a)g=w[a]/v[a-1],v[a]-=g,b[a]-=g*b[a-1];for(w[f-1]=b[f-1]/v[f-1],a=f-2;a>=0;--a)w[a]=(b[a]-w[a+1])/v[a];for(v[f-1]=(i[f]+w[f-1])/2,a=0;a<f-1;++a)v[a]=2*i[a+1]-w[a+1];return[w,v]}function DDe(i){return new vPt(i)}function RW(i,a){this._context=i,this._t=a}RW.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(i,a){switch(i=+i,a=+a,this._point){case 0:this._point=1,this._line?this._context.lineTo(i,a):this._context.moveTo(i,a);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,a),this._context.lineTo(i,a);else{var f=this._x*(1-this._t)+i*this._t;this._context.lineTo(f,this._y),this._context.lineTo(f,a)}break}}this._x=i,this._y=a}};function MDe(i){return new RW(i,.5)}function IDe(i){return new RW(i,0)}function ODe(i){return new RW(i,1)}function mF(i,a,f){this.k=i,this.x=a,this.y=f}mF.prototype={constructor:mF,scale:function(i){return i===1?this:new mF(this.k*i,this.x,this.y)},translate:function(i,a){return i===0&a===0?this:new mF(this.k,this.x+this.k*i,this.y+this.k*a)},apply:function(i){return[i[0]*this.k+this.x,i[1]*this.k+this.y]},applyX:function(i){return i*this.k+this.x},applyY:function(i){return i*this.k+this.y},invert:function(i){return[(i[0]-this.x)/this.k,(i[1]-this.y)/this.k]},invertX:function(i){return(i-this.x)/this.k},invertY:function(i){return(i-this.y)/this.k},rescaleX:function(i){return i.copy().domain(i.range().map(this.invertX,this).map(i.invert,i))},rescaleY:function(i){return i.copy().domain(i.range().map(this.invertY,this).map(i.invert,i))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}},mF.prototype;/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */const{entries:xPt,setPrototypeOf:kPt,isFrozen:NDe,getPrototypeOf:PDe,getOwnPropertyDescriptor:FDe}=Object;let{freeze:Wg,seal:qv,create:BDe}=Object,{apply:sgt,construct:agt}=typeof Reflect<"u"&&Reflect;sgt||(sgt=function(a,f,g){return a.apply(f,g)}),Wg||(Wg=function(a){return a}),qv||(qv=function(a){return a}),agt||(agt=function(a,f){return new a(...f)});const RDe=Ww(Array.prototype.forEach),EPt=Ww(Array.prototype.pop),vF=Ww(Array.prototype.push),jW=Ww(String.prototype.toLowerCase),ogt=Ww(String.prototype.toString),jDe=Ww(String.prototype.match),Hv=Ww(String.prototype.replace),$De=Ww(String.prototype.indexOf),zDe=Ww(String.prototype.trim),E2=Ww(RegExp.prototype.test),yF=qDe(TypeError);function Ww(i){return function(a){for(var f=arguments.length,g=new Array(f>1?f-1:0),w=1;w<f;w++)g[w-1]=arguments[w];return sgt(i,a,g)}}function qDe(i){return function(){for(var a=arguments.length,f=new Array(a),g=0;g<a;g++)f[g]=arguments[g];return agt(i,f)}}function Fo(i,a,f){var g;f=(g=f)!==null&&g!==void 0?g:jW,kPt&&kPt(i,null);let w=a.length;for(;w--;){let v=a[w];if(typeof v=="string"){const b=f(v);b!==v&&(NDe(a)||(a[w]=b),v=b)}i[v]=!0}return i}function XL(i){const a=BDe(null);for(const[f,g]of xPt(i))a[f]=g;return a}function $W(i,a){for(;i!==null;){const g=FDe(i,a);if(g){if(g.get)return Ww(g.get);if(typeof g.value=="function")return Ww(g.value)}i=PDe(i)}function f(g){return console.warn("fallback value for",g),null}return f}const TPt=Wg(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),cgt=Wg(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),ugt=Wg(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),HDe=Wg(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),lgt=Wg(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),VDe=Wg(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),CPt=Wg(["#text"]),SPt=Wg(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),hgt=Wg(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),_Pt=Wg(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),zW=Wg(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),UDe=qv(/\{\{[\w\W]*|[\w\W]*\}\}/gm),GDe=qv(/<%[\w\W]*|[\w\W]*%>/gm),KDe=qv(/\${[\w\W]*}/gm),WDe=qv(/^data-[\-\w.\u00B7-\uFFFF]/),YDe=qv(/^aria-[\-\w]+$/),APt=qv(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),XDe=qv(/^(?:\w+script|data):/i),QDe=qv(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),LPt=qv(/^html$/i);var DPt=Object.freeze({__proto__:null,MUSTACHE_EXPR:UDe,ERB_EXPR:GDe,TMPLIT_EXPR:KDe,DATA_ATTR:WDe,ARIA_ATTR:YDe,IS_ALLOWED_URI:APt,IS_SCRIPT_OR_DATA:XDe,ATTR_WHITESPACE:QDe,DOCTYPE_NAME:LPt});const JDe=()=>typeof window>"u"?null:window,ZDe=function(a,f){if(typeof a!="object"||typeof a.createPolicy!="function")return null;let g=null;const w="data-tt-policy-suffix";f&&f.hasAttribute(w)&&(g=f.getAttribute(w));const v="dompurify"+(g?"#"+g:"");try{return a.createPolicy(v,{createHTML(b){return b},createScriptURL(b){return b}})}catch{return console.warn("TrustedTypes policy "+v+" could not be created."),null}};function MPt(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:JDe();const a=Gi=>MPt(Gi);if(a.version="3.0.5",a.removed=[],!i||!i.document||i.document.nodeType!==9)return a.isSupported=!1,a;const f=i.document,g=f.currentScript;let{document:w}=i;const{DocumentFragment:v,HTMLTemplateElement:b,Node:E,Element:S,NodeFilter:_,NamedNodeMap:M=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:F,DOMParser:R,trustedTypes:B}=i,z=S.prototype,Y=$W(z,"cloneNode"),nt=$W(z,"nextSibling"),ot=$W(z,"childNodes"),ft=$W(z,"parentNode");if(typeof b=="function"){const Gi=w.createElement("template");Gi.content&&Gi.content.ownerDocument&&(w=Gi.content.ownerDocument)}let wt,mt="";const{implementation:ct,createNodeIterator:rt,createDocumentFragment:it,getElementsByTagName:gt}=w,{importNode:Q}=f;let dt={};a.isSupported=typeof xPt=="function"&&typeof ft=="function"&&ct&&ct.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:K,ERB_EXPR:yt,TMPLIT_EXPR:V,DATA_ATTR:Ot,ARIA_ATTR:It,IS_SCRIPT_OR_DATA:jt,ATTR_WHITESPACE:xt}=DPt;let{IS_ALLOWED_URI:Ft}=DPt,Ct=null;const kt=Fo({},[...TPt,...cgt,...ugt,...lgt,...CPt]);let Gt=null;const Fe=Fo({},[...SPt,...hgt,..._Pt,...zW]);let Mt=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),pn=null,Ae=null,ye=!0,tn=!0,sn=!1,be=!0,Ne=!1,Xt=!1,_e=!1,xe=!1,Mn=!1,ce=!1,Br=!1,we=!0,Fi=!1;const mi="user-content-";let ga=!0,Ss=!1,za={},br=null;const An=Fo({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Nn=null;const Bn=Fo({},["audio","video","img","source","image","track"]);let ke=null;const pe=Fo({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Je="http://www.w3.org/1998/Math/MathML",an="http://www.w3.org/2000/svg",xn="http://www.w3.org/1999/xhtml";let qa=xn,xo=!1,ko=null;const va=Fo({},[Je,an,xn],ogt);let Ha;const ds=["application/xhtml+xml","text/html"],Fu="text/html";let Zs,d1=null;const I2=w.createElement("form"),ll=function(cn){return cn instanceof RegExp||cn instanceof Function},Ic=function(cn){if(!(d1&&d1===cn)){if((!cn||typeof cn!="object")&&(cn={}),cn=XL(cn),Ha=ds.indexOf(cn.PARSER_MEDIA_TYPE)===-1?Ha=Fu:Ha=cn.PARSER_MEDIA_TYPE,Zs=Ha==="application/xhtml+xml"?ogt:jW,Ct="ALLOWED_TAGS"in cn?Fo({},cn.ALLOWED_TAGS,Zs):kt,Gt="ALLOWED_ATTR"in cn?Fo({},cn.ALLOWED_ATTR,Zs):Fe,ko="ALLOWED_NAMESPACES"in cn?Fo({},cn.ALLOWED_NAMESPACES,ogt):va,ke="ADD_URI_SAFE_ATTR"in cn?Fo(XL(pe),cn.ADD_URI_SAFE_ATTR,Zs):pe,Nn="ADD_DATA_URI_TAGS"in cn?Fo(XL(Bn),cn.ADD_DATA_URI_TAGS,Zs):Bn,br="FORBID_CONTENTS"in cn?Fo({},cn.FORBID_CONTENTS,Zs):An,pn="FORBID_TAGS"in cn?Fo({},cn.FORBID_TAGS,Zs):{},Ae="FORBID_ATTR"in cn?Fo({},cn.FORBID_ATTR,Zs):{},za="USE_PROFILES"in cn?cn.USE_PROFILES:!1,ye=cn.ALLOW_ARIA_ATTR!==!1,tn=cn.ALLOW_DATA_ATTR!==!1,sn=cn.ALLOW_UNKNOWN_PROTOCOLS||!1,be=cn.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ne=cn.SAFE_FOR_TEMPLATES||!1,Xt=cn.WHOLE_DOCUMENT||!1,Mn=cn.RETURN_DOM||!1,ce=cn.RETURN_DOM_FRAGMENT||!1,Br=cn.RETURN_TRUSTED_TYPE||!1,xe=cn.FORCE_BODY||!1,we=cn.SANITIZE_DOM!==!1,Fi=cn.SANITIZE_NAMED_PROPS||!1,ga=cn.KEEP_CONTENT!==!1,Ss=cn.IN_PLACE||!1,Ft=cn.ALLOWED_URI_REGEXP||APt,qa=cn.NAMESPACE||xn,Mt=cn.CUSTOM_ELEMENT_HANDLING||{},cn.CUSTOM_ELEMENT_HANDLING&&ll(cn.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Mt.tagNameCheck=cn.CUSTOM_ELEMENT_HANDLING.tagNameCheck),cn.CUSTOM_ELEMENT_HANDLING&&ll(cn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Mt.attributeNameCheck=cn.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),cn.CUSTOM_ELEMENT_HANDLING&&typeof cn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Mt.allowCustomizedBuiltInElements=cn.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Ne&&(tn=!1),ce&&(Mn=!0),za&&(Ct=Fo({},[...CPt]),Gt=[],za.html===!0&&(Fo(Ct,TPt),Fo(Gt,SPt)),za.svg===!0&&(Fo(Ct,cgt),Fo(Gt,hgt),Fo(Gt,zW)),za.svgFilters===!0&&(Fo(Ct,ugt),Fo(Gt,hgt),Fo(Gt,zW)),za.mathMl===!0&&(Fo(Ct,lgt),Fo(Gt,_Pt),Fo(Gt,zW))),cn.ADD_TAGS&&(Ct===kt&&(Ct=XL(Ct)),Fo(Ct,cn.ADD_TAGS,Zs)),cn.ADD_ATTR&&(Gt===Fe&&(Gt=XL(Gt)),Fo(Gt,cn.ADD_ATTR,Zs)),cn.ADD_URI_SAFE_ATTR&&Fo(ke,cn.ADD_URI_SAFE_ATTR,Zs),cn.FORBID_CONTENTS&&(br===An&&(br=XL(br)),Fo(br,cn.FORBID_CONTENTS,Zs)),ga&&(Ct["#text"]=!0),Xt&&Fo(Ct,["html","head","body"]),Ct.table&&(Fo(Ct,["tbody"]),delete pn.tbody),cn.TRUSTED_TYPES_POLICY){if(typeof cn.TRUSTED_TYPES_POLICY.createHTML!="function")throw yF('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof cn.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw yF('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');wt=cn.TRUSTED_TYPES_POLICY,mt=wt.createHTML("")}else wt===void 0&&(wt=ZDe(B,g)),wt!==null&&typeof mt=="string"&&(mt=wt.createHTML(""));Wg&&Wg(cn),d1=cn}},wc=Fo({},["mi","mo","mn","ms","mtext"]),Ea=Fo({},["foreignobject","desc","title","annotation-xml"]),gu=Fo({},["title","style","font","a","script"]),ta=Fo({},cgt);Fo(ta,ugt),Fo(ta,HDe);const fo=Fo({},lgt);Fo(fo,VDe);const mc=function(cn){let Nr=ft(cn);(!Nr||!Nr.tagName)&&(Nr={namespaceURI:qa,tagName:"template"});const Si=jW(cn.tagName),vc=jW(Nr.tagName);return ko[cn.namespaceURI]?cn.namespaceURI===an?Nr.namespaceURI===xn?Si==="svg":Nr.namespaceURI===Je?Si==="svg"&&(vc==="annotation-xml"||wc[vc]):!!ta[Si]:cn.namespaceURI===Je?Nr.namespaceURI===xn?Si==="math":Nr.namespaceURI===an?Si==="math"&&Ea[vc]:!!fo[Si]:cn.namespaceURI===xn?Nr.namespaceURI===an&&!Ea[vc]||Nr.namespaceURI===Je&&!wc[vc]?!1:!fo[Si]&&(gu[Si]||!ta[Si]):!!(Ha==="application/xhtml+xml"&&ko[cn.namespaceURI]):!1},ca=function(cn){vF(a.removed,{element:cn});try{cn.parentNode.removeChild(cn)}catch{cn.remove()}},ya=function(cn,Nr){try{vF(a.removed,{attribute:Nr.getAttributeNode(cn),from:Nr})}catch{vF(a.removed,{attribute:null,from:Nr})}if(Nr.removeAttribute(cn),cn==="is"&&!Gt[cn])if(Mn||ce)try{ca(Nr)}catch{}else try{Nr.setAttribute(cn,"")}catch{}},ea=function(cn){let Nr,Si;if(xe)cn="<remove></remove>"+cn;else{const Eh=jDe(cn,/^[\r\n\t ]+/);Si=Eh&&Eh[0]}Ha==="application/xhtml+xml"&&qa===xn&&(cn='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+cn+"</body></html>");const vc=wt?wt.createHTML(cn):cn;if(qa===xn)try{Nr=new R().parseFromString(vc,Ha)}catch{}if(!Nr||!Nr.documentElement){Nr=ct.createDocument(qa,"template",null);try{Nr.documentElement.innerHTML=xo?mt:vc}catch{}}const Rc=Nr.body||Nr.documentElement;return cn&&Si&&Rc.insertBefore(w.createTextNode(Si),Rc.childNodes[0]||null),qa===xn?gt.call(Nr,Xt?"html":"body")[0]:Xt?Nr.documentElement:Rc},Zl=function(cn){return rt.call(cn.ownerDocument||cn,cn,_.SHOW_ELEMENT|_.SHOW_COMMENT|_.SHOW_TEXT,null,!1)},Uc=function(cn){return cn instanceof F&&(typeof cn.nodeName!="string"||typeof cn.textContent!="string"||typeof cn.removeChild!="function"||!(cn.attributes instanceof M)||typeof cn.removeAttribute!="function"||typeof cn.setAttribute!="function"||typeof cn.namespaceURI!="string"||typeof cn.insertBefore!="function"||typeof cn.hasChildNodes!="function")},rm=function(cn){return typeof E=="object"?cn instanceof E:cn&&typeof cn=="object"&&typeof cn.nodeType=="number"&&typeof cn.nodeName=="string"},kh=function(cn,Nr,Si){dt[cn]&&RDe(dt[cn],vc=>{vc.call(a,Nr,Si,d1)})},Md=function(cn){let Nr;if(kh("beforeSanitizeElements",cn,null),Uc(cn))return ca(cn),!0;const Si=Zs(cn.nodeName);if(kh("uponSanitizeElement",cn,{tagName:Si,allowedTags:Ct}),cn.hasChildNodes()&&!rm(cn.firstElementChild)&&(!rm(cn.content)||!rm(cn.content.firstElementChild))&&E2(/<[/\w]/g,cn.innerHTML)&&E2(/<[/\w]/g,cn.textContent))return ca(cn),!0;if(!Ct[Si]||pn[Si]){if(!pn[Si]&&Id(Si)&&(Mt.tagNameCheck instanceof RegExp&&E2(Mt.tagNameCheck,Si)||Mt.tagNameCheck instanceof Function&&Mt.tagNameCheck(Si)))return!1;if(ga&&!br[Si]){const vc=ft(cn)||cn.parentNode,Rc=ot(cn)||cn.childNodes;if(Rc&&vc){const Eh=Rc.length;for(let Zc=Eh-1;Zc>=0;--Zc)vc.insertBefore(Y(Rc[Zc],!0),nt(cn))}}return ca(cn),!0}return cn instanceof S&&!mc(cn)||(Si==="noscript"||Si==="noembed"||Si==="noframes")&&E2(/<\/no(script|embed|frames)/i,cn.innerHTML)?(ca(cn),!0):(Ne&&cn.nodeType===3&&(Nr=cn.textContent,Nr=Hv(Nr,K," "),Nr=Hv(Nr,yt," "),Nr=Hv(Nr,V," "),cn.textContent!==Nr&&(vF(a.removed,{element:cn.cloneNode()}),cn.textContent=Nr)),kh("afterSanitizeElements",cn,null),!1)},w0=function(cn,Nr,Si){if(we&&(Nr==="id"||Nr==="name")&&(Si in w||Si in I2))return!1;if(!(tn&&!Ae[Nr]&&E2(Ot,Nr))){if(!(ye&&E2(It,Nr))){if(!Gt[Nr]||Ae[Nr]){if(!(Id(cn)&&(Mt.tagNameCheck instanceof RegExp&&E2(Mt.tagNameCheck,cn)||Mt.tagNameCheck instanceof Function&&Mt.tagNameCheck(cn))&&(Mt.attributeNameCheck instanceof RegExp&&E2(Mt.attributeNameCheck,Nr)||Mt.attributeNameCheck instanceof Function&&Mt.attributeNameCheck(Nr))||Nr==="is"&&Mt.allowCustomizedBuiltInElements&&(Mt.tagNameCheck instanceof RegExp&&E2(Mt.tagNameCheck,Si)||Mt.tagNameCheck instanceof Function&&Mt.tagNameCheck(Si))))return!1}else if(!ke[Nr]){if(!E2(Ft,Hv(Si,xt,""))){if(!((Nr==="src"||Nr==="xlink:href"||Nr==="href")&&cn!=="script"&&$De(Si,"data:")===0&&Nn[cn])){if(!(sn&&!E2(jt,Hv(Si,xt,"")))){if(Si)return!1}}}}}}return!0},Id=function(cn){return cn.indexOf("-")>0},m0=function(cn){let Nr,Si,vc,Rc;kh("beforeSanitizeAttributes",cn,null);const{attributes:Eh}=cn;if(!Eh)return;const Zc={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Gt};for(Rc=Eh.length;Rc--;){Nr=Eh[Rc];const{name:Qh,namespaceURI:Od}=Nr;if(Si=Qh==="value"?Nr.value:zDe(Nr.value),vc=Zs(Qh),Zc.attrName=vc,Zc.attrValue=Si,Zc.keepAttr=!0,Zc.forceKeepAttr=void 0,kh("uponSanitizeAttribute",cn,Zc),Si=Zc.attrValue,Zc.forceKeepAttr||(ya(Qh,cn),!Zc.keepAttr))continue;if(!be&&E2(/\/>/i,Si)){ya(Qh,cn);continue}Ne&&(Si=Hv(Si,K," "),Si=Hv(Si,yt," "),Si=Hv(Si,V," "));const cs=Zs(cn.nodeName);if(w0(cs,vc,Si)){if(Fi&&(vc==="id"||vc==="name")&&(ya(Qh,cn),Si=mi+Si),wt&&typeof B=="object"&&typeof B.getAttributeType=="function"&&!Od)switch(B.getAttributeType(cs,vc)){case"TrustedHTML":{Si=wt.createHTML(Si);break}case"TrustedScriptURL":{Si=wt.createScriptURL(Si);break}}try{Od?cn.setAttributeNS(Od,Qh,Si):cn.setAttribute(Qh,Si),EPt(a.removed)}catch{}}}kh("afterSanitizeAttributes",cn,null)},hg=function Gi(cn){let Nr;const Si=Zl(cn);for(kh("beforeSanitizeShadowDOM",cn,null);Nr=Si.nextNode();)kh("uponSanitizeShadowNode",Nr,null),!Md(Nr)&&(Nr.content instanceof v&&Gi(Nr.content),m0(Nr));kh("afterSanitizeShadowDOM",cn,null)};return a.sanitize=function(Gi){let cn=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Nr,Si,vc,Rc;if(xo=!Gi,xo&&(Gi="<!-->"),typeof Gi!="string"&&!rm(Gi))if(typeof Gi.toString=="function"){if(Gi=Gi.toString(),typeof Gi!="string")throw yF("dirty is not a string, aborting")}else throw yF("toString is not a function");if(!a.isSupported)return Gi;if(_e||Ic(cn),a.removed=[],typeof Gi=="string"&&(Ss=!1),Ss){if(Gi.nodeName){const Qh=Zs(Gi.nodeName);if(!Ct[Qh]||pn[Qh])throw yF("root node is forbidden and cannot be sanitized in-place")}}else if(Gi instanceof E)Nr=ea("<!---->"),Si=Nr.ownerDocument.importNode(Gi,!0),Si.nodeType===1&&Si.nodeName==="BODY"||Si.nodeName==="HTML"?Nr=Si:Nr.appendChild(Si);else{if(!Mn&&!Ne&&!Xt&&Gi.indexOf("<")===-1)return wt&&Br?wt.createHTML(Gi):Gi;if(Nr=ea(Gi),!Nr)return Mn?null:Br?mt:""}Nr&&xe&&ca(Nr.firstChild);const Eh=Zl(Ss?Gi:Nr);for(;vc=Eh.nextNode();)Md(vc)||(vc.content instanceof v&&hg(vc.content),m0(vc));if(Ss)return Gi;if(Mn){if(ce)for(Rc=it.call(Nr.ownerDocument);Nr.firstChild;)Rc.appendChild(Nr.firstChild);else Rc=Nr;return(Gt.shadowroot||Gt.shadowrootmode)&&(Rc=Q.call(f,Rc,!0)),Rc}let Zc=Xt?Nr.outerHTML:Nr.innerHTML;return Xt&&Ct["!doctype"]&&Nr.ownerDocument&&Nr.ownerDocument.doctype&&Nr.ownerDocument.doctype.name&&E2(LPt,Nr.ownerDocument.doctype.name)&&(Zc="<!DOCTYPE "+Nr.ownerDocument.doctype.name+`>

87 */window.addEventListener("load",tRt,!1)}const vRe=function(i){_2.parseError=i},CY=[];let Xgt=!1;const eRt=async()=>{if(!Xgt){for(Xgt=!0;CY.length>0;){const i=CY.shift();if(i)try{await i()}catch(a){Kt.error("Error executing queue",a)}}Xgt=!1}},yRe=async(i,a)=>new Promise((f,g)=>{const w=()=>new Promise((v,b)=>{S9.parse(i,a).then(E=>{v(E),f(E)},E=>{var S;Kt.error("Error parsing",E),(S=_2.parseError)==null||S.call(_2,E),b(E),g(E)})});CY.push(w),eRt().catch(g)}),nRt=(i,a,f)=>new Promise((g,w)=>{const v=()=>new Promise((b,E)=>{S9.render(i,a,f).then(S=>{b(S),g(S)},S=>{var _;Kt.error("Error parsing",S),(_=_2.parseError)==null||_.call(_2,S),E(S),w(S)})});CY.push(v),eRt().catch(w)}),_2={startOnLoad:!0,mermaidAPI:S9,parse:yRe,render:nRt,init:wRe,run:JBt,registerExternalDiagrams:mRe,initialize:ZBt,parseError:void 0,contentLoaded:tRt,setParseErrorHandler:vRe,detectType:QW};var SY=function(){var i=function(br,An,Nn,Bn){for(Nn=Nn||{},Bn=br.length;Bn--;Nn[br[Bn]]=An);return Nn},a=[1,24],f=[1,25],g=[1,26],w=[1,27],v=[1,28],b=[1,63],E=[1,64],S=[1,65],_=[1,66],M=[1,67],F=[1,68],R=[1,69],B=[1,29],z=[1,30],Y=[1,31],nt=[1,32],ot=[1,33],ft=[1,34],wt=[1,35],mt=[1,36],ct=[1,37],rt=[1,38],it=[1,39],gt=[1,40],Q=[1,41],dt=[1,42],K=[1,43],yt=[1,44],V=[1,45],Ot=[1,46],It=[1,47],jt=[1,48],xt=[1,50],Ft=[1,51],Ct=[1,52],kt=[1,53],Gt=[1,54],Fe=[1,55],Mt=[1,56],pn=[1,57],Ae=[1,58],ye=[1,59],tn=[1,60],sn=[14,42],be=[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],Ne=[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],Xt=[1,82],_e=[1,83],xe=[1,84],Mn=[1,85],ce=[12,14,42],Br=[12,14,33,42],we=[12,14,33,42,76,77,79,80],Fi=[12,33],mi=[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],ga={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(An,Nn,Bn,ke,pe,Je,an){var xn=Je.length-1;switch(pe){case 3:ke.setDirection("TB");break;case 4:ke.setDirection("BT");break;case 5:ke.setDirection("RL");break;case 6:ke.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:ke.setC4Type(Je[xn-3]);break;case 19:ke.setTitle(Je[xn].substring(6)),this.$=Je[xn].substring(6);break;case 20:ke.setAccDescription(Je[xn].substring(15)),this.$=Je[xn].substring(15);break;case 21:this.$=Je[xn].trim(),ke.setTitle(this.$);break;case 22:case 23:this.$=Je[xn].trim(),ke.setAccDescription(this.$);break;case 28:case 29:Je[xn].splice(2,0,"ENTERPRISE"),ke.addPersonOrSystemBoundary(...Je[xn]),this.$=Je[xn];break;case 30:ke.addPersonOrSystemBoundary(...Je[xn]),this.$=Je[xn];break;case 31:Je[xn].splice(2,0,"CONTAINER"),ke.addContainerBoundary(...Je[xn]),this.$=Je[xn];break;case 32:ke.addDeploymentNode("node",...Je[xn]),this.$=Je[xn];break;case 33:ke.addDeploymentNode("nodeL",...Je[xn]),this.$=Je[xn];break;case 34:ke.addDeploymentNode("nodeR",...Je[xn]),this.$=Je[xn];break;case 35:ke.popBoundaryParseStack();break;case 39:ke.addPersonOrSystem("person",...Je[xn]),this.$=Je[xn];break;case 40:ke.addPersonOrSystem("external_person",...Je[xn]),this.$=Je[xn];break;case 41:ke.addPersonOrSystem("system",...Je[xn]),this.$=Je[xn];break;case 42:ke.addPersonOrSystem("system_db",...Je[xn]),this.$=Je[xn];break;case 43:ke.addPersonOrSystem("system_queue",...Je[xn]),this.$=Je[xn];break;case 44:ke.addPersonOrSystem("external_system",...Je[xn]),this.$=Je[xn];break;case 45:ke.addPersonOrSystem("external_system_db",...Je[xn]),this.$=Je[xn];break;case 46:ke.addPersonOrSystem("external_system_queue",...Je[xn]),this.$=Je[xn];break;case 47:ke.addContainer("container",...Je[xn]),this.$=Je[xn];break;case 48:ke.addContainer("container_db",...Je[xn]),this.$=Je[xn];break;case 49:ke.addContainer("container_queue",...Je[xn]),this.$=Je[xn];break;case 50:ke.addContainer("external_container",...Je[xn]),this.$=Je[xn];break;case 51:ke.addContainer("external_container_db",...Je[xn]),this.$=Je[xn];break;case 52:ke.addContainer("external_container_queue",...Je[xn]),this.$=Je[xn];break;case 53:ke.addComponent("component",...Je[xn]),this.$=Je[xn];break;case 54:ke.addComponent("component_db",...Je[xn]),this.$=Je[xn];break;case 55:ke.addComponent("component_queue",...Je[xn]),this.$=Je[xn];break;case 56:ke.addComponent("external_component",...Je[xn]),this.$=Je[xn];break;case 57:ke.addComponent("external_component_db",...Je[xn]),this.$=Je[xn];break;case 58:ke.addComponent("external_component_queue",...Je[xn]),this.$=Je[xn];break;case 60:ke.addRel("rel",...Je[xn]),this.$=Je[xn];break;case 61:ke.addRel("birel",...Je[xn]),this.$=Je[xn];break;case 62:ke.addRel("rel_u",...Je[xn]),this.$=Je[xn];break;case 63:ke.addRel("rel_d",...Je[xn]),this.$=Je[xn];break;case 64:ke.addRel("rel_l",...Je[xn]),this.$=Je[xn];break;case 65:ke.addRel("rel_r",...Je[xn]),this.$=Je[xn];break;case 66:ke.addRel("rel_b",...Je[xn]),this.$=Je[xn];break;case 67:Je[xn].splice(0,1),ke.addRel("rel",...Je[xn]),this.$=Je[xn];break;case 68:ke.updateElStyle("update_el_style",...Je[xn]),this.$=Je[xn];break;case 69:ke.updateRelStyle("update_rel_style",...Je[xn]),this.$=Je[xn];break;case 70:ke.updateLayoutConfig("update_layout_config",...Je[xn]),this.$=Je[xn];break;case 71:this.$=[Je[xn]];break;case 72:Je[xn].unshift(Je[xn-1]),this.$=Je[xn];break;case 73:case 75:this.$=Je[xn].trim();break;case 74:let qa={};qa[Je[xn-1].trim()]=Je[xn].trim(),this.$=qa;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:g,26:w,28:v,29:49,30:61,32:62,34:b,36:E,37:S,38:_,39:M,40:F,41:R,43:23,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt,51:mt,52:ct,53:rt,54:it,55:gt,56:Q,57:dt,58:K,59:yt,60:V,61:Ot,62:It,63:jt,64:xt,65:Ft,66:Ct,67:kt,68:Gt,69:Fe,70:Mt,71:pn,72:Ae,73:ye,74:tn},{13:70,19:20,20:21,21:22,22:a,23:f,24:g,26:w,28:v,29:49,30:61,32:62,34:b,36:E,37:S,38:_,39:M,40:F,41:R,43:23,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt,51:mt,52:ct,53:rt,54:it,55:gt,56:Q,57:dt,58:K,59:yt,60:V,61:Ot,62:It,63:jt,64:xt,65:Ft,66:Ct,67:kt,68:Gt,69:Fe,70:Mt,71:pn,72:Ae,73:ye,74:tn},{13:71,19:20,20:21,21:22,22:a,23:f,24:g,26:w,28:v,29:49,30:61,32:62,34:b,36:E,37:S,38:_,39:M,40:F,41:R,43:23,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt,51:mt,52:ct,53:rt,54:it,55:gt,56:Q,57:dt,58:K,59:yt,60:V,61:Ot,62:It,63:jt,64:xt,65:Ft,66:Ct,67:kt,68:Gt,69:Fe,70:Mt,71:pn,72:Ae,73:ye,74:tn},{13:72,19:20,20:21,21:22,22:a,23:f,24:g,26:w,28:v,29:49,30:61,32:62,34:b,36:E,37:S,38:_,39:M,40:F,41:R,43:23,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt,51:mt,52:ct,53:rt,54:it,55:gt,56:Q,57:dt,58:K,59:yt,60:V,61:Ot,62:It,63:jt,64:xt,65:Ft,66:Ct,67:kt,68:Gt,69:Fe,70:Mt,71:pn,72:Ae,73:ye,74:tn},{13:73,19:20,20:21,21:22,22:a,23:f,24:g,26:w,28:v,29:49,30:61,32:62,34:b,36:E,37:S,38:_,39:M,40:F,41:R,43:23,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt,51:mt,52:ct,53:rt,54:it,55:gt,56:Q,57:dt,58:K,59:yt,60:V,61:Ot,62:It,63:jt,64:xt,65:Ft,66:Ct,67:kt,68:Gt,69:Fe,70:Mt,71:pn,72:Ae,73:ye,74:tn},{14:[1,74]},i(sn,[2,13],{43:23,29:49,30:61,32:62,20:75,34:b,36:E,37:S,38:_,39:M,40:F,41:R,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt,51:mt,52:ct,53:rt,54:it,55:gt,56:Q,57:dt,58:K,59:yt,60:V,61:Ot,62:It,63:jt,64:xt,65:Ft,66:Ct,67:kt,68:Gt,69:Fe,70:Mt,71:pn,72:Ae,73:ye,74:tn}),i(sn,[2,14]),i(be,[2,16],{12:[1,76]}),i(sn,[2,36],{12:[1,77]}),i(Ne,[2,19]),i(Ne,[2,20]),{25:[1,78]},{27:[1,79]},i(Ne,[2,23]),{35:80,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:86,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:87,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:88,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:89,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:90,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:91,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:92,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:93,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:94,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:95,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:96,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:97,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:98,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:99,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:100,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:101,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:102,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:103,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:104,75:81,76:Xt,77:_e,79:xe,80:Mn},i(ce,[2,59]),{35:105,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:106,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:107,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:108,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:109,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:110,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:111,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:112,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:113,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:114,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:115,75:81,76:Xt,77:_e,79:xe,80:Mn},{20:116,29:49,30:61,32:62,34:b,36:E,37:S,38:_,39:M,40:F,41:R,43:23,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt,51:mt,52:ct,53:rt,54:it,55:gt,56:Q,57:dt,58:K,59:yt,60:V,61:Ot,62:It,63:jt,64:xt,65:Ft,66:Ct,67:kt,68:Gt,69:Fe,70:Mt,71:pn,72:Ae,73:ye,74:tn},{12:[1,118],33:[1,117]},{35:119,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:120,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:121,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:122,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:123,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:124,75:81,76:Xt,77:_e,79:xe,80:Mn},{35:125,75:81,76:Xt,77:_e,79:xe,80:Mn},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},i(sn,[2,15]),i(be,[2,17],{21:22,19:130,22:a,23:f,24:g,26:w,28:v}),i(sn,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:a,23:f,24:g,26:w,28:v,34:b,36:E,37:S,38:_,39:M,40:F,41:R,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt,51:mt,52:ct,53:rt,54:it,55:gt,56:Q,57:dt,58:K,59:yt,60:V,61:Ot,62:It,63:jt,64:xt,65:Ft,66:Ct,67:kt,68:Gt,69:Fe,70:Mt,71:pn,72:Ae,73:ye,74:tn}),i(Ne,[2,21]),i(Ne,[2,22]),i(ce,[2,39]),i(Br,[2,71],{75:81,35:132,76:Xt,77:_e,79:xe,80:Mn}),i(we,[2,73]),{78:[1,133]},i(we,[2,75]),i(we,[2,76]),i(ce,[2,40]),i(ce,[2,41]),i(ce,[2,42]),i(ce,[2,43]),i(ce,[2,44]),i(ce,[2,45]),i(ce,[2,46]),i(ce,[2,47]),i(ce,[2,48]),i(ce,[2,49]),i(ce,[2,50]),i(ce,[2,51]),i(ce,[2,52]),i(ce,[2,53]),i(ce,[2,54]),i(ce,[2,55]),i(ce,[2,56]),i(ce,[2,57]),i(ce,[2,58]),i(ce,[2,60]),i(ce,[2,61]),i(ce,[2,62]),i(ce,[2,63]),i(ce,[2,64]),i(ce,[2,65]),i(ce,[2,66]),i(ce,[2,67]),i(ce,[2,68]),i(ce,[2,69]),i(ce,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},i(Fi,[2,28]),i(Fi,[2,29]),i(Fi,[2,30]),i(Fi,[2,31]),i(Fi,[2,32]),i(Fi,[2,33]),i(Fi,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},i(be,[2,18]),i(sn,[2,38]),i(Br,[2,72]),i(we,[2,74]),i(ce,[2,24]),i(ce,[2,35]),i(mi,[2,25]),i(mi,[2,26],{12:[1,138]}),i(mi,[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(An,Nn){if(Nn.recoverable)this.trace(An);else{var Bn=new Error(An);throw Bn.hash=Nn,Bn}},parse:function(An){var Nn=this,Bn=[0],ke=[],pe=[null],Je=[],an=this.table,xn="",qa=0,xo=0,ko=2,va=1,Ha=Je.slice.call(arguments,1),ds=Object.create(this.lexer),Fu={yy:{}};for(var Zs in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Zs)&&(Fu.yy[Zs]=this.yy[Zs]);ds.setInput(An,Fu.yy),Fu.yy.lexer=ds,Fu.yy.parser=this,typeof ds.yylloc>"u"&&(ds.yylloc={});var d1=ds.yylloc;Je.push(d1);var I2=ds.options&&ds.options.ranges;typeof Fu.yy.parseError=="function"?this.parseError=Fu.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ll(){var Zl;return Zl=ke.pop()||ds.lex()||va,typeof Zl!="number"&&(Zl instanceof Array&&(ke=Zl,Zl=ke.pop()),Zl=Nn.symbols_[Zl]||Zl),Zl}for(var Ic,wc,Ea,gu,ta={},fo,mc,ca,ya;;){if(wc=Bn[Bn.length-1],this.defaultActions[wc]?Ea=this.defaultActions[wc]:((Ic===null||typeof Ic>"u")&&(Ic=ll()),Ea=an[wc]&&an[wc][Ic]),typeof Ea>"u"||!Ea.length||!Ea[0]){var ea="";ya=[];for(fo in an[wc])this.terminals_[fo]&&fo>ko&&ya.push("'"+this.terminals_[fo]+"'");ds.showPosition?ea="Parse error on line "+(qa+1)+`:
96 `,init:({c4:i,wrap:a})=>{dRt.setConf(i),Zgt.setWrap(a)}}},Symbol.toStringTag,{value:"Module"}));var ipt=function(){var i=function(Od,cs,As,to){for(As=As||{},to=Od.length;to--;As[Od[to]]=cs);return As},a=[1,4],f=[1,3],g=[1,5],w=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],v=[2,2],b=[1,13],E=[1,14],S=[1,15],_=[1,16],M=[1,23],F=[1,25],R=[1,26],B=[1,27],z=[1,49],Y=[1,48],nt=[1,29],ot=[1,30],ft=[1,31],wt=[1,32],mt=[1,33],ct=[1,44],rt=[1,46],it=[1,42],gt=[1,47],Q=[1,43],dt=[1,50],K=[1,45],yt=[1,51],V=[1,52],Ot=[1,34],It=[1,35],jt=[1,36],xt=[1,37],Ft=[1,57],Ct=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],kt=[1,61],Gt=[1,60],Fe=[1,62],Mt=[8,9,11,73,75],pn=[1,88],Ae=[1,93],ye=[1,92],tn=[1,89],sn=[1,85],be=[1,91],Ne=[1,87],Xt=[1,94],_e=[1,90],xe=[1,95],Mn=[1,86],ce=[8,9,10,11,73,75],Br=[8,9,10,11,44,73,75],we=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Fi=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],mi=[42,58,86,99,102,103,106,108,111,112,113],ga=[1,121],Ss=[1,120],za=[1,128],br=[1,142],An=[1,143],Nn=[1,144],Bn=[1,145],ke=[1,130],pe=[1,132],Je=[1,136],an=[1,137],xn=[1,138],qa=[1,139],xo=[1,140],ko=[1,141],va=[1,146],Ha=[1,147],ds=[1,126],Fu=[1,127],Zs=[1,134],d1=[1,129],I2=[1,133],ll=[1,131],Ic=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],wc=[1,149],Ea=[8,9,11],gu=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],ta=[1,169],fo=[1,165],mc=[1,166],ca=[1,170],ya=[1,167],ea=[1,168],Zl=[75,113,116],Uc=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],rm=[10,103],kh=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],Md=[1,235],w0=[1,233],Id=[1,237],m0=[1,231],hg=[1,232],Gi=[1,234],cn=[1,236],Nr=[1,238],Si=[1,255],vc=[8,9,11,103],Rc=[8,9,10,11,58,81,102,103,106,107,108,109],Eh={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeperator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,verticeStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(cs,As,to,Ci,pu,Le,iy){var $e=Le.length-1;switch(pu){case 2:this.$=[];break;case 3:(!Array.isArray(Le[$e])||Le[$e].length>0)&&Le[$e-1].push(Le[$e]),this.$=Le[$e-1];break;case 4:case 176:this.$=Le[$e];break;case 11:Ci.setDirection("TB"),this.$="TB";break;case 12:Ci.setDirection(Le[$e-1]),this.$=Le[$e-1];break;case 27:this.$=Le[$e-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=Ci.addSubGraph(Le[$e-6],Le[$e-1],Le[$e-4]);break;case 34:this.$=Ci.addSubGraph(Le[$e-3],Le[$e-1],Le[$e-3]);break;case 35:this.$=Ci.addSubGraph(void 0,Le[$e-1],void 0);break;case 37:this.$=Le[$e].trim(),Ci.setAccTitle(this.$);break;case 38:case 39:this.$=Le[$e].trim(),Ci.setAccDescription(this.$);break;case 43:Ci.addLink(Le[$e-2].stmt,Le[$e],Le[$e-1]),this.$={stmt:Le[$e],nodes:Le[$e].concat(Le[$e-2].nodes)};break;case 44:Ci.addLink(Le[$e-3].stmt,Le[$e-1],Le[$e-2]),this.$={stmt:Le[$e-1],nodes:Le[$e-1].concat(Le[$e-3].nodes)};break;case 45:this.$={stmt:Le[$e-1],nodes:Le[$e-1]};break;case 46:this.$={stmt:Le[$e],nodes:Le[$e]};break;case 47:this.$=[Le[$e]];break;case 48:this.$=Le[$e-4].concat(Le[$e]);break;case 49:this.$=Le[$e];break;case 50:this.$=Le[$e-2],Ci.setClass(Le[$e-2],Le[$e]);break;case 51:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"square");break;case 52:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"doublecircle");break;case 53:this.$=Le[$e-5],Ci.addVertex(Le[$e-5],Le[$e-2],"circle");break;case 54:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"ellipse");break;case 55:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"stadium");break;case 56:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"subroutine");break;case 57:this.$=Le[$e-7],Ci.addVertex(Le[$e-7],Le[$e-1],"rect",void 0,void 0,void 0,Object.fromEntries([[Le[$e-5],Le[$e-3]]]));break;case 58:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"cylinder");break;case 59:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"round");break;case 60:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"diamond");break;case 61:this.$=Le[$e-5],Ci.addVertex(Le[$e-5],Le[$e-2],"hexagon");break;case 62:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"odd");break;case 63:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"trapezoid");break;case 64:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"inv_trapezoid");break;case 65:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"lean_right");break;case 66:this.$=Le[$e-3],Ci.addVertex(Le[$e-3],Le[$e-1],"lean_left");break;case 67:this.$=Le[$e],Ci.addVertex(Le[$e]);break;case 68:Le[$e-1].text=Le[$e],this.$=Le[$e-1];break;case 69:case 70:Le[$e-2].text=Le[$e-1],this.$=Le[$e-2];break;case 71:this.$=Le[$e];break;case 72:var g1=Ci.destructLink(Le[$e],Le[$e-2]);this.$={type:g1.type,stroke:g1.stroke,length:g1.length,text:Le[$e-1]};break;case 73:this.$={text:Le[$e],type:"text"};break;case 74:this.$={text:Le[$e-1].text+""+Le[$e],type:Le[$e-1].type};break;case 75:this.$={text:Le[$e],type:"string"};break;case 76:this.$={text:Le[$e],type:"markdown"};break;case 77:var g1=Ci.destructLink(Le[$e]);this.$={type:g1.type,stroke:g1.stroke,length:g1.length};break;case 78:this.$=Le[$e-1];break;case 79:this.$={text:Le[$e],type:"text"};break;case 80:this.$={text:Le[$e-1].text+""+Le[$e],type:Le[$e-1].type};break;case 81:this.$={text:Le[$e],type:"string"};break;case 82:case 97:this.$={text:Le[$e],type:"markdown"};break;case 94:this.$={text:Le[$e],type:"text"};break;case 95:this.$={text:Le[$e-1].text+""+Le[$e],type:Le[$e-1].type};break;case 96:this.$={text:Le[$e],type:"text"};break;case 98:this.$=Le[$e-4],Ci.addClass(Le[$e-2],Le[$e]);break;case 99:this.$=Le[$e-4],Ci.setClass(Le[$e-2],Le[$e]);break;case 100:case 108:this.$=Le[$e-1],Ci.setClickEvent(Le[$e-1],Le[$e]);break;case 101:case 109:this.$=Le[$e-3],Ci.setClickEvent(Le[$e-3],Le[$e-2]),Ci.setTooltip(Le[$e-3],Le[$e]);break;case 102:this.$=Le[$e-2],Ci.setClickEvent(Le[$e-2],Le[$e-1],Le[$e]);break;case 103:this.$=Le[$e-4],Ci.setClickEvent(Le[$e-4],Le[$e-3],Le[$e-2]),Ci.setTooltip(Le[$e-4],Le[$e]);break;case 104:this.$=Le[$e-2],Ci.setLink(Le[$e-2],Le[$e]);break;case 105:this.$=Le[$e-4],Ci.setLink(Le[$e-4],Le[$e-2]),Ci.setTooltip(Le[$e-4],Le[$e]);break;case 106:this.$=Le[$e-4],Ci.setLink(Le[$e-4],Le[$e-2],Le[$e]);break;case 107:this.$=Le[$e-6],Ci.setLink(Le[$e-6],Le[$e-4],Le[$e]),Ci.setTooltip(Le[$e-6],Le[$e-2]);break;case 110:this.$=Le[$e-1],Ci.setLink(Le[$e-1],Le[$e]);break;case 111:this.$=Le[$e-3],Ci.setLink(Le[$e-3],Le[$e-2]),Ci.setTooltip(Le[$e-3],Le[$e]);break;case 112:this.$=Le[$e-3],Ci.setLink(Le[$e-3],Le[$e-2],Le[$e]);break;case 113:this.$=Le[$e-5],Ci.setLink(Le[$e-5],Le[$e-4],Le[$e]),Ci.setTooltip(Le[$e-5],Le[$e-2]);break;case 114:this.$=Le[$e-4],Ci.addVertex(Le[$e-2],void 0,void 0,Le[$e]);break;case 115:this.$=Le[$e-4],Ci.updateLink([Le[$e-2]],Le[$e]);break;case 116:this.$=Le[$e-4],Ci.updateLink(Le[$e-2],Le[$e]);break;case 117:this.$=Le[$e-8],Ci.updateLinkInterpolate([Le[$e-6]],Le[$e-2]),Ci.updateLink([Le[$e-6]],Le[$e]);break;case 118:this.$=Le[$e-8],Ci.updateLinkInterpolate(Le[$e-6],Le[$e-2]),Ci.updateLink(Le[$e-6],Le[$e]);break;case 119:this.$=Le[$e-6],Ci.updateLinkInterpolate([Le[$e-4]],Le[$e]);break;case 120:this.$=Le[$e-6],Ci.updateLinkInterpolate(Le[$e-4],Le[$e]);break;case 121:case 123:this.$=[Le[$e]];break;case 122:case 124:Le[$e-2].push(Le[$e]),this.$=Le[$e-2];break;case 126:this.$=Le[$e-1]+Le[$e];break;case 174:this.$=Le[$e];break;case 175:this.$=Le[$e-1]+""+Le[$e];break;case 177:this.$=Le[$e-1]+""+Le[$e];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:a,10:f,12:g},{1:[3]},i(w,v,{5:6}),{4:7,9:a,10:f,12:g},{4:8,9:a,10:f,12:g},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:b,9:E,10:S,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:M,33:24,34:F,36:R,38:B,40:28,41:38,42:z,43:39,45:40,58:Y,81:nt,82:ot,83:ft,84:wt,85:mt,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V,118:Ot,119:It,120:jt,121:xt},i(w,[2,9]),i(w,[2,10]),i(w,[2,11]),{8:[1,54],9:[1,55],10:Ft,15:53,18:56},i(Ct,[2,3]),i(Ct,[2,4]),i(Ct,[2,5]),i(Ct,[2,6]),i(Ct,[2,7]),i(Ct,[2,8]),{8:kt,9:Gt,11:Fe,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:kt,9:Gt,11:Fe,21:66},{8:kt,9:Gt,11:Fe,21:67},{8:kt,9:Gt,11:Fe,21:68},{8:kt,9:Gt,11:Fe,21:69},{8:kt,9:Gt,11:Fe,21:70},{8:kt,9:Gt,10:[1,71],11:Fe,21:72},i(Ct,[2,36]),{35:[1,73]},{37:[1,74]},i(Ct,[2,39]),i(Mt,[2,46],{18:75,10:Ft}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:pn,42:Ae,58:ye,77:[1,83],86:tn,92:[1,80],94:[1,81],98:82,102:sn,103:be,106:Ne,108:Xt,111:_e,112:xe,113:Mn,117:84},i(Ct,[2,178]),i(Ct,[2,179]),i(Ct,[2,180]),i(Ct,[2,181]),i(ce,[2,47]),i(ce,[2,49],{44:[1,96]}),i(Br,[2,67],{110:109,29:[1,97],42:z,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:Y,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:ct,99:rt,102:it,103:gt,106:Q,108:dt,111:K,112:yt,113:V}),i(we,[2,174]),i(we,[2,135]),i(we,[2,136]),i(we,[2,137]),i(we,[2,138]),i(we,[2,139]),i(we,[2,140]),i(we,[2,141]),i(we,[2,142]),i(we,[2,143]),i(we,[2,144]),i(we,[2,145]),i(w,[2,12]),i(w,[2,18]),i(w,[2,19]),{9:[1,110]},i(Fi,[2,26],{18:111,10:Ft}),i(Ct,[2,27]),{40:112,41:38,42:z,43:39,45:40,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V},i(Ct,[2,40]),i(Ct,[2,41]),i(Ct,[2,42]),i(mi,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:ga,116:Ss},i([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),i(Ct,[2,28]),i(Ct,[2,29]),i(Ct,[2,30]),i(Ct,[2,31]),i(Ct,[2,32]),{10:za,12:br,14:An,27:Nn,28:122,32:Bn,42:ke,58:pe,73:Je,77:[1,124],78:[1,125],80:135,81:an,82:xn,83:qa,84:xo,85:ko,86:va,87:Ha,88:123,102:ds,106:Fu,108:Zs,111:d1,112:I2,113:ll},i(Ic,v,{5:148}),i(Ct,[2,37]),i(Ct,[2,38]),i(Mt,[2,45],{42:wc}),{42:z,45:150,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V},{99:[1,151],100:152,102:[1,153]},{42:z,45:154,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V},{42:z,45:155,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V},i(Ea,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},i(Ea,[2,108],{117:160,10:[1,159],14:pn,42:Ae,58:ye,86:tn,102:sn,103:be,106:Ne,108:Xt,111:_e,112:xe,113:Mn}),i(Ea,[2,110],{10:[1,161]}),i(gu,[2,176]),i(gu,[2,163]),i(gu,[2,164]),i(gu,[2,165]),i(gu,[2,166]),i(gu,[2,167]),i(gu,[2,168]),i(gu,[2,169]),i(gu,[2,170]),i(gu,[2,171]),i(gu,[2,172]),i(gu,[2,173]),{42:z,45:162,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V},{30:163,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:171,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:173,48:[1,172],65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:174,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:175,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:176,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{106:[1,177]},{30:178,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:179,63:[1,180],65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:181,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:182,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{30:183,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},i(we,[2,175]),i(w,[2,20]),i(Fi,[2,25]),i(Mt,[2,43],{18:184,10:Ft}),i(mi,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{75:[1,188],76:189,113:ga,116:Ss},i(Zl,[2,73]),i(Zl,[2,75]),i(Zl,[2,76]),i(Zl,[2,161]),i(Zl,[2,162]),{8:kt,9:Gt,10:za,11:Fe,12:br,14:An,21:191,27:Nn,29:[1,190],32:Bn,42:ke,58:pe,73:Je,80:135,81:an,82:xn,83:qa,84:xo,85:ko,86:va,87:Ha,88:192,102:ds,106:Fu,108:Zs,111:d1,112:I2,113:ll},i(Uc,[2,94]),i(Uc,[2,96]),i(Uc,[2,97]),i(Uc,[2,150]),i(Uc,[2,151]),i(Uc,[2,152]),i(Uc,[2,153]),i(Uc,[2,154]),i(Uc,[2,155]),i(Uc,[2,156]),i(Uc,[2,157]),i(Uc,[2,158]),i(Uc,[2,159]),i(Uc,[2,160]),i(Uc,[2,83]),i(Uc,[2,84]),i(Uc,[2,85]),i(Uc,[2,86]),i(Uc,[2,87]),i(Uc,[2,88]),i(Uc,[2,89]),i(Uc,[2,90]),i(Uc,[2,91]),i(Uc,[2,92]),i(Uc,[2,93]),{6:11,7:12,8:b,9:E,10:S,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:M,32:[1,193],33:24,34:F,36:R,38:B,40:28,41:38,42:z,43:39,45:40,58:Y,81:nt,82:ot,83:ft,84:wt,85:mt,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V,118:Ot,119:It,120:jt,121:xt},{10:Ft,18:194},{10:[1,195],42:z,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:109,111:K,112:yt,113:V},{10:[1,196]},{10:[1,197],103:[1,198]},i(rm,[2,121]),{10:[1,199],42:z,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:109,111:K,112:yt,113:V},{10:[1,200],42:z,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:109,111:K,112:yt,113:V},{77:[1,201]},i(Ea,[2,102],{10:[1,202]}),i(Ea,[2,104],{10:[1,203]}),{77:[1,204]},i(gu,[2,177]),{77:[1,205],95:[1,206]},i(ce,[2,50],{110:109,42:z,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,111:K,112:yt,113:V}),{31:[1,207],65:ta,79:208,113:ca,114:ya,115:ea},i(kh,[2,79]),i(kh,[2,81]),i(kh,[2,82]),i(kh,[2,146]),i(kh,[2,147]),i(kh,[2,148]),i(kh,[2,149]),{47:[1,209],65:ta,79:208,113:ca,114:ya,115:ea},{30:210,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{49:[1,211],65:ta,79:208,113:ca,114:ya,115:ea},{51:[1,212],65:ta,79:208,113:ca,114:ya,115:ea},{53:[1,213],65:ta,79:208,113:ca,114:ya,115:ea},{55:[1,214],65:ta,79:208,113:ca,114:ya,115:ea},{58:[1,215]},{62:[1,216],65:ta,79:208,113:ca,114:ya,115:ea},{64:[1,217],65:ta,79:208,113:ca,114:ya,115:ea},{30:218,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},{31:[1,219],65:ta,79:208,113:ca,114:ya,115:ea},{65:ta,67:[1,220],69:[1,221],79:208,113:ca,114:ya,115:ea},{65:ta,67:[1,223],69:[1,222],79:208,113:ca,114:ya,115:ea},i(Mt,[2,44],{42:wc}),i(mi,[2,70]),i(mi,[2,69]),{60:[1,224],65:ta,79:208,113:ca,114:ya,115:ea},i(mi,[2,72]),i(Zl,[2,74]),{30:225,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},i(Ic,v,{5:226}),i(Uc,[2,95]),i(Ct,[2,35]),{41:227,42:z,43:39,45:40,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V},{10:Md,58:w0,81:Id,89:228,102:m0,104:229,105:230,106:hg,107:Gi,108:cn,109:Nr},{10:Md,58:w0,81:Id,89:239,101:[1,240],102:m0,104:229,105:230,106:hg,107:Gi,108:cn,109:Nr},{10:Md,58:w0,81:Id,89:241,101:[1,242],102:m0,104:229,105:230,106:hg,107:Gi,108:cn,109:Nr},{102:[1,243]},{10:Md,58:w0,81:Id,89:244,102:m0,104:229,105:230,106:hg,107:Gi,108:cn,109:Nr},{42:z,45:245,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V},i(Ea,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},i(Ea,[2,109]),i(Ea,[2,111],{10:[1,249]}),i(Ea,[2,112]),i(Br,[2,51]),i(kh,[2,80]),i(Br,[2,52]),{49:[1,250],65:ta,79:208,113:ca,114:ya,115:ea},i(Br,[2,59]),i(Br,[2,54]),i(Br,[2,55]),i(Br,[2,56]),{106:[1,251]},i(Br,[2,58]),i(Br,[2,60]),{64:[1,252],65:ta,79:208,113:ca,114:ya,115:ea},i(Br,[2,62]),i(Br,[2,63]),i(Br,[2,65]),i(Br,[2,64]),i(Br,[2,66]),i([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:ta,79:208,113:ca,114:ya,115:ea},{6:11,7:12,8:b,9:E,10:S,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:M,32:[1,254],33:24,34:F,36:R,38:B,40:28,41:38,42:z,43:39,45:40,58:Y,81:nt,82:ot,83:ft,84:wt,85:mt,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V,118:Ot,119:It,120:jt,121:xt},i(ce,[2,48]),i(Ea,[2,114],{103:Si}),i(vc,[2,123],{105:256,10:Md,58:w0,81:Id,102:m0,106:hg,107:Gi,108:cn,109:Nr}),i(Rc,[2,125]),i(Rc,[2,127]),i(Rc,[2,128]),i(Rc,[2,129]),i(Rc,[2,130]),i(Rc,[2,131]),i(Rc,[2,132]),i(Rc,[2,133]),i(Rc,[2,134]),i(Ea,[2,115],{103:Si}),{10:[1,257]},i(Ea,[2,116],{103:Si}),{10:[1,258]},i(rm,[2,122]),i(Ea,[2,98],{103:Si}),i(Ea,[2,99],{110:109,42:z,58:Y,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,111:K,112:yt,113:V}),i(Ea,[2,103]),i(Ea,[2,105],{10:[1,259]}),i(Ea,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:kt,9:Gt,11:Fe,21:264},i(Ct,[2,34]),{10:Md,58:w0,81:Id,102:m0,104:265,105:230,106:hg,107:Gi,108:cn,109:Nr},i(Rc,[2,126]),{14:pn,42:Ae,58:ye,86:tn,98:266,102:sn,103:be,106:Ne,108:Xt,111:_e,112:xe,113:Mn,117:84},{14:pn,42:Ae,58:ye,86:tn,98:267,102:sn,103:be,106:Ne,108:Xt,111:_e,112:xe,113:Mn,117:84},{95:[1,268]},i(Ea,[2,113]),i(Br,[2,53]),{30:269,65:ta,77:fo,78:mc,79:164,113:ca,114:ya,115:ea},i(Br,[2,61]),i(Ic,v,{5:270}),i(vc,[2,124],{105:256,10:Md,58:w0,81:Id,102:m0,106:hg,107:Gi,108:cn,109:Nr}),i(Ea,[2,119],{117:160,10:[1,271],14:pn,42:Ae,58:ye,86:tn,102:sn,103:be,106:Ne,108:Xt,111:_e,112:xe,113:Mn}),i(Ea,[2,120],{117:160,10:[1,272],14:pn,42:Ae,58:ye,86:tn,102:sn,103:be,106:Ne,108:Xt,111:_e,112:xe,113:Mn}),i(Ea,[2,107]),{31:[1,273],65:ta,79:208,113:ca,114:ya,115:ea},{6:11,7:12,8:b,9:E,10:S,11:_,20:17,22:18,23:19,24:20,25:21,26:22,27:M,32:[1,274],33:24,34:F,36:R,38:B,40:28,41:38,42:z,43:39,45:40,58:Y,81:nt,82:ot,83:ft,84:wt,85:mt,86:ct,99:rt,102:it,103:gt,106:Q,108:dt,110:41,111:K,112:yt,113:V,118:Ot,119:It,120:jt,121:xt},{10:Md,58:w0,81:Id,89:275,102:m0,104:229,105:230,106:hg,107:Gi,108:cn,109:Nr},{10:Md,58:w0,81:Id,89:276,102:m0,104:229,105:230,106:hg,107:Gi,108:cn,109:Nr},i(Br,[2,57]),i(Ct,[2,33]),i(Ea,[2,117],{103:Si}),i(Ea,[2,118],{103:Si})],defaultActions:{},parseError:function(cs,As){if(As.recoverable)this.trace(cs);else{var to=new Error(cs);throw to.hash=As,to}},parse:function(cs){var As=this,to=[0],Ci=[],pu=[null],Le=[],iy=this.table,$e="",g1=0,ip=0,sy=2,D8=1,g4=Le.slice.call(arguments,1),th=Object.create(this.lexer),fg={yy:{}};for(var O2 in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O2)&&(fg.yy[O2]=this.yy[O2]);th.setInput(cs,fg.yy),fg.yy.lexer=th,fg.yy.parser=this,typeof th.yylloc>"u"&&(th.yylloc={});var M8=th.yylloc;Le.push(M8);var N2=th.options&&th.options.ranges;typeof fg.yy.parseError=="function"?this.parseError=fg.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function p4(){var sp;return sp=Ci.pop()||th.lex()||D8,typeof sp!="number"&&(sp instanceof Array&&(Ci=sp,sp=Ci.pop()),sp=As.symbols_[sp]||sp),sp}for(var U1,Nd,Pd,I8,im={},Gx,hb,Kx,b4;;){if(Nd=to[to.length-1],this.defaultActions[Nd]?Pd=this.defaultActions[Nd]:((U1===null||typeof U1>"u")&&(U1=p4()),Pd=iy[Nd]&&iy[Nd][U1]),typeof Pd>"u"||!Pd.length||!Pd[0]){var ay="";b4=[];for(Gx in iy[Nd])this.terminals_[Gx]&&Gx>sy&&b4.push("'"+this.terminals_[Gx]+"'");th.showPosition?ay="Parse error on line "+(g1+1)+`:
108 `),b.style===void 0&&(M.style=M.style||"stroke: #333; stroke-width: 1.5px;fill:none"),M.labelStyle=M.labelStyle.replace("color:","fill:"))),M.id=E,M.class=S+" "+_,M.minlen=b.length||1,a.setEdge(f.db.lookUpDomId(b.start),f.db.lookUpDomId(b.end),M,g)})},wUe={setConf:bUe,addVertices:v$t,addEdges:y$t,getClasses:function(i,a){return Kt.info("Extracting classes"),a.db.getClasses()},draw:function(i,a,f,g){Kt.info("Drawing flowchart");const{securityLevel:w,flowchart:v}=Re();let b;w==="sandbox"&&(b=Tr("#i"+a));const E=Tr(w==="sandbox"?b.nodes()[0].contentDocument.body:"body"),S=w==="sandbox"?b.nodes()[0].contentDocument:document;let _=g.db.getDirection();_===void 0&&(_="TD");const M=v.nodeSpacing||50,F=v.rankSpacing||50,R=new l1({multigraph:!0,compound:!0}).setGraph({rankdir:_,nodesep:M,ranksep:F,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let B;const z=g.db.getSubGraphs();for(let rt=z.length-1;rt>=0;rt--)B=z[rt],g.db.addVertex(B.id,B.title,"group",void 0,B.classes);const Y=g.db.getVertices();Kt.warn("Get vertices",Y);const nt=g.db.getEdges();let ot=0;for(ot=z.length-1;ot>=0;ot--){B=z[ot],$Ot("cluster").append("text");for(let rt=0;rt<B.nodes.length;rt++)Kt.warn("Setting subgraph",B.nodes[rt],g.db.lookUpDomId(B.nodes[rt]),g.db.lookUpDomId(B.id)),R.setParent(g.db.lookUpDomId(B.nodes[rt]),g.db.lookUpDomId(B.id))}v$t(Y,R,a,E,S,g),y$t(nt,R,g);const ft=new cUe;pUe.addToRender(ft),ft.arrows().none=function(it,gt,Q,dt){const yt=it.append("marker").attr("id",gt).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 0 0 L 0 0 z");a4(yt,Q[dt+"Style"])},ft.arrows().normal=function(it,gt){it.append("marker").attr("id",gt).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowheadPath").style("stroke-width",1).style("stroke-dasharray","1,0")};const wt=E.select(`[id="${a}"]`),mt=E.select("#"+a+" g");for(ft(mt,R),mt.selectAll("g.node").attr("title",function(){return g.db.getTooltip(this.id)}),g.db.indexNodes("subGraph"+ot),ot=0;ot<z.length;ot++)if(B=z[ot],B.title!=="undefined"){const rt=S.querySelectorAll("#"+a+' [id="'+g.db.lookUpDomId(B.id)+'"] rect'),it=S.querySelectorAll("#"+a+' [id="'+g.db.lookUpDomId(B.id)+'"]'),gt=rt[0].x.baseVal.value,Q=rt[0].y.baseVal.value,dt=rt[0].width.baseVal.value,yt=Tr(it[0]).select(".label");yt.attr("transform",`translate(${gt+dt/2}, ${Q+14})`),yt.attr("id",a+"Text");for(let V=0;V<B.classes.length;V++)it[0].classList.add(B.classes[V])}if(!v.htmlLabels){const rt=S.querySelectorAll('[id="'+a+'"] .edgeLabel .label');for(const it of rt){const gt=it.getBBox(),Q=S.createElementNS("http://www.w3.org/2000/svg","rect");Q.setAttribute("rx",0),Q.setAttribute("ry",0),Q.setAttribute("width",gt.width),Q.setAttribute("height",gt.height),it.insertBefore(Q,it.firstChild)}}w8(R,wt,v.diagramPadding,v.useMaxWidth),Object.keys(Y).forEach(function(rt){const it=Y[rt];if(it.link){const gt=E.select("#"+a+' [id="'+g.db.lookUpDomId(rt)+'"]');if(gt){const Q=S.createElementNS("http://www.w3.org/2000/svg","a");Q.setAttributeNS("http://www.w3.org/2000/svg","class",it.classes.join(" ")),Q.setAttributeNS("http://www.w3.org/2000/svg","href",it.link),Q.setAttributeNS("http://www.w3.org/2000/svg","rel","noopener"),w==="sandbox"?Q.setAttributeNS("http://www.w3.org/2000/svg","target","_top"):it.linkTarget&&Q.setAttributeNS("http://www.w3.org/2000/svg","target",it.linkTarget);const dt=gt.insert(function(){return Q},":first-child"),K=gt.select(".label-container");K&&dt.append(function(){return K.node()});const yt=gt.select(".label");yt&&dt.append(function(){return yt.node()})}}})}};function jx(i){var a={options:{directed:i.isDirected(),multigraph:i.isMultigraph(),compound:i.isCompound()},nodes:mUe(i),edges:vUe(i)};return Tf(i.graph())||(a.value=fjt(i.graph())),a}function mUe(i){return u1(i.nodes(),function(a){var f=i.node(a),g=i.parent(a),w={v:a};return Tf(f)||(w.value=f),Tf(g)||(w.parent=g),w})}function vUe(i){return u1(i.edges(),function(a){var f=i.edge(a),g={v:a.v,w:a.w};return Tf(a.name)||(g.name=a.name),Tf(f)||(g.value=f),g})}const yUe=(i,a,f,g)=>{a.forEach(w=>{xUe[w](i,f,g)})},xUe={extension:(i,a,f)=>{Kt.trace("Making markers for ",f),i.append("defs").append("marker").attr("id",f+"_"+a+"-extensionStart").attr("class","marker extension "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-extensionEnd").attr("class","marker extension "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z")},composition:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-compositionStart").attr("class","marker composition "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-compositionEnd").attr("class","marker composition "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},aggregation:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-aggregationStart").attr("class","marker aggregation "+a).attr("refX",18).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-aggregationEnd").attr("class","marker aggregation "+a).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},dependency:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-dependencyStart").attr("class","marker dependency "+a).attr("refX",6).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id",f+"_"+a+"-dependencyEnd").attr("class","marker dependency "+a).attr("refX",13).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},lollipop:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-lollipopStart").attr("class","marker lollipop "+a).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),i.append("defs").append("marker").attr("id",f+"_"+a+"-lollipopEnd").attr("class","marker lollipop "+a).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("stroke","black").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6)},point:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-pointEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",6).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-pointStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 5 L 10 10 L 10 0 z").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},circle:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-circleEnd").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",11).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-circleStart").attr("class","marker "+a).attr("viewBox","0 0 10 10").attr("refX",-1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",1).style("stroke-dasharray","1,0")},cross:(i,a,f)=>{i.append("marker").attr("id",f+"_"+a+"-crossEnd").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",12).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0"),i.append("marker").attr("id",f+"_"+a+"-crossStart").attr("class","marker cross "+a).attr("viewBox","0 0 11 11").attr("refX",-1).attr("refY",5.2).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11).attr("markerHeight",11).attr("orient","auto").append("path").attr("d","M 1,1 l 9,9 M 10,1 l -9,9").attr("class","arrowMarkerPath").style("stroke-width",2).style("stroke-dasharray","1,0")},barb:(i,a,f)=>{i.append("defs").append("marker").attr("id",f+"_"+a+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","strokeWidth").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")}},jpt=yUe;function kUe(i,a){a&&i.attr("style",a)}function EUe(i){const a=Tr(document.createElementNS("http://www.w3.org/2000/svg","foreignObject")),f=a.append("xhtml:div"),g=i.label,w=i.isNode?"nodeLabel":"edgeLabel";return f.html('<span class="'+w+'" '+(i.labelStyle?'style="'+i.labelStyle+'"':"")+">"+g+"</span>"),kUe(f,i.labelStyle),f.style("display","inline-block"),f.style("white-space","nowrap"),f.attr("xmlns","http://www.w3.org/1999/xhtml"),a.node()}const ab=(i,a,f,g)=>{let w=i||"";if(typeof w=="object"&&(w=w[0]),j1(Re().flowchart.htmlLabels)){w=w.replace(/\\n|\n/g,"<br />"),Kt.debug("vertexText"+w);const v={isNode:g,label:IF(w).replace(/fa[blrs]?:fa-[\w-]+/g,E=>`<i class='${E.replace(":"," ")}'></i>`),labelStyle:a.replace("fill:","color:")};return EUe(v)}else{const v=document.createElementNS("http://www.w3.org/2000/svg","text");v.setAttribute("style",a.replace("color:","fill:"));let b=[];typeof w=="string"?b=w.split(/\\n|\n|<br\s*\/?>/gi):Array.isArray(w)?b=w:b=[];for(const E of b){const S=document.createElementNS("http://www.w3.org/2000/svg","tspan");S.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),S.setAttribute("dy","1em"),S.setAttribute("x","0"),f?S.setAttribute("class","title-row"):S.setAttribute("class","row"),S.textContent=E.trim(),v.appendChild(S)}return v}},TUe={};function CUe(i,a){const f=a||TUe,g=typeof f.includeImageAlt=="boolean"?f.includeImageAlt:!0,w=typeof f.includeHtml=="boolean"?f.includeHtml:!0;return x$t(i,g,w)}function x$t(i,a,f){if(SUe(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 k$t(i.children,a,f)}return Array.isArray(i)?k$t(i,a,f):""}function k$t(i,a,f){const g=[];let w=-1;for(;++w<i.length;)g[w]=x$t(i[w],a,f);return g.join("")}function SUe(i){return!!(i&&typeof i=="object")}function c4(i,a,f,g){const w=i.length;let v=0,b;if(a<0?a=-a>w?0:w+a:a=a>w?w:a,f=f>0?f:0,g.length<1e4)b=Array.from(g),b.unshift(a,f),i.splice(...b);else for(f&&i.splice(a,f);v<g.length;)b=g.slice(v,v+1e4),b.unshift(a,0),i.splice(...b),v+=1e4,a+=1e4}function tm(i,a){return i.length>0?(c4(i,i.length,0,a),i):a}const E$t={}.hasOwnProperty;function _Ue(i){const a={};let f=-1;for(;++f<i.length;)AUe(a,i[f]);return a}function AUe(i,a){let f;for(f in a){const w=(E$t.call(i,f)?i[f]:void 0)||(i[f]={}),v=a[f];let b;if(v)for(b in v){E$t.call(w,b)||(w[b]=[]);const E=v[b];LUe(w[b],Array.isArray(E)?E:E?[E]:[])}}}function LUe(i,a){let f=-1;const g=[];for(;++f<a.length;)(a[f].add==="after"?i:g).push(a[f]);c4(i,0,0,g)}const DUe=/[!-\/:-@\[-`\{-~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]/,u4=E8(/[A-Za-z]/),Zv=E8(/[\dA-Za-z]/),MUe=E8(/[#-'*+\--9=?A-Z^-~]/);function $pt(i){return i!==null&&(i<32||i===127)}const zpt=E8(/\d/),IUe=E8(/[\dA-Fa-f]/),OUe=E8(/[!-/:-@[-`{-~]/);function $a(i){return i!==null&&i<-2}function ob(i){return i!==null&&(i<0||i===32)}function du(i){return i===-2||i===-1||i===32}const NUe=E8(DUe),PUe=E8(/\s/);function E8(i){return a;function a(f){return f!==null&&i.test(String.fromCharCode(f))}}function Cl(i,a,f,g){const w=g?g-1:Number.POSITIVE_INFINITY;let v=0;return b;function b(S){return du(S)?(i.enter(f),E(S)):a(S)}function E(S){return du(S)&&v++<w?(i.consume(S),E):(i.exit(f),a(S))}}const FUe={tokenize:BUe};function BUe(i){const a=i.attempt(this.parser.constructs.contentInitial,g,w);let f;return a;function g(E){if(E===null){i.consume(E);return}return i.enter("lineEnding"),i.consume(E),i.exit("lineEnding"),Cl(i,a,"linePrefix")}function w(E){return i.enter("paragraph"),v(E)}function v(E){const S=i.enter("chunkText",{contentType:"text",previous:f});return f&&(f.next=S),f=S,b(E)}function b(E){if(E===null){i.exit("chunkText"),i.exit("paragraph"),i.consume(E);return}return $a(E)?(i.consume(E),i.exit("chunkText"),v):(i.consume(E),b)}}const RUe={tokenize:jUe},T$t={tokenize:$Ue};function jUe(i){const a=this,f=[];let g=0,w,v,b;return E;function E(wt){if(g<f.length){const mt=f[g];return a.containerState=mt[1],i.attempt(mt[0].continuation,S,_)(wt)}return _(wt)}function S(wt){if(g++,a.containerState._closeFlow){a.containerState._closeFlow=void 0,w&&ft();const mt=a.events.length;let ct=mt,rt;for(;ct--;)if(a.events[ct][0]==="exit"&&a.events[ct][1].type==="chunkFlow"){rt=a.events[ct][1].end;break}ot(g);let it=mt;for(;it<a.events.length;)a.events[it][1].end=Object.assign({},rt),it++;return c4(a.events,ct+1,0,a.events.slice(mt)),a.events.length=it,_(wt)}return E(wt)}function _(wt){if(g===f.length){if(!w)return R(wt);if(w.currentConstruct&&w.currentConstruct.concrete)return z(wt);a.interrupt=!!(w.currentConstruct&&!w._gfmTableDynamicInterruptHack)}return a.containerState={},i.check(T$t,M,F)(wt)}function M(wt){return w&&ft(),ot(g),R(wt)}function F(wt){return a.parser.lazy[a.now().line]=g!==f.length,b=a.now().offset,z(wt)}function R(wt){return a.containerState={},i.attempt(T$t,B,z)(wt)}function B(wt){return g++,f.push([a.currentConstruct,a.containerState]),R(wt)}function z(wt){if(wt===null){w&&ft(),ot(0),i.consume(wt);return}return w=w||a.parser.flow(a.now()),i.enter("chunkFlow",{contentType:"flow",previous:v,_tokenizer:w}),Y(wt)}function Y(wt){if(wt===null){nt(i.exit("chunkFlow"),!0),ot(0),i.consume(wt);return}return $a(wt)?(i.consume(wt),nt(i.exit("chunkFlow")),g=0,a.interrupt=void 0,E):(i.consume(wt),Y)}function nt(wt,mt){const ct=a.sliceStream(wt);if(mt&&ct.push(null),wt.previous=v,v&&(v.next=wt),v=wt,w.defineSkip(wt.start),w.write(ct),a.parser.lazy[wt.start.line]){let rt=w.events.length;for(;rt--;)if(w.events[rt][1].start.offset<b&&(!w.events[rt][1].end||w.events[rt][1].end.offset>b))return;const it=a.events.length;let gt=it,Q,dt;for(;gt--;)if(a.events[gt][0]==="exit"&&a.events[gt][1].type==="chunkFlow"){if(Q){dt=a.events[gt][1].end;break}Q=!0}for(ot(g),rt=it;rt<a.events.length;)a.events[rt][1].end=Object.assign({},dt),rt++;c4(a.events,gt+1,0,a.events.slice(it)),a.events.length=rt}}function ot(wt){let mt=f.length;for(;mt-- >wt;){const ct=f[mt];a.containerState=ct[1],ct[0].exit.call(a,i)}f.length=wt}function ft(){w.write([null]),v=void 0,w=void 0,a.containerState._closeFlow=void 0}}function $Ue(i,a,f){return Cl(i,i.attempt(this.parser.constructs.document,a,f),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function C$t(i){if(i===null||ob(i)||PUe(i))return 1;if(NUe(i))return 2}function qpt(i,a,f){const g=[];let w=-1;for(;++w<i.length;){const v=i[w].resolveAll;v&&!g.includes(v)&&(a=v(a,f),g.push(v))}return a}const Hpt={name:"attention",tokenize:qUe,resolveAll:zUe};function zUe(i,a){let f=-1,g,w,v,b,E,S,_,M;for(;++f<i.length;)if(i[f][0]==="enter"&&i[f][1].type==="attentionSequence"&&i[f][1]._close){for(g=f;g--;)if(i[g][0]==="exit"&&i[g][1].type==="attentionSequence"&&i[g][1]._open&&a.sliceSerialize(i[g][1]).charCodeAt(0)===a.sliceSerialize(i[f][1]).charCodeAt(0)){if((i[g][1]._close||i[f][1]._open)&&(i[f][1].end.offset-i[f][1].start.offset)%3&&!((i[g][1].end.offset-i[g][1].start.offset+i[f][1].end.offset-i[f][1].start.offset)%3))continue;S=i[g][1].end.offset-i[g][1].start.offset>1&&i[f][1].end.offset-i[f][1].start.offset>1?2:1;const F=Object.assign({},i[g][1].end),R=Object.assign({},i[f][1].start);S$t(F,-S),S$t(R,S),b={type:S>1?"strongSequence":"emphasisSequence",start:F,end:Object.assign({},i[g][1].end)},E={type:S>1?"strongSequence":"emphasisSequence",start:Object.assign({},i[f][1].start),end:R},v={type:S>1?"strongText":"emphasisText",start:Object.assign({},i[g][1].end),end:Object.assign({},i[f][1].start)},w={type:S>1?"strong":"emphasis",start:Object.assign({},b.start),end:Object.assign({},E.end)},i[g][1].end=Object.assign({},b.start),i[f][1].start=Object.assign({},E.end),_=[],i[g][1].end.offset-i[g][1].start.offset&&(_=tm(_,[["enter",i[g][1],a],["exit",i[g][1],a]])),_=tm(_,[["enter",w,a],["enter",b,a],["exit",b,a],["enter",v,a]]),_=tm(_,qpt(a.parser.constructs.insideSpan.null,i.slice(g+1,f),a)),_=tm(_,[["exit",v,a],["enter",E,a],["exit",E,a],["exit",w,a]]),i[f][1].end.offset-i[f][1].start.offset?(M=2,_=tm(_,[["enter",i[f][1],a],["exit",i[f][1],a]])):M=0,c4(i,g-1,f-g+3,_),f=g+_.length-M-2;break}}for(f=-1;++f<i.length;)i[f][1].type==="attentionSequence"&&(i[f][1].type="data");return i}function qUe(i,a){const f=this.parser.constructs.attentionMarkers.null,g=this.previous,w=C$t(g);let v;return b;function b(S){return v=S,i.enter("attentionSequence"),E(S)}function E(S){if(S===v)return i.consume(S),E;const _=i.exit("attentionSequence"),M=C$t(S),F=!M||M===2&&w||f.includes(S),R=!w||w===2&&M||f.includes(g);return _._open=!!(v===42?F:F&&(w||!R)),_._close=!!(v===42?R:R&&(M||!F)),a(S)}}function S$t(i,a){i.column+=a,i.offset+=a,i._bufferIndex+=a}const HUe={name:"autolink",tokenize:VUe};function VUe(i,a,f){let g=0;return w;function w(B){return i.enter("autolink"),i.enter("autolinkMarker"),i.consume(B),i.exit("autolinkMarker"),i.enter("autolinkProtocol"),v}function v(B){return u4(B)?(i.consume(B),b):_(B)}function b(B){return B===43||B===45||B===46||Zv(B)?(g=1,E(B)):_(B)}function E(B){return B===58?(i.consume(B),g=0,S):(B===43||B===45||B===46||Zv(B))&&g++<32?(i.consume(B),E):(g=0,_(B))}function S(B){return B===62?(i.exit("autolinkProtocol"),i.enter("autolinkMarker"),i.consume(B),i.exit("autolinkMarker"),i.exit("autolink"),a):B===null||B===32||B===60||$pt(B)?f(B):(i.consume(B),S)}function _(B){return B===64?(i.consume(B),M):MUe(B)?(i.consume(B),_):f(B)}function M(B){return Zv(B)?F(B):f(B)}function F(B){return B===46?(i.consume(B),g=0,M):B===62?(i.exit("autolinkProtocol").type="autolinkEmail",i.enter("autolinkMarker"),i.consume(B),i.exit("autolinkMarker"),i.exit("autolink"),a):R(B)}function R(B){if((B===45||Zv(B))&&g++<63){const z=B===45?R:F;return i.consume(B),z}return f(B)}}const XY={tokenize:UUe,partial:!0};function UUe(i,a,f){return g;function g(v){return du(v)?Cl(i,w,"linePrefix")(v):w(v)}function w(v){return v===null||$a(v)?a(v):f(v)}}const _$t={name:"blockQuote",tokenize:GUe,continuation:{tokenize:KUe},exit:WUe};function GUe(i,a,f){const g=this;return w;function w(b){if(b===62){const E=g.containerState;return E.open||(i.enter("blockQuote",{_container:!0}),E.open=!0),i.enter("blockQuotePrefix"),i.enter("blockQuoteMarker"),i.consume(b),i.exit("blockQuoteMarker"),v}return f(b)}function v(b){return du(b)?(i.enter("blockQuotePrefixWhitespace"),i.consume(b),i.exit("blockQuotePrefixWhitespace"),i.exit("blockQuotePrefix"),a):(i.exit("blockQuotePrefix"),a(b))}}function KUe(i,a,f){const g=this;return w;function w(b){return du(b)?Cl(i,v,"linePrefix",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(b):v(b)}function v(b){return i.attempt(_$t,a,f)(b)}}function WUe(i){i.exit("blockQuote")}const A$t={name:"characterEscape",tokenize:YUe};function YUe(i,a,f){return g;function g(v){return i.enter("characterEscape"),i.enter("escapeMarker"),i.consume(v),i.exit("escapeMarker"),w}function w(v){return OUe(v)?(i.enter("characterEscapeValue"),i.consume(v),i.exit("characterEscapeValue"),i.exit("characterEscape"),a):f(v)}}const L$t=document.createElement("i");function Vpt(i){const a="&"+i+";";L$t.innerHTML=a;const f=L$t.textContent;return f.charCodeAt(f.length-1)===59&&i!=="semi"||f===a?!1:f}const D$t={name:"characterReference",tokenize:XUe};function XUe(i,a,f){const g=this;let w=0,v,b;return E;function E(F){return i.enter("characterReference"),i.enter("characterReferenceMarker"),i.consume(F),i.exit("characterReferenceMarker"),S}function S(F){return F===35?(i.enter("characterReferenceMarkerNumeric"),i.consume(F),i.exit("characterReferenceMarkerNumeric"),_):(i.enter("characterReferenceValue"),v=31,b=Zv,M(F))}function _(F){return F===88||F===120?(i.enter("characterReferenceMarkerHexadecimal"),i.consume(F),i.exit("characterReferenceMarkerHexadecimal"),i.enter("characterReferenceValue"),v=6,b=IUe,M):(i.enter("characterReferenceValue"),v=7,b=zpt,M(F))}function M(F){if(F===59&&w){const R=i.exit("characterReferenceValue");return b===Zv&&!Vpt(g.sliceSerialize(R))?f(F):(i.enter("characterReferenceMarker"),i.consume(F),i.exit("characterReferenceMarker"),i.exit("characterReference"),a)}return b(F)&&w++<v?(i.consume(F),M):f(F)}}const M$t={tokenize:JUe,partial:!0},I$t={name:"codeFenced",tokenize:QUe,concrete:!0};function QUe(i,a,f){const g=this,w={tokenize:ct,partial:!0};let v=0,b=0,E;return S;function S(rt){return _(rt)}function _(rt){const it=g.events[g.events.length-1];return v=it&&it[1].type==="linePrefix"?it[2].sliceSerialize(it[1],!0).length:0,E=rt,i.enter("codeFenced"),i.enter("codeFencedFence"),i.enter("codeFencedFenceSequence"),M(rt)}function M(rt){return rt===E?(b++,i.consume(rt),M):b<3?f(rt):(i.exit("codeFencedFenceSequence"),du(rt)?Cl(i,F,"whitespace")(rt):F(rt))}function F(rt){return rt===null||$a(rt)?(i.exit("codeFencedFence"),g.interrupt?a(rt):i.check(M$t,Y,mt)(rt)):(i.enter("codeFencedFenceInfo"),i.enter("chunkString",{contentType:"string"}),R(rt))}function R(rt){return rt===null||$a(rt)?(i.exit("chunkString"),i.exit("codeFencedFenceInfo"),F(rt)):du(rt)?(i.exit("chunkString"),i.exit("codeFencedFenceInfo"),Cl(i,B,"whitespace")(rt)):rt===96&&rt===E?f(rt):(i.consume(rt),R)}function B(rt){return rt===null||$a(rt)?F(rt):(i.enter("codeFencedFenceMeta"),i.enter("chunkString",{contentType:"string"}),z(rt))}function z(rt){return rt===null||$a(rt)?(i.exit("chunkString"),i.exit("codeFencedFenceMeta"),F(rt)):rt===96&&rt===E?f(rt):(i.consume(rt),z)}function Y(rt){return i.attempt(w,mt,nt)(rt)}function nt(rt){return i.enter("lineEnding"),i.consume(rt),i.exit("lineEnding"),ot}function ot(rt){return v>0&&du(rt)?Cl(i,ft,"linePrefix",v+1)(rt):ft(rt)}function ft(rt){return rt===null||$a(rt)?i.check(M$t,Y,mt)(rt):(i.enter("codeFlowValue"),wt(rt))}function wt(rt){return rt===null||$a(rt)?(i.exit("codeFlowValue"),ft(rt)):(i.consume(rt),wt)}function mt(rt){return i.exit("codeFenced"),a(rt)}function ct(rt,it,gt){let Q=0;return dt;function dt(It){return rt.enter("lineEnding"),rt.consume(It),rt.exit("lineEnding"),K}function K(It){return rt.enter("codeFencedFence"),du(It)?Cl(rt,yt,"linePrefix",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(It):yt(It)}function yt(It){return It===E?(rt.enter("codeFencedFenceSequence"),V(It)):gt(It)}function V(It){return It===E?(Q++,rt.consume(It),V):Q>=b?(rt.exit("codeFencedFenceSequence"),du(It)?Cl(rt,Ot,"whitespace")(It):Ot(It)):gt(It)}function Ot(It){return It===null||$a(It)?(rt.exit("codeFencedFence"),it(It)):gt(It)}}}function JUe(i,a,f){const g=this;return w;function w(b){return b===null?f(b):(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v)}function v(b){return g.parser.lazy[g.now().line]?f(b):a(b)}}const Upt={name:"codeIndented",tokenize:tGe},ZUe={tokenize:eGe,partial:!0};function tGe(i,a,f){const g=this;return w;function w(_){return i.enter("codeIndented"),Cl(i,v,"linePrefix",4+1)(_)}function v(_){const M=g.events[g.events.length-1];return M&&M[1].type==="linePrefix"&&M[2].sliceSerialize(M[1],!0).length>=4?b(_):f(_)}function b(_){return _===null?S(_):$a(_)?i.attempt(ZUe,b,S)(_):(i.enter("codeFlowValue"),E(_))}function E(_){return _===null||$a(_)?(i.exit("codeFlowValue"),b(_)):(i.consume(_),E)}function S(_){return i.exit("codeIndented"),a(_)}}function eGe(i,a,f){const g=this;return w;function w(b){return g.parser.lazy[g.now().line]?f(b):$a(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),w):Cl(i,v,"linePrefix",4+1)(b)}function v(b){const E=g.events[g.events.length-1];return E&&E[1].type==="linePrefix"&&E[2].sliceSerialize(E[1],!0).length>=4?a(b):$a(b)?w(b):f(b)}}const nGe={name:"codeText",tokenize:sGe,resolve:rGe,previous:iGe};function rGe(i){let a=i.length-4,f=3,g,w;if((i[f][1].type==="lineEnding"||i[f][1].type==="space")&&(i[a][1].type==="lineEnding"||i[a][1].type==="space")){for(g=f;++g<a;)if(i[g][1].type==="codeTextData"){i[f][1].type="codeTextPadding",i[a][1].type="codeTextPadding",f+=2,a-=2;break}}for(g=f-1,a++;++g<=a;)w===void 0?g!==a&&i[g][1].type!=="lineEnding"&&(w=g):(g===a||i[g][1].type==="lineEnding")&&(i[w][1].type="codeTextData",g!==w+2&&(i[w][1].end=i[g-1][1].end,i.splice(w+2,g-w-2),a-=g-w-2,g=w+2),w=void 0);return i}function iGe(i){return i!==96||this.events[this.events.length-1][1].type==="characterEscape"}function sGe(i,a,f){let g=0,w,v;return b;function b(F){return i.enter("codeText"),i.enter("codeTextSequence"),E(F)}function E(F){return F===96?(i.consume(F),g++,E):(i.exit("codeTextSequence"),S(F))}function S(F){return F===null?f(F):F===32?(i.enter("space"),i.consume(F),i.exit("space"),S):F===96?(v=i.enter("codeTextSequence"),w=0,M(F)):$a(F)?(i.enter("lineEnding"),i.consume(F),i.exit("lineEnding"),S):(i.enter("codeTextData"),_(F))}function _(F){return F===null||F===32||F===96||$a(F)?(i.exit("codeTextData"),S(F)):(i.consume(F),_)}function M(F){return F===96?(i.consume(F),w++,M):w===g?(i.exit("codeTextSequence"),i.exit("codeText"),a(F)):(v.type="codeTextData",_(F))}}function O$t(i){const a={};let f=-1,g,w,v,b,E,S,_;for(;++f<i.length;){for(;f in a;)f=a[f];if(g=i[f],f&&g[1].type==="chunkFlow"&&i[f-1][1].type==="listItemPrefix"&&(S=g[1]._tokenizer.events,v=0,v<S.length&&S[v][1].type==="lineEndingBlank"&&(v+=2),v<S.length&&S[v][1].type==="content"))for(;++v<S.length&&S[v][1].type!=="content";)S[v][1].type==="chunkText"&&(S[v][1]._isInFirstContentOfListItem=!0,v++);if(g[0]==="enter")g[1].contentType&&(Object.assign(a,aGe(i,f)),f=a[f],_=!0);else if(g[1]._container){for(v=f,w=void 0;v--&&(b=i[v],b[1].type==="lineEnding"||b[1].type==="lineEndingBlank");)b[0]==="enter"&&(w&&(i[w][1].type="lineEndingBlank"),b[1].type="lineEnding",w=v);w&&(g[1].end=Object.assign({},i[w][1].start),E=i.slice(w,f),E.unshift(g),c4(i,w,f-w+1,E))}}return!_}function aGe(i,a){const f=i[a][1],g=i[a][2];let w=a-1;const v=[],b=f._tokenizer||g.parser[f.contentType](f.start),E=b.events,S=[],_={};let M,F,R=-1,B=f,z=0,Y=0;const nt=[Y];for(;B;){for(;i[++w][1]!==B;);v.push(w),B._tokenizer||(M=g.sliceStream(B),B.next||M.push(null),F&&b.defineSkip(B.start),B._isInFirstContentOfListItem&&(b._gfmTasklistFirstContentOfListItem=!0),b.write(M),B._isInFirstContentOfListItem&&(b._gfmTasklistFirstContentOfListItem=void 0)),F=B,B=B.next}for(B=f;++R<E.length;)E[R][0]==="exit"&&E[R-1][0]==="enter"&&E[R][1].type===E[R-1][1].type&&E[R][1].start.line!==E[R][1].end.line&&(Y=R+1,nt.push(Y),B._tokenizer=void 0,B.previous=void 0,B=B.next);for(b.events=[],B?(B._tokenizer=void 0,B.previous=void 0):nt.pop(),R=nt.length;R--;){const ot=E.slice(nt[R],nt[R+1]),ft=v.pop();S.unshift([ft,ft+ot.length-1]),c4(i,ft,2,ot)}for(R=-1;++R<S.length;)_[z+S[R][0]]=z+S[R][1],z+=S[R][1]-S[R][0]-1;return _}const oGe={tokenize:lGe,resolve:uGe},cGe={tokenize:hGe,partial:!0};function uGe(i){return O$t(i),i}function lGe(i,a){let f;return g;function g(E){return i.enter("content"),f=i.enter("chunkContent",{contentType:"content"}),w(E)}function w(E){return E===null?v(E):$a(E)?i.check(cGe,b,v)(E):(i.consume(E),w)}function v(E){return i.exit("chunkContent"),i.exit("content"),a(E)}function b(E){return i.consume(E),i.exit("chunkContent"),f.next=i.enter("chunkContent",{contentType:"content",previous:f}),f=f.next,w}}function hGe(i,a,f){const g=this;return w;function w(b){return i.exit("chunkContent"),i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),Cl(i,v,"linePrefix")}function v(b){if(b===null||$a(b))return f(b);const E=g.events[g.events.length-1];return!g.parser.constructs.disable.null.includes("codeIndented")&&E&&E[1].type==="linePrefix"&&E[2].sliceSerialize(E[1],!0).length>=4?a(b):i.interrupt(g.parser.constructs.flow,f,a)(b)}}function N$t(i,a,f,g,w,v,b,E,S){const _=S||Number.POSITIVE_INFINITY;let M=0;return F;function F(ot){return ot===60?(i.enter(g),i.enter(w),i.enter(v),i.consume(ot),i.exit(v),R):ot===null||ot===32||ot===41||$pt(ot)?f(ot):(i.enter(g),i.enter(b),i.enter(E),i.enter("chunkString",{contentType:"string"}),Y(ot))}function R(ot){return ot===62?(i.enter(v),i.consume(ot),i.exit(v),i.exit(w),i.exit(g),a):(i.enter(E),i.enter("chunkString",{contentType:"string"}),B(ot))}function B(ot){return ot===62?(i.exit("chunkString"),i.exit(E),R(ot)):ot===null||ot===60||$a(ot)?f(ot):(i.consume(ot),ot===92?z:B)}function z(ot){return ot===60||ot===62||ot===92?(i.consume(ot),B):B(ot)}function Y(ot){return!M&&(ot===null||ot===41||ob(ot))?(i.exit("chunkString"),i.exit(E),i.exit(b),i.exit(g),a(ot)):M<_&&ot===40?(i.consume(ot),M++,Y):ot===41?(i.consume(ot),M--,Y):ot===null||ot===32||ot===40||$pt(ot)?f(ot):(i.consume(ot),ot===92?nt:Y)}function nt(ot){return ot===40||ot===41||ot===92?(i.consume(ot),Y):Y(ot)}}function P$t(i,a,f,g,w,v){const b=this;let E=0,S;return _;function _(B){return i.enter(g),i.enter(w),i.consume(B),i.exit(w),i.enter(v),M}function M(B){return E>999||B===null||B===91||B===93&&!S||B===94&&!E&&"_hiddenFootnoteSupport"in b.parser.constructs?f(B):B===93?(i.exit(v),i.enter(w),i.consume(B),i.exit(w),i.exit(g),a):$a(B)?(i.enter("lineEnding"),i.consume(B),i.exit("lineEnding"),M):(i.enter("chunkString",{contentType:"string"}),F(B))}function F(B){return B===null||B===91||B===93||$a(B)||E++>999?(i.exit("chunkString"),M(B)):(i.consume(B),S||(S=!du(B)),B===92?R:F)}function R(B){return B===91||B===92||B===93?(i.consume(B),E++,F):F(B)}}function F$t(i,a,f,g,w,v){let b;return E;function E(R){return R===34||R===39||R===40?(i.enter(g),i.enter(w),i.consume(R),i.exit(w),b=R===40?41:R,S):f(R)}function S(R){return R===b?(i.enter(w),i.consume(R),i.exit(w),i.exit(g),a):(i.enter(v),_(R))}function _(R){return R===b?(i.exit(v),S(b)):R===null?f(R):$a(R)?(i.enter("lineEnding"),i.consume(R),i.exit("lineEnding"),Cl(i,_,"linePrefix")):(i.enter("chunkString",{contentType:"string"}),M(R))}function M(R){return R===b||R===null||$a(R)?(i.exit("chunkString"),_(R)):(i.consume(R),R===92?F:M)}function F(R){return R===b||R===92?(i.consume(R),M):M(R)}}function ZF(i,a){let f;return g;function g(w){return $a(w)?(i.enter("lineEnding"),i.consume(w),i.exit("lineEnding"),f=!0,g):du(w)?Cl(i,g,f?"linePrefix":"lineSuffix")(w):a(w)}}function ED(i){return i.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const fGe={name:"definition",tokenize:gGe},dGe={tokenize:pGe,partial:!0};function gGe(i,a,f){const g=this;let w;return v;function v(B){return i.enter("definition"),b(B)}function b(B){return P$t.call(g,i,E,f,"definitionLabel","definitionLabelMarker","definitionLabelString")(B)}function E(B){return w=ED(g.sliceSerialize(g.events[g.events.length-1][1]).slice(1,-1)),B===58?(i.enter("definitionMarker"),i.consume(B),i.exit("definitionMarker"),S):f(B)}function S(B){return ob(B)?ZF(i,_)(B):_(B)}function _(B){return N$t(i,M,f,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(B)}function M(B){return i.attempt(dGe,F,F)(B)}function F(B){return du(B)?Cl(i,R,"whitespace")(B):R(B)}function R(B){return B===null||$a(B)?(i.exit("definition"),g.parser.defined.push(w),a(B)):f(B)}}function pGe(i,a,f){return g;function g(E){return ob(E)?ZF(i,w)(E):f(E)}function w(E){return F$t(i,v,f,"definitionTitle","definitionTitleMarker","definitionTitleString")(E)}function v(E){return du(E)?Cl(i,b,"whitespace")(E):b(E)}function b(E){return E===null||$a(E)?a(E):f(E)}}const bGe={name:"hardBreakEscape",tokenize:wGe};function wGe(i,a,f){return g;function g(v){return i.enter("hardBreakEscape"),i.consume(v),w}function w(v){return $a(v)?(i.exit("hardBreakEscape"),a(v)):f(v)}}const mGe={name:"headingAtx",tokenize:yGe,resolve:vGe};function vGe(i,a){let f=i.length-2,g=3,w,v;return i[g][1].type==="whitespace"&&(g+=2),f-2>g&&i[f][1].type==="whitespace"&&(f-=2),i[f][1].type==="atxHeadingSequence"&&(g===f-1||f-4>g&&i[f-2][1].type==="whitespace")&&(f-=g+1===f?2:4),f>g&&(w={type:"atxHeadingText",start:i[g][1].start,end:i[f][1].end},v={type:"chunkText",start:i[g][1].start,end:i[f][1].end,contentType:"text"},c4(i,g,f-g+1,[["enter",w,a],["enter",v,a],["exit",v,a],["exit",w,a]])),i}function yGe(i,a,f){let g=0;return w;function w(M){return i.enter("atxHeading"),v(M)}function v(M){return i.enter("atxHeadingSequence"),b(M)}function b(M){return M===35&&g++<6?(i.consume(M),b):M===null||ob(M)?(i.exit("atxHeadingSequence"),E(M)):f(M)}function E(M){return M===35?(i.enter("atxHeadingSequence"),S(M)):M===null||$a(M)?(i.exit("atxHeading"),a(M)):du(M)?Cl(i,E,"whitespace")(M):(i.enter("atxHeadingText"),_(M))}function S(M){return M===35?(i.consume(M),S):(i.exit("atxHeadingSequence"),E(M))}function _(M){return M===null||M===35||ob(M)?(i.exit("atxHeadingText"),E(M)):(i.consume(M),_)}}const xGe=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],B$t=["pre","script","style","textarea"],kGe={name:"htmlFlow",tokenize:SGe,resolveTo:CGe,concrete:!0},EGe={tokenize:AGe,partial:!0},TGe={tokenize:_Ge,partial:!0};function CGe(i){let a=i.length;for(;a--&&!(i[a][0]==="enter"&&i[a][1].type==="htmlFlow"););return a>1&&i[a-2][1].type==="linePrefix"&&(i[a][1].start=i[a-2][1].start,i[a+1][1].start=i[a-2][1].start,i.splice(a-2,2)),i}function SGe(i,a,f){const g=this;let w,v,b,E,S;return _;function _(Mt){return M(Mt)}function M(Mt){return i.enter("htmlFlow"),i.enter("htmlFlowData"),i.consume(Mt),F}function F(Mt){return Mt===33?(i.consume(Mt),R):Mt===47?(i.consume(Mt),v=!0,Y):Mt===63?(i.consume(Mt),w=3,g.interrupt?a:kt):u4(Mt)?(i.consume(Mt),b=String.fromCharCode(Mt),nt):f(Mt)}function R(Mt){return Mt===45?(i.consume(Mt),w=2,B):Mt===91?(i.consume(Mt),w=5,E=0,z):u4(Mt)?(i.consume(Mt),w=4,g.interrupt?a:kt):f(Mt)}function B(Mt){return Mt===45?(i.consume(Mt),g.interrupt?a:kt):f(Mt)}function z(Mt){const pn="CDATA[";return Mt===pn.charCodeAt(E++)?(i.consume(Mt),E===pn.length?g.interrupt?a:yt:z):f(Mt)}function Y(Mt){return u4(Mt)?(i.consume(Mt),b=String.fromCharCode(Mt),nt):f(Mt)}function nt(Mt){if(Mt===null||Mt===47||Mt===62||ob(Mt)){const pn=Mt===47,Ae=b.toLowerCase();return!pn&&!v&&B$t.includes(Ae)?(w=1,g.interrupt?a(Mt):yt(Mt)):xGe.includes(b.toLowerCase())?(w=6,pn?(i.consume(Mt),ot):g.interrupt?a(Mt):yt(Mt)):(w=7,g.interrupt&&!g.parser.lazy[g.now().line]?f(Mt):v?ft(Mt):wt(Mt))}return Mt===45||Zv(Mt)?(i.consume(Mt),b+=String.fromCharCode(Mt),nt):f(Mt)}function ot(Mt){return Mt===62?(i.consume(Mt),g.interrupt?a:yt):f(Mt)}function ft(Mt){return du(Mt)?(i.consume(Mt),ft):dt(Mt)}function wt(Mt){return Mt===47?(i.consume(Mt),dt):Mt===58||Mt===95||u4(Mt)?(i.consume(Mt),mt):du(Mt)?(i.consume(Mt),wt):dt(Mt)}function mt(Mt){return Mt===45||Mt===46||Mt===58||Mt===95||Zv(Mt)?(i.consume(Mt),mt):ct(Mt)}function ct(Mt){return Mt===61?(i.consume(Mt),rt):du(Mt)?(i.consume(Mt),ct):wt(Mt)}function rt(Mt){return Mt===null||Mt===60||Mt===61||Mt===62||Mt===96?f(Mt):Mt===34||Mt===39?(i.consume(Mt),S=Mt,it):du(Mt)?(i.consume(Mt),rt):gt(Mt)}function it(Mt){return Mt===S?(i.consume(Mt),S=null,Q):Mt===null||$a(Mt)?f(Mt):(i.consume(Mt),it)}function gt(Mt){return Mt===null||Mt===34||Mt===39||Mt===47||Mt===60||Mt===61||Mt===62||Mt===96||ob(Mt)?ct(Mt):(i.consume(Mt),gt)}function Q(Mt){return Mt===47||Mt===62||du(Mt)?wt(Mt):f(Mt)}function dt(Mt){return Mt===62?(i.consume(Mt),K):f(Mt)}function K(Mt){return Mt===null||$a(Mt)?yt(Mt):du(Mt)?(i.consume(Mt),K):f(Mt)}function yt(Mt){return Mt===45&&w===2?(i.consume(Mt),jt):Mt===60&&w===1?(i.consume(Mt),xt):Mt===62&&w===4?(i.consume(Mt),Gt):Mt===63&&w===3?(i.consume(Mt),kt):Mt===93&&w===5?(i.consume(Mt),Ct):$a(Mt)&&(w===6||w===7)?(i.exit("htmlFlowData"),i.check(EGe,Fe,V)(Mt)):Mt===null||$a(Mt)?(i.exit("htmlFlowData"),V(Mt)):(i.consume(Mt),yt)}function V(Mt){return i.check(TGe,Ot,Fe)(Mt)}function Ot(Mt){return i.enter("lineEnding"),i.consume(Mt),i.exit("lineEnding"),It}function It(Mt){return Mt===null||$a(Mt)?V(Mt):(i.enter("htmlFlowData"),yt(Mt))}function jt(Mt){return Mt===45?(i.consume(Mt),kt):yt(Mt)}function xt(Mt){return Mt===47?(i.consume(Mt),b="",Ft):yt(Mt)}function Ft(Mt){if(Mt===62){const pn=b.toLowerCase();return B$t.includes(pn)?(i.consume(Mt),Gt):yt(Mt)}return u4(Mt)&&b.length<8?(i.consume(Mt),b+=String.fromCharCode(Mt),Ft):yt(Mt)}function Ct(Mt){return Mt===93?(i.consume(Mt),kt):yt(Mt)}function kt(Mt){return Mt===62?(i.consume(Mt),Gt):Mt===45&&w===2?(i.consume(Mt),kt):yt(Mt)}function Gt(Mt){return Mt===null||$a(Mt)?(i.exit("htmlFlowData"),Fe(Mt)):(i.consume(Mt),Gt)}function Fe(Mt){return i.exit("htmlFlow"),a(Mt)}}function _Ge(i,a,f){const g=this;return w;function w(b){return $a(b)?(i.enter("lineEnding"),i.consume(b),i.exit("lineEnding"),v):f(b)}function v(b){return g.parser.lazy[g.now().line]?f(b):a(b)}}function AGe(i,a,f){return g;function g(w){return i.enter("lineEnding"),i.consume(w),i.exit("lineEnding"),i.attempt(XY,a,f)}}const LGe={name:"htmlText",tokenize:DGe};function DGe(i,a,f){const g=this;let w,v,b;return E;function E(kt){return i.enter("htmlText"),i.enter("htmlTextData"),i.consume(kt),S}function S(kt){return kt===33?(i.consume(kt),_):kt===47?(i.consume(kt),ct):kt===63?(i.consume(kt),wt):u4(kt)?(i.consume(kt),gt):f(kt)}function _(kt){return kt===45?(i.consume(kt),M):kt===91?(i.consume(kt),v=0,z):u4(kt)?(i.consume(kt),ft):f(kt)}function M(kt){return kt===45?(i.consume(kt),B):f(kt)}function F(kt){return kt===null?f(kt):kt===45?(i.consume(kt),R):$a(kt)?(b=F,xt(kt)):(i.consume(kt),F)}function R(kt){return kt===45?(i.consume(kt),B):F(kt)}function B(kt){return kt===62?jt(kt):kt===45?R(kt):F(kt)}function z(kt){const Gt="CDATA[";return kt===Gt.charCodeAt(v++)?(i.consume(kt),v===Gt.length?Y:z):f(kt)}function Y(kt){return kt===null?f(kt):kt===93?(i.consume(kt),nt):$a(kt)?(b=Y,xt(kt)):(i.consume(kt),Y)}function nt(kt){return kt===93?(i.consume(kt),ot):Y(kt)}function ot(kt){return kt===62?jt(kt):kt===93?(i.consume(kt),ot):Y(kt)}function ft(kt){return kt===null||kt===62?jt(kt):$a(kt)?(b=ft,xt(kt)):(i.consume(kt),ft)}function wt(kt){return kt===null?f(kt):kt===63?(i.consume(kt),mt):$a(kt)?(b=wt,xt(kt)):(i.consume(kt),wt)}function mt(kt){return kt===62?jt(kt):wt(kt)}function ct(kt){return u4(kt)?(i.consume(kt),rt):f(kt)}function rt(kt){return kt===45||Zv(kt)?(i.consume(kt),rt):it(kt)}function it(kt){return $a(kt)?(b=it,xt(kt)):du(kt)?(i.consume(kt),it):jt(kt)}function gt(kt){return kt===45||Zv(kt)?(i.consume(kt),gt):kt===47||kt===62||ob(kt)?Q(kt):f(kt)}function Q(kt){return kt===47?(i.consume(kt),jt):kt===58||kt===95||u4(kt)?(i.consume(kt),dt):$a(kt)?(b=Q,xt(kt)):du(kt)?(i.consume(kt),Q):jt(kt)}function dt(kt){return kt===45||kt===46||kt===58||kt===95||Zv(kt)?(i.consume(kt),dt):K(kt)}function K(kt){return kt===61?(i.consume(kt),yt):$a(kt)?(b=K,xt(kt)):du(kt)?(i.consume(kt),K):Q(kt)}function yt(kt){return kt===null||kt===60||kt===61||kt===62||kt===96?f(kt):kt===34||kt===39?(i.consume(kt),w=kt,V):$a(kt)?(b=yt,xt(kt)):du(kt)?(i.consume(kt),yt):(i.consume(kt),Ot)}function V(kt){return kt===w?(i.consume(kt),w=void 0,It):kt===null?f(kt):$a(kt)?(b=V,xt(kt)):(i.consume(kt),V)}function Ot(kt){return kt===null||kt===34||kt===39||kt===60||kt===61||kt===96?f(kt):kt===47||kt===62||ob(kt)?Q(kt):(i.consume(kt),Ot)}function It(kt){return kt===47||kt===62||ob(kt)?Q(kt):f(kt)}function jt(kt){return kt===62?(i.consume(kt),i.exit("htmlTextData"),i.exit("htmlText"),a):f(kt)}function xt(kt){return i.exit("htmlTextData"),i.enter("lineEnding"),i.consume(kt),i.exit("lineEnding"),Ft}function Ft(kt){return du(kt)?Cl(i,Ct,"linePrefix",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(kt):Ct(kt)}function Ct(kt){return i.enter("htmlTextData"),b(kt)}}const Gpt={name:"labelEnd",tokenize:FGe,resolveTo:PGe,resolveAll:NGe},MGe={tokenize:BGe},IGe={tokenize:RGe},OGe={tokenize:jGe};function NGe(i){let a=-1;for(;++a<i.length;){const f=i[a][1];(f.type==="labelImage"||f.type==="labelLink"||f.type==="labelEnd")&&(i.splice(a+1,f.type==="labelImage"?4:2),f.type="data",a++)}return i}function PGe(i,a){let f=i.length,g=0,w,v,b,E;for(;f--;)if(w=i[f][1],v){if(w.type==="link"||w.type==="labelLink"&&w._inactive)break;i[f][0]==="enter"&&w.type==="labelLink"&&(w._inactive=!0)}else if(b){if(i[f][0]==="enter"&&(w.type==="labelImage"||w.type==="labelLink")&&!w._balanced&&(v=f,w.type!=="labelLink")){g=2;break}}else w.type==="labelEnd"&&(b=f);const S={type:i[v][1].type==="labelLink"?"link":"image",start:Object.assign({},i[v][1].start),end:Object.assign({},i[i.length-1][1].end)},_={type:"label",start:Object.assign({},i[v][1].start),end:Object.assign({},i[b][1].end)},M={type:"labelText",start:Object.assign({},i[v+g+2][1].end),end:Object.assign({},i[b-2][1].start)};return E=[["enter",S,a],["enter",_,a]],E=tm(E,i.slice(v+1,v+g+3)),E=tm(E,[["enter",M,a]]),E=tm(E,qpt(a.parser.constructs.insideSpan.null,i.slice(v+g+4,b-3),a)),E=tm(E,[["exit",M,a],i[b-2],i[b-1],["exit",_,a]]),E=tm(E,i.slice(b+1)),E=tm(E,[["exit",S,a]]),c4(i,v,i.length,E),i}function FGe(i,a,f){const g=this;let w=g.events.length,v,b;for(;w--;)if((g.events[w][1].type==="labelImage"||g.events[w][1].type==="labelLink")&&!g.events[w][1]._balanced){v=g.events[w][1];break}return E;function E(R){return v?v._inactive?F(R):(b=g.parser.defined.includes(ED(g.sliceSerialize({start:v.end,end:g.now()}))),i.enter("labelEnd"),i.enter("labelMarker"),i.consume(R),i.exit("labelMarker"),i.exit("labelEnd"),S):f(R)}function S(R){return R===40?i.attempt(MGe,M,b?M:F)(R):R===91?i.attempt(IGe,M,b?_:F)(R):b?M(R):F(R)}function _(R){return i.attempt(OGe,M,F)(R)}function M(R){return a(R)}function F(R){return v._balanced=!0,f(R)}}function BGe(i,a,f){return g;function g(F){return i.enter("resource"),i.enter("resourceMarker"),i.consume(F),i.exit("resourceMarker"),w}function w(F){return ob(F)?ZF(i,v)(F):v(F)}function v(F){return F===41?M(F):N$t(i,b,E,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(F)}function b(F){return ob(F)?ZF(i,S)(F):M(F)}function E(F){return f(F)}function S(F){return F===34||F===39||F===40?F$t(i,_,f,"resourceTitle","resourceTitleMarker","resourceTitleString")(F):M(F)}function _(F){return ob(F)?ZF(i,M)(F):M(F)}function M(F){return F===41?(i.enter("resourceMarker"),i.consume(F),i.exit("resourceMarker"),i.exit("resource"),a):f(F)}}function RGe(i,a,f){const g=this;return w;function w(E){return P$t.call(g,i,v,b,"reference","referenceMarker","referenceString")(E)}function v(E){return g.parser.defined.includes(ED(g.sliceSerialize(g.events[g.events.length-1][1]).slice(1,-1)))?a(E):f(E)}function b(E){return f(E)}}function jGe(i,a,f){return g;function g(v){return i.enter("reference"),i.enter("referenceMarker"),i.consume(v),i.exit("referenceMarker"),w}function w(v){return v===93?(i.enter("referenceMarker"),i.consume(v),i.exit("referenceMarker"),i.exit("reference"),a):f(v)}}const $Ge={name:"labelStartImage",tokenize:zGe,resolveAll:Gpt.resolveAll};function zGe(i,a,f){const g=this;return w;function w(E){return i.enter("labelImage"),i.enter("labelImageMarker"),i.consume(E),i.exit("labelImageMarker"),v}function v(E){return E===91?(i.enter("labelMarker"),i.consume(E),i.exit("labelMarker"),i.exit("labelImage"),b):f(E)}function b(E){return E===94&&"_hiddenFootnoteSupport"in g.parser.constructs?f(E):a(E)}}const qGe={name:"labelStartLink",tokenize:HGe,resolveAll:Gpt.resolveAll};function HGe(i,a,f){const g=this;return w;function w(b){return i.enter("labelLink"),i.enter("labelMarker"),i.consume(b),i.exit("labelMarker"),i.exit("labelLink"),v}function v(b){return b===94&&"_hiddenFootnoteSupport"in g.parser.constructs?f(b):a(b)}}const Kpt={name:"lineEnding",tokenize:VGe};function VGe(i,a){return f;function f(g){return i.enter("lineEnding"),i.consume(g),i.exit("lineEnding"),Cl(i,a,"linePrefix")}}const QY={name:"thematicBreak",tokenize:UGe};function UGe(i,a,f){let g=0,w;return v;function v(_){return i.enter("thematicBreak"),b(_)}function b(_){return w=_,E(_)}function E(_){return _===w?(i.enter("thematicBreakSequence"),S(_)):g>=3&&(_===null||$a(_))?(i.exit("thematicBreak"),a(_)):f(_)}function S(_){return _===w?(i.consume(_),g++,S):(i.exit("thematicBreakSequence"),du(_)?Cl(i,E,"whitespace")(_):E(_))}}const cb={name:"list",tokenize:WGe,continuation:{tokenize:YGe},exit:QGe},GGe={tokenize:JGe,partial:!0},KGe={tokenize:XGe,partial:!0};function WGe(i,a,f){const g=this,w=g.events[g.events.length-1];let v=w&&w[1].type==="linePrefix"?w[2].sliceSerialize(w[1],!0).length:0,b=0;return E;function E(B){const z=g.containerState.type||(B===42||B===43||B===45?"listUnordered":"listOrdered");if(z==="listUnordered"?!g.containerState.marker||B===g.containerState.marker:zpt(B)){if(g.containerState.type||(g.containerState.type=z,i.enter(z,{_container:!0})),z==="listUnordered")return i.enter("listItemPrefix"),B===42||B===45?i.check(QY,f,_)(B):_(B);if(!g.interrupt||B===49)return i.enter("listItemPrefix"),i.enter("listItemValue"),S(B)}return f(B)}function S(B){return zpt(B)&&++b<10?(i.consume(B),S):(!g.interrupt||b<2)&&(g.containerState.marker?B===g.containerState.marker:B===41||B===46)?(i.exit("listItemValue"),_(B)):f(B)}function _(B){return i.enter("listItemMarker"),i.consume(B),i.exit("listItemMarker"),g.containerState.marker=g.containerState.marker||B,i.check(XY,g.interrupt?f:M,i.attempt(GGe,R,F))}function M(B){return g.containerState.initialBlankLine=!0,v++,R(B)}function F(B){return du(B)?(i.enter("listItemPrefixWhitespace"),i.consume(B),i.exit("listItemPrefixWhitespace"),R):f(B)}function R(B){return g.containerState.size=v+g.sliceSerialize(i.exit("listItemPrefix"),!0).length,a(B)}}function YGe(i,a,f){const g=this;return g.containerState._closeFlow=void 0,i.check(XY,w,v);function w(E){return g.containerState.furtherBlankLines=g.containerState.furtherBlankLines||g.containerState.initialBlankLine,Cl(i,a,"listItemIndent",g.containerState.size+1)(E)}function v(E){return g.containerState.furtherBlankLines||!du(E)?(g.containerState.furtherBlankLines=void 0,g.containerState.initialBlankLine=void 0,b(E)):(g.containerState.furtherBlankLines=void 0,g.containerState.initialBlankLine=void 0,i.attempt(KGe,a,b)(E))}function b(E){return g.containerState._closeFlow=!0,g.interrupt=void 0,Cl(i,i.attempt(cb,a,f),"linePrefix",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(E)}}function XGe(i,a,f){const g=this;return Cl(i,w,"listItemIndent",g.containerState.size+1);function w(v){const b=g.events[g.events.length-1];return b&&b[1].type==="listItemIndent"&&b[2].sliceSerialize(b[1],!0).length===g.containerState.size?a(v):f(v)}}function QGe(i){i.exit(this.containerState.type)}function JGe(i,a,f){const g=this;return Cl(i,w,"listItemPrefixWhitespace",g.parser.constructs.disable.null.includes("codeIndented")?void 0:4+1);function w(v){const b=g.events[g.events.length-1];return!du(v)&&b&&b[1].type==="listItemPrefixWhitespace"?a(v):f(v)}}const R$t={name:"setextUnderline",tokenize:tKe,resolveTo:ZGe};function ZGe(i,a){let f=i.length,g,w,v;for(;f--;)if(i[f][0]==="enter"){if(i[f][1].type==="content"){g=f;break}i[f][1].type==="paragraph"&&(w=f)}else i[f][1].type==="content"&&i.splice(f,1),!v&&i[f][1].type==="definition"&&(v=f);const b={type:"setextHeading",start:Object.assign({},i[w][1].start),end:Object.assign({},i[i.length-1][1].end)};return i[w][1].type="setextHeadingText",v?(i.splice(w,0,["enter",b,a]),i.splice(v+1,0,["exit",i[g][1],a]),i[g][1].end=Object.assign({},i[v][1].end)):i[g][1]=b,i.push(["exit",b,a]),i}function tKe(i,a,f){const g=this;let w;return v;function v(_){let M=g.events.length,F;for(;M--;)if(g.events[M][1].type!=="lineEnding"&&g.events[M][1].type!=="linePrefix"&&g.events[M][1].type!=="content"){F=g.events[M][1].type==="paragraph";break}return!g.parser.lazy[g.now().line]&&(g.interrupt||F)?(i.enter("setextHeadingLine"),w=_,b(_)):f(_)}function b(_){return i.enter("setextHeadingLineSequence"),E(_)}function E(_){return _===w?(i.consume(_),E):(i.exit("setextHeadingLineSequence"),du(_)?Cl(i,S,"lineSuffix")(_):S(_))}function S(_){return _===null||$a(_)?(i.exit("setextHeadingLine"),a(_)):f(_)}}const eKe={tokenize:nKe};function nKe(i){const a=this,f=i.attempt(XY,g,i.attempt(this.parser.constructs.flowInitial,w,Cl(i,i.attempt(this.parser.constructs.flow,w,i.attempt(oGe,w)),"linePrefix")));return f;function g(v){if(v===null){i.consume(v);return}return i.enter("lineEndingBlank"),i.consume(v),i.exit("lineEndingBlank"),a.currentConstruct=void 0,f}function w(v){if(v===null){i.consume(v);return}return i.enter("lineEnding"),i.consume(v),i.exit("lineEnding"),a.currentConstruct=void 0,f}}const rKe={resolveAll:$$t()},iKe=j$t("string"),sKe=j$t("text");function j$t(i){return{tokenize:a,resolveAll:$$t(i==="text"?aKe:void 0)};function a(f){const g=this,w=this.parser.constructs[i],v=f.attempt(w,b,E);return b;function b(M){return _(M)?v(M):E(M)}function E(M){if(M===null){f.consume(M);return}return f.enter("data"),f.consume(M),S}function S(M){return _(M)?(f.exit("data"),v(M)):(f.consume(M),S)}function _(M){if(M===null)return!0;const F=w[M];let R=-1;if(F)for(;++R<F.length;){const B=F[R];if(!B.previous||B.previous.call(g,g.previous))return!0}return!1}}}function $$t(i){return a;function a(f,g){let w=-1,v;for(;++w<=f.length;)v===void 0?f[w]&&f[w][1].type==="data"&&(v=w,w++):(!f[w]||f[w][1].type!=="data")&&(w!==v+2&&(f[v][1].end=f[w-1][1].end,f.splice(v+2,w-v-2),w=v+2),v=void 0);return i?i(f,g):f}}function aKe(i,a){let f=0;for(;++f<=i.length;)if((f===i.length||i[f][1].type==="lineEnding")&&i[f-1][1].type==="data"){const g=i[f-1][1],w=a.sliceStream(g);let v=w.length,b=-1,E=0,S;for(;v--;){const _=w[v];if(typeof _=="string"){for(b=_.length;_.charCodeAt(b-1)===32;)E++,b--;if(b)break;b=-1}else if(_===-2)S=!0,E++;else if(_!==-1){v++;break}}if(E){const _={type:f===i.length||S||E<2?"lineSuffix":"hardBreakTrailing",start:{line:g.end.line,column:g.end.column-E,offset:g.end.offset-E,_index:g.start._index+v,_bufferIndex:v?b:g.start._bufferIndex+b},end:Object.assign({},g.end)};g.end=Object.assign({},_.start),g.start.offset===g.end.offset?Object.assign(g,_):(i.splice(f,0,["enter",_,a],["exit",_,a]),f+=2)}f++}return i}function oKe(i,a,f){let g=Object.assign(f?Object.assign({},f):{line:1,column:1,offset:0},{_index:0,_bufferIndex:-1});const w={},v=[];let b=[],E=[];const S={consume:ft,enter:wt,exit:mt,attempt:it(ct),check:it(rt),interrupt:it(rt,{interrupt:!0})},_={previous:null,code:null,containerState:{},events:[],parser:i,sliceStream:B,sliceSerialize:R,now:z,defineSkip:Y,write:F};let M=a.tokenize.call(_,S);return a.resolveAll&&v.push(a),_;function F(K){return b=tm(b,K),nt(),b[b.length-1]!==null?[]:(gt(a,0),_.events=qpt(v,_.events,_),_.events)}function R(K,yt){return uKe(B(K),yt)}function B(K){return cKe(b,K)}function z(){const{line:K,column:yt,offset:V,_index:Ot,_bufferIndex:It}=g;return{line:K,column:yt,offset:V,_index:Ot,_bufferIndex:It}}function Y(K){w[K.line]=K.column,dt()}function nt(){let K;for(;g._index<b.length;){const yt=b[g._index];if(typeof yt=="string")for(K=g._index,g._bufferIndex<0&&(g._bufferIndex=0);g._index===K&&g._bufferIndex<yt.length;)ot(yt.charCodeAt(g._bufferIndex));else ot(yt)}}function ot(K){M=M(K)}function ft(K){$a(K)?(g.line++,g.column=1,g.offset+=K===-3?2:1,dt()):K!==-1&&(g.column++,g.offset++),g._bufferIndex<0?g._index++:(g._bufferIndex++,g._bufferIndex===b[g._index].length&&(g._bufferIndex=-1,g._index++)),_.previous=K}function wt(K,yt){const V=yt||{};return V.type=K,V.start=z(),_.events.push(["enter",V,_]),E.push(V),V}function mt(K){const yt=E.pop();return yt.end=z(),_.events.push(["exit",yt,_]),yt}function ct(K,yt){gt(K,yt.from)}function rt(K,yt){yt.restore()}function it(K,yt){return V;function V(Ot,It,jt){let xt,Ft,Ct,kt;return Array.isArray(Ot)?Fe(Ot):"tokenize"in Ot?Fe([Ot]):Gt(Ot);function Gt(ye){return tn;function tn(sn){const be=sn!==null&&ye[sn],Ne=sn!==null&&ye.null,Xt=[...Array.isArray(be)?be:be?[be]:[],...Array.isArray(Ne)?Ne:Ne?[Ne]:[]];return Fe(Xt)(sn)}}function Fe(ye){return xt=ye,Ft=0,ye.length===0?jt:Mt(ye[Ft])}function Mt(ye){return tn;function tn(sn){return kt=Q(),Ct=ye,ye.partial||(_.currentConstruct=ye),ye.name&&_.parser.constructs.disable.null.includes(ye.name)?Ae():ye.tokenize.call(yt?Object.assign(Object.create(_),yt):_,S,pn,Ae)(sn)}}function pn(ye){return K(Ct,kt),It}function Ae(ye){return kt.restore(),++Ft<xt.length?Mt(xt[Ft]):jt}}}function gt(K,yt){K.resolveAll&&!v.includes(K)&&v.push(K),K.resolve&&c4(_.events,yt,_.events.length-yt,K.resolve(_.events.slice(yt),_)),K.resolveTo&&(_.events=K.resolveTo(_.events,_))}function Q(){const K=z(),yt=_.previous,V=_.currentConstruct,Ot=_.events.length,It=Array.from(E);return{restore:jt,from:Ot};function jt(){g=K,_.previous=yt,_.currentConstruct=V,_.events.length=Ot,E=It,dt()}}function dt(){g.line in w&&g.column<2&&(g.column=w[g.line],g.offset+=w[g.line]-1)}}function cKe(i,a){const f=a.start._index,g=a.start._bufferIndex,w=a.end._index,v=a.end._bufferIndex;let b;if(f===w)b=[i[f].slice(g,v)];else{if(b=i.slice(f,w),g>-1){const E=b[0];typeof E=="string"?b[0]=E.slice(g):b.shift()}v>0&&b.push(i[w].slice(0,v))}return b}function uKe(i,a){let f=-1;const g=[];let w;for(;++f<i.length;){const v=i[f];let b;if(typeof v=="string")b=v;else switch(v){case-5:{b="\r";break}case-4:{b=`
114 <span class="${S} ${g}" `+(a.labelStyle?'style="'+a.labelStyle+'"':"")+">"+E+"</span>"),CKe(b,a.labelStyle),b.style("display","table-cell"),b.style("white-space","nowrap"),b.style("max-width",f+"px"),b.attr("xmlns","http://www.w3.org/1999/xhtml"),w&&b.attr("class","labelBkg");let _=b.node().getBoundingClientRect();return _.width===f&&(b.style("display","table"),b.style("white-space","break-spaces"),b.style("width",f+"px"),_=b.node().getBoundingClientRect()),v.style("width",_.width),v.style("height",_.height),v.node()}function Xpt(i,a,f){return i.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",a*f-.1+"em").attr("dy",f+"em")}function _Ke(i,a,f){const g=i.append("text"),w=Xpt(g,1,a);Qpt(w,f);const v=w.node().getComputedTextLength();return g.remove(),v}function AKe(i,a,f){var b;const g=i.append("text"),w=Xpt(g,1,a);Qpt(w,[{content:f,type:"normal"}]);const v=(b=w.node())==null?void 0:b.getBoundingClientRect();return v&&g.remove(),v}function LKe(i,a,f,g=!1){const v=a.append("g"),b=v.insert("rect").attr("class","background"),E=v.append("text").attr("y","-10.1");let S=0;for(const _ of f){const M=R=>_Ke(v,1.1,R)<=i,F=M(_)?[_]:TKe(_,M);for(const R of F){const B=Xpt(E,S,1.1);Qpt(B,R),S++}}if(g){const _=E.node().getBBox(),M=2;return b.attr("x",-M).attr("y",-M).attr("width",_.width+2*M).attr("height",_.height+2*M),v.node()}else return E.node()}function Qpt(i,a){i.text(""),a.forEach((f,g)=>{const w=i.append("tspan").attr("font-style",f.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",f.type==="strong"?"bold":"normal");g===0?w.text(f.content):w.text(" "+f.content)})}const ZY=(i,a="",{style:f="",isTitle:g=!1,classes:w="",useHtmlLabels:v=!0,isNode:b=!0,width:E=200,addSvgBackground:S=!1}={})=>{if(Kt.info("createText",a,f,g,w,v,b,S),v){const _=xKe(a),M={isNode:b,label:IF(_).replace(/fa[blrs]?:fa-[\w-]+/g,R=>`<i class='${R.replace(":"," ")}'></i>`),labelStyle:f.replace("fill:","color:")};return SKe(i,M,E,w,S)}else{const _=yKe(a);return LKe(E,i,_,S)}},$1=async(i,a,f,g)=>{let w;const v=a.useHtmlLabels||j1(Re().flowchart.htmlLabels);f?w=f:w="node default";const b=i.insert("g").attr("class",w).attr("id",a.domId||a.id),E=b.insert("g").attr("class","label").attr("style",a.labelStyle);let S;a.labelText===void 0?S="":S=typeof a.labelText=="string"?a.labelText:a.labelText[0];const _=E.node();let M;a.labelType==="markdown"?M=ZY(E,Ef(IF(S),Re()),{useHtmlLabels:v,width:a.width||Re().flowchart.wrappingWidth,classes:"markdown-node-label"}):M=_.appendChild(ab(Ef(IF(S),Re()),a.labelStyle,!1,g));let F=M.getBBox();const R=a.padding/2;if(j1(Re().flowchart.htmlLabels)){const B=M.children[0],z=Tr(M),Y=B.getElementsByTagName("img");if(Y){const nt=S.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...Y].map(ot=>new Promise(ft=>{function wt(){if(ot.style.display="flex",ot.style.flexDirection="column",nt){const mt=Re().fontSize?Re().fontSize:window.getComputedStyle(document.body).fontSize,ct=5,rt=parseInt(mt,10)*ct+"px";ot.style.minWidth=rt,ot.style.maxWidth=rt}else ot.style.width="100%";ft(ot)}setTimeout(()=>{ot.complete&&wt()}),ot.addEventListener("error",wt),ot.addEventListener("load",wt)})))}F=B.getBoundingClientRect(),z.attr("width",F.width),z.attr("height",F.height)}return v?E.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"):E.attr("transform","translate(0, "+-F.height/2+")"),a.centerLabel&&E.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"),E.insert("rect",":first-child"),{shapeSvg:b,bbox:F,halfPadding:R,label:E}},xh=(i,a)=>{const f=a.node().getBBox();i.width=f.width,i.height=f.height};function l4(i,a,f,g){return i.insert("polygon",":first-child").attr("points",g.map(function(w){return w.x+","+w.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-a/2+","+f/2+")")}let ho={},ty={},X$t={};const DKe=()=>{ty={},X$t={},ho={}},tX=(i,a)=>(Kt.trace("In isDecendant",a," ",i," = ",ty[a].includes(i)),!!ty[a].includes(i)),MKe=(i,a)=>(Kt.info("Decendants of ",a," is ",ty[a]),Kt.info("Edge is ",i),i.v===a||i.w===a?!1:ty[a]?ty[a].includes(i.v)||tX(i.v,a)||tX(i.w,a)||ty[a].includes(i.w):(Kt.debug("Tilt, ",a,",not in decendants"),!1)),Q$t=(i,a,f,g)=>{Kt.warn("Copying children of ",i,"root",g,"data",a.node(i),g);const w=a.children(i)||[];i!==g&&w.push(i),Kt.warn("Copying (nodes) clusterId",i,"nodes",w),w.forEach(v=>{if(a.children(v).length>0)Q$t(v,a,f,g);else{const b=a.node(v);Kt.info("cp ",v," to ",g," with parent ",i),f.setNode(v,b),g!==a.parent(v)&&(Kt.warn("Setting parent",v,a.parent(v)),f.setParent(v,a.parent(v))),i!==g&&v!==i?(Kt.debug("Setting parent",v,i),f.setParent(v,i)):(Kt.info("In copy ",i,"root",g,"data",a.node(i),g),Kt.debug("Not Setting parent for node=",v,"cluster!==rootId",i!==g,"node!==clusterId",v!==i));const E=a.edges(v);Kt.debug("Copying Edges",E),E.forEach(S=>{Kt.info("Edge",S);const _=a.edge(S.v,S.w,S.name);Kt.info("Edge data",_,g);try{MKe(S,g)?(Kt.info("Copying as ",S.v,S.w,_,S.name),f.setEdge(S.v,S.w,_,S.name),Kt.info("newGraph edges ",f.edges(),f.edge(f.edges()[0]))):Kt.info("Skipping copy of edge ",S.v,"-->",S.w," rootId: ",g," clusterId:",i)}catch(M){Kt.error(M)}})}Kt.debug("Removing node",v),a.removeNode(v)})},J$t=(i,a)=>{const f=a.children(i);let g=[...f];for(const w of f)X$t[w]=i,g=[...g,...J$t(w,a)];return g},tB=(i,a)=>{Kt.trace("Searching",i);const f=a.children(i);if(Kt.trace("Searching children of id ",i,f),f.length<1)return Kt.trace("This is a valid node",i),i;for(const g of f){const w=tB(g,a);if(w)return Kt.trace("Found replacement for",i," => ",w),w}},eX=i=>!ho[i]||!ho[i].externalConnections?i:ho[i]?ho[i].id:i,IKe=(i,a)=>{if(!i||a>10){Kt.debug("Opting out, no graph ");return}else Kt.debug("Opting in, graph ");i.nodes().forEach(function(f){i.children(f).length>0&&(Kt.warn("Cluster identified",f," Replacement id in edges: ",tB(f,i)),ty[f]=J$t(f,i),ho[f]={id:tB(f,i),clusterData:i.node(f)})}),i.nodes().forEach(function(f){const g=i.children(f),w=i.edges();g.length>0?(Kt.debug("Cluster identified",f,ty),w.forEach(v=>{if(v.v!==f&&v.w!==f){const b=tX(v.v,f),E=tX(v.w,f);b^E&&(Kt.warn("Edge: ",v," leaves cluster ",f),Kt.warn("Decendants of XXX ",f,": ",ty[f]),ho[f].externalConnections=!0)}})):Kt.debug("Not a cluster ",f,ty)});for(let f of Object.keys(ho)){const g=ho[f].id,w=i.parent(g);w!==f&&ho[w]&&!ho[w].externalConnections&&(ho[f].id=w)}i.edges().forEach(function(f){const g=i.edge(f);Kt.warn("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(f)),Kt.warn("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(i.edge(f)));let w=f.v,v=f.w;if(Kt.warn("Fix XXX",ho,"ids:",f.v,f.w,"Translating: ",ho[f.v]," --- ",ho[f.w]),ho[f.v]&&ho[f.w]&&ho[f.v]===ho[f.w]){Kt.warn("Fixing and trixing link to self - removing XXX",f.v,f.w,f.name),Kt.warn("Fixing and trixing - removing XXX",f.v,f.w,f.name),w=eX(f.v),v=eX(f.w),i.removeEdge(f.v,f.w,f.name);const b=f.w+"---"+f.v;i.setNode(b,{domId:b,id:b,labelStyle:"",labelText:g.label,padding:0,shape:"labelRect",style:""});const E=structuredClone(g),S=structuredClone(g);E.label="",E.arrowTypeEnd="none",S.label="",E.fromCluster=f.v,S.toCluster=f.v,i.setEdge(w,b,E,f.name+"-cyclic-special"),i.setEdge(b,v,S,f.name+"-cyclic-special")}else if(ho[f.v]||ho[f.w]){if(Kt.warn("Fixing and trixing - removing XXX",f.v,f.w,f.name),w=eX(f.v),v=eX(f.w),i.removeEdge(f.v,f.w,f.name),w!==f.v){const b=i.parent(w);ho[b].externalConnections=!0,g.fromCluster=f.v}if(v!==f.w){const b=i.parent(v);ho[b].externalConnections=!0,g.toCluster=f.w}Kt.warn("Fix Replacing with XXX",w,v,f.name),i.setEdge(w,v,g,f.name)}}),Kt.warn("Adjusted Graph",jx(i)),Z$t(i,0),Kt.trace(ho)},Z$t=(i,a)=>{if(Kt.warn("extractor - ",a,jx(i),i.children("D")),a>10){Kt.error("Bailing out");return}let f=i.nodes(),g=!1;for(const w of f){const v=i.children(w);g=g||v.length>0}if(!g){Kt.debug("Done, no node has children",i.nodes());return}Kt.debug("Nodes = ",f,a);for(const w of f)if(Kt.debug("Extracting node",w,ho,ho[w]&&!ho[w].externalConnections,!i.parent(w),i.node(w),i.children("D")," Depth ",a),!ho[w])Kt.debug("Not a cluster",w,a);else if(!ho[w].externalConnections&&i.children(w)&&i.children(w).length>0){Kt.warn("Cluster without external connections, without a parent and with children",w,a);let b=i.graph().rankdir==="TB"?"LR":"TB";ho[w]&&ho[w].clusterData&&ho[w].clusterData.dir&&(b=ho[w].clusterData.dir,Kt.warn("Fixing dir",ho[w].clusterData.dir,b));const E=new l1({multigraph:!0,compound:!0}).setGraph({rankdir:b,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Kt.warn("Old graph before copy",jx(i)),Q$t(w,i,E,w),i.setNode(w,{clusterNode:!0,id:w,clusterData:ho[w].clusterData,labelText:ho[w].labelText,graph:E}),Kt.warn("New graph after copy node: (",w,")",jx(E)),Kt.debug("Old graph after copy",jx(i))}else Kt.warn("Cluster ** ",w," **not meeting the criteria !externalConnections:",!ho[w].externalConnections," no parent: ",!i.parent(w)," children ",i.children(w)&&i.children(w).length>0,i.children("D"),a),Kt.debug(ho);f=i.nodes(),Kt.warn("New list of nodes",f);for(const w of f){const v=i.node(w);Kt.warn(" Now next level",w,v),v.clusterNode&&Z$t(v.graph,a+1)}},tzt=(i,a)=>{if(a.length===0)return[];let f=Object.assign(a);return a.forEach(g=>{const w=i.children(g),v=tzt(i,w);f=[...f,...v]}),f},OKe=i=>tzt(i,i.children());function NKe(i,a){return i.intersect(a)}function ezt(i,a,f,g){var w=i.x,v=i.y,b=w-g.x,E=v-g.y,S=Math.sqrt(a*a*E*E+f*f*b*b),_=Math.abs(a*f*b/S);g.x<w&&(_=-_);var M=Math.abs(a*f*E/S);return g.y<v&&(M=-M),{x:w+_,y:v+M}}function PKe(i,a,f){return ezt(i,a,a,f)}function FKe(i,a,f,g){var w,v,b,E,S,_,M,F,R,B,z,Y,nt,ot,ft;if(w=a.y-i.y,b=i.x-a.x,S=a.x*i.y-i.x*a.y,R=w*f.x+b*f.y+S,B=w*g.x+b*g.y+S,!(R!==0&&B!==0&&nzt(R,B))&&(v=g.y-f.y,E=f.x-g.x,_=g.x*f.y-f.x*g.y,M=v*i.x+E*i.y+_,F=v*a.x+E*a.y+_,!(M!==0&&F!==0&&nzt(M,F))&&(z=w*E-v*b,z!==0)))return Y=Math.abs(z/2),nt=b*_-E*S,ot=nt<0?(nt-Y)/z:(nt+Y)/z,nt=v*S-w*_,ft=nt<0?(nt-Y)/z:(nt+Y)/z,{x:ot,y:ft}}function nzt(i,a){return i*a>0}function BKe(i,a,f){var g=i.x,w=i.y,v=[],b=Number.POSITIVE_INFINITY,E=Number.POSITIVE_INFINITY;typeof a.forEach=="function"?a.forEach(function(z){b=Math.min(b,z.x),E=Math.min(E,z.y)}):(b=Math.min(b,a.x),E=Math.min(E,a.y));for(var S=g-i.width/2-b,_=w-i.height/2-E,M=0;M<a.length;M++){var F=a[M],R=a[M<a.length-1?M+1:0],B=FKe(i,f,{x:S+F.x,y:_+F.y},{x:S+R.x,y:_+R.y});B&&v.push(B)}return v.length?(v.length>1&&v.sort(function(z,Y){var nt=z.x-f.x,ot=z.y-f.y,ft=Math.sqrt(nt*nt+ot*ot),wt=Y.x-f.x,mt=Y.y-f.y,ct=Math.sqrt(wt*wt+mt*mt);return ft<ct?-1:ft===ct?0:1}),v[0]):i}const eB=(i,a)=>{var f=i.x,g=i.y,w=a.x-f,v=a.y-g,b=i.width/2,E=i.height/2,S,_;return Math.abs(v)*b>Math.abs(w)*E?(v<0&&(E=-E),S=v===0?0:E*w/v,_=E):(w<0&&(b=-b),S=b,_=w===0?0:b*v/w),{x:f+S,y:g+_}},Ql={node:NKe,circle:PKe,ellipse:ezt,polygon:BKe,rect:eB},RKe=async(i,a)=>{a.useHtmlLabels||Re().flowchart.htmlLabels||(a.centerLabel=!0);const{shapeSvg:g,bbox:w,halfPadding:v}=await $1(i,a,"node "+a.classes,!0);Kt.info("Classes = ",a.classes);const b=g.insert("rect",":first-child");return b.attr("rx",a.rx).attr("ry",a.ry).attr("x",-w.width/2-v).attr("y",-w.height/2-v).attr("width",w.width+a.padding).attr("height",w.height+a.padding),xh(a,b),a.intersect=function(E){return Ql.rect(a,E)},g},jKe=i=>{const a=new Set;for(const f of i)switch(f){case"x":a.add("right"),a.add("left");break;case"y":a.add("up"),a.add("down");break;default:a.add(f);break}return a},$Ke=(i,a,f)=>{const g=jKe(i),w=2,v=a.height+2*f.padding,b=v/w,E=a.width+2*b+f.padding,S=f.padding/2;return g.has("right")&&g.has("left")&&g.has("up")&&g.has("down")?[{x:0,y:0},{x:b,y:0},{x:E/2,y:2*S},{x:E-b,y:0},{x:E,y:0},{x:E,y:-v/3},{x:E+2*S,y:-v/2},{x:E,y:-2*v/3},{x:E,y:-v},{x:E-b,y:-v},{x:E/2,y:-v-2*S},{x:b,y:-v},{x:0,y:-v},{x:0,y:-2*v/3},{x:-2*S,y:-v/2},{x:0,y:-v/3}]:g.has("right")&&g.has("left")&&g.has("up")?[{x:b,y:0},{x:E-b,y:0},{x:E,y:-v/2},{x:E-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}]:g.has("right")&&g.has("left")&&g.has("down")?[{x:0,y:0},{x:b,y:-v},{x:E-b,y:-v},{x:E,y:0}]:g.has("right")&&g.has("up")&&g.has("down")?[{x:0,y:0},{x:E,y:-b},{x:E,y:-v+b},{x:0,y:-v}]:g.has("left")&&g.has("up")&&g.has("down")?[{x:E,y:0},{x:0,y:-b},{x:0,y:-v+b},{x:E,y:-v}]:g.has("right")&&g.has("left")?[{x:b,y:0},{x:b,y:-S},{x:E-b,y:-S},{x:E-b,y:0},{x:E,y:-v/2},{x:E-b,y:-v},{x:E-b,y:-v+S},{x:b,y:-v+S},{x:b,y:-v},{x:0,y:-v/2}]:g.has("up")&&g.has("down")?[{x:E/2,y:0},{x:0,y:-S},{x:b,y:-S},{x:b,y:-v+S},{x:0,y:-v+S},{x:E/2,y:-v},{x:E,y:-v+S},{x:E-b,y:-v+S},{x:E-b,y:-S},{x:E,y:-S}]:g.has("right")&&g.has("up")?[{x:0,y:0},{x:E,y:-b},{x:0,y:-v}]:g.has("right")&&g.has("down")?[{x:0,y:0},{x:E,y:0},{x:0,y:-v}]:g.has("left")&&g.has("up")?[{x:E,y:0},{x:0,y:-b},{x:E,y:-v}]:g.has("left")&&g.has("down")?[{x:E,y:0},{x:0,y:0},{x:E,y:-v}]:g.has("right")?[{x:b,y:-S},{x:b,y:-S},{x:E-b,y:-S},{x:E-b,y:0},{x:E,y:-v/2},{x:E-b,y:-v},{x:E-b,y:-v+S},{x:b,y:-v+S},{x:b,y:-v+S}]:g.has("left")?[{x:b,y:0},{x:b,y:-S},{x:E-b,y:-S},{x:E-b,y:-v+S},{x:b,y:-v+S},{x:b,y:-v},{x:0,y:-v/2}]:g.has("up")?[{x:b,y:-S},{x:b,y:-v+S},{x:0,y:-v+S},{x:E/2,y:-v},{x:E,y:-v+S},{x:E-b,y:-v+S},{x:E-b,y:-S}]:g.has("down")?[{x:E/2,y:0},{x:0,y:-S},{x:b,y:-S},{x:b,y:-v+S},{x:E-b,y:-v+S},{x:E-b,y:-S},{x:E,y:-S}]:[{x:0,y:0}]},rzt=i=>i?" "+i:"",L2=(i,a)=>`${a||"node default"}${rzt(i.classes)} ${rzt(i.class)}`,izt=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=w+v,E=[{x:b/2,y:0},{x:b,y:-b/2},{x:b/2,y:-b},{x:0,y:-b/2}];Kt.info("Question main (Circle)");const S=l4(f,b,b,E);return S.attr("style",a.style),xh(a,S),a.intersect=function(_){return Kt.warn("Intersect called"),Ql.polygon(a,E,_)},f},zKe=(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),g=28,w=[{x:0,y:g/2},{x:g/2,y:0},{x:0,y:-g/2},{x:-g/2,y:0}];return f.insert("polygon",":first-child").attr("points",w.map(function(b){return b.x+","+b.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),a.width=28,a.height=28,a.intersect=function(b){return Ql.circle(a,14,b)},f},qKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=4,v=g.height+a.padding,b=v/w,E=g.width+2*b+a.padding,S=[{x:b,y:0},{x:E-b,y:0},{x:E,y:-v/2},{x:E-b,y:-v},{x:b,y:-v},{x:0,y:-v/2}],_=l4(f,E,v,S);return _.attr("style",a.style),xh(a,_),a.intersect=function(M){return Ql.polygon(a,S,M)},f},HKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,void 0,!0),w=2,v=g.height+2*a.padding,b=v/w,E=g.width+2*b+a.padding,S=$Ke(a.directions,g,a),_=l4(f,E,v,S);return _.attr("style",a.style),xh(a,_),a.intersect=function(M){return Ql.polygon(a,S,M)},f},VKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:-v/2,y:0},{x:w,y:0},{x:w,y:-v},{x:-v/2,y:-v},{x:0,y:-v/2}];return l4(f,w,v,b).attr("style",a.style),a.width=w+v,a.height=v,a.intersect=function(S){return Ql.polygon(a,b,S)},f},UKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:-2*v/6,y:0},{x:w-v/6,y:0},{x:w+2*v/6,y:-v},{x:v/6,y:-v}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},GKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:2*v/6,y:0},{x:w+v/6,y:0},{x:w-2*v/6,y:-v},{x:-v/6,y:-v}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},KKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:-2*v/6,y:0},{x:w+2*v/6,y:0},{x:w-v/6,y:-v},{x:v/6,y:-v}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},WKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:v/6,y:0},{x:w-v/6,y:0},{x:w+2*v/6,y:-v},{x:-2*v/6,y:-v}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},YKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:0,y:0},{x:w+v/2,y:0},{x:w,y:-v/2},{x:w+v/2,y:-v},{x:0,y:-v}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},XKe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=w/2,b=v/(2.5+w/50),E=g.height+b+a.padding,S="M 0,"+b+" a "+v+","+b+" 0,0,0 "+w+" 0 a "+v+","+b+" 0,0,0 "+-w+" 0 l 0,"+E+" a "+v+","+b+" 0,0,0 "+w+" 0 l 0,"+-E,_=f.attr("label-offset-y",b).insert("path",":first-child").attr("style",a.style).attr("d",S).attr("transform","translate("+-w/2+","+-(E/2+b)+")");return xh(a,_),a.intersect=function(M){const F=Ql.rect(a,M),R=F.x-a.x;if(v!=0&&(Math.abs(R)<a.width/2||Math.abs(R)==a.width/2&&Math.abs(F.y-a.y)>a.height/2-b)){let B=b*b*(1-R*R/(v*v));B!=0&&(B=Math.sqrt(B)),B=b-B,M.y-a.y>0&&(B=-B),F.y+=B}return F},f},QKe=async(i,a)=>{const{shapeSvg:f,bbox:g,halfPadding:w}=await $1(i,a,"node "+a.classes+" "+a.class,!0),v=f.insert("rect",":first-child"),b=a.positioned?a.width:g.width+a.padding,E=a.positioned?a.height:g.height+a.padding,S=a.positioned?-b/2:-g.width/2-w,_=a.positioned?-E/2:-g.height/2-w;if(v.attr("class","basic label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",S).attr("y",_).attr("width",b).attr("height",E),a.props){const M=new Set(Object.keys(a.props));a.props.borders&&(Jpt(v,a.props.borders,b,E),M.delete("borders")),M.forEach(F=>{Kt.warn(`Unknown node property ${F}`)})}return xh(a,v),a.intersect=function(M){return Ql.rect(a,M)},f},JKe=async(i,a)=>{const{shapeSvg:f,bbox:g,halfPadding:w}=await $1(i,a,"node "+a.classes,!0),v=f.insert("rect",":first-child"),b=a.positioned?a.width:g.width+a.padding,E=a.positioned?a.height:g.height+a.padding,S=a.positioned?-b/2:-g.width/2-w,_=a.positioned?-E/2:-g.height/2-w;if(v.attr("class","basic cluster composite label-container").attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",S).attr("y",_).attr("width",b).attr("height",E),a.props){const M=new Set(Object.keys(a.props));a.props.borders&&(Jpt(v,a.props.borders,b,E),M.delete("borders")),M.forEach(F=>{Kt.warn(`Unknown node property ${F}`)})}return xh(a,v),a.intersect=function(M){return Ql.rect(a,M)},f},ZKe=async(i,a)=>{const{shapeSvg:f}=await $1(i,a,"label",!0);Kt.trace("Classes = ",a.class);const g=f.insert("rect",":first-child"),w=0,v=0;if(g.attr("width",w).attr("height",v),f.attr("class","label edgeLabel"),a.props){const b=new Set(Object.keys(a.props));a.props.borders&&(Jpt(g,a.props.borders,w,v),b.delete("borders")),b.forEach(E=>{Kt.warn(`Unknown node property ${E}`)})}return xh(a,g),a.intersect=function(b){return Ql.rect(a,b)},f};function Jpt(i,a,f,g){const w=[],v=E=>{w.push(E,0)},b=E=>{w.push(0,E)};a.includes("t")?(Kt.debug("add top border"),v(f)):b(f),a.includes("r")?(Kt.debug("add right border"),v(g)):b(g),a.includes("b")?(Kt.debug("add bottom border"),v(f)):b(f),a.includes("l")?(Kt.debug("add left border"),v(g)):b(g),i.attr("stroke-dasharray",w.join(" "))}const tWe=(i,a)=>{let f;a.classes?f="node "+a.classes:f="node default";const g=i.insert("g").attr("class",f).attr("id",a.domId||a.id),w=g.insert("rect",":first-child"),v=g.insert("line"),b=g.insert("g").attr("class","label"),E=a.labelText.flat?a.labelText.flat():a.labelText;let S="";typeof E=="object"?S=E[0]:S=E,Kt.info("Label text abc79",S,E,typeof E=="object");const _=b.node().appendChild(ab(S,a.labelStyle,!0,!0));let M={width:0,height:0};if(j1(Re().flowchart.htmlLabels)){const Y=_.children[0],nt=Tr(_);M=Y.getBoundingClientRect(),nt.attr("width",M.width),nt.attr("height",M.height)}Kt.info("Text 2",E);const F=E.slice(1,E.length);let R=_.getBBox();const B=b.node().appendChild(ab(F.join?F.join("<br/>"):F,a.labelStyle,!0,!0));if(j1(Re().flowchart.htmlLabels)){const Y=B.children[0],nt=Tr(B);M=Y.getBoundingClientRect(),nt.attr("width",M.width),nt.attr("height",M.height)}const z=a.padding/2;return Tr(B).attr("transform","translate( "+(M.width>R.width?0:(R.width-M.width)/2)+", "+(R.height+z+5)+")"),Tr(_).attr("transform","translate( "+(M.width<R.width?0:-(R.width-M.width)/2)+", 0)"),M=b.node().getBBox(),b.attr("transform","translate("+-M.width/2+", "+(-M.height/2-z+3)+")"),w.attr("class","outer title-state").attr("x",-M.width/2-z).attr("y",-M.height/2-z).attr("width",M.width+a.padding).attr("height",M.height+a.padding),v.attr("class","divider").attr("x1",-M.width/2-z).attr("x2",M.width/2+z).attr("y1",-M.height/2-z+R.height+z).attr("y2",-M.height/2-z+R.height+z),xh(a,w),a.intersect=function(Y){return Ql.rect(a,Y)},g},eWe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.height+a.padding,v=g.width+w/4+a.padding,b=f.insert("rect",":first-child").attr("style",a.style).attr("rx",w/2).attr("ry",w/2).attr("x",-v/2).attr("y",-w/2).attr("width",v).attr("height",w);return xh(a,b),a.intersect=function(E){return Ql.rect(a,E)},f},nWe=async(i,a)=>{const{shapeSvg:f,bbox:g,halfPadding:w}=await $1(i,a,L2(a,void 0),!0),v=f.insert("circle",":first-child");return v.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",g.width/2+w).attr("width",g.width+a.padding).attr("height",g.height+a.padding),Kt.info("Circle main"),xh(a,v),a.intersect=function(b){return Kt.info("Circle intersect",a,g.width/2+w,b),Ql.circle(a,g.width/2+w,b)},f},rWe=async(i,a)=>{const{shapeSvg:f,bbox:g,halfPadding:w}=await $1(i,a,L2(a,void 0),!0),v=5,b=f.insert("g",":first-child"),E=b.insert("circle"),S=b.insert("circle");return b.attr("class",a.class),E.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",g.width/2+w+v).attr("width",g.width+a.padding+v*2).attr("height",g.height+a.padding+v*2),S.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("r",g.width/2+w).attr("width",g.width+a.padding).attr("height",g.height+a.padding),Kt.info("DoubleCircle main"),xh(a,E),a.intersect=function(_){return Kt.info("DoubleCircle intersect",a,g.width/2+w+v,_),Ql.circle(a,g.width/2+w+v,_)},f},iWe=async(i,a)=>{const{shapeSvg:f,bbox:g}=await $1(i,a,L2(a,void 0),!0),w=g.width+a.padding,v=g.height+a.padding,b=[{x:0,y:0},{x:w,y:0},{x:w,y:-v},{x:0,y:-v},{x:0,y:0},{x:-8,y:0},{x:w+8,y:0},{x:w+8,y:-v},{x:-8,y:-v},{x:-8,y:0}],E=l4(f,w,v,b);return E.attr("style",a.style),xh(a,E),a.intersect=function(S){return Ql.polygon(a,b,S)},f},sWe=(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),g=f.insert("circle",":first-child");return g.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),xh(a,g),a.intersect=function(w){return Ql.circle(a,7,w)},f},szt=(i,a,f)=>{const g=i.insert("g").attr("class","node default").attr("id",a.domId||a.id);let w=70,v=10;f==="LR"&&(w=10,v=70);const b=g.append("rect").attr("x",-1*w/2).attr("y",-1*v/2).attr("width",w).attr("height",v).attr("class","fork-join");return xh(a,b),a.height=a.height+a.padding/2,a.width=a.width+a.padding/2,a.intersect=function(E){return Ql.rect(a,E)},g},azt={rhombus:izt,composite:JKe,question:izt,rect:QKe,labelRect:ZKe,rectWithTitle:tWe,choice:zKe,circle:nWe,doublecircle:rWe,stadium:eWe,hexagon:qKe,block_arrow:HKe,rect_left_inv_arrow:VKe,lean_right:UKe,lean_left:GKe,trapezoid:KKe,inv_trapezoid:WKe,rect_right_inv_arrow:YKe,cylinder:XKe,start:sWe,end:(i,a)=>{const f=i.insert("g").attr("class","node default").attr("id",a.domId||a.id),g=f.insert("circle",":first-child"),w=f.insert("circle",":first-child");return w.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),g.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),xh(a,w),a.intersect=function(v){return Ql.circle(a,7,v)},f},note:RKe,subroutine:iWe,fork:szt,join:szt,class_box:(i,a)=>{const f=a.padding/2,g=4,w=8;let v;a.classes?v="node "+a.classes:v="node default";const b=i.insert("g").attr("class",v).attr("id",a.domId||a.id),E=b.insert("rect",":first-child"),S=b.insert("line"),_=b.insert("line");let M=0,F=g;const R=b.insert("g").attr("class","label");let B=0;const z=a.classData.annotations&&a.classData.annotations[0],Y=a.classData.annotations[0]?"«"+a.classData.annotations[0]+"»":"",nt=R.node().appendChild(ab(Y,a.labelStyle,!0,!0));let ot=nt.getBBox();if(j1(Re().flowchart.htmlLabels)){const gt=nt.children[0],Q=Tr(nt);ot=gt.getBoundingClientRect(),Q.attr("width",ot.width),Q.attr("height",ot.height)}a.classData.annotations[0]&&(F+=ot.height+g,M+=ot.width);let ft=a.classData.label;a.classData.type!==void 0&&a.classData.type!==""&&(Re().flowchart.htmlLabels?ft+="&lt;"+a.classData.type+"&gt;":ft+="<"+a.classData.type+">");const wt=R.node().appendChild(ab(ft,a.labelStyle,!0,!0));Tr(wt).attr("class","classTitle");let mt=wt.getBBox();if(j1(Re().flowchart.htmlLabels)){const gt=wt.children[0],Q=Tr(wt);mt=gt.getBoundingClientRect(),Q.attr("width",mt.width),Q.attr("height",mt.height)}F+=mt.height+g,mt.width>M&&(M=mt.width);const ct=[];a.classData.members.forEach(gt=>{const Q=gt.getDisplayDetails();let dt=Q.displayText;Re().flowchart.htmlLabels&&(dt=dt.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const K=R.node().appendChild(ab(dt,Q.cssStyle?Q.cssStyle:a.labelStyle,!0,!0));let yt=K.getBBox();if(j1(Re().flowchart.htmlLabels)){const V=K.children[0],Ot=Tr(K);yt=V.getBoundingClientRect(),Ot.attr("width",yt.width),Ot.attr("height",yt.height)}yt.width>M&&(M=yt.width),F+=yt.height+g,ct.push(K)}),F+=w;const rt=[];if(a.classData.methods.forEach(gt=>{const Q=gt.getDisplayDetails();let dt=Q.displayText;Re().flowchart.htmlLabels&&(dt=dt.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const K=R.node().appendChild(ab(dt,Q.cssStyle?Q.cssStyle:a.labelStyle,!0,!0));let yt=K.getBBox();if(j1(Re().flowchart.htmlLabels)){const V=K.children[0],Ot=Tr(K);yt=V.getBoundingClientRect(),Ot.attr("width",yt.width),Ot.attr("height",yt.height)}yt.width>M&&(M=yt.width),F+=yt.height+g,rt.push(K)}),F+=w,z){let gt=(M-ot.width)/2;Tr(nt).attr("transform","translate( "+(-1*M/2+gt)+", "+-1*F/2+")"),B=ot.height+g}let it=(M-mt.width)/2;return Tr(wt).attr("transform","translate( "+(-1*M/2+it)+", "+(-1*F/2+B)+")"),B+=mt.height+g,S.attr("class","divider").attr("x1",-M/2-f).attr("x2",M/2+f).attr("y1",-F/2-f+w+B).attr("y2",-F/2-f+w+B),B+=w,ct.forEach(gt=>{Tr(gt).attr("transform","translate( "+-M/2+", "+(-1*F/2+B+w/2)+")");const Q=gt==null?void 0:gt.getBBox();B+=((Q==null?void 0:Q.height)??0)+g}),B+=w,_.attr("class","divider").attr("x1",-M/2-f).attr("x2",M/2+f).attr("y1",-F/2-f+w+B).attr("y2",-F/2-f+w+B),B+=w,rt.forEach(gt=>{Tr(gt).attr("transform","translate( "+-M/2+", "+(-1*F/2+B)+")");const Q=gt==null?void 0:gt.getBBox();B+=((Q==null?void 0:Q.height)??0)+g}),E.attr("style",a.style).attr("class","outer title-state").attr("x",-M/2-f).attr("y",-(F/2)-f).attr("width",M+a.padding).attr("height",F+a.padding),xh(a,E),a.intersect=function(gt){return Ql.rect(a,gt)},b}};let TD={};const nX=async(i,a,f)=>{let g,w;if(a.link){let v;Re().securityLevel==="sandbox"?v="_top":a.linkTarget&&(v=a.linkTarget||"_blank"),g=i.insert("svg:a").attr("xlink:href",a.link).attr("target",v),w=await azt[a.shape](g,a,f)}else w=await azt[a.shape](i,a,f),g=w;return a.tooltip&&w.attr("title",a.tooltip),a.class&&w.attr("class","node default "+a.class),g.attr("data-node","true"),g.attr("data-id",a.id),TD[a.id]=g,a.haveCallback&&TD[a.id].attr("class",TD[a.id].attr("class")+" clickable"),g},aWe=(i,a)=>{TD[a.id]=i},oWe=()=>{TD={}},Zpt=i=>{const a=TD[i.id];Kt.trace("Transforming node",i.diff,i,"translate("+(i.x-i.width/2-5)+", "+i.width/2+")");const f=8,g=i.diff||0;return i.clusterNode?a.attr("transform","translate("+(i.x+g-i.width/2)+", "+(i.y-i.height/2-f)+")"):a.attr("transform","translate("+i.x+", "+i.y+")"),g},rX=({flowchart:i})=>{var w,v;const a=((w=i==null?void 0:i.subGraphTitleMargin)==null?void 0:w.top)??0,f=((v=i==null?void 0:i.subGraphTitleMargin)==null?void 0:v.bottom)??0,g=a+f;return{subGraphTitleTopMargin:a,subGraphTitleBottomMargin:f,subGraphTitleTotalMargin:g}},cWe={rect:(i,a)=>{Kt.info("Creating subgraph rect for ",a.id,a);const f=Re(),g=i.insert("g").attr("class","cluster"+(a.class?" "+a.class:"")).attr("id",a.id),w=g.insert("rect",":first-child"),v=j1(f.flowchart.htmlLabels),b=g.insert("g").attr("class","cluster-label"),E=a.labelType==="markdown"?ZY(b,a.labelText,{style:a.labelStyle,useHtmlLabels:v}):b.node().appendChild(ab(a.labelText,a.labelStyle,void 0,!0));let S=E.getBBox();if(j1(f.flowchart.htmlLabels)){const z=E.children[0],Y=Tr(E);S=z.getBoundingClientRect(),Y.attr("width",S.width),Y.attr("height",S.height)}const _=0*a.padding,M=_/2,F=a.width<=S.width+_?S.width+_:a.width;a.width<=S.width+_?a.diff=(S.width-a.width)/2-a.padding/2:a.diff=-a.padding/2,Kt.trace("Data ",a,JSON.stringify(a)),w.attr("style",a.style).attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-F/2).attr("y",a.y-a.height/2-M).attr("width",F).attr("height",a.height+_);const{subGraphTitleTopMargin:R}=rX(f);v?b.attr("transform",`translate(${a.x-S.width/2}, ${a.y-a.height/2+R})`):b.attr("transform",`translate(${a.x}, ${a.y-a.height/2+R})`);const B=w.node().getBBox();return a.width=B.width,a.height=B.height,a.intersect=function(z){return eB(a,z)},g},roundedWithTitle:(i,a)=>{const f=Re(),g=i.insert("g").attr("class",a.classes).attr("id",a.id),w=g.insert("rect",":first-child"),v=g.insert("g").attr("class","cluster-label"),b=g.append("rect"),E=v.node().appendChild(ab(a.labelText,a.labelStyle,void 0,!0));let S=E.getBBox();if(j1(f.flowchart.htmlLabels)){const z=E.children[0],Y=Tr(E);S=z.getBoundingClientRect(),Y.attr("width",S.width),Y.attr("height",S.height)}S=E.getBBox();const _=0*a.padding,M=_/2,F=a.width<=S.width+a.padding?S.width+a.padding:a.width;a.width<=S.width+a.padding?a.diff=(S.width+a.padding*0-a.width)/2:a.diff=-a.padding/2,w.attr("class","outer").attr("x",a.x-F/2-M).attr("y",a.y-a.height/2-M).attr("width",F+_).attr("height",a.height+_),b.attr("class","inner").attr("x",a.x-F/2-M).attr("y",a.y-a.height/2-M+S.height-1).attr("width",F+_).attr("height",a.height+_-S.height-3);const{subGraphTitleTopMargin:R}=rX(f);v.attr("transform",`translate(${a.x-S.width/2}, ${a.y-a.height/2-a.padding/3+(j1(f.flowchart.htmlLabels)?5:3)+R})`);const B=w.node().getBBox();return a.height=B.height,a.intersect=function(z){return eB(a,z)},g},noteGroup:(i,a)=>{const f=i.insert("g").attr("class","note-cluster").attr("id",a.id),g=f.insert("rect",":first-child"),w=0*a.padding,v=w/2;g.attr("rx",a.rx).attr("ry",a.ry).attr("x",a.x-a.width/2-v).attr("y",a.y-a.height/2-v).attr("width",a.width+w).attr("height",a.height+w).attr("fill","none");const b=g.node().getBBox();return a.width=b.width,a.height=b.height,a.intersect=function(E){return eB(a,E)},f},divider:(i,a)=>{const f=i.insert("g").attr("class",a.classes).attr("id",a.id),g=f.insert("rect",":first-child"),w=0*a.padding,v=w/2;g.attr("class","divider").attr("x",a.x-a.width/2-v).attr("y",a.y-a.height/2).attr("width",a.width+w).attr("height",a.height+w);const b=g.node().getBBox();return a.width=b.width,a.height=b.height,a.diff=-a.padding/2,a.intersect=function(E){return eB(a,E)},f}};let ozt={};const uWe=(i,a)=>{Kt.trace("Inserting cluster");const f=a.shape||"rect";ozt[a.id]=cWe[f](i,a)},lWe=()=>{ozt={}},C8={aggregation:18,extension:18,composition:18,dependency:6,lollipop:13.5,arrow_point:5.3};function iX(i,a){if(i===void 0||a===void 0)return{angle:0,deltaX:0,deltaY:0};i=sX(i),a=sX(a);const[f,g]=[i.x,i.y],[w,v]=[a.x,a.y],b=w-f,E=v-g;return{angle:Math.atan(E/b),deltaX:b,deltaY:E}}const sX=i=>Array.isArray(i)?{x:i[0],y:i[1]}:i,czt=i=>({x:function(a,f,g){let w=0;if(f===0&&Object.hasOwn(C8,i.arrowTypeStart)){const{angle:v,deltaX:b}=iX(g[0],g[1]);w=C8[i.arrowTypeStart]*Math.cos(v)*(b>=0?1:-1)}else if(f===g.length-1&&Object.hasOwn(C8,i.arrowTypeEnd)){const{angle:v,deltaX:b}=iX(g[g.length-1],g[g.length-2]);w=C8[i.arrowTypeEnd]*Math.cos(v)*(b>=0?1:-1)}return sX(a).x+w},y:function(a,f,g){let w=0;if(f===0&&Object.hasOwn(C8,i.arrowTypeStart)){const{angle:v,deltaY:b}=iX(g[0],g[1]);w=C8[i.arrowTypeStart]*Math.abs(Math.sin(v))*(b>=0?1:-1)}else if(f===g.length-1&&Object.hasOwn(C8,i.arrowTypeEnd)){const{angle:v,deltaY:b}=iX(g[g.length-1],g[g.length-2]);w=C8[i.arrowTypeEnd]*Math.abs(Math.sin(v))*(b>=0?1:-1)}return sX(a).y+w}}),uzt=(i,a,f,g,w)=>{a.arrowTypeStart&&lzt(i,"start",a.arrowTypeStart,f,g,w),a.arrowTypeEnd&&lzt(i,"end",a.arrowTypeEnd,f,g,w)},hWe={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},lzt=(i,a,f,g,w,v)=>{const b=hWe[f];if(!b){Kt.warn(`Unknown arrow type: ${f}`);return}const E=a==="start"?"Start":"End";i.attr(`marker-${a}`,`url(${g}#${w}_${v}-${b}${E})`)};let aX={},p0={};const fWe=()=>{aX={},p0={}},tbt=(i,a)=>{const f=j1(Re().flowchart.htmlLabels),g=a.labelType==="markdown"?ZY(i,a.label,{style:a.labelStyle,useHtmlLabels:f,addSvgBackground:!0}):ab(a.label,a.labelStyle),w=i.insert("g").attr("class","edgeLabel"),v=w.insert("g").attr("class","label");v.node().appendChild(g);let b=g.getBBox();if(f){const S=g.children[0],_=Tr(g);b=S.getBoundingClientRect(),_.attr("width",b.width),_.attr("height",b.height)}v.attr("transform","translate("+-b.width/2+", "+-b.height/2+")"),aX[a.id]=w,a.width=b.width,a.height=b.height;let E;if(a.startLabelLeft){const S=ab(a.startLabelLeft,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),M=_.insert("g").attr("class","inner");E=M.node().appendChild(S);const F=S.getBBox();M.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"),p0[a.id]||(p0[a.id]={}),p0[a.id].startLeft=_,oX(E,a.startLabelLeft)}if(a.startLabelRight){const S=ab(a.startLabelRight,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),M=_.insert("g").attr("class","inner");E=_.node().appendChild(S),M.node().appendChild(S);const F=S.getBBox();M.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"),p0[a.id]||(p0[a.id]={}),p0[a.id].startRight=_,oX(E,a.startLabelRight)}if(a.endLabelLeft){const S=ab(a.endLabelLeft,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),M=_.insert("g").attr("class","inner");E=M.node().appendChild(S);const F=S.getBBox();M.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"),_.node().appendChild(S),p0[a.id]||(p0[a.id]={}),p0[a.id].endLeft=_,oX(E,a.endLabelLeft)}if(a.endLabelRight){const S=ab(a.endLabelRight,a.labelStyle),_=i.insert("g").attr("class","edgeTerminals"),M=_.insert("g").attr("class","inner");E=M.node().appendChild(S);const F=S.getBBox();M.attr("transform","translate("+-F.width/2+", "+-F.height/2+")"),_.node().appendChild(S),p0[a.id]||(p0[a.id]={}),p0[a.id].endRight=_,oX(E,a.endLabelRight)}return g};function oX(i,a){Re().flowchart.htmlLabels&&i&&(i.style.width=a.length*9+"px",i.style.height="12px")}const hzt=(i,a)=>{Kt.debug("Moving label abc88 ",i.id,i.label,aX[i.id],a);let f=a.updatedPath?a.updatedPath:a.originalPath;const g=Re(),{subGraphTitleTotalMargin:w}=rX(g);if(i.label){const v=aX[i.id];let b=i.x,E=i.y;if(f){const S=uo.calcLabelPosition(f);Kt.debug("Moving label "+i.label+" from (",b,",",E,") to (",S.x,",",S.y,") abc88"),a.updatedPath&&(b=S.x,E=S.y)}v.attr("transform",`translate(${b}, ${E+w/2})`)}if(i.startLabelLeft){const v=p0[i.id].startLeft;let b=i.x,E=i.y;if(f){const S=uo.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_left",f);b=S.x,E=S.y}v.attr("transform",`translate(${b}, ${E})`)}if(i.startLabelRight){const v=p0[i.id].startRight;let b=i.x,E=i.y;if(f){const S=uo.calcTerminalLabelPosition(i.arrowTypeStart?10:0,"start_right",f);b=S.x,E=S.y}v.attr("transform",`translate(${b}, ${E})`)}if(i.endLabelLeft){const v=p0[i.id].endLeft;let b=i.x,E=i.y;if(f){const S=uo.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_left",f);b=S.x,E=S.y}v.attr("transform",`translate(${b}, ${E})`)}if(i.endLabelRight){const v=p0[i.id].endRight;let b=i.x,E=i.y;if(f){const S=uo.calcTerminalLabelPosition(i.arrowTypeEnd?10:0,"end_right",f);b=S.x,E=S.y}v.attr("transform",`translate(${b}, ${E})`)}},dWe=(i,a)=>{const f=i.x,g=i.y,w=Math.abs(a.x-f),v=Math.abs(a.y-g),b=i.width/2,E=i.height/2;return w>=b||v>=E},gWe=(i,a,f)=>{Kt.debug(`intersection calc abc89:
117 node : x:${i.x} y:${i.y} w:${i.width} h:${i.height}`);const g=i.x,w=i.y,v=Math.abs(g-f.x),b=i.width/2;let E=f.x<a.x?b-v:b+v;const S=i.height/2,_=Math.abs(a.y-f.y),M=Math.abs(a.x-f.x);if(Math.abs(w-a.y)*b>Math.abs(g-a.x)*S){let F=f.y<a.y?a.y-S-w:w-S-a.y;E=M*F/_;const R={x:f.x<a.x?f.x+E:f.x-M+E,y:f.y<a.y?f.y+_-F:f.y-_+F};return E===0&&(R.x=a.x,R.y=a.y),M===0&&(R.x=a.x),_===0&&(R.y=a.y),Kt.debug(`abc89 topp/bott calc, Q ${_}, q ${F}, R ${M}, r ${E}`,R),R}else{f.x<a.x?E=a.x-b-g:E=g-b-a.x;let F=_*E/M,R=f.x<a.x?f.x+M-E:f.x-M+E,B=f.y<a.y?f.y+F:f.y-F;return Kt.debug(`sides calc abc89, Q ${_}, q ${F}, R ${M}, r ${E}`,{_x:R,_y:B}),E===0&&(R=a.x,B=a.y),M===0&&(R=a.x),_===0&&(B=a.y),{x:R,y:B}}},fzt=(i,a)=>{Kt.debug("abc88 cutPathAtIntersect",i,a);let f=[],g=i[0],w=!1;return i.forEach(v=>{if(!dWe(a,v)&&!w){const b=gWe(a,g,v);let E=!1;f.forEach(S=>{E=E||S.x===b.x&&S.y===b.y}),f.some(S=>S.x===b.x&&S.y===b.y)||f.push(b),w=!0}else g=v,w||f.push(v)}),f},dzt=function(i,a,f,g,w,v,b){let E=f.points;Kt.debug("abc88 InsertEdge: edge=",f,"e=",a);let S=!1;const _=v.node(a.v);var M=v.node(a.w);M!=null&&M.intersect&&(_!=null&&_.intersect)&&(E=E.slice(1,f.points.length-1),E.unshift(_.intersect(E[0])),E.push(M.intersect(E[E.length-1]))),f.toCluster&&(Kt.debug("to cluster abc88",g[f.toCluster]),E=fzt(f.points,g[f.toCluster].node),S=!0),f.fromCluster&&(Kt.debug("from cluster abc88",g[f.fromCluster]),E=fzt(E.reverse(),g[f.fromCluster].node).reverse(),S=!0);const F=E.filter(mt=>!Number.isNaN(mt.y));let R=wF;f.curve&&(w==="graph"||w==="flowchart")&&(R=f.curve);const{x:B,y:z}=czt(f),Y=Ax().x(B).y(z).curve(R);let nt;switch(f.thickness){case"normal":nt="edge-thickness-normal";break;case"thick":nt="edge-thickness-thick";break;case"invisible":nt="edge-thickness-thick";break;default:nt=""}switch(f.pattern){case"solid":nt+=" edge-pattern-solid";break;case"dotted":nt+=" edge-pattern-dotted";break;case"dashed":nt+=" edge-pattern-dashed";break}const ot=i.append("path").attr("d",Y(F)).attr("id",f.id).attr("class"," "+nt+(f.classes?" "+f.classes:"")).attr("style",f.style);let ft="";(Re().flowchart.arrowMarkerAbsolute||Re().state.arrowMarkerAbsolute)&&(ft=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,ft=ft.replace(/\(/g,"\\("),ft=ft.replace(/\)/g,"\\)")),uzt(ot,f,ft,b,w);let wt={};return S&&(wt.updatedPath=E),wt.originalPath=f.points,wt},gzt=async(i,a,f,g,w,v)=>{Kt.info("Graph in recursive render: XXX",jx(a),w);const b=a.graph().rankdir;Kt.trace("Dir in recursive render - dir:",b);const E=i.insert("g").attr("class","root");a.nodes()?Kt.info("Recursive render XXX",a.nodes()):Kt.info("No nodes found for",a),a.edges().length>0&&Kt.trace("Recursive edges",a.edge(a.edges()[0]));const S=E.insert("g").attr("class","clusters"),_=E.insert("g").attr("class","edgePaths"),M=E.insert("g").attr("class","edgeLabels"),F=E.insert("g").attr("class","nodes");await Promise.all(a.nodes().map(async function(z){const Y=a.node(z);if(w!==void 0){const nt=JSON.parse(JSON.stringify(w.clusterData));Kt.info("Setting data for cluster XXX (",z,") ",nt,w),a.setNode(w.id,nt),a.parent(z)||(Kt.trace("Setting parent",z,w.id),a.setParent(z,w.id,nt))}if(Kt.info("(Insert) Node XXX"+z+": "+JSON.stringify(a.node(z))),Y&&Y.clusterNode){Kt.info("Cluster identified",z,Y.width,a.node(z));const nt=await gzt(F,Y.graph,f,g,a.node(z),v),ot=nt.elem;xh(Y,ot),Y.diff=nt.diff||0,Kt.info("Node bounds (abc123)",z,Y,Y.width,Y.x,Y.y),aWe(ot,Y),Kt.warn("Recursive render complete ",ot,Y)}else a.children(z).length>0?(Kt.info("Cluster - the non recursive path XXX",z,Y.id,Y,a),Kt.info(tB(Y.id,a)),ho[Y.id]={id:tB(Y.id,a),node:Y}):(Kt.info("Node - the non recursive path",z,Y.id,Y),await nX(F,a.node(z),b))})),a.edges().forEach(function(z){const Y=a.edge(z.v,z.w,z.name);Kt.info("Edge "+z.v+" -> "+z.w+": "+JSON.stringify(z)),Kt.info("Edge "+z.v+" -> "+z.w+": ",z," ",JSON.stringify(a.edge(z))),Kt.info("Fix",ho,"ids:",z.v,z.w,"Translateing: ",ho[z.v],ho[z.w]),tbt(M,Y)}),a.edges().forEach(function(z){Kt.info("Edge "+z.v+" -> "+z.w+": "+JSON.stringify(z))}),Kt.info("#############################################"),Kt.info("### Layout ###"),Kt.info("#############################################"),Kt.info(a),kD(a),Kt.info("Graph after layout:",jx(a));let R=0;const{subGraphTitleTotalMargin:B}=rX(v);return OKe(a).forEach(function(z){const Y=a.node(z);Kt.info("Position "+z+": "+JSON.stringify(a.node(z))),Kt.info("Position "+z+": ("+Y.x,","+Y.y,") width: ",Y.width," height: ",Y.height),Y&&Y.clusterNode?(Y.y+=B,Zpt(Y)):a.children(z).length>0?(Y.height+=B,uWe(S,Y),ho[Y.id].node=Y):(Y.y+=B/2,Zpt(Y))}),a.edges().forEach(function(z){const Y=a.edge(z);Kt.info("Edge "+z.v+" -> "+z.w+": "+JSON.stringify(Y),Y),Y.points.forEach(ot=>ot.y+=B/2);const nt=dzt(_,z,Y,ho,f,a,g);hzt(Y,nt)}),a.nodes().forEach(function(z){const Y=a.node(z);Kt.info(z,Y.type,Y.diff),Y.type==="group"&&(R=Y.diff)}),{elem:E,diff:R}},ebt=async(i,a,f,g,w)=>{jpt(i,f,g,w),oWe(),fWe(),lWe(),DKe(),Kt.warn("Graph at first:",JSON.stringify(jx(a))),IKe(a),Kt.warn("Graph after:",JSON.stringify(jx(a)));const v=Re();await gzt(i,a,g,w,void 0,v)},pzt={},pWe=function(i){const a=Object.keys(i);for(const f of a)pzt[f]=i[f]},bzt=function(i,a,f,g,w,v){const b=g.select(`[id="${f}"]`);Object.keys(i).forEach(function(S){const _=i[S];let M="default";_.classes.length>0&&(M=_.classes.join(" ")),M=M+" flowchart-label";const F=C2(_.styles);let R=_.text!==void 0?_.text:_.id,B;if(Kt.info("vertex",_,_.labelType),_.labelType==="markdown")Kt.info("vertex",_,_.labelType);else if(j1(Re().flowchart.htmlLabels)){const nt={label:R.replace(/fa[blrs]?:fa-[\w-]+/g,ot=>`<i class='${ot.replace(":"," ")}'></i>`)};B=Mpt(b,nt).node(),B.parentNode.removeChild(B)}else{const nt=w.createElementNS("http://www.w3.org/2000/svg","text");nt.setAttribute("style",F.labelStyle.replace("color:","fill:"));const ot=R.split(ei.lineBreakRegex);for(const ft of ot){const wt=w.createElementNS("http://www.w3.org/2000/svg","tspan");wt.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),wt.setAttribute("dy","1em"),wt.setAttribute("x","1"),wt.textContent=ft,nt.appendChild(wt)}B=nt}let z=0,Y="";switch(_.type){case"round":z=5,Y="rect";break;case"square":Y="rect";break;case"diamond":Y="question";break;case"hexagon":Y="hexagon";break;case"odd":Y="rect_left_inv_arrow";break;case"lean_right":Y="lean_right";break;case"lean_left":Y="lean_left";break;case"trapezoid":Y="trapezoid";break;case"inv_trapezoid":Y="inv_trapezoid";break;case"odd_right":Y="rect_left_inv_arrow";break;case"circle":Y="circle";break;case"ellipse":Y="ellipse";break;case"stadium":Y="stadium";break;case"subroutine":Y="subroutine";break;case"cylinder":Y="cylinder";break;case"group":Y="rect";break;case"doublecircle":Y="doublecircle";break;default:Y="rect"}a.setNode(_.id,{labelStyle:F.labelStyle,shape:Y,labelText:R,labelType:_.labelType,rx:z,ry:z,class:M,style:F.style,id:_.id,link:_.link,linkTarget:_.linkTarget,tooltip:v.db.getTooltip(_.id)||"",domId:v.db.lookUpDomId(_.id),haveCallback:_.haveCallback,width:_.type==="group"?500:void 0,dir:_.dir,type:_.type,props:_.props,padding:Re().flowchart.padding}),Kt.info("setNode",{labelStyle:F.labelStyle,labelType:_.labelType,shape:Y,labelText:R,rx:z,ry:z,class:M,style:F.style,id:_.id,domId:v.db.lookUpDomId(_.id),width:_.type==="group"?500:void 0,type:_.type,dir:_.dir,props:_.props,padding:Re().flowchart.padding})})},wzt=function(i,a,f){Kt.info("abc78 edges = ",i);let g=0,w={},v,b;if(i.defaultStyle!==void 0){const E=C2(i.defaultStyle);v=E.style,b=E.labelStyle}i.forEach(function(E){g++;const S="L-"+E.start+"-"+E.end;w[S]===void 0?(w[S]=0,Kt.info("abc78 new entry",S,w[S])):(w[S]++,Kt.info("abc78 new entry",S,w[S]));let _=S+"-"+w[S];Kt.info("abc78 new link id to be used is",S,_,w[S]);const M="LS-"+E.start,F="LE-"+E.end,R={style:"",labelStyle:""};switch(R.minlen=E.length||1,E.type==="arrow_open"?R.arrowhead="none":R.arrowhead="normal",R.arrowTypeStart="arrow_open",R.arrowTypeEnd="arrow_open",E.type){case"double_arrow_cross":R.arrowTypeStart="arrow_cross";case"arrow_cross":R.arrowTypeEnd="arrow_cross";break;case"double_arrow_point":R.arrowTypeStart="arrow_point";case"arrow_point":R.arrowTypeEnd="arrow_point";break;case"double_arrow_circle":R.arrowTypeStart="arrow_circle";case"arrow_circle":R.arrowTypeEnd="arrow_circle";break}let B="",z="";switch(E.stroke){case"normal":B="fill:none;",v!==void 0&&(B=v),b!==void 0&&(z=b),R.thickness="normal",R.pattern="solid";break;case"dotted":R.thickness="normal",R.pattern="dotted",R.style="fill:none;stroke-width:2px;stroke-dasharray:3;";break;case"thick":R.thickness="thick",R.pattern="solid",R.style="stroke-width: 3.5px;fill:none;";break;case"invisible":R.thickness="invisible",R.pattern="solid",R.style="stroke-width: 0;fill:none;";break}if(E.style!==void 0){const Y=C2(E.style);B=Y.style,z=Y.labelStyle}R.style=R.style+=B,R.labelStyle=R.labelStyle+=z,E.interpolate!==void 0?R.curve=Xw(E.interpolate,Kg):i.defaultInterpolate!==void 0?R.curve=Xw(i.defaultInterpolate,Kg):R.curve=Xw(pzt.curve,Kg),E.text===void 0?E.style!==void 0&&(R.arrowheadStyle="fill: #333"):(R.arrowheadStyle="fill: #333",R.labelpos="c"),R.labelType=E.labelType,R.label=E.text.replace(ei.lineBreakRegex,`
226 `,wWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:spt,db:A9,renderer:nbt,styles:mzt,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,wUe.setConf(i.flowchart),A9.clear(),A9.setGen("gen-1")}}},Symbol.toStringTag,{value:"Module"})),mWe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:spt,db:A9,renderer:nbt,styles:mzt,init:i=>{i.flowchart||(i.flowchart={}),i.flowchart.arrowMarkerAbsolute=i.arrowMarkerAbsolute,bPe({flowchart:{arrowMarkerAbsolute:i.arrowMarkerAbsolute}}),nbt.setConf(i.flowchart),A9.clear(),A9.setGen("gen-2")}}},Symbol.toStringTag,{value:"Module"}));var rbt=function(){var i=function(gt,Q,dt,K){for(dt=dt||{},K=gt.length;K--;dt[gt[K]]=Q);return dt},a=[6,8,10,20,22,24,26,27,28],f=[1,10],g=[1,11],w=[1,12],v=[1,13],b=[1,14],E=[1,15],S=[1,21],_=[1,22],M=[1,23],F=[1,24],R=[1,25],B=[6,8,10,13,15,18,19,20,22,24,26,27,28,41,42,43,44,45],z=[1,34],Y=[27,28,46,47],nt=[41,42,43,44,45],ot=[17,34],ft=[1,54],wt=[1,53],mt=[17,34,36,38],ct={trace:function(){},yy:{},symbols_:{error:2,start:3,ER_DIAGRAM:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,entityName:11,relSpec:12,":":13,role:14,BLOCK_START:15,attributes:16,BLOCK_STOP:17,SQS:18,SQE:19,title:20,title_value:21,acc_title:22,acc_title_value:23,acc_descr:24,acc_descr_value:25,acc_descr_multiline_value:26,ALPHANUM:27,ENTITY_NAME:28,attribute:29,attributeType:30,attributeName:31,attributeKeyTypeList:32,attributeComment:33,ATTRIBUTE_WORD:34,attributeKeyType:35,COMMA:36,ATTRIBUTE_KEY:37,COMMENT:38,cardinality:39,relType:40,ZERO_OR_ONE:41,ZERO_OR_MORE:42,ONE_OR_MORE:43,ONLY_ONE:44,MD_PARENT:45,NON_IDENTIFYING:46,IDENTIFYING:47,WORD:48,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:":",15:"BLOCK_START",17:"BLOCK_STOP",18:"SQS",19:"SQE",20:"title",21:"title_value",22:"acc_title",23:"acc_title_value",24:"acc_descr",25:"acc_descr_value",26:"acc_descr_multiline_value",27:"ALPHANUM",28:"ENTITY_NAME",34:"ATTRIBUTE_WORD",36:"COMMA",37:"ATTRIBUTE_KEY",38:"COMMENT",41:"ZERO_OR_ONE",42:"ZERO_OR_MORE",43:"ONE_OR_MORE",44:"ONLY_ONE",45:"MD_PARENT",46:"NON_IDENTIFYING",47:"IDENTIFYING",48:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,4],[9,3],[9,1],[9,7],[9,6],[9,4],[9,2],[9,2],[9,2],[9,1],[11,1],[11,1],[16,1],[16,2],[29,2],[29,3],[29,3],[29,4],[30,1],[31,1],[32,1],[32,3],[35,1],[33,1],[12,3],[39,1],[39,1],[39,1],[39,1],[39,1],[40,1],[40,1],[14,1],[14,1],[14,1]],performAction:function(Q,dt,K,yt,V,Ot,It){var jt=Ot.length-1;switch(V){case 1:break;case 2:this.$=[];break;case 3:Ot[jt-1].push(Ot[jt]),this.$=Ot[jt-1];break;case 4:case 5:this.$=Ot[jt];break;case 6:case 7:this.$=[];break;case 8:yt.addEntity(Ot[jt-4]),yt.addEntity(Ot[jt-2]),yt.addRelationship(Ot[jt-4],Ot[jt],Ot[jt-2],Ot[jt-3]);break;case 9:yt.addEntity(Ot[jt-3]),yt.addAttributes(Ot[jt-3],Ot[jt-1]);break;case 10:yt.addEntity(Ot[jt-2]);break;case 11:yt.addEntity(Ot[jt]);break;case 12:yt.addEntity(Ot[jt-6],Ot[jt-4]),yt.addAttributes(Ot[jt-6],Ot[jt-1]);break;case 13:yt.addEntity(Ot[jt-5],Ot[jt-3]);break;case 14:yt.addEntity(Ot[jt-3],Ot[jt-1]);break;case 15:case 16:this.$=Ot[jt].trim(),yt.setAccTitle(this.$);break;case 17:case 18:this.$=Ot[jt].trim(),yt.setAccDescription(this.$);break;case 19:case 43:this.$=Ot[jt];break;case 20:case 41:case 42:this.$=Ot[jt].replace(/"/g,"");break;case 21:case 29:this.$=[Ot[jt]];break;case 22:Ot[jt].push(Ot[jt-1]),this.$=Ot[jt];break;case 23:this.$={attributeType:Ot[jt-1],attributeName:Ot[jt]};break;case 24:this.$={attributeType:Ot[jt-2],attributeName:Ot[jt-1],attributeKeyTypeList:Ot[jt]};break;case 25:this.$={attributeType:Ot[jt-2],attributeName:Ot[jt-1],attributeComment:Ot[jt]};break;case 26:this.$={attributeType:Ot[jt-3],attributeName:Ot[jt-2],attributeKeyTypeList:Ot[jt-1],attributeComment:Ot[jt]};break;case 27:case 28:case 31:this.$=Ot[jt];break;case 30:Ot[jt-2].push(Ot[jt]),this.$=Ot[jt-2];break;case 32:this.$=Ot[jt].replace(/"/g,"");break;case 33:this.$={cardA:Ot[jt],relType:Ot[jt-1],cardB:Ot[jt-2]};break;case 34:this.$=yt.Cardinality.ZERO_OR_ONE;break;case 35:this.$=yt.Cardinality.ZERO_OR_MORE;break;case 36:this.$=yt.Cardinality.ONE_OR_MORE;break;case 37:this.$=yt.Cardinality.ONLY_ONE;break;case 38:this.$=yt.Cardinality.MD_PARENT;break;case 39:this.$=yt.Identification.NON_IDENTIFYING;break;case 40:this.$=yt.Identification.IDENTIFYING;break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:9,20:f,22:g,24:w,26:v,27:b,28:E},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:16,11:9,20:f,22:g,24:w,26:v,27:b,28:E},i(a,[2,5]),i(a,[2,6]),i(a,[2,11],{12:17,39:20,15:[1,18],18:[1,19],41:S,42:_,43:M,44:F,45:R}),{21:[1,26]},{23:[1,27]},{25:[1,28]},i(a,[2,18]),i(B,[2,19]),i(B,[2,20]),i(a,[2,4]),{11:29,27:b,28:E},{16:30,17:[1,31],29:32,30:33,34:z},{11:35,27:b,28:E},{40:36,46:[1,37],47:[1,38]},i(Y,[2,34]),i(Y,[2,35]),i(Y,[2,36]),i(Y,[2,37]),i(Y,[2,38]),i(a,[2,15]),i(a,[2,16]),i(a,[2,17]),{13:[1,39]},{17:[1,40]},i(a,[2,10]),{16:41,17:[2,21],29:32,30:33,34:z},{31:42,34:[1,43]},{34:[2,27]},{19:[1,44]},{39:45,41:S,42:_,43:M,44:F,45:R},i(nt,[2,39]),i(nt,[2,40]),{14:46,27:[1,49],28:[1,48],48:[1,47]},i(a,[2,9]),{17:[2,22]},i(ot,[2,23],{32:50,33:51,35:52,37:ft,38:wt}),i([17,34,37,38],[2,28]),i(a,[2,14],{15:[1,55]}),i([27,28],[2,33]),i(a,[2,8]),i(a,[2,41]),i(a,[2,42]),i(a,[2,43]),i(ot,[2,24],{33:56,36:[1,57],38:wt}),i(ot,[2,25]),i(mt,[2,29]),i(ot,[2,32]),i(mt,[2,31]),{16:58,17:[1,59],29:32,30:33,34:z},i(ot,[2,26]),{35:60,37:ft},{17:[1,61]},i(a,[2,13]),i(mt,[2,30]),i(a,[2,12])],defaultActions:{34:[2,27],41:[2,22]},parseError:function(Q,dt){if(dt.recoverable)this.trace(Q);else{var K=new Error(Q);throw K.hash=dt,K}},parse:function(Q){var dt=this,K=[0],yt=[],V=[null],Ot=[],It=this.table,jt="",xt=0,Ft=0,Ct=2,kt=1,Gt=Ot.slice.call(arguments,1),Fe=Object.create(this.lexer),Mt={yy:{}};for(var pn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,pn)&&(Mt.yy[pn]=this.yy[pn]);Fe.setInput(Q,Mt.yy),Mt.yy.lexer=Fe,Mt.yy.parser=this,typeof Fe.yylloc>"u"&&(Fe.yylloc={});var Ae=Fe.yylloc;Ot.push(Ae);var ye=Fe.options&&Fe.options.ranges;typeof Mt.yy.parseError=="function"?this.parseError=Mt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function tn(){var Fi;return Fi=yt.pop()||Fe.lex()||kt,typeof Fi!="number"&&(Fi instanceof Array&&(yt=Fi,Fi=yt.pop()),Fi=dt.symbols_[Fi]||Fi),Fi}for(var sn,be,Ne,Xt,_e={},xe,Mn,ce,Br;;){if(be=K[K.length-1],this.defaultActions[be]?Ne=this.defaultActions[be]:((sn===null||typeof sn>"u")&&(sn=tn()),Ne=It[be]&&It[be][sn]),typeof Ne>"u"||!Ne.length||!Ne[0]){var we="";Br=[];for(xe in It[be])this.terminals_[xe]&&xe>Ct&&Br.push("'"+this.terminals_[xe]+"'");Fe.showPosition?we="Parse error on line "+(xt+1)+`:
276 `}},Symbol.toStringTag,{value:"Module"}));var abt=function(){var i=function(ct,rt,it,gt){for(it=it||{},gt=ct.length;gt--;it[ct[gt]]=rt);return it},a=[1,3],f=[1,6],g=[1,4],w=[1,5],v=[2,5],b=[1,12],E=[5,7,13,19,21,23,24,26,28,31,37,40,47],S=[7,13,19,21,23,24,26,28,31,37,40],_=[7,12,13,19,21,23,24,26,28,31,37,40],M=[7,13,47],F=[1,42],R=[1,41],B=[7,13,29,32,35,38,47],z=[1,55],Y=[1,56],nt=[1,57],ot=[7,13,32,35,42,47],ft={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,GG:5,document:6,EOF:7,":":8,DIR:9,options:10,body:11,OPT:12,NL:13,line:14,statement:15,commitStatement:16,mergeStatement:17,cherryPickStatement:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,section:24,branchStatement:25,CHECKOUT:26,ref:27,BRANCH:28,ORDER:29,NUM:30,CHERRY_PICK:31,COMMIT_ID:32,STR:33,PARENT_COMMIT:34,COMMIT_TAG:35,EMPTYSTR:36,MERGE:37,COMMIT_TYPE:38,commitType:39,COMMIT:40,commit_arg:41,COMMIT_MSG:42,NORMAL:43,REVERSE:44,HIGHLIGHT:45,ID:46,";":47,$accept:0,$end:1},terminals_:{2:"error",5:"GG",7:"EOF",8:":",9:"DIR",12:"OPT",13:"NL",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"section",26:"CHECKOUT",28:"BRANCH",29:"ORDER",30:"NUM",31:"CHERRY_PICK",32:"COMMIT_ID",33:"STR",34:"PARENT_COMMIT",35:"COMMIT_TAG",36:"EMPTYSTR",37:"MERGE",38:"COMMIT_TYPE",40:"COMMIT",42:"COMMIT_MSG",43:"NORMAL",44:"REVERSE",45:"HIGHLIGHT",46:"ID",47:";"},productions_:[0,[3,2],[3,3],[3,4],[3,5],[6,0],[6,2],[10,2],[10,1],[11,0],[11,2],[14,2],[14,1],[15,1],[15,1],[15,1],[15,2],[15,2],[15,1],[15,1],[15,1],[15,2],[25,2],[25,4],[18,3],[18,5],[18,5],[18,7],[18,7],[18,5],[18,5],[18,5],[18,7],[18,7],[18,7],[18,7],[17,2],[17,4],[17,4],[17,4],[17,6],[17,6],[17,6],[17,6],[17,6],[17,6],[17,8],[17,8],[17,8],[17,8],[17,8],[17,8],[16,2],[16,3],[16,3],[16,5],[16,5],[16,3],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,3],[16,5],[16,5],[16,5],[16,5],[16,5],[16,5],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,7],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[16,9],[41,0],[41,1],[39,1],[39,1],[39,1],[27,1],[27,1],[4,1],[4,1],[4,1]],performAction:function(rt,it,gt,Q,dt,K,yt){var V=K.length-1;switch(dt){case 2:return K[V];case 3:return K[V-1];case 4:return Q.setDirection(K[V-3]),K[V-1];case 6:Q.setOptions(K[V-1]),this.$=K[V];break;case 7:K[V-1]+=K[V],this.$=K[V-1];break;case 9:this.$=[];break;case 10:K[V-1].push(K[V]),this.$=K[V-1];break;case 11:this.$=K[V-1];break;case 16:this.$=K[V].trim(),Q.setAccTitle(this.$);break;case 17:case 18:this.$=K[V].trim(),Q.setAccDescription(this.$);break;case 19:Q.addSection(K[V].substr(8)),this.$=K[V].substr(8);break;case 21:Q.checkout(K[V]);break;case 22:Q.branch(K[V]);break;case 23:Q.branch(K[V-2],K[V]);break;case 24:Q.cherryPick(K[V],"",void 0);break;case 25:Q.cherryPick(K[V-2],"",void 0,K[V]);break;case 26:Q.cherryPick(K[V-2],"",K[V]);break;case 27:Q.cherryPick(K[V-4],"",K[V],K[V-2]);break;case 28:Q.cherryPick(K[V-4],"",K[V-2],K[V]);break;case 29:Q.cherryPick(K[V],"",K[V-2]);break;case 30:Q.cherryPick(K[V],"","");break;case 31:Q.cherryPick(K[V-2],"","");break;case 32:Q.cherryPick(K[V-4],"","",K[V-2]);break;case 33:Q.cherryPick(K[V-4],"","",K[V]);break;case 34:Q.cherryPick(K[V-2],"",K[V-4],K[V]);break;case 35:Q.cherryPick(K[V-2],"","",K[V]);break;case 36:Q.merge(K[V],"","","");break;case 37:Q.merge(K[V-2],K[V],"","");break;case 38:Q.merge(K[V-2],"",K[V],"");break;case 39:Q.merge(K[V-2],"","",K[V]);break;case 40:Q.merge(K[V-4],K[V],"",K[V-2]);break;case 41:Q.merge(K[V-4],"",K[V],K[V-2]);break;case 42:Q.merge(K[V-4],"",K[V-2],K[V]);break;case 43:Q.merge(K[V-4],K[V-2],K[V],"");break;case 44:Q.merge(K[V-4],K[V-2],"",K[V]);break;case 45:Q.merge(K[V-4],K[V],K[V-2],"");break;case 46:Q.merge(K[V-6],K[V-4],K[V-2],K[V]);break;case 47:Q.merge(K[V-6],K[V],K[V-4],K[V-2]);break;case 48:Q.merge(K[V-6],K[V-4],K[V],K[V-2]);break;case 49:Q.merge(K[V-6],K[V-2],K[V-4],K[V]);break;case 50:Q.merge(K[V-6],K[V],K[V-2],K[V-4]);break;case 51:Q.merge(K[V-6],K[V-2],K[V],K[V-4]);break;case 52:Q.commit(K[V]);break;case 53:Q.commit("","",Q.commitType.NORMAL,K[V]);break;case 54:Q.commit("","",K[V],"");break;case 55:Q.commit("","",K[V],K[V-2]);break;case 56:Q.commit("","",K[V-2],K[V]);break;case 57:Q.commit("",K[V],Q.commitType.NORMAL,"");break;case 58:Q.commit("",K[V-2],Q.commitType.NORMAL,K[V]);break;case 59:Q.commit("",K[V],Q.commitType.NORMAL,K[V-2]);break;case 60:Q.commit("",K[V-2],K[V],"");break;case 61:Q.commit("",K[V],K[V-2],"");break;case 62:Q.commit("",K[V-4],K[V-2],K[V]);break;case 63:Q.commit("",K[V-4],K[V],K[V-2]);break;case 64:Q.commit("",K[V-2],K[V-4],K[V]);break;case 65:Q.commit("",K[V],K[V-4],K[V-2]);break;case 66:Q.commit("",K[V],K[V-2],K[V-4]);break;case 67:Q.commit("",K[V-2],K[V],K[V-4]);break;case 68:Q.commit(K[V],"",Q.commitType.NORMAL,"");break;case 69:Q.commit(K[V],"",Q.commitType.NORMAL,K[V-2]);break;case 70:Q.commit(K[V-2],"",Q.commitType.NORMAL,K[V]);break;case 71:Q.commit(K[V-2],"",K[V],"");break;case 72:Q.commit(K[V],"",K[V-2],"");break;case 73:Q.commit(K[V],K[V-2],Q.commitType.NORMAL,"");break;case 74:Q.commit(K[V-2],K[V],Q.commitType.NORMAL,"");break;case 75:Q.commit(K[V-4],"",K[V-2],K[V]);break;case 76:Q.commit(K[V-4],"",K[V],K[V-2]);break;case 77:Q.commit(K[V-2],"",K[V-4],K[V]);break;case 78:Q.commit(K[V],"",K[V-4],K[V-2]);break;case 79:Q.commit(K[V],"",K[V-2],K[V-4]);break;case 80:Q.commit(K[V-2],"",K[V],K[V-4]);break;case 81:Q.commit(K[V-4],K[V],K[V-2],"");break;case 82:Q.commit(K[V-4],K[V-2],K[V],"");break;case 83:Q.commit(K[V-2],K[V],K[V-4],"");break;case 84:Q.commit(K[V],K[V-2],K[V-4],"");break;case 85:Q.commit(K[V],K[V-4],K[V-2],"");break;case 86:Q.commit(K[V-2],K[V-4],K[V],"");break;case 87:Q.commit(K[V-4],K[V],Q.commitType.NORMAL,K[V-2]);break;case 88:Q.commit(K[V-4],K[V-2],Q.commitType.NORMAL,K[V]);break;case 89:Q.commit(K[V-2],K[V],Q.commitType.NORMAL,K[V-4]);break;case 90:Q.commit(K[V],K[V-2],Q.commitType.NORMAL,K[V-4]);break;case 91:Q.commit(K[V],K[V-4],Q.commitType.NORMAL,K[V-2]);break;case 92:Q.commit(K[V-2],K[V-4],Q.commitType.NORMAL,K[V]);break;case 93:Q.commit(K[V-6],K[V-4],K[V-2],K[V]);break;case 94:Q.commit(K[V-6],K[V-4],K[V],K[V-2]);break;case 95:Q.commit(K[V-6],K[V-2],K[V-4],K[V]);break;case 96:Q.commit(K[V-6],K[V],K[V-4],K[V-2]);break;case 97:Q.commit(K[V-6],K[V-2],K[V],K[V-4]);break;case 98:Q.commit(K[V-6],K[V],K[V-2],K[V-4]);break;case 99:Q.commit(K[V-4],K[V-6],K[V-2],K[V]);break;case 100:Q.commit(K[V-4],K[V-6],K[V],K[V-2]);break;case 101:Q.commit(K[V-2],K[V-6],K[V-4],K[V]);break;case 102:Q.commit(K[V],K[V-6],K[V-4],K[V-2]);break;case 103:Q.commit(K[V-2],K[V-6],K[V],K[V-4]);break;case 104:Q.commit(K[V],K[V-6],K[V-2],K[V-4]);break;case 105:Q.commit(K[V],K[V-4],K[V-2],K[V-6]);break;case 106:Q.commit(K[V-2],K[V-4],K[V],K[V-6]);break;case 107:Q.commit(K[V],K[V-2],K[V-4],K[V-6]);break;case 108:Q.commit(K[V-2],K[V],K[V-4],K[V-6]);break;case 109:Q.commit(K[V-4],K[V-2],K[V],K[V-6]);break;case 110:Q.commit(K[V-4],K[V],K[V-2],K[V-6]);break;case 111:Q.commit(K[V-2],K[V-4],K[V-6],K[V]);break;case 112:Q.commit(K[V],K[V-4],K[V-6],K[V-2]);break;case 113:Q.commit(K[V-2],K[V],K[V-6],K[V-4]);break;case 114:Q.commit(K[V],K[V-2],K[V-6],K[V-4]);break;case 115:Q.commit(K[V-4],K[V-2],K[V-6],K[V]);break;case 116:Q.commit(K[V-4],K[V],K[V-6],K[V-2]);break;case 117:this.$="";break;case 118:this.$=K[V];break;case 119:this.$=Q.commitType.NORMAL;break;case 120:this.$=Q.commitType.REVERSE;break;case 121:this.$=Q.commitType.HIGHLIGHT;break}},table:[{3:1,4:2,5:a,7:f,13:g,47:w},{1:[3]},{3:7,4:2,5:a,7:f,13:g,47:w},{6:8,7:v,8:[1,9],9:[1,10],10:11,13:b},i(E,[2,124]),i(E,[2,125]),i(E,[2,126]),{1:[2,1]},{7:[1,13]},{6:14,7:v,10:11,13:b},{8:[1,15]},i(S,[2,9],{11:16,12:[1,17]}),i(_,[2,8]),{1:[2,2]},{7:[1,18]},{6:19,7:v,10:11,13:b},{7:[2,6],13:[1,22],14:20,15:21,16:23,17:24,18:25,19:[1,26],21:[1,27],23:[1,28],24:[1,29],25:30,26:[1,31],28:[1,35],31:[1,34],37:[1,33],40:[1,32]},i(_,[2,7]),{1:[2,3]},{7:[1,36]},i(S,[2,10]),{4:37,7:f,13:g,47:w},i(S,[2,12]),i(M,[2,13]),i(M,[2,14]),i(M,[2,15]),{20:[1,38]},{22:[1,39]},i(M,[2,18]),i(M,[2,19]),i(M,[2,20]),{27:40,33:F,46:R},i(M,[2,117],{41:43,32:[1,46],33:[1,48],35:[1,44],38:[1,45],42:[1,47]}),{27:49,33:F,46:R},{32:[1,50],35:[1,51]},{27:52,33:F,46:R},{1:[2,4]},i(S,[2,11]),i(M,[2,16]),i(M,[2,17]),i(M,[2,21]),i(B,[2,122]),i(B,[2,123]),i(M,[2,52]),{33:[1,53]},{39:54,43:z,44:Y,45:nt},{33:[1,58]},{33:[1,59]},i(M,[2,118]),i(M,[2,36],{32:[1,60],35:[1,62],38:[1,61]}),{33:[1,63]},{33:[1,64],36:[1,65]},i(M,[2,22],{29:[1,66]}),i(M,[2,53],{32:[1,68],38:[1,67],42:[1,69]}),i(M,[2,54],{32:[1,71],35:[1,70],42:[1,72]}),i(ot,[2,119]),i(ot,[2,120]),i(ot,[2,121]),i(M,[2,57],{35:[1,73],38:[1,74],42:[1,75]}),i(M,[2,68],{32:[1,78],35:[1,76],38:[1,77]}),{33:[1,79]},{39:80,43:z,44:Y,45:nt},{33:[1,81]},i(M,[2,24],{34:[1,82],35:[1,83]}),{32:[1,84]},{32:[1,85]},{30:[1,86]},{39:87,43:z,44:Y,45:nt},{33:[1,88]},{33:[1,89]},{33:[1,90]},{33:[1,91]},{33:[1,92]},{33:[1,93]},{39:94,43:z,44:Y,45:nt},{33:[1,95]},{33:[1,96]},{39:97,43:z,44:Y,45:nt},{33:[1,98]},i(M,[2,37],{35:[1,100],38:[1,99]}),i(M,[2,38],{32:[1,102],35:[1,101]}),i(M,[2,39],{32:[1,103],38:[1,104]}),{33:[1,105]},{33:[1,106],36:[1,107]},{33:[1,108]},{33:[1,109]},i(M,[2,23]),i(M,[2,55],{32:[1,110],42:[1,111]}),i(M,[2,59],{38:[1,112],42:[1,113]}),i(M,[2,69],{32:[1,115],38:[1,114]}),i(M,[2,56],{32:[1,116],42:[1,117]}),i(M,[2,61],{35:[1,118],42:[1,119]}),i(M,[2,72],{32:[1,121],35:[1,120]}),i(M,[2,58],{38:[1,122],42:[1,123]}),i(M,[2,60],{35:[1,124],42:[1,125]}),i(M,[2,73],{35:[1,127],38:[1,126]}),i(M,[2,70],{32:[1,129],38:[1,128]}),i(M,[2,71],{32:[1,131],35:[1,130]}),i(M,[2,74],{35:[1,133],38:[1,132]}),{39:134,43:z,44:Y,45:nt},{33:[1,135]},{33:[1,136]},{33:[1,137]},{33:[1,138]},{39:139,43:z,44:Y,45:nt},i(M,[2,25],{35:[1,140]}),i(M,[2,26],{34:[1,141]}),i(M,[2,31],{34:[1,142]}),i(M,[2,29],{34:[1,143]}),i(M,[2,30],{34:[1,144]}),{33:[1,145]},{33:[1,146]},{39:147,43:z,44:Y,45:nt},{33:[1,148]},{39:149,43:z,44:Y,45:nt},{33:[1,150]},{33:[1,151]},{33:[1,152]},{33:[1,153]},{33:[1,154]},{33:[1,155]},{33:[1,156]},{39:157,43:z,44:Y,45:nt},{33:[1,158]},{33:[1,159]},{33:[1,160]},{39:161,43:z,44:Y,45:nt},{33:[1,162]},{39:163,43:z,44:Y,45:nt},{33:[1,164]},{33:[1,165]},{33:[1,166]},{39:167,43:z,44:Y,45:nt},{33:[1,168]},i(M,[2,43],{35:[1,169]}),i(M,[2,44],{38:[1,170]}),i(M,[2,42],{32:[1,171]}),i(M,[2,45],{35:[1,172]}),i(M,[2,40],{38:[1,173]}),i(M,[2,41],{32:[1,174]}),{33:[1,175],36:[1,176]},{33:[1,177]},{33:[1,178]},{33:[1,179]},{33:[1,180]},i(M,[2,66],{42:[1,181]}),i(M,[2,79],{32:[1,182]}),i(M,[2,67],{42:[1,183]}),i(M,[2,90],{38:[1,184]}),i(M,[2,80],{32:[1,185]}),i(M,[2,89],{38:[1,186]}),i(M,[2,65],{42:[1,187]}),i(M,[2,78],{32:[1,188]}),i(M,[2,64],{42:[1,189]}),i(M,[2,84],{35:[1,190]}),i(M,[2,77],{32:[1,191]}),i(M,[2,83],{35:[1,192]}),i(M,[2,63],{42:[1,193]}),i(M,[2,91],{38:[1,194]}),i(M,[2,62],{42:[1,195]}),i(M,[2,85],{35:[1,196]}),i(M,[2,86],{35:[1,197]}),i(M,[2,92],{38:[1,198]}),i(M,[2,76],{32:[1,199]}),i(M,[2,87],{38:[1,200]}),i(M,[2,75],{32:[1,201]}),i(M,[2,81],{35:[1,202]}),i(M,[2,82],{35:[1,203]}),i(M,[2,88],{38:[1,204]}),{33:[1,205]},{39:206,43:z,44:Y,45:nt},{33:[1,207]},{33:[1,208]},{39:209,43:z,44:Y,45:nt},{33:[1,210]},i(M,[2,27]),i(M,[2,32]),i(M,[2,28]),i(M,[2,33]),i(M,[2,34]),i(M,[2,35]),{33:[1,211]},{33:[1,212]},{33:[1,213]},{39:214,43:z,44:Y,45:nt},{33:[1,215]},{39:216,43:z,44:Y,45:nt},{33:[1,217]},{33:[1,218]},{33:[1,219]},{33:[1,220]},{33:[1,221]},{33:[1,222]},{33:[1,223]},{39:224,43:z,44:Y,45:nt},{33:[1,225]},{33:[1,226]},{33:[1,227]},{39:228,43:z,44:Y,45:nt},{33:[1,229]},{39:230,43:z,44:Y,45:nt},{33:[1,231]},{33:[1,232]},{33:[1,233]},{39:234,43:z,44:Y,45:nt},i(M,[2,46]),i(M,[2,48]),i(M,[2,47]),i(M,[2,49]),i(M,[2,51]),i(M,[2,50]),i(M,[2,107]),i(M,[2,108]),i(M,[2,105]),i(M,[2,106]),i(M,[2,110]),i(M,[2,109]),i(M,[2,114]),i(M,[2,113]),i(M,[2,112]),i(M,[2,111]),i(M,[2,116]),i(M,[2,115]),i(M,[2,104]),i(M,[2,103]),i(M,[2,102]),i(M,[2,101]),i(M,[2,99]),i(M,[2,100]),i(M,[2,98]),i(M,[2,97]),i(M,[2,96]),i(M,[2,95]),i(M,[2,93]),i(M,[2,94])],defaultActions:{7:[2,1],13:[2,2],18:[2,3],36:[2,4]},parseError:function(rt,it){if(it.recoverable)this.trace(rt);else{var gt=new Error(rt);throw gt.hash=it,gt}},parse:function(rt){var it=this,gt=[0],Q=[],dt=[null],K=[],yt=this.table,V="",Ot=0,It=0,jt=2,xt=1,Ft=K.slice.call(arguments,1),Ct=Object.create(this.lexer),kt={yy:{}};for(var Gt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Gt)&&(kt.yy[Gt]=this.yy[Gt]);Ct.setInput(rt,kt.yy),kt.yy.lexer=Ct,kt.yy.parser=this,typeof Ct.yylloc>"u"&&(Ct.yylloc={});var Fe=Ct.yylloc;K.push(Fe);var Mt=Ct.options&&Ct.options.ranges;typeof kt.yy.parseError=="function"?this.parseError=kt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pn(){var ce;return ce=Q.pop()||Ct.lex()||xt,typeof ce!="number"&&(ce instanceof Array&&(Q=ce,ce=Q.pop()),ce=it.symbols_[ce]||ce),ce}for(var Ae,ye,tn,sn,be={},Ne,Xt,_e,xe;;){if(ye=gt[gt.length-1],this.defaultActions[ye]?tn=this.defaultActions[ye]:((Ae===null||typeof Ae>"u")&&(Ae=pn()),tn=yt[ye]&&yt[ye][Ae]),typeof tn>"u"||!tn.length||!tn[0]){var Mn="";xe=[];for(Ne in yt[ye])this.terminals_[Ne]&&Ne>jt&&xe.push("'"+this.terminals_[Ne]+"'");Ct.showPosition?Mn="Parse error on line "+(Ot+1)+`:
345 `}},Symbol.toStringTag,{value:"Module"}));var cbt=function(){var i=function(K,yt,V,Ot){for(V=V||{},Ot=K.length;Ot--;V[K[Ot]]=yt);return V},a=[6,8,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,35,37],f=[1,25],g=[1,26],w=[1,27],v=[1,28],b=[1,29],E=[1,30],S=[1,31],_=[1,9],M=[1,10],F=[1,11],R=[1,12],B=[1,13],z=[1,14],Y=[1,15],nt=[1,16],ot=[1,18],ft=[1,19],wt=[1,20],mt=[1,21],ct=[1,22],rt=[1,24],it=[1,32],gt={trace:function(){},yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,dateFormat:19,inclusiveEndDates:20,topAxis:21,axisFormat:22,tickInterval:23,excludes:24,includes:25,todayMarker:26,title:27,acc_title:28,acc_title_value:29,acc_descr:30,acc_descr_value:31,acc_descr_multiline_value:32,section:33,clickStatement:34,taskTxt:35,taskData:36,click:37,callbackname:38,callbackargs:39,href:40,clickStatementDebug:41,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",19:"dateFormat",20:"inclusiveEndDates",21:"topAxis",22:"axisFormat",23:"tickInterval",24:"excludes",25:"includes",26:"todayMarker",27:"title",28:"acc_title",29:"acc_title_value",30:"acc_descr",31:"acc_descr_value",32:"acc_descr_multiline_value",33:"section",35:"taskTxt",36:"taskData",37:"click",38:"callbackname",39:"callbackargs",40:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[34,2],[34,3],[34,3],[34,4],[34,3],[34,4],[34,2],[41,2],[41,3],[41,3],[41,4],[41,3],[41,4],[41,2]],performAction:function(yt,V,Ot,It,jt,xt,Ft){var Ct=xt.length-1;switch(jt){case 1:return xt[Ct-1];case 2:this.$=[];break;case 3:xt[Ct-1].push(xt[Ct]),this.$=xt[Ct-1];break;case 4:case 5:this.$=xt[Ct];break;case 6:case 7:this.$=[];break;case 8:It.setWeekday("monday");break;case 9:It.setWeekday("tuesday");break;case 10:It.setWeekday("wednesday");break;case 11:It.setWeekday("thursday");break;case 12:It.setWeekday("friday");break;case 13:It.setWeekday("saturday");break;case 14:It.setWeekday("sunday");break;case 15:It.setDateFormat(xt[Ct].substr(11)),this.$=xt[Ct].substr(11);break;case 16:It.enableInclusiveEndDates(),this.$=xt[Ct].substr(18);break;case 17:It.TopAxis(),this.$=xt[Ct].substr(8);break;case 18:It.setAxisFormat(xt[Ct].substr(11)),this.$=xt[Ct].substr(11);break;case 19:It.setTickInterval(xt[Ct].substr(13)),this.$=xt[Ct].substr(13);break;case 20:It.setExcludes(xt[Ct].substr(9)),this.$=xt[Ct].substr(9);break;case 21:It.setIncludes(xt[Ct].substr(9)),this.$=xt[Ct].substr(9);break;case 22:It.setTodayMarker(xt[Ct].substr(12)),this.$=xt[Ct].substr(12);break;case 24:It.setDiagramTitle(xt[Ct].substr(6)),this.$=xt[Ct].substr(6);break;case 25:this.$=xt[Ct].trim(),It.setAccTitle(this.$);break;case 26:case 27:this.$=xt[Ct].trim(),It.setAccDescription(this.$);break;case 28:It.addSection(xt[Ct].substr(8)),this.$=xt[Ct].substr(8);break;case 30:It.addTask(xt[Ct-1],xt[Ct]),this.$="task";break;case 31:this.$=xt[Ct-1],It.setClickEvent(xt[Ct-1],xt[Ct],null);break;case 32:this.$=xt[Ct-2],It.setClickEvent(xt[Ct-2],xt[Ct-1],xt[Ct]);break;case 33:this.$=xt[Ct-2],It.setClickEvent(xt[Ct-2],xt[Ct-1],null),It.setLink(xt[Ct-2],xt[Ct]);break;case 34:this.$=xt[Ct-3],It.setClickEvent(xt[Ct-3],xt[Ct-2],xt[Ct-1]),It.setLink(xt[Ct-3],xt[Ct]);break;case 35:this.$=xt[Ct-2],It.setClickEvent(xt[Ct-2],xt[Ct],null),It.setLink(xt[Ct-2],xt[Ct-1]);break;case 36:this.$=xt[Ct-3],It.setClickEvent(xt[Ct-3],xt[Ct-1],xt[Ct]),It.setLink(xt[Ct-3],xt[Ct-2]);break;case 37:this.$=xt[Ct-1],It.setLink(xt[Ct-1],xt[Ct]);break;case 38:case 44:this.$=xt[Ct-1]+" "+xt[Ct];break;case 39:case 40:case 42:this.$=xt[Ct-2]+" "+xt[Ct-1]+" "+xt[Ct];break;case 41:case 43:this.$=xt[Ct-3]+" "+xt[Ct-2]+" "+xt[Ct-1]+" "+xt[Ct];break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:f,13:g,14:w,15:v,16:b,17:E,18:S,19:_,20:M,21:F,22:R,23:B,24:z,25:Y,26:nt,27:ot,28:ft,30:wt,32:mt,33:ct,34:23,35:rt,37:it},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:33,11:17,12:f,13:g,14:w,15:v,16:b,17:E,18:S,19:_,20:M,21:F,22:R,23:B,24:z,25:Y,26:nt,27:ot,28:ft,30:wt,32:mt,33:ct,34:23,35:rt,37:it},i(a,[2,5]),i(a,[2,6]),i(a,[2,15]),i(a,[2,16]),i(a,[2,17]),i(a,[2,18]),i(a,[2,19]),i(a,[2,20]),i(a,[2,21]),i(a,[2,22]),i(a,[2,23]),i(a,[2,24]),{29:[1,34]},{31:[1,35]},i(a,[2,27]),i(a,[2,28]),i(a,[2,29]),{36:[1,36]},i(a,[2,8]),i(a,[2,9]),i(a,[2,10]),i(a,[2,11]),i(a,[2,12]),i(a,[2,13]),i(a,[2,14]),{38:[1,37],40:[1,38]},i(a,[2,4]),i(a,[2,25]),i(a,[2,26]),i(a,[2,30]),i(a,[2,31],{39:[1,39],40:[1,40]}),i(a,[2,37],{38:[1,41]}),i(a,[2,32],{40:[1,42]}),i(a,[2,33]),i(a,[2,35],{39:[1,43]}),i(a,[2,34]),i(a,[2,36])],defaultActions:{},parseError:function(yt,V){if(V.recoverable)this.trace(yt);else{var Ot=new Error(yt);throw Ot.hash=V,Ot}},parse:function(yt){var V=this,Ot=[0],It=[],jt=[null],xt=[],Ft=this.table,Ct="",kt=0,Gt=0,Fe=2,Mt=1,pn=xt.slice.call(arguments,1),Ae=Object.create(this.lexer),ye={yy:{}};for(var tn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,tn)&&(ye.yy[tn]=this.yy[tn]);Ae.setInput(yt,ye.yy),ye.yy.lexer=Ae,ye.yy.parser=this,typeof Ae.yylloc>"u"&&(Ae.yylloc={});var sn=Ae.yylloc;xt.push(sn);var be=Ae.options&&Ae.options.ranges;typeof ye.yy.parseError=="function"?this.parseError=ye.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ne(){var Ss;return Ss=It.pop()||Ae.lex()||Mt,typeof Ss!="number"&&(Ss instanceof Array&&(It=Ss,Ss=It.pop()),Ss=V.symbols_[Ss]||Ss),Ss}for(var Xt,_e,xe,Mn,ce={},Br,we,Fi,mi;;){if(_e=Ot[Ot.length-1],this.defaultActions[_e]?xe=this.defaultActions[_e]:((Xt===null||typeof Xt>"u")&&(Xt=Ne()),xe=Ft[_e]&&Ft[_e][Xt]),typeof xe>"u"||!xe.length||!xe[0]){var ga="";mi=[];for(Br in Ft[_e])this.terminals_[Br]&&Br>Fe&&mi.push("'"+this.terminals_[Br]+"'");Ae.showPosition?ga="Parse error on line "+(kt+1)+`:
601 `}},Symbol.toStringTag,{value:"Module"}));var xbt=function(){var i=function(v,b,E,S){for(E=E||{},S=v.length;S--;E[v[S]]=b);return E},a=[6,9,10],f={trace:function(){},yy:{},symbols_:{error:2,start:3,info:4,document:5,EOF:6,line:7,statement:8,NL:9,showInfo:10,$accept:0,$end:1},terminals_:{2:"error",4:"info",6:"EOF",9:"NL",10:"showInfo"},productions_:[0,[3,3],[5,0],[5,2],[7,1],[7,1],[8,1]],performAction:function(b,E,S,_,M,F,R){switch(F.length-1,M){case 1:return _;case 4:break;case 6:_.setInfo(!0);break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:6,9:[1,7],10:[1,8]},{1:[2,1]},i(a,[2,3]),i(a,[2,4]),i(a,[2,5]),i(a,[2,6])],defaultActions:{4:[2,1]},parseError:function(b,E){if(E.recoverable)this.trace(b);else{var S=new Error(b);throw S.hash=E,S}},parse:function(b){var E=this,S=[0],_=[],M=[null],F=[],R=this.table,B="",z=0,Y=0,nt=2,ot=1,ft=F.slice.call(arguments,1),wt=Object.create(this.lexer),mt={yy:{}};for(var ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ct)&&(mt.yy[ct]=this.yy[ct]);wt.setInput(b,mt.yy),mt.yy.lexer=wt,mt.yy.parser=this,typeof wt.yylloc>"u"&&(wt.yylloc={});var rt=wt.yylloc;F.push(rt);var it=wt.options&&wt.options.ranges;typeof mt.yy.parseError=="function"?this.parseError=mt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gt(){var Ct;return Ct=_.pop()||wt.lex()||ot,typeof Ct!="number"&&(Ct instanceof Array&&(_=Ct,Ct=_.pop()),Ct=E.symbols_[Ct]||Ct),Ct}for(var Q,dt,K,yt,V={},Ot,It,jt,xt;;){if(dt=S[S.length-1],this.defaultActions[dt]?K=this.defaultActions[dt]:((Q===null||typeof Q>"u")&&(Q=gt()),K=R[dt]&&R[dt][Q]),typeof K>"u"||!K.length||!K[0]){var Ft="";xt=[];for(Ot in R[dt])this.terminals_[Ot]&&Ot>nt&&xt.push("'"+this.terminals_[Ot]+"'");wt.showPosition?Ft="Parse error on line "+(z+1)+`:
607 `+i);const g=FF(a);sg(g,100,400,!0),g.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${f}`)}}}},Symbol.toStringTag,{value:"Module"}));var Ebt=function(){var i=function(wt,mt,ct,rt){for(ct=ct||{},rt=wt.length;rt--;ct[wt[rt]]=mt);return ct},a=[1,3],f=[1,4],g=[1,5],w=[1,6],v=[1,10,12,14,16,18,19,20,21,22],b=[2,4],E=[1,5,10,12,14,16,18,19,20,21,22],S=[20,21,22],_=[2,7],M=[1,12],F=[1,13],R=[1,14],B=[1,15],z=[1,16],Y=[1,17],nt={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,PIE:5,document:6,showData:7,line:8,statement:9,txt:10,value:11,title:12,title_value:13,acc_title:14,acc_title_value:15,acc_descr:16,acc_descr_value:17,acc_descr_multiline_value:18,section:19,NEWLINE:20,";":21,EOF:22,$accept:0,$end:1},terminals_:{2:"error",5:"PIE",7:"showData",10:"txt",11:"value",12:"title",13:"title_value",14:"acc_title",15:"acc_title_value",16:"acc_descr",17:"acc_descr_value",18:"acc_descr_multiline_value",19:"section",20:"NEWLINE",21:";",22:"EOF"},productions_:[0,[3,2],[3,2],[3,3],[6,0],[6,2],[8,2],[9,0],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[4,1],[4,1],[4,1]],performAction:function(mt,ct,rt,it,gt,Q,dt){var K=Q.length-1;switch(gt){case 3:it.setShowData(!0);break;case 6:this.$=Q[K-1];break;case 8:it.addSection(Q[K-1],it.cleanupValue(Q[K]));break;case 9:this.$=Q[K].trim(),it.setDiagramTitle(this.$);break;case 10:this.$=Q[K].trim(),it.setAccTitle(this.$);break;case 11:case 12:this.$=Q[K].trim(),it.setAccDescription(this.$);break;case 13:it.addSection(Q[K].substr(8)),this.$=Q[K].substr(8);break}},table:[{3:1,4:2,5:a,20:f,21:g,22:w},{1:[3]},{3:7,4:2,5:a,20:f,21:g,22:w},i(v,b,{6:8,7:[1,9]}),i(E,[2,14]),i(E,[2,15]),i(E,[2,16]),{1:[2,1]},i(S,_,{8:10,9:11,1:[2,2],10:M,12:F,14:R,16:B,18:z,19:Y}),i(v,b,{6:18}),i(v,[2,5]),{4:19,20:f,21:g,22:w},{11:[1,20]},{13:[1,21]},{15:[1,22]},{17:[1,23]},i(S,[2,12]),i(S,[2,13]),i(S,_,{8:10,9:11,1:[2,3],10:M,12:F,14:R,16:B,18:z,19:Y}),i(v,[2,6]),i(S,[2,8]),i(S,[2,9]),i(S,[2,10]),i(S,[2,11])],defaultActions:{7:[2,1]},parseError:function(mt,ct){if(ct.recoverable)this.trace(mt);else{var rt=new Error(mt);throw rt.hash=ct,rt}},parse:function(mt){var ct=this,rt=[0],it=[],gt=[null],Q=[],dt=this.table,K="",yt=0,V=0,Ot=2,It=1,jt=Q.slice.call(arguments,1),xt=Object.create(this.lexer),Ft={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(Ft.yy[Ct]=this.yy[Ct]);xt.setInput(mt,Ft.yy),Ft.yy.lexer=xt,Ft.yy.parser=this,typeof xt.yylloc>"u"&&(xt.yylloc={});var kt=xt.yylloc;Q.push(kt);var Gt=xt.options&&xt.options.ranges;typeof Ft.yy.parseError=="function"?this.parseError=Ft.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Fe(){var xe;return xe=it.pop()||xt.lex()||It,typeof xe!="number"&&(xe instanceof Array&&(it=xe,xe=it.pop()),xe=ct.symbols_[xe]||xe),xe}for(var Mt,pn,Ae,ye,tn={},sn,be,Ne,Xt;;){if(pn=rt[rt.length-1],this.defaultActions[pn]?Ae=this.defaultActions[pn]:((Mt===null||typeof Mt>"u")&&(Mt=Fe()),Ae=dt[pn]&&dt[pn][Mt]),typeof Ae>"u"||!Ae.length||!Ae[0]){var _e="";Xt=[];for(sn in dt[pn])this.terminals_[sn]&&sn>Ot&&Xt.push("'"+this.terminals_[sn]+"'");xt.showPosition?_e="Parse error on line "+(yt+1)+`:
641 `+i);const w=g.db,v=Re(),b=MF(w.getConfig(),v.pie),E=40,S=18,_=4,M=450,F=M,R=FF(a),B=R.append("g"),z=w.getSections();B.attr("transform","translate("+F/2+","+M/2+")");const{themeVariables:Y}=v;let[nt]=k9(Y.pieOuterStrokeWidth);nt??(nt=2);const ot=b.textPosition,ft=Math.min(F,M)/2-E,wt=YL().innerRadius(0).outerRadius(ft),mt=YL().innerRadius(ft*ot).outerRadius(ft*ot);B.append("circle").attr("cx",0).attr("cy",0).attr("r",ft+nt/2).attr("class","pieOuterCircle");const ct=fXe(z),rt=[Y.pie1,Y.pie2,Y.pie3,Y.pie4,Y.pie5,Y.pie6,Y.pie7,Y.pie8,Y.pie9,Y.pie10,Y.pie11,Y.pie12],it=oF(rt);B.selectAll("mySlices").data(ct).enter().append("path").attr("d",wt).attr("fill",yt=>it(yt.data.label)).attr("class","pieCircle");let gt=0;Object.keys(z).forEach(yt=>{gt+=z[yt]}),B.selectAll("mySlices").data(ct).enter().append("text").text(yt=>(yt.data.value/gt*100).toFixed(0)+"%").attr("transform",yt=>"translate("+mt.centroid(yt)+")").style("text-anchor","middle").attr("class","slice"),B.append("text").text(w.getDiagramTitle()).attr("x",0).attr("y",-(M-50)/2).attr("class","pieTitleText");const Q=B.selectAll(".legend").data(it.domain()).enter().append("g").attr("class","legend").attr("transform",(yt,V)=>{const Ot=S+_,It=Ot*it.domain().length/2,jt=12*S,xt=V*Ot-It;return"translate("+jt+","+xt+")"});Q.append("rect").attr("width",S).attr("height",S).style("fill",it).style("stroke",it),Q.data(ct).append("text").attr("x",S+_).attr("y",S-_).text(yt=>{const{label:V,value:Ot}=yt.data;return w.getShowData()?`${V} [${Ot}]`:V});const dt=Math.max(...Q.selectAll("text").nodes().map(yt=>(yt==null?void 0:yt.getBoundingClientRect().width)??0)),K=F+E+S+_+dt;R.attr("viewBox",`0 0 ${K} ${M}`),sg(R,M,K,b.useMaxWidth)}},styles:hXe}},Symbol.toStringTag,{value:"Module"}));var Cbt=function(){var i=function(Ae,ye,tn,sn){for(tn=tn||{},sn=Ae.length;sn--;tn[Ae[sn]]=ye);return tn},a=[1,3],f=[1,4],g=[1,5],w=[1,6],v=[1,7],b=[1,5,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],E=[1,5,6,13,15,17,19,20,25,27,28,29,30,31,32,33,34,37,38,40,41,42,43,44,45,46,47,48,49,50],S=[32,33,34],_=[2,7],M=[1,13],F=[1,17],R=[1,18],B=[1,19],z=[1,20],Y=[1,21],nt=[1,22],ot=[1,23],ft=[1,24],wt=[1,25],mt=[1,26],ct=[1,27],rt=[1,30],it=[1,31],gt=[1,32],Q=[1,33],dt=[1,34],K=[1,35],yt=[1,36],V=[1,37],Ot=[1,38],It=[1,39],jt=[1,40],xt=[1,41],Ft=[1,42],Ct=[1,57],kt=[1,58],Gt=[5,22,26,32,33,34,40,41,42,43,44,45,46,47,48,49,50,51],Fe={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,SPACE:5,QUADRANT:6,document:7,line:8,statement:9,axisDetails:10,quadrantDetails:11,points:12,title:13,title_value:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,text:21,point_start:22,point_x:23,point_y:24,"X-AXIS":25,"AXIS-TEXT-DELIMITER":26,"Y-AXIS":27,QUADRANT_1:28,QUADRANT_2:29,QUADRANT_3:30,QUADRANT_4:31,NEWLINE:32,SEMI:33,EOF:34,alphaNumToken:35,textNoTagsToken:36,STR:37,MD_STR:38,alphaNum:39,PUNCTUATION:40,AMP:41,NUM:42,ALPHA:43,COMMA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,UNDERSCORE:50,MINUS:51,$accept:0,$end:1},terminals_:{2:"error",5:"SPACE",6:"QUADRANT",13:"title",14:"title_value",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",22:"point_start",23:"point_x",24:"point_y",25:"X-AXIS",26:"AXIS-TEXT-DELIMITER",27:"Y-AXIS",28:"QUADRANT_1",29:"QUADRANT_2",30:"QUADRANT_3",31:"QUADRANT_4",32:"NEWLINE",33:"SEMI",34:"EOF",37:"STR",38:"MD_STR",40:"PUNCTUATION",41:"AMP",42:"NUM",43:"ALPHA",44:"COMMA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"UNDERSCORE",51:"MINUS"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[9,0],[9,2],[9,1],[9,1],[9,1],[9,2],[9,2],[9,2],[9,1],[9,1],[12,4],[10,4],[10,3],[10,2],[10,4],[10,3],[10,2],[11,2],[11,2],[11,2],[11,2],[4,1],[4,1],[4,1],[21,1],[21,2],[21,1],[21,1],[39,1],[39,2],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[35,1],[36,1],[36,1],[36,1]],performAction:function(ye,tn,sn,be,Ne,Xt,_e){var xe=Xt.length-1;switch(Ne){case 12:this.$=Xt[xe].trim(),be.setDiagramTitle(this.$);break;case 13:this.$=Xt[xe].trim(),be.setAccTitle(this.$);break;case 14:case 15:this.$=Xt[xe].trim(),be.setAccDescription(this.$);break;case 16:be.addSection(Xt[xe].substr(8)),this.$=Xt[xe].substr(8);break;case 17:be.addPoint(Xt[xe-3],Xt[xe-1],Xt[xe]);break;case 18:be.setXAxisLeftText(Xt[xe-2]),be.setXAxisRightText(Xt[xe]);break;case 19:Xt[xe-1].text+=" ⟶ ",be.setXAxisLeftText(Xt[xe-1]);break;case 20:be.setXAxisLeftText(Xt[xe]);break;case 21:be.setYAxisBottomText(Xt[xe-2]),be.setYAxisTopText(Xt[xe]);break;case 22:Xt[xe-1].text+=" ⟶ ",be.setYAxisBottomText(Xt[xe-1]);break;case 23:be.setYAxisBottomText(Xt[xe]);break;case 24:be.setQuadrant1Text(Xt[xe]);break;case 25:be.setQuadrant2Text(Xt[xe]);break;case 26:be.setQuadrant3Text(Xt[xe]);break;case 27:be.setQuadrant4Text(Xt[xe]);break;case 31:this.$={text:Xt[xe],type:"text"};break;case 32:this.$={text:Xt[xe-1].text+""+Xt[xe],type:Xt[xe-1].type};break;case 33:this.$={text:Xt[xe],type:"text"};break;case 34:this.$={text:Xt[xe],type:"markdown"};break;case 35:this.$=Xt[xe];break;case 36:this.$=Xt[xe-1]+""+Xt[xe];break}},table:[{3:1,4:2,5:a,6:f,32:g,33:w,34:v},{1:[3]},{3:8,4:2,5:a,6:f,32:g,33:w,34:v},{3:9,4:2,5:a,6:f,32:g,33:w,34:v},i(b,[2,4],{7:10}),i(E,[2,28]),i(E,[2,29]),i(E,[2,30]),{1:[2,1]},{1:[2,2]},i(S,_,{8:11,9:12,10:14,11:15,12:16,21:28,35:29,1:[2,3],5:M,13:F,15:R,17:B,19:z,20:Y,25:nt,27:ot,28:ft,29:wt,30:mt,31:ct,37:rt,38:it,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft}),i(b,[2,5]),{4:43,32:g,33:w,34:v},i(S,_,{10:14,11:15,12:16,21:28,35:29,9:44,5:M,13:F,15:R,17:B,19:z,20:Y,25:nt,27:ot,28:ft,29:wt,30:mt,31:ct,37:rt,38:it,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft}),i(S,[2,9]),i(S,[2,10]),i(S,[2,11]),{14:[1,45]},{16:[1,46]},{18:[1,47]},i(S,[2,15]),i(S,[2,16]),{21:48,35:29,37:rt,38:it,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft},{21:49,35:29,37:rt,38:it,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft},{21:50,35:29,37:rt,38:it,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft},{21:51,35:29,37:rt,38:it,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft},{21:52,35:29,37:rt,38:it,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft},{21:53,35:29,37:rt,38:it,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft},{5:Ct,22:[1,54],35:56,36:55,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft,51:kt},i(Gt,[2,31]),i(Gt,[2,33]),i(Gt,[2,34]),i(Gt,[2,37]),i(Gt,[2,38]),i(Gt,[2,39]),i(Gt,[2,40]),i(Gt,[2,41]),i(Gt,[2,42]),i(Gt,[2,43]),i(Gt,[2,44]),i(Gt,[2,45]),i(Gt,[2,46]),i(Gt,[2,47]),i(b,[2,6]),i(S,[2,8]),i(S,[2,12]),i(S,[2,13]),i(S,[2,14]),i(S,[2,20],{36:55,35:56,5:Ct,26:[1,59],40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft,51:kt}),i(S,[2,23],{36:55,35:56,5:Ct,26:[1,60],40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft,51:kt}),i(S,[2,24],{36:55,35:56,5:Ct,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft,51:kt}),i(S,[2,25],{36:55,35:56,5:Ct,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft,51:kt}),i(S,[2,26],{36:55,35:56,5:Ct,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft,51:kt}),i(S,[2,27],{36:55,35:56,5:Ct,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft,51:kt}),{23:[1,61]},i(Gt,[2,32]),i(Gt,[2,48]),i(Gt,[2,49]),i(Gt,[2,50]),i(S,[2,19],{35:29,21:62,37:rt,38:it,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft}),i(S,[2,22],{35:29,21:63,37:rt,38:it,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft}),{24:[1,64]},i(S,[2,18],{36:55,35:56,5:Ct,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft,51:kt}),i(S,[2,21],{36:55,35:56,5:Ct,40:gt,41:Q,42:dt,43:K,44:yt,45:V,46:Ot,47:It,48:jt,49:xt,50:Ft,51:kt}),i(S,[2,17])],defaultActions:{8:[2,1],9:[2,2]},parseError:function(ye,tn){if(tn.recoverable)this.trace(ye);else{var sn=new Error(ye);throw sn.hash=tn,sn}},parse:function(ye){var tn=this,sn=[0],be=[],Ne=[null],Xt=[],_e=this.table,xe="",Mn=0,ce=0,Br=2,we=1,Fi=Xt.slice.call(arguments,1),mi=Object.create(this.lexer),ga={yy:{}};for(var Ss in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ss)&&(ga.yy[Ss]=this.yy[Ss]);mi.setInput(ye,ga.yy),ga.yy.lexer=mi,ga.yy.parser=this,typeof mi.yylloc>"u"&&(mi.yylloc={});var za=mi.yylloc;Xt.push(za);var br=mi.options&&mi.options.ranges;typeof ga.yy.parseError=="function"?this.parseError=ga.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function An(){var va;return va=be.pop()||mi.lex()||we,typeof va!="number"&&(va instanceof Array&&(be=va,va=be.pop()),va=tn.symbols_[va]||va),va}for(var Nn,Bn,ke,pe,Je={},an,xn,qa,xo;;){if(Bn=sn[sn.length-1],this.defaultActions[Bn]?ke=this.defaultActions[Bn]:((Nn===null||typeof Nn>"u")&&(Nn=An()),ke=_e[Bn]&&_e[Bn][Nn]),typeof ke>"u"||!ke.length||!ke[0]){var ko="";xo=[];for(an in _e[Bn])this.terminals_[an]&&an>Br&&xo.push("'"+this.terminals_[an]+"'");mi.showPosition?ko="Parse error on line "+(Mn+1)+`:
646 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var tn=this.next();return tn||this.lex()},begin:function(tn){this.conditionStack.push(tn)},popState:function(){var tn=this.conditionStack.length-1;return tn>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(tn){return tn=this.conditionStack.length-1-Math.abs(tn||0),tn>=0?this.conditionStack[tn]:"INITIAL"},pushState:function(tn){this.begin(tn)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(tn,sn,be,Ne){switch(be){case 0:break;case 1:break;case 2:return 32;case 3:break;case 4:return this.begin("title"),13;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),15;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),17;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 25;case 14:return 27;case 15:return 26;case 16:return 28;case 17:return 29;case 18:return 30;case 19:return 31;case 20:this.begin("md_string");break;case 21:return"MD_STR";case 22:this.popState();break;case 23:this.begin("string");break;case 24:this.popState();break;case 25:return"STR";case 26:return this.begin("point_start"),22;case 27:return this.begin("point_x"),23;case 28:this.popState();break;case 29:this.popState(),this.begin("point_y");break;case 30:return this.popState(),24;case 31:return 6;case 32:return 43;case 33:return"COLON";case 34:return 45;case 35:return 44;case 36:return 46;case 37:return 46;case 38:return 47;case 39:return 49;case 40:return 50;case 41:return 48;case 42:return 41;case 43:return 51;case 44:return 42;case 45:return 5;case 46:return 33;case 47:return 40;case 48:return 34}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{point_y:{rules:[30],inclusive:!1},point_x:{rules:[29],inclusive:!1},point_start:{rules:[27,28],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[21,22],inclusive:!1},string:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,23,26,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],inclusive:!0}}};return Ae}();Fe.lexer=Mt;function pn(){this.yy={}}return pn.prototype=Fe,Fe.Parser=pn,new pn}();Cbt.parser=Cbt;const gXe=Cbt,rp=dgt();class pXe{constructor(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var a,f,g,w,v,b,E,S,_,M,F,R,B,z,Y,nt,ot,ft;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((a=Bl.quadrantChart)==null?void 0:a.chartWidth)||500,chartWidth:((f=Bl.quadrantChart)==null?void 0:f.chartHeight)||500,titlePadding:((g=Bl.quadrantChart)==null?void 0:g.titlePadding)||10,titleFontSize:((w=Bl.quadrantChart)==null?void 0:w.titleFontSize)||20,quadrantPadding:((v=Bl.quadrantChart)==null?void 0:v.quadrantPadding)||5,xAxisLabelPadding:((b=Bl.quadrantChart)==null?void 0:b.xAxisLabelPadding)||5,yAxisLabelPadding:((E=Bl.quadrantChart)==null?void 0:E.yAxisLabelPadding)||5,xAxisLabelFontSize:((S=Bl.quadrantChart)==null?void 0:S.xAxisLabelFontSize)||16,yAxisLabelFontSize:((_=Bl.quadrantChart)==null?void 0:_.yAxisLabelFontSize)||16,quadrantLabelFontSize:((M=Bl.quadrantChart)==null?void 0:M.quadrantLabelFontSize)||16,quadrantTextTopPadding:((F=Bl.quadrantChart)==null?void 0:F.quadrantTextTopPadding)||5,pointTextPadding:((R=Bl.quadrantChart)==null?void 0:R.pointTextPadding)||5,pointLabelFontSize:((B=Bl.quadrantChart)==null?void 0:B.pointLabelFontSize)||12,pointRadius:((z=Bl.quadrantChart)==null?void 0:z.pointRadius)||5,xAxisPosition:((Y=Bl.quadrantChart)==null?void 0:Y.xAxisPosition)||"top",yAxisPosition:((nt=Bl.quadrantChart)==null?void 0:nt.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((ot=Bl.quadrantChart)==null?void 0:ot.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((ft=Bl.quadrantChart)==null?void 0:ft.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:rp.quadrant1Fill,quadrant2Fill:rp.quadrant2Fill,quadrant3Fill:rp.quadrant3Fill,quadrant4Fill:rp.quadrant4Fill,quadrant1TextFill:rp.quadrant1TextFill,quadrant2TextFill:rp.quadrant2TextFill,quadrant3TextFill:rp.quadrant3TextFill,quadrant4TextFill:rp.quadrant4TextFill,quadrantPointFill:rp.quadrantPointFill,quadrantPointTextFill:rp.quadrantPointTextFill,quadrantXAxisTextFill:rp.quadrantXAxisTextFill,quadrantYAxisTextFill:rp.quadrantYAxisTextFill,quadrantTitleFill:rp.quadrantTitleFill,quadrantInternalBorderStrokeFill:rp.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:rp.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),Kt.info("clear called")}setData(a){this.data={...this.data,...a}}addPoints(a){this.data.points=[...a,...this.data.points]}setConfig(a){Kt.trace("setConfig called with: ",a),this.config={...this.config,...a}}setThemeConfig(a){Kt.trace("setThemeConfig called with: ",a),this.themeConfig={...this.themeConfig,...a}}calculateSpace(a,f,g,w){const v=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,b={top:a==="top"&&f?v:0,bottom:a==="bottom"&&f?v:0},E=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,S={left:this.config.yAxisPosition==="left"&&g?E:0,right:this.config.yAxisPosition==="right"&&g?E:0},_=this.config.titleFontSize+this.config.titlePadding*2,M={top:w?_:0},F=this.config.quadrantPadding+S.left,R=this.config.quadrantPadding+b.top+M.top,B=this.config.chartWidth-this.config.quadrantPadding*2-S.left-S.right,z=this.config.chartHeight-this.config.quadrantPadding*2-b.top-b.bottom-M.top,Y=B/2,nt=z/2;return{xAxisSpace:b,yAxisSpace:S,titleSpace:M,quadrantSpace:{quadrantLeft:F,quadrantTop:R,quadrantWidth:B,quadrantHalfWidth:Y,quadrantHeight:z,quadrantHalfHeight:nt}}}getAxisLabels(a,f,g,w){const{quadrantSpace:v,titleSpace:b}=w,{quadrantHalfHeight:E,quadrantHeight:S,quadrantLeft:_,quadrantHalfWidth:M,quadrantTop:F,quadrantWidth:R}=v,B=!!this.data.xAxisRightText,z=!!this.data.yAxisTopText,Y=[];return this.data.xAxisLeftText&&f&&Y.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+(B?M/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+F+S+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:B?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&f&&Y.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:_+M+(B?M/2:0),y:a==="top"?this.config.xAxisLabelPadding+b.top:this.config.xAxisLabelPadding+F+S+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:B?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&g&&Y.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:F+S-(z?E/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:z?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&g&&Y.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+_+R+this.config.quadrantPadding,y:F+E-(z?E/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:z?"center":"left",horizontalPos:"top",rotation:-90}),Y}getQuadrants(a){const{quadrantSpace:f}=a,{quadrantHalfHeight:g,quadrantLeft:w,quadrantHalfWidth:v,quadrantTop:b}=f,E=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w+v,y:b,width:v,height:g,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w,y:b,width:v,height:g,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w,y:b+g,width:v,height:g,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:w+v,y:b+g,width:v,height:g,fill:this.themeConfig.quadrant4Fill}];for(const S of E)S.text.x=S.x+S.width/2,this.data.points.length===0?(S.text.y=S.y+S.height/2,S.text.horizontalPos="middle"):(S.text.y=S.y+this.config.quadrantTextTopPadding,S.text.horizontalPos="top");return E}getQuadrantPoints(a){const{quadrantSpace:f}=a,{quadrantHeight:g,quadrantLeft:w,quadrantTop:v,quadrantWidth:b}=f,E=VL().domain([0,1]).range([w,b+w]),S=VL().domain([0,1]).range([g+v,v]);return this.data.points.map(M=>({x:E(M.x),y:S(M.y),fill:this.themeConfig.quadrantPointFill,radius:this.config.pointRadius,text:{text:M.text,fill:this.themeConfig.quadrantPointTextFill,x:E(M.x),y:S(M.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0}}))}getBorders(a){const f=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:g}=a,{quadrantHalfHeight:w,quadrantHeight:v,quadrantLeft:b,quadrantHalfWidth:E,quadrantTop:S,quadrantWidth:_}=g;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-f,y1:S,x2:b+_+f,y2:S},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b+_,y1:S+f,x2:b+_,y2:S+v-f},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b-f,y1:S+v,x2:b+_+f,y2:S+v},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:b,y1:S+f,x2:b,y2:S+v-f},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+E,y1:S+f,x2:b+E,y2:S+v-f},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:b+f,y1:S+w,x2:b+_-f,y2:S+w}]}getTitle(a){if(a)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const a=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),f=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),g=this.config.showTitle&&!!this.data.titleText,w=this.data.points.length>0?"bottom":this.config.xAxisPosition,v=this.calculateSpace(w,a,f,g);return{points:this.getQuadrantPoints(v),quadrants:this.getQuadrants(v),axisLabels:this.getAxisLabels(w,a,f,v),borderLines:this.getBorders(v),title:this.getTitle(g)}}}const bXe=Re();function qx(i){return Ef(i.trim(),bXe)}const ug=new pXe;function wXe(i){ug.setData({quadrant1Text:qx(i.text)})}function mXe(i){ug.setData({quadrant2Text:qx(i.text)})}function vXe(i){ug.setData({quadrant3Text:qx(i.text)})}function yXe(i){ug.setData({quadrant4Text:qx(i.text)})}function xXe(i){ug.setData({xAxisLeftText:qx(i.text)})}function kXe(i){ug.setData({xAxisRightText:qx(i.text)})}function EXe(i){ug.setData({yAxisTopText:qx(i.text)})}function TXe(i){ug.setData({yAxisBottomText:qx(i.text)})}function CXe(i,a,f){ug.addPoints([{x:a,y:f,text:qx(i.text)}])}function SXe(i){ug.setConfig({chartWidth:i})}function _Xe(i){ug.setConfig({chartHeight:i})}function AXe(){const i=Re(),{themeVariables:a,quadrantChart:f}=i;return f&&ug.setConfig(f),ug.setThemeConfig({quadrant1Fill:a.quadrant1Fill,quadrant2Fill:a.quadrant2Fill,quadrant3Fill:a.quadrant3Fill,quadrant4Fill:a.quadrant4Fill,quadrant1TextFill:a.quadrant1TextFill,quadrant2TextFill:a.quadrant2TextFill,quadrant3TextFill:a.quadrant3TextFill,quadrant4TextFill:a.quadrant4TextFill,quadrantPointFill:a.quadrantPointFill,quadrantPointTextFill:a.quadrantPointTextFill,quadrantXAxisTextFill:a.quadrantXAxisTextFill,quadrantYAxisTextFill:a.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:a.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:a.quadrantInternalBorderStrokeFill,quadrantTitleFill:a.quadrantTitleFill}),ug.setData({titleText:Zg()}),ug.build()}const LXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:gXe,db:{setWidth:SXe,setHeight:_Xe,setQuadrant1Text:wXe,setQuadrant2Text:mXe,setQuadrant3Text:vXe,setQuadrant4Text:yXe,setXAxisLeftText:xXe,setXAxisRightText:kXe,setYAxisTopText:EXe,setYAxisBottomText:TXe,addPoint:CXe,getQuadrantData:AXe,clear:function(){ug.clear(),ag()},setAccTitle:og,getAccTitle:Xg,setDiagramTitle:S2,getDiagramTitle:Zg,getAccDescription:Jg,setAccDescription:Qg},renderer:{draw:(i,a,f,g)=>{var gt,Q,dt;function w(K){return K==="top"?"hanging":"middle"}function v(K){return K==="left"?"start":"middle"}function b(K){return`translate(${K.x}, ${K.y}) rotate(${K.rotation||0})`}const E=Re();Kt.debug(`Rendering quadrant chart
647 `+i);const S=E.securityLevel;let _;S==="sandbox"&&(_=Tr("#i"+a));const F=Tr(S==="sandbox"?_.nodes()[0].contentDocument.body:"body").select(`[id="${a}"]`),R=F.append("g").attr("class","main"),B=((gt=E.quadrantChart)==null?void 0:gt.chartWidth)||500,z=((Q=E.quadrantChart)==null?void 0:Q.chartHeight)||500;sg(F,z,B,((dt=E.quadrantChart)==null?void 0:dt.useMaxWidth)||!0),F.attr("viewBox","0 0 "+B+" "+z),g.db.setHeight(z),g.db.setWidth(B);const Y=g.db.getQuadrantData(),nt=R.append("g").attr("class","quadrants"),ot=R.append("g").attr("class","border"),ft=R.append("g").attr("class","data-points"),wt=R.append("g").attr("class","labels"),mt=R.append("g").attr("class","title");Y.title&&mt.append("text").attr("x",0).attr("y",0).attr("fill",Y.title.fill).attr("font-size",Y.title.fontSize).attr("dominant-baseline",w(Y.title.horizontalPos)).attr("text-anchor",v(Y.title.verticalPos)).attr("transform",b(Y.title)).text(Y.title.text),Y.borderLines&&ot.selectAll("line").data(Y.borderLines).enter().append("line").attr("x1",K=>K.x1).attr("y1",K=>K.y1).attr("x2",K=>K.x2).attr("y2",K=>K.y2).style("stroke",K=>K.strokeFill).style("stroke-width",K=>K.strokeWidth);const ct=nt.selectAll("g.quadrant").data(Y.quadrants).enter().append("g").attr("class","quadrant");ct.append("rect").attr("x",K=>K.x).attr("y",K=>K.y).attr("width",K=>K.width).attr("height",K=>K.height).attr("fill",K=>K.fill),ct.append("text").attr("x",0).attr("y",0).attr("fill",K=>K.text.fill).attr("font-size",K=>K.text.fontSize).attr("dominant-baseline",K=>w(K.text.horizontalPos)).attr("text-anchor",K=>v(K.text.verticalPos)).attr("transform",K=>b(K.text)).text(K=>K.text.text),wt.selectAll("g.label").data(Y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(K=>K.text).attr("fill",K=>K.fill).attr("font-size",K=>K.fontSize).attr("dominant-baseline",K=>w(K.horizontalPos)).attr("text-anchor",K=>v(K.verticalPos)).attr("transform",K=>b(K));const it=ft.selectAll("g.data-point").data(Y.points).enter().append("g").attr("class","data-point");it.append("circle").attr("cx",K=>K.x).attr("cy",K=>K.y).attr("r",K=>K.radius).attr("fill",K=>K.fill),it.append("text").attr("x",0).attr("y",0).text(K=>K.text.text).attr("fill",K=>K.text.fill).attr("font-size",K=>K.text.fontSize).attr("dominant-baseline",K=>w(K.text.horizontalPos)).attr("text-anchor",K=>v(K.text.verticalPos)).attr("transform",K=>b(K.text))}},styles:()=>""}},Symbol.toStringTag,{value:"Module"}));var Sbt=function(){var i=function(It,jt,xt,Ft){for(xt=xt||{},Ft=It.length;Ft--;xt[It[Ft]]=jt);return xt},a=[1,10,12,14,16,18,19,21,23],f=[2,6],g=[1,3],w=[1,5],v=[1,6],b=[1,7],E=[1,5,10,12,14,16,18,19,21,23,34,35,36],S=[1,25],_=[1,26],M=[1,28],F=[1,29],R=[1,30],B=[1,31],z=[1,32],Y=[1,33],nt=[1,34],ot=[1,35],ft=[1,36],wt=[1,37],mt=[1,43],ct=[1,42],rt=[1,47],it=[1,50],gt=[1,10,12,14,16,18,19,21,23,34,35,36],Q=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],dt=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],K=[1,64],yt={trace:function(){},yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:function(jt,xt,Ft,Ct,kt,Gt,Fe){var Mt=Gt.length-1;switch(kt){case 5:Ct.setOrientation(Gt[Mt]);break;case 9:Ct.setDiagramTitle(Gt[Mt].text.trim());break;case 12:Ct.setLineData({text:"",type:"text"},Gt[Mt]);break;case 13:Ct.setLineData(Gt[Mt-1],Gt[Mt]);break;case 14:Ct.setBarData({text:"",type:"text"},Gt[Mt]);break;case 15:Ct.setBarData(Gt[Mt-1],Gt[Mt]);break;case 16:this.$=Gt[Mt].trim(),Ct.setAccTitle(this.$);break;case 17:case 18:this.$=Gt[Mt].trim(),Ct.setAccDescription(this.$);break;case 19:this.$=Gt[Mt-1];break;case 20:this.$=[Number(Gt[Mt-2]),...Gt[Mt]];break;case 21:this.$=[Number(Gt[Mt])];break;case 22:Ct.setXAxisTitle(Gt[Mt]);break;case 23:Ct.setXAxisTitle(Gt[Mt-1]);break;case 24:Ct.setXAxisTitle({type:"text",text:""});break;case 25:Ct.setXAxisBand(Gt[Mt]);break;case 26:Ct.setXAxisRangeData(Number(Gt[Mt-2]),Number(Gt[Mt]));break;case 27:this.$=Gt[Mt-1];break;case 28:this.$=[Gt[Mt-2],...Gt[Mt]];break;case 29:this.$=[Gt[Mt]];break;case 30:Ct.setYAxisTitle(Gt[Mt]);break;case 31:Ct.setYAxisTitle(Gt[Mt-1]);break;case 32:Ct.setYAxisTitle({type:"text",text:""});break;case 33:Ct.setYAxisRangeData(Number(Gt[Mt-2]),Number(Gt[Mt]));break;case 37:this.$={text:Gt[Mt],type:"text"};break;case 38:this.$={text:Gt[Mt],type:"text"};break;case 39:this.$={text:Gt[Mt],type:"markdown"};break;case 40:this.$=Gt[Mt];break;case 41:this.$=Gt[Mt-1]+""+Gt[Mt];break}},table:[i(a,f,{3:1,4:2,7:4,5:g,34:w,35:v,36:b}),{1:[3]},i(a,f,{4:2,7:4,3:8,5:g,34:w,35:v,36:b}),i(a,f,{4:2,7:4,6:9,3:10,5:g,8:[1,11],34:w,35:v,36:b}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},i(E,[2,34]),i(E,[2,35]),i(E,[2,36]),{1:[2,1]},i(a,f,{4:2,7:4,3:21,5:g,34:w,35:v,36:b}),{1:[2,3]},i(E,[2,5]),i(a,[2,7],{4:22,34:w,35:v,36:b}),{11:23,37:24,38:S,39:_,40:27,41:M,42:F,43:R,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt},{11:39,13:38,24:mt,27:ct,29:40,30:41,37:24,38:S,39:_,40:27,41:M,42:F,43:R,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt},{11:45,15:44,27:rt,33:46,37:24,38:S,39:_,40:27,41:M,42:F,43:R,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt},{11:49,17:48,24:it,37:24,38:S,39:_,40:27,41:M,42:F,43:R,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt},{11:52,17:51,24:it,37:24,38:S,39:_,40:27,41:M,42:F,43:R,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt},{20:[1,53]},{22:[1,54]},i(gt,[2,18]),{1:[2,2]},i(gt,[2,8]),i(gt,[2,9]),i(Q,[2,37],{40:55,41:M,42:F,43:R,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt}),i(Q,[2,38]),i(Q,[2,39]),i(dt,[2,40]),i(dt,[2,42]),i(dt,[2,43]),i(dt,[2,44]),i(dt,[2,45]),i(dt,[2,46]),i(dt,[2,47]),i(dt,[2,48]),i(dt,[2,49]),i(dt,[2,50]),i(dt,[2,51]),i(gt,[2,10]),i(gt,[2,22],{30:41,29:56,24:mt,27:ct}),i(gt,[2,24]),i(gt,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:S,39:_,40:27,41:M,42:F,43:R,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt},i(gt,[2,11]),i(gt,[2,30],{33:60,27:rt}),i(gt,[2,32]),{31:[1,61]},i(gt,[2,12]),{17:62,24:it},{25:63,27:K},i(gt,[2,14]),{17:65,24:it},i(gt,[2,16]),i(gt,[2,17]),i(dt,[2,41]),i(gt,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},i(gt,[2,31]),{27:[1,69]},i(gt,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},i(gt,[2,15]),i(gt,[2,26]),i(gt,[2,27]),{11:59,32:72,37:24,38:S,39:_,40:27,41:M,42:F,43:R,44:B,45:z,46:Y,47:nt,48:ot,49:ft,50:wt},i(gt,[2,33]),i(gt,[2,19]),{25:73,27:K},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:function(jt,xt){if(xt.recoverable)this.trace(jt);else{var Ft=new Error(jt);throw Ft.hash=xt,Ft}},parse:function(jt){var xt=this,Ft=[0],Ct=[],kt=[null],Gt=[],Fe=this.table,Mt="",pn=0,Ae=0,ye=2,tn=1,sn=Gt.slice.call(arguments,1),be=Object.create(this.lexer),Ne={yy:{}};for(var Xt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Xt)&&(Ne.yy[Xt]=this.yy[Xt]);be.setInput(jt,Ne.yy),Ne.yy.lexer=be,Ne.yy.parser=this,typeof be.yylloc>"u"&&(be.yylloc={});var _e=be.yylloc;Gt.push(_e);var xe=be.options&&be.options.ranges;typeof Ne.yy.parseError=="function"?this.parseError=Ne.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mn(){var Nn;return Nn=Ct.pop()||be.lex()||tn,typeof Nn!="number"&&(Nn instanceof Array&&(Ct=Nn,Nn=Ct.pop()),Nn=xt.symbols_[Nn]||Nn),Nn}for(var ce,Br,we,Fi,mi={},ga,Ss,za,br;;){if(Br=Ft[Ft.length-1],this.defaultActions[Br]?we=this.defaultActions[Br]:((ce===null||typeof ce>"u")&&(ce=Mn()),we=Fe[Br]&&Fe[Br][ce]),typeof we>"u"||!we.length||!we[0]){var An="";br=[];for(ga in Fe[Br])this.terminals_[ga]&&ga>ye&&br.push("'"+this.terminals_[ga]+"'");be.showPosition?An="Parse error on line "+(pn+1)+`:
652 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var xt=this.next();return xt||this.lex()},begin:function(xt){this.conditionStack.push(xt)},popState:function(){var xt=this.conditionStack.length-1;return xt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(xt){return xt=this.conditionStack.length-1-Math.abs(xt||0),xt>=0?this.conditionStack[xt]:"INITIAL"},pushState:function(xt){this.begin(xt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(xt,Ft,Ct,kt){switch(Ct){case 0:break;case 1:break;case 2:return this.popState(),34;case 3:return this.popState(),34;case 4:return 34;case 5:break;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 25:this.popState();break;case 26:this.pushState("string");break;case 27:this.popState();break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 43:break;case 44:return 35;case 45:return 36}},rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};return It}();yt.lexer=V;function Ot(){this.yy={}}return Ot.prototype=yt,yt.Parser=Ot,new Ot}();Sbt.parser=Sbt;const DXe=Sbt;function Kzt(i){return i.type==="bar"}function Wzt(i){return i.type==="band"}function lB(i){return i.type==="linear"}class Yzt{constructor(a){this.parentGroup=a}getMaxDimension(a,f){if(!this.parentGroup)return{width:a.reduce((v,b)=>Math.max(b.length,v),0)*f,height:f};const g={width:0,height:0},w=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",f);for(const v of a){const b=AKe(w,1,v),E=b?b.width:v.length*f,S=b?b.height:f;g.width=Math.max(g.width,E),g.height=Math.max(g.height,S)}return w.remove(),g}}const Xzt=.7,Qzt=.2;class Jzt{constructor(a,f,g,w){this.axisConfig=a,this.title=f,this.textDimensionCalculator=g,this.axisThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}setRange(a){this.range=a,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=a[1]-a[0]:this.boundingRect.width=a[1]-a[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(a){this.axisPosition=a,this.setRange(this.range)}getTickDistance(){const a=this.getRange();return Math.abs(a[0]-a[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(a=>a.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){Xzt*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(Xzt*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(a){let f=a.height;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const g=this.getLabelDimension(),w=Qzt*a.width;this.outerPadding=Math.min(g.width/2,w);const v=g.height+this.axisConfig.labelPadding*2;this.labelTextHeight=g.height,v<=f&&(f-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const g=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=g.height+this.axisConfig.titlePadding*2;this.titleTextHeight=g.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width,this.boundingRect.height=a.height-f}calculateSpaceIfDrawnVertical(a){let f=a.width;if(this.axisConfig.showAxisLine&&f>this.axisConfig.axisLineWidth&&(f-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const g=this.getLabelDimension(),w=Qzt*a.height;this.outerPadding=Math.min(g.height/2,w);const v=g.width+this.axisConfig.labelPadding*2;v<=f&&(f-=v,this.showLabel=!0)}if(this.axisConfig.showTick&&f>=this.axisConfig.tickLength&&(this.showTick=!0,f-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const g=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),w=g.height+this.axisConfig.titlePadding*2;this.titleTextHeight=g.height,w<=f&&(f-=w,this.showTitle=!0)}this.boundingRect.width=a.width-f,this.boundingRect.height=a.height}calculateSpace(a){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(a):this.calculateSpaceIfDrawnHorizontally(a),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}getDrawableElementsForLeftAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${f},${this.boundingRect.y} L ${f},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(f),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const f=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(g=>({path:`M ${f},${this.getScaleValue(g)} L ${f-this.axisConfig.tickLength},${this.getScaleValue(g)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForBottomAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);a.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(g=>({path:`M ${this.getScaleValue(g)},${f} L ${this.getScaleValue(g)},${f+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElementsForTopAxis(){const a=[];if(this.showAxisLine){const f=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;a.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${f} L ${this.boundingRect.x+this.boundingRect.width},${f}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&a.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(f=>({text:f.toString(),x:this.getScaleValue(f),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+this.axisConfig.titlePadding*2:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const f=this.boundingRect.y;a.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(g=>({path:`M ${this.getScaleValue(g)},${f+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(g)},${f+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&a.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),a}getDrawableElements(){if(this.axisPosition==="left")return this.getDrawableElementsForLeftAxis();if(this.axisPosition==="right")throw Error("Drawing of right axis is not implemented");return this.axisPosition==="bottom"?this.getDrawableElementsForBottomAxis():this.axisPosition==="top"?this.getDrawableElementsForTopAxis():[]}}class MXe extends Jzt{constructor(a,f,g,w,v){super(a,w,v,f),this.categories=g,this.scale=V0t().domain(this.categories).range(this.getRange())}setRange(a){super.setRange(a)}recalculateScale(){this.scale=V0t().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),Kt.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(a){return this.scale(a)||this.getRange()[0]}}class IXe extends Jzt{constructor(a,f,g,w,v){super(a,w,v,f),this.domain=g,this.scale=VL().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const a=[...this.domain];this.axisPosition==="left"&&a.reverse(),this.scale=VL().domain(a).range(this.getRange())}getScaleValue(a){return this.scale(a)}}function Zzt(i,a,f,g){const w=new Yzt(g);return Wzt(i)?new MXe(a,f,i.categories,i.title,w):new IXe(a,f,[i.min,i.max],i.title,w)}class OXe{constructor(a,f,g,w){this.textDimensionCalculator=a,this.chartConfig=f,this.chartData=g,this.chartThemeConfig=w,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){const f=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),g=Math.max(f.width,a.width),w=f.height+2*this.chartConfig.titlePadding;return f.width<=g&&f.height<=w&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=g,this.boundingRect.height=w,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const a=[];return this.showChartTitle&&a.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),a}}function NXe(i,a,f,g){const w=new Yzt(g);return new OXe(w,i,a,f)}class PXe{constructor(a,f,g,w,v){this.plotData=a,this.xAxis=f,this.yAxis=g,this.orientation=w,this.plotIndex=v}getDrawableElement(){const a=this.plotData.data.map(g=>[this.xAxis.getScaleValue(g[0]),this.yAxis.getScaleValue(g[1])]);let f;return this.orientation==="horizontal"?f=Ax().y(g=>g[0]).x(g=>g[1])(a):f=Ax().x(g=>g[0]).y(g=>g[1])(a),f?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:f,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}}class FXe{constructor(a,f,g,w,v,b){this.barData=a,this.boundingRect=f,this.xAxis=g,this.yAxis=w,this.orientation=v,this.plotIndex=b}getDrawableElement(){const a=this.barData.data.map(v=>[this.xAxis.getScaleValue(v[0]),this.yAxis.getScaleValue(v[1])]),f=.05,g=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-f),w=g/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(v=>({x:this.boundingRect.x,y:v[0]-w,height:g,width:v[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:a.map(v=>({x:v[0]-w,y:v[1],width:g,height:this.boundingRect.y+this.boundingRect.height-v[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}}class BXe{constructor(a,f,g){this.chartConfig=a,this.chartData=f,this.chartThemeConfig=g,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(a,f){this.xAxis=a,this.yAxis=f}setBoundingBoxXY(a){this.boundingRect.x=a.x,this.boundingRect.y=a.y}calculateSpace(a){return this.boundingRect.width=a.width,this.boundingRect.height=a.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");const a=[];for(const[f,g]of this.chartData.plots.entries())switch(g.type){case"line":{const w=new PXe(g,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break;case"bar":{const w=new FXe(g,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,f);a.push(...w.getDrawableElement())}break}return a}}function RXe(i,a,f){return new BXe(i,a,f)}class jXe{constructor(a,f,g,w){this.chartConfig=a,this.chartData=f,this.componentStore={title:NXe(a,f,g,w),plot:RXe(a,f,g),xAxis:Zzt(f.xAxis,a.xAxis,{titleColor:g.xAxisTitleColor,labelColor:g.xAxisLabelColor,tickColor:g.xAxisTickColor,axisLineColor:g.xAxisLineColor},w),yAxis:Zzt(f.yAxis,a.yAxis,{titleColor:g.yAxisTitleColor,labelColor:g.yAxisLabelColor,tickColor:g.yAxisTickColor,axisLineColor:g.yAxisLineColor},w)}}calculateVerticalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,g=0,w=0,v=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),b=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),E=this.componentStore.plot.calculateSpace({width:v,height:b});a-=E.width,f-=E.height,E=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),w=E.height,f-=E.height,this.componentStore.xAxis.setAxisPosition("bottom"),E=this.componentStore.xAxis.calculateSpace({width:a,height:f}),f-=E.height,this.componentStore.yAxis.setAxisPosition("left"),E=this.componentStore.yAxis.calculateSpace({width:a,height:f}),g=E.width,a-=E.width,a>0&&(v+=a,a=0),f>0&&(b+=f,f=0),this.componentStore.plot.calculateSpace({width:v,height:b}),this.componentStore.plot.setBoundingBoxXY({x:g,y:w}),this.componentStore.xAxis.setRange([g,g+v]),this.componentStore.xAxis.setBoundingBoxXY({x:g,y:w+b}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:w}),this.chartData.plots.some(S=>Kzt(S))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizonatalSpace(){let a=this.chartConfig.width,f=this.chartConfig.height,g=0,w=0,v=0,b=Math.floor(a*this.chartConfig.plotReservedSpacePercent/100),E=Math.floor(f*this.chartConfig.plotReservedSpacePercent/100),S=this.componentStore.plot.calculateSpace({width:b,height:E});a-=S.width,f-=S.height,S=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:f}),g=S.height,f-=S.height,this.componentStore.xAxis.setAxisPosition("left"),S=this.componentStore.xAxis.calculateSpace({width:a,height:f}),a-=S.width,w=S.width,this.componentStore.yAxis.setAxisPosition("top"),S=this.componentStore.yAxis.calculateSpace({width:a,height:f}),f-=S.height,v=g+S.height,a>0&&(b+=a,a=0),f>0&&(E+=f,f=0),this.componentStore.plot.calculateSpace({width:b,height:E}),this.componentStore.plot.setBoundingBoxXY({x:w,y:v}),this.componentStore.yAxis.setRange([w,w+b]),this.componentStore.yAxis.setBoundingBoxXY({x:w,y:g}),this.componentStore.xAxis.setRange([v,v+E]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:v}),this.chartData.plots.some(_=>Kzt(_))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizonatalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const a=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const f of Object.values(this.componentStore))a.push(...f.getDrawableElements());return a}}class $Xe{static build(a,f,g,w){return new jXe(a,f,g,w).getDrawableElement()}}let hB=0,tqt,fB=nqt(),dB=eqt(),Pu=rqt(),_bt=dB.plotColorPalette.split(",").map(i=>i.trim()),pX=!1,Abt=!1;function eqt(){const i=dgt(),a=o1();return MF(i.xyChart,a.themeVariables.xyChart)}function nqt(){const i=o1();return MF(Bl.xyChart,i.xyChart)}function rqt(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function Lbt(i){const a=o1();return Ef(i.trim(),a)}function zXe(i){tqt=i}function qXe(i){i==="horizontal"?fB.chartOrientation="horizontal":fB.chartOrientation="vertical"}function HXe(i){Pu.xAxis.title=Lbt(i.text)}function iqt(i,a){Pu.xAxis={type:"linear",title:Pu.xAxis.title,min:i,max:a},pX=!0}function VXe(i){Pu.xAxis={type:"band",title:Pu.xAxis.title,categories:i.map(a=>Lbt(a.text))},pX=!0}function UXe(i){Pu.yAxis.title=Lbt(i.text)}function GXe(i,a){Pu.yAxis={type:"linear",title:Pu.yAxis.title,min:i,max:a},Abt=!0}function KXe(i){const a=Math.min(...i),f=Math.max(...i),g=lB(Pu.yAxis)?Pu.yAxis.min:1/0,w=lB(Pu.yAxis)?Pu.yAxis.max:-1/0;Pu.yAxis={type:"linear",title:Pu.yAxis.title,min:Math.min(g,a),max:Math.max(w,f)}}function sqt(i){let a=[];if(i.length===0)return a;if(!pX){const f=lB(Pu.xAxis)?Pu.xAxis.min:1/0,g=lB(Pu.xAxis)?Pu.xAxis.max:-1/0;iqt(Math.min(f,1),Math.max(g,i.length))}if(Abt||KXe(i),Wzt(Pu.xAxis)&&(a=Pu.xAxis.categories.map((f,g)=>[f,i[g]])),lB(Pu.xAxis)){const f=Pu.xAxis.min,g=Pu.xAxis.max,w=(g-f+1)/i.length,v=[];for(let b=f;b<=g;b+=w)v.push(`${b}`);a=v.map((b,E)=>[b,i[E]])}return a}function aqt(i){return _bt[i===0?0:i%_bt.length]}function WXe(i,a){const f=sqt(a);Pu.plots.push({type:"line",strokeFill:aqt(hB),strokeWidth:2,data:f}),hB++}function YXe(i,a){const f=sqt(a);Pu.plots.push({type:"bar",fill:aqt(hB),data:f}),hB++}function XXe(){if(Pu.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return Pu.title=Zg(),$Xe.build(fB,Pu,dB,tqt)}function QXe(){return dB}function JXe(){return fB}const ZXe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:DXe,db:{getDrawableElem:XXe,clear:function(){ag(),hB=0,fB=nqt(),Pu=rqt(),dB=eqt(),_bt=dB.plotColorPalette.split(",").map(i=>i.trim()),pX=!1,Abt=!1},setAccTitle:og,getAccTitle:Xg,setDiagramTitle:S2,getDiagramTitle:Zg,getAccDescription:Jg,setAccDescription:Qg,setOrientation:qXe,setXAxisTitle:HXe,setXAxisRangeData:iqt,setXAxisBand:VXe,setYAxisTitle:UXe,setYAxisRangeData:GXe,setLineData:WXe,setBarData:YXe,setTmpSVGG:zXe,getChartThemeConfig:QXe,getChartConfig:JXe},renderer:{draw:(i,a,f,g)=>{const w=g.db,v=w.getChartThemeConfig(),b=w.getChartConfig();function E(nt){return nt==="top"?"text-before-edge":"middle"}function S(nt){return nt==="left"?"start":nt==="right"?"end":"middle"}function _(nt){return`translate(${nt.x}, ${nt.y}) rotate(${nt.rotation||0})`}Kt.debug(`Rendering xychart chart
653 `+i);const M=FF(a),F=M.append("g").attr("class","main"),R=F.append("rect").attr("width",b.width).attr("height",b.height).attr("class","background");sg(M,b.height,b.width,!0),M.attr("viewBox",`0 0 ${b.width} ${b.height}`),R.attr("fill",v.backgroundColor),w.setTmpSVGG(M.append("g").attr("class","mermaid-tmp-group"));const B=w.getDrawableElem(),z={};function Y(nt){let ot=F,ft="";for(const[wt]of nt.entries()){let mt=F;wt>0&&z[ft]&&(mt=z[ft]),ft+=nt[wt],ot=z[ft],ot||(ot=z[ft]=mt.append("g").attr("class",nt[wt]))}return ot}for(const nt of B){if(nt.data.length===0)continue;const ot=Y(nt.groupTexts);switch(nt.type){case"rect":ot.selectAll("rect").data(nt.data).enter().append("rect").attr("x",ft=>ft.x).attr("y",ft=>ft.y).attr("width",ft=>ft.width).attr("height",ft=>ft.height).attr("fill",ft=>ft.fill).attr("stroke",ft=>ft.strokeFill).attr("stroke-width",ft=>ft.strokeWidth);break;case"text":ot.selectAll("text").data(nt.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",ft=>ft.fill).attr("font-size",ft=>ft.fontSize).attr("dominant-baseline",ft=>E(ft.verticalPos)).attr("text-anchor",ft=>S(ft.horizontalPos)).attr("transform",ft=>_(ft)).text(ft=>ft.text);break;case"path":ot.selectAll("path").data(nt.data).enter().append("path").attr("d",ft=>ft.path).attr("fill",ft=>ft.fill?ft.fill:"none").attr("stroke",ft=>ft.strokeFill).attr("stroke-width",ft=>ft.strokeWidth);break}}}}}},Symbol.toStringTag,{value:"Module"}));var Dbt=function(){var i=function(Ae,ye,tn,sn){for(tn=tn||{},sn=Ae.length;sn--;tn[Ae[sn]]=ye);return tn},a=[1,3],f=[1,4],g=[1,5],w=[1,6],v=[5,6,8,9,11,13,31,32,33,34,35,36,44,62,63],b=[1,18],E=[2,7],S=[1,22],_=[1,23],M=[1,24],F=[1,25],R=[1,26],B=[1,27],z=[1,20],Y=[1,28],nt=[1,29],ot=[62,63],ft=[5,8,9,11,13,31,32,33,34,35,36,44,51,53,62,63],wt=[1,47],mt=[1,48],ct=[1,49],rt=[1,50],it=[1,51],gt=[1,52],Q=[1,53],dt=[53,54],K=[1,64],yt=[1,60],V=[1,61],Ot=[1,62],It=[1,63],jt=[1,65],xt=[1,69],Ft=[1,70],Ct=[1,67],kt=[1,68],Gt=[5,8,9,11,13,31,32,33,34,35,36,44,62,63],Fe={trace:function(){},yy:{},symbols_:{error:2,start:3,directive:4,NEWLINE:5,RD:6,diagram:7,EOF:8,acc_title:9,acc_title_value:10,acc_descr:11,acc_descr_value:12,acc_descr_multiline_value:13,requirementDef:14,elementDef:15,relationshipDef:16,requirementType:17,requirementName:18,STRUCT_START:19,requirementBody:20,ID:21,COLONSEP:22,id:23,TEXT:24,text:25,RISK:26,riskLevel:27,VERIFYMTHD:28,verifyType:29,STRUCT_STOP:30,REQUIREMENT:31,FUNCTIONAL_REQUIREMENT:32,INTERFACE_REQUIREMENT:33,PERFORMANCE_REQUIREMENT:34,PHYSICAL_REQUIREMENT:35,DESIGN_CONSTRAINT:36,LOW_RISK:37,MED_RISK:38,HIGH_RISK:39,VERIFY_ANALYSIS:40,VERIFY_DEMONSTRATION:41,VERIFY_INSPECTION:42,VERIFY_TEST:43,ELEMENT:44,elementName:45,elementBody:46,TYPE:47,type:48,DOCREF:49,ref:50,END_ARROW_L:51,relationship:52,LINE:53,END_ARROW_R:54,CONTAINS:55,COPIES:56,DERIVES:57,SATISFIES:58,VERIFIES:59,REFINES:60,TRACES:61,unqString:62,qString:63,$accept:0,$end:1},terminals_:{2:"error",5:"NEWLINE",6:"RD",8:"EOF",9:"acc_title",10:"acc_title_value",11:"acc_descr",12:"acc_descr_value",13:"acc_descr_multiline_value",19:"STRUCT_START",21:"ID",22:"COLONSEP",24:"TEXT",26:"RISK",28:"VERIFYMTHD",30:"STRUCT_STOP",31:"REQUIREMENT",32:"FUNCTIONAL_REQUIREMENT",33:"INTERFACE_REQUIREMENT",34:"PERFORMANCE_REQUIREMENT",35:"PHYSICAL_REQUIREMENT",36:"DESIGN_CONSTRAINT",37:"LOW_RISK",38:"MED_RISK",39:"HIGH_RISK",40:"VERIFY_ANALYSIS",41:"VERIFY_DEMONSTRATION",42:"VERIFY_INSPECTION",43:"VERIFY_TEST",44:"ELEMENT",47:"TYPE",49:"DOCREF",51:"END_ARROW_L",53:"LINE",54:"END_ARROW_R",55:"CONTAINS",56:"COPIES",57:"DERIVES",58:"SATISFIES",59:"VERIFIES",60:"REFINES",61:"TRACES",62:"unqString",63:"qString"},productions_:[0,[3,3],[3,2],[3,4],[4,2],[4,2],[4,1],[7,0],[7,2],[7,2],[7,2],[7,2],[7,2],[14,5],[20,5],[20,5],[20,5],[20,5],[20,2],[20,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[27,1],[27,1],[27,1],[29,1],[29,1],[29,1],[29,1],[15,5],[46,5],[46,5],[46,2],[46,1],[16,5],[16,5],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[52,1],[18,1],[18,1],[23,1],[23,1],[25,1],[25,1],[45,1],[45,1],[48,1],[48,1],[50,1],[50,1]],performAction:function(ye,tn,sn,be,Ne,Xt,_e){var xe=Xt.length-1;switch(Ne){case 4:this.$=Xt[xe].trim(),be.setAccTitle(this.$);break;case 5:case 6:this.$=Xt[xe].trim(),be.setAccDescription(this.$);break;case 7:this.$=[];break;case 13:be.addRequirement(Xt[xe-3],Xt[xe-4]);break;case 14:be.setNewReqId(Xt[xe-2]);break;case 15:be.setNewReqText(Xt[xe-2]);break;case 16:be.setNewReqRisk(Xt[xe-2]);break;case 17:be.setNewReqVerifyMethod(Xt[xe-2]);break;case 20:this.$=be.RequirementType.REQUIREMENT;break;case 21:this.$=be.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 22:this.$=be.RequirementType.INTERFACE_REQUIREMENT;break;case 23:this.$=be.RequirementType.PERFORMANCE_REQUIREMENT;break;case 24:this.$=be.RequirementType.PHYSICAL_REQUIREMENT;break;case 25:this.$=be.RequirementType.DESIGN_CONSTRAINT;break;case 26:this.$=be.RiskLevel.LOW_RISK;break;case 27:this.$=be.RiskLevel.MED_RISK;break;case 28:this.$=be.RiskLevel.HIGH_RISK;break;case 29:this.$=be.VerifyType.VERIFY_ANALYSIS;break;case 30:this.$=be.VerifyType.VERIFY_DEMONSTRATION;break;case 31:this.$=be.VerifyType.VERIFY_INSPECTION;break;case 32:this.$=be.VerifyType.VERIFY_TEST;break;case 33:be.addElement(Xt[xe-3]);break;case 34:be.setNewElementType(Xt[xe-2]);break;case 35:be.setNewElementDocRef(Xt[xe-2]);break;case 38:be.addRelationship(Xt[xe-2],Xt[xe],Xt[xe-4]);break;case 39:be.addRelationship(Xt[xe-2],Xt[xe-4],Xt[xe]);break;case 40:this.$=be.Relationships.CONTAINS;break;case 41:this.$=be.Relationships.COPIES;break;case 42:this.$=be.Relationships.DERIVES;break;case 43:this.$=be.Relationships.SATISFIES;break;case 44:this.$=be.Relationships.VERIFIES;break;case 45:this.$=be.Relationships.REFINES;break;case 46:this.$=be.Relationships.TRACES;break}},table:[{3:1,4:2,6:a,9:f,11:g,13:w},{1:[3]},{3:8,4:2,5:[1,7],6:a,9:f,11:g,13:w},{5:[1,9]},{10:[1,10]},{12:[1,11]},i(v,[2,6]),{3:12,4:2,6:a,9:f,11:g,13:w},{1:[2,2]},{4:17,5:b,7:13,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:S,32:_,33:M,34:F,35:R,36:B,44:z,62:Y,63:nt},i(v,[2,4]),i(v,[2,5]),{1:[2,1]},{8:[1,30]},{4:17,5:b,7:31,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:S,32:_,33:M,34:F,35:R,36:B,44:z,62:Y,63:nt},{4:17,5:b,7:32,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:S,32:_,33:M,34:F,35:R,36:B,44:z,62:Y,63:nt},{4:17,5:b,7:33,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:S,32:_,33:M,34:F,35:R,36:B,44:z,62:Y,63:nt},{4:17,5:b,7:34,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:S,32:_,33:M,34:F,35:R,36:B,44:z,62:Y,63:nt},{4:17,5:b,7:35,8:E,9:f,11:g,13:w,14:14,15:15,16:16,17:19,23:21,31:S,32:_,33:M,34:F,35:R,36:B,44:z,62:Y,63:nt},{18:36,62:[1,37],63:[1,38]},{45:39,62:[1,40],63:[1,41]},{51:[1,42],53:[1,43]},i(ot,[2,20]),i(ot,[2,21]),i(ot,[2,22]),i(ot,[2,23]),i(ot,[2,24]),i(ot,[2,25]),i(ft,[2,49]),i(ft,[2,50]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{19:[1,44]},{19:[2,47]},{19:[2,48]},{19:[1,45]},{19:[2,53]},{19:[2,54]},{52:46,55:wt,56:mt,57:ct,58:rt,59:it,60:gt,61:Q},{52:54,55:wt,56:mt,57:ct,58:rt,59:it,60:gt,61:Q},{5:[1,55]},{5:[1,56]},{53:[1,57]},i(dt,[2,40]),i(dt,[2,41]),i(dt,[2,42]),i(dt,[2,43]),i(dt,[2,44]),i(dt,[2,45]),i(dt,[2,46]),{54:[1,58]},{5:K,20:59,21:yt,24:V,26:Ot,28:It,30:jt},{5:xt,30:Ft,46:66,47:Ct,49:kt},{23:71,62:Y,63:nt},{23:72,62:Y,63:nt},i(Gt,[2,13]),{22:[1,73]},{22:[1,74]},{22:[1,75]},{22:[1,76]},{5:K,20:77,21:yt,24:V,26:Ot,28:It,30:jt},i(Gt,[2,19]),i(Gt,[2,33]),{22:[1,78]},{22:[1,79]},{5:xt,30:Ft,46:80,47:Ct,49:kt},i(Gt,[2,37]),i(Gt,[2,38]),i(Gt,[2,39]),{23:81,62:Y,63:nt},{25:82,62:[1,83],63:[1,84]},{27:85,37:[1,86],38:[1,87],39:[1,88]},{29:89,40:[1,90],41:[1,91],42:[1,92],43:[1,93]},i(Gt,[2,18]),{48:94,62:[1,95],63:[1,96]},{50:97,62:[1,98],63:[1,99]},i(Gt,[2,36]),{5:[1,100]},{5:[1,101]},{5:[2,51]},{5:[2,52]},{5:[1,102]},{5:[2,26]},{5:[2,27]},{5:[2,28]},{5:[1,103]},{5:[2,29]},{5:[2,30]},{5:[2,31]},{5:[2,32]},{5:[1,104]},{5:[2,55]},{5:[2,56]},{5:[1,105]},{5:[2,57]},{5:[2,58]},{5:K,20:106,21:yt,24:V,26:Ot,28:It,30:jt},{5:K,20:107,21:yt,24:V,26:Ot,28:It,30:jt},{5:K,20:108,21:yt,24:V,26:Ot,28:It,30:jt},{5:K,20:109,21:yt,24:V,26:Ot,28:It,30:jt},{5:xt,30:Ft,46:110,47:Ct,49:kt},{5:xt,30:Ft,46:111,47:Ct,49:kt},i(Gt,[2,14]),i(Gt,[2,15]),i(Gt,[2,16]),i(Gt,[2,17]),i(Gt,[2,34]),i(Gt,[2,35])],defaultActions:{8:[2,2],12:[2,1],30:[2,3],31:[2,8],32:[2,9],33:[2,10],34:[2,11],35:[2,12],37:[2,47],38:[2,48],40:[2,53],41:[2,54],83:[2,51],84:[2,52],86:[2,26],87:[2,27],88:[2,28],90:[2,29],91:[2,30],92:[2,31],93:[2,32],95:[2,55],96:[2,56],98:[2,57],99:[2,58]},parseError:function(ye,tn){if(tn.recoverable)this.trace(ye);else{var sn=new Error(ye);throw sn.hash=tn,sn}},parse:function(ye){var tn=this,sn=[0],be=[],Ne=[null],Xt=[],_e=this.table,xe="",Mn=0,ce=0,Br=2,we=1,Fi=Xt.slice.call(arguments,1),mi=Object.create(this.lexer),ga={yy:{}};for(var Ss in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ss)&&(ga.yy[Ss]=this.yy[Ss]);mi.setInput(ye,ga.yy),ga.yy.lexer=mi,ga.yy.parser=this,typeof mi.yylloc>"u"&&(mi.yylloc={});var za=mi.yylloc;Xt.push(za);var br=mi.options&&mi.options.ranges;typeof ga.yy.parseError=="function"?this.parseError=ga.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function An(){var va;return va=be.pop()||mi.lex()||we,typeof va!="number"&&(va instanceof Array&&(be=va,va=be.pop()),va=tn.symbols_[va]||va),va}for(var Nn,Bn,ke,pe,Je={},an,xn,qa,xo;;){if(Bn=sn[sn.length-1],this.defaultActions[Bn]?ke=this.defaultActions[Bn]:((Nn===null||typeof Nn>"u")&&(Nn=An()),ke=_e[Bn]&&_e[Bn][Nn]),typeof ke>"u"||!ke.length||!ke[0]){var ko="";xo=[];for(an in _e[Bn])this.terminals_[an]&&an>Br&&xo.push("'"+this.terminals_[an]+"'");mi.showPosition?ko="Parse error on line "+(Mn+1)+`:
704 L0,${a.line_height}`).attr("stroke-width",1)}};let Xh={},cqt=0;const uqt=(i,a)=>i.insert("rect","#"+a).attr("class","req reqBox").attr("x",0).attr("y",0).attr("width",Xh.rect_min_width+"px").attr("height",Xh.rect_min_height+"px"),lqt=(i,a,f)=>{let g=Xh.rect_min_width/2,w=i.append("text").attr("class","req reqLabel reqTitle").attr("id",a).attr("x",g).attr("y",Xh.rect_padding).attr("dominant-baseline","hanging"),v=0;f.forEach(_=>{v==0?w.append("tspan").attr("text-anchor","middle").attr("x",Xh.rect_min_width/2).attr("dy",0).text(_):w.append("tspan").attr("text-anchor","middle").attr("x",Xh.rect_min_width/2).attr("dy",Xh.line_height*.75).text(_),v++});let b=1.5*Xh.rect_padding,E=v*Xh.line_height*.75,S=b+E;return i.append("line").attr("class","req-title-line").attr("x1","0").attr("x2",Xh.rect_min_width).attr("y1",S).attr("y2",S),{titleNode:w,y:S}},hqt=(i,a,f,g)=>{let w=i.append("text").attr("class","req reqLabel").attr("id",a).attr("x",Xh.rect_padding).attr("y",g).attr("dominant-baseline","hanging"),v=0;const b=30;let E=[];return f.forEach(S=>{let _=S.length;for(;_>b&&v<3;){let M=S.substring(0,b);S=S.substring(b,S.length),_=S.length,E[E.length]=M,v++}if(v==3){let M=E[E.length-1];E[E.length-1]=M.substring(0,M.length-4)+"..."}else E[E.length]=S;v=0}),E.forEach(S=>{w.append("tspan").attr("x",Xh.rect_padding).attr("dy",Xh.line_height).text(S)}),w},rQe=(i,a,f,g)=>{const w=a.node().getTotalLength(),v=a.node().getPointAtLength(w*.5),b="rel"+cqt;cqt++;const S=i.append("text").attr("class","req relationshipLabel").attr("id",b).attr("x",v.x).attr("y",v.y).attr("text-anchor","middle").attr("dominant-baseline","middle").text(g).node().getBBox();i.insert("rect","#"+b).attr("class","req reqLabelBox").attr("x",v.x-S.width/2).attr("y",v.y-S.height/2).attr("width",S.width).attr("height",S.height).attr("fill","white").attr("fill-opacity","85%")},iQe=function(i,a,f,g,w){const v=f.edge(LD(a.src),LD(a.dst)),b=Ax().x(function(S){return S.x}).y(function(S){return S.y}),E=i.insert("path","#"+g).attr("class","er relationshipLine").attr("d",b(v.points)).attr("fill","none");a.type==w.db.Relationships.CONTAINS?E.attr("marker-start","url("+ei.getUrl(Xh.arrowMarkerAbsolute)+"#"+a.type+"_line_ending)"):(E.attr("stroke-dasharray","10,7"),E.attr("marker-end","url("+ei.getUrl(Xh.arrowMarkerAbsolute)+"#"+oqt.ReqMarkers.ARROW+"_line_ending)")),rQe(i,E,Xh,`<<${a.type}>>`)},sQe=(i,a,f)=>{Object.keys(i).forEach(g=>{let w=i[g];g=LD(g),Kt.info("Added new requirement: ",g);const v=f.append("g").attr("id",g),b="req-"+g,E=uqt(v,b);let S=lqt(v,g+"_title",[`<<${w.type}>>`,`${w.name}`]);hqt(v,g+"_body",[`Id: ${w.id}`,`Text: ${w.text}`,`Risk: ${w.risk}`,`Verification: ${w.verifyMethod}`],S.y);const _=E.node().getBBox();a.setNode(g,{width:_.width,height:_.height,shape:"rect",id:g})})},aQe=(i,a,f)=>{Object.keys(i).forEach(g=>{let w=i[g];const v=LD(g),b=f.append("g").attr("id",v),E="element-"+v,S=uqt(b,E);let _=lqt(b,E+"_title",["<<Element>>",`${g}`]);hqt(b,E+"_body",[`Type: ${w.type||"Not Specified"}`,`Doc Ref: ${w.docRef||"None"}`],_.y);const M=S.node().getBBox();a.setNode(v,{width:M.width,height:M.height,shape:"rect",id:v})})},oQe=(i,a)=>(i.forEach(function(f){let g=LD(f.src),w=LD(f.dst);a.setEdge(g,w,{relationship:f})}),i),cQe=function(i,a){a.nodes().forEach(function(f){f!==void 0&&a.node(f)!==void 0&&(i.select("#"+f),i.select("#"+f).attr("transform","translate("+(a.node(f).x-a.node(f).width/2)+","+(a.node(f).y-a.node(f).height/2)+" )"))})},LD=i=>i.replace(/\s/g,"").replace(/\./g,"_"),uQe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:tQe,db:eQe,renderer:{draw:(i,a,f,g)=>{Xh=Re().requirement;const w=Xh.securityLevel;let v;w==="sandbox"&&(v=Tr("#i"+a));const E=Tr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body").select(`[id='${a}']`);oqt.insertLineEndings(E,Xh);const S=new l1({multigraph:!1,compound:!1,directed:!0}).setGraph({rankdir:Xh.layoutDirection,marginx:20,marginy:20,nodesep:100,edgesep:100,ranksep:100}).setDefaultEdgeLabel(function(){return{}});let _=g.db.getRequirements(),M=g.db.getElements(),F=g.db.getRelationships();sQe(_,S,E),aQe(M,S,E),oQe(F,S),kD(S),cQe(E,S),F.forEach(function(nt){iQe(E,nt,S,a,g)});const R=Xh.rect_padding,B=E.node().getBBox(),z=B.width+R*2,Y=B.height+R*2;sg(E,Y,z,Xh.useMaxWidth),E.attr("viewBox",`${B.x-R} ${B.y-R} ${z} ${Y}`)}},styles:nQe}},Symbol.toStringTag,{value:"Module"}));var Obt=function(){var i=function(be,Ne,Xt,_e){for(Xt=Xt||{},_e=be.length;_e--;Xt[be[_e]]=Ne);return Xt},a=[1,2],f=[1,3],g=[1,4],w=[2,4],v=[1,9],b=[1,11],E=[1,13],S=[1,14],_=[1,16],M=[1,17],F=[1,18],R=[1,24],B=[1,25],z=[1,26],Y=[1,27],nt=[1,28],ot=[1,29],ft=[1,30],wt=[1,31],mt=[1,32],ct=[1,33],rt=[1,34],it=[1,35],gt=[1,36],Q=[1,37],dt=[1,38],K=[1,39],yt=[1,41],V=[1,42],Ot=[1,43],It=[1,44],jt=[1,45],xt=[1,46],Ft=[1,4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,48,49,50,52,53,54,59,60,61,62,70],Ct=[4,5,16,50,52,53],kt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],Gt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,49,50,52,53,54,59,60,61,62,70],Fe=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,48,50,52,53,54,59,60,61,62,70],Mt=[4,5,13,14,16,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,47,50,52,53,54,59,60,61,62,70],pn=[68,69,70],Ae=[1,120],ye={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,box_section:10,box_line:11,participant_statement:12,create:13,box:14,restOfLine:15,end:16,signal:17,autonumber:18,NUM:19,off:20,activate:21,actor:22,deactivate:23,note_statement:24,links_statement:25,link_statement:26,properties_statement:27,details_statement:28,title:29,legacy_title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,loop:36,rect:37,opt:38,alt:39,else_sections:40,par:41,par_sections:42,par_over:43,critical:44,option_sections:45,break:46,option:47,and:48,else:49,participant:50,AS:51,participant_actor:52,destroy:53,note:54,placement:55,text2:56,over:57,actor_pair:58,links:59,link:60,properties:61,details:62,spaceList:63,",":64,left_of:65,right_of:66,signaltype:67,"+":68,"-":69,ACTOR:70,SOLID_OPEN_ARROW:71,DOTTED_OPEN_ARROW:72,SOLID_ARROW:73,DOTTED_ARROW:74,SOLID_CROSS:75,DOTTED_CROSS:76,SOLID_POINT:77,DOTTED_POINT:78,TXT:79,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",13:"create",14:"box",15:"restOfLine",16:"end",18:"autonumber",19:"NUM",20:"off",21:"activate",23:"deactivate",29:"title",30:"legacy_title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"loop",37:"rect",38:"opt",39:"alt",41:"par",43:"par_over",44:"critical",46:"break",47:"option",48:"and",49:"else",50:"participant",51:"AS",52:"participant_actor",53:"destroy",54:"note",57:"over",59:"links",60:"link",61:"properties",62:"details",64:",",65:"left_of",66:"right_of",68:"+",69:"-",70:"ACTOR",71:"SOLID_OPEN_ARROW",72:"DOTTED_OPEN_ARROW",73:"SOLID_ARROW",74:"DOTTED_ARROW",75:"SOLID_CROSS",76:"DOTTED_CROSS",77:"SOLID_POINT",78:"DOTTED_POINT",79:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[10,0],[10,2],[11,2],[11,1],[11,1],[9,1],[9,2],[9,4],[9,2],[9,4],[9,3],[9,3],[9,2],[9,3],[9,3],[9,2],[9,2],[9,2],[9,2],[9,2],[9,1],[9,1],[9,2],[9,2],[9,1],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[9,4],[45,1],[45,4],[42,1],[42,4],[40,1],[40,4],[12,5],[12,3],[12,5],[12,3],[12,3],[24,4],[24,4],[25,3],[26,3],[27,3],[28,3],[63,2],[63,1],[58,3],[58,1],[55,1],[55,1],[17,5],[17,5],[17,4],[22,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[67,1],[56,1]],performAction:function(Ne,Xt,_e,xe,Mn,ce,Br){var we=ce.length-1;switch(Mn){case 3:return xe.apply(ce[we]),ce[we];case 4:case 9:this.$=[];break;case 5:case 10:ce[we-1].push(ce[we]),this.$=ce[we-1];break;case 6:case 7:case 11:case 12:this.$=ce[we];break;case 8:case 13:this.$=[];break;case 15:ce[we].type="createParticipant",this.$=ce[we];break;case 16:ce[we-1].unshift({type:"boxStart",boxData:xe.parseBoxData(ce[we-2])}),ce[we-1].push({type:"boxEnd",boxText:ce[we-2]}),this.$=ce[we-1];break;case 18:this.$={type:"sequenceIndex",sequenceIndex:Number(ce[we-2]),sequenceIndexStep:Number(ce[we-1]),sequenceVisible:!0,signalType:xe.LINETYPE.AUTONUMBER};break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(ce[we-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:xe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:xe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:xe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"activeStart",signalType:xe.LINETYPE.ACTIVE_START,actor:ce[we-1]};break;case 23:this.$={type:"activeEnd",signalType:xe.LINETYPE.ACTIVE_END,actor:ce[we-1]};break;case 29:xe.setDiagramTitle(ce[we].substring(6)),this.$=ce[we].substring(6);break;case 30:xe.setDiagramTitle(ce[we].substring(7)),this.$=ce[we].substring(7);break;case 31:this.$=ce[we].trim(),xe.setAccTitle(this.$);break;case 32:case 33:this.$=ce[we].trim(),xe.setAccDescription(this.$);break;case 34:ce[we-1].unshift({type:"loopStart",loopText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.LOOP_START}),ce[we-1].push({type:"loopEnd",loopText:ce[we-2],signalType:xe.LINETYPE.LOOP_END}),this.$=ce[we-1];break;case 35:ce[we-1].unshift({type:"rectStart",color:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.RECT_START}),ce[we-1].push({type:"rectEnd",color:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.RECT_END}),this.$=ce[we-1];break;case 36:ce[we-1].unshift({type:"optStart",optText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.OPT_START}),ce[we-1].push({type:"optEnd",optText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.OPT_END}),this.$=ce[we-1];break;case 37:ce[we-1].unshift({type:"altStart",altText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.ALT_START}),ce[we-1].push({type:"altEnd",signalType:xe.LINETYPE.ALT_END}),this.$=ce[we-1];break;case 38:ce[we-1].unshift({type:"parStart",parText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.PAR_START}),ce[we-1].push({type:"parEnd",signalType:xe.LINETYPE.PAR_END}),this.$=ce[we-1];break;case 39:ce[we-1].unshift({type:"parStart",parText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.PAR_OVER_START}),ce[we-1].push({type:"parEnd",signalType:xe.LINETYPE.PAR_END}),this.$=ce[we-1];break;case 40:ce[we-1].unshift({type:"criticalStart",criticalText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.CRITICAL_START}),ce[we-1].push({type:"criticalEnd",signalType:xe.LINETYPE.CRITICAL_END}),this.$=ce[we-1];break;case 41:ce[we-1].unshift({type:"breakStart",breakText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.BREAK_START}),ce[we-1].push({type:"breakEnd",optText:xe.parseMessage(ce[we-2]),signalType:xe.LINETYPE.BREAK_END}),this.$=ce[we-1];break;case 43:this.$=ce[we-3].concat([{type:"option",optionText:xe.parseMessage(ce[we-1]),signalType:xe.LINETYPE.CRITICAL_OPTION},ce[we]]);break;case 45:this.$=ce[we-3].concat([{type:"and",parText:xe.parseMessage(ce[we-1]),signalType:xe.LINETYPE.PAR_AND},ce[we]]);break;case 47:this.$=ce[we-3].concat([{type:"else",altText:xe.parseMessage(ce[we-1]),signalType:xe.LINETYPE.ALT_ELSE},ce[we]]);break;case 48:ce[we-3].draw="participant",ce[we-3].type="addParticipant",ce[we-3].description=xe.parseMessage(ce[we-1]),this.$=ce[we-3];break;case 49:ce[we-1].draw="participant",ce[we-1].type="addParticipant",this.$=ce[we-1];break;case 50:ce[we-3].draw="actor",ce[we-3].type="addParticipant",ce[we-3].description=xe.parseMessage(ce[we-1]),this.$=ce[we-3];break;case 51:ce[we-1].draw="actor",ce[we-1].type="addParticipant",this.$=ce[we-1];break;case 52:ce[we-1].type="destroyParticipant",this.$=ce[we-1];break;case 53:this.$=[ce[we-1],{type:"addNote",placement:ce[we-2],actor:ce[we-1].actor,text:ce[we]}];break;case 54:ce[we-2]=[].concat(ce[we-1],ce[we-1]).slice(0,2),ce[we-2][0]=ce[we-2][0].actor,ce[we-2][1]=ce[we-2][1].actor,this.$=[ce[we-1],{type:"addNote",placement:xe.PLACEMENT.OVER,actor:ce[we-2].slice(0,2),text:ce[we]}];break;case 55:this.$=[ce[we-1],{type:"addLinks",actor:ce[we-1].actor,text:ce[we]}];break;case 56:this.$=[ce[we-1],{type:"addALink",actor:ce[we-1].actor,text:ce[we]}];break;case 57:this.$=[ce[we-1],{type:"addProperties",actor:ce[we-1].actor,text:ce[we]}];break;case 58:this.$=[ce[we-1],{type:"addDetails",actor:ce[we-1].actor,text:ce[we]}];break;case 61:this.$=[ce[we-2],ce[we]];break;case 62:this.$=ce[we];break;case 63:this.$=xe.PLACEMENT.LEFTOF;break;case 64:this.$=xe.PLACEMENT.RIGHTOF;break;case 65:this.$=[ce[we-4],ce[we-1],{type:"addMessage",from:ce[we-4].actor,to:ce[we-1].actor,signalType:ce[we-3],msg:ce[we],activate:!0},{type:"activeStart",signalType:xe.LINETYPE.ACTIVE_START,actor:ce[we-1]}];break;case 66:this.$=[ce[we-4],ce[we-1],{type:"addMessage",from:ce[we-4].actor,to:ce[we-1].actor,signalType:ce[we-3],msg:ce[we]},{type:"activeEnd",signalType:xe.LINETYPE.ACTIVE_END,actor:ce[we-4]}];break;case 67:this.$=[ce[we-3],ce[we-1],{type:"addMessage",from:ce[we-3].actor,to:ce[we-1].actor,signalType:ce[we-2],msg:ce[we]}];break;case 68:this.$={type:"addParticipant",actor:ce[we]};break;case 69:this.$=xe.LINETYPE.SOLID_OPEN;break;case 70:this.$=xe.LINETYPE.DOTTED_OPEN;break;case 71:this.$=xe.LINETYPE.SOLID;break;case 72:this.$=xe.LINETYPE.DOTTED;break;case 73:this.$=xe.LINETYPE.SOLID_CROSS;break;case 74:this.$=xe.LINETYPE.DOTTED_CROSS;break;case 75:this.$=xe.LINETYPE.SOLID_POINT;break;case 76:this.$=xe.LINETYPE.DOTTED_POINT;break;case 77:this.$=xe.parseMessage(ce[we].trim().substring(1));break}},table:[{3:1,4:a,5:f,6:g},{1:[3]},{3:5,4:a,5:f,6:g},{3:6,4:a,5:f,6:g},i([1,4,5,13,14,18,21,23,29,30,31,33,35,36,37,38,39,41,43,44,46,50,52,53,54,59,60,61,62,70],w,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,12:12,13:E,14:S,17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},i(Ft,[2,5]),{9:47,12:12,13:E,14:S,17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},i(Ft,[2,7]),i(Ft,[2,8]),i(Ft,[2,14]),{12:48,50:Q,52:dt,53:K},{15:[1,49]},{5:[1,50]},{5:[1,53],19:[1,51],20:[1,52]},{22:54,70:xt},{22:55,70:xt},{5:[1,56]},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},i(Ft,[2,29]),i(Ft,[2,30]),{32:[1,61]},{34:[1,62]},i(Ft,[2,33]),{15:[1,63]},{15:[1,64]},{15:[1,65]},{15:[1,66]},{15:[1,67]},{15:[1,68]},{15:[1,69]},{15:[1,70]},{22:71,70:xt},{22:72,70:xt},{22:73,70:xt},{67:74,71:[1,75],72:[1,76],73:[1,77],74:[1,78],75:[1,79],76:[1,80],77:[1,81],78:[1,82]},{55:83,57:[1,84],65:[1,85],66:[1,86]},{22:87,70:xt},{22:88,70:xt},{22:89,70:xt},{22:90,70:xt},i([5,51,64,71,72,73,74,75,76,77,78,79],[2,68]),i(Ft,[2,6]),i(Ft,[2,15]),i(Ct,[2,9],{10:91}),i(Ft,[2,17]),{5:[1,93],19:[1,92]},{5:[1,94]},i(Ft,[2,21]),{5:[1,95]},{5:[1,96]},i(Ft,[2,24]),i(Ft,[2,25]),i(Ft,[2,26]),i(Ft,[2,27]),i(Ft,[2,28]),i(Ft,[2,31]),i(Ft,[2,32]),i(kt,w,{7:97}),i(kt,w,{7:98}),i(kt,w,{7:99}),i(Gt,w,{40:100,7:101}),i(Fe,w,{42:102,7:103}),i(Fe,w,{7:103,42:104}),i(Mt,w,{45:105,7:106}),i(kt,w,{7:107}),{5:[1,109],51:[1,108]},{5:[1,111],51:[1,110]},{5:[1,112]},{22:115,68:[1,113],69:[1,114],70:xt},i(pn,[2,69]),i(pn,[2,70]),i(pn,[2,71]),i(pn,[2,72]),i(pn,[2,73]),i(pn,[2,74]),i(pn,[2,75]),i(pn,[2,76]),{22:116,70:xt},{22:118,58:117,70:xt},{70:[2,63]},{70:[2,64]},{56:119,79:Ae},{56:121,79:Ae},{56:122,79:Ae},{56:123,79:Ae},{4:[1,126],5:[1,128],11:125,12:127,16:[1,124],50:Q,52:dt,53:K},{5:[1,129]},i(Ft,[2,19]),i(Ft,[2,20]),i(Ft,[2,22]),i(Ft,[2,23]),{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[1,130],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[1,131],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[1,132],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{16:[1,133]},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[2,46],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,49:[1,134],50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{16:[1,135]},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[2,44],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,48:[1,136],50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{16:[1,137]},{16:[1,138]},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[2,42],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,47:[1,139],50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{4:v,5:b,8:8,9:10,12:12,13:E,14:S,16:[1,140],17:15,18:_,21:M,22:40,23:F,24:19,25:20,26:21,27:22,28:23,29:R,30:B,31:z,33:Y,35:nt,36:ot,37:ft,38:wt,39:mt,41:ct,43:rt,44:it,46:gt,50:Q,52:dt,53:K,54:yt,59:V,60:Ot,61:It,62:jt,70:xt},{15:[1,141]},i(Ft,[2,49]),{15:[1,142]},i(Ft,[2,51]),i(Ft,[2,52]),{22:143,70:xt},{22:144,70:xt},{56:145,79:Ae},{56:146,79:Ae},{56:147,79:Ae},{64:[1,148],79:[2,62]},{5:[2,55]},{5:[2,77]},{5:[2,56]},{5:[2,57]},{5:[2,58]},i(Ft,[2,16]),i(Ct,[2,10]),{12:149,50:Q,52:dt,53:K},i(Ct,[2,12]),i(Ct,[2,13]),i(Ft,[2,18]),i(Ft,[2,34]),i(Ft,[2,35]),i(Ft,[2,36]),i(Ft,[2,37]),{15:[1,150]},i(Ft,[2,38]),{15:[1,151]},i(Ft,[2,39]),i(Ft,[2,40]),{15:[1,152]},i(Ft,[2,41]),{5:[1,153]},{5:[1,154]},{56:155,79:Ae},{56:156,79:Ae},{5:[2,67]},{5:[2,53]},{5:[2,54]},{22:157,70:xt},i(Ct,[2,11]),i(Gt,w,{7:101,40:158}),i(Fe,w,{7:103,42:159}),i(Mt,w,{7:106,45:160}),i(Ft,[2,48]),i(Ft,[2,50]),{5:[2,65]},{5:[2,66]},{79:[2,61]},{16:[2,47]},{16:[2,45]},{16:[2,43]}],defaultActions:{5:[2,1],6:[2,2],85:[2,63],86:[2,64],119:[2,55],120:[2,77],121:[2,56],122:[2,57],123:[2,58],145:[2,67],146:[2,53],147:[2,54],155:[2,65],156:[2,66],157:[2,61],158:[2,47],159:[2,45],160:[2,43]},parseError:function(Ne,Xt){if(Xt.recoverable)this.trace(Ne);else{var _e=new Error(Ne);throw _e.hash=Xt,_e}},parse:function(Ne){var Xt=this,_e=[0],xe=[],Mn=[null],ce=[],Br=this.table,we="",Fi=0,mi=0,ga=2,Ss=1,za=ce.slice.call(arguments,1),br=Object.create(this.lexer),An={yy:{}};for(var Nn in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Nn)&&(An.yy[Nn]=this.yy[Nn]);br.setInput(Ne,An.yy),An.yy.lexer=br,An.yy.parser=this,typeof br.yylloc>"u"&&(br.yylloc={});var Bn=br.yylloc;ce.push(Bn);var ke=br.options&&br.options.ranges;typeof An.yy.parseError=="function"?this.parseError=An.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function pe(){var Zs;return Zs=xe.pop()||br.lex()||Ss,typeof Zs!="number"&&(Zs instanceof Array&&(xe=Zs,Zs=xe.pop()),Zs=Xt.symbols_[Zs]||Zs),Zs}for(var Je,an,xn,qa,xo={},ko,va,Ha,ds;;){if(an=_e[_e.length-1],this.defaultActions[an]?xn=this.defaultActions[an]:((Je===null||typeof Je>"u")&&(Je=pe()),xn=Br[an]&&Br[an][Je]),typeof xn>"u"||!xn.length||!xn[0]){var Fu="";ds=[];for(ko in Br[an])this.terminals_[ko]&&ko>ga&&ds.push("'"+this.terminals_[ko]+"'");br.showPosition?Fu="Parse error on line "+(Fi+1)+`:
825 `,B9=18*2,vqt="actor-top",yqt="actor-bottom",Fbt=function(i,a){return LY(i,a)},FQe=function(i,a,f,g,w){if(a.links===void 0||a.links===null||Object.keys(a.links).length===0)return{height:0,width:0};const v=a.links,b=a.actorCnt,E=a.rectData;var S="none";w&&(S="block !important");const _=i.append("g");_.attr("id","actor"+b+"_popup"),_.attr("class","actorPopupMenu"),_.attr("display",S);var M="";E.class!==void 0&&(M=" "+E.class);let F=E.width>f?E.width:f;const R=_.append("rect");if(R.attr("class","actorPopupMenuPanel"+M),R.attr("x",E.x),R.attr("y",E.height),R.attr("fill",E.fill),R.attr("stroke",E.stroke),R.attr("width",F),R.attr("height",E.height),R.attr("rx",E.rx),R.attr("ry",E.ry),v!=null){var B=20;for(let nt in v){var z=_.append("a"),Y=h8(v[nt]);z.attr("xlink:href",Y),z.attr("target","_blank"),ZQe(g)(nt,z,E.x+10,E.height+B,F,20,{class:"actor"},g),B+=30}}return R.attr("height",B),{height:E.height+B,width:F}},BQe=function(i){return"var pu = document.getElementById('"+i+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},DD=function(i,a){let f=0,g=0;const w=a.text.split(ei.lineBreakRegex),[v,b]=k9(a.fontSize);let E=[],S=0,_=()=>a.y;if(a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0)switch(a.valign){case"top":case"start":_=()=>Math.round(a.y+a.textMargin);break;case"middle":case"center":_=()=>Math.round(a.y+(f+g+a.textMargin)/2);break;case"bottom":case"end":_=()=>Math.round(a.y+(f+g+2*a.textMargin)-a.textMargin);break}if(a.anchor!==void 0&&a.textMargin!==void 0&&a.width!==void 0)switch(a.anchor){case"left":case"start":a.x=Math.round(a.x+a.textMargin),a.anchor="start",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"middle":case"center":a.x=Math.round(a.x+a.width/2),a.anchor="middle",a.dominantBaseline="middle",a.alignmentBaseline="middle";break;case"right":case"end":a.x=Math.round(a.x+a.width-a.textMargin),a.anchor="end",a.dominantBaseline="middle",a.alignmentBaseline="middle";break}for(let[M,F]of w.entries()){a.textMargin!==void 0&&a.textMargin===0&&v!==void 0&&(S=M*v);const R=i.append("text");R.attr("x",a.x),R.attr("y",_()),a.anchor!==void 0&&R.attr("text-anchor",a.anchor).attr("dominant-baseline",a.dominantBaseline).attr("alignment-baseline",a.alignmentBaseline),a.fontFamily!==void 0&&R.style("font-family",a.fontFamily),b!==void 0&&R.style("font-size",b),a.fontWeight!==void 0&&R.style("font-weight",a.fontWeight),a.fill!==void 0&&R.attr("fill",a.fill),a.class!==void 0&&R.attr("class",a.class),a.dy!==void 0?R.attr("dy",a.dy):S!==0&&R.attr("dy",S);const B=F||kFt;if(a.tspan){const z=R.append("tspan");z.attr("x",a.x),a.fill!==void 0&&z.attr("fill",a.fill),z.text(B)}else R.text(B);a.valign!==void 0&&a.textMargin!==void 0&&a.textMargin>0&&(g+=(R._groups||R)[0][0].getBBox().height,f=g),E.push(R)}return E},xqt=function(i,a){function f(w,v,b,E,S){return w+","+v+" "+(w+b)+","+v+" "+(w+b)+","+(v+E-S)+" "+(w+b-S*1.2)+","+(v+E)+" "+w+","+(v+E)}const g=i.append("polygon");return g.attr("points",f(a.x,a.y,a.width,a.height,7)),g.attr("class","labelBox"),a.y=a.y+a.height/2,DD(i,a),g};let f4=-1;const kqt=(i,a,f,g)=>{i.select&&f.forEach(w=>{const v=a[w],b=i.select("#actor"+v.actorCnt);!g.mirrorActors&&v.stopy?b.attr("y2",v.stopy+v.height/2):g.mirrorActors&&b.attr("y2",v.stopy)})},RQe=function(i,a,f,g){const w=g?a.stopy:a.starty,v=a.x+a.width/2,b=w+5,E=i.append("g").lower();var S=E;g||(f4++,Object.keys(a.links||{}).length&&!f.forceMenus&&S.attr("onclick",BQe(`actor${f4}_popup`)).attr("cursor","pointer"),S.append("line").attr("id","actor"+f4).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),S=E.append("g"),a.actorCnt=f4,a.links!=null&&S.attr("id","root-"+f4));const _=_9();var M="actor";a.properties!=null&&a.properties.class?M=a.properties.class:_.fill="#eaeaea",g?M+=` ${yqt}`:M+=` ${vqt}`,_.x=a.x,_.y=w,_.width=a.width,_.height=a.height,_.class=M,_.rx=3,_.ry=3;const F=Fbt(S,_);if(a.rectData=_,a.properties!=null&&a.properties.icon){const B=a.properties.icon.trim();B.charAt(0)==="@"?KRe(S,_.x+_.width-20,_.y+10,B.substr(1)):GRe(S,_.x+_.width-20,_.y+10,B)}Bbt(f)(a.description,S,_.x,_.y,_.width,_.height,{class:"actor"},f);let R=a.height;if(F.node){const B=F.node().getBBox();a.height=B.height,R=B.height}return R},jQe=function(i,a,f,g){const w=g?a.stopy:a.starty,v=a.x+a.width/2,b=w+80;i.lower(),g||(f4++,i.append("line").attr("id","actor"+f4).attr("x1",v).attr("y1",b).attr("x2",v).attr("y2",2e3).attr("class","actor-line").attr("class","200").attr("stroke-width","0.5px").attr("stroke","#999"),a.actorCnt=f4);const E=i.append("g");let S="actor-man";g?S+=` ${yqt}`:S+=` ${vqt}`,E.attr("class",S);const _=_9();_.x=a.x,_.y=w,_.fill="#eaeaea",_.width=a.width,_.height=a.height,_.class="actor",_.rx=3,_.ry=3,E.append("line").attr("id","actor-man-torso"+f4).attr("x1",v).attr("y1",w+25).attr("x2",v).attr("y2",w+45),E.append("line").attr("id","actor-man-arms"+f4).attr("x1",v-B9/2).attr("y1",w+33).attr("x2",v+B9/2).attr("y2",w+33),E.append("line").attr("x1",v-B9/2).attr("y1",w+60).attr("x2",v).attr("y2",w+45),E.append("line").attr("x1",v).attr("y1",w+45).attr("x2",v+B9/2-2).attr("y2",w+60);const M=E.append("circle");M.attr("cx",a.x+a.width/2),M.attr("cy",w+10),M.attr("r",15),M.attr("width",a.width),M.attr("height",a.height);const F=E.node().getBBox();return a.height=F.height,Bbt(f)(a.description,E,_.x,_.y+35,_.width,_.height,{class:"actor"},f),a.height},$Qe=function(i,a,f,g){switch(a.type){case"actor":return jQe(i,a,f,g);case"participant":return RQe(i,a,f,g)}},zQe=function(i,a,f){const w=i.append("g");Eqt(w,a),a.name&&Bbt(f)(a.name,w,a.x,a.y+(a.textMaxHeight||0)/2,a.width,0,{class:"text"},f),w.lower()},qQe=function(i){return i.append("g")},HQe=function(i,a,f,g,w){const v=_9(),b=a.anchored;v.x=a.startx,v.y=a.starty,v.class="activation"+w%3,v.width=a.stopx-a.startx,v.height=f-a.starty,Fbt(b,v)},VQe=function(i,a,f,g){const{boxMargin:w,boxTextMargin:v,labelBoxHeight:b,labelBoxWidth:E,messageFontFamily:S,messageFontSize:_,messageFontWeight:M}=g,F=i.append("g"),R=function(Y,nt,ot,ft){return F.append("line").attr("x1",Y).attr("y1",nt).attr("x2",ot).attr("y2",ft).attr("class","loopLine")};R(a.startx,a.starty,a.stopx,a.starty),R(a.stopx,a.starty,a.stopx,a.stopy),R(a.startx,a.stopy,a.stopx,a.stopy),R(a.startx,a.starty,a.startx,a.stopy),a.sections!==void 0&&a.sections.forEach(function(Y){R(a.startx,Y.y,a.stopx,Y.y).style("stroke-dasharray","3, 3")});let B=tpt();B.text=f,B.x=a.startx,B.y=a.starty,B.fontFamily=S,B.fontSize=_,B.fontWeight=M,B.anchor="middle",B.valign="middle",B.tspan=!1,B.width=E||50,B.height=b||20,B.textMargin=v,B.class="labelText",xqt(F,B),B=Tqt(),B.text=a.title,B.x=a.startx+E/2+(a.stopx-a.startx)/2,B.y=a.starty+w+v,B.anchor="middle",B.valign="middle",B.textMargin=v,B.class="loopText",B.fontFamily=S,B.fontSize=_,B.fontWeight=M,B.wrap=!0;let z=DD(F,B);return a.sectionTitles!==void 0&&a.sectionTitles.forEach(function(Y,nt){if(Y.message){B.text=Y.message,B.x=a.startx+(a.stopx-a.startx)/2,B.y=a.sections[nt].y+w+v,B.class="loopText",B.anchor="middle",B.valign="middle",B.tspan=!1,B.fontFamily=S,B.fontSize=_,B.fontWeight=M,B.wrap=a.wrap,z=DD(F,B);let ot=Math.round(z.map(ft=>(ft._groups||ft)[0][0].getBBox().height).reduce((ft,wt)=>ft+wt));a.sections[nt].height+=ot-(w+v)}}),a.height=Math.round(a.stopy-a.starty),F},Eqt=function(i,a){sRt(i,a)},UQe=function(i){i.append("defs").append("symbol").attr("id","database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},GQe=function(i){i.append("defs").append("symbol").attr("id","computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},KQe=function(i){i.append("defs").append("symbol").attr("id","clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},WQe=function(i){i.append("defs").append("marker").attr("id","arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z")},YQe=function(i){i.append("defs").append("marker").attr("id","filled-head").attr("refX",15.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},XQe=function(i){i.append("defs").append("marker").attr("id","sequencenumber").attr("refX",15).attr("refY",15).attr("markerWidth",60).attr("markerHeight",40).attr("orient","auto").append("circle").attr("cx",15).attr("cy",15).attr("r",6)},QQe=function(i){i.append("defs").append("marker").attr("id","crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",4).attr("refY",4.5).append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1pt").attr("d","M 1,2 L 6,7 M 6,2 L 1,7")},Tqt=function(){return{x:0,y:0,fill:void 0,anchor:void 0,style:"#666",width:void 0,height:void 0,textMargin:0,rx:0,ry:0,tspan:!0,valign:void 0}},JQe=function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},Bbt=function(){function i(w,v,b,E,S,_,M){const F=v.append("text").attr("x",b+S/2).attr("y",E+_/2+5).style("text-anchor","middle").text(w);g(F,M)}function a(w,v,b,E,S,_,M,F){const{actorFontSize:R,actorFontFamily:B,actorFontWeight:z}=F,[Y,nt]=k9(R),ot=w.split(ei.lineBreakRegex);for(let ft=0;ft<ot.length;ft++){const wt=ft*Y-Y*(ot.length-1)/2,mt=v.append("text").attr("x",b+S/2).attr("y",E).style("text-anchor","middle").style("font-size",nt).style("font-weight",z).style("font-family",B);mt.append("tspan").attr("x",b+S/2).attr("dy",wt).text(ot[ft]),mt.attr("y",E+_/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),g(mt,M)}}function f(w,v,b,E,S,_,M,F){const R=v.append("switch"),z=R.append("foreignObject").attr("x",b).attr("y",E).attr("width",S).attr("height",_).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");z.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(w),a(w,R,b,E,S,_,M,F),g(z,M)}function g(w,v){for(const b in v)v.hasOwnProperty(b)&&w.attr(b,v[b])}return function(w){return w.textPlacement==="fo"?f:w.textPlacement==="old"?i:a}}(),ZQe=function(){function i(w,v,b,E,S,_,M){const F=v.append("text").attr("x",b).attr("y",E).style("text-anchor","start").text(w);g(F,M)}function a(w,v,b,E,S,_,M,F){const{actorFontSize:R,actorFontFamily:B,actorFontWeight:z}=F,Y=w.split(ei.lineBreakRegex);for(let nt=0;nt<Y.length;nt++){const ot=nt*R-R*(Y.length-1)/2,ft=v.append("text").attr("x",b).attr("y",E).style("text-anchor","start").style("font-size",R).style("font-weight",z).style("font-family",B);ft.append("tspan").attr("x",b).attr("dy",ot).text(Y[nt]),ft.attr("y",E+_/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),g(ft,M)}}function f(w,v,b,E,S,_,M,F){const R=v.append("switch"),z=R.append("foreignObject").attr("x",b).attr("y",E).attr("width",S).attr("height",_).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");z.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(w),a(w,R,b,E,S,_,M,F),g(z,M)}function g(w,v){for(const b in v)v.hasOwnProperty(b)&&w.attr(b,v[b])}return function(w){return w.textPlacement==="fo"?f:w.textPlacement==="old"?i:a}}(),_f={drawRect:Fbt,drawText:DD,drawLabel:xqt,drawActor:$Qe,drawBox:zQe,drawPopup:FQe,anchorElement:qQe,drawActivation:HQe,drawLoop:VQe,drawBackgroundRect:Eqt,insertArrowHead:WQe,insertArrowFilledHead:YQe,insertSequenceNumber:XQe,insertArrowCrossHead:QQe,insertDatabaseIcon:UQe,insertComputerIcon:GQe,insertClockIcon:KQe,getTextObj:Tqt,getNoteRect:JQe,fixLifeLineHeights:kqt,sanitizeUrl:h8};let bn={};const Wr={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map(i=>i.height||0))+(this.loops.length===0?0:this.loops.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.messages.length===0?0:this.messages.map(i=>i.height||0).reduce((i,a)=>i+a))+(this.notes.length===0?0:this.notes.map(i=>i.height||0).reduce((i,a)=>i+a))},clear:function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},addBox:function(i){this.boxes.push(i)},addActor:function(i){this.actors.push(i)},addLoop:function(i){this.loops.push(i)},addMessage:function(i){this.messages.push(i)},addNote:function(i){this.notes.push(i)},lastActor:function(){return this.actors[this.actors.length-1]},lastLoop:function(){return this.loops[this.loops.length-1]},lastMessage:function(){return this.messages[this.messages.length-1]},lastNote:function(){return this.notes[this.notes.length-1]},actors:[],boxes:[],loops:[],messages:[],notes:[]},init:function(){this.sequenceItems=[],this.activations=[],this.models.clear(),this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0,Sqt(Re())},updateVal:function(i,a,f,g){i[a]===void 0?i[a]=f:i[a]=g(f,i[a])},updateBounds:function(i,a,f,g){const w=this;let v=0;function b(E){return function(_){v++;const M=w.sequenceItems.length-v+1;w.updateVal(_,"starty",a-M*bn.boxMargin,Math.min),w.updateVal(_,"stopy",g+M*bn.boxMargin,Math.max),w.updateVal(Wr.data,"startx",i-M*bn.boxMargin,Math.min),w.updateVal(Wr.data,"stopx",f+M*bn.boxMargin,Math.max),E!=="activation"&&(w.updateVal(_,"startx",i-M*bn.boxMargin,Math.min),w.updateVal(_,"stopx",f+M*bn.boxMargin,Math.max),w.updateVal(Wr.data,"starty",a-M*bn.boxMargin,Math.min),w.updateVal(Wr.data,"stopy",g+M*bn.boxMargin,Math.max))}}this.sequenceItems.forEach(b()),this.activations.forEach(b("activation"))},insert:function(i,a,f,g){const w=ei.getMin(i,f),v=ei.getMax(i,f),b=ei.getMin(a,g),E=ei.getMax(a,g);this.updateVal(Wr.data,"startx",w,Math.min),this.updateVal(Wr.data,"starty",b,Math.min),this.updateVal(Wr.data,"stopx",v,Math.max),this.updateVal(Wr.data,"stopy",E,Math.max),this.updateBounds(w,b,v,E)},newActivation:function(i,a,f){const g=f[i.from.actor],w=bX(i.from.actor).length||0,v=g.x+g.width/2+(w-1)*bn.activationWidth/2;this.activations.push({startx:v,starty:this.verticalPos+2,stopx:v+bn.activationWidth,stopy:void 0,actor:i.from.actor,anchored:_f.anchorElement(a)})},endActivation:function(i){const a=this.activations.map(function(f){return f.actor}).lastIndexOf(i.from.actor);return this.activations.splice(a,1)[0]},createLoop:function(i={message:void 0,wrap:!1,width:void 0},a){return{startx:void 0,starty:this.verticalPos,stopx:void 0,stopy:void 0,title:i.message,wrap:i.wrap,width:i.width,height:0,fill:a}},newLoop:function(i={message:void 0,wrap:!1,width:void 0},a){this.sequenceItems.push(this.createLoop(i,a))},endLoop:function(){return this.sequenceItems.pop()},isLoopOverlap:function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},addSectionToLoop:function(i){const a=this.sequenceItems.pop();a.sections=a.sections||[],a.sectionTitles=a.sectionTitles||[],a.sections.push({y:Wr.getVerticalPos(),height:0}),a.sectionTitles.push(i),this.sequenceItems.push(a)},saveVerticalPos:function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},resetVerticalPos:function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},bumpVerticalPos:function(i){this.verticalPos=this.verticalPos+i,this.data.stopy=ei.getMax(this.data.stopy,this.verticalPos)},getVerticalPos:function(){return this.verticalPos},getBounds:function(){return{bounds:this.data,models:this.models}}},tJe=function(i,a){Wr.bumpVerticalPos(bn.boxMargin),a.height=bn.boxMargin,a.starty=Wr.getVerticalPos();const f=_9();f.x=a.startx,f.y=a.starty,f.width=a.width||bn.width,f.class="note";const g=i.append("g"),w=_f.drawRect(g,f),v=tpt();v.x=a.startx,v.y=a.starty,v.width=f.width,v.dy="1em",v.text=a.message,v.class="noteText",v.fontFamily=bn.noteFontFamily,v.fontSize=bn.noteFontSize,v.fontWeight=bn.noteFontWeight,v.anchor=bn.noteAlign,v.textMargin=bn.noteMargin,v.valign="center";const b=DD(g,v),E=Math.round(b.map(S=>(S._groups||S)[0][0].getBBox().height).reduce((S,_)=>S+_));w.attr("height",E+2*bn.noteMargin),a.height+=E+2*bn.noteMargin,Wr.bumpVerticalPos(E+2*bn.noteMargin),a.stopy=a.starty+E+2*bn.noteMargin,a.stopx=a.startx+f.width,Wr.insert(a.startx,a.starty,a.stopx,a.stopy),Wr.models.addNote(a)},R9=i=>({fontFamily:i.messageFontFamily,fontSize:i.messageFontSize,fontWeight:i.messageFontWeight}),MD=i=>({fontFamily:i.noteFontFamily,fontSize:i.noteFontSize,fontWeight:i.noteFontWeight}),Rbt=i=>({fontFamily:i.actorFontFamily,fontSize:i.actorFontSize,fontWeight:i.actorFontWeight});function eJe(i,a){Wr.bumpVerticalPos(10);const{startx:f,stopx:g,message:w}=a,v=ei.splitBreaks(w).length,b=uo.calculateTextDimensions(w,R9(bn)),E=b.height/v;a.height+=E,Wr.bumpVerticalPos(E);let S,_=b.height-10;const M=b.width;if(f===g){S=Wr.getVerticalPos()+_,bn.rightAngles||(_+=bn.boxMargin,S=Wr.getVerticalPos()+_),_+=30;const F=ei.getMax(M/2,bn.width/2);Wr.insert(f-F,Wr.getVerticalPos()-10+_,g+F,Wr.getVerticalPos()+30+_)}else _+=bn.boxMargin,S=Wr.getVerticalPos()+_,Wr.insert(f,S-10,g,S);return Wr.bumpVerticalPos(_),a.height+=_,a.stopy=a.starty+a.height,Wr.insert(a.fromBounds,a.starty,a.toBounds,a.stopy),S}const nJe=function(i,a,f,g){const{startx:w,stopx:v,starty:b,message:E,type:S,sequenceIndex:_,sequenceVisible:M}=a,F=uo.calculateTextDimensions(E,R9(bn)),R=tpt();R.x=w,R.y=b+10,R.width=v-w,R.class="messageText",R.dy="1em",R.text=E,R.fontFamily=bn.messageFontFamily,R.fontSize=bn.messageFontSize,R.fontWeight=bn.messageFontWeight,R.anchor=bn.messageAlign,R.valign="center",R.textMargin=bn.wrapPadding,R.tspan=!1,DD(i,R);const B=F.width;let z;w===v?bn.rightAngles?z=i.append("path").attr("d",`M ${w},${f} H ${w+ei.getMax(bn.width/2,B/2)} V ${f+25} H ${w}`):z=i.append("path").attr("d","M "+w+","+f+" C "+(w+60)+","+(f-10)+" "+(w+60)+","+(f+30)+" "+w+","+(f+20)):(z=i.append("line"),z.attr("x1",w),z.attr("y1",f),z.attr("x2",v),z.attr("y2",f)),S===g.db.LINETYPE.DOTTED||S===g.db.LINETYPE.DOTTED_CROSS||S===g.db.LINETYPE.DOTTED_POINT||S===g.db.LINETYPE.DOTTED_OPEN?(z.style("stroke-dasharray","3, 3"),z.attr("class","messageLine1")):z.attr("class","messageLine0");let Y="";bn.arrowMarkerAbsolute&&(Y=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,Y=Y.replace(/\(/g,"\\("),Y=Y.replace(/\)/g,"\\)")),z.attr("stroke-width",2),z.attr("stroke","none"),z.style("fill","none"),(S===g.db.LINETYPE.SOLID||S===g.db.LINETYPE.DOTTED)&&z.attr("marker-end","url("+Y+"#arrowhead)"),(S===g.db.LINETYPE.SOLID_POINT||S===g.db.LINETYPE.DOTTED_POINT)&&z.attr("marker-end","url("+Y+"#filled-head)"),(S===g.db.LINETYPE.SOLID_CROSS||S===g.db.LINETYPE.DOTTED_CROSS)&&z.attr("marker-end","url("+Y+"#crosshead)"),(M||bn.showSequenceNumbers)&&(z.attr("marker-start","url("+Y+"#sequencenumber)"),i.append("text").attr("x",w).attr("y",f+4).attr("font-family","sans-serif").attr("font-size","12px").attr("text-anchor","middle").attr("class","sequenceNumber").text(_))},rJe=function(i,a,f,g,w,v,b){let E=0,S=0,_,M=0;for(const F of g){const R=a[F],B=R.box;_&&_!=B&&(b||Wr.models.addBox(_),S+=bn.boxMargin+_.margin),B&&B!=_&&(b||(B.x=E+S,B.y=w),S+=B.margin),R.width=R.width||bn.width,R.height=ei.getMax(R.height||bn.height,bn.height),R.margin=R.margin||bn.actorMargin,M=ei.getMax(M,R.height),f[R.name]&&(S+=R.width/2),R.x=E+S,R.starty=Wr.getVerticalPos(),Wr.insert(R.x,w,R.x+R.width,R.height),E+=R.width+S,R.box&&(R.box.width=E+B.margin-R.box.x),S=R.margin,_=R.box,Wr.models.addActor(R)}_&&!b&&Wr.models.addBox(_),Wr.bumpVerticalPos(M)},jbt=function(i,a,f,g){if(g){let w=0;Wr.bumpVerticalPos(bn.boxMargin*2);for(const v of f){const b=a[v];b.stopy||(b.stopy=Wr.getVerticalPos());const E=_f.drawActor(i,b,bn,!0);w=ei.getMax(w,E)}Wr.bumpVerticalPos(w+bn.boxMargin)}else for(const w of f){const v=a[w];_f.drawActor(i,v,bn,!1)}},Cqt=function(i,a,f,g){let w=0,v=0;for(const b of f){const E=a[b],S=oJe(E),_=_f.drawPopup(i,E,S,bn,bn.forceMenus,g);_.height>w&&(w=_.height),_.width+E.x>v&&(v=_.width+E.x)}return{maxHeight:w,maxWidth:v}},Sqt=function(i){Ld(bn,i),i.fontFamily&&(bn.actorFontFamily=bn.noteFontFamily=bn.messageFontFamily=i.fontFamily),i.fontSize&&(bn.actorFontSize=bn.noteFontSize=bn.messageFontSize=i.fontSize),i.fontWeight&&(bn.actorFontWeight=bn.noteFontWeight=bn.messageFontWeight=i.fontWeight)},bX=function(i){return Wr.activations.filter(function(a){return a.actor===i})},_qt=function(i,a){const f=a[i],g=bX(i),w=g.reduce(function(b,E){return ei.getMin(b,E.startx)},f.x+f.width/2-1),v=g.reduce(function(b,E){return ei.getMax(b,E.stopx)},f.x+f.width/2+1);return[w,v]};function d4(i,a,f,g,w){Wr.bumpVerticalPos(f);let v=g;if(a.id&&a.message&&i[a.id]){const b=i[a.id].width,E=R9(bn);a.message=uo.wrapLabel(`[${a.message}]`,b-2*bn.wrapPadding,E),a.width=b,a.wrap=!0;const S=uo.calculateTextDimensions(a.message,E),_=ei.getMax(S.height,bn.labelBoxHeight);v=g+_,Kt.debug(`${_} - ${a.message}`)}w(a),Wr.bumpVerticalPos(v)}function iJe(i,a,f,g,w,v,b){function E(_,M){_.x<w[i.from].x?(Wr.insert(a.stopx-M,a.starty,a.startx,a.stopy+_.height/2+bn.noteMargin),a.stopx=a.stopx+M):(Wr.insert(a.startx,a.starty,a.stopx+M,a.stopy+_.height/2+bn.noteMargin),a.stopx=a.stopx-M)}function S(_,M){_.x<w[i.to].x?(Wr.insert(a.startx-M,a.starty,a.stopx,a.stopy+_.height/2+bn.noteMargin),a.startx=a.startx+M):(Wr.insert(a.stopx,a.starty,a.startx+M,a.stopy+_.height/2+bn.noteMargin),a.startx=a.startx-M)}if(v[i.to]==g){const _=w[i.to],M=_.type=="actor"?B9/2+3:_.width/2+3;E(_,M),_.starty=f-_.height/2,Wr.bumpVerticalPos(_.height/2)}else if(b[i.from]==g){const _=w[i.from];if(bn.mirrorActors){const M=_.type=="actor"?B9/2:_.width/2;S(_,M)}_.stopy=f-_.height/2,Wr.bumpVerticalPos(_.height/2)}else if(b[i.to]==g){const _=w[i.to];if(bn.mirrorActors){const M=_.type=="actor"?B9/2+3:_.width/2+3;E(_,M)}_.stopy=f-_.height/2,Wr.bumpVerticalPos(_.height/2)}}const sJe=function(i,a,f,g){const{securityLevel:w,sequence:v}=Re();bn=v;let b;w==="sandbox"&&(b=Tr("#i"+a));const E=Tr(w==="sandbox"?b.nodes()[0].contentDocument.body:"body"),S=w==="sandbox"?b.nodes()[0].contentDocument:document;Wr.init(),Kt.debug(g.db);const _=w==="sandbox"?E.select(`[id="${a}"]`):Tr(`[id="${a}"]`),M=g.db.getActors(),F=g.db.getCreatedActors(),R=g.db.getDestroyedActors(),B=g.db.getBoxes();let z=g.db.getActorKeys();const Y=g.db.getMessages(),nt=g.db.getDiagramTitle(),ot=g.db.hasAtLeastOneBox(),ft=g.db.hasAtLeastOneBoxWithTitle(),wt=aJe(M,Y,g);if(bn.height=cJe(M,wt,B),_f.insertComputerIcon(_),_f.insertDatabaseIcon(_),_f.insertClockIcon(_),ot&&(Wr.bumpVerticalPos(bn.boxMargin),ft&&Wr.bumpVerticalPos(B[0].textMaxHeight)),bn.hideUnusedParticipants===!0){const xt=new Set;Y.forEach(Ft=>{xt.add(Ft.from),xt.add(Ft.to)}),z=z.filter(Ft=>xt.has(Ft))}rJe(_,M,F,z,0,Y,!1);const mt=hJe(Y,M,wt,g);_f.insertArrowHead(_),_f.insertArrowCrossHead(_),_f.insertArrowFilledHead(_),_f.insertSequenceNumber(_);function ct(xt,Ft){const Ct=Wr.endActivation(xt);Ct.starty+18>Ft&&(Ct.starty=Ft-6,Ft+=12),_f.drawActivation(_,Ct,Ft,bn,bX(xt.from.actor).length),Wr.insert(Ct.startx,Ft-10,Ct.stopx,Ft)}let rt=1,it=1;const gt=[],Q=[];Y.forEach(function(xt,Ft){let Ct,kt,Gt;switch(xt.type){case g.db.LINETYPE.NOTE:Wr.resetVerticalPos(),kt=xt.noteModel,tJe(_,kt);break;case g.db.LINETYPE.ACTIVE_START:Wr.newActivation(xt,_,M);break;case g.db.LINETYPE.ACTIVE_END:ct(xt,Wr.getVerticalPos());break;case g.db.LINETYPE.LOOP_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe));break;case g.db.LINETYPE.LOOP_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"loop",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;case g.db.LINETYPE.RECT_START:d4(mt,xt,bn.boxMargin,bn.boxMargin,Fe=>Wr.newLoop(void 0,Fe.message));break;case g.db.LINETYPE.RECT_END:Ct=Wr.endLoop(),Q.push(Ct),Wr.models.addLoop(Ct),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos());break;case g.db.LINETYPE.OPT_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe));break;case g.db.LINETYPE.OPT_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"opt",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;case g.db.LINETYPE.ALT_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe));break;case g.db.LINETYPE.ALT_ELSE:d4(mt,xt,bn.boxMargin+bn.boxTextMargin,bn.boxMargin,Fe=>Wr.addSectionToLoop(Fe));break;case g.db.LINETYPE.ALT_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"alt",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;case g.db.LINETYPE.PAR_START:case g.db.LINETYPE.PAR_OVER_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe)),Wr.saveVerticalPos();break;case g.db.LINETYPE.PAR_AND:d4(mt,xt,bn.boxMargin+bn.boxTextMargin,bn.boxMargin,Fe=>Wr.addSectionToLoop(Fe));break;case g.db.LINETYPE.PAR_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"par",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;case g.db.LINETYPE.AUTONUMBER:rt=xt.message.start||rt,it=xt.message.step||it,xt.message.visible?g.db.enableSequenceNumbers():g.db.disableSequenceNumbers();break;case g.db.LINETYPE.CRITICAL_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe));break;case g.db.LINETYPE.CRITICAL_OPTION:d4(mt,xt,bn.boxMargin+bn.boxTextMargin,bn.boxMargin,Fe=>Wr.addSectionToLoop(Fe));break;case g.db.LINETYPE.CRITICAL_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"critical",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;case g.db.LINETYPE.BREAK_START:d4(mt,xt,bn.boxMargin,bn.boxMargin+bn.boxTextMargin,Fe=>Wr.newLoop(Fe));break;case g.db.LINETYPE.BREAK_END:Ct=Wr.endLoop(),_f.drawLoop(_,Ct,"break",bn),Wr.bumpVerticalPos(Ct.stopy-Wr.getVerticalPos()),Wr.models.addLoop(Ct);break;default:try{Gt=xt.msgModel,Gt.starty=Wr.getVerticalPos(),Gt.sequenceIndex=rt,Gt.sequenceVisible=g.db.showSequenceNumbers();const Fe=eJe(_,Gt);iJe(xt,Gt,Fe,Ft,M,F,R),gt.push({messageModel:Gt,lineStartY:Fe}),Wr.models.addMessage(Gt)}catch(Fe){Kt.error("error while drawing message",Fe)}}[g.db.LINETYPE.SOLID_OPEN,g.db.LINETYPE.DOTTED_OPEN,g.db.LINETYPE.SOLID,g.db.LINETYPE.DOTTED,g.db.LINETYPE.SOLID_CROSS,g.db.LINETYPE.DOTTED_CROSS,g.db.LINETYPE.SOLID_POINT,g.db.LINETYPE.DOTTED_POINT].includes(xt.type)&&(rt=rt+it)}),Kt.debug("createdActors",F),Kt.debug("destroyedActors",R),jbt(_,M,z,!1),gt.forEach(xt=>nJe(_,xt.messageModel,xt.lineStartY,g)),bn.mirrorActors&&jbt(_,M,z,!0),Q.forEach(xt=>_f.drawBackgroundRect(_,xt)),kqt(_,M,z,bn),Wr.models.boxes.forEach(function(xt){xt.height=Wr.getVerticalPos()-xt.y,Wr.insert(xt.x,xt.y,xt.x+xt.width,xt.height),xt.startx=xt.x,xt.starty=xt.y,xt.stopx=xt.startx+xt.width,xt.stopy=xt.starty+xt.height,xt.stroke="rgb(0,0,0, 0.5)",_f.drawBox(_,xt,bn)}),ot&&Wr.bumpVerticalPos(bn.boxMargin);const dt=Cqt(_,M,z,S),{bounds:K}=Wr.getBounds();let yt=K.stopy-K.starty;yt<dt.maxHeight&&(yt=dt.maxHeight);let V=yt+2*bn.diagramMarginY;bn.mirrorActors&&(V=V-bn.boxMargin+bn.bottomMarginAdj);let Ot=K.stopx-K.startx;Ot<dt.maxWidth&&(Ot=dt.maxWidth);const It=Ot+2*bn.diagramMarginX;nt&&_.append("text").text(nt).attr("x",(K.stopx-K.startx)/2-2*bn.diagramMarginX).attr("y",-25),sg(_,V,It,bn.useMaxWidth);const jt=nt?40:0;_.attr("viewBox",K.startx-bn.diagramMarginX+" -"+(bn.diagramMarginY+jt)+" "+It+" "+(V+jt)),Kt.debug("models:",Wr.models)};function aJe(i,a,f){const g={};return a.forEach(function(w){if(i[w.to]&&i[w.from]){const v=i[w.to];if(w.placement===f.db.PLACEMENT.LEFTOF&&!v.prevActor||w.placement===f.db.PLACEMENT.RIGHTOF&&!v.nextActor)return;const b=w.placement!==void 0,E=!b,S=b?MD(bn):R9(bn),_=w.wrap?uo.wrapLabel(w.message,bn.width-2*bn.wrapPadding,S):w.message,F=uo.calculateTextDimensions(_,S).width+2*bn.wrapPadding;E&&w.from===v.nextActor?g[w.to]=ei.getMax(g[w.to]||0,F):E&&w.from===v.prevActor?g[w.from]=ei.getMax(g[w.from]||0,F):E&&w.from===w.to?(g[w.from]=ei.getMax(g[w.from]||0,F/2),g[w.to]=ei.getMax(g[w.to]||0,F/2)):w.placement===f.db.PLACEMENT.RIGHTOF?g[w.from]=ei.getMax(g[w.from]||0,F):w.placement===f.db.PLACEMENT.LEFTOF?g[v.prevActor]=ei.getMax(g[v.prevActor]||0,F):w.placement===f.db.PLACEMENT.OVER&&(v.prevActor&&(g[v.prevActor]=ei.getMax(g[v.prevActor]||0,F/2)),v.nextActor&&(g[w.from]=ei.getMax(g[w.from]||0,F/2)))}}),Kt.debug("maxMessageWidthPerActor:",g),g}const oJe=function(i){let a=0;const f=Rbt(bn);for(const g in i.links){const v=uo.calculateTextDimensions(g,f).width+2*bn.wrapPadding+2*bn.boxMargin;a<v&&(a=v)}return a};function cJe(i,a,f){let g=0;Object.keys(i).forEach(v=>{const b=i[v];b.wrap&&(b.description=uo.wrapLabel(b.description,bn.width-2*bn.wrapPadding,Rbt(bn)));const E=uo.calculateTextDimensions(b.description,Rbt(bn));b.width=b.wrap?bn.width:ei.getMax(bn.width,E.width+2*bn.wrapPadding),b.height=b.wrap?ei.getMax(E.height,bn.height):bn.height,g=ei.getMax(g,b.height)});for(const v in a){const b=i[v];if(!b)continue;const E=i[b.nextActor];if(!E){const F=a[v]+bn.actorMargin-b.width/2;b.margin=ei.getMax(F,bn.actorMargin);continue}const _=a[v]+bn.actorMargin-b.width/2-E.width/2;b.margin=ei.getMax(_,bn.actorMargin)}let w=0;return f.forEach(v=>{const b=R9(bn);let E=v.actorKeys.reduce((M,F)=>M+=i[F].width+(i[F].margin||0),0);E-=2*bn.boxTextMargin,v.wrap&&(v.name=uo.wrapLabel(v.name,E-2*bn.wrapPadding,b));const S=uo.calculateTextDimensions(v.name,b);w=ei.getMax(S.height,w);const _=ei.getMax(E,S.width+2*bn.wrapPadding);if(v.margin=bn.boxTextMargin,E<_){const M=(_-E)/2;v.margin+=M}}),f.forEach(v=>v.textMaxHeight=w),ei.getMax(g,bn.height)}const uJe=function(i,a,f){const g=a[i.from].x,w=a[i.to].x,v=i.wrap&&i.message;let b=uo.calculateTextDimensions(v?uo.wrapLabel(i.message,bn.width,MD(bn)):i.message,MD(bn));const E={width:v?bn.width:ei.getMax(bn.width,b.width+2*bn.noteMargin),height:0,startx:a[i.from].x,stopx:0,starty:0,stopy:0,message:i.message};return i.placement===f.db.PLACEMENT.RIGHTOF?(E.width=v?ei.getMax(bn.width,b.width):ei.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*bn.noteMargin),E.startx=g+(a[i.from].width+bn.actorMargin)/2):i.placement===f.db.PLACEMENT.LEFTOF?(E.width=v?ei.getMax(bn.width,b.width+2*bn.noteMargin):ei.getMax(a[i.from].width/2+a[i.to].width/2,b.width+2*bn.noteMargin),E.startx=g-E.width+(a[i.from].width-bn.actorMargin)/2):i.to===i.from?(b=uo.calculateTextDimensions(v?uo.wrapLabel(i.message,ei.getMax(bn.width,a[i.from].width),MD(bn)):i.message,MD(bn)),E.width=v?ei.getMax(bn.width,a[i.from].width):ei.getMax(a[i.from].width,bn.width,b.width+2*bn.noteMargin),E.startx=g+(a[i.from].width-E.width)/2):(E.width=Math.abs(g+a[i.from].width/2-(w+a[i.to].width/2))+bn.actorMargin,E.startx=g<w?g+a[i.from].width/2-bn.actorMargin/2:w+a[i.to].width/2-bn.actorMargin/2),v&&(E.message=uo.wrapLabel(i.message,E.width-2*bn.wrapPadding,MD(bn))),Kt.debug(`NM:[${E.startx},${E.stopx},${E.starty},${E.stopy}:${E.width},${E.height}=${i.message}]`),E},lJe=function(i,a,f){if(![f.db.LINETYPE.SOLID_OPEN,f.db.LINETYPE.DOTTED_OPEN,f.db.LINETYPE.SOLID,f.db.LINETYPE.DOTTED,f.db.LINETYPE.SOLID_CROSS,f.db.LINETYPE.DOTTED_CROSS,f.db.LINETYPE.SOLID_POINT,f.db.LINETYPE.DOTTED_POINT].includes(i.type))return{};const[g,w]=_qt(i.from,a),[v,b]=_qt(i.to,a),E=g<=v,S=E?w:g;let _=E?v:b;const M=Math.abs(v-b)>2,F=Y=>E?-Y:Y;i.from===i.to?_=S:(i.activate&&!M&&(_+=F(bn.activationWidth/2-1)),[f.db.LINETYPE.SOLID_OPEN,f.db.LINETYPE.DOTTED_OPEN].includes(i.type)||(_+=F(3)));const R=[g,w,v,b],B=Math.abs(S-_);i.wrap&&i.message&&(i.message=uo.wrapLabel(i.message,ei.getMax(B+2*bn.wrapPadding,bn.width),R9(bn)));const z=uo.calculateTextDimensions(i.message,R9(bn));return{width:ei.getMax(i.wrap?0:z.width+2*bn.wrapPadding,B+2*bn.wrapPadding,bn.width),height:0,startx:S,stopx:_,starty:0,stopy:0,message:i.message,type:i.type,wrap:i.wrap,fromBounds:Math.min.apply(null,R),toBounds:Math.max.apply(null,R)}},hJe=function(i,a,f,g){const w={},v=[];let b,E,S;return i.forEach(function(_){switch(_.id=uo.random({length:10}),_.type){case g.db.LINETYPE.LOOP_START:case g.db.LINETYPE.ALT_START:case g.db.LINETYPE.OPT_START:case g.db.LINETYPE.PAR_START:case g.db.LINETYPE.PAR_OVER_START:case g.db.LINETYPE.CRITICAL_START:case g.db.LINETYPE.BREAK_START:v.push({id:_.id,msg:_.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case g.db.LINETYPE.ALT_ELSE:case g.db.LINETYPE.PAR_AND:case g.db.LINETYPE.CRITICAL_OPTION:_.message&&(b=v.pop(),w[b.id]=b,w[_.id]=b,v.push(b));break;case g.db.LINETYPE.LOOP_END:case g.db.LINETYPE.ALT_END:case g.db.LINETYPE.OPT_END:case g.db.LINETYPE.PAR_END:case g.db.LINETYPE.CRITICAL_END:case g.db.LINETYPE.BREAK_END:b=v.pop(),w[b.id]=b;break;case g.db.LINETYPE.ACTIVE_START:{const F=a[_.from?_.from.actor:_.to.actor],R=bX(_.from?_.from.actor:_.to.actor).length,B=F.x+F.width/2+(R-1)*bn.activationWidth/2,z={startx:B,stopx:B+bn.activationWidth,actor:_.from.actor,enabled:!0};Wr.activations.push(z)}break;case g.db.LINETYPE.ACTIVE_END:{const F=Wr.activations.map(R=>R.actor).lastIndexOf(_.from.actor);delete Wr.activations.splice(F,1)[0]}break}_.placement!==void 0?(E=uJe(_,a,g),_.noteModel=E,v.forEach(F=>{b=F,b.from=ei.getMin(b.from,E.startx),b.to=ei.getMax(b.to,E.startx+E.width),b.width=ei.getMax(b.width,Math.abs(b.from-b.to))-bn.labelBoxWidth})):(S=lJe(_,a,g),_.msgModel=S,S.startx&&S.stopx&&v.length>0&&v.forEach(F=>{if(b=F,S.startx===S.stopx){const R=a[_.from],B=a[_.to];b.from=ei.getMin(R.x-S.width/2,R.x-R.width/2,b.from),b.to=ei.getMax(B.x+S.width/2,B.x+R.width/2,b.to),b.width=ei.getMax(b.width,Math.abs(b.to-b.from))-bn.labelBoxWidth}else b.from=ei.getMin(S.startx,b.from),b.to=ei.getMax(S.stopx,b.to),b.width=ei.getMax(b.width,S.width)-bn.labelBoxWidth}))}),Wr.activations=[],Kt.debug("Loop type widths:",w),w},fJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:lQe,db:mqt,renderer:{bounds:Wr,drawActors:jbt,drawActorsPopup:Cqt,setConf:Sqt,draw:sJe},styles:PQe,init:({wrap:i})=>{mqt.setWrap(i)}}},Symbol.toStringTag,{value:"Module"}));var $bt=function(){var i=function(za,br,An,Nn){for(An=An||{},Nn=za.length;Nn--;An[za[Nn]]=br);return An},a=[1,17],f=[1,18],g=[1,19],w=[1,39],v=[1,40],b=[1,25],E=[1,23],S=[1,24],_=[1,31],M=[1,32],F=[1,33],R=[1,34],B=[1,35],z=[1,36],Y=[1,26],nt=[1,27],ot=[1,28],ft=[1,29],wt=[1,43],mt=[1,30],ct=[1,42],rt=[1,44],it=[1,41],gt=[1,45],Q=[1,9],dt=[1,8,9],K=[1,56],yt=[1,57],V=[1,58],Ot=[1,59],It=[1,60],jt=[1,61],xt=[1,62],Ft=[1,8,9,39],Ct=[1,74],kt=[1,8,9,12,13,21,37,39,42,59,60,61,62,63,64,65,70,72],Gt=[1,8,9,12,13,19,21,37,39,42,46,59,60,61,62,63,64,65,70,72,74,80,95,97,98],Fe=[13,74,80,95,97,98],Mt=[13,64,65,74,80,95,97,98],pn=[13,59,60,61,62,63,74,80,95,97,98],Ae=[1,93],ye=[1,110],tn=[1,108],sn=[1,102],be=[1,103],Ne=[1,104],Xt=[1,105],_e=[1,106],xe=[1,107],Mn=[1,109],ce=[1,8,9,37,39,42],Br=[1,8,9,21],we=[1,8,9,78],Fi=[1,8,9,21,73,74,78,80,81,82,83,84,85],mi={trace:function(){},yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,className:17,classLiteralName:18,GENERICTYPE:19,relationStatement:20,LABEL:21,namespaceStatement:22,classStatement:23,memberStatement:24,annotationStatement:25,clickStatement:26,styleStatement:27,cssClassStatement:28,noteStatement:29,direction:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,namespaceIdentifier:36,STRUCT_START:37,classStatements:38,STRUCT_STOP:39,NAMESPACE:40,classIdentifier:41,STYLE_SEPARATOR:42,members:43,CLASS:44,ANNOTATION_START:45,ANNOTATION_END:46,MEMBER:47,SEPARATOR:48,relation:49,NOTE_FOR:50,noteText:51,NOTE:52,direction_tb:53,direction_bt:54,direction_rl:55,direction_lr:56,relationType:57,lineType:58,AGGREGATION:59,EXTENSION:60,COMPOSITION:61,DEPENDENCY:62,LOLLIPOP:63,LINE:64,DOTTED_LINE:65,CALLBACK:66,LINK:67,LINK_TARGET:68,CLICK:69,CALLBACK_NAME:70,CALLBACK_ARGS:71,HREF:72,STYLE:73,ALPHA:74,stylesOpt:75,CSSCLASS:76,style:77,COMMA:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,commentToken:86,textToken:87,graphCodeTokens:88,textNoTagsToken:89,TAGSTART:90,TAGEND:91,"==":92,"--":93,DEFAULT:94,MINUS:95,keywords:96,UNICODE_TEXT:97,BQUOTE_STR:98,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",19:"GENERICTYPE",21:"LABEL",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",37:"STRUCT_START",39:"STRUCT_STOP",40:"NAMESPACE",42:"STYLE_SEPARATOR",44:"CLASS",45:"ANNOTATION_START",46:"ANNOTATION_END",47:"MEMBER",48:"SEPARATOR",50:"NOTE_FOR",52:"NOTE",53:"direction_tb",54:"direction_bt",55:"direction_rl",56:"direction_lr",59:"AGGREGATION",60:"EXTENSION",61:"COMPOSITION",62:"DEPENDENCY",63:"LOLLIPOP",64:"LINE",65:"DOTTED_LINE",66:"CALLBACK",67:"LINK",68:"LINK_TARGET",69:"CLICK",70:"CALLBACK_NAME",71:"CALLBACK_ARGS",72:"HREF",73:"STYLE",74:"ALPHA",76:"CSSCLASS",78:"COMMA",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",88:"graphCodeTokens",90:"TAGSTART",91:"TAGEND",92:"==",93:"--",94:"DEFAULT",95:"MINUS",96:"keywords",97:"UNICODE_TEXT",98:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,2],[17,1],[17,1],[17,2],[17,2],[17,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[22,4],[22,5],[36,2],[38,1],[38,2],[38,3],[23,1],[23,3],[23,4],[23,6],[41,2],[41,3],[25,4],[43,1],[43,2],[24,1],[24,2],[24,1],[24,1],[20,3],[20,4],[20,4],[20,5],[29,3],[29,2],[30,1],[30,1],[30,1],[30,1],[49,3],[49,2],[49,2],[49,1],[57,1],[57,1],[57,1],[57,1],[57,1],[58,1],[58,1],[26,3],[26,4],[26,3],[26,4],[26,4],[26,5],[26,3],[26,4],[26,4],[26,5],[26,4],[26,5],[26,5],[26,6],[27,3],[28,3],[75,1],[75,3],[77,1],[77,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[86,1],[86,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[87,1],[89,1],[89,1],[89,1],[89,1],[16,1],[16,1],[16,1],[16,1],[18,1],[51,1]],performAction:function(br,An,Nn,Bn,ke,pe,Je){var an=pe.length-1;switch(ke){case 8:this.$=pe[an-1];break;case 9:case 11:case 12:this.$=pe[an];break;case 10:case 13:this.$=pe[an-1]+pe[an];break;case 14:case 15:this.$=pe[an-1]+"~"+pe[an]+"~";break;case 16:Bn.addRelation(pe[an]);break;case 17:pe[an-1].title=Bn.cleanupLabel(pe[an]),Bn.addRelation(pe[an-1]);break;case 27:this.$=pe[an].trim(),Bn.setAccTitle(this.$);break;case 28:case 29:this.$=pe[an].trim(),Bn.setAccDescription(this.$);break;case 30:Bn.addClassesToNamespace(pe[an-3],pe[an-1]);break;case 31:Bn.addClassesToNamespace(pe[an-4],pe[an-1]);break;case 32:this.$=pe[an],Bn.addNamespace(pe[an]);break;case 33:this.$=[pe[an]];break;case 34:this.$=[pe[an-1]];break;case 35:pe[an].unshift(pe[an-2]),this.$=pe[an];break;case 37:Bn.setCssClass(pe[an-2],pe[an]);break;case 38:Bn.addMembers(pe[an-3],pe[an-1]);break;case 39:Bn.setCssClass(pe[an-5],pe[an-3]),Bn.addMembers(pe[an-5],pe[an-1]);break;case 40:this.$=pe[an],Bn.addClass(pe[an]);break;case 41:this.$=pe[an-1],Bn.addClass(pe[an-1]),Bn.setClassLabel(pe[an-1],pe[an]);break;case 42:Bn.addAnnotation(pe[an],pe[an-2]);break;case 43:this.$=[pe[an]];break;case 44:pe[an].push(pe[an-1]),this.$=pe[an];break;case 45:break;case 46:Bn.addMember(pe[an-1],Bn.cleanupLabel(pe[an]));break;case 47:break;case 48:break;case 49:this.$={id1:pe[an-2],id2:pe[an],relation:pe[an-1],relationTitle1:"none",relationTitle2:"none"};break;case 50:this.$={id1:pe[an-3],id2:pe[an],relation:pe[an-1],relationTitle1:pe[an-2],relationTitle2:"none"};break;case 51:this.$={id1:pe[an-3],id2:pe[an],relation:pe[an-2],relationTitle1:"none",relationTitle2:pe[an-1]};break;case 52:this.$={id1:pe[an-4],id2:pe[an],relation:pe[an-2],relationTitle1:pe[an-3],relationTitle2:pe[an-1]};break;case 53:Bn.addNote(pe[an],pe[an-1]);break;case 54:Bn.addNote(pe[an]);break;case 55:Bn.setDirection("TB");break;case 56:Bn.setDirection("BT");break;case 57:Bn.setDirection("RL");break;case 58:Bn.setDirection("LR");break;case 59:this.$={type1:pe[an-2],type2:pe[an],lineType:pe[an-1]};break;case 60:this.$={type1:"none",type2:pe[an],lineType:pe[an-1]};break;case 61:this.$={type1:pe[an-1],type2:"none",lineType:pe[an]};break;case 62:this.$={type1:"none",type2:"none",lineType:pe[an]};break;case 63:this.$=Bn.relationType.AGGREGATION;break;case 64:this.$=Bn.relationType.EXTENSION;break;case 65:this.$=Bn.relationType.COMPOSITION;break;case 66:this.$=Bn.relationType.DEPENDENCY;break;case 67:this.$=Bn.relationType.LOLLIPOP;break;case 68:this.$=Bn.lineType.LINE;break;case 69:this.$=Bn.lineType.DOTTED_LINE;break;case 70:case 76:this.$=pe[an-2],Bn.setClickEvent(pe[an-1],pe[an]);break;case 71:case 77:this.$=pe[an-3],Bn.setClickEvent(pe[an-2],pe[an-1]),Bn.setTooltip(pe[an-2],pe[an]);break;case 72:this.$=pe[an-2],Bn.setLink(pe[an-1],pe[an]);break;case 73:this.$=pe[an-3],Bn.setLink(pe[an-2],pe[an-1],pe[an]);break;case 74:this.$=pe[an-3],Bn.setLink(pe[an-2],pe[an-1]),Bn.setTooltip(pe[an-2],pe[an]);break;case 75:this.$=pe[an-4],Bn.setLink(pe[an-3],pe[an-2],pe[an]),Bn.setTooltip(pe[an-3],pe[an-1]);break;case 78:this.$=pe[an-3],Bn.setClickEvent(pe[an-2],pe[an-1],pe[an]);break;case 79:this.$=pe[an-4],Bn.setClickEvent(pe[an-3],pe[an-2],pe[an-1]),Bn.setTooltip(pe[an-3],pe[an]);break;case 80:this.$=pe[an-3],Bn.setLink(pe[an-2],pe[an]);break;case 81:this.$=pe[an-4],Bn.setLink(pe[an-3],pe[an-1],pe[an]);break;case 82:this.$=pe[an-4],Bn.setLink(pe[an-3],pe[an-1]),Bn.setTooltip(pe[an-3],pe[an]);break;case 83:this.$=pe[an-5],Bn.setLink(pe[an-4],pe[an-2],pe[an]),Bn.setTooltip(pe[an-4],pe[an-1]);break;case 84:this.$=pe[an-2],Bn.setCssStyle(pe[an-1],pe[an]);break;case 85:Bn.setCssClass(pe[an-1],pe[an]);break;case 86:this.$=[pe[an]];break;case 87:pe[an-2].push(pe[an]),this.$=pe[an-2];break;case 89:this.$=pe[an-1]+pe[an];break}},table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:a,33:f,35:g,36:21,40:w,41:22,44:v,45:b,47:E,48:S,50:_,52:M,53:F,54:R,55:B,56:z,66:Y,67:nt,69:ot,73:ft,74:wt,76:mt,80:ct,95:rt,97:it,98:gt},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},i(Q,[2,5],{8:[1,46]}),{8:[1,47]},i(dt,[2,16],{21:[1,48]}),i(dt,[2,18]),i(dt,[2,19]),i(dt,[2,20]),i(dt,[2,21]),i(dt,[2,22]),i(dt,[2,23]),i(dt,[2,24]),i(dt,[2,25]),i(dt,[2,26]),{32:[1,49]},{34:[1,50]},i(dt,[2,29]),i(dt,[2,45],{49:51,57:54,58:55,13:[1,52],21:[1,53],59:K,60:yt,61:V,62:Ot,63:It,64:jt,65:xt}),{37:[1,63]},i(Ft,[2,36],{37:[1,65],42:[1,64]}),i(dt,[2,47]),i(dt,[2,48]),{16:66,74:wt,80:ct,95:rt,97:it},{16:37,17:67,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{16:37,17:68,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{16:37,17:69,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{74:[1,70]},{13:[1,71]},{16:37,17:72,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{13:Ct,51:73},i(dt,[2,55]),i(dt,[2,56]),i(dt,[2,57]),i(dt,[2,58]),i(kt,[2,11],{16:37,18:38,17:75,19:[1,76],74:wt,80:ct,95:rt,97:it,98:gt}),i(kt,[2,12],{19:[1,77]}),{15:78,16:79,74:wt,80:ct,95:rt,97:it},{16:37,17:80,18:38,74:wt,80:ct,95:rt,97:it,98:gt},i(Gt,[2,112]),i(Gt,[2,113]),i(Gt,[2,114]),i(Gt,[2,115]),i([1,8,9,12,13,19,21,37,39,42,59,60,61,62,63,64,65,70,72],[2,116]),i(Q,[2,6],{10:5,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,17:20,36:21,41:22,16:37,18:38,5:81,31:a,33:f,35:g,40:w,44:v,45:b,47:E,48:S,50:_,52:M,53:F,54:R,55:B,56:z,66:Y,67:nt,69:ot,73:ft,74:wt,76:mt,80:ct,95:rt,97:it,98:gt}),{5:82,10:5,16:37,17:20,18:38,20:7,22:8,23:9,24:10,25:11,26:12,27:13,28:14,29:15,30:16,31:a,33:f,35:g,36:21,40:w,41:22,44:v,45:b,47:E,48:S,50:_,52:M,53:F,54:R,55:B,56:z,66:Y,67:nt,69:ot,73:ft,74:wt,76:mt,80:ct,95:rt,97:it,98:gt},i(dt,[2,17]),i(dt,[2,27]),i(dt,[2,28]),{13:[1,84],16:37,17:83,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{49:85,57:54,58:55,59:K,60:yt,61:V,62:Ot,63:It,64:jt,65:xt},i(dt,[2,46]),{58:86,64:jt,65:xt},i(Fe,[2,62],{57:87,59:K,60:yt,61:V,62:Ot,63:It}),i(Mt,[2,63]),i(Mt,[2,64]),i(Mt,[2,65]),i(Mt,[2,66]),i(Mt,[2,67]),i(pn,[2,68]),i(pn,[2,69]),{8:[1,89],23:90,38:88,41:22,44:v},{16:91,74:wt,80:ct,95:rt,97:it},{43:92,47:Ae},{46:[1,94]},{13:[1,95]},{13:[1,96]},{70:[1,97],72:[1,98]},{21:ye,73:tn,74:sn,75:99,77:100,79:101,80:be,81:Ne,82:Xt,83:_e,84:xe,85:Mn},{74:[1,111]},{13:Ct,51:112},i(dt,[2,54]),i(dt,[2,117]),i(kt,[2,13]),i(kt,[2,14]),i(kt,[2,15]),{37:[2,32]},{15:113,16:79,37:[2,9],74:wt,80:ct,95:rt,97:it},i(ce,[2,40],{11:114,12:[1,115]}),i(Q,[2,7]),{9:[1,116]},i(Br,[2,49]),{16:37,17:117,18:38,74:wt,80:ct,95:rt,97:it,98:gt},{13:[1,119],16:37,17:118,18:38,74:wt,80:ct,95:rt,97:it,98:gt},i(Fe,[2,61],{57:120,59:K,60:yt,61:V,62:Ot,63:It}),i(Fe,[2,60]),{39:[1,121]},{23:90,38:122,41:22,44:v},{8:[1,123],39:[2,33]},i(Ft,[2,37],{37:[1,124]}),{39:[1,125]},{39:[2,43],43:126,47:Ae},{16:37,17:127,18:38,74:wt,80:ct,95:rt,97:it,98:gt},i(dt,[2,70],{13:[1,128]}),i(dt,[2,72],{13:[1,130],68:[1,129]}),i(dt,[2,76],{13:[1,131],71:[1,132]}),{13:[1,133]},i(dt,[2,84],{78:[1,134]}),i(we,[2,86],{79:135,21:ye,73:tn,74:sn,80:be,81:Ne,82:Xt,83:_e,84:xe,85:Mn}),i(Fi,[2,88]),i(Fi,[2,90]),i(Fi,[2,91]),i(Fi,[2,92]),i(Fi,[2,93]),i(Fi,[2,94]),i(Fi,[2,95]),i(Fi,[2,96]),i(Fi,[2,97]),i(Fi,[2,98]),i(dt,[2,85]),i(dt,[2,53]),{37:[2,10]},i(ce,[2,41]),{13:[1,136]},{1:[2,4]},i(Br,[2,51]),i(Br,[2,50]),{16:37,17:137,18:38,74:wt,80:ct,95:rt,97:it,98:gt},i(Fe,[2,59]),i(dt,[2,30]),{39:[1,138]},{23:90,38:139,39:[2,34],41:22,44:v},{43:140,47:Ae},i(Ft,[2,38]),{39:[2,44]},i(dt,[2,42]),i(dt,[2,71]),i(dt,[2,73]),i(dt,[2,74],{68:[1,141]}),i(dt,[2,77]),i(dt,[2,78],{13:[1,142]}),i(dt,[2,80],{13:[1,144],68:[1,143]}),{21:ye,73:tn,74:sn,77:145,79:101,80:be,81:Ne,82:Xt,83:_e,84:xe,85:Mn},i(Fi,[2,89]),{14:[1,146]},i(Br,[2,52]),i(dt,[2,31]),{39:[2,35]},{39:[1,147]},i(dt,[2,75]),i(dt,[2,79]),i(dt,[2,81]),i(dt,[2,82],{68:[1,148]}),i(we,[2,87],{79:135,21:ye,73:tn,74:sn,80:be,81:Ne,82:Xt,83:_e,84:xe,85:Mn}),i(ce,[2,8]),i(Ft,[2,39]),i(dt,[2,83])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],78:[2,32],113:[2,10],116:[2,4],126:[2,44],139:[2,35]},parseError:function(br,An){if(An.recoverable)this.trace(br);else{var Nn=new Error(br);throw Nn.hash=An,Nn}},parse:function(br){var An=this,Nn=[0],Bn=[],ke=[null],pe=[],Je=this.table,an="",xn=0,qa=0,xo=2,ko=1,va=pe.slice.call(arguments,1),Ha=Object.create(this.lexer),ds={yy:{}};for(var Fu in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Fu)&&(ds.yy[Fu]=this.yy[Fu]);Ha.setInput(br,ds.yy),ds.yy.lexer=Ha,ds.yy.parser=this,typeof Ha.yylloc>"u"&&(Ha.yylloc={});var Zs=Ha.yylloc;pe.push(Zs);var d1=Ha.options&&Ha.options.ranges;typeof ds.yy.parseError=="function"?this.parseError=ds.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I2(){var ea;return ea=Bn.pop()||Ha.lex()||ko,typeof ea!="number"&&(ea instanceof Array&&(Bn=ea,ea=Bn.pop()),ea=An.symbols_[ea]||ea),ea}for(var ll,Ic,wc,Ea,gu={},ta,fo,mc,ca;;){if(Ic=Nn[Nn.length-1],this.defaultActions[Ic]?wc=this.defaultActions[Ic]:((ll===null||typeof ll>"u")&&(ll=I2()),wc=Je[Ic]&&Je[Ic][ll]),typeof wc>"u"||!wc.length||!wc[0]){var ya="";ca=[];for(ta in Je[Ic])this.terminals_[ta]&&ta>xo&&ca.push("'"+this.terminals_[ta]+"'");Ha.showPosition?ya="Parse error on line "+(xn+1)+`:
986 `),w.style===void 0&&(v.style=v.style||"stroke: #333; stroke-width: 1.5px;fill:none"),v.labelStyle=v.labelStyle.replace("color:","fill:"))),a.setEdge(w.id1,w.id2,v,g)})},$Je=function(i){Gbt={...Gbt,...i}},zJe=async function(i,a,f,g){Kt.info("Drawing class - ",a);const w=Re().flowchart??Re().class,v=Re().securityLevel;Kt.info("config:",w);const b=(w==null?void 0:w.nodeSpacing)??50,E=(w==null?void 0:w.rankSpacing)??50,S=new l1({multigraph:!0,compound:!0}).setGraph({rankdir:g.db.getDirection(),nodesep:b,ranksep:E,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),_=g.db.getNamespaces(),M=g.db.getClasses(),F=g.db.getRelations(),R=g.db.getNotes();Kt.info(F),BJe(_,S,a,g),$qt(M,S,a,g),jJe(F,S),RJe(R,S,F.length+1,M);let B;v==="sandbox"&&(B=Tr("#i"+a));const z=Tr(v==="sandbox"?B.nodes()[0].contentDocument.body:"body"),Y=z.select(`[id="${a}"]`),nt=z.select("#"+a+" g");if(await ebt(nt,S,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",a),uo.insertTitle(Y,"classTitleText",(w==null?void 0:w.titleTopMargin)??5,g.db.getDiagramTitle()),w8(S,Y,w==null?void 0:w.diagramPadding,w==null?void 0:w.useMaxWidth),!(w!=null&&w.htmlLabels)){const ot=v==="sandbox"?B.nodes()[0].contentDocument:document,ft=ot.querySelectorAll('[id="'+a+'"] .edgeLabel .label');for(const wt of ft){const mt=wt.getBBox(),ct=ot.createElementNS("http://www.w3.org/2000/svg","rect");ct.setAttribute("rx",0),ct.setAttribute("ry",0),ct.setAttribute("width",mt.width),ct.setAttribute("height",mt.height),wt.insertBefore(ct,wt.firstChild)}}};function zqt(i){let a;switch(i){case 0:a="aggregation";break;case 1:a="extension";break;case 2:a="composition";break;case 3:a="dependency";break;case 4:a="lollipop";break;default:a="none"}return a}const qJe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:Aqt,db:yX,renderer:{setConf:$Je,draw:zJe},styles:Fqt,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,yX.clear()}}},Symbol.toStringTag,{value:"Module"}));var Kbt=function(){var i=function(xt,Ft,Ct,kt){for(Ct=Ct||{},kt=xt.length;kt--;Ct[xt[kt]]=Ft);return Ct},a=[1,2],f=[1,3],g=[1,4],w=[2,4],v=[1,9],b=[1,11],E=[1,15],S=[1,16],_=[1,17],M=[1,18],F=[1,30],R=[1,19],B=[1,20],z=[1,21],Y=[1,22],nt=[1,23],ot=[1,25],ft=[1,26],wt=[1,27],mt=[1,28],ct=[1,29],rt=[1,32],it=[1,33],gt=[1,34],Q=[1,35],dt=[1,31],K=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],yt=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],V=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],Ot={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(Ft,Ct,kt,Gt,Fe,Mt,pn){var Ae=Mt.length-1;switch(Fe){case 3:return Gt.setRootDoc(Mt[Ae]),Mt[Ae];case 4:this.$=[];break;case 5:Mt[Ae]!="nl"&&(Mt[Ae-1].push(Mt[Ae]),this.$=Mt[Ae-1]);break;case 6:case 7:this.$=Mt[Ae];break;case 8:this.$="nl";break;case 11:this.$=Mt[Ae];break;case 12:const be=Mt[Ae-1];be.description=Gt.trimColon(Mt[Ae]),this.$=be;break;case 13:this.$={stmt:"relation",state1:Mt[Ae-2],state2:Mt[Ae]};break;case 14:const Ne=Gt.trimColon(Mt[Ae]);this.$={stmt:"relation",state1:Mt[Ae-3],state2:Mt[Ae-1],description:Ne};break;case 18:this.$={stmt:"state",id:Mt[Ae-3],type:"default",description:"",doc:Mt[Ae-1]};break;case 19:var ye=Mt[Ae],tn=Mt[Ae-2].trim();if(Mt[Ae].match(":")){var sn=Mt[Ae].split(":");ye=sn[0],tn=[tn,sn[1]]}this.$={stmt:"state",id:ye,type:"default",description:tn};break;case 20:this.$={stmt:"state",id:Mt[Ae-3],type:"default",description:Mt[Ae-5],doc:Mt[Ae-1]};break;case 21:this.$={stmt:"state",id:Mt[Ae],type:"fork"};break;case 22:this.$={stmt:"state",id:Mt[Ae],type:"join"};break;case 23:this.$={stmt:"state",id:Mt[Ae],type:"choice"};break;case 24:this.$={stmt:"state",id:Gt.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:Mt[Ae-1].trim(),note:{position:Mt[Ae-2].trim(),text:Mt[Ae].trim()}};break;case 28:this.$=Mt[Ae].trim(),Gt.setAccTitle(this.$);break;case 29:case 30:this.$=Mt[Ae].trim(),Gt.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:Mt[Ae-1].trim(),classes:Mt[Ae].trim()};break;case 33:this.$={stmt:"applyClass",id:Mt[Ae-1].trim(),styleClass:Mt[Ae].trim()};break;case 34:Gt.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:Gt.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:Gt.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:Gt.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:Mt[Ae].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:Mt[Ae-2].trim(),classes:[Mt[Ae].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:Mt[Ae-2].trim(),classes:[Mt[Ae].trim()],type:"default",description:""};break}},table:[{3:1,4:a,5:f,6:g},{1:[3]},{3:5,4:a,5:f,6:g},{3:6,4:a,5:f,6:g},i([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],w,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:S,18:_,21:M,23:F,24:R,25:B,26:z,27:Y,28:nt,31:24,32:ot,34:ft,36:wt,37:mt,41:ct,44:rt,45:it,46:gt,47:Q,50:dt},i(K,[2,5]),{9:36,10:12,11:13,12:14,15:E,16:S,18:_,21:M,23:F,24:R,25:B,26:z,27:Y,28:nt,31:24,32:ot,34:ft,36:wt,37:mt,41:ct,44:rt,45:it,46:gt,47:Q,50:dt},i(K,[2,7]),i(K,[2,8]),i(K,[2,9]),i(K,[2,10]),i(K,[2,11],{13:[1,37],14:[1,38]}),i(K,[2,15]),{17:[1,39]},i(K,[2,17],{19:[1,40]}),{22:[1,41]},i(K,[2,21]),i(K,[2,22]),i(K,[2,23]),i(K,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},i(K,[2,27]),{33:[1,46]},{35:[1,47]},i(K,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},i(yt,[2,40],{51:[1,51]}),i(yt,[2,41],{51:[1,52]}),i(K,[2,34]),i(K,[2,35]),i(K,[2,36]),i(K,[2,37]),i(K,[2,6]),i(K,[2,12]),{12:53,23:F,50:dt},i(K,[2,16]),i(V,w,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},i(K,[2,28]),i(K,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},i(K,[2,13],{13:[1,63]}),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:S,18:_,20:[1,64],21:M,23:F,24:R,25:B,26:z,27:Y,28:nt,31:24,32:ot,34:ft,36:wt,37:mt,41:ct,44:rt,45:it,46:gt,47:Q,50:dt},i(K,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},i(K,[2,31]),i(K,[2,32]),i(K,[2,33]),i(yt,[2,42]),i(yt,[2,43]),i(K,[2,14]),i(K,[2,18]),i(V,w,{7:68}),i(K,[2,25]),i(K,[2,26]),{4:v,5:b,8:8,9:10,10:12,11:13,12:14,15:E,16:S,18:_,20:[1,69],21:M,23:F,24:R,25:B,26:z,27:Y,28:nt,31:24,32:ot,34:ft,36:wt,37:mt,41:ct,44:rt,45:it,46:gt,47:Q,50:dt},i(K,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(Ft,Ct){if(Ct.recoverable)this.trace(Ft);else{var kt=new Error(Ft);throw kt.hash=Ct,kt}},parse:function(Ft){var Ct=this,kt=[0],Gt=[],Fe=[null],Mt=[],pn=this.table,Ae="",ye=0,tn=0,sn=2,be=1,Ne=Mt.slice.call(arguments,1),Xt=Object.create(this.lexer),_e={yy:{}};for(var xe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,xe)&&(_e.yy[xe]=this.yy[xe]);Xt.setInput(Ft,_e.yy),_e.yy.lexer=Xt,_e.yy.parser=this,typeof Xt.yylloc>"u"&&(Xt.yylloc={});var Mn=Xt.yylloc;Mt.push(Mn);var ce=Xt.options&&Xt.options.ranges;typeof _e.yy.parseError=="function"?this.parseError=_e.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Br(){var ke;return ke=Gt.pop()||Xt.lex()||be,typeof ke!="number"&&(ke instanceof Array&&(Gt=ke,ke=Gt.pop()),ke=Ct.symbols_[ke]||ke),ke}for(var we,Fi,mi,ga,Ss={},za,br,An,Nn;;){if(Fi=kt[kt.length-1],this.defaultActions[Fi]?mi=this.defaultActions[Fi]:((we===null||typeof we>"u")&&(we=Br()),mi=pn[Fi]&&pn[Fi][we]),typeof mi>"u"||!mi.length||!mi[0]){var Bn="";Nn=[];for(za in pn[Fi])this.terminals_[za]&&za>sn&&Nn.push("'"+this.terminals_[za]+"'");Xt.showPosition?Bn="Parse error on line "+(ye+1)+`:
1192 `,t2t={},fZe=(i,a)=>{t2t[i]=a},dZe=i=>t2t[i],rHt=()=>Object.keys(t2t),gZe={get:dZe,set:fZe,keys:rHt,size:()=>rHt().length},pZe=i=>i.append("circle").attr("class","start-state").attr("r",Re().state.sizeUnit).attr("cx",Re().state.padding+Re().state.sizeUnit).attr("cy",Re().state.padding+Re().state.sizeUnit),bZe=i=>i.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Re().state.textHeight).attr("class","divider").attr("x2",Re().state.textHeight*2).attr("y1",0).attr("y2",0),wZe=(i,a)=>{const f=i.append("text").attr("x",2*Re().state.padding).attr("y",Re().state.textHeight+2*Re().state.padding).attr("font-size",Re().state.fontSize).attr("class","state-title").text(a.id),g=f.node().getBBox();return i.insert("rect",":first-child").attr("x",Re().state.padding).attr("y",Re().state.padding).attr("width",g.width+2*Re().state.padding).attr("height",g.height+2*Re().state.padding).attr("rx",Re().state.radius),f},mZe=(i,a)=>{const f=function(R,B,z){const Y=R.append("tspan").attr("x",2*Re().state.padding).text(B);z||Y.attr("dy",Re().state.textHeight)},w=i.append("text").attr("x",2*Re().state.padding).attr("y",Re().state.textHeight+1.3*Re().state.padding).attr("font-size",Re().state.fontSize).attr("class","state-title").text(a.descriptions[0]).node().getBBox(),v=w.height,b=i.append("text").attr("x",Re().state.padding).attr("y",v+Re().state.padding*.4+Re().state.dividerMargin+Re().state.textHeight).attr("class","state-description");let E=!0,S=!0;a.descriptions.forEach(function(R){E||(f(b,R,S),S=!1),E=!1});const _=i.append("line").attr("x1",Re().state.padding).attr("y1",Re().state.padding+v+Re().state.dividerMargin/2).attr("y2",Re().state.padding+v+Re().state.dividerMargin/2).attr("class","descr-divider"),M=b.node().getBBox(),F=Math.max(M.width,w.width);return _.attr("x2",F+3*Re().state.padding),i.insert("rect",":first-child").attr("x",Re().state.padding).attr("y",Re().state.padding).attr("width",F+2*Re().state.padding).attr("height",M.height+v+2*Re().state.padding).attr("rx",Re().state.radius),i},vZe=(i,a,f)=>{const g=Re().state.padding,w=2*Re().state.padding,v=i.node().getBBox(),b=v.width,E=v.x,S=i.append("text").attr("x",0).attr("y",Re().state.titleShift).attr("font-size",Re().state.fontSize).attr("class","state-title").text(a.id),M=S.node().getBBox().width+w;let F=Math.max(M,b);F===b&&(F=F+w);let R;const B=i.node().getBBox();a.doc,R=E-g,M>b&&(R=(b-F)/2+g),Math.abs(E-B.x)<g&&M>b&&(R=E-(M-b)/2);const z=1-Re().state.textHeight;return i.insert("rect",":first-child").attr("x",R).attr("y",z).attr("class",f?"alt-composit":"composit").attr("width",F).attr("height",B.height+Re().state.textHeight+Re().state.titleShift+1).attr("rx","0"),S.attr("x",R+g),M<=b&&S.attr("x",E+(F-w)/2-M/2+g),i.insert("rect",":first-child").attr("x",R).attr("y",Re().state.titleShift-Re().state.textHeight-Re().state.padding).attr("width",F).attr("height",Re().state.textHeight*3).attr("rx",Re().state.radius),i.insert("rect",":first-child").attr("x",R).attr("y",Re().state.titleShift-Re().state.textHeight-Re().state.padding).attr("width",F).attr("height",B.height+3+2*Re().state.textHeight).attr("rx",Re().state.radius),i},yZe=i=>(i.append("circle").attr("class","end-state-outer").attr("r",Re().state.sizeUnit+Re().state.miniPadding).attr("cx",Re().state.padding+Re().state.sizeUnit+Re().state.miniPadding).attr("cy",Re().state.padding+Re().state.sizeUnit+Re().state.miniPadding),i.append("circle").attr("class","end-state-inner").attr("r",Re().state.sizeUnit).attr("cx",Re().state.padding+Re().state.sizeUnit+2).attr("cy",Re().state.padding+Re().state.sizeUnit+2)),xZe=(i,a)=>{let f=Re().state.forkWidth,g=Re().state.forkHeight;if(a.parentId){let w=f;f=g,g=w}return i.append("rect").style("stroke","black").style("fill","black").attr("width",f).attr("height",g).attr("x",Re().state.padding).attr("y",Re().state.padding)},kZe=(i,a,f,g)=>{let w=0;const v=g.append("text");v.style("text-anchor","start"),v.attr("class","noteText");let b=i.replace(/\r\n/g,"<br/>");b=b.replace(/\n/g,"<br/>");const E=b.split(ei.lineBreakRegex);let S=1.25*Re().state.noteMargin;for(const _ of E){const M=_.trim();if(M.length>0){const F=v.append("tspan");if(F.text(M),S===0){const R=F.node().getBBox();S+=R.height}w+=S,F.attr("x",a+Re().state.noteMargin),F.attr("y",f+w+1.25*Re().state.noteMargin)}}return{textWidth:v.node().getBBox().width,textHeight:w}},EZe=(i,a)=>{a.attr("class","state-note");const f=a.append("rect").attr("x",0).attr("y",Re().state.padding),g=a.append("g"),{textWidth:w,textHeight:v}=kZe(i,0,0,g);return f.attr("height",v+2*Re().state.noteMargin),f.attr("width",w+Re().state.noteMargin*2),f},iHt=function(i,a){const f=a.id,g={id:f,label:a.id,width:0,height:0},w=i.append("g").attr("id",f).attr("class","stateGroup");a.type==="start"&&pZe(w),a.type==="end"&&yZe(w),(a.type==="fork"||a.type==="join")&&xZe(w,a),a.type==="note"&&EZe(a.note.text,w),a.type==="divider"&&bZe(w),a.type==="default"&&a.descriptions.length===0&&wZe(w,a),a.type==="default"&&a.descriptions.length>0&&mZe(w,a);const v=w.node().getBBox();return g.width=v.width+2*Re().state.padding,g.height=v.height+2*Re().state.padding,gZe.set(f,g),g};let sHt=0;const TZe=function(i,a,f){const g=function(S){switch(S){case Hx.relationType.AGGREGATION:return"aggregation";case Hx.relationType.EXTENSION:return"extension";case Hx.relationType.COMPOSITION:return"composition";case Hx.relationType.DEPENDENCY:return"dependency"}};a.points=a.points.filter(S=>!Number.isNaN(S.y));const w=a.points,v=Ax().x(function(S){return S.x}).y(function(S){return S.y}).curve(wF),b=i.append("path").attr("d",v(w)).attr("id","edge"+sHt).attr("class","transition");let E="";if(Re().state.arrowMarkerAbsolute&&(E=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,E=E.replace(/\(/g,"\\("),E=E.replace(/\)/g,"\\)")),b.attr("marker-end","url("+E+"#"+g(Hx.relationType.DEPENDENCY)+"End)"),f.title!==void 0){const S=i.append("g").attr("class","stateLabel"),{x:_,y:M}=uo.calcLabelPosition(a.points),F=ei.getRows(f.title);let R=0;const B=[];let z=0,Y=0;for(let ft=0;ft<=F.length;ft++){const wt=S.append("text").attr("text-anchor","middle").text(F[ft]).attr("x",_).attr("y",M+R),mt=wt.node().getBBox();z=Math.max(z,mt.width),Y=Math.min(Y,mt.x),Kt.info(mt.x,_,M+R),R===0&&(R=wt.node().getBBox().height,Kt.info("Title height",R,M)),B.push(wt)}let nt=R*F.length;if(F.length>1){const ft=(F.length-1)*R*.5;B.forEach((wt,mt)=>wt.attr("y",M+mt*R-ft)),nt=R*F.length}const ot=S.node().getBBox();S.insert("rect",":first-child").attr("class","box").attr("x",_-z/2-Re().state.padding/2).attr("y",M-nt/2-Re().state.padding/2-3.5).attr("width",z+Re().state.padding).attr("height",nt+Re().state.padding),Kt.info(ot)}sHt++};let M2;const e2t={},CZe=function(){},SZe=function(i){i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},_Ze=function(i,a,f,g){M2=Re().state;const w=Re().securityLevel;let v;w==="sandbox"&&(v=Tr("#i"+a));const b=Tr(w==="sandbox"?v.nodes()[0].contentDocument.body:"body"),E=w==="sandbox"?v.nodes()[0].contentDocument:document;Kt.debug("Rendering diagram "+i);const S=b.select(`[id='${a}']`);SZe(S);const _=g.db.getRootDoc();aHt(_,S,void 0,!1,b,E,g);const M=M2.padding,F=S.node().getBBox(),R=F.width+M*2,B=F.height+M*2,z=R*1.75;sg(S,B,z,M2.useMaxWidth),S.attr("viewBox",`${F.x-M2.padding} ${F.y-M2.padding} `+R+" "+B)},AZe=i=>i?i.length*M2.fontSizeFactor:1,aHt=(i,a,f,g,w,v,b)=>{const E=new l1({compound:!0,multigraph:!0});let S,_=!0;for(S=0;S<i.length;S++)if(i[S].stmt==="relation"){_=!1;break}f?E.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:_?1:M2.edgeLengthFactor,nodeSep:_?1:50,isMultiGraph:!0}):E.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:_?1:M2.edgeLengthFactor,nodeSep:_?1:50,ranker:"tight-tree",isMultiGraph:!0}),E.setDefaultEdgeLabel(function(){return{}}),b.db.extract(i);const M=b.db.getStates(),F=b.db.getRelations(),R=Object.keys(M);for(const ot of R){const ft=M[ot];f&&(ft.parentId=f);let wt;if(ft.doc){let mt=a.append("g").attr("id",ft.id).attr("class","stateGroup");wt=aHt(ft.doc,mt,ft.id,!g,w,v,b);{mt=vZe(mt,ft,g);let ct=mt.node().getBBox();wt.width=ct.width,wt.height=ct.height+M2.padding/2,e2t[ft.id]={y:M2.compositTitleSize}}}else wt=iHt(a,ft);if(ft.note){const mt={descriptions:[],id:ft.id+"-note",note:ft.note,type:"note"},ct=iHt(a,mt);ft.note.position==="left of"?(E.setNode(wt.id+"-note",ct),E.setNode(wt.id,wt)):(E.setNode(wt.id,wt),E.setNode(wt.id+"-note",ct)),E.setParent(wt.id,wt.id+"-group"),E.setParent(wt.id+"-note",wt.id+"-group")}else E.setNode(wt.id,wt)}Kt.debug("Count=",E.nodeCount(),E);let B=0;F.forEach(function(ot){B++,Kt.debug("Setting edge",ot),E.setEdge(ot.id1,ot.id2,{relation:ot,width:AZe(ot.title),height:M2.labelHeight*ei.getRows(ot.title).length,labelpos:"c"},"id"+B)}),kD(E),Kt.debug("Graph after layout",E.nodes());const z=a.node();E.nodes().forEach(function(ot){ot!==void 0&&E.node(ot)!==void 0?(Kt.warn("Node "+ot+": "+JSON.stringify(E.node(ot))),w.select("#"+z.id+" #"+ot).attr("transform","translate("+(E.node(ot).x-E.node(ot).width/2)+","+(E.node(ot).y+(e2t[ot]?e2t[ot].y:0)-E.node(ot).height/2)+" )"),w.select("#"+z.id+" #"+ot).attr("data-x-shift",E.node(ot).x-E.node(ot).width/2),v.querySelectorAll("#"+z.id+" #"+ot+" .divider").forEach(wt=>{const mt=wt.parentElement;let ct=0,rt=0;mt&&(mt.parentElement&&(ct=mt.parentElement.getBBox().width),rt=parseInt(mt.getAttribute("data-x-shift"),10),Number.isNaN(rt)&&(rt=0)),wt.setAttribute("x1",0-rt+8),wt.setAttribute("x2",ct-rt-8)})):Kt.debug("No Node "+ot+": "+JSON.stringify(E.node(ot)))});let Y=z.getBBox();E.edges().forEach(function(ot){ot!==void 0&&E.edge(ot)!==void 0&&(Kt.debug("Edge "+ot.v+" -> "+ot.w+": "+JSON.stringify(E.edge(ot))),TZe(a,E.edge(ot),E.edge(ot).relation))}),Y=z.getBBox();const nt={id:f||"root",label:f||"root",width:0,height:0};return nt.width=Y.width+2*M2.padding,nt.height=Y.height+2*M2.padding,Kt.debug("Doc rendered",nt,E),nt},LZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:qqt,db:Hx,renderer:{setConf:CZe,draw:_Ze},styles:nHt,init:i=>{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,Hx.clear()}}},Symbol.toStringTag,{value:"Module"})),AX="rect",n2t="rectWithTitle",DZe="start",MZe="end",IZe="divider",OZe="roundedWithTitle",NZe="note",PZe="noteGroup",ID="statediagram",FZe=`${ID}-state`,oHt="transition",BZe="note",RZe=`${oHt} note-edge`,jZe=`${ID}-${BZe}`,$Ze=`${ID}-cluster`,zZe=`${ID}-cluster-alt`,cHt="parent",uHt="note",qZe="state",r2t="----",HZe=`${r2t}${uHt}`,lHt=`${r2t}${cHt}`,hHt="fill:none",fHt="fill: #333",dHt="c",gHt="text",pHt="normal";let LX={},L8=0;const VZe=function(i){const a=Object.keys(i);for(const f of a)i[f]},UZe=function(i,a){return a.db.extract(a.db.getRootDocV2()),a.db.getClasses()};function GZe(i){return i==null?"":i.classes?i.classes.join(" "):""}function i2t(i="",a=0,f="",g=r2t){const w=f!==null&&f.length>0?`${g}${f}`:"";return`${qZe}-${i}${w}-${a}`}const TB=(i,a,f,g,w,v)=>{const b=f.id,E=GZe(g[b]);if(b!=="root"){let S=AX;f.start===!0&&(S=DZe),f.start===!1&&(S=MZe),f.type!==yB&&(S=f.type),LX[b]||(LX[b]={id:b,shape:S,description:ei.sanitizeText(b,Re()),classes:`${E} ${FZe}`});const _=LX[b];f.description&&(Array.isArray(_.description)?(_.shape=n2t,_.description.push(f.description)):_.description.length>0?(_.shape=n2t,_.description===b?_.description=[f.description]:_.description=[_.description,f.description]):(_.shape=AX,_.description=f.description),_.description=ei.sanitizeTextOrArray(_.description,Re())),_.description.length===1&&_.shape===n2t&&(_.shape=AX),!_.type&&f.doc&&(Kt.info("Setting cluster for ",b,s2t(f)),_.type="group",_.dir=s2t(f),_.shape=f.type===Hqt?IZe:OZe,_.classes=_.classes+" "+$Ze+" "+(v?zZe:""));const M={labelStyle:"",shape:_.shape,labelText:_.description,classes:_.classes,style:"",id:b,dir:_.dir,domId:i2t(b,L8),type:_.type,padding:15};if(M.centerLabel=!0,f.note){const F={labelStyle:"",shape:NZe,labelText:f.note.text,classes:jZe,style:"",id:b+HZe+"-"+L8,domId:i2t(b,L8,uHt),type:_.type,padding:15},R={labelStyle:"",shape:PZe,labelText:f.note.text,classes:_.classes,style:"",id:b+lHt,domId:i2t(b,L8,cHt),type:"group",padding:0};L8++;const B=b+lHt;i.setNode(B,R),i.setNode(F.id,F),i.setNode(b,M),i.setParent(b,B),i.setParent(F.id,B);let z=b,Y=F.id;f.note.position==="left of"&&(z=F.id,Y=b),i.setEdge(z,Y,{arrowhead:"none",arrowType:"",style:hHt,labelStyle:"",classes:RZe,arrowheadStyle:fHt,labelpos:dHt,labelType:gHt,thickness:pHt})}else i.setNode(b,M)}a&&a.id!=="root"&&(Kt.trace("Setting node ",b," to be child of its parent ",a.id),i.setParent(b,a.id)),f.doc&&(Kt.trace("Adding nodes children "),KZe(i,f,f.doc,g,w,!v))},KZe=(i,a,f,g,w,v)=>{Kt.trace("items",f),f.forEach(b=>{switch(b.stmt){case EX:TB(i,a,b,g,w,v);break;case yB:TB(i,a,b,g,w,v);break;case Wbt:{TB(i,a,b.state1,g,w,v),TB(i,a,b.state2,g,w,v);const E={id:"edge"+L8,arrowhead:"normal",arrowTypeEnd:"arrow_barb",style:hHt,labelStyle:"",label:ei.sanitizeText(b.description,Re()),arrowheadStyle:fHt,labelpos:dHt,labelType:gHt,thickness:pHt,classes:oHt};i.setEdge(b.state1.id,b.state2.id,E,L8),L8++}break}})},s2t=(i,a=VJe)=>{let f=a;if(i.doc)for(let g=0;g<i.doc.length;g++){const w=i.doc[g];w.stmt==="dir"&&(f=w.value)}return f},WZe=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:qqt,db:Hx,renderer:{setConf:VZe,getClasses:UZe,draw:async function(i,a,f,g){Kt.info("Drawing state diagram (v2)",a),LX={},g.db.getDirection();const{securityLevel:w,state:v}=Re(),b=v.nodeSpacing||50,E=v.rankSpacing||50;Kt.info(g.db.getRootDocV2()),g.db.extract(g.db.getRootDocV2()),Kt.info(g.db.getRootDocV2());const S=g.db.getStates(),_=new l1({multigraph:!0,compound:!0}).setGraph({rankdir:s2t(g.db.getRootDocV2()),nodesep:b,ranksep:E,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});TB(_,void 0,g.db.getRootDocV2(),S,g.db,!0);let M;w==="sandbox"&&(M=Tr("#i"+a));const F=Tr(w==="sandbox"?M.nodes()[0].contentDocument.body:"body"),R=F.select(`[id="${a}"]`),B=F.select("#"+a+" g");await ebt(B,_,["barb"],ID,a);const z=8;uo.insertTitle(R,"statediagramTitleText",v.titleTopMargin,g.db.getDiagramTitle());const Y=R.node().getBBox(),nt=Y.width+z*2,ot=Y.height+z*2;R.attr("class",ID);const ft=R.node().getBBox();sg(R,ot,nt,v.useMaxWidth);const wt=`${ft.x-z} ${ft.y-z} ${nt} ${ot}`;Kt.debug(`viewBox ${wt}`),R.attr("viewBox",wt);const mt=document.querySelectorAll('[id="'+a+'"] .edgeLabel .label');for(const ct of mt){const rt=ct.getBBox(),it=document.createElementNS("http://www.w3.org/2000/svg",AX);it.setAttribute("rx",0),it.setAttribute("ry",0),it.setAttribute("width",rt.width),it.setAttribute("height",rt.height),ct.insertBefore(it,ct.firstChild)}}},styles:nHt,init:i=>{i.state||(i.state={}),i.state.arrowMarkerAbsolute=i.arrowMarkerAbsolute,Hx.clear()}}},Symbol.toStringTag,{value:"Module"}));var a2t=function(){var i=function(F,R,B,z){for(B=B||{},z=F.length;z--;B[F[z]]=R);return B},a=[6,8,10,11,12,14,16,17,18],f=[1,9],g=[1,10],w=[1,11],v=[1,12],b=[1,13],E=[1,14],S={trace:function(){},yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:function(R,B,z,Y,nt,ot,ft){var wt=ot.length-1;switch(nt){case 1:return ot[wt-1];case 2:this.$=[];break;case 3:ot[wt-1].push(ot[wt]),this.$=ot[wt-1];break;case 4:case 5:this.$=ot[wt];break;case 6:case 7:this.$=[];break;case 8:Y.setDiagramTitle(ot[wt].substr(6)),this.$=ot[wt].substr(6);break;case 9:this.$=ot[wt].trim(),Y.setAccTitle(this.$);break;case 10:case 11:this.$=ot[wt].trim(),Y.setAccDescription(this.$);break;case 12:Y.addSection(ot[wt].substr(8)),this.$=ot[wt].substr(8);break;case 13:Y.addTask(ot[wt-1],ot[wt]),this.$="task";break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:f,12:g,14:w,16:v,17:b,18:E},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:15,11:f,12:g,14:w,16:v,17:b,18:E},i(a,[2,5]),i(a,[2,6]),i(a,[2,8]),{13:[1,16]},{15:[1,17]},i(a,[2,11]),i(a,[2,12]),{19:[1,18]},i(a,[2,4]),i(a,[2,9]),i(a,[2,10]),i(a,[2,13])],defaultActions:{},parseError:function(R,B){if(B.recoverable)this.trace(R);else{var z=new Error(R);throw z.hash=B,z}},parse:function(R){var B=this,z=[0],Y=[],nt=[null],ot=[],ft=this.table,wt="",mt=0,ct=0,rt=2,it=1,gt=ot.slice.call(arguments,1),Q=Object.create(this.lexer),dt={yy:{}};for(var K in this.yy)Object.prototype.hasOwnProperty.call(this.yy,K)&&(dt.yy[K]=this.yy[K]);Q.setInput(R,dt.yy),dt.yy.lexer=Q,dt.yy.parser=this,typeof Q.yylloc>"u"&&(Q.yylloc={});var yt=Q.yylloc;ot.push(yt);var V=Q.options&&Q.options.ranges;typeof dt.yy.parseError=="function"?this.parseError=dt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ot(){var Ae;return Ae=Y.pop()||Q.lex()||it,typeof Ae!="number"&&(Ae instanceof Array&&(Y=Ae,Ae=Y.pop()),Ae=B.symbols_[Ae]||Ae),Ae}for(var It,jt,xt,Ft,Ct={},kt,Gt,Fe,Mt;;){if(jt=z[z.length-1],this.defaultActions[jt]?xt=this.defaultActions[jt]:((It===null||typeof It>"u")&&(It=Ot()),xt=ft[jt]&&ft[jt][It]),typeof xt>"u"||!xt.length||!xt[0]){var pn="";Mt=[];for(kt in ft[jt])this.terminals_[kt]&&kt>rt&&Mt.push("'"+this.terminals_[kt]+"'");Q.showPosition?pn="Parse error on line "+(mt+1)+`:
1468 `}},Symbol.toStringTag,{value:"Module"}));var l2t=function(){var i=function(R,B,z,Y){for(z=z||{},Y=R.length;Y--;z[R[Y]]=B);return z},a=[6,8,10,11,12,14,16,17,20,21],f=[1,9],g=[1,10],w=[1,11],v=[1,12],b=[1,13],E=[1,16],S=[1,17],_={trace:function(){},yy:{},symbols_:{error:2,start:3,timeline:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,period_statement:18,event_statement:19,period:20,event:21,$accept:0,$end:1},terminals_:{2:"error",4:"timeline",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",20:"period",21:"event"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[18,1],[19,1]],performAction:function(B,z,Y,nt,ot,ft,wt){var mt=ft.length-1;switch(ot){case 1:return ft[mt-1];case 2:this.$=[];break;case 3:ft[mt-1].push(ft[mt]),this.$=ft[mt-1];break;case 4:case 5:this.$=ft[mt];break;case 6:case 7:this.$=[];break;case 8:nt.getCommonDb().setDiagramTitle(ft[mt].substr(6)),this.$=ft[mt].substr(6);break;case 9:this.$=ft[mt].trim(),nt.getCommonDb().setAccTitle(this.$);break;case 10:case 11:this.$=ft[mt].trim(),nt.getCommonDb().setAccDescription(this.$);break;case 12:nt.addSection(ft[mt].substr(8)),this.$=ft[mt].substr(8);break;case 15:nt.addTask(ft[mt],0,""),this.$=ft[mt];break;case 16:nt.addEvent(ft[mt].substr(2)),this.$=ft[mt];break}},table:[{3:1,4:[1,2]},{1:[3]},i(a,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:f,12:g,14:w,16:v,17:b,18:14,19:15,20:E,21:S},i(a,[2,7],{1:[2,1]}),i(a,[2,3]),{9:18,11:f,12:g,14:w,16:v,17:b,18:14,19:15,20:E,21:S},i(a,[2,5]),i(a,[2,6]),i(a,[2,8]),{13:[1,19]},{15:[1,20]},i(a,[2,11]),i(a,[2,12]),i(a,[2,13]),i(a,[2,14]),i(a,[2,15]),i(a,[2,16]),i(a,[2,4]),i(a,[2,9]),i(a,[2,10])],defaultActions:{},parseError:function(B,z){if(z.recoverable)this.trace(B);else{var Y=new Error(B);throw Y.hash=z,Y}},parse:function(B){var z=this,Y=[0],nt=[],ot=[null],ft=[],wt=this.table,mt="",ct=0,rt=0,it=2,gt=1,Q=ft.slice.call(arguments,1),dt=Object.create(this.lexer),K={yy:{}};for(var yt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,yt)&&(K.yy[yt]=this.yy[yt]);dt.setInput(B,K.yy),K.yy.lexer=dt,K.yy.parser=this,typeof dt.yylloc>"u"&&(dt.yylloc={});var V=dt.yylloc;ft.push(V);var Ot=dt.options&&dt.options.ranges;typeof K.yy.parseError=="function"?this.parseError=K.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function It(){var ye;return ye=nt.pop()||dt.lex()||gt,typeof ye!="number"&&(ye instanceof Array&&(nt=ye,ye=nt.pop()),ye=z.symbols_[ye]||ye),ye}for(var jt,xt,Ft,Ct,kt={},Gt,Fe,Mt,pn;;){if(xt=Y[Y.length-1],this.defaultActions[xt]?Ft=this.defaultActions[xt]:((jt===null||typeof jt>"u")&&(jt=It()),Ft=wt[xt]&&wt[xt][jt]),typeof Ft>"u"||!Ft.length||!Ft[0]){var Ae="";pn=[];for(Gt in wt[xt])this.terminals_[Gt]&&Gt>it&&pn.push("'"+this.terminals_[Gt]+"'");dt.showPosition?Ae="Parse error on line "+(ct+1)+`:
1528 `}},Symbol.toStringTag,{value:"Module"}));var d2t=function(){var i=function(mt,ct,rt,it){for(rt=rt||{},it=mt.length;it--;rt[mt[it]]=ct);return rt},a=[1,4],f=[1,13],g=[1,12],w=[1,15],v=[1,16],b=[1,20],E=[1,19],S=[6,7,8],_=[1,26],M=[1,24],F=[1,25],R=[6,7,11],B=[1,6,13,15,16,19,22],z=[1,33],Y=[1,34],nt=[1,6,7,11,13,15,16,19,22],ot={trace:function(){},yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:function(ct,rt,it,gt,Q,dt,K){var yt=dt.length-1;switch(Q){case 6:case 7:return gt;case 8:gt.getLogger().trace("Stop NL ");break;case 9:gt.getLogger().trace("Stop EOF ");break;case 11:gt.getLogger().trace("Stop NL2 ");break;case 12:gt.getLogger().trace("Stop EOF2 ");break;case 15:gt.getLogger().info("Node: ",dt[yt].id),gt.addNode(dt[yt-1].length,dt[yt].id,dt[yt].descr,dt[yt].type);break;case 16:gt.getLogger().trace("Icon: ",dt[yt]),gt.decorateNode({icon:dt[yt]});break;case 17:case 21:gt.decorateNode({class:dt[yt]});break;case 18:gt.getLogger().trace("SPACELIST");break;case 19:gt.getLogger().trace("Node: ",dt[yt].id),gt.addNode(0,dt[yt].id,dt[yt].descr,dt[yt].type);break;case 20:gt.decorateNode({icon:dt[yt]});break;case 25:gt.getLogger().trace("node found ..",dt[yt-2]),this.$={id:dt[yt-1],descr:dt[yt-1],type:gt.getType(dt[yt-2],dt[yt])};break;case 26:this.$={id:dt[yt],descr:dt[yt],type:gt.nodeType.DEFAULT};break;case 27:gt.getLogger().trace("node found ..",dt[yt-3]),this.$={id:dt[yt-3],descr:dt[yt-1],type:gt.getType(dt[yt-2],dt[yt])};break}},table:[{3:1,4:2,5:3,6:[1,5],8:a},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:a},{6:f,7:[1,10],9:9,12:11,13:g,14:14,15:w,16:v,17:17,18:18,19:b,22:E},i(S,[2,3]),{1:[2,2]},i(S,[2,4]),i(S,[2,5]),{1:[2,6],6:f,12:21,13:g,14:14,15:w,16:v,17:17,18:18,19:b,22:E},{6:f,9:22,12:11,13:g,14:14,15:w,16:v,17:17,18:18,19:b,22:E},{6:_,7:M,10:23,11:F},i(R,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:b,22:E}),i(R,[2,18]),i(R,[2,19]),i(R,[2,20]),i(R,[2,21]),i(R,[2,23]),i(R,[2,24]),i(R,[2,26],{19:[1,30]}),{20:[1,31]},{6:_,7:M,10:32,11:F},{1:[2,7],6:f,12:21,13:g,14:14,15:w,16:v,17:17,18:18,19:b,22:E},i(B,[2,14],{7:z,11:Y}),i(nt,[2,8]),i(nt,[2,9]),i(nt,[2,10]),i(R,[2,15]),i(R,[2,16]),i(R,[2,17]),{20:[1,35]},{21:[1,36]},i(B,[2,13],{7:z,11:Y}),i(nt,[2,11]),i(nt,[2,12]),{21:[1,37]},i(R,[2,25]),i(R,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:function(ct,rt){if(rt.recoverable)this.trace(ct);else{var it=new Error(ct);throw it.hash=rt,it}},parse:function(ct){var rt=this,it=[0],gt=[],Q=[null],dt=[],K=this.table,yt="",V=0,Ot=0,It=2,jt=1,xt=dt.slice.call(arguments,1),Ft=Object.create(this.lexer),Ct={yy:{}};for(var kt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,kt)&&(Ct.yy[kt]=this.yy[kt]);Ft.setInput(ct,Ct.yy),Ct.yy.lexer=Ft,Ct.yy.parser=this,typeof Ft.yylloc>"u"&&(Ft.yylloc={});var Gt=Ft.yylloc;dt.push(Gt);var Fe=Ft.options&&Ft.options.ranges;typeof Ct.yy.parseError=="function"?this.parseError=Ct.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(){var Mn;return Mn=gt.pop()||Ft.lex()||jt,typeof Mn!="number"&&(Mn instanceof Array&&(gt=Mn,Mn=gt.pop()),Mn=rt.symbols_[Mn]||Mn),Mn}for(var pn,Ae,ye,tn,sn={},be,Ne,Xt,_e;;){if(Ae=it[it.length-1],this.defaultActions[Ae]?ye=this.defaultActions[Ae]:((pn===null||typeof pn>"u")&&(pn=Mt()),ye=K[Ae]&&K[Ae][pn]),typeof ye>"u"||!ye.length||!ye[0]){var xe="";_e=[];for(be in K[Ae])this.terminals_[be]&&be>It&&_e.push("'"+this.terminals_[be]+"'");Ft.showPosition?xe="Parse error on line "+(V+1)+`:
1533 `+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var rt=this.next();return rt||this.lex()},begin:function(rt){this.conditionStack.push(rt)},popState:function(){var rt=this.conditionStack.length-1;return rt>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(rt){return rt=this.conditionStack.length-1-Math.abs(rt||0),rt>=0?this.conditionStack[rt]:"INITIAL"},pushState:function(rt){this.begin(rt)},stateStackSize:function(){return this.conditionStack.length},options:{"case-insensitive":!0},performAction:function(rt,it,gt,Q){switch(gt){case 0:return rt.getLogger().trace("Found comment",it.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:this.popState();break;case 5:rt.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return rt.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:rt.getLogger().trace("end icon"),this.popState();break;case 10:return rt.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return rt.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return rt.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return rt.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:return this.begin("NODE"),19;case 15:return this.begin("NODE"),19;case 16:return this.begin("NODE"),19;case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 23:this.popState();break;case 24:rt.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return rt.getLogger().trace("description:",it.yytext),"NODE_DESCR";case 26:this.popState();break;case 27:return this.popState(),rt.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),rt.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),rt.getLogger().trace("node end ...",it.yytext),"NODE_DEND";case 30:return this.popState(),rt.getLogger().trace("node end (("),"NODE_DEND";case 31:return this.popState(),rt.getLogger().trace("node end (-"),"NODE_DEND";case 32:return this.popState(),rt.getLogger().trace("node end (-"),"NODE_DEND";case 33:return this.popState(),rt.getLogger().trace("node end (("),"NODE_DEND";case 34:return this.popState(),rt.getLogger().trace("node end (("),"NODE_DEND";case 35:return rt.getLogger().trace("Long description:",it.yytext),20;case 36:return rt.getLogger().trace("Long description:",it.yytext),20}},rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}};return mt}();ot.lexer=ft;function wt(){this.yy={}}return wt.prototype=ot,ot.Parser=wt,new wt}();d2t.parser=d2t;const Ytn=d2t;let ry=[],UHt=0,g2t={};const Xtn=()=>{ry=[],UHt=0,g2t={}},Qtn=function(i){for(let a=ry.length-1;a>=0;a--)if(ry[a].level<i)return ry[a];return null},Jtn=()=>ry.length>0?ry[0]:null,Ztn=(i,a,f,g)=>{var S,_;Kt.info("addNode",i,a,f,g);const w=Re();let v=((S=w.mindmap)==null?void 0:S.padding)??Bl.mindmap.padding;switch(g){case V1.ROUNDED_RECT:case V1.RECT:case V1.HEXAGON:v*=2}const b={id:UHt++,nodeId:Ef(a,w),level:i,descr:Ef(f,w),type:g,children:[],width:((_=w.mindmap)==null?void 0:_.maxNodeWidth)??Bl.mindmap.maxNodeWidth,padding:v},E=Qtn(i);if(E)E.children.push(b),ry.push(b);else if(ry.length===0)ry.push(b);else throw new Error('There can be only one root. No parent could be found for ("'+b.descr+'")')},V1={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},ten={clear:Xtn,addNode:Ztn,getMindmap:Jtn,nodeType:V1,getType:(i,a)=>{switch(Kt.debug("In get type",i,a),i){case"[":return V1.RECT;case"(":return a===")"?V1.ROUNDED_RECT:V1.CLOUD;case"((":return V1.CIRCLE;case")":return V1.CLOUD;case"))":return V1.BANG;case"{{":return V1.HEXAGON;default:return V1.DEFAULT}},setElementForId:(i,a)=>{g2t[i]=a},decorateNode:i=>{if(!i)return;const a=Re(),f=ry[ry.length-1];i.icon&&(f.icon=Ef(i.icon,a)),i.class&&(f.class=Ef(i.class,a))},type2Str:i=>{switch(i){case V1.DEFAULT:return"no-border";case V1.RECT:return"rect";case V1.ROUNDED_RECT:return"rounded-rect";case V1.CIRCLE:return"circle";case V1.CLOUD:return"cloud";case V1.BANG:return"bang";case V1.HEXAGON:return"hexgon";default:return"no-border"}},getLogger:()=>Kt,getElementById:i=>g2t[i]};var GHt={exports:{}};(function(i,a){(function(f,g){i.exports=g()})(Z0,function(){function f(y){"@babel/helpers - typeof";return f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(p){return typeof p}:function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p},f(y)}function g(y,p){if(!(y instanceof p))throw new TypeError("Cannot call a class as a function")}function w(y,p){for(var x=0;x<p.length;x++){var C=p[x];C.enumerable=C.enumerable||!1,C.configurable=!0,"value"in C&&(C.writable=!0),Object.defineProperty(y,C.key,C)}}function v(y,p,x){return p&&w(y.prototype,p),x&&w(y,x),Object.defineProperty(y,"prototype",{writable:!1}),y}function b(y,p,x){return p in y?Object.defineProperty(y,p,{value:x,enumerable:!0,configurable:!0,writable:!0}):y[p]=x,y}function E(y,p){return S(y)||_(y,p)||M(y,p)||R()}function S(y){if(Array.isArray(y))return y}function _(y,p){var x=y==null?null:typeof Symbol<"u"&&y[Symbol.iterator]||y["@@iterator"];if(x!=null){var C=[],L=!0,O=!1,N,j;try{for(x=x.call(y);!(L=(N=x.next()).done)&&(C.push(N.value),!(p&&C.length===p));L=!0);}catch(H){O=!0,j=H}finally{try{!L&&x.return!=null&&x.return()}finally{if(O)throw j}}return C}}function M(y,p){if(y){if(typeof y=="string")return F(y,p);var x=Object.prototype.toString.call(y).slice(8,-1);if(x==="Object"&&y.constructor&&(x=y.constructor.name),x==="Map"||x==="Set")return Array.from(y);if(x==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(x))return F(y,p)}}function F(y,p){(p==null||p>y.length)&&(p=y.length);for(var x=0,C=new Array(p);x<p;x++)C[x]=y[x];return C}function R(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1534 In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var B=typeof window>"u"?null:window,z=B?B.navigator:null;B&&B.document;var Y=f(""),nt=f({}),ot=f(function(){}),ft=typeof HTMLElement>"u"?"undefined":f(HTMLElement),wt=function(p){return p&&p.instanceString&&ct(p.instanceString)?p.instanceString():null},mt=function(p){return p!=null&&f(p)==Y},ct=function(p){return p!=null&&f(p)===ot},rt=function(p){return!yt(p)&&(Array.isArray?Array.isArray(p):p!=null&&p instanceof Array)},it=function(p){return p!=null&&f(p)===nt&&!rt(p)&&p.constructor===Object},gt=function(p){return p!=null&&f(p)===nt},Q=function(p){return p!=null&&f(p)===f(1)&&!isNaN(p)},dt=function(p){return Q(p)&&Math.floor(p)===p},K=function(p){if(ft!=="undefined")return p!=null&&p instanceof HTMLElement},yt=function(p){return V(p)||Ot(p)},V=function(p){return wt(p)==="collection"&&p._private.single},Ot=function(p){return wt(p)==="collection"&&!p._private.single},It=function(p){return wt(p)==="core"},jt=function(p){return wt(p)==="stylesheet"},xt=function(p){return wt(p)==="event"},Ft=function(p){return p==null?!0:!!(p===""||p.match(/^\s+$/))},Ct=function(p){return typeof HTMLElement>"u"?!1:p instanceof HTMLElement},kt=function(p){return it(p)&&Q(p.x1)&&Q(p.x2)&&Q(p.y1)&&Q(p.y2)},Gt=function(p){return gt(p)&&ct(p.then)},Fe=function(){return z&&z.userAgent.match(/msie|trident|edge/i)},Mt=function(p,x){x||(x=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var O=[],N=0;N<arguments.length;N++)O.push(arguments[N]);return O.join("$")});var C=function L(){var O=this,N=arguments,j,H=x.apply(O,N),q=L.cache;return(j=q[H])||(j=q[H]=p.apply(O,N)),j};return C.cache={},C},pn=Mt(function(y){return y.replace(/([A-Z])/g,function(p){return"-"+p.toLowerCase()})}),Ae=Mt(function(y){return y.replace(/(-\w)/g,function(p){return p[1].toUpperCase()})}),ye=Mt(function(y,p){return y+p[0].toUpperCase()+p.substring(1)},function(y,p){return y+"$"+p}),tn=function(p){return Ft(p)?p:p.charAt(0).toUpperCase()+p.substring(1)},sn="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",be="rgb[a]?\\(("+sn+"[%]?)\\s*,\\s*("+sn+"[%]?)\\s*,\\s*("+sn+"[%]?)(?:\\s*,\\s*("+sn+"))?\\)",Ne="rgb[a]?\\((?:"+sn+"[%]?)\\s*,\\s*(?:"+sn+"[%]?)\\s*,\\s*(?:"+sn+"[%]?)(?:\\s*,\\s*(?:"+sn+"))?\\)",Xt="hsl[a]?\\(("+sn+")\\s*,\\s*("+sn+"[%])\\s*,\\s*("+sn+"[%])(?:\\s*,\\s*("+sn+"))?\\)",_e="hsl[a]?\\((?:"+sn+")\\s*,\\s*(?:"+sn+"[%])\\s*,\\s*(?:"+sn+"[%])(?:\\s*,\\s*(?:"+sn+"))?\\)",xe="\\#[0-9a-fA-F]{3}",Mn="\\#[0-9a-fA-F]{6}",ce=function(p,x){return p<x?-1:p>x?1:0},Br=function(p,x){return-1*ce(p,x)},we=Object.assign!=null?Object.assign.bind(Object):function(y){for(var p=arguments,x=1;x<p.length;x++){var C=p[x];if(C!=null)for(var L=Object.keys(C),O=0;O<L.length;O++){var N=L[O];y[N]=C[N]}}return y},Fi=function(p){if(!(!(p.length===4||p.length===7)||p[0]!=="#")){var x=p.length===4,C,L,O,N=16;return x?(C=parseInt(p[1]+p[1],N),L=parseInt(p[2]+p[2],N),O=parseInt(p[3]+p[3],N)):(C=parseInt(p[1]+p[2],N),L=parseInt(p[3]+p[4],N),O=parseInt(p[5]+p[6],N)),[C,L,O]}},mi=function(p){var x,C,L,O,N,j,H,q;function W(pt,_t,St){return St<0&&(St+=1),St>1&&(St-=1),St<1/6?pt+(_t-pt)*6*St:St<1/2?_t:St<2/3?pt+(_t-pt)*(2/3-St)*6:pt}var Z=new RegExp("^"+Xt+"$").exec(p);if(Z){if(C=parseInt(Z[1]),C<0?C=(360- -1*C%360)%360:C>360&&(C=C%360),C/=360,L=parseFloat(Z[2]),L<0||L>100||(L=L/100,O=parseFloat(Z[3]),O<0||O>100)||(O=O/100,N=Z[4],N!==void 0&&(N=parseFloat(N),N<0||N>1)))return;if(L===0)j=H=q=Math.round(O*255);else{var st=O<.5?O*(1+L):O+L-O*L,bt=2*O-st;j=Math.round(255*W(bt,st,C+1/3)),H=Math.round(255*W(bt,st,C)),q=Math.round(255*W(bt,st,C-1/3))}x=[j,H,q,N]}return x},ga=function(p){var x,C=new RegExp("^"+be+"$").exec(p);if(C){x=[];for(var L=[],O=1;O<=3;O++){var N=C[O];if(N[N.length-1]==="%"&&(L[O]=!0),N=parseFloat(N),L[O]&&(N=N/100*255),N<0||N>255)return;x.push(Math.floor(N))}var j=L[1]||L[2]||L[3],H=L[1]&&L[2]&&L[3];if(j&&!H)return;var q=C[4];if(q!==void 0){if(q=parseFloat(q),q<0||q>1)return;x.push(q)}}return x},Ss=function(p){return br[p.toLowerCase()]},za=function(p){return(rt(p)?p:null)||Ss(p)||Fi(p)||ga(p)||mi(p)},br={transparent:[0,0,0,0],aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},An=function(p){for(var x=p.map,C=p.keys,L=C.length,O=0;O<L;O++){var N=C[O];if(it(N))throw Error("Tried to set map with object key");O<C.length-1?(x[N]==null&&(x[N]={}),x=x[N]):x[N]=p.value}},Nn=function(p){for(var x=p.map,C=p.keys,L=C.length,O=0;O<L;O++){var N=C[O];if(it(N))throw Error("Tried to get map with object key");if(x=x[N],x==null)return x}return x};function Bn(y){var p=typeof y;return y!=null&&(p=="object"||p=="function")}var ke=Bn,pe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof Z0<"u"?Z0:typeof self<"u"?self:{};function Je(y,p){return p={exports:{}},y(p,p.exports),p.exports}var an=typeof pe=="object"&&pe&&pe.Object===Object&&pe,xn=an,qa=typeof self=="object"&&self&&self.Object===Object&&self,xo=xn||qa||Function("return this")(),ko=xo,va=function(){return ko.Date.now()},Ha=va,ds=/\s/;function Fu(y){for(var p=y.length;p--&&ds.test(y.charAt(p)););return p}var Zs=Fu,d1=/^\s+/;function I2(y){return y&&y.slice(0,Zs(y)+1).replace(d1,"")}var ll=I2,Ic=ko.Symbol,wc=Ic,Ea=Object.prototype,gu=Ea.hasOwnProperty,ta=Ea.toString,fo=wc?wc.toStringTag:void 0;function mc(y){var p=gu.call(y,fo),x=y[fo];try{y[fo]=void 0;var C=!0}catch{}var L=ta.call(y);return C&&(p?y[fo]=x:delete y[fo]),L}var ca=mc,ya=Object.prototype,ea=ya.toString;function Zl(y){return ea.call(y)}var Uc=Zl,rm="[object Null]",kh="[object Undefined]",Md=wc?wc.toStringTag:void 0;function w0(y){return y==null?y===void 0?kh:rm:Md&&Md in Object(y)?ca(y):Uc(y)}var Id=w0;function m0(y){return y!=null&&typeof y=="object"}var hg=m0,Gi="[object Symbol]";function cn(y){return typeof y=="symbol"||hg(y)&&Id(y)==Gi}var Nr=cn,Si=0/0,vc=/^[-+]0x[0-9a-f]+$/i,Rc=/^0b[01]+$/i,Eh=/^0o[0-7]+$/i,Zc=parseInt;function Qh(y){if(typeof y=="number")return y;if(Nr(y))return Si;if(ke(y)){var p=typeof y.valueOf=="function"?y.valueOf():y;y=ke(p)?p+"":p}if(typeof y!="string")return y===0?y:+y;y=ll(y);var x=Rc.test(y);return x||Eh.test(y)?Zc(y.slice(2),x?2:8):vc.test(y)?Si:+y}var Od=Qh,cs="Expected a function",As=Math.max,to=Math.min;function Ci(y,p,x){var C,L,O,N,j,H,q=0,W=!1,Z=!1,st=!0;if(typeof y!="function")throw new TypeError(cs);p=Od(p)||0,ke(x)&&(W=!!x.leading,Z="maxWait"in x,O=Z?As(Od(x.maxWait)||0,p):O,st="trailing"in x?!!x.trailing:st);function bt(ee){var Ut=C,de=L;return C=L=void 0,q=ee,N=y.apply(de,Ut),N}function pt(ee){return q=ee,j=setTimeout(Et,p),W?bt(ee):N}function _t(ee){var Ut=ee-H,de=ee-q,Yt=p-Ut;return Z?to(Yt,O-de):Yt}function St(ee){var Ut=ee-H,de=ee-q;return H===void 0||Ut>=p||Ut<0||Z&&de>=O}function Et(){var ee=Ha();if(St(ee))return Nt(ee);j=setTimeout(Et,_t(ee))}function Nt(ee){return j=void 0,st&&C?bt(ee):(C=L=void 0,N)}function Pt(){j!==void 0&&clearTimeout(j),q=0,C=H=L=j=void 0}function qt(){return j===void 0?N:Nt(Ha())}function re(){var ee=Ha(),Ut=St(ee);if(C=arguments,L=this,H=ee,Ut){if(j===void 0)return pt(H);if(Z)return clearTimeout(j),j=setTimeout(Et,p),bt(H)}return j===void 0&&(j=setTimeout(Et,p)),N}return re.cancel=Pt,re.flush=qt,re}var pu=Ci,Le=B?B.performance:null,iy=Le&&Le.now?function(){return Le.now()}:function(){return Date.now()},$e=function(){if(B){if(B.requestAnimationFrame)return function(y){B.requestAnimationFrame(y)};if(B.mozRequestAnimationFrame)return function(y){B.mozRequestAnimationFrame(y)};if(B.webkitRequestAnimationFrame)return function(y){B.webkitRequestAnimationFrame(y)};if(B.msRequestAnimationFrame)return function(y){B.msRequestAnimationFrame(y)}}return function(y){y&&setTimeout(function(){y(iy())},1e3/60)}}(),g1=function(p){return $e(p)},ip=iy,sy=9261,D8=65599,g4=5381,th=function(p){for(var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:sy,C=x,L;L=p.next(),!L.done;)C=C*D8+L.value|0;return C},fg=function(p){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:sy;return x*D8+p|0},O2=function(p){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:g4;return(x<<5)+x+p|0},M8=function(p,x){return p*2097152+x},N2=function(p){return p[0]*2097152+p[1]},p4=function(p,x){return[fg(p[0],x[0]),O2(p[1],x[1])]},U1=function(p,x){var C={value:0,done:!1},L=0,O=p.length,N={next:function(){return L<O?C.value=p[L++]:C.done=!0,C}};return th(N,x)},Nd=function(p,x){var C={value:0,done:!1},L=0,O=p.length,N={next:function(){return L<O?C.value=p.charCodeAt(L++):C.done=!0,C}};return th(N,x)},Pd=function(){return I8(arguments)},I8=function(p){for(var x,C=0;C<p.length;C++){var L=p[C];C===0?x=Nd(L):x=Nd(L,x)}return x},im=!0,Gx=console.warn!=null,hb=console.trace!=null,Kx=Number.MAX_SAFE_INTEGER||9007199254740991,b4=function(){return!0},ay=function(){return!1},sp=function(){return 0},BD=function(){},$l=function(p){throw new Error(p)},U9=function(p){if(p!==void 0)im=!!p;else return im},Gc=function(p){U9()&&(Gx?console.warn(p):(console.log(p),hb&&console.trace()))},$X=function(p){return we({},p)},P2=function(p){return p==null?p:rt(p)?p.slice():it(p)?$X(p):p},zX=function(p){return p.slice()},MB=function(p,x){for(x=p="";p++<36;x+=p*51&52?(p^15?8^Math.random()*(p^20?16:4):4).toString(16):"-");return x},qX={},IB=function(){return qX},p1=function(p){var x=Object.keys(p);return function(C){for(var L={},O=0;O<x.length;O++){var N=x[O],j=C==null?void 0:C[N];L[N]=j===void 0?p[N]:j}return L}},oy=function(p,x,C){for(var L=p.length-1;L>=0&&!(p[L]===x&&(p.splice(L,1),C));L--);},G9=function(p){p.splice(0,p.length)},OB=function(p,x){for(var C=0;C<x.length;C++){var L=x[C];p.push(L)}},fb=function(p,x,C){return C&&(x=ye(C,x)),p[x]},cy=function(p,x,C,L){C&&(x=ye(C,x)),p[x]=L},HX=function(){function y(){g(this,y),this._obj={}}return v(y,[{key:"set",value:function(x,C){return this._obj[x]=C,this}},{key:"delete",value:function(x){return this._obj[x]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(x){return this._obj[x]!==void 0}},{key:"get",value:function(x){return this._obj[x]}}]),y}(),F2=typeof Map<"u"?Map:HX,VX="undefined",UX=function(){function y(p){if(g(this,y),this._obj=Object.create(null),this.size=0,p!=null){var x;p.instanceString!=null&&p.instanceString()===this.instanceString()?x=p.toArray():x=p;for(var C=0;C<x.length;C++)this.add(x[C])}}return v(y,[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(x){var C=this._obj;C[x]!==1&&(C[x]=1,this.size++)}},{key:"delete",value:function(x){var C=this._obj;C[x]===1&&(C[x]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(x){return this._obj[x]===1}},{key:"toArray",value:function(){var x=this;return Object.keys(this._obj).filter(function(C){return x.has(C)})}},{key:"forEach",value:function(x,C){return this.toArray().forEach(x,C)}}]),y}(),Wx=(typeof Set>"u"?"undefined":f(Set))!==VX?Set:UX,K9=function(p,x){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(p===void 0||x===void 0||!It(p)){$l("An element must have a core reference and parameters set");return}var L=x.group;if(L==null&&(x.data&&x.data.source!=null&&x.data.target!=null?L="edges":L="nodes"),L!=="nodes"&&L!=="edges"){$l("An element must be of type `nodes` or `edges`; you specified `"+L+"`");return}this.length=1,this[0]=this;var O=this._private={cy:p,single:!0,data:x.data||{},position:x.position||{x:0,y:0},autoWidth:void 0,autoHeight:void 0,autoPadding:void 0,compoundBoundsClean:!1,listeners:[],group:L,style:{},rstyle:{},styleCxts:[],styleKeys:{},removed:!0,selected:!!x.selected,selectable:x.selectable===void 0?!0:!!x.selectable,locked:!!x.locked,grabbed:!1,grabbable:x.grabbable===void 0?!0:!!x.grabbable,pannable:x.pannable===void 0?L==="edges":!!x.pannable,active:!1,classes:new Wx,animation:{current:[],queue:[]},rscratch:{},scratch:x.scratch||{},edges:[],children:[],parent:x.parent&&x.parent.isNode()?x.parent:null,traversalCache:{},backgrounding:!1,bbCache:null,bbCacheShift:{x:0,y:0},bodyBounds:null,overlayBounds:null,labelBounds:{all:null,source:null,target:null,main:null},arrowBounds:{source:null,target:null,"mid-source":null,"mid-target":null}};if(O.position.x==null&&(O.position.x=0),O.position.y==null&&(O.position.y=0),x.renderedPosition){var N=x.renderedPosition,j=p.pan(),H=p.zoom();O.position={x:(N.x-j.x)/H,y:(N.y-j.y)/H}}var q=[];rt(x.classes)?q=x.classes:mt(x.classes)&&(q=x.classes.split(/\s+/));for(var W=0,Z=q.length;W<Z;W++){var st=q[W];!st||st===""||O.classes.add(st)}this.createEmitter();var bt=x.style||x.css;bt&&(Gc("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(bt)),(C===void 0||C)&&this.restore()},NB=function(p){return p={bfs:p.bfs||!p.dfs,dfs:p.dfs||!p.bfs},function(C,L,O){var N;it(C)&&!yt(C)&&(N=C,C=N.roots||N.root,L=N.visit,O=N.directed),O=arguments.length===2&&!ct(L)?L:O,L=ct(L)?L:function(){};for(var j=this._private.cy,H=C=mt(C)?this.filter(C):C,q=[],W=[],Z={},st={},bt={},pt=0,_t,St=this.byGroup(),Et=St.nodes,Nt=St.edges,Pt=0;Pt<H.length;Pt++){var qt=H[Pt],re=qt.id();qt.isNode()&&(q.unshift(qt),p.bfs&&(bt[re]=!0,W.push(qt)),st[re]=0)}for(var ee=function(){var ze=p.bfs?q.shift():q.pop(),me=ze.id();if(p.dfs){if(bt[me])return"continue";bt[me]=!0,W.push(ze)}var yn=st[me],nn=Z[me],qe=nn!=null?nn.source():null,Tn=nn!=null?nn.target():null,Xn=nn==null?void 0:ze.same(qe)?Tn[0]:qe[0],lr=void 0;if(lr=L(ze,nn,Xn,pt++,yn),lr===!0)return _t=ze,"break";if(lr===!1)return"break";for(var Sn=ze.connectedEdges().filter(function(Cr){return(!O||Cr.source().same(ze))&&Nt.has(Cr)}),or=0;or<Sn.length;or++){var pr=Sn[or],kr=pr.connectedNodes().filter(function(Cr){return!Cr.same(ze)&&Et.has(Cr)}),wr=kr.id();kr.length!==0&&!bt[wr]&&(kr=kr[0],q.push(kr),p.bfs&&(bt[wr]=!0,W.push(kr)),Z[wr]=pr,st[wr]=st[me]+1)}};q.length!==0;){var Ut=ee();if(Ut!=="continue"&&Ut==="break")break}for(var de=j.collection(),Yt=0;Yt<W.length;Yt++){var Ee=W[Yt],Te=Z[Ee.id()];Te!=null&&de.push(Te),de.push(Ee)}return{path:j.collection(de),found:j.collection(_t)}}},O8={breadthFirstSearch:NB({bfs:!0}),depthFirstSearch:NB({dfs:!0})};O8.bfs=O8.breadthFirstSearch,O8.dfs=O8.depthFirstSearch;var GX=Je(function(y,p){(function(){var x,C,L,O,N,j,H,q,W,Z,st,bt,pt,_t,St;L=Math.floor,Z=Math.min,C=function(Et,Nt){return Et<Nt?-1:Et>Nt?1:0},W=function(Et,Nt,Pt,qt,re){var ee;if(Pt==null&&(Pt=0),re==null&&(re=C),Pt<0)throw new Error("lo must be non-negative");for(qt==null&&(qt=Et.length);Pt<qt;)ee=L((Pt+qt)/2),re(Nt,Et[ee])<0?qt=ee:Pt=ee+1;return[].splice.apply(Et,[Pt,Pt-Pt].concat(Nt)),Nt},j=function(Et,Nt,Pt){return Pt==null&&(Pt=C),Et.push(Nt),_t(Et,0,Et.length-1,Pt)},N=function(Et,Nt){var Pt,qt;return Nt==null&&(Nt=C),Pt=Et.pop(),Et.length?(qt=Et[0],Et[0]=Pt,St(Et,0,Nt)):qt=Pt,qt},q=function(Et,Nt,Pt){var qt;return Pt==null&&(Pt=C),qt=Et[0],Et[0]=Nt,St(Et,0,Pt),qt},H=function(Et,Nt,Pt){var qt;return Pt==null&&(Pt=C),Et.length&&Pt(Et[0],Nt)<0&&(qt=[Et[0],Nt],Nt=qt[0],Et[0]=qt[1],St(Et,0,Pt)),Nt},O=function(Et,Nt){var Pt,qt,re,ee,Ut,de;for(Nt==null&&(Nt=C),ee=(function(){de=[];for(var Yt=0,Ee=L(Et.length/2);0<=Ee?Yt<Ee:Yt>Ee;0<=Ee?Yt++:Yt--)de.push(Yt);return de}).apply(this).reverse(),Ut=[],qt=0,re=ee.length;qt<re;qt++)Pt=ee[qt],Ut.push(St(Et,Pt,Nt));return Ut},pt=function(Et,Nt,Pt){var qt;if(Pt==null&&(Pt=C),qt=Et.indexOf(Nt),qt!==-1)return _t(Et,0,qt,Pt),St(Et,qt,Pt)},st=function(Et,Nt,Pt){var qt,re,ee,Ut,de;if(Pt==null&&(Pt=C),re=Et.slice(0,Nt),!re.length)return re;for(O(re,Pt),de=Et.slice(Nt),ee=0,Ut=de.length;ee<Ut;ee++)qt=de[ee],H(re,qt,Pt);return re.sort(Pt).reverse()},bt=function(Et,Nt,Pt){var qt,re,ee,Ut,de,Yt,Ee,Te,ie;if(Pt==null&&(Pt=C),Nt*10<=Et.length){if(ee=Et.slice(0,Nt).sort(Pt),!ee.length)return ee;for(re=ee[ee.length-1],Ee=Et.slice(Nt),Ut=0,Yt=Ee.length;Ut<Yt;Ut++)qt=Ee[Ut],Pt(qt,re)<0&&(W(ee,qt,0,null,Pt),ee.pop(),re=ee[ee.length-1]);return ee}for(O(Et,Pt),ie=[],de=0,Te=Z(Nt,Et.length);0<=Te?de<Te:de>Te;0<=Te?++de:--de)ie.push(N(Et,Pt));return ie},_t=function(Et,Nt,Pt,qt){var re,ee,Ut;for(qt==null&&(qt=C),re=Et[Pt];Pt>Nt;){if(Ut=Pt-1>>1,ee=Et[Ut],qt(re,ee)<0){Et[Pt]=ee,Pt=Ut;continue}break}return Et[Pt]=re},St=function(Et,Nt,Pt){var qt,re,ee,Ut,de;for(Pt==null&&(Pt=C),re=Et.length,de=Nt,ee=Et[Nt],qt=2*Nt+1;qt<re;)Ut=qt+1,Ut<re&&!(Pt(Et[qt],Et[Ut])<0)&&(qt=Ut),Et[Nt]=Et[qt],Nt=qt,qt=2*Nt+1;return Et[Nt]=ee,_t(Et,de,Nt,Pt)},x=function(){Et.push=j,Et.pop=N,Et.replace=q,Et.pushpop=H,Et.heapify=O,Et.updateItem=pt,Et.nlargest=st,Et.nsmallest=bt;function Et(Nt){this.cmp=Nt??C,this.nodes=[]}return Et.prototype.push=function(Nt){return j(this.nodes,Nt,this.cmp)},Et.prototype.pop=function(){return N(this.nodes,this.cmp)},Et.prototype.peek=function(){return this.nodes[0]},Et.prototype.contains=function(Nt){return this.nodes.indexOf(Nt)!==-1},Et.prototype.replace=function(Nt){return q(this.nodes,Nt,this.cmp)},Et.prototype.pushpop=function(Nt){return H(this.nodes,Nt,this.cmp)},Et.prototype.heapify=function(){return O(this.nodes,this.cmp)},Et.prototype.updateItem=function(Nt){return pt(this.nodes,Nt,this.cmp)},Et.prototype.clear=function(){return this.nodes=[]},Et.prototype.empty=function(){return this.nodes.length===0},Et.prototype.size=function(){return this.nodes.length},Et.prototype.clone=function(){var Nt;return Nt=new Et,Nt.nodes=this.nodes.slice(0),Nt},Et.prototype.toArray=function(){return this.nodes.slice(0)},Et.prototype.insert=Et.prototype.push,Et.prototype.top=Et.prototype.peek,Et.prototype.front=Et.prototype.peek,Et.prototype.has=Et.prototype.contains,Et.prototype.copy=Et.prototype.clone,Et}(),function(Et,Nt){return y.exports=Nt()}(this,function(){return x})}).call(pe)}),N8=GX,KX=p1({root:null,weight:function(p){return 1},directed:!1}),WX={dijkstra:function(p){if(!it(p)){var x=arguments;p={root:x[0],weight:x[1],directed:x[2]}}var C=KX(p),L=C.root,O=C.weight,N=C.directed,j=this,H=O,q=mt(L)?this.filter(L)[0]:L[0],W={},Z={},st={},bt=this.byGroup(),pt=bt.nodes,_t=bt.edges;_t.unmergeBy(function(yn){return yn.isLoop()});for(var St=function(nn){return W[nn.id()]},Et=function(nn,qe){W[nn.id()]=qe,Nt.updateItem(nn)},Nt=new N8(function(yn,nn){return St(yn)-St(nn)}),Pt=0;Pt<pt.length;Pt++){var qt=pt[Pt];W[qt.id()]=qt.same(q)?0:1/0,Nt.push(qt)}for(var re=function(nn,qe){for(var Tn=(N?nn.edgesTo(qe):nn.edgesWith(qe)).intersect(_t),Xn=1/0,lr,Sn=0;Sn<Tn.length;Sn++){var or=Tn[Sn],pr=H(or);(pr<Xn||!lr)&&(Xn=pr,lr=or)}return{edge:lr,dist:Xn}};Nt.size()>0;){var ee=Nt.pop(),Ut=St(ee),de=ee.id();if(st[de]=Ut,Ut!==1/0)for(var Yt=ee.neighborhood().intersect(pt),Ee=0;Ee<Yt.length;Ee++){var Te=Yt[Ee],ie=Te.id(),ze=re(ee,Te),me=Ut+ze.dist;me<St(Te)&&(Et(Te,me),Z[ie]={node:ee,edge:ze.edge})}}return{distanceTo:function(nn){var qe=mt(nn)?pt.filter(nn)[0]:nn[0];return st[qe.id()]},pathTo:function(nn){var qe=mt(nn)?pt.filter(nn)[0]:nn[0],Tn=[],Xn=qe,lr=Xn.id();if(qe.length>0)for(Tn.unshift(qe);Z[lr];){var Sn=Z[lr];Tn.unshift(Sn.edge),Tn.unshift(Sn.node),Xn=Sn.node,lr=Xn.id()}return j.spawn(Tn)}}}},YX={kruskal:function(p){p=p||function(Pt){return 1};for(var x=this.byGroup(),C=x.nodes,L=x.edges,O=C.length,N=new Array(O),j=C,H=function(qt){for(var re=0;re<N.length;re++){var ee=N[re];if(ee.has(qt))return re}},q=0;q<O;q++)N[q]=this.spawn(C[q]);for(var W=L.sort(function(Pt,qt){return p(Pt)-p(qt)}),Z=0;Z<W.length;Z++){var st=W[Z],bt=st.source()[0],pt=st.target()[0],_t=H(bt),St=H(pt),Et=N[_t],Nt=N[St];_t!==St&&(j.merge(st),Et.merge(Nt),N.splice(St,1))}return j}},XX=p1({root:null,goal:null,weight:function(p){return 1},heuristic:function(p){return 0},directed:!1}),QX={aStar:function(p){var x=this.cy(),C=XX(p),L=C.root,O=C.goal,N=C.heuristic,j=C.directed,H=C.weight;L=x.collection(L)[0],O=x.collection(O)[0];var q=L.id(),W=O.id(),Z={},st={},bt={},pt=new N8(function(lr,Sn){return st[lr.id()]-st[Sn.id()]}),_t=new Wx,St={},Et={},Nt=function(Sn,or){pt.push(Sn),_t.add(or)},Pt,qt,re=function(){Pt=pt.pop(),qt=Pt.id(),_t.delete(qt)},ee=function(Sn){return _t.has(Sn)};Nt(L,q),Z[q]=0,st[q]=N(L);for(var Ut=0;pt.size()>0;){if(re(),Ut++,qt===W){for(var de=[],Yt=O,Ee=W,Te=Et[Ee];de.unshift(Yt),Te!=null&&de.unshift(Te),Yt=St[Ee],Yt!=null;)Ee=Yt.id(),Te=Et[Ee];return{found:!0,distance:Z[qt],path:this.spawn(de),steps:Ut}}bt[qt]=!0;for(var ie=Pt._private.edges,ze=0;ze<ie.length;ze++){var me=ie[ze];if(this.hasElementWithId(me.id())&&!(j&&me.data("source")!==qt)){var yn=me.source(),nn=me.target(),qe=yn.id()!==qt?yn:nn,Tn=qe.id();if(this.hasElementWithId(Tn)&&!bt[Tn]){var Xn=Z[qt]+H(me);if(!ee(Tn)){Z[Tn]=Xn,st[Tn]=Xn+N(qe),Nt(qe,Tn),St[Tn]=Pt,Et[Tn]=me;continue}Xn<Z[Tn]&&(Z[Tn]=Xn,st[Tn]=Xn+N(qe),St[Tn]=Pt,Et[Tn]=me)}}}}return{found:!1,distance:void 0,path:void 0,steps:Ut}}},JX=p1({weight:function(p){return 1},directed:!1}),ZX={floydWarshall:function(p){for(var x=this.cy(),C=JX(p),L=C.weight,O=C.directed,N=L,j=this.byGroup(),H=j.nodes,q=j.edges,W=H.length,Z=W*W,st=function(pr){return H.indexOf(pr)},bt=function(pr){return H[pr]},pt=new Array(Z),_t=0;_t<Z;_t++){var St=_t%W,Et=(_t-St)/W;Et===St?pt[_t]=0:pt[_t]=1/0}for(var Nt=new Array(Z),Pt=new Array(Z),qt=0;qt<q.length;qt++){var re=q[qt],ee=re.source()[0],Ut=re.target()[0];if(ee!==Ut){var de=st(ee),Yt=st(Ut),Ee=de*W+Yt,Te=N(re);if(pt[Ee]>Te&&(pt[Ee]=Te,Nt[Ee]=Yt,Pt[Ee]=re),!O){var ie=Yt*W+de;!O&&pt[ie]>Te&&(pt[ie]=Te,Nt[ie]=de,Pt[ie]=re)}}}for(var ze=0;ze<W;ze++)for(var me=0;me<W;me++)for(var yn=me*W+ze,nn=0;nn<W;nn++){var qe=me*W+nn,Tn=ze*W+nn;pt[yn]+pt[Tn]<pt[qe]&&(pt[qe]=pt[yn]+pt[Tn],Nt[qe]=Nt[yn])}var Xn=function(pr){return(mt(pr)?x.filter(pr):pr)[0]},lr=function(pr){return st(Xn(pr))},Sn={distance:function(pr,kr){var wr=lr(pr),Cr=lr(kr);return pt[wr*W+Cr]},path:function(pr,kr){var wr=lr(pr),Cr=lr(kr),$n=bt(wr);if(wr===Cr)return $n.collection();if(Nt[wr*W+Cr]==null)return x.collection();var cr=x.collection(),mr=wr,Sr;for(cr.merge($n);wr!==Cr;)mr=wr,wr=Nt[wr*W+Cr],Sr=Pt[mr*W+wr],cr.merge(Sr),cr.merge(bt(wr));return cr}};return Sn}},tQ=p1({weight:function(p){return 1},directed:!1,root:null}),eQ={bellmanFord:function(p){var x=this,C=tQ(p),L=C.weight,O=C.directed,N=C.root,j=L,H=this,q=this.cy(),W=this.byGroup(),Z=W.edges,st=W.nodes,bt=st.length,pt=new F2,_t=!1,St=[];N=q.collection(N)[0],Z.unmergeBy(function(ks){return ks.isLoop()});for(var Et=Z.length,Nt=function(as){var Es=pt.get(as.id());return Es||(Es={},pt.set(as.id(),Es)),Es},Pt=function(as){return(mt(as)?q.$(as):as)[0]},qt=function(as){return Nt(Pt(as)).dist},re=function(as){for(var Es=arguments.length>1&&arguments[1]!==void 0?arguments[1]:N,eo=Pt(as),Ta=[],pa=eo;;){if(pa==null)return x.spawn();var mo=Nt(pa),Kn=mo.edge,G=mo.pred;if(Ta.unshift(pa[0]),pa.same(Es)&&Ta.length>0)break;Kn!=null&&Ta.unshift(Kn),pa=G}return H.spawn(Ta)},ee=0;ee<bt;ee++){var Ut=st[ee],de=Nt(Ut);Ut.same(N)?de.dist=0:de.dist=1/0,de.pred=null,de.edge=null}for(var Yt=!1,Ee=function(as,Es,eo,Ta,pa,mo){var Kn=Ta.dist+mo;Kn<pa.dist&&!eo.same(Ta.edge)&&(pa.dist=Kn,pa.pred=as,pa.edge=eo,Yt=!0)},Te=1;Te<bt;Te++){Yt=!1;for(var ie=0;ie<Et;ie++){var ze=Z[ie],me=ze.source(),yn=ze.target(),nn=j(ze),qe=Nt(me),Tn=Nt(yn);Ee(me,yn,ze,qe,Tn,nn),O||Ee(yn,me,ze,Tn,qe,nn)}if(!Yt)break}if(Yt)for(var Xn=[],lr=0;lr<Et;lr++){var Sn=Z[lr],or=Sn.source(),pr=Sn.target(),kr=j(Sn),wr=Nt(or).dist,Cr=Nt(pr).dist;if(wr+kr<Cr||!O&&Cr+kr<wr)if(_t||(Gc("Graph contains a negative weight cycle for Bellman-Ford"),_t=!0),p.findNegativeWeightCycles!==!1){var $n=[];wr+kr<Cr&&$n.push(or),!O&&Cr+kr<wr&&$n.push(pr);for(var cr=$n.length,mr=0;mr<cr;mr++){var Sr=$n[mr],gi=[Sr];gi.push(Nt(Sr).edge);for(var ss=Nt(Sr).pred;gi.indexOf(ss)===-1;)gi.push(ss),gi.push(Nt(ss).edge),ss=Nt(ss).pred;gi=gi.slice(gi.indexOf(ss));for(var na=gi[0].id(),vi=0,si=2;si<gi.length;si+=2)gi[si].id()<na&&(na=gi[si].id(),vi=si);gi=gi.slice(vi).concat(gi.slice(0,vi)),gi.push(gi[0]);var Qi=gi.map(function(ks){return ks.id()}).join(",");Xn.indexOf(Qi)===-1&&(St.push(H.spawn(gi)),Xn.push(Qi))}}else break}return{distanceTo:qt,pathTo:re,hasNegativeWeightCycle:_t,negativeWeightCycles:St}}},nQ=Math.sqrt(2),rQ=function(p,x,C){C.length===0&&$l("Karger-Stein must be run on a connected (sub)graph");for(var L=C[p],O=L[1],N=L[2],j=x[O],H=x[N],q=C,W=q.length-1;W>=0;W--){var Z=q[W],st=Z[1],bt=Z[2];(x[st]===j&&x[bt]===H||x[st]===H&&x[bt]===j)&&q.splice(W,1)}for(var pt=0;pt<q.length;pt++){var _t=q[pt];_t[1]===H?(q[pt]=_t.slice(),q[pt][1]=j):_t[2]===H&&(q[pt]=_t.slice(),q[pt][2]=j)}for(var St=0;St<x.length;St++)x[St]===H&&(x[St]=j);return q},RD=function(p,x,C,L){for(;C>L;){var O=Math.floor(Math.random()*x.length);x=rQ(O,p,x),C--}return x},iQ={kargerStein:function(){var p=this,x=this.byGroup(),C=x.nodes,L=x.edges;L.unmergeBy(function(Tn){return Tn.isLoop()});var O=C.length,N=L.length,j=Math.ceil(Math.pow(Math.log(O)/Math.LN2,2)),H=Math.floor(O/nQ);if(O<2){$l("At least 2 nodes are required for Karger-Stein algorithm");return}for(var q=[],W=0;W<N;W++){var Z=L[W];q.push([W,C.indexOf(Z.source()),C.indexOf(Z.target())])}for(var st=1/0,bt=[],pt=new Array(O),_t=new Array(O),St=new Array(O),Et=function(Xn,lr){for(var Sn=0;Sn<O;Sn++)lr[Sn]=Xn[Sn]},Nt=0;Nt<=j;Nt++){for(var Pt=0;Pt<O;Pt++)_t[Pt]=Pt;var qt=RD(_t,q.slice(),O,H),re=qt.slice();Et(_t,St);var ee=RD(_t,qt,H,2),Ut=RD(St,re,H,2);ee.length<=Ut.length&&ee.length<st?(st=ee.length,bt=ee,Et(_t,pt)):Ut.length<=ee.length&&Ut.length<st&&(st=Ut.length,bt=Ut,Et(St,pt))}for(var de=this.spawn(bt.map(function(Tn){return L[Tn[0]]})),Yt=this.spawn(),Ee=this.spawn(),Te=pt[0],ie=0;ie<pt.length;ie++){var ze=pt[ie],me=C[ie];ze===Te?Yt.merge(me):Ee.merge(me)}var yn=function(Xn){var lr=p.spawn();return Xn.forEach(function(Sn){lr.merge(Sn),Sn.connectedEdges().forEach(function(or){p.contains(or)&&!de.contains(or)&&lr.merge(or)})}),lr},nn=[yn(Yt),yn(Ee)],qe={cut:de,components:nn,partition1:Yt,partition2:Ee};return qe}},sQ=function(p){return{x:p.x,y:p.y}},W9=function(p,x,C){return{x:p.x*x+C.x,y:p.y*x+C.y}},PB=function(p,x,C){return{x:(p.x-C.x)/x,y:(p.y-C.y)/x}},Yx=function(p){return{x:p[0],y:p[1]}},aQ=function(p){for(var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:p.length,L=1/0,O=x;O<C;O++){var N=p[O];isFinite(N)&&(L=Math.min(N,L))}return L},oQ=function(p){for(var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:p.length,L=-1/0,O=x;O<C;O++){var N=p[O];isFinite(N)&&(L=Math.max(N,L))}return L},cQ=function(p){for(var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:p.length,L=0,O=0,N=x;N<C;N++){var j=p[N];isFinite(j)&&(L+=j,O++)}return L/O},uQ=function(p){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:p.length,L=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,O=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,N=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;L?p=p.slice(x,C):(C<p.length&&p.splice(C,p.length-C),x>0&&p.splice(0,x));for(var j=0,H=p.length-1;H>=0;H--){var q=p[H];N?isFinite(q)||(p[H]=-1/0,j++):p.splice(H,1)}O&&p.sort(function(st,bt){return st-bt});var W=p.length,Z=Math.floor(W/2);return W%2!==0?p[Z+1+j]:(p[Z-1+j]+p[Z+j])/2},lQ=function(p){return Math.PI*p/180},Y9=function(p,x){return Math.atan2(x,p)-Math.PI/2},jD=Math.log2||function(y){return Math.log(y)/Math.log(2)},FB=function(p){return p>0?1:p<0?-1:0},w4=function(p,x){return Math.sqrt(m4(p,x))},m4=function(p,x){var C=x.x-p.x,L=x.y-p.y;return C*C+L*L},hQ=function(p){for(var x=p.length,C=0,L=0;L<x;L++)C+=p[L];for(var O=0;O<x;O++)p[O]=p[O]/C;return p},Lf=function(p,x,C,L){return(1-L)*(1-L)*p+2*(1-L)*L*x+L*L*C},Xx=function(p,x,C,L){return{x:Lf(p.x,x.x,C.x,L),y:Lf(p.y,x.y,C.y,L)}},fQ=function(p,x,C,L){var O={x:x.x-p.x,y:x.y-p.y},N=w4(p,x),j={x:O.x/N,y:O.y/N};return C=C??0,L=L??C*N,{x:p.x+j.x*L,y:p.y+j.y*L}},P8=function(p,x,C){return Math.max(p,Math.min(C,x))},v0=function(p){if(p==null)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(p.x1!=null&&p.y1!=null){if(p.x2!=null&&p.y2!=null&&p.x2>=p.x1&&p.y2>=p.y1)return{x1:p.x1,y1:p.y1,x2:p.x2,y2:p.y2,w:p.x2-p.x1,h:p.y2-p.y1};if(p.w!=null&&p.h!=null&&p.w>=0&&p.h>=0)return{x1:p.x1,y1:p.y1,x2:p.x1+p.w,y2:p.y1+p.h,w:p.w,h:p.h}}},dQ=function(p){return{x1:p.x1,x2:p.x2,w:p.w,y1:p.y1,y2:p.y2,h:p.h}},gQ=function(p){p.x1=1/0,p.y1=1/0,p.x2=-1/0,p.y2=-1/0,p.w=0,p.h=0},pQ=function(p,x,C){return{x1:p.x1+x,x2:p.x2+x,y1:p.y1+C,y2:p.y2+C,w:p.w,h:p.h}},BB=function(p,x){p.x1=Math.min(p.x1,x.x1),p.x2=Math.max(p.x2,x.x2),p.w=p.x2-p.x1,p.y1=Math.min(p.y1,x.y1),p.y2=Math.max(p.y2,x.y2),p.h=p.y2-p.y1},bQ=function(p,x,C){p.x1=Math.min(p.x1,x),p.x2=Math.max(p.x2,x),p.w=p.x2-p.x1,p.y1=Math.min(p.y1,C),p.y2=Math.max(p.y2,C),p.h=p.y2-p.y1},X9=function(p){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return p.x1-=x,p.x2+=x,p.y1-=x,p.y2+=x,p.w=p.x2-p.x1,p.h=p.y2-p.y1,p},Q9=function(p){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],C,L,O,N;if(x.length===1)C=L=O=N=x[0];else if(x.length===2)C=O=x[0],N=L=x[1];else if(x.length===4){var j=E(x,4);C=j[0],L=j[1],O=j[2],N=j[3]}return p.x1-=N,p.x2+=L,p.y1-=C,p.y2+=O,p.w=p.x2-p.x1,p.h=p.y2-p.y1,p},RB=function(p,x){p.x1=x.x1,p.y1=x.y1,p.x2=x.x2,p.y2=x.y2,p.w=p.x2-p.x1,p.h=p.y2-p.y1},$D=function(p,x){return!(p.x1>x.x2||x.x1>p.x2||p.x2<x.x1||x.x2<p.x1||p.y2<x.y1||x.y2<p.y1||p.y1>x.y2||x.y1>p.y2)},Qx=function(p,x,C){return p.x1<=x&&x<=p.x2&&p.y1<=C&&C<=p.y2},wQ=function(p,x){return Qx(p,x.x,x.y)},jB=function(p,x){return Qx(p,x.x1,x.y1)&&Qx(p,x.x2,x.y2)},$B=function(p,x,C,L,O,N,j){var H=R8(O,N),q=O/2,W=N/2,Z;{var st=C-q+H-j,bt=L-W-j,pt=C+q-H+j,_t=bt;if(Z=uy(p,x,C,L,st,bt,pt,_t,!1),Z.length>0)return Z}{var St=C+q+j,Et=L-W+H-j,Nt=St,Pt=L+W-H+j;if(Z=uy(p,x,C,L,St,Et,Nt,Pt,!1),Z.length>0)return Z}{var qt=C-q+H-j,re=L+W+j,ee=C+q-H+j,Ut=re;if(Z=uy(p,x,C,L,qt,re,ee,Ut,!1),Z.length>0)return Z}{var de=C-q-j,Yt=L-W+H-j,Ee=de,Te=L+W-H+j;if(Z=uy(p,x,C,L,de,Yt,Ee,Te,!1),Z.length>0)return Z}var ie;{var ze=C-q+H,me=L-W+H;if(ie=F8(p,x,C,L,ze,me,H+j),ie.length>0&&ie[0]<=ze&&ie[1]<=me)return[ie[0],ie[1]]}{var yn=C+q-H,nn=L-W+H;if(ie=F8(p,x,C,L,yn,nn,H+j),ie.length>0&&ie[0]>=yn&&ie[1]<=nn)return[ie[0],ie[1]]}{var qe=C+q-H,Tn=L+W-H;if(ie=F8(p,x,C,L,qe,Tn,H+j),ie.length>0&&ie[0]>=qe&&ie[1]>=Tn)return[ie[0],ie[1]]}{var Xn=C-q+H,lr=L+W-H;if(ie=F8(p,x,C,L,Xn,lr,H+j),ie.length>0&&ie[0]<=Xn&&ie[1]>=lr)return[ie[0],ie[1]]}return[]},mQ=function(p,x,C,L,O,N,j){var H=j,q=Math.min(C,O),W=Math.max(C,O),Z=Math.min(L,N),st=Math.max(L,N);return q-H<=p&&p<=W+H&&Z-H<=x&&x<=st+H},vQ=function(p,x,C,L,O,N,j,H,q){var W={x1:Math.min(C,j,O)-q,x2:Math.max(C,j,O)+q,y1:Math.min(L,H,N)-q,y2:Math.max(L,H,N)+q};return!(p<W.x1||p>W.x2||x<W.y1||x>W.y2)},yQ=function(p,x,C,L){C-=L;var O=x*x-4*p*C;if(O<0)return[];var N=Math.sqrt(O),j=2*p,H=(-x+N)/j,q=(-x-N)/j;return[H,q]},xQ=function(p,x,C,L,O){var N=1e-5;p===0&&(p=N),x/=p,C/=p,L/=p;var j,H,q,W,Z,st,bt,pt;if(H=(3*C-x*x)/9,q=-(27*L)+x*(9*C-2*(x*x)),q/=54,j=H*H*H+q*q,O[1]=0,bt=x/3,j>0){Z=q+Math.sqrt(j),Z=Z<0?-Math.pow(-Z,1/3):Math.pow(Z,1/3),st=q-Math.sqrt(j),st=st<0?-Math.pow(-st,1/3):Math.pow(st,1/3),O[0]=-bt+Z+st,bt+=(Z+st)/2,O[4]=O[2]=-bt,bt=Math.sqrt(3)*(-st+Z)/2,O[3]=bt,O[5]=-bt;return}if(O[5]=O[3]=0,j===0){pt=q<0?-Math.pow(-q,1/3):Math.pow(q,1/3),O[0]=-bt+2*pt,O[4]=O[2]=-(pt+bt);return}H=-H,W=H*H*H,W=Math.acos(q/Math.sqrt(W)),pt=2*Math.sqrt(H),O[0]=-bt+pt*Math.cos(W/3),O[2]=-bt+pt*Math.cos((W+2*Math.PI)/3),O[4]=-bt+pt*Math.cos((W+4*Math.PI)/3)},kQ=function(p,x,C,L,O,N,j,H){var q=1*C*C-4*C*O+2*C*j+4*O*O-4*O*j+j*j+L*L-4*L*N+2*L*H+4*N*N-4*N*H+H*H,W=1*9*C*O-3*C*C-3*C*j-6*O*O+3*O*j+9*L*N-3*L*L-3*L*H-6*N*N+3*N*H,Z=1*3*C*C-6*C*O+C*j-C*p+2*O*O+2*O*p-j*p+3*L*L-6*L*N+L*H-L*x+2*N*N+2*N*x-H*x,st=1*C*O-C*C+C*p-O*p+L*N-L*L+L*x-N*x,bt=[];xQ(q,W,Z,st,bt);for(var pt=1e-7,_t=[],St=0;St<6;St+=2)Math.abs(bt[St+1])<pt&&bt[St]>=0&&bt[St]<=1&&_t.push(bt[St]);_t.push(1),_t.push(0);for(var Et=-1,Nt,Pt,qt,re=0;re<_t.length;re++)Nt=Math.pow(1-_t[re],2)*C+2*(1-_t[re])*_t[re]*O+_t[re]*_t[re]*j,Pt=Math.pow(1-_t[re],2)*L+2*(1-_t[re])*_t[re]*N+_t[re]*_t[re]*H,qt=Math.pow(Nt-p,2)+Math.pow(Pt-x,2),Et>=0?qt<Et&&(Et=qt):Et=qt;return Et},EQ=function(p,x,C,L,O,N){var j=[p-C,x-L],H=[O-C,N-L],q=H[0]*H[0]+H[1]*H[1],W=j[0]*j[0]+j[1]*j[1],Z=j[0]*H[0]+j[1]*H[1],st=Z*Z/q;return Z<0?W:st>q?(p-O)*(p-O)+(x-N)*(x-N):W-st},y0=function(p,x,C){for(var L,O,N,j,H,q=0,W=0;W<C.length/2;W++)if(L=C[W*2],O=C[W*2+1],W+1<C.length/2?(N=C[(W+1)*2],j=C[(W+1)*2+1]):(N=C[(W+1-C.length/2)*2],j=C[(W+1-C.length/2)*2+1]),!(L==p&&N==p))if(L>=p&&p>=N||L<=p&&p<=N)H=(p-L)/(N-L)*(j-O)+O,H>x&&q++;else continue;return q%2!==0},sm=function(p,x,C,L,O,N,j,H,q){var W=new Array(C.length),Z;H[0]!=null?(Z=Math.atan(H[1]/H[0]),H[0]<0?Z=Z+Math.PI/2:Z=-Z-Math.PI/2):Z=H;for(var st=Math.cos(-Z),bt=Math.sin(-Z),pt=0;pt<W.length/2;pt++)W[pt*2]=N/2*(C[pt*2]*st-C[pt*2+1]*bt),W[pt*2+1]=j/2*(C[pt*2+1]*st+C[pt*2]*bt),W[pt*2]+=L,W[pt*2+1]+=O;var _t;if(q>0){var St=Z9(W,-q);_t=J9(St)}else _t=W;return y0(p,x,_t)},TQ=function(p,x,C,L,O,N,j){for(var H=new Array(C.length),q=N/2,W=j/2,Z=HD(N,j),st=Z*Z,bt=0;bt<C.length/4;bt++){var pt=void 0,_t=void 0;bt===0?pt=C.length-2:pt=bt*4-2,_t=bt*4+2;var St=L+q*C[bt*4],Et=O+W*C[bt*4+1],Nt=-C[pt]*C[_t]-C[pt+1]*C[_t+1],Pt=Z/Math.tan(Math.acos(Nt)/2),qt=St-Pt*C[pt],re=Et-Pt*C[pt+1],ee=St+Pt*C[_t],Ut=Et+Pt*C[_t+1];H[bt*4]=qt,H[bt*4+1]=re,H[bt*4+2]=ee,H[bt*4+3]=Ut;var de=C[pt+1],Yt=-C[pt],Ee=de*C[_t]+Yt*C[_t+1];Ee<0&&(de*=-1,Yt*=-1);var Te=qt+de*Z,ie=re+Yt*Z,ze=Math.pow(Te-p,2)+Math.pow(ie-x,2);if(ze<=st)return!0}return y0(p,x,H)},J9=function(p){for(var x=new Array(p.length/2),C,L,O,N,j,H,q,W,Z=0;Z<p.length/4;Z++){C=p[Z*4],L=p[Z*4+1],O=p[Z*4+2],N=p[Z*4+3],Z<p.length/4-1?(j=p[(Z+1)*4],H=p[(Z+1)*4+1],q=p[(Z+1)*4+2],W=p[(Z+1)*4+3]):(j=p[0],H=p[1],q=p[2],W=p[3]);var st=uy(C,L,O,N,j,H,q,W,!0);x[Z*2]=st[0],x[Z*2+1]=st[1]}return x},Z9=function(p,x){for(var C=new Array(p.length*2),L,O,N,j,H=0;H<p.length/2;H++){L=p[H*2],O=p[H*2+1],H<p.length/2-1?(N=p[(H+1)*2],j=p[(H+1)*2+1]):(N=p[0],j=p[1]);var q=j-O,W=-(N-L),Z=Math.sqrt(q*q+W*W),st=q/Z,bt=W/Z;C[H*4]=L+st*x,C[H*4+1]=O+bt*x,C[H*4+2]=N+st*x,C[H*4+3]=j+bt*x}return C},CQ=function(p,x,C,L,O,N){var j=C-p,H=L-x;j/=O,H/=N;var q=Math.sqrt(j*j+H*H),W=q-1;if(W<0)return[];var Z=W/q;return[(C-p)*Z+p,(L-x)*Z+x]},v4=function(p,x,C,L,O,N,j){return p-=O,x-=N,p/=C/2+j,x/=L/2+j,p*p+x*x<=1},F8=function(p,x,C,L,O,N,j){var H=[C-p,L-x],q=[p-O,x-N],W=H[0]*H[0]+H[1]*H[1],Z=2*(q[0]*H[0]+q[1]*H[1]),st=q[0]*q[0]+q[1]*q[1]-j*j,bt=Z*Z-4*W*st;if(bt<0)return[];var pt=(-Z+Math.sqrt(bt))/(2*W),_t=(-Z-Math.sqrt(bt))/(2*W),St=Math.min(pt,_t),Et=Math.max(pt,_t),Nt=[];if(St>=0&&St<=1&&Nt.push(St),Et>=0&&Et<=1&&Nt.push(Et),Nt.length===0)return[];var Pt=Nt[0]*H[0]+p,qt=Nt[0]*H[1]+x;if(Nt.length>1){if(Nt[0]==Nt[1])return[Pt,qt];var re=Nt[1]*H[0]+p,ee=Nt[1]*H[1]+x;return[Pt,qt,re,ee]}else return[Pt,qt]},zD=function(p,x,C){return x<=p&&p<=C||C<=p&&p<=x?p:p<=x&&x<=C||C<=x&&x<=p?x:C},uy=function(p,x,C,L,O,N,j,H,q){var W=p-O,Z=C-p,st=j-O,bt=x-N,pt=L-x,_t=H-N,St=st*bt-_t*W,Et=Z*bt-pt*W,Nt=_t*Z-st*pt;if(Nt!==0){var Pt=St/Nt,qt=Et/Nt,re=.001,ee=0-re,Ut=1+re;return ee<=Pt&&Pt<=Ut&&ee<=qt&&qt<=Ut?[p+Pt*Z,x+Pt*pt]:q?[p+Pt*Z,x+Pt*pt]:[]}else return St===0||Et===0?zD(p,C,j)===j?[j,H]:zD(p,C,O)===O?[O,N]:zD(O,j,C)===C?[C,L]:[]:[]},B8=function(p,x,C,L,O,N,j,H){var q=[],W,Z=new Array(C.length),st=!0;N==null&&(st=!1);var bt;if(st){for(var pt=0;pt<Z.length/2;pt++)Z[pt*2]=C[pt*2]*N+L,Z[pt*2+1]=C[pt*2+1]*j+O;if(H>0){var _t=Z9(Z,-H);bt=J9(_t)}else bt=Z}else bt=C;for(var St,Et,Nt,Pt,qt=0;qt<bt.length/2;qt++)St=bt[qt*2],Et=bt[qt*2+1],qt<bt.length/2-1?(Nt=bt[(qt+1)*2],Pt=bt[(qt+1)*2+1]):(Nt=bt[0],Pt=bt[1]),W=uy(p,x,L,O,St,Et,Nt,Pt),W.length!==0&&q.push(W[0],W[1]);return q},SQ=function(p,x,C,L,O,N,j,H){for(var q=[],W,Z=new Array(C.length),st=N/2,bt=j/2,pt=HD(N,j),_t=0;_t<C.length/4;_t++){var St=void 0,Et=void 0;_t===0?St=C.length-2:St=_t*4-2,Et=_t*4+2;var Nt=L+st*C[_t*4],Pt=O+bt*C[_t*4+1],qt=-C[St]*C[Et]-C[St+1]*C[Et+1],re=pt/Math.tan(Math.acos(qt)/2),ee=Nt-re*C[St],Ut=Pt-re*C[St+1],de=Nt+re*C[Et],Yt=Pt+re*C[Et+1];_t===0?(Z[C.length-2]=ee,Z[C.length-1]=Ut):(Z[_t*4-2]=ee,Z[_t*4-1]=Ut),Z[_t*4]=de,Z[_t*4+1]=Yt;var Ee=C[St+1],Te=-C[St],ie=Ee*C[Et]+Te*C[Et+1];ie<0&&(Ee*=-1,Te*=-1);var ze=ee+Ee*pt,me=Ut+Te*pt;W=F8(p,x,L,O,ze,me,pt),W.length!==0&&q.push(W[0],W[1])}for(var yn=0;yn<Z.length/4;yn++)W=uy(p,x,L,O,Z[yn*4],Z[yn*4+1],Z[yn*4+2],Z[yn*4+3],!1),W.length!==0&&q.push(W[0],W[1]);if(q.length>2){for(var nn=[q[0],q[1]],qe=Math.pow(nn[0]-p,2)+Math.pow(nn[1]-x,2),Tn=1;Tn<q.length/2;Tn++){var Xn=Math.pow(q[Tn*2]-p,2)+Math.pow(q[Tn*2+1]-x,2);Xn<=qe&&(nn[0]=q[Tn*2],nn[1]=q[Tn*2+1],qe=Xn)}return nn}return q},tC=function(p,x,C){var L=[p[0]-x[0],p[1]-x[1]],O=Math.sqrt(L[0]*L[0]+L[1]*L[1]),N=(O-C)/O;return N<0&&(N=1e-5),[x[0]+N*L[0],x[1]+N*L[1]]},Fd=function(p,x){var C=qD(p,x);return C=zB(C),C},zB=function(p){for(var x,C,L=p.length/2,O=1/0,N=1/0,j=-1/0,H=-1/0,q=0;q<L;q++)x=p[2*q],C=p[2*q+1],O=Math.min(O,x),j=Math.max(j,x),N=Math.min(N,C),H=Math.max(H,C);for(var W=2/(j-O),Z=2/(H-N),st=0;st<L;st++)x=p[2*st]=p[2*st]*W,C=p[2*st+1]=p[2*st+1]*Z,O=Math.min(O,x),j=Math.max(j,x),N=Math.min(N,C),H=Math.max(H,C);if(N<-1)for(var bt=0;bt<L;bt++)C=p[2*bt+1]=p[2*bt+1]+(-1-N);return p},qD=function(p,x){var C=1/p*2*Math.PI,L=p%2===0?Math.PI/2+C/2:Math.PI/2;L+=x;for(var O=new Array(p*2),N,j=0;j<p;j++)N=j*C+L,O[2*j]=Math.cos(N),O[2*j+1]=Math.sin(-N);return O},R8=function(p,x){return Math.min(p/4,x/4,8)},HD=function(p,x){return Math.min(p/10,x/10,8)},qB=function(){return 8},_Q=function(p,x,C){return[p-2*x+C,2*(x-p),p]},VD=function(p,x){return{heightOffset:Math.min(15,.05*x),widthOffset:Math.min(100,.25*p),ctrlPtOffsetPct:.05}},AQ=p1({dampingFactor:.8,precision:1e-6,iterations:200,weight:function(p){return 1}}),LQ={pageRank:function(p){for(var x=AQ(p),C=x.dampingFactor,L=x.precision,O=x.iterations,N=x.weight,j=this._private.cy,H=this.byGroup(),q=H.nodes,W=H.edges,Z=q.length,st=Z*Z,bt=W.length,pt=new Array(st),_t=new Array(Z),St=(1-C)/Z,Et=0;Et<Z;Et++){for(var Nt=0;Nt<Z;Nt++){var Pt=Et*Z+Nt;pt[Pt]=0}_t[Et]=0}for(var qt=0;qt<bt;qt++){var re=W[qt],ee=re.data("source"),Ut=re.data("target");if(ee!==Ut){var de=q.indexOfId(ee),Yt=q.indexOfId(Ut),Ee=N(re),Te=Yt*Z+de;pt[Te]+=Ee,_t[de]+=Ee}}for(var ie=1/Z+St,ze=0;ze<Z;ze++)if(_t[ze]===0)for(var me=0;me<Z;me++){var yn=me*Z+ze;pt[yn]=ie}else for(var nn=0;nn<Z;nn++){var qe=nn*Z+ze;pt[qe]=pt[qe]/_t[ze]+St}for(var Tn=new Array(Z),Xn=new Array(Z),lr,Sn=0;Sn<Z;Sn++)Tn[Sn]=1;for(var or=0;or<O;or++){for(var pr=0;pr<Z;pr++)Xn[pr]=0;for(var kr=0;kr<Z;kr++)for(var wr=0;wr<Z;wr++){var Cr=kr*Z+wr;Xn[kr]+=pt[Cr]*Tn[wr]}hQ(Xn),lr=Tn,Tn=Xn,Xn=lr;for(var $n=0,cr=0;cr<Z;cr++){var mr=lr[cr]-Tn[cr];$n+=mr*mr}if($n<L)break}var Sr={rank:function(ss){return ss=j.collection(ss)[0],Tn[q.indexOf(ss)]}};return Sr}},HB=p1({root:null,weight:function(p){return 1},directed:!1,alpha:0}),Jx={degreeCentralityNormalized:function(p){p=HB(p);var x=this.cy(),C=this.nodes(),L=C.length;if(p.directed){for(var W={},Z={},st=0,bt=0,pt=0;pt<L;pt++){var _t=C[pt],St=_t.id();p.root=_t;var Et=this.degreeCentrality(p);st<Et.indegree&&(st=Et.indegree),bt<Et.outdegree&&(bt=Et.outdegree),W[St]=Et.indegree,Z[St]=Et.outdegree}return{indegree:function(Pt){return st==0?0:(mt(Pt)&&(Pt=x.filter(Pt)),W[Pt.id()]/st)},outdegree:function(Pt){return bt===0?0:(mt(Pt)&&(Pt=x.filter(Pt)),Z[Pt.id()]/bt)}}}else{for(var O={},N=0,j=0;j<L;j++){var H=C[j];p.root=H;var q=this.degreeCentrality(p);N<q.degree&&(N=q.degree),O[H.id()]=q.degree}return{degree:function(Pt){return N===0?0:(mt(Pt)&&(Pt=x.filter(Pt)),O[Pt.id()]/N)}}}},degreeCentrality:function(p){p=HB(p);var x=this.cy(),C=this,L=p,O=L.root,N=L.weight,j=L.directed,H=L.alpha;if(O=x.collection(O)[0],j){for(var bt=O.connectedEdges(),pt=bt.filter(function(ee){return ee.target().same(O)&&C.has(ee)}),_t=bt.filter(function(ee){return ee.source().same(O)&&C.has(ee)}),St=pt.length,Et=_t.length,Nt=0,Pt=0,qt=0;qt<pt.length;qt++)Nt+=N(pt[qt]);for(var re=0;re<_t.length;re++)Pt+=N(_t[re]);return{indegree:Math.pow(St,1-H)*Math.pow(Nt,H),outdegree:Math.pow(Et,1-H)*Math.pow(Pt,H)}}else{for(var q=O.connectedEdges().intersection(C),W=q.length,Z=0,st=0;st<q.length;st++)Z+=N(q[st]);return{degree:Math.pow(W,1-H)*Math.pow(Z,H)}}}};Jx.dc=Jx.degreeCentrality,Jx.dcn=Jx.degreeCentralityNormalised=Jx.degreeCentralityNormalized;var VB=p1({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),Zx={closenessCentralityNormalized:function(p){for(var x=VB(p),C=x.harmonic,L=x.weight,O=x.directed,N=this.cy(),j={},H=0,q=this.nodes(),W=this.floydWarshall({weight:L,directed:O}),Z=0;Z<q.length;Z++){for(var st=0,bt=q[Z],pt=0;pt<q.length;pt++)if(Z!==pt){var _t=W.distance(bt,q[pt]);C?st+=1/_t:st+=_t}C||(st=1/st),H<st&&(H=st),j[bt.id()]=st}return{closeness:function(Et){return H==0?0:(mt(Et)?Et=N.filter(Et)[0].id():Et=Et.id(),j[Et]/H)}}},closenessCentrality:function(p){var x=VB(p),C=x.root,L=x.weight,O=x.directed,N=x.harmonic;C=this.filter(C)[0];for(var j=this.dijkstra({root:C,weight:L,directed:O}),H=0,q=this.nodes(),W=0;W<q.length;W++){var Z=q[W];if(!Z.same(C)){var st=j.distanceTo(Z);N?H+=1/st:H+=st}}return N?H:1/H}};Zx.cc=Zx.closenessCentrality,Zx.ccn=Zx.closenessCentralityNormalised=Zx.closenessCentralityNormalized;var DQ=p1({weight:null,directed:!1}),UD={betweennessCentrality:function(p){for(var x=DQ(p),C=x.directed,L=x.weight,O=L!=null,N=this.cy(),j=this.nodes(),H={},q={},W=0,Z={set:function(Pt,qt){q[Pt]=qt,qt>W&&(W=qt)},get:function(Pt){return q[Pt]}},st=0;st<j.length;st++){var bt=j[st],pt=bt.id();C?H[pt]=bt.outgoers().nodes():H[pt]=bt.openNeighborhood().nodes(),Z.set(pt,0)}for(var _t=function(Pt){for(var qt=j[Pt].id(),re=[],ee={},Ut={},de={},Yt=new N8(function(wr,Cr){return de[wr]-de[Cr]}),Ee=0;Ee<j.length;Ee++){var Te=j[Ee].id();ee[Te]=[],Ut[Te]=0,de[Te]=1/0}for(Ut[qt]=1,de[qt]=0,Yt.push(qt);!Yt.empty();){var ie=Yt.pop();if(re.push(ie),O)for(var ze=0;ze<H[ie].length;ze++){var me=H[ie][ze],yn=N.getElementById(ie),nn=void 0;yn.edgesTo(me).length>0?nn=yn.edgesTo(me)[0]:nn=me.edgesTo(yn)[0];var qe=L(nn);me=me.id(),de[me]>de[ie]+qe&&(de[me]=de[ie]+qe,Yt.nodes.indexOf(me)<0?Yt.push(me):Yt.updateItem(me),Ut[me]=0,ee[me]=[]),de[me]==de[ie]+qe&&(Ut[me]=Ut[me]+Ut[ie],ee[me].push(ie))}else for(var Tn=0;Tn<H[ie].length;Tn++){var Xn=H[ie][Tn].id();de[Xn]==1/0&&(Yt.push(Xn),de[Xn]=de[ie]+1),de[Xn]==de[ie]+1&&(Ut[Xn]=Ut[Xn]+Ut[ie],ee[Xn].push(ie))}}for(var lr={},Sn=0;Sn<j.length;Sn++)lr[j[Sn].id()]=0;for(;re.length>0;){for(var or=re.pop(),pr=0;pr<ee[or].length;pr++){var kr=ee[or][pr];lr[kr]=lr[kr]+Ut[kr]/Ut[or]*(1+lr[or])}or!=j[Pt].id()&&Z.set(or,Z.get(or)+lr[or])}},St=0;St<j.length;St++)_t(St);var Et={betweenness:function(Pt){var qt=N.collection(Pt).id();return Z.get(qt)},betweennessNormalized:function(Pt){if(W==0)return 0;var qt=N.collection(Pt).id();return Z.get(qt)/W}};return Et.betweennessNormalised=Et.betweennessNormalized,Et}};UD.bc=UD.betweennessCentrality;var MQ=p1({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(y){return 1}]}),IQ=function(p){return MQ(p)},OQ=function(p,x){for(var C=0,L=0;L<x.length;L++)C+=x[L](p);return C},NQ=function(p,x,C){for(var L=0;L<x;L++)p[L*x+L]=C},UB=function(p,x){for(var C,L=0;L<x;L++){C=0;for(var O=0;O<x;O++)C+=p[O*x+L];for(var N=0;N<x;N++)p[N*x+L]=p[N*x+L]/C}},PQ=function(p,x,C){for(var L=new Array(C*C),O=0;O<C;O++){for(var N=0;N<C;N++)L[O*C+N]=0;for(var j=0;j<C;j++)for(var H=0;H<C;H++)L[O*C+H]+=p[O*C+j]*x[j*C+H]}return L},FQ=function(p,x,C){for(var L=p.slice(0),O=1;O<C;O++)p=PQ(p,L,x);return p},GB=function(p,x,C){for(var L=new Array(x*x),O=0;O<x*x;O++)L[O]=Math.pow(p[O],C);return UB(L,x),L},BQ=function(p,x,C,L){for(var O=0;O<C;O++){var N=Math.round(p[O]*Math.pow(10,L))/Math.pow(10,L),j=Math.round(x[O]*Math.pow(10,L))/Math.pow(10,L);if(N!==j)return!1}return!0},RQ=function(p,x,C,L){for(var O=[],N=0;N<x;N++){for(var j=[],H=0;H<x;H++)Math.round(p[N*x+H]*1e3)/1e3>0&&j.push(C[H]);j.length!==0&&O.push(L.collection(j))}return O},jQ=function(p,x){for(var C=0;C<p.length;C++)if(!x[C]||p[C].id()!==x[C].id())return!1;return!0},$Q=function(p){for(var x=0;x<p.length;x++)for(var C=0;C<p.length;C++)x!=C&&jQ(p[x],p[C])&&p.splice(C,1);return p},KB=function(p){for(var x=this.nodes(),C=this.edges(),L=this.cy(),O=IQ(p),N={},j=0;j<x.length;j++)N[x[j].id()]=j;for(var H=x.length,q=H*H,W=new Array(q),Z,st=0;st<q;st++)W[st]=0;for(var bt=0;bt<C.length;bt++){var pt=C[bt],_t=N[pt.source().id()],St=N[pt.target().id()],Et=OQ(pt,O.attributes);W[_t*H+St]+=Et,W[St*H+_t]+=Et}NQ(W,H,O.multFactor),UB(W,H);for(var Nt=!0,Pt=0;Nt&&Pt<O.maxIterations;)Nt=!1,Z=FQ(W,H,O.expandFactor),W=GB(Z,H,O.inflateFactor),BQ(W,Z,q,4)||(Nt=!0),Pt++;var qt=RQ(W,H,x,L);return qt=$Q(qt),qt},zQ={markovClustering:KB,mcl:KB},qQ=function(p){return p},WB=function(p,x){return Math.abs(x-p)},YB=function(p,x,C){return p+WB(x,C)},XB=function(p,x,C){return p+Math.pow(C-x,2)},HQ=function(p){return Math.sqrt(p)},VQ=function(p,x,C){return Math.max(p,WB(x,C))},j8=function(p,x,C,L,O){for(var N=arguments.length>5&&arguments[5]!==void 0?arguments[5]:qQ,j=L,H,q,W=0;W<p;W++)H=x(W),q=C(W),j=O(j,H,q);return N(j)},t6={euclidean:function(p,x,C){return p>=2?j8(p,x,C,0,XB,HQ):j8(p,x,C,0,YB)},squaredEuclidean:function(p,x,C){return j8(p,x,C,0,XB)},manhattan:function(p,x,C){return j8(p,x,C,0,YB)},max:function(p,x,C){return j8(p,x,C,-1/0,VQ)}};t6["squared-euclidean"]=t6.squaredEuclidean,t6.squaredeuclidean=t6.squaredEuclidean;function eC(y,p,x,C,L,O){var N;return ct(y)?N=y:N=t6[y]||t6.euclidean,p===0&&ct(y)?N(L,O):N(p,x,C,L,O)}var UQ=p1({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),GD=function(p){return UQ(p)},nC=function(p,x,C,L,O){var N=O!=="kMedoids",j=N?function(Z){return C[Z]}:function(Z){return L[Z](C)},H=function(st){return L[st](x)},q=C,W=x;return eC(p,L.length,j,H,q,W)},KD=function(p,x,C){for(var L=C.length,O=new Array(L),N=new Array(L),j=new Array(x),H=null,q=0;q<L;q++)O[q]=p.min(C[q]).value,N[q]=p.max(C[q]).value;for(var W=0;W<x;W++){H=[];for(var Z=0;Z<L;Z++)H[Z]=Math.random()*(N[Z]-O[Z])+O[Z];j[W]=H}return j},QB=function(p,x,C,L,O){for(var N=1/0,j=0,H=0;H<x.length;H++){var q=nC(C,p,x[H],L,O);q<N&&(N=q,j=H)}return j},JB=function(p,x,C){for(var L=[],O=null,N=0;N<x.length;N++)O=x[N],C[O.id()]===p&&L.push(O);return L},GQ=function(p,x,C){return Math.abs(x-p)<=C},KQ=function(p,x,C){for(var L=0;L<p.length;L++)for(var O=0;O<p[L].length;O++){var N=Math.abs(p[L][O]-x[L][O]);if(N>C)return!1}return!0},WQ=function(p,x,C){for(var L=0;L<C;L++)if(p===x[L])return!0;return!1},ZB=function(p,x){var C=new Array(x);if(p.length<50)for(var L=0;L<x;L++){for(var O=p[Math.floor(Math.random()*p.length)];WQ(O,C,L);)O=p[Math.floor(Math.random()*p.length)];C[L]=O}else for(var N=0;N<x;N++)C[N]=p[Math.floor(Math.random()*p.length)];return C},tR=function(p,x,C){for(var L=0,O=0;O<x.length;O++)L+=nC("manhattan",x[O],p,C,"kMedoids");return L},YQ=function(p){var x=this.cy(),C=this.nodes(),L=null,O=GD(p),N=new Array(O.k),j={},H;O.testMode?typeof O.testCentroids=="number"?(O.testCentroids,H=KD(C,O.k,O.attributes)):f(O.testCentroids)==="object"?H=O.testCentroids:H=KD(C,O.k,O.attributes):H=KD(C,O.k,O.attributes);for(var q=!0,W=0;q&&W<O.maxIterations;){for(var Z=0;Z<C.length;Z++)L=C[Z],j[L.id()]=QB(L,H,O.distance,O.attributes,"kMeans");q=!1;for(var st=0;st<O.k;st++){var bt=JB(st,C,j);if(bt.length!==0){for(var pt=O.attributes.length,_t=H[st],St=new Array(pt),Et=new Array(pt),Nt=0;Nt<pt;Nt++){Et[Nt]=0;for(var Pt=0;Pt<bt.length;Pt++)L=bt[Pt],Et[Nt]+=O.attributes[Nt](L);St[Nt]=Et[Nt]/bt.length,GQ(St[Nt],_t[Nt],O.sensitivityThreshold)||(q=!0)}H[st]=St,N[st]=x.collection(bt)}}W++}return N},XQ=function(p){var x=this.cy(),C=this.nodes(),L=null,O=GD(p),N=new Array(O.k),j,H={},q,W=new Array(O.k);O.testMode?typeof O.testCentroids=="number"||(f(O.testCentroids)==="object"?j=O.testCentroids:j=ZB(C,O.k)):j=ZB(C,O.k);for(var Z=!0,st=0;Z&&st<O.maxIterations;){for(var bt=0;bt<C.length;bt++)L=C[bt],H[L.id()]=QB(L,j,O.distance,O.attributes,"kMedoids");Z=!1;for(var pt=0;pt<j.length;pt++){var _t=JB(pt,C,H);if(_t.length!==0){W[pt]=tR(j[pt],_t,O.attributes);for(var St=0;St<_t.length;St++)q=tR(_t[St],_t,O.attributes),q<W[pt]&&(W[pt]=q,j[pt]=_t[St],Z=!0);N[pt]=x.collection(_t)}}st++}return N},QQ=function(p,x,C,L,O){for(var N,j,H=0;H<x.length;H++)for(var q=0;q<p.length;q++)L[H][q]=Math.pow(C[H][q],O.m);for(var W=0;W<p.length;W++)for(var Z=0;Z<O.attributes.length;Z++){N=0,j=0;for(var st=0;st<x.length;st++)N+=L[st][W]*O.attributes[Z](x[st]),j+=L[st][W];p[W][Z]=N/j}},JQ=function(p,x,C,L,O){for(var N=0;N<p.length;N++)x[N]=p[N].slice();for(var j,H,q,W=2/(O.m-1),Z=0;Z<C.length;Z++)for(var st=0;st<L.length;st++){j=0;for(var bt=0;bt<C.length;bt++)H=nC(O.distance,L[st],C[Z],O.attributes,"cmeans"),q=nC(O.distance,L[st],C[bt],O.attributes,"cmeans"),j+=Math.pow(H/q,W);p[st][Z]=1/j}},ZQ=function(p,x,C,L){for(var O=new Array(C.k),N=0;N<O.length;N++)O[N]=[];for(var j,H,q=0;q<x.length;q++){j=-1/0,H=-1;for(var W=0;W<x[0].length;W++)x[q][W]>j&&(j=x[q][W],H=W);O[H].push(p[q])}for(var Z=0;Z<O.length;Z++)O[Z]=L.collection(O[Z]);return O},eR=function(p){var x=this.cy(),C=this.nodes(),L=GD(p),O,N,j,H,q;H=new Array(C.length);for(var W=0;W<C.length;W++)H[W]=new Array(L.k);j=new Array(C.length);for(var Z=0;Z<C.length;Z++)j[Z]=new Array(L.k);for(var st=0;st<C.length;st++){for(var bt=0,pt=0;pt<L.k;pt++)j[st][pt]=Math.random(),bt+=j[st][pt];for(var _t=0;_t<L.k;_t++)j[st][_t]=j[st][_t]/bt}N=new Array(L.k);for(var St=0;St<L.k;St++)N[St]=new Array(L.attributes.length);q=new Array(C.length);for(var Et=0;Et<C.length;Et++)q[Et]=new Array(L.k);for(var Nt=!0,Pt=0;Nt&&Pt<L.maxIterations;)Nt=!1,QQ(N,C,j,q,L),JQ(j,H,N,C,L),KQ(j,H,L.sensitivityThreshold)||(Nt=!0),Pt++;return O=ZQ(C,j,L,x),{clusters:O,degreeOfMembership:j}},tJ={kMeans:YQ,kMedoids:XQ,fuzzyCMeans:eR,fcm:eR},eJ=p1({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),nJ={single:"min",complete:"max"},rJ=function(p){var x=eJ(p),C=nJ[x.linkage];return C!=null&&(x.linkage=C),x},nR=function(p,x,C,L,O){for(var N=0,j=1/0,H,q=O.attributes,W=function(Yt,Ee){return eC(O.distance,q.length,function(Te){return q[Te](Yt)},function(Te){return q[Te](Ee)},Yt,Ee)},Z=0;Z<p.length;Z++){var st=p[Z].key,bt=C[st][L[st]];bt<j&&(N=st,j=bt)}if(O.mode==="threshold"&&j>=O.threshold||O.mode==="dendrogram"&&p.length===1)return!1;var pt=x[N],_t=x[L[N]],St;O.mode==="dendrogram"?St={left:pt,right:_t,key:pt.key}:St={value:pt.value.concat(_t.value),key:pt.key},p[pt.index]=St,p.splice(_t.index,1),x[pt.key]=St;for(var Et=0;Et<p.length;Et++){var Nt=p[Et];pt.key===Nt.key?H=1/0:O.linkage==="min"?(H=C[pt.key][Nt.key],C[pt.key][Nt.key]>C[_t.key][Nt.key]&&(H=C[_t.key][Nt.key])):O.linkage==="max"?(H=C[pt.key][Nt.key],C[pt.key][Nt.key]<C[_t.key][Nt.key]&&(H=C[_t.key][Nt.key])):O.linkage==="mean"?H=(C[pt.key][Nt.key]*pt.size+C[_t.key][Nt.key]*_t.size)/(pt.size+_t.size):O.mode==="dendrogram"?H=W(Nt.value,pt.value):H=W(Nt.value[0],pt.value[0]),C[pt.key][Nt.key]=C[Nt.key][pt.key]=H}for(var Pt=0;Pt<p.length;Pt++){var qt=p[Pt].key;if(L[qt]===pt.key||L[qt]===_t.key){for(var re=qt,ee=0;ee<p.length;ee++){var Ut=p[ee].key;C[qt][Ut]<C[qt][re]&&(re=Ut)}L[qt]=re}p[Pt].index=Pt}return pt.key=_t.key=pt.index=_t.index=null,!0},rC=function y(p,x,C){p&&(p.value?x.push(p.value):(p.left&&y(p.left,x),p.right&&y(p.right,x)))},iJ=function y(p,x){if(!p)return"";if(p.left&&p.right){var C=y(p.left,x),L=y(p.right,x),O=x.add({group:"nodes",data:{id:C+","+L}});return x.add({group:"edges",data:{source:C,target:O.id()}}),x.add({group:"edges",data:{source:L,target:O.id()}}),O.id()}else if(p.value)return p.value.id()},sJ=function y(p,x,C){if(!p)return[];var L=[],O=[],N=[];return x===0?(p.left&&rC(p.left,L),p.right&&rC(p.right,O),N=L.concat(O),[C.collection(N)]):x===1?p.value?[C.collection(p.value)]:(p.left&&rC(p.left,L),p.right&&rC(p.right,O),[C.collection(L),C.collection(O)]):p.value?[C.collection(p.value)]:(p.left&&(L=y(p.left,x-1,C)),p.right&&(O=y(p.right,x-1,C)),L.concat(O))},rR=function(p){for(var x=this.cy(),C=this.nodes(),L=rJ(p),O=L.attributes,N=function(Pt,qt){return eC(L.distance,O.length,function(re){return O[re](Pt)},function(re){return O[re](qt)},Pt,qt)},j=[],H=[],q=[],W=[],Z=0;Z<C.length;Z++){var st={value:L.mode==="dendrogram"?C[Z]:[C[Z]],key:Z,index:Z};j[Z]=st,W[Z]=st,H[Z]=[],q[Z]=0}for(var bt=0;bt<j.length;bt++)for(var pt=0;pt<=bt;pt++){var _t=void 0;L.mode==="dendrogram"?_t=bt===pt?1/0:N(j[bt].value,j[pt].value):_t=bt===pt?1/0:N(j[bt].value[0],j[pt].value[0]),H[bt][pt]=_t,H[pt][bt]=_t,_t<H[bt][q[bt]]&&(q[bt]=pt)}for(var St=nR(j,W,H,q,L);St;)St=nR(j,W,H,q,L);var Et;return L.mode==="dendrogram"?(Et=sJ(j[0],L.dendrogramDepth,x),L.addDendrogram&&iJ(j[0],x)):(Et=new Array(j.length),j.forEach(function(Nt,Pt){Nt.key=Nt.index=null,Et[Pt]=x.collection(Nt.value)})),Et},aJ={hierarchicalClustering:rR,hca:rR},oJ=p1({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),cJ=function(p){var x=p.damping,C=p.preference;.5<=x&&x<1||$l("Damping must range on [0.5, 1). Got: ".concat(x));var L=["median","mean","min","max"];return L.some(function(O){return O===C})||Q(C)||$l("Preference must be one of [".concat(L.map(function(O){return"'".concat(O,"'")}).join(", "),"] or a number. Got: ").concat(C)),oJ(p)},uJ=function(p,x,C,L){var O=function(j,H){return L[H](j)};return-eC(p,L.length,function(N){return O(x,N)},function(N){return O(C,N)},x,C)},lJ=function(p,x){var C=null;return x==="median"?C=uQ(p):x==="mean"?C=cQ(p):x==="min"?C=aQ(p):x==="max"?C=oQ(p):C=x,C},hJ=function(p,x,C){for(var L=[],O=0;O<p;O++)x[O*p+O]+C[O*p+O]>0&&L.push(O);return L},iR=function(p,x,C){for(var L=[],O=0;O<p;O++){for(var N=-1,j=-1/0,H=0;H<C.length;H++){var q=C[H];x[O*p+q]>j&&(N=q,j=x[O*p+q])}N>0&&L.push(N)}for(var W=0;W<C.length;W++)L[C[W]]=C[W];return L},fJ=function(p,x,C){for(var L=iR(p,x,C),O=0;O<C.length;O++){for(var N=[],j=0;j<L.length;j++)L[j]===C[O]&&N.push(j);for(var H=-1,q=-1/0,W=0;W<N.length;W++){for(var Z=0,st=0;st<N.length;st++)Z+=x[N[st]*p+N[W]];Z>q&&(H=W,q=Z)}C[O]=N[H]}return L=iR(p,x,C),L},sR=function(p){for(var x=this.cy(),C=this.nodes(),L=cJ(p),O={},N=0;N<C.length;N++)O[C[N].id()]=N;var j,H,q,W,Z,st;j=C.length,H=j*j,q=new Array(H);for(var bt=0;bt<H;bt++)q[bt]=-1/0;for(var pt=0;pt<j;pt++)for(var _t=0;_t<j;_t++)pt!==_t&&(q[pt*j+_t]=uJ(L.distance,C[pt],C[_t],L.attributes));W=lJ(q,L.preference);for(var St=0;St<j;St++)q[St*j+St]=W;Z=new Array(H);for(var Et=0;Et<H;Et++)Z[Et]=0;st=new Array(H);for(var Nt=0;Nt<H;Nt++)st[Nt]=0;for(var Pt=new Array(j),qt=new Array(j),re=new Array(j),ee=0;ee<j;ee++)Pt[ee]=0,qt[ee]=0,re[ee]=0;for(var Ut=new Array(j*L.minIterations),de=0;de<Ut.length;de++)Ut[de]=0;var Yt;for(Yt=0;Yt<L.maxIterations;Yt++){for(var Ee=0;Ee<j;Ee++){for(var Te=-1/0,ie=-1/0,ze=-1,me=0,yn=0;yn<j;yn++)Pt[yn]=Z[Ee*j+yn],me=st[Ee*j+yn]+q[Ee*j+yn],me>=Te?(ie=Te,Te=me,ze=yn):me>ie&&(ie=me);for(var nn=0;nn<j;nn++)Z[Ee*j+nn]=(1-L.damping)*(q[Ee*j+nn]-Te)+L.damping*Pt[nn];Z[Ee*j+ze]=(1-L.damping)*(q[Ee*j+ze]-ie)+L.damping*Pt[ze]}for(var qe=0;qe<j;qe++){for(var Tn=0,Xn=0;Xn<j;Xn++)Pt[Xn]=st[Xn*j+qe],qt[Xn]=Math.max(0,Z[Xn*j+qe]),Tn+=qt[Xn];Tn-=qt[qe],qt[qe]=Z[qe*j+qe],Tn+=qt[qe];for(var lr=0;lr<j;lr++)st[lr*j+qe]=(1-L.damping)*Math.min(0,Tn-qt[lr])+L.damping*Pt[lr];st[qe*j+qe]=(1-L.damping)*(Tn-qt[qe])+L.damping*Pt[qe]}for(var Sn=0,or=0;or<j;or++){var pr=st[or*j+or]+Z[or*j+or]>0?1:0;Ut[Yt%L.minIterations*j+or]=pr,Sn+=pr}if(Sn>0&&(Yt>=L.minIterations-1||Yt==L.maxIterations-1)){for(var kr=0,wr=0;wr<j;wr++){re[wr]=0;for(var Cr=0;Cr<L.minIterations;Cr++)re[wr]+=Ut[Cr*j+wr];(re[wr]===0||re[wr]===L.minIterations)&&kr++}if(kr===j)break}}for(var $n=hJ(j,Z,st),cr=fJ(j,q,$n),mr={},Sr=0;Sr<$n.length;Sr++)mr[$n[Sr]]=[];for(var gi=0;gi<C.length;gi++){var ss=O[C[gi].id()],na=cr[ss];na!=null&&mr[na].push(C[gi])}for(var vi=new Array($n.length),si=0;si<$n.length;si++)vi[si]=x.collection(mr[$n[si]]);return vi},dJ={affinityPropagation:sR,ap:sR},gJ=p1({root:void 0,directed:!1}),pJ={hierholzer:function(p){if(!it(p)){var x=arguments;p={root:x[0],directed:x[1]}}var C=gJ(p),L=C.root,O=C.directed,N=this,j=!1,H,q,W;L&&(W=mt(L)?this.filter(L)[0].id():L[0].id());var Z={},st={};O?N.forEach(function(Nt){var Pt=Nt.id();if(Nt.isNode()){var qt=Nt.indegree(!0),re=Nt.outdegree(!0),ee=qt-re,Ut=re-qt;ee==1?H?j=!0:H=Pt:Ut==1?q?j=!0:q=Pt:(Ut>1||ee>1)&&(j=!0),Z[Pt]=[],Nt.outgoers().forEach(function(de){de.isEdge()&&Z[Pt].push(de.id())})}else st[Pt]=[void 0,Nt.target().id()]}):N.forEach(function(Nt){var Pt=Nt.id();if(Nt.isNode()){var qt=Nt.degree(!0);qt%2&&(H?q?j=!0:q=Pt:H=Pt),Z[Pt]=[],Nt.connectedEdges().forEach(function(re){return Z[Pt].push(re.id())})}else st[Pt]=[Nt.source().id(),Nt.target().id()]});var bt={found:!1,trail:void 0};if(j)return bt;if(q&&H)if(O){if(W&&q!=W)return bt;W=q}else{if(W&&q!=W&&H!=W)return bt;W||(W=q)}else W||(W=N[0].id());var pt=function(Pt){for(var qt=Pt,re=[Pt],ee,Ut,de;Z[qt].length;)ee=Z[qt].shift(),Ut=st[ee][0],de=st[ee][1],qt!=de?(Z[de]=Z[de].filter(function(Yt){return Yt!=ee}),qt=de):!O&&qt!=Ut&&(Z[Ut]=Z[Ut].filter(function(Yt){return Yt!=ee}),qt=Ut),re.unshift(ee),re.unshift(qt);return re},_t=[],St=[];for(St=pt(W);St.length!=1;)Z[St[0]].length==0?(_t.unshift(N.getElementById(St.shift())),_t.unshift(N.getElementById(St.shift()))):St=pt(St.shift()).concat(St);_t.unshift(N.getElementById(St.shift()));for(var Et in Z)if(Z[Et].length)return bt;return bt.found=!0,bt.trail=this.spawn(_t,!0),bt}},iC=function(){var p=this,x={},C=0,L=0,O=[],N=[],j={},H=function(st,bt){for(var pt=N.length-1,_t=[],St=p.spawn();N[pt].x!=st||N[pt].y!=bt;)_t.push(N.pop().edge),pt--;_t.push(N.pop().edge),_t.forEach(function(Et){var Nt=Et.connectedNodes().intersection(p);St.merge(Et),Nt.forEach(function(Pt){var qt=Pt.id(),re=Pt.connectedEdges().intersection(p);St.merge(Pt),x[qt].cutVertex?St.merge(re.filter(function(ee){return ee.isLoop()})):St.merge(re)})}),O.push(St)},q=function Z(st,bt,pt){st===pt&&(L+=1),x[bt]={id:C,low:C++,cutVertex:!1};var _t=p.getElementById(bt).connectedEdges().intersection(p);if(_t.size()===0)O.push(p.spawn(p.getElementById(bt)));else{var St,Et,Nt,Pt;_t.forEach(function(qt){St=qt.source().id(),Et=qt.target().id(),Nt=St===bt?Et:St,Nt!==pt&&(Pt=qt.id(),j[Pt]||(j[Pt]=!0,N.push({x:bt,y:Nt,edge:qt})),Nt in x?x[bt].low=Math.min(x[bt].low,x[Nt].id):(Z(st,Nt,bt),x[bt].low=Math.min(x[bt].low,x[Nt].low),x[bt].id<=x[Nt].low&&(x[bt].cutVertex=!0,H(bt,Nt))))})}};p.forEach(function(Z){if(Z.isNode()){var st=Z.id();st in x||(L=0,q(st,st),x[st].cutVertex=L>1)}});var W=Object.keys(x).filter(function(Z){return x[Z].cutVertex}).map(function(Z){return p.getElementById(Z)});return{cut:p.spawn(W),components:O}},bJ={hopcroftTarjanBiconnected:iC,htbc:iC,htb:iC,hopcroftTarjanBiconnectedComponents:iC},sC=function(){var p=this,x={},C=0,L=[],O=[],N=p.spawn(p),j=function H(q){O.push(q),x[q]={index:C,low:C++,explored:!1};var W=p.getElementById(q).connectedEdges().intersection(p);if(W.forEach(function(_t){var St=_t.target().id();St!==q&&(St in x||H(St),x[St].explored||(x[q].low=Math.min(x[q].low,x[St].low)))}),x[q].index===x[q].low){for(var Z=p.spawn();;){var st=O.pop();if(Z.merge(p.getElementById(st)),x[st].low=x[q].index,x[st].explored=!0,st===q)break}var bt=Z.edgesWith(Z),pt=Z.merge(bt);L.push(pt),N=N.difference(pt)}};return p.forEach(function(H){if(H.isNode()){var q=H.id();q in x||j(q)}}),{cut:N,components:L}},wJ={tarjanStronglyConnected:sC,tsc:sC,tscc:sC,tarjanStronglyConnectedComponents:sC},aR={};[O8,WX,YX,QX,ZX,eQ,iQ,LQ,Jx,Zx,UD,zQ,tJ,aJ,dJ,pJ,bJ,wJ].forEach(function(y){we(aR,y)});/*!
1580 `);ZY(M,F,{useHtmlLabels:v,width:f.width,classes:"mindmap-node-label"}),v||M.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle");const R=M.node().getBBox(),[B]=k9(w.fontSize);if(f.height=R.height+B*1.1*.5+f.padding,f.width=R.width+2*f.padding,f.icon)if(f.type===i.nodeType.CIRCLE)f.height+=50,f.width+=50,E.append("foreignObject").attr("height","50px").attr("width",f.width).attr("style","text-align: center;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+b+" "+f.icon),M.attr("transform","translate("+f.width/2+", "+(f.height/2-1.5*f.padding)+")");else{f.width+=50;const z=f.height;f.height=Math.max(z,60);const Y=Math.abs(f.height-z);E.append("foreignObject").attr("width","60px").attr("height",f.height).attr("style","text-align: center;margin-top:"+Y/2+"px;").append("div").attr("class","icon-container").append("i").attr("class","node-icon-"+b+" "+f.icon),M.attr("transform","translate("+(25+f.width/2)+", "+(Y/2+f.padding/2)+")")}else if(v){const z=(f.width-R.width)/2,Y=(f.height-R.height)/2;M.attr("transform","translate("+z+", "+Y+")")}else{const z=f.width/2,Y=f.padding/2;M.attr("transform","translate("+z+", "+Y+")")}switch(f.type){case i.nodeType.DEFAULT:oen(i,_,f,b);break;case i.nodeType.ROUNDED_RECT:gen(i,_,f);break;case i.nodeType.RECT:cen(i,_,f);break;case i.nodeType.CIRCLE:_.attr("transform","translate("+f.width/2+", "+ +f.height/2+")"),hen(i,_,f);break;case i.nodeType.CLOUD:uen(i,_,f);break;case i.nodeType.BANG:len(i,_,f);break;case i.nodeType.HEXAGON:den(i,_,f);break}return i.setElementForId(f.id,E),f.height},ben=function(i,a){const f=i.getElementById(a.id),g=a.x||0,w=a.y||0;f.attr("transform","translate("+g+","+w+")")};KHt.use(sen);function QHt(i,a,f,g,w){pen(i,a,f,g,w),f.children&&f.children.forEach((v,b)=>{QHt(i,a,v,g<0?b:g,w)})}function wen(i,a){a.edges().map((f,g)=>{const w=f.data();if(f[0]._private.bodyBounds){const v=f[0]._private.rscratch;Kt.trace("Edge: ",g,w),i.insert("path").attr("d",`M ${v.startX},${v.startY} L ${v.midX},${v.midY} L${v.endX},${v.endY} `).attr("class","edge section-edge-"+w.section+" edge-depth-"+w.depth)}})}function JHt(i,a,f,g){a.add({group:"nodes",data:{id:i.id.toString(),labelText:i.descr,height:i.height,width:i.width,level:g,nodeId:i.id,padding:i.padding,type:i.type},position:{x:i.x,y:i.y}}),i.children&&i.children.forEach(w=>{JHt(w,a,f,g+1),a.add({group:"edges",data:{id:`${i.id}_${w.id}`,source:i.id,target:w.id,depth:g,section:w.section}})})}function men(i,a){return new Promise(f=>{const g=Tr("body").append("div").attr("id","cy").attr("style","display:none"),w=KHt({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});g.remove(),JHt(i,w,a,0),w.nodes().forEach(function(v){v.layoutDimensions=()=>{const b=v.data();return{w:b.width,h:b.height}}}),w.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),w.ready(v=>{Kt.info("Ready",v),f(w)})})}function ven(i,a){a.nodes().map((f,g)=>{const w=f.data();w.x=f.position().x,w.y=f.position().y,ben(i,w);const v=i.getElementById(w.nodeId);Kt.info("Id:",g,"Position: (",f.position().x,", ",f.position().y,")",w),v.attr("transform",`translate(${f.position().x-w.width/2}, ${f.position().y-w.height/2})`),v.attr("attr",`apa-${g})`)})}const yen={draw:async(i,a,f,g)=>{var F,R;Kt.debug(`Rendering mindmap diagram
1636 `}},Symbol.toStringTag,{value:"Module"}));var w2t=function(){var i=function(E,S,_,M){for(_=_||{},M=E.length;M--;_[E[M]]=S);return _},a=[1,9],f=[1,10],g=[1,5,10,12],w={trace:function(){},yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:function(S,_,M,F,R,B,z){var Y=B.length-1;switch(R){case 7:const nt=F.findOrCreateNode(B[Y-4].trim().replaceAll('""','"')),ot=F.findOrCreateNode(B[Y-2].trim().replaceAll('""','"')),ft=parseFloat(B[Y].trim());F.addLink(nt,ot,ft);break;case 8:case 9:case 11:this.$=B[Y];break;case 10:this.$=B[Y-1];break}},table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:a,20:f},{1:[2,6],7:11,10:[1,12]},i(f,[2,4],{9:13,5:[1,14]}),{12:[1,15]},i(g,[2,8]),i(g,[2,9]),{19:[1,16]},i(g,[2,11]),{1:[2,1]},{1:[2,5]},i(f,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:a,20:f},{15:18,16:7,17:8,18:a,20:f},{18:[1,19]},i(f,[2,3]),{12:[1,20]},i(g,[2,10]),{15:21,16:7,17:8,18:a,20:f},i([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:function(S,_){if(_.recoverable)this.trace(S);else{var M=new Error(S);throw M.hash=_,M}},parse:function(S){var _=this,M=[0],F=[],R=[null],B=[],z=this.table,Y="",nt=0,ot=0,ft=2,wt=1,mt=B.slice.call(arguments,1),ct=Object.create(this.lexer),rt={yy:{}};for(var it in this.yy)Object.prototype.hasOwnProperty.call(this.yy,it)&&(rt.yy[it]=this.yy[it]);ct.setInput(S,rt.yy),rt.yy.lexer=ct,rt.yy.parser=this,typeof ct.yylloc>"u"&&(ct.yylloc={});var gt=ct.yylloc;B.push(gt);var Q=ct.options&&ct.options.ranges;typeof rt.yy.parseError=="function"?this.parseError=rt.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function dt(){var Gt;return Gt=F.pop()||ct.lex()||wt,typeof Gt!="number"&&(Gt instanceof Array&&(F=Gt,Gt=F.pop()),Gt=_.symbols_[Gt]||Gt),Gt}for(var K,yt,V,Ot,It={},jt,xt,Ft,Ct;;){if(yt=M[M.length-1],this.defaultActions[yt]?V=this.defaultActions[yt]:((K===null||typeof K>"u")&&(K=dt()),V=z[yt]&&z[yt][K]),typeof V>"u"||!V.length||!V[0]){var kt="";Ct=[];for(jt in z[yt])this.terminals_[jt]&&jt>ft&&Ct.push("'"+this.terminals_[jt]+"'");ct.showPosition?kt="Parse error on line "+(nt+1)+`:
1643 `).trim(),Qen=NX.parse.bind(NX);NX.parse=i=>Qen(Xen(i));const Jen=Object.freeze(Object.defineProperty({__proto__:null,diagram:{parser:NX,db:_en,renderer:Yen}},Symbol.toStringTag,{value:"Module"}));var E2t=function(){var i=function(wt,mt,ct,rt){for(ct=ct||{},rt=wt.length;rt--;ct[wt[rt]]=mt);return ct},a=[1,7],f=[1,13],g=[1,14],w=[1,15],v=[1,19],b=[1,16],E=[1,17],S=[1,18],_=[8,30],M=[8,21,28,29,30,31,32,40,44,47],F=[1,23],R=[1,24],B=[8,15,16,21,28,29,30,31,32,40,44,47],z=[8,15,16,21,27,28,29,30,31,32,40,44,47],Y=[1,49],nt={trace:function(){},yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,seperator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,block:31,NODE_ID:32,nodeShapeNLabel:33,dirList:34,DIR:35,NODE_DSTART:36,NODE_DEND:37,BLOCK_ARROW_START:38,BLOCK_ARROW_END:39,classDef:40,CLASSDEF_ID:41,CLASSDEF_STYLEOPTS:42,DEFAULT:43,class:44,CLASSENTITY_IDS:45,STYLECLASS:46,style:47,STYLE_ENTITY_IDS:48,STYLE_DEFINITION_DATA:49,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"block",32:"NODE_ID",35:"DIR",36:"NODE_DSTART",37:"NODE_DEND",38:"BLOCK_ARROW_START",39:"BLOCK_ARROW_END",40:"classDef",41:"CLASSDEF_ID",42:"CLASSDEF_STYLEOPTS",43:"DEFAULT",44:"class",45:"CLASSENTITY_IDS",46:"STYLECLASS",47:"style",48:"STYLE_ENTITY_IDS",49:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[34,1],[34,2],[33,3],[33,4],[23,3],[23,3],[24,3],[25,3]],performAction:function(mt,ct,rt,it,gt,Q,dt){var K=Q.length-1;switch(gt){case 4:it.getLogger().debug("Rule: seperator (NL) ");break;case 5:it.getLogger().debug("Rule: seperator (Space) ");break;case 6:it.getLogger().debug("Rule: seperator (EOF) ");break;case 7:it.getLogger().debug("Rule: hierarchy: ",Q[K-1]),it.setHierarchy(Q[K-1]);break;case 8:it.getLogger().debug("Stop NL ");break;case 9:it.getLogger().debug("Stop EOF ");break;case 10:it.getLogger().debug("Stop NL2 ");break;case 11:it.getLogger().debug("Stop EOF2 ");break;case 12:it.getLogger().debug("Rule: statement: ",Q[K]),typeof Q[K].length=="number"?this.$=Q[K]:this.$=[Q[K]];break;case 13:it.getLogger().debug("Rule: statement #2: ",Q[K-1]),this.$=[Q[K-1]].concat(Q[K]);break;case 14:it.getLogger().debug("Rule: link: ",Q[K],mt),this.$={edgeTypeStr:Q[K],label:""};break;case 15:it.getLogger().debug("Rule: LABEL link: ",Q[K-3],Q[K-1],Q[K]),this.$={edgeTypeStr:Q[K],label:Q[K-1]};break;case 18:const yt=parseInt(Q[K]),V=it.generateId();this.$={id:V,type:"space",label:"",width:yt,children:[]};break;case 23:it.getLogger().debug("Rule: (nodeStatement link node) ",Q[K-2],Q[K-1],Q[K]," typestr: ",Q[K-1].edgeTypeStr);const Ot=it.edgeStrToEdgeData(Q[K-1].edgeTypeStr);this.$=[{id:Q[K-2].id,label:Q[K-2].label,type:Q[K-2].type,directions:Q[K-2].directions},{id:Q[K-2].id+"-"+Q[K].id,start:Q[K-2].id,end:Q[K].id,label:Q[K-1].label,type:"edge",directions:Q[K].directions,arrowTypeEnd:Ot,arrowTypeStart:"arrow_open"},{id:Q[K].id,label:Q[K].label,type:it.typeStr2Type(Q[K].typeStr),directions:Q[K].directions}];break;case 24:it.getLogger().debug("Rule: nodeStatement (abc88 node size) ",Q[K-1],Q[K]),this.$={id:Q[K-1].id,label:Q[K-1].label,type:it.typeStr2Type(Q[K-1].typeStr),directions:Q[K-1].directions,widthInColumns:parseInt(Q[K],10)};break;case 25:it.getLogger().debug("Rule: nodeStatement (node) ",Q[K]),this.$={id:Q[K].id,label:Q[K].label,type:it.typeStr2Type(Q[K].typeStr),directions:Q[K].directions,widthInColumns:1};break;case 26:it.getLogger().debug("APA123",this?this:"na"),it.getLogger().debug("COLUMNS: ",Q[K]),this.$={type:"column-setting",columns:Q[K]==="auto"?-1:parseInt(Q[K])};break;case 27:it.getLogger().debug("Rule: id-block statement : ",Q[K-2],Q[K-1]),it.generateId(),this.$={...Q[K-2],type:"composite",children:Q[K-1]};break;case 28:it.getLogger().debug("Rule: blockStatement : ",Q[K-2],Q[K-1],Q[K]);const It=it.generateId();this.$={id:It,type:"composite",label:"",children:Q[K-1]};break;case 29:it.getLogger().debug("Rule: node (NODE_ID seperator): ",Q[K]),this.$={id:Q[K]};break;case 30:it.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel seperator): ",Q[K-1],Q[K]),this.$={id:Q[K-1],label:Q[K].label,typeStr:Q[K].typeStr,directions:Q[K].directions};break;case 31:it.getLogger().debug("Rule: dirList: ",Q[K]),this.$=[Q[K]];break;case 32:it.getLogger().debug("Rule: dirList: ",Q[K-1],Q[K]),this.$=[Q[K-1]].concat(Q[K]);break;case 33:it.getLogger().debug("Rule: nodeShapeNLabel: ",Q[K-2],Q[K-1],Q[K]),this.$={typeStr:Q[K-2]+Q[K],label:Q[K-1]};break;case 34:it.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",Q[K-3],Q[K-2]," #3:",Q[K-1],Q[K]),this.$={typeStr:Q[K-3]+Q[K],label:Q[K-2],directions:Q[K-1]};break;case 35:case 36:this.$={type:"classDef",id:Q[K-1].trim(),css:Q[K].trim()};break;case 37:this.$={type:"applyClass",id:Q[K-1].trim(),styleClass:Q[K].trim()};break;case 38:this.$={type:"applyStyles",id:Q[K-1].trim(),stylesStr:Q[K].trim()};break}},table:[{9:1,10:[1,2]},{1:[3]},{11:3,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:f,29:g,31:w,32:v,40:b,44:E,47:S},{8:[1,20]},i(_,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,21:a,28:f,29:g,31:w,32:v,40:b,44:E,47:S}),i(M,[2,16],{14:22,15:F,16:R}),i(M,[2,17]),i(M,[2,18]),i(M,[2,19]),i(M,[2,20]),i(M,[2,21]),i(M,[2,22]),i(B,[2,25],{27:[1,25]}),i(M,[2,26]),{19:26,26:12,32:v},{11:27,13:4,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:f,29:g,31:w,32:v,40:b,44:E,47:S},{41:[1,28],43:[1,29]},{45:[1,30]},{48:[1,31]},i(z,[2,29],{33:32,36:[1,33],38:[1,34]}),{1:[2,7]},i(_,[2,13]),{26:35,32:v},{32:[2,14]},{17:[1,36]},i(B,[2,24]),{11:37,13:4,14:22,15:F,16:R,19:5,20:6,21:a,22:8,23:9,24:10,25:11,26:12,28:f,29:g,31:w,32:v,40:b,44:E,47:S},{30:[1,38]},{42:[1,39]},{42:[1,40]},{46:[1,41]},{49:[1,42]},i(z,[2,30]),{18:[1,43]},{18:[1,44]},i(B,[2,23]),{18:[1,45]},{30:[1,46]},i(M,[2,28]),i(M,[2,35]),i(M,[2,36]),i(M,[2,37]),i(M,[2,38]),{37:[1,47]},{34:48,35:Y},{15:[1,50]},i(M,[2,27]),i(z,[2,33]),{39:[1,51]},{34:52,35:Y,39:[2,31]},{32:[2,15]},i(z,[2,34]),{39:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:function(mt,ct){if(ct.recoverable)this.trace(mt);else{var rt=new Error(mt);throw rt.hash=ct,rt}},parse:function(mt){var ct=this,rt=[0],it=[],gt=[null],Q=[],dt=this.table,K="",yt=0,V=0,Ot=2,It=1,jt=Q.slice.call(arguments,1),xt=Object.create(this.lexer),Ft={yy:{}};for(var Ct in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ct)&&(Ft.yy[Ct]=this.yy[Ct]);xt.setInput(mt,Ft.yy),Ft.yy.lexer=xt,Ft.yy.parser=this,typeof xt.yylloc>"u"&&(xt.yylloc={});var kt=xt.yylloc;Q.push(kt);var Gt=xt.options&&xt.options.ranges;typeof Ft.yy.parseError=="function"?this.parseError=Ft.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Fe(){var xe;return xe=it.pop()||xt.lex()||It,typeof xe!="number"&&(xe instanceof Array&&(it=xe,xe=it.pop()),xe=ct.symbols_[xe]||xe),xe}for(var Mt,pn,Ae,ye,tn={},sn,be,Ne,Xt;;){if(pn=rt[rt.length-1],this.defaultActions[pn]?Ae=this.defaultActions[pn]:((Mt===null||typeof Mt>"u")&&(Mt=Fe()),Ae=dt[pn]&&dt[pn][Mt]),typeof Ae>"u"||!Ae.length||!Ae[0]){var _e="";Xt=[];for(sn in dt[pn])this.terminals_[sn]&&sn>Ot&&Xt.push("'"+this.terminals_[sn]+"'");xt.showPosition?_e="Parse error on line "+(yt+1)+`: