Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

d3-flame-graph

Package Overview
Dependencies
Maintainers
1
Versions
66
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

d3-flame-graph - npm Package Compare versions

Comparing version 4.0.6 to 4.0.7

src/colorScheme.js

60

dist/d3-flamegraph-colorMapper.js

@@ -94,3 +94,3 @@ (function webpackUniversalModuleDefinition(root, factory) {

/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 6);
/******/ return __webpack_require__(__webpack_require__.s = 7);
/******/ })

@@ -100,20 +100,16 @@ /************************************************************************/

/***/ 6:
/***/ 7:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "allocationColorMapper", function() { return allocationColorMapper; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "offCpuColorMapper", function() { return offCpuColorMapper; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "nodeJsColorMapper", function() { return nodeJsColorMapper; });
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "differentialColorMapper", function() { return differentialColorMapper; });
function pickHex (color1, color2, weight) {
const w1 = weight
const w2 = 1 - w1
const rgb = [Math.round(color1[0] * w1 + color2[0] * w2),
Math.round(color1[1] * w1 + color2[1] * w2),
Math.round(color1[2] * w1 + color2[2] * w2)]
return rgb
}
// EXPORTS
__webpack_require__.d(__webpack_exports__, "allocationColorMapper", function() { return /* binding */ allocationColorMapper; });
__webpack_require__.d(__webpack_exports__, "offCpuColorMapper", function() { return /* binding */ offCpuColorMapper; });
__webpack_require__.d(__webpack_exports__, "nodeJsColorMapper", function() { return /* binding */ nodeJsColorMapper; });
__webpack_require__.d(__webpack_exports__, "differentialColorMapper", function() { return /* binding */ differentialColorMapper; });
// CONCATENATED MODULE: ./colorUtils.js
function generateHash (name) {

@@ -143,2 +139,27 @@ // Return a vector (0.0->1.0) that is a hash of the input string.

function generateColorVector (name) {
var vector = 0
if (name) {
var nameArr = name.split('`')
if (nameArr.length > 1) {
name = nameArr[nameArr.length - 1] // drop module name if present
}
name = name.split('(')[0] // drop extra info
vector = generateHash(name)
}
return vector
}
// CONCATENATED MODULE: ./colorMapper.js
function pickHex (color1, color2, weight) {
const w1 = weight
const w2 = 1 - w1
const rgb = [Math.round(color1[0] * w1 + color2[0] * w2),
Math.round(color1[1] * w1 + color2[1] * w2),
Math.round(color1[2] * w1 + color2[2] * w2)]
return rgb
}
function allocationColorMapper (d, originalColor) {

@@ -157,12 +178,5 @@ if (d.highlight) return originalColor

let name = d.data.n || d.data.name
let vector = 0
const nameArr = name.split('`')
const name = d.data.n || d.data.name
const vector = generateColorVector(name)
if (nameArr.length > 1) {
name = nameArr[nameArr.length - 1] // drop module name if present
}
name = name.split('(')[0] // drop extra info
vector = generateHash(name)
const r = 0 + Math.round(55 * (1 - vector))

@@ -169,0 +183,0 @@ const g = 0 + Math.round(230 * (1 - vector))

@@ -1,1 +0,1 @@

!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["colorMapper.min"]=e():(t.flamegraph=t.flamegraph||{},t.flamegraph["colorMapper.min"]=e())}(window,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=6)}({6:function(t,e,r){"use strict";function n(t,e){if(t.highlight)return e;return`rgb(${function(t,e,r){const n=r,o=1-n;return[Math.round(t[0]*n+e[0]*o),Math.round(t[1]*n+e[1]*o),Math.round(t[2]*n+e[2]*o)]}([0,255,40],[196,245,233],t.data.value/t.value).join()})`}function o(t,e){if(t.highlight)return e;let r=t.data.n||t.data.name,n=0;const o=r.split("`");return o.length>1&&(r=o[o.length-1]),r=r.split("(")[0],n=function(t){var e=0,r=0,n=1;if(t){for(var o=0;o<t.length&&!(o>6);o++)e+=n*(t.charCodeAt(o)%10),r+=9*n,n*=.7;r>0&&(e/=r)}return e}(r),"rgb("+(0+Math.round(55*(1-n)))+","+(0+Math.round(230*(1-n)))+","+(200+Math.round(55*n))+")"}function u(t,e){let r=e;const{v8_jit:n,javascript:o,optimized:u}=t.data.extras||{};if(n&&!o&&(r="#dadada"),o){let e=(u||0)/t.value,n=255,o=0,a=0;e<.4?(e*=2.5,n=240-200*e):e<.9?(e=2*(e-.4),n=0,a=200-200*e,o=100*e):(e=10*(e-.9),n=0,a=0,o=100+150*e),r=`rgb(${n} , ${o}, ${a})`}return r}function a(t,e){if(t.highlight)return e;let r=220,n=220,o=220;const u=t.delta||t.data.d||t.data.delta,a=Math.abs(u);let i=t.value||t.data.v||t.data.value;i<=a&&(i=a);const f=a/i;return u===i?(r=255,n=190,o=90):u>0?(o=Math.round(235*(1-f)),n=o):u<0&&(r=Math.round(235*(1-f)),n=r),"rgb("+r+","+n+","+o+")"}r.r(e),r.d(e,"allocationColorMapper",(function(){return n})),r.d(e,"offCpuColorMapper",(function(){return o})),r.d(e,"nodeJsColorMapper",(function(){return u})),r.d(e,"differentialColorMapper",(function(){return a}))}})}));
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["colorMapper.min"]=e():(t.flamegraph=t.flamegraph||{},t.flamegraph["colorMapper.min"]=e())}(window,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=7)}({7:function(t,e,r){"use strict";function n(t,e){if(t.highlight)return e;return`rgb(${function(t,e,r){const n=r,o=1-n;return[Math.round(t[0]*n+e[0]*o),Math.round(t[1]*n+e[1]*o),Math.round(t[2]*n+e[2]*o)]}([0,255,40],[196,245,233],t.data.value/t.value).join()})`}function o(t,e){if(t.highlight)return e;const r=function(t){var e=0;if(t){var r=t.split("`");r.length>1&&(t=r[r.length-1]),e=function(t){var e=0,r=0,n=1;if(t){for(var o=0;o<t.length&&!(o>6);o++)e+=n*(t.charCodeAt(o)%10),r+=9*n,n*=.7;r>0&&(e/=r)}return e}(t=t.split("(")[0])}return e}(t.data.n||t.data.name);return"rgb("+(0+Math.round(55*(1-r)))+","+(0+Math.round(230*(1-r)))+","+(200+Math.round(55*r))+")"}function u(t,e){let r=e;const{v8_jit:n,javascript:o,optimized:u}=t.data.extras||{};if(n&&!o&&(r="#dadada"),o){let e=(u||0)/t.value,n=255,o=0,a=0;e<.4?(e*=2.5,n=240-200*e):e<.9?(e=2*(e-.4),n=0,a=200-200*e,o=100*e):(e=10*(e-.9),n=0,a=0,o=100+150*e),r=`rgb(${n} , ${o}, ${a})`}return r}function a(t,e){if(t.highlight)return e;let r=220,n=220,o=220;const u=t.delta||t.data.d||t.data.delta,a=Math.abs(u);let i=t.value||t.data.v||t.data.value;i<=a&&(i=a);const f=a/i;return u===i?(r=255,n=190,o=90):u>0?(o=Math.round(235*(1-f)),n=o):u<0&&(r=Math.round(235*(1-f)),n=r),"rgb("+r+","+n+","+o+")"}r.r(e),r.d(e,"allocationColorMapper",(function(){return n})),r.d(e,"offCpuColorMapper",(function(){return o})),r.d(e,"nodeJsColorMapper",(function(){return u})),r.d(e,"differentialColorMapper",(function(){return a}))}})}));

@@ -1,1 +0,1 @@

