web.8391.fc6398f5afcc05e2.js Maven / Gradle / Ivy
(self.webpackChunkflink=self.webpackChunkflink||[]).push([[8391],{78391:(ye,j,q)=>{"use strict";q.r(j),q.d(j,{JobOverviewDrawerFlameGraphComponent:()=>je});var mt=q(36895),St=q(24006),Gn=q(77579),Nn=q(18505),An=q(95577),on=q(82722),Ft=(()=>{return(A=Ft||(Ft={})).ON_CPU="on_cpu",A.OFF_CPU="off_cpu",A.FULL="full",Ft;var A})(),G=q(98638),K=q(70344),B=q.n(K),tt=q(25332),ht=(q(31829),q(89515)),$=q(60711),et="$";function _t(){}function an(A,D){var O=new _t;if(A instanceof _t)A.each(function(Y,V){O.set(V,Y)});else if(Array.isArray(A)){var st,k=-1,H=A.length;if(null==D)for(;++k{class A{draw(){if(this.data){const O=this.flameGraphContainer.nativeElement,k=B()().width(O.clientWidth),st={...G,tip:qe}.tip().direction("s").offset([8,0]).attr("class","d3-flame-graph-tip").html(function(X){return`${X.data.name} (${(0,ht.WU)(".3f")(100*(X.x1-X.x0))}%, ${X.data.value} samples)`});k.tooltip(st),this.graphType==Ft.OFF_CPU&&k.setColorMapper(tt.offCpuColorMapper),(0,$.Z)(O).selectAll("*").remove(),(0,$.Z)(O).datum(this.data).call(k)}}}return A.\u0275fac=function(O){return new(O||A)},A.\u0275cmp=N.Xpm({type:A,selectors:[["flink-flame-graph"]],viewQuery:function(O,k){if(1&O&&N.Gf(Ue,7),2&O){let H;N.iGM(H=N.CRH())&&(k.flameGraphContainer=H.first)}},inputs:{data:"data",graphType:"graphType"},standalone:!0,features:[N.jDz],decls:4,vars:1,consts:[[1,"background"],["flameGraphContainer",""]],template:function(O,k){1&O&&(N.TgZ(0,"div",0),N._UZ(1,"div",null,1),N._uU(3),N.qZA()),2&O&&(N.xp6(3),N.hij(" ",k.draw(),"\n"))},encapsulation:2,changeDetection:0}),A})();var Ze=q(82315),Xe=q(7963),Sn=q(48521),qn=q(38231),xe=q(65681),Je=q(22423),$e=q(47932);function Ye(A,D){1&A&&(N.TgZ(0,"span"),N._uU(1," Operator is not running or initializing. Cannot sample flame graph.\n"),N.qZA())}function gn(A,D){if(1&A&&(N.TgZ(0,"nz-option",13)(1,"span",14),N._uU(2),N.qZA()()),2&A){const O=D.$implicit;N.Q6J("nzLabel",O)("nzValue",O),N.xp6(1),N.Q6J("title",O),N.xp6(1),N.Oqu(O)}}function Un(A,D){1&A&&(N.TgZ(0,"span"),N._uU(1,"The task has already been terminated"),N.qZA())}function Xt(A,D){1&A&&(N.TgZ(0,"span"),N._uU(1," The flame graph feature is currently disabled (enable it by setting rest.flamegraph.enabled: true) "),N.qZA())}function We(A,D){1&A&&(N.TgZ(0,"span"),N._uU(1,"We are waiting for the first samples to create a flame graph"),N.qZA())}function Qe(A,D){if(1&A&&(N.TgZ(0,"span"),N._uU(1),N.ALo(2,"humanizeDuration"),N.qZA()),2&A){const O=N.oxw();N.xp6(1),N.hij(" Measurement: ",N.lcZ(2,1,O.now-O.flameGraph.endTimestamp)," ago ")}}function Ke(A,D){1&A&&N._UZ(0,"nz-spin")}let je=(()=>{class A{constructor(O,k,H){this.jobService=O,this.jobLocalService=k,this.cdr=H,this.FlameGraphType=Ft,this.isLoading=!0,this.now=Date.now(),this.flameGraph={},this.allSubtasks="all",this.listOfSampleableSubtasks=[this.allSubtasks],this.graphType=Ft.ON_CPU,this.subtaskIndex=this.allSubtasks,this.destroy$=new Gn.x}ngOnInit(){this.requestRunningSubtasks(),this.requestFlameGraph(this.graphType)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}requestFlameGraph(O){this.flameGraph={},this.jobLocalService.jobWithVertexChanges().pipe((0,Nn.b)(k=>this.selectedVertex=k.vertex),(0,An.z)(k=>this.subtaskIndex===this.allSubtasks?this.jobService.loadOperatorFlameGraph(k.job.jid,k.vertex.id,O):this.jobService.loadOperatorFlameGraphForSingleSubtask(k.job.jid,k.vertex.id,O,this.subtaskIndex)),(0,on.R)(this.destroy$)).subscribe(k=>{this.now=Date.now(),this.flameGraph.endTimestamp!==k.endTimestamp&&(this.isLoading=!1,this.flameGraph=k,this.flameGraph.graphType=O),this.cdr.markForCheck()},()=>{this.isLoading=!1,this.cdr.markForCheck()})}requestRunningSubtasks(){this.jobLocalService.jobWithVertexChanges().pipe((0,Nn.b)(O=>this.selectedVertex=O.vertex),(0,An.z)(O=>this.jobService.loadSubTasks(O.job.jid,O.vertex.id)),(0,on.R)(this.destroy$)).subscribe(O=>{const k=O?.subtasks.filter(H=>"RUNNING"===H.status||"INITIALIZING"===H.status).map(H=>H.subtask.toString());(0,Xe.k)(k)||(this.listOfSampleableSubtasks=[this.allSubtasks,...k],this.cdr.markForCheck())},()=>{this.listOfSampleableSubtasks=[this.allSubtasks],this.cdr.markForCheck()})}selectSubtask(O){this.destroy$.next(),this.subtaskIndex=O,this.cdr.markForCheck(),this.requestFlameGraph(this.graphType)}selectFrameGraphType(O){this.destroy$.next(),this.requestFlameGraph(O)}}return A.\u0275fac=function(O){return new(O||A)(N.Y36(Je.O),N.Y36($e.R),N.Y36(N.sBO))},A.\u0275cmp=N.Xpm({type:A,selectors:[["flink-job-overview-drawer-flamegraph"]],standalone:!0,features:[N.jDz],decls:22,vars:14,consts:[[4,"ngIf"],["nzButtonStyle","solid",3,"ngModel","ngModelChange"],["nz-radio-button","","title","Includes Thread.State.[RUNNABLE, NEW]",3,"nzValue","click"],["nz-radio-button","","title","Includes Thread.State.[WAITING, TIMED_WAITING, BLOCKED]",3,"nzValue","click"],["nz-radio-button","","title","Includes stack traces of threads in all states",3,"nzValue","click"],["nzSize","small","nzShowSearch","",3,"ngModel","ngModelChange"],["nzCustomContent","",3,"nzLabel","nzValue",4,"ngFor","ngForOf"],[3,"ngSwitch"],[4,"ngSwitchCase"],[4,"ngSwitchDefault"],[1,"flame-graph-area"],[3,"data","graphType"],[2,"padding-top","100px"],["nzCustomContent","",3,"nzLabel","nzValue"],[3,"title"]],template:function(O,k){1&O&&(N.YNc(0,Ye,2,0,"span",0),N._uU(1," Type:\n"),N.TgZ(2,"nz-radio-group",1),N.NdJ("ngModelChange",function(st){return k.graphType=st}),N.TgZ(3,"label",2),N.NdJ("click",function(){return k.selectFrameGraphType(k.FlameGraphType.ON_CPU)}),N._uU(4," On-CPU "),N.qZA(),N.TgZ(5,"label",3),N.NdJ("click",function(){return k.selectFrameGraphType(k.FlameGraphType.OFF_CPU)}),N._uU(6," Off-CPU "),N.qZA(),N.TgZ(7,"label",4),N.NdJ("click",function(){return k.selectFrameGraphType(k.FlameGraphType.FULL)}),N._uU(8," Mixed "),N.qZA()(),N._uU(9," Subtask:\n"),N.TgZ(10,"nz-select",5),N.NdJ("ngModelChange",function(st){return k.selectSubtask(st)}),N.YNc(11,gn,3,4,"nz-option",6),N.qZA(),N._uU(12," \xa0 \xa0\n"),N.ynx(13,7),N.YNc(14,Un,2,0,"span",8),N.YNc(15,Xt,2,0,"span",8),N.YNc(16,We,2,0,"span",8),N.YNc(17,Qe,3,3,"span",9),N.BQk(),N.TgZ(18,"div",10),N._UZ(19,"flink-flame-graph",11),N.qZA(),N.TgZ(20,"div",12),N.YNc(21,Ke,1,0,"nz-spin",0),N.qZA()),2&O&&(N.Q6J("ngIf","RUNNING"!==(null==k.selectedVertex||null==k.selectedVertex.detail?null:k.selectedVertex.detail.status)&&"INITIALIZING"!==(null==k.selectedVertex||null==k.selectedVertex.detail?null:k.selectedVertex.detail.status)),N.xp6(2),N.Q6J("ngModel",k.graphType),N.xp6(1),N.Q6J("nzValue",k.FlameGraphType.ON_CPU),N.xp6(2),N.Q6J("nzValue",k.FlameGraphType.OFF_CPU),N.xp6(2),N.Q6J("nzValue",k.FlameGraphType.FULL),N.xp6(3),N.Q6J("ngModel",k.subtaskIndex),N.xp6(1),N.Q6J("ngForOf",k.listOfSampleableSubtasks),N.xp6(2),N.Q6J("ngSwitch",k.flameGraph.endTimestamp),N.xp6(1),N.Q6J("ngSwitchCase",-1),N.xp6(1),N.Q6J("ngSwitchCase",-2),N.xp6(1),N.Q6J("ngSwitchCase",-3),N.xp6(3),N.Q6J("data",k.flameGraph.data)("graphType",k.graphType),N.xp6(2),N.Q6J("ngIf",k.isLoading))},dependencies:[mt.O5,mt.sg,qn.LV,qn.Ip,qn.Vq,Sn.aF,Sn.Of,Sn.Bq,Sn.Dg,St.u5,St.JJ,St.On,mt.RF,Ze.w,Be,mt.n9,mt.ED,xe.j,xe.W],styles:["nz-select[_ngcontent-%COMP%]{width:100px}.metric-selector[_ngcontent-%COMP%]{text-align:center}[_nghost-%COMP%]{display:block;padding:16px}nz-radio-group[_ngcontent-%COMP%]{margin-right:16px}"],changeDetection:0}),A})()},25332:ye=>{self,ye.exports=(()=>{"use strict";var j={d:(G,K)=>{for(var B in K)j.o(K,B)&&!j.o(G,B)&&Object.defineProperty(G,B,{enumerable:!0,get:K[B]})},o:(G,K)=>Object.prototype.hasOwnProperty.call(G,K),r:G=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(G,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(G,"__esModule",{value:!0})}},q={};function Nn(G,K){return G.highlight?K:`rgb(${function Gn(G,K,B){const tt=B,at=1-tt;return[Math.round(G[0]*tt+K[0]*at),Math.round(G[1]*tt+K[1]*at),Math.round(G[2]*tt+K[2]*at)]}([0,255,40],[196,245,233],G.data.value/G.value).join()})`}function An(G,K){if(G.highlight)return K;const tt=function St(G){let K=0;if(G){const B=G.split("`");B.length>1&&(G=B[B.length-1]),K=function mt(G){let B=0,tt=0,at=1;if(G){for(let $=0;$6);$++)B+=at*(G.charCodeAt($)%10),tt+=9*at,at*=.7;tt>0&&(B/=tt)}return B}(G=G.split("(")[0])}return K}(G.data.n||G.data.name);return"rgb("+(0+Math.round(55*(1-tt)))+","+(0+Math.round(230*(1-tt)))+","+(200+Math.round(55*tt))+")"}function on(G,K){let B=K;const{v8_jit:tt,javascript:at,optimized:ht}=G.data.extras||{};if(tt&&!at&&(B="#dadada"),at){let $=(ht||0)/G.value,et=255,_t=0,an=0;$<.4?($*=2.5,et=240-200*$):$<.9?($=2*($-.4),et=0,an=200-200*$,_t=100*$):($=10*($-.9),et=0,an=0,_t=100+150*$),B=`rgb(${et} , ${_t}, ${an})`}return B}function Ft(G,K){if(G.highlight)return K;let B=220,tt=220,at=220;const ht=G.delta||G.data.d||G.data.delta,$=Math.abs(ht);let et=G.value||G.data.v||G.data.value;et<=$&&(et=$);const _t=$/et;return ht===et?(B=255,tt=190,at=90):ht>0?(at=Math.round(235*(1-_t)),tt=at):ht<0&&(B=Math.round(235*(1-_t)),tt=B),"rgb("+B+","+tt+","+at+")"}return j.r(q),j.d(q,{allocationColorMapper:()=>Nn,differentialColorMapper:()=>Ft,nodeJsColorMapper:()=>on,offCpuColorMapper:()=>An}),q})()},31829:ye=>{self,ye.exports=(()=>{"use strict";var j={d:(e,i)=>{for(var a in i)j.o(i,a)&&!j.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:i[a]})},o:(e,i)=>Object.prototype.hasOwnProperty.call(e,i),r:e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},q={};function mt(){}function St(e){return null==e?mt:function(){return this.querySelector(e)}}function Nn(e){return null==e?[]:Array.isArray(e)?e:Array.from(e)}function An(){return[]}function on(e){return null==e?An:function(){return this.querySelectorAll(e)}}function K(e){return function(){return this.matches(e)}}function B(e){return function(i){return i.matches(e)}}j.r(q),j.d(q,{defaultFlamegraphTooltip:()=>Eo});var tt=Array.prototype.find;function ht(){return this.firstElementChild}var et=Array.prototype.filter;function _t(){return Array.from(this.children)}function Vn(e){return new Array(e.length)}function Ot(e,i){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=i}function we(e){return function(){return e}}function Cn(e,i,a,u,c,p){for(var v,d=0,_=i.length,x=p.length;di?1:e>=i?0:NaN}Ot.prototype={constructor:Ot,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,i){return this._parent.insertBefore(e,i)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var gn="http://www.w3.org/1999/xhtml";const Un={svg:"http://www.w3.org/2000/svg",xhtml:gn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Xt(e){var i=e+="",a=i.indexOf(":");return a>=0&&"xmlns"!==(i=e.slice(0,a))&&(e=e.slice(a+1)),Un.hasOwnProperty(i)?{space:Un[i],local:e}:e}function We(e){return function(){this.removeAttribute(e)}}function Qe(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ke(e,i){return function(){this.setAttribute(e,i)}}function je(e,i){return function(){this.setAttributeNS(e.space,e.local,i)}}function A(e,i){return function(){var a=i.apply(this,arguments);null==a?this.removeAttribute(e):this.setAttribute(e,a)}}function D(e,i){return function(){var a=i.apply(this,arguments);null==a?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,a)}}function k(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function H(e){return function(){this.style.removeProperty(e)}}function st(e,i,a){return function(){this.style.setProperty(e,i,a)}}function X(e,i,a){return function(){var u=i.apply(this,arguments);null==u?this.style.removeProperty(e):this.style.setProperty(e,u,a)}}function V(e,i){return e.style.getPropertyValue(i)||k(e).getComputedStyle(e,null).getPropertyValue(i)}function Nt(e){return function(){delete this[e]}}function Jt(e,i){return function(){this[e]=i}}function It(e,i){return function(){var a=i.apply(this,arguments);null==a?delete this[e]:this[e]=a}}function sn(e){return e.trim().split(/^|\s+/)}function Dt(e){return e.classList||new $t(e)}function $t(e){this._node=e,this._names=sn(e.getAttribute("class")||"")}function Yt(e,i){for(var a=Dt(e),u=-1,c=i.length;++u=0&&(a=i.slice(u+1),i=i.slice(0,u)),{type:i,name:a}})}function Ni(e){return function(){var i=this.__on;if(i){for(var p,a=0,u=-1,c=i.length;a=0&&(this._names.splice(i,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var ir=[null];function nt(e,i){this._groups=e,this._parents=i}function or(){return new nt([[document.documentElement]],ir)}nt.prototype=or.prototype={constructor:nt,select:function Gn(e){"function"!=typeof e&&(e=St(e));for(var i=this._groups,a=i.length,u=new Array(a),c=0;c=Le&&(Le=pe+1);!(ci=hn[Le])&&++Le=0;)(d=u[c])&&(p&&4^d.compareDocumentPosition(p)&&p.parentNode.insertBefore(d,p),p=d);return this},sort:function Ze(e){function i(R,z){return R&&z?e(R.__data__,z.__data__):!R-!z}e||(e=Xe);for(var a=this._groups,u=a.length,c=new Array(u),p=0;p1?this.each((null==i?H:"function"==typeof i?X:st)(e,i,a??"")):V(this.node(),e)},property:function Rt(e,i){return arguments.length>1?this.each((null==i?Nt:"function"==typeof i?It:Jt)(e,i)):this.node()[e]},classed:function tr(e,i){var a=sn(e+"");if(arguments.length<2){for(var u=Dt(this.node()),c=-1,p=a.length;++c{}};function $n(){for(var u,e=0,i=arguments.length,a={};e=0&&(u=a.slice(c+1),a=a.slice(0,c)),a&&!i.hasOwnProperty(a))throw new Error("unknown type: "+a);return{type:a,name:u}})}function Ri(e,i){for(var c,a=0,u=e.length;a0)for(var c,p,a=new Array(c),u=0;u=0&&e._call.call(void 0,i),e=e._next;--ln}()}finally{ln=0,function Li(){for(var e,a,i=Wn,u=1/0;i;)i._call?(u>i._time&&(u=i._time),e=i,i=i._next):(a=i._next,i._next=null,i=e?e._next=a:Wn=a);Fn=e,ar(u)}(),fn=0}}function zi(){var e=jn.now(),i=e-Qn;i>1e3&&(Kn-=i,Qn=e)}function ar(e){ln||(Yn&&(Yn=clearTimeout(Yn)),e-fn>24?(e<1/0&&(Yn=setTimeout(Dr,e-jn.now()-Kn)),En&&(En=clearInterval(En))):(En||(Qn=jn.now(),En=setInterval(zi,1e3)),ln=1,te(Dr)))}function zr(e,i,a){var u=new Ae;return u.restart(c=>{u.stop(),e(c+i)},i=null==i?0:+i,a),u}Ae.prototype=ne.prototype={constructor:Ae,restart:function(e,i,a){if("function"!=typeof e)throw new TypeError("callback is not a function");a=(null==a?On():+a)+(null==i?0:+i),!this._next&&Fn!==this&&(Fn?Fn._next=this:Wn=this,Fn=this),this._call=e,this._time=a,ar()},stop:function(){this._call&&(this._call=null,this._time=1/0,ar())}};var Hi=Ne("start","end","cancel","interrupt"),Pi=[];function ke(e,i,a,u,c,p){var d=e.__transition;if(d){if(a in d)return}else e.__transition={};!function Gi(e,i,a){var c,u=e.__transition;function p(x){a.state=1,a.timer.restart(d,a.delay,a.time),a.delay<=x&&d(x-a.delay)}function d(x){var b,R,z,L;if(1!==a.state)return _();for(b in u)if((L=u[b]).name===a.name){if(3===L.state)return zr(d);4===L.state?(L.state=6,L.timer.stop(),L.on.call("interrupt",e,e.__data__,L.index,L.group),delete u[b]):+b0)throw new Error("too late; already scheduled");return a}function Pt(e,i){var a=bt(e,i);if(a.state>3)throw new Error("too late; already running");return a}function bt(e,i){var a=e.__transition;if(!a||!(a=a[i]))throw new Error("transition not found");return a}function cn(e,i){return e=+e,i=+i,function(a){return e*(1-a)+i*a}}var Rn,Gr=180/Math.PI,In={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Te(e,i,a,u,c,p){var d,v,_;return(d=Math.sqrt(e*e+i*i))&&(e/=d,i/=d),(_=e*a+i*u)&&(a-=e*_,u-=i*_),(v=Math.sqrt(a*a+u*u))&&(a/=v,u/=v,_/=v),e*u180?b+=360:b-x>180&&(x+=360),z.push({i:R.push(c(R)+"rotate(",null,u)-2,x:cn(x,b)})):b&&R.push(c(R)+"rotate("+b+u)}(x.rotate,b.rotate,R,z),function v(x,b,R,z){x!==b?z.push({i:R.push(c(R)+"skewX(",null,u)-2,x:cn(x,b)}):b&&R.push(c(R)+"skewX("+b+u)}(x.skewX,b.skewX,R,z),function _(x,b,R,z,L,ut){if(x!==R||b!==z){var ct=L.push(c(L)+"scale(",null,",",null,")");ut.push({i:ct-4,x:cn(x,R)},{i:ct-2,x:cn(b,z)})}else(1!==R||1!==z)&&L.push(c(L)+"scale("+R+","+z+")")}(x.scaleX,x.scaleY,b.scaleX,b.scaleY,R,z),x=b=null,function(L){for(var hn,ut=-1,ct=z.length;++ut>8&15|i>>4&240,i>>4&15|240&i,(15&i)<<4|15&i,1):8===a?oe(i>>24&255,i>>16&255,i>>8&255,(255&i)/255):4===a?oe(i>>12&15|i>>8&240,i>>8&15|i>>4&240,i>>4&15|240&i,((15&i)<<4|15&i)/255):null):(i=ie.exec(e))?new pt(i[1],i[2],i[3],1):(i=Vt.exec(e))?new pt(255*i[1]/100,255*i[2]/100,255*i[3]/100,1):(i=Ji.exec(e))?oe(i[1],i[2],i[3],i[4]):(i=$i.exec(e))?oe(255*i[1]/100,255*i[2]/100,255*i[3]/100,i[4]):(i=Yi.exec(e))?dr(i[1],i[2]/100,i[3]/100,1):(i=Wi.exec(e))?dr(i[1],i[2]/100,i[3]/100,i[4]):Br.hasOwnProperty(e)?Xr(Br[e]):"transparent"===e?new pt(NaN,NaN,NaN,0):null}function Xr(e){return new pt(e>>16&255,e>>8&255,255&e,1)}function oe(e,i,a,u){return u<=0&&(e=i=a=NaN),new pt(e,i,a,u)}function yn(e){return e instanceof ee||(e=zn(e)),e?new pt((e=e.rgb()).r,e.g,e.b,e.opacity):new pt}function ae(e,i,a,u){return 1===arguments.length?yn(e):new pt(e,i,a,u??1)}function pt(e,i,a,u){this.r=+e,this.g=+i,this.b=+a,this.opacity=+u}function Jr(){return"#"+yt(this.r)+yt(this.g)+yt(this.b)}function se(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===e?")":", "+e+")")}function yt(e){return((e=Math.max(0,Math.min(255,Math.round(e)||0)))<16?"0":"")+e.toString(16)}function dr(e,i,a,u){return u<=0?e=i=a=NaN:a<=0||a>=1?e=i=NaN:i<=0&&(e=NaN),new kt(e,i,a,u)}function gr(e){if(e instanceof kt)return new kt(e.h,e.s,e.l,e.opacity);if(e instanceof ee||(e=zn(e)),!e)return new kt;if(e instanceof kt)return e;var i=(e=e.rgb()).r/255,a=e.g/255,u=e.b/255,c=Math.min(i,a,u),p=Math.max(i,a,u),d=NaN,v=p-c,_=(p+c)/2;return v?(d=i===p?(a-u)/v+6*(a0&&_<1?0:d,new kt(d,v,_,e.opacity)}function kt(e,i,a,u){this.h=+e,this.s=+i,this.l=+a,this.opacity=+u}function Ee(e,i,a){return 255*(e<60?i+(a-i)*e/60:e<180?a:e<240?i+(a-i)*(240-e)/60:i)}function $r(e,i,a,u,c){var p=e*e,d=p*e;return((1-3*e+3*p-d)*i+(4-6*p+3*d)*a+(1+3*e+3*p-3*d)*u+d*c)/6}Ur(ee,zn,{copy:function(e){return Object.assign(new this.constructor,this,e)},displayable:function(){return this.rgb().displayable()},hex:Zr,formatHex:Zr,formatHsl:function Qi(){return gr(this).formatHsl()},formatRgb:pr,toString:pr}),Ur(pt,ae,Xi(ee,{brighter:function(e){return e=null==e?re:Math.pow(re,e),new pt(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new pt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){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:Jr,formatHex:Jr,formatRgb:se,toString:se})),Ur(kt,function mr(e,i,a,u){return 1===arguments.length?gr(e):new kt(e,i,a,u??1)},Xi(ee,{brighter:function(e){return e=null==e?re:Math.pow(re,e),new kt(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?.7:Math.pow(.7,e),new kt(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(this.h<0),i=isNaN(e)||isNaN(this.s)?0:this.s,a=this.l,u=a+(a<.5?a:1-a)*i,c=2*a-u;return new pt(Ee(e>=240?e-240:e+120,c,u),Ee(e,c,u),Ee(e<120?e+240:e-120,c,u),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var e=this.opacity;return(1===(e=isNaN(e)?1:Math.max(0,Math.min(1,e)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===e?")":", "+e+")")}}));const vr=e=>()=>e;function Qr(e){return 1==(e=+e)?Kr:function(i,a){return a-i?function Ki(e,i,a){return e=Math.pow(e,a),i=Math.pow(i,a)-e,a=1/a,function(u){return Math.pow(e+u*i,a)}}(i,a,e):vr(isNaN(i)?a:i)}}function Kr(e,i){var a=i-e;return a?function Yr(e,i){return function(a){return e+a*i}}(e,a):vr(isNaN(e)?i:e)}const ji=function e(i){var a=Qr(i);function u(c,p){var d=a((c=ae(c)).r,(p=ae(p)).r),v=a(c.g,p.g),_=a(c.b,p.b),x=Kr(c.opacity,p.opacity);return function(b){return c.r=d(b),c.g=v(b),c.b=_(b),c.opacity=x(b),c+""}}return u.gamma=e,u}(1);function jr(e){return function(i){var d,v,a=i.length,u=new Array(a),c=new Array(a),p=new Array(a);for(d=0;d=1?(a=1,i-1):Math.floor(a*i),c=e[u],p=e[u+1];return $r((a-u/i)*i,u>0?e[u-1]:2*c-p,c,p,ua&&(p=i.slice(a,p),v[d]?v[d]+=p:v[++d]=p),(u=u[0])===(c=c[0])?v[d]?v[d]+=c:v[++d]=c:(v[++d]=null,_.push({i:d,x:cn(u,c)})),a=ti.lastIndex;return a=0&&(i=i.slice(0,a)),!i||"start"===i})}(i)?lr:Pt;return function(){var d=p(this,e),v=d.on;v!==u&&(c=(u=v).copy()).on(i,a),d.on=c}}var Po=Kt.prototype.constructor;function Ar(e){return function(){this.style.removeProperty(e)}}function Ao(e,i,a){return function(u){this.style.setProperty(e,i.call(this,u),a)}}function Hn(e,i,a){var u,c;function p(){var d=i.apply(this,arguments);return d!==c&&(u=(c=d)&&Ao(e,d,a)),u}return p._value=i,p}function fe(e){return function(i){this.textContent=e.call(this,i)}}function Re(e){var i,a;function u(){var c=e.apply(this,arguments);return c!==a&&(i=(a=c)&&fe(c)),i}return u._value=e,u}var ui=0;function Et(e,i,a,u){this._groups=e,this._parents=i,this._name=a,this._id=u}function he(){return++ui}var Ut=Kt.prototype;Et.prototype=function Co(e){return Kt().transition(e)}.prototype={constructor:Et,select:function Nr(e){var i=this._name,a=this._id;"function"!=typeof e&&(e=St(e));for(var u=this._groups,c=u.length,p=new Array(c),d=0;d2&&u.state<5,u.state=6,u.timer.stop(),u.on.call(c?"interrupt":"cancel",e,e.__data__,u.index,u.group),delete a[d]):p=!1;p&&delete e.__transition}}(this,e)})},Kt.prototype.transition=function li(e){var i,a;e instanceof Et?(i=e._id,e=e._name):(i=he(),(a=To).time=On(),e=null==e?null:e+"");for(var u=this._groups,c=u.length,p=0;p{self,ye.exports=(()=>{"use strict";var j={d:(t,n)=>{for(var r in n)j.o(n,r)&&!j.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(t,n)=>Object.prototype.hasOwnProperty.call(t,n)},q={};function mt(){}function St(t){return null==t?mt:function(){return this.querySelector(t)}}function Nn(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function An(){return[]}function on(t){return null==t?An:function(){return this.querySelectorAll(t)}}function K(t){return function(){return this.matches(t)}}function B(t){return function(n){return n.matches(t)}}j.d(q,{default:()=>rs});var tt=Array.prototype.find;function ht(){return this.firstElementChild}var et=Array.prototype.filter;function _t(){return Array.from(this.children)}function Vn(t){return new Array(t.length)}function Ot(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function we(t){return function(){return t}}function Cn(t,n,r,o,s,f){for(var h,l=0,g=n.length,y=f.length;ln?1:t>=n?0:NaN}Ot.prototype={constructor:Ot,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};var gn="http://www.w3.org/1999/xhtml";const Un={svg:"http://www.w3.org/2000/svg",xhtml:gn,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Xt(t){var n=t+="",r=n.indexOf(":");return r>=0&&"xmlns"!==(n=t.slice(0,r))&&(t=t.slice(r+1)),Un.hasOwnProperty(n)?{space:Un[n],local:t}:t}function We(t){return function(){this.removeAttribute(t)}}function Qe(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Ke(t,n){return function(){this.setAttribute(t,n)}}function je(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function A(t,n){return function(){var r=n.apply(this,arguments);null==r?this.removeAttribute(t):this.setAttribute(t,r)}}function D(t,n){return function(){var r=n.apply(this,arguments);null==r?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function k(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function H(t){return function(){this.style.removeProperty(t)}}function st(t,n,r){return function(){this.style.setProperty(t,n,r)}}function X(t,n,r){return function(){var o=n.apply(this,arguments);null==o?this.style.removeProperty(t):this.style.setProperty(t,o,r)}}function V(t,n){return t.style.getPropertyValue(n)||k(t).getComputedStyle(t,null).getPropertyValue(n)}function Nt(t){return function(){delete this[t]}}function Jt(t,n){return function(){this[t]=n}}function It(t,n){return function(){var r=n.apply(this,arguments);null==r?delete this[t]:this[t]=r}}function sn(t){return t.trim().split(/^|\s+/)}function Dt(t){return t.classList||new $t(t)}function $t(t){this._node=t,this._names=sn(t.getAttribute("class")||"")}function Yt(t,n){for(var r=Dt(t),o=-1,s=n.length;++o=0&&(r=n.slice(o+1),n=n.slice(0,o)),{type:n,name:r}})}function Ni(t){return function(){var n=this.__on;if(n){for(var f,r=0,o=-1,s=n.length;r=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var ir=[null];function nt(t,n){this._groups=t,this._parents=n}function or(){return new nt([[document.documentElement]],ir)}nt.prototype=or.prototype={constructor:nt,select:function Gn(t){"function"!=typeof t&&(t=St(t));for(var n=this._groups,r=n.length,o=new Array(r),s=0;s=wt&&(wt=vt+1);!(it=dt[wt])&&++wt=0;)(l=o[s])&&(f&&4^l.compareDocumentPosition(f)&&f.parentNode.insertBefore(l,f),f=l);return this},sort:function Ze(t){function n(M,C){return M&&C?t(M.__data__,C.__data__):!M-!C}t||(t=Xe);for(var r=this._groups,o=r.length,s=new Array(o),f=0;f1?this.each((null==n?H:"function"==typeof n?X:st)(t,n,r??"")):V(this.node(),t)},property:function Rt(t,n){return arguments.length>1?this.each((null==n?Nt:"function"==typeof n?It:Jt)(t,n)):this.node()[t]},classed:function tr(t,n){var r=sn(t+"");if(arguments.length<2){for(var o=Dt(this.node()),s=-1,f=r.length;++s1?o[0]+o.slice(2):o,+t.slice(r+1)]}function jt(t){return(t=$n(Math.abs(t)))?t[1]:NaN}var En,Or=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ne(t){if(!(n=Or.exec(t)))throw new Error("invalid format: "+t);var n;return new ln({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function ln(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function Wn(t,n){var r=$n(t,n);if(!r)return t+"";var o=r[0],s=r[1];return s<0?"0."+new Array(-s).join("0")+o:o.length>s+1?o.slice(0,s+1)+"."+o.slice(s+1):o+new Array(s-o.length+2).join("0")}Ne.prototype=ln.prototype,ln.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const Fn={"%":(t,n)=>(100*t).toFixed(n),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function Oi(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,n)=>t.toExponential(n),f:(t,n)=>t.toFixed(n),g:(t,n)=>t.toPrecision(n),o:t=>Math.round(t).toString(8),p:(t,n)=>Wn(100*t,n),r:Wn,s:function Ir(t,n){var r=$n(t,n);if(!r)return t+"";var o=r[0],s=r[1],f=s-(En=3*Math.max(-8,Math.min(8,Math.floor(s/3))))+1,l=o.length;return f===l?o:f>l?o+new Array(f-l+1).join("0"):f>0?o.slice(0,f)+"."+o.slice(f):"0."+new Array(1-f).join("0")+$n(t,Math.max(0,n+f-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Qn(t){return t}var te,On,Rr,fn=Array.prototype.map,Kn=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function jn(t){var n=void 0===t.grouping||void 0===t.thousands?Qn:function Ii(t,n){return function(r,o){for(var s=r.length,f=[],l=0,h=t[0],g=0;s>0&&h>0&&(g+h+1>o&&(h=Math.max(1,o-g)),f.push(r.substring(s-=h,s+h)),!((g+=h+1)>o));)h=t[l=(l+1)%t.length];return f.reverse().join(n)}}(fn.call(t.grouping,Number),t.thousands+""),r=void 0===t.currency?"":t.currency[0]+"",o=void 0===t.currency?"":t.currency[1]+"",s=void 0===t.decimal?".":t.decimal+"",f=void 0===t.numerals?Qn:function Ri(t){return function(n){return n.replace(/[0-9]/g,function(r){return t[+r]})}}(fn.call(t.numerals,String)),l=void 0===t.percent?"%":t.percent+"",h=void 0===t.minus?"\u2212":t.minus+"",g=void 0===t.nan?"NaN":t.nan+"";function y(M){var C=(M=Ne(M)).fill,I=M.align,Z=M.sign,rt=M.symbol,dt=M.zero,nn=M.width,vt=M.comma,wt=M.precision,pn=M.trim,it=M.type;"n"===it?(vt=!0,it="g"):Fn[it]||(void 0===wt&&(wt=12),pn=!0,it="g"),(dt||"0"===C&&"="===I)&&(dt=!0,C="0",I="=");var Pn="$"===rt?r:"#"===rt&&/[boxX]/.test(it)?"0"+it.toLowerCase():"",dn="$"===rt?o:/[%p]/.test(it)?l:"",He=Fn[it],kr=/[defgprs%]/.test(it);function de(J){var Ct,hi,xn,Bt=Pn,At=dn;if("c"===it)At=He(J)+At,J="";else{var bn=(J=+J)<0||1/J<0;if(J=isNaN(J)?g:He(Math.abs(J),wt),pn&&(J=function Yn(t){t:for(var s,n=t.length,r=1,o=-1;r0&&(o=0)}return o>0?t.slice(0,o)+t.slice(s+1):t}(J)),bn&&0==+J&&"+"!==Z&&(bn=!1),Bt=(bn?"("===Z?Z:h:"-"===Z||"("===Z?"":Z)+Bt,At=("s"===it?Kn[8+En/3]:"")+At+(bn&&"("===Z?")":""),kr)for(Ct=-1,hi=J.length;++Ct(xn=J.charCodeAt(Ct))||xn>57){At=(46===xn?s+J.slice(Ct+1):J.slice(Ct))+At,J=J.slice(0,Ct);break}}vt&&!dt&&(J=n(J,1/0));var ge=Bt.length+J.length+At.length,en=ge>1)+Bt+J+At+en.slice(ge);break;default:J=en+Bt+J+At}return f(J)}return wt=void 0===wt?6:/[gprs]/.test(it)?Math.max(1,Math.min(21,wt)):Math.max(0,Math.min(20,wt)),de.toString=function(){return M+""},de}return{format:y,formatPrefix:function w(M,C){var I=y(((M=Ne(M)).type="f",M)),Z=3*Math.max(-8,Math.min(8,Math.floor(jt(C)/3))),rt=Math.pow(10,-Z),dt=Kn[8+Z/3];return function(nn){return I(rt*nn)+dt}}}}function ne(t,n){return null==t||null==n?NaN:tn?1:t>=n?0:NaN}function Di(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function zi(){var t=1,n=1,r=0,o=!1;function s(l){var h=l.height+1;return l.x0=l.y0=r,l.x1=t,l.y1=n/h,l.eachBefore(function f(l,h){return function(g){g.children&&function Dr(t,n,r,o,s){for(var l,f=t.children,h=-1,g=f.length,y=t.value&&(o-n)/t.value;++h=0;)n+=r[o].value;else n=1;t.value=n}function bt(t,n){t instanceof Map?(t=[void 0,t],void 0===n&&(n=qi)):void 0===n&&(n=Vi);for(var o,f,l,h,g,r=new In(t),s=[r];o=s.pop();)if((l=n(o.data))&&(g=(l=Array.from(l)).length))for(o.children=l,h=g-1;h>=0;--h)s.push(f=l[h]=new In(l[h])),f.parent=o,f.depth=o.depth+1;return r.eachBefore(Gr)}function Vi(t){return t.children}function qi(t){return Array.isArray(t)?t[1]:null}function cn(t){void 0!==t.data.value&&(t.value=t.data.value),t.data=t.data.data}function Gr(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function In(t){this.data=t,this.depth=this.height=0,this.parent=null}(function Ae(t){return te=jn(t),On=te.format,Rr=te.formatPrefix,te})({thousands:",",grouping:[3],currency:["$",""]}),In.prototype=bt.prototype={constructor:In,count:function ar(){return this.eachAfter(Li)},each:function zr(t,n){let r=-1;for(const o of this)t.call(n,o,++r,this);return this},eachAfter:function Pi(t,n){for(var f,l,h,r=this,o=[r],s=[],g=-1;r=o.pop();)if(s.push(r),f=r.children)for(l=0,h=f.length;l=0;--f)o.push(s[f]);return this},find:function Lr(t,n){let r=-1;for(const o of this)if(t.call(n,o,++r,this))return o},sum:function Hr(t){return this.eachAfter(function(n){for(var r=+t(n.data)||0,o=n.children,s=o&&o.length;--s>=0;)r+=o[s].value;n.value=r})},sort:function sr(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})},path:function Ce(t){for(var n=this,r=function Pr(t,n){if(t===n)return t;var r=t.ancestors(),o=n.ancestors(),s=null;for(t=r.pop(),n=o.pop();t===n;)s=t,t=r.pop(),n=o.pop();return s}(n,t),o=[n];n!==r;)o.push(n=n.parent);for(var s=o.length;t!==r;)o.splice(s,0,t),t=t.parent;return o},ancestors:function ur(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function Se(){return Array.from(this)},leaves:function ke(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t},links:function lr(){var t=this,n=[];return t.each(function(r){r!==t&&n.push({source:r.parent,target:r})}),n},copy:function Gi(){return bt(this).eachBefore(cn)},[Symbol.iterator]:function*Pt(){var n,o,s,f,t=this,r=[t];do{for(n=r.reverse(),r=[];t=n.pop();)if(yield t,o=t.children)for(s=0,f=o.length;s=0?(f>=Te?10:f>=Rn?5:f>=fr?2:1)*Math.pow(10,s):-Math.pow(10,-s)/(f>=Te?10:f>=Rn?5:f>=fr?2:1)}function Vr(t){let n=t,r=t,o=t;function s(h,g,y=0,w=h.length){if(y>>1;o(h[M],g)<0?y=M+1:w=M}while(yt(h)-g,r=ne,o=(h,g)=>ne(t(h),g)),{left:s,center:function l(h,g,y=0,w=h.length){const M=s(h,g,y,w-1);return M>y&&n(h[M-1],g)>-n(h[M],g)?M-1:M},right:function f(h,g,y=0,w=h.length){if(y>>1;o(h[M],g)<=0?y=M+1:w=M}while(y>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===r?pt(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===r?pt(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=$i.exec(t))?new yt(n[1],n[2],n[3],1):(n=Yi.exec(t))?new yt(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=Wi.exec(t))?pt(n[1],n[2],n[3],n[4]):(n=Br.exec(t))?pt(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=Zr.exec(t))?kt(n[1],n[2]/100,n[3]/100,1):(n=Qi.exec(t))?kt(n[1],n[2]/100,n[3]/100,n[4]):pr.hasOwnProperty(t)?ae(pr[t]):"transparent"===t?new yt(NaN,NaN,NaN,0):null}function ae(t){return new yt(t>>16&255,t>>8&255,255&t,1)}function pt(t,n,r,o){return o<=0&&(t=n=r=NaN),new yt(t,n,r,o)}function Jr(t){return t instanceof Gt||(t=yn(t)),t?new yt((t=t.rgb()).r,t.g,t.b,t.opacity):new yt}function se(t,n,r,o){return 1===arguments.length?Jr(t):new yt(t,n,r,o??1)}function yt(t,n,r,o){this.r=+t,this.g=+n,this.b=+r,this.opacity=+o}function dr(){return"#"+mr(this.r)+mr(this.g)+mr(this.b)}function gr(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function mr(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function kt(t,n,r,o){return o<=0?t=n=r=NaN:r<=0||r>=1?t=n=NaN:n<=0&&(t=NaN),new qt(t,n,r,o)}function Ee(t){if(t instanceof qt)return new qt(t.h,t.s,t.l,t.opacity);if(t instanceof Gt||(t=yn(t)),!t)return new qt;if(t instanceof qt)return t;var n=(t=t.rgb()).r/255,r=t.g/255,o=t.b/255,s=Math.min(n,r,o),f=Math.max(n,r,o),l=NaN,h=f-s,g=(f+s)/2;return h?(l=n===f?(r-o)/h+6*(r0&&g<1?0:l,new qt(l,h,g,t.opacity)}function qt(t,n,r,o){this.h=+t,this.s=+n,this.l=+r,this.opacity=+o}function yr(t,n,r){return 255*(t<60?n+(r-n)*t/60:t<180?r:t<240?n+(r-n)*(240-t)/60:n)}function vr(t,n,r,o,s){var f=t*t,l=f*t;return((1-3*t+3*f-l)*n+(4-6*f+3*l)*r+(1+3*t+3*f-3*l)*o+l*s)/6}mn(Gt,yn,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:zn,formatHex:zn,formatHsl:function Xr(){return Ee(this).formatHsl()},formatRgb:oe,toString:oe}),mn(yt,se,re(Gt,{brighter:function(t){return t=null==t?Mt:Math.pow(Mt,t),new yt(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new yt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){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:dr,formatHex:dr,formatRgb:gr,toString:gr})),mn(qt,function $r(t,n,r,o){return 1===arguments.length?Ee(t):new qt(t,n,r,o??1)},re(Gt,{brighter:function(t){return t=null==t?Mt:Math.pow(Mt,t),new qt(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new qt(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),n=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,o=r+(r<.5?r:1-r)*n,s=2*r-o;return new yt(yr(t>=240?t-240:t+120,s,o),yr(t,s,o),yr(t<120?t+240:t-120,s,o),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));const Wr=t=>()=>t;function jr(t){return 1==(t=+t)?to:function(n,r){return r-n?function Kr(t,n,r){return t=Math.pow(t,r),n=Math.pow(n,r)-t,r=1/r,function(o){return Math.pow(t+o*n,r)}}(n,r,t):Wr(isNaN(n)?r:n)}}function to(t,n){var r=n-t;return r?function Qr(t,n){return function(r){return t+r*n}}(t,r):Wr(isNaN(t)?n:t)}const wr=function t(n){var r=jr(n);function o(s,f){var l=r((s=se(s)).r,(f=se(f)).r),h=r(s.g,f.g),g=r(s.b,f.b),y=to(s.opacity,f.opacity);return function(w){return s.r=l(w),s.g=h(w),s.b=g(w),s.opacity=y(w),s+""}}return o.gamma=t,o}(1);function Fe(t){return function(n){var l,h,r=n.length,o=new Array(r),s=new Array(r),f=new Array(r);for(l=0;l=1?(r=1,n-1):Math.floor(r*n),s=t[o],f=t[o+1];return vr((r-o/n)*n,o>0?t[o-1]:2*s-f,s,f,or&&(f=n.slice(r,f),h[l]?h[l]+=f:h[++l]=f),(o=o[0])===(s=s[0])?h[l]?h[l]+=s:h[++l]=s:(h[++l]=null,g.push({i:l,x:Tt(o,s)})),r=xr.lastIndex;return rn&&(r=t,t=n,n=r),function(o){return Math.max(t,Math.min(n,o))}}(t[0],t[C-1])),h=C>2?co:fo,g=y=null,M}function M(C){return null==C||isNaN(C=+C)?f:(g||(g=h(t.map(o),n,r)))(o(l(C)))}return M.invert=function(C){return l(s((y||(y=h(n,t.map(o),Tt)))(C)))},M.domain=function(C){return arguments.length?(t=Array.from(C,uo),w()):t.slice()},M.range=function(C){return arguments.length?(n=Array.from(C),w()):n.slice()},M.rangeRound=function(C){return n=Array.from(C),r=ao,w()},M.clamp=function(C){return arguments.length?(l=!!C||Ln,w()):l!==Ln},M.interpolate=function(C){return arguments.length?(r=C,w()):r},M.unknown=function(C){return arguments.length?(f=C,M):f},function(C,I){return o=C,s=I,w()}}function go(){return po()(Ln,Ln)}function mo(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}function _o(t,n,r,o){var f,s=function Bi(t,n,r){var o=Math.abs(n-t)/Math.max(0,r),s=Math.pow(10,Math.floor(Math.log(o)/Math.LN10)),f=o/s;return f>=Te?s*=10:f>=Rn?s*=5:f>=fr&&(s*=2),n0)return[t];if((o=n0){let g=Math.round(t/h),y=Math.round(n/h);for(g*hn&&--y,l=new Array(f=y-g+1);++sn&&--y,l=new Array(f=y-g+1);++s0;){if((y=cr(l,h,r))===g)return o[s]=l,o[f]=h,n(o);if(y>0)l=Math.floor(l/y)*y,h=Math.ceil(h/y)*y;else{if(!(y<0))break;l=Math.ceil(l*y)/y,h=Math.floor(h*y)/y}g=y}return t},t}function Nr(){var t=go();return t.copy=function(){return ho(t,Nr())},mo.apply(t,arguments),xo(t)}function oi(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var bo={value:()=>{}};function Ar(){for(var o,t=0,n=arguments.length,r={};t=0&&(o=r.slice(s+1),r=r.slice(0,s)),r&&!n.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:o}})}function No(t,n){for(var s,r=0,o=t.length;r0)for(var s,f,r=new Array(s),o=0;o=0&&t._call.call(void 0,n),t=t._next;--Hn}()}finally{Hn=0,function To(){for(var t,r,n=Ie,o=1/0;n;)n._call?(o>n._time&&(o=n._time),t=n,n=n._next):(r=n._next,n._next=null,n=t?t._next=r:Ie=r);fe=t,Cr(o)}(),vn=0}}function ko(){var t=ce.now(),n=t-Re;n>1e3&&(De-=n,Re=t)}function Cr(t){Hn||(ue&&(ue=clearTimeout(ue)),t-vn>24?(t<1/0&&(ue=setTimeout(So,t-ce.now()-De)),le&&(le=clearInterval(le))):(le||(Re=ce.now(),le=setInterval(ko,1e3)),Hn=1,ui(So)))}function li(t,n,r){var o=new he;return o.restart(s=>{o.stop(),t(s+n)},n=null==n?0:+n,r),o}he.prototype=Ut.prototype={constructor:he,restart:function(t,n,r){if("function"!=typeof t)throw new TypeError("callback is not a function");r=(null==r?Et():+r)+(null==n?0:+n),!this._next&&fe!==this&&(fe?fe._next=this:Ie=this,fe=this),this._call=t,this._time=r,Cr()},stop:function(){this._call&&(this._call=null,this._time=1/0,Cr())}};var fi=Ao("start","end","cancel","interrupt"),Eo=[];function v(t,n,r,o,s,f){var l=t.__transition;if(l){if(r in l)return}else t.__transition={};!function R(t,n,r){var s,o=t.__transition;function f(y){r.state=1,r.timer.restart(l,r.delay,r.time),r.delay<=y&&l(y-r.delay)}function l(y){var w,M,C,I;if(1!==r.state)return g();for(w in o)if((I=o[w]).name===r.name){if(3===I.state)return li(l);4===I.state?(I.state=6,I.timer.stop(),I.on.call("interrupt",t,t.__data__,I.index,I.group),delete o[w]):+w0)throw new Error("too late; already scheduled");return r}function x(t,n){var r=b(t,n);if(r.state>3)throw new Error("too late; already running");return r}function b(t,n){var r=t.__transition;if(!r||!(r=r[n]))throw new Error("transition not found");return r}var ze,ut=180/Math.PI,ct={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function hn(t,n,r,o,s,f){var l,h,g;return(l=Math.sqrt(t*t+n*n))&&(t/=l,n/=l),(g=t*r+n*o)&&(r-=t*g,o-=n*g),(h=Math.sqrt(r*r+o*o))&&(r/=h,o/=h,g/=h),t*o180?w+=360:w-y>180&&(y+=360),C.push({i:M.push(s(M)+"rotate(",null,o)-2,x:Tt(y,w)})):w&&M.push(s(M)+"rotate("+w+o)}(y.rotate,w.rotate,M,C),function h(y,w,M,C){y!==w?C.push({i:M.push(s(M)+"skewX(",null,o)-2,x:Tt(y,w)}):w&&M.push(s(M)+"skewX("+w+o)}(y.skewX,w.skewX,M,C),function g(y,w,M,C,I,Z){if(y!==M||w!==C){var rt=I.push(s(I)+"scale(",null,",",null,")");Z.push({i:rt-4,x:Tt(y,M)},{i:rt-2,x:Tt(w,C)})}else(1!==M||1!==C)&&I.push(s(I)+"scale("+M+","+C+")")}(y.scaleX,y.scaleY,w.scaleX,w.scaleY,M,C),y=w=null,function(I){for(var dt,Z=-1,rt=C.length;++Z