react-sunburst-chart
Version:
A sunburst interactive chart React component for visualizing hierarchical data
2 lines • 105 kB
JavaScript
// Version 1.0.1 react-sunburst-chart - https://github.com/vasturiano/react-sunburst-chart
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("react")):"function"==typeof define&&define.amd?define(["react"],n):(t="undefined"!=typeof globalThis?globalThis:t||self).Sunburst=n(t.React)}(this,(function(t){"use strict";function n(t,n,e){return(n=function(t){var n=function(t,n){if("object"!=typeof t||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,n);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(t,"string");return"symbol"==typeof n?n:String(n)}(n))in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}function e(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var r,i,o,a,u=[],l=!0,c=!1;try{if(o=(e=e.call(t)).next,0===n){if(Object(e)!==e)return;l=!1}else for(;!(l=(r=o.call(e)).done)&&(u.push(r.value),u.length!==n);l=!0);}catch(t){c=!0,i=t}finally{try{if(!l&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(c)throw i}}return u}}(t,n)||i(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 r(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)||i(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 i(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);e<n;e++)r[e]=t[e];return r}function a(t,n){(null==n||n>t.length)&&(n=t.length);for(var e=0,r=Array(n);e<n;e++)r[e]=t[e];return r}function u(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var r,i,o,a,u=[],l=!0,c=!1;try{if(o=(e=e.call(t)).next,0===n);else for(;!(l=(r=o.call(e)).done)&&(u.push(r.value),u.length!==n);l=!0);}catch(t){c=!0,i=t}finally{try{if(!l&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(c)throw i}}return u}}(t,n)||c(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 l(t){return function(t){if(Array.isArray(t))return a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||c(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 c(t,n){if(t){if("string"==typeof t)return a(t,n);var e={}.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)?a(t,n):void 0}}function s(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t.useEffect,r=t.useRef(),i=t.useRef(!1),o=t.useRef(!1),a=u(t.useState(0),2);a[0];var l=a[1];i.current&&(o.current=!0),e((function(){return i.current||(r.current=n(),i.current=!0),l((function(t){return t+1})),function(){o.current&&r.current&&r.current()}}),[])}var f="http://www.w3.org/1999/xhtml",h={svg:"http://www.w3.org/2000/svg",xhtml:f,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function p(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),h.hasOwnProperty(n)?{space:h[n],local:t}:t}function d(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:d)(n)}function _(){}function g(t){return null==t?_:function(){return this.querySelector(t)}}function m(){return[]}function b(t){return null==t?m:function(){return this.querySelectorAll(t)}}function w(t){return function(){return function(t){return null==t?[]:Array.isArray(t)?t:Array.from(t)}(t.apply(this,arguments))}}function x(t){return function(){return this.matches(t)}}function S(t){return function(n){return n.matches(t)}}var M=Array.prototype.find;function A(){return this.firstElementChild}var k=Array.prototype.filter;function O(){return Array.from(this.children)}function E(t){return new Array(t.length)}function $(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}function N(t,n,e,r,i,o){for(var a,u=0,l=n.length,c=o.length;u<c;++u)(a=n[u])?(a.__data__=o[u],r[u]=a):e[u]=new $(t,o[u]);for(;u<l;++u)(a=n[u])&&(i[u]=a)}function T(t,n,e,r,i,o,a){var u,l,c,s=new Map,f=n.length,h=o.length,p=new Array(f);for(u=0;u<f;++u)(l=n[u])&&(p[u]=c=a.call(l,l.__data__,u,n)+"",s.has(c)?i[u]=l:s.set(c,l));for(u=0;u<h;++u)c=a.call(t,o[u],u,o)+"",(l=s.get(c))?(r[u]=l,l.__data__=o[u],s.delete(c)):e[u]=new $(t,o[u]);for(u=0;u<f;++u)(l=n[u])&&s.get(p[u])===l&&(i[u]=l)}function j(t){return t.__data__}function P(t){return"object"==typeof t&&"length"in t?t:Array.from(t)}function C(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function I(t){return function(){this.removeAttribute(t)}}function R(t){return function(){this.removeAttributeNS(t.space,t.local)}}function L(t,n){return function(){this.setAttribute(t,n)}}function D(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function U(t,n){return function(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}}function q(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 z(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function H(t){return function(){this.style.removeProperty(t)}}function F(t,n,e){return function(){this.style.setProperty(t,n,e)}}function B(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function X(t,n){return t.style.getPropertyValue(n)||z(t).getComputedStyle(t,null).getPropertyValue(n)}function Y(t){return function(){delete this[t]}}function W(t,n){return function(){this[t]=n}}function V(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function G(t){return t.trim().split(/^|\s+/)}function J(t){return t.classList||new Z(t)}function Z(t){this._node=t,this._names=G(t.getAttribute("class")||"")}function K(t,n){for(var e=J(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function Q(t,n){for(var e=J(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function tt(t){return function(){K(this,t)}}function nt(t){return function(){Q(this,t)}}function et(t,n){return function(){(n.apply(this,arguments)?K:Q)(this,t)}}function rt(){this.textContent=""}function it(t){return function(){this.textContent=t}}function ot(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function at(){this.innerHTML=""}function ut(t){return function(){this.innerHTML=t}}function lt(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function ct(){this.nextSibling&&this.parentNode.appendChild(this)}function st(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ft(){return null}function ht(){var t=this.parentNode;t&&t.removeChild(this)}function pt(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function dt(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function yt(t){return function(){var n=this.__on;if(n){for(var e,r=0,i=-1,o=n.length;r<o;++r)e=n[r],t.type&&e.type!==t.type||e.name!==t.name?n[++i]=e:this.removeEventListener(e.type,e.listener,e.options);++i?n.length=i:delete this.__on}}}function vt(t,n,e){return function(){var r,i=this.__on,o=function(t){return function(n){t.call(this,n,this.__data__)}}(n);if(i)for(var a=0,u=i.length;a<u;++a)if((r=i[a]).type===t.type&&r.name===t.name)return this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=o,r.options=e),void(r.value=n);this.addEventListener(t.type,o,e),r={type:t.type,name:t.name,value:n,listener:o,options:e},i?i.push(r):this.__on=[r]}}function _t(t,n,e){var r=z(t),i=r.CustomEvent;"function"==typeof i?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function gt(t,n){return function(){return _t(this,t,n)}}function mt(t,n){return function(){return _t(this,t,n.apply(this,arguments))}}$.prototype={constructor:$,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}},Z.prototype={add:function(t){this._names.indexOf(t)<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};var bt=[null];function wt(t,n){this._groups=t,this._parents=n}function xt(){return new wt([[document.documentElement]],bt)}function St(t){return"string"==typeof t?new wt([[document.querySelector(t)]],[document.documentElement]):new wt([[t]],bt)}function Mt(t,n){return null==t||null==n?NaN:t<n?-1:t>n?1:t>=n?0:NaN}function At(t,n){return null==t||null==n?NaN:n<t?-1:n>t?1:n>=t?0:NaN}function kt(t){let n,e,r;function i(t,r,i=0,o=t.length){if(i<o){if(0!==n(r,r))return o;do{const n=i+o>>>1;e(t[n],r)<0?i=n+1:o=n}while(i<o)}return i}return 2!==t.length?(n=Mt,e=(n,e)=>Mt(t(n),e),r=(n,e)=>t(n)-e):(n=t===Mt||t===At?t:Ot,e=t,r=t),{left:i,center:function(t,n,e=0,o=t.length){const a=i(t,n,e,o-1);return a>e&&r(t[a-1],n)>-r(t[a],n)?a-1:a},right:function(t,r,i=0,o=t.length){if(i<o){if(0!==n(r,r))return o;do{const n=i+o>>>1;e(t[n],r)<=0?i=n+1:o=n}while(i<o)}return i}}}function Ot(){return 0}wt.prototype=xt.prototype={constructor:wt,select:function(t){"function"!=typeof t&&(t=g(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,a,u=n[i],l=u.length,c=r[i]=new Array(l),s=0;s<l;++s)(o=u[s])&&(a=t.call(o,o.__data__,s,u))&&("__data__"in o&&(a.__data__=o.__data__),c[s]=a);return new wt(r,this._parents)},selectAll:function(t){t="function"==typeof t?w(t):b(t);for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var a,u=n[o],l=u.length,c=0;c<l;++c)(a=u[c])&&(r.push(t.call(a,a.__data__,c,u)),i.push(a));return new wt(r,i)},selectChild:function(t){return this.select(null==t?A:function(t){return function(){return M.call(this.children,t)}}("function"==typeof t?t:S(t)))},selectChildren:function(t){return this.selectAll(null==t?O:function(t){return function(){return k.call(this.children,t)}}("function"==typeof t?t:S(t)))},filter:function(t){"function"!=typeof t&&(t=x(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,a=n[i],u=a.length,l=r[i]=[],c=0;c<u;++c)(o=a[c])&&t.call(o,o.__data__,c,a)&&l.push(o);return new wt(r,this._parents)},data:function(t,n){if(!arguments.length)return Array.from(this,j);var e=n?T:N,r=this._parents,i=this._groups;"function"!=typeof t&&(t=function(t){return function(){return t}}(t));for(var o=i.length,a=new Array(o),u=new Array(o),l=new Array(o),c=0;c<o;++c){var s=r[c],f=i[c],h=f.length,p=P(t.call(s,s&&s.__data__,c,r)),d=p.length,y=u[c]=new Array(d),v=a[c]=new Array(d);e(s,f,y,v,l[c]=new Array(h),p,n);for(var _,g,m=0,b=0;m<d;++m)if(_=y[m]){for(m>=b&&(b=m+1);!(g=v[b])&&++b<d;);_._next=g||null}}return(a=new wt(a,r))._enter=u,a._exit=l,a},enter:function(){return new wt(this._enter||this._groups.map(E),this._parents)},exit:function(){return new wt(this._exit||this._groups.map(E),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return"function"==typeof t?(r=t(r))&&(r=r.selection()):r=r.append(t+""),null!=n&&(i=n(i))&&(i=i.selection()),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,o=r.length,a=Math.min(i,o),u=new Array(i),l=0;l<a;++l)for(var c,s=e[l],f=r[l],h=s.length,p=u[l]=new Array(h),d=0;d<h;++d)(c=s[d]||f[d])&&(p[d]=c);for(;l<i;++l)u[l]=e[l];return new wt(u,this._parents)},selection:function(){return this},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,a=i[o];--o>=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=C);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var a,u=e[o],l=u.length,c=i[o]=new Array(l),s=0;s<l;++s)(a=u[s])&&(c[s]=a);c.sort(n)}return new wt(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null},size:function(){let t=0;for(const n of this)++t;return t},empty:function(){return!this.node()},each:function(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i,o=n[e],a=0,u=o.length;a<u;++a)(i=o[a])&&t.call(i,i.__data__,a,o);return this},attr:function(t,n){var e=p(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((null==n?e.local?R:I:"function"==typeof n?e.local?q:U:e.local?D:L)(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?H:"function"==typeof n?B:F)(t,n,null==e?"":e)):X(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?Y:"function"==typeof n?V:W)(t,n)):this.node()[t]},classed:function(t,n){var e=G(t+"");if(arguments.length<2){for(var r=J(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?et:n?tt:nt)(e,n))},text:function(t){return arguments.length?this.each(null==t?rt:("function"==typeof t?ot:it)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?at:("function"==typeof t?lt:ut)(t)):this.node().innerHTML},raise:function(){return this.each(ct)},lower:function(){return this.each(st)},append:function(t){var n="function"==typeof t?t:v(t);return this.select((function(){return this.appendChild(n.apply(this,arguments))}))},insert:function(t,n){var e="function"==typeof t?t:v(t),r=null==n?ft:"function"==typeof n?n:g(n);return this.select((function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(ht)},clone:function(t){return this.select(t?dt:pt)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=function(t){return t.trim().split(/^|\s+/).map((function(t){var n="",e=t.indexOf(".");return e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),{type:t,name:n}}))}(t+""),a=o.length;if(!(arguments.length<2)){for(u=n?vt:yt,r=0;r<a;++r)this.each(u(o[r],n,e));return this}var u=this.node().__on;if(u)for(var l,c=0,s=u.length;c<s;++c)for(r=0,l=u[c];r<a;++r)if((i=o[r]).type===l.type&&i.name===l.name)return l.value},dispatch:function(t,n){return this.each(("function"==typeof n?mt:gt)(t,n))},[Symbol.iterator]:function*(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r,i=t[n],o=0,a=i.length;o<a;++o)(r=i[o])&&(yield r)}};const Et=kt(Mt).right;kt((function(t){return null===t?NaN:+t})).center;const $t=Math.sqrt(50),Nt=Math.sqrt(10),Tt=Math.sqrt(2);function jt(t,n,e){const r=(n-t)/Math.max(0,e),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),a=o>=$t?10:o>=Nt?5:o>=Tt?2:1;let u,l,c;return i<0?(c=Math.pow(10,-i)/a,u=Math.round(t*c),l=Math.round(n*c),u/c<t&&++u,l/c>n&&--l,c=-c):(c=Math.pow(10,i)*a,u=Math.round(t/c),l=Math.round(n/c),u*c<t&&++u,l*c>n&&--l),l<u&&.5<=e&&e<2?jt(t,n,2*e):[u,l,c]}function Pt(t,n,e){return jt(t=+t,n=+n,e=+e)[2]}function Ct(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}function It(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function Rt(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function Lt(){}var Dt=.7,Ut=1/Dt,qt="\\s*([+-]?\\d+)\\s*",zt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ht="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Ft=/^#([0-9a-f]{3,8})$/,Bt=new RegExp(`^rgb\\(${qt},${qt},${qt}\\)$`),Xt=new RegExp(`^rgb\\(${Ht},${Ht},${Ht}\\)$`),Yt=new RegExp(`^rgba\\(${qt},${qt},${qt},${zt}\\)$`),Wt=new RegExp(`^rgba\\(${Ht},${Ht},${Ht},${zt}\\)$`),Vt=new RegExp(`^hsl\\(${zt},${Ht},${Ht}\\)$`),Gt=new RegExp(`^hsla\\(${zt},${Ht},${Ht},${zt}\\)$`),Jt={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 Zt(){return this.rgb().formatHex()}function Kt(){return this.rgb().formatRgb()}function Qt(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=Ft.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?tn(n):3===e?new rn(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?nn(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?nn(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=Bt.exec(t))?new rn(n[1],n[2],n[3],1):(n=Xt.exec(t))?new rn(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=Yt.exec(t))?nn(n[1],n[2],n[3],n[4]):(n=Wt.exec(t))?nn(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=Vt.exec(t))?sn(n[1],n[2]/100,n[3]/100,1):(n=Gt.exec(t))?sn(n[1],n[2]/100,n[3]/100,n[4]):Jt.hasOwnProperty(t)?tn(Jt[t]):"transparent"===t?new rn(NaN,NaN,NaN,0):null}function tn(t){return new rn(t>>16&255,t>>8&255,255&t,1)}function nn(t,n,e,r){return r<=0&&(t=n=e=NaN),new rn(t,n,e,r)}function en(t,n,e,r){return 1===arguments.length?function(t){return t instanceof Lt||(t=Qt(t)),t?new rn((t=t.rgb()).r,t.g,t.b,t.opacity):new rn}(t):new rn(t,n,e,null==r?1:r)}function rn(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function on(){return`#${cn(this.r)}${cn(this.g)}${cn(this.b)}`}function an(){const t=un(this.opacity);return`${1===t?"rgb(":"rgba("}${ln(this.r)}, ${ln(this.g)}, ${ln(this.b)}${1===t?")":`, ${t})`}`}function un(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function ln(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function cn(t){return((t=ln(t))<16?"0":"")+t.toString(16)}function sn(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new hn(t,n,e,r)}function fn(t){if(t instanceof hn)return new hn(t.h,t.s,t.l,t.opacity);if(t instanceof Lt||(t=Qt(t)),!t)return new hn;if(t instanceof hn)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,u=o-i,l=(o+i)/2;return u?(a=n===o?(e-r)/u+6*(e<r):e===o?(r-n)/u+2:(n-e)/u+4,u/=l<.5?o+i:2-o-i,a*=60):u=l>0&&l<1?0:a,new hn(a,u,l,t.opacity)}function hn(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function pn(t){return(t=(t||0)%360)<0?t+360:t}function dn(t){return Math.max(0,Math.min(1,t||0))}function yn(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}It(Lt,Qt,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Zt,formatHex:Zt,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return fn(this).formatHsl()},formatRgb:Kt,toString:Kt}),It(rn,en,Rt(Lt,{brighter(t){return t=null==t?Ut:Math.pow(Ut,t),new rn(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=null==t?Dt:Math.pow(Dt,t),new rn(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new rn(ln(this.r),ln(this.g),ln(this.b),un(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:on,formatHex:on,formatHex8:function(){return`#${cn(this.r)}${cn(this.g)}${cn(this.b)}${cn(255*(isNaN(this.opacity)?1:this.opacity))}`},formatRgb:an,toString:an})),It(hn,(function(t,n,e,r){return 1===arguments.length?fn(t):new hn(t,n,e,null==r?1:r)}),Rt(Lt,{brighter(t){return t=null==t?Ut:Math.pow(Ut,t),new hn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=null==t?Dt:Math.pow(Dt,t),new hn(this.h,this.s,this.l*t,this.opacity)},rgb(){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 rn(yn(t>=240?t-240:t+120,i,r),yn(t,i,r),yn(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new hn(pn(this.h),dn(this.s),dn(this.l),un(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=un(this.opacity);return`${1===t?"hsl(":"hsla("}${pn(this.h)}, ${100*dn(this.s)}%, ${100*dn(this.l)}%${1===t?")":`, ${t})`}`}}));var vn=t=>()=>t;function _n(t){return 1==(t=+t)?gn: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):vn(isNaN(n)?e:n)}}function gn(t,n){var e=n-t;return e?function(t,n){return function(e){return t+e*n}}(t,e):vn(isNaN(t)?n:t)}var mn=function t(n){var e=_n(n);function r(t,n){var r=e((t=en(t)).r,(n=en(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),a=gn(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 bn(t,n){n||(n=[]);var e,r=t?Math.min(n.length,t.length):0,i=n.slice();return function(o){for(e=0;e<r;++e)i[e]=t[e]*(1-o)+n[e]*o;return i}}function wn(t,n){var e,r=n?n.length:0,i=t?Math.min(r,t.length):0,o=new Array(i),a=new Array(r);for(e=0;e<i;++e)o[e]=En(t[e],n[e]);for(;e<r;++e)a[e]=n[e];return function(t){for(e=0;e<i;++e)a[e]=o[e](t);return a}}function xn(t,n){var e=new Date;return t=+t,n=+n,function(r){return e.setTime(t*(1-r)+n*r),e}}function Sn(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}function Mn(t,n){var e,r={},i={};for(e in null!==t&&"object"==typeof t||(t={}),null!==n&&"object"==typeof n||(n={}),n)e in t?r[e]=En(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}}var An=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,kn=new RegExp(An.source,"g");function On(t,n){var e,r,i,o=An.lastIndex=kn.lastIndex=0,a=-1,u=[],l=[];for(t+="",n+="";(e=An.exec(t))&&(r=kn.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),u[a]?u[a]+=i:u[++a]=i),(e=e[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,l.push({i:a,x:Sn(e,r)})),o=kn.lastIndex;return o<n.length&&(i=n.slice(o),u[a]?u[a]+=i:u[++a]=i),u.length<2?l[0]?function(t){return function(n){return t(n)+""}}(l[0].x):function(t){return function(){return t}}(n):(n=l.length,function(t){for(var e,r=0;r<n;++r)u[(e=l[r]).i]=e.x(t);return u.join("")})}function En(t,n){var e,r=typeof n;return null==n||"boolean"===r?vn(n):("number"===r?Sn:"string"===r?(e=Qt(n))?(n=e,mn):On:n instanceof Qt?mn:n instanceof Date?xn:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}(n)?bn:Array.isArray(n)?wn:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?Mn:Sn)(t,n)}function $n(t,n){return t=+t,n=+n,function(e){return Math.round(t*(1-e)+n*e)}}var Nn,Tn=180/Math.PI,jn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Pn(t,n,e,r,i,o){var a,u,l;return(a=Math.sqrt(t*t+n*n))&&(t/=a,n/=a),(l=t*e+n*r)&&(e-=t*l,r-=n*l),(u=Math.sqrt(e*e+r*r))&&(e/=u,r/=u,l/=u),t*r<n*e&&(t=-t,n=-n,l=-l,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*Tn,skewX:Math.atan(l)*Tn,scaleX:a,scaleY:u}}function Cn(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(o,a){var u=[],l=[];return o=t(o),a=t(a),function(t,r,i,o,a,u){if(t!==i||r!==o){var l=a.push("translate(",null,n,null,e);u.push({i:l-4,x:Sn(t,i)},{i:l-2,x:Sn(r,o)})}else(i||o)&&a.push("translate("+i+n+o+e)}(o.translateX,o.translateY,a.translateX,a.translateY,u,l),function(t,n,e,o){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),o.push({i:e.push(i(e)+"rotate(",null,r)-2,x:Sn(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,a.rotate,u,l),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:Sn(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,a.skewX,u,l),function(t,n,e,r,o,a){if(t!==e||n!==r){var u=o.push(i(o)+"scale(",null,",",null,")");a.push({i:u-4,x:Sn(t,e)},{i:u-2,x:Sn(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,a.scaleX,a.scaleY,u,l),o=a=null,function(t){for(var n,e=-1,r=l.length;++e<r;)u[(n=l[e]).i]=n.x(t);return u.join("")}}}var In=Cn((function(t){const n=new("function"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?jn:Pn(n.a,n.b,n.c,n.d,n.e,n.f)}),"px, ","px)","deg)"),Rn=Cn((function(t){return null==t?jn:(Nn||(Nn=document.createElementNS("http://www.w3.org/2000/svg","g")),Nn.setAttribute("transform",t),(t=Nn.transform.baseVal.consolidate())?Pn((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):jn)}),", ",")",")");function Ln(t){return+t}var Dn=[0,1];function Un(t){return t}function qn(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:function(t){return function(){return t}}(isNaN(n)?NaN:.5)}function zn(t,n,e){var r=t[0],i=t[1],o=n[0],a=n[1];return i<r?(r=qn(i,r),o=e(a,o)):(r=qn(r,i),o=e(o,a)),function(t){return o(r(t))}}function Hn(t,n,e){var r=Math.min(t.length,n.length)-1,i=new Array(r),o=new Array(r),a=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++a<r;)i[a]=qn(t[a],t[a+1]),o[a]=e(n[a],n[a+1]);return function(n){var e=Et(t,n,1,r)-1;return o[e](i[e](n))}}function Fn(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Bn(){var t,n,e,r,i,o,a=Dn,u=Dn,l=En,c=Un;function s(){var t=Math.min(a.length,u.length);return c!==Un&&(c=function(t,n){var e;return t>n&&(e=t,t=n,n=e),function(e){return Math.max(t,Math.min(n,e))}}(a[0],a[t-1])),r=t>2?Hn:zn,i=o=null,f}function f(n){return null==n||isNaN(n=+n)?e:(i||(i=r(a.map(t),u,l)))(t(c(n)))}return f.invert=function(e){return c(n((o||(o=r(u,a.map(t),Sn)))(e)))},f.domain=function(t){return arguments.length?(a=Array.from(t,Ln),s()):a.slice()},f.range=function(t){return arguments.length?(u=Array.from(t),s()):u.slice()},f.rangeRound=function(t){return u=Array.from(t),l=$n,s()},f.clamp=function(t){return arguments.length?(c=!!t||Un,s()):c!==Un},f.interpolate=function(t){return arguments.length?(l=t,s()):l},f.unknown=function(t){return arguments.length?(e=t,f):e},function(e,r){return t=e,n=r,s()}}function Xn(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf("e"))<0)return null;var e,r=t.slice(0,e);return[r.length>1?r[0]+r.slice(2):r,+t.slice(e+1)]}function Yn(t){return(t=Xn(Math.abs(t)))?t[1]:NaN}var Wn,Vn=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Gn(t){if(!(n=Vn.exec(t)))throw new Error("invalid format: "+t);var n;return new Jn({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function Jn(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 Zn(t,n){var e=Xn(t,n);if(!e)return t+"";var r=e[0],i=e[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")}Gn.prototype=Jn.prototype,Jn.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 Kn={"%":(t,n)=>(100*t).toFixed(n),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,n)=>t.toExponential(n),f:(t,n)=>t.toFixed(n),g:(t,n)=>t.toPrecision(n),o:t=>Math.round(t).toString(8),p:(t,n)=>Zn(100*t,n),r:Zn,s:function(t,n){var e=Xn(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(Wn=3*Math.max(-8,Math.min(8,Math.floor(i/3))))+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+Xn(t,Math.max(0,n+o-1))[0]},X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Qn(t){return t}var te,ne,ee,re=Array.prototype.map,ie=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function oe(t){var n,e,r=void 0===t.grouping||void 0===t.thousands?Qn:(n=re.call(t.grouping,Number),e=t.thousands+"",function(t,r){for(var i=t.length,o=[],a=0,u=n[0],l=0;i>0&&u>0&&(l+u+1>r&&(u=Math.max(1,r-l)),o.push(t.substring(i-=u,i+u)),!((l+=u+1)>r));)u=n[a=(a+1)%n.length];return o.reverse().join(e)}),i=void 0===t.currency?"":t.currency[0]+"",o=void 0===t.currency?"":t.currency[1]+"",a=void 0===t.decimal?".":t.decimal+"",u=void 0===t.numerals?Qn:function(t){return function(n){return n.replace(/[0-9]/g,(function(n){return t[+n]}))}}(re.call(t.numerals,String)),l=void 0===t.percent?"%":t.percent+"",c=void 0===t.minus?"−":t.minus+"",s=void 0===t.nan?"NaN":t.nan+"";function f(t){var n=(t=Gn(t)).fill,e=t.align,f=t.sign,h=t.symbol,p=t.zero,d=t.width,y=t.comma,v=t.precision,_=t.trim,g=t.type;"n"===g?(y=!0,g="g"):Kn[g]||(void 0===v&&(v=12),_=!0,g="g"),(p||"0"===n&&"="===e)&&(p=!0,n="0",e="=");var m="$"===h?i:"#"===h&&/[boxX]/.test(g)?"0"+g.toLowerCase():"",b="$"===h?o:/[%p]/.test(g)?l:"",w=Kn[g],x=/[defgprs%]/.test(g);function S(t){var i,o,l,h=m,S=b;if("c"===g)S=w(t)+S,t="";else{var M=(t=+t)<0||1/t<0;if(t=isNaN(t)?s:w(Math.abs(t),v),_&&(t=function(t){t:for(var n,e=t.length,r=1,i=-1;r<e;++r)switch(t[r]){case".":i=n=r;break;case"0":0===i&&(i=r),n=r;break;default:if(!+t[r])break t;i>0&&(i=0)}return i>0?t.slice(0,i)+t.slice(n+1):t}(t)),M&&0==+t&&"+"!==f&&(M=!1),h=(M?"("===f?f:c:"-"===f||"("===f?"":f)+h,S=("s"===g?ie[8+Wn/3]:"")+S+(M&&"("===f?")":""),x)for(i=-1,o=t.length;++i<o;)if(48>(l=t.charCodeAt(i))||l>57){S=(46===l?a+t.slice(i+1):t.slice(i))+S,t=t.slice(0,i);break}}y&&!p&&(t=r(t,1/0));var A=h.length+t.length+S.length,k=A<d?new Array(d-A+1).join(n):"";switch(y&&p&&(t=r(k+t,k.length?d-S.length:1/0),k=""),e){case"<":t=h+t+S+k;break;case"=":t=h+k+t+S;break;case"^":t=k.slice(0,A=k.length>>1)+h+t+S+k.slice(A);break;default:t=k+h+t+S}return u(t)}return v=void 0===v?6:/[gprs]/.test(g)?Math.max(1,Math.min(21,v)):Math.max(0,Math.min(20,v)),S.toString=function(){return t+""},S}return{format:f,formatPrefix:function(t,n){var e=f(((t=Gn(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(Yn(n)/3))),i=Math.pow(10,-r),o=ie[8+r/3];return function(t){return e(i*t)+o}}}}function ae(t,n,e,r){var i,o=function(t,n,e){e=+e;const r=(n=+n)<(t=+t),i=r?Pt(n,t,e):Pt(t,n,e);return(r?-1:1)*(i<0?1/-i:i)}(t,n,e);switch((r=Gn(null==r?",f":r)).type){case"s":var a=Math.max(Math.abs(t),Math.abs(n));return null!=r.precision||isNaN(i=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Yn(n)/3)))-Yn(Math.abs(t)))}(o,a))||(r.precision=i),ee(r,a);case"":case"e":case"g":case"p":case"r":null!=r.precision||isNaN(i=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Yn(n)-Yn(t))+1}(o,Math.max(Math.abs(t),Math.abs(n))))||(r.precision=i-("e"===r.type));break;case"f":case"%":null!=r.precision||isNaN(i=function(t){return Math.max(0,-Yn(Math.abs(t)))}(o))||(r.precision=i-2*("%"===r.type))}return ne(r)}function ue(t){var n=t.domain;return t.ticks=function(t){var e=n();return function(t,n,e){if(!((e=+e)>0))return[];if((t=+t)==(n=+n))return[t];const r=n<t,[i,o,a]=r?jt(n,t,e):jt(t,n,e);if(!(o>=i))return[];const u=o-i+1,l=new Array(u);if(r)if(a<0)for(let t=0;t<u;++t)l[t]=(o-t)/-a;else for(let t=0;t<u;++t)l[t]=(o-t)*a;else if(a<0)for(let t=0;t<u;++t)l[t]=(i+t)/-a;else for(let t=0;t<u;++t)l[t]=(i+t)*a;return l}(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var r=n();return ae(r[0],r[r.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var r,i,o=n(),a=0,u=o.length-1,l=o[a],c=o[u],s=10;for(c<l&&(i=l,l=c,c=i,i=a,a=u,u=i);s-- >0;){if((i=Pt(l,c,e))===r)return o[a]=l,o[u]=c,n(o);if(i>0)l=Math.floor(l/i)*i,c=Math.ceil(c/i)*i;else{if(!(i<0))break;l=Math.ceil(l*i)/i,c=Math.floor(c*i)/i}r=i}return t},t}function le(){var t=Bn()(Un,Un);return t.copy=function(){return Fn(t,le())},Ct.apply(t,arguments),ue(t)}function ce(t){return function(n){return n<0?-Math.pow(-n,t):Math.pow(n,t)}}function se(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function fe(t){return t<0?-t*t:t*t}function he(t){var n=t(Un,Un),e=1;return n.exponent=function(n){return arguments.length?1===(e=+n)?t(Un,Un):.5===e?t(se,fe):t(ce(e),ce(1/e)):e},ue(n)}function pe(){var t=he(Bn());return t.copy=function(){return Fn(t,pe()).exponent(t.exponent())},Ct.apply(t,arguments),t}function de(t){var n=0,e=t.children,r=e&&e.length;if(r)for(;--r>=0;)n+=e[r].value;else n=1;t.value=n}function ye(t,n){t instanceof Map?(t=[void 0,t],void 0===n&&(n=_e)):void 0===n&&(n=ve);for(var e,r,i,o,a,u=new be(t),l=[u];e=l.pop();)if((i=n(e.data))&&(a=(i=Array.from(i)).length))for(e.children=i,o=a-1;o>=0;--o)l.push(r=i[o]=new be(i[o])),r.parent=e,r.depth=e.depth+1;return u.eachBefore(me)}function ve(t){return t.children}function _e(t){return Array.isArray(t)?t[1]:null}function ge(t){void 0!==t.data.value&&(t.value=t.data.value),t.data=t.data.data}function me(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function be(t){this.data=t,this.depth=this.height=0,this.parent=null}function we(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function xe(){var t=1,n=1,e=0,r=!1;function i(i){var o=i.height+1;return i.x0=i.y0=e,i.x1=t,i.y1=n/o,i.eachBefore(function(t,n){return function(r){r.children&&function(t,n,e,r,i){for(var o,a=t.children,u=-1,l=a.length,c=t.value&&(r-n)/t.value;++u<l;)(o=a[u]).y0=e,o.y1=i,o.x0=n,o.x1=n+=o.value*c}(r,r.x0,t*(r.depth+1)/n,r.x1,t*(r.depth+2)/n);var i=r.x0,o=r.y0,a=r.x1-e,u=r.y1-e;a<i&&(i=a=(i+a)/2),u<o&&(o=u=(o+u)/2),r.x0=i,r.y0=o,r.x1=a,r.y1=u}}(n,o)),r&&i.eachBefore(we),i}return i.round=function(t){return arguments.length?(r=!!t,i):r},i.size=function(e){return arguments.length?(t=+e[0],n=+e[1],i):[t,n]},i.padding=function(t){return arguments.length?(e=+t,i):e},i}function Se(t){return function(){return t}}te=oe({thousands:",",grouping:[3],currency:["$",""]}),ne=te.format,ee=te.formatPrefix,be.prototype=ye.prototype={constructor:be,count:function(){return this.eachAfter(de)},each:function(t,n){let e=-1;for(const r of this)t.call(n,r,++e,this);return this},eachAfter:function(t,n){for(var e,r,i,o=this,a=[o],u=[],l=-1;o=a.pop();)if(u.push(o),e=o.children)for(r=0,i=e.length;r<i;++r)a.push(e[r]);for(;o=u.pop();)t.call(n,o,++l,this);return this},eachBefore:function(t,n){for(var e,r,i=this,o=[i],a=-1;i=o.pop();)if(t.call(n,i,++a,this),e=i.children)for(r=e.length-1;r>=0;--r)o.push(e[r]);return this},find:function(t,n){let e=-1;for(const r of this)if(t.call(n,r,++e,this))return r},sum:function(t){return this.eachAfter((function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e}))},sort:function(t){return this.eachBefore((function(n){n.children&&n.children.sort(t)}))},path:function(t){for(var n=this,e=function(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;t=e.pop(),n=r.pop();for(;t===n;)i=t,t=e.pop(),n=r.pop();return i}(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r},ancestors:function(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n},descendants:function(){return Array.from(this)},leaves:function(){var t=[];return this.eachBefore((function(n){n.children||t.push(n)})),t},links:function(){var t=this,n=[];return t.each((function(e){e!==t&&n.push({source:e.parent,target:e})})),n},copy:function(){return ye(this).eachBefore(ge)},[Symbol.iterator]:function*(){var t,n,e,r,i=this,o=[i];do{for(t=o.reverse(),o=[];i=t.pop();)if(yield i,n=i.children)for(e=0,r=n.length;e<r;++e)o.push(n[e])}while(o.length)}};const Me=Math.abs,Ae=Math.atan2,ke=Math.cos,Oe=Math.max,Ee=Math.min,$e=Math.sin,Ne=Math.sqrt,Te=1e-12,je=Math.PI,Pe=je/2,Ce=2*je;function Ie(t){return t>=1?Pe:t<=-1?-Pe:Math.asin(t)}const Re=Math.PI,Le=2*Re,De=1e-6,Ue=Le-De;function qe(t){this._+=t[0];for(let n=1,e=t.length;n<e;++n)this._+=arguments[n]+t[n]}class ze{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=null==t?qe:function(t){let n=Math.floor(t);if(!(n>=0))throw new Error(`invalid digits: ${t}`);if(n>15)return qe;const e=10**n;return function(t){this._+=t[0];for(let n=1,r=t.length;n<r;++n)this._+=Math.round(arguments[n]*e)/e+t[n]}}(t)}moveTo(t,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,n){this._append`L${this._x1=+t},${this._y1=+n}`}quadraticCurveTo(t,n,e,r){this._append`Q${+t},${+n},${this._x1=+e},${this._y1=+r}`}bezierCurveTo(t,n,e,r,i,o){this._append`C${+t},${+n},${+e},${+r},${this._x1=+i},${this._y1=+o}`}arcTo(t,n,e,r,i){if(t=+t,n=+n,e=+e,r=+r,(i=+i)<0)throw new Error(`negative radius: ${i}`);let o=this._x1,a=this._y1,u=e-t,l=r-n,c=o-t,s=a-n,f=c*c+s*s;if(null===this._x1)this._append`M${this._x1=t},${this._y1=n}`;else if(f>De)if(Math.abs(s*u-l*c)>De&&i){let h=e-o,p=r-a,d=u*u+l*l,y=h*h+p*p,v=Math.sqrt(d),_=Math.sqrt(f),g=i*Math.tan((Re-Math.acos((d+f-y)/(2*v*_)))/2),m=g/_,b=g/v;Math.abs(m-1)>De&&this._append`L${t+m*c},${n+m*s}`,this._append`A${i},${i},0,0,${+(s*h>c*p)},${this._x1=t+b*u},${this._y1=n+b*l}`}else this._append`L${this._x1=t},${this._y1=n}`;else;}arc(t,n,e,r,i,o){if(t=+t,n=+n,o=!!o,(e=+e)<0)throw new Error(`negative radius: ${e}`);let a=e*Math.cos(r),u=e*Math.sin(r),l=t+a,c=n+u,s=1^o,f=o?r-i:i-r;null===this._x1?this._append`M${l},${c}`:(Math.abs(this._x1-l)>De||Math.abs(this._y1-c)>De)&&this._append`L${l},${c}`,e&&(f<0&&(f=f%Le+Le),f>Ue?this._append`A${e},${e},0,1,${s},${t-a},${n-u}A${e},${e},0,1,${s},${this._x1=l},${this._y1=c}`:f>De&&this._append`A${e},${e},0,${+(f>=Re)},${s},${this._x1=t+e*Math.cos(i)},${this._y1=n+e*Math.sin(i)}`)}rect(t,n,e,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${e=+e}v${+r}h${-e}Z`}toString(){return this._}}function He(){return new ze}function Fe(t){return t.innerRadius}function Be(t){return t.outerRadius}function Xe(t){return t.startAngle}function Ye(t){return t.endAngle}function We(t){return t&&t.padAngle}function Ve(t,n,e,r,i,o,a){var u=t-e,l=n-r,c=(a?o:-o)/Ne(u*u+l*l),s=c*l,f=-c*u,h=t+s,p=n+f,d=e+s,y=r+f,v=(h+d)/2,_=(p+y)/2,g=d-h,m=y-p,b=g*g+m*m,w=i-o,x=h*y-d*p,S=(m<0?-1:1)*Ne(Oe(0,w*w*b-x*x)),M=(x*m-g*S)/b,A=(-x*g-m*S)/b,k=(x*m+g*S)/b,O=(-x*g+m*S)/b,E=M-v,$=A-_,N=k-v,T=O-_;return E*E+$*$>N*N+T*T&&(M=k,A=O),{cx:M,cy:A,x01:-s,y01:-f,x11:M*(i/w-1),y11:A*(i/w-1)}}function Ge(){var t=Fe,n=Be,e=Se(0),r=null,i=Xe,o=Ye,a=We,u=null,l=function(t){let n=3;return t.digits=function(e){if(!arguments.length)return n;if(null==e)n=null;else{const t=Math.floor(e);if(!(t>=0))throw new RangeError(`invalid digits: ${e}`);n=t}return t},()=>new ze(n)}(c);function c(){var c,s,f=+t.apply(this,arguments),h=+n.apply(this,arguments),p=i.apply(this,arguments)-Pe,d=o.apply(this,arguments)-Pe,y=Me(d-p),v=d>p;if(u||(u=c=l()),h<f&&(s=h,h=f,f=s),h>Te)if(y>Ce-Te)u.moveTo(h*ke(p),h*$e(p)),u.arc(0,0,h,p,d,!v),f>Te&&(u.moveTo(f*ke(d),f*$e(d)),u.arc(0,0,f,d,p,v));else{var _,g,m=p,b=d,w=p,x=d,S=y,M=y,A=a.apply(this,arguments)/2,k=A>Te&&(r?+r.apply(this,arguments):Ne(f*f+h*h)),O=Ee(Me(h-f)/2,+e.apply(this,arguments)),E=O,$=O;if(k>Te){var N=Ie(k/f*$e(A)),T=Ie(k/h*$e(A));(S-=2*N)>Te?(w+=N*=v?1:-1,x-=N):(S=0,w=x=(p+d)/2),(M-=2*T)>Te?(m+=T*=v?1:-1,b-=T):(M=0,m=b=(p+d)/2)}var j=h*ke(m),P=h*$e(m),C=f*ke(x),I=f*$e(x);if(O>Te){var R,L=h*ke(b),D=h*$e(b),U=f*ke(w),q=f*$e(w);if(y<je)if(R=function(t,n,e,r,i,o,a,u){var l=e-t,c=r-n,s=a-i,f=u-o,h=f*l-s*c;if(!(h*h<Te))return[t+(h=(s*(n-o)-f*(t-i))/h)*l,n+h*c]}(j,P,U,q,L,D,C,I)){var z=j-R[0],H=P-R[1],F=L-R[0],B=D-R[1],X=1/$e(function(t){return t>1?0:t<-1?je:Math.acos(t)}((z*F+H*B)/(Ne(z*z+H*H)*Ne(F*F+B*B)))/2),Y=Ne(R[0]*R[0]+R[1]*R[1]);E=Ee(O,(f-Y)/(X-1)),$=Ee(O,(h-Y)/(X+1))}else E=$=0}M>Te?$>Te?(_=Ve(U,q,j,P,h,$,v),g=Ve(L,D,C,I,h,$,v),u.moveTo(_.cx+_.x01,_.cy+_.y01),$<O?u.arc(_.cx,_.cy,$,Ae(_.y01,_.x01),Ae(g.y01,g.x01),!v):(u.arc(_.cx,_.cy,$,Ae(_.y01,_.x01),Ae(_.y11,_.x11),!v),u.arc(0,0,h,Ae(_.cy+_.y11,_.cx+_.x11),Ae(g.cy+g.y11,g.cx+g.x11),!v),u.arc(g.cx,g.cy,$,Ae(g.y11,g.x11),Ae(g.y01,g.x01),!v))):(u.moveTo(j,P),u.arc(0,0,h,m,b,!v)):u.moveTo(j,P),f>Te&&S>Te?E>Te?(_=Ve(C,I,L,D,f,-E,v),g=Ve(j,P,U,q,f,-E,v),u.lineTo(_.cx+_.x01,_.cy+_.y01),E<O?u.arc(_.cx,_.cy,E,Ae(_.y01,_.x01),Ae(g.y01,g.x01),!v):(u.arc(_.cx,_.cy,E,Ae(_.y01,_.x01),Ae(_.y11,_.x11),!v),u.arc(0,0,f,Ae(_.cy+_.y11,_.cx+_.x11),Ae(g.cy+g.y11,g.cx+g.x11),v),u.arc(g.cx,g.cy,E,Ae(g.y11,g.x11),Ae(g.y01,g.x01),!v))):u.arc(0,0,f,x,w,v):u.lineTo(C,I)}else u.moveTo(0,0);if(u.closePath(),c)return u=null,c+""||null}return c.centroid=function(){var e=(+t.apply(this,arguments)+ +n.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +o.apply(this,arguments))/2-je/2;return[ke(r)*e,$e(r)*e]},c.innerRadius=function(n){return arguments.length?(t="function"==typeof n?n:Se(+n),c):t},c.outerRadius=function(t){return arguments.length?(n="function"==typeof t?t:Se(+t),c):n},c.cornerRadius=function(t){return arguments.length?(e="function"==typeof t?t:Se(+t),c):e},c.padRadius=function(t){return arguments.length?(r=null==t?null:"function"==typeof t?t:Se(+t),c):r},c.startAngle=function(t){return arguments.length?(i="function"==typeof t?t:Se(+t),c):i},c.endAngle=function(t){return arguments.length?(o="function"==typeof t?t:Se(+t),c):o},c.padAngle=function(t){return arguments.length?(a="function"==typeof t?t:Se(+t),c):a},c.context=function(t){return arguments.length?(u=null==t?null:t,c):u},c}He.prototype=ze.prototype;var Je={value:()=>{}};function Ze(){for(var t,n=0,e=arguments.length,r={};n<e;++n){if(!(t=arguments[n]+"")||t in r||/[\s.]/.test(t))throw new Error("illegal type: "+t);r[t]=[]}return new Ke(r)}function Ke(t){this._=t}function Qe(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function tr(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=Je,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}Ke.prototype=Ze.prototype={constructor:Ke,on:function(t,n){var e,r,i=this._,o=(r=i,(t+"").trim().split(/^|\s+/).map((function(t){var n="",e=t.indexOf(".");if(e>=0&&(n=t.slice(e+1),t=t.slice(0,e)),t&&!r.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:n}}))),a=-1,u=o.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++a<u;)if(e=(t=o[a]).type)i[e]=tr(i[e],t.name,n);else if(null==n)for(e in i)i[e]=tr(i[e],t.name,null);return this}for(;++a<u;)if((e=(t=o[a]).type)&&(e=Qe(i[e],t.name)))return e},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new Ke(t)},call:function(t,n){if((e=arguments.length-2)>0)for(var e,r,i=new Array(e),o=0;o<e;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=0,e=(r=this._[t]).length;o<e;++o)r[o].value.apply(n,i)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};var nr,er,rr=0,ir=0,or=0,ar=0,ur=0,lr=0,cr="object"==typeof performance&&performance.now?performance:Date,sr="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function fr(){return ur||(sr(hr),ur=cr.now()+lr)}function hr(){ur=0}function pr(){this._call=this._time=this._next=null}function dr(t,n,e){var r=new pr;return r.restart(t,n,e),r}function yr(){ur=(ar=cr.now())+lr,rr=ir=0;try{!function(){fr(),++rr;for(var t,n=nr;n;)(t=ur-n._time)>=0&&n._call.call(void 0,t),n=n._next;--rr}()}finally{rr=0,function(){var t,n,e=nr,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:nr=n);er=t,_r(r)}(),ur=0}}function vr(){var t=cr.now(),n=t-ar;n>1e3&&(lr-=n,ar=t)}function _r(t){rr||(ir&&(ir=clearTimeout(ir)),t-ur>24?(t<1/0&&(ir=setTimeout(yr,t-cr.now()-lr)),or&&(or=clearInterval(or))):(or||(ar=cr.now(),or=setInterval(vr,1e3)),rr=1,sr(yr)))}function gr(t,n,e){var r=new pr;return n=null==n?0:+n,r.restart((e=>{r.stop(),t(e+n)}),n,e),r}pr.prototype=dr.prototype={constructor:pr,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?fr():+e)+(null==n?0:+n),this._next||er===this||(er?er._next=this:nr=this,er=this),this._call=t,this._time=e,_r()},stop:function(){this._call&&(this._call=null,this._time=1/0,_r())}};var mr=Ze("start","end","cancel","interrupt"),br=[];function wr(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 c,s,f,h;if(1!==e.state)return l();for(c in i)if((h=i[c]).name===e.name){if(3===h.state)return gr(a);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[c]):+c<n&&(h.state=6,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete i[c])}if(gr((function(){3===e.state&&(e.state=4,e.timer.restart(u,e.delay,e.time),u(o))})),e.state=2,e.on.call("start",t,t.__data__,e.index,e.group),2===e.state){for(e.state=3,r=new Array(f=e.tween.length),c=0,s=-1;c<f;++c)(h=e.tween[c].value.call(t,t.__data__,e.index,e.group))&&(r[++s]=h);r.length=s+1}}function u(n){for(var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(l),e.state=5,1),o=-1,a=r.length;++o<a;)r[o].call(t,i);5===e.state&&(e.on.call("end",t,t.__data__,e.index,e.group),l())}function l(){for(var r in e.state=6,e.timer.stop(),delete i[n],i)return;delete t.__transition}i[n]=e,e.timer=dr(o,0,e.time)}(t,e,{name:n,index:r,group:i,on:mr,tween:br,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function xr(t,n){var e=Mr(t,n);if(e.state>0)throw new Error("too late; already scheduled");return e}function Sr(t,n){var e=Mr(t,n);if(e.state>3)throw new Error("too late; already running");return e}function Mr(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function Ar(t,n){var e,r;return f