@vizzly/dashboard 0.14.4-dev-88f2ae3ae61dabab126f4b0d884b40773d9cb20b → 0.14.4-dev-3455fe16fbb312a7c23a46cc2f4bcf62b52bb944

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,13 +28,13 @@ import { preserveOffsetOnSource } from '@atlaskit/pragmatic-drag-and-drop/elemen
28
28
  import { dropTargetForExternal } from '@atlaskit/pragmatic-drag-and-drop/external/adapter';
29
29
  import { DropIndicator } from '@atlaskit/pragmatic-drag-and-drop-react-drop-indicator/box';
30
30
  import { ParentSize } from '@visx/responsive';
31
- import { Annotation, AnnotationConnector, AnnotationLabel, DataContext, buildChartTheme, lightTheme, XYChart, Grid as Grid$2, Axis, AreaSeries, AreaStack, BarGroup, BarSeries, BarStack, GlyphSeries, LineSeries, Tooltip as Tooltip$3 } from '@visx/xychart';
31
+ import { Annotation, AnnotationConnector, AnnotationLabel, DataContext, buildChartTheme, lightTheme, XYChart, Grid as Grid$2, Axis, AreaSeries, AreaStack, BarGroup as BarGroup$1, BarSeries, BarStack, GlyphSeries, LineSeries, Tooltip as Tooltip$3 } from '@visx/xychart';
32
32
  import { LinearGradient } from '@visx/gradient';
33
33
  import { LegendItem as LegendItem$1, LegendLabel } from '@visx/legend';
34
- import { scaleOrdinal, scaleQuantize, scalePoint, scaleTime, scaleLinear, scaleBand } from '@visx/scale';
34
+ import { scaleOrdinal, scaleQuantize, scaleLinear, scalePoint, scaleTime, scaleBand } from '@visx/scale';
35
35
  import Ordinal from '@visx/legend/lib/legends/Ordinal';
36
36
  import { curveNatural, curveMonotoneX, curveMonotoneY, curveLinear, curveStep, curveStepBefore, curveStepAfter } from '@visx/curve';
37
- import { Line as Line$1, LinePath, BarGroup as BarGroup$1, BarStack as BarStack$1, AreaStack as AreaStack$1, AreaClosed, LineRadial } from '@visx/shape';
37
+ import { Line as Line$1, LinePath, BarStack as BarStack$1, BarGroup as BarGroup$2, AreaStack as AreaStack$1, AreaClosed, LineRadial } from '@visx/shape';
38
38
  import { Mercator, Graticule } from '@visx/geo';
39
39
  import { feature } from 'topojson-client';
40
40
  import ParentSize$1 from '@visx/responsive/lib/components/ParentSize';