!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports["tooltip.min"]=n():(t.flamegraph=t.flamegraph||{},t.flamegraph["tooltip.min"]=n())}(window,(function(){return function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=7)}({7:function(t,n,e){"use strict";function r(){}e.r(n),e.d(n,"defaultFlamegraphTooltip",(function(){return we}));var i=function(t){return null==t?r:function(){return this.querySelector(t)}};function o(){return[]}var u=function(t){return null==t?o:function(){return this.querySelectorAll(t)}},a=function(t){return function(){return this.matches(t)}},s=function(t){return new Array(t.length)};function l(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}l.prototype={constructor:l,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)}};function c(t,n,e,r,i,o){for(var u,a=0,s=n.length,c=o.length;a<c;++a)(u=n[a])?(u.__data__=o[a],r[a]=u):e[a]=new l(t,o[a]);for(;a<s;++a)(u=n[a])&&(i[a]=u)}function f(t,n,e,r,i,o,u){var a,s,c,f={},h=n.length,p=o.length,d=new Array(h);for(a=0;a<h;++a)(s=n[a])&&(d[a]=c="$"+u.call(s,s.__data__,a,n),c in f?i[a]=s:f[c]=s);for(a=0;a<p;++a)(s=f[c="$"+u.call(t,o[a],a,o)])?(r[a]=s,s.__data__=o[a],f[c]=null):e[a]=new l(t,o[a]);for(a=0;a<h;++a)(s=n[a])&&f[d[a]]===s&&(i[a]=s)}function h(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}var p="http://www.w3.org/1999/xhtml",d={svg:"http://www.w3.org/2000/svg",xhtml:p,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},v=function(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),d.hasOwnProperty(n)?{space:d[n],local:t}:t};function y(t){return function(){this.removeAttribute(t)}}function g(t){return function(){this.removeAttributeNS(t.space,t.local)}}function _(t,n){return function(){this.setAttribute(t,n)}}function m(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function w(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)}}var x=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function A(t){return function(){this.style.removeProperty(t)}}function N(t,n,e){return function(){this.style.setProperty(t,n,e)}}function k(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function E(t,n){return t.style.getPropertyValue(n)||x(t).getComputedStyle(t,null).getPropertyValue(n)}function M(t){return function(){delete this[t]}}function S(t,n){return function(){this[t]=n}}function P(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function O(t){return t.trim().split(/^|\s+/)}function j(t){return t.classList||new q(t)}function q(t){this._node=t,this._names=O(t.getAttribute("class")||"")}function C(t,n){for(var e=j(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function T(t,n){for(var e=j(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function X(t){return function(){C(this,t)}}function R(t){return function(){T(this,t)}}function I(t,n){return function(){(n.apply(this,arguments)?C:T)(this,t)}}q.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}};function L(){this.textContent=""}function D(t){return function(){this.textContent=t}}function H(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function Y(){this.innerHTML=""}function $(t){return function(){this.innerHTML=t}}function B(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function V(){this.nextSibling&&this.parentNode.appendChild(this)}function z(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function U(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===p&&n.documentElement.namespaceURI===p?n.createElement(t):n.createElementNS(e,t)}}function F(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var G=function(t){var n=v(t);return(n.local?F:U)(n)};function J(){return null}function K(){var t=this.parentNode;t&&t.removeChild(this)}function Q(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function W(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}var Z={},tt=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(Z={mouseenter:"mouseover",mouseleave:"mouseout"}));function nt(t,n,e){return t=et(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function et(t,n,e){return function(r){var i=tt;tt=r;try{t.call(this,this.__data__,n,e)}finally{tt=i}}}function rt(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}}))}function it(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.capture);++i?n.length=i:delete this.__on}}}function ot(t,n,e){var r=Z.hasOwnProperty(t.type)?nt:et;return function(i,o,u){var a,s=this.__on,l=r(n,o,u);if(s)for(var c=0,f=s.length;c<f;++c)if((a=s[c]).type===t.type&&a.name===t.name)return this.removeEventListener(a.type,a.listener,a.capture),this.addEventListener(a.type,a.listener=l,a.capture=e),void(a.value=n);this.addEventListener(t.type,l,e),a={type:t.type,name:t.name,value:n,listener:l,capture:e},s?s.push(a):this.__on=[a]}}function ut(t,n,e){var r=x(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 at(t,n){return function(){return ut(this,t,n)}}function st(t,n){return function(){return ut(this,t,n.apply(this,arguments))}}var lt=[null];function ct(t,n){this._groups=t,this._parents=n}function ft(){return new ct([[document.documentElement]],lt)}ct.prototype=ft.prototype={constructor:ct,select:function(t){"function"!=typeof t&&(t=i(t));for(var n=this._groups,e=n.length,r=new Array(e),o=0;o<e;++o)for(var u,a,s=n[o],l=s.length,c=r[o]=new Array(l),f=0;f<l;++f)(u=s[f])&&(a=t.call(u,u.__data__,f,s))&&("__data__"in u&&(a.__data__=u.__data__),c[f]=a);return new ct(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=u(t));for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var a,s=n[o],l=s.length,c=0;c<l;++c)(a=s[c])&&(r.push(t.call(a,a.__data__,c,s)),i.push(a));return new ct(r,i)},filter:function(t){"function"!=typeof t&&(t=a(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],s=u.length,l=r[i]=[],c=0;c<s;++c)(o=u[c])&&t.call(o,o.__data__,c,u)&&l.push(o);return new ct(r,this._parents)},data:function(t,n){if(!t)return y=new Array(this.size()),h=-1,this.each((function(t){y[++h]=t})),y;var e,r=n?f:c,i=this._parents,o=this._groups;"function"!=typeof t&&(e=t,t=function(){return e});for(var u=o.length,a=new Array(u),s=new Array(u),l=new Array(u),h=0;h<u;++h){var p=i[h],d=o[h],v=d.length,y=t.call(p,p&&p.__data__,h,i),g=y.length,_=s[h]=new Array(g),m=a[h]=new Array(g);r(p,d,_,m,l[h]=new Array(v),y,n);for(var w,b,x=0,A=0;x<g;++x)if(w=_[x]){for(x>=A&&(A=x+1);!(b=m[A])&&++A<g;);w._next=b||null}}return(a=new ct(a,i))._enter=s,a._exit=l,a},enter:function(){return new ct(this._enter||this._groups.map(s),this._parents)},exit:function(){return new ct(this._exit||this._groups.map(s),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return r="function"==typeof t?t(r):r.append(t+""),null!=n&&(i=n(i)),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var s,l=n[a],c=e[a],f=l.length,h=u[a]=new Array(f),p=0;p<f;++p)(s=l[p]||c[p])&&(h[p]=s);for(;a<r;++a)u[a]=n[a];return new ct(u,this._parents)},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,u=i[o];--o>=0;)(r=i[o])&&(u&&4^r.compareDocumentPosition(u)&&u.parentNode.insertBefore(r,u),u=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=h);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var u,a=e[o],s=a.length,l=i[o]=new Array(s),c=0;c<s;++c)(u=a[c])&&(l[c]=u);l.sort(n)}return new ct(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),n=-1;return this.each((function(){t[++n]=this})),t},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 u=r[i];if(u)return u}return null},size:function(){var t=0;return this.each((function(){++t})),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],u=0,a=o.length;u<a;++u)(i=o[u])&&t.call(i,i.__data__,u,o);return this},attr:function(t,n){var e=v(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?g:y:"function"==typeof n?e.local?b:w:e.local?m:_)(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?A:"function"==typeof n?k:N)(t,n,null==e?"":e)):E(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?M:"function"==typeof n?P:S)(t,n)):this.node()[t]},classed:function(t,n){var e=O(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?I:n?X:R)(e,n))},text:function(t){return arguments.length?this.each(null==t?L:("function"==typeof t?H:D)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?Y:("function"==typeof t?B:$)(t)):this.node().innerHTML},raise:function(){return this.each(V)},lower:function(){return this.each(z)},append:function(t){var n="function"==typeof t?t:G(t);return this.select((function(){return this.appendChild(n.apply(this,arguments))}))},insert:function(t,n){var e="function"==typeof t?t:G(t),r=null==n?J:"function"==typeof n?n:i(n);return this.select((function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(K)},clone:function(t){return this.select(t?W:Q)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=rt(t+""),u=o.length;if(!(arguments.length<2)){for(a=n?ot:it,null==e&&(e=!1),r=0;r<u;++r)this.each(a(o[r],n,e));return this}var a=this.node().__on;if(a)for(var s,l=0,c=a.length;l<c;++l)for(r=0,s=a[l];r<u;++r)if((i=o[r]).type===s.type&&i.name===s.name)return s.value},dispatch:function(t,n){return this.each(("function"==typeof n?st:at)(t,n))}};var ht=ft,pt={value:function(){}};function dt(){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 vt(r)}function vt(t){this._=t}function yt(t,n){return t.trim().split(/^|\s+/).map((function(t){var e="",r=t.indexOf(".");if(r>=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 gt(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function _t(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=pt,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}vt.prototype=dt.prototype={constructor:vt,on:function(t,n){var e,r=this._,i=yt(t+"",r),o=-1,u=i.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o<u;)if(e=(t=i[o]).type)r[e]=_t(r[e],t.name,n);else if(null==n)for(e in r)r[e]=_t(r[e],t.name,null);return this}for(;++o<u;)if((e=(t=i[o]).type)&&(e=gt(r[e],t.name)))return e},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new vt(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 mt,wt,bt=dt,xt=0,At=0,Nt=0,kt=0,Et=0,Mt=0,St="object"==typeof performance&&performance.now?performance:Date,Pt="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Ot(){return Et||(Pt(jt),Et=St.now()+Mt)}function jt(){Et=0}function qt(){this._call=this._time=this._next=null}function Ct(t,n,e){var r=new qt;return r.restart(t,n,e),r}function Tt(){Et=(kt=St.now())+Mt,xt=At=0;try{!function(){Ot(),++xt;for(var t,n=mt;n;)(t=Et-n._time)>=0&&n._call.call(null,t),n=n._next;--xt}()}finally{xt=0,function(){var t,n,e=mt,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:mt=n);wt=t,Rt(r)}(),Et=0}}function Xt(){var t=St.now(),n=t-kt;n>1e3&&(Mt-=n,kt=t)}function Rt(t){xt||(At&&(At=clearTimeout(At)),t-Et>24?(t<1/0&&(At=setTimeout(Tt,t-St.now()-Mt)),Nt&&(Nt=clearInterval(Nt))):(Nt||(kt=St.now(),Nt=setInterval(Xt,1e3)),xt=1,Pt(Tt)))}qt.prototype=Ct.prototype={constructor:qt,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?Ot():+e)+(null==n?0:+n),this._next||wt===this||(wt?wt._next=this:mt=this,wt=this),this._call=t,this._time=e,Rt()},stop:function(){this._call&&(this._call=null,this._time=1/0,Rt())}};var It=function(t,n,e){var r=new qt;return n=null==n?0:+n,r.restart((function(e){r.stop(),t(e+n)}),n,e),r},Lt=bt("start","end","cancel","interrupt"),Dt=[],Ht=function(t,n,e,r,i,o){var u=t.__transition;if(u){if(e in u)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(s){var l,c,f,h;if(1!==e.state)return a();for(l in i)if((h=i[l]).name===e.name){if(3===h.state)return It(o);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[l]):+l<n&&(h.state=6,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete i[l])}if(It((function(){3===e.state&&(e.state=4,e.timer.restart(u,e.delay,e.time),u(s))})),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),l=0,c=-1;l<f;++l)(h=e.tween[l].value.call(t,t.__data__,e.index,e.group))&&(r[++c]=h);r.length=c+1}}function u(n){for(var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(a),e.state=5,1),o=-1,u=r.length;++o<u;)r[o].call(t,i);5===e.state&&(e.on.call("end",t,t.__data__,e.index,e.group),a())}function a(){for(var r in e.state=6,e.timer.stop(),delete i[n],i)return;delete t.__transition}i[n]=e,e.timer=Ct((function(t){e.state=1,e.timer.restart(o,e.delay,e.time),e.delay<=t&&o(t-e.delay)}),0,e.time)}(t,e,{name:n,index:r,group:i,on:Lt,tween:Dt,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})};function Yt(t,n){var e=Bt(t,n);if(e.state>0)throw new Error("too late; already scheduled");return e}function $t(t,n){var e=Bt(t,n);if(e.state>3)throw new Error("too late; already running");return e}function Bt(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}var Vt,zt,Ut,Ft,Gt=function(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}},Jt=180/Math.PI,Kt={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},Qt=function(t,n,e,r,i,o){var u,a,s;return(u=Math.sqrt(t*t+n*n))&&(t/=u,n/=u),(s=t*e+n*r)&&(e-=t*s,r-=n*s),(a=Math.sqrt(e*e+r*r))&&(e/=a,r/=a,s/=a),t*r<n*e&&(t=-t,n=-n,s=-s,u=-u),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*Jt,skewX:Math.atan(s)*Jt,scaleX:u,scaleY:a}};function Wt(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(o,u){var a=[],s=[];return o=t(o),u=t(u),function(t,r,i,o,u,a){if(t!==i||r!==o){var s=u.push("translate(",null,n,null,e);a.push({i:s-4,x:Gt(t,i)},{i:s-2,x:Gt(r,o)})}else(i||o)&&u.push("translate("+i+n+o+e)}(o.translateX,o.translateY,u.translateX,u.translateY,a,s),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:Gt(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,u.rotate,a,s),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:Gt(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,u.skewX,a,s),function(t,n,e,r,o,u){if(t!==e||n!==r){var a=o.push(i(o)+"scale(",null,",",null,")");u.push({i:a-4,x:Gt(t,e)},{i:a-2,x:Gt(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,u.scaleX,u.scaleY,a,s),o=u=null,function(t){for(var n,e=-1,r=s.length;++e<r;)a[(n=s[e]).i]=n.x(t);return a.join("")}}}var Zt=Wt((function(t){return"none"===t?Kt:(Vt||(Vt=document.createElement("DIV"),zt=document.documentElement,Ut=document.defaultView),Vt.style.transform=t,t=Ut.getComputedStyle(zt.appendChild(Vt),null).getPropertyValue("transform"),zt.removeChild(Vt),t=t.slice(7,-1).split(","),Qt(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),"px, ","px)","deg)"),tn=Wt((function(t){return null==t?Kt:(Ft||(Ft=document.createElementNS("http://www.w3.org/2000/svg","g")),Ft.setAttribute("transform",t),(t=Ft.transform.baseVal.consolidate())?(t=t.matrix,Qt(t.a,t.b,t.c,t.d,t.e,t.f)):Kt)}),", ",")",")");function nn(t,n){var e,r;return function(){var i=$t(this,t),o=i.tween;if(o!==e)for(var u=0,a=(r=e=o).length;u<a;++u)if(r[u].name===n){(r=r.slice()).splice(u,1);break}i.tween=r}}function en(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=$t(this,t),u=o.tween;if(u!==r){i=(r=u).slice();for(var a={name:n,value:e},s=0,l=i.length;s<l;++s)if(i[s].name===n){i[s]=a;break}s===l&&i.push(a)}o.tween=i}}function rn(t,n,e){var r=t._id;return t.each((function(){var t=$t(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)})),function(t){return Bt(t,r).value[n]}}var on=function(t,n,e){t.prototype=n.prototype=e,e.constructor=t};function un(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function an(){}var sn="\\s*([+-]?\\d+)\\s*",ln="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",cn="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",fn=/^#([0-9a-f]{3,8})$/,hn=new RegExp("^rgb\\("+[sn,sn,sn]+"\\)$"),pn=new RegExp("^rgb\\("+[cn,cn,cn]+"\\)$"),dn=new RegExp("^rgba\\("+[sn,sn,sn,ln]+"\\)$"),vn=new RegExp("^rgba\\("+[cn,cn,cn,ln]+"\\)$"),yn=new RegExp("^hsl\\("+[ln,cn,cn]+"\\)$"),gn=new RegExp("^hsla\\("+[ln,cn,cn,ln]+"\\)$"),_n={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 mn(){return this.rgb().formatHex()}function wn(){return this.rgb().formatRgb()}function bn(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=fn.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?xn(n):3===e?new En(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?new En(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?new En(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=hn.exec(t))?new En(n[1],n[2],n[3],1):(n=pn.exec(t))?new En(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=dn.exec(t))?An(n[1],n[2],n[3],n[4]):(n=vn.exec(t))?An(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=yn.exec(t))?On(n[1],n[2]/100,n[3]/100,1):(n=gn.exec(t))?On(n[1],n[2]/100,n[3]/100,n[4]):_n.hasOwnProperty(t)?xn(_n[t]):"transparent"===t?new En(NaN,NaN,NaN,0):null}function xn(t){return new En(t>>16&255,t>>8&255,255&t,1)}function An(t,n,e,r){return r<=0&&(t=n=e=NaN),new En(t,n,e,r)}function Nn(t){return t instanceof an||(t=bn(t)),t?new En((t=t.rgb()).r,t.g,t.b,t.opacity):new En}function kn(t,n,e,r){return 1===arguments.length?Nn(t):new En(t,n,e,null==r?1:r)}function En(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Mn(){return"#"+Pn(this.r)+Pn(this.g)+Pn(this.b)}function Sn(){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 Pn(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function On(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new qn(t,n,e,r)}function jn(t){if(t instanceof qn)return new qn(t.h,t.s,t.l,t.opacity);if(t instanceof an||(t=bn(t)),!t)return new qn;if(t instanceof qn)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),u=NaN,a=o-i,s=(o+i)/2;return a?(u=n===o?(e-r)/a+6*(e<r):e===o?(r-n)/a+2:(n-e)/a+4,a/=s<.5?o+i:2-o-i,u*=60):a=s>0&&s<1?0:u,new qn(u,a,s,t.opacity)}function qn(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Cn(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}function Tn(t,n,e,r,i){var o=t*t,u=o*t;return((1-3*t+3*o-u)*n+(4-6*o+3*u)*e+(1+3*t+3*o-3*u)*r+u*i)/6}on(an,bn,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:mn,formatHex:mn,formatHsl:function(){return jn(this).formatHsl()},formatRgb:wn,toString:wn}),on(En,kn,un(an,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new En(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new En(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:Mn,formatHex:Mn,formatRgb:Sn,toString:Sn})),on(qn,(function(t,n,e,r){return 1===arguments.length?jn(t):new qn(t,n,e,null==r?1:r)}),un(an,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new qn(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new qn(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 En(Cn(t>=240?t-240:t+120,i,r),Cn(t,i,r),Cn(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 Xn=function(t){return function(){return t}};function Rn(t,n){return function(e){return t+e*n}}function In(t){return 1==(t=+t)?Ln: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):Xn(isNaN(n)?e:n)}}function Ln(t,n){var e=n-t;return e?Rn(t,e):Xn(isNaN(t)?n:t)}var Dn=function t(n){var e=In(n);function r(t,n){var r=e((t=kn(t)).r,(n=kn(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),u=Ln(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=o(n),t.opacity=u(n),t+""}}return r.gamma=t,r}(1);function Hn(t){return function(n){var e,r,i=n.length,o=new Array(i),u=new Array(i),a=new Array(i);for(e=0;e<i;++e)r=kn(n[e]),o[e]=r.r||0,u[e]=r.g||0,a[e]=r.b||0;return o=t(o),u=t(u),a=t(a),r.opacity=1,function(t){return r.r=o(t),r.g=u(t),r.b=a(t),r+""}}}Hn((function(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],u=r>0?t[r-1]:2*i-o,a=r<n-1?t[r+2]:2*o-i;return Tn((e-r/n)*n,u,i,o,a)}})),Hn((function(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),i=t[(r+n-1)%n],o=t[r%n],u=t[(r+1)%n],a=t[(r+2)%n];return Tn((e-r/n)*n,i,o,u,a)}}));var Yn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,$n=new RegExp(Yn.source,"g");var Bn=function(t,n){var e,r,i,o=Yn.lastIndex=$n.lastIndex=0,u=-1,a=[],s=[];for(t+="",n+="";(e=Yn.exec(t))&&(r=$n.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),a[u]?a[u]+=i:a[++u]=i),(e=e[0])===(r=r[0])?a[u]?a[u]+=r:a[++u]=r:(a[++u]=null,s.push({i:u,x:Gt(e,r)})),o=$n.lastIndex;return o<n.length&&(i=n.slice(o),a[u]?a[u]+=i:a[++u]=i),a.length<2?s[0]?function(t){return function(n){return t(n)+""}}(s[0].x):function(t){return function(){return t}}(n):(n=s.length,function(t){for(var e,r=0;r<n;++r)a[(e=s[r]).i]=e.x(t);return a.join("")})},Vn=function(t,n){var e;return("number"==typeof n?Gt:n instanceof bn?Dn:(e=bn(n))?(n=e,Dn):Bn)(t,n)};function zn(t){return function(){this.removeAttribute(t)}}function Un(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Fn(t,n,e){var r,i,o=e+"";return function(){var u=this.getAttribute(t);return u===o?null:u===r?i:i=n(r=u,e)}}function Gn(t,n,e){var r,i,o=e+"";return function(){var u=this.getAttributeNS(t.space,t.local);return u===o?null:u===r?i:i=n(r=u,e)}}function Jn(t,n,e){var r,i,o;return function(){var u,a,s=e(this);if(null!=s)return(u=this.getAttribute(t))===(a=s+"")?null:u===r&&a===i?o:(i=a,o=n(r=u,s));this.removeAttribute(t)}}function Kn(t,n,e){var r,i,o;return function(){var u,a,s=e(this);if(null!=s)return(u=this.getAttributeNS(t.space,t.local))===(a=s+"")?null:u===r&&a===i?o:(i=a,o=n(r=u,s));this.removeAttributeNS(t.space,t.local)}}function Qn(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function Wn(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function Zn(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&Wn(t,i)),e}return i._value=n,i}function te(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&Qn(t,i)),e}return i._value=n,i}function ne(t,n){return function(){Yt(this,t).delay=+n.apply(this,arguments)}}function ee(t,n){return n=+n,function(){Yt(this,t).delay=n}}function re(t,n){return function(){$t(this,t).duration=+n.apply(this,arguments)}}function ie(t,n){return n=+n,function(){$t(this,t).duration=n}}function oe(t,n){if("function"!=typeof n)throw new Error;return function(){$t(this,t).ease=n}}function ue(t,n,e){var r,i,o=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t}))}(n)?Yt:$t;return function(){var u=o(this,t),a=u.on;a!==r&&(i=(r=a).copy()).on(n,e),u.on=i}}var ae=ht.prototype.constructor;function se(t){return function(){this.style.removeProperty(t)}}function le(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function ce(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&le(t,o,e)),r}return o._value=n,o}function fe(t){return function(n){this.textContent=t.call(this,n)}}function he(t){var n,e;function r(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&fe(r)),n}return r._value=t,r}var pe=0;function de(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function ve(){return++pe}var ye=ht.prototype;de.prototype=function(t){return ht().transition(t)}.prototype={constructor:de,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=i(t));for(var r=this._groups,o=r.length,u=new Array(o),a=0;a<o;++a)for(var s,l,c=r[a],f=c.length,h=u[a]=new Array(f),p=0;p<f;++p)(s=c[p])&&(l=t.call(s,s.__data__,p,c))&&("__data__"in s&&(l.__data__=s.__data__),h[p]=l,Ht(h[p],n,e,p,h,Bt(s,e)));return new de(u,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=u(t));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var l,c=r[s],f=c.length,h=0;h<f;++h)if(l=c[h]){for(var p,d=t.call(l,l.__data__,h,c),v=Bt(l,e),y=0,g=d.length;y<g;++y)(p=d[y])&&Ht(p,n,e,y,d,v);o.push(d),a.push(l)}return new de(o,a,n,e)},filter:function(t){"function"!=typeof t&&(t=a(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],s=u.length,l=r[i]=[],c=0;c<s;++c)(o=u[c])&&t.call(o,o.__data__,c,u)&&l.push(o);return new de(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var s,l=n[a],c=e[a],f=l.length,h=u[a]=new Array(f),p=0;p<f;++p)(s=l[p]||c[p])&&(h[p]=s);for(;a<r;++a)u[a]=n[a];return new de(u,this._parents,this._name,this._id)},selection:function(){return new ae(this._groups,this._parents)},transition:function(){for(var t=this._name,n=this._id,e=ve(),r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],s=a.length,l=0;l<s;++l)if(u=a[l]){var c=Bt(u,n);Ht(u,t,e,l,a,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new de(r,this._parents,t,e)},call:ye.call,nodes:ye.nodes,node:ye.node,size:ye.size,empty:ye.empty,each:ye.each,on:function(t,n){var e=this._id;return arguments.length<2?Bt(this.node(),e).on.on(t):this.each(ue(e,t,n))},attr:function(t,n){var e=v(t),r="transform"===e?tn:Vn;return this.attrTween(t,"function"==typeof n?(e.local?Kn:Jn)(e,r,rn(this,"attr."+t,n)):null==n?(e.local?Un:zn)(e):(e.local?Gn:Fn)(e,r,n))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw new Error;var r=v(t);return this.tween(e,(r.local?Zn:te)(r,n))},style:function(t,n,e){var r="transform"==(t+="")?Zt:Vn;return null==n?this.styleTween(t,function(t,n){var e,r,i;return function(){var o=E(this,t),u=(this.style.removeProperty(t),E(this,t));return o===u?null:o===e&&u===r?i:i=n(e=o,r=u)}}(t,r)).on("end.style."+t,se(t)):"function"==typeof n?this.styleTween(t,function(t,n,e){var r,i,o;return function(){var u=E(this,t),a=e(this),s=a+"";return null==a&&(this.style.removeProperty(t),s=a=E(this,t)),u===s?null:u===r&&s===i?o:(i=s,o=n(r=u,a))}}(t,r,rn(this,"style."+t,n))).each(function(t,n){var e,r,i,o,u="style."+n,a="end."+u;return function(){var s=$t(this,t),l=s.on,c=null==s.value[u]?o||(o=se(n)):void 0;l===e&&i===c||(r=(e=l).copy()).on(a,i=c),s.on=r}}(this._id,t)):this.styleTween(t,function(t,n,e){var r,i,o=e+"";return function(){var u=E(this,t);return u===o?null:u===r?i:i=n(r=u,e)}}(t,r,n),e).on("end.style."+t,null)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw new Error;return this.tween(r,ce(t,n,null==e?"":e))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var n=t(this);this.textContent=null==n?"":n}}(rn(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;return this.tween(n,he(t))},remove:function(){return this.on("end.remove",(t=this._id,function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}));var t},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=Bt(this.node(),e).tween,o=0,u=i.length;o<u;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?nn:en)(e,t,n))},delay:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?ne:ee)(n,t)):Bt(this.node(),n).delay},duration:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?re:ie)(n,t)):Bt(this.node(),n).duration},ease:function(t){var n=this._id;return arguments.length?this.each(oe(n,t)):Bt(this.node(),n).ease},end:function(){var t,n,e=this,r=e._id,i=e.size();return new Promise((function(o,u){var a={value:u},s={value:function(){0==--i&&o()}};e.each((function(){var e=$t(this,r),i=e.on;i!==t&&((n=(t=i).copy())._.cancel.push(a),n._.interrupt.push(a),n._.end.push(s)),e.on=n}))}))}};var ge={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};function _e(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))return ge.time=Ot(),ge;return e}ht.prototype.interrupt=function(t){return this.each((function(){!function(t,n){var e,r,i,o=t.__transition,u=!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]):u=!1;u&&delete t.__transition}}(this,t)}))},ht.prototype.transition=function(t){var n,e;t instanceof de?(n=t._id,t=t._name):(n=ve(),(e=ge).time=Ot(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],s=a.length,l=0;l<s;++l)(u=a[l])&&Ht(u,t,n,l,a,e||_e(u,n));return new de(r,this._parents,t,n)};function me(t){return t.data.name}function we(){var t,n="string"==typeof(t="body")?new ct([[document.querySelector(t)]],[document.documentElement]):new ct([[t]],lt),e=null,r=me;function i(){e=n.append("div").style("display","none").style("position","absolute").style("opacity",0).style("pointer-events","none").attr("class","d3-flame-graph-tip")}return i.show=function(t){return e.style("display","block").transition().duration(200).style("opacity",1).style("pointer-events","all"),e.html(r(t)).style("left",event.pageX+5+"px").style("top",event.pageY+5+"px"),i},i.hide=function(){return e.style("display","none").transition().duration(200).style("opacity",0).style("pointer-events","none"),i},i.html=function(t){return arguments.length?(r=t,i):r},i}}})}));
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports["tooltip.min"]=n():(t.flamegraph=t.flamegraph||{},t.flamegraph["tooltip.min"]=n())}(window,(function(){return function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=6)}({6:function(t,n,e){"use strict";function r(){}e.r(n),e.d(n,"defaultFlamegraphTooltip",(function(){return we}));var i=function(t){return null==t?r:function(){return this.querySelector(t)}};function o(){return[]}var u=function(t){return null==t?o:function(){return this.querySelectorAll(t)}},a=function(t){return function(){return this.matches(t)}},s=function(t){return new Array(t.length)};function l(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}l.prototype={constructor:l,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)}};function c(t,n,e,r,i,o){for(var u,a=0,s=n.length,c=o.length;a<c;++a)(u=n[a])?(u.__data__=o[a],r[a]=u):e[a]=new l(t,o[a]);for(;a<s;++a)(u=n[a])&&(i[a]=u)}function f(t,n,e,r,i,o,u){var a,s,c,f={},h=n.length,p=o.length,d=new Array(h);for(a=0;a<h;++a)(s=n[a])&&(d[a]=c="$"+u.call(s,s.__data__,a,n),c in f?i[a]=s:f[c]=s);for(a=0;a<p;++a)(s=f[c="$"+u.call(t,o[a],a,o)])?(r[a]=s,s.__data__=o[a],f[c]=null):e[a]=new l(t,o[a]);for(a=0;a<h;++a)(s=n[a])&&f[d[a]]===s&&(i[a]=s)}function h(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}var p="http://www.w3.org/1999/xhtml",d={svg:"http://www.w3.org/2000/svg",xhtml:p,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},v=function(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),d.hasOwnProperty(n)?{space:d[n],local:t}:t};function y(t){return function(){this.removeAttribute(t)}}function g(t){return function(){this.removeAttributeNS(t.space,t.local)}}function _(t,n){return function(){this.setAttribute(t,n)}}function m(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function w(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)}}var x=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function A(t){return function(){this.style.removeProperty(t)}}function N(t,n,e){return function(){this.style.setProperty(t,n,e)}}function k(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function E(t,n){return t.style.getPropertyValue(n)||x(t).getComputedStyle(t,null).getPropertyValue(n)}function M(t){return function(){delete this[t]}}function S(t,n){return function(){this[t]=n}}function P(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function O(t){return t.trim().split(/^|\s+/)}function j(t){return t.classList||new q(t)}function q(t){this._node=t,this._names=O(t.getAttribute("class")||"")}function C(t,n){for(var e=j(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function T(t,n){for(var e=j(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function X(t){return function(){C(this,t)}}function R(t){return function(){T(this,t)}}function I(t,n){return function(){(n.apply(this,arguments)?C:T)(this,t)}}q.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}};function L(){this.textContent=""}function D(t){return function(){this.textContent=t}}function H(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function Y(){this.innerHTML=""}function $(t){return function(){this.innerHTML=t}}function B(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function V(){this.nextSibling&&this.parentNode.appendChild(this)}function z(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function U(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===p&&n.documentElement.namespaceURI===p?n.createElement(t):n.createElementNS(e,t)}}function F(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var G=function(t){var n=v(t);return(n.local?F:U)(n)};function J(){return null}function K(){var t=this.parentNode;t&&t.removeChild(this)}function Q(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function W(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}var Z={},tt=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(Z={mouseenter:"mouseover",mouseleave:"mouseout"}));function nt(t,n,e){return t=et(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function et(t,n,e){return function(r){var i=tt;tt=r;try{t.call(this,this.__data__,n,e)}finally{tt=i}}}function rt(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}}))}function it(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.capture);++i?n.length=i:delete this.__on}}}function ot(t,n,e){var r=Z.hasOwnProperty(t.type)?nt:et;return function(i,o,u){var a,s=this.__on,l=r(n,o,u);if(s)for(var c=0,f=s.length;c<f;++c)if((a=s[c]).type===t.type&&a.name===t.name)return this.removeEventListener(a.type,a.listener,a.capture),this.addEventListener(a.type,a.listener=l,a.capture=e),void(a.value=n);this.addEventListener(t.type,l,e),a={type:t.type,name:t.name,value:n,listener:l,capture:e},s?s.push(a):this.__on=[a]}}function ut(t,n,e){var r=x(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 at(t,n){return function(){return ut(this,t,n)}}function st(t,n){return function(){return ut(this,t,n.apply(this,arguments))}}var lt=[null];function ct(t,n){this._groups=t,this._parents=n}function ft(){return new ct([[document.documentElement]],lt)}ct.prototype=ft.prototype={constructor:ct,select:function(t){"function"!=typeof t&&(t=i(t));for(var n=this._groups,e=n.length,r=new Array(e),o=0;o<e;++o)for(var u,a,s=n[o],l=s.length,c=r[o]=new Array(l),f=0;f<l;++f)(u=s[f])&&(a=t.call(u,u.__data__,f,s))&&("__data__"in u&&(a.__data__=u.__data__),c[f]=a);return new ct(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=u(t));for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var a,s=n[o],l=s.length,c=0;c<l;++c)(a=s[c])&&(r.push(t.call(a,a.__data__,c,s)),i.push(a));return new ct(r,i)},filter:function(t){"function"!=typeof t&&(t=a(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],s=u.length,l=r[i]=[],c=0;c<s;++c)(o=u[c])&&t.call(o,o.__data__,c,u)&&l.push(o);return new ct(r,this._parents)},data:function(t,n){if(!t)return y=new Array(this.size()),h=-1,this.each((function(t){y[++h]=t})),y;var e,r=n?f:c,i=this._parents,o=this._groups;"function"!=typeof t&&(e=t,t=function(){return e});for(var u=o.length,a=new Array(u),s=new Array(u),l=new Array(u),h=0;h<u;++h){var p=i[h],d=o[h],v=d.length,y=t.call(p,p&&p.__data__,h,i),g=y.length,_=s[h]=new Array(g),m=a[h]=new Array(g);r(p,d,_,m,l[h]=new Array(v),y,n);for(var w,b,x=0,A=0;x<g;++x)if(w=_[x]){for(x>=A&&(A=x+1);!(b=m[A])&&++A<g;);w._next=b||null}}return(a=new ct(a,i))._enter=s,a._exit=l,a},enter:function(){return new ct(this._enter||this._groups.map(s),this._parents)},exit:function(){return new ct(this._exit||this._groups.map(s),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return r="function"==typeof t?t(r):r.append(t+""),null!=n&&(i=n(i)),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var s,l=n[a],c=e[a],f=l.length,h=u[a]=new Array(f),p=0;p<f;++p)(s=l[p]||c[p])&&(h[p]=s);for(;a<r;++a)u[a]=n[a];return new ct(u,this._parents)},order:function(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r,i=t[n],o=i.length-1,u=i[o];--o>=0;)(r=i[o])&&(u&&4^r.compareDocumentPosition(u)&&u.parentNode.insertBefore(r,u),u=r);return this},sort:function(t){function n(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}t||(t=h);for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var u,a=e[o],s=a.length,l=i[o]=new Array(s),c=0;c<s;++c)(u=a[c])&&(l[c]=u);l.sort(n)}return new ct(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),n=-1;return this.each((function(){t[++n]=this})),t},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 u=r[i];if(u)return u}return null},size:function(){var t=0;return this.each((function(){++t})),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],u=0,a=o.length;u<a;++u)(i=o[u])&&t.call(i,i.__data__,u,o);return this},attr:function(t,n){var e=v(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?g:y:"function"==typeof n?e.local?b:w:e.local?m:_)(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?A:"function"==typeof n?k:N)(t,n,null==e?"":e)):E(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?M:"function"==typeof n?P:S)(t,n)):this.node()[t]},classed:function(t,n){var e=O(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?I:n?X:R)(e,n))},text:function(t){return arguments.length?this.each(null==t?L:("function"==typeof t?H:D)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?Y:("function"==typeof t?B:$)(t)):this.node().innerHTML},raise:function(){return this.each(V)},lower:function(){return this.each(z)},append:function(t){var n="function"==typeof t?t:G(t);return this.select((function(){return this.appendChild(n.apply(this,arguments))}))},insert:function(t,n){var e="function"==typeof t?t:G(t),r=null==n?J:"function"==typeof n?n:i(n);return this.select((function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(K)},clone:function(t){return this.select(t?W:Q)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=rt(t+""),u=o.length;if(!(arguments.length<2)){for(a=n?ot:it,null==e&&(e=!1),r=0;r<u;++r)this.each(a(o[r],n,e));return this}var a=this.node().__on;if(a)for(var s,l=0,c=a.length;l<c;++l)for(r=0,s=a[l];r<u;++r)if((i=o[r]).type===s.type&&i.name===s.name)return s.value},dispatch:function(t,n){return this.each(("function"==typeof n?st:at)(t,n))}};var ht=ft,pt={value:function(){}};function dt(){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 vt(r)}function vt(t){this._=t}function yt(t,n){return t.trim().split(/^|\s+/).map((function(t){var e="",r=t.indexOf(".");if(r>=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 gt(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function _t(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=pt,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}vt.prototype=dt.prototype={constructor:vt,on:function(t,n){var e,r=this._,i=yt(t+"",r),o=-1,u=i.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o<u;)if(e=(t=i[o]).type)r[e]=_t(r[e],t.name,n);else if(null==n)for(e in r)r[e]=_t(r[e],t.name,null);return this}for(;++o<u;)if((e=(t=i[o]).type)&&(e=gt(r[e],t.name)))return e},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new vt(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 mt,wt,bt=dt,xt=0,At=0,Nt=0,kt=0,Et=0,Mt=0,St="object"==typeof performance&&performance.now?performance:Date,Pt="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Ot(){return Et||(Pt(jt),Et=St.now()+Mt)}function jt(){Et=0}function qt(){this._call=this._time=this._next=null}function Ct(t,n,e){var r=new qt;return r.restart(t,n,e),r}function Tt(){Et=(kt=St.now())+Mt,xt=At=0;try{!function(){Ot(),++xt;for(var t,n=mt;n;)(t=Et-n._time)>=0&&n._call.call(null,t),n=n._next;--xt}()}finally{xt=0,function(){var t,n,e=mt,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:mt=n);wt=t,Rt(r)}(),Et=0}}function Xt(){var t=St.now(),n=t-kt;n>1e3&&(Mt-=n,kt=t)}function Rt(t){xt||(At&&(At=clearTimeout(At)),t-Et>24?(t<1/0&&(At=setTimeout(Tt,t-St.now()-Mt)),Nt&&(Nt=clearInterval(Nt))):(Nt||(kt=St.now(),Nt=setInterval(Xt,1e3)),xt=1,Pt(Tt)))}qt.prototype=Ct.prototype={constructor:qt,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?Ot():+e)+(null==n?0:+n),this._next||wt===this||(wt?wt._next=this:mt=this,wt=this),this._call=t,this._time=e,Rt()},stop:function(){this._call&&(this._call=null,this._time=1/0,Rt())}};var It=function(t,n,e){var r=new qt;return n=null==n?0:+n,r.restart((function(e){r.stop(),t(e+n)}),n,e),r},Lt=bt("start","end","cancel","interrupt"),Dt=[],Ht=function(t,n,e,r,i,o){var u=t.__transition;if(u){if(e in u)return}else t.__transition={};!function(t,n,e){var r,i=t.__transition;function o(s){var l,c,f,h;if(1!==e.state)return a();for(l in i)if((h=i[l]).name===e.name){if(3===h.state)return It(o);4===h.state?(h.state=6,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete i[l]):+l<n&&(h.state=6,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete i[l])}if(It((function(){3===e.state&&(e.state=4,e.timer.restart(u,e.delay,e.time),u(s))})),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),l=0,c=-1;l<f;++l)(h=e.tween[l].value.call(t,t.__data__,e.index,e.group))&&(r[++c]=h);r.length=c+1}}function u(n){for(var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(a),e.state=5,1),o=-1,u=r.length;++o<u;)r[o].call(t,i);5===e.state&&(e.on.call("end",t,t.__data__,e.index,e.group),a())}function a(){for(var r in e.state=6,e.timer.stop(),delete i[n],i)return;delete t.__transition}i[n]=e,e.timer=Ct((function(t){e.state=1,e.timer.restart(o,e.delay,e.time),e.delay<=t&&o(t-e.delay)}),0,e.time)}(t,e,{name:n,index:r,group:i,on:Lt,tween:Dt,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})};function Yt(t,n){var e=Bt(t,n);if(e.state>0)throw new Error("too late; already scheduled");return e}function $t(t,n){var e=Bt(t,n);if(e.state>3)throw new Error("too late; already running");return e}function Bt(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}var Vt,zt,Ut,Ft,Gt=function(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}},Jt=180/Math.PI,Kt={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},Qt=function(t,n,e,r,i,o){var u,a,s;return(u=Math.sqrt(t*t+n*n))&&(t/=u,n/=u),(s=t*e+n*r)&&(e-=t*s,r-=n*s),(a=Math.sqrt(e*e+r*r))&&(e/=a,r/=a,s/=a),t*r<n*e&&(t=-t,n=-n,s=-s,u=-u),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*Jt,skewX:Math.atan(s)*Jt,scaleX:u,scaleY:a}};function Wt(t,n,e,r){function i(t){return t.length?t.pop()+" ":""}return function(o,u){var a=[],s=[];return o=t(o),u=t(u),function(t,r,i,o,u,a){if(t!==i||r!==o){var s=u.push("translate(",null,n,null,e);a.push({i:s-4,x:Gt(t,i)},{i:s-2,x:Gt(r,o)})}else(i||o)&&u.push("translate("+i+n+o+e)}(o.translateX,o.translateY,u.translateX,u.translateY,a,s),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:Gt(t,n)})):n&&e.push(i(e)+"rotate("+n+r)}(o.rotate,u.rotate,a,s),function(t,n,e,o){t!==n?o.push({i:e.push(i(e)+"skewX(",null,r)-2,x:Gt(t,n)}):n&&e.push(i(e)+"skewX("+n+r)}(o.skewX,u.skewX,a,s),function(t,n,e,r,o,u){if(t!==e||n!==r){var a=o.push(i(o)+"scale(",null,",",null,")");u.push({i:a-4,x:Gt(t,e)},{i:a-2,x:Gt(n,r)})}else 1===e&&1===r||o.push(i(o)+"scale("+e+","+r+")")}(o.scaleX,o.scaleY,u.scaleX,u.scaleY,a,s),o=u=null,function(t){for(var n,e=-1,r=s.length;++e<r;)a[(n=s[e]).i]=n.x(t);return a.join("")}}}var Zt=Wt((function(t){return"none"===t?Kt:(Vt||(Vt=document.createElement("DIV"),zt=document.documentElement,Ut=document.defaultView),Vt.style.transform=t,t=Ut.getComputedStyle(zt.appendChild(Vt),null).getPropertyValue("transform"),zt.removeChild(Vt),t=t.slice(7,-1).split(","),Qt(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),"px, ","px)","deg)"),tn=Wt((function(t){return null==t?Kt:(Ft||(Ft=document.createElementNS("http://www.w3.org/2000/svg","g")),Ft.setAttribute("transform",t),(t=Ft.transform.baseVal.consolidate())?(t=t.matrix,Qt(t.a,t.b,t.c,t.d,t.e,t.f)):Kt)}),", ",")",")");function nn(t,n){var e,r;return function(){var i=$t(this,t),o=i.tween;if(o!==e)for(var u=0,a=(r=e=o).length;u<a;++u)if(r[u].name===n){(r=r.slice()).splice(u,1);break}i.tween=r}}function en(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=$t(this,t),u=o.tween;if(u!==r){i=(r=u).slice();for(var a={name:n,value:e},s=0,l=i.length;s<l;++s)if(i[s].name===n){i[s]=a;break}s===l&&i.push(a)}o.tween=i}}function rn(t,n,e){var r=t._id;return t.each((function(){var t=$t(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)})),function(t){return Bt(t,r).value[n]}}var on=function(t,n,e){t.prototype=n.prototype=e,e.constructor=t};function un(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function an(){}var sn="\\s*([+-]?\\d+)\\s*",ln="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",cn="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",fn=/^#([0-9a-f]{3,8})$/,hn=new RegExp("^rgb\\("+[sn,sn,sn]+"\\)$"),pn=new RegExp("^rgb\\("+[cn,cn,cn]+"\\)$"),dn=new RegExp("^rgba\\("+[sn,sn,sn,ln]+"\\)$"),vn=new RegExp("^rgba\\("+[cn,cn,cn,ln]+"\\)$"),yn=new RegExp("^hsl\\("+[ln,cn,cn]+"\\)$"),gn=new RegExp("^hsla\\("+[ln,cn,cn,ln]+"\\)$"),_n={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 mn(){return this.rgb().formatHex()}function wn(){return this.rgb().formatRgb()}function bn(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=fn.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?xn(n):3===e?new En(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?new En(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?new En(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=hn.exec(t))?new En(n[1],n[2],n[3],1):(n=pn.exec(t))?new En(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=dn.exec(t))?An(n[1],n[2],n[3],n[4]):(n=vn.exec(t))?An(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=yn.exec(t))?On(n[1],n[2]/100,n[3]/100,1):(n=gn.exec(t))?On(n[1],n[2]/100,n[3]/100,n[4]):_n.hasOwnProperty(t)?xn(_n[t]):"transparent"===t?new En(NaN,NaN,NaN,0):null}function xn(t){return new En(t>>16&255,t>>8&255,255&t,1)}function An(t,n,e,r){return r<=0&&(t=n=e=NaN),new En(t,n,e,r)}function Nn(t){return t instanceof an||(t=bn(t)),t?new En((t=t.rgb()).r,t.g,t.b,t.opacity):new En}function kn(t,n,e,r){return 1===arguments.length?Nn(t):new En(t,n,e,null==r?1:r)}function En(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function Mn(){return"#"+Pn(this.r)+Pn(this.g)+Pn(this.b)}function Sn(){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 Pn(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function On(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new qn(t,n,e,r)}function jn(t){if(t instanceof qn)return new qn(t.h,t.s,t.l,t.opacity);if(t instanceof an||(t=bn(t)),!t)return new qn;if(t instanceof qn)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),u=NaN,a=o-i,s=(o+i)/2;return a?(u=n===o?(e-r)/a+6*(e<r):e===o?(r-n)/a+2:(n-e)/a+4,a/=s<.5?o+i:2-o-i,u*=60):a=s>0&&s<1?0:u,new qn(u,a,s,t.opacity)}function qn(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function Cn(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}function Tn(t,n,e,r,i){var o=t*t,u=o*t;return((1-3*t+3*o-u)*n+(4-6*o+3*u)*e+(1+3*t+3*o-3*u)*r+u*i)/6}on(an,bn,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:mn,formatHex:mn,formatHsl:function(){return jn(this).formatHsl()},formatRgb:wn,toString:wn}),on(En,kn,un(an,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new En(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new En(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:Mn,formatHex:Mn,formatRgb:Sn,toString:Sn})),on(qn,(function(t,n,e,r){return 1===arguments.length?jn(t):new qn(t,n,e,null==r?1:r)}),un(an,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new qn(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new qn(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 En(Cn(t>=240?t-240:t+120,i,r),Cn(t,i,r),Cn(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 Xn=function(t){return function(){return t}};function Rn(t,n){return function(e){return t+e*n}}function In(t){return 1==(t=+t)?Ln: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):Xn(isNaN(n)?e:n)}}function Ln(t,n){var e=n-t;return e?Rn(t,e):Xn(isNaN(t)?n:t)}var Dn=function t(n){var e=In(n);function r(t,n){var r=e((t=kn(t)).r,(n=kn(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),u=Ln(t.opacity,n.opacity);return function(n){return t.r=r(n),t.g=i(n),t.b=o(n),t.opacity=u(n),t+""}}return r.gamma=t,r}(1);function Hn(t){return function(n){var e,r,i=n.length,o=new Array(i),u=new Array(i),a=new Array(i);for(e=0;e<i;++e)r=kn(n[e]),o[e]=r.r||0,u[e]=r.g||0,a[e]=r.b||0;return o=t(o),u=t(u),a=t(a),r.opacity=1,function(t){return r.r=o(t),r.g=u(t),r.b=a(t),r+""}}}Hn((function(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],u=r>0?t[r-1]:2*i-o,a=r<n-1?t[r+2]:2*o-i;return Tn((e-r/n)*n,u,i,o,a)}})),Hn((function(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),i=t[(r+n-1)%n],o=t[r%n],u=t[(r+1)%n],a=t[(r+2)%n];return Tn((e-r/n)*n,i,o,u,a)}}));var Yn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,$n=new RegExp(Yn.source,"g");var Bn=function(t,n){var e,r,i,o=Yn.lastIndex=$n.lastIndex=0,u=-1,a=[],s=[];for(t+="",n+="";(e=Yn.exec(t))&&(r=$n.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),a[u]?a[u]+=i:a[++u]=i),(e=e[0])===(r=r[0])?a[u]?a[u]+=r:a[++u]=r:(a[++u]=null,s.push({i:u,x:Gt(e,r)})),o=$n.lastIndex;return o<n.length&&(i=n.slice(o),a[u]?a[u]+=i:a[++u]=i),a.length<2?s[0]?function(t){return function(n){return t(n)+""}}(s[0].x):function(t){return function(){return t}}(n):(n=s.length,function(t){for(var e,r=0;r<n;++r)a[(e=s[r]).i]=e.x(t);return a.join("")})},Vn=function(t,n){var e;return("number"==typeof n?Gt:n instanceof bn?Dn:(e=bn(n))?(n=e,Dn):Bn)(t,n)};function zn(t){return function(){this.removeAttribute(t)}}function Un(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Fn(t,n,e){var r,i,o=e+"";return function(){var u=this.getAttribute(t);return u===o?null:u===r?i:i=n(r=u,e)}}function Gn(t,n,e){var r,i,o=e+"";return function(){var u=this.getAttributeNS(t.space,t.local);return u===o?null:u===r?i:i=n(r=u,e)}}function Jn(t,n,e){var r,i,o;return function(){var u,a,s=e(this);if(null!=s)return(u=this.getAttribute(t))===(a=s+"")?null:u===r&&a===i?o:(i=a,o=n(r=u,s));this.removeAttribute(t)}}function Kn(t,n,e){var r,i,o;return function(){var u,a,s=e(this);if(null!=s)return(u=this.getAttributeNS(t.space,t.local))===(a=s+"")?null:u===r&&a===i?o:(i=a,o=n(r=u,s));this.removeAttributeNS(t.space,t.local)}}function Qn(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function Wn(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function Zn(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&Wn(t,i)),e}return i._value=n,i}function te(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&Qn(t,i)),e}return i._value=n,i}function ne(t,n){return function(){Yt(this,t).delay=+n.apply(this,arguments)}}function ee(t,n){return n=+n,function(){Yt(this,t).delay=n}}function re(t,n){return function(){$t(this,t).duration=+n.apply(this,arguments)}}function ie(t,n){return n=+n,function(){$t(this,t).duration=n}}function oe(t,n){if("function"!=typeof n)throw new Error;return function(){$t(this,t).ease=n}}function ue(t,n,e){var r,i,o=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t}))}(n)?Yt:$t;return function(){var u=o(this,t),a=u.on;a!==r&&(i=(r=a).copy()).on(n,e),u.on=i}}var ae=ht.prototype.constructor;function se(t){return function(){this.style.removeProperty(t)}}function le(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function ce(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&le(t,o,e)),r}return o._value=n,o}function fe(t){return function(n){this.textContent=t.call(this,n)}}function he(t){var n,e;function r(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&fe(r)),n}return r._value=t,r}var pe=0;function de(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function ve(){return++pe}var ye=ht.prototype;de.prototype=function(t){return ht().transition(t)}.prototype={constructor:de,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=i(t));for(var r=this._groups,o=r.length,u=new Array(o),a=0;a<o;++a)for(var s,l,c=r[a],f=c.length,h=u[a]=new Array(f),p=0;p<f;++p)(s=c[p])&&(l=t.call(s,s.__data__,p,c))&&("__data__"in s&&(l.__data__=s.__data__),h[p]=l,Ht(h[p],n,e,p,h,Bt(s,e)));return new de(u,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=u(t));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var l,c=r[s],f=c.length,h=0;h<f;++h)if(l=c[h]){for(var p,d=t.call(l,l.__data__,h,c),v=Bt(l,e),y=0,g=d.length;y<g;++y)(p=d[y])&&Ht(p,n,e,y,d,v);o.push(d),a.push(l)}return new de(o,a,n,e)},filter:function(t){"function"!=typeof t&&(t=a(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,u=n[i],s=u.length,l=r[i]=[],c=0;c<s;++c)(o=u[c])&&t.call(o,o.__data__,c,u)&&l.push(o);return new de(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),u=new Array(r),a=0;a<o;++a)for(var s,l=n[a],c=e[a],f=l.length,h=u[a]=new Array(f),p=0;p<f;++p)(s=l[p]||c[p])&&(h[p]=s);for(;a<r;++a)u[a]=n[a];return new de(u,this._parents,this._name,this._id)},selection:function(){return new ae(this._groups,this._parents)},transition:function(){for(var t=this._name,n=this._id,e=ve(),r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],s=a.length,l=0;l<s;++l)if(u=a[l]){var c=Bt(u,n);Ht(u,t,e,l,a,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new de(r,this._parents,t,e)},call:ye.call,nodes:ye.nodes,node:ye.node,size:ye.size,empty:ye.empty,each:ye.each,on:function(t,n){var e=this._id;return arguments.length<2?Bt(this.node(),e).on.on(t):this.each(ue(e,t,n))},attr:function(t,n){var e=v(t),r="transform"===e?tn:Vn;return this.attrTween(t,"function"==typeof n?(e.local?Kn:Jn)(e,r,rn(this,"attr."+t,n)):null==n?(e.local?Un:zn)(e):(e.local?Gn:Fn)(e,r,n))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw new Error;var r=v(t);return this.tween(e,(r.local?Zn:te)(r,n))},style:function(t,n,e){var r="transform"==(t+="")?Zt:Vn;return null==n?this.styleTween(t,function(t,n){var e,r,i;return function(){var o=E(this,t),u=(this.style.removeProperty(t),E(this,t));return o===u?null:o===e&&u===r?i:i=n(e=o,r=u)}}(t,r)).on("end.style."+t,se(t)):"function"==typeof n?this.styleTween(t,function(t,n,e){var r,i,o;return function(){var u=E(this,t),a=e(this),s=a+"";return null==a&&(this.style.removeProperty(t),s=a=E(this,t)),u===s?null:u===r&&s===i?o:(i=s,o=n(r=u,a))}}(t,r,rn(this,"style."+t,n))).each(function(t,n){var e,r,i,o,u="style."+n,a="end."+u;return function(){var s=$t(this,t),l=s.on,c=null==s.value[u]?o||(o=se(n)):void 0;l===e&&i===c||(r=(e=l).copy()).on(a,i=c),s.on=r}}(this._id,t)):this.styleTween(t,function(t,n,e){var r,i,o=e+"";return function(){var u=E(this,t);return u===o?null:u===r?i:i=n(r=u,e)}}(t,r,n),e).on("end.style."+t,null)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw new Error;return this.tween(r,ce(t,n,null==e?"":e))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var n=t(this);this.textContent=null==n?"":n}}(rn(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;return this.tween(n,he(t))},remove:function(){return this.on("end.remove",(t=this._id,function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}));var t},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=Bt(this.node(),e).tween,o=0,u=i.length;o<u;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?nn:en)(e,t,n))},delay:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?ne:ee)(n,t)):Bt(this.node(),n).delay},duration:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?re:ie)(n,t)):Bt(this.node(),n).duration},ease:function(t){var n=this._id;return arguments.length?this.each(oe(n,t)):Bt(this.node(),n).ease},end:function(){var t,n,e=this,r=e._id,i=e.size();return new Promise((function(o,u){var a={value:u},s={value:function(){0==--i&&o()}};e.each((function(){var e=$t(this,r),i=e.on;i!==t&&((n=(t=i).copy())._.cancel.push(a),n._.interrupt.push(a),n._.end.push(s)),e.on=n}))}))}};var ge={time:null,delay:0,duration:250,ease:function(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}};function _e(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))return ge.time=Ot(),ge;return e}ht.prototype.interrupt=function(t){return this.each((function(){!function(t,n){var e,r,i,o=t.__transition,u=!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]):u=!1;u&&delete t.__transition}}(this,t)}))},ht.prototype.transition=function(t){var n,e;t instanceof de?(n=t._id,t=t._name):(n=ve(),(e=ge).time=Ot(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var u,a=r[o],s=a.length,l=0;l<s;++l)(u=a[l])&&Ht(u,t,n,l,a,e||_e(u,n));return new de(r,this._parents,t,n)};function me(t){return t.data.name}function we(){var t,n="string"==typeof(t="body")?new ct([[document.querySelector(t)]],[document.documentElement]):new ct([[t]],lt),e=null,r=me;function i(){e=n.append("div").style("display","none").style("position","absolute").style("opacity",0).style("pointer-events","none").attr("class","d3-flame-graph-tip")}return i.show=function(t){return e.style("display","block").transition().duration(200).style("opacity",1).style("pointer-events","all"),e.html(r(t)).style("left",event.pageX+5+"px").style("top",event.pageY+5+"px"),i},i.hide=function(){return e.style("display","none").transition().duration(200).style("opacity",0).style("pointer-events","none"),i},i.html=function(t){return arguments.length?(r=t,i):r},i}}})}));

@@ -1,1 +0,1 @@

!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.flamegraph=n():t.flamegraph=n()}(window,(function(){return function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=7)}({7:function(t,n,e){"use strict";function r(){}e.r(n);var i=function(t){return null==t?r:function(){return this.querySelector(t)}};function o(){return[]}var a=function(t){return null==t?o:function(){return this.querySelectorAll(t)}},u=function(t){return function(){return this.matches(t)}},l=function(t){return new Array(t.length)};function c(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}c.prototype={constructor:c,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)}};function s(t,n,e,r,i,o){for(var a,u=0,l=n.length,s=o.length;u<s;++u)(a=n[u])?(a.__data__=o[u],r[u]=a):e[u]=new c(t,o[u]);for(;u<l;++u)(a=n[u])&&(i[u]=a)}function h(t,n,e,r,i,o,a){var u,l,s,h={},f=n.length,p=o.length,d=new Array(f);for(u=0;u<f;++u)(l=n[u])&&(d[u]=s="$"+a.call(l,l.__data__,u,n),s in h?i[u]=l:h[s]=l);for(u=0;u<p;++u)(l=h[s="$"+a.call(t,o[u],u,o)])?(r[u]=l,l.__data__=o[u],h[s]=null):e[u]=new c(t,o[u]);for(u=0;u<f;++u)(l=n[u])&&h[d[u]]===l&&(i[u]=l)}function f(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}var p="http://www.w3.org/1999/xhtml",d={svg:"http://www.w3.org/2000/svg",xhtml:p,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},g=function(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),d.hasOwnProperty(n)?{space:d[n],local:t}:t};function v(t){return function(){this.removeAttribute(t)}}function m(t){return function(){this.removeAttributeNS(t.space,t.local)}}function y(t,n){return function(){this.setAttribute(t,n)}}function w(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function _(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)}}var x=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function M(t){return function(){this.style.removeProperty(t)}}function A(t,n,e){return function(){this.style.setProperty(t,n,e)}}function N(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function k(t,n){return t.style.getPropertyValue(n)||x(t).getComputedStyle(t,null).getPropertyValue(n)}function E(t){return function(){delete this[t]}}function S(t,n){return function(){this[t]=n}}function j(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function C(t){return t.trim().split(/^|\s+/)}function P(t){return t.classList||new O(t)}function O(t){this._node=t,this._names=C(t.getAttribute("class")||"")}function T(t,n){for(var e=P(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function q(t,n){for(var e=P(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function H(t){return function(){T(this,t)}}function L(t){return function(){q(this,t)}}function D(t,n){return function(){(n.apply(this,arguments)?T:q)(this,t)}}O.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}};function z(){this.textContent=""}function B(t){return function(){this.textContent=t}}function X(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function R(){this.innerHTML=""}function $(t){return function(){this.innerHTML=t}}function I(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function V(){this.nextSibling&&this.parentNode.appendChild(this)}function Y(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function F(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===p&&n.documentElement.namespaceURI===p?n.createElement(t):n.createElementNS(e,t)}}function U(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var Z=function(t){var n=g(t);return(n.local?U:F)(n)};function G(){return null}function J(){var t=this.parentNode;t&&t.removeChild(this)}function K(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function Q(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}var W={},tt=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(W={mouseenter:"mouseover",mouseleave:"mouseout"}));function nt(t,n,e){return t=et(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function et(t,n,e){return function(r){var i=tt;tt=r;try{t.call(this,this.__data__,n,e)}finally{tt=i}}}function rt(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}}))}function it(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.capture);++i?n.length=i:delete this.__on}}}function ot(t,n,e){var r=W.hasOwnProperty(t.type)?nt:et;return function(i,o,a){var u,l=this.__on,c=r(n,o,a);if(l)for(var s=0,h=l.length;s<h;++s)if((u=l[s]).type===t.type&&u.name===t.name)return this.removeEventListener(u.type,u.listener,u.capture),this.addEventListener(u.type,u.listener=c,u.capture=e),void(u.value=n);this.addEventListener(t.type,c,e),u={type:t.type,name:t.name,value:n,listener:c,capture:e},l?l.push(u):this.__on=[u]}}function at(t,n,e){var r=x(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 ut(t,n){return function(){return at(this,t,n)}}function lt(t,n){return function(){return at(this,t,n.apply(this,arguments))}}var ct=[null];function st(t,n){this._groups=t,this._parents=n}function ht(){return new st([[document.documentElement]],ct)}st.prototype=ht.prototype={constructor:st,select:function(t){"function"!=typeof t&&(t=i(t));for(var n=this._groups,e=n.length,r=new Array(e),o=0;o<e;++o)for(var a,u,l=n[o],c=l.length,s=r[o]=new Array(c),h=0;h<c;++h)(a=l[h])&&(u=t.call(a,a.__data__,h,l))&&("__data__"in a&&(u.__data__=a.__data__),s[h]=u);return new st(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=a(t));for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var u,l=n[o],c=l.length,s=0;s<c;++s)(u=l[s])&&(r.push(t.call(u,u.__data__,s,l)),i.push(u));return new st(r,i)},filter:function(t){"function"!=typeof t&&(t=u(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,a=n[i],l=a.length,c=r[i]=[],s=0;s<l;++s)(o=a[s])&&t.call(o,o.__data__,s,a)&&c.push(o);return new st(r,this._parents)},data:function(t,n){if(!t)return v=new Array(this.size()),f=-1,this.each((function(t){v[++f]=t})),v;var e,r=n?h:s,i=this._parents,o=this._groups;"function"!=typeof t&&(e=t,t=function(){return e});for(var a=o.length,u=new Array(a),l=new Array(a),c=new Array(a),f=0;f<a;++f){var p=i[f],d=o[f],g=d.length,v=t.call(p,p&&p.__data__,f,i),m=v.length,y=l[f]=new Array(m),w=u[f]=new Array(m);r(p,d,y,w,c[f]=new Array(g),v,n);for(var _,b,x=0,M=0;x<m;++x)if(_=y[x]){for(x>=M&&(M=x+1);!(b=w[M])&&++M<m;);_._next=b||null}}return(u=new st(u,i))._enter=l,u._exit=c,u},enter:function(){return new st(this._enter||this._groups.map(l),this._parents)},exit:function(){return new st(this._exit||this._groups.map(l),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return r="function"==typeof t?t(r):r.append(t+""),null!=n&&(i=n(i)),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),a=new Array(r),u=0;u<o;++u)for(var l,c=n[u],s=e[u],h=c.length,f=a[u]=new Array(h),p=0;p<h;++p)(l=c[p]||s[p])&&(f[p]=l);for(;u<r;++u)a[u]=n[u];return new st(a,this._parents)},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=f);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 st(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),n=-1;return this.each((function(){t[++n]=this})),t},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(){var t=0;return this.each((function(){++t})),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=g(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?m:v:"function"==typeof n?e.local?b:_:e.local?w:y)(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?M:"function"==typeof n?N:A)(t,n,null==e?"":e)):k(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?E:"function"==typeof n?j:S)(t,n)):this.node()[t]},classed:function(t,n){var e=C(t+"");if(arguments.length<2){for(var r=P(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?D:n?H:L)(e,n))},text:function(t){return arguments.length?this.each(null==t?z:("function"==typeof t?X:B)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?R:("function"==typeof t?I:$)(t)):this.node().innerHTML},raise:function(){return this.each(V)},lower:function(){return this.each(Y)},append:function(t){var n="function"==typeof t?t:Z(t);return this.select((function(){return this.appendChild(n.apply(this,arguments))}))},insert:function(t,n){var e="function"==typeof t?t:Z(t),r=null==n?G:"function"==typeof n?n:i(n);return this.select((function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(J)},clone:function(t){return this.select(t?Q:K)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=rt(t+""),a=o.length;if(!(arguments.length<2)){for(u=n?ot:it,null==e&&(e=!1),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?lt:ut)(t,n))}};var ft=ht,pt=function(t){return"string"==typeof t?new st([[document.querySelector(t)]],[document.documentElement]):new st([[t]],ct)},dt=function(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)]},gt=function(t){return(t=dt(Math.abs(t)))?t[1]:NaN},vt=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function mt(t){if(!(n=vt.exec(t)))throw new Error("invalid format: "+t);var n;return new yt({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 yt(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+""}mt.prototype=yt.prototype,yt.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 wt,_t,bt,xt,Mt=function(t,n){var e=dt(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")},At={"%":function(t,n){return(100*t).toFixed(n)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:function(t){return Math.round(t).toString(8)},p:function(t,n){return Mt(100*t,n)},r:Mt,s:function(t,n){var e=dt(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(wt=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")+dt(t,Math.max(0,n+o-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},Nt=function(t){return t},kt=Array.prototype.map,Et=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];_t=function(t){var n,e,r=void 0===t.grouping||void 0===t.thousands?Nt:(n=kt.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?Nt:function(t){return function(n){return n.replace(/[0-9]/g,(function(n){return t[+n]}))}}(kt.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 h(t){var n=(t=mt(t)).fill,e=t.align,h=t.sign,f=t.symbol,p=t.zero,d=t.width,g=t.comma,v=t.precision,m=t.trim,y=t.type;"n"===y?(g=!0,y="g"):At[y]||(void 0===v&&(v=12),m=!0,y="g"),(p||"0"===n&&"="===e)&&(p=!0,n="0",e="=");var w="$"===f?i:"#"===f&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",_="$"===f?o:/[%p]/.test(y)?l:"",b=At[y],x=/[defgprs%]/.test(y);function M(t){var i,o,l,f=w,M=_;if("c"===y)M=b(t)+M,t="";else{var A=(t=+t)<0||1/t<0;if(t=isNaN(t)?s:b(Math.abs(t),v),m&&(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)),A&&0==+t&&"+"!==h&&(A=!1),f=(A?"("===h?h:c:"-"===h||"("===h?"":h)+f,M=("s"===y?Et[8+wt/3]:"")+M+(A&&"("===h?")":""),x)for(i=-1,o=t.length;++i<o;)if(48>(l=t.charCodeAt(i))||l>57){M=(46===l?a+t.slice(i+1):t.slice(i))+M,t=t.slice(0,i);break}}g&&!p&&(t=r(t,1/0));var N=f.length+t.length+M.length,k=N<d?new Array(d-N+1).join(n):"";switch(g&&p&&(t=r(k+t,k.length?d-M.length:1/0),k=""),e){case"<":t=f+t+M+k;break;case"=":t=f+k+t+M;break;case"^":t=k.slice(0,N=k.length>>1)+f+t+M+k.slice(N);break;default:t=k+f+t+M}return u(t)}return v=void 0===v?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,v)):Math.max(0,Math.min(20,v)),M.toString=function(){return t+""},M}return{format:h,formatPrefix:function(t,n){var e=h(((t=mt(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(gt(n)/3))),i=Math.pow(10,-r),o=Et[8+r/3];return function(t){return e(i*t)+o}}}}({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),bt=_t.format,xt=_t.formatPrefix;var St=function(t,n){return t<n?-1:t>n?1:t>=n?0:NaN},jt=function(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)},Ct=function(){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(jt),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 Pt(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 Ot(t,n){var e,r,i,o,a,u=new Lt(t),l=+t.value&&(u.value=t.value),c=[u];for(null==n&&(n=Tt);e=c.pop();)if(l&&(e.value=+e.data.value),(i=n(e.data))&&(a=i.length))for(e.children=new Array(a),o=a-1;o>=0;--o)c.push(r=e.children[o]=new Lt(i[o])),r.parent=e,r.depth=e.depth+1;return u.eachBefore(Ht)}function Tt(t){return t.children}function qt(t){t.data=t.data.data}function Ht(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function Lt(t){this.data=t,this.depth=this.height=0,this.parent=null}Lt.prototype=Ot.prototype={constructor:Lt,count:function(){return this.eachAfter(Pt)},each:function(t){var n,e,r,i,o=this,a=[o];do{for(n=a.reverse(),a=[];o=n.pop();)if(t(o),e=o.children)for(r=0,i=e.length;r<i;++r)a.push(e[r])}while(a.length);return this},eachAfter:function(t){for(var n,e,r,i=this,o=[i],a=[];i=o.pop();)if(a.push(i),n=i.children)for(e=0,r=n.length;e<r;++e)o.push(n[e]);for(;i=a.pop();)t(i);return this},eachBefore:function(t){for(var n,e,r=this,i=[r];r=i.pop();)if(t(r),n=r.children)for(e=n.length-1;e>=0;--e)i.push(n[e]);return this},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(){var t=[];return this.each((function(n){t.push(n)})),t},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 Ot(this).eachBefore(qt)}};var Dt=Math.sqrt(50),zt=Math.sqrt(10),Bt=Math.sqrt(2);function Xt(t,n,e){var r=(n-t)/Math.max(0,e),i=Math.floor(Math.log(r)/Math.LN10),o=r/Math.pow(10,i);return i>=0?(o>=Dt?10:o>=zt?5:o>=Bt?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=Dt?10:o>=zt?5:o>=Bt?2:1)}var Rt,$t,It=(1===(Rt=St).length&&($t=Rt,Rt=function(t,n){return St($t(t),n)}),{left:function(t,n,e,r){for(null==e&&(e=0),null==r&&(r=t.length);e<r;){var i=e+r>>>1;Rt(t[i],n)<0?e=i+1:r=i}return e},right:function(t,n,e,r){for(null==e&&(e=0),null==r&&(r=t.length);e<r;){var i=e+r>>>1;Rt(t[i],n)>0?r=i:e=i+1}return e}}),Vt=It.right,Yt=function(t,n,e){t.prototype=n.prototype=e,e.constructor=t};function Ft(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function Ut(){}var Zt="\\s*([+-]?\\d+)\\s*",Gt="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Jt="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Kt=/^#([0-9a-f]{3,8})$/,Qt=new RegExp("^rgb\\("+[Zt,Zt,Zt]+"\\)$"),Wt=new RegExp("^rgb\\("+[Jt,Jt,Jt]+"\\)$"),tn=new RegExp("^rgba\\("+[Zt,Zt,Zt,Gt]+"\\)$"),nn=new RegExp("^rgba\\("+[Jt,Jt,Jt,Gt]+"\\)$"),en=new RegExp("^hsl\\("+[Gt,Jt,Jt]+"\\)$"),rn=new RegExp("^hsla\\("+[Gt,Jt,Jt,Gt]+"\\)$"),on={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 an(){return this.rgb().formatHex()}function un(){return this.rgb().formatRgb()}function ln(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=Kt.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?cn(n):3===e?new pn(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?new pn(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?new pn(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=Qt.exec(t))?new pn(n[1],n[2],n[3],1):(n=Wt.exec(t))?new pn(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=tn.exec(t))?sn(n[1],n[2],n[3],n[4]):(n=nn.exec(t))?sn(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=en.exec(t))?mn(n[1],n[2]/100,n[3]/100,1):(n=rn.exec(t))?mn(n[1],n[2]/100,n[3]/100,n[4]):on.hasOwnProperty(t)?cn(on[t]):"transparent"===t?new pn(NaN,NaN,NaN,0):null}function cn(t){return new pn(t>>16&255,t>>8&255,255&t,1)}function sn(t,n,e,r){return r<=0&&(t=n=e=NaN),new pn(t,n,e,r)}function hn(t){return t instanceof Ut||(t=ln(t)),t?new pn((t=t.rgb()).r,t.g,t.b,t.opacity):new pn}function fn(t,n,e,r){return 1===arguments.length?hn(t):new pn(t,n,e,null==r?1:r)}function pn(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function dn(){return"#"+vn(this.r)+vn(this.g)+vn(this.b)}function gn(){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 vn(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function mn(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 yn(t){if(t instanceof wn)return new wn(t.h,t.s,t.l,t.opacity);if(t instanceof Ut||(t=ln(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,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 wn(a,u,l,t.opacity)}function wn(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function _n(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}function bn(t,n,e,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*n+(4-6*o+3*a)*e+(1+3*t+3*o-3*a)*r+a*i)/6}Yt(Ut,ln,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:an,formatHex:an,formatHsl:function(){return yn(this).formatHsl()},formatRgb:un,toString:un}),Yt(pn,fn,Ft(Ut,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new pn(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new pn(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:dn,formatHex:dn,formatRgb:gn,toString:gn})),Yt(wn,(function(t,n,e,r){return 1===arguments.length?yn(t):new wn(t,n,e,null==r?1:r)}),Ft(Ut,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new wn(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,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 pn(_n(t>=240?t-240:t+120,i,r),_n(t,i,r),_n(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 xn=function(t){return function(){return t}};function Mn(t,n){return function(e){return t+e*n}}function An(t){return 1==(t=+t)?Nn: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):xn(isNaN(n)?e:n)}}function Nn(t,n){var e=n-t;return e?Mn(t,e):xn(isNaN(t)?n:t)}var kn=function t(n){var e=An(n);function r(t,n){var r=e((t=fn(t)).r,(n=fn(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),a=Nn(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 En(t){return function(n){var e,r,i=n.length,o=new Array(i),a=new Array(i),u=new Array(i);for(e=0;e<i;++e)r=fn(n[e]),o[e]=r.r||0,a[e]=r.g||0,u[e]=r.b||0;return o=t(o),a=t(a),u=t(u),r.opacity=1,function(t){return r.r=o(t),r.g=a(t),r.b=u(t),r+""}}}En((function(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,u=r<n-1?t[r+2]:2*o-i;return bn((e-r/n)*n,a,i,o,u)}})),En((function(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),i=t[(r+n-1)%n],o=t[r%n],a=t[(r+1)%n],u=t[(r+2)%n];return bn((e-r/n)*n,i,o,a,u)}}));var Sn=function(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 jn(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Cn(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]=Dn(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}}var Pn=function(t,n){var e=new Date;return t=+t,n=+n,function(r){return e.setTime(t*(1-r)+n*r),e}},On=function(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}},Tn=function(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]=Dn(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}},qn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Hn=new RegExp(qn.source,"g");var Ln=function(t,n){var e,r,i,o=qn.lastIndex=Hn.lastIndex=0,a=-1,u=[],l=[];for(t+="",n+="";(e=qn.exec(t))&&(r=Hn.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:On(e,r)})),o=Hn.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("")})},Dn=function(t,n){var e,r=typeof n;return null==n||"boolean"===r?xn(n):("number"===r?On:"string"===r?(e=ln(n))?(n=e,kn):Ln:n instanceof ln?kn:n instanceof Date?Pn:jn(n)?Sn:Array.isArray(n)?Cn:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?Tn:On)(t,n)},zn=function(t,n){return t=+t,n=+n,function(e){return Math.round(t*(1-e)+n*e)}},Bn=function(t){return+t},Xn=[0,1];function Rn(t){return t}function $n(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:(e=isNaN(n)?NaN:.5,function(){return e});var e}function In(t,n,e){var r=t[0],i=t[1],o=n[0],a=n[1];return i<r?(r=$n(i,r),o=e(a,o)):(r=$n(r,i),o=e(o,a)),function(t){return o(r(t))}}function Vn(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]=$n(t[a],t[a+1]),o[a]=e(n[a],n[a+1]);return function(n){var e=Vt(t,n,1,r)-1;return o[e](i[e](n))}}function Yn(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Fn(){var t,n,e,r,i,o,a=Xn,u=Xn,l=Dn,c=Rn;function s(){var t,n,e,l=Math.min(a.length,u.length);return c!==Rn&&(t=a[0],n=a[l-1],t>n&&(e=t,t=n,n=e),c=function(e){return Math.max(t,Math.min(n,e))}),r=l>2?Vn:In,i=o=null,h}function h(n){return isNaN(n=+n)?e:(i||(i=r(a.map(t),u,l)))(t(c(n)))}return h.invert=function(e){return c(n((o||(o=r(u,a.map(t),On)))(e)))},h.domain=function(t){return arguments.length?(a=Array.from(t,Bn),s()):a.slice()},h.range=function(t){return arguments.length?(u=Array.from(t),s()):u.slice()},h.rangeRound=function(t){return u=Array.from(t),l=zn,s()},h.clamp=function(t){return arguments.length?(c=!!t||Rn,s()):c!==Rn},h.interpolate=function(t){return arguments.length?(l=t,s()):l},h.unknown=function(t){return arguments.length?(e=t,h):e},function(e,r){return t=e,n=r,s()}}function Un(){return Fn()(Rn,Rn)}function Zn(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}var Gn=function(t,n,e,r){var i,o=function(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=Dt?i*=10:o>=zt?i*=5:o>=Bt&&(i*=2),n<t?-i:i}(t,n,e);switch((r=mt(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(gt(n)/3)))-gt(Math.abs(t)))}(o,a))||(r.precision=i),xt(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,gt(n)-gt(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,-gt(Math.abs(t)))}(o))||(r.precision=i-2*("%"===r.type))}return bt(r)};function Jn(t){var n=t.domain;return t.ticks=function(t){var e=n();return function(t,n,e){var r,i,o,a,u=-1;if(e=+e,(t=+t)===(n=+n)&&e>0)return[t];if((r=n<t)&&(i=t,t=n,n=i),0===(a=Xt(t,n,e))||!isFinite(a))return[];if(a>0)for(t=Math.ceil(t/a),n=Math.floor(n/a),o=new Array(i=Math.ceil(n-t+1));++u<i;)o[u]=(t+u)*a;else for(t=Math.floor(t*a),n=Math.ceil(n*a),o=new Array(i=Math.ceil(t-n+1));++u<i;)o[u]=(t-u)/a;return r&&o.reverse(),o}(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var r=n();return Gn(r[0],r[r.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var r,i=n(),o=0,a=i.length-1,u=i[o],l=i[a];return l<u&&(r=u,u=l,l=r,r=o,o=a,a=r),(r=Xt(u,l,e))>0?r=Xt(u=Math.floor(u/r)*r,l=Math.ceil(l/r)*r,e):r<0&&(r=Xt(u=Math.ceil(u*r)/r,l=Math.floor(l*r)/r,e)),r>0?(i[o]=Math.floor(u/r)*r,i[a]=Math.ceil(l/r)*r,n(i)):r<0&&(i[o]=Math.ceil(u*r)/r,i[a]=Math.floor(l*r)/r,n(i)),t},t}function Kn(){var t=Un();return t.copy=function(){return Yn(t,Kn())},Zn.apply(t,arguments),Jn(t)}function Qn(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Wn={value:function(){}};function te(){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 ne(r)}function ne(t){this._=t}function ee(t,n){return t.trim().split(/^|\s+/).map((function(t){var e="",r=t.indexOf(".");if(r>=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 re(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function ie(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=Wn,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}ne.prototype=te.prototype={constructor:ne,on:function(t,n){var e,r=this._,i=ee(t+"",r),o=-1,a=i.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o<a;)if(e=(t=i[o]).type)r[e]=ie(r[e],t.name,n);else if(null==n)for(e in r)r[e]=ie(r[e],t.name,null);return this}for(;++o<a;)if((e=(t=i[o]).type)&&(e=re(r[e],t.name)))return e},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new ne(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 oe,ae,ue=te,le=0,ce=0,se=0,he=0,fe=0,pe=0,de="object"==typeof performance&&performance.now?performance:Date,ge="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function ve(){return fe||(ge(me),fe=de.now()+pe)}function me(){fe=0}function ye(){this._call=this._time=this._next=null}function we(t,n,e){var r=new ye;return r.restart(t,n,e),r}function _e(){fe=(he=de.now())+pe,le=ce=0;try{!function(){ve(),++le;for(var t,n=oe;n;)(t=fe-n._time)>=0&&n._call.call(null,t),n=n._next;--le}()}finally{le=0,function(){var t,n,e=oe,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:oe=n);ae=t,xe(r)}(),fe=0}}function be(){var t=de.now(),n=t-he;n>1e3&&(pe-=n,he=t)}function xe(t){le||(ce&&(ce=clearTimeout(ce)),t-fe>24?(t<1/0&&(ce=setTimeout(_e,t-de.now()-pe)),se&&(se=clearInterval(se))):(se||(he=de.now(),se=setInterval(be,1e3)),le=1,ge(_e)))}ye.prototype=we.prototype={constructor:ye,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?ve():+e)+(null==n?0:+n),this._next||ae===this||(ae?ae._next=this:oe=this,ae=this),this._call=t,this._time=e,xe()},stop:function(){this._call&&(this._call=null,this._time=1/0,xe())}};var Me=function(t,n,e){var r=new ye;return n=null==n?0:+n,r.restart((function(e){r.stop(),t(e+n)}),n,e),r},Ae=ue("start","end","cancel","interrupt"),Ne=[],ke=function(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(l){var c,s,h,f;if(1!==e.state)return u();for(c in i)if((f=i[c]).name===e.name){if(3===f.state)return Me(o);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[c]):+c<n&&(f.state=6,f.timer.stop(),f.on.call("cancel",t,t.__data__,f.index,f.group),delete i[c])}if(Me((function(){3===e.state&&(e.state=4,e.timer.restart(a,e.delay,e.time),a(l))})),e.state=2,e.on.call("start",t,t.__data__,e.index,e.group),2===e.state){for(e.state=3,r=new Array(h=e.tween.length),c=0,s=-1;c<h;++c)(f=e.tween[c].value.call(t,t.__data__,e.index,e.group))&&(r[++s]=f);r.length=s+1}}function a(n){for(var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(u),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),u())}function u(){for(var r in e.state=6,e.timer.stop(),delete i[n],i)return;delete t.__transition}i[n]=e,e.timer=we((function(t){e.state=1,e.timer.restart(o,e.delay,e.time),e.delay<=t&&o(t-e.delay)}),0,e.time)}(t,e,{name:n,index:r,group:i,on:Ae,tween:Ne,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})};function Ee(t,n){var e=je(t,n);if(e.state>0)throw new Error("too late; already scheduled");return e}function Se(t,n){var e=je(t,n);if(e.state>3)throw new Error("too late; already running");return e}function je(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}var Ce,Pe,Oe,Te,qe=180/Math.PI,He={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},Le=function(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)*qe,skewX:Math.atan(l)*qe,scaleX:a,scaleY:u}};function De(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:On(t,i)},{i:l-2,x:On(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:On(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:On(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:On(t,e)},{i:u-2,x:On(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 ze=De((function(t){return"none"===t?He:(Ce||(Ce=document.createElement("DIV"),Pe=document.documentElement,Oe=document.defaultView),Ce.style.transform=t,t=Oe.getComputedStyle(Pe.appendChild(Ce),null).getPropertyValue("transform"),Pe.removeChild(Ce),t=t.slice(7,-1).split(","),Le(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),"px, ","px)","deg)"),Be=De((function(t){return null==t?He:(Te||(Te=document.createElementNS("http://www.w3.org/2000/svg","g")),Te.setAttribute("transform",t),(t=Te.transform.baseVal.consolidate())?(t=t.matrix,Le(t.a,t.b,t.c,t.d,t.e,t.f)):He)}),", ",")",")");function Xe(t,n){var e,r;return function(){var i=Se(this,t),o=i.tween;if(o!==e)for(var a=0,u=(r=e=o).length;a<u;++a)if(r[a].name===n){(r=r.slice()).splice(a,1);break}i.tween=r}}function Re(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=Se(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var u={name:n,value:e},l=0,c=i.length;l<c;++l)if(i[l].name===n){i[l]=u;break}l===c&&i.push(u)}o.tween=i}}function $e(t,n,e){var r=t._id;return t.each((function(){var t=Se(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)})),function(t){return je(t,r).value[n]}}var Ie=function(t,n){var e;return("number"==typeof n?On:n instanceof ln?kn:(e=ln(n))?(n=e,kn):Ln)(t,n)};function Ve(t){return function(){this.removeAttribute(t)}}function Ye(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Fe(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttribute(t);return a===o?null:a===r?i:i=n(r=a,e)}}function Ue(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===r?i:i=n(r=a,e)}}function Ze(t,n,e){var r,i,o;return function(){var a,u,l=e(this);if(null!=l)return(a=this.getAttribute(t))===(u=l+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,l));this.removeAttribute(t)}}function Ge(t,n,e){var r,i,o;return function(){var a,u,l=e(this);if(null!=l)return(a=this.getAttributeNS(t.space,t.local))===(u=l+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,l));this.removeAttributeNS(t.space,t.local)}}function Je(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function Ke(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function Qe(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&Ke(t,i)),e}return i._value=n,i}function We(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&Je(t,i)),e}return i._value=n,i}function tr(t,n){return function(){Ee(this,t).delay=+n.apply(this,arguments)}}function nr(t,n){return n=+n,function(){Ee(this,t).delay=n}}function er(t,n){return function(){Se(this,t).duration=+n.apply(this,arguments)}}function rr(t,n){return n=+n,function(){Se(this,t).duration=n}}function ir(t,n){if("function"!=typeof n)throw new Error;return function(){Se(this,t).ease=n}}function or(t,n,e){var r,i,o=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t}))}(n)?Ee:Se;return function(){var a=o(this,t),u=a.on;u!==r&&(i=(r=u).copy()).on(n,e),a.on=i}}var ar=ft.prototype.constructor;function ur(t){return function(){this.style.removeProperty(t)}}function lr(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function cr(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&lr(t,o,e)),r}return o._value=n,o}function sr(t){return function(n){this.textContent=t.call(this,n)}}function hr(t){var n,e;function r(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&sr(r)),n}return r._value=t,r}var fr=0;function pr(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function dr(){return++fr}var gr=ft.prototype;pr.prototype=function(t){return ft().transition(t)}.prototype={constructor:pr,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=i(t));for(var r=this._groups,o=r.length,a=new Array(o),u=0;u<o;++u)for(var l,c,s=r[u],h=s.length,f=a[u]=new Array(h),p=0;p<h;++p)(l=s[p])&&(c=t.call(l,l.__data__,p,s))&&("__data__"in l&&(c.__data__=l.__data__),f[p]=c,ke(f[p],n,e,p,f,je(l,e)));return new pr(a,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=a(t));for(var r=this._groups,i=r.length,o=[],u=[],l=0;l<i;++l)for(var c,s=r[l],h=s.length,f=0;f<h;++f)if(c=s[f]){for(var p,d=t.call(c,c.__data__,f,s),g=je(c,e),v=0,m=d.length;v<m;++v)(p=d[v])&&ke(p,n,e,v,d,g);o.push(d),u.push(c)}return new pr(o,u,n,e)},filter:function(t){"function"!=typeof t&&(t=u(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,a=n[i],l=a.length,c=r[i]=[],s=0;s<l;++s)(o=a[s])&&t.call(o,o.__data__,s,a)&&c.push(o);return new pr(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),a=new Array(r),u=0;u<o;++u)for(var l,c=n[u],s=e[u],h=c.length,f=a[u]=new Array(h),p=0;p<h;++p)(l=c[p]||s[p])&&(f[p]=l);for(;u<r;++u)a[u]=n[u];return new pr(a,this._parents,this._name,this._id)},selection:function(){return new ar(this._groups,this._parents)},transition:function(){for(var t=this._name,n=this._id,e=dr(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a,u=r[o],l=u.length,c=0;c<l;++c)if(a=u[c]){var s=je(a,n);ke(a,t,e,c,u,{time:s.time+s.delay+s.duration,delay:0,duration:s.duration,ease:s.ease})}return new pr(r,this._parents,t,e)},call:gr.call,nodes:gr.nodes,node:gr.node,size:gr.size,empty:gr.empty,each:gr.each,on:function(t,n){var e=this._id;return arguments.length<2?je(this.node(),e).on.on(t):this.each(or(e,t,n))},attr:function(t,n){var e=g(t),r="transform"===e?Be:Ie;return this.attrTween(t,"function"==typeof n?(e.local?Ge:Ze)(e,r,$e(this,"attr."+t,n)):null==n?(e.local?Ye:Ve)(e):(e.local?Ue:Fe)(e,r,n))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw new Error;var r=g(t);return this.tween(e,(r.local?Qe:We)(r,n))},style:function(t,n,e){var r="transform"==(t+="")?ze:Ie;return null==n?this.styleTween(t,function(t,n){var e,r,i;return function(){var o=k(this,t),a=(this.style.removeProperty(t),k(this,t));return o===a?null:o===e&&a===r?i:i=n(e=o,r=a)}}(t,r)).on("end.style."+t,ur(t)):"function"==typeof n?this.styleTween(t,function(t,n,e){var r,i,o;return function(){var a=k(this,t),u=e(this),l=u+"";return null==u&&(this.style.removeProperty(t),l=u=k(this,t)),a===l?null:a===r&&l===i?o:(i=l,o=n(r=a,u))}}(t,r,$e(this,"style."+t,n))).each(function(t,n){var e,r,i,o,a="style."+n,u="end."+a;return function(){var l=Se(this,t),c=l.on,s=null==l.value[a]?o||(o=ur(n)):void 0;c===e&&i===s||(r=(e=c).copy()).on(u,i=s),l.on=r}}(this._id,t)):this.styleTween(t,function(t,n,e){var r,i,o=e+"";return function(){var a=k(this,t);return a===o?null:a===r?i:i=n(r=a,e)}}(t,r,n),e).on("end.style."+t,null)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw new Error;return this.tween(r,cr(t,n,null==e?"":e))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var n=t(this);this.textContent=null==n?"":n}}($e(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;return this.tween(n,hr(t))},remove:function(){return this.on("end.remove",(t=this._id,function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}));var t},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=je(this.node(),e).tween,o=0,a=i.length;o<a;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?Xe:Re)(e,t,n))},delay:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?tr:nr)(n,t)):je(this.node(),n).delay},duration:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?er:rr)(n,t)):je(this.node(),n).duration},ease:function(t){var n=this._id;return arguments.length?this.each(ir(n,t)):je(this.node(),n).ease},end:function(){var t,n,e=this,r=e._id,i=e.size();return new Promise((function(o,a){var u={value:a},l={value:function(){0==--i&&o()}};e.each((function(){var e=Se(this,r),i=e.on;i!==t&&((n=(t=i).copy())._.cancel.push(u),n._.interrupt.push(u),n._.end.push(l)),e.on=n}))}))}};var vr={time:null,delay:0,duration:250,ease:Qn};function mr(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))return vr.time=ve(),vr;return e}ft.prototype.interrupt=function(t){return this.each((function(){!function(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}}(this,t)}))},ft.prototype.transition=function(t){var n,e;t instanceof pr?(n=t._id,t=t._name):(n=dr(),(e=vr).time=ve(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a,u=r[o],l=u.length,c=0;c<l;++c)(a=u[c])&&ke(a,t,n,c,u,e||mr(a,n));return new pr(r,this._parents,t,n)};n.default=function(){var t=960,n=null,e=18,r=null,i=null,o="",a=750,u=Qn,l=!1,c=!1,s=null,h=0,f=null,p=!1,d=0,g=0,v=!1,m=!1,y=null,w=!1,_=null,b=function(t){return t.data.n||t.data.name},x=function(t){return"v"in t?t.v:t.value},M=function(t){return t.c||t.children},A=function(t){return t.data.l||t.data.libtype},N=function(t){return"d"in t.data?t.data.d:t.data.delta},k=function(){f&&q()},E=k;let S=(t,n,e=!1)=>{if(!n)return!1;let r=b(t);e&&(n=n.toLowerCase(),r=r.toLowerCase());const i=new RegExp(n);return void 0!==r&&r&&r.match(i)};const j=S;var C,P=function(t){f&&(t?f.innerHTML=t:d?q():f.innerHTML="")},O=P,T=function(t){return b(t)+" ("+bt(".3f")(100*(t.x1-t.x0),3)+"%, "+x(t)+" samples)"};function q(){f.innerHTML=d+" of "+g+" samples ( "+bt(".3f")(d/g*100,3)+"%)"}var H=function(t){return t.highlight?"#E600E6":function(t,n){var e,r,i,o=_||"warm";_||void 0===n||""===n||(o="red",void 0!==t&&t&&t.match(/::/)&&(o="yellow"),"kernel"===n?o="orange":"jit"===n?o="green":"inlined"===n&&(o="aqua"));var a=0;if(t){var u=t.split("`");u.length>1&&(t=u[u.length-1]),t=t.split("(")[0],a=function(t){var n=0,e=0,r=1;if(t){for(var i=0;i<t.length&&!(i>6);i++)n+=r*(t.charCodeAt(i)%10),e+=9*r,r*=.7;e>0&&(n/=e)}return n}(t)}"red"===o?(e=200+Math.round(55*a),r=50+Math.round(80*a),i=r):"orange"===o?(e=190+Math.round(65*a),r=90+Math.round(65*a),i=0):"yellow"===o?(e=175+Math.round(55*a),r=e,i=50+Math.round(20*a)):"green"===o?(e=50+Math.round(60*a),r=200+Math.round(55*a),i=e):"aqua"===o?(e=50+Math.round(60*a),r=165+Math.round(55*a),i=r):"cold"===o?(e=0+Math.round(55*(1-a)),r=0+Math.round(230*(1-a)),i=200+Math.round(55*a)):(e=200+Math.round(55*a),r=0+Math.round(230*(1-a)),i=0+Math.round(55*(1-a)));return"rgb("+e+","+r+","+i+")"}(b(t),A(t))},L=H;function D(t){t.data.fade=!1,t.data.hide=!1,t.children&&t.children.forEach(D)}function z(t){if(i&&i.hide(),function(t){let n,e,r,i=t,o=i.parent;for(;o;){for(n=o.children,e=n.length;e--;)r=n[e],r!==i&&(r.data.hide=!0);i=o,o=i.parent}}(t),D(t),function t(n){n.parent&&(n.parent.data.fade=!0,t(n.parent))}(t),R(),m){const n=C._groups[0][0].parentNode.offsetTop,r=(window.innerHeight-n)/e,i=(t.height-r+10)*e;window.scrollTo({top:n+i,left:0,behavior:"smooth"})}"function"==typeof s&&s(t)}function B(t,n){return"function"==typeof l?l(t,n):l?St(b(t),b(n)):void 0}var X=Ct();function R(){r.each((function(r){var o=Kn().range([0,t]),s=Kn().range([0,e]);!function(t){let n,e,r,i,o,a,u,l;const c=[],s=[],h=[],f=!p;let d=t.data;d.hide?(t.value=0,e=t.children,e&&h.push(e)):(t.value=d.fade?0:x(d),c.push(t));for(;n=c.pop();)if(e=n.children,e&&(o=e.length)){for(i=0;o--;)u=e[o],d=u.data,d.hide?(u.value=0,r=u.children,r&&h.push(r)):(d.fade?u.value=0:(l=x(d),u.value=l,i+=l),c.push(u));f&&n.value&&(n.value-=i),s.push(e)}o=s.length;for(;o--;){for(e=s[o],i=0,a=e.length;a--;)i+=e[a].value;e[0].parent.value+=i}for(;h.length;)for(e=h.pop(),a=e.length;a--;)u=e[a],u.value=0,r=u.children,r&&h.push(r)}(r),g=r.value,l&&r.sort(B),X(r);var f=t/(r.x1-r.x0);function d(t){return(t.x1-t.x0)*f}var m=function(n){var e=n.descendants();if(h>0){var r=t/(n.x1-n.x0);e=e.filter((function(t){return(t.x1-t.x0)*r>h}))}return e}(r),w=pt(this).select("svg").selectAll("g").data(m,(function(t){return t.id}));if(!n||v){var _=Math.max.apply(null,m.map((function(t){return t.depth})));(n=(_+3)*e)<y&&(n=y),pt(this).select("svg").attr("height",n)}w.transition().duration(a).ease(u).attr("transform",(function(t){return"translate("+o(t.x0)+","+(c?s(t.depth):n-s(t.depth)-e)+")"})),w.select("rect").transition().duration(a).ease(u).attr("width",d);var M=w.enter().append("svg:g").attr("transform",(function(t){return"translate("+o(t.x0)+","+(c?s(t.depth):n-s(t.depth)-e)+")"}));M.append("svg:rect").transition().delay(a/2).attr("width",d),i||M.append("svg:title"),M.append("foreignObject").append("xhtml:div"),(w=pt(this).select("svg").selectAll("g").data(m,(function(t){return t.id}))).attr("width",d).attr("height",(function(t){return e})).attr("name",(function(t){return b(t)})).attr("class",(function(t){return t.data.fade?"frame fade":"frame"})),w.select("rect").attr("height",(function(t){return e})).attr("fill",(function(t){return H(t)})),i||w.select("title").text(T),w.select("foreignObject").attr("width",d).attr("height",(function(t){return e})).select("div").attr("class","d3-flame-graph-label").style("display",(function(t){return d(t)<35?"none":"block"})).transition().delay(a).text(b),w.on("click",z),w.exit().remove(),w.on("mouseover",(function(t){i&&i.show(t,this),P(T(t))})).on("mouseout",(function(){i&&i.hide(),P(null)}))}))}function $(t){let n=0;!function(t,n){n(t);let e=t.children;if(e){const t=[e];let r,i,o;for(;t.length;)for(e=t.pop(),r=e.length;r--;)i=e[r],n(i),o=i.children,o&&t.push(o)}}(t,(function(t){t.id=n++}))}function I(e){const a=Ot(e.datum(),M);if($(a),w&&a.eachAfter(t=>{let n=N(t);const e=t.children;let r=e&&e.length;for(;--r>=0;)n+=e[r].delta;t.delta=n}),r=e.datum(a),!arguments.length)return I;r.each((function(e){C||(C=pt(this).append("svg:svg").attr("width",t).attr("class","partition d3-flame-graph"),n&&(n<y&&(n=y),C.attr("height",n)),C.append("svg:text").attr("class","title").attr("text-anchor","middle").attr("y","25").attr("x",t/2).attr("fill","#808080").text(o),i&&C.call(i))})),R()}return I.height=function(t){return arguments.length?(n=t,I):n},I.minHeight=function(t){return arguments.length?(y=t,I):y},I.width=function(n){return arguments.length?(t=n,I):t},I.cellHeight=function(t){return arguments.length?(e=t,I):e},I.tooltip=function(t){return arguments.length?("function"==typeof t&&(i=t),I):i},I.title=function(t){return arguments.length?(o=t,I):o},I.transitionDuration=function(t){return arguments.length?(a=t,I):a},I.transitionEase=function(t){return arguments.length?(u=t,I):u},I.sort=function(t){return arguments.length?(l=t,I):l},I.inverted=function(t){return arguments.length?(c=t,I):c},I.computeDelta=function(t){return arguments.length?(w=t,I):w},I.setLabelHandler=function(t){return arguments.length?(T=t,I):T},I.label=I.setLabelHandler,I.search=function(t){r.each((function(n){!function(t,n){var e=[],r=0;!function t(i,o){var a=!1;S(i,n)?(i.highlight=!0,a=!0,o||(r+=x(i)),e.push(i)):i.highlight=!1,M(i)&&M(i).forEach((function(n){t(n,o||a)}))}(t,!1),d=r,k(e,r,g)}(n,t),R()}))},I.findById=function(t){if(null==t)return null;let n=null;return r.each((function(e){null===n&&(n=function t(n,e){if(n.id===e)return n;var r=M(n);if(r)for(var i=0;i<r.length;i++){var o=t(r[i],e);if(o)return o}}(e,t))})),n},I.clear=function(){d=0,P(null),r.each((function(t){!function t(n){n.highlight=!1,M(n)&&M(n).forEach((function(n){t(n)}))}(t),R()}))},I.zoomTo=function(t){z(t)},I.resetZoom=function(){r.each((function(t){z(t)}))},I.onClick=function(t){return arguments.length?(s=t,I):s},I.merge=function(t){return r?(r.each((function(e){!function t(n,e){e.forEach((function(e){var r=n.find((function(t){return t.name===e.name}));r?(r.original?r.original+=e.value:r.value+=e.value,e.children&&(r.children||(r.children=[]),t(r.children,e.children))):n.push(e)}))}([e.data],[t]),$(n=Ot(e.data,M))})),r=r.datum(n),R(),I):I;var n},I.update=function(t){return r?(r.each((function(e){e.data=t,$(n=Ot(e.data,M))})),r=r.datum(n),R(),I):I;var n},I.destroy=function(){return r?(i&&i.hide(),r.selectAll("svg").remove(),I):I},I.setColorMapper=function(t){return arguments.length?(H=n=>{const e=L(n);return t(n,e)},I):(H=L,I)},I.color=I.setColorMapper,I.setColorHue=function(t){return arguments.length?(_=t,I):(_=null,I)},I.minFrameSize=function(t){return arguments.length?(h=t,I):h},I.setDetailsElement=function(t){return arguments.length?(f=t,I):f},I.details=I.setDetailsElement,I.selfValue=function(t){return arguments.length?(p=t,I):p},I.resetHeightOnZoom=function(t){return arguments.length?(v=t,I):v},I.scrollOnZoom=function(t){return arguments.length?(m=t,I):m},I.getName=function(t){return arguments.length?(b=t,I):b},I.getValue=function(t){return arguments.length?(x=t,I):x},I.getChildren=function(t){return arguments.length?(M=t,I):M},I.getLibtype=function(t){return arguments.length?(A=t,I):A},I.getDelta=function(t){return arguments.length?(N=t,I):N},I.setSearchHandler=function(t){return arguments.length?(k=t,I):(k=E,I)},I.setDetailsHandler=function(t){return arguments.length?(P=t,I):(P=O,I)},I.setSearchMatch=function(t){return arguments.length?(S=t,I):(S=j,I)},I}}}).default}));
!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.flamegraph=n():t.flamegraph=n()}(window,(function(){return function(t){var n={};function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}return e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var i in t)e.d(r,i,function(n){return t[n]}.bind(null,i));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=7)}({7:function(t,n,e){"use strict";function r(){}e.r(n);var i=function(t){return null==t?r:function(){return this.querySelector(t)}};function o(){return[]}var a=function(t){return null==t?o:function(){return this.querySelectorAll(t)}},u=function(t){return function(){return this.matches(t)}},l=function(t){return new Array(t.length)};function c(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}c.prototype={constructor:c,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)}};function s(t,n,e,r,i,o){for(var a,u=0,l=n.length,s=o.length;u<s;++u)(a=n[u])?(a.__data__=o[u],r[u]=a):e[u]=new c(t,o[u]);for(;u<l;++u)(a=n[u])&&(i[u]=a)}function h(t,n,e,r,i,o,a){var u,l,s,h={},f=n.length,p=o.length,d=new Array(f);for(u=0;u<f;++u)(l=n[u])&&(d[u]=s="$"+a.call(l,l.__data__,u,n),s in h?i[u]=l:h[s]=l);for(u=0;u<p;++u)(l=h[s="$"+a.call(t,o[u],u,o)])?(r[u]=l,l.__data__=o[u],h[s]=null):e[u]=new c(t,o[u]);for(u=0;u<f;++u)(l=n[u])&&h[d[u]]===l&&(i[u]=l)}function f(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}var p="http://www.w3.org/1999/xhtml",d={svg:"http://www.w3.org/2000/svg",xhtml:p,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},g=function(t){var n=t+="",e=n.indexOf(":");return e>=0&&"xmlns"!==(n=t.slice(0,e))&&(t=t.slice(e+1)),d.hasOwnProperty(n)?{space:d[n],local:t}:t};function v(t){return function(){this.removeAttribute(t)}}function m(t){return function(){this.removeAttributeNS(t.space,t.local)}}function y(t,n){return function(){this.setAttribute(t,n)}}function w(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function _(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)}}var x=function(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView};function M(t){return function(){this.style.removeProperty(t)}}function A(t,n,e){return function(){this.style.setProperty(t,n,e)}}function N(t,n,e){return function(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function k(t,n){return t.style.getPropertyValue(n)||x(t).getComputedStyle(t,null).getPropertyValue(n)}function E(t){return function(){delete this[t]}}function S(t,n){return function(){this[t]=n}}function j(t,n){return function(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}}function C(t){return t.trim().split(/^|\s+/)}function P(t){return t.classList||new O(t)}function O(t){this._node=t,this._names=C(t.getAttribute("class")||"")}function T(t,n){for(var e=P(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function q(t,n){for(var e=P(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function H(t){return function(){T(this,t)}}function L(t){return function(){q(this,t)}}function D(t,n){return function(){(n.apply(this,arguments)?T:q)(this,t)}}O.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}};function z(){this.textContent=""}function B(t){return function(){this.textContent=t}}function X(t){return function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}}function R(){this.innerHTML=""}function $(t){return function(){this.innerHTML=t}}function I(t){return function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}}function V(){this.nextSibling&&this.parentNode.appendChild(this)}function Y(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function F(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===p&&n.documentElement.namespaceURI===p?n.createElement(t):n.createElementNS(e,t)}}function U(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}var Z=function(t){var n=g(t);return(n.local?U:F)(n)};function G(){return null}function J(){var t=this.parentNode;t&&t.removeChild(this)}function K(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function Q(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}var W={},tt=null;"undefined"!=typeof document&&("onmouseenter"in document.documentElement||(W={mouseenter:"mouseover",mouseleave:"mouseout"}));function nt(t,n,e){return t=et(t,n,e),function(n){var e=n.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||t.call(this,n)}}function et(t,n,e){return function(r){var i=tt;tt=r;try{t.call(this,this.__data__,n,e)}finally{tt=i}}}function rt(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}}))}function it(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.capture);++i?n.length=i:delete this.__on}}}function ot(t,n,e){var r=W.hasOwnProperty(t.type)?nt:et;return function(i,o,a){var u,l=this.__on,c=r(n,o,a);if(l)for(var s=0,h=l.length;s<h;++s)if((u=l[s]).type===t.type&&u.name===t.name)return this.removeEventListener(u.type,u.listener,u.capture),this.addEventListener(u.type,u.listener=c,u.capture=e),void(u.value=n);this.addEventListener(t.type,c,e),u={type:t.type,name:t.name,value:n,listener:c,capture:e},l?l.push(u):this.__on=[u]}}function at(t,n,e){var r=x(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 ut(t,n){return function(){return at(this,t,n)}}function lt(t,n){return function(){return at(this,t,n.apply(this,arguments))}}var ct=[null];function st(t,n){this._groups=t,this._parents=n}function ht(){return new st([[document.documentElement]],ct)}st.prototype=ht.prototype={constructor:st,select:function(t){"function"!=typeof t&&(t=i(t));for(var n=this._groups,e=n.length,r=new Array(e),o=0;o<e;++o)for(var a,u,l=n[o],c=l.length,s=r[o]=new Array(c),h=0;h<c;++h)(a=l[h])&&(u=t.call(a,a.__data__,h,l))&&("__data__"in a&&(u.__data__=a.__data__),s[h]=u);return new st(r,this._parents)},selectAll:function(t){"function"!=typeof t&&(t=a(t));for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var u,l=n[o],c=l.length,s=0;s<c;++s)(u=l[s])&&(r.push(t.call(u,u.__data__,s,l)),i.push(u));return new st(r,i)},filter:function(t){"function"!=typeof t&&(t=u(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,a=n[i],l=a.length,c=r[i]=[],s=0;s<l;++s)(o=a[s])&&t.call(o,o.__data__,s,a)&&c.push(o);return new st(r,this._parents)},data:function(t,n){if(!t)return v=new Array(this.size()),f=-1,this.each((function(t){v[++f]=t})),v;var e,r=n?h:s,i=this._parents,o=this._groups;"function"!=typeof t&&(e=t,t=function(){return e});for(var a=o.length,u=new Array(a),l=new Array(a),c=new Array(a),f=0;f<a;++f){var p=i[f],d=o[f],g=d.length,v=t.call(p,p&&p.__data__,f,i),m=v.length,y=l[f]=new Array(m),w=u[f]=new Array(m);r(p,d,y,w,c[f]=new Array(g),v,n);for(var _,b,x=0,M=0;x<m;++x)if(_=y[x]){for(x>=M&&(M=x+1);!(b=w[M])&&++M<m;);_._next=b||null}}return(u=new st(u,i))._enter=l,u._exit=c,u},enter:function(){return new st(this._enter||this._groups.map(l),this._parents)},exit:function(){return new st(this._exit||this._groups.map(l),this._parents)},join:function(t,n,e){var r=this.enter(),i=this,o=this.exit();return r="function"==typeof t?t(r):r.append(t+""),null!=n&&(i=n(i)),null==e?o.remove():e(o),r&&i?r.merge(i).order():i},merge:function(t){for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),a=new Array(r),u=0;u<o;++u)for(var l,c=n[u],s=e[u],h=c.length,f=a[u]=new Array(h),p=0;p<h;++p)(l=c[p]||s[p])&&(f[p]=l);for(;u<r;++u)a[u]=n[u];return new st(a,this._parents)},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=f);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 st(i,this._parents).order()},call:function(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this},nodes:function(){var t=new Array(this.size()),n=-1;return this.each((function(){t[++n]=this})),t},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(){var t=0;return this.each((function(){++t})),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=g(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?m:v:"function"==typeof n?e.local?b:_:e.local?w:y)(e,n))},style:function(t,n,e){return arguments.length>1?this.each((null==n?M:"function"==typeof n?N:A)(t,n,null==e?"":e)):k(this.node(),t)},property:function(t,n){return arguments.length>1?this.each((null==n?E:"function"==typeof n?j:S)(t,n)):this.node()[t]},classed:function(t,n){var e=C(t+"");if(arguments.length<2){for(var r=P(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each(("function"==typeof n?D:n?H:L)(e,n))},text:function(t){return arguments.length?this.each(null==t?z:("function"==typeof t?X:B)(t)):this.node().textContent},html:function(t){return arguments.length?this.each(null==t?R:("function"==typeof t?I:$)(t)):this.node().innerHTML},raise:function(){return this.each(V)},lower:function(){return this.each(Y)},append:function(t){var n="function"==typeof t?t:Z(t);return this.select((function(){return this.appendChild(n.apply(this,arguments))}))},insert:function(t,n){var e="function"==typeof t?t:Z(t),r=null==n?G:"function"==typeof n?n:i(n);return this.select((function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)}))},remove:function(){return this.each(J)},clone:function(t){return this.select(t?Q:K)},datum:function(t){return arguments.length?this.property("__data__",t):this.node().__data__},on:function(t,n,e){var r,i,o=rt(t+""),a=o.length;if(!(arguments.length<2)){for(u=n?ot:it,null==e&&(e=!1),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?lt:ut)(t,n))}};var ft=ht,pt=function(t){return"string"==typeof t?new st([[document.querySelector(t)]],[document.documentElement]):new st([[t]],ct)},dt=function(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)]},gt=function(t){return(t=dt(Math.abs(t)))?t[1]:NaN},vt=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function mt(t){if(!(n=vt.exec(t)))throw new Error("invalid format: "+t);var n;return new yt({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 yt(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+""}mt.prototype=yt.prototype,yt.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 wt,_t,bt,xt,Mt=function(t,n){var e=dt(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")},At={"%":function(t,n){return(100*t).toFixed(n)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.round(t).toString(10)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},g:function(t,n){return t.toPrecision(n)},o:function(t){return Math.round(t).toString(8)},p:function(t,n){return Mt(100*t,n)},r:Mt,s:function(t,n){var e=dt(t,n);if(!e)return t+"";var r=e[0],i=e[1],o=i-(wt=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")+dt(t,Math.max(0,n+o-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}},Nt=function(t){return t},kt=Array.prototype.map,Et=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];_t=function(t){var n,e,r=void 0===t.grouping||void 0===t.thousands?Nt:(n=kt.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?Nt:function(t){return function(n){return n.replace(/[0-9]/g,(function(n){return t[+n]}))}}(kt.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 h(t){var n=(t=mt(t)).fill,e=t.align,h=t.sign,f=t.symbol,p=t.zero,d=t.width,g=t.comma,v=t.precision,m=t.trim,y=t.type;"n"===y?(g=!0,y="g"):At[y]||(void 0===v&&(v=12),m=!0,y="g"),(p||"0"===n&&"="===e)&&(p=!0,n="0",e="=");var w="$"===f?i:"#"===f&&/[boxX]/.test(y)?"0"+y.toLowerCase():"",_="$"===f?o:/[%p]/.test(y)?l:"",b=At[y],x=/[defgprs%]/.test(y);function M(t){var i,o,l,f=w,M=_;if("c"===y)M=b(t)+M,t="";else{var A=(t=+t)<0||1/t<0;if(t=isNaN(t)?s:b(Math.abs(t),v),m&&(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)),A&&0==+t&&"+"!==h&&(A=!1),f=(A?"("===h?h:c:"-"===h||"("===h?"":h)+f,M=("s"===y?Et[8+wt/3]:"")+M+(A&&"("===h?")":""),x)for(i=-1,o=t.length;++i<o;)if(48>(l=t.charCodeAt(i))||l>57){M=(46===l?a+t.slice(i+1):t.slice(i))+M,t=t.slice(0,i);break}}g&&!p&&(t=r(t,1/0));var N=f.length+t.length+M.length,k=N<d?new Array(d-N+1).join(n):"";switch(g&&p&&(t=r(k+t,k.length?d-M.length:1/0),k=""),e){case"<":t=f+t+M+k;break;case"=":t=f+k+t+M;break;case"^":t=k.slice(0,N=k.length>>1)+f+t+M+k.slice(N);break;default:t=k+f+t+M}return u(t)}return v=void 0===v?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,v)):Math.max(0,Math.min(20,v)),M.toString=function(){return t+""},M}return{format:h,formatPrefix:function(t,n){var e=h(((t=mt(t)).type="f",t)),r=3*Math.max(-8,Math.min(8,Math.floor(gt(n)/3))),i=Math.pow(10,-r),o=Et[8+r/3];return function(t){return e(i*t)+o}}}}({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),bt=_t.format,xt=_t.formatPrefix;var St=function(t,n){return t<n?-1:t>n?1:t>=n?0:NaN},jt=function(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)},Ct=function(){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(jt),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 Pt(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 Ot(t,n){var e,r,i,o,a,u=new Lt(t),l=+t.value&&(u.value=t.value),c=[u];for(null==n&&(n=Tt);e=c.pop();)if(l&&(e.value=+e.data.value),(i=n(e.data))&&(a=i.length))for(e.children=new Array(a),o=a-1;o>=0;--o)c.push(r=e.children[o]=new Lt(i[o])),r.parent=e,r.depth=e.depth+1;return u.eachBefore(Ht)}function Tt(t){return t.children}function qt(t){t.data=t.data.data}function Ht(t){var n=0;do{t.height=n}while((t=t.parent)&&t.height<++n)}function Lt(t){this.data=t,this.depth=this.height=0,this.parent=null}Lt.prototype=Ot.prototype={constructor:Lt,count:function(){return this.eachAfter(Pt)},each:function(t){var n,e,r,i,o=this,a=[o];do{for(n=a.reverse(),a=[];o=n.pop();)if(t(o),e=o.children)for(r=0,i=e.length;r<i;++r)a.push(e[r])}while(a.length);return this},eachAfter:function(t){for(var n,e,r,i=this,o=[i],a=[];i=o.pop();)if(a.push(i),n=i.children)for(e=0,r=n.length;e<r;++e)o.push(n[e]);for(;i=a.pop();)t(i);return this},eachBefore:function(t){for(var n,e,r=this,i=[r];r=i.pop();)if(t(r),n=r.children)for(e=n.length-1;e>=0;--e)i.push(n[e]);return this},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(){var t=[];return this.each((function(n){t.push(n)})),t},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 Ot(this).eachBefore(qt)}};var Dt=Math.sqrt(50),zt=Math.sqrt(10),Bt=Math.sqrt(2);function Xt(t,n,e){var r=(n-t)/Math.max(0,e),i=Math.floor(Math.log(r)/Math.LN10),o=r/Math.pow(10,i);return i>=0?(o>=Dt?10:o>=zt?5:o>=Bt?2:1)*Math.pow(10,i):-Math.pow(10,-i)/(o>=Dt?10:o>=zt?5:o>=Bt?2:1)}var Rt,$t,It=(1===(Rt=St).length&&($t=Rt,Rt=function(t,n){return St($t(t),n)}),{left:function(t,n,e,r){for(null==e&&(e=0),null==r&&(r=t.length);e<r;){var i=e+r>>>1;Rt(t[i],n)<0?e=i+1:r=i}return e},right:function(t,n,e,r){for(null==e&&(e=0),null==r&&(r=t.length);e<r;){var i=e+r>>>1;Rt(t[i],n)>0?r=i:e=i+1}return e}}),Vt=It.right,Yt=function(t,n,e){t.prototype=n.prototype=e,e.constructor=t};function Ft(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function Ut(){}var Zt="\\s*([+-]?\\d+)\\s*",Gt="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Jt="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Kt=/^#([0-9a-f]{3,8})$/,Qt=new RegExp("^rgb\\("+[Zt,Zt,Zt]+"\\)$"),Wt=new RegExp("^rgb\\("+[Jt,Jt,Jt]+"\\)$"),tn=new RegExp("^rgba\\("+[Zt,Zt,Zt,Gt]+"\\)$"),nn=new RegExp("^rgba\\("+[Jt,Jt,Jt,Gt]+"\\)$"),en=new RegExp("^hsl\\("+[Gt,Jt,Jt]+"\\)$"),rn=new RegExp("^hsla\\("+[Gt,Jt,Jt,Gt]+"\\)$"),on={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 an(){return this.rgb().formatHex()}function un(){return this.rgb().formatRgb()}function ln(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=Kt.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?cn(n):3===e?new pn(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?new pn(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?new pn(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=Qt.exec(t))?new pn(n[1],n[2],n[3],1):(n=Wt.exec(t))?new pn(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=tn.exec(t))?sn(n[1],n[2],n[3],n[4]):(n=nn.exec(t))?sn(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=en.exec(t))?mn(n[1],n[2]/100,n[3]/100,1):(n=rn.exec(t))?mn(n[1],n[2]/100,n[3]/100,n[4]):on.hasOwnProperty(t)?cn(on[t]):"transparent"===t?new pn(NaN,NaN,NaN,0):null}function cn(t){return new pn(t>>16&255,t>>8&255,255&t,1)}function sn(t,n,e,r){return r<=0&&(t=n=e=NaN),new pn(t,n,e,r)}function hn(t){return t instanceof Ut||(t=ln(t)),t?new pn((t=t.rgb()).r,t.g,t.b,t.opacity):new pn}function fn(t,n,e,r){return 1===arguments.length?hn(t):new pn(t,n,e,null==r?1:r)}function pn(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}function dn(){return"#"+vn(this.r)+vn(this.g)+vn(this.b)}function gn(){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 vn(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function mn(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 yn(t){if(t instanceof wn)return new wn(t.h,t.s,t.l,t.opacity);if(t instanceof Ut||(t=ln(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,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 wn(a,u,l,t.opacity)}function wn(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}function _n(t,n,e){return 255*(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)}function bn(t,n,e,r,i){var o=t*t,a=o*t;return((1-3*t+3*o-a)*n+(4-6*o+3*a)*e+(1+3*t+3*o-3*a)*r+a*i)/6}Yt(Ut,ln,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:an,formatHex:an,formatHsl:function(){return yn(this).formatHsl()},formatRgb:un,toString:un}),Yt(pn,fn,Ft(Ut,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new pn(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new pn(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:dn,formatHex:dn,formatRgb:gn,toString:gn})),Yt(wn,(function(t,n,e,r){return 1===arguments.length?yn(t):new wn(t,n,e,null==r?1:r)}),Ft(Ut,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new wn(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,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 pn(_n(t>=240?t-240:t+120,i,r),_n(t,i,r),_n(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 xn=function(t){return function(){return t}};function Mn(t,n){return function(e){return t+e*n}}function An(t){return 1==(t=+t)?Nn: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):xn(isNaN(n)?e:n)}}function Nn(t,n){var e=n-t;return e?Mn(t,e):xn(isNaN(t)?n:t)}var kn=function t(n){var e=An(n);function r(t,n){var r=e((t=fn(t)).r,(n=fn(n)).r),i=e(t.g,n.g),o=e(t.b,n.b),a=Nn(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 En(t){return function(n){var e,r,i=n.length,o=new Array(i),a=new Array(i),u=new Array(i);for(e=0;e<i;++e)r=fn(n[e]),o[e]=r.r||0,a[e]=r.g||0,u[e]=r.b||0;return o=t(o),a=t(a),u=t(u),r.opacity=1,function(t){return r.r=o(t),r.g=a(t),r.b=u(t),r+""}}}En((function(t){var n=t.length-1;return function(e){var r=e<=0?e=0:e>=1?(e=1,n-1):Math.floor(e*n),i=t[r],o=t[r+1],a=r>0?t[r-1]:2*i-o,u=r<n-1?t[r+2]:2*o-i;return bn((e-r/n)*n,a,i,o,u)}})),En((function(t){var n=t.length;return function(e){var r=Math.floor(((e%=1)<0?++e:e)*n),i=t[(r+n-1)%n],o=t[r%n],a=t[(r+1)%n],u=t[(r+2)%n];return bn((e-r/n)*n,i,o,a,u)}}));var Sn=function(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 jn(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Cn(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]=Dn(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}}var Pn=function(t,n){var e=new Date;return t=+t,n=+n,function(r){return e.setTime(t*(1-r)+n*r),e}},On=function(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}},Tn=function(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]=Dn(t[e],n[e]):i[e]=n[e];return function(t){for(e in r)i[e]=r[e](t);return i}},qn=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Hn=new RegExp(qn.source,"g");var Ln=function(t,n){var e,r,i,o=qn.lastIndex=Hn.lastIndex=0,a=-1,u=[],l=[];for(t+="",n+="";(e=qn.exec(t))&&(r=Hn.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:On(e,r)})),o=Hn.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("")})},Dn=function(t,n){var e,r=typeof n;return null==n||"boolean"===r?xn(n):("number"===r?On:"string"===r?(e=ln(n))?(n=e,kn):Ln:n instanceof ln?kn:n instanceof Date?Pn:jn(n)?Sn:Array.isArray(n)?Cn:"function"!=typeof n.valueOf&&"function"!=typeof n.toString||isNaN(n)?Tn:On)(t,n)},zn=function(t,n){return t=+t,n=+n,function(e){return Math.round(t*(1-e)+n*e)}},Bn=function(t){return+t},Xn=[0,1];function Rn(t){return t}function $n(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:(e=isNaN(n)?NaN:.5,function(){return e});var e}function In(t,n,e){var r=t[0],i=t[1],o=n[0],a=n[1];return i<r?(r=$n(i,r),o=e(a,o)):(r=$n(r,i),o=e(o,a)),function(t){return o(r(t))}}function Vn(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]=$n(t[a],t[a+1]),o[a]=e(n[a],n[a+1]);return function(n){var e=Vt(t,n,1,r)-1;return o[e](i[e](n))}}function Yn(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Fn(){var t,n,e,r,i,o,a=Xn,u=Xn,l=Dn,c=Rn;function s(){var t,n,e,l=Math.min(a.length,u.length);return c!==Rn&&(t=a[0],n=a[l-1],t>n&&(e=t,t=n,n=e),c=function(e){return Math.max(t,Math.min(n,e))}),r=l>2?Vn:In,i=o=null,h}function h(n){return isNaN(n=+n)?e:(i||(i=r(a.map(t),u,l)))(t(c(n)))}return h.invert=function(e){return c(n((o||(o=r(u,a.map(t),On)))(e)))},h.domain=function(t){return arguments.length?(a=Array.from(t,Bn),s()):a.slice()},h.range=function(t){return arguments.length?(u=Array.from(t),s()):u.slice()},h.rangeRound=function(t){return u=Array.from(t),l=zn,s()},h.clamp=function(t){return arguments.length?(c=!!t||Rn,s()):c!==Rn},h.interpolate=function(t){return arguments.length?(l=t,s()):l},h.unknown=function(t){return arguments.length?(e=t,h):e},function(e,r){return t=e,n=r,s()}}function Un(){return Fn()(Rn,Rn)}function Zn(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}var Gn=function(t,n,e,r){var i,o=function(t,n,e){var r=Math.abs(n-t)/Math.max(0,e),i=Math.pow(10,Math.floor(Math.log(r)/Math.LN10)),o=r/i;return o>=Dt?i*=10:o>=zt?i*=5:o>=Bt&&(i*=2),n<t?-i:i}(t,n,e);switch((r=mt(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(gt(n)/3)))-gt(Math.abs(t)))}(o,a))||(r.precision=i),xt(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,gt(n)-gt(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,-gt(Math.abs(t)))}(o))||(r.precision=i-2*("%"===r.type))}return bt(r)};function Jn(t){var n=t.domain;return t.ticks=function(t){var e=n();return function(t,n,e){var r,i,o,a,u=-1;if(e=+e,(t=+t)===(n=+n)&&e>0)return[t];if((r=n<t)&&(i=t,t=n,n=i),0===(a=Xt(t,n,e))||!isFinite(a))return[];if(a>0)for(t=Math.ceil(t/a),n=Math.floor(n/a),o=new Array(i=Math.ceil(n-t+1));++u<i;)o[u]=(t+u)*a;else for(t=Math.floor(t*a),n=Math.ceil(n*a),o=new Array(i=Math.ceil(t-n+1));++u<i;)o[u]=(t-u)/a;return r&&o.reverse(),o}(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var r=n();return Gn(r[0],r[r.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var r,i=n(),o=0,a=i.length-1,u=i[o],l=i[a];return l<u&&(r=u,u=l,l=r,r=o,o=a,a=r),(r=Xt(u,l,e))>0?r=Xt(u=Math.floor(u/r)*r,l=Math.ceil(l/r)*r,e):r<0&&(r=Xt(u=Math.ceil(u*r)/r,l=Math.floor(l*r)/r,e)),r>0?(i[o]=Math.floor(u/r)*r,i[a]=Math.ceil(l/r)*r,n(i)):r<0&&(i[o]=Math.ceil(u*r)/r,i[a]=Math.floor(l*r)/r,n(i)),t},t}function Kn(){var t=Un();return t.copy=function(){return Yn(t,Kn())},Zn.apply(t,arguments),Jn(t)}function Qn(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Wn={value:function(){}};function te(){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 ne(r)}function ne(t){this._=t}function ee(t,n){return t.trim().split(/^|\s+/).map((function(t){var e="",r=t.indexOf(".");if(r>=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 re(t,n){for(var e,r=0,i=t.length;r<i;++r)if((e=t[r]).name===n)return e.value}function ie(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=Wn,t=t.slice(0,r).concat(t.slice(r+1));break}return null!=e&&t.push({name:n,value:e}),t}ne.prototype=te.prototype={constructor:ne,on:function(t,n){var e,r=this._,i=ee(t+"",r),o=-1,a=i.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o<a;)if(e=(t=i[o]).type)r[e]=ie(r[e],t.name,n);else if(null==n)for(e in r)r[e]=ie(r[e],t.name,null);return this}for(;++o<a;)if((e=(t=i[o]).type)&&(e=re(r[e],t.name)))return e},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new ne(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 oe,ae,ue=te,le=0,ce=0,se=0,he=0,fe=0,pe=0,de="object"==typeof performance&&performance.now?performance:Date,ge="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function ve(){return fe||(ge(me),fe=de.now()+pe)}function me(){fe=0}function ye(){this._call=this._time=this._next=null}function we(t,n,e){var r=new ye;return r.restart(t,n,e),r}function _e(){fe=(he=de.now())+pe,le=ce=0;try{!function(){ve(),++le;for(var t,n=oe;n;)(t=fe-n._time)>=0&&n._call.call(null,t),n=n._next;--le}()}finally{le=0,function(){var t,n,e=oe,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:oe=n);ae=t,xe(r)}(),fe=0}}function be(){var t=de.now(),n=t-he;n>1e3&&(pe-=n,he=t)}function xe(t){le||(ce&&(ce=clearTimeout(ce)),t-fe>24?(t<1/0&&(ce=setTimeout(_e,t-de.now()-pe)),se&&(se=clearInterval(se))):(se||(he=de.now(),se=setInterval(be,1e3)),le=1,ge(_e)))}ye.prototype=we.prototype={constructor:ye,restart:function(t,n,e){if("function"!=typeof t)throw new TypeError("callback is not a function");e=(null==e?ve():+e)+(null==n?0:+n),this._next||ae===this||(ae?ae._next=this:oe=this,ae=this),this._call=t,this._time=e,xe()},stop:function(){this._call&&(this._call=null,this._time=1/0,xe())}};var Me=function(t,n,e){var r=new ye;return n=null==n?0:+n,r.restart((function(e){r.stop(),t(e+n)}),n,e),r},Ae=ue("start","end","cancel","interrupt"),Ne=[],ke=function(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(l){var c,s,h,f;if(1!==e.state)return u();for(c in i)if((f=i[c]).name===e.name){if(3===f.state)return Me(o);4===f.state?(f.state=6,f.timer.stop(),f.on.call("interrupt",t,t.__data__,f.index,f.group),delete i[c]):+c<n&&(f.state=6,f.timer.stop(),f.on.call("cancel",t,t.__data__,f.index,f.group),delete i[c])}if(Me((function(){3===e.state&&(e.state=4,e.timer.restart(a,e.delay,e.time),a(l))})),e.state=2,e.on.call("start",t,t.__data__,e.index,e.group),2===e.state){for(e.state=3,r=new Array(h=e.tween.length),c=0,s=-1;c<h;++c)(f=e.tween[c].value.call(t,t.__data__,e.index,e.group))&&(r[++s]=f);r.length=s+1}}function a(n){for(var i=n<e.duration?e.ease.call(null,n/e.duration):(e.timer.restart(u),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),u())}function u(){for(var r in e.state=6,e.timer.stop(),delete i[n],i)return;delete t.__transition}i[n]=e,e.timer=we((function(t){e.state=1,e.timer.restart(o,e.delay,e.time),e.delay<=t&&o(t-e.delay)}),0,e.time)}(t,e,{name:n,index:r,group:i,on:Ae,tween:Ne,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})};function Ee(t,n){var e=je(t,n);if(e.state>0)throw new Error("too late; already scheduled");return e}function Se(t,n){var e=je(t,n);if(e.state>3)throw new Error("too late; already running");return e}function je(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}var Ce,Pe,Oe,Te,qe=180/Math.PI,He={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1},Le=function(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)*qe,skewX:Math.atan(l)*qe,scaleX:a,scaleY:u}};function De(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:On(t,i)},{i:l-2,x:On(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:On(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:On(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:On(t,e)},{i:u-2,x:On(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 ze=De((function(t){return"none"===t?He:(Ce||(Ce=document.createElement("DIV"),Pe=document.documentElement,Oe=document.defaultView),Ce.style.transform=t,t=Oe.getComputedStyle(Pe.appendChild(Ce),null).getPropertyValue("transform"),Pe.removeChild(Ce),t=t.slice(7,-1).split(","),Le(+t[0],+t[1],+t[2],+t[3],+t[4],+t[5]))}),"px, ","px)","deg)"),Be=De((function(t){return null==t?He:(Te||(Te=document.createElementNS("http://www.w3.org/2000/svg","g")),Te.setAttribute("transform",t),(t=Te.transform.baseVal.consolidate())?(t=t.matrix,Le(t.a,t.b,t.c,t.d,t.e,t.f)):He)}),", ",")",")");function Xe(t,n){var e,r;return function(){var i=Se(this,t),o=i.tween;if(o!==e)for(var a=0,u=(r=e=o).length;a<u;++a)if(r[a].name===n){(r=r.slice()).splice(a,1);break}i.tween=r}}function Re(t,n,e){var r,i;if("function"!=typeof e)throw new Error;return function(){var o=Se(this,t),a=o.tween;if(a!==r){i=(r=a).slice();for(var u={name:n,value:e},l=0,c=i.length;l<c;++l)if(i[l].name===n){i[l]=u;break}l===c&&i.push(u)}o.tween=i}}function $e(t,n,e){var r=t._id;return t.each((function(){var t=Se(this,r);(t.value||(t.value={}))[n]=e.apply(this,arguments)})),function(t){return je(t,r).value[n]}}var Ie=function(t,n){var e;return("number"==typeof n?On:n instanceof ln?kn:(e=ln(n))?(n=e,kn):Ln)(t,n)};function Ve(t){return function(){this.removeAttribute(t)}}function Ye(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Fe(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttribute(t);return a===o?null:a===r?i:i=n(r=a,e)}}function Ue(t,n,e){var r,i,o=e+"";return function(){var a=this.getAttributeNS(t.space,t.local);return a===o?null:a===r?i:i=n(r=a,e)}}function Ze(t,n,e){var r,i,o;return function(){var a,u,l=e(this);if(null!=l)return(a=this.getAttribute(t))===(u=l+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,l));this.removeAttribute(t)}}function Ge(t,n,e){var r,i,o;return function(){var a,u,l=e(this);if(null!=l)return(a=this.getAttributeNS(t.space,t.local))===(u=l+"")?null:a===r&&u===i?o:(i=u,o=n(r=a,l));this.removeAttributeNS(t.space,t.local)}}function Je(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function Ke(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function Qe(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&Ke(t,i)),e}return i._value=n,i}function We(t,n){var e,r;function i(){var i=n.apply(this,arguments);return i!==r&&(e=(r=i)&&Je(t,i)),e}return i._value=n,i}function tr(t,n){return function(){Ee(this,t).delay=+n.apply(this,arguments)}}function nr(t,n){return n=+n,function(){Ee(this,t).delay=n}}function er(t,n){return function(){Se(this,t).duration=+n.apply(this,arguments)}}function rr(t,n){return n=+n,function(){Se(this,t).duration=n}}function ir(t,n){if("function"!=typeof n)throw new Error;return function(){Se(this,t).ease=n}}function or(t,n,e){var r,i,o=function(t){return(t+"").trim().split(/^|\s+/).every((function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||"start"===t}))}(n)?Ee:Se;return function(){var a=o(this,t),u=a.on;u!==r&&(i=(r=u).copy()).on(n,e),a.on=i}}var ar=ft.prototype.constructor;function ur(t){return function(){this.style.removeProperty(t)}}function lr(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function cr(t,n,e){var r,i;function o(){var o=n.apply(this,arguments);return o!==i&&(r=(i=o)&&lr(t,o,e)),r}return o._value=n,o}function sr(t){return function(n){this.textContent=t.call(this,n)}}function hr(t){var n,e;function r(){var r=t.apply(this,arguments);return r!==e&&(n=(e=r)&&sr(r)),n}return r._value=t,r}var fr=0;function pr(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function dr(){return++fr}var gr=ft.prototype;pr.prototype=function(t){return ft().transition(t)}.prototype={constructor:pr,select:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=i(t));for(var r=this._groups,o=r.length,a=new Array(o),u=0;u<o;++u)for(var l,c,s=r[u],h=s.length,f=a[u]=new Array(h),p=0;p<h;++p)(l=s[p])&&(c=t.call(l,l.__data__,p,s))&&("__data__"in l&&(c.__data__=l.__data__),f[p]=c,ke(f[p],n,e,p,f,je(l,e)));return new pr(a,this._parents,n,e)},selectAll:function(t){var n=this._name,e=this._id;"function"!=typeof t&&(t=a(t));for(var r=this._groups,i=r.length,o=[],u=[],l=0;l<i;++l)for(var c,s=r[l],h=s.length,f=0;f<h;++f)if(c=s[f]){for(var p,d=t.call(c,c.__data__,f,s),g=je(c,e),v=0,m=d.length;v<m;++v)(p=d[v])&&ke(p,n,e,v,d,g);o.push(d),u.push(c)}return new pr(o,u,n,e)},filter:function(t){"function"!=typeof t&&(t=u(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o,a=n[i],l=a.length,c=r[i]=[],s=0;s<l;++s)(o=a[s])&&t.call(o,o.__data__,s,a)&&c.push(o);return new pr(r,this._parents,this._name,this._id)},merge:function(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),a=new Array(r),u=0;u<o;++u)for(var l,c=n[u],s=e[u],h=c.length,f=a[u]=new Array(h),p=0;p<h;++p)(l=c[p]||s[p])&&(f[p]=l);for(;u<r;++u)a[u]=n[u];return new pr(a,this._parents,this._name,this._id)},selection:function(){return new ar(this._groups,this._parents)},transition:function(){for(var t=this._name,n=this._id,e=dr(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a,u=r[o],l=u.length,c=0;c<l;++c)if(a=u[c]){var s=je(a,n);ke(a,t,e,c,u,{time:s.time+s.delay+s.duration,delay:0,duration:s.duration,ease:s.ease})}return new pr(r,this._parents,t,e)},call:gr.call,nodes:gr.nodes,node:gr.node,size:gr.size,empty:gr.empty,each:gr.each,on:function(t,n){var e=this._id;return arguments.length<2?je(this.node(),e).on.on(t):this.each(or(e,t,n))},attr:function(t,n){var e=g(t),r="transform"===e?Be:Ie;return this.attrTween(t,"function"==typeof n?(e.local?Ge:Ze)(e,r,$e(this,"attr."+t,n)):null==n?(e.local?Ye:Ve)(e):(e.local?Ue:Fe)(e,r,n))},attrTween:function(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==n)return this.tween(e,null);if("function"!=typeof n)throw new Error;var r=g(t);return this.tween(e,(r.local?Qe:We)(r,n))},style:function(t,n,e){var r="transform"==(t+="")?ze:Ie;return null==n?this.styleTween(t,function(t,n){var e,r,i;return function(){var o=k(this,t),a=(this.style.removeProperty(t),k(this,t));return o===a?null:o===e&&a===r?i:i=n(e=o,r=a)}}(t,r)).on("end.style."+t,ur(t)):"function"==typeof n?this.styleTween(t,function(t,n,e){var r,i,o;return function(){var a=k(this,t),u=e(this),l=u+"";return null==u&&(this.style.removeProperty(t),l=u=k(this,t)),a===l?null:a===r&&l===i?o:(i=l,o=n(r=a,u))}}(t,r,$e(this,"style."+t,n))).each(function(t,n){var e,r,i,o,a="style."+n,u="end."+a;return function(){var l=Se(this,t),c=l.on,s=null==l.value[a]?o||(o=ur(n)):void 0;c===e&&i===s||(r=(e=c).copy()).on(u,i=s),l.on=r}}(this._id,t)):this.styleTween(t,function(t,n,e){var r,i,o=e+"";return function(){var a=k(this,t);return a===o?null:a===r?i:i=n(r=a,e)}}(t,r,n),e).on("end.style."+t,null)},styleTween:function(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(null==n)return this.tween(r,null);if("function"!=typeof n)throw new Error;return this.tween(r,cr(t,n,null==e?"":e))},text:function(t){return this.tween("text","function"==typeof t?function(t){return function(){var n=t(this);this.textContent=null==n?"":n}}($e(this,"text",t)):function(t){return function(){this.textContent=t}}(null==t?"":t+""))},textTween:function(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if("function"!=typeof t)throw new Error;return this.tween(n,hr(t))},remove:function(){return this.on("end.remove",(t=this._id,function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}));var t},tween:function(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r,i=je(this.node(),e).tween,o=0,a=i.length;o<a;++o)if((r=i[o]).name===t)return r.value;return null}return this.each((null==n?Xe:Re)(e,t,n))},delay:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?tr:nr)(n,t)):je(this.node(),n).delay},duration:function(t){var n=this._id;return arguments.length?this.each(("function"==typeof t?er:rr)(n,t)):je(this.node(),n).duration},ease:function(t){var n=this._id;return arguments.length?this.each(ir(n,t)):je(this.node(),n).ease},end:function(){var t,n,e=this,r=e._id,i=e.size();return new Promise((function(o,a){var u={value:a},l={value:function(){0==--i&&o()}};e.each((function(){var e=Se(this,r),i=e.on;i!==t&&((n=(t=i).copy())._.cancel.push(u),n._.interrupt.push(u),n._.end.push(l)),e.on=n}))}))}};var vr={time:null,delay:0,duration:250,ease:Qn};function mr(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))return vr.time=ve(),vr;return e}ft.prototype.interrupt=function(t){return this.each((function(){!function(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}}(this,t)}))},ft.prototype.transition=function(t){var n,e;t instanceof pr?(n=t._id,t=t._name):(n=dr(),(e=vr).time=ve(),t=null==t?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a,u=r[o],l=u.length,c=0;c<l;++c)(a=u[c])&&ke(a,t,n,c,u,e||mr(a,n));return new pr(r,this._parents,t,n)};n.default=function(){var t=960,n=null,e=18,r=null,i=null,o="",a=750,u=Qn,l=!1,c=!1,s=null,h=0,f=null,p=!1,d=0,g=0,v=!1,m=!1,y=null,w=!1,_=null,b=function(t){return t.data.n||t.data.name},x=function(t){return"v"in t?t.v:t.value},M=function(t){return t.c||t.children},A=function(t){return t.data.l||t.data.libtype},N=function(t){return"d"in t.data?t.data.d:t.data.delta},k=function(){f&&q()},E=k;let S=(t,n,e=!1)=>{if(!n)return!1;let r=b(t);e&&(n=n.toLowerCase(),r=r.toLowerCase());const i=new RegExp(n);return void 0!==r&&r&&r.match(i)};const j=S;var C,P=function(t){f&&(t?f.innerHTML=t:d?q():f.innerHTML="")},O=P,T=function(t){return b(t)+" ("+bt(".3f")(100*(t.x1-t.x0),3)+"%, "+x(t)+" samples)"};function q(){f.innerHTML=d+" of "+g+" samples ( "+bt(".3f")(d/g*100,3)+"%)"}var H=function(t){return t.highlight?"#E600E6":function(t,n){var e=_||"warm";_||void 0===n||""===n||(e="red",void 0!==t&&t&&t.match(/::/)&&(e="yellow"),"kernel"===n?e="orange":"jit"===n?e="green":"inlined"===n&&(e="aqua"));const r=function(t){var n=0;if(t){var e=t.split("`");e.length>1&&(t=e[e.length-1]),n=function(t){var n=0,e=0,r=1;if(t){for(var i=0;i<t.length&&!(i>6);i++)n+=r*(t.charCodeAt(i)%10),e+=9*r,r*=.7;e>0&&(n/=e)}return n}(t=t.split("(")[0])}return n}(t);return function(t,n){var e,r,i;return"red"===t?(e=200+Math.round(55*n),i=r=50+Math.round(80*n)):"orange"===t?(e=190+Math.round(65*n),r=90+Math.round(65*n),i=0):"yellow"===t?(r=e=175+Math.round(55*n),i=50+Math.round(20*n)):"green"===t?(e=50+Math.round(60*n),r=200+Math.round(55*n),i=e):"pastelgreen"===t?(e=163+Math.round(75*n),r=195+Math.round(49*n),i=72+Math.round(149*n)):"blue"===t?(e=91+Math.round(126*n),r=156+Math.round(76*n),i=221+Math.round(26*n)):"aqua"===t?(e=50+Math.round(60*n),i=r=165+Math.round(55*n)):"cold"===t?(e=0+Math.round(55*(1-n)),r=0+Math.round(230*(1-n)),i=200+Math.round(55*n)):(e=200+Math.round(55*n),r=0+Math.round(230*(1-n)),i=0+Math.round(55*(1-n))),"rgb("+e+","+r+","+i+")"}(e,r)}(b(t),A(t))},L=H;function D(t){t.data.fade=!1,t.data.hide=!1,t.children&&t.children.forEach(D)}function z(t){if(i&&i.hide(),function(t){let n,e,r,i=t,o=i.parent;for(;o;){for(n=o.children,e=n.length;e--;)r=n[e],r!==i&&(r.data.hide=!0);i=o,o=i.parent}}(t),D(t),function t(n){n.parent&&(n.parent.data.fade=!0,t(n.parent))}(t),R(),m){const n=C._groups[0][0].parentNode.offsetTop,r=(window.innerHeight-n)/e,i=(t.height-r+10)*e;window.scrollTo({top:n+i,left:0,behavior:"smooth"})}"function"==typeof s&&s(t)}function B(t,n){return"function"==typeof l?l(t,n):l?St(b(t),b(n)):void 0}var X=Ct();function R(){r.each((function(r){var o=Kn().range([0,t]),s=Kn().range([0,e]);!function(t){let n,e,r,i,o,a,u,l;const c=[],s=[],h=[],f=!p;let d=t.data;d.hide?(t.value=0,e=t.children,e&&h.push(e)):(t.value=d.fade?0:x(d),c.push(t));for(;n=c.pop();)if(e=n.children,e&&(o=e.length)){for(i=0;o--;)u=e[o],d=u.data,d.hide?(u.value=0,r=u.children,r&&h.push(r)):(d.fade?u.value=0:(l=x(d),u.value=l,i+=l),c.push(u));f&&n.value&&(n.value-=i),s.push(e)}o=s.length;for(;o--;){for(e=s[o],i=0,a=e.length;a--;)i+=e[a].value;e[0].parent.value+=i}for(;h.length;)for(e=h.pop(),a=e.length;a--;)u=e[a],u.value=0,r=u.children,r&&h.push(r)}(r),g=r.value,l&&r.sort(B),X(r);var f=t/(r.x1-r.x0);function d(t){return(t.x1-t.x0)*f}var m=function(n){var e=n.descendants();if(h>0){var r=t/(n.x1-n.x0);e=e.filter((function(t){return(t.x1-t.x0)*r>h}))}return e}(r),w=pt(this).select("svg").selectAll("g").data(m,(function(t){return t.id}));if(!n||v){var _=Math.max.apply(null,m.map((function(t){return t.depth})));(n=(_+3)*e)<y&&(n=y),pt(this).select("svg").attr("height",n)}w.transition().duration(a).ease(u).attr("transform",(function(t){return"translate("+o(t.x0)+","+(c?s(t.depth):n-s(t.depth)-e)+")"})),w.select("rect").transition().duration(a).ease(u).attr("width",d);var M=w.enter().append("svg:g").attr("transform",(function(t){return"translate("+o(t.x0)+","+(c?s(t.depth):n-s(t.depth)-e)+")"}));M.append("svg:rect").transition().delay(a/2).attr("width",d),i||M.append("svg:title"),M.append("foreignObject").append("xhtml:div"),(w=pt(this).select("svg").selectAll("g").data(m,(function(t){return t.id}))).attr("width",d).attr("height",(function(t){return e})).attr("name",(function(t){return b(t)})).attr("class",(function(t){return t.data.fade?"frame fade":"frame"})),w.select("rect").attr("height",(function(t){return e})).attr("fill",(function(t){return H(t)})),i||w.select("title").text(T),w.select("foreignObject").attr("width",d).attr("height",(function(t){return e})).select("div").attr("class","d3-flame-graph-label").style("display",(function(t){return d(t)<35?"none":"block"})).transition().delay(a).text(b),w.on("click",z),w.exit().remove(),w.on("mouseover",(function(t){i&&i.show(t,this),P(T(t))})).on("mouseout",(function(){i&&i.hide(),P(null)}))}))}function $(t){let n=0;!function(t,n){n(t);let e=t.children;if(e){const t=[e];let r,i,o;for(;t.length;)for(e=t.pop(),r=e.length;r--;)i=e[r],n(i),o=i.children,o&&t.push(o)}}(t,(function(t){t.id=n++}))}function I(e){const a=Ot(e.datum(),M);if($(a),w&&a.eachAfter(t=>{let n=N(t);const e=t.children;let r=e&&e.length;for(;--r>=0;)n+=e[r].delta;t.delta=n}),r=e.datum(a),!arguments.length)return I;r.each((function(e){C||(C=pt(this).append("svg:svg").attr("width",t).attr("class","partition d3-flame-graph"),n&&(n<y&&(n=y),C.attr("height",n)),C.append("svg:text").attr("class","title").attr("text-anchor","middle").attr("y","25").attr("x",t/2).attr("fill","#808080").text(o),i&&C.call(i))})),R()}return I.height=function(t){return arguments.length?(n=t,I):n},I.minHeight=function(t){return arguments.length?(y=t,I):y},I.width=function(n){return arguments.length?(t=n,I):t},I.cellHeight=function(t){return arguments.length?(e=t,I):e},I.tooltip=function(t){return arguments.length?("function"==typeof t&&(i=t),I):i},I.title=function(t){return arguments.length?(o=t,I):o},I.transitionDuration=function(t){return arguments.length?(a=t,I):a},I.transitionEase=function(t){return arguments.length?(u=t,I):u},I.sort=function(t){return arguments.length?(l=t,I):l},I.inverted=function(t){return arguments.length?(c=t,I):c},I.computeDelta=function(t){return arguments.length?(w=t,I):w},I.setLabelHandler=function(t){return arguments.length?(T=t,I):T},I.label=I.setLabelHandler,I.search=function(t){r.each((function(n){!function(t,n){var e=[],r=0;!function t(i,o){var a=!1;S(i,n)?(i.highlight=!0,a=!0,o||(r+=x(i)),e.push(i)):i.highlight=!1,M(i)&&M(i).forEach((function(n){t(n,o||a)}))}(t,!1),d=r,k(e,r,g)}(n,t),R()}))},I.findById=function(t){if(null==t)return null;let n=null;return r.each((function(e){null===n&&(n=function t(n,e){if(n.id===e)return n;var r=M(n);if(r)for(var i=0;i<r.length;i++){var o=t(r[i],e);if(o)return o}}(e,t))})),n},I.clear=function(){d=0,P(null),r.each((function(t){!function t(n){n.highlight=!1,M(n)&&M(n).forEach((function(n){t(n)}))}(t),R()}))},I.zoomTo=function(t){z(t)},I.resetZoom=function(){r.each((function(t){z(t)}))},I.onClick=function(t){return arguments.length?(s=t,I):s},I.merge=function(t){return r?(r.each((function(e){!function t(n,e){e.forEach((function(e){var r=n.find((function(t){return t.name===e.name}));r?(r.original?r.original+=e.value:r.value+=e.value,e.children&&(r.children||(r.children=[]),t(r.children,e.children))):n.push(e)}))}([e.data],[t]),$(n=Ot(e.data,M))})),r=r.datum(n),R(),I):I;var n},I.update=function(t){return r?(r.each((function(e){e.data=t,$(n=Ot(e.data,M))})),r=r.datum(n),R(),I):I;var n},I.destroy=function(){return r?(i&&i.hide(),r.selectAll("svg").remove(),I):I},I.setColorMapper=function(t){return arguments.length?(H=n=>{const e=L(n);return t(n,e)},I):(H=L,I)},I.color=I.setColorMapper,I.setColorHue=function(t){return arguments.length?(_=t,I):(_=null,I)},I.minFrameSize=function(t){return arguments.length?(h=t,I):h},I.setDetailsElement=function(t){return arguments.length?(f=t,I):f},I.details=I.setDetailsElement,I.selfValue=function(t){return arguments.length?(p=t,I):p},I.resetHeightOnZoom=function(t){return arguments.length?(v=t,I):v},I.scrollOnZoom=function(t){return arguments.length?(m=t,I):m},I.getName=function(t){return arguments.length?(b=t,I):b},I.getValue=function(t){return arguments.length?(x=t,I):x},I.getChildren=function(t){return arguments.length?(M=t,I):M},I.getLibtype=function(t){return arguments.length?(A=t,I):A},I.getDelta=function(t){return arguments.length?(N=t,I):N},I.setSearchHandler=function(t){return arguments.length?(k=t,I):(k=E,I)},I.setDetailsHandler=function(t){return arguments.length?(P=t,I):(P=O,I)},I.setSearchMatch=function(t){return arguments.length?(S=t,I):(S=j,I)},I}}}).default}));
{
"name": "d3-flame-graph",
"version": "4.0.6",
"version": "4.0.7",
"description": "A d3.js library to produce flame graphs.",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -29,3 +29,3 @@ # d3-flame-graph

<head>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/spiermar/d3-flame-graph@4.0.0/dist/d3-flamegraph.css">
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.7/dist/d3-flamegraph.css">
</head>

@@ -35,3 +35,3 @@ <body>

<script type="text/javascript" src="https://d3js.org/d3.v4.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/gh/spiermar/d3-flame-graph@4.0.0/dist/d3-flamegraph.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/d3-flame-graph@4.0.7/dist/d3-flamegraph.min.js"></script>
<script type="text/javascript">

@@ -38,0 +38,0 @@ var chart = flamegraph()

@@ -0,1 +1,3 @@

import { generateColorVector } from './colorUtils'
function pickHex (color1, color2, weight) {

@@ -10,26 +12,2 @@ const w1 = weight

function generateHash (name) {
// Return a vector (0.0->1.0) that is a hash of the input string.
// The hash is computed to favor early characters over later ones, so
// that strings with similar starts have similar vectors. Only the first
// 6 characters are considered.
const MAX_CHAR = 6
var hash = 0
var maxHash = 0
var weight = 1
var mod = 10
if (name) {
for (var i = 0; i < name.length; i++) {
if (i > MAX_CHAR) { break }
hash += weight * (name.charCodeAt(i) % mod)
maxHash += weight * (mod - 1)
weight *= 0.70
}
if (maxHash > 0) { hash = hash / maxHash }
}
return hash
}
export function allocationColorMapper (d, originalColor) {

@@ -48,12 +26,5 @@ if (d.highlight) return originalColor

let name = d.data.n || d.data.name
let vector = 0
const nameArr = name.split('`')
const name = d.data.n || d.data.name
const vector = generateColorVector(name)
if (nameArr.length > 1) {
name = nameArr[nameArr.length - 1] // drop module name if present
}
name = name.split('(')[0] // drop extra info
vector = generateHash(name)
const r = 0 + Math.round(55 * (1 - vector))

@@ -60,0 +31,0 @@ const g = 0 + Math.round(230 * (1 - vector))

@@ -8,2 +8,4 @@ import { select } from 'd3-selection'

import 'd3-transition'
import { generateColorVector } from './colorUtils'
import { calculateColor } from './colorScheme'

@@ -110,26 +112,2 @@ export default function () {

function generateHash (name) {
// Return a vector (0.0->1.0) that is a hash of the input string.
// The hash is computed to favor early characters over later ones, so
// that strings with similar starts have similar vectors. Only the first
// 6 characters are considered.
const MAX_CHAR = 6
var hash = 0
var maxHash = 0
var weight = 1
var mod = 10
if (name) {
for (var i = 0; i < name.length; i++) {
if (i > MAX_CHAR) { break }
hash += weight * (name.charCodeAt(i) % mod)
maxHash += weight * (mod - 1)
weight *= 0.70
}
if (maxHash > 0) { hash = hash / maxHash }
}
return hash
}
function colorHash (name, libtype) {

@@ -139,6 +117,2 @@ // Return a color for the given name and library type. The library type

var r
var g
var b
// default when libtype is not in use

@@ -162,46 +136,4 @@ var hue = colorHue || 'warm'

// calculate hash
var vector = 0
if (name) {
var nameArr = name.split('`')
if (nameArr.length > 1) {
name = nameArr[nameArr.length - 1] // drop module name if present
}
name = name.split('(')[0] // drop extra info
vector = generateHash(name)
}
// calculate color
if (hue === 'red') {
r = 200 + Math.round(55 * vector)
g = 50 + Math.round(80 * vector)
b = g
} else if (hue === 'orange') {
r = 190 + Math.round(65 * vector)
g = 90 + Math.round(65 * vector)
b = 0
} else if (hue === 'yellow') {
r = 175 + Math.round(55 * vector)
g = r
b = 50 + Math.round(20 * vector)
} else if (hue === 'green') {
r = 50 + Math.round(60 * vector)
g = 200 + Math.round(55 * vector)
b = r
} else if (hue === 'aqua') {
r = 50 + Math.round(60 * vector)
g = 165 + Math.round(55 * vector)
b = g
} else if (hue === 'cold') {
r = 0 + Math.round(55 * (1 - vector))
g = 0 + Math.round(230 * (1 - vector))
b = 200 + Math.round(55 * vector)
} else {
// original warm palette
r = 200 + Math.round(55 * vector)
g = 0 + Math.round(230 * (1 - vector))
b = 0 + Math.round(55 * (1 - vector))
}
return 'rgb(' + r + ',' + g + ',' + b + ')'
const vector = generateColorVector(name)
return calculateColor(hue, vector)
}

@@ -208,0 +140,0 @@

import { select } from 'd3-selection'
import flamegraph from '../../flamegraph'
import { generateColorVector } from '../../colorUtils'
import { calculateColor } from '../../colorScheme'
import '../../flamegraph.css'

@@ -9,6 +11,12 @@ import './template.css'

this.stacks = stacks || { name: 'Stacks were not loaded.', value: 0, children: [] }
this.options = options
this.options = options || {}
if (!this.options.context || this.options.context === '') {
this.options.context = 'No context information available.'
}
this.context = document.getElementById('context')
this.chart = document.getElementById('chart')
this.details = document.getElementById('details')
this.contextBtn = document.getElementById('context-button')
this.resetBtn = document.getElementById('reset-button')

@@ -28,5 +36,10 @@ this.clearBtn = document.getElementById('clear-button')

handleClear () {
this.searchInput.value = ''
this.flameGraph.clear()
toggleContextInfo () {
if (this.context.style.display === 'none') {
this.chart.style.display = 'none'
this.context.style.display = 'block'
} else {
this.context.style.display = 'none'
this.chart.style.display = 'block'
}
}

@@ -38,2 +51,7 @@

handleClear () {
this.searchInput.value = ''
this.flameGraph.clear()
}
handleWindowResize () {

@@ -55,2 +73,22 @@ var width = this.chart.clientWidth

colorSchemeColorMapper (getName, getLibtype, d, originalColor) {
if (d.highlight) {
return '#E600E6' // purple
} else if (this.options.colorscheme === 'blue-green') {
const name = getName(d)
const libtype = getLibtype(d)
const vector = generateColorVector(name)
if (libtype === 'root') {
return 'rgb(217,75,75)'
} else if (libtype === 'kernel') {
return calculateColor('blue', vector)
} else { // userspace
return calculateColor('pastelgreen', vector)
}
} else {
return originalColor
}
}
init () {

@@ -67,2 +105,7 @@ this.flameGraph = flamegraph()

const getNameFn = this.flameGraph.getName()
const getLibtypeFn = this.flameGraph.getLibtype()
this.flameGraph.setColorMapper(this.colorSchemeColorMapper.bind(this, getNameFn, getLibtypeFn))
this.contextBtn.addEventListener('click', this.toggleContextInfo.bind(this))
this.resetBtn.addEventListener('click', this.handleResetZoom.bind(this))

@@ -77,2 +120,3 @@ this.clearBtn.addEventListener('click', this.handleClear.bind(this))

this.context.textContent = this.options.context
this.details.innerHTML = ''

@@ -79,0 +123,0 @@ select(this.chart)

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc