import{a as pe,T as xn,t as wn,n as bn,j as _n,d as kn,l as Cn,i as Ze,o as zn,s as Pn,h as L,e as En,g as Mn,b as Tn,c as On,f as An,k as we,m as be}from"./Paired-C4wB-ooD.js";import{s as Q,p as lt,n as Ke,m as Sn,b as Rn,c as Dn,a as Zt,d as Ot,i as Nn,G as In,T as _e,E as ke}from"./float-tooltip-COGhpFke.js";const Un={passive:!1},At={capture:!0,passive:!1};function Qt(n){n.stopImmediatePropagation()}function wt(n){n.preventDefault(),n.stopImmediatePropagation()}function Be(n){var e=n.document.documentElement,r=Q(n).on("dragstart.drag",wt,At);"onselectstart"in e?r.on("selectstart.drag",wt,At):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function Qe(n,e){var r=n.document.documentElement,i=Q(n).on("dragstart.drag",null);e&&(i.on("click.drag",wt,At),setTimeout(function(){i.on("click.drag",null)},0)),"onselectstart"in r?i.on("selectstart.drag",null):(r.style.MozUserSelect=r.__noselect,delete r.__noselect)}const Ut=n=>()=>n;function oe(n,{sourceEvent:e,subject:r,target:i,identifier:o,active:u,x:a,y:s,dx:f,dy:c,dispatch:l}){Object.defineProperties(this,{type:{value:n,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:u,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:f,enumerable:!0,configurable:!0},dy:{value:c,enumerable:!0,configurable:!0},_:{value:l}})}oe.prototype.on=function(){var n=this._.on.apply(this._,arguments);return n===this._?this:n};function $n(n){return!n.ctrlKey&&!n.button}function jn(){return this.parentNode}function Ln(n,e){return e??{x:n.x,y:n.y}}function Fn(){return navigator.maxTouchPoints||"ontouchstart"in this}function qn(){var n=$n,e=jn,r=Ln,i=Fn,o={},u=pe("start","drag","end"),a=0,s,f,c,l,h=0;function d(v){v.on("mousedown.drag",g).filter(i).on("touchstart.drag",C).on("touchmove.drag",m,Un).on("touchend.drag touchcancel.drag",O).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function g(v,_){if(!(l||!n.call(this,v,_))){var M=S(this,e.call(this,v,_),v,_,"mouse");M&&(Q(v.view).on("mousemove.drag",y,At).on("mouseup.drag",x,At),Be(v.view),Qt(v),c=!1,s=v.clientX,f=v.clientY,M("start",v))}}function y(v){if(wt(v),!c){var _=v.clientX-s,M=v.clientY-f;c=_*_+M*M>h}o.mouse("drag",v)}function x(v){Q(v.view).on("mousemove.drag mouseup.drag",null),Qe(v.view,c),wt(v),o.mouse("end",v)}function C(v,_){if(n.call(this,v,_)){var M=v.changedTouches,k=e.call(this,v,_),E=M.length,A,P;for(A=0;A>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?$t(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?$t(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Hn.exec(n))?new X(e[1],e[2],e[3],1):(e=Vn.exec(n))?new X(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Xn.exec(n))?$t(e[1],e[2],e[3],e[4]):(e=Wn.exec(n))?$t(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Yn.exec(n))?Oe(e[1],e[2]/100,e[3]/100,1):(e=Zn.exec(n))?Oe(e[1],e[2]/100,e[3]/100,e[4]):Ce.hasOwnProperty(n)?Ee(Ce[n]):n==="transparent"?new X(NaN,NaN,NaN,0):null}function Ee(n){return new X(n>>16&255,n>>8&255,n&255,1)}function $t(n,e,r,i){return i<=0&&(n=e=r=NaN),new X(n,e,r,i)}function Qn(n){return n instanceof It||(n=Dt(n)),n?(n=n.rgb(),new X(n.r,n.g,n.b,n.opacity)):new X}function ae(n,e,r,i){return arguments.length===1?Qn(n):new X(n,e,r,i??1)}function X(n,e,r,i){this.r=+n,this.g=+e,this.b=+r,this.opacity=+i}ye(X,ae,Je(It,{brighter(n){return n=n==null?Xt:Math.pow(Xt,n),new X(this.r*n,this.g*n,this.b*n,this.opacity)},darker(n){return n=n==null?St:Math.pow(St,n),new X(this.r*n,this.g*n,this.b*n,this.opacity)},rgb(){return this},clamp(){return new X(mt(this.r),mt(this.g),mt(this.b),Wt(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:Me,formatHex:Me,formatHex8:Jn,formatRgb:Te,toString:Te}));function Me(){return`#${yt(this.r)}${yt(this.g)}${yt(this.b)}`}function Jn(){return`#${yt(this.r)}${yt(this.g)}${yt(this.b)}${yt((isNaN(this.opacity)?1:this.opacity)*255)}`}function Te(){const n=Wt(this.opacity);return`${n===1?"rgb(":"rgba("}${mt(this.r)}, ${mt(this.g)}, ${mt(this.b)}${n===1?")":`, ${n})`}`}function Wt(n){return isNaN(n)?1:Math.max(0,Math.min(1,n))}function mt(n){return Math.max(0,Math.min(255,Math.round(n)||0))}function yt(n){return n=mt(n),(n<16?"0":"")+n.toString(16)}function Oe(n,e,r,i){return i<=0?n=e=r=NaN:r<=0||r>=1?n=e=NaN:e<=0&&(n=NaN),new J(n,e,r,i)}function tn(n){if(n instanceof J)return new J(n.h,n.s,n.l,n.opacity);if(n instanceof It||(n=Dt(n)),!n)return new J;if(n instanceof J)return n;n=n.rgb();var e=n.r/255,r=n.g/255,i=n.b/255,o=Math.min(e,r,i),u=Math.max(e,r,i),a=NaN,s=u-o,f=(u+o)/2;return s?(e===u?a=(r-i)/s+(r0&&f<1?0:a,new J(a,s,f,n.opacity)}function tr(n,e,r,i){return arguments.length===1?tn(n):new J(n,e,r,i??1)}function J(n,e,r,i){this.h=+n,this.s=+e,this.l=+r,this.opacity=+i}ye(J,tr,Je(It,{brighter(n){return n=n==null?Xt:Math.pow(Xt,n),new J(this.h,this.s,this.l*n,this.opacity)},darker(n){return n=n==null?St:Math.pow(St,n),new J(this.h,this.s,this.l*n,this.opacity)},rgb(){var n=this.h%360+(this.h<0)*360,e=isNaN(n)||isNaN(this.s)?0:this.s,r=this.l,i=r+(r<.5?r:1-r)*e,o=2*r-i;return new X(Jt(n>=240?n-240:n+120,o,i),Jt(n,o,i),Jt(n<120?n+240:n-120,o,i),this.opacity)},clamp(){return new J(Ae(this.h),jt(this.s),jt(this.l),Wt(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 n=Wt(this.opacity);return`${n===1?"hsl(":"hsla("}${Ae(this.h)}, ${jt(this.s)*100}%, ${jt(this.l)*100}%${n===1?")":`, ${n})`}`}}));function Ae(n){return n=(n||0)%360,n<0?n+360:n}function jt(n){return Math.max(0,Math.min(1,n||0))}function Jt(n,e,r){return(n<60?e+(r-e)*n/60:n<180?r:n<240?e+(r-e)*(240-n)/60:e)*255}const en=n=>()=>n;function er(n,e){return function(r){return n+r*e}}function nr(n,e,r){return n=Math.pow(n,r),e=Math.pow(e,r)-n,r=1/r,function(i){return Math.pow(n+i*e,r)}}function rr(n){return(n=+n)==1?nn:function(e,r){return r-e?nr(e,r,n):en(isNaN(e)?r:e)}}function nn(n,e){var r=e-n;return r?er(n,r):en(isNaN(n)?e:n)}const Se=function n(e){var r=rr(e);function i(o,u){var a=r((o=ae(o)).r,(u=ae(u)).r),s=r(o.g,u.g),f=r(o.b,u.b),c=nn(o.opacity,u.opacity);return function(l){return o.r=a(l),o.g=s(l),o.b=f(l),o.opacity=c(l),o+""}}return i.gamma=n,i}(1);function gt(n,e){return n=+n,e=+e,function(r){return n*(1-r)+e*r}}var ue=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,te=new RegExp(ue.source,"g");function ir(n){return function(){return n}}function or(n){return function(e){return n(e)+""}}function ar(n,e){var r=ue.lastIndex=te.lastIndex=0,i,o,u,a=-1,s=[],f=[];for(n=n+"",e=e+"";(i=ue.exec(n))&&(o=te.exec(e));)(u=o.index)>r&&(u=e.slice(r,u),s[a]?s[a]+=u:s[++a]=u),(i=i[0])===(o=o[0])?s[a]?s[a]+=o:s[++a]=o:(s[++a]=null,f.push({i:a,x:gt(i,o)})),r=te.lastIndex;return r180?l+=360:l-c>180&&(c+=360),d.push({i:h.push(o(h)+"rotate(",null,i)-2,x:gt(c,l)})):l&&h.push(o(h)+"rotate("+l+i)}function s(c,l,h,d){c!==l?d.push({i:h.push(o(h)+"skewX(",null,i)-2,x:gt(c,l)}):l&&h.push(o(h)+"skewX("+l+i)}function f(c,l,h,d,g,y){if(c!==h||l!==d){var x=g.push(o(g)+"scale(",null,",",null,")");y.push({i:x-4,x:gt(c,h)},{i:x-2,x:gt(l,d)})}else(h!==1||d!==1)&&g.push(o(g)+"scale("+h+","+d+")")}return function(c,l){var h=[],d=[];return c=n(c),l=n(l),u(c.translateX,c.translateY,l.translateX,l.translateY,h,d),a(c.rotate,l.rotate,h,d),s(c.skewX,l.skewX,h,d),f(c.scaleX,c.scaleY,l.scaleX,l.scaleY,h,d),c=l=null,function(g){for(var y=-1,x=d.length,C;++y{i.stop(),n(o+e)},e,r),i}var pr=pe("start","end","cancel","interrupt"),yr=[],an=0,Ie=1,le=2,Gt=3,Ue=4,ce=5,Ht=6;function Kt(n,e,r,i,o,u){var a=n.__transition;if(!a)n.__transition={};else if(r in a)return;mr(n,r,{name:e,index:i,group:o,on:pr,tween:yr,time:u.time,delay:u.delay,duration:u.duration,ease:u.ease,timer:null,state:an})}function me(n,e){var r=tt(n,e);if(r.state>an)throw new Error("too late; already scheduled");return r}function rt(n,e){var r=tt(n,e);if(r.state>Gt)throw new Error("too late; already running");return r}function tt(n,e){var r=n.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function mr(n,e,r){var i=n.__transition,o;i[e]=r,r.timer=wn(u,0,r.time);function u(c){r.state=Ie,r.timer.restart(a,r.delay,r.time),r.delay<=c&&a(c-r.delay)}function a(c){var l,h,d,g;if(r.state!==Ie)return f();for(l in i)if(g=i[l],g.name===r.name){if(g.state===Gt)return Ne(a);g.state===Ue?(g.state=Ht,g.timer.stop(),g.on.call("interrupt",n,n.__data__,g.index,g.group),delete i[l]):+lle&&i.state=0&&(e=e.slice(0,r)),!e||e==="start"})}function Wr(n,e,r){var i,o,u=Xr(e)?me:rt;return function(){var a=u(this,n),s=a.on;s!==i&&(o=(i=s).copy()).on(e,r),a.on=o}}function Yr(n,e){var r=this._id;return arguments.length<2?tt(this.node(),r).on.on(n):this.each(Wr(r,n,e))}function Zr(n){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==n)return;e&&e.removeChild(this)}}function Kr(){return this.on("end.remove",Zr(this._id))}function Br(n){var e=this._name,r=this._id;typeof n!="function"&&(n=Rn(n));for(var i=this._groups,o=i.length,u=new Array(o),a=0;a()=>n;function _i(n,{sourceEvent:e,target:r,transform:i,dispatch:o}){Object.defineProperties(this,{type:{value:n,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function ct(n,e,r){this.k=n,this.x=e,this.y=r}ct.prototype={constructor:ct,scale:function(n){return n===1?this:new ct(this.k*n,this.x,this.y)},translate:function(n,e){return n===0&e===0?this:new ct(this.k,this.x+this.k*n,this.y+this.k*e)},apply:function(n){return[n[0]*this.k+this.x,n[1]*this.k+this.y]},applyX:function(n){return n*this.k+this.x},applyY:function(n){return n*this.k+this.y},invert:function(n){return[(n[0]-this.x)/this.k,(n[1]-this.y)/this.k]},invertX:function(n){return(n-this.x)/this.k},invertY:function(n){return(n-this.y)/this.k},rescaleX:function(n){return n.copy().domain(n.range().map(this.invertX,this).map(n.invert,n))},rescaleY:function(n){return n.copy().domain(n.range().map(this.invertY,this).map(n.invert,n))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var xe=new ct(1,0,0);et.prototype=ct.prototype;function et(n){for(;!n.__zoom;)if(!(n=n.parentNode))return xe;return n.__zoom}function ee(n){n.stopImmediatePropagation()}function _t(n){n.preventDefault(),n.stopImmediatePropagation()}function ki(n){return(!n.ctrlKey||n.type==="wheel")&&!n.button}function Ci(){var n=this;return n instanceof SVGElement?(n=n.ownerSVGElement||n,n.hasAttribute("viewBox")?(n=n.viewBox.baseVal,[[n.x,n.y],[n.x+n.width,n.y+n.height]]):[[0,0],[n.width.baseVal.value,n.height.baseVal.value]]):[[0,0],[n.clientWidth,n.clientHeight]]}function $e(){return this.__zoom||xe}function zi(n){return-n.deltaY*(n.deltaMode===1?.05:n.deltaMode?1:.002)*(n.ctrlKey?10:1)}function Pi(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ei(n,e,r){var i=n.invertX(e[0][0])-r[0][0],o=n.invertX(e[1][0])-r[1][0],u=n.invertY(e[0][1])-r[0][1],a=n.invertY(e[1][1])-r[1][1];return n.translate(o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o),a>u?(u+a)/2:Math.min(0,u)||Math.max(0,a))}function Mi(){var n=ki,e=Ci,r=Ei,i=zi,o=Pi,u=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],s=250,f=gr,c=pe("start","zoom","end"),l,h,d,g=500,y=150,x=0,C=10;function m(p){p.property("__zoom",$e).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",A).on("dblclick.zoom",P).filter(o).on("touchstart.zoom",I).on("touchmove.zoom",U).on("touchend.zoom touchcancel.zoom",$).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}m.transform=function(p,z,w,T){var R=p.selection?p.selection():p;R.property("__zoom",$e),p!==R?_(p,z,w,T):R.interrupt().each(function(){M(this,arguments).event(T).start().zoom(null,typeof z=="function"?z.apply(this,arguments):z).end()})},m.scaleBy=function(p,z,w,T){m.scaleTo(p,function(){var R=this.__zoom.k,D=typeof z=="function"?z.apply(this,arguments):z;return R*D},w,T)},m.scaleTo=function(p,z,w,T){m.transform(p,function(){var R=e.apply(this,arguments),D=this.__zoom,N=w==null?v(R):typeof w=="function"?w.apply(this,arguments):w,j=D.invert(N),F=typeof z=="function"?z.apply(this,arguments):z;return r(S(O(D,F),N,j),R,a)},w,T)},m.translateBy=function(p,z,w,T){m.transform(p,function(){return r(this.__zoom.translate(typeof z=="function"?z.apply(this,arguments):z,typeof w=="function"?w.apply(this,arguments):w),e.apply(this,arguments),a)},null,T)},m.translateTo=function(p,z,w,T,R){m.transform(p,function(){var D=e.apply(this,arguments),N=this.__zoom,j=T==null?v(D):typeof T=="function"?T.apply(this,arguments):T;return r(xe.translate(j[0],j[1]).scale(N.k).translate(typeof z=="function"?-z.apply(this,arguments):-z,typeof w=="function"?-w.apply(this,arguments):-w),D,a)},T,R)};function O(p,z){return z=Math.max(u[0],Math.min(u[1],z)),z===p.k?p:new ct(z,p.x,p.y)}function S(p,z,w){var T=z[0]-w[0]*p.k,R=z[1]-w[1]*p.k;return T===p.x&&R===p.y?p:new ct(p.k,T,R)}function v(p){return[(+p[0][0]+ +p[1][0])/2,(+p[0][1]+ +p[1][1])/2]}function _(p,z,w,T){p.on("start.zoom",function(){M(this,arguments).event(T).start()}).on("interrupt.zoom end.zoom",function(){M(this,arguments).event(T).end()}).tween("zoom",function(){var R=this,D=arguments,N=M(R,D).event(T),j=e.apply(R,D),F=w==null?v(j):typeof w=="function"?w.apply(R,D):w,H=Math.max(j[1][0]-j[0][0],j[1][1]-j[0][1]),G=R.__zoom,K=typeof z=="function"?z.apply(R,D):z,it=f(G.invert(F).concat(H/G.k),K.invert(F).concat(H/K.k));return function(B){if(B===1)B=K;else{var ot=it(B),Bt=H/ot[2];B=new ct(Bt,F[0]-ot[0]*Bt,F[1]-ot[1]*Bt)}N.zoom(null,B)}})}function M(p,z,w){return!w&&p.__zooming||new k(p,z)}function k(p,z){this.that=p,this.args=z,this.active=0,this.sourceEvent=null,this.extent=e.apply(p,z),this.taps=0}k.prototype={event:function(p){return p&&(this.sourceEvent=p),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(p,z){return this.mouse&&p!=="mouse"&&(this.mouse[1]=z.invert(this.mouse[0])),this.touch0&&p!=="touch"&&(this.touch0[1]=z.invert(this.touch0[0])),this.touch1&&p!=="touch"&&(this.touch1[1]=z.invert(this.touch1[0])),this.that.__zoom=z,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(p){var z=Q(this.that).datum();c.call(p,this.that,new _i(p,{sourceEvent:this.sourceEvent,target:m,transform:this.that.__zoom,dispatch:c}),z)}};function E(p,...z){if(!n.apply(this,arguments))return;var w=M(this,z).event(p),T=this.__zoom,R=Math.max(u[0],Math.min(u[1],T.k*Math.pow(2,i.apply(this,arguments)))),D=lt(p);if(w.wheel)(w.mouse[0][0]!==D[0]||w.mouse[0][1]!==D[1])&&(w.mouse[1]=T.invert(w.mouse[0]=D)),clearTimeout(w.wheel);else{if(T.k===R)return;w.mouse=[D,T.invert(D)],Vt(this),w.start()}_t(p),w.wheel=setTimeout(N,y),w.zoom("mouse",r(S(O(T,R),w.mouse[0],w.mouse[1]),w.extent,a));function N(){w.wheel=null,w.end()}}function A(p,...z){if(d||!n.apply(this,arguments))return;var w=p.currentTarget,T=M(this,z,!0).event(p),R=Q(p.view).on("mousemove.zoom",F,!0).on("mouseup.zoom",H,!0),D=lt(p,w),N=p.clientX,j=p.clientY;Be(p.view),ee(p),T.mouse=[D,this.__zoom.invert(D)],Vt(this),T.start();function F(G){if(_t(G),!T.moved){var K=G.clientX-N,it=G.clientY-j;T.moved=K*K+it*it>x}T.event(G).zoom("mouse",r(S(T.that.__zoom,T.mouse[0]=lt(G,w),T.mouse[1]),T.extent,a))}function H(G){R.on("mousemove.zoom mouseup.zoom",null),Qe(G.view,T.moved),_t(G),T.event(G).end()}}function P(p,...z){if(n.apply(this,arguments)){var w=this.__zoom,T=lt(p.changedTouches?p.changedTouches[0]:p,this),R=w.invert(T),D=w.k*(p.shiftKey?.5:2),N=r(S(O(w,D),T,R),e.apply(this,z),a);_t(p),s>0?Q(this).transition().duration(s).call(_,N,T,p):Q(this).call(m.transform,N,T,p)}}function I(p,...z){if(n.apply(this,arguments)){var w=p.touches,T=w.length,R=M(this,z,p.changedTouches.length===T).event(p),D,N,j,F;for(ee(p),N=0;Nn.length)&&(e=n.length);for(var r=0,i=Array(e);r0&&arguments[0]!==void 0?arguments[0]:6;Di(this,n),je(this,pt,void 0),je(this,ut,void 0),Le(ut,this,e),this.reset()}return Ii(n,[{key:"reset",value:function(){Le(pt,this,["__reserved for background__"])}},{key:"register",value:function(r){if(W(pt,this).length>=Math.pow(2,24-W(ut,this)))return null;var i=W(pt,this).length,o=Fe(i,W(ut,this)),u=Hi(i+(o<<24-W(ut,this)));return W(pt,this).push(r),u}},{key:"lookup",value:function(r){if(!r)return null;var i=typeof r=="string"?Vi(r):fn.apply(void 0,ji(r));if(!i)return null;var o=i&Math.pow(2,24-W(ut,this))-1,u=i>>24-W(ut,this)&Math.pow(2,W(ut,this))-1;return Fe(o,W(ut,this))!==u||o>=W(pt,this).length?null:W(pt,this)[o]}}])}();const{abs:kt,cos:st,sin:vt,acos:Wi,atan2:Ct,sqrt:ht,pow:Y}=Math;function zt(n){return n<0?-Y(-n,1/3):Y(n,1/3)}const hn=Math.PI,qt=2*hn,dt=hn/2,Yi=1e-6,ne=Number.MAX_SAFE_INTEGER||9007199254740991,re=Number.MIN_SAFE_INTEGER||-9007199254740991,Zi={x:0,y:0,z:0},b={Tvalues:[-.06405689286260563,.06405689286260563,-.1911188674736163,.1911188674736163,-.3150426796961634,.3150426796961634,-.4337935076260451,.4337935076260451,-.5454214713888396,.5454214713888396,-.6480936519369755,.6480936519369755,-.7401241915785544,.7401241915785544,-.820001985973903,.820001985973903,-.8864155270044011,.8864155270044011,-.9382745520027328,.9382745520027328,-.9747285559713095,.9747285559713095,-.9951872199970213,.9951872199970213],Cvalues:[.12793819534675216,.12793819534675216,.1258374563468283,.1258374563468283,.12167047292780339,.12167047292780339,.1155056680537256,.1155056680537256,.10744427011596563,.10744427011596563,.09761865210411388,.09761865210411388,.08619016153195327,.08619016153195327,.0733464814110803,.0733464814110803,.05929858491543678,.05929858491543678,.04427743881741981,.04427743881741981,.028531388628933663,.028531388628933663,.0123412297999872,.0123412297999872],arcfn:function(n,e){const r=e(n);let i=r.x*r.x+r.y*r.y;return typeof r.z<"u"&&(i+=r.z*r.z),ht(i)},compute:function(n,e,r){if(n===0)return e[0].t=0,e[0];const i=e.length-1;if(n===1)return e[i].t=1,e[i];const o=1-n;let u=e;if(i===0)return e[0].t=n,e[0];if(i===1){const s={x:o*u[0].x+n*u[1].x,y:o*u[0].y+n*u[1].y,t:n};return r&&(s.z=o*u[0].z+n*u[1].z),s}if(i<4){let s=o*o,f=n*n,c,l,h,d=0;i===2?(u=[u[0],u[1],u[2],Zi],c=s,l=o*n*2,h=f):i===3&&(c=s*o,l=s*n*3,h=o*f*3,d=n*f);const g={x:c*u[0].x+l*u[1].x+h*u[2].x+d*u[3].x,y:c*u[0].y+l*u[1].y+h*u[2].y+d*u[3].y,t:n};return r&&(g.z=c*u[0].z+l*u[1].z+h*u[2].z+d*u[3].z),g}const a=JSON.parse(JSON.stringify(e));for(;a.length>1;){for(let s=0;s1;o--,u--){const a=[];for(let s=0,f;s"u")n=.5;else if(n===0||n===1)return n;const r=Y(n,e)+Y(1-n,e),i=r-1;return kt(i/r)},projectionratio:function(n,e){if(e!==2&&e!==3)return!1;if(typeof n>"u")n=.5;else if(n===0||n===1)return n;const r=Y(1-n,e),i=Y(n,e)+r;return r/i},lli8:function(n,e,r,i,o,u,a,s){const f=(n*i-e*r)*(o-a)-(n-r)*(o*s-u*a),c=(n*i-e*r)*(u-s)-(e-i)*(o*s-u*a),l=(n-r)*(u-s)-(e-i)*(o-a);return l==0?!1:{x:f/l,y:c/l}},lli4:function(n,e,r,i){const o=n.x,u=n.y,a=e.x,s=e.y,f=r.x,c=r.y,l=i.x,h=i.y;return b.lli8(o,u,a,s,f,c,l,h)},lli:function(n,e){return b.lli4(n,n.c,e,e.c)},makeline:function(n,e){return new q(n.x,n.y,(n.x+e.x)/2,(n.y+e.y)/2,e.x,e.y)},findbbox:function(n){let e=ne,r=ne,i=re,o=re;return n.forEach(function(u){const a=u.bbox();e>a.x.min&&(e=a.x.min),r>a.y.min&&(r=a.y.min),i0&&(l.c1=f,l.c2=c,l.s1=n,l.s2=r,u.push(l))})}),u},makeshape:function(n,e,r){const i=e.points.length,o=n.points.length,u=b.makeline(e.points[i-1],n.points[0]),a=b.makeline(n.points[o-1],e.points[0]),s={startcap:u,forward:n,back:e,endcap:a,bbox:b.findbbox([u,n,e,a])};return s.intersections=function(f){return b.shapeintersections(s,s.bbox,f,f.bbox,r)},s},getminmax:function(n,e,r){if(!r)return{min:0,max:0};let i=ne,o=re,u,a;r.indexOf(0)===-1&&(r=[0].concat(r)),r.indexOf(1)===-1&&r.push(1);for(let s=0,f=r.length;so&&(o=a[e]);return{min:i,mid:(i+o)/2,max:o,size:o-i}},align:function(n,e){const r=e.p1.x,i=e.p1.y,o=-Ct(e.p2.y-i,e.p2.x-r),u=function(a){return{x:(a.x-r)*st(o)-(a.y-i)*vt(o),y:(a.x-r)*vt(o)+(a.y-i)*st(o)}};return n.map(u)},roots:function(n,e){e=e||{p1:{x:0,y:0},p2:{x:1,y:0}};const r=n.length-1,i=b.align(n,e),o=function(k){return 0<=k&&k<=1};if(r===2){const k=i[0].y,E=i[1].y,A=i[2].y,P=k-2*E+A;if(P!==0){const I=-ht(E*E-k*A),U=-k+E,$=-(I+U)/P,p=-(-I+U)/P;return[$,p].filter(o)}else if(E!==A&&P===0)return[(2*E-A)/(2*E-2*A)].filter(o);return[]}const u=i[0].y,a=i[1].y,s=i[2].y,f=i[3].y;let c=-u+3*a-3*s+f,l=3*u-6*a+3*s,h=-3*u+3*a,d=u;if(b.approximately(c,0)){if(b.approximately(l,0))return b.approximately(h,0)?[]:[-d/h].filter(o);const k=ht(h*h-4*l*d),E=2*l;return[(k-h)/E,(-h-k)/E].filter(o)}l/=c,h/=c,d/=c;const g=(3*h-l*l)/3,y=g/3,x=(2*l*l*l-9*l*h+27*d)/27,C=x/2,m=C*C+y*y*y;let O,S,v,_,M;if(m<0){const k=-g/3,E=k*k*k,A=ht(E),P=-x/(2*A),I=P<-1?-1:P>1?1:P,U=Wi(I),$=zt(A),p=2*$;return v=p*st(U/3)-l/3,_=p*st((U+qt)/3)-l/3,M=p*st((U+2*qt)/3)-l/3,[v,_,M].filter(o)}else{if(m===0)return O=C<0?zt(-C):-zt(C),v=2*O-l/3,_=-O-l/3,[v,_].filter(o);{const k=ht(m);return O=zt(-C+k),S=zt(C+k),[O-S-l/3].filter(o)}}},droots:function(n){if(n.length===3){const e=n[0],r=n[1],i=n[2],o=e-2*r+i;if(o!==0){const u=-ht(r*r-e*i),a=-e+r,s=-(u+a)/o,f=-(-u+a)/o;return[s,f]}else if(r!==i&&o===0)return[(2*r-i)/(2*(r-i))];return[]}if(n.length===2){const e=n[0],r=n[1];return e!==r?[e/(e-r)]:[]}return[]},curvature:function(n,e,r,i,o){let u,a,s,f,c=0,l=0;const h=b.compute(n,e),d=b.compute(n,r),g=h.x*h.x+h.y*h.y;if(i?(u=ht(Y(h.y*d.z-d.y*h.z,2)+Y(h.z*d.x-d.z*h.x,2)+Y(h.x*d.y-d.x*h.y,2)),a=Y(g+h.z*h.z,3/2)):(u=h.x*d.y-h.y*d.x,a=Y(g,3/2)),u===0||a===0)return{k:0,r:0};if(c=u/a,l=a/u,!o){const y=b.curvature(n-.001,e,r,i,!0).k,x=b.curvature(n+.001,e,r,i,!0).k;f=(x-c+(c-y))/2,s=(kt(x-c)+kt(c-y))/2}return{k:c,r:l,dk:f,adk:s}},inflections:function(n){if(n.length<4)return[];const e=b.align(n,{p1:n[0],p2:n.slice(-1)[0]}),r=e[2].x*e[1].y,i=e[3].x*e[1].y,o=e[1].x*e[2].y,u=e[3].x*e[2].y,a=18*(-3*r+2*i+3*o-u),s=18*(3*r-i-3*o),f=18*(o-r);if(b.approximately(a,0)){if(!b.approximately(s,0)){let d=-f/s;if(0<=d&&d<=1)return[d]}return[]}const c=2*a;if(b.approximately(c,0))return[];const l=s*s-4*a*f;if(l<0)return[];const h=Math.sqrt(l);return[(h-s)/c,-(s+h)/c].filter(function(d){return 0<=d&&d<=1})},bboxoverlap:function(n,e){const r=["x","y"],i=r.length;for(let o=0,u,a,s,f;o=f)return!1;return!0},expandbox:function(n,e){e.x.minn.x.max&&(n.x.max=e.x.max),e.y.max>n.y.max&&(n.y.max=e.y.max),e.z&&e.z.max>n.z.max&&(n.z.max=e.z.max),n.x.mid=(n.x.min+n.x.max)/2,n.y.mid=(n.y.min+n.y.max)/2,n.z&&(n.z.mid=(n.z.min+n.z.max)/2),n.x.size=n.x.max-n.x.min,n.y.size=n.y.max-n.y.min,n.z&&(n.z.size=n.z.max-n.z.min)},pairiteration:function(n,e,r){const i=n.bbox(),o=e.bbox(),u=1e5,a=r||.5;if(i.x.size+i.y.sizeM||M>k)&&(_+=qt),_>k&&(E=k,k=_,_=E)):k4){if(arguments.length!==1)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");o=!0}}else if(u!==6&&u!==8&&u!==9&&u!==12&&arguments.length!==1)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const a=this._3d=!o&&(u===9||u===12)||e&&e[0]&&typeof e[0].z<"u",s=this.points=[];for(let g=0,y=a?3:2;gg+Pt(y.y),0)"u"&&(o=.5),o===0)return new q(r,r,i);if(o===1)return new q(e,r,r);const u=q.getABC(2,e,r,i,o);return new q(e,u.A,i)}static cubicFromPoints(e,r,i,o,u){typeof o>"u"&&(o=.5);const a=q.getABC(3,e,r,i,o);typeof u>"u"&&(u=b.dist(r,a.C));const s=u*(1-o)/o,f=b.dist(e,i),c=(i.x-e.x)/f,l=(i.y-e.y)/f,h=u*c,d=u*l,g=s*c,y=s*l,x={x:r.x-h,y:r.y-d},C={x:r.x+g,y:r.y+y},m=a.A,O={x:m.x+(x.x-m.x)/(1-o),y:m.y+(x.y-m.y)/(1-o)},S={x:m.x+(C.x-m.x)/o,y:m.y+(C.y-m.y)/o},v={x:e.x+(O.x-e.x)/o,y:e.y+(O.y-e.y)/o},_={x:i.x+(S.x-i.x)/(1-o),y:i.y+(S.y-i.y)/(1-o)};return new q(e,v,_,i)}static getUtils(){return b}getUtils(){return q.getUtils()}static get PolyBezier(){return Mt}valueOf(){return this.toString()}toString(){return b.pointsToString(this.points)}toSVG(){if(this._3d)return!1;const e=this.points,r=e[0].x,i=e[0].y,o=["M",r,i,this.order===2?"Q":"C"];for(let u=1,a=e.length;u0}length(){return b.length(this.derivative.bind(this))}static getABC(e=2,r,i,o,u=.5){const a=b.projectionratio(u,e),s=1-a,f={x:a*r.x+s*o.x,y:a*r.y+s*o.y},c=b.abcratio(u,e);return{A:{x:i.x+(i.x-f.x)/c,y:i.y+(i.y-f.y)/c},B:i,C:f,S:r,E:o}}getABC(e,r){r=r||this.get(e);let i=this.points[0],o=this.points[this.order];return q.getABC(this.order,i,r,o,e)}getLUT(e){if(this.verify(),e=e||100,this._lut.length===e+1)return this._lut;this._lut=[],e++,this._lut=[];for(let r=0,i,o;r1?1:h,d=this.compute(h),d.t=h,d.d=c,d}get(e){return this.compute(e)}point(e){return this.points[e]}compute(e){return this.ratios?b.computeWithRatios(e,this.points,this.ratios,this._3d):b.compute(e,this.points,this._3d,this.ratios)}raise(){const e=this.points,r=[e[0]],i=e.length;for(let o=1,u,a;o1;){i=[];for(let a=0,s,f=r.length-1;a=0&&a<=1}),r=r.concat(e[i].sort(b.numberSort))}).bind(this)),e.values=r.sort(b.numberSort).filter(function(i,o){return r.indexOf(i)===o}),e}bbox(){const e=this.extrema(),r={};return this.dims.forEach((function(i){r[i]=b.getminmax(this,i,e[i])}).bind(this)),r}overlaps(e){const r=this.bbox(),i=e.bbox();return b.bboxoverlap(r,i)}offset(e,r){if(typeof r<"u"){const i=this.get(e),o=this.normal(e),u={c:i,n:o,x:i.x+o.x*r,y:i.y+o.y*r};return this._3d&&(u.z=i.z+o.z*r),u}if(this._linear){const i=this.normal(0),o=this.points.map(function(u){const a={x:u.x+e*i.x,y:u.y+e*i.y};return u.z&&i.z&&(a.z=u.z+e*i.z),a});return[new q(o)]}return this.reduce().map(function(i){return i._linear?i.offset(e)[0]:i.scale(e)})}simple(){if(this.order===3){const o=b.angle(this.points[0],this.points[3],this.points[1]),u=b.angle(this.points[0],this.points[3],this.points[2]);if(o>0&&u<0||o<0&&u>0)return!1}const e=this.normal(0),r=this.normal(1);let i=e.x*r.x+e.y*r.y;return this._3d&&(i+=e.z*r.z),Pt(Qi(i))(1-s/o)*r+s/o*i);return new q(this.points.map((a,s)=>({x:a.x+e.x*u[s],y:a.y+e.y*u[s]})))}scale(e){const r=this.order;let i=!1;if(typeof e=="function"&&(i=e),i&&r===2)return this.raise().scale(i);const o=this.clockwise,u=this.points;if(this._linear)return this.translate(this.normal(0),i?i(0):e,i?i(1):e);const a=i?i(0):e,s=i?i(1):e,f=[this.offset(0,10),this.offset(1,10)],c=[],l=b.lli4(f[0],f[0].c,f[1],f[1].c);if(!l)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach(function(h){const d=c[h*r]=b.copy(u[h*r]);d.x+=(h?s:a)*f[h].n.x,d.y+=(h?s:a)*f[h].n.y}),i?([0,1].forEach(function(h){if(!(r===2&&h)){var d=u[h+1],g={x:d.x-l.x,y:d.y-l.y},y=i?i((h+1)/r):e;i&&!o&&(y=-y);var x=Et(g.x*g.x+g.y*g.y);g.x/=x,g.y/=x,c[h+1]={x:d.x+y*g.x,y:d.y+y*g.y}}}),new q(c)):([0,1].forEach(h=>{if(r===2&&h)return;const d=c[h*r],g=this.derivative(h),y={x:d.x+g.x,y:d.y+g.y};c[h+1]=b.lli4(d,y,l,u[h+1])}),new q(c))}outline(e,r,i,o){if(r=r===void 0?e:r,this._linear){const _=this.normal(0),M=this.points[0],k=this.points[this.points.length-1];let E,A,P;i===void 0&&(i=e,o=r),E={x:M.x+_.x*e,y:M.y+_.y*e},P={x:k.x+_.x*i,y:k.y+_.y*i},A={x:(E.x+P.x)/2,y:(E.y+P.y)/2};const I=[E,A,P];E={x:M.x-_.x*r,y:M.y-_.y*r},P={x:k.x-_.x*o,y:k.y-_.y*o},A={x:(E.x+P.x)/2,y:(E.y+P.y)/2};const U=[P,A,E],$=b.makeline(U[2],I[0]),p=b.makeline(I[2],U[0]),z=[$,new q(I),p,new q(U)];return new Mt(z)}const u=this.reduce(),a=u.length,s=[];let f=[],c,l=0,h=this.length();const d=typeof i<"u"&&typeof o<"u";function g(_,M,k,E,A){return function(P){const I=E/k,U=(E+A)/k,$=M-_;return b.map(P,0,1,_+I*$,_+U*$)}}u.forEach(function(_){const M=_.length();d?(s.push(_.scale(g(e,i,h,l,M))),f.push(_.scale(g(-r,-o,h,l,M)))):(s.push(_.scale(e)),f.push(_.scale(-r))),l+=M}),f=f.map(function(_){return c=_.points,c[3]?_.points=[c[3],c[2],c[1],c[0]]:_.points=[c[2],c[1],c[0]],_}).reverse();const y=s[0].points[0],x=s[a-1].points[s[a-1].points.length-1],C=f[a-1].points[f[a-1].points.length-1],m=f[0].points[0],O=b.makeline(C,y),S=b.makeline(x,m),v=[O].concat(s).concat([S]).concat(f);return new Mt(v)}outlineshapes(e,r,i){r=r||e;const o=this.outline(e,r).curves,u=[];for(let a=1,s=o.length;a1,f.endcap.virtual=a{var s=this.get(a);return b.between(s.x,r,o)&&b.between(s.y,i,u)})}selfintersects(e){const r=this.reduce(),i=r.length-2,o=[];for(let u=0,a,s,f;u0&&(u=u.concat(s))}),u}arcs(e){return e=e||.5,this._iterate(e,[])}_error(e,r,i,o){const u=(o-i)/4,a=this.get(i+u),s=this.get(o-u),f=b.dist(e,r),c=b.dist(e,a),l=b.dist(e,s);return Pt(c-f)+Pt(l-f)}_iterate(e,r){let i=0,o=1,u;do{u=0,o=1;let a=this.get(i),s,f,c,l,h=!1,d=!1,g,y=o,x=1;do if(d=h,l=c,y=(i+o)/2,s=this.get(y),f=this.get(o),c=b.getccenter(a,s,f),c.interval={start:i,end:o},h=this._error(c,a,i,o)<=e,g=d&&!h,g||(x=o),h){if(o>=1){if(c.interval.end=x=1,l=c,o>1){let m={x:c.x+c.r*Ki(c.e),y:c.y+c.r*Bi(c.e)};c.e+=b.angle({x:c.x,y:c.y},m,this.get(1))}break}o=o+(o-i)/2}else o=y;while(!g&&u++<100);if(u>=100)break;l=l||c,r.push(l),i=x}while(o<1);return r}}function he(n,e){(e==null||e>n.length)&&(e=n.length);for(var r=0,i=Array(e);r0&&arguments[0]!==void 0?arguments[0]:[],e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1,o=(e instanceof Array?e.length?e:[void 0]:[e]).map(function(s){return{keyAccessor:s,isProp:!(s instanceof Function)}}),u=n.reduce(function(s,f){var c=s,l=f;return o.forEach(function(h,d){var g=h.keyAccessor,y=h.isProp,x;if(y){var C=l,m=C[g],O=ao(C,[g].map(fo));x=m,l=O}else x=g(l,d);d+11&&arguments[1]!==void 0?arguments[1]:1;c===o.length?Object.keys(f).forEach(function(l){return f[l]=r(f[l])}):Object.values(f).forEach(function(l){return s(l,c+1)})}(u);var a=u;return i&&(a=[],function s(f){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];c.length===o.length?a.push({keys:c,vals:f}):Object.entries(f).forEach(function(l){var h=so(l,2),d=h[0],g=h[1];return s(g,[].concat(lo(c),[d]))})}(u),e instanceof Array&&e.length===0&&a.length===1&&(a[0].keys=[])),a};function go(n,e){e===void 0&&(e={});var r=e.insertAt;if(!(typeof document>"u")){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",r==="top"&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=n:o.appendChild(document.createTextNode(n))}}var po=`.force-graph-container canvas { display: block; user-select: none; outline: none; -webkit-tap-highlight-color: transparent; } .force-graph-container .clickable { cursor: pointer; } .force-graph-container .grabbable { cursor: move; cursor: grab; cursor: -moz-grab; cursor: -webkit-grab; } .force-graph-container .grabbable:active { cursor: grabbing; cursor: -moz-grabbing; cursor: -webkit-grabbing; } `;go(po);function de(n,e){(e==null||e>n.length)&&(e=n.length);for(var r=0,i=Array(e);r2&&arguments[2]!==void 0?arguments[2]:{},u=o.nodeFilter,a=u===void 0?function(){return!0}:u,s=o.onLoopError,f=s===void 0?function(g){throw"Invalid DAG structure! Found cycle in node path: ".concat(g.join(" -> "),".")}:s,c={};r.forEach(function(g){return c[e(g)]={data:g,out:[],depth:-1,skip:!a(g)}}),i.forEach(function(g){var y=g.source,x=g.target,C=v(y),m=v(x);if(!c.hasOwnProperty(C))throw"Missing source node with id: ".concat(C);if(!c.hasOwnProperty(m))throw"Missing target node with id: ".concat(m);var O=c[C],S=c[m];O.out.push(S);function v(_){return ge(_)==="object"?e(_):_}});var l=[];d(Object.values(c));var h=Object.assign.apply(Object,[{}].concat(Z(Object.entries(c).filter(function(g){var y=Tt(g,2),x=y[1];return!x.skip}).map(function(g){var y=Tt(g,2),x=y[0],C=y[1];return Nt({},x,C.depth)}))));return h;function d(g){for(var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,C=function(){var v=g[m];if(y.indexOf(v)!==-1){var _=[].concat(Z(y.slice(y.indexOf(v))),[v]).map(function(M){return e(M.data)});return l.some(function(M){return M.length===_.length&&M.every(function(k,E){return k===_[E]})})||(l.push(_),f(_)),1}x>v.depth&&(v.depth=x,d(v.out,[].concat(Z(y),[v]),x+(v.skip?0:1)))},m=0,O=g.length;me.cooldownTicks||new Date-e.startTickTime>e.cooldownTime||e.d3AlphaMin>0&&e.forceLayout.alpha()0){var U=Math.atan2(P.y-A.y,P.x-A.x),$=I*E,p={x:(A.x+P.x)/2+$*Math.cos(U-Math.PI/2),y:(A.y+P.y)/2+$*Math.sin(U-Math.PI/2)};k.__controlPoints=[p.x,p.y]}else{var z=E*70;k.__controlPoints=[P.x,P.y-z,P.x+z,P.y]}}}}function u(){var s=1.6,f=.2,c=L(e.linkDirectionalArrowLength),l=L(e.linkDirectionalArrowRelPos),h=L(e.linkVisibility),d=L(e.linkDirectionalArrowColor||e.linkColor),g=L(e.nodeVal),y=e.ctx;y.save(),e.graphData.links.filter(h).forEach(function(x){var C=c(x);if(!(!C||C<0)){var m=x.source,O=x.target;if(!(!m||!O||!m.hasOwnProperty("x")||!O.hasOwnProperty("x"))){var S=Math.sqrt(Math.max(0,g(m)||1))*e.nodeRelSize,v=Math.sqrt(Math.max(0,g(O)||1))*e.nodeRelSize,_=Math.min(1,Math.max(0,l(x))),M=d(x)||"rgba(0,0,0,0.28)",k=C/s/2,E=x.__controlPoints&&He(q,[m.x,m.y].concat(Z(x.__controlPoints),[O.x,O.y])),A=E?function(w){return E.get(w)}:function(w){return{x:m.x+(O.x-m.x)*w||0,y:m.y+(O.y-m.y)*w||0}},P=E?E.length():Math.sqrt(Math.pow(O.x-m.x,2)+Math.pow(O.y-m.y,2)),I=S+C+(P-S-v-C)*_,U=A(I/P),$=A((I-C)/P),p=A((I-C*(1-f))/P),z=Math.atan2(U.y-$.y,U.x-$.x)-Math.PI/2;y.beginPath(),y.moveTo(U.x,U.y),y.lineTo($.x+k*Math.cos(z),$.y+k*Math.sin(z)),y.lineTo(p.x,p.y),y.lineTo($.x-k*Math.cos(z),$.y-k*Math.sin(z)),y.fillStyle=M,y.fill()}}}),y.restore()}function a(){var s=L(e.linkDirectionalParticles),f=L(e.linkDirectionalParticleSpeed),c=L(e.linkDirectionalParticleOffset),l=L(e.linkDirectionalParticleWidth),h=L(e.linkVisibility),d=L(e.linkDirectionalParticleColor||e.linkColor),g=e.ctx;g.save(),e.graphData.links.filter(h).forEach(function(y){var x=s(y);if(!(!y.hasOwnProperty("__photons")||!y.__photons.length)){var C=y.source,m=y.target;if(!(!C||!m||!C.hasOwnProperty("x")||!m.hasOwnProperty("x"))){var O=f(y),S=Math.abs(c(y)),v=y.__photons||[],_=Math.max(0,l(y)/2)/Math.sqrt(e.globalScale),M=d(y)||"rgba(0,0,0,0.28)";g.fillStyle=M;var k=y.__controlPoints?He(q,[C.x,C.y].concat(Z(y.__controlPoints),[m.x,m.y])):null,E=0,A=!1;v.forEach(function(P){var I=!!P.__singleHop;if(P.hasOwnProperty("__progressRatio")||(P.__progressRatio=I?O<0?1:0:(E+S)/x),!I&&E++,P.__progressRatio+=O,P.__progressRatio>=1||P.__progressRatio<0)if(!I)P.__progressRatio=P.__progressRatio%1,P.__progressRatio<0&&P.__progressRatio++;else{A=!0;return}var U=P.__progressRatio,$=k?k.get(U):{x:C.x+(m.x-C.x)*U||0,y:C.y+(m.y-C.y)*U||0};e.linkDirectionalParticleCanvasObject?e.linkDirectionalParticleCanvasObject($.x,$.y,y,g,e.globalScale):(g.beginPath(),g.arc($.x,$.y,_,0,2*Math.PI,!1),g.fill())}),A&&(y.__photons=y.__photons.filter(function(P){return!P.__singleHop||P.__progressRatio<=1&&P.__progressRatio>=0}))}}}),g.restore()}},emitParticle:function(e,r){return r&&(!r.__photons&&(r.__photons=[]),r.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:Mn().force("link",Tn()).force("charge",On()).force("center",An()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(e,r){r.ctx=e},update:function(e,r){e.engineRunning=!1,e.onUpdate(),e.nodeAutoColorBy!==null&&Xe(e.graphData.nodes,L(e.nodeAutoColorBy),e.nodeColor),e.linkAutoColorBy!==null&&Xe(e.graphData.links,L(e.linkAutoColorBy),e.linkColor),e.graphData.links.forEach(function(d){d.source=d[e.linkSource],d.target=d[e.linkTarget]}),e.forceLayout.stop().alpha(1).nodes(e.graphData.nodes);var i=e.forceLayout.force("link");i&&i.id(function(d){return d[e.nodeId]}).links(e.graphData.links);var o=e.dagMode&&zo(e.graphData,function(d){return d[e.nodeId]},{nodeFilter:e.dagNodeFilter,onLoopError:e.onDagError||void 0}),u=Math.max.apply(Math,Z(Object.values(o||[]))),a=e.dagLevelDistance||e.graphData.nodes.length/(u||1)*Po*(["radialin","radialout"].indexOf(e.dagMode)!==-1?.7:1);if(["lr","rl","td","bu"].includes(r.dagMode)){var s=["lr","rl"].includes(r.dagMode)?"fx":"fy";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(d){return delete d[s]})}if(["lr","rl","td","bu"].includes(e.dagMode)){var f=["rl","bu"].includes(e.dagMode),c=function(g){return(o[g[e.nodeId]]-u/2)*a*(f?-1:1)},l=["lr","rl"].includes(e.dagMode)?"fx":"fy";e.graphData.nodes.filter(e.dagNodeFilter).forEach(function(d){return d[l]=c(d)})}e.forceLayout.force("dagRadial",["radialin","radialout"].indexOf(e.dagMode)!==-1?En(function(d){var g=o[d[e.nodeId]]||-1;return(e.dagMode==="radialin"?u-g:g)*a}).strength(function(d){return e.dagNodeFilter(d)?1:0}):null);for(var h=0;h0&&e.forceLayout.alpha()1?s-1:0),c=1;c1&&arguments[1]!==void 0?arguments[1]:0,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:10,o=arguments.length,u=new Array(o>3?o-3:0),a=3;a1&&arguments[1]!==void 0?arguments[1]:function(){return!0},i=L(e.nodeVal),o=function(s){return Math.sqrt(Math.max(0,i(s)||1))*e.nodeRelSize},u=e.graphData.nodes.filter(r).map(function(a){return{x:a.x,y:a.y,r:o(a)}});return u.length?{x:[we(u,function(a){return a.x-a.r}),be(u,function(a){return a.x+a.r})],y:[we(u,function(a){return a.y-a.r}),be(u,function(a){return a.y+a.r})]}:null},pauseAnimation:function(e){return e.animationFrameRequestId&&(cancelAnimationFrame(e.animationFrameRequestId),e.animationFrameRequestId=null),this},resumeAnimation:function(e){return e.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},So),stateInit:function(){return{lastSetZoom:1,zoom:Mi(),forceGraph:new Yt,shadowGraph:new Yt().cooldownTicks(0).nodeColor("__indexColor").linkColor("__indexColor").isShadow(!0),colorTracker:new Xi,tweenGroup:new In}},init:function(e,r){var i=this;e.innerHTML="";var o=document.createElement("div");o.classList.add("force-graph-container"),o.style.position="relative",e.appendChild(o),r.canvas=document.createElement("canvas"),r.backgroundColor&&(r.canvas.style.background=r.backgroundColor),o.appendChild(r.canvas),r.shadowCanvas=document.createElement("canvas");var u=r.canvas.getContext("2d"),a=r.shadowCanvas.getContext("2d",{willReadFrequently:!0}),s={x:-1e12,y:-1e12},f=function(){var h=null,d=window.devicePixelRatio,g=s.x>0&&s.y>0?a.getImageData(s.x*d,s.y*d,1,1):null;return g&&(h=r.colorTracker.lookup(g.data)),h};Q(r.canvas).call(qn().subject(function(){if(!r.enableNodeDrag)return null;var l=f();return l&&l.type==="Node"?l.d:null}).on("start",function(l){var h=l.subject;h.__initialDragPos={x:h.x,y:h.y,fx:h.fx,fy:h.fy},l.active||(h.fx=h.x,h.fy=h.y),r.canvas.classList.add("grabbable")}).on("drag",function(l){var h=l.subject,d=h.__initialDragPos,g=l,y=et(r.canvas).k,x={x:d.x+(g.x-d.x)/y-h.x,y:d.y+(g.y-d.y)/y-h.y};["x","y"].forEach(function(C){return h["f".concat(C)]=h[C]=d[C]+(g[C]-d[C])/y}),!(!h.__dragged&&To>=Math.sqrt(Ti(["x","y"].map(function(C){return Math.pow(l[C]-d[C],2)}))))&&(r.forceGraph.d3AlphaTarget(.3).resetCountdown(),r.isPointerDragging=!0,h.__dragged=!0,r.onNodeDrag(h,x))}).on("end",function(l){var h=l.subject,d=h.__initialDragPos,g={x:h.x-d.x,y:h.y-d.y};d.fx===void 0&&(h.fx=void 0),d.fy===void 0&&(h.fy=void 0),delete h.__initialDragPos,r.forceGraph.d3AlphaTarget()&&r.forceGraph.d3AlphaTarget(0).resetCountdown(),r.canvas.classList.remove("grabbable"),r.isPointerDragging=!1,h.__dragged&&(delete h.__dragged,r.onNodeDragEnd(h,g))})),r.zoom(r.zoom.__baseElem=Q(r.canvas)),r.zoom.__baseElem.on("dblclick.zoom",null),r.zoom.filter(function(l){return!l.button&&r.enableZoomPanInteraction&&(l.type!=="wheel"||L(r.enableZoomInteraction)(l))&&(l.type==="wheel"||L(r.enablePanInteraction)(l))}).on("zoom",function(l){var h=l.transform;[u,a].forEach(function(d){vn(d),d.translate(h.x,h.y),d.scale(h.k,h.k)}),r.isPointerDragging=!0,r.onZoom&&r.onZoom(xt(xt({},h),i.centerAt())),r.needsRedraw=!0}).on("end",function(l){r.isPointerDragging=!1,r.onZoomEnd&&r.onZoomEnd(xt(xt({},l.transform),i.centerAt()))}),ie(r),r.forceGraph.onNeedsRedraw(function(){return r.needsRedraw=!0}).onFinishUpdate(function(){et(r.canvas).k===r.lastSetZoom&&r.graphData.nodes.length&&(r.zoom.scaleTo(r.zoom.__baseElem,r.lastSetZoom=Mo/Math.cbrt(r.graphData.nodes.length)),r.needsRedraw=!0)}),r.tooltip=new Nn(o),["pointermove","pointerdown"].forEach(function(l){return o.addEventListener(l,function(h){l==="pointerdown"&&(r.isPointerPressed=!0,r.pointerDownEvent=h),!r.isPointerDragging&&h.type==="pointermove"&&r.onBackgroundClick&&(h.pressure>0||r.isPointerPressed)&&(h.pointerType==="mouse"||h.movementX===void 0||[h.movementX,h.movementY].some(function(y){return Math.abs(y)>1}))&&(r.isPointerDragging=!0);var d=g(o);s.x=h.pageX-d.left,s.y=h.pageY-d.top;function g(y){var x=y.getBoundingClientRect(),C=window.pageXOffset||document.documentElement.scrollLeft,m=window.pageYOffset||document.documentElement.scrollTop;return{top:x.top+m,left:x.left+C}}},{passive:!0})}),o.addEventListener("pointerup",function(l){if(r.isPointerPressed){if(r.isPointerPressed=!1,r.isPointerDragging){r.isPointerDragging=!1;return}var h=[l,r.pointerDownEvent];requestAnimationFrame(function(){if(l.button===0)if(r.hoverObj){var d=r["on".concat(r.hoverObj.type,"Click")];d&&d.apply(void 0,[r.hoverObj.d].concat(h))}else r.onBackgroundClick&&r.onBackgroundClick.apply(r,h);if(l.button===2)if(r.hoverObj){var g=r["on".concat(r.hoverObj.type,"RightClick")];g&&g.apply(void 0,[r.hoverObj.d].concat(h))}else r.onBackgroundRightClick&&r.onBackgroundRightClick.apply(r,h)})}},{passive:!0}),o.addEventListener("contextmenu",function(l){return!r.onBackgroundRightClick&&!r.onNodeRightClick&&!r.onLinkRightClick?!0:(l.preventDefault(),!1)}),r.forceGraph(u),r.shadowGraph(a);var c=Ai(function(){Ye(a,r.width,r.height),r.shadowGraph.linkWidth(function(h){return L(r.linkWidth)(h)+r.linkHoverPrecision});var l=et(r.canvas);r.shadowGraph.globalScale(l.k).tickFrame()},Eo);r.flushShadowCanvas=c.flush,(this._animationCycle=function l(){var h=!r.autoPauseRedraw||!!r.needsRedraw||r.forceGraph.isEngineRunning()||r.graphData.links.some(function(S){return S.__photons&&S.__photons.length});if(r.needsRedraw=!1,r.enablePointerInteraction){var d=r.isPointerDragging?null:f();if(d!==r.hoverObj){var g=r.hoverObj,y=g?g.type:null,x=d?d.type:null;if(y&&y!==x){var C=r["on".concat(y,"Hover")];C&&C(null,g.d)}if(x){var m=r["on".concat(x,"Hover")];m&&m(d.d,y===x?g.d:null)}r.tooltip.content(d&&L(r["".concat(d.type.toLowerCase(),"Label")])(d.d)||null),r.canvas.classList[(d&&r["on".concat(x,"Click")]||!d&&r.onBackgroundClick)&&L(r.showPointerCursor)(d==null?void 0:d.d)?"add":"remove"]("clickable"),r.hoverObj=d}h&&c()}if(h){Ye(u,r.width,r.height);var O=et(r.canvas).k;r.onRenderFramePre&&r.onRenderFramePre(u,O),r.forceGraph.globalScale(O).tickFrame(),r.onRenderFramePost&&r.onRenderFramePost(u,O)}r.tweenGroup.update(),r.animationFrameRequestId=requestAnimationFrame(l)})()},update:function(e){}});function Io(n){const e=n.instance||Ro(),r=getComputedStyle(n.element),i=r.getPropertyValue("--graph-line-color").trim()||"#555",o=r.getPropertyValue("--graph-background-color").trim()||"#000011",u=r.getPropertyValue("--graph-foreground-color").trim()||"#ffffff",a=r.getPropertyValue("--graph-node-color").trim()||"#999",s=n.element.clientWidth||Number(r.width.slice(0,-2))||window.innerWidth,f=n.element.clientHeight||Number(r.height.slice(0,-2))||window.innerHeight;return n.instance||e(n.element),e.graphData(n.data).width(s).height(f).cooldownTicks(100).backgroundColor(o).linkColor(()=>i).linkWidth(.2).nodeCanvasObject((c,l,h)=>{l.beginPath();const d=5/h;if(l.arc(c.x,c.y,d,0,2*Math.PI),l.fillStyle=a,l.fill(),l.lineWidth=1/h,l.strokeStyle=i,l.stroke(),h>=4){const g=c.name??c.id,y=12/h;l.font=`${y}px Sans-Serif`;const x=l.measureText(g).width,C=[x,y].map(m=>m+y*.2);l.textAlign="center",l.textBaseline="middle",l.fillStyle=u,l.fillText(g,c.x+d*2+x/2,c.y),c.__bckgDimensions=C}}).onNodeHover((c,l)=>{if(c){const h=n.data.nodes.find(d=>d.id===c.id);n.onHover(h)}l&&n.onHover(void 0)}),e}export{Io as render};