diff --git a/libraries/force-graph.min.js b/libraries/force-graph.min.js index 69bc9875c..d2e984a24 100644 --- a/libraries/force-graph.min.js +++ b/libraries/force-graph.min.js @@ -1,5 +1,5 @@ -// Version 1.42.4 force-graph - https://github.com/vasturiano/force-graph -!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).ForceGraph=n()}(this,(function(){"use strict";function n(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,r)}return e}function e(t){for(var e=1;et.length)&&(n=t.length);for(var e=0,r=new Array(n);e=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),d.hasOwnProperty(n)?{space:d[n],local:t}:t}function g(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===f&&n.documentElement.namespaceURI===f?n.createElement(t):n.createElementNS(e,t)}}function y(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function v(t){var n=p(t);return(n.local?y:g)(n)}function _(){}function m(t){return null==t?_:function(){return this.querySelector(t)}}function x(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function b(){return[]}function w(t){return null==t?b:function(){return this.querySelectorAll(t)}}function k(t){return function(){return this.matches(t)}}function z(t){return function(n){return n.matches(t)}}var A=Array.prototype.find;function M(){return this.firstElementChild}var S=Array.prototype.filter;function C(){return Array.from(this.children)}function E(t){return new Array(t.length)}function N(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function P(t){return function(){return t}}function O(t,n,e,r,i,o){for(var a,s=0,u=n.length,l=o.length;sn?1:t>=n?0:NaN}function I(t){return function(){this.removeAttribute(t)}}function U(t){return function(){this.removeAttributeNS(t.space,t.local)}}function F(t,n){return function(){this.setAttribute(t,n)}}function L(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function q(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function B(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function H(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function V(t){return function(){this.style.removeProperty(t)}}function G(t,n,e){return function(){this.style.setProperty(t,n,e)}}function X(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function Y(t,n){return t.style.getPropertyValue(n)||H(t).getComputedStyle(t,null).getPropertyValue(n)}function $(t){return function(){delete this[t]}}function W(t,n){return function(){this[t]=n}}function Z(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function Q(t){return t.trim().split(/^|\s+/)}function K(t){return t.classList||new J(t)}function J(t){this._node=t,this._names=Q(t.getAttribute("class")||"")}function tt(t,n){for(var e=K(t),r=-1,i=n.length;++r=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}))}function _t(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=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 kt=[null];function zt(t,n){this._groups=t,this._parents=n}function At(){return new zt([[document.documentElement]],kt)}function Mt(t){return"string"==typeof t?new zt([[document.querySelector(t)]],[document.documentElement]):new zt([[t]],kt)}function St(t,n){if(t=function(t){let n;for(;n=t.sourceEvent;)t=n;return t}(t),void 0===n&&(n=t.currentTarget),n){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,[(r=r.matrixTransform(n.getScreenCTM().inverse())).x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}}return[t.pageX,t.pageY]}zt.prototype=At.prototype={constructor:zt,select:function(t){"function"!=typeof t&&(t=m(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i=b&&(b=x+1);!(m=y[b])&&++b=0;)(r=i[o])&&(a&&4^r.compareDocumentPosition(a)&&a.parentNode.insertBefore(r,a),a=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=D);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o1?this.each((null==n?V:"function"==typeof n?X:G)(t,n,null==e?"":e)):Y(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?$:"function"==typeof n?Z:W)(t,n)):this.node()[t]},classed:function(t,n){var e=Q(t+"");if(arguments.length<2){for(var r=K(this.node()),i=-1,o=e.length;++i{}};function Et(){for(var t,n=0,e=arguments.length,r={};n=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))}function Ot(t,n){for(var e,r=0,i=t.length;r0)for(var e,r,i=new Array(e),o=0;o()=>t;function qt(t,{sourceEvent:n,subject:e,target:r,identifier:i,active:o,x:a,y:s,dx:u,dy:l,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:e,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:c}})}function Bt(t){return!t.ctrlKey&&!t.button}function Ht(){return this.parentNode}function Vt(t,n){return null==n?{x:t.x,y:t.y}:n}function Gt(){return navigator.maxTouchPoints||"ontouchstart"in this}function Xt(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function Yt(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function $t(){}qt.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var Wt=.7,Zt=1/Wt,Qt="\\s*([+-]?\\d+)\\s*",Kt="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Jt="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",tn=/^#([0-9a-f]{3,8})$/,nn=new RegExp("^rgb\\("+[Qt,Qt,Qt]+"\\)$"),en=new RegExp("^rgb\\("+[Jt,Jt,Jt]+"\\)$"),rn=new RegExp("^rgba\\("+[Qt,Qt,Qt,Kt]+"\\)$"),on=new RegExp("^rgba\\("+[Jt,Jt,Jt,Kt]+"\\)$"),an=new RegExp("^hsl\\("+[Kt,Jt,Jt]+"\\)$"),sn=new RegExp("^hsla\\("+[Kt,Jt,Jt,Kt]+"\\)$"),un={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};function ln(){return this.rgb().formatHex()}function cn(){return this.rgb().formatRgb()}function hn(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=tn.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?fn(n):3===e?new yn(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?dn(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?dn(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=nn.exec(t))?new yn(n[1],n[2],n[3],1):(n=en.exec(t))?new yn(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=rn.exec(t))?dn(n[1],n[2],n[3],n[4]):(n=on.exec(t))?dn(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=an.exec(t))?xn(n[1],n[2]/100,n[3]/100,1):(n=sn.exec(t))?xn(n[1],n[2]/100,n[3]/100,n[4]):un.hasOwnProperty(t)?fn(un[t]):"transparent"===t?new yn(NaN,NaN,NaN,0):null}function fn(t){return new yn(t>>16&255,t>>8&255,255&t,1)}function dn(t,n,e,r){return r<=0&&(t=n=e=NaN),new yn(t,n,e,r)}function pn(t){return t instanceof $t||(t=hn(t)),t?new yn((t=t.rgb()).r,t.g,t.b,t.opacity):new yn}function gn(t,n,e,r){return 1===arguments.length?pn(t):new yn(t,n,e,null==r?1:r)}function yn(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function vn(){return"#"+mn(this.r)+mn(this.g)+mn(this.b)}function _n(){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 mn(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function xn(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new wn(t,n,e,r)}function bn(t){if(t instanceof wn)return new wn(t.h,t.s,t.l,t.opacity);if(t instanceof $t||(t=hn(t)),!t)return new wn;if(t instanceof wn)return t;var n=(t=t.rgb()).r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),a=NaN,s=o-i,u=(o+i)/2;return s?(a=n===o?(e-r)/s+6*(e0&&u<1?0:a,new wn(a,s,u,t.opacity)}function wn(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function kn(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}Xt($t,hn,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:ln,formatHex:ln,formatHsl:function(){return bn(this).formatHsl()},formatRgb:cn,toString:cn}),Xt(yn,gn,Yt($t,{brighter:function(t){return t=null==t?Zt:Math.pow(Zt,t),new yn(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?Wt:Math.pow(Wt,t),new yn(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:vn,formatHex:vn,formatRgb:_n,toString:_n})),Xt(wn,(function(t,n,e,r){return 1===arguments.length?bn(t):new wn(t,n,e,null==r?1:r)}),Yt($t,{brighter:function(t){return t=null==t?Zt:Math.pow(Zt,t),new wn(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?Wt:Math.pow(Wt,t),new wn(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,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new yn(kn(t>=240?t-240:t+120,i,r),kn(t,i,r),kn(t<120?t+240:t-120,i,r),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+")")}}));var zn=t=>()=>t;function An(t){return 1==(t=+t)?Mn:function(n,e){return e-n?function(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}(n,e,t):zn(isNaN(n)?e:n)}}function Mn(t,n){var e=n-t;return e?function(t,n){return function(e){return t+e*n}}(t,e):zn(isNaN(t)?n:t)}var Sn=function t(n){var e=An(n);function r(t,n){var r=e((t=gn(t)).r,(n=gn(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),a=Mn(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=o(n),t.opacity=a(n),t+""}}return r.gamma=t,r}(1);function Cn(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}var En=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Nn=new RegExp(En.source,"g");function Pn(t,n){var e,r,i,o=En.lastIndex=Nn.lastIndex=0,a=-1,s=[],u=[];for(t+="",n+="";(e=En.exec(t))&&(r=Nn.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),s[a]?s[a]+=i:s[++a]=i),(e=e[0])===(r=r[0])?s[a]?s[a]+=r:s[++a]=r:(s[++a]=null,u.push({i:a,x:Cn(e,r)})),o=Nn.lastIndex;return o180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:Cn(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,a.rotate,s,u),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:Cn(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,a.skewX,s,u),function(t,n,e,r,o,a){if(t!==e||n!==r){var s=o.push(i(o)+"scale(",null,",",null,")");a.push({i:s-4,x:Cn(t,e)},{i:s-2,x:Cn(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,s,u),o=a=null,function(t){for(var n,e=-1,r=u.length;++e=0&&n._call.call(void 0,t),n=n._next;--Hn}()}finally{Hn=0,function(){var t,n,e=Ln,r=1/0;for(;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Ln=n);qn=t,re(r)}(),Yn=0}}function ee(){var t=Wn.now(),n=t-Xn;n>1e3&&($n-=n,Xn=t)}function re(t){Hn||(Vn&&(Vn=clearTimeout(Vn)),t-Yn>24?(t<1/0&&(Vn=setTimeout(ne,t-Wn.now()-$n)),Gn&&(Gn=clearInterval(Gn))):(Gn||(Xn=Wn.now(),Gn=setInterval(ee,1e3)),Hn=1,Zn(ne)))}function ie(t,n,e){var r=new Jn;return n=null==n?0:+n,r.restart((e=>{r.stop(),t(e+n)}),n,e),r}Jn.prototype=te.prototype={constructor:Jn,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?Qn():+e)+(null==n?0:+n),this._next||qn===this||(qn?qn._next=this:Ln=this,qn=this),this._call=t,this._time=e,re()},stop:function(){this._call&&(this._call=null,this._time=1/0,re())}};var oe=Et("start","end","cancel","interrupt"),ae=[];function se(t,n,e,r,i,o){var a=t.__transition;if(a){if(e in a)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(t){e.state=1,e.timer.restart(a,e.delay,e.time),e.delay<=t&&a(t-e.delay)}function a(o){var l,c,h,f;if(1!==e.state)return u();for(l in i)if((f=i[l]).name===e.name){if(3===f.state)return ie(a);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[l]):+l0)throw new Error("too late; already scheduled");return e}function le(t,n){var e=ce(t,n);if(e.state>3)throw new Error("too late; already running");return e}function ce(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function he(t,n){var e,r,i,o=t.__transition,a=!0;if(o){for(i in n=null==n?null:n+"",o)(e=o[i]).name===n?(r=e.state>2&&e.state<5,e.state=6,e.timer.stop(),e.on.call(r?"interrupt":"cancel",t,t.__data__,e.index,e.group),delete o[i]):a=!1;a&&delete t.__transition}}function fe(t,n){var e,r;return function(){var i=le(this,t),o=i.tween;if(o!==e)for(var a=0,s=(r=e=o).length;a=0&&(t=t.slice(0,n)),!t||"start"===t}))}(n)?ue:le;return function(){var a=o(this,t),s=a.on;s!==r&&(i=(r=s).copy()).on(n,e),a.on=i}}var Oe=At.prototype.constructor;function Te(t){return function(){this.style.removeProperty(t)}}function je(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function Re(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&je(t,o,e)),r}return o._value=n,o}function De(t){return function(n){this.textContent=t.call(this,n)}}function Ie(t){var n,e;function r(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&De(r)),n}return r._value=t,r}var Ue=0;function Fe(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function Le(){return++Ue}var qe=At.prototype;Fe.prototype={constructor:Fe,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=m(t));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a()=>t;function Ge(t,{sourceEvent:n,target:e,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Xe(t,n,e){this.k=t,this.x=n,this.y=e}Xe.prototype={constructor:Xe,scale:function(t){return 1===t?this:new Xe(this.k*t,this.x,this.y)},translate:function(t,n){return 0===t&0===n?this:new Xe(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ye=new Xe(1,0,0);function $e(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Ye;return t.__zoom}function We(t){t.stopImmediatePropagation()}function Ze(t){t.preventDefault(),t.stopImmediatePropagation()}function Qe(t){return!(t.ctrlKey&&"wheel"!==t.type||t.button)}function Ke(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function Je(){return this.__zoom||Ye}function tr(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function nr(){return navigator.maxTouchPoints||"ontouchstart"in this}function er(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],a=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function rr(){var t,n,e,r=Qe,i=Ke,o=er,a=tr,s=nr,u=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],c=250,h=Bn,f=Et("start","zoom","end"),d=500,p=0,g=10;function y(t){t.property("__zoom",Je).on("wheel.zoom",k,{passive:!1}).on("mousedown.zoom",z).on("dblclick.zoom",A).filter(s).on("touchstart.zoom",M).on("touchmove.zoom",S).on("touchend.zoom touchcancel.zoom",C).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function v(t,n){return(n=Math.max(u[0],Math.min(u[1],n)))===t.k?t:new Xe(n,t.x,t.y)}function _(t,n,e){var r=n[0]-e[0]*t.k,i=n[1]-e[1]*t.k;return r===t.x&&i===t.y?t:new Xe(t.k,r,i)}function m(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function x(t,n,e,r){t.on("start.zoom",(function(){b(this,arguments).event(r).start()})).on("interrupt.zoom end.zoom",(function(){b(this,arguments).event(r).end()})).tween("zoom",(function(){var t=this,o=arguments,a=b(t,o).event(r),s=i.apply(t,o),u=null==e?m(s):"function"==typeof e?e.apply(t,o):e,l=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),c=t.__zoom,f="function"==typeof n?n.apply(t,o):n,d=h(c.invert(u).concat(l/c.k),f.invert(u).concat(l/f.k));return function(t){if(1===t)t=f;else{var n=d(t),e=l/n[2];t=new Xe(e,u[0]-n[0]*e,u[1]-n[1]*e)}a.zoom(null,t)}}))}function b(t,n,e){return!e&&t.__zooming||new w(t,n)}function w(t,n){this.that=t,this.args=n,this.active=0,this.sourceEvent=null,this.extent=i.apply(t,n),this.taps=0}function k(t,...n){if(r.apply(this,arguments)){var e=b(this,n).event(t),i=this.__zoom,s=Math.max(u[0],Math.min(u[1],i.k*Math.pow(2,a.apply(this,arguments)))),c=St(t);if(e.wheel)e.mouse[0][0]===c[0]&&e.mouse[0][1]===c[1]||(e.mouse[1]=i.invert(e.mouse[0]=c)),clearTimeout(e.wheel);else{if(i.k===s)return;e.mouse=[c,i.invert(c)],he(this),e.start()}Ze(t),e.wheel=setTimeout(h,150),e.zoom("mouse",o(_(v(i,s),e.mouse[0],e.mouse[1]),e.extent,l))}function h(){e.wheel=null,e.end()}}function z(t,...n){if(!e&&r.apply(this,arguments)){var i=t.currentTarget,a=b(this,n,!0).event(t),s=Mt(t.view).on("mousemove.zoom",f,!0).on("mouseup.zoom",d,!0),u=St(t,i),c=t.clientX,h=t.clientY;Ut(t.view),We(t),a.mouse=[u,this.__zoom.invert(u)],he(this),a.start()}function f(t){if(Ze(t),!a.moved){var n=t.clientX-c,e=t.clientY-h;a.moved=n*n+e*e>p}a.event(t).zoom("mouse",o(_(a.that.__zoom,a.mouse[0]=St(t,i),a.mouse[1]),a.extent,l))}function d(t){s.on("mousemove.zoom mouseup.zoom",null),Ft(t.view,a.moved),Ze(t),a.event(t).end()}}function A(t,...n){if(r.apply(this,arguments)){var e=this.__zoom,a=St(t.changedTouches?t.changedTouches[0]:t,this),s=e.invert(a),u=e.k*(t.shiftKey?.5:2),h=o(_(v(e,u),a,s),i.apply(this,n),l);Ze(t),c>0?Mt(this).transition().duration(c).call(x,h,a,t):Mt(this).call(y.transform,h,a,t)}}function M(e,...i){if(r.apply(this,arguments)){var o,a,s,u,l=e.touches,c=l.length,h=b(this,i,e.changedTouches.length===c).event(e);for(We(e),a=0;a=n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(e=i)&&(e=i)}return e}function ur(t,n){let e;if(void 0===n)for(const n of t)null!=n&&(e>n||void 0===e&&n>=n)&&(e=n);else{let r=-1;for(let i of t)null!=(i=n(i,++r,t))&&(e>i||void 0===e&&i>=i)&&(e=i)}return e}var lr="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},cr="Expected a function",hr=/^\s+|\s+$/g,fr=/^[-+]0x[0-9a-f]+$/i,dr=/^0b[01]+$/i,pr=/^0o[0-7]+$/i,gr=parseInt,yr="object"==typeof lr&&lr&&lr.Object===Object&&lr,vr="object"==typeof self&&self&&self.Object===Object&&self,_r=yr||vr||Function("return this")(),mr=Object.prototype.toString,xr=Math.max,br=Math.min,wr=function(){return _r.Date.now()};function kr(t,n,e){var r,i,o,a,s,u,l=0,c=!1,h=!1,f=!0;if("function"!=typeof t)throw new TypeError(cr);function d(n){var e=r,o=i;return r=i=void 0,l=n,a=t.apply(o,e)}function p(t){return l=t,s=setTimeout(y,n),c?d(t):a}function g(t){var e=t-u;return void 0===u||e>=n||e<0||h&&t-l>=o}function y(){var t=wr();if(g(t))return v(t);s=setTimeout(y,function(t){var e=n-(t-u);return h?br(e,o-(t-l)):e}(t))}function v(t){return s=void 0,f&&r?d(t):(r=i=void 0,a)}function _(){var t=wr(),e=g(t);if(r=arguments,i=this,u=t,e){if(void 0===s)return p(u);if(h)return s=setTimeout(y,n),d(u)}return void 0===s&&(s=setTimeout(y,n)),a}return n=Ar(n)||0,zr(e)&&(c=!!e.leading,o=(h="maxWait"in e)?xr(Ar(e.maxWait)||0,n):o,f="trailing"in e?!!e.trailing:f),_.cancel=function(){void 0!==s&&clearTimeout(s),l=0,r=u=i=s=void 0},_.flush=function(){return void 0===s?a:v(wr())},_}function zr(t){var n=typeof t;return!!t&&("object"==n||"function"==n)}function Ar(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==mr.call(t)}(t))return NaN;if(zr(t)){var n="function"==typeof t.valueOf?t.valueOf():t;t=zr(n)?n+"":n}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(hr,"");var e=dr.test(t);return e||pr.test(t)?gr(t.slice(2),e?2:8):fr.test(t)?NaN:+t}var Mr=function(t,n,e){var r=!0,i=!0;if("function"!=typeof t)throw new TypeError(cr);return zr(e)&&(r="leading"in e?!!e.leading:r,i="trailing"in e?!!e.trailing:i),kr(t,n,{leading:r,maxWait:n,trailing:i})},Sr={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 1-Math.cos(t*Math.PI/2)},Out:function(t){return Math.sin(t*Math.PI/2)},InOut:function(t){return.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return 0===t?0:1===t?1:-Math.pow(2,10*(t-1))*Math.sin(5*(t-1.1)*Math.PI)},Out:function(t){return 0===t?0:1===t?1:Math.pow(2,-10*t)*Math.sin(5*(t-.1)*Math.PI)+1},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?-.5*Math.pow(2,10*(t-1))*Math.sin(5*(t-1.1)*Math.PI):.5*Math.pow(2,-10*(t-1))*Math.sin(5*(t-1.1)*Math.PI)+1}},Back:{In:function(t){var n=1.70158;return t*t*((n+1)*t-n)},Out:function(t){var n=1.70158;return--t*t*((n+1)*t+n)+1},InOut:function(t){var n=2.5949095;return(t*=2)<1?t*t*((n+1)*t-n)*.5:.5*((t-=2)*t*((n+1)*t+n)+2)}},Bounce:{In:function(t){return 1-Sr.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*Sr.Bounce.In(2*t):.5*Sr.Bounce.Out(2*t-1)+.5}}},Cr="undefined"==typeof self&&"undefined"!=typeof process&&process.hrtime?function(){var t=process.hrtime();return 1e3*t[0]+t[1]/1e6}:"undefined"!=typeof self&&void 0!==self.performance&&void 0!==self.performance.now?self.performance.now.bind(self.performance):void 0!==Date.now?Date.now:function(){return(new Date).getTime()},Er=function(){function t(){this._tweens={},this._tweensAddedDuringUpdate={}}return t.prototype.getAll=function(){var t=this;return Object.keys(this._tweens).map((function(n){return t._tweens[n]}))},t.prototype.removeAll=function(){this._tweens={}},t.prototype.add=function(t){this._tweens[t.getId()]=t,this._tweensAddedDuringUpdate[t.getId()]=t},t.prototype.remove=function(t){delete this._tweens[t.getId()],delete this._tweensAddedDuringUpdate[t.getId()]},t.prototype.update=function(t,n){void 0===t&&(t=Cr()),void 0===n&&(n=!1);var e=Object.keys(this._tweens);if(0===e.length)return!1;for(;e.length>0;){this._tweensAddedDuringUpdate={};for(var r=0;r1?o(t[e],t[e-1],e-r):o(t[i],t[i+1>e?e:i+1],r-i)},Bezier:function(t,n){for(var e=0,r=t.length-1,i=Math.pow,o=Nr.Utils.Bernstein,a=0;a<=r;a++)e+=i(1-n,r-a)*i(n,a)*t[a]*o(r,a);return e},CatmullRom:function(t,n){var e=t.length-1,r=e*n,i=Math.floor(r),o=Nr.Utils.CatmullRom;return t[0]===t[e]?(n<0&&(i=Math.floor(r=e*(1+n))),o(t[(i-1+e)%e],t[i],t[(i+1)%e],t[(i+2)%e],r-i)):n<0?t[0]-(o(t[0],t[0],t[1],t[1],-r)-t[0]):n>1?t[e]-(o(t[e],t[e],t[e-1],t[e-1],r-e)-t[e]):o(t[i?i-1:0],t[i],t[e1;r--)e*=r;return t[n]=e,e}}(),CatmullRom:function(t,n,e,r,i){var o=.5*(e-t),a=.5*(r-n),s=i*i;return(2*n-2*e+o+a)*(i*s)+(-3*n+3*e-2*o-a)*s+o*i+n}}},Pr=function(){function t(){}return t.nextId=function(){return t._nextId++},t._nextId=0,t}(),Or=new Er,Tr=function(){function t(t,n){void 0===n&&(n=Or),this._object=t,this._group=n,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Sr.Linear.None,this._interpolationFunction=Nr.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=Pr.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return t.prototype.getId=function(){return this._id},t.prototype.isPlaying=function(){return this._isPlaying},t.prototype.isPaused=function(){return this._isPaused},t.prototype.to=function(t,n){return this._valuesEnd=Object.create(t),void 0!==n&&(this._duration=n),this},t.prototype.duration=function(t){return this._duration=t,this},t.prototype.start=function(t){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed)for(var n in this._reversed=!1,this._valuesStartRepeat)this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n];return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=void 0!==t?"string"==typeof t?Cr()+parseFloat(t):t:Cr(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},t.prototype._setupProperties=function(t,n,e,r){for(var i in e){var o=t[i],a=Array.isArray(o),s=a?"array":typeof o,u=!a&&Array.isArray(e[i]);if("undefined"!==s&&"function"!==s){if(u){var l=e[i];if(0===l.length)continue;l=l.map(this._handleRelativeValue.bind(this,o)),e[i]=[o].concat(l)}if("object"!==s&&!a||!o||u)void 0===n[i]&&(n[i]=o),a||(n[i]*=1),r[i]=u?e[i].slice().reverse():n[i]||0;else{for(var c in n[i]=a?[]:{},o)n[i][c]=o[c];r[i]=a?[]:{},this._setupProperties(o,n[i],e[i],r[i])}}}},t.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},t.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},t.prototype.pause=function(t){return void 0===t&&(t=Cr()),this._isPaused||!this._isPlaying||(this._isPaused=!0,this._pauseStart=t,this._group&&this._group.remove(this)),this},t.prototype.resume=function(t){return void 0===t&&(t=Cr()),this._isPaused&&this._isPlaying?(this._isPaused=!1,this._startTime+=t-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this):this},t.prototype.stopChainedTweens=function(){for(var t=0,n=this._chainedTweens.length;ti)return!1;n&&this.start(t)}if(this._goToEnd=!1,t1?1:r;var o=this._easingFunction(r);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,o),this._onUpdateCallback&&this._onUpdateCallback(this._object,r),1===r){if(this._repeat>0){for(e in isFinite(this._repeat)&&this._repeat--,this._valuesStartRepeat)this._yoyo||"string"!=typeof this._valuesEnd[e]||(this._valuesStartRepeat[e]=this._valuesStartRepeat[e]+parseFloat(this._valuesEnd[e])),this._yoyo&&this._swapEndStartRepeatValues(e),this._valuesStart[e]=this._valuesStartRepeat[e];return this._yoyo&&(this._reversed=!this._reversed),void 0!==this._repeatDelayTime?this._startTime=t+this._repeatDelayTime:this._startTime=t+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var a=0,s=this._chainedTweens.length;a=0?r=setTimeout(u,n-l):(r=null,e||(s=t.apply(o,i),o=i=null))}null==n&&(n=100);var l=function(){o=this,i=arguments,a=Date.now();var l=e&&!r;return r||(r=setTimeout(u,n)),l&&(s=t.apply(o,i),o=i=null),s};return l.clear=function(){r&&(clearTimeout(r),r=null)},l.flush=function(){r&&(s=t.apply(o,i),o=i=null,clearTimeout(r),r=null)},l}Br.debounce=Br;var Hr=Br;function Vr(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null==e)return;var r,i,o=[],a=!0,s=!1;try{for(e=e.call(t);!(a=(r=e.next()).done)&&(o.push(r.value),!n||o.length!==n);a=!0);}catch(t){s=!0,i=t}finally{try{a||null==e.return||e.return()}finally{if(s)throw i}}return o}(t,n)||function(t,n){if(!t)return;if("string"==typeof t)return Gr(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);"Object"===e&&t.constructor&&(e=t.constructor.name);if("Map"===e||"Set"===e)return Array.from(t);if("Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Gr(t,n)}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gr(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);e0&&void 0!==arguments[0]?arguments[0]:{},n=Object.assign({},e instanceof Function?e(t):e,{initialised:!1}),r={};function i(n){return o(n,t),s(),i}var o=function(t,e){c.call(i,t,n,e),n.initialised=!0},s=Hr((function(){n.initialised&&(f.call(i,n,r),r={})}),1);return d.forEach((function(t){i[t.name]=function(t){var e=t.name,o=t.triggerUpdate,a=void 0!==o&&o,u=t.onChange,l=void 0===u?function(t,n){}:u,c=t.defaultVal,h=void 0===c?null:c;return function(t){var o=n[e];if(!arguments.length)return o;var u=void 0===t?h:t;return n[e]=u,l.call(i,u,n,o),!r.hasOwnProperty(e)&&(r[e]=o),a&&s(),i}}(t)})),Object.keys(a).forEach((function(t){i[t]=function(){for(var e,r=arguments.length,o=new Array(r),s=0;s1&&(e-=1),e<1/6?t+6*(n-t)*e:e<.5?n:e<2/3?t+(n-t)*(2/3-e)*6:t}if(t=N(t,360),n=N(n,100),e=N(e,100),0===n)r=i=o=e;else{var s=e<.5?e*(1+n):e+n-e*n,u=2*e-s;r=a(u,s,t+1/3),i=a(u,s,t),o=a(u,s,t-1/3)}return{r:255*r,g:255*i,b:255*o}}(t.h,u,c),h=!0,f="hsl"),t.hasOwnProperty("a")&&(o=t.a));var d,p,g;return o=E(o),{ok:h,format:t.format||f,r:a(255,s(i.r,0)),g:a(255,s(i.g,0)),b:a(255,s(i.b,0)),a:o}}(t);this._originalInput=t,this._r=c.r,this._g=c.g,this._b=c.b,this._a=c.a,this._roundA=o(100*this._a)/100,this._format=u.format||c.format,this._gradientType=u.gradientType,this._r<1&&(this._r=o(this._r)),this._g<1&&(this._g=o(this._g)),this._b<1&&(this._b=o(this._b)),this._ok=c.ok,this._tc_id=i++}function c(t,n,e){t=N(t,255),n=N(n,255),e=N(e,255);var r,i,o=s(t,n,e),u=a(t,n,e),l=(o+u)/2;if(o==u)r=i=0;else{var c=o-u;switch(i=l>.5?c/(2-o-u):c/(o+u),o){case t:r=(n-e)/c+(n>1)+720)%360;--n;)r.h=(r.h+i)%360,o.push(l(r));return o}function M(t,n){n=n||6;for(var e=l(t).toHsv(),r=e.h,i=e.s,o=e.v,a=[],s=1/n;n--;)a.push(l({h:r,s:i,v:o})),o=(o+s)%1;return a}l.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,r,i=this.toRgb();return t=i.r/255,e=i.g/255,r=i.b/255,.2126*(t<=.03928?t/12.92:n.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:n.pow((e+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:n.pow((r+.055)/1.055,2.4))},setAlpha:function(t){return this._a=E(t),this._roundA=o(100*this._a)/100,this},toHsv:function(){var t=h(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=h(this._r,this._g,this._b),n=o(360*t.h),e=o(100*t.s),r=o(100*t.v);return 1==this._a?"hsv("+n+", "+e+"%, "+r+"%)":"hsva("+n+", "+e+"%, "+r+"%, "+this._roundA+")"},toHsl:function(){var t=c(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=c(this._r,this._g,this._b),n=o(360*t.h),e=o(100*t.s),r=o(100*t.l);return 1==this._a?"hsl("+n+", "+e+"%, "+r+"%)":"hsla("+n+", "+e+"%, "+r+"%, "+this._roundA+")"},toHex:function(t){return f(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,n,e,r,i){var a=[T(o(t).toString(16)),T(o(n).toString(16)),T(o(e).toString(16)),T(R(r))];if(i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1))return a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0);return a.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:o(this._r),g:o(this._g),b:o(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+o(this._r)+", "+o(this._g)+", "+o(this._b)+")":"rgba("+o(this._r)+", "+o(this._g)+", "+o(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:o(100*N(this._r,255))+"%",g:o(100*N(this._g,255))+"%",b:o(100*N(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+o(100*N(this._r,255))+"%, "+o(100*N(this._g,255))+"%, "+o(100*N(this._b,255))+"%)":"rgba("+o(100*N(this._r,255))+"%, "+o(100*N(this._g,255))+"%, "+o(100*N(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(C[f(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var n="#"+d(this._r,this._g,this._b,this._a),e=n,r=this._gradientType?"GradientType = 1, ":"";if(t){var i=l(t);e="#"+d(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+r+"startColorstr="+n+",endColorstr="+e+")"},toString:function(t){var n=!!t;t=t||this._format;var e=!1,r=this._a<1&&this._a>=0;return n||!r||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(e=this.toRgbString()),"prgb"===t&&(e=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(e=this.toHexString()),"hex3"===t&&(e=this.toHexString(!0)),"hex4"===t&&(e=this.toHex8String(!0)),"hex8"===t&&(e=this.toHex8String()),"name"===t&&(e=this.toName()),"hsl"===t&&(e=this.toHslString()),"hsv"===t&&(e=this.toHsvString()),e||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return l(this.toString())},_applyModification:function(t,n){var e=t.apply(null,[this].concat([].slice.call(n)));return this._r=e._r,this._g=e._g,this._b=e._b,this.setAlpha(e._a),this},lighten:function(){return this._applyModification(v,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(m,arguments)},desaturate:function(){return this._applyModification(p,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(y,arguments)},spin:function(){return this._applyModification(x,arguments)},_applyCombination:function(t,n){return t.apply(null,[this].concat([].slice.call(n)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(b,arguments)},monochromatic:function(){return this._applyCombination(M,arguments)},splitcomplement:function(){return this._applyCombination(z,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},l.fromRatio=function(t,n){if("object"==typeof t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[r]="a"===r?t[r]:j(t[r]));t=e}return l(t,n)},l.equals=function(t,n){return!(!t||!n)&&l(t).toRgbString()==l(n).toRgbString()},l.random=function(){return l.fromRatio({r:u(),g:u(),b:u()})},l.mix=function(t,n,e){e=0===e?0:e||50;var r=l(t).toRgb(),i=l(n).toRgb(),o=e/100;return l({r:(i.r-r.r)*o+r.r,g:(i.g-r.g)*o+r.g,b:(i.b-r.b)*o+r.b,a:(i.a-r.a)*o+r.a})}, +// Version 1.42.11 force-graph - https://github.com/vasturiano/force-graph +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).ForceGraph=e()}(this,(function(){"use strict";function e(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function n(t){for(var n=1;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),d.hasOwnProperty(e)?{space:d[e],local:t}:t}function g(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===h&&e.documentElement.namespaceURI===h?e.createElement(t):e.createElementNS(n,t)}}function b(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function y(t){var e=p(t);return(e.local?b:g)(e)}function v(){}function m(t){return null==t?v:function(){return this.querySelector(t)}}function _(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}function x(){return[]}function w(t){return null==t?x:function(){return this.querySelectorAll(t)}}function k(t){return function(){return this.matches(t)}}function M(t){return function(e){return e.matches(t)}}var A=Array.prototype.find;function C(){return this.firstElementChild}var z=Array.prototype.filter;function S(){return Array.from(this.children)}function T(t){return new Array(t.length)}function N(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}function E(t){return function(){return t}}function P(t,e,n,r,i,a){for(var o,f=0,c=e.length,u=a.length;fe?1:t>=e?0:NaN}function R(t){return function(){this.removeAttribute(t)}}function F(t){return function(){this.removeAttributeNS(t.space,t.local)}}function I(t,e){return function(){this.setAttribute(t,e)}}function L(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function H(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttribute(t):this.setAttribute(t,n)}}function q(t,e){return function(){var n=e.apply(this,arguments);null==n?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function B(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function $(t){return function(){this.style.removeProperty(t)}}function Y(t,e,n){return function(){this.style.setProperty(t,e,n)}}function V(t,e,n){return function(){var r=e.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function X(t,e){return t.style.getPropertyValue(e)||B(t).getComputedStyle(t,null).getPropertyValue(e)}function G(t){return function(){delete this[t]}}function Z(t,e){return function(){this[t]=e}}function W(t,e){return function(){var n=e.apply(this,arguments);null==n?delete this[t]:this[t]=n}}function Q(t){return t.trim().split(/^|\s+/)}function J(t){return t.classList||new K(t)}function K(t){this._node=t,this._names=Q(t.getAttribute("class")||"")}function tt(t,e){for(var n=J(t),r=-1,i=e.length;++r=0&&(e=t.slice(n+1),t=t.slice(0,n)),{type:t,name:e}}))}function vt(t){return function(){var e=this.__on;if(e){for(var n,r=0,i=-1,a=e.length;r=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var kt=[null];function Mt(t,e){this._groups=t,this._parents=e}function At(){return new Mt([[document.documentElement]],kt)}function Ct(t){return"string"==typeof t?new Mt([[document.querySelector(t)]],[document.documentElement]):new Mt([[t]],kt)}Mt.prototype=At.prototype={constructor:Mt,select:function(t){"function"!=typeof t&&(t=m(t));for(var e=this._groups,n=e.length,r=new Array(n),i=0;i=x&&(x=_+1);!(m=b[x])&&++x=0;)(r=i[a])&&(o&&4^r.compareDocumentPosition(o)&&o.parentNode.insertBefore(r,o),o=r);return this},sort:function(t){function e(e,n){return e&&n?t(e.__data__,n.__data__):!e-!n}t||(t=j);for(var n=this._groups,r=n.length,i=new Array(r),a=0;a1?this.each((null==e?$:"function"==typeof e?V:Y)(t,e,null==n?"":n)):X(this.node(),t)},property:function(t,e){return arguments.length>1?this.each((null==e?G:"function"==typeof e?W:Z)(t,e)):this.node()[t]},classed:function(t,e){var n=Q(t+"");if(arguments.length<2){for(var r=J(this.node()),i=-1,a=n.length;++i{}};function Et(){for(var t,e=0,n=arguments.length,r={};e=0&&(n=t.slice(r+1),t=t.slice(0,r)),t&&!e.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))}function Dt(t,e){for(var n,r=0,i=t.length;r0)for(var n,r,i=new Array(n),a=0;a()=>t;function Bt(t,{sourceEvent:e,subject:n,target:r,identifier:i,active:a,x:o,y:f,dx:c,dy:u,dispatch:s}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:f,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:s}})}function $t(t){return!t.ctrlKey&&!t.button}function Yt(){return this.parentNode}function Vt(t,e){return null==e?{x:t.x,y:t.y}:e}function Xt(){return navigator.maxTouchPoints||"ontouchstart"in this}function Gt(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function Zt(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Wt(){}Bt.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};var Qt=.7,Jt=1/Qt,Kt="\\s*([+-]?\\d+)\\s*",te="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ee="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",ne=/^#([0-9a-f]{3,8})$/,re=new RegExp(`^rgb\\(${Kt},${Kt},${Kt}\\)$`),ie=new RegExp(`^rgb\\(${ee},${ee},${ee}\\)$`),ae=new RegExp(`^rgba\\(${Kt},${Kt},${Kt},${te}\\)$`),oe=new RegExp(`^rgba\\(${ee},${ee},${ee},${te}\\)$`),fe=new RegExp(`^hsl\\(${te},${ee},${ee}\\)$`),ce=new RegExp(`^hsla\\(${te},${ee},${ee},${te}\\)$`),ue={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};function se(){return this.rgb().formatHex()}function le(){return this.rgb().formatRgb()}function he(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=ne.exec(t))?(n=e[1].length,e=parseInt(e[1],16),6===n?de(e):3===n?new ye(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===n?pe(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===n?pe(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=re.exec(t))?new ye(e[1],e[2],e[3],1):(e=ie.exec(t))?new ye(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=ae.exec(t))?pe(e[1],e[2],e[3],e[4]):(e=oe.exec(t))?pe(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=fe.exec(t))?ke(e[1],e[2]/100,e[3]/100,1):(e=ce.exec(t))?ke(e[1],e[2]/100,e[3]/100,e[4]):ue.hasOwnProperty(t)?de(ue[t]):"transparent"===t?new ye(NaN,NaN,NaN,0):null}function de(t){return new ye(t>>16&255,t>>8&255,255&t,1)}function pe(t,e,n,r){return r<=0&&(t=e=n=NaN),new ye(t,e,n,r)}function ge(t){return t instanceof Wt||(t=he(t)),t?new ye((t=t.rgb()).r,t.g,t.b,t.opacity):new ye}function be(t,e,n,r){return 1===arguments.length?ge(t):new ye(t,e,n,null==r?1:r)}function ye(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}function ve(){return`#${we(this.r)}${we(this.g)}${we(this.b)}`}function me(){const t=_e(this.opacity);return`${1===t?"rgb(":"rgba("}${xe(this.r)}, ${xe(this.g)}, ${xe(this.b)}${1===t?")":`, ${t})`}`}function _e(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function xe(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function we(t){return((t=xe(t))<16?"0":"")+t.toString(16)}function ke(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Ae(t,e,n,r)}function Me(t){if(t instanceof Ae)return new Ae(t.h,t.s,t.l,t.opacity);if(t instanceof Wt||(t=he(t)),!t)return new Ae;if(t instanceof Ae)return t;var e=(t=t.rgb()).r/255,n=t.g/255,r=t.b/255,i=Math.min(e,n,r),a=Math.max(e,n,r),o=NaN,f=a-i,c=(a+i)/2;return f?(o=e===a?(n-r)/f+6*(n0&&c<1?0:o,new Ae(o,f,c,t.opacity)}function Ae(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}function Ce(t){return(t=(t||0)%360)<0?t+360:t}function ze(t){return Math.max(0,Math.min(1,t||0))}function Se(t,e,n){return 255*(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)}Gt(Wt,he,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:se,formatHex:se,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return Me(this).formatHsl()},formatRgb:le,toString:le}),Gt(ye,be,Zt(Wt,{brighter(t){return t=null==t?Jt:Math.pow(Jt,t),new ye(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?Qt:Math.pow(Qt,t),new ye(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ye(xe(this.r),xe(this.g),xe(this.b),_e(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:ve,formatHex:ve,formatHex8:function(){return`#${we(this.r)}${we(this.g)}${we(this.b)}${we(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:me,toString:me})),Gt(Ae,(function(t,e,n,r){return 1===arguments.length?Me(t):new Ae(t,e,n,null==r?1:r)}),Zt(Wt,{brighter(t){return t=null==t?Jt:Math.pow(Jt,t),new Ae(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?Qt:Math.pow(Qt,t),new Ae(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,i=2*n-r;return new ye(Se(t>=240?t-240:t+120,i,r),Se(t,i,r),Se(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new Ae(Ce(this.h),ze(this.s),ze(this.l),_e(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 t=_e(this.opacity);return`${1===t?"hsl(":"hsla("}${Ce(this.h)}, ${100*ze(this.s)}%, ${100*ze(this.l)}%${1===t?")":`, ${t})`}`}}));const Te=Math.PI/180,Ne=180/Math.PI,Ee=.96422,Pe=.82521,Oe=4/29,De=6/29,Ue=3*De*De;function je(t){if(t instanceof Re)return new Re(t.l,t.a,t.b,t.opacity);if(t instanceof Be)return $e(t);t instanceof ye||(t=ge(t));var e,n,r=He(t.r),i=He(t.g),a=He(t.b),o=Fe((.2225045*r+.7168786*i+.0606169*a)/1);return r===i&&i===a?e=n=o:(e=Fe((.4360747*r+.3850649*i+.1430804*a)/Ee),n=Fe((.0139322*r+.0971045*i+.7141733*a)/Pe)),new Re(116*o-16,500*(e-o),200*(o-n),t.opacity)}function Re(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}function Fe(t){return t>.008856451679035631?Math.pow(t,1/3):t/Ue+Oe}function Ie(t){return t>De?t*t*t:Ue*(t-Oe)}function Le(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function He(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function qe(t){if(t instanceof Be)return new Be(t.h,t.c,t.l,t.opacity);if(t instanceof Re||(t=je(t)),0===t.a&&0===t.b)return new Be(NaN,0()=>t;function rn(t,e){return function(n){return t+n*e}}function an(t){return 1==(t=+t)?on:function(e,n){return n-e?function(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}(e,n,t):nn(isNaN(e)?n:e)}}function on(t,e){var n=e-t;return n?rn(t,n):nn(isNaN(t)?e:t)}var fn=function t(e){var n=an(e);function r(t,e){var r=n((t=be(t)).r,(e=be(e)).r),i=n(t.g,e.g),a=n(t.b,e.b),o=on(t.opacity,e.opacity);return function(e){return t.r=r(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return r.gamma=t,r}(1);var cn,un=(cn=function(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[r],a=t[r+1],o=r>0?t[r-1]:2*i-a,f=ra&&(i=e.slice(a,i),f[o]?f[o]+=i:f[++o]=i),(n=n[0])===(r=r[0])?f[o]?f[o]+=r:f[++o]=r:(f[++o]=null,c.push({i:o,x:sn(n,r)})),a=hn.lastIndex;return a180?e+=360:e-t>180&&(t+=360),a.push({i:n.push(i(n)+"rotate(",null,r)-2,x:sn(t,e)})):e&&n.push(i(n)+"rotate("+e+r)}(a.rotate,o.rotate,f,c),function(t,e,n,a){t!==e?a.push({i:n.push(i(n)+"skewX(",null,r)-2,x:sn(t,e)}):e&&n.push(i(n)+"skewX("+e+r)}(a.skewX,o.skewX,f,c),function(t,e,n,r,a,o){if(t!==n||e!==r){var f=a.push(i(a)+"scale(",null,",",null,")");o.push({i:f-4,x:sn(t,n)},{i:f-2,x:sn(e,r)})}else 1===n&&1===r||a.push(i(a)+"scale("+n+","+r+")")}(a.scaleX,a.scaleY,o.scaleX,o.scaleY,f,c),a=o=null,function(t){for(var e,n=-1,r=c.length;++n180||n<-180?n-360*Math.round(n/360):n):nn(isNaN(t)?e:t)}));var Mn,An,Cn=kn(on),zn=0,Sn=0,Tn=0,Nn=0,En=0,Pn=0,On="object"==typeof performance&&performance.now?performance:Date,Dn="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Un(){return En||(Dn(jn),En=On.now()+Pn)}function jn(){En=0}function Rn(){this._call=this._time=this._next=null}function Fn(t,e,n){var r=new Rn;return r.restart(t,e,n),r}function In(){En=(Nn=On.now())+Pn,zn=Sn=0;try{!function(){Un(),++zn;for(var t,e=Mn;e;)(t=En-e._time)>=0&&e._call.call(void 0,t),e=e._next;--zn}()}finally{zn=0,function(){var t,e,n=Mn,r=1/0;for(;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Mn=e);An=t,Hn(r)}(),En=0}}function Ln(){var t=On.now(),e=t-Nn;e>1e3&&(Pn-=e,Nn=t)}function Hn(t){zn||(Sn&&(Sn=clearTimeout(Sn)),t-En>24?(t<1/0&&(Sn=setTimeout(In,t-On.now()-Pn)),Tn&&(Tn=clearInterval(Tn))):(Tn||(Nn=On.now(),Tn=setInterval(Ln,1e3)),zn=1,Dn(In)))}function qn(t,e,n){var r=new Rn;return e=null==e?0:+e,r.restart((n=>{r.stop(),t(n+e)}),e,n),r}Rn.prototype=Fn.prototype={constructor:Rn,restart:function(t,e,n){if("function"!=typeof t)throw new TypeError("callback is not a function");n=(null==n?Un():+n)+(null==e?0:+e),this._next||An===this||(An?An._next=this:Mn=this,An=this),this._call=t,this._time=n,Hn()},stop:function(){this._call&&(this._call=null,this._time=1/0,Hn())}};var Bn=Et("start","end","cancel","interrupt"),$n=[];function Yn(t,e,n,r,i,a){var o=t.__transition;if(o){if(n in o)return}else t.__transition={};!function(t,e,n){var r,i=t.__transition;function a(t){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=t&&o(t-n.delay)}function o(a){var u,s,l,h;if(1!==n.state)return c();for(u in i)if((h=i[u]).name===n.name){if(3===h.state)return qn(o);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[u]):+u0)throw new Error("too late; already scheduled");return n}function Xn(t,e){var n=Gn(t,e);if(n.state>3)throw new Error("too late; already running");return n}function Gn(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Zn(t,e){var n,r,i,a=t.__transition,o=!0;if(a){for(i in e=null==e?null:e+"",a)(n=a[i]).name===e?(r=n.state>2&&n.state<5,n.state=6,n.timer.stop(),n.on.call(r?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete a[i]):o=!1;o&&delete t.__transition}}function Wn(t,e){var n,r;return function(){var i=Xn(this,t),a=i.tween;if(a!==n)for(var o=0,f=(r=n=a).length;o=0&&(t=t.slice(0,e)),!t||"start"===t}))}(e)?Vn:Xn;return function(){var o=a(this,t),f=o.on;f!==r&&(i=(r=f).copy()).on(e,n),o.on=i}}var br=At.prototype.constructor;function yr(t){return function(){this.style.removeProperty(t)}}function vr(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function mr(t,e,n){var r,i;function a(){var a=e.apply(this,arguments);return a!==i&&(r=(i=a)&&vr(t,a,n)),r}return a._value=e,a}function _r(t){return function(e){this.textContent=t.call(this,e)}}function xr(t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&_r(r)),e}return r._value=t,r}var wr=0;function kr(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function Mr(){return++wr}var Ar=At.prototype;kr.prototype={constructor:kr,select:function(t){var e=this._name,n=this._id;"function"!=typeof t&&(t=m(t));for(var r=this._groups,i=r.length,a=new Array(i),o=0;o()=>t;function Pr(t,{sourceEvent:e,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Or(t,e,n){this.k=t,this.x=e,this.y=n}Or.prototype={constructor:Or,scale:function(t){return 1===t?this:new Or(this.k*t,this.x,this.y)},translate:function(t,e){return 0===t&0===e?this:new Or(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Dr=new Or(1,0,0);function Ur(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Dr;return t.__zoom}function jr(t){t.stopImmediatePropagation()}function Rr(t){t.preventDefault(),t.stopImmediatePropagation()}function Fr(t){return!(t.ctrlKey&&"wheel"!==t.type||t.button)}function Ir(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t).hasAttribute("viewBox")?[[(t=t.viewBox.baseVal).x,t.y],[t.x+t.width,t.y+t.height]]:[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]:[[0,0],[t.clientWidth,t.clientHeight]]}function Lr(){return this.__zoom||Dr}function Hr(t){return-t.deltaY*(1===t.deltaMode?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function qr(){return navigator.maxTouchPoints||"ontouchstart"in this}function Br(t,e,n){var r=t.invertX(e[0][0])-n[0][0],i=t.invertX(e[1][0])-n[1][0],a=t.invertY(e[0][1])-n[0][1],o=t.invertY(e[1][1])-n[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function $r(){var t,e,n,r=Fr,i=Ir,a=Br,o=Hr,f=qr,c=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],s=250,l=wn,h=Et("start","zoom","end"),d=500,p=0,g=10;function b(t){t.property("__zoom",Lr).on("wheel.zoom",k,{passive:!1}).on("mousedown.zoom",M).on("dblclick.zoom",A).filter(f).on("touchstart.zoom",C).on("touchmove.zoom",z).on("touchend.zoom touchcancel.zoom",S).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function y(t,e){return(e=Math.max(c[0],Math.min(c[1],e)))===t.k?t:new Or(e,t.x,t.y)}function v(t,e,n){var r=e[0]-n[0]*t.k,i=e[1]-n[1]*t.k;return r===t.x&&i===t.y?t:new Or(t.k,r,i)}function m(t){return[(+t[0][0]+ +t[1][0])/2,(+t[0][1]+ +t[1][1])/2]}function _(t,e,n,r){t.on("start.zoom",(function(){x(this,arguments).event(r).start()})).on("interrupt.zoom end.zoom",(function(){x(this,arguments).event(r).end()})).tween("zoom",(function(){var t=this,a=arguments,o=x(t,a).event(r),f=i.apply(t,a),c=null==n?m(f):"function"==typeof n?n.apply(t,a):n,u=Math.max(f[1][0]-f[0][0],f[1][1]-f[0][1]),s=t.__zoom,h="function"==typeof e?e.apply(t,a):e,d=l(s.invert(c).concat(u/s.k),h.invert(c).concat(u/h.k));return function(t){if(1===t)t=h;else{var e=d(t),n=u/e[2];t=new Or(n,c[0]-e[0]*n,c[1]-e[1]*n)}o.zoom(null,t)}}))}function x(t,e,n){return!n&&t.__zooming||new w(t,e)}function w(t,e){this.that=t,this.args=e,this.active=0,this.sourceEvent=null,this.extent=i.apply(t,e),this.taps=0}function k(t,...e){if(r.apply(this,arguments)){var n=x(this,e).event(t),i=this.__zoom,f=Math.max(c[0],Math.min(c[1],i.k*Math.pow(2,o.apply(this,arguments)))),s=Tt(t);if(n.wheel)n.mouse[0][0]===s[0]&&n.mouse[0][1]===s[1]||(n.mouse[1]=i.invert(n.mouse[0]=s)),clearTimeout(n.wheel);else{if(i.k===f)return;n.mouse=[s,i.invert(s)],Zn(this),n.start()}Rr(t),n.wheel=setTimeout(l,150),n.zoom("mouse",a(v(y(i,f),n.mouse[0],n.mouse[1]),n.extent,u))}function l(){n.wheel=null,n.end()}}function M(t,...e){if(!n&&r.apply(this,arguments)){var i=t.currentTarget,o=x(this,e,!0).event(t),f=Ct(t.view).on("mousemove.zoom",h,!0).on("mouseup.zoom",d,!0),c=Tt(t,i),s=t.clientX,l=t.clientY;Lt(t.view),jr(t),o.mouse=[c,this.__zoom.invert(c)],Zn(this),o.start()}function h(t){if(Rr(t),!o.moved){var e=t.clientX-s,n=t.clientY-l;o.moved=e*e+n*n>p}o.event(t).zoom("mouse",a(v(o.that.__zoom,o.mouse[0]=Tt(t,i),o.mouse[1]),o.extent,u))}function d(t){f.on("mousemove.zoom mouseup.zoom",null),Ht(t.view,o.moved),Rr(t),o.event(t).end()}}function A(t,...e){if(r.apply(this,arguments)){var n=this.__zoom,o=Tt(t.changedTouches?t.changedTouches[0]:t,this),f=n.invert(o),c=n.k*(t.shiftKey?.5:2),l=a(v(y(n,c),o,f),i.apply(this,e),u);Rr(t),s>0?Ct(this).transition().duration(s).call(_,l,o,t):Ct(this).call(b.transform,l,o,t)}}function C(n,...i){if(r.apply(this,arguments)){var a,o,f,c,u=n.touches,s=u.length,l=x(this,i,n.changedTouches.length===s).event(n);for(jr(n),o=0;oe?1:t>=e?0:NaN}function Vr(t,e){return null==t||null==e?NaN:et?1:e>=t?0:NaN}function Xr(t){let e,n,r;function i(t,r,i=0,a=t.length){if(i>>1;n(t[e],r)<0?i=e+1:a=e}while(iYr(t(e),n),r=(e,n)=>t(e)-n):(e=t===Yr||t===Vr?t:Gr,n=t,r=t),{left:i,center:function(t,e,n=0,a=t.length){const o=i(t,e,n,a-1);return o>n&&r(t[o-1],e)>-r(t[o],e)?o-1:o},right:function(t,r,i=0,a=t.length){if(i>>1;n(t[e],r)<=0?i=e+1:a=e}while(i=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n=i)&&(n=i)}return n}function Kr(t,e){let n;if(void 0===e)for(const e of t)null!=e&&(n>e||void 0===n&&e>=e)&&(n=e);else{let r=-1;for(let i of t)null!=(i=e(i,++r,t))&&(n>i||void 0===n&&i>=i)&&(n=i)}return n}var ti="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},ei="Expected a function",ni=/^\s+|\s+$/g,ri=/^[-+]0x[0-9a-f]+$/i,ii=/^0b[01]+$/i,ai=/^0o[0-7]+$/i,oi=parseInt,fi="object"==typeof ti&&ti&&ti.Object===Object&&ti,ci="object"==typeof self&&self&&self.Object===Object&&self,ui=fi||ci||Function("return this")(),si=Object.prototype.toString,li=Math.max,hi=Math.min,di=function(){return ui.Date.now()};function pi(t,e,n){var r,i,a,o,f,c,u=0,s=!1,l=!1,h=!0;if("function"!=typeof t)throw new TypeError(ei);function d(e){var n=r,a=i;return r=i=void 0,u=e,o=t.apply(a,n)}function p(t){return u=t,f=setTimeout(b,e),s?d(t):o}function g(t){var n=t-c;return void 0===c||n>=e||n<0||l&&t-u>=a}function b(){var t=di();if(g(t))return y(t);f=setTimeout(b,function(t){var n=e-(t-c);return l?hi(n,a-(t-u)):n}(t))}function y(t){return f=void 0,h&&r?d(t):(r=i=void 0,o)}function v(){var t=di(),n=g(t);if(r=arguments,i=this,c=t,n){if(void 0===f)return p(c);if(l)return f=setTimeout(b,e),d(c)}return void 0===f&&(f=setTimeout(b,e)),o}return e=bi(e)||0,gi(n)&&(s=!!n.leading,a=(l="maxWait"in n)?li(bi(n.maxWait)||0,e):a,h="trailing"in n?!!n.trailing:h),v.cancel=function(){void 0!==f&&clearTimeout(f),u=0,r=c=i=f=void 0},v.flush=function(){return void 0===f?o:y(di())},v}function gi(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function bi(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==si.call(t)}(t))return NaN;if(gi(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=gi(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(ni,"");var n=ii.test(t);return n||ai.test(t)?oi(t.slice(2),n?2:8):ri.test(t)?NaN:+t}var yi=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new TypeError(ei);return gi(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),pi(t,e,{leading:r,maxWait:e,trailing:i})},vi={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 1-Math.cos(t*Math.PI/2)},Out:function(t){return Math.sin(t*Math.PI/2)},InOut:function(t){return.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return 0===t?0:1===t?1:-Math.pow(2,10*(t-1))*Math.sin(5*(t-1.1)*Math.PI)},Out:function(t){return 0===t?0:1===t?1:Math.pow(2,-10*t)*Math.sin(5*(t-.1)*Math.PI)+1},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?-.5*Math.pow(2,10*(t-1))*Math.sin(5*(t-1.1)*Math.PI):.5*Math.pow(2,-10*(t-1))*Math.sin(5*(t-1.1)*Math.PI)+1}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-vi.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*vi.Bounce.In(2*t):.5*vi.Bounce.Out(2*t-1)+.5}}},mi="undefined"==typeof self&&"undefined"!=typeof process&&process.hrtime?function(){var t=process.hrtime();return 1e3*t[0]+t[1]/1e6}:"undefined"!=typeof self&&void 0!==self.performance&&void 0!==self.performance.now?self.performance.now.bind(self.performance):void 0!==Date.now?Date.now:function(){return(new Date).getTime()},_i=function(){function t(){this._tweens={},this._tweensAddedDuringUpdate={}}return t.prototype.getAll=function(){var t=this;return Object.keys(this._tweens).map((function(e){return t._tweens[e]}))},t.prototype.removeAll=function(){this._tweens={}},t.prototype.add=function(t){this._tweens[t.getId()]=t,this._tweensAddedDuringUpdate[t.getId()]=t},t.prototype.remove=function(t){delete this._tweens[t.getId()],delete this._tweensAddedDuringUpdate[t.getId()]},t.prototype.update=function(t,e){void 0===t&&(t=mi()),void 0===e&&(e=!1);var n=Object.keys(this._tweens);if(0===n.length)return!1;for(;n.length>0;){this._tweensAddedDuringUpdate={};for(var r=0;r1?a(t[n],t[n-1],n-r):a(t[i],t[i+1>n?n:i+1],r-i)},Bezier:function(t,e){for(var n=0,r=t.length-1,i=Math.pow,a=xi.Utils.Bernstein,o=0;o<=r;o++)n+=i(1-e,r-o)*i(e,o)*t[o]*a(r,o);return n},CatmullRom:function(t,e){var n=t.length-1,r=n*e,i=Math.floor(r),a=xi.Utils.CatmullRom;return t[0]===t[n]?(e<0&&(i=Math.floor(r=n*(1+e))),a(t[(i-1+n)%n],t[i],t[(i+1)%n],t[(i+2)%n],r-i)):e<0?t[0]-(a(t[0],t[0],t[1],t[1],-r)-t[0]):e>1?t[n]-(a(t[n],t[n],t[n-1],t[n-1],r-n)-t[n]):a(t[i?i-1:0],t[i],t[n1;r--)n*=r;return t[e]=n,n}}(),CatmullRom:function(t,e,n,r,i){var a=.5*(n-t),o=.5*(r-e),f=i*i;return(2*e-2*n+a+o)*(i*f)+(-3*e+3*n-2*a-o)*f+a*i+e}}},wi=function(){function t(){}return t.nextId=function(){return t._nextId++},t._nextId=0,t}(),ki=new _i,Mi=function(){function t(t,e){void 0===e&&(e=ki),this._object=t,this._group=e,this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=vi.Linear.None,this._interpolationFunction=xi.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._id=wi.nextId(),this._isChainStopped=!1,this._goToEnd=!1}return t.prototype.getId=function(){return this._id},t.prototype.isPlaying=function(){return this._isPlaying},t.prototype.isPaused=function(){return this._isPaused},t.prototype.to=function(t,e){return this._valuesEnd=Object.create(t),void 0!==e&&(this._duration=e),this},t.prototype.duration=function(t){return this._duration=t,this},t.prototype.start=function(t){if(this._isPlaying)return this;if(this._group&&this._group.add(this),this._repeat=this._initialRepeat,this._reversed)for(var e in this._reversed=!1,this._valuesStartRepeat)this._swapEndStartRepeatValues(e),this._valuesStart[e]=this._valuesStartRepeat[e];return this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=void 0!==t?"string"==typeof t?mi()+parseFloat(t):t:mi(),this._startTime+=this._delayTime,this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat),this},t.prototype._setupProperties=function(t,e,n,r){for(var i in n){var a=t[i],o=Array.isArray(a),f=o?"array":typeof a,c=!o&&Array.isArray(n[i]);if("undefined"!==f&&"function"!==f){if(c){var u=n[i];if(0===u.length)continue;u=u.map(this._handleRelativeValue.bind(this,a)),n[i]=[a].concat(u)}if("object"!==f&&!o||!a||c)void 0===e[i]&&(e[i]=a),o||(e[i]*=1),r[i]=c?n[i].slice().reverse():e[i]||0;else{for(var s in e[i]=o?[]:{},a)e[i][s]=a[s];r[i]=o?[]:{},this._setupProperties(a,e[i],n[i],r[i])}}}},t.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._group&&this._group.remove(this),this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},t.prototype.end=function(){return this._goToEnd=!0,this.update(1/0),this},t.prototype.pause=function(t){return void 0===t&&(t=mi()),this._isPaused||!this._isPlaying||(this._isPaused=!0,this._pauseStart=t,this._group&&this._group.remove(this)),this},t.prototype.resume=function(t){return void 0===t&&(t=mi()),this._isPaused&&this._isPlaying?(this._isPaused=!1,this._startTime+=t-this._pauseStart,this._pauseStart=0,this._group&&this._group.add(this),this):this},t.prototype.stopChainedTweens=function(){for(var t=0,e=this._chainedTweens.length;ti)return!1;e&&this.start(t)}if(this._goToEnd=!1,t1?1:r;var a=this._easingFunction(r);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,a),this._onUpdateCallback&&this._onUpdateCallback(this._object,r),1===r){if(this._repeat>0){for(n in isFinite(this._repeat)&&this._repeat--,this._valuesStartRepeat)this._yoyo||"string"!=typeof this._valuesEnd[n]||(this._valuesStartRepeat[n]=this._valuesStartRepeat[n]+parseFloat(this._valuesEnd[n])),this._yoyo&&this._swapEndStartRepeatValues(n),this._valuesStart[n]=this._valuesStartRepeat[n];return this._yoyo&&(this._reversed=!this._reversed),void 0!==this._repeatDelayTime?this._startTime=t+this._repeatDelayTime:this._startTime=t+this._delayTime,this._onRepeatCallback&&this._onRepeatCallback(this._object),!0}this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var o=0,f=this._chainedTweens.length;o=0?r=setTimeout(c,e-u):(r=null,n||(f=t.apply(a,i),a=i=null))}null==e&&(e=100);var u=function(){a=this,i=arguments,o=Date.now();var u=n&&!r;return r||(r=setTimeout(c,e)),u&&(f=t.apply(a,i),a=i=null),f};return u.clear=function(){r&&(clearTimeout(r),r=null)},u.flush=function(){r&&(f=t.apply(a,i),a=i=null,clearTimeout(r),r=null)},u}Oi.debounce=Oi;var Di=Oi;function Ui(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:{},e=Object.assign({},n instanceof Function?n(t):n,{initialised:!1}),r={};function i(e){return a(e,t),f(),i}var a=function(t,n){s.call(i,t,e,n),e.initialised=!0},f=Di((function(){e.initialised&&(h.call(i,e,r),r={})}),1);return d.forEach((function(t){i[t.name]=function(t){var n=t.name,a=t.triggerUpdate,o=void 0!==a&&a,c=t.onChange,u=void 0===c?function(t,e){}:c,s=t.defaultVal,l=void 0===s?null:s;return function(t){var a=e[n];if(!arguments.length)return a;var c=void 0===t?l:t;return e[n]=c,u.call(i,c,e,a),!r.hasOwnProperty(n)&&(r[n]=a),o&&f(),i}}(t)})),Object.keys(o).forEach((function(t){i[t]=function(){for(var n,r=arguments.length,a=new Array(r),f=0;f1&&(n-=1),n<1/6?t+6*(e-t)*n:n<.5?e:n<2/3?t+(e-t)*(2/3-n)*6:t}if(t=N(t,360),e=N(e,100),n=N(n,100),0===e)r=i=a=n;else{var f=n<.5?n*(1+e):n+e-n*e,c=2*n-f;r=o(c,f,t+1/3),i=o(c,f,t),a=o(c,f,t-1/3)}return{r:255*r,g:255*i,b:255*a}}(t.h,c,s),l=!0,h="hsl"),t.hasOwnProperty("a")&&(a=t.a));var d,p,g;return a=T(a),{ok:l,format:t.format||h,r:o(255,f(i.r,0)),g:o(255,f(i.g,0)),b:o(255,f(i.b,0)),a:a}}(t);this._originalInput=t,this._r=s.r,this._g=s.g,this._b=s.b,this._a=s.a,this._roundA=a(100*this._a)/100,this._format=c.format||s.format,this._gradientType=c.gradientType,this._r<1&&(this._r=a(this._r)),this._g<1&&(this._g=a(this._g)),this._b<1&&(this._b=a(this._b)),this._ok=s.ok,this._tc_id=i++}function s(t,e,n){t=N(t,255),e=N(e,255),n=N(n,255);var r,i,a=f(t,e,n),c=o(t,e,n),u=(a+c)/2;if(a==c)r=i=0;else{var s=a-c;switch(i=u>.5?s/(2-a-c):s/(a+c),a){case t:r=(e-n)/s+(e>1)+720)%360;--e;)r.h=(r.h+i)%360,a.push(u(r));return a}function C(t,e){e=e||6;for(var n=u(t).toHsv(),r=n.h,i=n.s,a=n.v,o=[],f=1/e;e--;)o.push(u({h:r,s:i,v:a})),a=(a+f)%1;return o}u.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,n,r,i=this.toRgb();return t=i.r/255,n=i.g/255,r=i.b/255,.2126*(t<=.03928?t/12.92:e.pow((t+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:e.pow((n+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:e.pow((r+.055)/1.055,2.4))},setAlpha:function(t){return this._a=T(t),this._roundA=a(100*this._a)/100,this},toHsv:function(){var t=l(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=l(this._r,this._g,this._b),e=a(360*t.h),n=a(100*t.s),r=a(100*t.v);return 1==this._a?"hsv("+e+", "+n+"%, "+r+"%)":"hsva("+e+", "+n+"%, "+r+"%, "+this._roundA+")"},toHsl:function(){var t=s(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=s(this._r,this._g,this._b),e=a(360*t.h),n=a(100*t.s),r=a(100*t.l);return 1==this._a?"hsl("+e+", "+n+"%, "+r+"%)":"hsla("+e+", "+n+"%, "+r+"%, "+this._roundA+")"},toHex:function(t){return h(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,n,r,i){var o=[O(a(t).toString(16)),O(a(e).toString(16)),O(a(n).toString(16)),O(U(r))];if(i&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:a(this._r),g:a(this._g),b:a(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+a(this._r)+", "+a(this._g)+", "+a(this._b)+")":"rgba("+a(this._r)+", "+a(this._g)+", "+a(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:a(100*N(this._r,255))+"%",g:a(100*N(this._g,255))+"%",b:a(100*N(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+a(100*N(this._r,255))+"%, "+a(100*N(this._g,255))+"%, "+a(100*N(this._b,255))+"%)":"rgba("+a(100*N(this._r,255))+"%, "+a(100*N(this._g,255))+"%, "+a(100*N(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(S[h(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+d(this._r,this._g,this._b,this._a),n=e,r=this._gradientType?"GradientType = 1, ":"";if(t){var i=u(t);n="#"+d(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+r+"startColorstr="+e+",endColorstr="+n+")"},toString:function(t){var e=!!t;t=t||this._format;var n=!1,r=this._a<1&&this._a>=0;return e||!r||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(n=this.toRgbString()),"prgb"===t&&(n=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(n=this.toHexString()),"hex3"===t&&(n=this.toHexString(!0)),"hex4"===t&&(n=this.toHex8String(!0)),"hex8"===t&&(n=this.toHex8String()),"name"===t&&(n=this.toName()),"hsl"===t&&(n=this.toHslString()),"hsv"===t&&(n=this.toHsvString()),n||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return u(this.toString())},_applyModification:function(t,e){var n=t.apply(null,[this].concat([].slice.call(e)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(y,arguments)},brighten:function(){return this._applyModification(v,arguments)},darken:function(){return this._applyModification(m,arguments)},desaturate:function(){return this._applyModification(p,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(b,arguments)},spin:function(){return this._applyModification(_,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(x,arguments)},monochromatic:function(){return this._applyCombination(C,arguments)},splitcomplement:function(){return this._applyCombination(M,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},u.fromRatio=function(t,e){if("object"==typeof t){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]="a"===r?t[r]:D(t[r]));t=n}return u(t,e)},u.equals=function(t,e){return!(!t||!e)&&u(t).toRgbString()==u(e).toRgbString()},u.random=function(){return u.fromRatio({r:c(),g:c(),b:c()})},u.mix=function(t,e,n){n=0===n?0:n||50;var r=u(t).toRgb(),i=u(e).toRgb(),a=n/100;return u({r:(i.r-r.r)*a+r.r,g:(i.g-r.g)*a+r.g,b:(i.b-r.b)*a+r.b,a:(i.a-r.a)*a+r.a})}, // =4.5;break;case"AAlarge":i=o>=3;break;case"AAAsmall":i=o>=7}return i},l.mostReadable=function(t,n,e){var r,i,o,a,s=null,u=0;i=(e=e||{}).includeFallbackColors,o=e.level,a=e.size;for(var c=0;cu&&(u=r,s=l(n[c]));return l.isReadable(t,s,{level:o,size:a})||!i?s:(e.includeFallbackColors=!1,l.mostReadable(t,["#fff","#000"],e))};var S=l.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},C=l.hexNames=function(t){var n={};for(var e in t)t.hasOwnProperty(e)&&(n[t[e]]=e);return n}(S);function E(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function N(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var r=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=a(e,s(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),n.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function P(t){return a(1,s(0,t))}function O(t){return parseInt(t,16)}function T(t){return 1==t.length?"0"+t:""+t}function j(t){return t<=1&&(t=100*t+"%"),t}function R(t){return n.round(255*parseFloat(t)).toString(16)}function D(t){return O(t)/255}var I,U,F,L=(U="[\\s|\\(]+("+(I="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+I+")[,|\\s]+("+I+")\\s*\\)?",F="[\\s|\\(]+("+I+")[,|\\s]+("+I+")[,|\\s]+("+I+")[,|\\s]+("+I+")\\s*\\)?",{CSS_UNIT:new RegExp(I),rgb:new RegExp("rgb"+U),rgba:new RegExp("rgba"+F),hsl:new RegExp("hsl"+U),hsla:new RegExp("hsla"+F),hsv:new RegExp("hsv"+U),hsva:new RegExp("hsva"+F),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function q(t){return!!L.CSS_UNIT.exec(t)}t.exports?t.exports=l:window.tinycolor=l}(Math)}(Wr);var Zr=Wr.exports;function Qr(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function Kr(t,n){for(var e=0;et.length)&&(n=t.length);for(var e=0,r=new Array(n);e0&&void 0!==arguments[0]?arguments[0]:6;Qr(this,t),this.csBits=n,this.registry=["__reserved for background__"]}var n,e,r;return n=t,e=[{key:"register",value:function(t){if(this.registry.length>=Math.pow(2,24-this.csBits))return null;var n,e=this.registry.length,r=ei(e,this.csBits),i=(n=e+(r<<24-this.csBits),"#".concat(Math.min(n,Math.pow(2,24)).toString(16).padStart(6,"0")));return this.registry.push(t),i}},{key:"lookup",value:function(t){var n,e,r,i,o="string"==typeof t?(n=Zr(t).toRgb(),e=n.r,r=n.g,i=n.b,ni(e,r,i)):ni.apply(void 0,Jr(t));if(!o)return null;var a=o&Math.pow(2,24-this.csBits)-1,s=o>>24-this.csBits&Math.pow(2,this.csBits)-1;return ei(a,this.csBits)!==s||a>=this.registry.length?null:this.registry[a]}}],e&&Kr(n.prototype,e),r&&Kr(n,r),t}();function ii(t,n,e){var r,i=1;function o(){var o,a,s=r.length,u=0,l=0,c=0;for(o=0;o=(i=(h+f)/2))?h=i:f=i,r=l,!(l=l[s=+a]))return r[s]=c,t;if(n===(o=+t._x.call(null,l.data)))return c.next=l,r?r[s]=c:t._root=c,t;do{r=r?r[s]=new Array(2):t._root=new Array(2),(a=n>=(i=(h+f)/2))?h=i:f=i}while((s=+a)==(u=+(o>=i)));return r[u]=l,r[s]=c,t}function ai(t,n,e){this.node=t,this.x0=n,this.x1=e}function si(t){return t[0]}function ui(t,n){var e=new li(null==n?si:n,NaN,NaN);return null==t?e:e.addAll(t)}function li(t,n,e){this._x=t,this._x0=n,this._x1=e,this._root=void 0}function ci(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}var hi=ui.prototype=li.prototype;function fi(t,n,e,r){if(isNaN(n)||isNaN(e))return t;var i,o,a,s,u,l,c,h,f,d=t._root,p={data:r},g=t._x0,y=t._y0,v=t._x1,_=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((l=n>=(o=(g+v)/2))?g=o:v=o,(c=e>=(a=(y+_)/2))?y=a:_=a,i=d,!(d=d[h=c<<1|l]))return i[h]=p,t;if(s=+t._x.call(null,d.data),u=+t._y.call(null,d.data),n===s&&e===u)return p.next=d,i?i[h]=p:t._root=p,t;do{i=i?i[h]=new Array(4):t._root=new Array(4),(l=n>=(o=(g+v)/2))?g=o:v=o,(c=e>=(a=(y+_)/2))?y=a:_=a}while((h=c<<1|l)==(f=(u>=a)<<1|s>=o));return i[f]=d,i[h]=p,t}function di(t,n,e,r,i){this.node=t,this.x0=n,this.y0=e,this.x1=r,this.y1=i}function pi(t){return t[0]}function gi(t){return t[1]}function yi(t,n,e){var r=new vi(null==n?pi:n,null==e?gi:e,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function vi(t,n,e,r,i,o){this._x=t,this._y=n,this._x0=e,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function _i(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}hi.copy=function(){var t,n,e=new li(this._x,this._x0,this._x1),r=this._root;if(!r)return e;if(!r.length)return e._root=ci(r),e;for(t=[{source:r,target:e._root=new Array(2)}];r=t.pop();)for(var i=0;i<2;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(2)}):r.target[i]=ci(n));return e},hi.add=function(t){var n=+this._x.call(null,t);return oi(this.cover(n),n,t)},hi.addAll=function(t){var n,e,r=t.length,i=new Array(r),o=1/0,a=-1/0;for(n=0;na&&(a=e));if(o>a)return this;for(this.cover(o).cover(a),n=0;nt||t>=e;)switch(i=+(tu||(i=o.x1)=h))&&(o=l[l.length-1],l[l.length-1]=l[l.length-1-a],l[l.length-1-a]=o)}else{var f=Math.abs(t-+this._x.call(null,c.data));f=(a=(h+f)/2))?h=a:f=a,n=c,!(c=c[u=+s]))return this;if(!c.length)break;n[u+1&1]&&(e=n,l=u)}for(;c.data!==t;)if(r=c,!(c=c.next))return this;return(i=c.next)&&delete c.next,r?(i?r.next=i:delete r.next,this):n?(i?n[u]=i:delete n[u],(c=n[0]||n[1])&&c===(n[1]||n[0])&&!c.length&&(e?e[l]=c:this._root=c),this):(this._root=i,this)},hi.removeAll=function(t){for(var n=0,e=t.length;n=(a=(m+w)/2))?m=a:w=a,(d=e>=(s=(x+k)/2))?x=s:k=s,(p=r>=(u=(b+z)/2))?b=u:z=u,o=v,!(v=v[g=p<<2|d<<1|f]))return o[g]=_,t;if(l=+t._x.call(null,v.data),c=+t._y.call(null,v.data),h=+t._z.call(null,v.data),n===l&&e===c&&r===h)return _.next=v,o?o[g]=_:t._root=_,t;do{o=o?o[g]=new Array(8):t._root=new Array(8),(f=n>=(a=(m+w)/2))?m=a:w=a,(d=e>=(s=(x+k)/2))?x=s:k=s,(p=r>=(u=(b+z)/2))?b=u:z=u}while((g=p<<2|d<<1|f)==(y=(h>=u)<<2|(c>=s)<<1|l>=a));return o[y]=v,o[g]=_,t}function bi(t,n,e,r,i,o,a){this.node=t,this.x0=n,this.y0=e,this.z0=r,this.x1=i,this.y1=o,this.z1=a}function wi(t){return t[0]}function ki(t){return t[1]}function zi(t){return t[2]}function Ai(t,n,e,r){var i=new Mi(null==n?wi:n,null==e?ki:e,null==r?zi:r,NaN,NaN,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function Mi(t,n,e,r,i,o,a,s,u){this._x=t,this._y=n,this._z=e,this._x0=r,this._y0=i,this._z0=o,this._x1=a,this._y1=s,this._z1=u,this._root=void 0}function Si(t){for(var n={data:t.data},e=n;t=t.next;)e=e.next={data:t.data};return n}mi.copy=function(){var t,n,e=new vi(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return e;if(!r.length)return e._root=_i(r),e;for(t=[{source:r,target:e._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(4)}):r.target[i]=_i(n));return e},mi.add=function(t){const n=+this._x.call(null,t),e=+this._y.call(null,t);return fi(this.cover(n,e),n,e,t)},mi.addAll=function(t){var n,e,r,i,o=t.length,a=new Array(o),s=new Array(o),u=1/0,l=1/0,c=-1/0,h=-1/0;for(e=0;ec&&(c=r),ih&&(h=i));if(u>c||l>h)return this;for(this.cover(u,l).cover(c,h),e=0;et||t>=i||r>n||n>=o;)switch(s=(nf||(o=u.y0)>d||(a=u.x1)=v)<<1|t>=y)&&(u=p[p.length-1],p[p.length-1]=p[p.length-1-l],p[p.length-1-l]=u)}else{var _=t-+this._x.call(null,g.data),m=n-+this._y.call(null,g.data),x=_*_+m*m;if(x=(s=(p+y)/2))?p=s:y=s,(c=a>=(u=(g+v)/2))?g=u:v=u,n=d,!(d=d[h=c<<1|l]))return this;if(!d.length)break;(n[h+1&3]||n[h+2&3]||n[h+3&3])&&(e=n,f=h)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):n?(i?n[h]=i:delete n[h],(d=n[0]||n[1]||n[2]||n[3])&&d===(n[3]||n[2]||n[1]||n[0])&&!d.length&&(e?e[f]=d:this._root=d),this):(this._root=i,this)},mi.removeAll=function(t){for(var n=0,e=t.length;n1&&(v=f.y+f.vy-c.y-c.vy||Ni(s)),i>2&&(_=f.z+f.vz-c.z-c.vz||Ni(s)),y*=d=((d=Math.sqrt(y*y+v*v+_*_))-e[g])/d*r*n[g],v*=d,_*=d,f.vx-=y*(p=a[g]),i>1&&(f.vy-=v*p),i>2&&(f.vz-=_*p),c.vx+=y*(p=1-p),i>1&&(c.vy+=v*p),i>2&&(c.vz+=_*p)}function d(){if(r){var i,s,l=r.length,c=t.length,h=new Map(r.map(((t,n)=>[u(t,n,r),t])));for(i=0,o=new Array(l);i"function"==typeof t))||Math.random,i=n.find((t=>[1,2,3].includes(t)))||2,d()},f.links=function(n){return arguments.length?(t=n,d(),f):t},f.id=function(t){return arguments.length?(u=t,f):u},f.iterations=function(t){return arguments.length?(h=+t,f):h},f.strength=function(t){return arguments.length?(l="function"==typeof t?t:Ei(+t),p(),f):l},f.distance=function(t){return arguments.length?(c="function"==typeof t?t:Ei(+t),g(),f):c},f}Ci.copy=function(){var t,n,e=new Mi(this._x,this._y,this._z,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1),r=this._root;if(!r)return e;if(!r.length)return e._root=Si(r),e;for(t=[{source:r,target:e._root=new Array(8)}];r=t.pop();)for(var i=0;i<8;++i)(n=r.source[i])&&(n.length?t.push({source:n,target:r.target[i]=new Array(8)}):r.target[i]=Si(n));return e},Ci.add=function(t){var n=+this._x.call(null,t),e=+this._y.call(null,t),r=+this._z.call(null,t);return xi(this.cover(n,e,r),n,e,r,t)},Ci.addAll=function(t){var n,e,r,i,o,a=t.length,s=new Array(a),u=new Array(a),l=new Array(a),c=1/0,h=1/0,f=1/0,d=-1/0,p=-1/0,g=-1/0;for(e=0;ed&&(d=r),ip&&(p=i),og&&(g=o));if(c>d||h>p||f>g)return this;for(this.cover(c,h,f).cover(d,p,g),e=0;et||t>=a||i>n||n>=s||o>e||e>=u;)switch(c=(ey||(a=h.y0)>v||(s=h.z0)>_||(u=h.x1)=k)<<2|(n>=w)<<1|t>=b)&&(h=m[m.length-1],m[m.length-1]=m[m.length-1-f],m[m.length-1-f]=h)}else{var z=t-+this._x.call(null,x.data),A=n-+this._y.call(null,x.data),M=e-+this._z.call(null,x.data),S=z*z+A*A+M*M;if(S=(u=(v+x)/2))?v=u:x=u,(f=a>=(l=(_+b)/2))?_=l:b=l,(d=s>=(c=(m+w)/2))?m=c:w=c,n=y,!(y=y[p=d<<2|f<<1|h]))return this;if(!y.length)break;(n[p+1&7]||n[p+2&7]||n[p+3&7]||n[p+4&7]||n[p+5&7]||n[p+6&7]||n[p+7&7])&&(e=n,g=p)}for(;y.data!==t;)if(r=y,!(y=y.next))return this;return(i=y.next)&&delete y.next,r?(i?r.next=i:delete r.next,this):n?(i?n[p]=i:delete n[p],(y=n[0]||n[1]||n[2]||n[3]||n[4]||n[5]||n[6]||n[7])&&y===(n[7]||n[6]||n[5]||n[4]||n[3]||n[2]||n[1]||n[0])&&!y.length&&(e?e[g]=y:this._root=y),this):(this._root=i,this)},Ci.removeAll=function(t){for(var n=0,e=t.length;n(t=(1664525*t+1013904223)%ji)/ji}();function d(){p(),h.call("tick",e),i1&&(null==c.fy?c.y+=c.vy*=u:(c.y=c.fy,c.vy=0)),r>2&&(null==c.fz?c.z+=c.vz*=u:(c.z=c.fz,c.vz=0));return e}function g(){for(var n,e=0,i=t.length;e1&&isNaN(n.y)||r>2&&isNaN(n.z)){var o=10*(r>2?Math.cbrt(.5+e):r>1?Math.sqrt(.5+e):e),a=e*Ui,s=e*Fi;1===r?n.x=o:2===r?(n.x=o*Math.cos(a),n.y=o*Math.sin(a)):(n.x=o*Math.sin(a)*Math.cos(s),n.y=o*Math.cos(a),n.z=o*Math.sin(a)*Math.sin(s))}(isNaN(n.vx)||r>1&&isNaN(n.vy)||r>2&&isNaN(n.vz))&&(n.vx=0,r>1&&(n.vy=0),r>2&&(n.vz=0))}}function y(n){return n.initialize&&n.initialize(t,f,r),n}return null==t&&(t=[]),g(),e={tick:p,restart:function(){return c.restart(d),e},stop:function(){return c.stop(),e},numDimensions:function(t){return arguments.length?(r=Math.min(3,Math.max(1,Math.round(t))),l.forEach(y),e):r},nodes:function(n){return arguments.length?(t=n,g(),l.forEach(y),e):t},alpha:function(t){return arguments.length?(i=+t,e):i},alphaMin:function(t){return arguments.length?(o=+t,e):o},alphaDecay:function(t){return arguments.length?(a=+t,e):+a},alphaTarget:function(t){return arguments.length?(s=+t,e):s},velocityDecay:function(t){return arguments.length?(u=1-t,e):1-u},randomSource:function(t){return arguments.length?(f=t,l.forEach(y),e):f},force:function(t,n){return arguments.length>1?(null==n?l.delete(t):l.set(t,y(n)),e):l.get(t)},find:function(){var n,e,i,o,a,s,u=Array.prototype.slice.call(arguments),l=u.shift()||0,c=(r>1?u.shift():null)||0,h=(r>2?u.shift():null)||0,f=u.shift()||1/0,d=0,p=t.length;for(f*=f,d=0;d1?(h.on(t,n),e):h.on(t)}}}function qi(){var t,n,e,r,i,o,a=Ei(-30),s=1,u=1/0,l=.81;function c(r){var o,a=t.length,s=(1===n?ui(t,Ri):2===n?yi(t,Ri,Di):3===n?Ai(t,Ri,Di,Ii):null).visitAfter(f);for(i=r,o=0;o1&&(t.y=a/c),n>2&&(t.z=s/c)}else{(e=t).x=e.data.x,n>1&&(e.y=e.data.y),n>2&&(e.z=e.data.z);do{l+=o[e.data.index]}while(e=e.next)}t.value=l}function d(t,a,c,h,f){if(!t.value)return!0;var d=[c,h,f][n-1],p=t.x-e.x,g=n>1?t.y-e.y:0,y=n>2?t.z-e.z:0,v=d-a,_=p*p+g*g+y*y;if(v*v/l<_)return _1&&0===g&&(_+=(g=Ni(r))*g),n>2&&0===y&&(_+=(y=Ni(r))*y),_1&&(e.vy+=g*t.value*i/_),n>2&&(e.vz+=y*t.value*i/_)),!0;if(!(t.length||_>=u)){(t.data!==e||t.next)&&(0===p&&(_+=(p=Ni(r))*p),n>1&&0===g&&(_+=(g=Ni(r))*g),n>2&&0===y&&(_+=(y=Ni(r))*y),_1&&(e.vy+=g*v),n>2&&(e.vz+=y*v))}while(t=t.next)}}return c.initialize=function(e,...i){t=e,r=i.find((t=>"function"==typeof t))||Math.random,n=i.find((t=>[1,2,3].includes(t)))||2,h()},c.strength=function(t){return arguments.length?(a="function"==typeof t?t:Ei(+t),h(),c):a},c.distanceMin=function(t){return arguments.length?(s=t*t,c):Math.sqrt(s)},c.distanceMax=function(t){return arguments.length?(u=t*t,c):Math.sqrt(u)},c.theta=function(t){return arguments.length?(l=t*t,c):Math.sqrt(l)},c}const{abs:Bi,cos:Hi,sin:Vi,acos:Gi,atan2:Xi,sqrt:Yi,pow:$i}=Math;function Wi(t){return t<0?-$i(-t,1/3):$i(t,1/3)}const Zi=Math.PI,Qi=2*Zi,Ki=Zi/2,Ji=Number.MAX_SAFE_INTEGER||9007199254740991,to=Number.MIN_SAFE_INTEGER||-9007199254740991,no={x:0,y:0,z:0},eo={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(t,n){const e=n(t);let r=e.x*e.x+e.y*e.y;return void 0!==e.z&&(r+=e.z*e.z),Yi(r)},compute:function(t,n,e){if(0===t)return n[0].t=0,n[0];const r=n.length-1;if(1===t)return n[r].t=1,n[r];const i=1-t;let o=n;if(0===r)return n[0].t=t,n[0];if(1===r){const n={x:i*o[0].x+t*o[1].x,y:i*o[0].y+t*o[1].y,t:t};return e&&(n.z=i*o[0].z+t*o[1].z),n}if(r<4){let n,a,s,u=i*i,l=t*t,c=0;2===r?(o=[o[0],o[1],o[2],no],n=u,a=i*t*2,s=l):3===r&&(n=u*i,a=u*t*3,s=i*l*3,c=t*l);const h={x:n*o[0].x+a*o[1].x+s*o[2].x+c*o[3].x,y:n*o[0].y+a*o[1].y+s*o[2].y+c*o[3].y,t:t};return e&&(h.z=n*o[0].z+a*o[1].z+s*o[2].z+c*o[3].z),h}const a=JSON.parse(JSON.stringify(n));for(;a.length>1;){for(let n=0;n1;i--,o--){const t=[];for(let e,i=0;io.x.min&&(n=o.x.min),e>o.y.min&&(e=o.y.min),r0&&(a.c1=n,a.c2=r,a.s1=t,a.s2=e,o.push(a))}))})),o},makeshape:function(t,n,e){const r=n.points.length,i=t.points.length,o=eo.makeline(n.points[r-1],t.points[0]),a=eo.makeline(t.points[i-1],n.points[0]),s={startcap:o,forward:t,back:n,endcap:a,bbox:eo.findbbox([o,t,n,a]),intersections:function(t){return eo.shapeintersections(s,s.bbox,t,t.bbox,e)}};return s},getminmax:function(t,n,e){if(!e)return{min:0,max:0};let r,i,o=Ji,a=to;-1===e.indexOf(0)&&(e=[0].concat(e)),-1===e.indexOf(1)&&e.push(1);for(let s=0,u=e.length;sa&&(a=i[n]);return{min:o,mid:(o+a)/2,max:a,size:a-o}},align:function(t,n){const e=n.p1.x,r=n.p1.y,i=-Xi(n.p2.y-r,n.p2.x-e);return t.map((function(t){return{x:(t.x-e)*Hi(i)-(t.y-r)*Vi(i),y:(t.x-e)*Vi(i)+(t.y-r)*Hi(i)}}))},roots:function(t,n){n=n||{p1:{x:0,y:0},p2:{x:1,y:0}};const e=t.length-1,r=eo.align(t,n),i=function(t){return 0<=t&&t<=1};if(2===e){const t=r[0].y,n=r[1].y,e=r[2].y,o=t-2*n+e;if(0!==o){const r=-Yi(n*n-t*e),a=-t+n;return[-(r+a)/o,-(-r+a)/o].filter(i)}return n!==e&&0===o?[(2*n-e)/(2*n-2*e)].filter(i):[]}const o=r[0].y,a=r[1].y,s=r[2].y;let u=3*a-o-3*s+r[3].y,l=3*o-6*a+3*s,c=-3*o+3*a,h=o;if(eo.approximately(u,0)){if(eo.approximately(l,0))return eo.approximately(c,0)?[]:[-h/c].filter(i);const t=Yi(c*c-4*l*h),n=2*l;return[(t-c)/n,(-c-t)/n].filter(i)}l/=u,c/=u,h/=u;const f=(3*c-l*l)/3,d=f/3,p=(2*l*l*l-9*l*c+27*h)/27,g=p/2,y=g*g+d*d*d;let v,_,m,x,b;if(y<0){const t=-f/3,n=Yi(t*t*t),e=-p/(2*n),r=Gi(e<-1?-1:e>1?1:e),o=2*Wi(n);return m=o*Hi(r/3)-l/3,x=o*Hi((r+Qi)/3)-l/3,b=o*Hi((r+2*Qi)/3)-l/3,[m,x,b].filter(i)}if(0===y)return v=g<0?Wi(-g):-Wi(g),m=2*v-l/3,x=-v-l/3,[m,x].filter(i);{const t=Yi(y);return v=Wi(-g+t),_=Wi(g+t),[v-_-l/3].filter(i)}},droots:function(t){if(3===t.length){const n=t[0],e=t[1],r=t[2],i=n-2*e+r;if(0!==i){const t=-Yi(e*e-n*r),o=-n+e;return[-(t+o)/i,-(-t+o)/i]}return e!==r&&0===i?[(2*e-r)/(2*(e-r))]:[]}if(2===t.length){const n=t[0],e=t[1];return n!==e?[n/(n-e)]:[]}return[]},curvature:function(t,n,e,r,i){let o,a,s,u,l=0,c=0;const h=eo.compute(t,n),f=eo.compute(t,e),d=h.x*h.x+h.y*h.y;if(r?(o=Yi($i(h.y*f.z-f.y*h.z,2)+$i(h.z*f.x-f.z*h.x,2)+$i(h.x*f.y-f.x*h.y,2)),a=$i(d+h.z*h.z,1.5)):(o=h.x*f.y-h.y*f.x,a=$i(d,1.5)),0===o||0===a)return{k:0,r:0};if(l=o/a,c=a/o,!i){const i=eo.curvature(t-.001,n,e,r,!0).k,o=eo.curvature(t+.001,n,e,r,!0).k;u=(o-l+(l-i))/2,s=(Bi(o-l)+Bi(l-i))/2}return{k:l,r:c,dk:u,adk:s}},inflections:function(t){if(t.length<4)return[];const n=eo.align(t,{p1:t[0],p2:t.slice(-1)[0]}),e=n[2].x*n[1].y,r=n[3].x*n[1].y,i=n[1].x*n[2].y,o=18*(-3*e+2*r+3*i-n[3].x*n[2].y),a=18*(3*e-r-3*i),s=18*(i-e);if(eo.approximately(o,0)){if(!eo.approximately(a,0)){let t=-s/a;if(0<=t&&t<=1)return[t]}return[]}const u=a*a-4*o*s,l=Math.sqrt(u),c=2*o;return eo.approximately(c,0)?[]:[(l-a)/c,-(a+l)/c].filter((function(t){return 0<=t&&t<=1}))},bboxoverlap:function(t,n){const e=["x","y"],r=e.length;for(let i,o,a,s,u=0;u=s)return!1;return!0},expandbox:function(t,n){n.x.mint.x.max&&(t.x.max=n.x.max),n.y.max>t.y.max&&(t.y.max=n.y.max),n.z&&n.z.max>t.z.max&&(t.z.max=n.z.max),t.x.mid=(t.x.min+t.x.max)/2,t.y.mid=(t.y.min+t.y.max)/2,t.z&&(t.z.mid=(t.z.min+t.z.max)/2),t.x.size=t.x.max-t.x.min,t.y.size=t.y.max-t.y.min,t.z&&(t.z.size=t.z.max-t.z.min)},pairiteration:function(t,n,e){const r=t.bbox(),i=n.bbox(),o=1e5,a=e||.5;if(r.x.size+r.y.sizek||k>z)&&(w+=Qi),w>z&&(b=z,z=w,w=b)):z4){if(1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");r=!0}}else if(6!==i&&8!==i&&9!==i&&12!==i&&1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const o=this._3d=!r&&(9===i||12===i)||t&&t[0]&&void 0!==t[0].z,a=this.points=[];for(let t=0,e=o?3:2;tio(t.y)>1e-4)),this._lut=[],this._t1=0,this._t2=1,this.update()}static quadraticFromPoints(t,n,e,r){if(void 0===r&&(r=.5),0===r)return new fo(n,n,e);if(1===r)return new fo(t,n,n);const i=fo.getABC(2,t,n,e,r);return new fo(t,i.A,e)}static cubicFromPoints(t,n,e,r,i){void 0===r&&(r=.5);const o=fo.getABC(3,t,n,e,r);void 0===i&&(i=eo.dist(n,o.C));const a=i*(1-r)/r,s=eo.dist(t,e),u=(e.x-t.x)/s,l=(e.y-t.y)/s,c=i*u,h=i*l,f=a*u,d=a*l,p=n.x-c,g=n.y-h,y=n.x+f,v=n.y+d,_=o.A,m=_.x+(p-_.x)/(1-r),x=_.y+(g-_.y)/(1-r),b=_.x+(y-_.x)/r,w=_.y+(v-_.y)/r,k={x:t.x+(m-t.x)/r,y:t.y+(x-t.y)/r},z={x:e.x+(b-e.x)/(1-r),y:e.y+(w-e.y)/(1-r)};return new fo(t,k,z,e)}static getUtils(){return eo}getUtils(){return fo.getUtils()}static get PolyBezier(){return ro}valueOf(){return this.toString()}toString(){return eo.pointsToString(this.points)}toSVG(){if(this._3d)return!1;const t=this.points,n=["M",t[0].x,t[0].y,2===this.order?"Q":"C"];for(let e=1,r=t.length;e0}length(){return eo.length(this.derivative.bind(this))}static getABC(t=2,n,e,r,i=.5){const o=eo.projectionratio(i,t),a=1-o,s={x:o*n.x+a*r.x,y:o*n.y+a*r.y},u=eo.abcratio(i,t);return{A:{x:e.x+(e.x-s.x)/u,y:e.y+(e.y-s.y)/u},B:e,C:s,S:n,E:r}}getABC(t,n){n=n||this.get(t);let e=this.points[0],r=this.points[this.order];return fo.getABC(this.order,e,n,r,t)}getLUT(t){if(this.verify(),t=t||100,this._lut.length===t)return this._lut;this._lut=[],t--;for(let n,e,r=0;r1?1:f,u=this.compute(f),u.t=f,u.d=c,u}get(t){return this.compute(t)}point(t){return this.points[t]}compute(t){return this.ratios?eo.computeWithRatios(t,this.points,this.ratios,this._3d):eo.compute(t,this.points,this._3d,this.ratios)}raise(){const t=this.points,n=[t[0]],e=t.length;for(let r,i,o=1;o1;){e=[];for(let o,a=0,s=n.length-1;a=0&&t<=1})),n=n.concat(t[e].sort(eo.numberSort))}.bind(this)),t.values=n.sort(eo.numberSort).filter((function(t,e){return n.indexOf(t)===e})),t}bbox(){const t=this.extrema(),n={};return this.dims.forEach(function(e){n[e]=eo.getminmax(this,e,t[e])}.bind(this)),n}overlaps(t){const n=this.bbox(),e=t.bbox();return eo.bboxoverlap(n,e)}offset(t,n){if(void 0!==n){const e=this.get(t),r=this.normal(t),i={c:e,n:r,x:e.x+r.x*n,y:e.y+r.y*n};return this._3d&&(i.z=e.z+r.z*n),i}if(this._linear){const n=this.normal(0),e=this.points.map((function(e){const r={x:e.x+t*n.x,y:e.y+t*n.y};return e.z&&n.z&&(r.z=e.z+t*n.z),r}));return[new fo(e)]}return this.reduce().map((function(n){return n._linear?n.offset(t)[0]:n.scale(t)}))}simple(){if(3===this.order){const t=eo.angle(this.points[0],this.points[3],this.points[1]),n=eo.angle(this.points[0],this.points[3],this.points[2]);if(t>0&&n<0||t<0&&n>0)return!1}const t=this.normal(0),n=this.normal(1);let e=t.x*n.x+t.y*n.y;return this._3d&&(e+=t.z*n.z),io(lo(e)){if(2===n&&t)return;const e=u[t*n],r=this.derivative(t),i={x:e.x+r.x,y:e.y+r.y};u[t+1]=eo.lli4(e,i,l,s[t+1])})),new fo(u))}outline(t,n,e,r){n=void 0===n?t:n;const i=this.reduce(),o=i.length,a=[];let s,u=[],l=0,c=this.length();const h=void 0!==e&&void 0!==r;function f(t,n,e,r,i){return function(o){const a=r/e,s=(r+i)/e,u=n-t;return eo.map(o,0,1,t+a*u,t+s*u)}}i.forEach((function(i){const o=i.length();h?(a.push(i.scale(f(t,e,c,l,o))),u.push(i.scale(f(-n,-r,c,l,o)))):(a.push(i.scale(t)),u.push(i.scale(-n))),l+=o})),u=u.map((function(t){return s=t.points,s[3]?t.points=[s[3],s[2],s[1],s[0]]:t.points=[s[2],s[1],s[0]],t})).reverse();const d=a[0].points[0],p=a[o-1].points[a[o-1].points.length-1],g=u[o-1].points[u[o-1].points.length-1],y=u[0].points[0],v=eo.makeline(g,d),_=eo.makeline(p,y),m=[v].concat(a).concat([_]).concat(u);return m.length,new ro(m)}outlineshapes(t,n,e){n=n||t;const r=this.outline(t,n).curves,i=[];for(let t=1,n=r.length;t1,o.endcap.virtual=t{var o=this.get(t);return eo.between(o.x,n,r)&&eo.between(o.y,e,i)}))}selfintersects(t){const n=this.reduce(),e=n.length-2,r=[];for(let i,o,a,s=0;s0&&(i=i.concat(n))})),i}arcs(t){return t=t||.5,this._iterate(t,[])}_error(t,n,e,r){const i=(r-e)/4,o=this.get(e+i),a=this.get(r-i),s=eo.dist(t,n),u=eo.dist(t,o),l=eo.dist(t,a);return io(u-s)+io(l-s)}_iterate(t,n){let e,r=0,i=1;do{e=0,i=1;let o,a,s,u,l,c=this.get(r),h=!1,f=!1,d=i,p=1;do{if(f=h,u=s,d=(r+i)/2,o=this.get(d),a=this.get(i),s=eo.getccenter(c,o,a),s.interval={start:r,end:i},h=this._error(s,c,r,i)<=t,l=f&&!h,l||(p=i),h){if(i>=1){if(s.interval.end=p=1,u=s,i>1){let t={x:s.x+s.r*so(s.e),y:s.y+s.r*uo(s.e)};s.e+=eo.angle({x:s.x,y:s.y},t,this.get(1))}break}i+=(i-r)/2}else i=d}while(!l&&e++<100);if(e>=100)break;u=u||s,n.push(u),r=p}while(i<1);return n}}function po(t,n){if(null==t)return{};var e,r,i=function(t,n){if(null==t)return{};var e,r,i={},o=Object.keys(t);for(r=0;r=0||(i[e]=t[e]);return i}(t,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,e)&&(i[e]=t[e])}return i}function go(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null==e)return;var r,i,o=[],a=!0,s=!1;try{for(e=e.call(t);!(a=(r=e.next()).done)&&(o.push(r.value),!n||o.length!==n);a=!0);}catch(t){s=!0,i=t}finally{try{a||null==e.return||e.return()}finally{if(s)throw i}}return o}(t,n)||vo(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function yo(t){return function(t){if(Array.isArray(t))return _o(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||vo(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vo(t,n){if(t){if("string"==typeof t)return _o(t,n);var e=Object.prototype.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?_o(t,n):void 0}}function _o(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=new Array(n);et.cooldownTicks||new Date-t.startTickTime>t.cooldownTime||t.d3AlphaMin>0&&t.forceLayout.alpha()0){var a=Math.atan2(r.y-e.y,r.x-e.x),s=i*n,u={x:(e.x+r.x)/2+s*Math.cos(a-Math.PI/2),y:(e.y+r.y)/2+s*Math.sin(a-Math.PI/2)};t.__controlPoints=[u.x,u.y]}else{var l=70*n;t.__controlPoints=[r.x,r.y-l,r.x+l,r.y]}}));var f=[],d=[],p=h;if(t.linkCanvasObject){var g=[],y=[];h.forEach((function(t){return({before:f,after:d,replace:g}[a(t)]||y).push(t)})),p=[].concat(l(f),d,y),f=f.concat(g)}s.save(),f.forEach((function(n){return t.linkCanvasObject(n,s,t.globalScale)})),s.restore();var v=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],e=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=(n instanceof Array?n.length?n:[void 0]:[n]).map((function(t){return{keyAccessor:t,isProp:!(t instanceof Function)}})),o=t.reduce((function(t,n){var r=t,o=n;return i.forEach((function(t,n){var a,s=t.keyAccessor;if(t.isProp){var u=o,l=u[s],c=po(u,[s].map(mo));a=l,o=c}else a=s(o,n);n+11&&void 0!==arguments[1]?arguments[1]:1;r===i.length?Object.keys(n).forEach((function(t){return n[t]=e(n[t])})):Object.values(n).forEach((function(n){return t(n,r+1)}))}(o);var a=o;return r&&(a=[],function t(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];e.length===i.length?a.push({keys:e,vals:n}):Object.entries(n).forEach((function(n){var r=go(n,2),i=r[0],o=r[1];return t(o,[].concat(yo(e),[i]))}))}(o),n instanceof Array&&0===n.length&&1===a.length&&(a[0].keys=[])),a}(p,[e,r,i]);s.save(),Object.entries(v).forEach((function(n){var e=u(n,2),r=e[0],o=e[1],a=r&&"undefined"!==r?r:"rgba(0,0,0,0.15)";Object.entries(o).forEach((function(n){var e=u(n,2),r=e[0],o=e[1],h=(r||1)/t.globalScale+c;Object.entries(o).forEach((function(t){var n=u(t,2);n[0];var e=n[1],r=i(e[0]);s.beginPath(),e.forEach((function(t){var n=t.source,e=t.target;if(n&&e&&n.hasOwnProperty("x")&&e.hasOwnProperty("x")){s.moveTo(n.x,n.y);var r=t.__controlPoints;r?s[2===r.length?"quadraticCurveTo":"bezierCurveTo"].apply(s,l(r).concat([e.x,e.y])):s.lineTo(e.x,e.y)}})),s.strokeStyle=a,s.lineWidth=h,s.setLineDash(r||[]),s.stroke()}))}))})),s.restore(),s.save(),d.forEach((function(n){return t.linkCanvasObject(n,s,t.globalScale)})),s.restore()}(),!t.isShadow&&(n=$r(t.linkDirectionalArrowLength),e=$r(t.linkDirectionalArrowRelPos),r=$r(t.linkVisibility),i=$r(t.linkDirectionalArrowColor||t.linkColor),o=$r(t.nodeVal),(a=t.ctx).save(),t.graphData.links.filter(r).forEach((function(r){var u=n(r);if(u&&!(u<0)){var c=r.source,h=r.target;if(c&&h&&c.hasOwnProperty("x")&&h.hasOwnProperty("x")){var f=Math.sqrt(Math.max(0,o(c)||1))*t.nodeRelSize,d=Math.sqrt(Math.max(0,o(h)||1))*t.nodeRelSize,p=Math.min(1,Math.max(0,e(r))),g=i(r)||"rgba(0,0,0,0.28)",y=u/1.6/2,v=r.__controlPoints&&s(fo,[c.x,c.y].concat(l(r.__controlPoints),[h.x,h.y])),_=v?function(t){return v.get(t)}:function(t){return{x:c.x+(h.x-c.x)*t||0,y:c.y+(h.y-c.y)*t||0}},m=v?v.length():Math.sqrt(Math.pow(h.x-c.x,2)+Math.pow(h.y-c.y,2)),x=f+u+(m-f-d-u)*p,b=_(x/m),w=_((x-u)/m),k=_((x-.8*u)/m),z=Math.atan2(b.y-w.y,b.x-w.x)-Math.PI/2;a.beginPath(),a.moveTo(b.x,b.y),a.lineTo(w.x+y*Math.cos(z),w.y+y*Math.sin(z)),a.lineTo(k.x,k.y),a.lineTo(w.x-y*Math.cos(z),w.y-y*Math.sin(z)),a.fillStyle=g,a.fill()}}})),a.restore()),!t.isShadow&&function(){var n=$r(t.linkDirectionalParticles),e=$r(t.linkDirectionalParticleSpeed),r=$r(t.linkDirectionalParticleWidth),i=$r(t.linkVisibility),o=$r(t.linkDirectionalParticleColor||t.linkColor),a=t.ctx;a.save(),t.graphData.links.filter(i).forEach((function(i){var u=n(i);if(i.hasOwnProperty("__photons")&&i.__photons.length){var c=i.source,h=i.target;if(c&&h&&c.hasOwnProperty("x")&&h.hasOwnProperty("x")){var f=e(i),d=i.__photons||[],p=Math.max(0,r(i)/2)/Math.sqrt(t.globalScale),g=o(i)||"rgba(0,0,0,0.28)";a.fillStyle=g;var y=i.__controlPoints?s(fo,[c.x,c.y].concat(l(i.__controlPoints),[h.x,h.y])):null,v=0,_=!1;d.forEach((function(t){var n=!!t.__singleHop;if(t.hasOwnProperty("__progressRatio")||(t.__progressRatio=n?0:v/u),!n&&v++,t.__progressRatio+=f,t.__progressRatio>=1){if(n)return void(_=!0);t.__progressRatio=t.__progressRatio%1}var e=t.__progressRatio,r=y?y.get(e):{x:c.x+(h.x-c.x)*e||0,y:c.y+(h.y-c.y)*e||0};a.beginPath(),a.arc(r.x,r.y,p,0,2*Math.PI,!1),a.fill()})),_&&(i.__photons=i.__photons.filter((function(t){return!t.__singleHop||t.__progressRatio<=1})))}}})),a.restore()}(),function(){var n=$r(t.nodeVisibility),e=$r(t.nodeVal),r=$r(t.nodeColor),i=$r(t.nodeCanvasObjectMode),o=t.ctx,a=t.isShadow/t.globalScale,s=t.graphData.nodes.filter(n);o.save(),s.forEach((function(n){var s=i(n);if(!t.nodeCanvasObject||"before"!==s&&"replace"!==s||(t.nodeCanvasObject(n,o,t.globalScale),"replace"!==s)){var u=Math.sqrt(Math.max(0,e(n)||1))*t.nodeRelSize+a;o.beginPath(),o.arc(n.x,n.y,u,0,2*Math.PI,!1),o.fillStyle=r(n)||"rgba(31, 120, 180, 0.92)",o.fill(),t.nodeCanvasObject&&"after"===s&&t.nodeCanvasObject(n,t.ctx,t.globalScale)}else o.restore()})),o.restore()}(),this},emitParticle:function(t,n){return n&&(!n.__photons&&(n.__photons=[]),n.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:Li().force("link",Ti()).force("charge",qi()).force("center",ii()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(t,n){n.ctx=t},update:function(t){if(t.engineRunning=!1,t.onUpdate(),null!==t.nodeAutoColorBy&&zo(t.graphData.nodes,$r(t.nodeAutoColorBy),t.nodeColor),null!==t.linkAutoColorBy&&zo(t.graphData.links,$r(t.linkAutoColorBy),t.linkColor),t.graphData.links.forEach((function(n){n.source=n[t.linkSource],n.target=n[t.linkTarget]})),!t.isShadow){var n=$r(t.linkDirectionalParticles);t.graphData.links.forEach((function(t){var e=Math.round(Math.abs(n(t)));e?t.__photons=l(Array(e)).map((function(){return{}})):delete t.__photons}))}t.forceLayout.stop().alpha(1).nodes(t.graphData.nodes);var e=t.forceLayout.force("link");e&&e.id((function(n){return n[t.nodeId]})).links(t.graphData.links);var o=t.dagMode&&function(t,n){var e=t.nodes,o=t.links,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=a.nodeFilter,c=void 0===s?function(){return!0}:s,h=a.onLoopError,f=void 0===h?function(t){throw"Invalid DAG structure! Found cycle in node path: ".concat(t.join(" -> "),".")}:h,d={};e.forEach((function(t){return d[n(t)]={data:t,out:[],depth:-1,skip:!c(t)}})),o.forEach((function(t){var e=t.source,i=t.target,o=l(e),a=l(i);if(!d.hasOwnProperty(o))throw"Missing source node with id: ".concat(o);if(!d.hasOwnProperty(a))throw"Missing target node with id: ".concat(a);var s=d[o],u=d[a];function l(t){return"object"===r(t)?n(t):t}s.out.push(u)}));var p=[];return g(Object.values(d)),Object.assign.apply(Object,[{}].concat(l(Object.entries(d).filter((function(t){return!u(t,2)[1].skip})).map((function(t){var n=u(t,2);return i({},n[0],n[1].depth)})))));function g(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=0,o=t.length;ia.depth&&(a.depth=r,g(a.out,[].concat(l(e),[a]),r+(a.skip?0:1)))}}}(t.graphData,(function(n){return n[t.nodeId]}),{nodeFilter:t.dagNodeFilter,onLoopError:t.onDagError||void 0}),a=Math.max.apply(Math,l(Object.values(o||[]))),s=t.dagLevelDistance||t.graphData.nodes.length/(a||1)*2*(-1!==["radialin","radialout"].indexOf(t.dagMode)?.7:1);if(t.dagMode){var c=function(n,e){return function(r){return n?(o[r[t.nodeId]]-a/2)*s*(e?-1:1):void 0}},h=c(-1!==["lr","rl"].indexOf(t.dagMode),"rl"===t.dagMode),f=c(-1!==["td","bu"].indexOf(t.dagMode),"bu"===t.dagMode);t.graphData.nodes.filter(t.dagNodeFilter).forEach((function(t){t.fx=h(t),t.fy=f(t)}))}t.forceLayout.force("dagRadial",-1!==["radialin","radialout"].indexOf(t.dagMode)?function(t,n,e,r){var i,o,a,s,u=Ei(.1);function l(t){for(var u=0,l=i.length;u1&&(c.vy+=f*g),o>2&&(c.vz+=d*g)}}function c(){if(i){var n,e=i.length;for(a=new Array(e),s=new Array(e),n=0;n[1,2,3].includes(t)))||2,c()},l.strength=function(t){return arguments.length?(u="function"==typeof t?t:Ei(+t),c(),l):u},l.radius=function(n){return arguments.length?(t="function"==typeof n?n:Ei(+n),c(),l):t},l.x=function(t){return arguments.length?(n=+t,l):n},l.y=function(t){return arguments.length?(e=+t,l):e},l.z=function(t){return arguments.length?(r=+t,l):r},l}((function(n){var e=o[n[t.nodeId]]||-1;return("radialin"===t.dagMode?a-e:e)*s})).strength((function(n){return t.dagNodeFilter(n)?1:0})):null);for(var d=0;d0&&t.forceLayout.alpha()1?r-1:0),o=1;o1&&void 0!==arguments[1]?arguments[1]:0,e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,r=arguments.length,i=new Array(r>3?r-3:0),o=3;o1&&void 0!==arguments[1]?arguments[1]:function(){return!0},e=$r(t.nodeVal),r=function(n){return Math.sqrt(Math.max(0,e(n)||1))*t.nodeRelSize},i=t.graphData.nodes.filter(n).map((function(t){return{x:t.x,y:t.y,r:r(t)}}));return i.length?{x:[ur(i,(function(t){return t.x-t.r})),sr(i,(function(t){return t.x+t.r}))],y:[ur(i,(function(t){return t.y-t.r})),sr(i,(function(t){return t.y+t.r}))]}:null},pauseAnimation:function(t){return t.animationFrameRequestId&&(cancelAnimationFrame(t.animationFrameRequestId),t.animationFrameRequestId=null),this},resumeAnimation:function(t){return t.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},Po),stateInit:function(){return{lastSetZoom:1,zoom:rr(),forceGraph:new Mo,shadowGraph:(new Mo).cooldownTicks(0).nodeColor("__indexColor").linkColor("__indexColor").isShadow(!0),colorTracker:new ri}},init:function(t,n){var r=this;t.innerHTML="";var i=document.createElement("div");i.classList.add("force-graph-container"),i.style.position="relative",t.appendChild(i),n.canvas=document.createElement("canvas"),n.backgroundColor&&(n.canvas.style.background=n.backgroundColor),i.appendChild(n.canvas),n.shadowCanvas=document.createElement("canvas");var o=n.canvas.getContext("2d"),a=n.shadowCanvas.getContext("2d"),s={x:-1e12,y:-1e12},u=function(){var t=null,e=window.devicePixelRatio,r=s.x>0&&s.y>0?a.getImageData(s.x*e,s.y*e,1,1):null;return r&&(t=n.colorTracker.lookup(r.data)),t};Mt(n.canvas).call(function(){var t,n,e,r,i=Bt,o=Ht,a=Vt,s=Gt,u={},l=Et("start","drag","end"),c=0,h=0;function f(t){t.on("mousedown.drag",d).filter(s).on("touchstart.drag",y).on("touchmove.drag",v,jt).on("touchend.drag touchcancel.drag",_).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(a,s){if(!r&&i.call(this,a,s)){var u=m(this,o.call(this,a,s),a,s,"mouse");u&&(Mt(a.view).on("mousemove.drag",p,Rt).on("mouseup.drag",g,Rt),Ut(a.view),Dt(a),e=!1,t=a.clientX,n=a.clientY,u("start",a))}}function p(r){if(It(r),!e){var i=r.clientX-t,o=r.clientY-n;e=i*i+o*o>h}u.mouse("drag",r)}function g(t){Mt(t.view).on("mousemove.drag mouseup.drag",null),Ft(t.view,e),It(t),u.mouse("end",t)}function y(t,n){if(i.call(this,t,n)){var e,r,a=t.changedTouches,s=o.call(this,t,n),u=a.length;for(e=0;e0||n.isPointerPressed)&&("touch"!==e.pointerType||void 0===e.movementX||[e.movementX,e.movementY].some((function(t){return Math.abs(t)>1})))&&(n.isPointerDragging=!0);var r,o,a,u=(r=i.getBoundingClientRect(),o=window.pageXOffset||document.documentElement.scrollLeft,a=window.pageYOffset||document.documentElement.scrollTop,{top:r.top+a,left:r.left+o});s.x=e.pageX-u.left,s.y=e.pageY-u.top,l.style.top="".concat(s.y,"px"),l.style.left="".concat(s.x,"px")}),{passive:!0})})),i.addEventListener("pointerup",(function(t){if(n.isPointerPressed=!1,n.isPointerDragging)n.isPointerDragging=!1;else{var e=[t,n.pointerDownEvent];requestAnimationFrame((function(){if(0===t.button)if(n.hoverObj){var r=n["on".concat(n.hoverObj.type,"Click")];r&&r.apply(void 0,[n.hoverObj.d].concat(e))}else n.onBackgroundClick&&n.onBackgroundClick.apply(n,e);if(2===t.button)if(n.hoverObj){var i=n["on".concat(n.hoverObj.type,"RightClick")];i&&i.apply(void 0,[n.hoverObj.d].concat(e))}else n.onBackgroundRightClick&&n.onBackgroundRightClick.apply(n,e)}))}}),{passive:!0}),i.addEventListener("contextmenu",(function(t){return!(n.onBackgroundRightClick||n.onNodeRightClick||n.onLinkRightClick)||(t.preventDefault(),!1)})),n.forceGraph(o),n.shadowGraph(a);var c=Mr((function(){jo(a,n.width,n.height),n.shadowGraph.linkWidth((function(t){return $r(n.linkWidth)(t)+n.linkHoverPrecision}));var t=$e(n.canvas);n.shadowGraph.globalScale(t.k).tickFrame()}),800);n.flushShadowCanvas=c.flush,(this._animationCycle=function t(){var e=!n.autoPauseRedraw||!!n.needsRedraw||n.forceGraph.isEngineRunning()||n.graphData.links.some((function(t){return t.__photons&&t.__photons.length}));if(n.needsRedraw=!1,n.enablePointerInteraction){var r=n.isPointerDragging?null:u();if(r!==n.hoverObj){var i=n.hoverObj,a=i?i.type:null,s=r?r.type:null;if(a&&a!==s){var h=n["on".concat(a,"Hover")];h&&h(null,i.d)}if(s){var f=n["on".concat(s,"Hover")];f&&f(r.d,a===s?i.d:null)}var d=r&&$r(n["".concat(r.type.toLowerCase(),"Label")])(r.d)||"";l.style.visibility=d?"visible":"hidden",l.innerHTML=d,n.canvas.classList[r&&n["on".concat(s,"Click")]||!r&&n.onBackgroundClick?"add":"remove"]("clickable"),n.hoverObj=r}e&&c()}if(e){jo(o,n.width,n.height);var p=$e(n.canvas).k;n.onRenderFramePre&&n.onRenderFramePre(o,p),n.forceGraph.globalScale(p).tickFrame(),n.onRenderFramePost&&n.onRenderFramePost(o,p)}qr.update(),n.animationFrameRequestId=requestAnimationFrame(t)})()},update:function(t){}});return Ro})); +u.readability=function(t,n){var r=u(t),i=u(n);return(e.max(r.getLuminance(),i.getLuminance())+.05)/(e.min(r.getLuminance(),i.getLuminance())+.05)},u.isReadable=function(t,e,n){var r,i,a=u.readability(t,e);switch(i=!1,(r=function(t){var e,n;e=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),n=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==n&&"large"!==n&&(n="small");return{level:e,size:n}}(n)).level+r.size){case"AAsmall":case"AAAlarge":i=a>=4.5;break;case"AAlarge":i=a>=3;break;case"AAAsmall":i=a>=7}return i},u.mostReadable=function(t,e,n){var r,i,a,o,f=null,c=0;i=(n=n||{}).includeFallbackColors,a=n.level,o=n.size;for(var s=0;sc&&(c=r,f=u(e[s]));return u.isReadable(t,f,{level:a,size:o})||!i?f:(n.includeFallbackColors=!1,u.mostReadable(t,["#fff","#000"],n))};var z=u.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},S=u.hexNames=function(t){var e={};for(var n in t)t.hasOwnProperty(n)&&(e[t[n]]=n);return e}(z);function T(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function N(t,n){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var r=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=o(n,f(0,parseFloat(t))),r&&(t=parseInt(t*n,10)/100),e.abs(t-n)<1e-6?1:t%n/parseFloat(n)}function E(t){return o(1,f(0,t))}function P(t){return parseInt(t,16)}function O(t){return 1==t.length?"0"+t:""+t}function D(t){return t<=1&&(t=100*t+"%"),t}function U(t){return e.round(255*parseFloat(t)).toString(16)}function j(t){return P(t)/255}var R,F,I,L=(F="[\\s|\\(]+("+(R="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+R+")[,|\\s]+("+R+")\\s*\\)?",I="[\\s|\\(]+("+R+")[,|\\s]+("+R+")[,|\\s]+("+R+")[,|\\s]+("+R+")\\s*\\)?",{CSS_UNIT:new RegExp(R),rgb:new RegExp("rgb"+F),rgba:new RegExp("rgba"+I),hsl:new RegExp("hsl"+F),hsla:new RegExp("hsla"+I),hsv:new RegExp("hsv"+F),hsva:new RegExp("hsva"+I),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function H(t){return!!L.CSS_UNIT.exec(t)}t.exports?t.exports=u:window.tinycolor=u}(Math)}(qi);var Bi=qi.exports;function $i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function Yi(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&void 0!==arguments[0]?arguments[0]:6;$i(this,t),this.csBits=e,this.registry=["__reserved for background__"]}var e,n,r;return e=t,n=[{key:"register",value:function(t){if(this.registry.length>=Math.pow(2,24-this.csBits))return null;var e,n=this.registry.length,r=Zi(n,this.csBits),i=(e=n+(r<<24-this.csBits),"#".concat(Math.min(e,Math.pow(2,24)).toString(16).padStart(6,"0")));return this.registry.push(t),i}},{key:"lookup",value:function(t){var e,n,r,i,a="string"==typeof t?(e=Bi(t).toRgb(),n=e.r,r=e.g,i=e.b,Gi(n,r,i)):Gi.apply(void 0,Vi(t));if(!a)return null;var o=a&Math.pow(2,24-this.csBits)-1,f=a>>24-this.csBits&Math.pow(2,this.csBits)-1;return Zi(o,this.csBits)!==f||o>=this.registry.length?null:this.registry[o]}}],n&&Yi(e.prototype,n),r&&Yi(e,r),t}();function Qi(t,e,n){var r,i=1;function a(){var a,o,f=r.length,c=0,u=0,s=0;for(a=0;a=(i=(l+h)/2))?l=i:h=i,r=u,!(u=u[f=+o]))return r[f]=s,t;if(e===(a=+t._x.call(null,u.data)))return s.next=u,r?r[f]=s:t._root=s,t;do{r=r?r[f]=new Array(2):t._root=new Array(2),(o=e>=(i=(l+h)/2))?l=i:h=i}while((f=+o)==(c=+(a>=i)));return r[c]=u,r[f]=s,t}function Ki(t,e,n){this.node=t,this.x0=e,this.x1=n}function ta(t){return t[0]}function ea(t,e){var n=new na(null==e?ta:e,NaN,NaN);return null==t?n:n.addAll(t)}function na(t,e,n){this._x=t,this._x0=e,this._x1=n,this._root=void 0}function ra(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var ia=ea.prototype=na.prototype;function aa(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var i,a,o,f,c,u,s,l,h,d=t._root,p={data:r},g=t._x0,b=t._y0,y=t._x1,v=t._y1;if(!d)return t._root=p,t;for(;d.length;)if((u=e>=(a=(g+y)/2))?g=a:y=a,(s=n>=(o=(b+v)/2))?b=o:v=o,i=d,!(d=d[l=s<<1|u]))return i[l]=p,t;if(f=+t._x.call(null,d.data),c=+t._y.call(null,d.data),e===f&&n===c)return p.next=d,i?i[l]=p:t._root=p,t;do{i=i?i[l]=new Array(4):t._root=new Array(4),(u=e>=(a=(g+y)/2))?g=a:y=a,(s=n>=(o=(b+v)/2))?b=o:v=o}while((l=s<<1|u)==(h=(c>=o)<<1|f>=a));return i[h]=d,i[l]=p,t}function oa(t,e,n,r,i){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=i}function fa(t){return t[0]}function ca(t){return t[1]}function ua(t,e,n){var r=new sa(null==e?fa:e,null==n?ca:n,NaN,NaN,NaN,NaN);return null==t?r:r.addAll(t)}function sa(t,e,n,r,i,a){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=i,this._y1=a,this._root=void 0}function la(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}ia.copy=function(){var t,e,n=new na(this._x,this._x0,this._x1),r=this._root;if(!r)return n;if(!r.length)return n._root=ra(r),n;for(t=[{source:r,target:n._root=new Array(2)}];r=t.pop();)for(var i=0;i<2;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=new Array(2)}):r.target[i]=ra(e));return n},ia.add=function(t){var e=+this._x.call(null,t);return Ji(this.cover(e),e,t)},ia.addAll=function(t){var e,n,r=t.length,i=new Array(r),a=1/0,o=-1/0;for(e=0;eo&&(o=n));if(a>o)return this;for(this.cover(a).cover(o),e=0;et||t>=n;)switch(i=+(tc||(i=a.x1)=l))&&(a=u[u.length-1],u[u.length-1]=u[u.length-1-o],u[u.length-1-o]=a)}else{var h=Math.abs(t-+this._x.call(null,s.data));h=(o=(l+h)/2))?l=o:h=o,e=s,!(s=s[c=+f]))return this;if(!s.length)break;e[c+1&1]&&(n=e,u=c)}for(;s.data!==t;)if(r=s,!(s=s.next))return this;return(i=s.next)&&delete s.next,r?(i?r.next=i:delete r.next,this):e?(i?e[c]=i:delete e[c],(s=e[0]||e[1])&&s===(e[1]||e[0])&&!s.length&&(n?n[u]=s:this._root=s),this):(this._root=i,this)},ia.removeAll=function(t){for(var e=0,n=t.length;e=(o=(m+w)/2))?m=o:w=o,(d=n>=(f=(_+k)/2))?_=f:k=f,(p=r>=(c=(x+M)/2))?x=c:M=c,a=y,!(y=y[g=p<<2|d<<1|h]))return a[g]=v,t;if(u=+t._x.call(null,y.data),s=+t._y.call(null,y.data),l=+t._z.call(null,y.data),e===u&&n===s&&r===l)return v.next=y,a?a[g]=v:t._root=v,t;do{a=a?a[g]=new Array(8):t._root=new Array(8),(h=e>=(o=(m+w)/2))?m=o:w=o,(d=n>=(f=(_+k)/2))?_=f:k=f,(p=r>=(c=(x+M)/2))?x=c:M=c}while((g=p<<2|d<<1|h)==(b=(l>=c)<<2|(s>=f)<<1|u>=o));return a[b]=y,a[g]=v,t}function pa(t,e,n,r,i,a,o){this.node=t,this.x0=e,this.y0=n,this.z0=r,this.x1=i,this.y1=a,this.z1=o}function ga(t){return t[0]}function ba(t){return t[1]}function ya(t){return t[2]}function va(t,e,n,r){var i=new ma(null==e?ga:e,null==n?ba:n,null==r?ya:r,NaN,NaN,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function ma(t,e,n,r,i,a,o,f,c){this._x=t,this._y=e,this._z=n,this._x0=r,this._y0=i,this._z0=a,this._x1=o,this._y1=f,this._z1=c,this._root=void 0}function _a(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}ha.copy=function(){var t,e,n=new sa(this._x,this._y,this._x0,this._y0,this._x1,this._y1),r=this._root;if(!r)return n;if(!r.length)return n._root=la(r),n;for(t=[{source:r,target:n._root=new Array(4)}];r=t.pop();)for(var i=0;i<4;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=new Array(4)}):r.target[i]=la(e));return n},ha.add=function(t){const e=+this._x.call(null,t),n=+this._y.call(null,t);return aa(this.cover(e,n),e,n,t)},ha.addAll=function(t){var e,n,r,i,a=t.length,o=new Array(a),f=new Array(a),c=1/0,u=1/0,s=-1/0,l=-1/0;for(n=0;ns&&(s=r),il&&(l=i));if(c>s||u>l)return this;for(this.cover(c,u).cover(s,l),n=0;nt||t>=i||r>e||e>=a;)switch(f=(eh||(a=c.y0)>d||(o=c.x1)=y)<<1|t>=b)&&(c=p[p.length-1],p[p.length-1]=p[p.length-1-u],p[p.length-1-u]=c)}else{var v=t-+this._x.call(null,g.data),m=e-+this._y.call(null,g.data),_=v*v+m*m;if(_=(f=(p+b)/2))?p=f:b=f,(s=o>=(c=(g+y)/2))?g=c:y=c,e=d,!(d=d[l=s<<1|u]))return this;if(!d.length)break;(e[l+1&3]||e[l+2&3]||e[l+3&3])&&(n=e,h=l)}for(;d.data!==t;)if(r=d,!(d=d.next))return this;return(i=d.next)&&delete d.next,r?(i?r.next=i:delete r.next,this):e?(i?e[l]=i:delete e[l],(d=e[0]||e[1]||e[2]||e[3])&&d===(e[3]||e[2]||e[1]||e[0])&&!d.length&&(n?n[h]=d:this._root=d),this):(this._root=i,this)},ha.removeAll=function(t){for(var e=0,n=t.length;e1&&(y=h.y+h.vy-s.y-s.vy||ka(f)),i>2&&(v=h.z+h.vz-s.z-s.vz||ka(f)),b*=d=((d=Math.sqrt(b*b+y*y+v*v))-n[g])/d*r*e[g],y*=d,v*=d,h.vx-=b*(p=o[g]),i>1&&(h.vy-=y*p),i>2&&(h.vz-=v*p),s.vx+=b*(p=1-p),i>1&&(s.vy+=y*p),i>2&&(s.vz+=v*p)}function d(){if(r){var i,f,u=r.length,s=t.length,l=new Map(r.map(((t,e)=>[c(t,e,r),t])));for(i=0,a=new Array(u);i"function"==typeof t))||Math.random,i=e.find((t=>[1,2,3].includes(t)))||2,d()},h.links=function(e){return arguments.length?(t=e,d(),h):t},h.id=function(t){return arguments.length?(c=t,h):c},h.iterations=function(t){return arguments.length?(l=+t,h):l},h.strength=function(t){return arguments.length?(u="function"==typeof t?t:wa(+t),p(),h):u},h.distance=function(t){return arguments.length?(s="function"==typeof t?t:wa(+t),g(),h):s},h}xa.copy=function(){var t,e,n=new ma(this._x,this._y,this._z,this._x0,this._y0,this._z0,this._x1,this._y1,this._z1),r=this._root;if(!r)return n;if(!r.length)return n._root=_a(r),n;for(t=[{source:r,target:n._root=new Array(8)}];r=t.pop();)for(var i=0;i<8;++i)(e=r.source[i])&&(e.length?t.push({source:e,target:r.target[i]=new Array(8)}):r.target[i]=_a(e));return n},xa.add=function(t){var e=+this._x.call(null,t),n=+this._y.call(null,t),r=+this._z.call(null,t);return da(this.cover(e,n,r),e,n,r,t)},xa.addAll=function(t){var e,n,r,i,a,o=t.length,f=new Array(o),c=new Array(o),u=new Array(o),s=1/0,l=1/0,h=1/0,d=-1/0,p=-1/0,g=-1/0;for(n=0;nd&&(d=r),ip&&(p=i),ag&&(g=a));if(s>d||l>p||h>g)return this;for(this.cover(s,l,h).cover(d,p,g),n=0;nt||t>=o||i>e||e>=f||a>n||n>=c;)switch(s=(nb||(o=l.y0)>y||(f=l.z0)>v||(c=l.x1)=k)<<2|(e>=w)<<1|t>=x)&&(l=m[m.length-1],m[m.length-1]=m[m.length-1-h],m[m.length-1-h]=l)}else{var M=t-+this._x.call(null,_.data),A=e-+this._y.call(null,_.data),C=n-+this._z.call(null,_.data),z=M*M+A*A+C*C;if(z=(c=(y+_)/2))?y=c:_=c,(h=o>=(u=(v+x)/2))?v=u:x=u,(d=f>=(s=(m+w)/2))?m=s:w=s,e=b,!(b=b[p=d<<2|h<<1|l]))return this;if(!b.length)break;(e[p+1&7]||e[p+2&7]||e[p+3&7]||e[p+4&7]||e[p+5&7]||e[p+6&7]||e[p+7&7])&&(n=e,g=p)}for(;b.data!==t;)if(r=b,!(b=b.next))return this;return(i=b.next)&&delete b.next,r?(i?r.next=i:delete r.next,this):e?(i?e[p]=i:delete e[p],(b=e[0]||e[1]||e[2]||e[3]||e[4]||e[5]||e[6]||e[7])&&b===(e[7]||e[6]||e[5]||e[4]||e[3]||e[2]||e[1]||e[0])&&!b.length&&(n?n[g]=b:this._root=b),this):(this._root=i,this)},xa.removeAll=function(t){for(var e=0,n=t.length;e(t=(1664525*t+1013904223)%za)/za}();function d(){p(),l.call("tick",n),i1&&(null==s.fy?s.y+=s.vy*=c:(s.y=s.fy,s.vy=0)),r>2&&(null==s.fz?s.z+=s.vz*=c:(s.z=s.fz,s.vz=0));return n}function g(){for(var e,n=0,i=t.length;n1&&isNaN(e.y)||r>2&&isNaN(e.z)){var a=10*(r>2?Math.cbrt(.5+n):r>1?Math.sqrt(.5+n):n),o=n*Ea,f=n*Pa;1===r?e.x=a:2===r?(e.x=a*Math.cos(o),e.y=a*Math.sin(o)):(e.x=a*Math.sin(o)*Math.cos(f),e.y=a*Math.cos(o),e.z=a*Math.sin(o)*Math.sin(f))}(isNaN(e.vx)||r>1&&isNaN(e.vy)||r>2&&isNaN(e.vz))&&(e.vx=0,r>1&&(e.vy=0),r>2&&(e.vz=0))}}function b(e){return e.initialize&&e.initialize(t,h,r),e}return null==t&&(t=[]),g(),n={tick:p,restart:function(){return s.restart(d),n},stop:function(){return s.stop(),n},numDimensions:function(t){return arguments.length?(r=Math.min(3,Math.max(1,Math.round(t))),u.forEach(b),n):r},nodes:function(e){return arguments.length?(t=e,g(),u.forEach(b),n):t},alpha:function(t){return arguments.length?(i=+t,n):i},alphaMin:function(t){return arguments.length?(a=+t,n):a},alphaDecay:function(t){return arguments.length?(o=+t,n):+o},alphaTarget:function(t){return arguments.length?(f=+t,n):f},velocityDecay:function(t){return arguments.length?(c=1-t,n):1-c},randomSource:function(t){return arguments.length?(h=t,u.forEach(b),n):h},force:function(t,e){return arguments.length>1?(null==e?u.delete(t):u.set(t,b(e)),n):u.get(t)},find:function(){var e,n,i,a,o,f,c=Array.prototype.slice.call(arguments),u=c.shift()||0,s=(r>1?c.shift():null)||0,l=(r>2?c.shift():null)||0,h=c.shift()||1/0,d=0,p=t.length;for(h*=h,d=0;d1?(l.on(t,e),n):l.on(t)}}}function Da(){var t,e,n,r,i,a,o=wa(-30),f=1,c=1/0,u=.81;function s(r){var a,o=t.length,f=(1===e?ea(t,Sa):2===e?ua(t,Sa,Ta):3===e?va(t,Sa,Ta,Na):null).visitAfter(h);for(i=r,a=0;a1&&(t.y=o/s),e>2&&(t.z=f/s)}else{(n=t).x=n.data.x,e>1&&(n.y=n.data.y),e>2&&(n.z=n.data.z);do{u+=a[n.data.index]}while(n=n.next)}t.value=u}function d(t,o,s,l,h){if(!t.value)return!0;var d=[s,l,h][e-1],p=t.x-n.x,g=e>1?t.y-n.y:0,b=e>2?t.z-n.z:0,y=d-o,v=p*p+g*g+b*b;if(y*y/u1&&0===g&&(v+=(g=ka(r))*g),e>2&&0===b&&(v+=(b=ka(r))*b),v1&&(n.vy+=g*t.value*i/v),e>2&&(n.vz+=b*t.value*i/v)),!0;if(!(t.length||v>=c)){(t.data!==n||t.next)&&(0===p&&(v+=(p=ka(r))*p),e>1&&0===g&&(v+=(g=ka(r))*g),e>2&&0===b&&(v+=(b=ka(r))*b),v1&&(n.vy+=g*y),e>2&&(n.vz+=b*y))}while(t=t.next)}}return s.initialize=function(n,...i){t=n,r=i.find((t=>"function"==typeof t))||Math.random,e=i.find((t=>[1,2,3].includes(t)))||2,l()},s.strength=function(t){return arguments.length?(o="function"==typeof t?t:wa(+t),l(),s):o},s.distanceMin=function(t){return arguments.length?(f=t*t,s):Math.sqrt(f)},s.distanceMax=function(t){return arguments.length?(c=t*t,s):Math.sqrt(c)},s.theta=function(t){return arguments.length?(u=t*t,s):Math.sqrt(u)},s}const{abs:Ua,cos:ja,sin:Ra,acos:Fa,atan2:Ia,sqrt:La,pow:Ha}=Math;function qa(t){return t<0?-Ha(-t,1/3):Ha(t,1/3)}const Ba=Math.PI,$a=2*Ba,Ya=Ba/2,Va=Number.MAX_SAFE_INTEGER||9007199254740991,Xa=Number.MIN_SAFE_INTEGER||-9007199254740991,Ga={x:0,y:0,z:0},Za={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(t,e){const n=e(t);let r=n.x*n.x+n.y*n.y;return void 0!==n.z&&(r+=n.z*n.z),La(r)},compute:function(t,e,n){if(0===t)return e[0].t=0,e[0];const r=e.length-1;if(1===t)return e[r].t=1,e[r];const i=1-t;let a=e;if(0===r)return e[0].t=t,e[0];if(1===r){const e={x:i*a[0].x+t*a[1].x,y:i*a[0].y+t*a[1].y,t:t};return n&&(e.z=i*a[0].z+t*a[1].z),e}if(r<4){let e,o,f,c=i*i,u=t*t,s=0;2===r?(a=[a[0],a[1],a[2],Ga],e=c,o=i*t*2,f=u):3===r&&(e=c*i,o=c*t*3,f=i*u*3,s=t*u);const l={x:e*a[0].x+o*a[1].x+f*a[2].x+s*a[3].x,y:e*a[0].y+o*a[1].y+f*a[2].y+s*a[3].y,t:t};return n&&(l.z=e*a[0].z+o*a[1].z+f*a[2].z+s*a[3].z),l}const o=JSON.parse(JSON.stringify(e));for(;o.length>1;){for(let e=0;e1;i--,a--){const t=[];for(let n,i=0;ia.x.min&&(e=a.x.min),n>a.y.min&&(n=a.y.min),r0&&(o.c1=e,o.c2=r,o.s1=t,o.s2=n,a.push(o))}))})),a},makeshape:function(t,e,n){const r=e.points.length,i=t.points.length,a=Za.makeline(e.points[r-1],t.points[0]),o=Za.makeline(t.points[i-1],e.points[0]),f={startcap:a,forward:t,back:e,endcap:o,bbox:Za.findbbox([a,t,e,o]),intersections:function(t){return Za.shapeintersections(f,f.bbox,t,t.bbox,n)}};return f},getminmax:function(t,e,n){if(!n)return{min:0,max:0};let r,i,a=Va,o=Xa;-1===n.indexOf(0)&&(n=[0].concat(n)),-1===n.indexOf(1)&&n.push(1);for(let f=0,c=n.length;fo&&(o=i[e]);return{min:a,mid:(a+o)/2,max:o,size:o-a}},align:function(t,e){const n=e.p1.x,r=e.p1.y,i=-Ia(e.p2.y-r,e.p2.x-n);return t.map((function(t){return{x:(t.x-n)*ja(i)-(t.y-r)*Ra(i),y:(t.x-n)*Ra(i)+(t.y-r)*ja(i)}}))},roots:function(t,e){e=e||{p1:{x:0,y:0},p2:{x:1,y:0}};const n=t.length-1,r=Za.align(t,e),i=function(t){return 0<=t&&t<=1};if(2===n){const t=r[0].y,e=r[1].y,n=r[2].y,a=t-2*e+n;if(0!==a){const r=-La(e*e-t*n),o=-t+e;return[-(r+o)/a,-(-r+o)/a].filter(i)}return e!==n&&0===a?[(2*e-n)/(2*e-2*n)].filter(i):[]}const a=r[0].y,o=r[1].y,f=r[2].y;let c=3*o-a-3*f+r[3].y,u=3*a-6*o+3*f,s=-3*a+3*o,l=a;if(Za.approximately(c,0)){if(Za.approximately(u,0))return Za.approximately(s,0)?[]:[-l/s].filter(i);const t=La(s*s-4*u*l),e=2*u;return[(t-s)/e,(-s-t)/e].filter(i)}u/=c,s/=c,l/=c;const h=(3*s-u*u)/3,d=h/3,p=(2*u*u*u-9*u*s+27*l)/27,g=p/2,b=g*g+d*d*d;let y,v,m,_,x;if(b<0){const t=-h/3,e=La(t*t*t),n=-p/(2*e),r=Fa(n<-1?-1:n>1?1:n),a=2*qa(e);return m=a*ja(r/3)-u/3,_=a*ja((r+$a)/3)-u/3,x=a*ja((r+2*$a)/3)-u/3,[m,_,x].filter(i)}if(0===b)return y=g<0?qa(-g):-qa(g),m=2*y-u/3,_=-y-u/3,[m,_].filter(i);{const t=La(b);return y=qa(-g+t),v=qa(g+t),[y-v-u/3].filter(i)}},droots:function(t){if(3===t.length){const e=t[0],n=t[1],r=t[2],i=e-2*n+r;if(0!==i){const t=-La(n*n-e*r),a=-e+n;return[-(t+a)/i,-(-t+a)/i]}return n!==r&&0===i?[(2*n-r)/(2*(n-r))]:[]}if(2===t.length){const e=t[0],n=t[1];return e!==n?[e/(e-n)]:[]}return[]},curvature:function(t,e,n,r,i){let a,o,f,c,u=0,s=0;const l=Za.compute(t,e),h=Za.compute(t,n),d=l.x*l.x+l.y*l.y;if(r?(a=La(Ha(l.y*h.z-h.y*l.z,2)+Ha(l.z*h.x-h.z*l.x,2)+Ha(l.x*h.y-h.x*l.y,2)),o=Ha(d+l.z*l.z,1.5)):(a=l.x*h.y-l.y*h.x,o=Ha(d,1.5)),0===a||0===o)return{k:0,r:0};if(u=a/o,s=o/a,!i){const i=Za.curvature(t-.001,e,n,r,!0).k,a=Za.curvature(t+.001,e,n,r,!0).k;c=(a-u+(u-i))/2,f=(Ua(a-u)+Ua(u-i))/2}return{k:u,r:s,dk:c,adk:f}},inflections:function(t){if(t.length<4)return[];const e=Za.align(t,{p1:t[0],p2:t.slice(-1)[0]}),n=e[2].x*e[1].y,r=e[3].x*e[1].y,i=e[1].x*e[2].y,a=18*(-3*n+2*r+3*i-e[3].x*e[2].y),o=18*(3*n-r-3*i),f=18*(i-n);if(Za.approximately(a,0)){if(!Za.approximately(o,0)){let t=-f/o;if(0<=t&&t<=1)return[t]}return[]}const c=2*a;if(Za.approximately(c,0))return[];const u=o*o-4*a*f;if(u<0)return[];const s=Math.sqrt(u);return[(s-o)/c,-(o+s)/c].filter((function(t){return 0<=t&&t<=1}))},bboxoverlap:function(t,e){const n=["x","y"],r=n.length;for(let i,a,o,f,c=0;c=f)return!1;return!0},expandbox:function(t,e){e.x.mint.x.max&&(t.x.max=e.x.max),e.y.max>t.y.max&&(t.y.max=e.y.max),e.z&&e.z.max>t.z.max&&(t.z.max=e.z.max),t.x.mid=(t.x.min+t.x.max)/2,t.y.mid=(t.y.min+t.y.max)/2,t.z&&(t.z.mid=(t.z.min+t.z.max)/2),t.x.size=t.x.max-t.x.min,t.y.size=t.y.max-t.y.min,t.z&&(t.z.size=t.z.max-t.z.min)},pairiteration:function(t,e,n){const r=t.bbox(),i=e.bbox(),a=1e5,o=n||.5;if(r.x.size+r.y.sizek||k>M)&&(w+=$a),w>M&&(x=M,M=w,w=x)):M4){if(1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");r=!0}}else if(6!==i&&8!==i&&9!==i&&12!==i&&1!==arguments.length)throw new Error("Only new Bezier(point[]) is accepted for 4th and higher order curves");const a=this._3d=!r&&(9===i||12===i)||t&&t[0]&&void 0!==t[0].z,o=this.points=[];for(let t=0,n=a?3:2;tt+Qa(e.y)),0)0}length(){return Za.length(this.derivative.bind(this))}static getABC(t=2,e,n,r,i=.5){const a=Za.projectionratio(i,t),o=1-a,f={x:a*e.x+o*r.x,y:a*e.y+o*r.y},c=Za.abcratio(i,t);return{A:{x:n.x+(n.x-f.x)/c,y:n.y+(n.y-f.y)/c},B:n,C:f,S:e,E:r}}getABC(t,e){e=e||this.get(t);let n=this.points[0],r=this.points[this.order];return ao.getABC(this.order,n,e,r,t)}getLUT(t){if(this.verify(),t=t||100,this._lut.length===t)return this._lut;this._lut=[],t++,this._lut=[];for(let e,n,r=0;r1?1:h,c=this.compute(h),c.t=h,c.d=s,c}get(t){return this.compute(t)}point(t){return this.points[t]}compute(t){return this.ratios?Za.computeWithRatios(t,this.points,this.ratios,this._3d):Za.compute(t,this.points,this._3d,this.ratios)}raise(){const t=this.points,e=[t[0]],n=t.length;for(let r,i,a=1;a1;){n=[];for(let a,o=0,f=e.length-1;o=0&&t<=1})),e=e.concat(t[n].sort(Za.numberSort))}.bind(this)),t.values=e.sort(Za.numberSort).filter((function(t,n){return e.indexOf(t)===n})),t}bbox(){const t=this.extrema(),e={};return this.dims.forEach(function(n){e[n]=Za.getminmax(this,n,t[n])}.bind(this)),e}overlaps(t){const e=this.bbox(),n=t.bbox();return Za.bboxoverlap(e,n)}offset(t,e){if(void 0!==e){const n=this.get(t),r=this.normal(t),i={c:n,n:r,x:n.x+r.x*e,y:n.y+r.y*e};return this._3d&&(i.z=n.z+r.z*e),i}if(this._linear){const e=this.normal(0),n=this.points.map((function(n){const r={x:n.x+t*e.x,y:n.y+t*e.y};return n.z&&e.z&&(r.z=n.z+t*e.z),r}));return[new ao(n)]}return this.reduce().map((function(e){return e._linear?e.offset(t)[0]:e.scale(t)}))}simple(){if(3===this.order){const t=Za.angle(this.points[0],this.points[3],this.points[1]),e=Za.angle(this.points[0],this.points[3],this.points[2]);if(t>0&&e<0||t<0&&e>0)return!1}const t=this.normal(0),e=this.normal(1);let n=t.x*e.x+t.y*e.y;return this._3d&&(n+=t.z*e.z),Qa(no(n))(1-i/r)*e+i/r*n));return new ao(this.points.map(((e,n)=>({x:e.x+t.x*i[n],y:e.y+t.y*i[n]}))))}scale(t){const e=this.order;let n=!1;if("function"==typeof t&&(n=t),n&&2===e)return this.raise().scale(n);const r=this.clockwise,i=this.points;if(this._linear)return this.translate(this.normal(0),n?n(0):t,n?n(1):t);const a=n?n(0):t,o=n?n(1):t,f=[this.offset(0,10),this.offset(1,10)],c=[],u=Za.lli4(f[0],f[0].c,f[1],f[1].c);if(!u)throw new Error("cannot scale this curve. Try reducing it first.");return[0,1].forEach((function(t){const n=c[t*e]=Za.copy(i[t*e]);n.x+=(t?o:a)*f[t].n.x,n.y+=(t?o:a)*f[t].n.y})),n?([0,1].forEach((function(a){if(2!==e||!a){var o=i[a+1],f={x:o.x-u.x,y:o.y-u.y},s=n?n((a+1)/e):t;n&&!r&&(s=-s);var l=ro(f.x*f.x+f.y*f.y);f.x/=l,f.y/=l,c[a+1]={x:o.x+s*f.x,y:o.y+s*f.y}}})),new ao(c)):([0,1].forEach((t=>{if(2===e&&t)return;const n=c[t*e],r=this.derivative(t),a={x:n.x+r.x,y:n.y+r.y};c[t+1]=Za.lli4(n,a,u,i[t+1])})),new ao(c))}outline(t,e,n,r){if(e=void 0===e?t:e,this._linear){const i=this.normal(0),a=this.points[0],o=this.points[this.points.length-1];let f,c,u;void 0===n&&(n=t,r=e),f={x:a.x+i.x*t,y:a.y+i.y*t},u={x:o.x+i.x*n,y:o.y+i.y*n},c={x:(f.x+u.x)/2,y:(f.y+u.y)/2};const s=[f,c,u];f={x:a.x-i.x*e,y:a.y-i.y*e},u={x:o.x-i.x*r,y:o.y-i.y*r},c={x:(f.x+u.x)/2,y:(f.y+u.y)/2};const l=[u,c,f],h=Za.makeline(l[2],s[0]),d=Za.makeline(s[2],l[0]),p=[h,new ao(s),d,new ao(l)];return new Wa(p)}const i=this.reduce(),a=i.length,o=[];let f,c=[],u=0,s=this.length();const l=void 0!==n&&void 0!==r;function h(t,e,n,r,i){return function(a){const o=r/n,f=(r+i)/n,c=e-t;return Za.map(a,0,1,t+o*c,t+f*c)}}i.forEach((function(i){const a=i.length();l?(o.push(i.scale(h(t,n,s,u,a))),c.push(i.scale(h(-e,-r,s,u,a)))):(o.push(i.scale(t)),c.push(i.scale(-e))),u+=a})),c=c.map((function(t){return f=t.points,f[3]?t.points=[f[3],f[2],f[1],f[0]]:t.points=[f[2],f[1],f[0]],t})).reverse();const d=o[0].points[0],p=o[a-1].points[o[a-1].points.length-1],g=c[a-1].points[c[a-1].points.length-1],b=c[0].points[0],y=Za.makeline(g,d),v=Za.makeline(p,b),m=[y].concat(o).concat([v]).concat(c);return new Wa(m)}outlineshapes(t,e,n){e=e||t;const r=this.outline(t,e).curves,i=[];for(let t=1,e=r.length;t1,a.endcap.virtual=t{var a=this.get(t);return Za.between(a.x,e,r)&&Za.between(a.y,n,i)}))}selfintersects(t){const e=this.reduce(),n=e.length-2,r=[];for(let i,a,o,f=0;f0&&(i=i.concat(e))})),i}arcs(t){return t=t||.5,this._iterate(t,[])}_error(t,e,n,r){const i=(r-n)/4,a=this.get(n+i),o=this.get(r-i),f=Za.dist(t,e),c=Za.dist(t,a),u=Za.dist(t,o);return Qa(c-f)+Qa(u-f)}_iterate(t,e){let n,r=0,i=1;do{n=0,i=1;let a,o,f,c,u,s=this.get(r),l=!1,h=!1,d=i,p=1;do{if(h=l,c=f,d=(r+i)/2,a=this.get(d),o=this.get(i),f=Za.getccenter(s,a,o),f.interval={start:r,end:i},l=this._error(f,s,r,i)<=t,u=h&&!l,u||(p=i),l){if(i>=1){if(f.interval.end=p=1,c=f,i>1){let t={x:f.x+f.r*to(f.e),y:f.y+f.r*eo(f.e)};f.e+=Za.angle({x:f.x,y:f.y},t,this.get(1))}break}i+=(i-r)/2}else i=d}while(!u&&n++<100);if(n>=100)break;c=c||f,e.push(c),r=p}while(i<1);return e}}function oo(t,e){if(null==t)return{};var n,r,i=function(t,e){if(null==t)return{};var n,r,i={},a=Object.keys(t);for(r=0;r=0||(i[n]=t[n]);return i}(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}function fo(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null==n)return;var r,i,a=[],o=!0,f=!1;try{for(n=n.call(t);!(o=(r=n.next()).done)&&(a.push(r.value),!e||a.length!==e);o=!0);}catch(t){f=!0,i=t}finally{try{o||null==n.return||n.return()}finally{if(f)throw i}}return a}(t,e)||uo(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function co(t){return function(t){if(Array.isArray(t))return so(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||uo(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function uo(t,e){if(t){if("string"==typeof t)return so(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?so(t,e):void 0}}function so(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n1?r[0]+r.slice(2):r,+t.slice(n+1)]}var bo,yo=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function vo(t){if(!(e=yo.exec(t)))throw new Error("invalid format: "+t);var e;return new mo({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function mo(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 _o(t,e){var n=go(t,e);if(!n)return t+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}vo.prototype=mo.prototype,mo.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};var xo={"%":(t,e)=>(100*t).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>_o(100*t,e),r:_o,s:function(t,e){var n=go(t,e);if(!n)return t+"";var r=n[0],i=n[1],a=i-(bo=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,o=r.length;return a===o?r:a>o?r+new Array(a-o+1).join("0"):a>0?r.slice(0,a)+"."+r.slice(a):"0."+new Array(1-a).join("0")+go(t,Math.max(0,e+a-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function wo(t){return t}var ko,Mo=Array.prototype.map,Ao=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Co(t){var e,n,r=void 0===t.grouping||void 0===t.thousands?wo:(e=Mo.call(t.grouping,Number),n=t.thousands+"",function(t,r){for(var i=t.length,a=[],o=0,f=e[0],c=0;i>0&&f>0&&(c+f+1>r&&(f=Math.max(1,r-c)),a.push(t.substring(i-=f,i+f)),!((c+=f+1)>r));)f=e[o=(o+1)%e.length];return a.reverse().join(n)}),i=void 0===t.currency?"":t.currency[0]+"",a=void 0===t.currency?"":t.currency[1]+"",o=void 0===t.decimal?".":t.decimal+"",f=void 0===t.numerals?wo:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(Mo.call(t.numerals,String)),c=void 0===t.percent?"%":t.percent+"",u=void 0===t.minus?"−":t.minus+"",s=void 0===t.nan?"NaN":t.nan+"";function l(t){var e=(t=vo(t)).fill,n=t.align,l=t.sign,h=t.symbol,d=t.zero,p=t.width,g=t.comma,b=t.precision,y=t.trim,v=t.type;"n"===v?(g=!0,v="g"):xo[v]||(void 0===b&&(b=12),y=!0,v="g"),(d||"0"===e&&"="===n)&&(d=!0,e="0",n="=");var m="$"===h?i:"#"===h&&/[boxX]/.test(v)?"0"+v.toLowerCase():"",_="$"===h?a:/[%p]/.test(v)?c:"",x=xo[v],w=/[defgprs%]/.test(v);function k(t){var i,a,c,h=m,k=_;if("c"===v)k=x(t)+k,t="";else{var M=(t=+t)<0||1/t<0;if(t=isNaN(t)?s:x(Math.abs(t),b),y&&(t=function(t){t:for(var e,n=t.length,r=1,i=-1;r0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),M&&0==+t&&"+"!==l&&(M=!1),h=(M?"("===l?l:u:"-"===l||"("===l?"":l)+h,k=("s"===v?Ao[8+bo/3]:"")+k+(M&&"("===l?")":""),w)for(i=-1,a=t.length;++i(c=t.charCodeAt(i))||c>57){k=(46===c?o+t.slice(i+1):t.slice(i))+k,t=t.slice(0,i);break}}g&&!d&&(t=r(t,1/0));var A=h.length+t.length+k.length,C=A>1)+h+t+k+C.slice(A);break;default:t=C+h+t+k}return f(t)}return b=void 0===b?6:/[gprs]/.test(v)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),k.toString=function(){return t+""},k}return{format:l,formatPrefix:function(t,e){var n=l(((t=vo(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(function(t){return(t=go(Math.abs(t)))?t[1]:NaN}(e)/3))),i=Math.pow(10,-r),a=Ao[8+r/3];return function(t){return n(i*t)+a}}}}(ko=Co({thousands:",",grouping:[3],currency:["$",""]})).format,ko.formatPrefix;var zo=new Date,So=new Date;function To(t,e,n,r){function i(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return i.floor=function(e){return t(e=new Date(+e)),e},i.ceil=function(n){return t(n=new Date(n-1)),e(n,1),t(n),n},i.round=function(t){var e=i(t),n=i.ceil(t);return t-e0))return f;do{f.push(o=new Date(+n)),e(n,a),t(n)}while(o=e)for(;t(e),!n(e);)e.setTime(e-1)}),(function(t,r){if(t>=t)if(r<0)for(;++r<=0;)for(;e(t,-1),!n(t););else for(;--r>=0;)for(;e(t,1),!n(t););}))},n&&(i.count=function(e,r){return zo.setTime(+e),So.setTime(+r),t(zo),t(So),Math.floor(n(zo,So))},i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?i.filter(r?function(e){return r(e)%t==0}:function(e){return i.count(0,e)%t==0}):i:null}),i}var No=To((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));No.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?To((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,n){e.setTime(+e+n*t)}),(function(e,n){return(n-e)/t})):No:null},No.range;const Eo=1e3,Po=6e4,Oo=36e5,Do=864e5,Uo=6048e5;var jo=To((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*Eo)}),(function(t,e){return(e-t)/Eo}),(function(t){return t.getUTCSeconds()}));jo.range;var Ro=To((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*Eo)}),(function(t,e){t.setTime(+t+e*Po)}),(function(t,e){return(e-t)/Po}),(function(t){return t.getMinutes()}));Ro.range;var Fo=To((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*Eo-t.getMinutes()*Po)}),(function(t,e){t.setTime(+t+e*Oo)}),(function(t,e){return(e-t)/Oo}),(function(t){return t.getHours()}));Fo.range;var Io=To((t=>t.setHours(0,0,0,0)),((t,e)=>t.setDate(t.getDate()+e)),((t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Po)/Do),(t=>t.getDate()-1));function Lo(t){return To((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Po)/Uo}))}Io.range;var Ho=Lo(0),qo=Lo(1),Bo=Lo(2),$o=Lo(3),Yo=Lo(4),Vo=Lo(5),Xo=Lo(6);Ho.range,qo.range,Bo.range,$o.range,Yo.range,Vo.range,Xo.range;var Go=To((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()}));Go.range;var Zo=To((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));Zo.every=function(t){return isFinite(t=Math.floor(t))&&t>0?To((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,n){e.setFullYear(e.getFullYear()+n*t)})):null},Zo.range;var Wo=To((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*Po)}),(function(t,e){return(e-t)/Po}),(function(t){return t.getUTCMinutes()}));Wo.range;var Qo=To((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*Oo)}),(function(t,e){return(e-t)/Oo}),(function(t){return t.getUTCHours()}));Qo.range;var Jo=To((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/Do}),(function(t){return t.getUTCDate()-1}));function Ko(t){return To((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/Uo}))}Jo.range;var tf=Ko(0),ef=Ko(1),nf=Ko(2),rf=Ko(3),af=Ko(4),of=Ko(5),ff=Ko(6);tf.range,ef.range,nf.range,rf.range,af.range,of.range,ff.range;var cf=To((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()}));cf.range;var uf=To((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));function sf(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function lf(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function hf(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}uf.every=function(t){return isFinite(t=Math.floor(t))&&t>0?To((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,n){e.setUTCFullYear(e.getUTCFullYear()+n*t)})):null},uf.range;var df,pf,gf,bf={"-":"",_:" ",0:"0"},yf=/^\s*\d+/,vf=/^%/,mf=/[\\^$*+?|[\]().{}]/g;function _f(t,e,n){var r=t<0?"-":"",i=(r?-t:t)+"",a=i.length;return r+(a[t.toLowerCase(),e])))}function Mf(t,e,n){var r=yf.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function Af(t,e,n){var r=yf.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function Cf(t,e,n){var r=yf.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function zf(t,e,n){var r=yf.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function Sf(t,e,n){var r=yf.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function Tf(t,e,n){var r=yf.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function Nf(t,e,n){var r=yf.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Ef(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function Pf(t,e,n){var r=yf.exec(e.slice(n,n+1));return r?(t.q=3*r[0]-3,n+r[0].length):-1}function Of(t,e,n){var r=yf.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function Df(t,e,n){var r=yf.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function Uf(t,e,n){var r=yf.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function jf(t,e,n){var r=yf.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function Rf(t,e,n){var r=yf.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function Ff(t,e,n){var r=yf.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function If(t,e,n){var r=yf.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function Lf(t,e,n){var r=yf.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Hf(t,e,n){var r=vf.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function qf(t,e,n){var r=yf.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function Bf(t,e,n){var r=yf.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function $f(t,e){return _f(t.getDate(),e,2)}function Yf(t,e){return _f(t.getHours(),e,2)}function Vf(t,e){return _f(t.getHours()%12||12,e,2)}function Xf(t,e){return _f(1+Io.count(Zo(t),t),e,3)}function Gf(t,e){return _f(t.getMilliseconds(),e,3)}function Zf(t,e){return Gf(t,e)+"000"}function Wf(t,e){return _f(t.getMonth()+1,e,2)}function Qf(t,e){return _f(t.getMinutes(),e,2)}function Jf(t,e){return _f(t.getSeconds(),e,2)}function Kf(t){var e=t.getDay();return 0===e?7:e}function tc(t,e){return _f(Ho.count(Zo(t)-1,t),e,2)}function ec(t){var e=t.getDay();return e>=4||0===e?Yo(t):Yo.ceil(t)}function nc(t,e){return t=ec(t),_f(Yo.count(Zo(t),t)+(4===Zo(t).getDay()),e,2)}function rc(t){return t.getDay()}function ic(t,e){return _f(qo.count(Zo(t)-1,t),e,2)}function ac(t,e){return _f(t.getFullYear()%100,e,2)}function oc(t,e){return _f((t=ec(t)).getFullYear()%100,e,2)}function fc(t,e){return _f(t.getFullYear()%1e4,e,4)}function cc(t,e){var n=t.getDay();return _f((t=n>=4||0===n?Yo(t):Yo.ceil(t)).getFullYear()%1e4,e,4)}function uc(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+_f(e/60|0,"0",2)+_f(e%60,"0",2)}function sc(t,e){return _f(t.getUTCDate(),e,2)}function lc(t,e){return _f(t.getUTCHours(),e,2)}function hc(t,e){return _f(t.getUTCHours()%12||12,e,2)}function dc(t,e){return _f(1+Jo.count(uf(t),t),e,3)}function pc(t,e){return _f(t.getUTCMilliseconds(),e,3)}function gc(t,e){return pc(t,e)+"000"}function bc(t,e){return _f(t.getUTCMonth()+1,e,2)}function yc(t,e){return _f(t.getUTCMinutes(),e,2)}function vc(t,e){return _f(t.getUTCSeconds(),e,2)}function mc(t){var e=t.getUTCDay();return 0===e?7:e}function _c(t,e){return _f(tf.count(uf(t)-1,t),e,2)}function xc(t){var e=t.getUTCDay();return e>=4||0===e?af(t):af.ceil(t)}function wc(t,e){return t=xc(t),_f(af.count(uf(t),t)+(4===uf(t).getUTCDay()),e,2)}function kc(t){return t.getUTCDay()}function Mc(t,e){return _f(ef.count(uf(t)-1,t),e,2)}function Ac(t,e){return _f(t.getUTCFullYear()%100,e,2)}function Cc(t,e){return _f((t=xc(t)).getUTCFullYear()%100,e,2)}function zc(t,e){return _f(t.getUTCFullYear()%1e4,e,4)}function Sc(t,e){var n=t.getUTCDay();return _f((t=n>=4||0===n?af(t):af.ceil(t)).getUTCFullYear()%1e4,e,4)}function Tc(){return"+0000"}function Nc(){return"%"}function Ec(t){return+t}function Pc(t){return Math.floor(+t/1e3)}!function(t){df=function(t){var e=t.dateTime,n=t.date,r=t.time,i=t.periods,a=t.days,o=t.shortDays,f=t.months,c=t.shortMonths,u=wf(i),s=kf(i),l=wf(a),h=kf(a),d=wf(o),p=kf(o),g=wf(f),b=kf(f),y=wf(c),v=kf(c),m={a:function(t){return o[t.getDay()]},A:function(t){return a[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return f[t.getMonth()]},c:null,d:$f,e:$f,f:Zf,g:oc,G:cc,H:Yf,I:Vf,j:Xf,L:Gf,m:Wf,M:Qf,p:function(t){return i[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:Ec,s:Pc,S:Jf,u:Kf,U:tc,V:nc,w:rc,W:ic,x:null,X:null,y:ac,Y:fc,Z:uc,"%":Nc},_={a:function(t){return o[t.getUTCDay()]},A:function(t){return a[t.getUTCDay()]},b:function(t){return c[t.getUTCMonth()]},B:function(t){return f[t.getUTCMonth()]},c:null,d:sc,e:sc,f:gc,g:Cc,G:Sc,H:lc,I:hc,j:dc,L:pc,m:bc,M:yc,p:function(t){return i[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:Ec,s:Pc,S:vc,u:mc,U:_c,V:wc,w:kc,W:Mc,x:null,X:null,y:Ac,Y:zc,Z:Tc,"%":Nc},x={a:function(t,e,n){var r=d.exec(e.slice(n));return r?(t.w=p.get(r[0].toLowerCase()),n+r[0].length):-1},A:function(t,e,n){var r=l.exec(e.slice(n));return r?(t.w=h.get(r[0].toLowerCase()),n+r[0].length):-1},b:function(t,e,n){var r=y.exec(e.slice(n));return r?(t.m=v.get(r[0].toLowerCase()),n+r[0].length):-1},B:function(t,e,n){var r=g.exec(e.slice(n));return r?(t.m=b.get(r[0].toLowerCase()),n+r[0].length):-1},c:function(t,n,r){return M(t,e,n,r)},d:Df,e:Df,f:Lf,g:Nf,G:Tf,H:jf,I:jf,j:Uf,L:If,m:Of,M:Rf,p:function(t,e,n){var r=u.exec(e.slice(n));return r?(t.p=s.get(r[0].toLowerCase()),n+r[0].length):-1},q:Pf,Q:qf,s:Bf,S:Ff,u:Af,U:Cf,V:zf,w:Mf,W:Sf,x:function(t,e,r){return M(t,n,e,r)},X:function(t,e,n){return M(t,r,e,n)},y:Nf,Y:Tf,Z:Ef,"%":Hf};function w(t,e){return function(n){var r,i,a,o=[],f=-1,c=0,u=t.length;for(n instanceof Date||(n=new Date(+n));++f53)return null;"w"in a||(a.w=1),"Z"in a?(i=(r=lf(hf(a.y,0,1))).getUTCDay(),r=i>4||0===i?ef.ceil(r):ef(r),r=Jo.offset(r,7*(a.V-1)),a.y=r.getUTCFullYear(),a.m=r.getUTCMonth(),a.d=r.getUTCDate()+(a.w+6)%7):(i=(r=sf(hf(a.y,0,1))).getDay(),r=i>4||0===i?qo.ceil(r):qo(r),r=Io.offset(r,7*(a.V-1)),a.y=r.getFullYear(),a.m=r.getMonth(),a.d=r.getDate()+(a.w+6)%7)}else("W"in a||"U"in a)&&("w"in a||(a.w="u"in a?a.u%7:"W"in a?1:0),i="Z"in a?lf(hf(a.y,0,1)).getUTCDay():sf(hf(a.y,0,1)).getDay(),a.m=0,a.d="W"in a?(a.w+6)%7+7*a.W-(i+5)%7:a.w+7*a.U-(i+6)%7);return"Z"in a?(a.H+=a.Z/100|0,a.M+=a.Z%100,lf(a)):sf(a)}}function M(t,e,n,r){for(var i,a,o=0,f=e.length,c=n.length;o=c)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=x[i in bf?e.charAt(o++):i])||(r=a(t,n,r))<0)return-1}else if(i!=n.charCodeAt(r++))return-1}return r}return m.x=w(n,m),m.X=w(r,m),m.c=w(e,m),_.x=w(n,_),_.X=w(r,_),_.c=w(e,_),{format:function(t){var e=w(t+="",m);return e.toString=function(){return t},e},parse:function(t){var e=k(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=w(t+="",_);return e.toString=function(){return t},e},utcParse:function(t){var e=k(t+="",!0);return e.toString=function(){return t},e}}}(t),df.format,df.parse,pf=df.utcFormat,gf=df.utcParse}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});var Oc="%Y-%m-%dT%H:%M:%S.%LZ";function Dc(t){for(var e=t.length/6|0,n=new Array(e),r=0;run(t[t.length-1]);function Rc(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}jc(new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(Dc)),jc(new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(Dc)),jc(new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(Dc)),jc(new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(Dc)),jc(new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(Dc)),jc(new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(Dc)),jc(new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(Dc)),jc(new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(Dc)),jc(new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(Dc)),jc(new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(Dc)),jc(new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(Dc)),jc(new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(Dc)),jc(new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(Dc)),jc(new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(Dc)),jc(new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(Dc)),jc(new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(Dc)),jc(new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(Dc)),jc(new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(Dc)),jc(new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(Dc)),jc(new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(Dc)),jc(new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(Dc)),jc(new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(Dc)),jc(new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(Dc)),jc(new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(Dc)),jc(new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(Dc)),jc(new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(Dc)),jc(new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(Dc)),Cn(tn(300,.5,0),tn(-240,.5,1)),Cn(tn(-100,.75,.35),tn(80,1.5,.8)),Cn(tn(260,.75,.35),tn(80,1.5,.8)),tn(),be(),Rc(Dc("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),Rc(Dc("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Rc(Dc("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Rc(Dc("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));var Fc=function t(){var e=new Zr,n=[],r=[],i=po;function a(t){let a=e.get(t);if(void 0===a){if(i!==po)return i;e.set(t,a=n.push(t)-1)}return r[a%r.length]}return a.domain=function(t){if(!arguments.length)return n.slice();n=[],e=new Zr;for(const r of t)e.has(r)||e.set(r,n.push(r)-1);return a},a.range=function(t){return arguments.length?(r=Array.from(t),a):r.slice()},a.unknown=function(t){return arguments.length?(i=t,a):i},a.copy=function(){return t(n,r).unknown(i)},ho.apply(a,arguments),a}(Uc);function Ic(t,e,n){e&&"string"==typeof n&&t.filter((function(t){return!t[n]})).forEach((function(t){t[n]=Fc(e(t))}))}var Lc=function(t,e){return e.onNeedsRedraw&&e.onNeedsRedraw()},Hc=Li({props:{graphData:{default:{nodes:[],links:[]},onChange:function(t,e){e.engineRunning=!1}},dagMode:{onChange:function(t,e){!t&&(e.graphData.nodes||[]).forEach((function(t){return t.fx=t.fy=void 0}))}},dagLevelDistance:{},dagNodeFilter:{default:function(t){return!0}},onDagError:{triggerUpdate:!1},nodeRelSize:{default:4,triggerUpdate:!1,onChange:Lc},nodeId:{default:"id"},nodeVal:{default:"val",triggerUpdate:!1,onChange:Lc},nodeColor:{default:"color",triggerUpdate:!1,onChange:Lc},nodeAutoColorBy:{},nodeCanvasObject:{triggerUpdate:!1,onChange:Lc},nodeCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:Lc},nodeVisibility:{default:!0,triggerUpdate:!1,onChange:Lc},linkSource:{default:"source"},linkTarget:{default:"target"},linkVisibility:{default:!0,triggerUpdate:!1,onChange:Lc},linkColor:{default:"color",triggerUpdate:!1,onChange:Lc},linkAutoColorBy:{},linkLineDash:{triggerUpdate:!1,onChange:Lc},linkWidth:{default:1,triggerUpdate:!1,onChange:Lc},linkCurvature:{default:0,triggerUpdate:!1,onChange:Lc},linkCanvasObject:{triggerUpdate:!1,onChange:Lc},linkCanvasObjectMode:{default:function(){return"replace"},triggerUpdate:!1,onChange:Lc},linkDirectionalArrowLength:{default:0,triggerUpdate:!1,onChange:Lc},linkDirectionalArrowColor:{triggerUpdate:!1,onChange:Lc},linkDirectionalArrowRelPos:{default:.5,triggerUpdate:!1,onChange:Lc},linkDirectionalParticles:{default:0},linkDirectionalParticleSpeed:{default:.01,triggerUpdate:!1},linkDirectionalParticleWidth:{default:4,triggerUpdate:!1},linkDirectionalParticleColor:{triggerUpdate:!1},globalScale:{default:1,triggerUpdate:!1},d3AlphaMin:{default:0,triggerUpdate:!1},d3AlphaDecay:{default:.0228,triggerUpdate:!1,onChange:function(t,e){e.forceLayout.alphaDecay(t)}},d3AlphaTarget:{default:0,triggerUpdate:!1,onChange:function(t,e){e.forceLayout.alphaTarget(t)}},d3VelocityDecay:{default:.4,triggerUpdate:!1,onChange:function(t,e){e.forceLayout.velocityDecay(t)}},warmupTicks:{default:0,triggerUpdate:!1},cooldownTicks:{default:1/0,triggerUpdate:!1},cooldownTime:{default:15e3,triggerUpdate:!1},onUpdate:{default:function(){},triggerUpdate:!1},onFinishUpdate:{default:function(){},triggerUpdate:!1},onEngineTick:{default:function(){},triggerUpdate:!1},onEngineStop:{default:function(){},triggerUpdate:!1},onNeedsRedraw:{triggerUpdate:!1},isShadow:{default:!1,triggerUpdate:!1}},methods:{d3Force:function(t,e,n){return void 0===n?t.forceLayout.force(e):(t.forceLayout.force(e,n),this)},d3ReheatSimulation:function(t){return t.forceLayout.alpha(1),this.resetCountdown(),this},resetCountdown:function(t){return t.cntTicks=0,t.startTickTime=new Date,t.engineRunning=!0,this},isEngineRunning:function(t){return!!t.engineRunning},tickFrame:function(t){var e,n,r,i,a,o;return!t.isShadow&&t.engineRunning&&(++t.cntTicks>t.cooldownTicks||new Date-t.startTickTime>t.cooldownTime||t.d3AlphaMin>0&&t.forceLayout.alpha()0){var o=Math.atan2(r.y-n.y,r.x-n.x),f=i*e,c={x:(n.x+r.x)/2+f*Math.cos(o-Math.PI/2),y:(n.y+r.y)/2+f*Math.sin(o-Math.PI/2)};t.__controlPoints=[c.x,c.y]}else{var u=70*e;t.__controlPoints=[r.x,r.y-u,r.x+u,r.y]}}));var h=[],d=[],p=l;if(t.linkCanvasObject){var g=[],b=[];l.forEach((function(t){return({before:h,after:d,replace:g}[o(t)]||b).push(t)})),p=[].concat(u(h),d,b),h=h.concat(g)}f.save(),h.forEach((function(e){return t.linkCanvasObject(e,f,t.globalScale)})),f.restore();var y=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=(e instanceof Array?e.length?e:[void 0]:[e]).map((function(t){return{keyAccessor:t,isProp:!(t instanceof Function)}})),a=t.reduce((function(t,e){var r=t,a=e;return i.forEach((function(t,e){var o,f=t.keyAccessor;if(t.isProp){var c=a,u=c[f],s=oo(c,[f].map(lo));o=u,a=s}else o=f(a,e);e+11&&void 0!==arguments[1]?arguments[1]:1;r===i.length?Object.keys(e).forEach((function(t){return e[t]=n(e[t])})):Object.values(e).forEach((function(e){return t(e,r+1)}))}(a);var o=a;return r&&(o=[],function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];n.length===i.length?o.push({keys:n,vals:e}):Object.entries(e).forEach((function(e){var r=fo(e,2),i=r[0],a=r[1];return t(a,[].concat(co(n),[i]))}))}(a),e instanceof Array&&0===e.length&&1===o.length&&(o[0].keys=[])),o}(p,[n,r,i]);f.save(),Object.entries(y).forEach((function(e){var n=c(e,2),r=n[0],a=n[1],o=r&&"undefined"!==r?r:"rgba(0,0,0,0.15)";Object.entries(a).forEach((function(e){var n=c(e,2),r=n[0],a=n[1],l=(r||1)/t.globalScale+s;Object.entries(a).forEach((function(t){var e=c(t,2);e[0];var n=e[1],r=i(n[0]);f.beginPath(),n.forEach((function(t){var e=t.source,n=t.target;if(e&&n&&e.hasOwnProperty("x")&&n.hasOwnProperty("x")){f.moveTo(e.x,e.y);var r=t.__controlPoints;r?f[2===r.length?"quadraticCurveTo":"bezierCurveTo"].apply(f,u(r).concat([n.x,n.y])):f.lineTo(n.x,n.y)}})),f.strokeStyle=o,f.lineWidth=l,f.setLineDash(r||[]),f.stroke()}))}))})),f.restore(),f.save(),d.forEach((function(e){return t.linkCanvasObject(e,f,t.globalScale)})),f.restore()}(),!t.isShadow&&(e=Hi(t.linkDirectionalArrowLength),n=Hi(t.linkDirectionalArrowRelPos),r=Hi(t.linkVisibility),i=Hi(t.linkDirectionalArrowColor||t.linkColor),a=Hi(t.nodeVal),(o=t.ctx).save(),t.graphData.links.filter(r).forEach((function(r){var c=e(r);if(c&&!(c<0)){var s=r.source,l=r.target;if(s&&l&&s.hasOwnProperty("x")&&l.hasOwnProperty("x")){var h=Math.sqrt(Math.max(0,a(s)||1))*t.nodeRelSize,d=Math.sqrt(Math.max(0,a(l)||1))*t.nodeRelSize,p=Math.min(1,Math.max(0,n(r))),g=i(r)||"rgba(0,0,0,0.28)",b=c/1.6/2,y=r.__controlPoints&&f(ao,[s.x,s.y].concat(u(r.__controlPoints),[l.x,l.y])),v=y?function(t){return y.get(t)}:function(t){return{x:s.x+(l.x-s.x)*t||0,y:s.y+(l.y-s.y)*t||0}},m=y?y.length():Math.sqrt(Math.pow(l.x-s.x,2)+Math.pow(l.y-s.y,2)),_=h+c+(m-h-d-c)*p,x=v(_/m),w=v((_-c)/m),k=v((_-.8*c)/m),M=Math.atan2(x.y-w.y,x.x-w.x)-Math.PI/2;o.beginPath(),o.moveTo(x.x,x.y),o.lineTo(w.x+b*Math.cos(M),w.y+b*Math.sin(M)),o.lineTo(k.x,k.y),o.lineTo(w.x-b*Math.cos(M),w.y-b*Math.sin(M)),o.fillStyle=g,o.fill()}}})),o.restore()),!t.isShadow&&function(){var e=Hi(t.linkDirectionalParticles),n=Hi(t.linkDirectionalParticleSpeed),r=Hi(t.linkDirectionalParticleWidth),i=Hi(t.linkVisibility),a=Hi(t.linkDirectionalParticleColor||t.linkColor),o=t.ctx;o.save(),t.graphData.links.filter(i).forEach((function(i){var c=e(i);if(i.hasOwnProperty("__photons")&&i.__photons.length){var s=i.source,l=i.target;if(s&&l&&s.hasOwnProperty("x")&&l.hasOwnProperty("x")){var h=n(i),d=i.__photons||[],p=Math.max(0,r(i)/2)/Math.sqrt(t.globalScale),g=a(i)||"rgba(0,0,0,0.28)";o.fillStyle=g;var b=i.__controlPoints?f(ao,[s.x,s.y].concat(u(i.__controlPoints),[l.x,l.y])):null,y=0,v=!1;d.forEach((function(t){var e=!!t.__singleHop;if(t.hasOwnProperty("__progressRatio")||(t.__progressRatio=e?0:y/c),!e&&y++,t.__progressRatio+=h,t.__progressRatio>=1){if(e)return void(v=!0);t.__progressRatio=t.__progressRatio%1}var n=t.__progressRatio,r=b?b.get(n):{x:s.x+(l.x-s.x)*n||0,y:s.y+(l.y-s.y)*n||0};o.beginPath(),o.arc(r.x,r.y,p,0,2*Math.PI,!1),o.fill()})),v&&(i.__photons=i.__photons.filter((function(t){return!t.__singleHop||t.__progressRatio<=1})))}}})),o.restore()}(),function(){var e=Hi(t.nodeVisibility),n=Hi(t.nodeVal),r=Hi(t.nodeColor),i=Hi(t.nodeCanvasObjectMode),a=t.ctx,o=t.isShadow/t.globalScale,f=t.graphData.nodes.filter(e);a.save(),f.forEach((function(e){var f=i(e);if(!t.nodeCanvasObject||"before"!==f&&"replace"!==f||(t.nodeCanvasObject(e,a,t.globalScale),"replace"!==f)){var c=Math.sqrt(Math.max(0,n(e)||1))*t.nodeRelSize+o;a.beginPath(),a.arc(e.x,e.y,c,0,2*Math.PI,!1),a.fillStyle=r(e)||"rgba(31, 120, 180, 0.92)",a.fill(),t.nodeCanvasObject&&"after"===f&&t.nodeCanvasObject(e,t.ctx,t.globalScale)}else a.restore()})),a.restore()}(),this},emitParticle:function(t,e){return e&&(!e.__photons&&(e.__photons=[]),e.__photons.push({__singleHop:!0})),this}},stateInit:function(){return{forceLayout:Oa().force("link",Ca()).force("charge",Da()).force("center",Qi()).force("dagRadial",null).stop(),engineRunning:!1}},init:function(t,e){e.ctx=t},update:function(t){if(t.engineRunning=!1,t.onUpdate(),null!==t.nodeAutoColorBy&&Ic(t.graphData.nodes,Hi(t.nodeAutoColorBy),t.nodeColor),null!==t.linkAutoColorBy&&Ic(t.graphData.links,Hi(t.linkAutoColorBy),t.linkColor),t.graphData.links.forEach((function(e){e.source=e[t.linkSource],e.target=e[t.linkTarget]})),!t.isShadow){var e=Hi(t.linkDirectionalParticles);t.graphData.links.forEach((function(t){var n=Math.round(Math.abs(e(t)));n?t.__photons=u(Array(n)).map((function(){return{}})):delete t.__photons}))}t.forceLayout.stop().alpha(1).nodes(t.graphData.nodes);var n=t.forceLayout.force("link");n&&n.id((function(e){return e[t.nodeId]})).links(t.graphData.links);var a=t.dagMode&&function(t,e){var n=t.nodes,a=t.links,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},f=o.nodeFilter,s=void 0===f?function(){return!0}:f,l=o.onLoopError,h=void 0===l?function(t){throw"Invalid DAG structure! Found cycle in node path: ".concat(t.join(" -> "),".")}:l,d={};n.forEach((function(t){return d[e(t)]={data:t,out:[],depth:-1,skip:!s(t)}})),a.forEach((function(t){var n=t.source,i=t.target,a=u(n),o=u(i);if(!d.hasOwnProperty(a))throw"Missing source node with id: ".concat(a);if(!d.hasOwnProperty(o))throw"Missing target node with id: ".concat(o);var f=d[a],c=d[o];function u(t){return"object"===r(t)?e(t):t}f.out.push(c)}));var p=[];return g(Object.values(d)),Object.assign.apply(Object,[{}].concat(u(Object.entries(d).filter((function(t){return!c(t,2)[1].skip})).map((function(t){var e=c(t,2);return i({},e[0],e[1].depth)})))));function g(t){for(var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=0,a=t.length;io.depth&&(o.depth=r,g(o.out,[].concat(u(n),[o]),r+(o.skip?0:1)))}}}(t.graphData,(function(e){return e[t.nodeId]}),{nodeFilter:t.dagNodeFilter,onLoopError:t.onDagError||void 0}),o=Math.max.apply(Math,u(Object.values(a||[]))),f=t.dagLevelDistance||t.graphData.nodes.length/(o||1)*2*(-1!==["radialin","radialout"].indexOf(t.dagMode)?.7:1);if(t.dagMode){var s=function(e,n){return function(r){return e?(a[r[t.nodeId]]-o/2)*f*(n?-1:1):void 0}},l=s(-1!==["lr","rl"].indexOf(t.dagMode),"rl"===t.dagMode),h=s(-1!==["td","bu"].indexOf(t.dagMode),"bu"===t.dagMode);t.graphData.nodes.filter(t.dagNodeFilter).forEach((function(t){t.fx=l(t),t.fy=h(t)}))}t.forceLayout.force("dagRadial",-1!==["radialin","radialout"].indexOf(t.dagMode)?function(t,e,n,r){var i,a,o,f,c=wa(.1);function u(t){for(var c=0,u=i.length;c1&&(s.vy+=h*g),a>2&&(s.vz+=d*g)}}function s(){if(i){var e,n=i.length;for(o=new Array(n),f=new Array(n),e=0;e[1,2,3].includes(t)))||2,s()},u.strength=function(t){return arguments.length?(c="function"==typeof t?t:wa(+t),s(),u):c},u.radius=function(e){return arguments.length?(t="function"==typeof e?e:wa(+e),s(),u):t},u.x=function(t){return arguments.length?(e=+t,u):e},u.y=function(t){return arguments.length?(n=+t,u):n},u.z=function(t){return arguments.length?(r=+t,u):r},u}((function(e){var n=a[e[t.nodeId]]||-1;return("radialin"===t.dagMode?o-n:n)*f})).strength((function(e){return t.dagNodeFilter(e)?1:0})):null);for(var d=0;d0&&t.forceLayout.alpha()1?r-1:0),a=1;a1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,r=arguments.length,i=new Array(r>3?r-3:0),a=3;a1&&void 0!==arguments[1]?arguments[1]:function(){return!0},n=Hi(t.nodeVal),r=function(e){return Math.sqrt(Math.max(0,n(e)||1))*t.nodeRelSize},i=t.graphData.nodes.filter(e).map((function(t){return{x:t.x,y:t.y,r:r(t)}}));return i.length?{x:[Kr(i,(function(t){return t.x-t.r})),Jr(i,(function(t){return t.x+t.r}))],y:[Kr(i,(function(t){return t.y-t.r})),Jr(i,(function(t){return t.y+t.r}))]}:null},pauseAnimation:function(t){return t.animationFrameRequestId&&(cancelAnimationFrame(t.animationFrameRequestId),t.animationFrameRequestId=null),this},resumeAnimation:function(t){return t.animationFrameRequestId||this._animationCycle(),this},_destructor:function(){this.pauseAnimation(),this.graphData({nodes:[],links:[]})}},Vc),stateInit:function(){return{lastSetZoom:1,zoom:$r(),forceGraph:new Hc,shadowGraph:(new Hc).cooldownTicks(0).nodeColor("__indexColor").linkColor("__indexColor").isShadow(!0),colorTracker:new Wi}},init:function(t,e){var r=this;t.innerHTML="";var i=document.createElement("div");i.classList.add("force-graph-container"),i.style.position="relative",t.appendChild(i),e.canvas=document.createElement("canvas"),e.backgroundColor&&(e.canvas.style.background=e.backgroundColor),i.appendChild(e.canvas),e.shadowCanvas=document.createElement("canvas");var a=e.canvas.getContext("2d"),o=e.shadowCanvas.getContext("2d"),f={x:-1e12,y:-1e12},c=function(){var t=null,n=window.devicePixelRatio,r=f.x>0&&f.y>0?o.getImageData(f.x*n,f.y*n,1,1):null;return r&&(t=e.colorTracker.lookup(r.data)),t};Ct(e.canvas).call(function(){var t,e,n,r,i=$t,a=Yt,o=Vt,f=Xt,c={},u=Et("start","drag","end"),s=0,l=0;function h(t){t.on("mousedown.drag",d).filter(f).on("touchstart.drag",b).on("touchmove.drag",y,jt).on("touchend.drag touchcancel.drag",v).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function d(o,f){if(!r&&i.call(this,o,f)){var c=m(this,a.call(this,o,f),o,f,"mouse");c&&(Ct(o.view).on("mousemove.drag",p,Rt).on("mouseup.drag",g,Rt),Lt(o.view),Ft(o),n=!1,t=o.clientX,e=o.clientY,c("start",o))}}function p(r){if(It(r),!n){var i=r.clientX-t,a=r.clientY-e;n=i*i+a*a>l}c.mouse("drag",r)}function g(t){Ct(t.view).on("mousemove.drag mouseup.drag",null),Ht(t.view,n),It(t),c.mouse("end",t)}function b(t,e){if(i.call(this,t,e)){var n,r,o=t.changedTouches,f=a.call(this,t,e),c=o.length;for(n=0;n0||e.isPointerPressed)&&("touch"!==n.pointerType||void 0===n.movementX||[n.movementX,n.movementY].some((function(t){return Math.abs(t)>1})))&&(e.isPointerDragging=!0);var r,a,o,c=(r=i.getBoundingClientRect(),a=window.pageXOffset||document.documentElement.scrollLeft,o=window.pageYOffset||document.documentElement.scrollTop,{top:r.top+o,left:r.left+a});f.x=n.pageX-c.left,f.y=n.pageY-c.top,u.style.top="".concat(f.y,"px"),u.style.left="".concat(f.x,"px")}),{passive:!0})})),i.addEventListener("pointerup",(function(t){if(e.isPointerPressed=!1,e.isPointerDragging)e.isPointerDragging=!1;else{var n=[t,e.pointerDownEvent];requestAnimationFrame((function(){if(0===t.button)if(e.hoverObj){var r=e["on".concat(e.hoverObj.type,"Click")];r&&r.apply(void 0,[e.hoverObj.d].concat(n))}else e.onBackgroundClick&&e.onBackgroundClick.apply(e,n);if(2===t.button)if(e.hoverObj){var i=e["on".concat(e.hoverObj.type,"RightClick")];i&&i.apply(void 0,[e.hoverObj.d].concat(n))}else e.onBackgroundRightClick&&e.onBackgroundRightClick.apply(e,n)}))}}),{passive:!0}),i.addEventListener("contextmenu",(function(t){return!(e.onBackgroundRightClick||e.onNodeRightClick||e.onLinkRightClick)||(t.preventDefault(),!1)})),e.forceGraph(a),e.shadowGraph(o);var s=yi((function(){Zc(o,e.width,e.height),e.shadowGraph.linkWidth((function(t){return Hi(e.linkWidth)(t)+e.linkHoverPrecision}));var t=Ur(e.canvas);e.shadowGraph.globalScale(t.k).tickFrame()}),800);e.flushShadowCanvas=s.flush,(this._animationCycle=function t(){var n=!e.autoPauseRedraw||!!e.needsRedraw||e.forceGraph.isEngineRunning()||e.graphData.links.some((function(t){return t.__photons&&t.__photons.length}));if(e.needsRedraw=!1,e.enablePointerInteraction){var r=e.isPointerDragging?null:c();if(r!==e.hoverObj){var i=e.hoverObj,o=i?i.type:null,f=r?r.type:null;if(o&&o!==f){var l=e["on".concat(o,"Hover")];l&&l(null,i.d)}if(f){var h=e["on".concat(f,"Hover")];h&&h(r.d,o===f?i.d:null)}var d=r&&Hi(e["".concat(r.type.toLowerCase(),"Label")])(r.d)||"";u.style.visibility=d?"visible":"hidden",u.innerHTML=d,e.canvas.classList[r&&e["on".concat(f,"Click")]||!r&&e.onBackgroundClick?"add":"remove"]("clickable"),e.hoverObj=r}n&&s()}if(n){Zc(a,e.width,e.height);var p=Ur(e.canvas).k;e.onRenderFramePre&&e.onRenderFramePre(a,p),e.forceGraph.globalScale(p).tickFrame(),e.onRenderFramePost&&e.onRenderFramePost(a,p)}Pi.update(),e.animationFrameRequestId=requestAnimationFrame(t)})()},update:function(t){}});return Wc})); diff --git a/package-lock.json b/package-lock.json index 2273eb623..d3ef59b3e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "trilium", - "version": "0.53.2", + "version": "0.54.0-beta", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "trilium", - "version": "0.53.2", + "version": "0.54.0-beta", "hasInstallScript": true, "license": "AGPL-3.0-only", "dependencies": { @@ -51,8 +51,8 @@ "open": "8.4.0", "portscanner": "2.2.0", "rand-token": "1.0.1", - "react": "18.2.0", - "react-dom": "18.2.0", + "react": "17.0.2", + "react-dom": "17.0.2", "request": "2.88.2", "rimraf": "3.0.2", "safe-compare": "1.1.4", @@ -8421,26 +8421,28 @@ } }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", "dependencies": { - "loose-envify": "^1.1.0" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" }, "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", "dependencies": { "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" }, "peerDependencies": { - "react": "^18.2.0" + "react": "17.0.2" } }, "node_modules/read-config-file": { @@ -8832,11 +8834,12 @@ } }, "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", "dependencies": { - "loose-envify": "^1.1.0" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" } }, "node_modules/schema-utils": { @@ -17261,20 +17264,22 @@ } }, "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", "requires": { - "loose-envify": "^1.1.0" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" } }, "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", "requires": { "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" } }, "read-config-file": { @@ -17598,11 +17603,12 @@ } }, "scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", "requires": { - "loose-envify": "^1.1.0" + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" } }, "schema-utils": { diff --git a/package.json b/package.json index c464b9f72..c839a33b0 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "trilium", "productName": "Trilium Notes", "description": "Trilium Notes", - "version": "0.54.0-beta", + "version": "0.54.1-beta", "license": "AGPL-3.0-only", "main": "electron.js", "bin": { diff --git a/src/public/app/services/server.js b/src/public/app/services/server.js index e0c7d07dd..ff2bc14a7 100644 --- a/src/public/app/services/server.js +++ b/src/public/app/services/server.js @@ -131,10 +131,10 @@ function ajax(url, method, data, headers) { headers: respHeaders }); }, - error: async (jqXhr, status, error) => { - await reportError(method, url, status, error); + error: async (jqXhr, status) => { + await reportError(method, url, status, jqXhr.responseText); - rej(error); + rej(jqXhr.responseText); } }; diff --git a/src/public/app/widgets/containers/root_container.js b/src/public/app/widgets/containers/root_container.js index da6d24e61..e17967756 100644 --- a/src/public/app/widgets/containers/root_container.js +++ b/src/public/app/widgets/containers/root_container.js @@ -1,6 +1,4 @@ import FlexContainer from "./flex_container.js"; -import utils from "../../services/utils.js"; -import appContext from "../../services/app_context.js"; export default class RootContainer extends FlexContainer { constructor() { @@ -9,38 +7,4 @@ export default class RootContainer extends FlexContainer { this.id('root-widget'); this.css('height', '100%'); } - - refresh() { - this.$widget.removeClass(); // remove all classes - const note = appContext.tabManager.getActiveContextNote(); - - if (note) { - this.$widget.addClass(note.getCssClass()); - - this.$widget.addClass(utils.getNoteTypeClass(note.type)); - this.$widget.addClass(utils.getMimeTypeClass(note.mime)); - - this.$widget.toggleClass("protected", note.isProtected); - } - } - - noteSwitchedEvent() { - this.refresh(); - } - - activeContextChangedEvent() { - this.refresh(); - } - - noteSwitchedAndActivatedEvent() { - this.refresh(); - } - - entitiesReloadedEvent({loadResults}) { - const note = appContext.tabManager.getActiveContextNote(); - - if (note && loadResults.isNoteReloaded(note.noteId)) { - this.refresh(); - } - } } diff --git a/src/public/app/widgets/dialogs/bulk_actions.js b/src/public/app/widgets/dialogs/bulk_actions.js index 5922a1bce..36ea93bf1 100644 --- a/src/public/app/widgets/dialogs/bulk_actions.js +++ b/src/public/app/widgets/dialogs/bulk_actions.js @@ -37,7 +37,7 @@ const TPL = `