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