{"version":3,"file":"react-charts.min.mjs","sources":["../src/utils/ChartContext.js","../src/utils/Utils.js","../node_modules/@reach/observe-rect/dist/observe-rect.esm.js","../src/hooks/useIsomorphicLayoutEffect.js","../src/hooks/useHyperResponsive.js","../src/hooks/useLatestRef.js","../src/hooks/useLatest.js","../src/hooks/usePrevious.js","../src/utils/Raf.js","../src/primitives/Rectangle.js","../src/d3/index.js","../src/primitives/Path.js","../src/components/Voronoi.js","../src/primitives/Line.js","../src/primitives/Text.js","../src/primitives/Group.js","../src/utils/Constants.js","../src/components/AxisLinear.js","../src/components/Axis.js","../src/components/Tooltip.js","../src/components/Cursor.js","../src/components/Brush.js","../src/components/ChartInner.js","../src/hooks/usePropsMemo.js","../src/hooks/useSeriesStyle.js","../src/hooks/useDatumStyle.js","../src/primitives/Circle.js","../src/seriesTypes/Line.js","../src/seriesTypes/Bubble.js","../src/seriesTypes/Area.js","../src/seriesTypes/Bar.js","../src/components/pipeline/useSeriesOptions.js","../src/utils/buildAxis.linear.js","../src/utils/buildAxis.js","../src/components/pipeline/useAxes.js","../src/components/pipeline/useStackData.js","../src/components/TooltipRenderer.js","../src/components/pipeline/useTooltip.js","../src/components/pipeline/useCursors.js","../src/components/Chart.js","../src/components/pipeline/useMaterializeData.js","../src/components/pipeline/useSeriesTypes.js","../src/components/pipeline/useDimensions.js"],"sourcesContent":["import React from \"react\";\nexport default React.createContext();\n","export default {\n  getStatus,\n  getStatusStyle,\n  buildStyleGetters,\n  getMultiAnchor,\n  getClosestPoint,\n  normalizeGetter,\n  isValidPoint,\n  getAxisByAxisID,\n  getAxisIndexByAxisID,\n  sumObjBy,\n  translateX,\n  translateY,\n  translate,\n  identity,\n  shallowDiff\n};\n\nfunction getStatus(item, focused) {\n  const status = {\n    focused: false,\n    otherFocused: false\n  };\n\n  if (!focused) {\n    return status;\n  }\n\n  // If the item is a datum\n  if (typeof item.primary !== \"undefined\") {\n    const length = focused.group.length;\n    for (let i = 0; i < length; i++) {\n      if (\n        focused.group[i].seriesID === item.series.id &&\n        focused.group[i].index === item.index\n      ) {\n        status.focused = true;\n        break;\n      }\n    }\n    status.otherFocused = !status.focused;\n    // For series\n  } else if (focused.series) {\n    status.focused = focused.series.id === item.id;\n    status.otherFocused = !status.focused;\n  }\n\n  return status;\n}\n\nfunction getStatusStyle(item, status, decorator, defaults) {\n  if (item.series) {\n    defaults = {\n      ...defaults,\n      ...item.series.style\n    };\n  }\n\n  return materializeStyles(\n    decorator({\n      ...item,\n      ...status\n    }),\n    defaults\n  );\n}\n\nfunction buildStyleGetters(series, defaults) {\n  series.getStatusStyle = (focused, decorator) => {\n    const status = getStatus(series, focused);\n    series.style = getStatusStyle(series, status, decorator, defaults);\n    return series.style;\n  };\n\n  // We also need to decorate each datum in the same fashion\n  series.datums.forEach(datum => {\n    datum.getStatusStyle = (focused, decorator) => {\n      const status = getStatus(datum, focused);\n      datum.style = getStatusStyle(datum, status, decorator, defaults);\n      return datum.style;\n    };\n  });\n}\n\nfunction getMultiAnchor({ anchor, points, gridWidth, gridHeight }) {\n  const invalid = () => {\n    throw new Error(\n      `${JSON.stringify(\n        anchor\n      )} is not a valid tooltip anchor option. You should use a single anchor option or 2 non-conflicting anchor options.`\n    );\n  };\n\n  let x;\n  let y;\n\n  let xMin = points[0].anchor.x;\n  let xMax = points[0].anchor.x;\n  let yMin = points[0].anchor.y;\n  let yMax = points[0].anchor.y;\n\n  points.forEach(point => {\n    xMin = Math.min(point.anchor.x, xMin);\n    xMax = Math.max(point.anchor.x, xMax);\n    yMin = Math.min(point.anchor.y, yMin);\n    yMax = Math.max(point.anchor.y, yMax);\n  });\n\n  if (anchor.length > 2) {\n    return invalid();\n  }\n\n  anchor = anchor.sort(a =>\n    a.includes(\"center\") || a.includes(\"Center\") ? 1 : -1\n  );\n\n  for (let i = 0; i < anchor.length; i++) {\n    const anchorPart = anchor[i];\n\n    // Horizontal Positioning\n    if ([\"left\", \"right\", \"gridLeft\", \"gridRight\"].includes(anchorPart)) {\n      if (typeof x !== \"undefined\") {\n        invalid();\n      }\n      if (anchorPart === \"left\") {\n        x = xMin;\n      } else if (anchorPart === \"right\") {\n        x = xMax;\n      } else if (anchorPart === \"gridLeft\") {\n        x = 0;\n      } else if (anchorPart === \"gridRight\") {\n        x = gridWidth;\n      } else {\n        invalid();\n      }\n    }\n\n    // Vertical Positioning\n    if ([\"top\", \"bottom\", \"gridTop\", \"gridBottom\"].includes(anchorPart)) {\n      if (typeof y !== \"undefined\") {\n        invalid();\n      }\n      if (anchorPart === \"top\") {\n        y = yMin;\n      } else if (anchorPart === \"bottom\") {\n        y = yMax;\n      } else if (anchorPart === \"gridTop\") {\n        y = 0;\n      } else if (anchorPart === \"gridBottom\") {\n        y = gridHeight;\n      } else {\n        invalid();\n      }\n    }\n\n    // Center Positioning\n    if ([\"center\", \"gridCenter\"].includes(anchorPart)) {\n      if (anchorPart === \"center\") {\n        if (typeof y === \"undefined\") {\n          y = (yMin + yMax) / 2;\n        }\n        if (typeof x === \"undefined\") {\n          x = (xMin + xMax) / 2;\n        }\n      } else if (anchorPart === \"gridCenter\") {\n        if (typeof y === \"undefined\") {\n          y = gridHeight / 2;\n        }\n        if (typeof x === \"undefined\") {\n          x = gridWidth / 2;\n        }\n      } else {\n        invalid();\n      }\n    }\n\n    // Auto center the remainder if there is only one anchorPart listed\n    if (anchor.length === 1) {\n      if (anchor[0].includes(\"grid\")) {\n        anchor.push(\"gridCenter\");\n      } else {\n        anchor.push(\"center\");\n      }\n    }\n  }\n\n  return { x, y };\n}\n\nfunction getClosestPoint(position, datums) {\n  if (!datums || !position || !datums.length) {\n    return;\n  }\n  let closestDistance = Infinity;\n  let closestDatum = datums[0];\n  datums.forEach(datum => {\n    datum.boundingPoints.forEach(pointerPoint => {\n      const distance = Math.sqrt(\n        (pointerPoint.x - position.x) ** 2 + (pointerPoint.y - position.y) ** 2\n      );\n      if (distance < closestDistance) {\n        closestDistance = distance;\n        closestDatum = datum;\n      }\n    });\n  });\n  return closestDatum;\n}\n\nfunction normalizeColor(style, defaults) {\n  return {\n    ...style,\n    stroke: style.stroke || style.color || defaults.stroke || defaults.color,\n    fill: style.fill || style.color || defaults.fill || defaults.color\n  };\n}\n\nconst elementTypes = [\"area\", \"line\", \"rectangle\", \"circle\"];\nfunction materializeStyles(style = {}, defaults = {}) {\n  style = normalizeColor(style, defaults);\n  for (let i = 0; i < elementTypes.length; i++) {\n    const type = elementTypes[i];\n    style[type] = style[type] ? materializeStyles(style[type], defaults) : {};\n  }\n  return style;\n}\n\nfunction normalizeGetter(getter) {\n  if (typeof getter === \"function\") {\n    return getter;\n  }\n  return d => get(d, getter);\n}\n\nfunction get(obj, path, def) {\n  if (typeof obj === \"function\") {\n    try {\n      return obj();\n    } catch (e) {\n      return path;\n    }\n  }\n  if (!path) {\n    return obj;\n  }\n  const pathObj = makePathArray(path);\n  let val;\n  try {\n    val = pathObj.reduce((current, pathPart) => current[pathPart], obj);\n  } catch (e) {\n    // do nothing\n  }\n  return typeof val !== \"undefined\" ? val : def;\n}\n\nfunction makePathArray(obj) {\n  return flattenDeep(obj)\n    .join(\".\")\n    .replace(\"[\", \".\")\n    .replace(\"]\", \"\")\n    .split(\".\");\n}\n\nfunction flattenDeep(arr, newArr = []) {\n  if (!Array.isArray(arr)) {\n    newArr.push(arr);\n  } else {\n    for (let i = 0; i < arr.length; i++) {\n      flattenDeep(arr[i], newArr);\n    }\n  }\n  return newArr;\n}\n\nfunction isValidPoint(d) {\n  if (d === null) {\n    return false;\n  }\n  if (typeof d === \"undefined\") {\n    return false;\n  }\n  if (typeof d === \"string\" && d === \"null\") {\n    return false;\n  }\n  return true;\n}\n\nfunction getAxisByAxisID(axes, AxisID) {\n  return axes.find(d => d.id === AxisID) || axes[0];\n}\n\nfunction getAxisIndexByAxisID(axes, AxisID) {\n  const index = axes.findIndex(d => d.id === AxisID);\n  return index > -1 ? index : 0;\n}\n\nfunction sumObjBy(obj, str) {\n  return Object.keys(obj)\n    .map(key => obj[key])\n    .reduce((prev, curr) => prev + curr[str] || 0, 0);\n}\n\nfunction translateX(x) {\n  return `translate3d(${Math.round(x)}px, 0, 0)`;\n}\n\nfunction translateY(y) {\n  return `translate3d(0, ${Math.round(y)}px, 0)`;\n}\n\nfunction translate(x, y) {\n  return `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`;\n}\n\nfunction identity(d) {\n  return d;\n}\n\nfunction shallowDiff(a, b) {\n  const aKeys = Object.keys(a);\n  const bKeys = Object.keys(b);\n\n  if (aKeys.length !== bKeys.length) {\n    return true;\n  }\n\n  return Object.keys(a).some(key => {\n    if (a[key] !== b[key]) {\n      return true;\n    }\n  });\n}\n","var props = ['bottom', 'height', 'left', 'right', 'top', 'width'];\n\nvar rectChanged = function rectChanged(a, b) {\n  if (a === void 0) {\n    a = {};\n  }\n\n  if (b === void 0) {\n    b = {};\n  }\n\n  return props.some(function (prop) {\n    return a[prop] !== b[prop];\n  });\n};\n\nvar observedNodes =\n/*#__PURE__*/\nnew Map();\nvar rafId;\n\nvar run = function run() {\n  var changedStates = [];\n  observedNodes.forEach(function (state, node) {\n    var newRect = node.getBoundingClientRect();\n\n    if (rectChanged(newRect, state.rect)) {\n      state.rect = newRect;\n      changedStates.push(state);\n    }\n  });\n  changedStates.forEach(function (state) {\n    state.callbacks.forEach(function (cb) {\n      return cb(state.rect);\n    });\n  });\n  rafId = window.requestAnimationFrame(run);\n};\n\nfunction observeRect(node, cb) {\n  return {\n    observe: function observe() {\n      var wasEmpty = observedNodes.size === 0;\n\n      if (observedNodes.has(node)) {\n        observedNodes.get(node).callbacks.push(cb);\n      } else {\n        observedNodes.set(node, {\n          rect: undefined,\n          hasRectChanged: false,\n          callbacks: [cb]\n        });\n      }\n\n      if (wasEmpty) run();\n    },\n    unobserve: function unobserve() {\n      var state = observedNodes.get(node);\n\n      if (state) {\n        // Remove the callback\n        var index = state.callbacks.indexOf(cb);\n        if (index >= 0) state.callbacks.splice(index, 1); // Remove the node reference\n\n        if (!state.callbacks.length) observedNodes[\"delete\"](node); // Stop the loop\n\n        if (!observedNodes.size) cancelAnimationFrame(rafId);\n      }\n    }\n  };\n}\n\nexport default observeRect;\n//# sourceMappingURL=observe-rect.esm.js.map\n","import React from 'react'\n\nexport default typeof window !== 'undefined'\n  ? React.useLayoutEffect\n  : React.useEffect\n","import React from 'react'\n\nimport observeRect from '@reach/observe-rect'\n\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect'\n\nexport default function useRect(nodeRef) {\n  const [element, setElement] = React.useState(nodeRef.current?.parentElement)\n  const [rect, setRect] = React.useState({ width: 0, height: 0 })\n  const initialRectSet = React.useRef(false)\n\n  useIsomorphicLayoutEffect(() => {\n    if (nodeRef.current?.parentElement !== element) {\n      setElement(nodeRef.current?.parentElement)\n    }\n  })\n\n  useIsomorphicLayoutEffect(() => {\n    if (element && !initialRectSet.current) {\n      initialRectSet.current = true\n      setRect(element.getBoundingClientRect())\n    }\n  }, [element])\n\n  React.useEffect(() => {\n    if (!element) {\n      return\n    }\n\n    const observer = observeRect(element, setRect)\n\n    observer.observe()\n\n    return () => {\n      observer.unobserve()\n    }\n  }, [element])\n\n  return { width: rect.width, height: rect.height }\n}\n","import React from \"react\";\n\nexport default function useLatestRef(latest) {\n  const ref = React.useRef();\n  ref.current = latest;\n  return ref;\n}\n","import React from \"react\";\n\nexport default function useLatest(obj, when = true) {\n  const ref = React.useRef();\n  if (when) {\n    ref.current = obj;\n  }\n  return ref.current;\n}\n","import React from \"react\";\n\nexport default function usePrevious(val) {\n  const ref = React.useRef();\n\n  React.useEffect(\n    () => {\n      ref.current = val;\n    },\n    [val]\n  );\n\n  return ref.current;\n}\n","var now = require('performance-now'),\n  root = typeof window === 'undefined' ? global : window,\n  vendors = ['moz', 'webkit'],\n  suffix = 'AnimationFrame',\n  raf = root['request' + suffix],\n  caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor (var i = 0; !raf && i < vendors.length; i++) {\n  raf = root[vendors[i] + 'Request' + suffix]\n  caf =\n    root[vendors[i] + 'Cancel' + suffix] ||\n    root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif (!raf || !caf) {\n  var last = 0,\n    id = 0,\n    queue = [],\n    frameDuration = 1000 / 60\n\n  raf = function(callback) {\n    if (queue.length === 0) {\n      var _now = now(),\n        next = Math.max(0, frameDuration - (_now - last))\n      last = next + _now\n      setTimeout(function() {\n        var cp = queue.slice(0)\n        // Clear queue here to prevent\n        // callbacks from appending listeners\n        // to the current frame's queue\n        queue.length = 0\n        for (var i = 0; i < cp.length; i++) {\n          if (!cp[i].cancelled) {\n            try {\n              cp[i].callback(last)\n            } catch (e) {\n              setTimeout(function() {\n                throw e\n              }, 0)\n            }\n          }\n        }\n      }, Math.round(next))\n    }\n    queue.push({\n      handle: ++id,\n      callback: callback,\n      cancelled: false,\n    })\n    return id\n  }\n\n  caf = function(handle) {\n    for (var i = 0; i < queue.length; i++) {\n      if (queue[i].handle === handle) {\n        queue[i].cancelled = true\n      }\n    }\n  }\n}\n\nexport default function Raf(fn) {\n  // Wrap in a new function to prevent\n  // `cancel` potentially being assigned\n  // to the native rAF function\n  return raf.call(root, fn)\n}\n\nRaf.cancel = function() {\n  caf.apply(root, arguments)\n}\n\nRaf.polyfill = function(object) {\n  if (!object) {\n    object = root\n  }\n  object.requestAnimationFrame = raf\n  object.cancelAnimationFrame = caf\n}\n","import React from \"react\";\n//\n\nconst defaultStyle = {\n  strokeWidth: 0,\n  fill: \"#333\",\n  opacity: 1,\n  rx: 0,\n  ry: 0\n};\n\nexport default function Rectangle ({ style, opacity = 1, x1, y1, x2, y2, ...rest }) {\n  const resolvedStyle = {\n    ...defaultStyle,\n    ...style\n  };\n\n  const xStart = Math.min(x1, x2);\n  const yStart = Math.min(y1, y2);\n  const xEnd = Math.max(x1, x2);\n  const yEnd = Math.max(y1, y2);\n\n  const height = Math.max(yEnd - yStart, 0);\n  const width = Math.max(xEnd - xStart, 0);\n\n  return (\n    <rect\n      {...rest}\n      x={xStart}\n      y={yStart}\n      width={width}\n      height={height}\n      style={resolvedStyle}\n    />\n  );\n}\n","function t(t){return function(){return t}}function n(t){return t[0]}function e(t){return t[1]}function i(){this._=null}function r(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function o(t,n){var e=n,i=n.R,r=e.U;r?r.L===e?r.L=i:r.R=i:t._=i,i.U=r,e.U=i,e.R=i.L,e.R&&(e.R.U=e),i.L=e}function s(t,n){var e=n,i=n.L,r=e.U;r?r.L===e?r.L=i:r.R=i:t._=i,i.U=r,e.U=i,e.L=i.R,e.L&&(e.L.U=e),i.R=e}function u(t){for(;t.L;)t=t.L;return t}function a(t,n,e,i){var r=[null,null],o=A.push(r)-1;return r.left=t,r.right=n,e&&c(r,t,n,e),i&&c(r,n,t,i),D[t.index].halfedges.push(o),D[n.index].halfedges.push(o),r}function h(t,n,e){var i=[n,e];return i.left=t,i}function c(t,n,e,i){t[0]||t[1]?t.left===e?t[1]=i:t[0]=i:(t[0]=i,t.left=n,t.right=e)}function l(t,n,e,i,r){var o,s=t[0],u=t[1],a=s[0],h=s[1],c=0,l=1,f=u[0]-a,_=u[1]-h;if(o=n-a,f||!(o>0)){if(o/=f,f<0){if(o<c)return;o<l&&(l=o)}else if(f>0){if(o>l)return;o>c&&(c=o)}if(o=i-a,f||!(o<0)){if(o/=f,f<0){if(o>l)return;o>c&&(c=o)}else if(f>0){if(o<c)return;o<l&&(l=o)}if(o=e-h,_||!(o>0)){if(o/=_,_<0){if(o<c)return;o<l&&(l=o)}else if(_>0){if(o>l)return;o>c&&(c=o)}if(o=r-h,_||!(o<0)){if(o/=_,_<0){if(o>l)return;o>c&&(c=o)}else if(_>0){if(o<c)return;o<l&&(l=o)}return!(c>0||l<1)||(c>0&&(t[0]=[a+c*f,h+c*_]),l<1&&(t[1]=[a+l*f,h+l*_]),!0)}}}}}function f(t,n,e,i,r){var o=t[1];if(o)return!0;var s,u,a=t[0],h=t.left,c=t.right,l=h[0],f=h[1],_=c[0],y=c[1],g=(l+_)/2,p=(f+y)/2;if(y===f){if(g<n||g>=i)return;if(l>_){if(a){if(a[1]>=r)return}else a=[g,e];o=[g,r]}else{if(a){if(a[1]<e)return}else a=[g,r];o=[g,e]}}else if(u=p-(s=(l-_)/(y-f))*g,s<-1||s>1)if(l>_){if(a){if(a[1]>=r)return}else a=[(e-u)/s,e];o=[(r-u)/s,r]}else{if(a){if(a[1]<e)return}else a=[(r-u)/s,r];o=[(e-u)/s,e]}else if(f<y){if(a){if(a[0]>=i)return}else a=[n,s*n+u];o=[i,s*i+u]}else{if(a){if(a[0]<n)return}else a=[i,s*i+u];o=[n,s*n+u]}return t[0]=a,t[1]=o,!0}function _(t,n){var e=t.site,i=n.left,r=n.right;return e===r&&(r=i,i=e),r?Math.atan2(r[1]-i[1],r[0]-i[0]):(e===i?(i=n[1],r=n[0]):(i=n[0],r=n[1]),Math.atan2(i[0]-r[0],r[1]-i[1]))}function y(t,n){return n[+(n.left!==t.site)]}function g(t,n){return n[+(n.left===t.site)]}i.prototype={constructor:i,insert:function(t,n){var e,i,r;if(t){if(n.P=t,n.N=t.N,t.N&&(t.N.P=n),t.N=n,t.R){for(t=t.R;t.L;)t=t.L;t.L=n}else t.R=n;e=t}else this._?(t=u(this._),n.P=null,n.N=t,t.P=t.L=n,e=t):(n.P=n.N=null,this._=n,e=null);for(n.L=n.R=null,n.U=e,n.C=!0,t=n;e&&e.C;)e===(i=e.U).L?(r=i.R)&&r.C?(e.C=r.C=!1,i.C=!0,t=i):(t===e.R&&(o(this,e),e=(t=e).U),e.C=!1,i.C=!0,s(this,i)):(r=i.L)&&r.C?(e.C=r.C=!1,i.C=!0,t=i):(t===e.L&&(s(this,e),e=(t=e).U),e.C=!1,i.C=!0,o(this,i)),e=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var n,e,i,r=t.U,a=t.L,h=t.R;if(e=a?h?u(h):a:h,r?r.L===t?r.L=e:r.R=e:this._=e,a&&h?(i=e.C,e.C=t.C,e.L=a,a.U=e,e!==h?(r=e.U,e.U=t.U,t=e.R,r.L=t,e.R=h,h.U=e):(e.U=r,r=e,t=e.R)):(i=t.C,t=e),t&&(t.U=r),!i)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===r.L){if((n=r.R).C&&(n.C=!1,r.C=!0,o(this,r),n=r.R),n.L&&n.L.C||n.R&&n.R.C){n.R&&n.R.C||(n.L.C=!1,n.C=!0,s(this,n),n=r.R),n.C=r.C,r.C=n.R.C=!1,o(this,r),t=this._;break}}else if((n=r.L).C&&(n.C=!1,r.C=!0,s(this,r),n=r.L),n.L&&n.L.C||n.R&&n.R.C){n.L&&n.L.C||(n.R.C=!1,n.C=!0,o(this,n),n=r.L),n.C=r.C,r.C=n.L.C=!1,s(this,r),t=this._;break}n.C=!0,t=r,r=r.U}while(!t.C);t&&(t.C=!1)}}};var p,x=[];function d(){r(this),this.x=this.y=this.arc=this.site=this.cy=null}function v(t){var n=t.P,e=t.N;if(n&&e){var i=n.site,r=t.site,o=e.site;if(i!==o){var s=r[0],u=r[1],a=i[0]-s,h=i[1]-u,c=o[0]-s,l=o[1]-u,f=2*(a*l-h*c);if(!(f>=-E)){var _=a*a+h*h,y=c*c+l*l,g=(l*_-h*y)/f,v=(a*y-c*_)/f,m=x.pop()||new d;m.arc=t,m.site=r,m.x=g+s,m.y=(m.cy=v+u)+Math.sqrt(g*g+v*v),t.circle=m;for(var M=null,w=L._;w;)if(m.y<w.y||m.y===w.y&&m.x<=w.x){if(!w.L){M=w.P;break}w=w.L}else{if(!w.R){M=w;break}w=w.R}L.insert(M,m),M||(p=m)}}}}function m(t){var n=t.circle;n&&(n.P||(p=n.N),L.remove(n),x.push(n),r(n),t.circle=null)}var M=[];function w(){r(this),this.edge=this.site=this.circle=null}function b(t){var n=M.pop()||new w;return n.site=t,n}function T(t){m(t),S.remove(t),M.push(t),r(t)}function C(t){var n=t.circle,e=n.x,i=n.cy,r=[e,i],o=t.P,s=t.N,u=[t];T(t);for(var h=o;h.circle&&Math.abs(e-h.circle.x)<R&&Math.abs(i-h.circle.cy)<R;)o=h.P,u.unshift(h),T(h),h=o;u.unshift(h),m(h);for(var l=s;l.circle&&Math.abs(e-l.circle.x)<R&&Math.abs(i-l.circle.cy)<R;)s=l.N,u.push(l),T(l),l=s;u.push(l),m(l);var f,_=u.length;for(f=1;f<_;++f)l=u[f],h=u[f-1],c(l.edge,h.site,l.site,r);h=u[0],(l=u[_-1]).edge=a(h.site,l.site,null,r),v(h),v(l)}function N(t){for(var n,e,i,r,o=t[0],s=t[1],u=S._;u;)if((i=k(u,s)-o)>R)u=u.L;else{if(!((r=o-U(u,s))>R)){i>-R?(n=u.P,e=u):r>-R?(n=u,e=u.N):n=e=u;break}if(!u.R){n=u;break}u=u.R}!function(t){D[t.index]={site:t,halfedges:[]}}(t);var h=b(t);if(S.insert(n,h),n||e){if(n===e)return m(n),e=b(n.site),S.insert(h,e),h.edge=e.edge=a(n.site,h.site),v(n),void v(e);if(e){m(n),m(e);var l=n.site,f=l[0],_=l[1],y=t[0]-f,g=t[1]-_,p=e.site,x=p[0]-f,d=p[1]-_,M=2*(y*d-g*x),w=y*y+g*g,T=x*x+d*d,C=[(d*w-g*T)/M+f,(y*T-x*w)/M+_];c(e.edge,l,p,C),h.edge=a(l,t,null,C),e.edge=a(t,p,null,C),v(n),v(e)}else h.edge=a(n.site,h.site)}}function k(t,n){var e=t.site,i=e[0],r=e[1],o=r-n;if(!o)return i;var s=t.P;if(!s)return-1/0;var u=(e=s.site)[0],a=e[1],h=a-n;if(!h)return u;var c=u-i,l=1/o-1/h,f=c/h;return l?(-f+Math.sqrt(f*f-2*l*(c*c/(-2*h)-a+h/2+r-o/2)))/l+i:(i+u)/2}function U(t,n){var e=t.N;if(e)return k(e,n);var i=t.site;return i[1]===n?i[0]:1/0}var S,D,L,A,R=1e-6,E=1e-12;function P(t,n){return n[1]-t[1]||n[0]-t[0]}function F(t,n){var e,r,o,s=t.sort(P).pop();for(A=[],D=new Array(t.length),S=new i,L=new i;;)if(o=p,s&&(!o||s[1]<o.y||s[1]===o.y&&s[0]<o.x))s[0]===e&&s[1]===r||(N(s),e=s[0],r=s[1]),s=t.pop();else{if(!o)break;C(o.arc)}if(function(){for(var t,n,e,i,r=0,o=D.length;r<o;++r)if((t=D[r])&&(i=(n=t.halfedges).length)){var s=new Array(i),u=new Array(i);for(e=0;e<i;++e)s[e]=e,u[e]=_(t,A[n[e]]);for(s.sort((function(t,n){return u[n]-u[t]})),e=0;e<i;++e)u[e]=n[s[e]];for(e=0;e<i;++e)n[e]=u[e]}}(),n){var u=+n[0][0],a=+n[0][1],c=+n[1][0],x=+n[1][1];!function(t,n,e,i){for(var r,o=A.length;o--;)f(r=A[o],t,n,e,i)&&l(r,t,n,e,i)&&(Math.abs(r[0][0]-r[1][0])>R||Math.abs(r[0][1]-r[1][1])>R)||delete A[o]}(u,a,c,x),function(t,n,e,i){var r,o,s,u,a,c,l,f,_,p,x,d,v=D.length,m=!0;for(r=0;r<v;++r)if(o=D[r]){for(s=o.site,u=(a=o.halfedges).length;u--;)A[a[u]]||a.splice(u,1);for(u=0,c=a.length;u<c;)x=(p=g(o,A[a[u]]))[0],d=p[1],f=(l=y(o,A[a[++u%c]]))[0],_=l[1],(Math.abs(x-f)>R||Math.abs(d-_)>R)&&(a.splice(u,0,A.push(h(s,p,Math.abs(x-t)<R&&i-d>R?[t,Math.abs(f-t)<R?_:i]:Math.abs(d-i)<R&&e-x>R?[Math.abs(_-i)<R?f:e,i]:Math.abs(x-e)<R&&d-n>R?[e,Math.abs(f-e)<R?_:n]:Math.abs(d-n)<R&&x-t>R?[Math.abs(_-n)<R?f:t,n]:null))-1),++c);c&&(m=!1)}if(m){var M,w,b,T=1/0;for(r=0,m=null;r<v;++r)(o=D[r])&&(b=(M=(s=o.site)[0]-t)*M+(w=s[1]-n)*w)<T&&(T=b,m=o);if(m){var C=[t,n],N=[t,i],k=[e,i],U=[e,n];m.halfedges.push(A.push(h(s=m.site,C,N))-1,A.push(h(s,N,k))-1,A.push(h(s,k,U))-1,A.push(h(s,U,C))-1)}}for(r=0;r<v;++r)(o=D[r])&&(o.halfedges.length||delete D[r])}(u,a,c,x)}this.edges=A,this.cells=D,S=L=A=D=null}function Y(){var i=n,r=e,o=null;function s(t){return new F(t.map((function(n,e){var o=[Math.round(i(n,e,t)/R)*R,Math.round(r(n,e,t)/R)*R];return o.index=e,o.data=n,o})),o)}return s.polygons=function(t){return s(t).polygons()},s.links=function(t){return s(t).links()},s.triangles=function(t){return s(t).triangles()},s.x=function(n){return arguments.length?(i=\"function\"==typeof n?n:t(+n),s):i},s.y=function(n){return arguments.length?(r=\"function\"==typeof n?n:t(+n),s):r},s.extent=function(t){return arguments.length?(o=null==t?null:[[+t[0][0],+t[0][1]],[+t[1][0],+t[1][1]]],s):o&&[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},s.size=function(t){return arguments.length?(o=null==t?null:[[0,0],[+t[0],+t[1]]],s):o&&[o[1][0]-o[0][0],o[1][1]-o[0][1]]},s}function H(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function q(t){var n;return 1===t.length&&(n=t,t=function(t,e){return H(n(t),e)}),{left:function(n,e,i,r){for(null==i&&(i=0),null==r&&(r=n.length);i<r;){var o=i+r>>>1;t(n[o],e)<0?i=o+1:r=o}return i},right:function(n,e,i,r){for(null==i&&(i=0),null==r&&(r=n.length);i<r;){var o=i+r>>>1;t(n[o],e)>0?r=o:i=o+1}return i}}}F.prototype={constructor:F,polygons:function(){var t=this.edges;return this.cells.map((function(n){var e=n.halfedges.map((function(e){return y(n,t[e])}));return e.data=n.site.data,e}))},triangles:function(){var t=[],n=this.edges;return this.cells.forEach((function(e,i){if(o=(r=e.halfedges).length)for(var r,o,s,u,a,h,c=e.site,l=-1,f=n[r[o-1]],_=f.left===c?f.right:f.left;++l<o;)s=_,_=(f=n[r[l]]).left===c?f.right:f.left,s&&_&&i<s.index&&i<_.index&&(a=s,h=_,((u=c)[0]-h[0])*(a[1]-u[1])-(u[0]-a[0])*(h[1]-u[1])<0)&&t.push([c.data,s.data,_.data])})),t},links:function(){return this.edges.filter((function(t){return t.right})).map((function(t){return{source:t.left.data,target:t.right.data}}))},find:function(t,n,e){for(var i,r,o=this,s=o._found||0,u=o.cells.length;!(r=o.cells[s]);)if(++s>=u)return null;var a=t-r.site[0],h=n-r.site[1],c=a*a+h*h;do{r=o.cells[i=s],s=null,r.halfedges.forEach((function(e){var i=o.edges[e],u=i.left;if(u!==r.site&&u||(u=i.right)){var a=t-u[0],h=n-u[1],l=a*a+h*h;l<c&&(c=l,s=u.index)}}))}while(null!==s);return o._found=i,null==e||c<=e*e?r.site:null}};var z=q(H).right;function j(t,n,e){t=+t,n=+n,e=(r=arguments.length)<2?(n=t,t=0,1):r<3?1:+e;for(var i=-1,r=0|Math.max(0,Math.ceil((n-t)/e)),o=new Array(r);++i<r;)o[i]=t+i*e;return o}var O=Math.sqrt(50),Z=Math.sqrt(10),I=Math.sqrt(2);function $(t,n,e){var i,r,o,s,u=-1;if(e=+e,(t=+t)===(n=+n)&&e>0)return[t];if((i=n<t)&&(r=t,t=n,n=r),0===(s=V(t,n,e))||!isFinite(s))return[];if(s>0)for(t=Math.ceil(t/s),n=Math.floor(n/s),o=new Array(r=Math.ceil(n-t+1));++u<r;)o[u]=(t+u)*s;else for(t=Math.floor(t*s),n=Math.ceil(n*s),o=new Array(r=Math.ceil(t-n+1));++u<r;)o[u]=(t-u)/s;return i&&o.reverse(),o}function V(t,n,e){var i=(n-t)/Math.max(0,e),r=Math.floor(Math.log(i)/Math.LN10),o=i/Math.pow(10,r);return r>=0?(o>=O?10:o>=Z?5:o>=I?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(o>=O?10:o>=Z?5:o>=I?2:1)}function B(t,n,e){var i=Math.abs(n-t)/Math.max(0,e),r=Math.pow(10,Math.floor(Math.log(i)/Math.LN10)),o=i/r;return o>=O?r*=10:o>=Z?r*=5:o>=I&&(r*=2),n<t?-r:r}function X(t,n){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(n).domain(t)}return this}const W=Symbol(\"implicit\");function Q(){var t=new Map,n=[],e=[],i=W;function r(r){var o=r+\"\",s=t.get(o);if(!s){if(i!==W)return i;t.set(o,s=n.push(r))}return e[(s-1)%e.length]}return r.domain=function(e){if(!arguments.length)return n.slice();n=[],t=new Map;for(const i of e){const e=i+\"\";t.has(e)||t.set(e,n.push(i))}return r},r.range=function(t){return arguments.length?(e=Array.from(t),r):e.slice()},r.unknown=function(t){return arguments.length?(i=t,r):i},r.copy=function(){return Q(n,e).unknown(i)},X.apply(r,arguments),r}function J(){var t,n,e=Q().unknown(void 0),i=e.domain,r=e.range,o=0,s=1,u=!1,a=0,h=0,c=.5;function l(){var e=i().length,l=s<o,f=l?s:o,_=l?o:s;t=(_-f)/Math.max(1,e-a+2*h),u&&(t=Math.floor(t)),f+=(_-f-t*(e-a))*c,n=t*(1-a),u&&(f=Math.round(f),n=Math.round(n));var y=j(e).map((function(n){return f+t*n}));return r(l?y.reverse():y)}return delete e.unknown,e.domain=function(t){return arguments.length?(i(t),l()):i()},e.range=function(t){return arguments.length?([o,s]=t,o=+o,s=+s,l()):[o,s]},e.rangeRound=function(t){return[o,s]=t,o=+o,s=+s,u=!0,l()},e.bandwidth=function(){return n},e.step=function(){return t},e.round=function(t){return arguments.length?(u=!!t,l()):u},e.padding=function(t){return arguments.length?(a=Math.min(1,h=+t),l()):a},e.paddingInner=function(t){return arguments.length?(a=Math.min(1,t),l()):a},e.paddingOuter=function(t){return arguments.length?(h=+t,l()):h},e.align=function(t){return arguments.length?(c=Math.max(0,Math.min(1,t)),l()):c},e.copy=function(){return J(i(),[o,s]).round(u).paddingInner(a).paddingOuter(h).align(c)},X.apply(l(),arguments)}function G(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function K(t,n){var e=Object.create(t.prototype);for(var i in n)e[i]=n[i];return e}function tt(){}var nt=\"\\\\s*([+-]?\\\\d+)\\\\s*\",et=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",it=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",rt=/^#([0-9a-f]{3,8})$/,ot=new RegExp(\"^rgb\\\\(\"+[nt,nt,nt]+\"\\\\)$\"),st=new RegExp(\"^rgb\\\\(\"+[it,it,it]+\"\\\\)$\"),ut=new RegExp(\"^rgba\\\\(\"+[nt,nt,nt,et]+\"\\\\)$\"),at=new RegExp(\"^rgba\\\\(\"+[it,it,it,et]+\"\\\\)$\"),ht=new RegExp(\"^hsl\\\\(\"+[et,it,it]+\"\\\\)$\"),ct=new RegExp(\"^hsla\\\\(\"+[et,it,it,et]+\"\\\\)$\"),lt={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 ft(){return this.rgb().formatHex()}function _t(){return this.rgb().formatRgb()}function yt(t){var n,e;return t=(t+\"\").trim().toLowerCase(),(n=rt.exec(t))?(e=n[1].length,n=parseInt(n[1],16),6===e?gt(n):3===e?new vt(n>>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===e?new vt(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===e?new vt(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=ot.exec(t))?new vt(n[1],n[2],n[3],1):(n=st.exec(t))?new vt(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=ut.exec(t))?pt(n[1],n[2],n[3],n[4]):(n=at.exec(t))?pt(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=ht.exec(t))?bt(n[1],n[2]/100,n[3]/100,1):(n=ct.exec(t))?bt(n[1],n[2]/100,n[3]/100,n[4]):lt.hasOwnProperty(t)?gt(lt[t]):\"transparent\"===t?new vt(NaN,NaN,NaN,0):null}function gt(t){return new vt(t>>16&255,t>>8&255,255&t,1)}function pt(t,n,e,i){return i<=0&&(t=n=e=NaN),new vt(t,n,e,i)}function xt(t){return t instanceof tt||(t=yt(t)),t?new vt((t=t.rgb()).r,t.g,t.b,t.opacity):new vt}function dt(t,n,e,i){return 1===arguments.length?xt(t):new vt(t,n,e,null==i?1:i)}function vt(t,n,e,i){this.r=+t,this.g=+n,this.b=+e,this.opacity=+i}function mt(){return\"#\"+wt(this.r)+wt(this.g)+wt(this.b)}function Mt(){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 wt(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?\"0\":\"\")+t.toString(16)}function bt(t,n,e,i){return i<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new Ct(t,n,e,i)}function Tt(t){if(t instanceof Ct)return new Ct(t.h,t.s,t.l,t.opacity);if(t instanceof tt||(t=yt(t)),!t)return new Ct;if(t instanceof Ct)return t;var n=(t=t.rgb()).r/255,e=t.g/255,i=t.b/255,r=Math.min(n,e,i),o=Math.max(n,e,i),s=NaN,u=o-r,a=(o+r)/2;return u?(s=n===o?(e-i)/u+6*(e<i):e===o?(i-n)/u+2:(n-e)/u+4,u/=a<.5?o+r:2-o-r,s*=60):u=a>0&&a<1?0:s,new Ct(s,u,a,t.opacity)}function Ct(t,n,e,i){this.h=+t,this.s=+n,this.l=+e,this.opacity=+i}function Nt(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 kt(t){return function(){return t}}function Ut(t){return 1==(t=+t)?St: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(i){return Math.pow(t+i*n,e)}}(n,e,t):kt(isNaN(n)?e:n)}}function St(t,n){var e=n-t;return e?function(t,n){return function(e){return t+e*n}}(t,e):kt(isNaN(t)?n:t)}G(tt,yt,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:ft,formatHex:ft,formatHsl:function(){return Tt(this).formatHsl()},formatRgb:_t,toString:_t}),G(vt,dt,K(tt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new vt(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new vt(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:mt,formatHex:mt,formatRgb:Mt,toString:Mt})),G(Ct,(function(t,n,e,i){return 1===arguments.length?Tt(t):new Ct(t,n,e,null==i?1:i)}),K(tt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new Ct(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new Ct(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,i=e+(e<.5?e:1-e)*n,r=2*e-i;return new vt(Nt(t>=240?t-240:t+120,r,i),Nt(t,r,i),Nt(t<120?t+240:t-120,r,i),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 Dt=function t(n){var e=Ut(n);function i(t,n){var i=e((t=dt(t)).r,(n=dt(n)).r),r=e(t.g,n.g),o=e(t.b,n.b),s=St(t.opacity,n.opacity);return function(n){return t.r=i(n),t.g=r(n),t.b=o(n),t.opacity=s(n),t+\"\"}}return i.gamma=t,i}(1);function Lt(t,n){n||(n=[]);var e,i=t?Math.min(n.length,t.length):0,r=n.slice();return function(o){for(e=0;e<i;++e)r[e]=t[e]*(1-o)+n[e]*o;return r}}function At(t,n){var e,i=n?n.length:0,r=t?Math.min(i,t.length):0,o=new Array(r),s=new Array(i);for(e=0;e<r;++e)o[e]=qt(t[e],n[e]);for(;e<i;++e)s[e]=n[e];return function(t){for(e=0;e<r;++e)s[e]=o[e](t);return s}}function Rt(t,n){var e=new Date;return t=+t,n=+n,function(i){return e.setTime(t*(1-i)+n*i),e}}function Et(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}function Pt(t,n){var e,i={},r={};for(e in null!==t&&\"object\"==typeof t||(t={}),null!==n&&\"object\"==typeof n||(n={}),n)e in t?i[e]=qt(t[e],n[e]):r[e]=n[e];return function(t){for(e in i)r[e]=i[e](t);return r}}var Ft=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,Yt=new RegExp(Ft.source,\"g\");function Ht(t,n){var e,i,r,o=Ft.lastIndex=Yt.lastIndex=0,s=-1,u=[],a=[];for(t+=\"\",n+=\"\";(e=Ft.exec(t))&&(i=Yt.exec(n));)(r=i.index)>o&&(r=n.slice(o,r),u[s]?u[s]+=r:u[++s]=r),(e=e[0])===(i=i[0])?u[s]?u[s]+=i:u[++s]=i:(u[++s]=null,a.push({i:s,x:Et(e,i)})),o=Yt.lastIndex;return o<n.length&&(r=n.slice(o),u[s]?u[s]+=r:u[++s]=r),u.length<2?a[0]?function(t){return function(n){return t(n)+\"\"}}(a[0].x):function(t){return function(){return t}}(n):(n=a.length,function(t){for(var e,i=0;i<n;++i)u[(e=a[i]).i]=e.x(t);return u.join(\"\")})}function qt(t,n){var e,i=typeof n;return null==n||\"boolean\"===i?kt(n):(\"number\"===i?Et:\"string\"===i?(e=yt(n))?(n=e,Dt):Ht:n instanceof yt?Dt:n instanceof Date?Rt:function(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}(n)?Lt:Array.isArray(n)?At:\"function\"!=typeof n.valueOf&&\"function\"!=typeof n.toString||isNaN(n)?Pt:Et)(t,n)}function zt(t,n){return t=+t,n=+n,function(e){return Math.round(t*(1-e)+n*e)}}function jt(t){return+t}var Ot=[0,1];function Zt(t){return t}function It(t,n){return(n-=t=+t)?function(e){return(e-t)/n}:function(t){return function(){return t}}(isNaN(n)?NaN:.5)}function $t(t,n,e){var i=t[0],r=t[1],o=n[0],s=n[1];return r<i?(i=It(r,i),o=e(s,o)):(i=It(i,r),o=e(o,s)),function(t){return o(i(t))}}function Vt(t,n,e){var i=Math.min(t.length,n.length)-1,r=new Array(i),o=new Array(i),s=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++s<i;)r[s]=It(t[s],t[s+1]),o[s]=e(n[s],n[s+1]);return function(n){var e=z(t,n,1,i)-1;return o[e](r[e](n))}}function Bt(t,n){return n.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Xt(){var t,n,e,i,r,o,s=Ot,u=Ot,a=qt,h=Zt;function c(){var t,n,e,a=Math.min(s.length,u.length);return h!==Zt&&(t=s[0],n=s[a-1],t>n&&(e=t,t=n,n=e),h=function(e){return Math.max(t,Math.min(n,e))}),i=a>2?Vt:$t,r=o=null,l}function l(n){return isNaN(n=+n)?e:(r||(r=i(s.map(t),u,a)))(t(h(n)))}return l.invert=function(e){return h(n((o||(o=i(u,s.map(t),Et)))(e)))},l.domain=function(t){return arguments.length?(s=Array.from(t,jt),c()):s.slice()},l.range=function(t){return arguments.length?(u=Array.from(t),c()):u.slice()},l.rangeRound=function(t){return u=Array.from(t),a=zt,c()},l.clamp=function(t){return arguments.length?(h=!!t||Zt,c()):h!==Zt},l.interpolate=function(t){return arguments.length?(a=t,c()):a},l.unknown=function(t){return arguments.length?(e=t,l):e},function(e,i){return t=e,n=i,c()}}function Wt(){return Xt()(Zt,Zt)}function Qt(t,n){if((e=(t=n?t.toExponential(n-1):t.toExponential()).indexOf(\"e\"))<0)return null;var e,i=t.slice(0,e);return[i.length>1?i[0]+i.slice(2):i,+t.slice(e+1)]}function Jt(t){return(t=Qt(Math.abs(t)))?t[1]:NaN}var Gt,Kt=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function tn(t){if(!(n=Kt.exec(t)))throw new Error(\"invalid format: \"+t);var n;return new nn({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 nn(t){this.fill=void 0===t.fill?\" \":t.fill+\"\",this.align=void 0===t.align?\">\":t.align+\"\",this.sign=void 0===t.sign?\"-\":t.sign+\"\",this.symbol=void 0===t.symbol?\"\":t.symbol+\"\",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?\"\":t.type+\"\"}function en(t,n){var e=Qt(t,n);if(!e)return t+\"\";var i=e[0],r=e[1];return r<0?\"0.\"+new Array(-r).join(\"0\")+i:i.length>r+1?i.slice(0,r+1)+\".\"+i.slice(r+1):i+new Array(r-i.length+2).join(\"0\")}tn.prototype=nn.prototype,nn.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 rn={\"%\":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 en(100*t,n)},r:en,s:function(t,n){var e=Qt(t,n);if(!e)return t+\"\";var i=e[0],r=e[1],o=r-(Gt=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,s=i.length;return o===s?i:o>s?i+new Array(o-s+1).join(\"0\"):o>0?i.slice(0,o)+\".\"+i.slice(o):\"0.\"+new Array(1-o).join(\"0\")+Qt(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)}};function on(t){return t}var sn,un,an,hn=Array.prototype.map,cn=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"µ\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function ln(t){var n,e,i=void 0===t.grouping||void 0===t.thousands?on:(n=hn.call(t.grouping,Number),e=t.thousands+\"\",function(t,i){for(var r=t.length,o=[],s=0,u=n[0],a=0;r>0&&u>0&&(a+u+1>i&&(u=Math.max(1,i-a)),o.push(t.substring(r-=u,r+u)),!((a+=u+1)>i));)u=n[s=(s+1)%n.length];return o.reverse().join(e)}),r=void 0===t.currency?\"\":t.currency[0]+\"\",o=void 0===t.currency?\"\":t.currency[1]+\"\",s=void 0===t.decimal?\".\":t.decimal+\"\",u=void 0===t.numerals?on:function(t){return function(n){return n.replace(/[0-9]/g,(function(n){return t[+n]}))}}(hn.call(t.numerals,String)),a=void 0===t.percent?\"%\":t.percent+\"\",h=void 0===t.minus?\"-\":t.minus+\"\",c=void 0===t.nan?\"NaN\":t.nan+\"\";function l(t){var n=(t=tn(t)).fill,e=t.align,l=t.sign,f=t.symbol,_=t.zero,y=t.width,g=t.comma,p=t.precision,x=t.trim,d=t.type;\"n\"===d?(g=!0,d=\"g\"):rn[d]||(void 0===p&&(p=12),x=!0,d=\"g\"),(_||\"0\"===n&&\"=\"===e)&&(_=!0,n=\"0\",e=\"=\");var v=\"$\"===f?r:\"#\"===f&&/[boxX]/.test(d)?\"0\"+d.toLowerCase():\"\",m=\"$\"===f?o:/[%p]/.test(d)?a:\"\",M=rn[d],w=/[defgprs%]/.test(d);function b(t){var r,o,a,f=v,b=m;if(\"c\"===d)b=M(t)+b,t=\"\";else{var T=(t=+t)<0;if(t=isNaN(t)?c:M(Math.abs(t),p),x&&(t=function(t){t:for(var n,e=t.length,i=1,r=-1;i<e;++i)switch(t[i]){case\".\":r=n=i;break;case\"0\":0===r&&(r=i),n=i;break;default:if(r>0){if(!+t[i])break t;r=0}}return r>0?t.slice(0,r)+t.slice(n+1):t}(t)),T&&0==+t&&(T=!1),f=(T?\"(\"===l?l:h:\"-\"===l||\"(\"===l?\"\":l)+f,b=(\"s\"===d?cn[8+Gt/3]:\"\")+b+(T&&\"(\"===l?\")\":\"\"),w)for(r=-1,o=t.length;++r<o;)if(48>(a=t.charCodeAt(r))||a>57){b=(46===a?s+t.slice(r+1):t.slice(r))+b,t=t.slice(0,r);break}}g&&!_&&(t=i(t,1/0));var C=f.length+t.length+b.length,N=C<y?new Array(y-C+1).join(n):\"\";switch(g&&_&&(t=i(N+t,N.length?y-b.length:1/0),N=\"\"),e){case\"<\":t=f+t+b+N;break;case\"=\":t=f+N+t+b;break;case\"^\":t=N.slice(0,C=N.length>>1)+f+t+b+N.slice(C);break;default:t=N+f+t+b}return u(t)}return p=void 0===p?6:/[gprs]/.test(d)?Math.max(1,Math.min(21,p)):Math.max(0,Math.min(20,p)),b.toString=function(){return t+\"\"},b}return{format:l,formatPrefix:function(t,n){var e=l(((t=tn(t)).type=\"f\",t)),i=3*Math.max(-8,Math.min(8,Math.floor(Jt(n)/3))),r=Math.pow(10,-i),o=cn[8+i/3];return function(t){return e(r*t)+o}}}}function fn(t,n,e,i){var r,o=B(t,n,e);switch((i=tn(null==i?\",f\":i)).type){case\"s\":var s=Math.max(Math.abs(t),Math.abs(n));return null!=i.precision||isNaN(r=function(t,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Jt(n)/3)))-Jt(Math.abs(t)))}(o,s))||(i.precision=r),an(i,s);case\"\":case\"e\":case\"g\":case\"p\":case\"r\":null!=i.precision||isNaN(r=function(t,n){return t=Math.abs(t),n=Math.abs(n)-t,Math.max(0,Jt(n)-Jt(t))+1}(o,Math.max(Math.abs(t),Math.abs(n))))||(i.precision=r-(\"e\"===i.type));break;case\"f\":case\"%\":null!=i.precision||isNaN(r=function(t){return Math.max(0,-Jt(Math.abs(t)))}(o))||(i.precision=r-2*(\"%\"===i.type))}return un(i)}function _n(t){var n=t.domain;return t.ticks=function(t){var e=n();return $(e[0],e[e.length-1],null==t?10:t)},t.tickFormat=function(t,e){var i=n();return fn(i[0],i[i.length-1],null==t?10:t,e)},t.nice=function(e){null==e&&(e=10);var i,r=n(),o=0,s=r.length-1,u=r[o],a=r[s];return a<u&&(i=u,u=a,a=i,i=o,o=s,s=i),(i=V(u,a,e))>0?i=V(u=Math.floor(u/i)*i,a=Math.ceil(a/i)*i,e):i<0&&(i=V(u=Math.ceil(u*i)/i,a=Math.floor(a*i)/i,e)),i>0?(r[o]=Math.floor(u/i)*i,r[s]=Math.ceil(a/i)*i,n(r)):i<0&&(r[o]=Math.ceil(u*i)/i,r[s]=Math.floor(a*i)/i,n(r)),t},t}function yn(){var t=Wt();return t.copy=function(){return Bt(t,yn())},X.apply(t,arguments),_n(t)}function gn(t,n){var e,i=0,r=(t=t.slice()).length-1,o=t[i],s=t[r];return s<o&&(e=i,i=r,r=e,e=o,o=s,s=e),t[i]=n.floor(o),t[r]=n.ceil(s),t}function pn(t){return Math.log(t)}function xn(t){return Math.exp(t)}function dn(t){return-Math.log(-t)}function vn(t){return-Math.exp(-t)}function mn(t){return isFinite(t)?+(\"1e\"+t):t<0?0:t}function Mn(t){return function(n){return-t(-n)}}function wn(t){var n,e,i=t(pn,xn),r=i.domain,o=10;function s(){return n=function(t){return t===Math.E?Math.log:10===t&&Math.log10||2===t&&Math.log2||(t=Math.log(t),function(n){return Math.log(n)/t})}(o),e=function(t){return 10===t?mn:t===Math.E?Math.exp:function(n){return Math.pow(t,n)}}(o),r()[0]<0?(n=Mn(n),e=Mn(e),t(dn,vn)):t(pn,xn),i}return i.base=function(t){return arguments.length?(o=+t,s()):o},i.domain=function(t){return arguments.length?(r(t),s()):r()},i.ticks=function(t){var i,s=r(),u=s[0],a=s[s.length-1];(i=a<u)&&(f=u,u=a,a=f);var h,c,l,f=n(u),_=n(a),y=null==t?10:+t,g=[];if(!(o%1)&&_-f<y){if(f=Math.floor(f),_=Math.ceil(_),u>0){for(;f<=_;++f)for(c=1,h=e(f);c<o;++c)if(!((l=h*c)<u)){if(l>a)break;g.push(l)}}else for(;f<=_;++f)for(c=o-1,h=e(f);c>=1;--c)if(!((l=h*c)<u)){if(l>a)break;g.push(l)}2*g.length<y&&(g=$(u,a,y))}else g=$(f,_,Math.min(_-f,y)).map(e);return i?g.reverse():g},i.tickFormat=function(t,r){if(null==r&&(r=10===o?\".0e\":\",\"),\"function\"!=typeof r&&(r=un(r)),t===1/0)return r;null==t&&(t=10);var s=Math.max(1,o*t/i.ticks().length);return function(t){var i=t/e(Math.round(n(t)));return i*o<o-.5&&(i*=o),i<=s?r(t):\"\"}},i.nice=function(){return r(gn(r(),{floor:function(t){return e(Math.floor(n(t)))},ceil:function(t){return e(Math.ceil(n(t)))}}))},i}function bn(){var t=wn(Xt()).domain([1,10]);return t.copy=function(){return Bt(t,bn()).base(t.base())},X.apply(t,arguments),t}sn=ln({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"}),un=sn.format,an=sn.formatPrefix;var Tn=new Date,Cn=new Date;function Nn(t,n,e,i){function r(n){return t(n=0===arguments.length?new Date:new Date(+n)),n}return r.floor=function(n){return t(n=new Date(+n)),n},r.ceil=function(e){return t(e=new Date(e-1)),n(e,1),t(e),e},r.round=function(t){var n=r(t),e=r.ceil(t);return t-n<e-t?n:e},r.offset=function(t,e){return n(t=new Date(+t),null==e?1:Math.floor(e)),t},r.range=function(e,i,o){var s,u=[];if(e=r.ceil(e),o=null==o?1:Math.floor(o),!(e<i&&o>0))return u;do{u.push(s=new Date(+e)),n(e,o),t(e)}while(s<e&&e<i);return u},r.filter=function(e){return Nn((function(n){if(n>=n)for(;t(n),!e(n);)n.setTime(n-1)}),(function(t,i){if(t>=t)if(i<0)for(;++i<=0;)for(;n(t,-1),!e(t););else for(;--i>=0;)for(;n(t,1),!e(t););}))},e&&(r.count=function(n,i){return Tn.setTime(+n),Cn.setTime(+i),t(Tn),t(Cn),Math.floor(e(Tn,Cn))},r.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?r.filter(i?function(n){return i(n)%t==0}:function(n){return r.count(0,n)%t==0}):r:null}),r}var kn=Nn((function(){}),(function(t,n){t.setTime(+t+n)}),(function(t,n){return n-t}));kn.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?Nn((function(n){n.setTime(Math.floor(n/t)*t)}),(function(n,e){n.setTime(+n+e*t)}),(function(n,e){return(e-n)/t})):kn:null};var Un=Nn((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,n){t.setTime(+t+1e3*n)}),(function(t,n){return(n-t)/1e3}),(function(t){return t.getUTCSeconds()})),Sn=Nn((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds())}),(function(t,n){t.setTime(+t+6e4*n)}),(function(t,n){return(n-t)/6e4}),(function(t){return t.getMinutes()})),Dn=Nn((function(t){t.setTime(t-t.getMilliseconds()-1e3*t.getSeconds()-6e4*t.getMinutes())}),(function(t,n){t.setTime(+t+36e5*n)}),(function(t,n){return(n-t)/36e5}),(function(t){return t.getHours()})),Ln=Nn((function(t){t.setHours(0,0,0,0)}),(function(t,n){t.setDate(t.getDate()+n)}),(function(t,n){return(n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5}),(function(t){return t.getDate()-1}));function An(t){return Nn((function(n){n.setDate(n.getDate()-(n.getDay()+7-t)%7),n.setHours(0,0,0,0)}),(function(t,n){t.setDate(t.getDate()+7*n)}),(function(t,n){return(n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/6048e5}))}var Rn=An(0),En=An(1),Pn=(An(2),An(3),An(4)),Fn=(An(5),An(6),Nn((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,n){t.setMonth(t.getMonth()+n)}),(function(t,n){return n.getMonth()-t.getMonth()+12*(n.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()}))),Yn=Nn((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,n){t.setFullYear(t.getFullYear()+n)}),(function(t,n){return n.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));Yn.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Nn((function(n){n.setFullYear(Math.floor(n.getFullYear()/t)*t),n.setMonth(0,1),n.setHours(0,0,0,0)}),(function(n,e){n.setFullYear(n.getFullYear()+e*t)})):null};var Hn=Nn((function(t){t.setUTCSeconds(0,0)}),(function(t,n){t.setTime(+t+6e4*n)}),(function(t,n){return(n-t)/6e4}),(function(t){return t.getUTCMinutes()})),qn=Nn((function(t){t.setUTCMinutes(0,0,0)}),(function(t,n){t.setTime(+t+36e5*n)}),(function(t,n){return(n-t)/36e5}),(function(t){return t.getUTCHours()})),zn=Nn((function(t){t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCDate(t.getUTCDate()+n)}),(function(t,n){return(n-t)/864e5}),(function(t){return t.getUTCDate()-1}));function jn(t){return Nn((function(n){n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-t)%7),n.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCDate(t.getUTCDate()+7*n)}),(function(t,n){return(n-t)/6048e5}))}var On=jn(0),Zn=jn(1),In=(jn(2),jn(3),jn(4)),$n=(jn(5),jn(6),Nn((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCMonth(t.getUTCMonth()+n)}),(function(t,n){return n.getUTCMonth()-t.getUTCMonth()+12*(n.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()}))),Vn=Nn((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n)}),(function(t,n){return n.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));function Bn(t){if(0<=t.y&&t.y<100){var n=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return n.setFullYear(t.y),n}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Xn(t){if(0<=t.y&&t.y<100){var n=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return n.setUTCFullYear(t.y),n}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Wn(t,n,e){return{y:t,m:n,d:e,H:0,M:0,S:0,L:0}}Vn.every=function(t){return isFinite(t=Math.floor(t))&&t>0?Nn((function(n){n.setUTCFullYear(Math.floor(n.getUTCFullYear()/t)*t),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)}),(function(n,e){n.setUTCFullYear(n.getUTCFullYear()+e*t)})):null};var Qn,Jn,Gn,Kn={\"-\":\"\",_:\" \",0:\"0\"},te=/^\\s*\\d+/,ne=/^%/,ee=/[\\\\^$*+?|[\\]().{}]/g;function ie(t,n,e){var i=t<0?\"-\":\"\",r=(i?-t:t)+\"\",o=r.length;return i+(o<e?new Array(e-o+1).join(n)+r:r)}function re(t){return t.replace(ee,\"\\\\$&\")}function oe(t){return new RegExp(\"^(?:\"+t.map(re).join(\"|\")+\")\",\"i\")}function se(t){for(var n={},e=-1,i=t.length;++e<i;)n[t[e].toLowerCase()]=e;return n}function ue(t,n,e){var i=te.exec(n.slice(e,e+1));return i?(t.w=+i[0],e+i[0].length):-1}function ae(t,n,e){var i=te.exec(n.slice(e,e+1));return i?(t.u=+i[0],e+i[0].length):-1}function he(t,n,e){var i=te.exec(n.slice(e,e+2));return i?(t.U=+i[0],e+i[0].length):-1}function ce(t,n,e){var i=te.exec(n.slice(e,e+2));return i?(t.V=+i[0],e+i[0].length):-1}function le(t,n,e){var i=te.exec(n.slice(e,e+2));return i?(t.W=+i[0],e+i[0].length):-1}function fe(t,n,e){var i=te.exec(n.slice(e,e+4));return i?(t.y=+i[0],e+i[0].length):-1}function _e(t,n,e){var i=te.exec(n.slice(e,e+2));return i?(t.y=+i[0]+(+i[0]>68?1900:2e3),e+i[0].length):-1}function ye(t,n,e){var i=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(n.slice(e,e+6));return i?(t.Z=i[1]?0:-(i[2]+(i[3]||\"00\")),e+i[0].length):-1}function ge(t,n,e){var i=te.exec(n.slice(e,e+1));return i?(t.q=3*i[0]-3,e+i[0].length):-1}function pe(t,n,e){var i=te.exec(n.slice(e,e+2));return i?(t.m=i[0]-1,e+i[0].length):-1}function xe(t,n,e){var i=te.exec(n.slice(e,e+2));return i?(t.d=+i[0],e+i[0].length):-1}function de(t,n,e){var i=te.exec(n.slice(e,e+3));return i?(t.m=0,t.d=+i[0],e+i[0].length):-1}function ve(t,n,e){var i=te.exec(n.slice(e,e+2));return i?(t.H=+i[0],e+i[0].length):-1}function me(t,n,e){var i=te.exec(n.slice(e,e+2));return i?(t.M=+i[0],e+i[0].length):-1}function Me(t,n,e){var i=te.exec(n.slice(e,e+2));return i?(t.S=+i[0],e+i[0].length):-1}function we(t,n,e){var i=te.exec(n.slice(e,e+3));return i?(t.L=+i[0],e+i[0].length):-1}function be(t,n,e){var i=te.exec(n.slice(e,e+6));return i?(t.L=Math.floor(i[0]/1e3),e+i[0].length):-1}function Te(t,n,e){var i=ne.exec(n.slice(e,e+1));return i?e+i[0].length:-1}function Ce(t,n,e){var i=te.exec(n.slice(e));return i?(t.Q=+i[0],e+i[0].length):-1}function Ne(t,n,e){var i=te.exec(n.slice(e));return i?(t.s=+i[0],e+i[0].length):-1}function ke(t,n){return ie(t.getDate(),n,2)}function Ue(t,n){return ie(t.getHours(),n,2)}function Se(t,n){return ie(t.getHours()%12||12,n,2)}function De(t,n){return ie(1+Ln.count(Yn(t),t),n,3)}function Le(t,n){return ie(t.getMilliseconds(),n,3)}function Ae(t,n){return Le(t,n)+\"000\"}function Re(t,n){return ie(t.getMonth()+1,n,2)}function Ee(t,n){return ie(t.getMinutes(),n,2)}function Pe(t,n){return ie(t.getSeconds(),n,2)}function Fe(t){var n=t.getDay();return 0===n?7:n}function Ye(t,n){return ie(Rn.count(Yn(t)-1,t),n,2)}function He(t,n){var e=t.getDay();return t=e>=4||0===e?Pn(t):Pn.ceil(t),ie(Pn.count(Yn(t),t)+(4===Yn(t).getDay()),n,2)}function qe(t){return t.getDay()}function ze(t,n){return ie(En.count(Yn(t)-1,t),n,2)}function je(t,n){return ie(t.getFullYear()%100,n,2)}function Oe(t,n){return ie(t.getFullYear()%1e4,n,4)}function Ze(t){var n=t.getTimezoneOffset();return(n>0?\"-\":(n*=-1,\"+\"))+ie(n/60|0,\"0\",2)+ie(n%60,\"0\",2)}function Ie(t,n){return ie(t.getUTCDate(),n,2)}function $e(t,n){return ie(t.getUTCHours(),n,2)}function Ve(t,n){return ie(t.getUTCHours()%12||12,n,2)}function Be(t,n){return ie(1+zn.count(Vn(t),t),n,3)}function Xe(t,n){return ie(t.getUTCMilliseconds(),n,3)}function We(t,n){return Xe(t,n)+\"000\"}function Qe(t,n){return ie(t.getUTCMonth()+1,n,2)}function Je(t,n){return ie(t.getUTCMinutes(),n,2)}function Ge(t,n){return ie(t.getUTCSeconds(),n,2)}function Ke(t){var n=t.getUTCDay();return 0===n?7:n}function ti(t,n){return ie(On.count(Vn(t)-1,t),n,2)}function ni(t,n){var e=t.getUTCDay();return t=e>=4||0===e?In(t):In.ceil(t),ie(In.count(Vn(t),t)+(4===Vn(t).getUTCDay()),n,2)}function ei(t){return t.getUTCDay()}function ii(t,n){return ie(Zn.count(Vn(t)-1,t),n,2)}function ri(t,n){return ie(t.getUTCFullYear()%100,n,2)}function oi(t,n){return ie(t.getUTCFullYear()%1e4,n,4)}function si(){return\"+0000\"}function ui(){return\"%\"}function ai(t){return+t}function hi(t){return Math.floor(+t/1e3)}!function(t){Qn=function(t){var n=t.dateTime,e=t.date,i=t.time,r=t.periods,o=t.days,s=t.shortDays,u=t.months,a=t.shortMonths,h=oe(r),c=se(r),l=oe(o),f=se(o),_=oe(s),y=se(s),g=oe(u),p=se(u),x=oe(a),d=se(a),v={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return a[t.getMonth()]},B:function(t){return u[t.getMonth()]},c:null,d:ke,e:ke,f:Ae,H:Ue,I:Se,j:De,L:Le,m:Re,M:Ee,p:function(t){return r[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:ai,s:hi,S:Pe,u:Fe,U:Ye,V:He,w:qe,W:ze,x:null,X:null,y:je,Y:Oe,Z:Ze,\"%\":ui},m={a:function(t){return s[t.getUTCDay()]},A:function(t){return o[t.getUTCDay()]},b:function(t){return a[t.getUTCMonth()]},B:function(t){return u[t.getUTCMonth()]},c:null,d:Ie,e:Ie,f:We,H:$e,I:Ve,j:Be,L:Xe,m:Qe,M:Je,p:function(t){return r[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:ai,s:hi,S:Ge,u:Ke,U:ti,V:ni,w:ei,W:ii,x:null,X:null,y:ri,Y:oi,Z:si,\"%\":ui},M={a:function(t,n,e){var i=_.exec(n.slice(e));return i?(t.w=y[i[0].toLowerCase()],e+i[0].length):-1},A:function(t,n,e){var i=l.exec(n.slice(e));return i?(t.w=f[i[0].toLowerCase()],e+i[0].length):-1},b:function(t,n,e){var i=x.exec(n.slice(e));return i?(t.m=d[i[0].toLowerCase()],e+i[0].length):-1},B:function(t,n,e){var i=g.exec(n.slice(e));return i?(t.m=p[i[0].toLowerCase()],e+i[0].length):-1},c:function(t,e,i){return T(t,n,e,i)},d:xe,e:xe,f:be,H:ve,I:ve,j:de,L:we,m:pe,M:me,p:function(t,n,e){var i=h.exec(n.slice(e));return i?(t.p=c[i[0].toLowerCase()],e+i[0].length):-1},q:ge,Q:Ce,s:Ne,S:Me,u:ae,U:he,V:ce,w:ue,W:le,x:function(t,n,i){return T(t,e,n,i)},X:function(t,n,e){return T(t,i,n,e)},y:_e,Y:fe,Z:ye,\"%\":Te};function w(t,n){return function(e){var i,r,o,s=[],u=-1,a=0,h=t.length;for(e instanceof Date||(e=new Date(+e));++u<h;)37===t.charCodeAt(u)&&(s.push(t.slice(a,u)),null!=(r=Kn[i=t.charAt(++u)])?i=t.charAt(++u):r=\"e\"===i?\" \":\"0\",(o=n[i])&&(i=o(e,r)),s.push(i),a=u+1);return s.push(t.slice(a,u)),s.join(\"\")}}function b(t,n){return function(e){var i,r,o=Wn(1900,void 0,1);if(T(o,t,e+=\"\",0)!=e.length)return null;if(\"Q\"in o)return new Date(o.Q);if(\"s\"in o)return new Date(1e3*o.s+(\"L\"in o?o.L:0));if(n&&!(\"Z\"in o)&&(o.Z=0),\"p\"in o&&(o.H=o.H%12+12*o.p),void 0===o.m&&(o.m=\"q\"in o?o.q:0),\"V\"in o){if(o.V<1||o.V>53)return null;\"w\"in o||(o.w=1),\"Z\"in o?(r=(i=Xn(Wn(o.y,0,1))).getUTCDay(),i=r>4||0===r?Zn.ceil(i):Zn(i),i=zn.offset(i,7*(o.V-1)),o.y=i.getUTCFullYear(),o.m=i.getUTCMonth(),o.d=i.getUTCDate()+(o.w+6)%7):(r=(i=Bn(Wn(o.y,0,1))).getDay(),i=r>4||0===r?En.ceil(i):En(i),i=Ln.offset(i,7*(o.V-1)),o.y=i.getFullYear(),o.m=i.getMonth(),o.d=i.getDate()+(o.w+6)%7)}else(\"W\"in o||\"U\"in o)&&(\"w\"in o||(o.w=\"u\"in o?o.u%7:\"W\"in o?1:0),r=\"Z\"in o?Xn(Wn(o.y,0,1)).getUTCDay():Bn(Wn(o.y,0,1)).getDay(),o.m=0,o.d=\"W\"in o?(o.w+6)%7+7*o.W-(r+5)%7:o.w+7*o.U-(r+6)%7);return\"Z\"in o?(o.H+=o.Z/100|0,o.M+=o.Z%100,Xn(o)):Bn(o)}}function T(t,n,e,i){for(var r,o,s=0,u=n.length,a=e.length;s<u;){if(i>=a)return-1;if(37===(r=n.charCodeAt(s++))){if(r=n.charAt(s++),!(o=M[r in Kn?n.charAt(s++):r])||(i=o(t,e,i))<0)return-1}else if(r!=e.charCodeAt(i++))return-1}return i}return v.x=w(e,v),v.X=w(i,v),v.c=w(n,v),m.x=w(e,m),m.X=w(i,m),m.c=w(n,m),{format:function(t){var n=w(t+=\"\",v);return n.toString=function(){return t},n},parse:function(t){var n=b(t+=\"\",!1);return n.toString=function(){return t},n},utcFormat:function(t){var n=w(t+=\"\",m);return n.toString=function(){return t},n},utcParse:function(t){var n=b(t+=\"\",!0);return n.toString=function(){return t},n}}}(t),Jn=Qn.format,Qn.parse,Gn=Qn.utcFormat,Qn.utcParse}({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});function ci(t){return new Date(t)}function li(t){return t instanceof Date?+t:+new Date(+t)}function fi(t,n,e,i,r,o,s,u,a){var h=Wt(),c=h.invert,l=h.domain,f=a(\".%L\"),_=a(\":%S\"),y=a(\"%I:%M\"),g=a(\"%I %p\"),p=a(\"%a %d\"),x=a(\"%b %d\"),d=a(\"%B\"),v=a(\"%Y\"),m=[[s,1,1e3],[s,5,5e3],[s,15,15e3],[s,30,3e4],[o,1,6e4],[o,5,3e5],[o,15,9e5],[o,30,18e5],[r,1,36e5],[r,3,108e5],[r,6,216e5],[r,12,432e5],[i,1,864e5],[i,2,1728e5],[e,1,6048e5],[n,1,2592e6],[n,3,7776e6],[t,1,31536e6]];function M(u){return(s(u)<u?f:o(u)<u?_:r(u)<u?y:i(u)<u?g:n(u)<u?e(u)<u?p:x:t(u)<u?d:v)(u)}function w(n,e,i){if(null==n&&(n=10),\"number\"==typeof n){var r,o=Math.abs(i-e)/n,s=q((function(t){return t[2]})).right(m,o);return s===m.length?(r=B(e/31536e6,i/31536e6,n),n=t):s?(r=(s=m[o/m[s-1][2]<m[s][2]/o?s-1:s])[1],n=s[0]):(r=Math.max(B(e,i,n),1),n=u),n.every(r)}return n}return h.invert=function(t){return new Date(c(t))},h.domain=function(t){return arguments.length?l(Array.from(t,li)):l().map(ci)},h.ticks=function(t){var n,e=l(),i=e[0],r=e[e.length-1],o=r<i;return o&&(n=i,i=r,r=n),n=(n=w(t,i,r))?n.range(i,r+1):[],o?n.reverse():n},h.tickFormat=function(t,n){return null==n?M:a(n)},h.nice=function(t){var n=l();return(t=w(t,n[0],n[n.length-1]))?l(gn(n,t)):h},h.copy=function(){return Bt(h,fi(t,n,e,i,r,o,s,u,a))},h}function _i(){return X.apply(fi(Yn,Fn,Rn,Ln,Dn,Sn,Un,kn,Jn).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function yi(){return X.apply(fi(Vn,$n,On,zn,qn,Hn,Un,kn,Gn).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}var gi=Math.PI,pi=2*gi,xi=pi-1e-6;function di(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function vi(){return new di}function mi(t){return function(){return t}}di.prototype=vi.prototype={constructor:di,moveTo:function(t,n){this._+=\"M\"+(this._x0=this._x1=+t)+\",\"+(this._y0=this._y1=+n)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(t,n){this._+=\"L\"+(this._x1=+t)+\",\"+(this._y1=+n)},quadraticCurveTo:function(t,n,e,i){this._+=\"Q\"+ +t+\",\"+ +n+\",\"+(this._x1=+e)+\",\"+(this._y1=+i)},bezierCurveTo:function(t,n,e,i,r,o){this._+=\"C\"+ +t+\",\"+ +n+\",\"+ +e+\",\"+ +i+\",\"+(this._x1=+r)+\",\"+(this._y1=+o)},arcTo:function(t,n,e,i,r){t=+t,n=+n,e=+e,i=+i,r=+r;var o=this._x1,s=this._y1,u=e-t,a=i-n,h=o-t,c=s-n,l=h*h+c*c;if(r<0)throw new Error(\"negative radius: \"+r);if(null===this._x1)this._+=\"M\"+(this._x1=t)+\",\"+(this._y1=n);else if(l>1e-6)if(Math.abs(c*u-a*h)>1e-6&&r){var f=e-o,_=i-s,y=u*u+a*a,g=f*f+_*_,p=Math.sqrt(y),x=Math.sqrt(l),d=r*Math.tan((gi-Math.acos((y+l-g)/(2*p*x)))/2),v=d/x,m=d/p;Math.abs(v-1)>1e-6&&(this._+=\"L\"+(t+v*h)+\",\"+(n+v*c)),this._+=\"A\"+r+\",\"+r+\",0,0,\"+ +(c*f>h*_)+\",\"+(this._x1=t+m*u)+\",\"+(this._y1=n+m*a)}else this._+=\"L\"+(this._x1=t)+\",\"+(this._y1=n);else;},arc:function(t,n,e,i,r,o){t=+t,n=+n,o=!!o;var s=(e=+e)*Math.cos(i),u=e*Math.sin(i),a=t+s,h=n+u,c=1^o,l=o?i-r:r-i;if(e<0)throw new Error(\"negative radius: \"+e);null===this._x1?this._+=\"M\"+a+\",\"+h:(Math.abs(this._x1-a)>1e-6||Math.abs(this._y1-h)>1e-6)&&(this._+=\"L\"+a+\",\"+h),e&&(l<0&&(l=l%pi+pi),l>xi?this._+=\"A\"+e+\",\"+e+\",0,1,\"+c+\",\"+(t-s)+\",\"+(n-u)+\"A\"+e+\",\"+e+\",0,1,\"+c+\",\"+(this._x1=a)+\",\"+(this._y1=h):l>1e-6&&(this._+=\"A\"+e+\",\"+e+\",0,\"+ +(l>=gi)+\",\"+c+\",\"+(this._x1=t+e*Math.cos(r))+\",\"+(this._y1=n+e*Math.sin(r))))},rect:function(t,n,e,i){this._+=\"M\"+(this._x0=this._x1=+t)+\",\"+(this._y0=this._y1=+n)+\"h\"+ +e+\"v\"+ +i+\"h\"+-e+\"Z\"},toString:function(){return this._}};var Mi=Math.abs,wi=Math.atan2,bi=Math.cos,Ti=Math.max,Ci=Math.min,Ni=Math.sin,ki=Math.sqrt,Ui=Math.PI,Si=Ui/2,Di=2*Ui;function Li(t){return t>1?0:t<-1?Ui:Math.acos(t)}function Ai(t){return t>=1?Si:t<=-1?-Si:Math.asin(t)}function Ri(t){return t.innerRadius}function Ei(t){return t.outerRadius}function Pi(t){return t.startAngle}function Fi(t){return t.endAngle}function Yi(t){return t&&t.padAngle}function Hi(t,n,e,i,r,o,s,u){var a=e-t,h=i-n,c=s-r,l=u-o,f=l*a-c*h;if(!(f*f<1e-12))return[t+(f=(c*(n-o)-l*(t-r))/f)*a,n+f*h]}function qi(t,n,e,i,r,o,s){var u=t-e,a=n-i,h=(s?o:-o)/ki(u*u+a*a),c=h*a,l=-h*u,f=t+c,_=n+l,y=e+c,g=i+l,p=(f+y)/2,x=(_+g)/2,d=y-f,v=g-_,m=d*d+v*v,M=r-o,w=f*g-y*_,b=(v<0?-1:1)*ki(Ti(0,M*M*m-w*w)),T=(w*v-d*b)/m,C=(-w*d-v*b)/m,N=(w*v+d*b)/m,k=(-w*d+v*b)/m,U=T-p,S=C-x,D=N-p,L=k-x;return U*U+S*S>D*D+L*L&&(T=N,C=k),{cx:T,cy:C,x01:-c,y01:-l,x11:T*(r/M-1),y11:C*(r/M-1)}}function zi(){var t=Ri,n=Ei,e=mi(0),i=null,r=Pi,o=Fi,s=Yi,u=null;function a(){var a,h,c=+t.apply(this,arguments),l=+n.apply(this,arguments),f=r.apply(this,arguments)-Si,_=o.apply(this,arguments)-Si,y=Mi(_-f),g=_>f;if(u||(u=a=vi()),l<c&&(h=l,l=c,c=h),l>1e-12)if(y>Di-1e-12)u.moveTo(l*bi(f),l*Ni(f)),u.arc(0,0,l,f,_,!g),c>1e-12&&(u.moveTo(c*bi(_),c*Ni(_)),u.arc(0,0,c,_,f,g));else{var p,x,d=f,v=_,m=f,M=_,w=y,b=y,T=s.apply(this,arguments)/2,C=T>1e-12&&(i?+i.apply(this,arguments):ki(c*c+l*l)),N=Ci(Mi(l-c)/2,+e.apply(this,arguments)),k=N,U=N;if(C>1e-12){var S=Ai(C/c*Ni(T)),D=Ai(C/l*Ni(T));(w-=2*S)>1e-12?(m+=S*=g?1:-1,M-=S):(w=0,m=M=(f+_)/2),(b-=2*D)>1e-12?(d+=D*=g?1:-1,v-=D):(b=0,d=v=(f+_)/2)}var L=l*bi(d),A=l*Ni(d),R=c*bi(M),E=c*Ni(M);if(N>1e-12){var P,F=l*bi(v),Y=l*Ni(v),H=c*bi(m),q=c*Ni(m);if(y<Ui&&(P=Hi(L,A,H,q,F,Y,R,E))){var z=L-P[0],j=A-P[1],O=F-P[0],Z=Y-P[1],I=1/Ni(Li((z*O+j*Z)/(ki(z*z+j*j)*ki(O*O+Z*Z)))/2),$=ki(P[0]*P[0]+P[1]*P[1]);k=Ci(N,(c-$)/(I-1)),U=Ci(N,(l-$)/(I+1))}}b>1e-12?U>1e-12?(p=qi(H,q,L,A,l,U,g),x=qi(F,Y,R,E,l,U,g),u.moveTo(p.cx+p.x01,p.cy+p.y01),U<N?u.arc(p.cx,p.cy,U,wi(p.y01,p.x01),wi(x.y01,x.x01),!g):(u.arc(p.cx,p.cy,U,wi(p.y01,p.x01),wi(p.y11,p.x11),!g),u.arc(0,0,l,wi(p.cy+p.y11,p.cx+p.x11),wi(x.cy+x.y11,x.cx+x.x11),!g),u.arc(x.cx,x.cy,U,wi(x.y11,x.x11),wi(x.y01,x.x01),!g))):(u.moveTo(L,A),u.arc(0,0,l,d,v,!g)):u.moveTo(L,A),c>1e-12&&w>1e-12?k>1e-12?(p=qi(R,E,F,Y,c,-k,g),x=qi(L,A,H,q,c,-k,g),u.lineTo(p.cx+p.x01,p.cy+p.y01),k<N?u.arc(p.cx,p.cy,k,wi(p.y01,p.x01),wi(x.y01,x.x01),!g):(u.arc(p.cx,p.cy,k,wi(p.y01,p.x01),wi(p.y11,p.x11),!g),u.arc(0,0,c,wi(p.cy+p.y11,p.cx+p.x11),wi(x.cy+x.y11,x.cx+x.x11),g),u.arc(x.cx,x.cy,k,wi(x.y11,x.x11),wi(x.y01,x.x01),!g))):u.arc(0,0,c,M,m,g):u.lineTo(R,E)}else u.moveTo(0,0);if(u.closePath(),a)return u=null,a+\"\"||null}return a.centroid=function(){var e=(+t.apply(this,arguments)+ +n.apply(this,arguments))/2,i=(+r.apply(this,arguments)+ +o.apply(this,arguments))/2-Ui/2;return[bi(i)*e,Ni(i)*e]},a.innerRadius=function(n){return arguments.length?(t=\"function\"==typeof n?n:mi(+n),a):t},a.outerRadius=function(t){return arguments.length?(n=\"function\"==typeof t?t:mi(+t),a):n},a.cornerRadius=function(t){return arguments.length?(e=\"function\"==typeof t?t:mi(+t),a):e},a.padRadius=function(t){return arguments.length?(i=null==t?null:\"function\"==typeof t?t:mi(+t),a):i},a.startAngle=function(t){return arguments.length?(r=\"function\"==typeof t?t:mi(+t),a):r},a.endAngle=function(t){return arguments.length?(o=\"function\"==typeof t?t:mi(+t),a):o},a.padAngle=function(t){return arguments.length?(s=\"function\"==typeof t?t:mi(+t),a):s},a.context=function(t){return arguments.length?(u=null==t?null:t,a):u},a}function ji(t){this._context=t}function Oi(t){return new ji(t)}function Zi(t){return t[0]}function Ii(t){return t[1]}function $i(){var t=Zi,n=Ii,e=mi(!0),i=null,r=Oi,o=null;function s(s){var u,a,h,c=s.length,l=!1;for(null==i&&(o=r(h=vi())),u=0;u<=c;++u)!(u<c&&e(a=s[u],u,s))===l&&((l=!l)?o.lineStart():o.lineEnd()),l&&o.point(+t(a,u,s),+n(a,u,s));if(h)return o=null,h+\"\"||null}return s.x=function(n){return arguments.length?(t=\"function\"==typeof n?n:mi(+n),s):t},s.y=function(t){return arguments.length?(n=\"function\"==typeof t?t:mi(+t),s):n},s.defined=function(t){return arguments.length?(e=\"function\"==typeof t?t:mi(!!t),s):e},s.curve=function(t){return arguments.length?(r=t,null!=i&&(o=r(i)),s):r},s.context=function(t){return arguments.length?(null==t?i=o=null:o=r(i=t),s):i},s}function Vi(){var t=Zi,n=null,e=mi(0),i=Ii,r=mi(!0),o=null,s=Oi,u=null;function a(a){var h,c,l,f,_,y=a.length,g=!1,p=new Array(y),x=new Array(y);for(null==o&&(u=s(_=vi())),h=0;h<=y;++h){if(!(h<y&&r(f=a[h],h,a))===g)if(g=!g)c=h,u.areaStart(),u.lineStart();else{for(u.lineEnd(),u.lineStart(),l=h-1;l>=c;--l)u.point(p[l],x[l]);u.lineEnd(),u.areaEnd()}g&&(p[h]=+t(f,h,a),x[h]=+e(f,h,a),u.point(n?+n(f,h,a):p[h],i?+i(f,h,a):x[h]))}if(_)return u=null,_+\"\"||null}function h(){return $i().defined(r).curve(s).context(o)}return a.x=function(e){return arguments.length?(t=\"function\"==typeof e?e:mi(+e),n=null,a):t},a.x0=function(n){return arguments.length?(t=\"function\"==typeof n?n:mi(+n),a):t},a.x1=function(t){return arguments.length?(n=null==t?null:\"function\"==typeof t?t:mi(+t),a):n},a.y=function(t){return arguments.length?(e=\"function\"==typeof t?t:mi(+t),i=null,a):e},a.y0=function(t){return arguments.length?(e=\"function\"==typeof t?t:mi(+t),a):e},a.y1=function(t){return arguments.length?(i=null==t?null:\"function\"==typeof t?t:mi(+t),a):i},a.lineX0=a.lineY0=function(){return h().x(t).y(e)},a.lineY1=function(){return h().x(t).y(i)},a.lineX1=function(){return h().x(n).y(e)},a.defined=function(t){return arguments.length?(r=\"function\"==typeof t?t:mi(!!t),a):r},a.curve=function(t){return arguments.length?(s=t,null!=o&&(u=s(o)),a):s},a.context=function(t){return arguments.length?(null==t?o=u=null:u=s(o=t),a):o},a}function Bi(t,n){return n<t?-1:n>t?1:n>=t?0:NaN}function Xi(t){return t}function Wi(){var t=Xi,n=Bi,e=null,i=mi(0),r=mi(Di),o=mi(0);function s(s){var u,a,h,c,l,f=s.length,_=0,y=new Array(f),g=new Array(f),p=+i.apply(this,arguments),x=Math.min(Di,Math.max(-Di,r.apply(this,arguments)-p)),d=Math.min(Math.abs(x)/f,o.apply(this,arguments)),v=d*(x<0?-1:1);for(u=0;u<f;++u)(l=g[y[u]=u]=+t(s[u],u,s))>0&&(_+=l);for(null!=n?y.sort((function(t,e){return n(g[t],g[e])})):null!=e&&y.sort((function(t,n){return e(s[t],s[n])})),u=0,h=_?(x-f*v)/_:0;u<f;++u,p=c)a=y[u],c=p+((l=g[a])>0?l*h:0)+v,g[a]={data:s[a],index:u,value:l,startAngle:p,endAngle:c,padAngle:d};return g}return s.value=function(n){return arguments.length?(t=\"function\"==typeof n?n:mi(+n),s):t},s.sortValues=function(t){return arguments.length?(n=t,e=null,s):n},s.sort=function(t){return arguments.length?(e=t,n=null,s):e},s.startAngle=function(t){return arguments.length?(i=\"function\"==typeof t?t:mi(+t),s):i},s.endAngle=function(t){return arguments.length?(r=\"function\"==typeof t?t:mi(+t),s):r},s.padAngle=function(t){return arguments.length?(o=\"function\"==typeof t?t:mi(+t),s):o},s}function Qi(){}function Ji(t,n,e){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+n)/6,(t._y0+4*t._y1+e)/6)}function Gi(t){this._context=t}function Ki(t){return new Gi(t)}function tr(t){this._context=t}function nr(t){return new tr(t)}function er(t){this._context=t}function ir(t){return new er(t)}function rr(t,n){this._basis=new Gi(t),this._beta=n}ji.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:this._context.lineTo(t,n)}}},Gi.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Ji(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Ji(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},tr.prototype={areaStart:Qi,areaEnd:Qi,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x2=t,this._y2=n;break;case 1:this._point=2,this._x3=t,this._y3=n;break;case 2:this._point=3,this._x4=t,this._y4=n,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+n)/6);break;default:Ji(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},er.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var e=(this._x0+4*this._x1+t)/6,i=(this._y0+4*this._y1+n)/6;this._line?this._context.lineTo(e,i):this._context.moveTo(e,i);break;case 3:this._point=4;default:Ji(this,t,n)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n}},rr.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,n=this._y,e=t.length-1;if(e>0)for(var i,r=t[0],o=n[0],s=t[e]-r,u=n[e]-o,a=-1;++a<=e;)i=a/e,this._basis.point(this._beta*t[a]+(1-this._beta)*(r+i*s),this._beta*n[a]+(1-this._beta)*(o+i*u));this._x=this._y=null,this._basis.lineEnd()},point:function(t,n){this._x.push(+t),this._y.push(+n)}};var or=function t(n){function e(t){return 1===n?new Gi(t):new rr(t,n)}return e.beta=function(n){return t(+n)},e}(.85);function sr(t,n,e){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-n),t._y2+t._k*(t._y1-e),t._x2,t._y2)}function ur(t,n){this._context=t,this._k=(1-n)/6}ur.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:sr(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2,this._x1=t,this._y1=n;break;case 2:this._point=3;default:sr(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var ar=function t(n){function e(t){return new ur(t,n)}return e.tension=function(n){return t(+n)},e}(0);function hr(t,n){this._context=t,this._k=(1-n)/6}hr.prototype={areaStart:Qi,areaEnd:Qi,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:sr(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var cr=function t(n){function e(t){return new hr(t,n)}return e.tension=function(n){return t(+n)},e}(0);function lr(t,n){this._context=t,this._k=(1-n)/6}lr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:sr(this,t,n)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var fr=function t(n){function e(t){return new lr(t,n)}return e.tension=function(n){return t(+n)},e}(0);function _r(t,n,e){var i=t._x1,r=t._y1,o=t._x2,s=t._y2;if(t._l01_a>1e-12){var u=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,a=3*t._l01_a*(t._l01_a+t._l12_a);i=(i*u-t._x0*t._l12_2a+t._x2*t._l01_2a)/a,r=(r*u-t._y0*t._l12_2a+t._y2*t._l01_2a)/a}if(t._l23_a>1e-12){var h=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);o=(o*h+t._x1*t._l23_2a-n*t._l12_2a)/c,s=(s*h+t._y1*t._l23_2a-e*t._l12_2a)/c}t._context.bezierCurveTo(i,r,o,s,t._x2,t._y2)}function yr(t,n){this._context=t,this._alpha=n}yr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,i=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3;default:_r(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var gr=function t(n){function e(t){return n?new yr(t,n):new ur(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function pr(t,n){this._context=t,this._alpha=n}pr.prototype={areaStart:Qi,areaEnd:Qi,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,i=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=n);break;case 2:this._point=3,this._x5=t,this._y5=n;break;default:_r(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var xr=function t(n){function e(t){return n?new pr(t,n):new hr(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function dr(t,n){this._context=t,this._alpha=n}dr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){if(t=+t,n=+n,this._point){var e=this._x2-t,i=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(e*e+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:_r(this,t,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=n}};var vr=function t(n){function e(t){return n?new dr(t,n):new lr(t,0)}return e.alpha=function(n){return t(+n)},e}(.5);function mr(t){this._context=t}function Mr(t){return new mr(t)}function wr(t){return t<0?-1:1}function br(t,n,e){var i=t._x1-t._x0,r=n-t._x1,o=(t._y1-t._y0)/(i||r<0&&-0),s=(e-t._y1)/(r||i<0&&-0),u=(o*r+s*i)/(i+r);return(wr(o)+wr(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(u))||0}function Tr(t,n){var e=t._x1-t._x0;return e?(3*(t._y1-t._y0)/e-n)/2:n}function Cr(t,n,e){var i=t._x0,r=t._y0,o=t._x1,s=t._y1,u=(o-i)/3;t._context.bezierCurveTo(i+u,r+u*n,o-u,s-u*e,o,s)}function Nr(t){this._context=t}function kr(t){this._context=new Ur(t)}function Ur(t){this._context=t}function Sr(t){return new Nr(t)}function Dr(t){return new kr(t)}function Lr(t){this._context=t}function Ar(t){var n,e,i=t.length-1,r=new Array(i),o=new Array(i),s=new Array(i);for(r[0]=0,o[0]=2,s[0]=t[0]+2*t[1],n=1;n<i-1;++n)r[n]=1,o[n]=4,s[n]=4*t[n]+2*t[n+1];for(r[i-1]=2,o[i-1]=7,s[i-1]=8*t[i-1]+t[i],n=1;n<i;++n)e=r[n]/o[n-1],o[n]-=e,s[n]-=e*s[n-1];for(r[i-1]=s[i-1]/o[i-1],n=i-2;n>=0;--n)r[n]=(s[n]-r[n+1])/o[n];for(o[i-1]=(t[i]+r[i-1])/2,n=0;n<i-1;++n)o[n]=2*t[n+1]-r[n+1];return[r,o]}function Rr(t){return new Lr(t)}function Er(t,n){this._context=t,this._t=n}function Pr(t){return new Er(t,.5)}function Fr(t){return new Er(t,0)}function Yr(t){return new Er(t,1)}mr.prototype={areaStart:Qi,areaEnd:Qi,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,n){t=+t,n=+n,this._point?this._context.lineTo(t,n):(this._point=1,this._context.moveTo(t,n))}},Nr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Cr(this,this._t0,Tr(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,n){var e=NaN;if(n=+n,(t=+t)!==this._x1||n!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;break;case 2:this._point=3,Cr(this,Tr(this,e=br(this,t,n)),e);break;default:Cr(this,this._t0,e=br(this,t,n))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=n,this._t0=e}}},(kr.prototype=Object.create(Nr.prototype)).point=function(t,n){Nr.prototype.point.call(this,n,t)},Ur.prototype={moveTo:function(t,n){this._context.moveTo(n,t)},closePath:function(){this._context.closePath()},lineTo:function(t,n){this._context.lineTo(n,t)},bezierCurveTo:function(t,n,e,i,r,o){this._context.bezierCurveTo(n,t,i,e,o,r)}},Lr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,n=this._y,e=t.length;if(e)if(this._line?this._context.lineTo(t[0],n[0]):this._context.moveTo(t[0],n[0]),2===e)this._context.lineTo(t[1],n[1]);else for(var i=Ar(t),r=Ar(n),o=0,s=1;s<e;++o,++s)this._context.bezierCurveTo(i[0][o],r[0][o],i[1][o],r[1][o],t[s],n[s]);(this._line||0!==this._line&&1===e)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,n){this._x.push(+t),this._y.push(+n)}},Er.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,n){switch(t=+t,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(t,n);else{var e=this._x*(1-this._t)+t*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,n)}}this._x=t,this._y=n}};export{zi as arc,Vi as area,Ki as curveBasis,nr as curveBasisClosed,ir as curveBasisOpen,or as curveBundle,ar as curveCardinal,cr as curveCardinalClosed,fr as curveCardinalOpen,gr as curveCatmullRom,xr as curveCatmullRomClosed,vr as curveCatmullRomOpen,Oi as curveLinear,Mr as curveLinearClosed,Sr as curveMonotoneX,Dr as curveMonotoneY,Rr as curveNatural,Pr as curveStep,Yr as curveStepAfter,Fr as curveStepBefore,$i as line,Wi as pie,J as scaleBand,yn as scaleLinear,bn as scaleLog,_i as scaleTime,yi as scaleUtc,Y as voronoi};\n","import React from \"react\";\n//\n\nconst defaultStyle = {\n  strokeWidth: 2,\n  stroke: \"#6b6b6b\",\n  fill: \"transparent\",\n  opacity: 1\n};\n\nexport default function Path({ style, ...rest }) {\n  const resolvedStyle = {\n    ...defaultStyle,\n    ...style\n  };\n\n  return <path {...rest} style={resolvedStyle} />;\n}\n","import React from 'react'\nimport { voronoi, line } from '../d3'\n//\nimport ChartContext from '../utils/ChartContext'\nimport Path from '../primitives/Path'\n// import Utils from '../utils/Utils'\n\nconst lineFn = line()\n\nconst VoronoiElement = ({ children, ...rest }) => (\n  <g className=\"Voronoi\" {...rest}>\n    {children}\n  </g>\n)\n\nexport default function Voronoi() {\n  const [\n    {\n      // type,\n      stackData,\n      primaryAxes,\n      secondaryAxes,\n      showVoronoi,\n      width,\n      height,\n      gridWidth,\n      gridHeight,\n      onFocus,\n      onClick,\n      tooltip,\n      primaryCursor,\n      secondaryCursor,\n    },\n    setChartState,\n  ] = React.useContext(ChartContext)\n\n  const onHover = React.useCallback(\n    datum => {\n      return setChartState(state => ({\n        ...state,\n        focused: datum,\n      }))\n    },\n    [setChartState]\n  )\n\n  const needsVoronoi =\n    onFocus || onClick || tooltip || primaryCursor || secondaryCursor\n\n  return React.useMemo(() => {\n    // Don't render until we have all dependencies\n    if (\n      !stackData ||\n      !primaryAxes.length ||\n      !secondaryAxes.length ||\n      !width ||\n      !height ||\n      !needsVoronoi\n    ) {\n      return null\n    }\n\n    const extent = [\n      [0, 0],\n      [gridWidth, gridHeight],\n    ]\n\n    // if (type === 'pie') {\n    //   const primaryAxis = primaryAxes[0]\n\n    //   return (\n    //     <VoronoiElement\n    //       style={{\n    //         transform: Utils.translate(primaryAxis.width /\n    //           2, primaryAxis.height / 2)\n    //       }}\n    //     >\n    //       {stackData.map(series => (\n    //         <React.Fragment key={series.index}>\n    //           {series.datums.map((datum, i) => {\n    //             const arc = makeArc()\n    //               .startAngle(datum.arcData.startAngle)\n    //               .endAngle(datum.arcData.endAngle)\n    //               .padAngle(0)\n    //               .padRadius(0)\n    //               .innerRadius(\n    //                 !series.index\n    //                   ? 0\n    //                   : datum.arcData.innerRadius -\n    //                       datum.arcData.seriesPaddingRadius / 2\n    //               )\n    //               .outerRadius(\n    //                 series.index === stackData.length - 1\n    //                   ? Math.max(primaryAxis.width, primaryAxis.height)\n    //                   : datum.arcData.outerRadius +\n    //                       datum.arcData.seriesPaddingRadius / 2\n    //               )\n    //               .cornerRadius(0)\n\n    //             return (\n    //               <Path\n    //                 key={i}\n    //                 d={arc()}\n    //                 className='action-voronoi'\n    //                 onMouseEnter={() => onHover([datum])}\n    //                 style={{\n    //                   fill: 'rgba(0,0,0,.2)',\n    //                   stroke: 'rgba(255,255,255,.5)',\n    //                   opacity: showVoronoi ? 1 : 0\n    //                 }}\n    //               />\n    //             )\n    //           })}\n    //         </React.Fragment>\n    //       ))}\n    //     </VoronoiElement>\n    //   )\n    // }\n\n    let vor\n    let polygons = null\n\n    const voronoiData = []\n    stackData.forEach(series => {\n      series.datums\n        .filter(d => d.defined)\n        .forEach(datum => {\n          datum.boundingPoints.forEach(boundingPoint => {\n            if (\n              typeof datum.x !== 'number' ||\n              typeof datum.y !== 'number' ||\n              Number.isNaN(datum.y) ||\n              Number.isNaN(datum.x)\n            ) {\n              return\n            }\n            voronoiData.push({\n              x: boundingPoint.x,\n              y: boundingPoint.y,\n              datum,\n            })\n          })\n        })\n    })\n\n    vor = voronoi()\n      .x(d => d.x)\n      .y(d => d.y)\n      .extent(extent)(voronoiData)\n\n    polygons = vor.polygons()\n\n    return (\n      <VoronoiElement>\n        {polygons.map((points, i) => {\n          const path = lineFn(points)\n          return (\n            <Path\n              key={i}\n              d={path}\n              className=\"action-voronoi\"\n              onMouseEnter={e => onHover(points.data.datum)}\n              onMouseLeave={e => onHover(null)}\n              style={{\n                fill: 'rgba(0,0,0,.2)',\n                stroke: 'rgba(255,255,255,.5)',\n                opacity: showVoronoi ? 1 : 0,\n              }}\n            />\n          )\n        })}\n      </VoronoiElement>\n    )\n  }, [\n    gridHeight,\n    gridWidth,\n    height,\n    onHover,\n    primaryAxes.length,\n    secondaryAxes.length,\n    showVoronoi,\n    stackData,\n    width,\n  ])\n}\n","import React from \"react\";\n//\n\nconst defaultStyle = {\n  strokeWidth: 1,\n  fill: \"transparent\",\n  opacity: 1\n};\n\nexport default class Line extends React.Component {\n  render() {\n    const { style, ...rest } = this.props;\n\n    const resolvedStyle = {\n      ...defaultStyle,\n      ...style\n    };\n\n    return <line {...rest} style={resolvedStyle} />;\n  }\n}\n","import React from \"react\";\n//\n\nconst defaultStyle = {\n  fontFamily: \"Helvetica\",\n  fontSize: 10,\n  opacity: 1\n};\n\nexport default function Text ({ style, opacity = 1, ...rest }) {\n  const resolvedStyle = {\n    ...defaultStyle,\n    ...style\n  };\n\n  return <text {...rest} style={resolvedStyle} />;\n}\n","import React from \"react\";\n\nexport default React.forwardRef(function Group(props, ref) {\n  return <g {...props} ref={ref} />;\n});\n","export const positionTop = \"top\";\nexport const positionRight = \"right\";\nexport const positionBottom = \"bottom\";\nexport const positionLeft = \"left\";\n\nexport const groupingSingle = \"single\";\nexport const groupingSeries = \"series\";\nexport const groupingPrimary = \"primary\";\nexport const groupingSecondary = \"secondary\";\n\nexport const alignAuto = \"auto\";\nexport const alignRight = \"right\";\nexport const alignTopRight = \"topRight\";\nexport const alignBottomRight = \"bottomRight\";\nexport const alignLeft = \"left\";\nexport const alignTopLeft = \"topLeft\";\nexport const alignBottomLeft = \"bottomLeft\";\nexport const alignTop = \"top\";\nexport const alignBottom = \"bottom\";\n\nexport const axisTypeOrdinal = \"ordinal\";\nexport const axisTypeTime = \"time\";\nexport const axisTypeUtc = \"utc\";\nexport const axisTypeLinear = \"linear\";\nexport const axisTypeLog = \"log\";\n\nexport const anchorPointer = \"pointer\";\nexport const anchorClosest = \"closest\";\nexport const anchorCenter = \"center\";\nexport const anchorTop = \"top\";\nexport const anchorBottom = \"bottom\";\nexport const anchorLeft = \"left\";\nexport const anchorRight = \"right\";\nexport const anchorGridTop = \"gridTop\";\nexport const anchorGridBottom = \"gridBottom\";\nexport const anchorGridLeft = \"gridLeft\";\nexport const anchorGridRight = \"gridRight\";\n\nexport const focusAuto = \"auto\";\nexport const focusClosest = \"closest\";\nexport const focusElement = \"element\";\n","import React from 'react'\n//\nimport ChartContext from '../utils/ChartContext'\nimport Utils from '../utils/Utils'\n\nimport usePrevious from '../hooks/usePrevious'\n\nimport Path from '../primitives/Path'\nimport Line from '../primitives/Line'\nimport Text from '../primitives/Text'\nimport Group from '../primitives/Group'\n\nimport {\n  positionTop,\n  positionRight,\n  positionBottom,\n  positionLeft,\n  axisTypeOrdinal,\n} from '../utils/Constants.js'\n\nconst defaultStyles = {\n  line: {\n    strokeWidth: '1',\n    fill: 'transparent',\n  },\n  tick: {\n    fontSize: 10,\n    fontFamily: 'sans-serif',\n  },\n}\n\nconst radiansToDegrees = r => r * (180 / Math.PI)\n\nexport default function AxisLinear({\n  id,\n  type,\n  position,\n  tickSizeInner,\n  tickSizeOuter,\n  show,\n  showGrid,\n  showTicks,\n  styles,\n  maxLabelRotation,\n  labelRotationStep,\n  tickPadding,\n  ticks,\n  tickCount,\n  minTickCount,\n  maxTickCount,\n  scale,\n  max: scaleMax,\n  transform,\n  vertical,\n  format,\n  range: [range0, range1],\n  directionMultiplier,\n  tickOffset,\n  gridOffset,\n  spacing,\n}) {\n  const [rotation, setRotation] = React.useState(0)\n  const [\n    { gridWidth, gridHeight, dark, axisDimensions },\n    setChartState,\n  ] = React.useContext(ChartContext)\n\n  const elRef = React.useRef()\n  const visibleLabelStepRef = React.useRef()\n\n  const measureDimensions = React.useCallback(() => {\n    if (!elRef.current) {\n      if (axisDimensions[position] && axisDimensions[position][id]) {\n        // If the entire axis is hidden, then we need to remove the axis dimensions\n        setChartState(state => {\n          const newAxes = state.axisDimensions[position] || {}\n          delete newAxes[id]\n          return {\n            ...state,\n            axisDimensions: {\n              ...state.axisDimensions,\n              [position]: newAxes,\n            },\n          }\n        })\n      }\n      return\n    }\n\n    const labelDims = Array(\n      ...elRef.current.querySelectorAll('.tickLabel')\n    ).map(el => {\n      const rect = el.getBoundingClientRect()\n      return {\n        width: rect.width,\n        height: rect.height,\n      }\n    })\n\n    let tickSpace = !vertical ? gridWidth : gridHeight\n    let calculatedTickCount = tickCount\n    let width = 0\n    let height = 0\n    let top = 0\n    let bottom = 0\n    let left = 0\n    let right = 0\n\n    let smallestTickGap = 100000 // This is just a ridiculously large tick spacing that would never happen (hopefully)\n\n    // First find the dimensions of each tick\n    const tickDims = Array(...elRef.current.querySelectorAll('.tick')).map(el =>\n      el.getBoundingClientRect()\n    )\n\n    // Then, determine the smallest gap in ticks on the axis\n    tickDims.reduce((prev, current) => {\n      if (prev) {\n        const gap = vertical ? current.top - prev.top : current.left - prev.left\n        smallestTickGap = gap < smallestTickGap ? gap : smallestTickGap\n      }\n      return current\n    }, false)\n\n    const firstLabelDim = labelDims[0] || { width: 0, height: 0 }\n    const lastLabelDim = labelDims[labelDims.length - 1] || {\n      width: 0,\n      height: 0,\n    }\n\n    // Then determine the largest label\n    let largestLabel = { ...firstLabelDim, _overflow: 0 }\n\n    // Determine the largest label on the axis\n    labelDims.forEach(labelDim => {\n      labelDim._overflow = !vertical\n        ? labelDim.width\n        : labelDim.height - smallestTickGap\n      if (\n        labelDim._overflow > 0 &&\n        labelDim._overflow > largestLabel._overflow\n      ) {\n        largestLabel = labelDim\n      }\n    })\n\n    const largestLabelSize = !vertical\n      ? largestLabel.width\n      : largestLabel.height\n\n    // We need to detect auto tick mode\n    if ((vertical || type !== 'ordinal') && tickCount === 'auto') {\n      // if it's on, determine how many ticks we could display if they were all flat\n      // How many ticks can we fit in the available axis space?\n      calculatedTickCount = Math.max(\n        minTickCount,\n        Math.min(\n          Math.floor(\n            (tickSpace + largestLabelSize - tickPadding) /\n              (largestLabelSize + tickPadding * 2)\n          ),\n          maxTickCount\n        )\n      )\n    } else if (!vertical) {\n      // Otherwise, if it's horizontal, then we need to determine axis rotation\n      // This is the raw mathematical rotation, using acosign and radians\n      // (some tricky stuff I found on some geomoetry forum. Can't remember where though)\n      let newRotation = Math.min(\n        Math.max(\n          Math.abs(\n            radiansToDegrees(\n              Math.acos(smallestTickGap / (largestLabel.width + tickPadding))\n            )\n          ),\n          0\n        ),\n        maxLabelRotation\n      )\n\n      // Make sure the rotation isn't NaN\n      newRotation = Number.isNaN(newRotation) ? 0 : newRotation\n\n      // Round the rotation to the nearest rotationStep\n      newRotation = Math.ceil(\n        Math.ceil(newRotation / labelRotationStep) * labelRotationStep\n      )\n\n      if (\n        newRotation === 0 ||\n        newRotation === maxLabelRotation ||\n        Math.abs(newRotation) - Math.abs(rotation) > 5\n      ) {\n        setRotation(() => (position === 'top' ? -newRotation : newRotation))\n      }\n    }\n\n    const newVisibleLabelStep = Math.ceil(tickPadding / smallestTickGap)\n\n    if (visibleLabelStepRef.current !== newVisibleLabelStep) {\n      visibleLabelStepRef.current = newVisibleLabelStep\n    }\n\n    if (!vertical) {\n      // Add width overflow from the first and last ticks\n      // const leftWidth = firstLabelDim.width\n      // const rightWidth = lastLabelDim.width\n      // if (rotation) {\n      //   right = tickPadding\n      //   left = Math.abs(Math.ceil(Math.cos(rotation) * leftWidth)) - barSize / 2\n      // } else {\n      //   left = Math.ceil(leftWidth / 2)\n      //   right = Math.ceil(rightWidth / 2)\n      // }\n      height =\n        Math.max(tickSizeInner, tickSizeOuter) + // Add tick size\n        tickPadding + // Add tick padding\n        // Add the height of the largest label\n        Math.max(0, ...labelDims.map(d => Math.ceil(d.height)))\n    } else {\n      // Add height overflow from the first and last ticks\n      top = Math.ceil(firstLabelDim.height / 2)\n      bottom = Math.ceil(lastLabelDim.height / 2)\n      width =\n        Math.max(tickSizeInner, tickSizeOuter) + // Add tick size\n        tickPadding + // Add tick padding\n        // Add the width of the largest label\n        Math.max(0, ...labelDims.map(d => Math.ceil(d.width)))\n    }\n\n    const newDimensions = {\n      width,\n      height,\n      top,\n      bottom,\n      left,\n      right,\n      tickCount: calculatedTickCount,\n    }\n\n    // Only update the axisDimensions if something has changed\n    if (\n      !axisDimensions ||\n      !axisDimensions[position] ||\n      !axisDimensions[position][id] ||\n      Object.keys(newDimensions).some(key => {\n        return newDimensions[key] !== axisDimensions[position][id][key]\n      })\n    ) {\n      setChartState(state => ({\n        ...state,\n        axisDimensions: {\n          ...state.axisDimensions,\n          [position]: {\n            ...(state.axisDimensions[position] || {}),\n            [id]: newDimensions,\n          },\n        },\n      }))\n    }\n  }, [\n    axisDimensions,\n    gridHeight,\n    gridWidth,\n    id,\n    labelRotationStep,\n    maxLabelRotation,\n    maxTickCount,\n    minTickCount,\n    position,\n    rotation,\n    setChartState,\n    tickCount,\n    tickPadding,\n    tickSizeInner,\n    tickSizeOuter,\n    type,\n    vertical,\n  ])\n\n  const previousRotation = usePrevious(rotation)\n\n  // Measure after if needed\n  React.useLayoutEffect(() => {\n    if (previousRotation === rotation) {\n      measureDimensions()\n    }\n  }, [\n    axisDimensions,\n    id,\n    measureDimensions,\n    position,\n    previousRotation,\n    rotation,\n  ])\n\n  // Measure after if needed\n  React.useEffect(() => {\n    if (previousRotation !== rotation) {\n      measureDimensions()\n    }\n  }, [\n    axisDimensions,\n    id,\n    measureDimensions,\n    position,\n    previousRotation,\n    rotation,\n  ])\n\n  // Not ready? Render null\n  if (!show) {\n    return null\n  }\n\n  let axisPath\n  if (vertical) {\n    if (position === positionLeft) {\n      axisPath = `\n        M ${-tickSizeOuter}, ${range0}\n        H 0\n        V ${range1}\n        H ${-tickSizeOuter}\n      `\n    } else {\n      axisPath = `\n        M ${tickSizeOuter}, ${range0}\n        H 0\n        V ${range1}\n        H ${tickSizeOuter}\n      `\n    }\n  } else if (position === positionBottom) {\n    axisPath = `\n        M 0, ${tickSizeOuter}\n        V 0\n        H ${range1}\n        V ${tickSizeOuter}\n      `\n  } else {\n    axisPath = `\n        M 0, ${-tickSizeOuter}\n        V 0\n        H ${range1}\n        V ${-tickSizeOuter}\n              `\n  }\n\n  let showGridLine\n  if (typeof showGrid === 'boolean') {\n    showGridLine = showGrid\n  } else if (type === axisTypeOrdinal) {\n    showGridLine = false\n  } else {\n    showGridLine = true\n  }\n\n  // Combine default styles with style props\n  const axisStyles = {\n    ...defaultStyles,\n    ...styles,\n  }\n\n  return (\n    <Group\n      ref={elRef}\n      className=\"Axis\"\n      style={{\n        pointerEvents: 'none',\n        transform:\n          position === positionRight\n            ? Utils.translateX(gridWidth)\n            : position === positionBottom\n            ? Utils.translateY(gridHeight)\n            : undefined,\n      }}\n    >\n      <Path\n        className=\"domain\"\n        d={axisPath}\n        style={{\n          stroke: dark ? 'rgba(255,255,255, .1)' : 'rgba(0,0,0, .1)',\n          ...axisStyles.line,\n        }}\n      />\n      <Group className=\"ticks\" style={{}}>\n        {ticks.map((tick, i) => (\n          <Group\n            key={[String(tick), i].join('_')}\n            className=\"tick\"\n            style={{\n              transform: transform(scale(tick) || 0),\n            }}\n          >\n            {/* Render the grid line */}\n            {showGridLine && (\n              <Line\n                className=\"gridLine\"\n                x1={vertical ? 0 : gridOffset}\n                x2={vertical ? scaleMax : gridOffset}\n                y1={vertical ? gridOffset : 0}\n                y2={vertical ? gridOffset : scaleMax}\n                style={{\n                  stroke: dark ? 'rgba(255,255,255, .1)' : 'rgba(0,0,0, .1)',\n                  strokeWidth: 1,\n                  ...axisStyles.line,\n                }}\n              />\n            )}\n            {/* Render the tick line  */}\n            {showTicks ? (\n              <g className=\"labelGroup\">\n                <Line\n                  className=\"tickline\"\n                  x1={vertical ? 0 : tickOffset}\n                  x2={\n                    vertical ? directionMultiplier * tickSizeInner : tickOffset\n                  }\n                  y1={vertical ? tickOffset : 0}\n                  y2={\n                    vertical ? tickOffset : directionMultiplier * tickSizeInner\n                  }\n                  style={{\n                    stroke: dark ? 'rgba(255,255,255, .1)' : 'rgba(0,0,0, .1)',\n                    strokeWidth: 1,\n                    ...axisStyles.line,\n                  }}\n                />\n                <Text\n                  className=\"tickLabel\"\n                  style={{\n                    fill: dark ? 'white' : 'black',\n                    ...axisStyles.tick,\n                    transform: `${Utils.translate(\n                      vertical ? directionMultiplier * spacing : tickOffset,\n                      vertical ? tickOffset : directionMultiplier * spacing\n                    )} rotate(${-rotation}deg)`,\n                  }}\n                  dominantBaseline={\n                    rotation\n                      ? 'central'\n                      : position === positionBottom\n                      ? 'hanging'\n                      : position === positionTop\n                      ? 'alphabetic'\n                      : 'central'\n                  }\n                  textAnchor={\n                    rotation\n                      ? 'end'\n                      : position === positionRight\n                      ? 'start'\n                      : position === positionLeft\n                      ? 'end'\n                      : 'middle'\n                  }\n                >\n                  {format(tick, i)}\n                </Text>\n              </g>\n            ) : null}\n          </Group>\n        ))}\n      </Group>\n    </Group>\n  )\n}\n","import React from 'react'\n//\nimport AxisLinear from './AxisLinear'\n\nexport default function Axis(props) {\n  return <AxisLinear {...props} />\n}\n","import React from \"react\";\n//\nimport ChartContext from \"../utils/ChartContext\";\nimport Utils from \"../utils/Utils\";\n//\n\nconst triangleSize = 7;\n\nconst getBackgroundColor = dark =>\n  dark ? \"rgba(255,255,255,.9)\" : \"rgba(0, 26, 39, 0.9)\";\n\nexport default function Tooltip() {\n  const [chartState] = React.useContext(ChartContext);\n\n  const {\n    primaryAxes,\n    secondaryAxes,\n    gridX,\n    gridY,\n    gridWidth,\n    gridHeight,\n    dark,\n    focused,\n    latestFocused,\n    getDatumStyle,\n    tooltip\n  } = chartState;\n\n  const elRef = React.useRef();\n  const tooltipElRef = React.useRef();\n  const previousShowRef = React.useRef();\n\n  const {\n    align,\n    alignPriority,\n    padding,\n    tooltipArrowPadding,\n    //\n    arrowPosition,\n    render,\n    anchor,\n    show\n  } = tooltip || {};\n\n  const [finalAlign, setFinalAlign] = React.useState(align || \"auto\");\n\n  React.useEffect(\n    () => {\n      previousShowRef.current = show;\n    },\n    [show]\n  );\n\n  React.useLayoutEffect(\n    () => {\n      if (align !== \"auto\" || !elRef.current || !show || !anchor) {\n        return;\n      }\n\n      const space = {\n        left: Infinity,\n        top: Infinity,\n        right: Infinity,\n        bottom: Infinity\n      };\n\n      let container = elRef.current;\n      const gridDims = container.getBoundingClientRect();\n      const tooltipDims = tooltipElRef.current.getBoundingClientRect();\n\n      while (container !== document.body) {\n        container = container.parentElement;\n        const { overflowX, overflowY } = window.getComputedStyle(container);\n        if (\n          container === document.body ||\n          [overflowX, overflowY].find(d => [\"auto\", \"hidden\"].includes(d))\n        ) {\n          const containerDims = container.getBoundingClientRect();\n          const left = gridDims.left - containerDims.left + anchor.x;\n          const top = gridDims.top - containerDims.top + anchor.y;\n          const right = containerDims.width - left;\n          const bottom = containerDims.height - top;\n\n          space.left = Math.min(space.left, left);\n          space.top = Math.min(space.top, top);\n          space.right = Math.min(space.right, right);\n          space.bottom = Math.min(space.bottom, bottom);\n        }\n      }\n\n      let resolvedAlign = null;\n\n      alignPriority.forEach(priority => {\n        if (resolvedAlign) {\n          return;\n        }\n        const fits = {\n          left:\n            space.left -\n              tooltipArrowPadding -\n              padding -\n              anchor.horizontalPadding >\n            tooltipDims.width,\n          right:\n            space.right -\n              tooltipArrowPadding -\n              padding -\n              anchor.horizontalPadding >\n            tooltipDims.width,\n          top:\n            space.top - tooltipArrowPadding - padding - anchor.verticalPadding >\n              tooltipDims.height && space.left > tooltipDims.width / 2,\n          bottom:\n            space.bottom -\n              tooltipArrowPadding -\n              padding -\n              anchor.verticalPadding >\n            tooltipDims.height,\n          centeredFromLeft: space.left > tooltipDims.width / 2,\n          centeredFromRight: space.right > tooltipDims.width / 2,\n          centeredFromTop: space.top > tooltipDims.height / 2,\n          centeredFromBottom: space.bottom > tooltipDims.height / 2\n        };\n        if (priority === \"left\") {\n          if (fits.left && fits.centeredFromTop && fits.centeredFromBottom) {\n            resolvedAlign = priority;\n          }\n        } else if (priority === \"right\") {\n          if (fits.right && fits.centeredFromTop && fits.centeredFromBottom) {\n            resolvedAlign = priority;\n          }\n        } else if (priority === \"top\") {\n          if (fits.top && fits.centeredFromLeft && fits.centeredFromRight) {\n            resolvedAlign = priority;\n          }\n        } else if (priority === \"bottom\") {\n          if (fits.bottom && fits.centeredFromLeft && fits.centeredFromRight) {\n            resolvedAlign = priority;\n          }\n        } else if (priority === \"topLeft\") {\n          if (fits.top && fits.left) {\n            resolvedAlign = priority;\n          }\n        } else if (priority === \"topRight\") {\n          if (fits.top && fits.right) {\n            resolvedAlign = priority;\n          }\n        } else if (priority === \"bottomLeft\") {\n          if (fits.bottom && fits.left) {\n            resolvedAlign = priority;\n          }\n        } else if (priority === \"bottomRight\") {\n          if (fits.bottom && fits.right) {\n            resolvedAlign = priority;\n          }\n        }\n      });\n\n      if (resolvedAlign !== finalAlign) {\n        setFinalAlign(resolvedAlign);\n      }\n    },\n    [\n      align,\n      alignPriority,\n      anchor,\n      finalAlign,\n      padding,\n      show,\n      tooltipArrowPadding\n    ]\n  );\n\n  if (!tooltip) {\n    return null;\n  }\n\n  const resolvedFocused = focused || latestFocused;\n\n  let alignX = 0;\n  let alignY = -50;\n  let triangleStyles = {};\n\n  const backgroundColor = getBackgroundColor(dark);\n\n  let resolvedArrowPosition = arrowPosition;\n\n  if (finalAlign === \"top\") {\n    alignX = -50;\n    alignY = -100;\n  } else if (finalAlign === \"topRight\") {\n    alignX = 0;\n    alignY = -100;\n  } else if (finalAlign === \"right\") {\n    alignX = 0;\n    alignY = -50;\n  } else if (finalAlign === \"bottomRight\") {\n    alignX = 0;\n    alignY = 0;\n  } else if (finalAlign === \"bottom\") {\n    alignX = -50;\n    alignY = 0;\n  } else if (finalAlign === \"bottomLeft\") {\n    alignX = -100;\n    alignY = 0;\n  } else if (finalAlign === \"left\") {\n    alignX = -100;\n    alignY = -50;\n  } else if (finalAlign === \"topLeft\") {\n    alignX = -100;\n    alignY = -100;\n  } else if (finalAlign === \"center\") {\n    alignX = -50;\n    alignY = -50;\n  }\n\n  if (!resolvedArrowPosition) {\n    if (finalAlign === \"left\") {\n      resolvedArrowPosition = \"right\";\n    } else if (finalAlign === \"right\") {\n      resolvedArrowPosition = \"left\";\n    } else if (finalAlign === \"top\") {\n      resolvedArrowPosition = \"bottom\";\n    } else if (finalAlign === \"bottom\") {\n      resolvedArrowPosition = \"top\";\n    } else if (finalAlign === \"topRight\") {\n      resolvedArrowPosition = \"bottomLeft\";\n    } else if (finalAlign === \"bottomRight\") {\n      resolvedArrowPosition = \"topLeft\";\n    } else if (finalAlign === \"topLeft\") {\n      resolvedArrowPosition = \"bottomRight\";\n    } else if (finalAlign === \"bottomLeft\") {\n      resolvedArrowPosition = \"topRight\";\n    }\n  }\n\n  if (resolvedArrowPosition === \"bottom\") {\n    triangleStyles = {\n      top: \"100%\",\n      left: \"50%\",\n      transform: \"translate3d(-50%, 0%, 0)\",\n      borderLeft: `${triangleSize * 0.8}px solid transparent`,\n      borderRight: `${triangleSize * 0.8}px solid transparent`,\n      borderTop: `${triangleSize}px solid ${backgroundColor}`\n    };\n  } else if (resolvedArrowPosition === \"top\") {\n    triangleStyles = {\n      top: \"0%\",\n      left: \"50%\",\n      transform: \"translate3d(-50%, -100%, 0)\",\n      borderLeft: `${triangleSize * 0.8}px solid transparent`,\n      borderRight: `${triangleSize * 0.8}px solid transparent`,\n      borderBottom: `${triangleSize}px solid ${backgroundColor}`\n    };\n  } else if (resolvedArrowPosition === \"right\") {\n    triangleStyles = {\n      top: \"50%\",\n      left: \"100%\",\n      transform: \"translate3d(0%, -50%, 0)\",\n      borderTop: `${triangleSize * 0.8}px solid transparent`,\n      borderBottom: `${triangleSize * 0.8}px solid transparent`,\n      borderLeft: `${triangleSize}px solid ${backgroundColor}`\n    };\n  } else if (resolvedArrowPosition === \"left\") {\n    triangleStyles = {\n      top: \"50%\",\n      left: \"0%\",\n      transform: \"translate3d(-100%, -50%, 0)\",\n      borderTop: `${triangleSize * 0.8}px solid transparent`,\n      borderBottom: `${triangleSize * 0.8}px solid transparent`,\n      borderRight: `${triangleSize}px solid ${backgroundColor}`\n    };\n  } else if (resolvedArrowPosition === \"topRight\") {\n    triangleStyles = {\n      top: \"0%\",\n      left: \"100%\",\n      transform: \"translate3d(-50%, -50%, 0) rotate(-45deg)\",\n      borderTop: `${triangleSize * 0.8}px solid transparent`,\n      borderBottom: `${triangleSize * 0.8}px solid transparent`,\n      borderLeft: `${triangleSize * 2}px solid ${backgroundColor}`\n    };\n  } else if (resolvedArrowPosition === \"bottomRight\") {\n    triangleStyles = {\n      top: \"100%\",\n      left: \"100%\",\n      transform: \"translate3d(-50%, -50%, 0) rotate(45deg)\",\n      borderTop: `${triangleSize * 0.8}px solid transparent`,\n      borderBottom: `${triangleSize * 0.8}px solid transparent`,\n      borderLeft: `${triangleSize * 2}px solid ${backgroundColor}`\n    };\n  } else if (resolvedArrowPosition === \"topLeft\") {\n    triangleStyles = {\n      top: \"0%\",\n      left: \"0%\",\n      transform: \"translate3d(-50%, -50%, 0) rotate(45deg)\",\n      borderTop: `${triangleSize * 0.8}px solid transparent`,\n      borderBottom: `${triangleSize * 0.8}px solid transparent`,\n      borderRight: `${triangleSize * 2}px solid ${backgroundColor}`\n    };\n  } else if (resolvedArrowPosition === \"bottomLeft\") {\n    triangleStyles = {\n      top: \"100%\",\n      left: \"0%\",\n      transform: \"translate3d(-50%, -50%, 0) rotate(-45deg)\",\n      borderTop: `${triangleSize * 0.8}px solid transparent`,\n      borderBottom: `${triangleSize * 0.8}px solid transparent`,\n      borderRight: `${triangleSize * 2}px solid ${backgroundColor}`\n    };\n  } else {\n    triangleStyles = {\n      opacity: 0\n    };\n  }\n\n  const primaryAxis = Utils.getAxisByAxisID(\n    primaryAxes,\n    resolvedFocused ? resolvedFocused.series.primaryAxisID : null\n  );\n  const secondaryAxis = Utils.getAxisByAxisID(\n    secondaryAxes,\n    resolvedFocused ? resolvedFocused.series.secondaryAxisID : null\n  );\n\n  const resolvedHorizontalPadding = padding + anchor.horizontalPadding;\n  const resolvedVerticalPadding = padding + anchor.verticalPadding;\n\n  const renderProps = {\n    ...chartState,\n    ...chartState.tooltip,\n    datum: resolvedFocused,\n    getStyle: datum => datum.getStatusStyle(resolvedFocused, getDatumStyle),\n    primaryAxis,\n    secondaryAxis\n  };\n\n  const renderedChildren = React.createElement(render, renderProps);\n\n  let animateCoords;\n  if (previousShowRef.current === show) {\n    animateCoords = true;\n  }\n\n  return (\n    <div\n      className=\"tooltip-wrap\"\n      style={{\n        pointerEvents: \"none\",\n        position: \"absolute\",\n        left: `${gridX}px`,\n        top: `${gridY}px`,\n        width: `${gridWidth}px`,\n        height: `${gridHeight}px`,\n        opacity: show ? 1 : 0,\n        transition: \"all .3s ease\"\n      }}\n      ref={el => {\n        elRef.current = el;\n      }}\n    >\n      <div\n        style={{\n          position: \"absolute\",\n          left: 0,\n          top: 0,\n          transform: Utils.translate(anchor.x, anchor.y),\n          transition: animateCoords ? \"all .2s ease\" : \"opacity .2s ease\"\n        }}\n      >\n        <div\n          style={{\n            transform: `translate3d(${alignX}%, ${alignY}%, 0)`,\n            padding: `${tooltipArrowPadding +\n              resolvedVerticalPadding}px ${tooltipArrowPadding +\n              resolvedHorizontalPadding}px`,\n            width: \"auto\",\n            transition: \"all .2s ease\"\n          }}\n        >\n          <div\n            ref={el => {\n              tooltipElRef.current = el;\n            }}\n            style={{\n              fontSize: \"12px\",\n              padding: \"5px\",\n              background: getBackgroundColor(dark),\n              color: dark ? \"black\" : \"white\",\n              borderRadius: \"3px\",\n              position: \"relative\"\n            }}\n          >\n            <div\n              style={{\n                position: \"absolute\",\n                width: 0,\n                height: 0,\n                ...triangleStyles,\n                transition: animateCoords ? \"all .2s ease\" : \"none\"\n              }}\n            />\n            {renderedChildren}\n          </div>\n        </div>\n      </div>\n    </div>\n  );\n}\n","import React from \"react\";\n//\nimport ChartContext from \"../utils/ChartContext\";\nimport Utils from \"../utils/Utils\";\n\nimport useLatest from \"../hooks/useLatest\";\n\nconst getLineBackgroundColor = dark =>\n  dark ? \"rgba(255,255,255,.3)\" : \"rgba(0, 26, 39, 0.3)\";\n\nconst getBackgroundColor = dark =>\n  dark ? \"rgba(255,255,255,.9)\" : \"rgba(0, 26, 39, 0.9)\";\n\nexport default function Cursor({ primary }) {\n  const [\n    {\n      primaryCursor,\n      secondaryCursor,\n      focused,\n      latestFocused,\n      gridX,\n      gridY,\n      dark\n    }\n  ] = React.useContext(ChartContext);\n\n  const resolvedFocused = focused || latestFocused;\n  const cursor = primary ? primaryCursor : secondaryCursor;\n\n  const {\n    showLine,\n    showLabel,\n    resolvedValue,\n    snap,\n    render,\n    axis,\n    siblingAxis,\n    resolvedShow\n  } = cursor || {};\n\n  const latestValue = useLatest(\n    resolvedValue,\n    typeof resolvedValue !== \"undefined\"\n  );\n\n  const previousShowRef = React.useRef();\n  React.useEffect(\n    () => {\n      previousShowRef.current = resolvedShow;\n    },\n    [resolvedShow]\n  );\n\n  if (!cursor) {\n    return null;\n  }\n\n  // Should we animate?\n  const animated = snap || axis.type === \"ordinal\";\n\n  // Get the sibling range\n  const siblingRange = siblingAxis.scale.range();\n\n  let x;\n  let y;\n  let x1;\n  let x2;\n  let y1;\n  let y2;\n  let alignPctX;\n  let alignPctY;\n\n  // Vertical alignment\n  if (axis.vertical) {\n    y = axis.scale(latestValue);\n    x1 = siblingRange[0];\n    x2 = siblingRange[1];\n    y1 = y - 1;\n    y2 = y + axis.cursorSize + 1;\n    if (axis.position === \"left\") {\n      alignPctX = -100;\n      alignPctY = -50;\n    } else {\n      alignPctX = 0;\n      alignPctY = -50;\n    }\n  } else {\n    x = axis.scale(latestValue);\n    x1 = x - 1;\n    x2 = x + axis.cursorSize + 1;\n    y1 = siblingRange[0];\n    y2 = siblingRange[1];\n    if (axis.position === \"top\") {\n      alignPctX = -500;\n      alignPctY = -100;\n    } else {\n      alignPctX = -50;\n      alignPctY = 0;\n    }\n  }\n\n  const renderProps = { ...cursor };\n\n  renderProps.formattedValue = String(\n    axis.vertical\n      ? typeof latestValue !== \"undefined\"\n        ? axis.format(\n            axis.stacked && !primary && resolvedFocused\n              ? resolvedFocused.totalValue\n              : latestValue\n          )\n        : \"\"\n      : typeof latestValue !== \"undefined\"\n      ? axis.format(\n          axis.stacked && !primary && resolvedFocused\n            ? resolvedFocused.totalValue\n            : latestValue\n        )\n      : \"\"\n  );\n\n  const lineStartX = Math.min(x1, x2);\n  const lineStartY = Math.min(y1, y2);\n  const lineEndX = Math.max(x1, x2);\n  const lineEndY = Math.max(y1, y2);\n  const bubbleX =\n    axis.vertical && axis.RTL\n      ? lineEndX\n      : x1 + (!axis.vertical ? (x2 - x1) / 2 : 0) + (!axis.vertical ? 1 : 0);\n  const bubbleY =\n    !axis.vertical && axis.RTL\n      ? lineStartY\n      : y1 + (axis.vertical ? (y2 - y1) / 2 : 0) + (axis.vertical ? 1 : 0);\n\n  const lineHeight = Math.max(lineEndY - lineStartY, 0);\n  const lineWidth = Math.max(lineEndX - lineStartX, 0);\n\n  let animateCoords;\n  if (previousShowRef.current === resolvedShow) {\n    animateCoords = true;\n  }\n\n  let renderedChildren = render(renderProps);\n\n  return (\n    <div\n      style={{\n        pointerEvents: \"none\",\n        position: \"absolute\",\n        top: 0,\n        left: 0,\n        transform: Utils.translate(gridX, gridY),\n        opacity: resolvedShow ? 1 : 0,\n        transition: \"all .3s ease\"\n      }}\n      className=\"Cursor\"\n    >\n      {/* Render the cursor line */}\n      {showLine ? (\n        <div\n          style={{\n            position: \"absolute\",\n            top: 0,\n            left: 0,\n            transform: Utils.translate(lineStartX, lineStartY),\n            width: `${lineWidth}px`,\n            height: `${lineHeight}px`,\n            background: getLineBackgroundColor(dark),\n            transition:\n              animated && animateCoords ? \"all .2s ease\" : \"opacity .2s ease\"\n          }}\n        />\n      ) : null}\n      {/* Render the cursor bubble */}\n      {showLabel ? (\n        <div\n          style={{\n            position: \"absolute\",\n            top: 0,\n            left: 0,\n            transform: Utils.translate(bubbleX, bubbleY),\n            transition:\n              animated && animateCoords ? \"all .2s ease\" : \"opacity .2s ease\"\n          }}\n        >\n          {/* Render the cursor label */}\n          <div\n            style={{\n              padding: \"5px\",\n              fontSize: \"10px\",\n              background: getBackgroundColor(dark),\n              color: getBackgroundColor(!dark),\n              borderRadius: \"3px\",\n              position: \"relative\",\n              transform: `translate3d(${alignPctX}%, ${alignPctY}%, 0)`,\n              whiteSpace: \"nowrap\"\n            }}\n          >\n            {renderedChildren}\n          </div>\n        </div>\n      ) : null}\n    </div>\n  );\n}\n","import React from 'react'\nimport Utils from '../utils/Utils'\n//\nimport ChartContext from '../utils/ChartContext'\n\nexport default function Brush() {\n  const [{ pointer, brush, gridX, gridY, gridHeight, dark }] = React.useContext(\n    ChartContext\n  )\n\n  if (!brush) {\n    return null\n  }\n\n  return (\n    <div\n      className=\"Brush\"\n      style={{\n        pointerEvents: 'none',\n        position: 'absolute',\n        left: 0,\n        top: 0,\n        transform: Utils.translate(gridX, gridY),\n        opacity: pointer.dragging\n          ? Math.abs(pointer.sourceX - pointer.x) < 20\n            ? 0.5\n            : 1\n          : 0,\n      }}\n    >\n      <div\n        style={{\n          position: 'absolute',\n          transform: Utils.translate(Math.min(pointer.x, pointer.sourceX), 0),\n          width: `${Math.abs(pointer.x - pointer.sourceX)}px`,\n          height: `${gridHeight}px`,\n          background: dark ? 'rgba(255,255,255,.3)' : 'rgba(0, 26, 39, 0.3)',\n          ...brush.style,\n        }}\n      />\n    </div>\n  )\n}\n","import React from \"react\";\n//\nimport Raf from '../utils/Raf'\nimport Utils from \"../utils/Utils\";\nimport ChartContext from \"../utils/ChartContext\";\n\nimport Rectangle from \"../primitives/Rectangle\";\n\nimport Voronoi from \"./Voronoi\";\nimport Axis from \"./Axis\";\nimport Tooltip from \"./Tooltip\";\nimport Cursor from \"./Cursor\";\nimport Brush from \"./Brush\";\n\nexport default React.forwardRef(function ChartInner(\n  { className, style = {}, ...rest },\n  ref\n) {\n  const [chartState] = React.useContext(ChartContext);\n  const [\n    {\n      width,\n      height,\n      offset,\n      gridX,\n      gridY,\n      stackData,\n      primaryAxes,\n      secondaryAxes,\n      renderSVG,\n      onClick,\n      seriesOptions,\n      getSeriesOrder,\n      focused\n    },\n    setChartState\n  ] = React.useContext(ChartContext);\n\n  const svgRef = React.useRef();\n\n  React.useLayoutEffect(() => {\n    if (!svgRef.current) {\n      return;\n    }\n    const current = svgRef.current.getBoundingClientRect();\n    if (current.left !== offset.left || current.top !== offset.top) {\n      setChartState(state => ({\n        ...state,\n        offset: {\n          left: current.left,\n          top: current.top\n        }\n      }));\n    }\n  });\n\n  const onMouseLeave = e => {\n    setChartState(state => ({\n      ...state,\n      focused: null\n    }));\n    setChartState(state => ({\n      ...state,\n      pointer: {\n        ...state.pointer,\n        active: false\n      }\n    }));\n  };\n\n  const rafRef = React.useRef();\n\n  const onMouseMove = e => {\n    if (rafRef.current) {\n      Raf.cancel(rafRef.current);\n    }\n    rafRef.current = Raf(() => {\n      rafRef.current = null;\n      const { clientX, clientY } = e;\n\n      setChartState(state => {\n        const x = clientX - offset.left - gridX;\n        const y = clientY - offset.top - gridY;\n\n        const pointer = {\n          ...state.pointer,\n          active: true,\n          x,\n          y,\n          dragging: state.pointer && state.pointer.down\n        };\n        return {\n          ...state,\n          pointer\n        };\n      });\n    });\n  };\n\n  const onMouseUp = () => {\n    document.removeEventListener(\"mouseup\", onMouseUp);\n    document.removeEventListener(\"mousemove\", onMouseMove);\n\n    setChartState(state => ({\n      ...state,\n      pointer: {\n        ...state.pointer,\n        down: false,\n        dragging: false,\n        released: {\n          x: state.pointer.x,\n          y: state.pointer.y\n        }\n      }\n    }));\n  };\n\n  const onMouseDown = () => {\n    document.addEventListener(\"mouseup\", onMouseUp);\n    document.addEventListener(\"mousemove\", onMouseMove);\n\n    setChartState(state => ({\n      ...state,\n      pointer: {\n        ...state.pointer,\n        sourceX: state.pointer.x,\n        sourceY: state.pointer.y,\n        down: true\n      }\n    }));\n  };\n\n  // Reverse the stack order for proper z-indexing\n  const reversedStackData = [...stackData].reverse();\n  const orderedStackData = getSeriesOrder(reversedStackData);\n\n  const focusedSeriesIndex = focused\n    ? orderedStackData.findIndex(series => series.id === focused.series.id)\n    : -1;\n\n  // Bring focused series to the front\n  const focusOrderedStackData = focused\n    ? [\n        ...orderedStackData.slice(0, focusedSeriesIndex),\n        ...orderedStackData.slice(focusedSeriesIndex + 1),\n        orderedStackData[focusedSeriesIndex]\n      ]\n    : orderedStackData;\n\n  const stacks = focusOrderedStackData.map(stack => {\n    return (\n      <stack.Component\n        key={stack.id}\n        {...seriesOptions[stack.index]}\n        series={stack}\n        stackData={stackData}\n      />\n    );\n  });\n\n  return (\n    <div\n      ref={ref}\n      {...rest}\n      className={`ReactChart ${className || \"\"}`}\n      style={{\n        width,\n        height,\n        position: \"relative\",\n        ...style\n      }}\n    >\n      <svg\n        ref={svgRef}\n        style={{\n          width,\n          height,\n          overflow: \"hidden\"\n        }}\n        onMouseEnter={e => e.persist() || onMouseMove(e)}\n        onMouseMove={e => e.persist() || onMouseMove(e)}\n        onMouseLeave={e => e.persist() || onMouseLeave(e)}\n        onMouseDown={e => e.persist() || onMouseDown(e)}\n        onClick={onClick}\n      >\n        <g\n          style={{\n            transform: Utils.translate(gridX, gridY)\n          }}\n        >\n          <Rectangle\n            // To ensure the pointer always has something to hit\n            x1={-gridX}\n            x2={width - gridX}\n            y1={-gridY}\n            y2={height - gridY}\n            style={{\n              opacity: 0\n            }}\n          />\n          <Voronoi />\n          <g className=\"axes\">\n            {[...primaryAxes, ...secondaryAxes].map(axis => (\n              <Axis key={axis.id} {...axis} />\n            ))}\n          </g>\n          <g\n            className=\"Series\"\n            style={{\n              pointerEvents: \"none\"\n            }}\n          >\n            {stacks}\n          </g>\n        </g>\n        {renderSVG\n          ? renderSVG({\n              chartState,\n              setChartState\n            })\n          : null}\n      </svg>\n      <Cursor primary />\n      <Cursor />\n      <Brush />\n      <Tooltip />\n    </div>\n  );\n});\n","import React from \"react\";\n//\nimport Utils from \"../utils/Utils\";\n\nexport default function usePropsMemo(fn, obj = {}) {\n  const watchRef = React.useRef({\n    style: {},\n    props: {}\n  });\n  const valueRef = React.useRef();\n\n  const { style = {}, ...props } = obj;\n  if (\n    Utils.shallowDiff(watchRef.current.style, style) ||\n    Utils.shallowDiff(watchRef.current.props, props)\n  ) {\n    watchRef.current = obj;\n    valueRef.current = fn();\n  }\n  return valueRef.current;\n}\n","import React from \"react\";\n//\nimport ChartContext from \"../utils/ChartContext\";\n\nexport default function useSeriesStyle(series) {\n  const [{ focused, getSeriesStyle }] = React.useContext(ChartContext);\n  return series.getStatusStyle(focused, getSeriesStyle);\n}\n","import React from \"react\";\n//\nimport ChartContext from \"../utils/ChartContext\";\n\nexport default function useDatumStyle(datum) {\n  const [{ focused, getDatumStyle }] = React.useContext(ChartContext);\n  return datum.getStatusStyle(focused, getDatumStyle);\n}\n","import React from \"react\";\n//\n\nconst defaultStyle = {\n  r: 2,\n  strokeWidth: \"1\",\n  stroke: \"#000000\",\n  fill: \"#000000\",\n  opacity: 1\n};\n\nexport default function Circle({ x, y, r, style, ...rest }) {\n  const resolvedStyle = {\n    ...defaultStyle,\n    ...style\n  };\n\n  return (\n    <circle {...rest} cx={x || 0} cy={y || 0} r={1} style={resolvedStyle} />\n  );\n}\n","import React from \"react\";\nimport { line } from \"../d3\";\n\n//\nimport ChartContext from \"../utils/ChartContext\";\nimport Utils from \"../utils/Utils\";\nimport { curveMonotoneX } from \"../utils/Curves\";\n\nimport usePropsMemo from \"../hooks/usePropsMemo\";\nimport useSeriesStyle from \"../hooks/useSeriesStyle\";\nimport useDatumStyle from \"../hooks/useDatumStyle\";\n\nimport Path from \"../primitives/Path\";\nimport Circle from \"../primitives/Circle\";\n\nconst pathDefaultStyle = {\n  strokeWidth: 2\n};\n\nconst circleDefaultStyle = {\n  r: 2\n};\n\nexport default function Line({ series, showPoints, curve }) {\n  const lineFn = React.useMemo(\n    () =>\n      line()\n        .x(d => d.x)\n        .y(d => d.y)\n        .defined(d => d.defined)\n        .curve(curve),\n    [curve]\n  );\n  const path = React.useMemo(() => lineFn(series.datums), [\n    lineFn,\n    series.datums\n  ]);\n\n  const style = useSeriesStyle(series);\n\n  const pathProps = {\n    d: path,\n    style: {\n      ...pathDefaultStyle,\n      ...style,\n      ...style.line,\n      fill: \"none\"\n    }\n  };\n  const renderedPath = usePropsMemo(() => <Path {...pathProps} />, pathProps);\n\n  return React.useMemo(\n    () => (\n      <g>\n        {renderedPath}\n        {showPoints &&\n          series.datums.map((datum, i) => {\n            return (\n              <Point\n                {...{\n                  key: i,\n                  datum,\n                  style\n                }}\n              />\n            );\n          })}\n      </g>\n    ),\n    [renderedPath, series.datums, showPoints, style]\n  );\n}\n\nLine.defaultProps = {\n  curve: curveMonotoneX\n};\n\nLine.plotDatum = (datum, { primaryAxis, secondaryAxis, xAxis, yAxis }) => {\n  datum.primaryCoord = primaryAxis.scale(datum.primary);\n  datum.secondaryCoord = secondaryAxis.scale(datum.secondary);\n  datum.x = xAxis.scale(datum.xValue);\n  datum.y = yAxis.scale(datum.yValue);\n  datum.defined =\n    Utils.isValidPoint(datum.xValue) && Utils.isValidPoint(datum.yValue);\n  datum.base = primaryAxis.vertical\n    ? xAxis.scale(datum.baseValue)\n    : yAxis.scale(datum.baseValue);\n\n  // Adjust non-bar elements for ordinal scales\n  if (xAxis.type === \"ordinal\") {\n    datum.x += xAxis.tickOffset;\n  }\n  if (yAxis.type === \"ordinal\") {\n    datum.y += yAxis.tickOffset;\n  }\n\n  // Set the default anchor point\n  datum.anchor = {\n    x: datum.x,\n    y: datum.y\n  };\n\n  // Set the pointer points (used in voronoi)\n  datum.boundingPoints = [datum.anchor];\n};\n\nLine.buildStyles = (series, { defaultColors }) => {\n  const defaults = {\n    // Pass some sane defaults\n    color: defaultColors[series.index % (defaultColors.length - 1)]\n  };\n\n  Utils.buildStyleGetters(series, defaults);\n};\n\nfunction Point({ datum, style }) {\n  const [, setChartState] = React.useContext(ChartContext);\n\n  const dataStyle = useDatumStyle(datum);\n\n  const circleProps = {\n    x: datum ? datum.x : undefined,\n    y: datum ? datum.y : undefined,\n    style: {\n      ...circleDefaultStyle,\n      ...style,\n      ...style.circle,\n      ...dataStyle,\n      ...dataStyle.circle\n    },\n    onMouseEnter: e =>\n      setChartState(state => ({\n        ...state,\n        element: datum\n      })),\n    onMouseLeave: e =>\n      setChartState(state => ({\n        ...state,\n        element: null\n      }))\n  };\n  return usePropsMemo(() => {\n    if (!datum.defined) {\n      return null;\n    }\n    return <Circle {...circleProps} />;\n  }, circleProps);\n}\n","import React from \"react\";\n//\n\nimport ChartContext from \"../utils/ChartContext\";\nimport Utils from \"../utils/Utils\";\n\nimport usePropsMemo from \"../hooks/usePropsMemo\";\nimport useSeriesStyle from \"../hooks/useSeriesStyle\";\nimport useDatumStyle from \"../hooks/useDatumStyle\";\n\nimport Circle from \"../primitives/Circle\";\n\nconst circleDefaultStyle = {\n  r: 2\n};\n\nexport default function Bubble({ series }) {\n  const style = useSeriesStyle(series);\n\n  return (\n    <g>\n      {series.datums.map((datum, i) => {\n        return (\n          <Point\n            {...{\n              key: i,\n              datum,\n              style\n            }}\n          />\n        );\n      })}\n    </g>\n  );\n}\n\nBubble.plotDatum = (datum, { primaryAxis, secondaryAxis, xAxis, yAxis }) => {\n  datum.primaryCoord = primaryAxis.scale(datum.primary);\n  datum.secondaryCoord = secondaryAxis.scale(datum.secondary);\n  datum.x = xAxis.scale(datum.xValue);\n  datum.y = yAxis.scale(datum.yValue);\n  datum.defined =\n    Utils.isValidPoint(datum.xValue) && Utils.isValidPoint(datum.yValue);\n  datum.base = primaryAxis.vertical\n    ? xAxis.scale(datum.baseValue)\n    : yAxis.scale(datum.baseValue);\n  // Adjust non-bar elements for ordinal scales\n  if (xAxis.type === \"ordinal\") {\n    datum.x += xAxis.tickOffset;\n  }\n  if (yAxis.type === \"ordinal\") {\n    datum.y += yAxis.tickOffset;\n  }\n\n  // Set the default anchor point\n  datum.anchor = {\n    x: datum.x,\n    y: datum.y,\n    verticalPadding: datum.r,\n    horizontalPadding: datum.r\n  };\n\n  // Set the pointer points (used in voronoi)\n  datum.boundingPoints = [datum.anchor];\n};\n\nBubble.buildStyles = (series, { defaultColors }) => {\n  const defaults = {\n    // Pass some sane defaults\n    color: defaultColors[series.index % (defaultColors.length - 1)]\n  };\n\n  Utils.buildStyleGetters(series, defaults);\n};\n\nfunction Point({ datum, style }) {\n  const dataStyle = useDatumStyle(datum);\n  const [, setChartState] = React.useContext(ChartContext);\n\n  const circleProps = {\n    x: datum ? datum.x : undefined,\n    y: datum ? datum.y : undefined,\n    style: {\n      ...circleDefaultStyle,\n      ...(typeof datum.r !== \"undefined\"\n        ? {\n            r: datum.r\n          }\n        : {}),\n      ...style,\n      ...style.circle,\n      ...dataStyle,\n      ...dataStyle.circle\n    },\n    onMouseEnter: e =>\n      setChartState(state => ({\n        ...state,\n        element: datum\n      })),\n    onMouseLeave: e =>\n      setChartState(state => ({\n        ...state,\n        element: null\n      }))\n  };\n\n  return usePropsMemo(() => {\n    if (!datum.defined) {\n      return null;\n    }\n    return <Circle {...circleProps} />;\n  }, circleProps);\n}\n","import React from \"react\";\nimport { area, line } from \"../d3\";\n//\n\nimport Utils from \"../utils/Utils\";\nimport { curveLinear } from \"../utils/Curves\";\n\nimport usePropsMemo from \"../hooks/usePropsMemo\";\nimport useSeriesStyle from \"../hooks/useSeriesStyle\";\nimport useDatumStyle from \"../hooks/useDatumStyle\";\n\nimport Path from \"../primitives/Path\";\nimport Line from \"../primitives/Line\";\n\nconst defaultAreaStyle = {\n  strokeWidth: 0\n};\n\nconst lineDefaultStyle = {\n  strokeWidth: 3\n};\n\nexport default function Area({ series, showOrphans, curve }) {\n  const areaFn = React.useMemo(\n    () =>\n      area()\n        .x(d => d.x)\n        .y0(d => d.base)\n        .y1(d => d.y)\n        .defined(d => d.defined)\n        .curve(curve),\n    [curve]\n  );\n\n  const lineFn = React.useMemo(\n    () =>\n      line()\n        .x(d => d.x)\n        .y(d => d.y)\n        .defined(d => d.defined)\n        .curve(curve),\n    [curve]\n  );\n  const areaPath = React.useMemo(() => areaFn(series.datums), [\n    areaFn,\n    series.datums\n  ]);\n  const linePath = React.useMemo(() => lineFn(series.datums), [\n    lineFn,\n    series.datums\n  ]);\n\n  const style = useSeriesStyle(series);\n\n  const areaPathProps = {\n    d: areaPath,\n    style: {\n      ...defaultAreaStyle,\n      ...style,\n      ...style.line,\n      ...style.area\n    }\n  };\n  const renderedAreaPath = usePropsMemo(\n    () => <Path {...areaPathProps} />,\n    areaPathProps\n  );\n\n  const linePathProps = {\n    d: linePath,\n    style: {\n      ...defaultAreaStyle,\n      ...style,\n      ...style.line,\n      fill: \"none\"\n    }\n  };\n  const renderedLinePath = usePropsMemo(\n    () => <Path {...linePathProps} />,\n    linePathProps\n  );\n\n  return (\n    <g>\n      {renderedAreaPath}\n      {renderedLinePath}\n      {showOrphans &&\n        series.datums.map((datum, index, all) => {\n          return (\n            <OrphanLine\n              {...{\n                key: index,\n                datum,\n                style,\n                all,\n                index\n              }}\n            />\n          );\n        })}\n    </g>\n  );\n}\n\nArea.defaultProps = {\n  showOrphans: true,\n  curve: curveLinear\n};\n\nArea.plotDatum = (datum, { primaryAxis, secondaryAxis, xAxis, yAxis }) => {\n  // Turn clamping on for secondaryAxis\n  secondaryAxis.scale.clamp(true);\n\n  datum.primaryCoord = primaryAxis.scale(datum.primary);\n  datum.secondaryCoord = secondaryAxis.scale(datum.secondary);\n  datum.x = xAxis.scale(datum.xValue);\n  datum.y = yAxis.scale(datum.yValue);\n  datum.defined =\n    Utils.isValidPoint(datum.xValue) && Utils.isValidPoint(datum.yValue);\n  datum.base = primaryAxis.vertical\n    ? xAxis.scale(datum.baseValue)\n    : yAxis.scale(datum.baseValue);\n\n  // Turn clamping back off for secondaryAxis\n  secondaryAxis.scale.clamp(false);\n\n  // Adjust non-bar elements for ordinal scales\n  if (xAxis.type === \"ordinal\") {\n    datum.x += xAxis.tickOffset;\n  }\n  if (yAxis.type === \"ordinal\") {\n    datum.y += yAxis.tickOffset;\n  }\n\n  // Set the default anchor point\n  datum.anchor = {\n    x: datum.x,\n    y: datum.y\n  };\n\n  // Set the pointer points (used in voronoi)\n  datum.boundingPoints = [\n    datum.anchor,\n    {\n      x: primaryAxis.vertical\n        ? primaryAxis.position === \"left\"\n          ? datum.base - 1\n          : datum.base\n        : datum.anchor.x,\n      y: !primaryAxis.vertical\n        ? primaryAxis.position === \"bottom\"\n          ? datum.base - 1\n          : datum.base\n        : datum.anchor.y\n    }\n  ];\n};\n\nArea.buildStyles = (series, { defaultColors }) => {\n  const defaults = {\n    // Pass some sane defaults\n    color: defaultColors[series.index % (defaultColors.length - 1)]\n  };\n\n  Utils.buildStyleGetters(series, defaults);\n};\n\nconst OrphanLine = function OrphanLine({ datum, style, all, index }) {\n  const prev = all[index - 1] || { defined: false };\n  const next = all[index + 1] || { defined: false };\n\n  const dataStyle = useDatumStyle(datum);\n\n  const lineProps = {\n    x1: !datum || Number.isNaN(datum.x) ? null : datum.x,\n    y1: !datum || Number.isNaN(datum.base) ? null : datum.base,\n    x2: !datum || Number.isNaN(datum.x) ? null : datum.x,\n    y2: !datum || Number.isNaN(datum.y) ? null : datum.y,\n    style: {\n      ...lineDefaultStyle,\n      ...style,\n      ...style.line,\n      ...dataStyle,\n      ...dataStyle.line\n    }\n  };\n\n  return usePropsMemo(() => {\n    if (!datum.defined || prev.defined || next.defined) {\n      return null;\n    }\n    return <Line {...lineProps} />;\n  }, lineProps);\n};\n","import React from \"react\";\n//\nimport ChartContext from \"../utils/ChartContext\";\nimport Utils from \"../utils/Utils\";\n\nimport usePropsMemo from \"../hooks/usePropsMemo\";\nimport useSeriesStyle from \"../hooks/useSeriesStyle\";\nimport useDatumStyle from \"../hooks/useDatumStyle\";\n\nimport Rectangle from \"../primitives/Rectangle\";\n\nexport default function Bar({ series }) {\n  const [{ primaryAxes }] = React.useContext(ChartContext);\n\n  const style = useSeriesStyle(series);\n\n  const { barOffset } = series.primaryAxisID\n    ? primaryAxes.find(d => d.id === series.primaryAxisID)\n    : primaryAxes[0];\n\n  return (\n    <g className=\"series bar\">\n      {series.datums.map((datum, i) => {\n        return (\n          <BarPiece\n            key={i}\n            {...{\n              datum,\n              barOffset,\n              style\n            }}\n          />\n        );\n      })}\n    </g>\n  );\n}\n\nfunction BarPiece({ datum, barOffset, style }) {\n  const [{ primaryAxes }, setChartState] = React.useContext(ChartContext);\n\n  const x = datum ? datum.x : 0;\n  const y = datum ? datum.y : 0;\n  const base = datum ? datum.base : 0;\n  const size = datum ? datum.size : 0;\n  let x1;\n  let y1;\n  let x2;\n  let y2;\n  if (primaryAxes.find(d => d.vertical)) {\n    x1 = base;\n    x2 = x;\n    y1 = y + barOffset;\n    y2 = y1 + size;\n  } else {\n    x1 = x + barOffset;\n    x2 = x1 + size;\n    y1 = y;\n    y2 = base;\n  }\n\n  const dataStyle = useDatumStyle(datum);\n\n  const rectangleProps = {\n    style: {\n      pointerEvents: \"all\",\n      ...style,\n      ...style.rectangle,\n      ...dataStyle,\n      ...dataStyle.rectangle\n    },\n    x1: Number.isNaN(x1) ? null : x1,\n    y1: Number.isNaN(y1) ? null : y1,\n    x2: Number.isNaN(x2) ? null : x2,\n    y2: Number.isNaN(y2) ? null : y2,\n    onMouseEnter: e =>\n      setChartState(state => ({\n        ...state,\n        element: datum\n      })),\n    onMouseLeave: e =>\n      setChartState(state => ({\n        ...state,\n        element: null\n      }))\n  };\n\n  return usePropsMemo(() => <Rectangle {...rectangleProps} />, rectangleProps);\n}\n\nBar.plotDatum = (datum, { xAxis, yAxis, primaryAxis, secondaryAxis }) => {\n  // Turn clamping on for secondaryAxis\n  secondaryAxis.scale.clamp(true);\n\n  datum.primaryCoord = primaryAxis.scale(datum.primary);\n  datum.secondaryCoord = secondaryAxis.scale(datum.secondary);\n  datum.x = xAxis.scale(datum.xValue);\n  datum.y = yAxis.scale(datum.yValue);\n  datum.defined =\n    Utils.isValidPoint(datum.xValue) && Utils.isValidPoint(datum.yValue);\n  datum.base = secondaryAxis.scale(datum.baseValue);\n  datum.size = primaryAxis.barSize;\n\n  // Turn clamping back off for secondaryAxis\n  secondaryAxis.scale.clamp(false);\n\n  if (!secondaryAxis.stacked) {\n    datum.size = primaryAxis.seriesBarSize;\n    // Use the seriesTypeIndex here in case we have mixed types.\n    const seriesBandScaleOffset = primaryAxis.seriesBandScale(\n      datum.seriesTypeIndex\n    );\n    if (secondaryAxis.vertical) {\n      datum.x += seriesBandScaleOffset;\n    } else {\n      datum.y += seriesBandScaleOffset;\n    }\n  }\n\n  // Set the default anchor point\n  datum.anchor = {\n    x: datum.x,\n    y: datum.y,\n    horizontalPadding: secondaryAxis.vertical ? datum.size / 2 : 0,\n    verticalPadding: secondaryAxis.vertical ? 0 : datum.size / 2\n  };\n\n  // Adjust the anchor point for bars\n  if (!primaryAxis.vertical) {\n    datum.anchor.x += primaryAxis.type !== \"ordinal\" ? 0 : datum.size / 2;\n  } else {\n    datum.anchor.y += primaryAxis.type !== \"ordinal\" ? 0 : datum.size / 2;\n  }\n\n  // Set the pointer points (used in voronoi)\n  datum.boundingPoints = [\n    // End of bar\n    datum.anchor,\n    // Start of bar\n    {\n      x: primaryAxis.vertical\n        ? primaryAxis.position === \"left\"\n          ? datum.base + 1\n          : datum.base\n        : datum.anchor.x,\n      y: !primaryAxis.vertical\n        ? primaryAxis.position === \"bottom\"\n          ? datum.base - 1\n          : datum.base\n        : datum.anchor.y\n    }\n  ];\n};\n\nBar.buildStyles = (series, { defaultColors }) => {\n  const defaults = {\n    // Pass some sane defaults\n    color: defaultColors[series.index % (defaultColors.length - 1)]\n  };\n\n  Utils.buildStyleGetters(series, defaults);\n};\n","import React from 'react'\n//\n\nimport { curveMonotoneX } from '../../utils/Curves'\n\nimport Line from '../../seriesTypes/Line'\nimport Bubble from '../../seriesTypes/Bubble'\nimport Area from '../../seriesTypes/Area'\nimport Bar from '../../seriesTypes/Bar'\n\nconst seriesTypes = {\n  line: Line,\n  bubble: Bubble,\n  area: Area,\n  bar: Bar,\n  // pie: Pie\n}\n\nconst defaultSeries = {\n  type: 'line',\n  showPoints: true,\n  showOrphans: true,\n  curve: curveMonotoneX,\n}\n\nexport default ({ materializedData, series }) => {\n  return React.useMemo(\n    () =>\n      materializedData.map((s, seriesIndex) => {\n        const { type, ...rest } = {\n          ...defaultSeries,\n          ...(typeof series === 'function' ? series(s, seriesIndex) : series),\n        }\n        const renderer = seriesTypes[type]\n        if (!renderer) {\n          throw new Error(`Could not find a registered series type for ${type}`)\n        }\n        return {\n          ...rest,\n          type,\n          renderer,\n        }\n      }),\n    [materializedData, series]\n  )\n}\n","import { scaleLinear, scaleLog, scaleTime, scaleUtc, scaleBand } from '../d3'\n//\nimport {\n  positionTop,\n  positionRight,\n  positionBottom,\n  positionLeft,\n  axisTypeOrdinal,\n  axisTypeTime,\n  axisTypeUtc,\n  axisTypeLinear,\n  axisTypeLog,\n} from '../utils/Constants.js'\nimport Utils from '../utils/Utils'\n\nimport Bar from '../seriesTypes/Bar'\n\nconst scales = {\n  [axisTypeLinear]: scaleLinear,\n  [axisTypeLog]: scaleLog,\n  [axisTypeTime]: scaleTime,\n  [axisTypeUtc]: scaleUtc,\n  [axisTypeOrdinal]: scaleBand,\n}\n\nconst detectVertical = d => [positionLeft, positionRight].indexOf(d) > -1\nconst detectRTL = d => [positionTop, positionRight].indexOf(d) > -1\n\nexport default function buildAxisLinear({\n  axis: {\n    primary,\n    type,\n    invert,\n    position,\n    primaryAxisID,\n    min: userMin = undefined,\n    max: userMax = undefined,\n    hardMin = undefined,\n    hardMax = undefined,\n    base = undefined,\n    tickCount = 'auto',\n    minTickCount = 0,\n    maxTickCount = Infinity,\n    tickValues = null,\n    format: userFormat = null,\n    tickSizeInner = 6,\n    tickSizeOuter = 6,\n    tickPadding = 14,\n    maxLabelRotation = 50,\n    labelRotationStep = 5,\n    innerPadding = 0.2,\n    outerPadding = 0.1,\n    showGrid = null,\n    showTicks = true,\n    show = true,\n    stacked = false,\n    id: userID,\n  },\n  materializedData,\n  gridHeight,\n  gridWidth,\n  axisDimensions,\n}) {\n  if (!position) {\n    throw new Error(`Chart axes must have a valid 'position' property`)\n  }\n  // Detect some settings\n  const valueKey = primary ? 'primary' : 'secondary'\n  const groupKey = !primary && 'primary'\n  const AxisIDKey = `${valueKey}AxisID`\n  const vertical = detectVertical(position)\n  const RTL = detectRTL(position) // Right to left OR top to bottom\n\n  const id = userID || `${position}_${type}`\n\n  // TODO: Any sorting needs to happen here, else the min/max's might not line up correctly\n\n  // First we need to find unique values, min/max values and negative/positive totals\n  const uniqueVals = []\n  let min\n  let max\n  let negativeTotalByKey = {}\n  let positiveTotalByKey = {}\n  let domain\n\n  // const axisDimension =\n  //   axisDimensions && axisDimensions[position] && axisDimensions[position][id]\n\n  // Loop through each series\n  for (\n    let seriesIndex = 0;\n    seriesIndex < materializedData.length;\n    seriesIndex++\n  ) {\n    if (\n      materializedData[seriesIndex][AxisIDKey] &&\n      materializedData[seriesIndex][AxisIDKey] !== id\n    ) {\n      continue\n    }\n    // Loop through each datum\n    for (\n      let datumIndex = 0;\n      datumIndex < materializedData[seriesIndex].datums.length;\n      datumIndex++\n    ) {\n      const datum = materializedData[seriesIndex].datums[datumIndex]\n      let value\n      const key = groupKey ? datum[groupKey] : datumIndex\n      // For ordinal scales, unique the values\n      if (type === axisTypeOrdinal) {\n        if (uniqueVals.indexOf() === -1) {\n          uniqueVals.push(\n            materializedData[seriesIndex].datums[datumIndex][valueKey]\n          )\n        }\n      } else if (type === axisTypeTime || type === axisTypeUtc) {\n        value = +datum[valueKey]\n      } else {\n        value = datum[valueKey]\n      }\n\n      // Add to stack total\n      if (stacked) {\n        if (value > 0) {\n          positiveTotalByKey[key] =\n            typeof positiveTotalByKey[key] !== 'undefined'\n              ? positiveTotalByKey[key] + value\n              : value\n        } else {\n          negativeTotalByKey[key] =\n            typeof negativeTotalByKey[key] !== 'undefined'\n              ? negativeTotalByKey[key] + value\n              : value\n        }\n      } else {\n        // Find min/max\n        min = typeof min !== 'undefined' ? Math.min(min, value) : value\n        max = typeof max !== 'undefined' ? Math.max(max, value) : value\n      }\n    }\n  }\n\n  if (type === axisTypeOrdinal) {\n    domain = uniqueVals\n  } else if (stacked) {\n    domain = [\n      Math.min(0, ...Object.values(negativeTotalByKey)),\n      Math.max(0, ...Object.values(positiveTotalByKey)),\n    ]\n  } else {\n    domain = [min, max]\n  }\n\n  // Now we need to figure out the range\n  let range = [0, vertical ? gridHeight : gridWidth] // axes by default read from top to bottom and left to right\n  if (vertical && !primary) {\n    // Vertical secondary ranges get inverted by default\n    range.reverse()\n  }\n\n  // Give the scale a home\n  let scale\n\n  // If this is an ordinal or other primary axis, it needs to be able to display bars.\n  let bandScale\n  let barSize = 0\n  let cursorSize = 0\n  let stepSize = 0\n\n  let seriesBandScale = d => d\n  let seriesBarSize = 1\n\n  if (type === axisTypeOrdinal || primary) {\n    // Calculate a band axis that is similar and pass down the bandwidth\n    // just in case.\n    bandScale = scaleBand()\n      .domain(\n        materializedData\n          .reduce(\n            (prev, current) =>\n              current.datums.length > prev.length ? current.datums : prev,\n            []\n          )\n          .map(d => d.primary)\n      )\n      .rangeRound(range, 0.1)\n      .padding(0)\n\n    bandScale.paddingOuter(outerPadding).paddingInner(innerPadding)\n    barSize = bandScale.bandwidth()\n\n    if (type === axisTypeOrdinal) {\n      cursorSize = barSize\n    }\n\n    // barSize = bandScale.bandwidth()\n    stepSize = bandScale.step()\n\n    // Create a seriesBandScale in case this axis isn't stacked\n    seriesBandScale = scaleBand()\n      .paddingInner(innerPadding / 2)\n      .domain(\n        materializedData.filter(d => d.Component === Bar).map((d, i) => i)\n      )\n      .rangeRound([0, barSize])\n\n    seriesBarSize = seriesBandScale.bandwidth()\n  }\n\n  if (type === axisTypeOrdinal) {\n    // If it's ordinal, just assign the bandScale we made\n    scale = bandScale\n  } else {\n    // Otherwise, create a new scale of the appropriate type\n    scale = scales[type]()\n  }\n\n  // Set base, min, and max\n  if (typeof base === 'number') {\n    domain[0] = Math.min(domain[0], base)\n    domain[1] = Math.max(domain[1], base)\n  }\n  if (typeof defaultMin === 'number') {\n    domain[0] = Math.min(domain[0], userMin)\n  }\n  if (typeof defaultMax === 'number') {\n    domain[1] = Math.max(domain[1], userMax)\n  }\n\n  // Set the domain\n  scale.domain(domain)\n\n  // If we're not using an ordinal scale, round the ticks to \"nice\" values\n  if (type !== axisTypeOrdinal) {\n    scale.nice()\n  }\n\n  // If hard min and max are set, override any \"nice\" rounding values\n  if (typeof hardMin === 'number') {\n    scale.domain([hardMin, scale.domain()[1]])\n  }\n  if (typeof hardMax === 'number') {\n    scale.domain([scale.domain()[0], hardMax])\n  }\n\n  // Invert if necessary\n  if (invert) {\n    scale.domain([...scale.domain()].reverse())\n  }\n\n  // Now set the range\n  scale.range(range)\n\n  const scaleFormat = scale.tickFormat ? scale.tickFormat() : Utils.identity\n\n  const format = userFormat\n    ? (...args) => userFormat(scaleFormat(...args))\n    : scaleFormat\n\n  // Pass down the axis config (including the scale itself) for posterity\n  const axis = {\n    id,\n    primary,\n    type,\n    invert,\n    position,\n    primaryAxisID,\n    hardMin,\n    hardMax,\n    base,\n    tickCount,\n    minTickCount,\n    maxTickCount,\n    tickValues,\n    tickSizeInner,\n    tickSizeOuter,\n    tickPadding,\n    maxLabelRotation,\n    labelRotationStep,\n    innerPadding,\n    outerPadding,\n    showGrid,\n    showTicks,\n    show,\n    stacked,\n    scale,\n    uniqueVals,\n    vertical,\n    RTL,\n    barSize,\n    cursorSize,\n    stepSize,\n    seriesBandScale,\n    seriesBarSize,\n    domain,\n    range,\n    max:\n      position === positionBottom\n        ? -gridHeight\n        : position === positionLeft\n        ? gridWidth\n        : position === positionTop\n        ? gridHeight\n        : -gridWidth,\n    directionMultiplier:\n      position === positionTop || position === positionLeft ? -1 : 1,\n    transform: !vertical ? Utils.translateX : Utils.translateY,\n    ticks:\n      tickValues || scale.ticks\n        ? scale\n            .ticks\n            // tickCount === 'auto'\n            //   ? axisDimension\n            //     ? axisDimension.tickCount\n            //     : 10\n            //   : tickCount\n            ()\n        : scale.domain(),\n    format,\n    spacing: Math.max(tickSizeInner, 0) + tickPadding,\n  }\n\n  if (type === axisTypeOrdinal) {\n    axis.gridOffset = -(axis.stepSize * innerPadding) / 2\n    axis.tickOffset = axis.barSize / 2\n    axis.barOffset = 0\n  } else {\n    axis.tickOffset = 0\n    axis.barOffset = -axis.barSize / 2\n  }\n\n  return axis\n}\n","// import buildAxisPie from './buildAxis.pie'\nimport buildAxisLinear from \"./buildAxis.linear\";\n\nexport default function(config) {\n  // if (config.type === 'pie') {\n  // return buildAxisPie(config)\n  // }\n  return buildAxisLinear(config);\n}\n","import React from 'react'\n//\nimport buildAxis from '../../utils/buildAxis'\n\nexport default ({\n  axes,\n  materializedData,\n  gridHeight,\n  gridWidth,\n  axisDimensions,\n}) => {\n  // Detect axes changes and build axes\n  let prePrimaryAxes = axes.filter(d => d.primary)\n  let preSecondaryAxes = axes.filter(d => !d.primary)\n\n  const primaryAxesHashes = JSON.stringify(prePrimaryAxes)\n  const secondaryAxesHashes = JSON.stringify(preSecondaryAxes)\n\n  // Calculate primary axes\n  const primaryAxes = React.useMemo(\n    () => {\n      return prePrimaryAxes.map((axis, i) => {\n        return buildAxis({\n          axis,\n          materializedData,\n          gridWidth,\n          gridHeight,\n          axisDimensions,\n        })\n      })\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [primaryAxesHashes, materializedData, gridHeight, gridWidth]\n  )\n  // Calculate secondary axes\n  const secondaryAxes = React.useMemo(\n    () => {\n      return preSecondaryAxes.map((axis, i) => {\n        return buildAxis({\n          axis,\n          primaryAxes,\n          materializedData,\n          gridWidth,\n          gridHeight,\n          axisDimensions,\n        })\n      })\n    },\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    [secondaryAxesHashes, materializedData, gridHeight, gridWidth]\n  )\n\n  // Make sure we're mapping x and y to the correct axes\n  const xKey = primaryAxes.find(d => d.vertical) ? 'secondary' : 'primary'\n  const yKey = primaryAxes.find(d => d.vertical) ? 'primary' : 'secondary'\n  const xAxes = primaryAxes.find(d => d.vertical) ? secondaryAxes : primaryAxes\n  const yAxes = primaryAxes.find(d => d.vertical) ? primaryAxes : secondaryAxes\n\n  return {\n    primaryAxes,\n    secondaryAxes,\n    xKey,\n    yKey,\n    xAxes,\n    yAxes,\n  }\n}\n","import React from 'react'\n//\nimport Utils from '../../utils/Utils'\n\nimport {\n  groupingSingle,\n  groupingSeries,\n  groupingPrimary,\n  groupingSecondary\n} from '../../utils/Constants'\n\nconst defaultColors = [\n  '#4ab5eb',\n  '#fc6868',\n  '#DECF3F',\n  '#60BD68',\n  '#FAA43A',\n  '#c63b89',\n  '#1aaabe',\n  '#734fe9',\n  '#1828bd',\n  '#cd82ad'\n]\n\nexport default ({\n  materializedData,\n  primaryAxes,\n  secondaryAxes,\n  yAxes,\n  yKey,\n  xAxes,\n  xKey,\n  grouping\n}) => {\n  // Make stackData\n  return React.useMemo(() => {\n    // We need materializedData and both axes to continue\n    if (!primaryAxes.length || !secondaryAxes.length) {\n      throw new Error('A primary and secondary axis is required!')\n    }\n\n    // If the axes are ready, let's decorate the materializedData for visual plotting\n    // \"totals\" are kept per secondaryAxis and used for bases if secondaryAxis stacking is enabled\n    const scaleTotals = secondaryAxes.map(() => ({}))\n    materializedData.forEach(series => {\n      const axisIndex = Utils.getAxisIndexByAxisID(\n        secondaryAxes,\n        series.secondaryAxisID\n      )\n      series.datums.forEach(datum => {\n        scaleTotals[axisIndex][datum.primary] = {\n          negative: 0,\n          positive: 0\n        }\n      })\n    })\n\n    // Determine the correct primary and secondary values for each axis\n    // Also calculate bases and totals if either axis is stacked\n    let stackData = materializedData.map(series => {\n      const primaryAxisIndex = Utils.getAxisIndexByAxisID(\n        primaryAxes,\n        series.primaryAxisID\n      )\n      const primaryAxis = primaryAxes[primaryAxisIndex]\n      const secondaryAxisIndex = Utils.getAxisIndexByAxisID(\n        secondaryAxes,\n        series.secondaryAxisID\n      )\n      const secondaryAxis = secondaryAxes[secondaryAxisIndex]\n      return {\n        ...series,\n        primaryAxis,\n        secondaryAxis,\n        datums: series.datums.map(d => {\n          const datum = {\n            ...d,\n            primaryAxis,\n            secondaryAxis,\n            xValue: d[xKey],\n            yValue: d[yKey],\n            baseValue: 0\n          }\n          if (secondaryAxis.stacked) {\n            const start = scaleTotals[secondaryAxisIndex][d.primary]\n            // Stack the x or y values (according to axis positioning)\n            if (primaryAxis.vertical) {\n              // Is this a valid point?\n              const validPoint = Utils.isValidPoint(datum.xValue)\n              // Should we use positive or negative base?\n              const totalKey = datum.xValue >= 0 ? 'positive' : 'negative'\n              // Assign the base\n              datum.baseValue = start[totalKey]\n              // Add the value for a total\n              datum.totalValue =\n                datum.baseValue + (validPoint ? datum.xValue : 0)\n              // Update the totals\n              scaleTotals[secondaryAxisIndex][d.primary][totalKey] =\n                datum.totalValue\n              // Make the total the new value\n              datum.xValue = validPoint ? datum.totalValue : null\n            } else {\n              // Is this a valid point?\n              const validPoint = Utils.isValidPoint(datum.yValue)\n              // Should we use positive or negative base?\n              const totalKey = datum.yValue >= 0 ? 'positive' : 'negative'\n              // Assign the base\n              datum.baseValue = start[totalKey]\n              // Add the value to the base\n              datum.totalValue =\n                datum.baseValue + (validPoint ? datum.yValue : 0)\n              // Update the totals\n              scaleTotals[secondaryAxisIndex][d.primary][totalKey] =\n                datum.totalValue\n              // Make the total the new value\n              datum.yValue = validPoint ? datum.totalValue : null\n            }\n          }\n          return datum\n        })\n      }\n    })\n\n    stackData.forEach(series => {\n      series.datums.forEach(datum => {\n        datum.series = series\n      })\n    })\n\n    // Use the plotDatum method on each series\n    stackData.forEach((series, i) => {\n      if (!series.Component.plotDatum) {\n        throw new Error(\n          `Could not find a [SeriesType].plotDatum() static method for the series Component above (index: ${i})`\n        )\n      }\n\n      const primaryAxisIndex = Utils.getAxisIndexByAxisID(\n        primaryAxes,\n        series.primaryAxisID\n      )\n      const secondaryAxisIndex = Utils.getAxisIndexByAxisID(\n        secondaryAxes,\n        series.secondaryAxisID\n      )\n\n      const primaryAxis = primaryAxes[primaryAxisIndex]\n      const secondaryAxis = secondaryAxes[secondaryAxisIndex]\n\n      const xAxisIndex = Utils.getAxisIndexByAxisID(\n        xAxes,\n        series[`${xKey}AxisID`]\n      )\n      const yAxisIndex = Utils.getAxisIndexByAxisID(\n        yAxes,\n        series[`${yKey}AxisID`]\n      )\n\n      const xAxis = xAxes[xAxisIndex]\n      const yAxis = yAxes[yAxisIndex]\n\n      series.datums = series.datums.map(d => {\n        // Data for cartesian charts\n        const result = series.Component.plotDatum(d, {\n          primaryAxis,\n          secondaryAxis,\n          xAxis,\n          yAxis\n        })\n\n        return result || d\n      })\n    })\n\n    // Do any data grouping ahead of time using\n    if ([groupingSingle, groupingSeries].includes(grouping)) {\n      for (let seriesIndex = 0; seriesIndex < stackData.length; seriesIndex++) {\n        const series = stackData[seriesIndex]\n        for (\n          let datumIndex = 0;\n          datumIndex < series.datums.length;\n          datumIndex++\n        ) {\n          const datum = series.datums[datumIndex]\n          datum.group =\n            grouping === groupingSeries ? datum.series.datums : [datum]\n        }\n      }\n    } else if ([groupingPrimary, groupingSecondary].includes(grouping)) {\n      const datumsByGrouping = {}\n\n      for (let seriesIndex = 0; seriesIndex < stackData.length; seriesIndex++) {\n        const series = stackData[seriesIndex]\n\n        for (\n          let datumIndex = 0;\n          datumIndex < series.datums.length;\n          datumIndex++\n        ) {\n          const datum = series.datums[datumIndex]\n          if (!datum.defined) {\n            continue\n          }\n          const axisKey = String(\n            grouping === groupingPrimary ? datum.primary : datum.secondary\n          )\n\n          datumsByGrouping[axisKey] = datumsByGrouping[axisKey] || []\n          datumsByGrouping[axisKey].push(datum)\n        }\n      }\n\n      for (let seriesIndex = 0; seriesIndex < stackData.length; seriesIndex++) {\n        const series = stackData[seriesIndex]\n        for (\n          let datumIndex = 0;\n          datumIndex < series.datums.length;\n          datumIndex++\n        ) {\n          const datum = series.datums[datumIndex]\n          const axisKey = String(\n            grouping === groupingPrimary ? datum.primary : datum.secondary\n          )\n\n          datum.group = datumsByGrouping[axisKey]\n        }\n      }\n    }\n\n    // Not we need to precalculate all of the possible status styles by\n    // calling the seemingly 'live' getSeriesStyle, and getDatumStyle callbacks ;)\n    stackData = stackData.map((series, i) => {\n      if (!series.Component.buildStyles) {\n        throw new Error(\n          `Could not find a SeriesType.buildStyles() static method for the series Component above (index: ${i})`\n        )\n      }\n      const result = series.Component.buildStyles(series, {\n        defaultColors\n      })\n\n      return result || series\n    })\n\n    return stackData\n  }, [\n    primaryAxes,\n    secondaryAxes,\n    materializedData,\n    grouping,\n    xKey,\n    yKey,\n    xAxes,\n    yAxes\n  ])\n}\n","import React from 'react'\n//\n//\nimport {\n  groupingSeries,\n  groupingPrimary,\n  groupingSecondary,\n} from '../utils/Constants'\n\nconst showCount = 10\n\nfunction getSecondaryFormatter(datum, formatSecondary) {\n  return (\n    formatSecondary ||\n    datum.secondaryAxis.format ||\n    (val => (Math.floor(val) < val ? Math.round(val * 100) / 100 : val))\n  )\n}\n\nexport default function TooltipRenderer(props) {\n  const {\n    datum,\n    grouping,\n    primaryAxis,\n    secondaryAxis,\n    formatSecondary,\n    formatTertiary,\n    getStyle,\n    dark,\n  } = props\n\n  if (!datum) {\n    return null\n  }\n\n  const resolvedFormatTertiary =\n    formatTertiary ||\n    (val => (Math.floor(val) < val ? Math.round(val * 100) / 100 : val))\n\n  const sortedGroupDatums = [...datum.group].sort((a, b) => {\n    if (\n      (!primaryAxis.stacked && grouping === groupingSeries) ||\n      grouping === groupingSecondary\n    ) {\n      if (a.primaryCoord > b.primaryCoord) {\n        return -1\n      } else if (a.primaryCoord < b.primaryCoord) {\n        return 1\n      }\n    } else if (!secondaryAxis.stacked) {\n      if (a.secondaryCoord > b.secondaryCoord) {\n        return -1\n      } else if (a.secondaryCoord < b.secondaryCoord) {\n        return 1\n      }\n    }\n    return a.seriesIndex > b.seriesIndex ? 1 : -1\n  })\n\n  if (grouping === groupingPrimary) {\n    sortedGroupDatums.reverse()\n  }\n\n  if (secondaryAxis.invert) {\n    sortedGroupDatums.reverse()\n  }\n\n  const resolvedShowCount = showCount % 2 === 0 ? showCount : showCount + 1\n  const length = sortedGroupDatums.length\n\n  // Get the focused series' index\n  const activeIndex = sortedGroupDatums.findIndex(d => d === datum)\n  // Get the start by going back half of the showCount\n  let start = activeIndex > -1 ? activeIndex - resolvedShowCount / 2 : 0\n  // Make sure it's at least 0\n  start = Math.max(start, 0)\n  // Use the start and add the showCount to get the end\n  let end = activeIndex > -1 ? start + resolvedShowCount : length\n  // Don't let the end go passed the length\n  end = Math.min(end, length)\n  // Double check we aren't clipping the start\n  start = Math.max(end - resolvedShowCount, 0)\n  // Slice the datums by start and end\n  const visibleSortedGroupDatums = sortedGroupDatums.slice(start, end)\n  // Detect if we have previous items\n  const hasPrevious = start > 0\n  // Or next items\n  const hasNext = end < length\n\n  return (\n    <div>\n      <div\n        style={{\n          marginBottom: '3px',\n          textAlign: 'center',\n        }}\n      >\n        {grouping === groupingSeries ? (\n          <strong>{datum.seriesLabel}</strong>\n        ) : grouping === groupingSecondary ? (\n          <strong>{datum.secondaryAxis.format(datum.secondary)}</strong>\n        ) : (\n          <strong>{datum.primaryAxis.format(datum.primary)}</strong>\n        )}\n      </div>\n      <table\n        style={{\n          whiteSpace: 'nowrap',\n        }}\n      >\n        <tbody>\n          {hasPrevious ? (\n            <tr\n              style={{\n                opacity: 0.8,\n              }}\n            >\n              <td />\n              <td>...</td>\n              <td />\n            </tr>\n          ) : null}\n          {visibleSortedGroupDatums.map((sortedDatum, i) => {\n            const active = sortedDatum === datum\n            const resolvedSecondaryFormat = getSecondaryFormatter(\n              sortedDatum,\n              formatSecondary\n            )\n\n            return (\n              <tr\n                key={i}\n                style={{\n                  opacity: active ? 1 : 0.8,\n                  fontWeight: active && 'bold',\n                }}\n              >\n                <td\n                  style={{\n                    display: 'flex',\n                    alignItems: 'center',\n                    justifyContent: 'center',\n                    marginRight: '5px',\n                  }}\n                >\n                  <svg width=\"16\" height=\"16\">\n                    <circle\n                      cx=\"8\"\n                      cy=\"8\"\n                      r=\"7\"\n                      style={{\n                        ...getStyle(sortedDatum),\n                        stroke: dark ? 'black' : 'white',\n                        strokeWidth: active ? 2 : 1,\n                      }}\n                    />\n                  </svg>\n                </td>\n                {grouping === groupingSeries ? (\n                  <React.Fragment>\n                    <td>{primaryAxis.format(sortedDatum.primary)}: &nbsp;</td>\n                    <td\n                      style={{\n                        textAlign: 'right',\n                      }}\n                    >\n                      {resolvedSecondaryFormat(sortedDatum.secondary)}\n                      {sortedDatum.r\n                        ? ` (${resolvedFormatTertiary(sortedDatum.r)})`\n                        : null}\n                    </td>\n                  </React.Fragment>\n                ) : grouping === groupingSecondary ? (\n                  <React.Fragment>\n                    <td>{sortedDatum.seriesLabel}: &nbsp;</td>\n                    <td\n                      style={{\n                        textAlign: 'right',\n                      }}\n                    >\n                      {primaryAxis.format(sortedDatum.primary)}\n                      {sortedDatum.r\n                        ? ` (${resolvedFormatTertiary(sortedDatum.r)})`\n                        : null}\n                    </td>\n                  </React.Fragment>\n                ) : (\n                  <React.Fragment>\n                    <td>{sortedDatum.seriesLabel}: &nbsp;</td>\n                    <td\n                      style={{\n                        textAlign: 'right',\n                      }}\n                    >\n                      {resolvedSecondaryFormat(sortedDatum.secondary)}\n                      {sortedDatum.r\n                        ? ` (${resolvedFormatTertiary(sortedDatum.r)})`\n                        : null}\n                    </td>\n                  </React.Fragment>\n                )}\n              </tr>\n            )\n          })}\n          {hasNext ? (\n            <tr\n              style={{\n                opacity: 0.8,\n              }}\n            >\n              <td />\n              <td>...</td>\n              <td />\n            </tr>\n          ) : null}\n          {secondaryAxis && secondaryAxis.stacked && datum.group.length > 1 ? (\n            <tr>\n              <td\n                style={{\n                  paddingTop: '5px',\n                }}\n              >\n                <div\n                  style={{\n                    width: '12px',\n                    height: '12px',\n                    backgroundColor: dark\n                      ? 'rgba(0, 26, 39, 0.3)'\n                      : 'rgba(255,255,255,.2)',\n                    borderRadius: '50px',\n                  }}\n                />\n              </td>\n              <td\n                style={{\n                  paddingTop: '5px',\n                }}\n              >\n                Total: &nbsp;\n              </td>\n              <td\n                style={{\n                  paddingTop: '5px',\n                }}\n              >\n                {secondaryAxis.format([...datum.group].reverse()[0].totalValue)}\n              </td>\n            </tr>\n          ) : null}\n        </tbody>\n      </table>\n    </div>\n  )\n}\n","import React from 'react'\n//\nimport Utils from '../../utils/Utils'\n\nimport TooltipRenderer from '../TooltipRenderer'\n\nimport {\n  alignAuto,\n  alignRight,\n  alignTopRight,\n  alignBottomRight,\n  alignLeft,\n  alignTopLeft,\n  alignBottomLeft,\n  alignTop,\n  alignBottom,\n} from '../../utils/Constants'\n\nexport default ({ focused, tooltip, pointer, gridWidth, gridHeight }) => {\n  return React.useMemo(() => {\n    if (!tooltip) {\n      return null\n    }\n    // Default tooltip props\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    tooltip = {\n      align: alignAuto,\n      alignPriority: [\n        alignRight,\n        alignTopRight,\n        alignBottomRight,\n        alignLeft,\n        alignTopLeft,\n        alignBottomLeft,\n        alignTop,\n        alignBottom,\n      ],\n      padding: 5,\n      tooltipArrowPadding: 7,\n      anchor: 'closest',\n      render: TooltipRenderer,\n      onChange: () => {},\n      ...tooltip,\n    }\n    let anchor = {}\n    let show = true\n\n    // If there is a focused datum, default the focus to its x and y\n    if (focused) {\n      anchor = focused.anchor\n    } else {\n      show = false\n    }\n\n    if (tooltip.anchor === 'pointer') {\n      // Support pointer-bound focus\n      anchor = pointer\n    } else if (tooltip.anchor === 'closest') {\n      // Do nothing, this is already calculated\n    } else if (focused) {\n      // Support manual definition of focus point using relative multiFocus strategy\n      const multiFocus = Array.isArray(tooltip.anchor)\n        ? [...tooltip.anchor]\n        : [tooltip.anchor]\n      anchor = Utils.getMultiAnchor({\n        anchor: multiFocus,\n        points: focused.group,\n        gridWidth,\n        gridHeight,\n      })\n    }\n\n    anchor = anchor\n      ? {\n          horizontalPadding: anchor.horizontalPadding || 0,\n          verticalPadding: anchor.verticalPadding || 0,\n          ...anchor,\n        }\n      : anchor\n\n    return {\n      ...tooltip,\n      anchor,\n      show,\n    }\n  }, [focused, gridHeight, gridWidth, pointer, tooltip])\n}\n","import React from 'react'\n\nimport Utils from '../../utils/Utils'\n\nconst defaultCursorProps = {\n  render: ({ formattedValue }) => <span>{formattedValue}</span>,\n  snap: true,\n  showLine: true,\n  showLabel: true,\n  axisID: undefined,\n  onChange: () => {},\n}\n\nexport default ({\n  primaryCursor,\n  secondaryCursor,\n  primaryAxes,\n  secondaryAxes,\n  focused,\n  pointer,\n  gridWidth,\n  gridHeight,\n  stackData,\n}) => {\n  return [primaryCursor, secondaryCursor].map((cursor, i) => {\n    const cursorValue = cursor && cursor.value\n\n    return React.useMemo(() => {\n      if (!cursor) {\n        return\n      }\n      const primary = i === 0\n      // eslint-disable-next-line react-hooks/exhaustive-deps\n      cursor = {\n        ...defaultCursorProps,\n        ...cursor,\n        primary,\n      }\n\n      let value\n      let show = false\n\n      // Determine the axis to use\n      const axis = Utils.getAxisByAxisID(\n        primary ? primaryAxes : secondaryAxes,\n        cursor.axisID || focused\n          ? focused.series[primary ? 'primaryAxisID' : 'secondaryAxisID']\n          : undefined\n      )\n\n      const siblingAxis = primary ? secondaryAxes[0] : primaryAxes[0]\n\n      // Resolve the invert function\n      const invert = axis.scale.invert || (d => d)\n\n      // If the pointer is active, try to show\n      if (pointer.active) {\n        // Default to cursor x and y\n        let x = pointer.x\n        let y = pointer.y\n        // If the cursor isn't in the grid, don't display\n        if (x < -1 || x > gridWidth + 1 || y < -1 || y > gridHeight + 1) {\n          show = false\n        } else {\n          show = true\n        }\n\n        // Implement snapping\n        if (axis.type === 'ordinal' || cursor.snap) {\n          if (!focused) {\n            show = false\n          } else {\n            if (axis.vertical) {\n              value = focused.yValue\n            } else {\n              value = focused.xValue\n            }\n          }\n        } else if (axis.vertical) {\n          value = invert(y)\n        } else {\n          value = invert(x)\n        }\n      } else {\n        show = false\n      }\n\n      let resolvedShow = show\n      let resolvedValue = value\n\n      if (typeof cursor.value !== 'undefined' && cursor.value !== null) {\n        resolvedValue = cursor.value\n\n        if (typeof cursor.show !== 'undefined') {\n          resolvedShow = cursor.show\n        } else {\n          resolvedShow = true\n        }\n\n        if (typeof axis.scale(resolvedValue) === 'undefined') {\n          resolvedShow = false\n        }\n      }\n\n      return {\n        ...cursor,\n        axis,\n        siblingAxis,\n        show,\n        value,\n        resolvedShow,\n        resolvedValue,\n      }\n    }, [stackData, pointer, cursorValue])\n  })\n}\n","import React from 'react'\n//\nimport ChartContext from '../utils/ChartContext'\nimport Utils from '../utils/Utils'\n\nimport useHyperResponsive from '../hooks/useHyperResponsive'\nimport useLatestRef from '../hooks/useLatestRef'\nimport useLatest from '../hooks/useLatest'\nimport usePrevious from '../hooks/usePrevious'\n\nimport ChartInner from './ChartInner'\n\nimport useMaterializeData from './pipeline/useMaterializeData'\nimport useSeriesOptions from './pipeline/useSeriesOptions'\nimport useSeriesTypes from './pipeline/useSeriesTypes'\nimport useDimensions from './pipeline/useDimensions'\nimport useAxes from './pipeline/useAxes'\nimport useStackData from './pipeline/useStackData'\nimport useTooltip from './pipeline/useTooltip'\nimport useCursors from './pipeline/useCursors'\n\nimport {\n  groupingPrimary,\n  focusAuto,\n  focusElement,\n  focusClosest,\n} from '../utils/Constants'\n\nconst defaultProps = {\n  getDatums: d => (Array.isArray(d) ? d : d.datums || d.data),\n  getLabel: (d, i) => d.label || `Series ${i + 1}`,\n  getSeriesID: (d, i) => i,\n  getPrimary: d => (Array.isArray(d) ? d[0] : d.primary || d.x),\n  getSecondary: d => (Array.isArray(d) ? d[1] : d.secondary || d.y),\n  getR: d => (Array.isArray(d) ? d[2] : d.radius || d.r),\n  getPrimaryAxisID: s => s.primaryAxisID,\n  getSecondaryAxisID: s => s.secondaryAxisID,\n  getSeriesStyle: series => ({ color: series.originalSeries.color }),\n  getDatumStyle: () => ({}),\n  getSeriesOrder: d => d,\n  onHover: () => {},\n  grouping: groupingPrimary,\n  focus: focusAuto,\n  showVoronoi: false,\n}\n\nexport default function Chart({\n  data,\n  grouping,\n  focus,\n  showVoronoi,\n  dark,\n  series,\n  axes,\n  primaryCursor,\n  secondaryCursor,\n  tooltip,\n  brush,\n  renderSVG,\n  getDatums,\n  getLabel,\n  getSeriesID,\n  getPrimary,\n  getSecondary,\n  getR,\n  getPrimaryAxisID,\n  getSecondaryAxisID,\n  getSeriesStyle,\n  getDatumStyle,\n  onClick,\n  onFocus,\n  onHover,\n  getSeriesOrder,\n  ...rest\n}) {\n  let [\n    { focused, element, axisDimensions, offset: offsetState, padding, pointer },\n    setChartState,\n  ] = React.useState({\n    focused: null,\n    element: null,\n    axisDimensions: {},\n    padding: {},\n    offset: {},\n    pointer: {},\n  })\n\n  const onClickRef = useLatestRef(onClick)\n  const onFocusRef = useLatestRef(onFocus)\n  const onHoverRef = useLatestRef(onHover)\n\n  const responsiveElRef = React.useRef()\n  const { width, height } = useHyperResponsive(responsiveElRef)\n\n  getSeriesID = React.useCallback(Utils.normalizeGetter(getSeriesID), [\n    getSeriesID,\n  ])\n  getLabel = React.useCallback(Utils.normalizeGetter(getLabel), [getLabel])\n  getPrimaryAxisID = React.useCallback(\n    Utils.normalizeGetter(getPrimaryAxisID),\n    [getPrimaryAxisID]\n  )\n  getSecondaryAxisID = React.useCallback(\n    Utils.normalizeGetter(getSecondaryAxisID),\n    [getSecondaryAxisID]\n  )\n  getDatums = React.useCallback(Utils.normalizeGetter(getDatums), [getDatums])\n  getPrimary = React.useCallback(Utils.normalizeGetter(getPrimary), [\n    getPrimary,\n  ])\n  getSecondary = React.useCallback(Utils.normalizeGetter(getSecondary), [\n    getSecondary,\n  ])\n  getR = React.useCallback(Utils.normalizeGetter(getR), [getR])\n\n  let materializedData = useMaterializeData({\n    data,\n    getSeriesID,\n    getLabel,\n    getPrimaryAxisID,\n    getSecondaryAxisID,\n    getDatums,\n    getPrimary,\n    getSecondary,\n    getR,\n  })\n\n  const seriesOptions = useSeriesOptions({\n    materializedData,\n    series,\n  })\n\n  materializedData = useSeriesTypes({\n    materializedData,\n    seriesOptions,\n  })\n\n  const { offset, gridX, gridY, gridWidth, gridHeight } = useDimensions({\n    width,\n    height,\n    axisDimensions,\n    padding,\n    offset: offsetState,\n  })\n\n  const { primaryAxes, secondaryAxes, xKey, yKey, xAxes, yAxes } = useAxes({\n    axes,\n    materializedData,\n    gridHeight,\n    gridWidth,\n    axisDimensions,\n  })\n\n  const stackData = useStackData({\n    materializedData,\n    primaryAxes,\n    secondaryAxes,\n    yAxes,\n    yKey,\n    xAxes,\n    xKey,\n    grouping,\n  })\n\n  pointer = React.useMemo(() => {\n    return {\n      ...pointer,\n      axisValues: [...primaryAxes, ...secondaryAxes].map(axis => ({\n        axis,\n        value: axis.scale.invert\n          ? axis.scale.invert(pointer[axis.vertical ? 'y' : 'x'])\n          : null,\n      })),\n    }\n  }, [pointer, primaryAxes, secondaryAxes])\n\n  focused = React.useMemo(() => {\n    // Get the closest focus datum out of the datum group\n    if (focused || element) {\n      let resolvedFocus = focus\n\n      if (focus === focusAuto) {\n        if (element) {\n          resolvedFocus = focusElement\n        } else {\n          resolvedFocus = focusClosest\n        }\n      }\n\n      if (resolvedFocus === focusElement && element) {\n        return element\n      } else if (resolvedFocus === focusClosest) {\n        return Utils.getClosestPoint(pointer, focused.group)\n      }\n    }\n    return null\n  }, [element, focus, focused, pointer])\n\n  // keep the previous focused value around for animations\n  const latestFocused = useLatest(focused, focused)\n\n  // Calculate Tooltip\n  tooltip = useTooltip({\n    focused,\n    tooltip,\n    pointer,\n    gridWidth,\n    gridHeight,\n  })\n\n  // Cursors\n  ;[primaryCursor, secondaryCursor] = useCursors({\n    primaryCursor,\n    secondaryCursor,\n    primaryAxes,\n    secondaryAxes,\n    focused,\n    pointer,\n    gridWidth,\n    gridHeight,\n    stackData,\n  })\n\n  React.useEffect(() => {\n    if (onFocusRef.current) {\n      onFocusRef.current(focused)\n    }\n  }, [onFocusRef, focused])\n\n  React.useEffect(() => {\n    if (onHoverRef.current) {\n      onHoverRef.current(pointer)\n    }\n  }, [onHoverRef, pointer])\n\n  const previousDragging = usePrevious(pointer.dragging)\n\n  React.useEffect(() => {\n    if (brush && previousDragging && !pointer.dragging) {\n      if (Math.abs(pointer.sourceX - pointer.x) < 20) {\n        return\n      }\n      brush.onSelect({\n        pointer: pointer.released,\n        start: primaryAxes[0].scale.invert(pointer.sourceX),\n        end: primaryAxes[0].scale.invert(pointer.x),\n      })\n    }\n  }, [\n    brush,\n    pointer,\n    pointer.released,\n    pointer.sourceX,\n    pointer.x,\n    previousDragging,\n    primaryAxes,\n  ])\n\n  // Decorate the chartState with computed values (or ones we just\n  // want to pass down through context)\n  const chartState = React.useMemo(\n    () => ({\n      focused,\n      latestFocused,\n      pointer,\n      tooltip,\n      axisDimensions,\n      offset,\n      padding,\n      width,\n      height,\n      brush,\n      grouping,\n      showVoronoi,\n      materializedData,\n      stackData,\n      primaryAxes,\n      secondaryAxes,\n      primaryCursor,\n      secondaryCursor,\n      gridX,\n      gridY,\n      gridWidth,\n      gridHeight,\n      dark,\n      renderSVG,\n      xKey,\n      yKey,\n      xAxes,\n      yAxes,\n      onClickRef,\n      getSeriesStyle,\n      getDatumStyle,\n      seriesOptions,\n      getSeriesOrder,\n    }),\n    [\n      axisDimensions,\n      brush,\n      dark,\n      focused,\n      getDatumStyle,\n      getSeriesOrder,\n      getSeriesStyle,\n      gridHeight,\n      gridWidth,\n      gridX,\n      gridY,\n      grouping,\n      height,\n      latestFocused,\n      materializedData,\n      offset,\n      onClickRef,\n      padding,\n      pointer,\n      primaryAxes,\n      primaryCursor,\n      renderSVG,\n      secondaryAxes,\n      secondaryCursor,\n      seriesOptions,\n      showVoronoi,\n      stackData,\n      tooltip,\n      width,\n      xAxes,\n      xKey,\n      yAxes,\n      yKey,\n    ]\n  )\n\n  const chartStateContextValue = React.useMemo(\n    () => [chartState, setChartState],\n    [chartState, setChartState]\n  )\n\n  return (\n    <ChartContext.Provider value={chartStateContextValue}>\n      <ChartInner\n        ref={responsiveElRef}\n        {...rest}\n        onClick={e => {\n          if (onClickRef.current) {\n            onClickRef.current(focused)\n          }\n        }}\n      />\n    </ChartContext.Provider>\n  )\n}\n\nChart.defaultProps = defaultProps\n","import React from 'react'\n//\n\nexport default ({\n  data,\n  getSeriesID,\n  getLabel,\n  getPrimaryAxisID,\n  getSecondaryAxisID,\n  getDatums,\n  getPrimary,\n  getSecondary,\n  getR\n}) => {\n  return React.useMemo(() => {\n    const materializedData = []\n\n    // First access the data, and provide it to the context\n    for (let seriesIndex = 0; seriesIndex < data.length; seriesIndex++) {\n      const originalSeries = data[seriesIndex]\n      const seriesID = getSeriesID(originalSeries, seriesIndex, data)\n      const seriesLabel = getLabel(originalSeries, seriesIndex, data)\n      const primaryAxisID = getPrimaryAxisID(originalSeries, seriesIndex, data)\n      const secondaryAxisID = getSecondaryAxisID(\n        originalSeries,\n        seriesIndex,\n        data\n      )\n      const originalDatums = getDatums(originalSeries, seriesIndex, data)\n      const datums = []\n\n      for (\n        let datumIndex = 0;\n        datumIndex < originalDatums.length;\n        datumIndex++\n      ) {\n        const originalDatum = originalDatums[datumIndex]\n        datums[datumIndex] = {\n          originalSeries,\n          seriesIndex,\n          seriesID,\n          seriesLabel,\n          index: datumIndex,\n          originalDatum,\n          primary: getPrimary(\n            originalDatum,\n            datumIndex,\n            originalSeries,\n            seriesIndex,\n            data\n          ),\n          secondary: getSecondary(\n            originalDatum,\n            datumIndex,\n            originalSeries,\n            seriesIndex,\n            data\n          ),\n          r: getR(originalDatum, datumIndex, originalSeries, seriesIndex, data)\n        }\n      }\n\n      materializedData[seriesIndex] = {\n        originalSeries,\n        index: seriesIndex,\n        id: seriesID,\n        label: seriesLabel,\n        primaryAxisID,\n        secondaryAxisID,\n        datums\n      }\n    }\n\n    return materializedData\n  }, [\n    data,\n    getDatums,\n    getLabel,\n    getPrimary,\n    getPrimaryAxisID,\n    getR,\n    getSecondary,\n    getSecondaryAxisID,\n    getSeriesID\n  ])\n}\n","import React from 'react'\n\nexport default ({ materializedData, seriesOptions }) =>\n  React.useMemo(() => {\n    return materializedData\n      .map((series, i) => {\n        series.Component = seriesOptions[i].renderer\n        return series\n      })\n      .map((series, i, all) => {\n        const seriesTypeIndex = all.filter(\n          (d, j) => j < i && d.Component === series.Component\n        ).length\n        return {\n          ...series,\n          seriesTypeIndex,\n          datums: series.datums.map(datum => ({\n            ...datum,\n            seriesTypeIndex\n          }))\n        }\n      })\n  }, [materializedData, seriesOptions])\n","import React from 'react'\n\nimport Utils from '../../utils/Utils'\n\nexport default ({ width, height, axisDimensions, padding, offset }) => {\n  offset = React.useMemo(() => {\n    return {\n      left: offset.left || 0,\n      top: offset.top || 0\n    }\n  }, [offset])\n\n  const { gridX, gridY, gridWidth, gridHeight } = React.useMemo(() => {\n    // Left\n    const axesLeftWidth =\n      (axisDimensions.left && Utils.sumObjBy(axisDimensions.left, 'width')) || 0\n    const axesLeftTop =\n      (axisDimensions.left && Utils.sumObjBy(axisDimensions.left, 'top')) || 0\n    const axesLeftBottom =\n      (axisDimensions.left && Utils.sumObjBy(axisDimensions.left, 'bottom')) ||\n      0\n\n    // Right\n    const axesRightWidth =\n      (axisDimensions.right && Utils.sumObjBy(axisDimensions.right, 'width')) ||\n      0\n    const axesRightTop =\n      (axisDimensions.right && Utils.sumObjBy(axisDimensions.right, 'top')) || 0\n    const axesRightBottom =\n      (axisDimensions.right &&\n        Utils.sumObjBy(axisDimensions.right, 'bottom')) ||\n      0\n\n    // Top\n    const axesTopHeight =\n      (axisDimensions.top && Utils.sumObjBy(axisDimensions.top, 'height')) || 0\n    const axesTopLeft =\n      (axisDimensions.top && Utils.sumObjBy(axisDimensions.top, 'left')) || 0\n    const axesTopRight =\n      (axisDimensions.top && Utils.sumObjBy(axisDimensions.top, 'right')) || 0\n\n    // Bottom\n    const axesBottomHeight =\n      (axisDimensions.bottom &&\n        Utils.sumObjBy(axisDimensions.bottom, 'height')) ||\n      0\n    const axesBottomLeft =\n      (axisDimensions.bottom &&\n        Utils.sumObjBy(axisDimensions.bottom, 'left')) ||\n      0\n    const axesBottomRight =\n      (axisDimensions.bottom &&\n        Utils.sumObjBy(axisDimensions.bottom, 'right')) ||\n      0\n\n    const paddingLeft = padding.left || 0\n    const paddingRight = padding.right || 0\n    const paddingTop = padding.top || 0\n    const paddingBottom = padding.bottom || 0\n\n    const gridX =\n      paddingLeft + Math.max(axesLeftWidth, axesTopLeft, axesBottomLeft)\n\n    const gridY =\n      paddingTop + Math.max(axesTopHeight, axesLeftTop, axesRightTop)\n\n    const gridWidth =\n      width -\n      paddingLeft -\n      paddingRight -\n      Math.max(axesLeftWidth, axesTopLeft, axesBottomLeft) -\n      Math.max(axesRightWidth, axesTopRight, axesBottomRight)\n\n    const gridHeight =\n      height -\n      paddingTop -\n      paddingBottom -\n      Math.max(axesTopHeight, axesLeftTop, axesRightTop) -\n      Math.max(axesBottomHeight, axesLeftBottom, axesRightBottom)\n\n    return { gridX, gridY, gridWidth, gridHeight }\n  }, [width, height, axisDimensions, padding])\n\n  return {\n    offset,\n    gridX,\n    gridY,\n    gridWidth,\n    gridHeight\n  }\n}\n"],"names":["React","createContext","getStatus","getStatusStyle","buildStyleGetters","series","defaults","focused","decorator","status","style","datums","forEach","datum","getMultiAnchor","x","y","anchor","points","gridWidth","gridHeight","invalid","Error","JSON","stringify","xMin","xMax","yMin","yMax","point","Math","min","max","length","sort","a","includes","i","anchorPart","push","getClosestPoint","position","closestDistance","Infinity","closestDatum","boundingPoints","pointerPoint","distance","sqrt","normalizeGetter","getter","d","obj","path","def","e","val","pathObj","flattenDeep","arr","newArr","Array","isArray","join","replace","split","makePathArray","reduce","current","pathPart","get","isValidPoint","getAxisByAxisID","axes","AxisID","find","id","getAxisIndexByAxisID","index","findIndex","sumObjBy","str","Object","keys","map","key","prev","curr","translateX","round","translateY","translate","identity","shallowDiff","b","aKeys","bKeys","some","item","otherFocused","primary","group","seriesID","materializeStyles","normalizeColor","elementTypes","type","stroke","color","fill","rafId","props","observedNodes","Map","run","changedStates","state","node","newRect","getBoundingClientRect","prop","rectChanged","rect","cb","window","useLayoutEffect","useEffect","useRect","nodeRef","useState","_nodeRef$current","parentElement","element","setElement","width","height","setRect","initialRectSet","useRef","useIsomorphicLayoutEffect","_nodeRef$current3","observer","observe","wasEmpty","undefined","hasRectChanged","callbacks","unobserve","size","cancelAnimationFrame","useLatestRef","latest","ref","useLatest","when","usePrevious","now","require","root","global","vendors","suffix","raf","caf","last","queue","callback","_now","next","setTimeout","cp","slice","cancelled","handle","Raf","fn","call","cancel","apply","arguments","polyfill","object","requestAnimationFrame","defaultStyle","strokeWidth","opacity","rx","ry","Rectangle","x1","y1","x2","y2","rest","resolvedStyle","xStart","yStart","xEnd","yEnd","t","n","_","r","U","C","L","R","P","N","o","s","u","A","left","right","c","D","halfedges","h","l","f","g","p","site","atan2","prototype","constructor","insert","this","remove","arc","cy","v","E","m","pop","circle","M","w","edge","T","S","abs","unshift","k","F","splice","edges","cells","H","NaN","q","polygons","data","triangles","links","filter","source","target","_found","z","j","ceil","O","Z","I","$","V","isFinite","floor","reverse","log","LN10","pow","B","X","range","domain","W","Symbol","Q","set","has","from","unknown","copy","J","rangeRound","bandwidth","step","padding","paddingInner","paddingOuter","align","G","K","create","tt","nt","et","it","rt","ot","RegExp","st","ut","at","ht","ct","lt","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","ft","rgb","formatHex","_t","formatRgb","yt","trim","toLowerCase","exec","parseInt","gt","vt","pt","bt","hasOwnProperty","xt","dt","mt","wt","Mt","isNaN","toString","Ct","Tt","Nt","kt","St","assign","displayable","hex","formatHsl","brighter","darker","Dt","Ut","gamma","Lt","At","qt","Rt","Date","setTime","Et","Pt","Ft","Yt","Ht","lastIndex","ArrayBuffer","isView","DataView","valueOf","zt","jt","Ot","Zt","It","$t","Vt","Bt","interpolate","clamp","Xt","invert","Wt","Qt","toExponential","indexOf","Jt","Gt","Kt","tn","nn","sign","symbol","zero","comma","precision","en","rn","toFixed","toPrecision","toUpperCase","on","sn","un","an","hn","cn","_n","ticks","tickFormat","nice","gn","pn","xn","exp","dn","vn","mn","Mn","wn","log10","log2","base","grouping","thousands","Number","substring","currency","decimal","numerals","String","percent","minus","nan","test","charCodeAt","format","formatPrefix","ln","Tn","Cn","Nn","offset","count","every","kn","Un","getMilliseconds","getUTCSeconds","Sn","getSeconds","getMinutes","Dn","getHours","Ln","setHours","setDate","getDate","getTimezoneOffset","An","getDay","Rn","En","Pn","Fn","setMonth","getMonth","getFullYear","Yn","setFullYear","Hn","setUTCSeconds","getUTCMinutes","qn","setUTCMinutes","getUTCHours","zn","setUTCHours","setUTCDate","getUTCDate","jn","getUTCDay","On","Zn","In","$n","setUTCMonth","getUTCMonth","getUTCFullYear","Vn","setUTCFullYear","Bn","Xn","UTC","Wn","Qn","Jn","Gn","Kn","te","ne","ee","ie","re","oe","se","ue","ae","he","ce","le","fe","_e","ye","ge","pe","xe","de","ve","me","Me","we","be","Te","Ce","Ne","ke","Ue","Se","De","Le","Ae","Re","Ee","Pe","Fe","Ye","He","qe","ze","je","Oe","Ze","Ie","$e","Ve","Be","Xe","getUTCMilliseconds","We","Qe","Je","Ge","Ke","ti","ni","ei","ii","ri","oi","si","ui","ai","hi","ci","li","fi","dateTime","date","time","periods","days","shortDays","months","shortMonths","Y","charAt","parse","utcFormat","utcParse","gi","PI","pi","xi","di","_x0","_y0","_x1","_y1","vi","mi","ji","_context","Oi","Zi","Ii","$i","lineStart","lineEnd","defined","curve","context","Qi","Ji","bezierCurveTo","Gi","Ki","tr","nr","er","ir","rr","_basis","_beta","moveTo","closePath","lineTo","quadraticCurveTo","arcTo","acos","cos","sin","areaStart","_line","areaEnd","_point","_x2","_x3","_x4","_y2","_y3","_y4","_x","_y","or","beta","sr","_k","ur","ar","tension","hr","_x5","_y5","cr","lr","fr","_r","_l01_a","_l01_2a","_l12_a","_l12_2a","_l23_a","_l23_2a","yr","_alpha","gr","alpha","pr","xr","dr","vr","mr","Mr","wr","br","Tr","Cr","Nr","kr","Ur","Sr","Dr","Lr","Ar","Rr","Er","Pr","Fr","Yr","_t0","Path","lineFn","line","VoronoiElement","children","className","Voronoi","useContext","ChartContext","stackData","primaryAxes","secondaryAxes","showVoronoi","onFocus","onClick","tooltip","primaryCursor","secondaryCursor","setChartState","onHover","useCallback","needsVoronoi","useMemo","extent","voronoiData","boundingPoint","voronoi","onMouseEnter","onMouseLeave","Line","Component","fontFamily","fontSize","Text","forwardRef","positionTop","positionRight","positionBottom","positionLeft","groupingSingle","groupingSeries","groupingPrimary","groupingSecondary","alignAuto","alignRight","alignTopRight","alignBottomRight","alignLeft","alignTopLeft","alignBottomLeft","alignTop","alignBottom","axisTypeOrdinal","axisTypeTime","axisTypeUtc","axisTypeLinear","axisTypeLog","anchorPointer","anchorClosest","anchorCenter","anchorTop","anchorBottom","anchorLeft","anchorRight","anchorGridTop","anchorGridBottom","anchorGridLeft","anchorGridRight","focusAuto","focusClosest","focusElement","defaultStyles","tick","AxisLinear","axisPath","showGridLine","tickSizeInner","tickSizeOuter","show","showGrid","showTicks","styles","maxLabelRotation","labelRotationStep","tickPadding","tickCount","minTickCount","maxTickCount","scale","scaleMax","transform","vertical","range0","range1","directionMultiplier","tickOffset","gridOffset","spacing","rotation","setRotation","dark","axisDimensions","elRef","visibleLabelStepRef","measureDimensions","labelDims","querySelectorAll","el","tickSpace","calculatedTickCount","top","bottom","smallestTickGap","gap","firstLabelDim","lastLabelDim","largestLabel","_overflow","labelDim","largestLabelSize","newRotation","radiansToDegrees","newVisibleLabelStep","newDimensions","newAxes","previousRotation","axisStyles","Group","pointerEvents","Utils","dominantBaseline","textAnchor","Axis","getBackgroundColor","Tooltip","chartState","gridX","gridY","latestFocused","getDatumStyle","tooltipElRef","previousShowRef","alignPriority","tooltipArrowPadding","arrowPosition","render","finalAlign","setFinalAlign","space","container","gridDims","tooltipDims","document","body","getComputedStyle","overflowX","overflowY","containerDims","resolvedAlign","priority","fits","horizontalPadding","verticalPadding","resolvedFocused","alignX","alignY","triangleStyles","backgroundColor","resolvedArrowPosition","borderLeft","borderRight","borderTop","borderBottom","triangleSize","animateCoords","primaryAxis","primaryAxisID","secondaryAxis","secondaryAxisID","resolvedHorizontalPadding","resolvedVerticalPadding","renderProps","getStyle","renderedChildren","createElement","transition","background","borderRadius","getLineBackgroundColor","Cursor","cursor","showLine","showLabel","resolvedValue","snap","axis","siblingAxis","resolvedShow","latestValue","alignPctX","alignPctY","animated","siblingRange","cursorSize","formattedValue","stacked","totalValue","lineStartX","lineStartY","lineEndX","lineEndY","bubbleX","RTL","bubbleY","lineHeight","lineWidth","whiteSpace","Brush","pointer","brush","dragging","sourceX","renderSVG","seriesOptions","getSeriesOrder","svgRef","rafRef","onMouseMove","clientX","clientY","active","down","onMouseUp","removeEventListener","released","orderedStackData","_toConsumableArray","focusedSeriesIndex","stacks","stack","overflow","persist","onMouseDown","addEventListener","sourceY","usePropsMemo","watchRef","valueRef","useSeriesStyle","getSeriesStyle","useDatumStyle","Circle","cx","pathDefaultStyle","circleDefaultStyle","showPoints","pathProps","renderedPath","Point","dataStyle","circleProps","defaultProps","curveMonotoneX","plotDatum","xAxis","yAxis","primaryCoord","secondaryCoord","secondary","xValue","yValue","baseValue","buildStyles","defaultColors","Bubble","defaultAreaStyle","lineDefaultStyle","Area","showOrphans","areaFn","x0","y0","lineX0","lineY0","lineY1","lineX1","area","areaPath","linePath","areaPathProps","renderedAreaPath","linePathProps","renderedLinePath","all","OrphanLine","curveLinear","lineProps","Bar","barOffset","BarPiece","rectangleProps","rectangle","barSize","seriesBarSize","seriesBandScaleOffset","seriesBandScale","seriesTypeIndex","seriesTypes","bubble","bar","defaultSeries","scales","yn","bn","scaleBand","buildAxisLinear","userMin","userMax","hardMin","hardMax","tickValues","userFormat","innerPadding","outerPadding","userID","materializedData","valueKey","groupKey","AxisIDKey","detectVertical","detectRTL","uniqueVals","negativeTotalByKey","positiveTotalByKey","seriesIndex","datumIndex","value","values","bandScale","stepSize","defaultMin","defaultMax","scaleFormat","config","TooltipRenderer","formatSecondary","formatTertiary","resolvedFormatTertiary","sortedGroupDatums","activeIndex","start","resolvedShowCount","end","visibleSortedGroupDatums","hasPrevious","hasNext","marginBottom","textAlign","seriesLabel","sortedDatum","resolvedSecondaryFormat","getSecondaryFormatter","fontWeight","display","alignItems","justifyContent","marginRight","Fragment","paddingTop","defaultCursorProps","axisID","onChange","getDatums","getLabel","label","getSeriesID","getPrimary","getSecondary","getR","radius","getPrimaryAxisID","getSecondaryAxisID","originalSeries","focus","Chart","offsetState","onClickRef","onFocusRef","onHoverRef","responsiveElRef","useHyperResponsive","originalDatums","originalDatum","useMaterializeData","renderer","useSeriesOptions","useSeriesTypes","axesLeftWidth","axesLeftTop","axesLeftBottom","axesRightWidth","axesRightTop","axesRightBottom","axesTopHeight","axesTopLeft","axesTopRight","axesBottomHeight","axesBottomLeft","axesBottomRight","paddingLeft","paddingRight","paddingBottom","useDimensions","prePrimaryAxes","preSecondaryAxes","primaryAxesHashes","secondaryAxesHashes","buildAxis","xKey","yKey","xAxes","yAxes","useAxes","scaleTotals","axisIndex","negative","positive","primaryAxisIndex","secondaryAxisIndex","validPoint","totalKey","xAxisIndex","yAxisIndex","datumsByGrouping","axisKey","useStackData","axisValues","resolvedFocus","multiFocus","useTooltip","cursorValue","useCursors","previousDragging","onSelect","chartStateContextValue","Provider","ChartInner"],"mappings":"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"}