@@ -1550,7 +1550,7 @@ var upcastFilterType = function upcastFilterType(type) {
1550
1550
  if (type === 'dateTimeFilter') {
1551
1551
  return DATE_FILTER;
1552
1552
  }
1553
- if (type === 'numericFilter' || type === 'multiSelectFilter') {
1553
+ if (type === 'numericFilter') {
1554
1554
  return ADVANCED_FILTER;
1555
1555
  }
1556
1556
  return type;
@@ -13767,8 +13767,7 @@ var ADMIN_FEATURE_TOGGLES = {
13767
13767
  forceMobile: false,
13768
13768
  unloadOffScreenViews: false,
13769
13769
  showSavingIndicator: false,
13770
- disablePersistingGlobalFiltersLocally: false,
13771
- simpleMultiSelectFilter: false
13770
+ disablePersistingGlobalFiltersLocally: false
13772
13771
  };
13773
13772
  var END_USER_DEFAULT_FEATURE_TOGGLES = {
13774
13773
  parameters: true,
@@ -13805,8 +13804,7 @@ var END_USER_DEFAULT_FEATURE_TOGGLES = {
13805
13804
  forceMobile: false,
13806
13805
  unloadOffScreenViews: false,
13807
13806
  showSavingIndicator: true,
13808
- disablePersistingGlobalFiltersLocally: false,
13809
- simpleMultiSelectFilter: false
13807
+ disablePersistingGlobalFiltersLocally: false
13810
13808
  };
13811
13809
  var build$b = function build(partialFeatureToggles, queryEngineConfig, mode, scope) {
13812
13810
  var featureToggles = {};
@@ -13863,7 +13861,7 @@ var build$b = function build(partialFeatureToggles, queryEngineConfig, mode, sco
13863
13861
  return featureToggles;
13864
13862
  };
13865
13863
  var buildDefaults = function buildDefaults(partialFeatureToggles) {
13866
- var _partialFeatureToggle, _partialFeatureToggle2, _partialFeatureToggle3;
13864
+ var _partialFeatureToggle, _partialFeatureToggle2;
13867
13865
  return {
13868
13866
  showDateAndTimeFilter: partialFeatureToggles.showDateAndTimeFilter !== undefined ? partialFeatureToggles.showDateAndTimeFilter : true,
13869
13867
  showDateFilter: partialFeatureToggles.showDateFilter !== undefined ? partialFeatureToggles.showDateFilter : true,
@@ -13874,8 +13872,7 @@ var buildDefaults = function buildDefaults(partialFeatureToggles) {
13874
13872
  canDownloadViewAsPNG: partialFeatureToggles.canDownloadViewAsPNG !== undefined ? partialFeatureToggles.canDownloadViewAsPNG : true,
13875
13873
  forceMobile: partialFeatureToggles.forceMobile !== undefined ? partialFeatureToggles.forceMobile : false,
13876
13874
  unloadOffScreenViews: partialFeatureToggles.unloadOffScreenViews !== undefined ? partialFeatureToggles.unloadOffScreenViews : false,
13877
- allowCalculatedField: (_partialFeatureToggle2 = partialFeatureToggles.allowCalculatedField) != null ? _partialFeatureToggle2 : false,
13878
- simpleMultiSelectFilter: (_partialFeatureToggle3 = partialFeatureToggles.simpleMultiSelectFilter) != null ? _partialFeatureToggle3 : false
13875
+ allowCalculatedField: (_partialFeatureToggle2 = partialFeatureToggles.allowCalculatedField) != null ? _partialFeatureToggle2 : false
13879
13876
  };
13880
13877
  };
13881
13878
 
@@ -28875,8 +28872,7 @@ var AdditionalFilter = function AdditionalFilter(props) {
28875
28872
  onChange = props.onChange,
28876
28873
  shouldAlwaysHaveValue = props.shouldAlwaysHaveValue;
28877
28874
  var _useDashboardBehaviou = useDashboardBehaviourContext(),
28878
- queryEngineConfig = _useDashboardBehaviou.queryEngineConfig,
28879
- featureToggles = _useDashboardBehaviou.featureToggles;
28875
+ queryEngineConfig = _useDashboardBehaviou.queryEngineConfig;
28880
28876
 
28881
28877
  /** Validate the new filter before setting it */
28882
28878
  var onChangeWithValidation = function onChangeWithValidation(newFilter) {
@@ -28927,7 +28923,7 @@ var AdditionalFilter = function AdditionalFilter(props) {
28927
28923
  dataSets: props.dataSets
28928
28924
  }, typeof props.filter.value === 'boolean' ? undefined : JSON.stringify(props.filter.value));
28929
28925
  }
28930
- if (filter.type == MULTI_SELECT_FILTER && featureToggles.simpleMultiSelectFilter) {
28926
+ if (filter.type == MULTI_SELECT_FILTER) {
28931
28927
  return jsx(MultiSelectFilter, {
28932
28928
  showClearBtn: !shouldAlwaysHaveValue,
28933
28929
  filter: filter,
@@ -33157,7 +33153,7 @@ var VizzlyXYChart = function VizzlyXYChart(props) {
33157
33153
  }), (props == null ? void 0 : props.bars) && !props.bars.stacked && !(props != null && (_props$bars3 = props.bars) != null && _props$bars3.funnelChart) && jsxs(Fragment, {
33158
33154
  children: [props.enableHover && jsx("style", {
33159
33155
  children: "\n /* We need to find a more accurate way to target the rect element. */\n .vizzly-xy-chart > div > svg > rect {\n cursor: pointer;\n }"
33160
- }), jsx(BarGroup, {
33156
+ }), jsx(BarGroup$1, {
33161
33157
  children: props.bars.keys.map(function (key, keyIndex) {
33162
33158
  var _props$bars$styles$co, _props$bars4, _props$bars5;
33163
33159
  return jsx(BarSeries, _extends({
@@ -38117,13 +38113,11 @@ var AddFilterForm = function AddFilterForm(props) {
38117
38113
  value: SINGLE_SELECT_FILTER,
38118
38114
  subText: textOverride('single_select_filter_description', 'Choose a single option from the list to filter. ')
38119
38115
  }];
38120
- if (featureToggles.simpleMultiSelectFilter) {
38121
- filterTypes.push({
38122
- label: textOverride('multi_select', 'Multi select'),
38123
- value: MULTI_SELECT_FILTER,
38124
- subText: textOverride('multi_select_description', 'Allow multiple selections.')
38125
- });
38126
- }
38116
+ filterTypes.push({
38117
+ label: textOverride('multi_select', 'Multi select'),
38118
+ value: MULTI_SELECT_FILTER,
38119
+ subText: textOverride('multi_select_description', 'Allow multiple selections.')
38120
+ });
38127
38121
  filterTypes.push({
38128
38122
  label: textOverride('advanced_filter', 'Advanced filter'),
38129
38123
  value: ADVANCED_FILTER,
@@ -42354,16 +42348,14 @@ var SCROLLBAR_WIDTH = 40;
42354
42348
  var Tooltip$1 = function Tooltip(_ref) {
42355
42349
  var _tooltipData$xKey$for;
42356
42350
  var keys = _ref.keys,
42357
- legendItems = _ref.legendItems,
42358
42351
  showRoundedTotal = _ref.showRoundedTotal,
42359
42352
  tooltipData = _ref.tooltipData,
42360
42353
  tooltipLeft = _ref.tooltipLeft,
42361
42354
  tooltipTop = _ref.tooltipTop,
42362
- visibleYKeys = _ref.visibleYKeys,
42363
42355
  xKey = _ref.xKey,
42364
42356
  yKeys = _ref.yKeys,
42365
- conditionalFormattingRules = _ref.conditionalFormattingRules,
42366
- theme = _ref.theme;
42357
+ theme = _ref.theme,
42358
+ items = _ref.items;
42367
42359
  var tooltipRef = useRef(null);
42368
42360
  var _useState = useState({
42369
42361
  left: tooltipLeft
@@ -42412,7 +42404,7 @@ var Tooltip$1 = function Tooltip(_ref) {
42412
42404
  fontSize: '15px',
42413
42405
  width: '100%',
42414
42406
  minWidth: MIN_TOOLTIP_WIDTH
42415
- }, process.env.NODE_ENV === "production" ? "" : ";label:Tooltip;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRvb2x0aXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlGK0IiLCJmaWxlIjoiVG9vbHRpcC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ1NTUHJvcGVydGllcywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJztcblxuaW1wb3J0IHsgZ2V0Q29sb3IgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtQm94IH0gZnJvbSAnLi4vTGVnZW5kL0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlLCBEYXRhSXRlbSwgS2V5IH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJztcblxuY29uc3QgTUlOX1RPT0xUSVBfV0lEVEggPSAxODA7XG5jb25zdCBUT09MVElQX09GRlNFVCA9IDIwO1xuY29uc3QgU0NST0xMQkFSX1dJRFRIID0gNDA7XG5pbnRlcmZhY2UgVG9vbHRpcFByb3BzPFQ+IHtcbiAgICBrZXlzOiB7IFtrZXk6IHN0cmluZ106IEtleSB9O1xuICAgIGxlZ2VuZEl0ZW1zOiBBcnJheTxTaGFwZURlZmluaXRpb248VD4+O1xuICAgIHNob3dSb3VuZGVkVG90YWw6IGJvb2xlYW47XG4gICAgdG9vbHRpcERhdGE6IHtcbiAgICAgICAgW2tleUlkOiBzdHJpbmddOiBEYXRhSXRlbTtcbiAgICB9O1xuICAgIHRvb2x0aXBMZWZ0OiBudW1iZXI7XG4gICAgdG9vbHRpcFRvcDogbnVtYmVyO1xuICAgIHZpc2libGVZS2V5czogc3RyaW5nW107XG4gICAgeEtleTogc3RyaW5nO1xuICAgIHlLZXlzOiBzdHJpbmdbXTtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG4gICAgdGhlbWU6IENTU1Byb3BlcnRpZXM7XG59XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwID0gKHtcbiAgICBrZXlzLFxuICAgIGxlZ2VuZEl0ZW1zLFxuICAgIHNob3dSb3VuZGVkVG90YWwsXG4gICAgdG9vbHRpcERhdGEsXG4gICAgdG9vbHRpcExlZnQsXG4gICAgdG9vbHRpcFRvcCxcbiAgICB2aXNpYmxlWUtleXMsXG4gICAgeEtleSxcbiAgICB5S2V5cyxcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgICB0aGVtZSxcbn06IFRvb2x0aXBQcm9wczxMaW5lU3R5bGVzIHwgQmFyU3R5bGVzIHwgQXJlYVN0eWxlcz4pID0+IHtcbiAgICBjb25zdCB0b29sdGlwUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbcG9zaXRpb24sIHNldFBvc2l0aW9uXSA9IHVzZVN0YXRlPHsgbGVmdDogbnVtYmVyIH0+KHtcbiAgICAgICAgbGVmdDogdG9vbHRpcExlZnQsXG4gICAgfSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBhZGp1c3RUb29sdGlwUG9zaXRpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0b29sdGlwRWxlbWVudCA9IHRvb2x0aXBSZWYuY3VycmVudDtcblxuICAgICAgICAgICAgaWYgKHRvb2x0aXBFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHJlY3QgPSB0b29sdGlwRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICAgICAgICAgIGxldCB3aWR0aCA9IHJlY3Qud2lkdGg7XG5cbiAgICAgICAgICAgICAgICBpZiAod2lkdGggPCBNSU5fVE9PTFRJUF9XSURUSCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IE1JTl9UT09MVElQX1dJRFRIO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxldCBsZWZ0ID0gdG9vbHRpcExlZnQgKyBUT09MVElQX09GRlNFVDtcblxuICAgICAgICAgICAgICAgIGlmICh0b29sdGlwTGVmdCArIHdpZHRoID4gc2NyZWVuV2lkdGggLSBTQ1JPTExCQVJfV0lEVEgpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHRvb2x0aXBMZWZ0IC0gd2lkdGggLSBUT09MVElQX09GRlNFVDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzZXRQb3NpdGlvbih7IGxlZnQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgYWRqdXN0VG9vbHRpcFBvc2l0aW9uKCk7XG4gICAgfSwgW3Rvb2x0aXBMZWZ0XSk7XG5cbiAgICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICByZWY9e3Rvb2x0aXBSZWZ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgIGxlZnQ6IHBvc2l0aW9uLmxlZnQsXG4gICAgICAgICAgICAgICAgdG9wOiB0b29sdGlwVG9wLFxuICAgICAgICAgICAgICAgIHpJbmRleDogMjE0NzQ4MzY0NyAqIDEwLFxuICAgICAgICAgICAgICAgIC4uLnRoZW1lLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17eyB3b3JkQnJlYWs6ICdicmVhay1hbGwnIH19PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogJ2luaGVyaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogJ2luaGVyaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJ2luaGVyaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogJ2JvbGQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcxNXB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5XaWR0aDogTUlOX1RPT0xUSVBfV0lEVEgsXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3Rvb2x0aXBEYXRhW3hLZXldLmZvcm1hdHRlZFZhbHVlID8/IHRvb2x0aXBEYXRhW3hLZXldLnZhbHVlfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDx0YWJsZVxuICAgICAgICAgICAgICAgICAgICBjZWxsUGFkZGluZz17MH1cbiAgICAgICAgICAgICAgICAgICAgY2VsbFNwYWNpbmc9ezB9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3NzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJzAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyU3BhY2luZzogJzAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sbGFwc2U6ICdpbmhlcml0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtsZWdlbmRJdGVtcy5tYXAoKGxlZ2VuZEl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldIHx8IHRvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8geUtleSBjb3VsZCBub3QgYmUgZm91bmQgaW4gdG9vbHRpcERhdGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGVZS2V5cy5pbmNsdWRlcyhsZWdlbmRJdGVtLnlLZXkpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBrZXk9e2xlZ2VuZEl0ZW0ueUtleX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGluZGV4ID09PSAwID8gJzEycHggOHB4IDAgMCcgOiAnOHB4IDhweCAwIDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICdhdXRvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMZWdlbmRJdGVtQm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17Z2V0Q29sb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRDb2xvcjogbGVnZW5kSXRlbS5jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5S2V5OiBsZWdlbmRJdGVtLnlLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXtsZWdlbmRJdGVtLnN0eWxlIGFzIExpbmVTdHlsZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5S2V5PXtsZWdlbmRJdGVtLnlLZXl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9e3sgcGFkZGluZzogJzhweCAwIDAgMCcgfX0+e2tleXNbbGVnZW5kSXRlbS55S2V5XS5rZXlGb3JtYXR0ZWR9PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9e3sgZm9udFdlaWdodDogJ2JvbGQnLCBwYWRkaW5nOiAnOHB4IDAgMCAxNnB4JyB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Rvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0uZm9ybWF0dGVkVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS5mb3JtYXR0ZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldLnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7c2hvd1JvdW5kZWRUb3RhbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sU3Bhbj17Mn0gc3R5bGU9e3sgcGFkZGluZzogJzEycHggMCAwIDAnIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm91bmRlZCBUb3RhbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9e3sgZm9udFdlaWdodDogJ2JvbGQnLCBwYWRkaW5nOiAnMTJweCAwIDAgMTZweCcgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eUtleXMucmVkdWNlKCh0b3RhbCwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRvdGFsICsgTWF0aC5yb3VuZCh0b29sdGlwRGF0YVtrZXldLnZhbHVlIGFzIG51bWJlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAwKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PixcbiAgICAgICAgZG9jdW1lbnQuYm9keVxuICAgICk7XG59O1xuIl19 */"),
42407
+ }, process.env.NODE_ENV === "production" ? "" : ";label:Tooltip;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRvb2x0aXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBGcUIiLCJmaWxlIjoiVG9vbHRpcC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ1NTUHJvcGVydGllcywgRnJhZ21lbnQsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSc7XG5cbmltcG9ydCB7IGdldENvbG9yIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTGVnZW5kSXRlbUJveCB9IGZyb20gJy4uL0xlZ2VuZC9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgRGF0YUl0ZW0sIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEFyZWFTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0FyZWFDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5cbmNvbnN0IE1JTl9UT09MVElQX1dJRFRIID0gMTgwO1xuY29uc3QgVE9PTFRJUF9PRkZTRVQgPSAyMDtcbmNvbnN0IFNDUk9MTEJBUl9XSURUSCA9IDQwO1xuXG5pbnRlcmZhY2UgVG9vbHRpcFByb3BzPFQ+IHtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgc2hvd1JvdW5kZWRUb3RhbDogYm9vbGVhbjtcbiAgdG9vbHRpcERhdGE6IHtcbiAgICBba2V5SWQ6IHN0cmluZ106IERhdGFJdGVtO1xuICB9O1xuICB0b29sdGlwTGVmdDogbnVtYmVyO1xuICB0b29sdGlwVG9wOiBudW1iZXI7XG4gIHhLZXk6IHN0cmluZztcbiAgeUtleXM6IHN0cmluZ1tdO1xuICBpdGVtczoge1xuICAgIGxlZ2VuZEl0ZW1zOiBBcnJheTxTaGFwZURlZmluaXRpb248VD4+O1xuICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBBcnJheTxDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlPjtcbiAgICB2aXNpYmxlWUtleXM6IHN0cmluZ1tdO1xuICB9W107XG4gIHRoZW1lOiBDU1NQcm9wZXJ0aWVzO1xufVxuXG5leHBvcnQgY29uc3QgVG9vbHRpcCA9ICh7XG4gIGtleXMsXG4gIHNob3dSb3VuZGVkVG90YWwsXG4gIHRvb2x0aXBEYXRhLFxuICB0b29sdGlwTGVmdCxcbiAgdG9vbHRpcFRvcCxcbiAgeEtleSxcbiAgeUtleXMsXG4gIHRoZW1lLFxuICBpdGVtcyxcbn06IFRvb2x0aXBQcm9wczxMaW5lU3R5bGVzIHwgQmFyU3R5bGVzIHwgQXJlYVN0eWxlcz4pID0+IHtcbiAgY29uc3QgdG9vbHRpcFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IFtwb3NpdGlvbiwgc2V0UG9zaXRpb25dID0gdXNlU3RhdGU8eyBsZWZ0OiBudW1iZXIgfT4oe1xuICAgIGxlZnQ6IHRvb2x0aXBMZWZ0LFxuICB9KTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGFkanVzdFRvb2x0aXBQb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHRvb2x0aXBFbGVtZW50ID0gdG9vbHRpcFJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAodG9vbHRpcEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3Qgc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcblxuICAgICAgICBjb25zdCByZWN0ID0gdG9vbHRpcEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgbGV0IHdpZHRoID0gcmVjdC53aWR0aDtcblxuICAgICAgICBpZiAod2lkdGggPCBNSU5fVE9PTFRJUF9XSURUSCkge1xuICAgICAgICAgIHdpZHRoID0gTUlOX1RPT0xUSVBfV0lEVEg7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbGVmdCA9IHRvb2x0aXBMZWZ0ICsgVE9PTFRJUF9PRkZTRVQ7XG5cbiAgICAgICAgaWYgKHRvb2x0aXBMZWZ0ICsgd2lkdGggPiBzY3JlZW5XaWR0aCAtIFNDUk9MTEJBUl9XSURUSCkge1xuICAgICAgICAgIGxlZnQgPSB0b29sdGlwTGVmdCAtIHdpZHRoIC0gVE9PTFRJUF9PRkZTRVQ7XG4gICAgICAgIH1cblxuICAgICAgICBzZXRQb3NpdGlvbih7IGxlZnQgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGFkanVzdFRvb2x0aXBQb3NpdGlvbigpO1xuICB9LCBbdG9vbHRpcExlZnRdKTtcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgIDxkaXZcbiAgICAgIHJlZj17dG9vbHRpcFJlZn1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICBsZWZ0OiBwb3NpdGlvbi5sZWZ0LFxuICAgICAgICB0b3A6IHRvb2x0aXBUb3AsXG4gICAgICAgIHpJbmRleDogMjE0NzQ4MzY0NyAqIDEwLFxuICAgICAgICAuLi50aGVtZSxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdiBzdHlsZT17eyB3b3JkQnJlYWs6ICdicmVhay1hbGwnIH19PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3NOYW1lPXtjc3Moe1xuICAgICAgICAgICAgZm9udEZhbWlseTogJ2luaGVyaXQnLFxuICAgICAgICAgICAgbGluZUhlaWdodDogJ2luaGVyaXQnLFxuICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJ2luaGVyaXQnLFxuICAgICAgICAgICAgZm9udFdlaWdodDogJ2JvbGQnLFxuICAgICAgICAgICAgZm9udFNpemU6ICcxNXB4JyxcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICBtaW5XaWR0aDogTUlOX1RPT0xUSVBfV0lEVEgsXG4gICAgICAgICAgfSl9XG4gICAgICAgID5cbiAgICAgICAgICB7dG9vbHRpcERhdGFbeEtleV0uZm9ybWF0dGVkVmFsdWUgPz8gdG9vbHRpcERhdGFbeEtleV0udmFsdWV9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dGFibGVcbiAgICAgICAgICBjZWxsUGFkZGluZz17MH1cbiAgICAgICAgICBjZWxsU3BhY2luZz17MH1cbiAgICAgICAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICAgICAgICBtYXJnaW46ICcwJyxcbiAgICAgICAgICAgIGJvcmRlclNwYWNpbmc6ICcwJyxcbiAgICAgICAgICAgIGJvcmRlckNvbGxhcHNlOiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXM/Lm1hcCgobGVnZW5kSXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldIHx8IHRvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAvLyB5S2V5IGNvdWxkIG5vdCBiZSBmb3VuZCBpbiB0b29sdGlwRGF0YVxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgaXRlbS52aXNpYmxlWUtleXM/LmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGtleT17bGVnZW5kSXRlbS55S2V5fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogaW5kZXggPT09IDAgPyAnMTJweCA4cHggMCAwJyA6ICc4cHggOHB4IDAgMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJ2F1dG8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9e2dldENvbG9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdENvbG9yOiBsZWdlbmRJdGVtLmNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeUtleTogbGVnZW5kSXRlbS55S2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogaXRlbS5jb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyA/PyBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e2xlZ2VuZEl0ZW0uc3R5bGUgYXMgTGluZVN0eWxlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlLZXk9e2xlZ2VuZEl0ZW0ueUtleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9e3sgcGFkZGluZzogJzhweCAwIDAgMCcgfX0+e2tleXNbbGVnZW5kSXRlbS55S2V5XS5rZXlGb3JtYXR0ZWR9PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPXt7IGZvbnRXZWlnaHQ6ICdib2xkJywgcGFkZGluZzogJzhweCAwIDAgMTZweCcgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3Rvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0uZm9ybWF0dGVkVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS5mb3JtYXR0ZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldLnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSl9XG5cbiAgICAgICAgICAgIHtzaG93Um91bmRlZFRvdGFsICYmIChcbiAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZCBjb2xTcGFuPXsyfSBzdHlsZT17eyBwYWRkaW5nOiAnMTJweCAwIDAgMCcgfX0+XG4gICAgICAgICAgICAgICAgICBSb3VuZGVkIFRvdGFsXG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgc3R5bGU9e3sgZm9udFdlaWdodDogJ2JvbGQnLCBwYWRkaW5nOiAnMTJweCAwIDAgMTZweCcgfX0+XG4gICAgICAgICAgICAgICAgICB7eUtleXMucmVkdWNlKCh0b3RhbCwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbCArIE1hdGgucm91bmQodG9vbHRpcERhdGFba2V5XS52YWx1ZSBhcyBudW1iZXIpO1xuICAgICAgICAgICAgICAgICAgfSwgMCl9XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PixcbiAgICBkb2N1bWVudC5ib2R5XG4gICk7XG59O1xuIl19 */"),
42416
42408
  children: (_tooltipData$xKey$for = tooltipData[xKey].formattedValue) != null ? _tooltipData$xKey$for : tooltipData[xKey].value
42417
42409
  }), jsx("table", {
42418
42410
  cellPadding: 0,
@@ -42423,45 +42415,51 @@ var Tooltip$1 = function Tooltip(_ref) {
42423
42415
  } : {
42424
42416
  name: "9a1sa-Tooltip",
42425
42417
  styles: "margin:0;border-spacing:0;border-collapse:inherit;border:none;label:Tooltip;",
42426
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRvb2x0aXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdHK0IiLCJmaWxlIjoiVG9vbHRpcC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ1NTUHJvcGVydGllcywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJztcblxuaW1wb3J0IHsgZ2V0Q29sb3IgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBMZWdlbmRJdGVtQm94IH0gZnJvbSAnLi4vTGVnZW5kL0xlZ2VuZEl0ZW1Cb3gnO1xuaW1wb3J0IHsgU2hhcGVEZWZpbml0aW9uLCBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlLCBEYXRhSXRlbSwgS2V5IH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9MaW5lQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vY3NzJztcblxuY29uc3QgTUlOX1RPT0xUSVBfV0lEVEggPSAxODA7XG5jb25zdCBUT09MVElQX09GRlNFVCA9IDIwO1xuY29uc3QgU0NST0xMQkFSX1dJRFRIID0gNDA7XG5pbnRlcmZhY2UgVG9vbHRpcFByb3BzPFQ+IHtcbiAgICBrZXlzOiB7IFtrZXk6IHN0cmluZ106IEtleSB9O1xuICAgIGxlZ2VuZEl0ZW1zOiBBcnJheTxTaGFwZURlZmluaXRpb248VD4+O1xuICAgIHNob3dSb3VuZGVkVG90YWw6IGJvb2xlYW47XG4gICAgdG9vbHRpcERhdGE6IHtcbiAgICAgICAgW2tleUlkOiBzdHJpbmddOiBEYXRhSXRlbTtcbiAgICB9O1xuICAgIHRvb2x0aXBMZWZ0OiBudW1iZXI7XG4gICAgdG9vbHRpcFRvcDogbnVtYmVyO1xuICAgIHZpc2libGVZS2V5czogc3RyaW5nW107XG4gICAgeEtleTogc3RyaW5nO1xuICAgIHlLZXlzOiBzdHJpbmdbXTtcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogQXJyYXk8Q29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZT47XG4gICAgdGhlbWU6IENTU1Byb3BlcnRpZXM7XG59XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwID0gKHtcbiAgICBrZXlzLFxuICAgIGxlZ2VuZEl0ZW1zLFxuICAgIHNob3dSb3VuZGVkVG90YWwsXG4gICAgdG9vbHRpcERhdGEsXG4gICAgdG9vbHRpcExlZnQsXG4gICAgdG9vbHRpcFRvcCxcbiAgICB2aXNpYmxlWUtleXMsXG4gICAgeEtleSxcbiAgICB5S2V5cyxcbiAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgICB0aGVtZSxcbn06IFRvb2x0aXBQcm9wczxMaW5lU3R5bGVzIHwgQmFyU3R5bGVzIHwgQXJlYVN0eWxlcz4pID0+IHtcbiAgICBjb25zdCB0b29sdGlwUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbcG9zaXRpb24sIHNldFBvc2l0aW9uXSA9IHVzZVN0YXRlPHsgbGVmdDogbnVtYmVyIH0+KHtcbiAgICAgICAgbGVmdDogdG9vbHRpcExlZnQsXG4gICAgfSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBhZGp1c3RUb29sdGlwUG9zaXRpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0b29sdGlwRWxlbWVudCA9IHRvb2x0aXBSZWYuY3VycmVudDtcblxuICAgICAgICAgICAgaWYgKHRvb2x0aXBFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHJlY3QgPSB0b29sdGlwRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgICAgICAgICAgIGxldCB3aWR0aCA9IHJlY3Qud2lkdGg7XG5cbiAgICAgICAgICAgICAgICBpZiAod2lkdGggPCBNSU5fVE9PTFRJUF9XSURUSCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IE1JTl9UT09MVElQX1dJRFRIO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxldCBsZWZ0ID0gdG9vbHRpcExlZnQgKyBUT09MVElQX09GRlNFVDtcblxuICAgICAgICAgICAgICAgIGlmICh0b29sdGlwTGVmdCArIHdpZHRoID4gc2NyZWVuV2lkdGggLSBTQ1JPTExCQVJfV0lEVEgpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHRvb2x0aXBMZWZ0IC0gd2lkdGggLSBUT09MVElQX09GRlNFVDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzZXRQb3NpdGlvbih7IGxlZnQgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgYWRqdXN0VG9vbHRpcFBvc2l0aW9uKCk7XG4gICAgfSwgW3Rvb2x0aXBMZWZ0XSk7XG5cbiAgICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICByZWY9e3Rvb2x0aXBSZWZ9XG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgIGxlZnQ6IHBvc2l0aW9uLmxlZnQsXG4gICAgICAgICAgICAgICAgdG9wOiB0b29sdGlwVG9wLFxuICAgICAgICAgICAgICAgIHpJbmRleDogMjE0NzQ4MzY0NyAqIDEwLFxuICAgICAgICAgICAgICAgIC4uLnRoZW1lLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17eyB3b3JkQnJlYWs6ICdicmVhay1hbGwnIH19PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjc3Moe1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogJ2luaGVyaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogJ2luaGVyaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJ2luaGVyaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogJ2JvbGQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcxNXB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5XaWR0aDogTUlOX1RPT0xUSVBfV0lEVEgsXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3Rvb2x0aXBEYXRhW3hLZXldLmZvcm1hdHRlZFZhbHVlID8/IHRvb2x0aXBEYXRhW3hLZXldLnZhbHVlfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDx0YWJsZVxuICAgICAgICAgICAgICAgICAgICBjZWxsUGFkZGluZz17MH1cbiAgICAgICAgICAgICAgICAgICAgY2VsbFNwYWNpbmc9ezB9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17Y3NzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJzAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyU3BhY2luZzogJzAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyQ29sbGFwc2U6ICdpbmhlcml0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtsZWdlbmRJdGVtcy5tYXAoKGxlZ2VuZEl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldIHx8IHRvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8geUtleSBjb3VsZCBub3QgYmUgZm91bmQgaW4gdG9vbHRpcERhdGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGVZS2V5cy5pbmNsdWRlcyhsZWdlbmRJdGVtLnlLZXkpICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBrZXk9e2xlZ2VuZEl0ZW0ueUtleX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbEFsaWduOiAnbWlkZGxlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGluZGV4ID09PSAwID8gJzEycHggOHB4IDAgMCcgOiAnOHB4IDhweCAwIDAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICdhdXRvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMZWdlbmRJdGVtQm94XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17Z2V0Q29sb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRDb2xvcjogbGVnZW5kSXRlbS5jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5S2V5OiBsZWdlbmRJdGVtLnlLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXtsZWdlbmRJdGVtLnN0eWxlIGFzIExpbmVTdHlsZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5S2V5PXtsZWdlbmRJdGVtLnlLZXl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9e3sgcGFkZGluZzogJzhweCAwIDAgMCcgfX0+e2tleXNbbGVnZW5kSXRlbS55S2V5XS5rZXlGb3JtYXR0ZWR9PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9e3sgZm9udFdlaWdodDogJ2JvbGQnLCBwYWRkaW5nOiAnOHB4IDAgMCAxNnB4JyB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3Rvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0uZm9ybWF0dGVkVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS5mb3JtYXR0ZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldLnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB7c2hvd1JvdW5kZWRUb3RhbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sU3Bhbj17Mn0gc3R5bGU9e3sgcGFkZGluZzogJzEycHggMCAwIDAnIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm91bmRlZCBUb3RhbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9e3sgZm9udFdlaWdodDogJ2JvbGQnLCBwYWRkaW5nOiAnMTJweCAwIDAgMTZweCcgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eUtleXMucmVkdWNlKCh0b3RhbCwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRvdGFsICsgTWF0aC5yb3VuZCh0b29sdGlwRGF0YVtrZXldLnZhbHVlIGFzIG51bWJlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAwKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PixcbiAgICAgICAgZG9jdW1lbnQuYm9keVxuICAgICk7XG59O1xuIl19 */",
42418
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRvb2x0aXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlHcUIiLCJmaWxlIjoiVG9vbHRpcC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ1NTUHJvcGVydGllcywgRnJhZ21lbnQsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSc7XG5cbmltcG9ydCB7IGdldENvbG9yIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgTGVnZW5kSXRlbUJveCB9IGZyb20gJy4uL0xlZ2VuZC9MZWdlbmRJdGVtQm94JztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgRGF0YUl0ZW0sIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEFyZWFTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0FyZWFDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5cbmNvbnN0IE1JTl9UT09MVElQX1dJRFRIID0gMTgwO1xuY29uc3QgVE9PTFRJUF9PRkZTRVQgPSAyMDtcbmNvbnN0IFNDUk9MTEJBUl9XSURUSCA9IDQwO1xuXG5pbnRlcmZhY2UgVG9vbHRpcFByb3BzPFQ+IHtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgc2hvd1JvdW5kZWRUb3RhbDogYm9vbGVhbjtcbiAgdG9vbHRpcERhdGE6IHtcbiAgICBba2V5SWQ6IHN0cmluZ106IERhdGFJdGVtO1xuICB9O1xuICB0b29sdGlwTGVmdDogbnVtYmVyO1xuICB0b29sdGlwVG9wOiBudW1iZXI7XG4gIHhLZXk6IHN0cmluZztcbiAgeUtleXM6IHN0cmluZ1tdO1xuICBpdGVtczoge1xuICAgIGxlZ2VuZEl0ZW1zOiBBcnJheTxTaGFwZURlZmluaXRpb248VD4+O1xuICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBBcnJheTxDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlPjtcbiAgICB2aXNpYmxlWUtleXM6IHN0cmluZ1tdO1xuICB9W107XG4gIHRoZW1lOiBDU1NQcm9wZXJ0aWVzO1xufVxuXG5leHBvcnQgY29uc3QgVG9vbHRpcCA9ICh7XG4gIGtleXMsXG4gIHNob3dSb3VuZGVkVG90YWwsXG4gIHRvb2x0aXBEYXRhLFxuICB0b29sdGlwTGVmdCxcbiAgdG9vbHRpcFRvcCxcbiAgeEtleSxcbiAgeUtleXMsXG4gIHRoZW1lLFxuICBpdGVtcyxcbn06IFRvb2x0aXBQcm9wczxMaW5lU3R5bGVzIHwgQmFyU3R5bGVzIHwgQXJlYVN0eWxlcz4pID0+IHtcbiAgY29uc3QgdG9vbHRpcFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IFtwb3NpdGlvbiwgc2V0UG9zaXRpb25dID0gdXNlU3RhdGU8eyBsZWZ0OiBudW1iZXIgfT4oe1xuICAgIGxlZnQ6IHRvb2x0aXBMZWZ0LFxuICB9KTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGFkanVzdFRvb2x0aXBQb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHRvb2x0aXBFbGVtZW50ID0gdG9vbHRpcFJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAodG9vbHRpcEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3Qgc2NyZWVuV2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcblxuICAgICAgICBjb25zdCByZWN0ID0gdG9vbHRpcEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgbGV0IHdpZHRoID0gcmVjdC53aWR0aDtcblxuICAgICAgICBpZiAod2lkdGggPCBNSU5fVE9PTFRJUF9XSURUSCkge1xuICAgICAgICAgIHdpZHRoID0gTUlOX1RPT0xUSVBfV0lEVEg7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbGVmdCA9IHRvb2x0aXBMZWZ0ICsgVE9PTFRJUF9PRkZTRVQ7XG5cbiAgICAgICAgaWYgKHRvb2x0aXBMZWZ0ICsgd2lkdGggPiBzY3JlZW5XaWR0aCAtIFNDUk9MTEJBUl9XSURUSCkge1xuICAgICAgICAgIGxlZnQgPSB0b29sdGlwTGVmdCAtIHdpZHRoIC0gVE9PTFRJUF9PRkZTRVQ7XG4gICAgICAgIH1cblxuICAgICAgICBzZXRQb3NpdGlvbih7IGxlZnQgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGFkanVzdFRvb2x0aXBQb3NpdGlvbigpO1xuICB9LCBbdG9vbHRpcExlZnRdKTtcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgIDxkaXZcbiAgICAgIHJlZj17dG9vbHRpcFJlZn1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICBsZWZ0OiBwb3NpdGlvbi5sZWZ0LFxuICAgICAgICB0b3A6IHRvb2x0aXBUb3AsXG4gICAgICAgIHpJbmRleDogMjE0NzQ4MzY0NyAqIDEwLFxuICAgICAgICAuLi50aGVtZSxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdiBzdHlsZT17eyB3b3JkQnJlYWs6ICdicmVhay1hbGwnIH19PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3NOYW1lPXtjc3Moe1xuICAgICAgICAgICAgZm9udEZhbWlseTogJ2luaGVyaXQnLFxuICAgICAgICAgICAgbGluZUhlaWdodDogJ2luaGVyaXQnLFxuICAgICAgICAgICAgbGV0dGVyU3BhY2luZzogJ2luaGVyaXQnLFxuICAgICAgICAgICAgZm9udFdlaWdodDogJ2JvbGQnLFxuICAgICAgICAgICAgZm9udFNpemU6ICcxNXB4JyxcbiAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICBtaW5XaWR0aDogTUlOX1RPT0xUSVBfV0lEVEgsXG4gICAgICAgICAgfSl9XG4gICAgICAgID5cbiAgICAgICAgICB7dG9vbHRpcERhdGFbeEtleV0uZm9ybWF0dGVkVmFsdWUgPz8gdG9vbHRpcERhdGFbeEtleV0udmFsdWV9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8dGFibGVcbiAgICAgICAgICBjZWxsUGFkZGluZz17MH1cbiAgICAgICAgICBjZWxsU3BhY2luZz17MH1cbiAgICAgICAgICBjbGFzc05hbWU9e2Nzcyh7XG4gICAgICAgICAgICBtYXJnaW46ICcwJyxcbiAgICAgICAgICAgIGJvcmRlclNwYWNpbmc6ICcwJyxcbiAgICAgICAgICAgIGJvcmRlckNvbGxhcHNlOiAnaW5oZXJpdCcsXG4gICAgICAgICAgICBib3JkZXI6ICdub25lJyxcbiAgICAgICAgICB9KX1cbiAgICAgICAgPlxuICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgIHtpdGVtcy5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXM/Lm1hcCgobGVnZW5kSXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldIHx8IHRvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0udmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAvLyB5S2V5IGNvdWxkIG5vdCBiZSBmb3VuZCBpbiB0b29sdGlwRGF0YVxuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgaXRlbS52aXNpYmxlWUtleXM/LmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSkgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGtleT17bGVnZW5kSXRlbS55S2V5fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogaW5kZXggPT09IDAgPyAnMTJweCA4cHggMCAwJyA6ICc4cHggOHB4IDAgMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJ2F1dG8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGVnZW5kSXRlbUJveFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9e2dldENvbG9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdENvbG9yOiBsZWdlbmRJdGVtLmNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeUtleTogbGVnZW5kSXRlbS55S2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogaXRlbS5jb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyA/PyBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e2xlZ2VuZEl0ZW0uc3R5bGUgYXMgTGluZVN0eWxlc31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlLZXk9e2xlZ2VuZEl0ZW0ueUtleX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9e3sgcGFkZGluZzogJzhweCAwIDAgMCcgfX0+e2tleXNbbGVnZW5kSXRlbS55S2V5XS5rZXlGb3JtYXR0ZWR9PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPXt7IGZvbnRXZWlnaHQ6ICdib2xkJywgcGFkZGluZzogJzhweCAwIDAgMTZweCcgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3Rvb2x0aXBEYXRhW2xlZ2VuZEl0ZW0ueUtleV0uZm9ybWF0dGVkVmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gdG9vbHRpcERhdGFbbGVnZW5kSXRlbS55S2V5XS5mb3JtYXR0ZWRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0b29sdGlwRGF0YVtsZWdlbmRJdGVtLnlLZXldLnZhbHVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSl9XG5cbiAgICAgICAgICAgIHtzaG93Um91bmRlZFRvdGFsICYmIChcbiAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZCBjb2xTcGFuPXsyfSBzdHlsZT17eyBwYWRkaW5nOiAnMTJweCAwIDAgMCcgfX0+XG4gICAgICAgICAgICAgICAgICBSb3VuZGVkIFRvdGFsXG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8dGQgc3R5bGU9e3sgZm9udFdlaWdodDogJ2JvbGQnLCBwYWRkaW5nOiAnMTJweCAwIDAgMTZweCcgfX0+XG4gICAgICAgICAgICAgICAgICB7eUtleXMucmVkdWNlKCh0b3RhbCwga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbCArIE1hdGgucm91bmQodG9vbHRpcERhdGFba2V5XS52YWx1ZSBhcyBudW1iZXIpO1xuICAgICAgICAgICAgICAgICAgfSwgMCl9XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PixcbiAgICBkb2N1bWVudC5ib2R5XG4gICk7XG59O1xuIl19 */",
42427
42419
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$5
42428
42420
  }),
42429
42421
  children: jsxs("tbody", {
42430
- children: [legendItems.map(function (legendItem, index) {
42431
- if (!tooltipData[legendItem.yKey] || tooltipData[legendItem.yKey].value === null) {
42432
- // yKey could not be found in tooltipData
42433
- return null;
42434
- }
42435
- return visibleYKeys.includes(legendItem.yKey) && jsxs("tr", {
42436
- children: [jsx("td", {
42437
- style: {
42438
- verticalAlign: 'middle',
42439
- padding: index === 0 ? '12px 8px 0 0' : '8px 8px 0 0',
42440
- width: 'auto'
42441
- },
42442
- children: jsx(LegendItemBox, {
42443
- color: getColor({
42444
- defaultColor: legendItem.color,
42445
- value: tooltipData[legendItem.yKey].value,
42446
- yKey: legendItem.yKey,
42447
- conditionalFormattingRules: conditionalFormattingRules
42448
- }),
42449
- style: legendItem.style,
42450
- yKey: legendItem.yKey
42451
- })
42452
- }), jsx("td", {
42453
- style: {
42454
- padding: '8px 0 0 0'
42455
- },
42456
- children: keys[legendItem.yKey].keyFormatted
42457
- }), jsx("td", {
42458
- style: {
42459
- fontWeight: 'bold',
42460
- padding: '8px 0 0 16px'
42461
- },
42462
- children: tooltipData[legendItem.yKey].formattedValue ? tooltipData[legendItem.yKey].formattedValue : tooltipData[legendItem.yKey].value
42463
- })]
42464
- }, legendItem.yKey);
42422
+ children: [items.map(function (item, index) {
42423
+ var _item$legendItems;
42424
+ return jsx(Fragment, {
42425
+ children: (_item$legendItems = item.legendItems) == null ? void 0 : _item$legendItems.map(function (legendItem, index) {
42426
+ var _item$visibleYKeys, _item$conditionalForm;
42427
+ if (!tooltipData[legendItem.yKey] || tooltipData[legendItem.yKey].value === null) {
42428
+ // yKey could not be found in tooltipData
42429
+ return null;
42430
+ }
42431
+ return ((_item$visibleYKeys = item.visibleYKeys) == null ? void 0 : _item$visibleYKeys.includes(legendItem.yKey)) && jsxs("tr", {
42432
+ children: [jsx("td", {
42433
+ style: {
42434
+ verticalAlign: 'middle',
42435
+ padding: index === 0 ? '12px 8px 0 0' : '8px 8px 0 0',
42436
+ width: 'auto'
42437
+ },
42438
+ children: jsx(LegendItemBox, {
42439
+ color: getColor({
42440
+ defaultColor: legendItem.color,
42441
+ value: tooltipData[legendItem.yKey].value,
42442
+ yKey: legendItem.yKey,
42443
+ conditionalFormattingRules: (_item$conditionalForm = item.conditionalFormattingRules) != null ? _item$conditionalForm : []
42444
+ }),
42445
+ style: legendItem.style,
42446
+ yKey: legendItem.yKey
42447
+ })
42448
+ }), jsx("td", {
42449
+ style: {
42450
+ padding: '8px 0 0 0'
42451
+ },
42452
+ children: keys[legendItem.yKey].keyFormatted
42453
+ }), jsx("td", {
42454
+ style: {
42455
+ fontWeight: 'bold',
42456
+ padding: '8px 0 0 16px'
42457
+ },
42458
+ children: tooltipData[legendItem.yKey].formattedValue ? tooltipData[legendItem.yKey].formattedValue : tooltipData[legendItem.yKey].value
42459
+ })]
42460
+ }, legendItem.yKey);
42461
+ })
42462
+ }, index);
42465
42463
  }), showRoundedTotal && jsxs("tr", {
42466
42464
  children: [jsx("td", {
42467
42465
  colSpan: 2,
@@ -42584,11 +42582,9 @@ var LegendItem = function LegendItem(_ref) {
42584
42582
  function _EMOTION_STRINGIFIED_CSS_ERROR__$7() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
42585
42583
  var Legend$1 = function Legend(_ref) {
42586
42584
  var keys = _ref.keys,
42587
- visibleYKeys = _ref.visibleYKeys,
42588
- legendItems = _ref.legendItems,
42589
42585
  setVisibleYKeys = _ref.setVisibleYKeys,
42590
- conditionalFormattingRules = _ref.conditionalFormattingRules,
42591
- marginLeft = _ref.marginLeft;
42586
+ marginLeft = _ref.marginLeft,
42587
+ items = _ref.items;
42592
42588
  return jsx("div", {
42593
42589
  className: /*#__PURE__*/css$1(process.env.NODE_ENV === "production" ? {
42594
42590
  name: "1nbollx",
@@ -42596,7 +42592,7 @@ var Legend$1 = function Legend(_ref) {
42596
42592
  } : {
42597
42593
  name: "qz6h7j-Legend",
42598
42594
  styles: "height:40px;padding-top:8px;label:Legend;",
42599
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEJvQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgTGVnZW5kSXRlbSB9IGZyb20gJy4vTGVnZW5kSXRlbSc7XG5pbXBvcnQgeyBTaGFwZURlZmluaXRpb24sIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgU2Nyb2xsYmFyIH0gZnJvbSAnLi4vLi4vLi4vU2Nyb2xsYmFyL1Njcm9sbGJhcic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IExpbmVTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0xpbmVDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEFyZWFTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0FyZWFDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZFByb3BzPFQ+IHtcbiAgc2V0VmlzaWJsZVlLZXlzOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxBcnJheTxzdHJpbmc+Pj47XG4gIHZpc2libGVZS2V5czogQXJyYXk8c3RyaW5nPjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBBcnJheTxDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlPjtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kID0gKHtcbiAga2V5cyxcbiAgdmlzaWJsZVlLZXlzLFxuICBsZWdlbmRJdGVtcyxcbiAgc2V0VmlzaWJsZVlLZXlzLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgbWFyZ2luTGVmdCxcbn06IExlZ2VuZFByb3BzPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzPikgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDQwLCBwYWRkaW5nVG9wOiA4IH0pfT5cbiAgICAgIDxTY3JvbGxiYXJcbiAgICAgICAgY2xhc3NOYW1lPXtjc3Moe1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgbWFyZ2luTGVmdDogbWFyZ2luTGVmdCA/IGAke21hcmdpbkxlZnR9cHhgIDogdW5kZWZpbmVkLFxuICAgICAgICB9KX1cbiAgICAgICAgeD17dHJ1ZX1cbiAgICAgID5cbiAgICAgICAge2xlZ2VuZEl0ZW1zLm1hcChcbiAgICAgICAgICBsZWdlbmRJdGVtID0+XG4gICAgICAgICAgICBrZXlzW2xlZ2VuZEl0ZW0ueUtleV0gJiYgKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbVxuICAgICAgICAgICAgICAgIHsuLi5sZWdlbmRJdGVtfVxuICAgICAgICAgICAgICAgIGtleT17YGxlZ2VuZC0ke2xlZ2VuZEl0ZW0ueUtleX1gfVxuICAgICAgICAgICAgICAgIHlLZXlGb3JtYXR0ZWQ9e2tleXNbbGVnZW5kSXRlbS55S2V5XS5rZXlGb3JtYXR0ZWR9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICAgICAgICAgIHNldFZpc2libGVZS2V5cyhwcmV2ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1Zpc2libGVMZWdlbmRJdGVtczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2Lmxlbmd0aCA9PT0gbGVnZW5kSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gW2xlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXYuaW5jbHVkZXMobGVnZW5kSXRlbS55S2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gcHJldi5maWx0ZXIocHJldkxlZ2VuZEl0ZW1JZCA9PiBwcmV2TGVnZW5kSXRlbUlkICE9PSBsZWdlbmRJdGVtLnlLZXkpO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdWaXNpYmxlTGVnZW5kSXRlbXMgPSBbLi4ucHJldiwgbGVnZW5kSXRlbS55S2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICAgID8gbGVnZW5kSXRlbXMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KVxuICAgICAgICAgICAgICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmlzaWJsZT17dmlzaWJsZVlLZXlzLmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSl9XG4gICAgICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM9e2NvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKVxuICAgICAgICApfVxuICAgICAgPC9TY3JvbGxiYXI+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19 */",
42595
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNEJvQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBMZWdlbmRJdGVtIH0gZnJvbSAnLi9MZWdlbmRJdGVtJztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgS2V5IH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBTY3JvbGxiYXIgfSBmcm9tICcuLi8uLi8uLi9TY3JvbGxiYXIvU2Nyb2xsYmFyJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuXG5pbnRlcmZhY2UgTGVnZW5kUHJvcHM8VD4ge1xuICBzZXRWaXNpYmxlWUtleXM/OiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxBcnJheTxzdHJpbmc+Pj47XG4gIGtleXM6IHsgW2tleTogc3RyaW5nXTogS2V5IH07XG4gIG1hcmdpbkxlZnQ6IG51bWJlcjtcbiAgaXRlbXM/OiB7XG4gICAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gICAgdmlzaWJsZVlLZXlzOiBBcnJheTxzdHJpbmc+O1xuICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBBcnJheTxDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlPjtcbiAgfVtdO1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kID0gKHtcbiAga2V5cyxcbiAgc2V0VmlzaWJsZVlLZXlzLFxuICBtYXJnaW5MZWZ0LFxuICBpdGVtcyxcbn06IExlZ2VuZFByb3BzPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzPikgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDQwLCBwYWRkaW5nVG9wOiA4IH0pfT5cbiAgICAgIDxTY3JvbGxiYXJcbiAgICAgICAgY2xhc3NOYW1lPXtjc3Moe1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgbWFyZ2luTGVmdDogbWFyZ2luTGVmdCA/IGAke21hcmdpbkxlZnR9cHhgIDogdW5kZWZpbmVkLFxuICAgICAgICB9KX1cbiAgICAgICAgeD17dHJ1ZX1cbiAgICAgID5cbiAgICAgICAge2l0ZW1zPy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXM/Lm1hcChcbiAgICAgICAgICAgICAgbGVnZW5kSXRlbSA9PlxuICAgICAgICAgICAgICAgIGtleXNbbGVnZW5kSXRlbS55S2V5XSAmJiAoXG4gICAgICAgICAgICAgICAgICA8TGVnZW5kSXRlbVxuICAgICAgICAgICAgICAgICAgICB7Li4ubGVnZW5kSXRlbX1cbiAgICAgICAgICAgICAgICAgICAga2V5PXtgbGVnZW5kLSR7bGVnZW5kSXRlbS55S2V5fWB9XG4gICAgICAgICAgICAgICAgICAgIHlLZXlGb3JtYXR0ZWQ9e2tleXNbbGVnZW5kSXRlbS55S2V5XS5rZXlGb3JtYXR0ZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+XG4gICAgICAgICAgICAgICAgICAgICAgc2V0VmlzaWJsZVlLZXlzICYmXG4gICAgICAgICAgICAgICAgICAgICAgc2V0VmlzaWJsZVlLZXlzKHByZXYgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1Zpc2libGVMZWdlbmRJdGVtczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJldi5sZW5ndGggPT09IGl0ZW0ubGVnZW5kSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFtsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXYuaW5jbHVkZXMobGVnZW5kSXRlbS55S2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IHByZXYuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldkxlZ2VuZEl0ZW1JZCA9PiBwcmV2TGVnZW5kSXRlbUlkICE9PSBsZWdlbmRJdGVtLnlLZXlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFsuLi5wcmV2LCBsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdWaXNpYmxlTGVnZW5kSXRlbXMubGVuZ3RoID09PSAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gaXRlbS5sZWdlbmRJdGVtcy5tYXAobGVnZW5kSXRlbSA9PiBsZWdlbmRJdGVtLnlLZXkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZT17c2V0VmlzaWJsZVlLZXlzID8gaXRlbS52aXNpYmxlWUtleXMuaW5jbHVkZXMobGVnZW5kSXRlbS55S2V5KSA6IHRydWV9XG4gICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzPXtpdGVtLmNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICkpfVxuICAgICAgPC9TY3JvbGxiYXI+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19 */",
42600
42596
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$7
42601
42597
  }),
42602
42598
  children: jsx(Scrollbar, {
@@ -42606,34 +42602,39 @@ var Legend$1 = function Legend(_ref) {
42606
42602
  flexWrap: 'nowrap',
42607
42603
  alignItems: 'center',
42608
42604
  marginLeft: marginLeft ? marginLeft + "px" : undefined
42609
- }, process.env.NODE_ENV === "production" ? "" : ";label:Legend;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJtQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgTGVnZW5kSXRlbSB9IGZyb20gJy4vTGVnZW5kSXRlbSc7XG5pbXBvcnQgeyBTaGFwZURlZmluaXRpb24sIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsIEtleSB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgU2Nyb2xsYmFyIH0gZnJvbSAnLi4vLi4vLi4vU2Nyb2xsYmFyL1Njcm9sbGJhcic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuaW1wb3J0IHsgQmFyU3R5bGVzIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9CYXJDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IExpbmVTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0xpbmVDaGFydFYyL3R5cGVzJztcbmltcG9ydCB7IEFyZWFTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0FyZWFDaGFydFYyL3R5cGVzJztcblxuaW50ZXJmYWNlIExlZ2VuZFByb3BzPFQ+IHtcbiAgc2V0VmlzaWJsZVlLZXlzOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxBcnJheTxzdHJpbmc+Pj47XG4gIHZpc2libGVZS2V5czogQXJyYXk8c3RyaW5nPjtcbiAga2V5czogeyBba2V5OiBzdHJpbmddOiBLZXkgfTtcbiAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBBcnJheTxDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlPjtcbiAgbWFyZ2luTGVmdDogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kID0gKHtcbiAga2V5cyxcbiAgdmlzaWJsZVlLZXlzLFxuICBsZWdlbmRJdGVtcyxcbiAgc2V0VmlzaWJsZVlLZXlzLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgbWFyZ2luTGVmdCxcbn06IExlZ2VuZFByb3BzPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzPikgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDQwLCBwYWRkaW5nVG9wOiA4IH0pfT5cbiAgICAgIDxTY3JvbGxiYXJcbiAgICAgICAgY2xhc3NOYW1lPXtjc3Moe1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgbWFyZ2luTGVmdDogbWFyZ2luTGVmdCA/IGAke21hcmdpbkxlZnR9cHhgIDogdW5kZWZpbmVkLFxuICAgICAgICB9KX1cbiAgICAgICAgeD17dHJ1ZX1cbiAgICAgID5cbiAgICAgICAge2xlZ2VuZEl0ZW1zLm1hcChcbiAgICAgICAgICBsZWdlbmRJdGVtID0+XG4gICAgICAgICAgICBrZXlzW2xlZ2VuZEl0ZW0ueUtleV0gJiYgKFxuICAgICAgICAgICAgICA8TGVnZW5kSXRlbVxuICAgICAgICAgICAgICAgIHsuLi5sZWdlbmRJdGVtfVxuICAgICAgICAgICAgICAgIGtleT17YGxlZ2VuZC0ke2xlZ2VuZEl0ZW0ueUtleX1gfVxuICAgICAgICAgICAgICAgIHlLZXlGb3JtYXR0ZWQ9e2tleXNbbGVnZW5kSXRlbS55S2V5XS5rZXlGb3JtYXR0ZWR9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT5cbiAgICAgICAgICAgICAgICAgIHNldFZpc2libGVZS2V5cyhwcmV2ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1Zpc2libGVMZWdlbmRJdGVtczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2Lmxlbmd0aCA9PT0gbGVnZW5kSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gW2xlZ2VuZEl0ZW0ueUtleV07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXYuaW5jbHVkZXMobGVnZW5kSXRlbS55S2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zID0gcHJldi5maWx0ZXIocHJldkxlZ2VuZEl0ZW1JZCA9PiBwcmV2TGVnZW5kSXRlbUlkICE9PSBsZWdlbmRJdGVtLnlLZXkpO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZXdWaXNpYmxlTGVnZW5kSXRlbXMgPSBbLi4ucHJldiwgbGVnZW5kSXRlbS55S2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICAgID8gbGVnZW5kSXRlbXMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KVxuICAgICAgICAgICAgICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmlzaWJsZT17dmlzaWJsZVlLZXlzLmluY2x1ZGVzKGxlZ2VuZEl0ZW0ueUtleSl9XG4gICAgICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM9e2NvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKVxuICAgICAgICApfVxuICAgICAgPC9TY3JvbGxiYXI+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19 */"),
42605
+ }, process.env.NODE_ENV === "production" ? "" : ";label:Legend;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkxlZ2VuZC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJtQiIsImZpbGUiOiJMZWdlbmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZyYWdtZW50IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyBMZWdlbmRJdGVtIH0gZnJvbSAnLi9MZWdlbmRJdGVtJztcbmltcG9ydCB7IFNoYXBlRGVmaW5pdGlvbiwgQ29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZSwgS2V5IH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBTY3JvbGxiYXIgfSBmcm9tICcuLi8uLi8uLi9TY3JvbGxiYXIvU2Nyb2xsYmFyJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBCYXJTdHlsZXMgfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgTGluZVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvTGluZUNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQXJlYVN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQXJlYUNoYXJ0VjIvdHlwZXMnO1xuXG5pbnRlcmZhY2UgTGVnZW5kUHJvcHM8VD4ge1xuICBzZXRWaXNpYmxlWUtleXM/OiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxBcnJheTxzdHJpbmc+Pj47XG4gIGtleXM6IHsgW2tleTogc3RyaW5nXTogS2V5IH07XG4gIG1hcmdpbkxlZnQ6IG51bWJlcjtcbiAgaXRlbXM/OiB7XG4gICAgbGVnZW5kSXRlbXM6IEFycmF5PFNoYXBlRGVmaW5pdGlvbjxUPj47XG4gICAgdmlzaWJsZVlLZXlzOiBBcnJheTxzdHJpbmc+O1xuICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBBcnJheTxDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlPjtcbiAgfVtdO1xufVxuXG5leHBvcnQgY29uc3QgTGVnZW5kID0gKHtcbiAga2V5cyxcbiAgc2V0VmlzaWJsZVlLZXlzLFxuICBtYXJnaW5MZWZ0LFxuICBpdGVtcyxcbn06IExlZ2VuZFByb3BzPEJhclN0eWxlcyB8IExpbmVTdHlsZXMgfCBBcmVhU3R5bGVzPikgPT4ge1xuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtjc3MoeyBoZWlnaHQ6IDQwLCBwYWRkaW5nVG9wOiA4IH0pfT5cbiAgICAgIDxTY3JvbGxiYXJcbiAgICAgICAgY2xhc3NOYW1lPXtjc3Moe1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAncm93JyxcbiAgICAgICAgICBmbGV4V3JhcDogJ25vd3JhcCcsXG4gICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgbWFyZ2luTGVmdDogbWFyZ2luTGVmdCA/IGAke21hcmdpbkxlZnR9cHhgIDogdW5kZWZpbmVkLFxuICAgICAgICB9KX1cbiAgICAgICAgeD17dHJ1ZX1cbiAgICAgID5cbiAgICAgICAge2l0ZW1zPy5tYXAoKGl0ZW0sIGluZGV4KSA9PiAoXG4gICAgICAgICAgPEZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAge2l0ZW0ubGVnZW5kSXRlbXM/Lm1hcChcbiAgICAgICAgICAgICAgbGVnZW5kSXRlbSA9PlxuICAgICAgICAgICAgICAgIGtleXNbbGVnZW5kSXRlbS55S2V5XSAmJiAoXG4gICAgICAgICAgICAgICAgICA8TGVnZW5kSXRlbVxuICAgICAgICAgICAgICAgICAgICB7Li4ubGVnZW5kSXRlbX1cbiAgICAgICAgICAgICAgICAgICAga2V5PXtgbGVnZW5kLSR7bGVnZW5kSXRlbS55S2V5fWB9XG4gICAgICAgICAgICAgICAgICAgIHlLZXlGb3JtYXR0ZWQ9e2tleXNbbGVnZW5kSXRlbS55S2V5XS5rZXlGb3JtYXR0ZWR9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+XG4gICAgICAgICAgICAgICAgICAgICAgc2V0VmlzaWJsZVlLZXlzICYmXG4gICAgICAgICAgICAgICAgICAgICAgc2V0VmlzaWJsZVlLZXlzKHByZXYgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG5ld1Zpc2libGVMZWdlbmRJdGVtczogQXJyYXk8c3RyaW5nPiA9IFtdO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJldi5sZW5ndGggPT09IGl0ZW0ubGVnZW5kSXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFtsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZXYuaW5jbHVkZXMobGVnZW5kSXRlbS55S2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IHByZXYuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldkxlZ2VuZEl0ZW1JZCA9PiBwcmV2TGVnZW5kSXRlbUlkICE9PSBsZWdlbmRJdGVtLnlLZXlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Zpc2libGVMZWdlbmRJdGVtcyA9IFsuLi5wcmV2LCBsZWdlbmRJdGVtLnlLZXldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdWaXNpYmxlTGVnZW5kSXRlbXMubGVuZ3RoID09PSAwXG4gICAgICAgICAgICAgICAgICAgICAgICAgID8gaXRlbS5sZWdlbmRJdGVtcy5tYXAobGVnZW5kSXRlbSA9PiBsZWdlbmRJdGVtLnlLZXkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogbmV3VmlzaWJsZUxlZ2VuZEl0ZW1zO1xuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZT17c2V0VmlzaWJsZVlLZXlzID8gaXRlbS52aXNpYmxlWUtleXMuaW5jbHVkZXMobGVnZW5kSXRlbS55S2V5KSA6IHRydWV9XG4gICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzPXtpdGVtLmNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICkpfVxuICAgICAgPC9TY3JvbGxiYXI+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19 */"),
42610
42606
  x: true,
42611
- children: legendItems.map(function (legendItem) {
42612
- return keys[legendItem.yKey] && createElement$1(LegendItem, _extends({}, legendItem, {
42613
- key: "legend-" + legendItem.yKey,
42614
- yKeyFormatted: keys[legendItem.yKey].keyFormatted,
42615
- onClick: function onClick() {
42616
- return setVisibleYKeys(function (prev) {
42617
- var newVisibleLegendItems = [];
42618
- if (prev.length === legendItems.length) {
42619
- newVisibleLegendItems = [legendItem.yKey];
42620
- } else {
42621
- if (prev.includes(legendItem.yKey)) {
42622
- newVisibleLegendItems = prev.filter(function (prevLegendItemId) {
42623
- return prevLegendItemId !== legendItem.yKey;
42624
- });
42625
- } else {
42626
- newVisibleLegendItems = [].concat(prev, [legendItem.yKey]);
42627
- }
42628
- }
42629
- return newVisibleLegendItems.length === 0 ? legendItems.map(function (legendItem) {
42630
- return legendItem.yKey;
42631
- }) : newVisibleLegendItems;
42632
- });
42633
- },
42634
- visible: visibleYKeys.includes(legendItem.yKey),
42635
- conditionalFormattingRules: conditionalFormattingRules
42636
- }));
42607
+ children: items == null ? void 0 : items.map(function (item, index) {
42608
+ var _item$legendItems;
42609
+ return jsx(Fragment, {
42610
+ children: (_item$legendItems = item.legendItems) == null ? void 0 : _item$legendItems.map(function (legendItem) {
42611
+ return keys[legendItem.yKey] && createElement$1(LegendItem, _extends({}, legendItem, {
42612
+ key: "legend-" + legendItem.yKey,
42613
+ yKeyFormatted: keys[legendItem.yKey].keyFormatted,
42614
+ onClick: function onClick() {
42615
+ return setVisibleYKeys && setVisibleYKeys(function (prev) {
42616
+ var newVisibleLegendItems = [];
42617
+ if (prev.length === item.legendItems.length) {
42618
+ newVisibleLegendItems = [legendItem.yKey];
42619
+ } else {
42620
+ if (prev.includes(legendItem.yKey)) {
42621
+ newVisibleLegendItems = prev.filter(function (prevLegendItemId) {
42622
+ return prevLegendItemId !== legendItem.yKey;
42623
+ });
42624
+ } else {
42625
+ newVisibleLegendItems = [].concat(prev, [legendItem.yKey]);
42626
+ }
42627
+ }
42628
+ return newVisibleLegendItems.length === 0 ? item.legendItems.map(function (legendItem) {
42629
+ return legendItem.yKey;
42630
+ }) : newVisibleLegendItems;
42631
+ });
42632
+ },
42633
+ visible: setVisibleYKeys ? item.visibleYKeys.includes(legendItem.yKey) : true,
42634
+ conditionalFormattingRules: item.conditionalFormattingRules
42635
+ }));
42636
+ })
42637
+ }, index);
42637
42638
  })
42638
42639
  })
42639
42640
  });
@@ -42735,19 +42736,19 @@ var buildMargin = function buildMargin(yTicks, showYAxisLabels, hasYAxisTitle, h
42735
42736
  };
42736
42737
  };
42737
42738
 
42738
- function useFlattenedData(xScaleKey, xScaleDataType, chart) {
42739
+ function useFlattenedData(xScaleKey, xScaleDataType, data, yKeys) {
42739
42740
  return useMemo(function () {
42740
- if (xScaleKey && xScaleDataType) {
42741
+ if (xScaleKey && xScaleDataType && yKeys.length > 0) {
42741
42742
  return flattenData({
42742
- data: chart.data,
42743
+ data: data,
42743
42744
  xScaleKey: xScaleKey,
42744
42745
  xScaleDataType: xScaleDataType,
42745
- yKeys: chart.y.keys
42746
+ yKeys: yKeys
42746
42747
  });
42747
42748
  } else {
42748
42749
  return [];
42749
42750
  }
42750
- }, [chart.data, xScaleKey, xScaleDataType, chart.y.keys]);
42751
+ }, [data, xScaleKey, xScaleDataType, yKeys]);
42751
42752
  }
42752
42753
 
42753
42754
  var GoalLine = function GoalLine(_ref) {
@@ -43099,6 +43100,17 @@ function useTooltip$1(initialTooltipState) {
43099
43100
  };
43100
43101
  }
43101
43102
 
43103
+ function useYScale(innerHeight, scale) {
43104
+ return useMemo(function () {
43105
+ return scaleLinear({
43106
+ range: [innerHeight, 0],
43107
+ domain: scale.ordering === 'asc' ? [scale.min, scale.max] : [scale.max, scale.min],
43108
+ nice: true,
43109
+ round: true
43110
+ });
43111
+ }, [innerHeight, scale]);
43112
+ }
43113
+
43102
43114
  var LineChart$5 = function LineChart(_ref) {
43103
43115
  var _theme$axis;
43104
43116
  var chart = _ref.chart,
@@ -43164,14 +43176,8 @@ var LineChart$5 = function LineChart(_ref) {
43164
43176
  }
43165
43177
  return null;
43166
43178
  }, [innerWidth, chart.x, chart.data]);
43167
- var _yScale = useMemo(function () {
43168
- return scaleLinear({
43169
- range: [innerHeight, 0],
43170
- domain: chart.y.scale.ordering === 'asc' ? [chart.y.scale.min, chart.y.scale.max] : [chart.y.scale.max, chart.y.scale.min],
43171
- nice: true
43172
- });
43173
- }, [innerHeight, chart.y]);
43174
- var dataFlattened = useFlattenedData(xScaleKey, xScaleDataType, chart);
43179
+ var _yScale = useYScale(innerHeight, chart.y.scale);
43180
+ var dataFlattened = useFlattenedData(xScaleKey, xScaleDataType, chart.data, chart.y.keys);
43175
43181
  var handleMouseMove = useCallback(function (event) {
43176
43182
  if (!xKey || !xScaleKey || xScale === null) return;
43177
43183
  var tooltipData = getTooltipData({
@@ -43198,6 +43204,11 @@ var LineChart$5 = function LineChart(_ref) {
43198
43204
  var yTickValues = chart.y.ticks.map(function (tick) {
43199
43205
  return Number(tick.value);
43200
43206
  });
43207
+ var legendTooltipItems = [{
43208
+ legendItems: chart.lines,
43209
+ visibleYKeys: visibleYKeys,
43210
+ conditionalFormattingRules: chart.conditionalFormattingRules
43211
+ }];
43201
43212
  return jsxs(React__default.Fragment, {
43202
43213
  children: [jsxs(ChartWrapper$1, {
43203
43214
  width: width,
@@ -43232,93 +43243,19 @@ var LineChart$5 = function LineChart(_ref) {
43232
43243
  yScale: _yScale,
43233
43244
  ticks: yTickValues,
43234
43245
  stroke: theme == null || (_theme$axis = theme.axis) == null ? void 0 : _theme$axis.stroke
43235
- }), jsxs(Group$2, {
43236
- children: [chart.y.keys.map(function (yKey) {
43237
- var _chart$lines$filter$;
43238
- return jsx(LinePath, {
43239
- visibility: visibleYKeys.includes(yKey) ? 'visible' : 'hidden',
43240
- data: dataFlattened,
43241
- x: function x(d) {
43242
- var _xScale;
43243
- // @ts-ignore
43244
- var xValue = d[xScaleKey];
43245
- var xValueAdjusted = xScaleDataType === 'date_time' ? new Date(xValue) : xScaleDataType === 'number' ? Number(xValue) : String(xValue);
43246
- // @ts-ignore
43247
- return (_xScale = xScale(xValueAdjusted)) != null ? _xScale : 0;
43248
- },
43249
- y: function y(d) {
43250
- return _yScale(Number(d[yKey]));
43251
- },
43252
- stroke: chart.lines.filter(function (legendItem) {
43253
- return legendItem.yKey === yKey;
43254
- })[0].color,
43255
- strokeWidth: chart.lines.filter(function (legendItem) {
43256
- return legendItem.yKey === yKey;
43257
- })[0].style.strokeWidth,
43258
- strokeLinecap: "round",
43259
- strokeDasharray: (_chart$lines$filter$ = chart.lines.filter(function (legendItem) {
43260
- return legendItem.yKey === yKey;
43261
- })[0].style.strokeDasharray) != null ? _chart$lines$filter$ : undefined,
43262
- shapeRendering: "smooth",
43263
- defined: function defined(d) {
43264
- return d[yKey] !== null;
43265
- },
43266
- curve: curve
43267
- }, yKey);
43268
- }), chart.conditionalFormattingRules.map(function (conditionalFormattingRule) {
43269
- var _chart$lines$filter$2;
43270
- if (conditionalFormattingRule.operator !== '<=' && conditionalFormattingRule.operator !== '>=') return null;
43271
- var yKey = conditionalFormattingRule.yKey;
43272
- var clipPathId = "clip-path-" + yKey + "-" + conditionalFormattingRule.value + "-" + conditionalFormattingRule.color + "-" + Math.random(); // Do not remove Math.random() - required to ensure unique clipPathId per view instance
43273
-
43274
- var clipArea = getClipArea({
43275
- conditionalFormattingRule: conditionalFormattingRule,
43276
- chart: {
43277
- width: innerWidth,
43278
- height: innerHeight,
43279
- yScale: _yScale
43280
- }
43281
- });
43282
-
43283
- // return a new <LinePath /> for each conditional formatting rule with a matching <ReactClipPath /> to frame the part of the path that should be visible
43284
- return jsxs(Group$2, {
43285
- children: [jsx(LinePath, {
43286
- clipPath: "url(#" + clipPathId + ")",
43287
- visibility: visibleYKeys.includes(yKey) ? 'visible' : 'hidden',
43288
- data: dataFlattened,
43289
- x: function x(d) {
43290
- var _xScale2;
43291
- // @ts-ignore
43292
- var xValue = d[xScaleKey];
43293
- var xValueAdjusted = xScaleDataType === 'date_time' ? new Date(xValue) : xScaleDataType === 'number' ? Number(xValue) : String(xValue);
43294
- // @ts-ignore
43295
- return (_xScale2 = xScale(xValueAdjusted)) != null ? _xScale2 : 0;
43296
- },
43297
- y: function y(d) {
43298
- return _yScale(Number(d[yKey]));
43299
- },
43300
- stroke: conditionalFormattingRule.color,
43301
- strokeWidth: chart.lines.filter(function (legendItem) {
43302
- return legendItem.yKey === yKey;
43303
- })[0].style.strokeWidth,
43304
- strokeLinecap: "round",
43305
- strokeDasharray: (_chart$lines$filter$2 = chart.lines.filter(function (legendItem) {
43306
- return legendItem.yKey === yKey;
43307
- })[0].style.strokeDasharray) != null ? _chart$lines$filter$2 : undefined,
43308
- shapeRendering: "smooth",
43309
- defined: function defined(d) {
43310
- return d[yKey] !== null;
43311
- },
43312
- curve: curve
43313
- }, yKey), jsx(RectClipPath, {
43314
- id: clipPathId,
43315
- x: clipArea.x,
43316
- y: clipArea.y,
43317
- width: clipArea.width,
43318
- height: clipArea.height
43319
- })]
43320
- }, clipPathId);
43321
- })]
43246
+ }), jsx(Group$2, {
43247
+ children: xScaleKey !== null && jsx(Lines, {
43248
+ lines: chart.lines,
43249
+ conditionalFormattingRules: chart.conditionalFormattingRules,
43250
+ curve: curve,
43251
+ yKeys: chart.y.keys,
43252
+ visibleYKeys: visibleYKeys,
43253
+ data: dataFlattened,
43254
+ xScaleKey: xScaleKey,
43255
+ xScaleDataType: xScaleDataType,
43256
+ xScale: xScale,
43257
+ yScale: _yScale
43258
+ })
43322
43259
  })]
43323
43260
  }), tooltipData && jsxs("g", {
43324
43261
  children: [jsx(Line, {
@@ -43350,27 +43287,117 @@ var LineChart$5 = function LineChart(_ref) {
43350
43287
  width: innerWidth
43351
43288
  })]
43352
43289
  }), options.showLegend && jsx(Legend$1, {
43353
- legendItems: chart.lines,
43354
- visibleYKeys: visibleYKeys,
43290
+ items: legendTooltipItems,
43355
43291
  setVisibleYKeys: setVisibleYKeys,
43356
43292
  keys: chart.keys,
43357
- conditionalFormattingRules: chart.conditionalFormattingRules,
43358
43293
  marginLeft: margin.left - margin.leftTitleOffset
43359
43294
  }), tooltipOpen && tooltipData && xKey && jsx(Tooltip$1, {
43295
+ items: legendTooltipItems,
43360
43296
  tooltipData: tooltipData,
43361
43297
  tooltipLeft: tooltipLeft,
43362
43298
  tooltipTop: tooltipTop,
43363
43299
  xKey: xKey,
43364
43300
  keys: chart.keys,
43365
- visibleYKeys: visibleYKeys,
43366
43301
  yKeys: chart.y.keys,
43367
- legendItems: chart.lines,
43368
43302
  showRoundedTotal: options.showRoundedTotal,
43369
- conditionalFormattingRules: chart.conditionalFormattingRules,
43370
43303
  theme: themeCSS.popoverMenus
43371
43304
  })]
43372
43305
  });
43373
43306
  };
43307
+ function Lines(_ref2) {
43308
+ var yKeys = _ref2.yKeys,
43309
+ visibleYKeys = _ref2.visibleYKeys,
43310
+ data = _ref2.data,
43311
+ xScaleKey = _ref2.xScaleKey,
43312
+ xScaleDataType = _ref2.xScaleDataType,
43313
+ xScale = _ref2.xScale,
43314
+ yScale = _ref2.yScale,
43315
+ lines = _ref2.lines,
43316
+ curve = _ref2.curve,
43317
+ conditionalFormattingRules = _ref2.conditionalFormattingRules;
43318
+ return jsxs(Fragment, {
43319
+ children: [yKeys.map(function (yKey) {
43320
+ var _lines$filter$0$style;
43321
+ return jsx(LinePath, {
43322
+ visibility: visibleYKeys.includes(yKey) ? 'visible' : 'hidden',
43323
+ data: data,
43324
+ x: function x(d) {
43325
+ var _ref3;
43326
+ var xValue = d[xScaleKey];
43327
+ var xValueAdjusted = xScaleDataType === 'date_time' ? new Date(xValue) : xScaleDataType === 'number' ? Number(xValue) : String(xValue);
43328
+ return (_ref3 = xScale(xValueAdjusted)) != null ? _ref3 : 0;
43329
+ },
43330
+ y: function y(d) {
43331
+ return yScale(d[yKey]);
43332
+ },
43333
+ stroke: lines.filter(function (legendItem) {
43334
+ return legendItem.yKey === yKey;
43335
+ })[0].color,
43336
+ strokeWidth: lines.filter(function (legendItem) {
43337
+ return legendItem.yKey === yKey;
43338
+ })[0].style.strokeWidth,
43339
+ strokeLinecap: "round",
43340
+ strokeDasharray: (_lines$filter$0$style = lines.filter(function (legendItem) {
43341
+ return legendItem.yKey === yKey;
43342
+ })[0].style.strokeDasharray) != null ? _lines$filter$0$style : undefined,
43343
+ shapeRendering: "smooth",
43344
+ defined: function defined(d) {
43345
+ return d[yKey] !== null;
43346
+ },
43347
+ curve: curve
43348
+ }, yKey);
43349
+ }), conditionalFormattingRules.map(function (conditionalFormattingRule) {
43350
+ var _lines$filter$0$style2;
43351
+ if (conditionalFormattingRule.operator !== '<=' && conditionalFormattingRule.operator !== '>=') return null;
43352
+ var yKey = conditionalFormattingRule.yKey;
43353
+ var clipPathId = "clip-path-" + yKey + "-" + conditionalFormattingRule.value + "-" + conditionalFormattingRule.color + "-" + Math.random(); // Do not remove Math.random() - required to ensure unique clipPathId per view instance
43354
+
43355
+ var clipArea = getClipArea({
43356
+ conditionalFormattingRule: conditionalFormattingRule,
43357
+ chart: {
43358
+ width: innerWidth,
43359
+ height: innerHeight,
43360
+ yScale: yScale
43361
+ }
43362
+ });
43363
+ return jsxs(Group$2, {
43364
+ children: [jsx(LinePath, {
43365
+ clipPath: "url(#" + clipPathId + ")",
43366
+ visibility: visibleYKeys.includes(yKey) ? 'visible' : 'hidden',
43367
+ data: data,
43368
+ x: function x(d) {
43369
+ var _ref4;
43370
+ var xValue = d[xScaleKey];
43371
+ var xValueAdjusted = xScaleDataType === 'date_time' ? new Date(xValue) : xScaleDataType === 'number' ? Number(xValue) : String(xValue);
43372
+ return (_ref4 = xScale(xValueAdjusted)) != null ? _ref4 : 0;
43373
+ },
43374
+ y: function y(d) {
43375
+ return yScale(d[yKey]);
43376
+ },
43377
+ stroke: conditionalFormattingRule.color,
43378
+ strokeWidth: lines.filter(function (legendItem) {
43379
+ return legendItem.yKey === yKey;
43380
+ })[0].style.strokeWidth,
43381
+ strokeLinecap: "round",
43382
+ strokeDasharray: (_lines$filter$0$style2 = lines.filter(function (legendItem) {
43383
+ return legendItem.yKey === yKey;
43384
+ })[0].style.strokeDasharray) != null ? _lines$filter$0$style2 : undefined,
43385
+ shapeRendering: "smooth",
43386
+ defined: function defined(d) {
43387
+ return d[yKey] !== null;
43388
+ },
43389
+ curve: curve
43390
+ }, yKey), jsx(RectClipPath, {
43391
+ id: clipPathId,
43392
+ x: clipArea.x,
43393
+ y: clipArea.y,
43394
+ width: clipArea.width,
43395
+ height: clipArea.height
43396
+ })]
43397
+ }, clipPathId);
43398
+ })]
43399
+ });
43400
+ }
43374
43401
 
43375
43402
  function getBarFill(bars, conditionalFormattingRules, barKey, barValues) {
43376
43403
  var _bars$find;
@@ -43387,7 +43414,7 @@ function getBarFill(bars, conditionalFormattingRules, barKey, barValues) {
43387
43414
  if (compare({
43388
43415
  op: rule.operator,
43389
43416
  value: rule.value
43390
- }, value)) {
43417
+ }, value) && rule.yKey === barKey) {
43391
43418
  fill = rule.color;
43392
43419
  break;
43393
43420
  }
@@ -43396,12 +43423,43 @@ function getBarFill(bars, conditionalFormattingRules, barKey, barValues) {
43396
43423
  return fill;
43397
43424
  }
43398
43425
 
43399
- function _EMOTION_STRINGIFIED_CSS_ERROR__$9() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
43400
- var BAR_RADIUS = 2;
43401
43426
  var PADDING = {
43402
43427
  paddingOuter: 0.05,
43403
43428
  paddingInner: 0.3
43404
43429
  };
43430
+
43431
+ function useBarXScale(xScaleDataType, innerWidth, xScaleKey, data) {
43432
+ return useMemo(function () {
43433
+ if (xScaleDataType === 'string') {
43434
+ return scaleBand(_extends({
43435
+ range: [0, innerWidth],
43436
+ domain: xScaleKey ? [].concat(data.map(function (d) {
43437
+ return d[xScaleKey] && d[xScaleKey].value !== null ? String(d[xScaleKey].value) : '';
43438
+ })) : []
43439
+ }, PADDING));
43440
+ }
43441
+ if (xScaleDataType === 'date_time' && xScaleKey) {
43442
+ return scaleBand(_extends({
43443
+ range: [0, innerWidth],
43444
+ domain: data.map(function (d) {
43445
+ return new Date(d[xScaleKey].value);
43446
+ })
43447
+ }, PADDING));
43448
+ }
43449
+ if (xScaleDataType === 'number' && xScaleKey) {
43450
+ return scaleBand(_extends({
43451
+ range: [0, innerWidth],
43452
+ domain: data.map(function (d) {
43453
+ return d[xScaleKey] && d[xScaleKey].value !== null ? Number(d[xScaleKey].value) : 0;
43454
+ })
43455
+ }, PADDING));
43456
+ }
43457
+ return null;
43458
+ }, [innerWidth, data]);
43459
+ }
43460
+
43461
+ function _EMOTION_STRINGIFIED_CSS_ERROR__$9() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
43462
+ var BAR_RADIUS = 2;
43405
43463
  var BarChart$5 = function BarChart(_ref) {
43406
43464
  var _theme$axis;
43407
43465
  var chart = _ref.chart,
@@ -43432,41 +43490,8 @@ var BarChart$5 = function BarChart(_ref) {
43432
43490
  var xScaleKey = chart.x.scale.key;
43433
43491
  var yScaleKeys = chart.y.keys;
43434
43492
  var xScaleDataType = chart.x.scale.dataType;
43435
- var xScale = useMemo(function () {
43436
- if (xScaleDataType === 'string') {
43437
- return scaleBand(_extends({
43438
- range: [0, innerWidth],
43439
- domain: xScaleKey ? [].concat(chart.data.map(function (d) {
43440
- return d[xScaleKey] && d[xScaleKey].value !== null ? String(d[xScaleKey].value) : '';
43441
- })) : []
43442
- }, PADDING));
43443
- }
43444
- if (xScaleDataType === 'date_time' && xScaleKey) {
43445
- return scaleBand(_extends({
43446
- range: [0, innerWidth],
43447
- domain: chart.data.map(function (d) {
43448
- return new Date(d[xScaleKey].value);
43449
- })
43450
- }, PADDING));
43451
- }
43452
- if (xScaleDataType === 'number' && xScaleKey) {
43453
- return scaleBand(_extends({
43454
- range: [0, innerWidth],
43455
- domain: chart.data.map(function (d) {
43456
- return d[xScaleKey] && d[xScaleKey].value !== null ? Number(d[xScaleKey].value) : 0;
43457
- })
43458
- }, PADDING));
43459
- }
43460
- return null;
43461
- }, [innerWidth, chart.x, chart.data]);
43462
- var yScale = useMemo(function () {
43463
- return scaleLinear({
43464
- range: [innerHeight, 0],
43465
- domain: chart.y.scale.ordering === 'asc' ? [chart.y.scale.min, chart.y.scale.max] : [chart.y.scale.max, chart.y.scale.min],
43466
- nice: true,
43467
- round: true
43468
- });
43469
- }, [innerHeight, chart.y]);
43493
+ var xScale = useBarXScale(xScaleDataType, innerWidth, xScaleKey, chart.data);
43494
+ var yScale = useYScale(innerHeight, chart.y.scale);
43470
43495
  var innerXScale = useMemo(function () {
43471
43496
  if (!options.stacked && xScale && 'bandwidth' in xScale) {
43472
43497
  return scaleBand({
@@ -43477,7 +43502,7 @@ var BarChart$5 = function BarChart(_ref) {
43477
43502
  }
43478
43503
  return undefined;
43479
43504
  }, [xScale, yScaleKeys, options.stacked, xScaleDataType]);
43480
- var dataFlattened = useFlattenedData(xScaleKey, xScaleDataType, chart);
43505
+ var dataFlattened = useFlattenedData(xScaleKey, xScaleDataType, chart.data, chart.y.keys);
43481
43506
  var handleMouseMove = useCallback(function (event) {
43482
43507
  if (!xKey || !xScaleKey || xScale === null) return;
43483
43508
  var tooltipData = getTooltipData({
@@ -43523,6 +43548,13 @@ var BarChart$5 = function BarChart(_ref) {
43523
43548
  var yTickValues = chart.y.ticks.map(function (tick) {
43524
43549
  return Number(tick.value);
43525
43550
  });
43551
+ var legendTooltipItems = [{
43552
+ visibleYKeys: chart.bars.map(function (legendItem) {
43553
+ return legendItem.yKey;
43554
+ }),
43555
+ legendItems: chart.bars,
43556
+ conditionalFormattingRules: chart.conditionalFormattingRules
43557
+ }];
43526
43558
  return jsxs(Fragment, {
43527
43559
  children: [jsxs(ChartWrapper$1, {
43528
43560
  width: width,
@@ -43558,57 +43590,25 @@ var BarChart$5 = function BarChart(_ref) {
43558
43590
  ticks: yTickValues,
43559
43591
  stroke: theme == null || (_theme$axis = theme.axis) == null ? void 0 : _theme$axis.stroke
43560
43592
  }), jsxs(Group$2, {
43561
- children: [!options.stacked && jsx(BarGroup$1, {
43593
+ children: [!options.stacked && jsx(BarGroup, {
43562
43594
  data: dataFlattened,
43563
43595
  keys: yScaleKeys,
43564
43596
  height: innerHeight,
43565
- x0: function x0(d) {
43566
- // @ts-ignore
43567
- var xValue = d[xScaleKey];
43568
- if (xScaleDataType === 'string') return xValue;
43569
- var xValueAdjusted = xScaleDataType === 'date_time' ? new Date(xValue) : xScaleDataType === 'number' ? Number(xValue) : String(xValue);
43570
- // @ts-ignore
43571
- return xValueAdjusted;
43572
- }
43573
- // @ts-ignore
43574
- ,
43575
- x0Scale: xScale
43576
- // @ts-ignore
43577
- ,
43578
- x1Scale: innerXScale,
43597
+ xKey: xKey,
43598
+ xScaleDataType: xScaleDataType,
43599
+ xScale: xScale,
43600
+ innerXScale: innerXScale,
43579
43601
  yScale: yScale,
43580
- color: function color() {
43581
- return '';
43582
- },
43583
- children: function children(barGroups) {
43584
- return barGroups.map(function (barGroup) {
43585
- return jsx(Group$2, {
43586
- left: barGroup.x0,
43587
- children: barGroup.bars.map(function (bar) {
43588
- if (bar.value === null) return null;
43589
- if (bar.height < 0 || bar.width < 0) return null;
43590
- return jsx(Bar, {
43591
- x: bar.x,
43592
- y: bar.y,
43593
- width: bar.width,
43594
- height: bar.height,
43595
- fill: getBarFill(chart.bars, chart.conditionalFormattingRules, bar.key, bar.value),
43596
- onClick: function onClick(e) {
43597
- return handleOnBarClick(e, barGroup, bar);
43598
- },
43599
- enableHover: enableHover
43600
- }, "bar-group-bar-" + barGroup.index + "-" + bar.index + "-" + bar.value + "-" + bar.key);
43601
- })
43602
- }, "bar-group-" + barGroup.index + "-" + barGroup.x0);
43603
- });
43604
- }
43602
+ onClick: handleOnBarClick,
43603
+ conditionalFormattingRules: chart.conditionalFormattingRules,
43604
+ bars: chart.bars,
43605
+ enableHover: enableHover
43605
43606
  }), options.stacked && jsx(BarStack$1, {
43606
43607
  x: function x(d) {
43607
43608
  // @ts-ignore
43608
43609
  var xValue = d[xScaleKey];
43609
43610
  if (xScaleDataType === 'string') return xValue;
43610
43611
  var xValueAdjusted = xScaleDataType === 'date_time' ? new Date(xValue) : xScaleDataType === 'number' ? Number(xValue) : String(xValue);
43611
- // @ts-ignore
43612
43612
  return xValueAdjusted;
43613
43613
  }
43614
43614
  // @ts-ignore
@@ -43656,31 +43656,79 @@ var BarChart$5 = function BarChart(_ref) {
43656
43656
  width: innerWidth
43657
43657
  })]
43658
43658
  }), options.showLegend && jsx(Legend$1, {
43659
- legendItems: chart.bars,
43660
- visibleYKeys: chart.bars.map(function (legendItem) {
43661
- return legendItem.yKey;
43662
- }),
43659
+ items: legendTooltipItems,
43663
43660
  setVisibleYKeys: function setVisibleYKeys() {},
43664
43661
  keys: chart.keys,
43665
- conditionalFormattingRules: chart.conditionalFormattingRules,
43666
43662
  marginLeft: margin.left - margin.leftTitleOffset
43667
43663
  }), tooltipOpen && tooltipData && xKey && jsx(Tooltip$1, {
43664
+ items: legendTooltipItems,
43668
43665
  tooltipData: tooltipData,
43669
43666
  tooltipLeft: tooltipLeft,
43670
43667
  tooltipTop: tooltipTop,
43671
43668
  xKey: xKey,
43672
43669
  keys: chart.keys,
43673
- visibleYKeys: chart.bars.map(function (legendItem) {
43674
- return legendItem.yKey;
43675
- }),
43676
43670
  yKeys: chart.y.keys,
43677
- legendItems: chart.bars,
43678
43671
  showRoundedTotal: options.showRoundedTotal,
43679
- conditionalFormattingRules: chart.conditionalFormattingRules,
43680
43672
  theme: themeCSS.popoverMenus
43681
43673
  })]
43682
43674
  });
43683
43675
  };
43676
+ function BarGroup(_ref2) {
43677
+ var data = _ref2.data,
43678
+ keys = _ref2.keys,
43679
+ height = _ref2.height,
43680
+ xKey = _ref2.xKey,
43681
+ xScaleDataType = _ref2.xScaleDataType,
43682
+ xScale = _ref2.xScale,
43683
+ innerXScale = _ref2.innerXScale,
43684
+ yScale = _ref2.yScale,
43685
+ _onClick = _ref2.onClick,
43686
+ conditionalFormattingRules = _ref2.conditionalFormattingRules,
43687
+ bars = _ref2.bars,
43688
+ enableHover = _ref2.enableHover;
43689
+ return jsx(BarGroup$2, {
43690
+ data: data,
43691
+ keys: keys,
43692
+ height: height,
43693
+ x0: function x0(d) {
43694
+ var xValue = d[xKey];
43695
+ if (xScaleDataType === 'string') return String(xValue);
43696
+ var xValueAdjusted = xScaleDataType === 'date_time' ? new Date(String(xValue)) : xScaleDataType === 'number' ? Number(xValue) : String(xValue);
43697
+ return xValueAdjusted;
43698
+ }
43699
+ // @ts-ignore
43700
+ ,
43701
+ x0Scale: xScale
43702
+ // @ts-ignore
43703
+ ,
43704
+ x1Scale: innerXScale,
43705
+ yScale: yScale,
43706
+ color: function color() {
43707
+ return '';
43708
+ },
43709
+ children: function children(barGroups) {
43710
+ return barGroups.map(function (barGroup) {
43711
+ return jsx(Group$2, {
43712
+ left: barGroup.x0,
43713
+ children: barGroup.bars.map(function (bar) {
43714
+ if (bar.value === null || bar.height < 0 || bar.width < 0) return null;
43715
+ return jsx(Bar, {
43716
+ x: bar.x,
43717
+ y: bar.y,
43718
+ width: bar.width,
43719
+ height: bar.height,
43720
+ fill: getBarFill(bars, conditionalFormattingRules, String(bar.key), bar.value),
43721
+ onClick: function onClick(e) {
43722
+ return _onClick(e, barGroup, bar);
43723
+ },
43724
+ enableHover: enableHover
43725
+ }, "bar-group-bar-" + barGroup.index + "-" + bar.index + "-" + bar.value + "-" + String(bar.key));
43726
+ })
43727
+ }, "bar-group-" + barGroup.index + "-" + barGroup.x0);
43728
+ });
43729
+ }
43730
+ });
43731
+ }
43684
43732
  var Bar = function Bar(props) {
43685
43733
  var _useState = useState(props.fill),
43686
43734
  fillColor = _useState[0],
@@ -43705,7 +43753,7 @@ var Bar = function Bar(props) {
43705
43753
  } : {
43706
43754
  name: "4nk3o1-Bar",
43707
43755
  styles: "cursor:pointer;label:Bar;",
43708
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhckNoYXJ0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEwWXFDIiwiZmlsZSI6IkJhckNoYXJ0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhckNoYXJ0UmVwcmVzZW50YXRpb24gfSBmcm9tICdzaGFyZWQtbG9naWMvc3JjL0JhckNoYXJ0VjIvdHlwZXMnO1xuaW1wb3J0IHsgQ2hhcnRUaGVtZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEdyb3VwIH0gZnJvbSAnQHZpc3gvZ3JvdXAnO1xuaW1wb3J0IHsgZ2V0Q2hhcnRUaGVtZUNTUywgZ2V0VG9vbHRpcERhdGEgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyBGcmFnbWVudCwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJy4uL1Rvb2x0aXAnO1xuaW1wb3J0IHsgTGVnZW5kIH0gZnJvbSAnLi4vTGVnZW5kJztcbmltcG9ydCB7IEJhckdyb3VwLCBCYXJTdGFjayB9IGZyb20gJ0B2aXN4L3NoYXBlJztcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9GaWVsZC90eXBlcyc7XG5pbXBvcnQgeyBzY2FsZUxpbmVhciwgc2NhbGVCYW5kIH0gZnJvbSAnQHZpc3gvc2NhbGUnO1xuaW1wb3J0IHsgZ2V0QmFyRmlsbCB9IGZyb20gJy4vZ2V0QmFyRmlsbCc7XG5pbXBvcnQgeyBidWlsZE1hcmdpbiB9IGZyb20gJy4uLy4uL3V0aWxzL2J1aWxkTWFyZ2luJztcbmltcG9ydCB7IENoYXJ0T25WaWV3Q2xpY2ssIENoYXJ0RGF0YURlZmluaXRpb24sIERhdGFJdGVtIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9DaGFydHNWMi90eXBlcyc7XG5pbXBvcnQgeyBsaWdodGVuQ29sb3IgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29sb3IuZnVuY3Rpb25zJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL2Nzcyc7XG5pbXBvcnQgeyBCYXJHcm91cEJhciwgQmFyR3JvdXAgYXMgQmFyR3JvdXBUeXBlIH0gZnJvbSAnQHZpc3gvc2hhcGUvbGliL3R5cGVzJztcbmltcG9ydCB7IHVzZUZsYXR0ZW5lZERhdGEgfSBmcm9tICcuLi9ob29rcy91c2VGbGF0dGVuZWREYXRhJztcbmltcG9ydCBHb2FsTGluZXMgZnJvbSAnLi4vR29hbExpbmUvR29hbExpbmVzJztcbmltcG9ydCB7IEF4aXNCb3R0b20gfSBmcm9tICcuLi9BeGlzL0F4aXNCb3R0b20nO1xuaW1wb3J0IHsgQXhpc0xlZnQgfSBmcm9tICcuLi9BeGlzL0F4aXNMZWZ0JztcbmltcG9ydCB7IEdyaWRSb3dzIH0gZnJvbSAnLi4vR3JpZFJvd3MvR3JpZFJvd3MnO1xuaW1wb3J0IHsgQ2hhcnRXcmFwcGVyIH0gZnJvbSAnLi4vQ2hhcnRXcmFwcGVyL0NoYXJ0V3JhcHBlcic7XG5pbXBvcnQgeyBMaW5lIH0gZnJvbSAnLi4vVG9vbHRpcC9MaW5lJztcbmltcG9ydCB1c2VUb29sdGlwIGZyb20gJy4uL2hvb2tzL3VzZVRvb2x0aXAnO1xuXG4vLyBOZWVkIHRvIGxvb2sgYXQgdXBkYXRpbmcgQmFyQ2hhcnQgdG8gdXNlIHRoaXMgdHlwZSBtZXRob2Qgb2YgcmVuZGVyaW5nIC0gaHR0cHM6Ly9jb2Rlc2FuZGJveC5pby9wL3NhbmRib3gvdmlzeC1iYXItY2hhcnQtajlzbXBqP2ZpbGU9JTJGRXhhbXBsZS50c3hcbi8vIEN1cnJlbnRseSBpdCdzIHVzaW5nIFN0YWNrZWQgQ2hhcnQgd2hpY2ggaXNuJ3QgdGVjaG5pY2FsbHkgY29ycmVjdFxuXG5leHBvcnQgdHlwZSBCYXJDaGFydFByb3BzID0ge1xuICB3aWR0aDogbnVtYmVyO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgdGhlbWU/OiBDaGFydFRoZW1lO1xuICBjaGFydDogQmFyQ2hhcnRSZXByZXNlbnRhdGlvbjtcbiAgb3B0aW9uczoge1xuICAgIHN0YWNrZWQ6IGJvb2xlYW47XG4gICAgc2hvd1JvdW5kZWRUb3RhbDogYm9vbGVhbjtcbiAgICBzaG93TGVnZW5kOiBib29sZWFuO1xuICAgIHJlbW92ZVN0cm9rZTogYm9vbGVhbjtcbiAgICBheGlzOiB7XG4gICAgICBzaG93WEF4aXNMYWJlbHM6IGJvb2xlYW47XG4gICAgICBzaG93WUF4aXNMYWJlbHM6IGJvb2xlYW47XG4gICAgfTtcbiAgfTtcbiAgb25DbGljazogKHBhcmFtczogQ2hhcnRPblZpZXdDbGljaykgPT4gdm9pZDtcbiAgZW5hYmxlSG92ZXI/OiBib29sZWFuO1xufTtcblxuY29uc3QgQkFSX1JBRElVUyA9IDI7XG5cbmNvbnN0IFBBRERJTkcgPSB7XG4gIHBhZGRpbmdPdXRlcjogMC4wNSxcbiAgcGFkZGluZ0lubmVyOiAwLjMsXG59O1xuXG5leHBvcnQgY29uc3QgQmFyQ2hhcnQgPSAoeyBjaGFydCwgd2lkdGgsIGhlaWdodCwgb3B0aW9ucywgdGhlbWUsIG9uQ2xpY2ssIGVuYWJsZUhvdmVyIH06IEJhckNoYXJ0UHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIHRvb2x0aXBPcGVuLFxuICAgIHRvb2x0aXBMZWZ0ID0gMCxcbiAgICB0b29sdGlwVG9wID0gMCxcbiAgICBsaW5lTGVmdCA9IDAsXG4gICAgdG9vbHRpcERhdGEsXG4gICAgaGlkZVRvb2x0aXAsXG4gICAgc2hvd1Rvb2x0aXAsXG4gIH0gPSB1c2VUb29sdGlwPHtcbiAgICBba2V5SWQ6IHN0cmluZ106IERhdGFJdGVtO1xuICB9IHwgbnVsbD4oKTtcblxuICBjb25zdCBtYXJnaW4gPSBidWlsZE1hcmdpbihjaGFydC55LnRpY2tzLCBvcHRpb25zLmF4aXMuc2hvd1lBeGlzTGFiZWxzLCBjaGFydC55LnRpdGxlICE9IG51bGwsIGNoYXJ0LngudGl0bGUgIT0gbnVsbCk7XG5cbiAgLy8gY29uc3QgW3Zpc2libGVZS2V5cywgc2V0VmlzaWJsZVlLZXlzXSA9IHVzZVN0YXRlKGNoYXJ0LmJhcnMubWFwKChsZWdlbmRJdGVtKSA9PiBsZWdlbmRJdGVtLnlLZXkpKTtcblxuICBjb25zdCBpbm5lcldpZHRoID0gd2lkdGggLSBtYXJnaW4ubGVmdCAtIG1hcmdpbi5yaWdodDtcbiAgY29uc3QgaW5uZXJIZWlnaHQgPSBoZWlnaHQgLSBtYXJnaW4udG9wIC0gbWFyZ2luLmJvdHRvbSAtIChvcHRpb25zLnNob3dMZWdlbmQgPyA0MCA6IDApO1xuICBjb25zdCB4S2V5ID0gY2hhcnQueC5rZXk7XG4gIGNvbnN0IHhTY2FsZUtleSA9IGNoYXJ0Lnguc2NhbGUua2V5O1xuICBjb25zdCB5U2NhbGVLZXlzID0gY2hhcnQueS5rZXlzO1xuICBjb25zdCB4U2NhbGVEYXRhVHlwZTogRGF0YVR5cGUgPSBjaGFydC54LnNjYWxlLmRhdGFUeXBlO1xuXG4gIGNvbnN0IHhTY2FsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICh4U2NhbGVEYXRhVHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBzY2FsZUJhbmQ8c3RyaW5nPih7XG4gICAgICAgIHJhbmdlOiBbMCwgaW5uZXJXaWR0aF0sXG4gICAgICAgIGRvbWFpbjogeFNjYWxlS2V5XG4gICAgICAgICAgPyBbLi4uY2hhcnQuZGF0YS5tYXAoZCA9PiAoZFt4U2NhbGVLZXldICYmIGRbeFNjYWxlS2V5XS52YWx1ZSAhPT0gbnVsbCA/IFN0cmluZyhkW3hTY2FsZUtleV0udmFsdWUpIDogJycpKV1cbiAgICAgICAgICA6IFtdLFxuICAgICAgICAuLi5QQURESU5HLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnZGF0ZV90aW1lJyAmJiB4U2NhbGVLZXkpIHtcbiAgICAgIHJldHVybiBzY2FsZUJhbmQ8RGF0ZT4oe1xuICAgICAgICByYW5nZTogWzAsIGlubmVyV2lkdGhdLFxuICAgICAgICBkb21haW46IGNoYXJ0LmRhdGEubWFwKGQgPT4gbmV3IERhdGUoZFt4U2NhbGVLZXldLnZhbHVlIGFzIHN0cmluZykpLFxuICAgICAgICAuLi5QQURESU5HLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnbnVtYmVyJyAmJiB4U2NhbGVLZXkpIHtcbiAgICAgIHJldHVybiBzY2FsZUJhbmQ8bnVtYmVyPih7XG4gICAgICAgIHJhbmdlOiBbMCwgaW5uZXJXaWR0aF0sXG4gICAgICAgIGRvbWFpbjogY2hhcnQuZGF0YS5tYXAoZCA9PiAoZFt4U2NhbGVLZXldICYmIGRbeFNjYWxlS2V5XS52YWx1ZSAhPT0gbnVsbCA/IE51bWJlcihkW3hTY2FsZUtleV0udmFsdWUpIDogMCkpLFxuICAgICAgICAuLi5QQURESU5HLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH0sIFtpbm5lcldpZHRoLCBjaGFydC54LCBjaGFydC5kYXRhXSk7XG5cbiAgY29uc3QgeVNjYWxlID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgc2NhbGVMaW5lYXI8bnVtYmVyPih7XG4gICAgICAgIHJhbmdlOiBbaW5uZXJIZWlnaHQsIDBdLFxuICAgICAgICBkb21haW46XG4gICAgICAgICAgY2hhcnQueS5zY2FsZS5vcmRlcmluZyA9PT0gJ2FzYydcbiAgICAgICAgICAgID8gW2NoYXJ0Lnkuc2NhbGUubWluIGFzIG51bWJlciwgY2hhcnQueS5zY2FsZS5tYXggYXMgbnVtYmVyXVxuICAgICAgICAgICAgOiBbY2hhcnQueS5zY2FsZS5tYXggYXMgbnVtYmVyLCBjaGFydC55LnNjYWxlLm1pbiBhcyBudW1iZXJdLFxuICAgICAgICBuaWNlOiB0cnVlLFxuICAgICAgICByb3VuZDogdHJ1ZSxcbiAgICAgIH0pLFxuICAgIFtpbm5lckhlaWdodCwgY2hhcnQueV1cbiAgKTtcblxuICBjb25zdCBpbm5lclhTY2FsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghb3B0aW9ucy5zdGFja2VkICYmIHhTY2FsZSAmJiAnYmFuZHdpZHRoJyBpbiB4U2NhbGUpIHtcbiAgICAgIHJldHVybiBzY2FsZUJhbmQ8c3RyaW5nPih7XG4gICAgICAgIHJhbmdlOiBbMCwgeFNjYWxlPy5iYW5kd2lkdGgoKV0sXG4gICAgICAgIGRvbWFpbjogeVNjYWxlS2V5cyxcbiAgICAgICAgcGFkZGluZzogMC4xLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfSwgW3hTY2FsZSwgeVNjYWxlS2V5cywgb3B0aW9ucy5zdGFja2VkLCB4U2NhbGVEYXRhVHlwZV0pO1xuXG4gIGNvbnN0IGRhdGFGbGF0dGVuZWQgPSB1c2VGbGF0dGVuZWREYXRhPEJhckNoYXJ0UmVwcmVzZW50YXRpb24sIENoYXJ0RGF0YURlZmluaXRpb24+KHhTY2FsZUtleSwgeFNjYWxlRGF0YVR5cGUsIGNoYXJ0KTtcblxuICBjb25zdCBoYW5kbGVNb3VzZU1vdmUgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8U1ZHRWxlbWVudD4pID0+IHtcbiAgICAgIGlmICgheEtleSB8fCAheFNjYWxlS2V5IHx8IHhTY2FsZSA9PT0gbnVsbCkgcmV0dXJuO1xuXG4gICAgICBjb25zdCB0b29sdGlwRGF0YSA9IGdldFRvb2x0aXBEYXRhKHtcbiAgICAgICAgZGF0YTogY2hhcnQuZGF0YSxcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIG1hcmdpbixcbiAgICAgICAgeFNjYWxlS2V5LFxuICAgICAgICB4U2NhbGVEYXRhVHlwZSxcbiAgICAgICAgeE9yZGVyaW5nOiBjaGFydC54LnNjYWxlLm9yZGVyaW5nLFxuICAgICAgICB4U2NhbGUsXG4gICAgICAgIGNoYXJ0VHlwZTogJ2JhcicsXG4gICAgICB9KTtcblxuICAgICAgc2hvd1Rvb2x0aXAoe1xuICAgICAgICBsaW5lTGVmdDogdG9vbHRpcERhdGE/LmxpbmVMZWZ0LFxuICAgICAgICB0b29sdGlwTGVmdDogZXZlbnQucGFnZVgsXG4gICAgICAgIHRvb2x0aXBUb3A6IGV2ZW50LnBhZ2VZLFxuICAgICAgICB0b29sdGlwRGF0YTogdG9vbHRpcERhdGE/LnRvb2x0aXBEYXRhLFxuICAgICAgfSk7XG4gICAgfSxcbiAgICBbc2hvd1Rvb2x0aXAsIHhTY2FsZSwgbWFyZ2luLCB4S2V5LCB4U2NhbGVLZXksIHhTY2FsZURhdGFUeXBlLCBjaGFydC54LnNjYWxlLm9yZGVyaW5nLCBjaGFydC5kYXRhXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZU1vdXNlTGVhdmUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaGlkZVRvb2x0aXAoKTtcbiAgfSwgW2hpZGVUb29sdGlwXSk7XG5cbiAgY29uc3QgaGFuZGxlT25CYXJDbGljayA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogUmVhY3QuTW91c2VFdmVudDxTVkdSZWN0RWxlbWVudCwgTW91c2VFdmVudD4sIGJhckdyb3VwOiBCYXJHcm91cFR5cGU8c3RyaW5nPiwgYmFyOiBCYXJHcm91cEJhcjxzdHJpbmc+KSA9PiB7XG4gICAgICBvbkNsaWNrKHtcbiAgICAgICAgY2xpY2tlZFZhbHVlOiB7XG4gICAgICAgICAgaW5kZXg6IGJhckdyb3VwLmluZGV4LFxuICAgICAgICAgIHk6IHtcbiAgICAgICAgICAgIGtleTogYmFyLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiBiYXIudmFsdWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB4OiB7XG4gICAgICAgICAgICAuLi5jaGFydC54LnRpY2tzW2Jhckdyb3VwLmluZGV4XSxcbiAgICAgICAgICAgIHZhbHVlOiBjaGFydC5kYXRhW2Jhckdyb3VwLmluZGV4XVt4S2V5XS52YWx1ZSA/PyAnJyxcbiAgICAgICAgICAgIGtleTogeEtleSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBjbGlja0V2ZW50OiBldmVudCxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgW29uQ2xpY2ssIGNoYXJ0LmRhdGEsIHhLZXldXG4gICk7XG5cbiAgY29uc3QgdGhlbWVDU1MgPSB1c2VNZW1vKCgpID0+IGdldENoYXJ0VGhlbWVDU1ModGhlbWUpLCBbdGhlbWVdKTtcblxuICBjb25zdCB5VGlja1ZhbHVlcyA9IGNoYXJ0LnkudGlja3MubWFwKHRpY2sgPT4gTnVtYmVyKHRpY2sudmFsdWUpKTtcblxuICByZXR1cm4gKFxuICAgIDxGcmFnbWVudD5cbiAgICAgIHsvKiB3aWR0aC9oZWlnaHQgMTAwJSByZXF1aXJlZCBvciB1c2VQYXJlbnRTaXplKCkgY29udGludW91c2x5IHNjYWxlcyBhcyBwYXJlbnQgZWxlbWVudCBoYXMgbm8gc3BlY2lmaWVkIGhlaWdodCAqL31cbiAgICAgIDxDaGFydFdyYXBwZXJcbiAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgb25Nb3VzZU1vdmU9e2hhbmRsZU1vdXNlTW92ZX1cbiAgICAgICAgb25Nb3VzZUxlYXZlPXtoYW5kbGVNb3VzZUxlYXZlfVxuICAgICAgICBzaG93TGVnZW5kPXtvcHRpb25zLnNob3dMZWdlbmR9XG4gICAgICA+XG4gICAgICAgIDxHcm91cCBsZWZ0PXttYXJnaW4ubGVmdH0gdG9wPXttYXJnaW4udG9wfT5cbiAgICAgICAgICA8R3JpZFJvd3NcbiAgICAgICAgICAgIHRpY2tzPXt5VGlja1ZhbHVlc31cbiAgICAgICAgICAgIHlTY2FsZT17eVNjYWxlfVxuICAgICAgICAgICAgd2lkdGg9e2lubmVyV2lkdGh9XG4gICAgICAgICAgICBoZWlnaHQ9e2lubmVySGVpZ2h0fVxuICAgICAgICAgICAgcmVtb3ZlU3Ryb2tlPXtvcHRpb25zLnJlbW92ZVN0cm9rZX1cbiAgICAgICAgICAgIHRoZW1lQ1NTPXt0aGVtZUNTU31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxBeGlzQm90dG9tXG4gICAgICAgICAgICB4PXtjaGFydC54fVxuICAgICAgICAgICAgbWFyZ2luPXttYXJnaW59XG4gICAgICAgICAgICB0aGVtZUNTUz17dGhlbWVDU1N9XG4gICAgICAgICAgICBzaG93PXtvcHRpb25zLmF4aXMuc2hvd1hBeGlzTGFiZWxzfVxuICAgICAgICAgICAgcmVtb3ZlU3Ryb2tlPXtvcHRpb25zLnJlbW92ZVN0cm9rZX1cbiAgICAgICAgICAgIHhTY2FsZURhdGFUeXBlPXt4U2NhbGVEYXRhVHlwZX1cbiAgICAgICAgICAgIHhTY2FsZT17eFNjYWxlfVxuICAgICAgICAgICAgaGVpZ2h0PXtpbm5lckhlaWdodH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxBeGlzTGVmdFxuICAgICAgICAgICAgc2hvdz17b3B0aW9ucy5heGlzLnNob3dZQXhpc0xhYmVsc31cbiAgICAgICAgICAgIHk9e2NoYXJ0Lnl9XG4gICAgICAgICAgICBtYXJnaW49e21hcmdpbn1cbiAgICAgICAgICAgIHRoZW1lQ1NTPXt0aGVtZUNTU31cbiAgICAgICAgICAgIHlTY2FsZT17eVNjYWxlfVxuICAgICAgICAgICAgdGlja3M9e3lUaWNrVmFsdWVzfVxuICAgICAgICAgICAgc3Ryb2tlPXt0aGVtZT8uYXhpcz8uc3Ryb2tlfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEdyb3VwPlxuICAgICAgICAgICAgeyFvcHRpb25zLnN0YWNrZWQgJiYgKFxuICAgICAgICAgICAgICA8QmFyR3JvdXBcbiAgICAgICAgICAgICAgICBkYXRhPXtkYXRhRmxhdHRlbmVkfVxuICAgICAgICAgICAgICAgIGtleXM9e3lTY2FsZUtleXN9XG4gICAgICAgICAgICAgICAgaGVpZ2h0PXtpbm5lckhlaWdodH1cbiAgICAgICAgICAgICAgICB4MD17ZCA9PiB7XG4gICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICBjb25zdCB4VmFsdWUgPSBkW3hTY2FsZUtleV07XG5cbiAgICAgICAgICAgICAgICAgIGlmICh4U2NhbGVEYXRhVHlwZSA9PT0gJ3N0cmluZycpIHJldHVybiB4VmFsdWU7XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IHhWYWx1ZUFkanVzdGVkID1cbiAgICAgICAgICAgICAgICAgICAgeFNjYWxlRGF0YVR5cGUgPT09ICdkYXRlX3RpbWUnXG4gICAgICAgICAgICAgICAgICAgICAgPyBuZXcgRGF0ZSh4VmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgOiB4U2NhbGVEYXRhVHlwZSA9PT0gJ251bWJlcidcbiAgICAgICAgICAgICAgICAgICAgICA/IE51bWJlcih4VmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgOiBTdHJpbmcoeFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgIHJldHVybiB4VmFsdWVBZGp1c3RlZDtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICB4MFNjYWxlPXt4U2NhbGV9XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIHgxU2NhbGU9e2lubmVyWFNjYWxlfVxuICAgICAgICAgICAgICAgIHlTY2FsZT17eVNjYWxlfVxuICAgICAgICAgICAgICAgIGNvbG9yPXsoKSA9PiAnJ31cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtiYXJHcm91cHMgPT4ge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIGJhckdyb3Vwcy5tYXAoYmFyR3JvdXAgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8R3JvdXAga2V5PXtgYmFyLWdyb3VwLSR7YmFyR3JvdXAuaW5kZXh9LSR7YmFyR3JvdXAueDB9YH0gbGVmdD17YmFyR3JvdXAueDB9PlxuICAgICAgICAgICAgICAgICAgICAgIHtiYXJHcm91cC5iYXJzLm1hcChiYXIgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGJhci52YWx1ZSA9PT0gbnVsbCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYmFyLmhlaWdodCA8IDAgfHwgYmFyLndpZHRoIDwgMCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8QmFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYmFyLWdyb3VwLWJhci0ke2Jhckdyb3VwLmluZGV4fS0ke2Jhci5pbmRleH0tJHtiYXIudmFsdWV9LSR7YmFyLmtleX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHg9e2Jhci54fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHk9e2Jhci55fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXtiYXIud2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXtiYXIuaGVpZ2h0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9e2dldEJhckZpbGwoY2hhcnQuYmFycywgY2hhcnQuY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsIGJhci5rZXksIGJhci52YWx1ZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiBoYW5kbGVPbkJhckNsaWNrKGUsIGJhckdyb3VwLCBiYXIpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZUhvdmVyPXtlbmFibGVIb3Zlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgIDwvR3JvdXA+XG4gICAgICAgICAgICAgICAgICApKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8L0Jhckdyb3VwPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgey8qIEhvdyB0byB3ZSBnZXQgJ3NjYWxlVmFsdWUnIGhlcmU/IFdpbGwgd2UgbmVlZCB0byBzdGFydCBzdG9yaW5nIHNjYWxlS2V5IGFzIHdlbGwgYXMgeEtleT8gKi99XG4gICAgICAgICAgICB7b3B0aW9ucy5zdGFja2VkICYmIChcbiAgICAgICAgICAgICAgPEJhclN0YWNrXG4gICAgICAgICAgICAgICAgeD17ZCA9PiB7XG4gICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICBjb25zdCB4VmFsdWUgPSBkW3hTY2FsZUtleV07XG4gICAgICAgICAgICAgICAgICBpZiAoeFNjYWxlRGF0YVR5cGUgPT09ICdzdHJpbmcnKSByZXR1cm4geFZhbHVlO1xuXG4gICAgICAgICAgICAgICAgICBjb25zdCB4VmFsdWVBZGp1c3RlZCA9XG4gICAgICAgICAgICAgICAgICAgIHhTY2FsZURhdGFUeXBlID09PSAnZGF0ZV90aW1lJ1xuICAgICAgICAgICAgICAgICAgICAgID8gbmV3IERhdGUoeFZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgIDogeFNjYWxlRGF0YVR5cGUgPT09ICdudW1iZXInXG4gICAgICAgICAgICAgICAgICAgICAgPyBOdW1iZXIoeFZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgIDogU3RyaW5nKHhWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICByZXR1cm4geFZhbHVlQWRqdXN0ZWQ7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgeFNjYWxlPXt4U2NhbGV9XG4gICAgICAgICAgICAgICAgeVNjYWxlPXt5U2NhbGV9XG4gICAgICAgICAgICAgICAgZGF0YT17ZGF0YUZsYXR0ZW5lZH1cbiAgICAgICAgICAgICAgICBrZXlzPXtjaGFydC55LmtleXN9XG4gICAgICAgICAgICAgICAgY29sb3I9eygpID0+ICcnfVxuICAgICAgICAgICAgICAgIGhlaWdodD17aW5uZXJIZWlnaHR9XG4gICAgICAgICAgICAgICAgd2lkdGg9e2lubmVyV2lkdGh9XG4gICAgICAgICAgICAgICAgb2Zmc2V0PVwibm9uZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7YmFyU3RhY2tzID0+XG4gICAgICAgICAgICAgICAgICBiYXJTdGFja3MubWFwKGJhclN0YWNrID0+XG4gICAgICAgICAgICAgICAgICAgIGJhclN0YWNrLmJhcnMubWFwKGJhciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGJhci5oZWlnaHQgPCAzKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBCQVJfUEFERElORyA9IDEuNTtcbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYmFyLXN0YWNrLSR7YmFyU3RhY2suaW5kZXh9LSR7YmFyLmluZGV4fWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHg9e2Jhci54fVxuICAgICAgICAgICAgICAgICAgICAgICAgICB5PXtiYXIueX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9e2Jhci53aWR0aH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PXtiYXIuaGVpZ2h0IC0gQkFSX1BBRERJTkd9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9e2dldEJhckZpbGwoY2hhcnQuYmFycywgY2hhcnQuY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsIGJhci5rZXksIGJhci5iYXIuZGF0YSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJ4PXtCQVJfUkFESVVTfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9CYXJTdGFjaz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Hcm91cD5cbiAgICAgICAgPC9Hcm91cD5cbiAgICAgICAgey8qIC0tLS0tIFRPT0xUSVAgQ1JPU1NIQUlSIC0tLS0tICovfVxuICAgICAgICB7dG9vbHRpcERhdGEgJiYgKFxuICAgICAgICAgIDxnPlxuICAgICAgICAgICAgPExpbmUgeD17bGluZUxlZnR9IG1hcmdpbj17bWFyZ2lufSBoZWlnaHQ9e2lubmVySGVpZ2h0fSAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgKX1cbiAgICAgICAgey8qIC0tLS0tIEdPQUwgTElORVMgLS0tLS0tICovfVxuICAgICAgICA8R29hbExpbmVzIGdvYWxMaW5lcz17Y2hhcnQuZ29hbExpbmVzfSB5PXtkID0+IHlTY2FsZShkKX0gbWFyZ2luPXttYXJnaW59IHdpZHRoPXtpbm5lcldpZHRofSAvPlxuICAgICAgPC9DaGFydFdyYXBwZXI+XG4gICAgICB7LyogLS0tLS0gTEVHRU5EIC0tLS0tICovfVxuICAgICAge29wdGlvbnMuc2hvd0xlZ2VuZCAmJiAoXG4gICAgICAgIDxMZWdlbmRcbiAgICAgICAgICBsZWdlbmRJdGVtcz17Y2hhcnQuYmFyc31cbiAgICAgICAgICB2aXNpYmxlWUtleXM9e2NoYXJ0LmJhcnMubWFwKGxlZ2VuZEl0ZW0gPT4gbGVnZW5kSXRlbS55S2V5KX1cbiAgICAgICAgICBzZXRWaXNpYmxlWUtleXM9eygpID0+IHt9fVxuICAgICAgICAgIGtleXM9e2NoYXJ0LmtleXN9XG4gICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM9e2NoYXJ0LmNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzfVxuICAgICAgICAgIG1hcmdpbkxlZnQ9e21hcmdpbi5sZWZ0IC0gbWFyZ2luLmxlZnRUaXRsZU9mZnNldH1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgICB7LyogLS0tLS0gVE9PTFRJUCAtLS0tLSAqL31cbiAgICAgIHt0b29sdGlwT3BlbiAmJiB0b29sdGlwRGF0YSAmJiB4S2V5ICYmIChcbiAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICB0b29sdGlwRGF0YT17dG9vbHRpcERhdGF9XG4gICAgICAgICAgdG9vbHRpcExlZnQ9e3Rvb2x0aXBMZWZ0fVxuICAgICAgICAgIHRvb2x0aXBUb3A9e3Rvb2x0aXBUb3B9XG4gICAgICAgICAgeEtleT17eEtleX1cbiAgICAgICAgICBrZXlzPXtjaGFydC5rZXlzfVxuICAgICAgICAgIHZpc2libGVZS2V5cz17Y2hhcnQuYmFycy5tYXAobGVnZW5kSXRlbSA9PiBsZWdlbmRJdGVtLnlLZXkpfVxuICAgICAgICAgIHlLZXlzPXtjaGFydC55LmtleXN9XG4gICAgICAgICAgbGVnZW5kSXRlbXM9e2NoYXJ0LmJhcnN9XG4gICAgICAgICAgc2hvd1JvdW5kZWRUb3RhbD17b3B0aW9ucy5zaG93Um91bmRlZFRvdGFsfVxuICAgICAgICAgIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzPXtjaGFydC5jb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlc31cbiAgICAgICAgICB0aGVtZT17dGhlbWVDU1MucG9wb3Zlck1lbnVzfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L0ZyYWdtZW50PlxuICApO1xufTtcblxuY29uc3QgQmFyID0gKHByb3BzOiB7XG4gIG9uQ2xpY2s6IChlOiBSZWFjdC5Nb3VzZUV2ZW50PFNWR1JlY3RFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4gdm9pZDtcbiAgZmlsbD86IHN0cmluZztcbiAgeDogbnVtYmVyO1xuICB5OiBudW1iZXI7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICBrZXk6IHN0cmluZztcbiAgZW5hYmxlSG92ZXI/OiBib29sZWFuO1xufSkgPT4ge1xuICBjb25zdCBbZmlsbENvbG9yLCBzZXRGaWxsQ29sb3JdID0gdXNlU3RhdGUocHJvcHMuZmlsbCk7XG4gIHJldHVybiAoXG4gICAgPHJlY3RcbiAgICAgIGtleT17cHJvcHMua2V5fVxuICAgICAgeD17cHJvcHMueH1cbiAgICAgIHk9e3Byb3BzLnl9XG4gICAgICB3aWR0aD17cHJvcHMud2lkdGh9XG4gICAgICBoZWlnaHQ9e3Byb3BzLmhlaWdodH1cbiAgICAgIGZpbGw9e2ZpbGxDb2xvcn1cbiAgICAgIHJ4PXtCQVJfUkFESVVTfVxuICAgICAgb25DbGljaz17cHJvcHMub25DbGlja31cbiAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4gcHJvcHMuZW5hYmxlSG92ZXIgJiYgc2V0RmlsbENvbG9yKGxpZ2h0ZW5Db2xvcihwcm9wcy5maWxsLCAwLjgpKX1cbiAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4gcHJvcHMuZW5hYmxlSG92ZXIgJiYgc2V0RmlsbENvbG9yKHByb3BzLmZpbGwpfVxuICAgICAgY2xhc3NOYW1lPXtwcm9wcy5lbmFibGVIb3ZlciA/IGNzcyh7IGN1cnNvcjogJ3BvaW50ZXInIH0pIDogJyd9XG4gICAgLz5cbiAgKTtcbn07XG4iXX0= */",
43756
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJhckNoYXJ0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4WXFDIiwiZmlsZSI6IkJhckNoYXJ0LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhckNoYXJ0UmVwcmVzZW50YXRpb24sIEJhclN0eWxlcyB9IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQmFyQ2hhcnRWMi90eXBlcyc7XG5pbXBvcnQgeyBDaGFydFRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgR3JvdXAgfSBmcm9tICdAdmlzeC9ncm91cCc7XG5pbXBvcnQgeyBnZXRDaGFydFRoZW1lQ1NTLCBnZXRUb29sdGlwRGF0YSB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEZyYWdtZW50LCB1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnLi4vVG9vbHRpcCc7XG5pbXBvcnQgeyBMZWdlbmQgfSBmcm9tICcuLi9MZWdlbmQnO1xuaW1wb3J0IHsgQmFyR3JvdXAgYXMgVmlzeEJhckdyb3VwLCBCYXJTdGFjayB9IGZyb20gJ0B2aXN4L3NoYXBlJztcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnc2hhcmVkLWxvZ2ljL3NyYy9GaWVsZC90eXBlcyc7XG5pbXBvcnQgeyBzY2FsZUJhbmQgfSBmcm9tICdAdmlzeC9zY2FsZSc7XG5pbXBvcnQgeyBnZXRCYXJGaWxsIH0gZnJvbSAnLi4vLi4vdXRpbHMvZ2V0QmFyRmlsbCc7XG5pbXBvcnQgeyBidWlsZE1hcmdpbiB9IGZyb20gJy4uLy4uL3V0aWxzL2J1aWxkTWFyZ2luJztcbmltcG9ydCB7XG4gIENoYXJ0RGF0YURlZmluaXRpb24sXG4gIENoYXJ0T25WaWV3Q2xpY2ssXG4gIENvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGUsXG4gIERhdGFJdGVtLFxuICBTaGFwZURlZmluaXRpb24sXG59IGZyb20gJ3NoYXJlZC1sb2dpYy9zcmMvQ2hhcnRzVjIvdHlwZXMnO1xuaW1wb3J0IHsgbGlnaHRlbkNvbG9yIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2NvbG9yLmZ1bmN0aW9ucyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9jc3MnO1xuaW1wb3J0IHsgQmFyR3JvdXBCYXIsIEJhckdyb3VwIGFzIEJhckdyb3VwVHlwZSwgRGF0dW1PYmplY3QgfSBmcm9tICdAdmlzeC9zaGFwZS9saWIvdHlwZXMnO1xuaW1wb3J0IHsgdXNlRmxhdHRlbmVkRGF0YSB9IGZyb20gJy4uL2hvb2tzL3VzZUZsYXR0ZW5lZERhdGEnO1xuaW1wb3J0IEdvYWxMaW5lcyBmcm9tICcuLi9Hb2FsTGluZS9Hb2FsTGluZXMnO1xuaW1wb3J0IHsgQXhpc0JvdHRvbSB9IGZyb20gJy4uL0F4aXMvQXhpc0JvdHRvbSc7XG5pbXBvcnQgeyBBeGlzTGVmdCB9IGZyb20gJy4uL0F4aXMvQXhpc0xlZnQnO1xuaW1wb3J0IHsgR3JpZFJvd3MgfSBmcm9tICcuLi9HcmlkUm93cy9HcmlkUm93cyc7XG5pbXBvcnQgeyBDaGFydFdyYXBwZXIgfSBmcm9tICcuLi9DaGFydFdyYXBwZXIvQ2hhcnRXcmFwcGVyJztcbmltcG9ydCB7IFNjYWxlTGluZWFyLCBTY2FsZUJhbmQgfSBmcm9tICdAdmlzeC92ZW5kb3IvZDMtc2NhbGUnO1xuaW1wb3J0IHsgTGluZSB9IGZyb20gJy4uL1Rvb2x0aXAvTGluZSc7XG5pbXBvcnQgdXNlVG9vbHRpcCBmcm9tICcuLi9ob29rcy91c2VUb29sdGlwJztcbmltcG9ydCB7IHVzZUJhclhTY2FsZSB9IGZyb20gJy4vdXNlQmFyWFNjYWxlJztcbmltcG9ydCB7IHVzZVlTY2FsZSB9IGZyb20gJy4uL2hvb2tzL3VzZVlTY2FsZSc7XG5cbi8vIE5lZWQgdG8gbG9vayBhdCB1cGRhdGluZyBCYXJDaGFydCB0byB1c2UgdGhpcyB0eXBlIG1ldGhvZCBvZiByZW5kZXJpbmcgLSBodHRwczovL2NvZGVzYW5kYm94LmlvL3Avc2FuZGJveC92aXN4LWJhci1jaGFydC1qOXNtcGo/ZmlsZT0lMkZFeGFtcGxlLnRzeFxuLy8gQ3VycmVudGx5IGl0J3MgdXNpbmcgU3RhY2tlZCBDaGFydCB3aGljaCBpc24ndCB0ZWNobmljYWxseSBjb3JyZWN0XG5cbmV4cG9ydCB0eXBlIEJhckNoYXJ0UHJvcHMgPSB7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICB0aGVtZT86IENoYXJ0VGhlbWU7XG4gIGNoYXJ0OiBCYXJDaGFydFJlcHJlc2VudGF0aW9uO1xuICBvcHRpb25zOiB7XG4gICAgc3RhY2tlZDogYm9vbGVhbjtcbiAgICBzaG93Um91bmRlZFRvdGFsOiBib29sZWFuO1xuICAgIHNob3dMZWdlbmQ6IGJvb2xlYW47XG4gICAgcmVtb3ZlU3Ryb2tlOiBib29sZWFuO1xuICAgIGF4aXM6IHtcbiAgICAgIHNob3dYQXhpc0xhYmVsczogYm9vbGVhbjtcbiAgICAgIHNob3dZQXhpc0xhYmVsczogYm9vbGVhbjtcbiAgICB9O1xuICB9O1xuICBvbkNsaWNrOiAocGFyYW1zOiBDaGFydE9uVmlld0NsaWNrKSA9PiB2b2lkO1xuICBlbmFibGVIb3Zlcj86IGJvb2xlYW47XG59O1xuXG5jb25zdCBCQVJfUkFESVVTID0gMjtcblxuZXhwb3J0IGNvbnN0IEJhckNoYXJ0ID0gKHsgY2hhcnQsIHdpZHRoLCBoZWlnaHQsIG9wdGlvbnMsIHRoZW1lLCBvbkNsaWNrLCBlbmFibGVIb3ZlciB9OiBCYXJDaGFydFByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICB0b29sdGlwT3BlbixcbiAgICB0b29sdGlwTGVmdCA9IDAsXG4gICAgdG9vbHRpcFRvcCA9IDAsXG4gICAgbGluZUxlZnQgPSAwLFxuICAgIHRvb2x0aXBEYXRhLFxuICAgIGhpZGVUb29sdGlwLFxuICAgIHNob3dUb29sdGlwLFxuICB9ID0gdXNlVG9vbHRpcDx7XG4gICAgW2tleUlkOiBzdHJpbmddOiBEYXRhSXRlbTtcbiAgfSB8IG51bGw+KCk7XG5cbiAgY29uc3QgbWFyZ2luID0gYnVpbGRNYXJnaW4oY2hhcnQueS50aWNrcywgb3B0aW9ucy5heGlzLnNob3dZQXhpc0xhYmVscywgY2hhcnQueS50aXRsZSAhPSBudWxsLCBjaGFydC54LnRpdGxlICE9IG51bGwpO1xuXG4gIC8vIGNvbnN0IFt2aXNpYmxlWUtleXMsIHNldFZpc2libGVZS2V5c10gPSB1c2VTdGF0ZShjaGFydC5iYXJzLm1hcCgobGVnZW5kSXRlbSkgPT4gbGVnZW5kSXRlbS55S2V5KSk7XG5cbiAgY29uc3QgaW5uZXJXaWR0aCA9IHdpZHRoIC0gbWFyZ2luLmxlZnQgLSBtYXJnaW4ucmlnaHQ7XG4gIGNvbnN0IGlubmVySGVpZ2h0ID0gaGVpZ2h0IC0gbWFyZ2luLnRvcCAtIG1hcmdpbi5ib3R0b20gLSAob3B0aW9ucy5zaG93TGVnZW5kID8gNDAgOiAwKTtcbiAgY29uc3QgeEtleSA9IGNoYXJ0Lngua2V5O1xuICBjb25zdCB4U2NhbGVLZXkgPSBjaGFydC54LnNjYWxlLmtleTtcbiAgY29uc3QgeVNjYWxlS2V5cyA9IGNoYXJ0Lnkua2V5cztcbiAgY29uc3QgeFNjYWxlRGF0YVR5cGU6IERhdGFUeXBlID0gY2hhcnQueC5zY2FsZS5kYXRhVHlwZTtcblxuICBjb25zdCB4U2NhbGUgPSB1c2VCYXJYU2NhbGUoeFNjYWxlRGF0YVR5cGUsIGlubmVyV2lkdGgsIHhTY2FsZUtleSwgY2hhcnQuZGF0YSk7XG5cbiAgY29uc3QgeVNjYWxlID0gdXNlWVNjYWxlKGlubmVySGVpZ2h0LCBjaGFydC55LnNjYWxlKTtcblxuICBjb25zdCBpbm5lclhTY2FsZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghb3B0aW9ucy5zdGFja2VkICYmIHhTY2FsZSAmJiAnYmFuZHdpZHRoJyBpbiB4U2NhbGUpIHtcbiAgICAgIHJldHVybiBzY2FsZUJhbmQ8c3RyaW5nPih7XG4gICAgICAgIHJhbmdlOiBbMCwgeFNjYWxlPy5iYW5kd2lkdGgoKV0sXG4gICAgICAgIGRvbWFpbjogeVNjYWxlS2V5cyxcbiAgICAgICAgcGFkZGluZzogMC4xLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfSwgW3hTY2FsZSwgeVNjYWxlS2V5cywgb3B0aW9ucy5zdGFja2VkLCB4U2NhbGVEYXRhVHlwZV0pO1xuXG4gIGNvbnN0IGRhdGFGbGF0dGVuZWQgPSB1c2VGbGF0dGVuZWREYXRhPENoYXJ0RGF0YURlZmluaXRpb24+KHhTY2FsZUtleSwgeFNjYWxlRGF0YVR5cGUsIGNoYXJ0LmRhdGEsIGNoYXJ0Lnkua2V5cyk7XG5cbiAgY29uc3QgaGFuZGxlTW91c2VNb3ZlID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PFNWR0VsZW1lbnQ+KSA9PiB7XG4gICAgICBpZiAoIXhLZXkgfHwgIXhTY2FsZUtleSB8fCB4U2NhbGUgPT09IG51bGwpIHJldHVybjtcblxuICAgICAgY29uc3QgdG9vbHRpcERhdGEgPSBnZXRUb29sdGlwRGF0YSh7XG4gICAgICAgIGRhdGE6IGNoYXJ0LmRhdGEsXG4gICAgICAgIGV2ZW50LFxuICAgICAgICBtYXJnaW4sXG4gICAgICAgIHhTY2FsZUtleSxcbiAgICAgICAgeFNjYWxlRGF0YVR5cGUsXG4gICAgICAgIHhPcmRlcmluZzogY2hhcnQueC5zY2FsZS5vcmRlcmluZyxcbiAgICAgICAgeFNjYWxlLFxuICAgICAgICBjaGFydFR5cGU6ICdiYXInLFxuICAgICAgfSk7XG5cbiAgICAgIHNob3dUb29sdGlwKHtcbiAgICAgICAgbGluZUxlZnQ6IHRvb2x0aXBEYXRhPy5saW5lTGVmdCxcbiAgICAgICAgdG9vbHRpcExlZnQ6IGV2ZW50LnBhZ2VYLFxuICAgICAgICB0b29sdGlwVG9wOiBldmVudC5wYWdlWSxcbiAgICAgICAgdG9vbHRpcERhdGE6IHRvb2x0aXBEYXRhPy50b29sdGlwRGF0YSxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgW3Nob3dUb29sdGlwLCB4U2NhbGUsIG1hcmdpbiwgeEtleSwgeFNjYWxlS2V5LCB4U2NhbGVEYXRhVHlwZSwgY2hhcnQueC5zY2FsZS5vcmRlcmluZywgY2hhcnQuZGF0YV1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVNb3VzZUxlYXZlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGhpZGVUb29sdGlwKCk7XG4gIH0sIFtoaWRlVG9vbHRpcF0pO1xuXG4gIGNvbnN0IGhhbmRsZU9uQmFyQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8U1ZHUmVjdEVsZW1lbnQsIE1vdXNlRXZlbnQ+LCBiYXJHcm91cDogQmFyR3JvdXBUeXBlPHN0cmluZz4sIGJhcjogQmFyR3JvdXBCYXI8c3RyaW5nPikgPT4ge1xuICAgICAgb25DbGljayh7XG4gICAgICAgIGNsaWNrZWRWYWx1ZToge1xuICAgICAgICAgIGluZGV4OiBiYXJHcm91cC5pbmRleCxcbiAgICAgICAgICB5OiB7XG4gICAgICAgICAgICBrZXk6IGJhci5rZXksXG4gICAgICAgICAgICB2YWx1ZTogYmFyLnZhbHVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgeDoge1xuICAgICAgICAgICAgLi4uY2hhcnQueC50aWNrc1tiYXJHcm91cC5pbmRleF0sXG4gICAgICAgICAgICB2YWx1ZTogY2hhcnQuZGF0YVtiYXJHcm91cC5pbmRleF1beEtleV0udmFsdWUgPz8gJycsXG4gICAgICAgICAgICBrZXk6IHhLZXksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xpY2tFdmVudDogZXZlbnQsXG4gICAgICB9KTtcbiAgICB9LFxuICAgIFtvbkNsaWNrLCBjaGFydC5kYXRhLCB4S2V5XVxuICApO1xuXG4gIGNvbnN0IHRoZW1lQ1NTID0gdXNlTWVtbygoKSA9PiBnZXRDaGFydFRoZW1lQ1NTKHRoZW1lKSwgW3RoZW1lXSk7XG5cbiAgY29uc3QgeVRpY2tWYWx1ZXMgPSBjaGFydC55LnRpY2tzLm1hcCh0aWNrID0+IE51bWJlcih0aWNrLnZhbHVlKSk7XG5cbiAgY29uc3QgbGVnZW5kVG9vbHRpcEl0ZW1zID0gW1xuICAgIHtcbiAgICAgIHZpc2libGVZS2V5czogY2hhcnQuYmFycy5tYXAobGVnZW5kSXRlbSA9PiBsZWdlbmRJdGVtLnlLZXkpLFxuICAgICAgbGVnZW5kSXRlbXM6IGNoYXJ0LmJhcnMsXG4gICAgICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlczogY2hhcnQuY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsXG4gICAgfSxcbiAgXTtcbiAgcmV0dXJuIChcbiAgICA8RnJhZ21lbnQ+XG4gICAgICA8Q2hhcnRXcmFwcGVyXG4gICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgaGVpZ2h0PXtoZWlnaHR9XG4gICAgICAgIG9uTW91c2VNb3ZlPXtoYW5kbGVNb3VzZU1vdmV9XG4gICAgICAgIG9uTW91c2VMZWF2ZT17aGFuZGxlTW91c2VMZWF2ZX1cbiAgICAgICAgc2hvd0xlZ2VuZD17b3B0aW9ucy5zaG93TGVnZW5kfVxuICAgICAgPlxuICAgICAgICA8R3JvdXAgbGVmdD17bWFyZ2luLmxlZnR9IHRvcD17bWFyZ2luLnRvcH0+XG4gICAgICAgICAgPEdyaWRSb3dzXG4gICAgICAgICAgICB0aWNrcz17eVRpY2tWYWx1ZXN9XG4gICAgICAgICAgICB5U2NhbGU9e3lTY2FsZX1cbiAgICAgICAgICAgIHdpZHRoPXtpbm5lcldpZHRofVxuICAgICAgICAgICAgaGVpZ2h0PXtpbm5lckhlaWdodH1cbiAgICAgICAgICAgIHJlbW92ZVN0cm9rZT17b3B0aW9ucy5yZW1vdmVTdHJva2V9XG4gICAgICAgICAgICB0aGVtZUNTUz17dGhlbWVDU1N9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8QXhpc0JvdHRvbVxuICAgICAgICAgICAgeD17Y2hhcnQueH1cbiAgICAgICAgICAgIG1hcmdpbj17bWFyZ2lufVxuICAgICAgICAgICAgdGhlbWVDU1M9e3RoZW1lQ1NTfVxuICAgICAgICAgICAgc2hvdz17b3B0aW9ucy5heGlzLnNob3dYQXhpc0xhYmVsc31cbiAgICAgICAgICAgIHJlbW92ZVN0cm9rZT17b3B0aW9ucy5yZW1vdmVTdHJva2V9XG4gICAgICAgICAgICB4U2NhbGVEYXRhVHlwZT17eFNjYWxlRGF0YVR5cGV9XG4gICAgICAgICAgICB4U2NhbGU9e3hTY2FsZX1cbiAgICAgICAgICAgIGhlaWdodD17aW5uZXJIZWlnaHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8QXhpc0xlZnRcbiAgICAgICAgICAgIHNob3c9e29wdGlvbnMuYXhpcy5zaG93WUF4aXNMYWJlbHN9XG4gICAgICAgICAgICB5PXtjaGFydC55fVxuICAgICAgICAgICAgbWFyZ2luPXttYXJnaW59XG4gICAgICAgICAgICB0aGVtZUNTUz17dGhlbWVDU1N9XG4gICAgICAgICAgICB5U2NhbGU9e3lTY2FsZX1cbiAgICAgICAgICAgIHRpY2tzPXt5VGlja1ZhbHVlc31cbiAgICAgICAgICAgIHN0cm9rZT17dGhlbWU/LmF4aXM/LnN0cm9rZX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxHcm91cD5cbiAgICAgICAgICAgIHshb3B0aW9ucy5zdGFja2VkICYmIChcbiAgICAgICAgICAgICAgPEJhckdyb3VwXG4gICAgICAgICAgICAgICAgZGF0YT17ZGF0YUZsYXR0ZW5lZH1cbiAgICAgICAgICAgICAgICBrZXlzPXt5U2NhbGVLZXlzfVxuICAgICAgICAgICAgICAgIGhlaWdodD17aW5uZXJIZWlnaHR9XG4gICAgICAgICAgICAgICAgeEtleT17eEtleX1cbiAgICAgICAgICAgICAgICB4U2NhbGVEYXRhVHlwZT17eFNjYWxlRGF0YVR5cGV9XG4gICAgICAgICAgICAgICAgeFNjYWxlPXt4U2NhbGV9XG4gICAgICAgICAgICAgICAgaW5uZXJYU2NhbGU9e2lubmVyWFNjYWxlfVxuICAgICAgICAgICAgICAgIHlTY2FsZT17eVNjYWxlfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZU9uQmFyQ2xpY2t9XG4gICAgICAgICAgICAgICAgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXM9e2NoYXJ0LmNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzfVxuICAgICAgICAgICAgICAgIGJhcnM9e2NoYXJ0LmJhcnN9XG4gICAgICAgICAgICAgICAgZW5hYmxlSG92ZXI9e2VuYWJsZUhvdmVyfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAge29wdGlvbnMuc3RhY2tlZCAmJiAoXG4gICAgICAgICAgICAgIDxCYXJTdGFja1xuICAgICAgICAgICAgICAgIHg9e2QgPT4ge1xuICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgY29uc3QgeFZhbHVlID0gZFt4U2NhbGVLZXldO1xuICAgICAgICAgICAgICAgICAgaWYgKHhTY2FsZURhdGFUeXBlID09PSAnc3RyaW5nJykgcmV0dXJuIHhWYWx1ZTtcblxuICAgICAgICAgICAgICAgICAgY29uc3QgeFZhbHVlQWRqdXN0ZWQgPVxuICAgICAgICAgICAgICAgICAgICB4U2NhbGVEYXRhVHlwZSA9PT0gJ2RhdGVfdGltZSdcbiAgICAgICAgICAgICAgICAgICAgICA/IG5ldyBEYXRlKHhWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICA6IHhTY2FsZURhdGFUeXBlID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgICAgICAgICAgID8gTnVtYmVyKHhWYWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICA6IFN0cmluZyh4VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHhWYWx1ZUFkanVzdGVkO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIHhTY2FsZT17eFNjYWxlfVxuICAgICAgICAgICAgICAgIHlTY2FsZT17eVNjYWxlfVxuICAgICAgICAgICAgICAgIGRhdGE9e2RhdGFGbGF0dGVuZWR9XG4gICAgICAgICAgICAgICAga2V5cz17Y2hhcnQueS5rZXlzfVxuICAgICAgICAgICAgICAgIGNvbG9yPXsoKSA9PiAnJ31cbiAgICAgICAgICAgICAgICBoZWlnaHQ9e2lubmVySGVpZ2h0fVxuICAgICAgICAgICAgICAgIHdpZHRoPXtpbm5lcldpZHRofVxuICAgICAgICAgICAgICAgIG9mZnNldD1cIm5vbmVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2JhclN0YWNrcyA9PlxuICAgICAgICAgICAgICAgICAgYmFyU3RhY2tzLm1hcChiYXJTdGFjayA9PlxuICAgICAgICAgICAgICAgICAgICBiYXJTdGFjay5iYXJzLm1hcChiYXIgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChiYXIuaGVpZ2h0IDwgMykgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgQkFSX1BBRERJTkcgPSAxLjU7XG4gICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17YGJhci1zdGFjay0ke2JhclN0YWNrLmluZGV4fS0ke2Jhci5pbmRleH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB4PXtiYXIueH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgeT17YmFyLnl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPXtiYXIud2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD17YmFyLmhlaWdodCAtIEJBUl9QQURESU5HfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPXtnZXRCYXJGaWxsKGNoYXJ0LmJhcnMsIGNoYXJ0LmNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzLCBiYXIua2V5LCBiYXIuYmFyLmRhdGEpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICByeD17QkFSX1JBRElVU31cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvQmFyU3RhY2s+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvR3JvdXA+XG4gICAgICAgIDwvR3JvdXA+XG4gICAgICAgIHsvKiAtLS0tLSBUT09MVElQIENST1NTSEFJUiAtLS0tLSAqL31cbiAgICAgICAge3Rvb2x0aXBEYXRhICYmIChcbiAgICAgICAgICA8Zz5cbiAgICAgICAgICAgIDxMaW5lIHg9e2xpbmVMZWZ0fSBtYXJnaW49e21hcmdpbn0gaGVpZ2h0PXtpbm5lckhlaWdodH0gLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICl9XG4gICAgICAgIHsvKiAtLS0tLSBHT0FMIExJTkVTIC0tLS0tLSAqL31cbiAgICAgICAgPEdvYWxMaW5lcyBnb2FsTGluZXM9e2NoYXJ0LmdvYWxMaW5lc30geT17ZCA9PiB5U2NhbGUoZCl9IG1hcmdpbj17bWFyZ2lufSB3aWR0aD17aW5uZXJXaWR0aH0gLz5cbiAgICAgIDwvQ2hhcnRXcmFwcGVyPlxuICAgICAgey8qIC0tLS0tIExFR0VORCAtLS0tLSAqL31cbiAgICAgIHtvcHRpb25zLnNob3dMZWdlbmQgJiYgKFxuICAgICAgICA8TGVnZW5kXG4gICAgICAgICAgaXRlbXM9e2xlZ2VuZFRvb2x0aXBJdGVtc31cbiAgICAgICAgICBzZXRWaXNpYmxlWUtleXM9eygpID0+IHt9fVxuICAgICAgICAgIGtleXM9e2NoYXJ0LmtleXN9XG4gICAgICAgICAgbWFyZ2luTGVmdD17bWFyZ2luLmxlZnQgLSBtYXJnaW4ubGVmdFRpdGxlT2Zmc2V0fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHsvKiAtLS0tLSBUT09MVElQIC0tLS0tICovfVxuICAgICAge3Rvb2x0aXBPcGVuICYmIHRvb2x0aXBEYXRhICYmIHhLZXkgJiYgKFxuICAgICAgICA8VG9vbHRpcFxuICAgICAgICAgIGl0ZW1zPXtsZWdlbmRUb29sdGlwSXRlbXN9XG4gICAgICAgICAgdG9vbHRpcERhdGE9e3Rvb2x0aXBEYXRhfVxuICAgICAgICAgIHRvb2x0aXBMZWZ0PXt0b29sdGlwTGVmdH1cbiAgICAgICAgICB0b29sdGlwVG9wPXt0b29sdGlwVG9wfVxuICAgICAgICAgIHhLZXk9e3hLZXl9XG4gICAgICAgICAga2V5cz17Y2hhcnQua2V5c31cbiAgICAgICAgICB5S2V5cz17Y2hhcnQueS5rZXlzfVxuICAgICAgICAgIHNob3dSb3VuZGVkVG90YWw9e29wdGlvbnMuc2hvd1JvdW5kZWRUb3RhbH1cbiAgICAgICAgICB0aGVtZT17dGhlbWVDU1MucG9wb3Zlck1lbnVzfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICA8L0ZyYWdtZW50PlxuICApO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIEJhckdyb3VwKHtcbiAgZGF0YSxcbiAga2V5cyxcbiAgaGVpZ2h0LFxuICB4S2V5LFxuICB4U2NhbGVEYXRhVHlwZSxcbiAgeFNjYWxlLFxuICBpbm5lclhTY2FsZSxcbiAgeVNjYWxlLFxuICBvbkNsaWNrLFxuICBjb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlcyxcbiAgYmFycyxcbiAgZW5hYmxlSG92ZXIsXG59OiB7XG4gIGRhdGE6IENoYXJ0RGF0YURlZmluaXRpb25bXTtcbiAga2V5czogc3RyaW5nW107XG4gIGhlaWdodDogbnVtYmVyO1xuICB4S2V5OiBzdHJpbmc7XG4gIHhTY2FsZURhdGFUeXBlOiBEYXRhVHlwZTtcbiAgeFNjYWxlOiBTY2FsZUJhbmQ8c3RyaW5nPiB8IFNjYWxlQmFuZDxEYXRlPiB8IFNjYWxlQmFuZDxudW1iZXI+IHwgbnVsbDtcbiAgaW5uZXJYU2NhbGU6IFNjYWxlQmFuZDxzdHJpbmc+IHwgdW5kZWZpbmVkO1xuICB5U2NhbGU6IFNjYWxlTGluZWFyPG51bWJlciwgbnVtYmVyLCBuZXZlcj47XG4gIG9uQ2xpY2s6IChlOiBSZWFjdC5Nb3VzZUV2ZW50PFNWR1JlY3RFbGVtZW50LCBNb3VzZUV2ZW50PiwgYmFyR3JvdXA6IGFueSwgYmFyOiBhbnkpID0+IHZvaWQ7XG4gIGNvbmRpdGlvbmFsRm9ybWF0dGluZ1J1bGVzOiBDb25kaXRpb25hbEZvcm1hdHRpbmdSdWxlW107XG4gIGJhcnM6IFNoYXBlRGVmaW5pdGlvbjxCYXJTdHlsZXM+W107XG4gIGVuYWJsZUhvdmVyPzogYm9vbGVhbjtcbn0pIHtcbiAgcmV0dXJuIChcbiAgICA8VmlzeEJhckdyb3VwPERhdHVtT2JqZWN0PlxuICAgICAgZGF0YT17ZGF0YSBhcyBEYXR1bU9iamVjdFtdfVxuICAgICAga2V5cz17a2V5c31cbiAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgeDA9e2QgPT4ge1xuICAgICAgICBjb25zdCB4VmFsdWUgPSBkW3hLZXkgYXMga2V5b2YgdHlwZW9mIGRdO1xuICAgICAgICBpZiAoeFNjYWxlRGF0YVR5cGUgPT09ICdzdHJpbmcnKSByZXR1cm4gU3RyaW5nKHhWYWx1ZSk7XG4gICAgICAgIGNvbnN0IHhWYWx1ZUFkanVzdGVkID1cbiAgICAgICAgICB4U2NhbGVEYXRhVHlwZSA9PT0gJ2RhdGVfdGltZSdcbiAgICAgICAgICAgID8gbmV3IERhdGUoU3RyaW5nKHhWYWx1ZSkpXG4gICAgICAgICAgICA6IHhTY2FsZURhdGFUeXBlID09PSAnbnVtYmVyJ1xuICAgICAgICAgICAgPyBOdW1iZXIoeFZhbHVlKVxuICAgICAgICAgICAgOiBTdHJpbmcoeFZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHhWYWx1ZUFkanVzdGVkO1xuICAgICAgfX1cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHgwU2NhbGU9e3hTY2FsZX1cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHgxU2NhbGU9e2lubmVyWFNjYWxlfVxuICAgICAgeVNjYWxlPXt5U2NhbGV9XG4gICAgICBjb2xvcj17KCkgPT4gJyd9XG4gICAgPlxuICAgICAge2Jhckdyb3VwcyA9PiB7XG4gICAgICAgIHJldHVybiBiYXJHcm91cHMubWFwKGJhckdyb3VwID0+IChcbiAgICAgICAgICA8R3JvdXAga2V5PXtgYmFyLWdyb3VwLSR7YmFyR3JvdXAuaW5kZXh9LSR7YmFyR3JvdXAueDB9YH0gbGVmdD17YmFyR3JvdXAueDB9PlxuICAgICAgICAgICAge2Jhckdyb3VwLmJhcnMubWFwKGJhciA9PiB7XG4gICAgICAgICAgICAgIGlmIChiYXIudmFsdWUgPT09IG51bGwgfHwgYmFyLmhlaWdodCA8IDAgfHwgYmFyLndpZHRoIDwgMCkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPEJhclxuICAgICAgICAgICAgICAgICAga2V5PXtgYmFyLWdyb3VwLWJhci0ke2Jhckdyb3VwLmluZGV4fS0ke2Jhci5pbmRleH0tJHtiYXIudmFsdWV9LSR7U3RyaW5nKGJhci5rZXkpfWB9XG4gICAgICAgICAgICAgICAgICB4PXtiYXIueH1cbiAgICAgICAgICAgICAgICAgIHk9e2Jhci55fVxuICAgICAgICAgICAgICAgICAgd2lkdGg9e2Jhci53aWR0aH1cbiAgICAgICAgICAgICAgICAgIGhlaWdodD17YmFyLmhlaWdodH1cbiAgICAgICAgICAgICAgICAgIGZpbGw9e2dldEJhckZpbGwoYmFycywgY29uZGl0aW9uYWxGb3JtYXR0aW5nUnVsZXMsIFN0cmluZyhiYXIua2V5KSwgYmFyLnZhbHVlKX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4gb25DbGljayhlLCBiYXJHcm91cCwgYmFyKX1cbiAgICAgICAgICAgICAgICAgIGVuYWJsZUhvdmVyPXtlbmFibGVIb3Zlcn1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPC9Hcm91cD5cbiAgICAgICAgKSk7XG4gICAgICB9fVxuICAgIDwvVmlzeEJhckdyb3VwPlxuICApO1xufVxuXG5jb25zdCBCYXIgPSAocHJvcHM6IHtcbiAgb25DbGljazogKGU6IFJlYWN0Lk1vdXNlRXZlbnQ8U1ZHUmVjdEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB2b2lkO1xuICBmaWxsPzogc3RyaW5nO1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIGtleTogc3RyaW5nO1xuICBlbmFibGVIb3Zlcj86IGJvb2xlYW47XG59KSA9PiB7XG4gIGNvbnN0IFtmaWxsQ29sb3IsIHNldEZpbGxDb2xvcl0gPSB1c2VTdGF0ZShwcm9wcy5maWxsKTtcbiAgcmV0dXJuIChcbiAgICA8cmVjdFxuICAgICAga2V5PXtwcm9wcy5rZXl9XG4gICAgICB4PXtwcm9wcy54fVxuICAgICAgeT17cHJvcHMueX1cbiAgICAgIHdpZHRoPXtwcm9wcy53aWR0aH1cbiAgICAgIGhlaWdodD17cHJvcHMuaGVpZ2h0fVxuICAgICAgZmlsbD17ZmlsbENvbG9yfVxuICAgICAgcng9e0JBUl9SQURJVVN9XG4gICAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiBwcm9wcy5lbmFibGVIb3ZlciAmJiBzZXRGaWxsQ29sb3IobGlnaHRlbkNvbG9yKHByb3BzLmZpbGwsIDAuOCkpfVxuICAgICAgb25Nb3VzZUxlYXZlPXsoKSA9PiBwcm9wcy5lbmFibGVIb3ZlciAmJiBzZXRGaWxsQ29sb3IocHJvcHMuZmlsbCl9XG4gICAgICBjbGFzc05hbWU9e3Byb3BzLmVuYWJsZUhvdmVyID8gY3NzKHsgY3Vyc29yOiAncG9pbnRlcicgfSkgOiAnJ31cbiAgICAvPlxuICApO1xufTtcbiJdfQ== */",
43709
43757
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__$9
43710
43758
  }) : ''
43711
43759
  }, props.key);
@@ -43881,14 +43929,8 @@ var AreaChart$5 = function AreaChart(_ref) {
43881
43929
  }
43882
43930
  return null;
43883
43931
  }, [innerWidth, chart.x, chart.data]);
43884
- var _yScale = useMemo(function () {
43885
- return scaleLinear({
43886
- range: [innerHeight, 0],
43887
- domain: chart.y.scale.ordering === 'asc' ? [chart.y.scale.min, chart.y.scale.max] : [chart.y.scale.max, chart.y.scale.min],
43888
- nice: true
43889
- });
43890
- }, [innerHeight, chart.y.scale]);
43891
- var dataFlattened = useFlattenedData(xScaleKey, xScaleDataType, chart);
43932
+ var _yScale = useYScale(innerHeight, chart.y.scale);
43933
+ var dataFlattened = useFlattenedData(xScaleKey, xScaleDataType, chart.data, chart.y.keys);
43892
43934
  var handleMouseMove = useCallback(function (event) {
43893
43935
  if (!xKey || !xScaleKey || xScale === null) return;
43894
43936
  var tooltipData = getTooltipData({
@@ -43918,12 +43960,17 @@ var AreaChart$5 = function AreaChart(_ref) {
43918
43960
  step: curveStep,
43919
43961
  straight: curveLinear
43920
43962
  };
43921
- return curveMap[(_options$curve = options.curve) != null ? _options$curve : 'monotoneX'];
43963
+ return curveMap[(_options$curve = options.curve) != null ? _options$curve : 'natural'];
43922
43964
  }, [options.curve]);
43923
43965
  if (width === 0 || height === 0 || xScale === null) return jsx(React__default.Fragment, {});
43924
43966
  var yTickValues = chart.y.ticks.map(function (tick) {
43925
43967
  return Number(tick.value);
43926
43968
  });
43969
+ var legendTooltipItems = [{
43970
+ visibleYKeys: visibleYKeys,
43971
+ legendItems: chart.areas,
43972
+ conditionalFormattingRules: chart.conditionalFormattingRules
43973
+ }];
43927
43974
  return jsxs(React__default.Fragment, {
43928
43975
  children: [jsxs(ChartWrapper$1, {
43929
43976
  width: width,
@@ -44079,23 +44126,19 @@ var AreaChart$5 = function AreaChart(_ref) {
44079
44126
  width: innerWidth
44080
44127
  })]
44081
44128
  }), options.showLegend && jsx(Legend$1, {
44082
- legendItems: chart.areas,
44083
- visibleYKeys: visibleYKeys,
44129
+ items: legendTooltipItems,
44084
44130
  setVisibleYKeys: setVisibleYKeys,
44085
44131
  keys: chart.keys,
44086
- conditionalFormattingRules: chart.conditionalFormattingRules,
44087
44132
  marginLeft: margin.left - margin.leftTitleOffset
44088
44133
  }), tooltipOpen && tooltipData && xKey && jsx(Tooltip$1, {
44134
+ items: legendTooltipItems,
44089
44135
  tooltipData: tooltipData,
44090
44136
  tooltipLeft: tooltipLeft,
44091
44137
  tooltipTop: tooltipTop,
44092
44138
  xKey: xKey,
44093
44139
  keys: chart.keys,
44094
- visibleYKeys: visibleYKeys,
44095
44140
  yKeys: chart.y.keys,
44096
- legendItems: chart.areas,
44097
44141
  showRoundedTotal: options.showRoundedTotal,
44098
- conditionalFormattingRules: chart.conditionalFormattingRules,
44099
44142
  theme: themeCSS.popoverMenus
44100
44143
  })]
44101
44144
  });
@@ -44398,11 +44441,13 @@ var RadarChart$2 = function RadarChart(_ref) {
44398
44441
  })]
44399
44442
  })
44400
44443
  }), options.showLegend && jsx(Legend$1, {
44401
- legendItems: chart.lines,
44402
- visibleYKeys: visibleYKeys,
44444
+ items: [{
44445
+ legendItems: chart.lines,
44446
+ visibleYKeys: visibleYKeys,
44447
+ conditionalFormattingRules: []
44448
+ }],
44403
44449
  setVisibleYKeys: setVisibleYKeys,
44404
44450
  keys: chart.keys,
44405
- conditionalFormattingRules: [],
44406
44451
  marginLeft: margin.left - margin.leftTitleOffset
44407
44452
  })]
44408
44453
  });
@@ -49347,11 +49392,13 @@ var Legend$2 = function Legend(_ref) {
49347
49392
  };
49348
49393
  if (!showLegend) return null;
49349
49394
  return jsx(Legend$1, {
49350
- legendItems: items,
49351
- visibleYKeys: ['increase', 'decrease'],
49395
+ items: [{
49396
+ legendItems: items,
49397
+ visibleYKeys: ['increase', 'decrease'],
49398
+ conditionalFormattingRules: []
49399
+ }],
49352
49400
  keys: keys,
49353
49401
  marginLeft: margin.left - margin.leftTitleOffset,
49354
- conditionalFormattingRules: [],
49355
49402
  setVisibleYKeys: function setVisibleYKeys() {}
49356
49403
  });
49357
49404
  };
@@ -49597,7 +49644,7 @@ var WaterfallChart$2 = function WaterfallChart(_ref) {
49597
49644
  },
49598
49645
  stroke: (_theme$axis$stroke = theme == null || (_theme$axis = theme.axis) == null ? void 0 : _theme$axis.stroke) != null ? _theme$axis$stroke : 'transparent'
49599
49646
  }), jsx(Group$2, {
49600
- children: jsx(BarGroup$1, {
49647
+ children: jsx(BarGroup$2, {
49601
49648
  data: dataFlattened,
49602
49649
  keys: yScaleKeys,
49603
49650
  height: innerHeight,