mermaid
Version:
Markdown-ish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.
6 lines • 2.89 MB
JavaScript
(function(yA,xA){typeof exports=="object"&&typeof module<"u"?module.exports=xA():typeof define=="function"&&define.amd?define(xA):(yA=typeof globalThis<"u"?globalThis:yA||self,yA.mermaid=xA())})(this,function(){"use strict";function yA(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 M=C.match(/\n([\t ]+|(?!\s).)/g);return M?E.concat(M.map(function(P){var B,j;return(j=(B=P.match(/[\t ]/g))===null||B===void 0?void 0:B.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 M=b.match(/(?:^|\n)( *)$/),P=M?M[1]:"",B=E;typeof E=="string"&&E.includes(`
`)&&(B=String(E).split(`
`).map(function(j,R){return R===0?j:""+P+j}).join(`
`)),b+=B+p[C+1]}),b}var xA=60,ILt=xA*60,OLt=ILt*24,A5e=OLt*7,kA=1e3,Wft=xA*kA,NLt=ILt*kA,L5e=OLt*kA,D5e=A5e*kA,Kft="millisecond",EA="second",TA="minute",_A="hour",Gw="day",ON="week",Uw="month",PLt="quarter",v5="year",CA="date",FLt="YYYY-MM-DDTHH:mm:ssZ",BLt="Invalid Date",M5e=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,I5e=/\[([^\]]+)]|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;const O5e={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(a){var f=["th","st","nd","rd"],p=a%100;return"["+a+(f[(p-20)%10]||f[p]||f[0])+"]"}};var Yft=function(a,f,p){var v=String(a);return!v||v.length>=f?a:""+Array(f+1-v.length).join(p)+a},N5e=function(a){var f=-a.utcOffset(),p=Math.abs(f),v=Math.floor(p/60),m=p%60;return(f<=0?"+":"-")+Yft(v,2,"0")+":"+Yft(m,2,"0")},P5e=function i(a,f){if(a.date()<f.date())return-i(f,a);var p=(f.year()-a.year())*12+(f.month()-a.month()),v=a.clone().add(p,Uw),m=f-v<0,b=a.clone().add(p+(m?-1:1),Uw);return+(-(p+(f-v)/(m?v-b:b-v))||0)},F5e=function(a){return a<0?Math.ceil(a)||0:Math.floor(a)},B5e=function(a){var f={M:Uw,y:v5,w:ON,d:Gw,D:CA,h:_A,m:TA,s:EA,ms:Kft,Q:PLt};return f[a]||String(a||"").toLowerCase().replace(/s$/,"")},R5e=function(a){return a===void 0};const j5e={s:Yft,z:N5e,m:P5e,a:F5e,p:B5e,u:R5e};var NN="en",V9={};V9[NN]=O5e;var Xft=function(a){return a instanceof xU},yU=function i(a,f,p){var v;if(!a)return NN;if(typeof a=="string"){var m=a.toLowerCase();V9[m]&&(v=m),f&&(V9[m]=f,v=m);var b=a.split("-");if(!v&&b.length>1)return i(b[0])}else{var E=a.name;V9[E]=a,v=E}return!p&&v&&(NN=v),v||!p&&NN},ru=function(a,f){if(Xft(a))return a.clone();var p=typeof f=="object"?f:{};return p.date=a,p.args=arguments,new xU(p)},$5e=function(a,f){return ru(a,{locale:f.$L,utc:f.$u,x:f.$x,$offset:f.$offset})},nl=j5e;nl.l=yU,nl.i=Xft,nl.w=$5e;var z5e=function(a){var f=a.date,p=a.utc;if(f===null)return new Date(NaN);if(nl.u(f))return new Date;if(f instanceof Date)return new Date(f);if(typeof f=="string"&&!/Z$/i.test(f)){var v=f.match(M5e);if(v){var m=v[2]-1||0,b=(v[7]||"0").substring(0,3);return p?new Date(Date.UTC(v[1],m,v[3]||1,v[4]||0,v[5]||0,v[6]||0,b)):new Date(v[1],m,v[3]||1,v[4]||0,v[5]||0,v[6]||0,b)}}return new Date(f)},xU=function(){function i(f){this.$L=yU(f.locale,null,!0),this.parse(f)}var a=i.prototype;return a.parse=function(p){this.$d=z5e(p),this.$x=p.x||{},this.init()},a.init=function(){var p=this.$d;this.$y=p.getFullYear(),this.$M=p.getMonth(),this.$D=p.getDate(),this.$W=p.getDay(),this.$H=p.getHours(),this.$m=p.getMinutes(),this.$s=p.getSeconds(),this.$ms=p.getMilliseconds()},a.$utils=function(){return nl},a.isValid=function(){return this.$d.toString()!==BLt},a.isSame=function(p,v){var m=ru(p);return this.startOf(v)<=m&&m<=this.endOf(v)},a.isAfter=function(p,v){return ru(p)<this.startOf(v)},a.isBefore=function(p,v){return this.endOf(v)<ru(p)},a.$g=function(p,v,m){return nl.u(p)?this[v]:this.set(m,p)},a.unix=function(){return Math.floor(this.valueOf()/1e3)},a.valueOf=function(){return this.$d.getTime()},a.startOf=function(p,v){var m=this,b=nl.u(v)?!0:v,E=nl.p(p),C=function(et,it){var dt=nl.w(m.$u?Date.UTC(m.$y,it,et):new Date(m.$y,it,et),m);return b?dt:dt.endOf(Gw)},M=function(et,it){var dt=[0,0,0,0],Tt=[23,59,59,999];return nl.w(m.toDate()[et].apply(m.toDate("s"),(b?dt:Tt).slice(it)),m)},P=this.$W,B=this.$M,j=this.$D,R="set"+(this.$u?"UTC":"");switch(E){case v5:return b?C(1,0):C(31,11);case Uw:return b?C(1,B):C(0,B+1);case ON:{var H=this.$locale().weekStart||0,Y=(P<H?P+7:P)-H;return C(b?j-Y:j+(6-Y),B)}case Gw:case CA:return M(R+"Hours",0);case _A:return M(R+"Minutes",1);case TA:return M(R+"Seconds",2);case EA:return M(R+"Milliseconds",3);default:return this.clone()}},a.endOf=function(p){return this.startOf(p,!1)},a.$set=function(p,v){var m,b=nl.p(p),E="set"+(this.$u?"UTC":""),C=(m={},m[Gw]=E+"Date",m[CA]=E+"Date",m[Uw]=E+"Month",m[v5]=E+"FullYear",m[_A]=E+"Hours",m[TA]=E+"Minutes",m[EA]=E+"Seconds",m[Kft]=E+"Milliseconds",m)[b],M=b===Gw?this.$D+(v-this.$W):v;if(b===Uw||b===v5){var P=this.clone().set(CA,1);P.$d[C](M),P.init(),this.$d=P.set(CA,Math.min(this.$D,P.daysInMonth())).$d}else C&&this.$d[C](M);return this.init(),this},a.set=function(p,v){return this.clone().$set(p,v)},a.get=function(p){return this[nl.p(p)]()},a.add=function(p,v){var m=this,b;p=Number(p);var E=nl.p(v),C=function(j){var R=ru(m);return nl.w(R.date(R.date()+Math.round(j*p)),m)};if(E===Uw)return this.set(Uw,this.$M+p);if(E===v5)return this.set(v5,this.$y+p);if(E===Gw)return C(1);if(E===ON)return C(7);var M=(b={},b[TA]=Wft,b[_A]=NLt,b[EA]=kA,b)[E]||1,P=this.$d.getTime()+p*M;return nl.w(P,this)},a.subtract=function(p,v){return this.add(p*-1,v)},a.format=function(p){var v=this,m=this.$locale();if(!this.isValid())return m.invalidDate||BLt;var b=p||FLt,E=nl.z(this),C=this.$H,M=this.$m,P=this.$M,B=m.weekdays,j=m.months,R=m.meridiem,H=function(dt,Tt,yt,xt){return dt&&(dt[Tt]||dt(v,b))||yt[Tt].slice(0,xt)},Y=function(dt){return nl.s(C%12||12,dt,"0")},st=R||function(it,dt,Tt){var yt=it<12?"AM":"PM";return Tt?yt.toLowerCase():yt},et={YY:String(this.$y).slice(-2),YYYY:this.$y,M:P+1,MM:nl.s(P+1,2,"0"),MMM:H(m.monthsShort,P,j,3),MMMM:H(j,P),D:this.$D,DD:nl.s(this.$D,2,"0"),d:String(this.$W),dd:H(m.weekdaysMin,this.$W,B,2),ddd:H(m.weekdaysShort,this.$W,B,3),dddd:B[this.$W],H:String(C),HH:nl.s(C,2,"0"),h:Y(1),hh:Y(2),a:st(C,M,!0),A:st(C,M,!1),m:String(M),mm:nl.s(M,2,"0"),s:String(this.$s),ss:nl.s(this.$s,2,"0"),SSS:nl.s(this.$ms,3,"0"),Z:E};return b.replace(I5e,function(it,dt){return dt||et[it]||E.replace(":","")})},a.utcOffset=function(){return-Math.round(this.$d.getTimezoneOffset()/15)*15},a.diff=function(p,v,m){var b,E=nl.p(v),C=ru(p),M=(C.utcOffset()-this.utcOffset())*Wft,P=this-C,B=nl.m(this,C);return B=(b={},b[v5]=B/12,b[Uw]=B,b[PLt]=B/3,b[ON]=(P-M)/D5e,b[Gw]=(P-M)/L5e,b[_A]=P/NLt,b[TA]=P/Wft,b[EA]=P/kA,b)[E]||P,m?B:nl.a(B)},a.daysInMonth=function(){return this.endOf(Uw).$D},a.$locale=function(){return V9[this.$L]},a.locale=function(p,v){if(!p)return this.$L;var m=this.clone(),b=yU(p,v,!0);return b&&(m.$L=b),m},a.clone=function(){return nl.w(this.$d,this)},a.toDate=function(){return new Date(this.valueOf())},a.toJSON=function(){return this.isValid()?this.toISOString():null},a.toISOString=function(){return this.$d.toISOString()},a.toString=function(){return this.$d.toUTCString()},i}(),RLt=xU.prototype;ru.prototype=RLt,[["$ms",Kft],["$s",EA],["$m",TA],["$H",_A],["$W",Gw],["$M",Uw],["$y",v5],["$D",CA]].forEach(function(i){RLt[i[1]]=function(a){return this.$g(a,i[0],i[1])}}),ru.extend=function(i,a){return i.$i||(i(a,xU,ru),i.$i=!0),ru},ru.locale=yU,ru.isDayjs=Xft,ru.unix=function(i){return ru(i*1e3)},ru.en=V9[NN],ru.Ls=V9,ru.p={};const w5={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},$t={trace:(...i)=>{},debug:(...i)=>{},info:(...i)=>{},warn:(...i)=>{},error:(...i)=>{},fatal:(...i)=>{}},Qft=function(i="fatal"){let a=w5.fatal;typeof i=="string"?(i=i.toLowerCase(),i in w5&&(a=w5[i])):typeof i=="number"&&(a=i),$t.trace=()=>{},$t.debug=()=>{},$t.info=()=>{},$t.warn=()=>{},$t.error=()=>{},$t.fatal=()=>{},a<=w5.fatal&&($t.fatal=console.error?console.error.bind(console,Ub("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",Ub("FATAL"))),a<=w5.error&&($t.error=console.error?console.error.bind(console,Ub("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",Ub("ERROR"))),a<=w5.warn&&($t.warn=console.warn?console.warn.bind(console,Ub("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",Ub("WARN"))),a<=w5.info&&($t.info=console.info?console.info.bind(console,Ub("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",Ub("INFO"))),a<=w5.debug&&($t.debug=console.debug?console.debug.bind(console,Ub("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Ub("DEBUG"))),a<=w5.trace&&($t.trace=console.debug?console.debug.bind(console,Ub("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",Ub("TRACE")))},Ub=i=>`%c${ru().format("ss.SSS")} : ${i} : `;var ek=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function jLt(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var Zft={};Object.defineProperty(Zft,"__esModule",{value:!0});var nk=Zft.sanitizeUrl=void 0,q5e=/^([^\w]*)(javascript|data|vbscript)/im,H5e=/&#(\w+)(^\w|;)?/g,V5e=/&(newline|tab);/gi,G5e=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,U5e=/^.+(:|:)/gim,W5e=[".","/"];function K5e(i){return W5e.indexOf(i[0])>-1}function Y5e(i){return i.replace(H5e,function(a,f){return String.fromCharCode(f)})}function X5e(i){var a=Y5e(i||"").replace(V5e,"").replace(G5e,"").trim();if(!a)return"about:blank";if(K5e(a))return a;var f=a.match(U5e);if(!f)return a;var p=f[0];return q5e.test(p)?"about:blank":a}nk=Zft.sanitizeUrl=X5e;function kU(i,a){return i==null||a==null?NaN:i<a?-1:i>a?1:i>=a?0:NaN}function Q5e(i,a){return i==null||a==null?NaN:a<i?-1:a>i?1:a>=i?0:NaN}function Jft(i){let a,f,p;i.length!==2?(a=kU,f=(E,C)=>kU(i(E),C),p=(E,C)=>i(E)-C):(a=i===kU||i===Q5e?i:Z5e,f=i,p=i);function v(E,C,M=0,P=E.length){if(M<P){if(a(C,C)!==0)return P;do{const B=M+P>>>1;f(E[B],C)<0?M=B+1:P=B}while(M<P)}return M}function m(E,C,M=0,P=E.length){if(M<P){if(a(C,C)!==0)return P;do{const B=M+P>>>1;f(E[B],C)<=0?M=B+1:P=B}while(M<P)}return M}function b(E,C,M=0,P=E.length){const B=v(E,C,M,P-1);return B>M&&p(E[B-1],C)>-p(E[B],C)?B-1:B}return{left:v,center:b,right:m}}function Z5e(){return 0}function J5e(i){return i===null?NaN:+i}const t6e=Jft(kU).right;Jft(J5e).center;const e6e=t6e;class $Lt extends Map{constructor(a,f=i6e){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(zLt(this,a))}has(a){return super.has(zLt(this,a))}set(a,f){return super.set(n6e(this,a),f)}delete(a){return super.delete(r6e(this,a))}}function zLt({_intern:i,_key:a},f){const p=a(f);return i.has(p)?i.get(p):f}function n6e({_intern:i,_key:a},f){const p=a(f);return i.has(p)?i.get(p):(i.set(p,f),f)}function r6e({_intern:i,_key:a},f){const p=a(f);return i.has(p)&&(f=i.get(p),i.delete(p)),f}function i6e(i){return i!==null&&typeof i=="object"?i.valueOf():i}var t1t=Math.sqrt(50),e1t=Math.sqrt(10),n1t=Math.sqrt(2);function s6e(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=qLt(i,a,f))===0||!isFinite(E))return[];if(E>0){let C=Math.round(i/E),M=Math.round(a/E);for(C*E<i&&++C,M*E>a&&--M,b=new Array(m=M-C+1);++v<m;)b[v]=(C+v)*E}else{E=-E;let C=Math.round(i*E),M=Math.round(a*E);for(C/E<i&&++C,M/E>a&&--M,b=new Array(m=M-C+1);++v<m;)b[v]=(C+v)/E}return p&&b.reverse(),b}function qLt(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>=t1t?10:m>=e1t?5:m>=n1t?2:1)*Math.pow(10,v):-Math.pow(10,-v)/(m>=t1t?10:m>=e1t?5:m>=n1t?2:1)}function r1t(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>=t1t?v*=10:m>=e1t?v*=5:m>=n1t&&(v*=2),a<i?-v:v}function a6e(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 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){return i}var EU=1,i1t=2,s1t=3,TU=4,HLt=1e-6;function u6e(i){return"translate("+i+",0)"}function l6e(i){return"translate(0,"+i+")"}function h6e(i){return a=>+i(a)}function f6e(i,a){return a=Math.max(0,i.bandwidth()-a*2)/2,i.round()&&(a=Math.round(a)),f=>+i(f)+a}function d6e(){return!this.__axis}function VLt(i,a){var f=[],p=null,v=null,m=6,b=6,E=3,C=typeof window<"u"&&window.devicePixelRatio>1?0:.5,M=i===EU||i===TU?-1:1,P=i===TU||i===i1t?"x":"y",B=i===EU||i===s1t?u6e:l6e;function j(R){var H=p??(a.ticks?a.ticks.apply(a,f):a.domain()),Y=v??(a.tickFormat?a.tickFormat.apply(a,f):c6e),st=Math.max(m,0)+E,et=a.range(),it=+et[0]+C,dt=+et[et.length-1]+C,Tt=(a.bandwidth?f6e:h6e)(a.copy(),C),yt=R.selection?R.selection():R,xt=yt.selectAll(".domain").data([null]),ft=yt.selectAll(".tick").data(H,a).order(),wt=ft.exit(),nt=ft.enter().append("g").attr("class","tick"),kt=ft.select("line"),gt=ft.select("text");xt=xt.merge(xt.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),ft=ft.merge(nt),kt=kt.merge(nt.append("line").attr("stroke","currentColor").attr(P+"2",M*m)),gt=gt.merge(nt.append("text").attr("fill","currentColor").attr(P,M*st).attr("dy",i===EU?"0em":i===s1t?"0.71em":"0.32em")),R!==yt&&(xt=xt.transition(R),ft=ft.transition(R),kt=kt.transition(R),gt=gt.transition(R),wt=wt.transition(R).attr("opacity",HLt).attr("transform",function(ht){return isFinite(ht=Tt(ht))?B(ht+C):this.getAttribute("transform")}),nt.attr("opacity",HLt).attr("transform",function(ht){var Mt=this.parentNode.__axis;return B((Mt&&isFinite(Mt=Mt(ht))?Mt:Tt(ht))+C)})),wt.remove(),xt.attr("d",i===TU||i===i1t?b?"M"+M*b+","+it+"H"+C+"V"+dt+"H"+M*b:"M"+C+","+it+"V"+dt:b?"M"+it+","+M*b+"V"+C+"H"+dt+"V"+M*b:"M"+it+","+C+"H"+dt),ft.attr("opacity",1).attr("transform",function(ht){return B(Tt(ht)+C)}),kt.attr(P+"2",M*m),gt.attr(P,M*st).text(Y),yt.filter(d6e).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",i===i1t?"start":i===TU?"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 g6e(i){return VLt(EU,i)}function p6e(i){return VLt(s1t,i)}var b6e={value:()=>{}};function GLt(){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 _U(f)}function _U(i){this._=i}function v6e(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}})}_U.prototype=GLt.prototype={constructor:_U,on:function(i,a){var f=this._,p=v6e(i+"",f),v,m=-1,b=p.length;if(arguments.length<2){for(;++m<b;)if((v=(i=p[m]).type)&&(v=w6e(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]=ULt(f[v],i.name,a);else if(a==null)for(v in f)f[v]=ULt(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 _U(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 w6e(i,a){for(var f=0,p=i.length,v;f<p;++f)if((v=i[f]).name===a)return v.value}function ULt(i,a,f){for(var p=0,v=i.length;p<v;++p)if(i[p].name===a){i[p]=b6e,i=i.slice(0,p).concat(i.slice(p+1));break}return f!=null&&i.push({name:a,value:f}),i}var a1t="http://www.w3.org/1999/xhtml";const WLt={svg:"http://www.w3.org/2000/svg",xhtml:a1t,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function CU(i){var a=i+="",f=a.indexOf(":");return f>=0&&(a=i.slice(0,f))!=="xmlns"&&(i=i.slice(f+1)),WLt.hasOwnProperty(a)?{space:WLt[a],local:i}:i}function m6e(i){return function(){var a=this.ownerDocument,f=this.namespaceURI;return f===a1t&&a.documentElement.namespaceURI===a1t?a.createElement(i):a.createElementNS(f,i)}}function y6e(i){return function(){return this.ownerDocument.createElementNS(i.space,i.local)}}function KLt(i){var a=CU(i);return(a.local?y6e:m6e)(a)}function x6e(){}function o1t(i){return i==null?x6e:function(){return this.querySelector(i)}}function k6e(i){typeof i!="function"&&(i=o1t(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,M,P=0;P<b;++P)(C=m[P])&&(M=i.call(C,C.__data__,P,m))&&("__data__"in C&&(M.__data__=C.__data__),E[P]=M);return new ng(p,this._parents)}function YLt(i){return i==null?[]:Array.isArray(i)?i:Array.from(i)}function E6e(){return[]}function XLt(i){return i==null?E6e:function(){return this.querySelectorAll(i)}}function T6e(i){return function(){return YLt(i.apply(this,arguments))}}function _6e(i){typeof i=="function"?i=T6e(i):i=XLt(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,M=0;M<E;++M)(C=b[M])&&(p.push(i.call(C,C.__data__,M,b)),v.push(C));return new ng(p,v)}function QLt(i){return function(){return this.matches(i)}}function ZLt(i){return function(a){return a.matches(i)}}var C6e=Array.prototype.find;function S6e(i){return function(){return C6e.call(this.children,i)}}function A6e(){return this.firstElementChild}function L6e(i){return this.select(i==null?A6e:S6e(typeof i=="function"?i:ZLt(i)))}var D6e=Array.prototype.filter;function M6e(){return Array.from(this.children)}function I6e(i){return function(){return D6e.call(this.children,i)}}function O6e(i){return this.selectAll(i==null?M6e:I6e(typeof i=="function"?i:ZLt(i)))}function N6e(i){typeof i!="function"&&(i=QLt(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,M=0;M<b;++M)(C=m[M])&&i.call(C,C.__data__,M,m)&&E.push(C);return new ng(p,this._parents)}function JLt(i){return new Array(i.length)}function P6e(){return new ng(this._enter||this._groups.map(JLt),this._parents)}function SU(i,a){this.ownerDocument=i.ownerDocument,this.namespaceURI=i.namespaceURI,this._next=null,this._parent=i,this.__data__=a}SU.prototype={constructor:SU,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 F6e(i){return function(){return i}}function B6e(i,a,f,p,v,m){for(var b=0,E,C=a.length,M=m.length;b<M;++b)(E=a[b])?(E.__data__=m[b],p[b]=E):f[b]=new SU(i,m[b]);for(;b<C;++b)(E=a[b])&&(v[b]=E)}function R6e(i,a,f,p,v,m,b){var E,C,M=new Map,P=a.length,B=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)+"",M.has(R)?v[E]=C:M.set(R,C));for(E=0;E<B;++E)R=b.call(i,m[E],E,m)+"",(C=M.get(R))?(p[E]=C,C.__data__=m[E],M.delete(R)):f[E]=new SU(i,m[E]);for(E=0;E<P;++E)(C=a[E])&&M.get(j[E])===C&&(v[E]=C)}function j6e(i){return i.__data__}function $6e(i,a){if(!arguments.length)return Array.from(this,j6e);var f=a?R6e:B6e,p=this._parents,v=this._groups;typeof i!="function"&&(i=F6e(i));for(var m=v.length,b=new Array(m),E=new Array(m),C=new Array(m),M=0;M<m;++M){var P=p[M],B=v[M],j=B.length,R=z6e(i.call(P,P&&P.__data__,M,p)),H=R.length,Y=E[M]=new Array(H),st=b[M]=new Array(H),et=C[M]=new Array(j);f(P,B,Y,st,et,R,a);for(var it=0,dt=0,Tt,yt;it<H;++it)if(Tt=Y[it]){for(it>=dt&&(dt=it+1);!(yt=st[dt])&&++dt<H;);Tt._next=yt||null}}return b=new ng(b,p),b._enter=E,b._exit=C,b}function z6e(i){return typeof i=="object"&&"length"in i?i:Array.from(i)}function q6e(){return new ng(this._exit||this._groups.map(JLt),this._parents)}function H6e(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 V6e(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 M=f[C],P=p[C],B=M.length,j=E[C]=new Array(B),R,H=0;H<B;++H)(R=M[H]||P[H])&&(j[H]=R);for(;C<v;++C)E[C]=f[C];return new ng(E,this._parents)}function G6e(){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 U6e(i){i||(i=W6e);function a(B,j){return B&&j?i(B.__data__,j.__data__):!B-!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),M,P=0;P<E;++P)(M=b[P])&&(C[P]=M);C.sort(a)}return new ng(v,this._parents).order()}function W6e(i,a){return i<a?-1:i>a?1:i>=a?0:NaN}function K6e(){var i=arguments[0];return arguments[0]=this,i.apply(null,arguments),this}function Y6e(){return Array.from(this)}function X6e(){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 Q6e(){let i=0;for(const a of this)++i;return i}function Z6e(){return!this.node()}function J6e(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 txe(i){return function(){this.removeAttribute(i)}}function exe(i){return function(){this.removeAttributeNS(i.space,i.local)}}function nxe(i,a){return function(){this.setAttribute(i,a)}}function rxe(i,a){return function(){this.setAttributeNS(i.space,i.local,a)}}function ixe(i,a){return function(){var f=a.apply(this,arguments);f==null?this.removeAttribute(i):this.setAttribute(i,f)}}function sxe(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 axe(i,a){var f=CU(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?exe:txe:typeof a=="function"?f.local?sxe:ixe:f.local?rxe:nxe)(f,a))}function tDt(i){return i.ownerDocument&&i.ownerDocument.defaultView||i.document&&i||i.defaultView}function oxe(i){return function(){this.style.removeProperty(i)}}function cxe(i,a,f){return function(){this.style.setProperty(i,a,f)}}function uxe(i,a,f){return function(){var p=a.apply(this,arguments);p==null?this.style.removeProperty(i):this.style.setProperty(i,p,f)}}function lxe(i,a,f){return arguments.length>1?this.each((a==null?oxe:typeof a=="function"?uxe:cxe)(i,a,f??"")):SA(this.node(),i)}function SA(i,a){return i.style.getPropertyValue(a)||tDt(i).getComputedStyle(i,null).getPropertyValue(a)}function hxe(i){return function(){delete this[i]}}function fxe(i,a){return function(){this[i]=a}}function dxe(i,a){return function(){var f=a.apply(this,arguments);f==null?delete this[i]:this[i]=f}}function gxe(i,a){return arguments.length>1?this.each((a==null?hxe:typeof a=="function"?dxe:fxe)(i,a)):this.node()[i]}function eDt(i){return i.trim().split(/^|\s+/)}function c1t(i){return i.classList||new nDt(i)}function nDt(i){this._node=i,this._names=eDt(i.getAttribute("class")||"")}nDt.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 rDt(i,a){for(var f=c1t(i),p=-1,v=a.length;++p<v;)f.add(a[p])}function iDt(i,a){for(var f=c1t(i),p=-1,v=a.length;++p<v;)f.remove(a[p])}function pxe(i){return function(){rDt(this,i)}}function bxe(i){return function(){iDt(this,i)}}function vxe(i,a){return function(){(a.apply(this,arguments)?rDt:iDt)(this,i)}}function wxe(i,a){var f=eDt(i+"");if(arguments.length<2){for(var p=c1t(this.node()),v=-1,m=f.length;++v<m;)if(!p.contains(f[v]))return!1;return!0}return this.each((typeof a=="function"?vxe:a?pxe:bxe)(f,a))}function mxe(){this.textContent=""}function yxe(i){return function(){this.textContent=i}}function xxe(i){return function(){var a=i.apply(this,arguments);this.textContent=a??""}}function kxe(i){return arguments.length?this.each(i==null?mxe:(typeof i=="function"?xxe:yxe)(i)):this.node().textContent}function Exe(){this.innerHTML=""}function Txe(i){return function(){this.innerHTML=i}}function _xe(i){return function(){var a=i.apply(this,arguments);this.innerHTML=a??""}}function Cxe(i){return arguments.length?this.each(i==null?Exe:(typeof i=="function"?_xe:Txe)(i)):this.node().innerHTML}function Sxe(){this.nextSibling&&this.parentNode.appendChild(this)}function Axe(){return this.each(Sxe)}function Lxe(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Dxe(){return this.each(Lxe)}function Mxe(i){var a=typeof i=="function"?i:KLt(i);return this.select(function(){return this.appendChild(a.apply(this,arguments))})}function Ixe(){return null}function Oxe(i,a){var f=typeof i=="function"?i:KLt(i),p=a==null?Ixe:typeof a=="function"?a:o1t(a);return this.select(function(){return this.insertBefore(f.apply(this,arguments),p.apply(this,arguments)||null)})}function Nxe(){var i=this.parentNode;i&&i.removeChild(this)}function Pxe(){return this.each(Nxe)}function Fxe(){var i=this.cloneNode(!1),a=this.parentNode;return a?a.insertBefore(i,this.nextSibling):i}function Bxe(){var i=this.cloneNode(!0),a=this.parentNode;return a?a.insertBefore(i,this.nextSibling):i}function Rxe(i){return this.select(i?Bxe:Fxe)}function jxe(i){return arguments.length?this.property("__data__",i):this.node().__data__}function $xe(i){return function(a){i.call(this,a,this.__data__)}}function zxe(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 qxe(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 Hxe(i,a,f){return function(){var p=this.__on,v,m=$xe(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 Vxe(i,a,f){var p=zxe(i+""),v,m=p.length,b;if(arguments.length<2){var E=this.node().__on;if(E){for(var C=0,M=E.length,P;C<M;++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?Hxe:qxe,v=0;v<m;++v)this.each(E(p[v],a,f));return this}function sDt(i,a,f){var p=tDt(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 Gxe(i,a){return function(){return sDt(this,i,a)}}function Uxe(i,a){return function(){return sDt(this,i,a.apply(this,arguments))}}function Wxe(i,a){return this.each((typeof a=="function"?Uxe:Gxe)(i,a))}function*Kxe(){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 u1t=[null];function ng(i,a){this._groups=i,this._parents=a}function PN(){return new ng([[document.documentElement]],u1t)}function Yxe(){return this}ng.prototype=PN.prototype={constructor:ng,select:k6e,selectAll:_6e,selectChild:L6e,selectChildren:O6e,filter:N6e,data:$6e,enter:P6e,exit:q6e,join:H6e,merge:V6e,selection:Yxe,order:G6e,sort:U6e,call:K6e,nodes:Y6e,node:X6e,size:Q6e,empty:Z6e,each:J6e,attr:axe,style:lxe,property:gxe,classed:wxe,text:kxe,html:Cxe,raise:Axe,lower:Dxe,append:Mxe,insert:Oxe,remove:Pxe,clone:Rxe,datum:jxe,on:Vxe,dispatch:Wxe,[Symbol.iterator]:Kxe};function Dr(i){return typeof i=="string"?new ng([[document.querySelector(i)]],[document.documentElement]):new ng([[i]],u1t)}function l1t(i){return typeof i=="string"?new ng([document.querySelectorAll(i)],[document.documentElement]):new ng([YLt(i)],u1t)}function FN(i,a,f){i.prototype=a.prototype=f,f.constructor=i}function AU(i,a){var f=Object.create(i.prototype);for(var p in a)f[p]=a[p];return f}function G9(){}var BN=.7,LU=1/BN,AA="\\s*([+-]?\\d+)\\s*",RN="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",a3="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Xxe=/^#([0-9a-f]{3,8})$/,Qxe=new RegExp(`^rgb\\(${AA},${AA},${AA}\\)$`),Zxe=new RegExp(`^rgb\\(${a3},${a3},${a3}\\)$`),Jxe=new RegExp(`^rgba\\(${AA},${AA},${AA},${RN}\\)$`),tke=new RegExp(`^rgba\\(${a3},${a3},${a3},${RN}\\)$`),eke=new RegExp(`^hsl\\(${RN},${a3},${a3}\\)$`),nke=new RegExp(`^hsla\\(${RN},${a3},${a3},${RN}\\)$`),aDt={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};FN(G9,U9,{copy(i){return Object.assign(new this.constructor,this,i)},displayable(){return this.rgb().displayable()},hex:oDt,formatHex:oDt,formatHex8:rke,formatHsl:ike,formatRgb:cDt,toString:cDt});function oDt(){return this.rgb().formatHex()}function rke(){return this.rgb().formatHex8()}function ike(){return gDt(this).formatHsl()}function cDt(){return this.rgb().formatRgb()}function U9(i){var a,f;return i=(i+"").trim().toLowerCase(),(a=Xxe.exec(i))?(f=a[1].length,a=parseInt(a[1],16),f===6?uDt(a):f===3?new w0(a>>8&15|a>>4&240,a>>4&15|a&240,(a&15)<<4|a&15,1):f===8?DU(a>>24&255,a>>16&255,a>>8&255,(a&255)/255):f===4?DU(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=Qxe.exec(i))?new w0(a[1],a[2],a[3],1):(a=Zxe.exec(i))?new w0(a[1]*255/100,a[2]*255/100,a[3]*255/100,1):(a=Jxe.exec(i))?DU(a[1],a[2],a[3],a[4]):(a=tke.exec(i))?DU(a[1]*255/100,a[2]*255/100,a[3]*255/100,a[4]):(a=eke.exec(i))?dDt(a[1],a[2]/100,a[3]/100,1):(a=nke.exec(i))?dDt(a[1],a[2]/100,a[3]/100,a[4]):aDt.hasOwnProperty(i)?uDt(aDt[i]):i==="transparent"?new w0(NaN,NaN,NaN,0):null}function uDt(i){return new w0(i>>16&255,i>>8&255,i&255,1)}function DU(i,a,f,p){return p<=0&&(i=a=f=NaN),new w0(i,a,f,p)}function lDt(i){return i instanceof G9||(i=U9(i)),i?(i=i.rgb(),new w0(i.r,i.g,i.b,i.opacity)):new w0}function h1t(i,a,f,p){return arguments.length===1?lDt(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}FN(w0,h1t,AU(G9,{brighter(i){return i=i==null?LU:Math.pow(LU,i),new w0(this.r*i,this.g*i,this.b*i,this.opacity)},darker(i){return i=i==null?BN:Math.pow(BN,i),new w0(this.r*i,this.g*i,this.b*i,this.opacity)},rgb(){return this},clamp(){return new w0(W9(this.r),W9(this.g),W9(this.b),MU(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:hDt,formatHex:hDt,formatHex8:ske,formatRgb:fDt,toString:fDt}));function hDt(){return`#${K9(this.r)}${K9(this.g)}${K9(this.b)}`}function ske(){return`#${K9(this.r)}${K9(this.g)}${K9(this.b)}${K9((isNaN(this.opacity)?1:this.opacity)*255)}`}function fDt(){const i=MU(this.opacity);return`${i===1?"rgb(":"rgba("}${W9(this.r)}, ${W9(this.g)}, ${W9(this.b)}${i===1?")":`, ${i})`}`}function MU(i){return isNaN(i)?1:Math.max(0,Math.min(1,i))}function W9(i){return Math.max(0,Math.min(255,Math.round(i)||0))}function K9(i){return i=W9(i),(i<16?"0":"")+i.toString(16)}function dDt(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 gDt(i){if(i instanceof Ww)return new Ww(i.h,i.s,i.l,i.opacity);if(i instanceof G9||(i=U9(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 ake(i,a,f,p){return arguments.length===1?gDt(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}FN(Ww,ake,AU(G9,{brighter(i){return i=i==null?LU:Math.pow(LU,i),new Ww(this.h,this.s,this.l*i,this.opacity)},darker(i){return i=i==null?BN:Math.pow(BN,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 w0(f1t(i>=240?i-240:i+120,v,p),f1t(i,v,p),f1t(i<120?i+240:i-120,v,p),this.opacity)},clamp(){return new Ww(pDt(this.h),IU(this.s),IU(this.l),MU(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=MU(this.opacity);return`${i===1?"hsl(":"hsla("}${pDt(this.h)}, ${IU(this.s)*100}%, ${IU(this.l)*100}%${i===1?")":`, ${i})`}`}}));function pDt(i){return i=(i||0)%360,i<0?i+360:i}function IU(i){return Math.max(0,Math.min(1,i||0))}function f1t(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 oke=Math.PI/180,cke=180/Math.PI,OU=18,bDt=.96422,vDt=1,wDt=.82521,mDt=4/29,LA=6/29,yDt=3*LA*LA,uke=LA*LA*LA;function xDt(i){if(i instanceof o3)return new o3(i.l,i.a,i.b,i.opacity);if(i instanceof m5)return kDt(i);i instanceof w0||(i=lDt(i));var a=b1t(i.r),f=b1t(i.g),p=b1t(i.b),v=d1t((.2225045*a+.7168786*f+.0606169*p)/vDt),m,b;return a===f&&f===p?m=b=v:(m=d1t((.4360747*a+.3850649*f+.1430804*p)/bDt),b=d1t((.0139322*a+.0971045*f+.7141733*p)/wDt)),new o3(116*v-16,500*(m-v),200*(v-b),i.opacity)}function lke(i,a,f,p){return arguments.length===1?xDt(i):new o3(i,a,f,p??1)}function o3(i,a,f,p){this.l=+i,this.a=+a,this.b=+f,this.opacity=+p}FN(o3,lke,AU(G9,{brighter(i){return new o3(this.l+OU*(i??1),this.a,this.b,this.opacity)},darker(i){return new o3(this.l-OU*(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=bDt*g1t(a),i=vDt*g1t(i),f=wDt*g1t(f),new w0(p1t(3.1338561*a-1.6168667*i-.4906146*f),p1t(-.9787684*a+1.9161415*i+.033454*f),p1t(.0719453*a-.2289914*i+1.4052427*f),this.opacity)}}));function d1t(i){return i>uke?Math.pow(i,1/3):i/yDt+mDt}function g1t(i){return i>LA?i*i*i:yDt*(i-mDt)}function p1t(i){return 255*(i<=.0031308?12.92*i:1.055*Math.pow(i,1/2.4)-.055)}function b1t(i){return(i/=255)<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function hke(i){if(i instanceof m5)return new m5(i.h,i.c,i.l,i.opacity);if(i instanceof o3||(i=xDt(i)),i.a===0&&i.b===0)return new m5(NaN,0<i.l&&i.l<100?0:NaN,i.l,i.opacity);var a=Math.atan2(i.b,i.a)*cke;return new m5(a<0?a+360:a,Math.sqrt(i.a*i.a+i.b*i.b),i.l,i.opacity)}function v1t(i,a,f,p){return arguments.length===1?hke(i):new m5(i,a,f,p??1)}function m5(i,a,f,p){this.h=+i,this.c=+a,this.l=+f,this.opacity=+p}function kDt(i){if(isNaN(i.h))return new o3(i.l,0,0,i.opacity);var a=i.h*oke;return new o3(i.l,Math.cos(a)*i.c,Math.sin(a)*i.c,i.opacity)}FN(m5,v1t,AU(G9,{brighter(i){return new m5(this.h,this.c,this.l+OU*(i??1),this.opacity)},darker(i){return new m5(this.h,this.c,this.l-OU*(i??1),this.opacity)},rgb(){return kDt(this).rgb()}}));const NU=i=>()=>i;function EDt(i,a){return function(f){return i+f*a}}function fke(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 dke(i,a){var f=a-i;return f?EDt(i,f>180||f<-180?f-360*Math.round(f/360):f):NU(isNaN(i)?a:i)}function gke(i){return(i=+i)==1?jN:function(a,f){return f-a?fke(a,f,i):NU(isNaN(a)?f:a)}}function jN(i,a){var f=a-i;return f?EDt(i,f):NU(isNaN(i)?a:i)}const PU=function i(a){var f=gke(a);function p(v,m){var b=f((v=h1t(v)).r,(m=h1t(m)).r),E=f(v.g,m.g),C=f(v.b,m.b),M=jN(v.opacity,m.opacity);return function(P){return v.r=b(P),v.g=E(P),v.b=C(P),v.opacity=M(P),v+""}}return p.gamma=i,p}(1);function pke(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 bke(i){return ArrayBuffer.isView(i)&&!(i instanceof DataView)}function vke(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]=y1t(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 wke(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 mke(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]=y1t(i[v],a[v]):p[v]=a[v];return function(m){for(v in f)p[v]=f[v](m);return p}}var w1t=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,m1t=new RegExp(w1t.source,"g");function yke(i){return function(){return i}}function xke(i){return function(a){return i(a)+""}}function TDt(i,a){var f=w1t.lastIndex=m1t.lastIndex=0,p,v,m,b=-1,E=[],C=[];for(i=i+"",a=a+"";(p=w1t.exec(i))&&(v=m1t.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=m1t.lastIndex;return f<a.length&&(m=a.slice(f),E[b]?E[b]+=m:E[++b]=m),E.length<2?C[0]?xke(C[0].x):yke(a):(a=C.length,function(M){for(var P=0,B;P<a;++P)E[(B=C[P]).i]=B.x(M);return E.join("")})}function y1t(i,a){var f=typeof a,p;return a==null||f==="boolean"?NU(a):(f==="number"?Kw:f==="string"?(p=U9(a))?(a=p,PU):TDt:a instanceof U9?PU:a instanceof Date?wke:bke(a)?pke:Array.isArray(a)?vke:typeof a.valueOf!="function"&&typeof a.toString!="function"||isNaN(a)?mke:Kw)(i,a)}function kke(i,a){return i=+i,a=+a,function(f){return Math.round(i*(1-f)+a*f)}}var _Dt=180/Math.PI,x1t={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function CDt(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)*_Dt,skewX:Math.atan(C)*_Dt,scaleX:b,scaleY:E}}var FU;function Eke(i){const a=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(i+"");return a.isIdentity?x1t:CDt(a.a,a.b,a.c,a.d,a.e,a.f)}function Tke(i){return i==null||(FU||(FU=document.createElementNS("http://www.w3.org/2000/svg","g")),FU.setAttribute("transform",i),!(i=FU.transform.baseVal.consolidate()))?x1t:(i=i.matrix,CDt(i.a,i.b,i.c,i.d,i.e,i.f))}function SDt(i,a,f,p){function v(M){return M.length?M.pop()+" ":""}function m(M,P,B,j,R,H){if(M!==B||P!==j){var Y=R.push("translate(",null,a,null,f);H.push({i:Y-4,x:Kw(M,B)},{i:Y-2,x:Kw(P,j)})}else(B||j)&&R.push("translate("+B+a+j+f)}function b(M,P,B,j){M!==P?(M-P>180?P+=360:P-M>180&&(M+=360),j.push({i:B.push(v(B)+"rotate(",null,p)-2,x:Kw(M,P)})):P&&B.push(v(B)+"rotate("+P+p)}function E(M,P,B,j){M!==P?j.push({i:B.push(v(B)+"skewX(",null,p)-2,x:Kw(M,P)}):P&&B.push(v(B)+"skewX("+P+p)}function C(M,P,B,j,R,H){if(M!==B||P!==j){var Y=R.push(v(R)+"scale(",null,",",null,")");H.push({i:Y-4,x:Kw(M,B)},{i:Y-2,x:Kw(P,j)})}else(B!==1||j!==1)&&R.push(v(R)+"scale("+B+","+j+")")}return function(M,P){var B=[],j=[];return M=i(M),P=i(P),m(M.translateX,M.translateY,P.translateX,P.translateY,B,j),b(M.rotate,P.rotate,B,j),E(M.skewX,P.skewX,B,j),C(M.scaleX,M.scaleY,P.scaleX,P.scaleY,B,j),M=P=null,function(R){for(var H=-1,Y=j.length,st;++H<Y;)B[(st=j[H]).i]=st.x(R);return B.join("")}}}var _ke=SDt(Eke,"px, ","px)","deg)"),Cke=SDt(Tke,", ",")",")");function Ske(i){return function(a,f){var p=i((a=v1t(a)).h,(f=v1t(f)).h),v=jN(a.c,f.c),m=jN(a.l,f.l),b=jN(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 Ake=Ske(dke);var DA=0,$N=0,zN=0,ADt=1e3,BU,qN,RU=0,Y9=0,jU=0,HN=typeof performance=="object"&&performance.now?performance:Date,LDt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(i){setTimeout(i,17)};function k1t(){return Y9||(LDt(Lke),Y9=HN.now()+jU)}function Lke(){Y9=0}function $U(){this._call=this._time=this._next=null}$U.prototype=DDt.prototype={constructor:$U,restart:function(i,a,f){if(typeof i!="function")throw new TypeError("callback is not a function");f=(f==null?k1t():+f)+(a==null?0:+a),!this._next&&qN!==this&&(qN?qN._next=this:BU=this,qN=this),this._call=i,this._time=f,E1t()},stop:function(){this._call&&(this._call=null,this._time=1/0,E1t())}};function DDt(i,a,f){var p=new $U;return p.restart(i,a,f),p}function Dke(){k1t(),++DA;for(var i=BU,a;i;)(a=Y9-i._time)>=0&&i._call.call(void 0,a),i=i._next;--DA}function MDt(){Y9=(RU=HN.now())+jU,DA=$N=0;try{Dke()}finally{DA=0,Ike(),Y9=0}}function Mke(){var i=HN.now(),a=i-RU;a>ADt&&(jU-=a,RU=i)}function Ike(){for(var i,a=BU,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:BU=f);qN=i,E1t(p)}function E1t(i){if(!DA){$N&&($N=clearTimeout($N));var a=i-Y9;a>24?(i<1/0&&($N=setTimeout(MDt,i-HN.now()-jU)),zN&&(zN=clearInterval(zN))):(zN||(RU=HN.now(),zN=setInterval(Mke,ADt)),DA=1,LDt(MDt))}}function IDt(i,a,f){var p=new $U;return a=a==null?0:+a,p.restart(v=>{p.stop(),i(v+a)},a,f),p}var Oke=GLt("start","end","cancel","interrupt"),Nke=[],ODt=0,NDt=1,T1t=2,zU=3,PDt=4,_1t=5,qU=6;function HU(i,a,f,p,v,m){var b=i.__transition;if(!b)i.__transition={};else if(f in b)return;Pke(i,f,{name:a,index:p,group:v,on:Oke,tween:Nke,time:m.time,delay:m.delay,duration:m.duration,ease:m.ease,timer:null,state:ODt})}function C1t(i,a){var f=Yw(i,a);if(f.state>ODt)throw new Error("too late; already scheduled");return f}function c3(i,a){var f=Yw(i,a);if(f.state>zU)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 Pke(i,a,f){var p=i.__transition,v;p[a]=f,f.timer=DDt(m,0,f.time);function m(M){f.state=NDt,f.timer.restart(b,f.delay,f.time),f.delay<=M&&b(M-f.delay)}function b(M){var P,B,j,R;if(f.state!==NDt)return C();for(P in p)if(R=p[P],R.name===f.name){if(R.state===zU)return IDt(b);R.state===PDt?(R.state=qU,R.timer.stop(),R.on.call("interrupt",i,i.__data__,R.index,R.group),delete p[P]):+P<a&&(R.state=qU,R.timer.stop(),R.on.call("cancel",i,i.__data__,R.index,R.group),delete p[P])}if(IDt(function(){f.state===zU&&(f.state=PDt,f.timer.restart(E,f.delay,f.time),E(M))}),f.state=T1t,f.on.call("start",i,i.__data__,f.index,f.group),f.state===T1t){for(f.state=zU,v=new Array(j=f.tween.length),P=0,B=-1;P<j;++P)(R=f.tween[P].value.call(i,i.__data__,f.index,f.group))&&(v[++B]=R);v.length=B+1}}function E(M){for(var P=M<f.duration?f.ease.call(null,M/f.duration):(f.timer.restart(C),f.state=_1t,1),B=-1,j=v.length;++B<j;)v[B].call(i,P);f.state===_1t&&(f.on.call("end",i,i.__data__,f.index,f.group),C())}function C(){f.state=qU,f.timer.stop(),delete p[a];for(var M in p)return;delete i.__transition}}function Fke(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>T1t&&p.state<_1t,p.state=qU,p.timer.stop(),p.on.call(v?"interrupt":"cancel",i,i.__data__,p.index,p.group),delete f[b]}m&&delete i.__transition}}function Bke(i){return this.each(function(){Fke(this,i)})}function Rke(i,a){var f,p;return function(){var v=c3(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 jke(i,a,f){var p,v;if(typeof f!="function")throw new Error;return function(){var m=c3(this,i),b=m.tween;if(b!==p){v=(p=b).slice();for(var E={name:a,value:f},C=0,M=v.length;C<M;++C)if(v[C].name===a){v[C]=E;break}C===M&&v.push(E)}m.tween=v}}function $ke(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?Rke:jke)(f,i,a))}function S1t(i,a,f){var p=i._id;return i.each(function(){var v=c3(this,p);(v.value||(v.value={}))[a]=f.apply(this,arguments)}),function(v){return Yw(v,p).value[a]}}function FDt(i,a){var f;return(typeof a=="number"?Kw:a instanceof U9?PU:(f=U9(a))?(a=f,PU):TDt)(i,a)}function zke(i){return function(){this.removeAttribute(i)}}function qke(i){return function(){this.removeAttributeNS(i.space,i.local)}}function Hke(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 Vke(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 Gke(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 Uke(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 Wke(i,a){var f=CU(i),p=f==="transform"?Cke:FDt;return this.attrTween(i,typeof a=="function"?(f.local?Uke:Gke)(f,p,S1t(this,"attr."+i,a)):a==null?(f.local?qke:zke)(f):(f.local?Vke:Hke)(f,p,a))}function Kke(i,a){return function(f){this.setAttribute(i,a.call(this,f))}}function Yke(i,a){return function(f){this.setAttributeNS(i.space,i.local,a.call(this,f))}}function Xke(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 Qke(i,a){var f,p;function v(){var m=a.apply(this,arguments);return m!==p&&(f=(p=m)&&Kke(i,m)),f}return v._value=a,v}function Zke(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=CU(i);return this.tween(f,(p.local?Xke:Qke)(p,a))}function Jke(i,a){return function(){C1t(this,i).delay=+a.apply(this,arguments)}}function t8e(i,a){return a=+a,function(){C1t(this,i).delay=a}}function e8e(i){var a=this._id;return arguments.length?this.each((typeof i=="function"?Jke:t8e)(a,i)):Yw(this.node(),a).delay}function n8e(i,a){return function(){c3(this,i).duration=+a.apply(this,arguments)}}function r8e(i,a){return a=+a,function(){c3(this,i).duration=a}}function i8e(i){var a=this._id;return arguments.length?this.each((typeof i=="function"?n8e:r8e)(a,i)):Yw(this.node(),a).duration}function s8e(i,a){if(typeof a!="function")throw new Error;return function(){c3(this,i).ease=a}}function a8e(i){var