UNPKG

mermaid

Version:

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

6 lines 2.91 MB
(function(wA,d0){typeof exports=="object"&&typeof module<"u"?module.exports=d0():typeof define=="function"&&define.amd?define(d0):(wA=typeof globalThis<"u"?globalThis:wA||self,wA.mermaid=d0())})(this,function(){"use strict";function wA(i){for(var a=[],f=1;f<arguments.length;f++)a[f-1]=arguments[f];var p=Array.from(typeof i=="string"?[i]:i);p[p.length-1]=p[p.length-1].replace(/\r?\n([\t ]*)$/,"");var v=p.reduce(function(E,C){var A=C.match(/\n([\t ]+|(?!\s).)/g);return A?E.concat(A.map(function(P){var F,j;return(j=(F=P.match(/[\t ]/g))===null||F===void 0?void 0:F.length)!==null&&j!==void 0?j:0})):E},[]);if(v.length){var m=new RegExp(` [ ]{`+Math.min.apply(Math,v)+"}","g");p=p.map(function(E){return E.replace(m,` `)})}p[0]=p[0].replace(/^\r?\n/,"");var b=p[0];return a.forEach(function(E,C){var A=b.match(/(?:^|\n)( *)$/),P=A?A[1]:"",F=E;typeof E=="string"&&E.includes(` `)&&(F=String(E).split(` `).map(function(j,R){return R===0?j:""+P+j}).join(` `)),b+=F+p[C+1]}),b}var d0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function PE(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var ALt={exports:{}};(function(i,a){(function(f,p){i.exports=p()})(d0,function(){var f=1e3,p=6e4,v=36e5,m="millisecond",b="second",E="minute",C="hour",A="day",P="week",F="month",j="quarter",R="year",H="date",Y="Invalid Date",rt=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,J=/\[([^\]]+)]|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,it={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(Ct){var tt=["th","st","nd","rd"],Pt=Ct%100;return"["+Ct+(tt[(Pt-20)%10]||tt[Pt]||tt[0])+"]"}},ft=function(Ct,tt,Pt){var pt=String(Ct);return!pt||pt.length>=tt?Ct:""+Array(tt+1-pt.length).join(Pt)+Ct},Tt={s:ft,z:function(Ct){var tt=-Ct.utcOffset(),Pt=Math.abs(tt),pt=Math.floor(Pt/60),Ft=Pt%60;return(tt<=0?"+":"-")+ft(pt,2,"0")+":"+ft(Ft,2,"0")},m:function Ct(tt,Pt){if(tt.date()<Pt.date())return-Ct(Pt,tt);var pt=12*(Pt.year()-tt.year())+(Pt.month()-tt.month()),Ft=tt.clone().add(pt,F),X=Pt-Ft<0,Rt=tt.clone().add(pt+(X?-1:1),F);return+(-(pt+(Pt-Ft)/(X?Ft-Rt:Rt-Ft))||0)},a:function(Ct){return Ct<0?Math.ceil(Ct)||0:Math.floor(Ct)},p:function(Ct){return{M:F,y:R,w:P,d:A,D:H,h:C,m:E,s:b,ms:m,Q:j}[Ct]||String(Ct||"").toLowerCase().replace(/s$/,"")},u:function(Ct){return Ct===void 0}},kt="en",mt={};mt[kt]=it;var ct=function(Ct){return Ct instanceof ht},yt=function Ct(tt,Pt,pt){var Ft;if(!tt)return kt;if(typeof tt=="string"){var X=tt.toLowerCase();mt[X]&&(Ft=X),Pt&&(mt[X]=Pt,Ft=X);var Rt=tt.split("-");if(!Ft&&Rt.length>1)return Ct(Rt[0])}else{var Bt=tt.name;mt[Bt]=tt,Ft=Bt}return!pt&&Ft&&(kt=Ft),Ft||!pt&&kt},st=function(Ct,tt){if(ct(Ct))return Ct.clone();var Pt=typeof tt=="object"?tt:{};return Pt.date=Ct,Pt.args=arguments,new ht(Pt)},xt=Tt;xt.l=yt,xt.i=ct,xt.w=function(Ct,tt){return st(Ct,{locale:tt.$L,utc:tt.$u,x:tt.$x,$offset:tt.$offset})};var ht=function(){function Ct(Pt){this.$L=yt(Pt.locale,null,!0),this.parse(Pt)}var tt=Ct.prototype;return tt.parse=function(Pt){this.$d=function(pt){var Ft=pt.date,X=pt.utc;if(Ft===null)return new Date(NaN);if(xt.u(Ft))return new Date;if(Ft instanceof Date)return new Date(Ft);if(typeof Ft=="string"&&!/Z$/i.test(Ft)){var Rt=Ft.match(rt);if(Rt){var Bt=Rt[2]-1||0,vt=(Rt[7]||"0").substring(0,3);return X?new Date(Date.UTC(Rt[1],Bt,Rt[3]||1,Rt[4]||0,Rt[5]||0,Rt[6]||0,vt)):new Date(Rt[1],Bt,Rt[3]||1,Rt[4]||0,Rt[5]||0,Rt[6]||0,vt)}}return new Date(Ft)}(Pt),this.$x=Pt.x||{},this.init()},tt.init=function(){var Pt=this.$d;this.$y=Pt.getFullYear(),this.$M=Pt.getMonth(),this.$D=Pt.getDate(),this.$W=Pt.getDay(),this.$H=Pt.getHours(),this.$m=Pt.getMinutes(),this.$s=Pt.getSeconds(),this.$ms=Pt.getMilliseconds()},tt.$utils=function(){return xt},tt.isValid=function(){return this.$d.toString()!==Y},tt.isSame=function(Pt,pt){var Ft=st(Pt);return this.startOf(pt)<=Ft&&Ft<=this.endOf(pt)},tt.isAfter=function(Pt,pt){return st(Pt)<this.startOf(pt)},tt.isBefore=function(Pt,pt){return this.endOf(pt)<st(Pt)},tt.$g=function(Pt,pt,Ft){return xt.u(Pt)?this[pt]:this.set(Ft,Pt)},tt.unix=function(){return Math.floor(this.valueOf()/1e3)},tt.valueOf=function(){return this.$d.getTime()},tt.startOf=function(Pt,pt){var Ft=this,X=!!xt.u(pt)||pt,Rt=xt.p(Pt),Bt=function(Ae,ne){var ke=xt.w(Ft.$u?Date.UTC(Ft.$y,ne,Ae):new Date(Ft.$y,ne,Ae),Ft);return X?ke:ke.endOf(A)},vt=function(Ae,ne){return xt.w(Ft.toDate()[Ae].apply(Ft.toDate("s"),(X?[0,0,0,0]:[23,59,59,999]).slice(ne)),Ft)},Ot=this.$W,Vt=this.$M,qe=this.$D,_n="set"+(this.$u?"UTC":"");switch(Rt){case R:return X?Bt(1,0):Bt(31,11);case F:return X?Bt(1,Vt):Bt(0,Vt+1);case P:var Te=this.$locale().weekStart||0,Wn=(Ot<Te?Ot+7:Ot)-Te;return Bt(X?qe-Wn:qe+(6-Wn),Vt);case A:case H:return vt(_n+"Hours",0);case C:return vt(_n+"Minutes",1);case E:return vt(_n+"Seconds",2);case b:return vt(_n+"Milliseconds",3);default:return this.clone()}},tt.endOf=function(Pt){return this.startOf(Pt,!1)},tt.$set=function(Pt,pt){var Ft,X=xt.p(Pt),Rt="set"+(this.$u?"UTC":""),Bt=(Ft={},Ft[A]=Rt+"Date",Ft[H]=Rt+"Date",Ft[F]=Rt+"Month",Ft[R]=Rt+"FullYear",Ft[C]=Rt+"Hours",Ft[E]=Rt+"Minutes",Ft[b]=Rt+"Seconds",Ft[m]=Rt+"Milliseconds",Ft)[X],vt=X===A?this.$D+(pt-this.$W):pt;if(X===F||X===R){var Ot=this.clone().set(H,1);Ot.$d[Bt](vt),Ot.init(),this.$d=Ot.set(H,Math.min(this.$D,Ot.daysInMonth())).$d}else Bt&&this.$d[Bt](vt);return this.init(),this},tt.set=function(Pt,pt){return this.clone().$set(Pt,pt)},tt.get=function(Pt){return this[xt.p(Pt)]()},tt.add=function(Pt,pt){var Ft,X=this;Pt=Number(Pt);var Rt=xt.p(pt),Bt=function(Vt){var qe=st(X);return xt.w(qe.date(qe.date()+Math.round(Vt*Pt)),X)};if(Rt===F)return this.set(F,this.$M+Pt);if(Rt===R)return this.set(R,this.$y+Pt);if(Rt===A)return Bt(1);if(Rt===P)return Bt(7);var vt=(Ft={},Ft[E]=p,Ft[C]=v,Ft[b]=f,Ft)[Rt]||1,Ot=this.$d.getTime()+Pt*vt;return xt.w(Ot,this)},tt.subtract=function(Pt,pt){return this.add(-1*Pt,pt)},tt.format=function(Pt){var pt=this,Ft=this.$locale();if(!this.isValid())return Ft.invalidDate||Y;var X=Pt||"YYYY-MM-DDTHH:mm:ssZ",Rt=xt.z(this),Bt=this.$H,vt=this.$m,Ot=this.$M,Vt=Ft.weekdays,qe=Ft.months,_n=function(ne,ke,Ve,Ee){return ne&&(ne[ke]||ne(pt,X))||Ve[ke].slice(0,Ee)},Te=function(ne){return xt.s(Bt%12||12,ne,"0")},Wn=Ft.meridiem||function(ne,ke,Ve){var Ee=ne<12?"AM":"PM";return Ve?Ee.toLowerCase():Ee},Ae={YY:String(this.$y).slice(-2),YYYY:this.$y,M:Ot+1,MM:xt.s(Ot+1,2,"0"),MMM:_n(Ft.monthsShort,Ot,qe,3),MMMM:_n(qe,Ot),D:this.$D,DD:xt.s(this.$D,2,"0"),d:String(this.$W),dd:_n(Ft.weekdaysMin,this.$W,Vt,2),ddd:_n(Ft.weekdaysShort,this.$W,Vt,3),dddd:Vt[this.$W],H:String(Bt),HH:xt.s(Bt,2,"0"),h:Te(1),hh:Te(2),a:Wn(Bt,vt,!0),A:Wn(Bt,vt,!1),m:String(vt),mm:xt.s(vt,2,"0"),s:String(this.$s),ss:xt.s(this.$s,2,"0"),SSS:xt.s(this.$ms,3,"0"),Z:Rt};return X.replace(J,function(ne,ke){return ke||Ae[ne]||Rt.replace(":","")})},tt.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},tt.diff=function(Pt,pt,Ft){var X,Rt=xt.p(pt),Bt=st(Pt),vt=(Bt.utcOffset()-this.utcOffset())*p,Ot=this-Bt,Vt=xt.m(this,Bt);return Vt=(X={},X[R]=Vt/12,X[F]=Vt,X[j]=Vt/3,X[P]=(Ot-vt)/6048e5,X[A]=(Ot-vt)/864e5,X[C]=Ot/v,X[E]=Ot/p,X[b]=Ot/f,X)[Rt]||Ot,Ft?Vt:xt.a(Vt)},tt.daysInMonth=function(){return this.endOf(F).$D},tt.$locale=function(){return mt[this.$L]},tt.locale=function(Pt,pt){if(!Pt)return this.$L;var Ft=this.clone(),X=yt(Pt,pt,!0);return X&&(Ft.$L=X),Ft},tt.clone=function(){return xt.w(this.$d,this)},tt.toDate=function(){return new Date(this.valueOf())},tt.toJSON=function(){return this.isValid()?this.toISOString():null},tt.toISOString=function(){return this.$d.toISOString()},tt.toString=function(){return this.$d.toUTCString()},Ct}(),dt=ht.prototype;return st.prototype=dt,[["$ms",m],["$s",b],["$m",E],["$H",C],["$W",A],["$M",F],["$y",R],["$D",H]].forEach(function(Ct){dt[Ct[1]]=function(tt){return this.$g(tt,Ct[0],Ct[1])}}),st.extend=function(Ct,tt){return Ct.$i||(Ct(tt,ht,st),Ct.$i=!0),st},st.locale=yt,st.isDayjs=ct,st.unix=function(Ct){return st(1e3*Ct)},st.en=mt[kt],st.Ls=mt,st.p={},st})})(ALt);var q5e=ALt.exports;const up=PE(q5e),g5={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},Wt={trace:(...i)=>{},debug:(...i)=>{},info:(...i)=>{},warn:(...i)=>{},error:(...i)=>{},fatal:(...i)=>{}},zft=function(i="fatal"){let a=g5.fatal;typeof i=="string"?(i=i.toLowerCase(),i in g5&&(a=g5[i])):typeof i=="number"&&(a=i),Wt.trace=()=>{},Wt.debug=()=>{},Wt.info=()=>{},Wt.warn=()=>{},Wt.error=()=>{},Wt.fatal=()=>{},a<=g5.fatal&&(Wt.fatal=console.error?console.error.bind(console,Y2("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Y2("FATAL"))),a<=g5.error&&(Wt.error=console.error?console.error.bind(console,Y2("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Y2("ERROR"))),a<=g5.warn&&(Wt.warn=console.warn?console.warn.bind(console,Y2("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Y2("WARN"))),a<=g5.info&&(Wt.info=console.info?console.info.bind(console,Y2("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Y2("INFO"))),a<=g5.debug&&(Wt.debug=console.debug?console.debug.bind(console,Y2("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Y2("DEBUG"))),a<=g5.trace&&(Wt.trace=console.debug?console.debug.bind(console,Y2("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Y2("TRACE")))},Y2=i=>`%c${up().format("ss.SSS")} : ${i} : `;var qft={};Object.defineProperty(qft,"__esModule",{value:!0});var Xx=qft.sanitizeUrl=void 0,H5e=/^([^\w]*)(javascript|data|vbscript)/im,V5e=/&#(\w+)(^\w|;)?/g,G5e=/&(newline|tab);/gi,U5e=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,W5e=/^.+(:|&colon;)/gim,K5e=[".","/"];function Y5e(i){return K5e.indexOf(i[0])>-1}function X5e(i){return i.replace(V5e,function(a,f){return String.fromCharCode(f)})}function Q5e(i){var a=X5e(i||"").replace(G5e,"").replace(U5e,"").trim();if(!a)return"about:blank";if(Y5e(a))return a;var f=a.match(W5e);if(!f)return a;var p=f[0];return H5e.test(p)?"about:blank":a}Xx=qft.sanitizeUrl=Q5e;function fU(i,a){return i==null||a==null?NaN:i<a?-1:i>a?1:i>=a?0:NaN}function Z5e(i,a){return i==null||a==null?NaN:a<i?-1:a>i?1:a>=i?0:NaN}function Hft(i){let a,f,p;i.length!==2?(a=fU,f=(E,C)=>fU(i(E),C),p=(E,C)=>i(E)-C):(a=i===fU||i===Z5e?i:J5e,f=i,p=i);function v(E,C,A=0,P=E.length){if(A<P){if(a(C,C)!==0)return P;do{const F=A+P>>>1;f(E[F],C)<0?A=F+1:P=F}while(A<P)}return A}function m(E,C,A=0,P=E.length){if(A<P){if(a(C,C)!==0)return P;do{const F=A+P>>>1;f(E[F],C)<=0?A=F+1:P=F}while(A<P)}return A}function b(E,C,A=0,P=E.length){const F=v(E,C,A,P-1);return F>A&&p(E[F-1],C)>-p(E[F],C)?F-1:F}return{left:v,center:b,right:m}}function J5e(){return 0}function t6e(i){return i===null?NaN:+i}const e6e=Hft(fU).right;Hft(t6e).center;const n6e=e6e;class LLt extends Map{constructor(a,f=s6e){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:f}}),a!=null)for(const[p,v]of a)this.set(p,v)}get(a){return super.get(MLt(this,a))}has(a){return super.has(MLt(this,a))}set(a,f){return super.set(r6e(this,a),f)}delete(a){return super.delete(i6e(this,a))}}function MLt({_intern:i,_key:a},f){const p=a(f);return i.has(p)?i.get(p):f}function r6e({_intern:i,_key:a},f){const p=a(f);return i.has(p)?i.get(p):(i.set(p,f),f)}function i6e({_intern:i,_key:a},f){const p=a(f);return i.has(p)&&(f=i.get(p),i.delete(p)),f}function s6e(i){return i!==null&&typeof i=="object"?i.valueOf():i}var Vft=Math.sqrt(50),Gft=Math.sqrt(10),Uft=Math.sqrt(2);function a6e(i,a,f){var p,v=-1,m,b,E;if(a=+a,i=+i,f=+f,i===a&&f>0)return[i];if((p=a<i)&&(m=i,i=a,a=m),(E=DLt(i,a,f))===0||!isFinite(E))return[];if(E>0){let C=Math.round(i/E),A=Math.round(a/E);for(C*E<i&&++C,A*E>a&&--A,b=new Array(m=A-C+1);++v<m;)b[v]=(C+v)*E}else{E=-E;let C=Math.round(i*E),A=Math.round(a*E);for(C/E<i&&++C,A/E>a&&--A,b=new Array(m=A-C+1);++v<m;)b[v]=(C+v)/E}return p&&b.reverse(),b}function DLt(i,a,f){var p=(a-i)/Math.max(0,f),v=Math.floor(Math.log(p)/Math.LN10),m=p/Math.pow(10,v);return v>=0?(m>=Vft?10:m>=Gft?5:m>=Uft?2:1)*Math.pow(10,v):-Math.pow(10,-v)/(m>=Vft?10:m>=Gft?5:m>=Uft?2:1)}function Wft(i,a,f){var p=Math.abs(a-i)/Math.max(0,f),v=Math.pow(10,Math.floor(Math.log(p)/Math.LN10)),m=p/v;return m>=Vft?v*=10:m>=Gft?v*=5:m>=Uft&&(v*=2),a<i?-v:v}function o6e(i,a){let f;if(a===void 0)for(const p of i)p!=null&&(f<p||f===void 0&&p>=p)&&(f=p);else{let p=-1;for(let v of i)(v=a(v,++p,i))!=null&&(f<v||f===void 0&&v>=v)&&(f=v)}return f}function c6e(i,a){let f;if(a===void 0)for(const p of i)p!=null&&(f>p||f===void 0&&p>=p)&&(f=p);else{let p=-1;for(let v of i)(v=a(v,++p,i))!=null&&(f>v||f===void 0&&v>=v)&&(f=v)}return f}function u6e(i){return i}var dU=1,Kft=2,Yft=3,gU=4,ILt=1e-6;function l6e(i){return"translate("+i+",0)"}function h6e(i){return"translate(0,"+i+")"}function f6e(i){return a=>+i(a)}function d6e(i,a){return a=Math.max(0,i.bandwidth()-a*2)/2,i.round()&&(a=Math.round(a)),f=>+i(f)+a}function g6e(){return!this.__axis}function OLt(i,a){var f=[],p=null,v=null,m=6,b=6,E=3,C=typeof window<"u"&&window.devicePixelRatio>1?0:.5,A=i===dU||i===gU?-1:1,P=i===gU||i===Kft?"x":"y",F=i===dU||i===Yft?l6e:h6e;function j(R){var H=p??(a.ticks?a.ticks.apply(a,f):a.domain()),Y=v??(a.tickFormat?a.tickFormat.apply(a,f):u6e),rt=Math.max(m,0)+E,J=a.range(),it=+J[0]+C,ft=+J[J.length-1]+C,Tt=(a.bandwidth?d6e:f6e)(a.copy(),C),kt=R.selection?R.selection():R,mt=kt.selectAll(".domain").data([null]),ct=kt.selectAll(".tick").data(H,a).order(),yt=ct.exit(),st=ct.enter().append("g").attr("class","tick"),xt=ct.select("line"),ht=ct.select("text");mt=mt.merge(mt.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),ct=ct.merge(st),xt=xt.merge(st.append("line").attr("stroke","currentColor").attr(P+"2",A*m)),ht=ht.merge(st.append("text").attr("fill","currentColor").attr(P,A*rt).attr("dy",i===dU?"0em":i===Yft?"0.71em":"0.32em")),R!==kt&&(mt=mt.transition(R),ct=ct.transition(R),xt=xt.transition(R),ht=ht.transition(R),yt=yt.transition(R).attr("opacity",ILt).attr("transform",function(dt){return isFinite(dt=Tt(dt))?F(dt+C):this.getAttribute("transform")}),st.attr("opacity",ILt).attr("transform",function(dt){var Ct=this.parentNode.__axis;return F((Ct&&isFinite(Ct=Ct(dt))?Ct:Tt(dt))+C)})),yt.remove(),mt.attr("d",i===gU||i===Kft?b?"M"+A*b+","+it+"H"+C+"V"+ft+"H"+A*b:"M"+C+","+it+"V"+ft:b?"M"+it+","+A*b+"V"+C+"H"+ft+"V"+A*b:"M"+it+","+C+"H"+ft),ct.attr("opacity",1).attr("transform",function(dt){return F(Tt(dt)+C)}),xt.attr(P+"2",A*m),ht.attr(P,A*rt).text(Y),kt.filter(g6e).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",i===Kft?"start":i===gU?"end":"middle"),kt.each(function(){this.__axis=Tt})}return j.scale=function(R){return arguments.length?(a=R,j):a},j.ticks=function(){return f=Array.from(arguments),j},j.tickArguments=function(R){return arguments.length?(f=R==null?[]:Array.from(R),j):f.slice()},j.tickValues=function(R){return arguments.length?(p=R==null?null:Array.from(R),j):p&&p.slice()},j.tickFormat=function(R){return arguments.length?(v=R,j):v},j.tickSize=function(R){return arguments.length?(m=b=+R,j):m},j.tickSizeInner=function(R){return arguments.length?(m=+R,j):m},j.tickSizeOuter=function(R){return arguments.length?(b=+R,j):b},j.tickPadding=function(R){return arguments.length?(E=+R,j):E},j.offset=function(R){return arguments.length?(C=+R,j):C},j}function p6e(i){return OLt(dU,i)}function b6e(i){return OLt(Yft,i)}var v6e={value:()=>{}};function NLt(){for(var i=0,a=arguments.length,f={},p;i<a;++i){if(!(p=arguments[i]+"")||p in f||/[\s.]/.test(p))throw new Error("illegal type: "+p);f[p]=[]}return new pU(f)}function pU(i){this._=i}function w6e(i,a){return i.trim().split(/^|\s+/).map(function(f){var p="",v=f.indexOf(".");if(v>=0&&(p=f.slice(v+1),f=f.slice(0,v)),f&&!a.hasOwnProperty(f))throw new Error("unknown type: "+f);return{type:f,name:p}})}pU.prototype=NLt.prototype={constructor:pU,on:function(i,a){var f=this._,p=w6e(i+"",f),v,m=-1,b=p.length;if(arguments.length<2){for(;++m<b;)if((v=(i=p[m]).type)&&(v=m6e(f[v],i.name)))return v;return}if(a!=null&&typeof a!="function")throw new Error("invalid callback: "+a);for(;++m<b;)if(v=(i=p[m]).type)f[v]=PLt(f[v],i.name,a);else if(a==null)for(v in f)f[v]=PLt(f[v],i.name,null);return this},copy:function(){var i={},a=this._;for(var f in a)i[f]=a[f].slice();return new pU(i)},call:function(i,a){if((v=arguments.length-2)>0)for(var f=new Array(v),p=0,v,m;p<v;++p)f[p]=arguments[p+2];if(!this._.hasOwnProperty(i))throw new Error("unknown type: "+i);for(m=this._[i],p=0,v=m.length;p<v;++p)m[p].value.apply(a,f)},apply:function(i,a,f){if(!this._.hasOwnProperty(i))throw new Error("unknown type: "+i);for(var p=this._[i],v=0,m=p.length;v<m;++v)p[v].value.apply(a,f)}};function m6e(i,a){for(var f=0,p=i.length,v;f<p;++f)if((v=i[f]).name===a)return v.value}function PLt(i,a,f){for(var p=0,v=i.length;p<v;++p)if(i[p].name===a){i[p]=v6e,i=i.slice(0,p).concat(i.slice(p+1));break}return f!=null&&i.push({name:a,value:f}),i}var Xft="http://www.w3.org/1999/xhtml";const FLt={svg:"http://www.w3.org/2000/svg",xhtml:Xft,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function bU(i){var a=i+="",f=a.indexOf(":");return f>=0&&(a=i.slice(0,f))!=="xmlns"&&(i=i.slice(f+1)),FLt.hasOwnProperty(a)?{space:FLt[a],local:i}:i}function y6e(i){return function(){var a=this.ownerDocument,f=this.namespaceURI;return f===Xft&&a.documentElement.namespaceURI===Xft?a.createElement(i):a.createElementNS(f,i)}}function x6e(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function BLt(i){var a=bU(i);return(a.local?x6e:y6e)(a)}function k6e(){}function Qft(i){return i==null?k6e:function(){return this.querySelector(i)}}function E6e(i){typeof i!="function"&&(i=Qft(i));for(var a=this._groups,f=a.length,p=new Array(f),v=0;v<f;++v)for(var m=a[v],b=m.length,E=p[v]=new Array(b),C,A,P=0;P<b;++P)(C=m[P])&&(A=i.call(C,C.__data__,P,m))&&("__data__"in C&&(A.__data__=C.__data__),E[P]=A);return new ng(p,this._parents)}function RLt(i){return i==null?[]:Array.isArray(i)?i:Array.from(i)}function T6e(){return[]}function jLt(i){return i==null?T6e:function(){return this.querySelectorAll(i)}}function _6e(i){return function(){return RLt(i.apply(this,arguments))}}function C6e(i){typeof i=="function"?i=_6e(i):i=jLt(i);for(var a=this._groups,f=a.length,p=[],v=[],m=0;m<f;++m)for(var b=a[m],E=b.length,C,A=0;A<E;++A)(C=b[A])&&(p.push(i.call(C,C.__data__,A,b)),v.push(C));return new ng(p,v)}function $Lt(i){return function(){return this.matches(i)}}function zLt(i){return function(a){return a.matches(i)}}var S6e=Array.prototype.find;function A6e(i){return function(){return S6e.call(this.children,i)}}function L6e(){return this.firstElementChild}function M6e(i){return this.select(i==null?L6e:A6e(typeof i=="function"?i:zLt(i)))}var D6e=Array.prototype.filter;function I6e(){return Array.from(this.children)}function O6e(i){return function(){return D6e.call(this.children,i)}}function N6e(i){return this.selectAll(i==null?I6e:O6e(typeof i=="function"?i:zLt(i)))}function P6e(i){typeof i!="function"&&(i=$Lt(i));for(var a=this._groups,f=a.length,p=new Array(f),v=0;v<f;++v)for(var m=a[v],b=m.length,E=p[v]=[],C,A=0;A<b;++A)(C=m[A])&&i.call(C,C.__data__,A,m)&&E.push(C);return new ng(p,this._parents)}function qLt(i){return new Array(i.length)}function F6e(){return new ng(this._enter||this._groups.map(qLt),this._parents)}function vU(i,a){this.ownerDocument=i.ownerDocument,this.namespaceURI=i.namespaceURI,this._next=null,this._parent=i,this.__data__=a}vU.prototype={constructor:vU,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 B6e(i){return function(){return i}}function R6e(i,a,f,p,v,m){for(var b=0,E,C=a.length,A=m.length;b<A;++b)(E=a[b])?(E.__data__=m[b],p[b]=E):f[b]=new vU(i,m[b]);for(;b<C;++b)(E=a[b])&&(v[b]=E)}function j6e(i,a,f,p,v,m,b){var E,C,A=new Map,P=a.length,F=m.length,j=new Array(P),R;for(E=0;E<P;++E)(C=a[E])&&(j[E]=R=b.call(C,C.__data__,E,a)+"",A.has(R)?v[E]=C:A.set(R,C));for(E=0;E<F;++E)R=b.call(i,m[E],E,m)+"",(C=A.get(R))?(p[E]=C,C.__data__=m[E],A.delete(R)):f[E]=new vU(i,m[E]);for(E=0;E<P;++E)(C=a[E])&&A.get(j[E])===C&&(v[E]=C)}function $6e(i){return i.__data__}function z6e(i,a){if(!arguments.length)return Array.from(this,$6e);var f=a?j6e:R6e,p=this._parents,v=this._groups;typeof i!="function"&&(i=B6e(i));for(var m=v.length,b=new Array(m),E=new Array(m),C=new Array(m),A=0;A<m;++A){var P=p[A],F=v[A],j=F.length,R=q6e(i.call(P,P&&P.__data__,A,p)),H=R.length,Y=E[A]=new Array(H),rt=b[A]=new Array(H),J=C[A]=new Array(j);f(P,F,Y,rt,J,R,a);for(var it=0,ft=0,Tt,kt;it<H;++it)if(Tt=Y[it]){for(it>=ft&&(ft=it+1);!(kt=rt[ft])&&++ft<H;);Tt._next=kt||null}}return b=new ng(b,p),b._enter=E,b._exit=C,b}function q6e(i){return typeof i=="object"&&"length"in i?i:Array.from(i)}function H6e(){return new ng(this._exit||this._groups.map(qLt),this._parents)}function V6e(i,a,f){var p=this.enter(),v=this,m=this.exit();return typeof i=="function"?(p=i(p),p&&(p=p.selection())):p=p.append(i+""),a!=null&&(v=a(v),v&&(v=v.selection())),f==null?m.remove():f(m),p&&v?p.merge(v).order():v}function G6e(i){for(var a=i.selection?i.selection():i,f=this._groups,p=a._groups,v=f.length,m=p.length,b=Math.min(v,m),E=new Array(v),C=0;C<b;++C)for(var A=f[C],P=p[C],F=A.length,j=E[C]=new Array(F),R,H=0;H<F;++H)(R=A[H]||P[H])&&(j[H]=R);for(;C<v;++C)E[C]=f[C];return new ng(E,this._parents)}function U6e(){for(var i=this._groups,a=-1,f=i.length;++a<f;)for(var p=i[a],v=p.length-1,m=p[v],b;--v>=0;)(b=p[v])&&(m&&b.compareDocumentPosition(m)^4&&m.parentNode.insertBefore(b,m),m=b);return this}function W6e(i){i||(i=K6e);function a(F,j){return F&&j?i(F.__data__,j.__data__):!F-!j}for(var f=this._groups,p=f.length,v=new Array(p),m=0;m<p;++m){for(var b=f[m],E=b.length,C=v[m]=new Array(E),A,P=0;P<E;++P)(A=b[P])&&(C[P]=A);C.sort(a)}return new ng(v,this._parents).order()}function K6e(i,a){return i<a?-1:i>a?1:i>=a?0:NaN}function Y6e(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function X6e(){return Array.from(this)}function Q6e(){for(var i=this._groups,a=0,f=i.length;a<f;++a)for(var p=i[a],v=0,m=p.length;v<m;++v){var b=p[v];if(b)return b}return null}function Z6e(){let i=0;for(const a of this)++i;return i}function J6e(){return!this.node()}function txe(i){for(var a=this._groups,f=0,p=a.length;f<p;++f)for(var v=a[f],m=0,b=v.length,E;m<b;++m)(E=v[m])&&i.call(E,E.__data__,m,v);return this}function exe(i){return function(){this.removeAttribute(i)}}function nxe(i){return function(){this.removeAttributeNS(i.space,i.local)}}function rxe(i,a){return function(){this.setAttribute(i,a)}}function ixe(i,a){return function(){this.setAttributeNS(i.space,i.local,a)}}function sxe(i,a){return function(){var f=a.apply(this,arguments);f==null?this.removeAttribute(i):this.setAttribute(i,f)}}function axe(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 oxe(i,a){var f=bU(i);if(arguments.length<2){var p=this.node();return f.local?p.getAttributeNS(f.space,f.local):p.getAttribute(f)}return this.each((a==null?f.local?nxe:exe:typeof a=="function"?f.local?axe:sxe:f.local?ixe:rxe)(f,a))}function HLt(i){return i.ownerDocument&&i.ownerDocument.defaultView||i.document&&i||i.defaultView}function cxe(i){return function(){this.style.removeProperty(i)}}function uxe(i,a,f){return function(){this.style.setProperty(i,a,f)}}function lxe(i,a,f){return function(){var p=a.apply(this,arguments);p==null?this.style.removeProperty(i):this.style.setProperty(i,p,f)}}function hxe(i,a,f){return arguments.length>1?this.each((a==null?cxe:typeof a=="function"?lxe:uxe)(i,a,f??"")):mA(this.node(),i)}function mA(i,a){return i.style.getPropertyValue(a)||HLt(i).getComputedStyle(i,null).getPropertyValue(a)}function fxe(i){return function(){delete this[i]}}function dxe(i,a){return function(){this[i]=a}}function gxe(i,a){return function(){var f=a.apply(this,arguments);f==null?delete this[i]:this[i]=f}}function pxe(i,a){return arguments.length>1?this.each((a==null?fxe:typeof a=="function"?gxe:dxe)(i,a)):this.node()[i]}function VLt(i){return i.trim().split(/^|\s+/)}function Zft(i){return i.classList||new GLt(i)}function GLt(i){this._node=i,this._names=VLt(i.getAttribute("class")||"")}GLt.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 ULt(i,a){for(var f=Zft(i),p=-1,v=a.length;++p<v;)f.add(a[p])}function WLt(i,a){for(var f=Zft(i),p=-1,v=a.length;++p<v;)f.remove(a[p])}function bxe(i){return function(){ULt(this,i)}}function vxe(i){return function(){WLt(this,i)}}function wxe(i,a){return function(){(a.apply(this,arguments)?ULt:WLt)(this,i)}}function mxe(i,a){var f=VLt(i+"");if(arguments.length<2){for(var p=Zft(this.node()),v=-1,m=f.length;++v<m;)if(!p.contains(f[v]))return!1;return!0}return this.each((typeof a=="function"?wxe:a?bxe:vxe)(f,a))}function yxe(){this.textContent=""}function xxe(i){return function(){this.textContent=i}}function kxe(i){return function(){var a=i.apply(this,arguments);this.textContent=a??""}}function Exe(i){return arguments.length?this.each(i==null?yxe:(typeof i=="function"?kxe:xxe)(i)):this.node().textContent}function Txe(){this.innerHTML=""}function _xe(i){return function(){this.innerHTML=i}}function Cxe(i){return function(){var a=i.apply(this,arguments);this.innerHTML=a??""}}function Sxe(i){return arguments.length?this.each(i==null?Txe:(typeof i=="function"?Cxe:_xe)(i)):this.node().innerHTML}function Axe(){this.nextSibling&&this.parentNode.appendChild(this)}function Lxe(){return this.each(Axe)}function Mxe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Dxe(){return this.each(Mxe)}function Ixe(i){var a=typeof i=="function"?i:BLt(i);return this.select(function(){return this.appendChild(a.apply(this,arguments))})}function Oxe(){return null}function Nxe(i,a){var f=typeof i=="function"?i:BLt(i),p=a==null?Oxe:typeof a=="function"?a:Qft(a);return this.select(function(){return this.insertBefore(f.apply(this,arguments),p.apply(this,arguments)||null)})}function Pxe(){var i=this.parentNode;i&&i.removeChild(this)}function Fxe(){return this.each(Pxe)}function Bxe(){var i=this.cloneNode(!1),a=this.parentNode;return a?a.insertBefore(i,this.nextSibling):i}function Rxe(){var i=this.cloneNode(!0),a=this.parentNode;return a?a.insertBefore(i,this.nextSibling):i}function jxe(i){return this.select(i?Rxe:Bxe)}function $xe(i){return arguments.length?this.property("__data__",i):this.node().__data__}function zxe(i){return function(a){i.call(this,a,this.__data__)}}function qxe(i){return i.trim().split(/^|\s+/).map(function(a){var f="",p=a.indexOf(".");return p>=0&&(f=a.slice(p+1),a=a.slice(0,p)),{type:a,name:f}})}function Hxe(i){return function(){var a=this.__on;if(a){for(var f=0,p=-1,v=a.length,m;f<v;++f)m=a[f],(!i.type||m.type===i.type)&&m.name===i.name?this.removeEventListener(m.type,m.listener,m.options):a[++p]=m;++p?a.length=p:delete this.__on}}}function Vxe(i,a,f){return function(){var p=this.__on,v,m=zxe(a);if(p){for(var b=0,E=p.length;b<E;++b)if((v=p[b]).type===i.type&&v.name===i.name){this.removeEventListener(v.type,v.listener,v.options),this.addEventListener(v.type,v.listener=m,v.options=f),v.value=a;return}}this.addEventListener(i.type,m,f),v={type:i.type,name:i.name,value:a,listener:m,options:f},p?p.push(v):this.__on=[v]}}function Gxe(i,a,f){var p=qxe(i+""),v,m=p.length,b;if(arguments.length<2){var E=this.node().__on;if(E){for(var C=0,A=E.length,P;C<A;++C)for(v=0,P=E[C];v<m;++v)if((b=p[v]).type===P.type&&b.name===P.name)return P.value}return}for(E=a?Vxe:Hxe,v=0;v<m;++v)this.each(E(p[v],a,f));return this}function KLt(i,a,f){var p=HLt(i),v=p.CustomEvent;typeof v=="function"?v=new v(a,f):(v=p.document.createEvent("Event"),f?(v.initEvent(a,f.bubbles,f.cancelable),v.detail=f.detail):v.initEvent(a,!1,!1)),i.dispatchEvent(v)}function Uxe(i,a){return function(){return KLt(this,i,a)}}function Wxe(i,a){return function(){return KLt(this,i,a.apply(this,arguments))}}function Kxe(i,a){return this.each((typeof a=="function"?Wxe:Uxe)(i,a))}function*Yxe(){for(var i=this._groups,a=0,f=i.length;a<f;++a)for(var p=i[a],v=0,m=p.length,b;v<m;++v)(b=p[v])&&(yield b)}var Jft=[null];function ng(i,a){this._groups=i,this._parents=a}function yN(){return new ng([[document.documentElement]],Jft)}function Xxe(){return this}ng.prototype=yN.prototype={constructor:ng,select:E6e,selectAll:C6e,selectChild:M6e,selectChildren:N6e,filter:P6e,data:z6e,enter:F6e,exit:H6e,join:V6e,merge:G6e,selection:Xxe,order:U6e,sort:W6e,call:Y6e,nodes:X6e,node:Q6e,size:Z6e,empty:J6e,each:txe,attr:oxe,style:hxe,property:pxe,classed:mxe,text:Exe,html:Sxe,raise:Lxe,lower:Dxe,append:Ixe,insert:Nxe,remove:Fxe,clone:jxe,datum:$xe,on:Gxe,dispatch:Kxe,[Symbol.iterator]:Yxe};function xr(i){return typeof i=="string"?new ng([[document.querySelector(i)]],[document.documentElement]):new ng([[i]],Jft)}function YLt(i){return typeof i=="string"?new ng([document.querySelectorAll(i)],[document.documentElement]):new ng([RLt(i)],Jft)}function xN(i,a,f){i.prototype=a.prototype=f,f.constructor=i}function wU(i,a){var f=Object.create(i.prototype);for(var p in a)f[p]=a[p];return f}function FE(){}var kN=.7,mU=1/kN,yA="\\s*([+-]?\\d+)\\s*",EN="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",s3="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Qxe=/^#([0-9a-f]{3,8})$/,Zxe=new RegExp(`^rgb\\(${yA},${yA},${yA}\\)$`),Jxe=new RegExp(`^rgb\\(${s3},${s3},${s3}\\)$`),tke=new RegExp(`^rgba\\(${yA},${yA},${yA},${EN}\\)$`),eke=new RegExp(`^rgba\\(${s3},${s3},${s3},${EN}\\)$`),nke=new RegExp(`^hsl\\(${EN},${s3},${s3}\\)$`),rke=new RegExp(`^hsla\\(${EN},${s3},${s3},${EN}\\)$`),XLt={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};xN(FE,BE,{copy(i){return Object.assign(new this.constructor,this,i)},displayable(){return this.rgb().displayable()},hex:QLt,formatHex:QLt,formatHex8:ike,formatHsl:ske,formatRgb:ZLt,toString:ZLt});function QLt(){return this.rgb().formatHex()}function ike(){return this.rgb().formatHex8()}function ske(){return iMt(this).formatHsl()}function ZLt(){return this.rgb().formatRgb()}function BE(i){var a,f;return i=(i+"").trim().toLowerCase(),(a=Qxe.exec(i))?(f=a[1].length,a=parseInt(a[1],16),f===6?JLt(a):f===3?new g0(a>>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):f===8?yU(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):f===4?yU(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=Zxe.exec(i))?new g0(a[1],a[2],a[3],1):(a=Jxe.exec(i))?new g0(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=tke.exec(i))?yU(a[1],a[2],a[3],a[4]):(a=eke.exec(i))?yU(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=nke.exec(i))?rMt(a[1],a[2]/100,a[3]/100,1):(a=rke.exec(i))?rMt(a[1],a[2]/100,a[3]/100,a[4]):XLt.hasOwnProperty(i)?JLt(XLt[i]):i==="transparent"?new g0(NaN,NaN,NaN,0):null}function JLt(i){return new g0(i>>16&255,i>>8&255,i&255,1)}function yU(i,a,f,p){return p<=0&&(i=a=f=NaN),new g0(i,a,f,p)}function tMt(i){return i instanceof FE||(i=BE(i)),i?(i=i.rgb(),new g0(i.r,i.g,i.b,i.opacity)):new g0}function t1t(i,a,f,p){return arguments.length===1?tMt(i):new g0(i,a,f,p??1)}function g0(i,a,f,p){this.r=+i,this.g=+a,this.b=+f,this.opacity=+p}xN(g0,t1t,wU(FE,{brighter(i){return i=i==null?mU:Math.pow(mU,i),new g0(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?kN:Math.pow(kN,i),new g0(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new g0(RE(this.r),RE(this.g),RE(this.b),xU(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:eMt,formatHex:eMt,formatHex8:ake,formatRgb:nMt,toString:nMt}));function eMt(){return`#${jE(this.r)}${jE(this.g)}${jE(this.b)}`}function ake(){return`#${jE(this.r)}${jE(this.g)}${jE(this.b)}${jE((isNaN(this.opacity)?1:this.opacity)*255)}`}function nMt(){const i=xU(this.opacity);return`${i===1?"rgb(":"rgba("}${RE(this.r)}, ${RE(this.g)}, ${RE(this.b)}${i===1?")":`, ${i})`}`}function xU(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function RE(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function jE(i){return i=RE(i),(i<16?"0":"")+i.toString(16)}function rMt(i,a,f,p){return p<=0?i=a=f=NaN:f<=0||f>=1?i=a=NaN:a<=0&&(i=NaN),new Ww(i,a,f,p)}function iMt(i){if(i instanceof Ww)return new Ww(i.h,i.s,i.l,i.opacity);if(i instanceof FE||(i=BE(i)),!i)return new Ww;if(i instanceof Ww)return i;i=i.rgb();var a=i.r/255,f=i.g/255,p=i.b/255,v=Math.min(a,f,p),m=Math.max(a,f,p),b=NaN,E=m-v,C=(m+v)/2;return E?(a===m?b=(f-p)/E+(f<p)*6:f===m?b=(p-a)/E+2:b=(a-f)/E+4,E/=C<.5?m+v:2-m-v,b*=60):E=C>0&&C<1?0:b,new Ww(b,E,C,i.opacity)}function oke(i,a,f,p){return arguments.length===1?iMt(i):new Ww(i,a,f,p??1)}function Ww(i,a,f,p){this.h=+i,this.s=+a,this.l=+f,this.opacity=+p}xN(Ww,oke,wU(FE,{brighter(i){return i=i==null?mU:Math.pow(mU,i),new Ww(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?kN:Math.pow(kN,i),new Ww(this.h,this.s,this.l*i,this.opacity)},rgb(){var i=this.h%360+(this.h<0)*360,a=isNaN(i)||isNaN(this.s)?0:this.s,f=this.l,p=f+(f<.5?f:1-f)*a,v=2*f-p;return new g0(e1t(i>=240?i-240:i+120,v,p),e1t(i,v,p),e1t(i<120?i+240:i-120,v,p),this.opacity)},clamp(){return new Ww(sMt(this.h),kU(this.s),kU(this.l),xU(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const i=xU(this.opacity);return`${i===1?"hsl(":"hsla("}${sMt(this.h)}, ${kU(this.s)*100}%, ${kU(this.l)*100}%${i===1?")":`, ${i})`}`}}));function sMt(i){return i=(i||0)%360,i<0?i+360:i}function kU(i){return Math.max(0,Math.min(1,i||0))}function e1t(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 cke=Math.PI/180,uke=180/Math.PI,EU=18,aMt=.96422,oMt=1,cMt=.82521,uMt=4/29,xA=6/29,lMt=3*xA*xA,lke=xA*xA*xA;function hMt(i){if(i instanceof a3)return new a3(i.l,i.a,i.b,i.opacity);if(i instanceof p5)return fMt(i);i instanceof g0||(i=tMt(i));var a=s1t(i.r),f=s1t(i.g),p=s1t(i.b),v=n1t((.2225045*a+.7168786*f+.0606169*p)/oMt),m,b;return a===f&&f===p?m=b=v:(m=n1t((.4360747*a+.3850649*f+.1430804*p)/aMt),b=n1t((.0139322*a+.0971045*f+.7141733*p)/cMt)),new a3(116*v-16,500*(m-v),200*(v-b),i.opacity)}function hke(i,a,f,p){return arguments.length===1?hMt(i):new a3(i,a,f,p??1)}function a3(i,a,f,p){this.l=+i,this.a=+a,this.b=+f,this.opacity=+p}xN(a3,hke,wU(FE,{brighter(i){return new a3(this.l+EU*(i??1),this.a,this.b,this.opacity)},darker(i){return new a3(this.l-EU*(i??1),this.a,this.b,this.opacity)},rgb(){var i=(this.l+16)/116,a=isNaN(this.a)?i:i+this.a/500,f=isNaN(this.b)?i:i-this.b/200;return a=aMt*r1t(a),i=oMt*r1t(i),f=cMt*r1t(f),new g0(i1t(3.1338561*a-1.6168667*i-.4906146*f),i1t(-.9787684*a+1.9161415*i+.033454*f),i1t(.0719453*a-.2289914*i+1.4052427*f),this.opacity)}}));function n1t(i){return i>lke?Math.pow(i,1/3):i/lMt+uMt}function r1t(i){return i>xA?i*i*i:lMt*(i-uMt)}function i1t(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function s1t(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function fke(i){if(i instanceof p5)return new p5(i.h,i.c,i.l,i.opacity);if(i instanceof a3||(i=hMt(i)),i.a===0&&i.b===0)return new p5(NaN,0<i.l&&i.l<100?0:NaN,i.l,i.opacity);var a=Math.atan2(i.b,i.a)*uke;return new p5(a<0?a+360:a,Math.sqrt(i.a*i.a+i.b*i.b),i.l,i.opacity)}function a1t(i,a,f,p){return arguments.length===1?fke(i):new p5(i,a,f,p??1)}function p5(i,a,f,p){this.h=+i,this.c=+a,this.l=+f,this.opacity=+p}function fMt(i){if(isNaN(i.h))return new a3(i.l,0,0,i.opacity);var a=i.h*cke;return new a3(i.l,Math.cos(a)*i.c,Math.sin(a)*i.c,i.opacity)}xN(p5,a1t,wU(FE,{brighter(i){return new p5(this.h,this.c,this.l+EU*(i??1),this.opacity)},darker(i){return new p5(this.h,this.c,this.l-EU*(i??1),this.opacity)},rgb(){return fMt(this).rgb()}}));const TU=i=>()=>i;function dMt(i,a){return function(f){return i+f*a}}function dke(i,a,f){return i=Math.pow(i,f),a=Math.pow(a,f)-i,f=1/f,function(p){return Math.pow(i+p*a,f)}}function gke(i,a){var f=a-i;return f?dMt(i,f>180||f<-180?f-360*Math.round(f/360):f):TU(isNaN(i)?a:i)}function pke(i){return(i=+i)==1?TN:function(a,f){return f-a?dke(a,f,i):TU(isNaN(a)?f:a)}}function TN(i,a){var f=a-i;return f?dMt(i,f):TU(isNaN(i)?a:i)}const _U=function i(a){var f=pke(a);function p(v,m){var b=f((v=t1t(v)).r,(m=t1t(m)).r),E=f(v.g,m.g),C=f(v.b,m.b),A=TN(v.opacity,m.opacity);return function(P){return v.r=b(P),v.g=E(P),v.b=C(P),v.opacity=A(P),v+""}}return p.gamma=i,p}(1);function bke(i,a){a||(a=[]);var f=i?Math.min(a.length,i.length):0,p=a.slice(),v;return function(m){for(v=0;v<f;++v)p[v]=i[v]*(1-m)+a[v]*m;return p}}function vke(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)}function wke(i,a){var f=a?a.length:0,p=i?Math.min(f,i.length):0,v=new Array(p),m=new Array(f),b;for(b=0;b<p;++b)v[b]=u1t(i[b],a[b]);for(;b<f;++b)m[b]=a[b];return function(E){for(b=0;b<p;++b)m[b]=v[b](E);return m}}function mke(i,a){var f=new Date;return i=+i,a=+a,function(p){return f.setTime(i*(1-p)+a*p),f}}function Kw(i,a){return i=+i,a=+a,function(f){return i*(1-f)+a*f}}function yke(i,a){var f={},p={},v;(i===null||typeof i!="object")&&(i={}),(a===null||typeof a!="object")&&(a={});for(v in a)v in i?f[v]=u1t(i[v],a[v]):p[v]=a[v];return function(m){for(v in f)p[v]=f[v](m);return p}}var o1t=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,c1t=new RegExp(o1t.source,"g");function xke(i){return function(){return i}}function kke(i){return function(a){return i(a)+""}}function gMt(i,a){var f=o1t.lastIndex=c1t.lastIndex=0,p,v,m,b=-1,E=[],C=[];for(i=i+"",a=a+"";(p=o1t.exec(i))&&(v=c1t.exec(a));)(m=v.index)>f&&(m=a.slice(f,m),E[b]?E[b]+=m:E[++b]=m),(p=p[0])===(v=v[0])?E[b]?E[b]+=v:E[++b]=v:(E[++b]=null,C.push({i:b,x:Kw(p,v)})),f=c1t.lastIndex;return f<a.length&&(m=a.slice(f),E[b]?E[b]+=m:E[++b]=m),E.length<2?C[0]?kke(C[0].x):xke(a):(a=C.length,function(A){for(var P=0,F;P<a;++P)E[(F=C[P]).i]=F.x(A);return E.join("")})}function u1t(i,a){var f=typeof a,p;return a==null||f==="boolean"?TU(a):(f==="number"?Kw:f==="string"?(p=BE(a))?(a=p,_U):gMt:a instanceof BE?_U:a instanceof Date?mke:vke(a)?bke:Array.isArray(a)?wke:typeof a.valueOf!="function"&&typeof a.toString!="function"||isNaN(a)?yke:Kw)(i,a)}function Eke(i,a){return i=+i,a=+a,function(f){return Math.round(i*(1-f)+a*f)}}var pMt=180/Math.PI,l1t={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function bMt(i,a,f,p,v,m){var b,E,C;return(b=Math.sqrt(i*i+a*a))&&(i/=b,a/=b),(C=i*f+a*p)&&(f-=i*C,p-=a*C),(E=Math.sqrt(f*f+p*p))&&(f/=E,p/=E,C/=E),i*p<a*f&&(i=-i,a=-a,C=-C,b=-b),{translateX:v,translateY:m,rotate:Math.atan2(a,i)*pMt,skewX:Math.atan(C)*pMt,scaleX:b,scaleY:E}}var CU;function Tke(i){const a=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(i+"");return a.isIdentity?l1t:bMt(a.a,a.b,a.c,a.d,a.e,a.f)}function _ke(i){return i==null||(CU||(CU=document.createElementNS("http://www.w3.org/2000/svg","g")),CU.setAttribute("transform",i),!(i=CU.transform.baseVal.consolidate()))?l1t:(i=i.matrix,bMt(i.a,i.b,i.c,i.d,i.e,i.f))}function vMt(i,a,f,p){function v(A){return A.length?A.pop()+" ":""}function m(A,P,F,j,R,H){if(A!==F||P!==j){var Y=R.push("translate(",null,a,null,f);H.push({i:Y-4,x:Kw(A,F)},{i:Y-2,x:Kw(P,j)})}else(F||j)&&R.push("translate("+F+a+j+f)}function b(A,P,F,j){A!==P?(A-P>180?P+=360:P-A>180&&(A+=360),j.push({i:F.push(v(F)+"rotate(",null,p)-2,x:Kw(A,P)})):P&&F.push(v(F)+"rotate("+P+p)}function E(A,P,F,j){A!==P?j.push({i:F.push(v(F)+"skewX(",null,p)-2,x:Kw(A,P)}):P&&F.push(v(F)+"skewX("+P+p)}function C(A,P,F,j,R,H){if(A!==F||P!==j){var Y=R.push(v(R)+"scale(",null,",",null,")");H.push({i:Y-4,x:Kw(A,F)},{i:Y-2,x:Kw(P,j)})}else(F!==1||j!==1)&&R.push(v(R)+"scale("+F+","+j+")")}return function(A,P){var F=[],j=[];return A=i(A),P=i(P),m(A.translateX,A.translateY,P.translateX,P.translateY,F,j),b(A.rotate,P.rotate,F,j),E(A.skewX,P.skewX,F,j),C(A.scaleX,A.scaleY,P.scaleX,P.scaleY,F,j),A=P=null,function(R){for(var H=-1,Y=j.length,rt;++H<Y;)F[(rt=j[H]).i]=rt.x(R);return F.join("")}}}var Cke=vMt(Tke,"px, ","px)","deg)"),Ske=vMt(_ke,", ",")",")");function Ake(i){return function(a,f){var p=i((a=a1t(a)).h,(f=a1t(f)).h),v=TN(a.c,f.c),m=TN(a.l,f.l),b=TN(a.opacity,f.opacity);return function(E){return a.h=p(E),a.c=v(E),a.l=m(E),a.opacity=b(E),a+""}}}const Lke=Ake(gke);var kA=0,_N=0,CN=0,wMt=1e3,SU,SN,AU=0,$E=0,LU=0,AN=typeof performance=="object"&&performance.now?performance:Date,mMt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(i){setTimeout(i,17)};function h1t(){return $E||(mMt(Mke),$E=AN.now()+LU)}function Mke(){$E=0}function MU(){this._call=this._time=this._next=null}MU.prototype=yMt.prototype={constructor:MU,restart:function(i,a,f){if(typeof i!="function")throw new TypeError("callback is not a function");f=(f==null?h1t():+f)+(a==null?0:+a),!this._next&&SN!==this&&(SN?SN._next=this:SU=this,SN=this),this._call=i,this._time=f,f1t()},stop:function(){this._call&&(this._call=null,this._time=1/0,f1t())}};function yMt(i,a,f){var p=new MU;return p.restart(i,a,f),p}function Dke(){h1t(),++kA;for(var i=SU,a;i;)(a=$E-i._time)>=0&&i._call.call(void 0,a),i=i._next;--kA}function xMt(){$E=(AU=AN.now())+LU,kA=_N=0;try{Dke()}finally{kA=0,Oke(),$E=0}}function Ike(){var i=AN.now(),a=i-AU;a>wMt&&(LU-=a,AU=i)}function Oke(){for(var i,a=SU,f,p=1/0;a;)a._call?(p>a._time&&(p=a._time),i=a,a=a._next):(f=a._next,a._next=null,a=i?i._next=f:SU=f);SN=i,f1t(p)}function f1t(i){if(!kA){_N&&(_N=clearTimeout(_N));var a=i-$E;a>24?(i<1/0&&(_N=setTimeout(xMt,i-AN.now()-LU)),CN&&(CN=clearInterval(CN))):(CN||(AU=AN.now(),CN=setInterval(Ike,wMt)),kA=1,mMt(xMt))}}function kMt(i,a,f){var p=new MU;return a=a==null?0:+a,p.restart(v=>{p.stop(),i(v+a)},a,f),p}var Nke=NLt("start","end","cancel","interrupt"),Pke=[],EMt=0,TMt=1,d1t=2,DU=3,_Mt=4,g1t=5,IU=6;function OU(i,a,f,p,v,m){var b=i.__transition;if(!b)i.__transition={};else if(f in b)return;Fke(i,f,{name:a,index:p,group:v,on:Nke,tween:Pke,time:m.time,delay:m.delay,duration:m.duration,ease:m.ease,timer:null,state:EMt})}function p1t(i,a){var f=Yw(i,a);if(f.state>EMt)throw new Error("too late; already scheduled");return f}function o3(i,a){var f=Yw(i,a);if(f.state>DU)throw new Error("too late; already running");return f}function Yw(i,a){var f=i.__transition;if(!f||!(f=f[a]))throw new Error("transition not found");return f}function Fke(i,a,f){var p=i.__transition,v;p[a]=f,f.timer=yMt(m,0,f.time);function m(A){f.state=TMt,f.timer.restart(b,f.delay,f.time),f.delay<=A&&b(A-f.delay)}function b(A){var P,F,j,R;if(f.state!==TMt)return C();for(P in p)if(R=p[P],R.name===f.name){if(R.state===DU)return kMt(b);R.state===_Mt?(R.state=IU,R.timer.stop(),R.on.call("interrupt",i,i.__data__,R.index,R.group),delete p[P]):+P<a&&(R.state=IU,R.timer.stop(),R.on.call("cancel",i,i.__data__,R.index,R.group),delete p[P])}if(kMt(function(){f.state===DU&&(f.state=_Mt,f.timer.restart(E,f.delay,f.time),E(A))}),f.state=d1t,f.on.call("start",i,i.__data__,f.index,f.group),f.state===d1t){for(f.state=DU,v=new Array(j=f.tween.length),P=0,F=-1;P<j;++P)(R=f.tween[P].value.call(i,i.__data__,f.index,f.group))&&(v[++F]=R);v.length=F+1}}function E(A){for(var P=A<f.duration?f.ease.call(null,A/f.duration):(f.timer.restart(C),f.state=g1t,1),F=-1,j=v.length;++F<j;)v[F].call(i,P);f.state===g1t&&(f.on.call("end",i,i.__data__,f.index,f.group),C())}function C(){f.state=IU,f.timer.stop(),delete p[a];for(var A in p)return;delete i.__transition}}function Bke(i,a){var f=i.__transition,p,v,m=!0,b;if(f){a=a==null?null:a+"";for(b in f){if((p=f[b]).name!==a){m=!1;continue}v=p.state>d1t&&p.state<g1t,p.state=IU,p.timer.stop(),p.on.call(v?"interrupt":"cancel",i,i.__data__,p.index,p.group),delete f[b]}m&&delete i.__transition}}function Rke(i){return this.each(function(){Bke(this,i)})}function jke(i,a){var f,p;return function(){var v=o3(this,i),m=v.tween;if(m!==f){p=f=m;for(var b=0,E=p.length;b<E;++b)if(p[b].name===a){p=p.slice(),p.splice(b,1);break}}v.tween=p}}function $ke(i,a,f){var p,v;if(typeof f!="function")throw new Error;return function(){var m=o3(this,i),b=m.tween;if(b!==p){v=(p=b).slice();for(var E={name:a,value:f},C=0,A=v.length;C<A;++C)if(v[C].name===a){v[C]=E;break}C===A&&v.push(E)}m.tween=v}}function zke(i,a){var f=this._id;if(i+="",arguments.length<2){for(var p=Yw(this.node(),f).tween,v=0,m=p.length,b;v<m;++v)if((b=p[v]).name===i)return b.value;return null}return this.each((a==null?jke:$ke)(f,i,a))}function b1t(i,a,f){var p=i._id;return i.each(function(){var v=o3(this,p);(v.value||(v.value={}))[a]=f.apply(this,arguments)}),function(v){return Yw(v,p).value[a]}}function CMt(i,a){var f;return(typeof a=="number"?Kw:a instanceof BE?_U:(f=BE(a))?(a=f,_U):gMt)(i,a)}function qke(i){return function(){this.removeAttribute(i)}}function Hke(i){return function(){this.removeAttributeNS(i.space,i.local)}}function Vke(i,a,f){var p,v=f+"",m;return function(){var b=this.getAttribute(i);return b===v?null:b===p?m:m=a(p=b,f)}}function Gke(i,a,f){var p,v=f+"",m;return function(){var b=this.getAttributeNS(i.space,i.local);return b===v?null:b===p?m:m=a(p=b,f)}}function Uke(i,a,f){var p,v,m;return function(){var b,E=f(this),C;return E==null?void this.removeAttribute(i):(b=this.getAttribute(i),C=E+"",b===C?null:b===p&&C===v?m:(v=C,m=a(p=b,E)))}}function Wke(i,a,f){var p,v,m;return function(){var b,E=f(this),C;return E==null?void this.removeAttributeNS(i.space,i.local):(b=this.getAttributeNS(i.space,i.local),C=E+"",b===C?null:b===p&&C===v?m:(v=C,m=a(p=b,E)))}}function Kke(i,a){var f=bU(i),p=f==="transform"?Ske:CMt;return this.attrTween(i,typeof a=="function"?(f.local?Wke:Uke)(f,p,b1t(this,"attr."+i,a)):a==null?(f.local?Hke:qke)(f):(f.local?Gke:Vke)(f,p,a))}function Yke(i,a){return function(f){this.setAttribute(i,a.call(this,f))}}function Xke(i,a){return function(f){this.setAttributeNS(i.space,i.local,a.call(this,f))}}function Qke(i,a){var f,p;function v(){var m=a.apply(this,arguments);return m!==p&&(f=(p=m)&&Xke(i,m)),f}return v._value=a,v}function Zke(i,a){var f,p;function v(){var m=a.apply(this,arguments);return m!==p&&(f=(p=m)&&Yke(i,m)),f}return v._value=a,v}function Jke(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 p=bU(i);return this.tween(f,(p.local?Qke:Zke)(p,a))}function t8e(i,a){return function(){p1t(this,i).delay=+a.apply(this,arguments)}}function e8e(i,a){return a=+a,function(){p1t(this,i).delay=a}}function n8e(i){var a=this._id;return arguments.length?this.each((typeof i=="function"?t8e:e8e)(a,i)):Yw(this.node(),a).delay}function r8e(i,a){return function(){o3(this,i).duration=+a.apply(this,arguments)}}function i8e(i,a){return a