@kepler.gl/components 3.1.1 → 3.1.2

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.
Files changed (54) hide show
  1. package/dist/common/checkbox.js +14 -5
  2. package/dist/common/histogram-plot.js +13 -13
  3. package/dist/common/icons/index.js +1 -1
  4. package/dist/common/index.d.ts +1 -1
  5. package/dist/common/index.js +3 -3
  6. package/dist/common/item-selector/chickleted-input.js +5 -2
  7. package/dist/common/item-selector/dropdown-list.d.ts +1 -1
  8. package/dist/common/item-selector/dropdown-list.js +5 -5
  9. package/dist/common/item-selector/dropdown-select.js +8 -3
  10. package/dist/common/item-selector/item-selector.js +5 -2
  11. package/dist/common/item-selector/typeahead.js +8 -3
  12. package/dist/common/range-brush.js +4 -4
  13. package/dist/common/range-slider.js +7 -7
  14. package/dist/common/slider/slider-bar-handle.d.ts +2 -2
  15. package/dist/common/slider/slider-bar-handle.js +4 -4
  16. package/dist/common/slider/slider-handle.d.ts +3 -3
  17. package/dist/common/slider/slider-handle.js +11 -11
  18. package/dist/common/slider/slider.d.ts +3 -3
  19. package/dist/common/slider/slider.js +6 -6
  20. package/dist/common/styled-components.d.ts +4 -3
  21. package/dist/common/styled-components.js +47 -12
  22. package/dist/hooks/use-legend-position.d.ts +2 -10
  23. package/dist/hooks/use-legend-position.js +5 -3
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.js +4 -4
  26. package/dist/kepler-gl.js +3 -13
  27. package/dist/loading-indicator.d.ts +2 -2
  28. package/dist/loading-indicator.js +5 -5
  29. package/dist/map/map-control.d.ts +2 -0
  30. package/dist/map/map-control.js +3 -3
  31. package/dist/map/map-legend-panel.d.ts +3 -1
  32. package/dist/map/map-legend-panel.js +23 -29
  33. package/dist/map-container.js +12 -10
  34. package/dist/side-panel/common/dataset-title.js +4 -4
  35. package/dist/side-panel/common/types.d.ts +1 -1
  36. package/dist/side-panel/common/types.js +1 -1
  37. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -3
  38. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +7 -7
  39. package/dist/side-panel/layer-manager.js +84 -108
  40. package/dist/side-panel/layer-panel/color-palette.d.ts +2 -2
  41. package/dist/side-panel/layer-panel/color-palette.js +6 -6
  42. package/dist/side-panel/layer-panel/color-selector.js +7 -3
  43. package/dist/side-panel/layer-panel/custom-palette.js +7 -3
  44. package/dist/side-panel/layer-panel/dataset-section.js +3 -3
  45. package/dist/side-panel/layer-panel/layer-config-group.js +5 -2
  46. package/dist/side-panel/layer-panel/layer-list.js +5 -5
  47. package/dist/side-panel/layer-panel/layer-panel-header.js +9 -5
  48. package/dist/side-panel/map-manager.js +76 -101
  49. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +3 -3
  50. package/dist/side-panel/map-style-panel/map-layer-group-item.js +4 -4
  51. package/dist/side-panel/panel-header-action.js +8 -8
  52. package/dist/side-panel/panel-view-list-toggle.d.ts +1 -1
  53. package/dist/side-panel/panel-view-list-toggle.js +3 -3
  54. package/package.json +15 -15
@@ -29,9 +29,9 @@ var Container = _styledComponents["default"].div(_templateObject || (_templateOb
29
29
  var SortableStyledItem = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: ", ";\n transition: ", ";\n transform: ", ";\n &.sorting {\n opacity: 0.3;\n pointer-events: none;\n }\n &.sorting-layers .layer-panel__header {\n background-color: ", ";\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n line-height: ", ";\n *,\n *:before,\n *:after {\n box-sizing: border-box;\n }\n .layer__drag-handle {\n opacity: 1;\n color: ", ";\n }\n }\n"])), function (props) {
30
30
  return props.theme.dropdownWrapperZ + 1;
31
31
  }, function (props) {
32
- return props.transition;
32
+ return props.$transition;
33
33
  }, function (props) {
34
- return props.transform;
34
+ return props.$transform;
35
35
  }, function (props) {
36
36
  return props.theme.panelBackgroundHover;
37
37
  }, function (props) {
@@ -76,8 +76,8 @@ function LayerListFactory(LayerPanel) {
76
76
  sorting: isDragging
77
77
  }),
78
78
  "data-testid": disabled ? _constants.dataTestIds.staticLayerItem : _constants.dataTestIds.sortableLayerItem,
79
- transform: _utilities.CSS.Transform.toString(transform),
80
- transition: transition
79
+ $transform: _utilities.CSS.Transform.toString(transform),
80
+ $transition: transition
81
81
  }, attributes), /*#__PURE__*/_react["default"].createElement(LayerPanel, (0, _extends2["default"])({}, panelProps, layerActions, {
82
82
  key: layer.id,
83
83
  idx: idx,
@@ -170,4 +170,4 @@ function LayerListFactory(LayerPanel) {
170
170
  return LayerList;
171
171
  }
172
172
  var _default = exports["default"] = LayerListFactory;
173
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lczMiLCJfc29ydGFibGUiLCJfdXRpbGl0aWVzIiwiX2xheWVyUGFuZWwiLCJfdXRpbHMiLCJfY29uc3RhbnRzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiU29ydGFibGVTdHlsZWRJdGVtIiwicHJvcHMiLCJ0aGVtZSIsImRyb3Bkb3duV3JhcHBlcloiLCJ0cmFuc2l0aW9uIiwidHJhbnNmb3JtIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJmb250RmFtaWx5IiwiZm9udFdlaWdodCIsImZvbnRTaXplIiwibGluZUhlaWdodCIsInRleHRDb2xvckhsIiwiSU5JVElBTF9MQVlFUlNfVE9fU0hPVyIsIkxheWVyTGlzdEZhY3RvcnkiLCJkZXBzIiwiTGF5ZXJQYW5lbEZhY3RvcnkiLCJMYXllclBhbmVsIiwiU29ydGFibGVJdGVtIiwiX3JlZiIsImxheWVyIiwiaWR4IiwicGFuZWxQcm9wcyIsImxheWVyQWN0aW9ucyIsImRpc2FibGVkIiwiX3VzZVNvcnRhYmxlIiwidXNlU29ydGFibGUiLCJpZCIsImRhdGEiLCJ0eXBlIiwiU09SVEFCTEVfTEFZRVJfVFlQRSIsInBhcmVudCIsIlNPUlRBQkxFX1NJREVfUEFORUxfVFlQRSIsImF0dHJpYnV0ZXMiLCJsaXN0ZW5lcnMiLCJzZXROb2RlUmVmIiwiaXNEcmFnZ2luZyIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJyZWYiLCJjbGFzc05hbWUiLCJjbGFzc25hbWVzIiwiX2RlZmluZVByb3BlcnR5MiIsImRhdGFUZXN0SWRzIiwic29ydGFibGVMYXllckl0ZW0iLCJzdGF0aWNMYXllckl0ZW0iLCJzb3J0aW5nIiwiQ1NTIiwiVHJhbnNmb3JtIiwidG9TdHJpbmciLCJrZXkiLCJpc0RyYWdnYWJsZSIsIkxheWVyTGlzdCIsImxheWVycyIsImRhdGFzZXRzIiwibGF5ZXJPcmRlciIsInVpU3RhdGVBY3Rpb25zIiwidmlzU3RhdGVBY3Rpb25zIiwibWFwU3RhdGVBY3Rpb25zIiwibGF5ZXJDbGFzc2VzIiwiX3Byb3BzJGlzU29ydGFibGUiLCJpc1NvcnRhYmxlIiwic3BsaXRNYXAiLCJvcGVuTW9kYWwiLCJ0b2dnbGVNb2RhbCIsImxheWVyc1RvU2hvdyIsInVzZU1lbW8iLCJyZWR1Y2UiLCJhY2MiLCJsYXllcklkIiwiZmluZEJ5SWQiLCJmaWx0ZXIiLCJCb29sZWFuIiwiY29uZmlnIiwiaGlkZGVuIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsInNpZGVQYW5lbERuZEl0ZW1zIiwibWFwIiwiX3JlZjIiLCJsYXllclR5cGVPcHRpb25zIiwia2V5cyIsImRhdGFJZCIsImxhYmVsIiwibmFtZSIsImljb24iLCJsYXllckljb24iLCJyZXF1aXJlRGF0YSIsImxheWVyQ29sb3JVSUNoYW5nZSIsImxheWVyQ29uZmlnQ2hhbmdlIiwibGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnQ2hhbmdlIiwibGF5ZXJUb2dnbGVWaXNpYmlsaXR5IiwibGF5ZXJUeXBlQ2hhbmdlIiwibGF5ZXJWaXNDb25maWdDaGFuZ2UiLCJsYXllclRleHRMYWJlbENoYW5nZSIsInJlbW92ZUxheWVyIiwiem9vbVRvTGF5ZXIiLCJmaXRCb3VuZHMiLCJkdXBsaWNhdGVMYXllciIsImxheWVyU2V0SXNWYWxpZCIsIlNvcnRhYmxlQ29udGV4dCIsIml0ZW1zIiwic3RyYXRlZ3kiLCJ2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3kiLCJmaW5kSW5kZXgiLCJsIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItbGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IHtMYXllciwgTGF5ZXJDbGFzc2VzVHlwZX0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuaW1wb3J0IHtEYXRhc2V0c30gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5pbXBvcnQge1VJU3RhdGVBY3Rpb25zLCBWaXNTdGF0ZUFjdGlvbnMsIE1hcFN0YXRlQWN0aW9uc30gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcblxuaW1wb3J0IHt1c2VTb3J0YWJsZSwgU29ydGFibGVDb250ZXh0LCB2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3l9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7Q1NTfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IExheWVyUGFuZWxGYWN0b3J5IGZyb20gJy4vbGF5ZXItcGFuZWwnO1xuaW1wb3J0IHtmaW5kQnlJZH0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge2RhdGFUZXN0SWRzLCBTT1JUQUJMRV9MQVlFUl9UWVBFLCBTT1JUQUJMRV9TSURFX1BBTkVMX1RZUEV9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7U3BsaXRNYXB9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBMYXllckxpc3RQcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBsYXllcnM6IExheWVyW107XG4gIGxheWVyT3JkZXI6IHN0cmluZ1tdO1xuICBsYXllckNsYXNzZXM6IExheWVyQ2xhc3Nlc1R5cGU7XG4gIGlzU29ydGFibGU/OiBib29sZWFuO1xuICBzcGxpdE1hcD86IFNwbGl0TWFwO1xuICB1aVN0YXRlQWN0aW9uczogdHlwZW9mIFVJU3RhdGVBY3Rpb25zO1xuICB2aXNTdGF0ZUFjdGlvbnM6IHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnM7XG4gIG1hcFN0YXRlQWN0aW9uczogdHlwZW9mIE1hcFN0YXRlQWN0aW9ucztcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyTGlzdEZhY3RvcnlEZXBzID0gW3R5cGVvZiBMYXllclBhbmVsRmFjdG9yeV07XG5cbi8vIG1ha2Ugc3VyZSB0aGUgZWxlbWVudCBpcyBhbHdheXMgdmlzaWJsZSB3aGlsZSBpcyBiZWluZyBkcmFnZ2VkXG4vLyBpdGVtIGJlaW5nIGRyYWdnZWQgaXMgYXBwZW5kZWQgaW4gYm9keSwgaGVyZSB0byByZXNldCBpdHMgZ2xvYmFsIHN0eWxlXG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogOHB4O1xuYDtcblxuaW50ZXJmYWNlIFNvcnRhYmxlU3R5bGVkSXRlbVByb3BzIHtcbiAgdHJhbnNpdGlvbj86IHN0cmluZztcbiAgdHJhbnNmb3JtPzogc3RyaW5nO1xufVxuXG5jb25zdCBTb3J0YWJsZVN0eWxlZEl0ZW0gPSBzdHlsZWQuZGl2PFNvcnRhYmxlU3R5bGVkSXRlbVByb3BzPmBcbiAgei1pbmRleDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bldyYXBwZXJaICsgMX07XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudHJhbnNpdGlvbn07XG4gIHRyYW5zZm9ybTogJHtwcm9wcyA9PiBwcm9wcy50cmFuc2Zvcm19O1xuICAmLnNvcnRpbmcge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAmLnNvcnRpbmctbGF5ZXJzIC5sYXllci1wYW5lbF9faGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICBmb250LXdlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250V2VpZ2h0fTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udFNpemV9O1xuICAgIGxpbmUtaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxpbmVIZWlnaHR9O1xuICAgICosXG4gICAgKjpiZWZvcmUsXG4gICAgKjphZnRlciB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgICAubGF5ZXJfX2RyYWctaGFuZGxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBJTklUSUFMX0xBWUVSU19UT19TSE9XOiBMYXllcltdID0gW107XG5cbkxheWVyTGlzdEZhY3RvcnkuZGVwcyA9IFtMYXllclBhbmVsRmFjdG9yeV07XG5cbmZ1bmN0aW9uIExheWVyTGlzdEZhY3RvcnkoTGF5ZXJQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJQYW5lbEZhY3Rvcnk+KSB7XG4gIC8vIEJ5IHdyYXBwaW5nIGxheWVyIHBhbmVsIHVzaW5nIGEgc29ydGFibGUgZWxlbWVudCB3ZSBkb24ndCBoYXZlIHRvIGltcGxlbWVudCB0aGUgZHJhZyBhbmQgZHJvcCBsb2dpYyBpbnRvIHRoZSBwYW5lbCBpdHNlbGY7XG4gIC8vIERldmVsb3BlcnMgY2FuIHByb3ZpZGUgYW55IGxheWVyIHBhbmVsIGltcGxlbWVudGF0aW9uIGFuZCBpdCB3aWxsIHN0aWxsIGJlIHNvcnRhYmxlXG4gIGNvbnN0IFNvcnRhYmxlSXRlbSA9ICh7bGF5ZXIsIGlkeCwgcGFuZWxQcm9wcywgbGF5ZXJBY3Rpb25zLCBkaXNhYmxlZH0pID0+IHtcbiAgICBjb25zdCB7YXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCBpc0RyYWdnaW5nLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb259ID0gdXNlU29ydGFibGUoe1xuICAgICAgaWQ6IGxheWVyLmlkLFxuICAgICAgZGF0YToge1xuICAgICAgICB0eXBlOiBTT1JUQUJMRV9MQVlFUl9UWVBFLFxuICAgICAgICBwYXJlbnQ6IFNPUlRBQkxFX1NJREVfUEFORUxfVFlQRVxuICAgICAgfSxcbiAgICAgIGRpc2FibGVkXG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNvcnRhYmxlU3R5bGVkSXRlbVxuICAgICAgICByZWY9e3NldE5vZGVSZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhcbiAgICAgICAgICB7W2RhdGFUZXN0SWRzLnNvcnRhYmxlTGF5ZXJJdGVtXTogIWRpc2FibGVkfSxcbiAgICAgICAgICB7W2RhdGFUZXN0SWRzLnN0YXRpY0xheWVySXRlbV06IGRpc2FibGVkfSxcbiAgICAgICAgICB7c29ydGluZzogaXNEcmFnZ2luZ31cbiAgICAgICAgKX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9e2Rpc2FibGVkID8gZGF0YVRlc3RJZHMuc3RhdGljTGF5ZXJJdGVtIDogZGF0YVRlc3RJZHMuc29ydGFibGVMYXllckl0ZW19XG4gICAgICAgIHRyYW5zZm9ybT17Q1NTLlRyYW5zZm9ybS50b1N0cmluZyh0cmFuc2Zvcm0pfVxuICAgICAgICB0cmFuc2l0aW9uPXt0cmFuc2l0aW9ufVxuICAgICAgICB7Li4uYXR0cmlidXRlc31cbiAgICAgID5cbiAgICAgICAgPExheWVyUGFuZWxcbiAgICAgICAgICB7Li4ucGFuZWxQcm9wc31cbiAgICAgICAgICB7Li4ubGF5ZXJBY3Rpb25zfVxuICAgICAgICAgIGtleT17bGF5ZXIuaWR9XG4gICAgICAgICAgaWR4PXtpZHh9XG4gICAgICAgICAgbGF5ZXI9e2xheWVyfVxuICAgICAgICAgIGxpc3RlbmVycz17bGlzdGVuZXJzfVxuICAgICAgICAgIGlzRHJhZ2dhYmxlPXshZGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1NvcnRhYmxlU3R5bGVkSXRlbT5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IExheWVyTGlzdDogUmVhY3QuRkM8TGF5ZXJMaXN0UHJvcHM+ID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGxheWVycyxcbiAgICAgIGRhdGFzZXRzLFxuICAgICAgbGF5ZXJPcmRlcixcbiAgICAgIHVpU3RhdGVBY3Rpb25zLFxuICAgICAgdmlzU3RhdGVBY3Rpb25zLFxuICAgICAgbWFwU3RhdGVBY3Rpb25zLFxuICAgICAgbGF5ZXJDbGFzc2VzLFxuICAgICAgaXNTb3J0YWJsZSA9IHRydWUsXG4gICAgICBzcGxpdE1hcFxuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCB7dG9nZ2xlTW9kYWw6IG9wZW5Nb2RhbH0gPSB1aVN0YXRlQWN0aW9ucztcblxuICAgIGNvbnN0IGxheWVyc1RvU2hvdyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgcmV0dXJuIGxheWVyT3JkZXIucmVkdWNlKChhY2MsIGxheWVySWQpID0+IHtcbiAgICAgICAgY29uc3QgbGF5ZXIgPSBmaW5kQnlJZChsYXllcklkKShsYXllcnMuZmlsdGVyKEJvb2xlYW4pKTtcbiAgICAgICAgaWYgKCFsYXllcikge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICFsYXllci5jb25maWcuaGlkZGVuID8gWy4uLmFjYywgbGF5ZXJdIDogYWNjO1xuICAgICAgfSwgSU5JVElBTF9MQVlFUlNfVE9fU0hPVyk7XG4gICAgfSwgW2xheWVycywgbGF5ZXJPcmRlcl0pO1xuXG4gICAgY29uc3Qgc2lkZVBhbmVsRG5kSXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBsYXllcnNUb1Nob3cubWFwKCh7aWR9KSA9PiBpZCk7XG4gICAgfSwgW2xheWVyc1RvU2hvd10pO1xuXG4gICAgY29uc3QgbGF5ZXJUeXBlT3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBPYmplY3Qua2V5cyhsYXllckNsYXNzZXMpLm1hcChrZXkgPT4ge1xuICAgICAgICAgIGNvbnN0IGxheWVyID0gbmV3IGxheWVyQ2xhc3Nlc1trZXldKHtkYXRhSWQ6ICcnfSk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkOiBrZXksXG4gICAgICAgICAgICBsYWJlbDogbGF5ZXIubmFtZSxcbiAgICAgICAgICAgIGljb246IGxheWVyLmxheWVySWNvbixcbiAgICAgICAgICAgIHJlcXVpcmVEYXRhOiBsYXllci5yZXF1aXJlRGF0YVxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgW2xheWVyQ2xhc3Nlc11cbiAgICApO1xuXG4gICAgY29uc3QgbGF5ZXJBY3Rpb25zID0gdXNlTWVtbyhcbiAgICAgICgpID0+ICh7XG4gICAgICAgIGxheWVyQ29sb3JVSUNoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyQ29sb3JVSUNoYW5nZSxcbiAgICAgICAgbGF5ZXJDb25maWdDaGFuZ2U6IHZpc1N0YXRlQWN0aW9ucy5sYXllckNvbmZpZ0NoYW5nZSxcbiAgICAgICAgbGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnQ2hhbmdlOiB2aXNTdGF0ZUFjdGlvbnMubGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnQ2hhbmdlLFxuICAgICAgICBsYXllclRvZ2dsZVZpc2liaWxpdHk6IHZpc1N0YXRlQWN0aW9ucy5sYXllclRvZ2dsZVZpc2liaWxpdHksXG4gICAgICAgIGxheWVyVHlwZUNoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyVHlwZUNoYW5nZSxcbiAgICAgICAgbGF5ZXJWaXNDb25maWdDaGFuZ2U6IHZpc1N0YXRlQWN0aW9ucy5sYXllclZpc0NvbmZpZ0NoYW5nZSxcbiAgICAgICAgbGF5ZXJUZXh0TGFiZWxDaGFuZ2U6IHZpc1N0YXRlQWN0aW9ucy5sYXllclRleHRMYWJlbENoYW5nZSxcbiAgICAgICAgcmVtb3ZlTGF5ZXI6IHZpc1N0YXRlQWN0aW9ucy5yZW1vdmVMYXllcixcbiAgICAgICAgem9vbVRvTGF5ZXI6IG1hcFN0YXRlQWN0aW9ucy5maXRCb3VuZHMsXG4gICAgICAgIGR1cGxpY2F0ZUxheWVyOiB2aXNTdGF0ZUFjdGlvbnMuZHVwbGljYXRlTGF5ZXIsXG4gICAgICAgIGxheWVyU2V0SXNWYWxpZDogdmlzU3RhdGVBY3Rpb25zLmxheWVyU2V0SXNWYWxpZFxuICAgICAgfSksXG4gICAgICBbdmlzU3RhdGVBY3Rpb25zLCBtYXBTdGF0ZUFjdGlvbnNdXG4gICAgKTtcblxuICAgIGNvbnN0IHBhbmVsUHJvcHMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgZGF0YXNldHMsXG4gICAgICAgIG9wZW5Nb2RhbCxcbiAgICAgICAgbGF5ZXJUeXBlT3B0aW9ucyxcbiAgICAgICAgc3BsaXRNYXBcbiAgICAgIH0pLFxuICAgICAgW2RhdGFzZXRzLCBvcGVuTW9kYWwsIGxheWVyVHlwZU9wdGlvbnMsIHNwbGl0TWFwXVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENvbnRhaW5lcj5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dFxuICAgICAgICAgIGlkPXtTT1JUQUJMRV9TSURFX1BBTkVMX1RZUEV9XG4gICAgICAgICAgaXRlbXM9e3NpZGVQYW5lbERuZEl0ZW1zfVxuICAgICAgICAgIHN0cmF0ZWd5PXt2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3l9XG4gICAgICAgICAgZGlzYWJsZWQ9eyFpc1NvcnRhYmxlfVxuICAgICAgICA+XG4gICAgICAgICAgey8qIHdhcm5pbmc6IGNvbnRhaW5lcklkIHNob3VsZCBiZSBzaW1pbGFyIHRvIHRoZSBmaXJzdCBrZXkgaW4gZG5kSXRlbXMgZGVmaW5lZCBpbiBrZXBsZXItZ2wuanMqL31cbiAgICAgICAgICB7bGF5ZXJzVG9TaG93Lm1hcChsYXllciA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJdGVtXG4gICAgICAgICAgICAgIGtleT17bGF5ZXIuaWR9XG4gICAgICAgICAgICAgIGxheWVyPXtsYXllcn1cbiAgICAgICAgICAgICAgaWR4PXtsYXllcnMuZmluZEluZGV4KGwgPT4gbD8uaWQgPT09IGxheWVyLmlkKX1cbiAgICAgICAgICAgICAgcGFuZWxQcm9wcz17cGFuZWxQcm9wc31cbiAgICAgICAgICAgICAgbGF5ZXJBY3Rpb25zPXtsYXllckFjdGlvbnN9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXshaXNTb3J0YWJsZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgKTtcbiAgfTtcbiAgcmV0dXJuIExheWVyTGlzdDtcbn1cbmV4cG9ydCBkZWZhdWx0IExheWVyTGlzdEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxZQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFNQSxJQUFBSSxTQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxXQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxNQUFBLEdBQUFQ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
173
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lczMiLCJfc29ydGFibGUiLCJfdXRpbGl0aWVzIiwiX2xheWVyUGFuZWwiLCJfdXRpbHMiLCJfY29uc3RhbnRzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiU29ydGFibGVTdHlsZWRJdGVtIiwicHJvcHMiLCJ0aGVtZSIsImRyb3Bkb3duV3JhcHBlcloiLCIkdHJhbnNpdGlvbiIsIiR0cmFuc2Zvcm0iLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiZm9udFNpemUiLCJsaW5lSGVpZ2h0IiwidGV4dENvbG9ySGwiLCJJTklUSUFMX0xBWUVSU19UT19TSE9XIiwiTGF5ZXJMaXN0RmFjdG9yeSIsImRlcHMiLCJMYXllclBhbmVsRmFjdG9yeSIsIkxheWVyUGFuZWwiLCJTb3J0YWJsZUl0ZW0iLCJfcmVmIiwibGF5ZXIiLCJpZHgiLCJwYW5lbFByb3BzIiwibGF5ZXJBY3Rpb25zIiwiZGlzYWJsZWQiLCJfdXNlU29ydGFibGUiLCJ1c2VTb3J0YWJsZSIsImlkIiwiZGF0YSIsInR5cGUiLCJTT1JUQUJMRV9MQVlFUl9UWVBFIiwicGFyZW50IiwiU09SVEFCTEVfU0lERV9QQU5FTF9UWVBFIiwiYXR0cmlidXRlcyIsImxpc3RlbmVycyIsInNldE5vZGVSZWYiLCJpc0RyYWdnaW5nIiwidHJhbnNmb3JtIiwidHJhbnNpdGlvbiIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJyZWYiLCJjbGFzc05hbWUiLCJjbGFzc25hbWVzIiwiX2RlZmluZVByb3BlcnR5MiIsImRhdGFUZXN0SWRzIiwic29ydGFibGVMYXllckl0ZW0iLCJzdGF0aWNMYXllckl0ZW0iLCJzb3J0aW5nIiwiQ1NTIiwiVHJhbnNmb3JtIiwidG9TdHJpbmciLCJrZXkiLCJpc0RyYWdnYWJsZSIsIkxheWVyTGlzdCIsImxheWVycyIsImRhdGFzZXRzIiwibGF5ZXJPcmRlciIsInVpU3RhdGVBY3Rpb25zIiwidmlzU3RhdGVBY3Rpb25zIiwibWFwU3RhdGVBY3Rpb25zIiwibGF5ZXJDbGFzc2VzIiwiX3Byb3BzJGlzU29ydGFibGUiLCJpc1NvcnRhYmxlIiwic3BsaXRNYXAiLCJvcGVuTW9kYWwiLCJ0b2dnbGVNb2RhbCIsImxheWVyc1RvU2hvdyIsInVzZU1lbW8iLCJyZWR1Y2UiLCJhY2MiLCJsYXllcklkIiwiZmluZEJ5SWQiLCJmaWx0ZXIiLCJCb29sZWFuIiwiY29uZmlnIiwiaGlkZGVuIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsInNpZGVQYW5lbERuZEl0ZW1zIiwibWFwIiwiX3JlZjIiLCJsYXllclR5cGVPcHRpb25zIiwia2V5cyIsImRhdGFJZCIsImxhYmVsIiwibmFtZSIsImljb24iLCJsYXllckljb24iLCJyZXF1aXJlRGF0YSIsImxheWVyQ29sb3JVSUNoYW5nZSIsImxheWVyQ29uZmlnQ2hhbmdlIiwibGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnQ2hhbmdlIiwibGF5ZXJUb2dnbGVWaXNpYmlsaXR5IiwibGF5ZXJUeXBlQ2hhbmdlIiwibGF5ZXJWaXNDb25maWdDaGFuZ2UiLCJsYXllclRleHRMYWJlbENoYW5nZSIsInJlbW92ZUxheWVyIiwiem9vbVRvTGF5ZXIiLCJmaXRCb3VuZHMiLCJkdXBsaWNhdGVMYXllciIsImxheWVyU2V0SXNWYWxpZCIsIlNvcnRhYmxlQ29udGV4dCIsIml0ZW1zIiwic3RyYXRlZ3kiLCJ2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3kiLCJmaW5kSW5kZXgiLCJsIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItbGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IHtMYXllciwgTGF5ZXJDbGFzc2VzVHlwZX0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuaW1wb3J0IHtEYXRhc2V0c30gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5pbXBvcnQge1VJU3RhdGVBY3Rpb25zLCBWaXNTdGF0ZUFjdGlvbnMsIE1hcFN0YXRlQWN0aW9uc30gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcblxuaW1wb3J0IHt1c2VTb3J0YWJsZSwgU29ydGFibGVDb250ZXh0LCB2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3l9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcbmltcG9ydCB7Q1NTfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IExheWVyUGFuZWxGYWN0b3J5IGZyb20gJy4vbGF5ZXItcGFuZWwnO1xuaW1wb3J0IHtmaW5kQnlJZH0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge2RhdGFUZXN0SWRzLCBTT1JUQUJMRV9MQVlFUl9UWVBFLCBTT1JUQUJMRV9TSURFX1BBTkVMX1RZUEV9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7U3BsaXRNYXB9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBMYXllckxpc3RQcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBsYXllcnM6IExheWVyW107XG4gIGxheWVyT3JkZXI6IHN0cmluZ1tdO1xuICBsYXllckNsYXNzZXM6IExheWVyQ2xhc3Nlc1R5cGU7XG4gIGlzU29ydGFibGU/OiBib29sZWFuO1xuICBzcGxpdE1hcD86IFNwbGl0TWFwO1xuICB1aVN0YXRlQWN0aW9uczogdHlwZW9mIFVJU3RhdGVBY3Rpb25zO1xuICB2aXNTdGF0ZUFjdGlvbnM6IHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnM7XG4gIG1hcFN0YXRlQWN0aW9uczogdHlwZW9mIE1hcFN0YXRlQWN0aW9ucztcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyTGlzdEZhY3RvcnlEZXBzID0gW3R5cGVvZiBMYXllclBhbmVsRmFjdG9yeV07XG5cbi8vIG1ha2Ugc3VyZSB0aGUgZWxlbWVudCBpcyBhbHdheXMgdmlzaWJsZSB3aGlsZSBpcyBiZWluZyBkcmFnZ2VkXG4vLyBpdGVtIGJlaW5nIGRyYWdnZWQgaXMgYXBwZW5kZWQgaW4gYm9keSwgaGVyZSB0byByZXNldCBpdHMgZ2xvYmFsIHN0eWxlXG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogOHB4O1xuYDtcblxuaW50ZXJmYWNlIFNvcnRhYmxlU3R5bGVkSXRlbVByb3BzIHtcbiAgJHRyYW5zaXRpb24/OiBzdHJpbmc7XG4gICR0cmFuc2Zvcm0/OiBzdHJpbmc7XG59XG5cbmNvbnN0IFNvcnRhYmxlU3R5bGVkSXRlbSA9IHN0eWxlZC5kaXY8U29ydGFibGVTdHlsZWRJdGVtUHJvcHM+YFxuICB6LWluZGV4OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duV3JhcHBlclogKyAxfTtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy4kdHJhbnNpdGlvbn07XG4gIHRyYW5zZm9ybTogJHtwcm9wcyA9PiBwcm9wcy4kdHJhbnNmb3JtfTtcbiAgJi5zb3J0aW5nIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgJi5zb3J0aW5nLWxheWVycyAubGF5ZXItcGFuZWxfX2hlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgZm9udC13ZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udFdlaWdodH07XG4gICAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRTaXplfTtcbiAgICBsaW5lLWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5saW5lSGVpZ2h0fTtcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gICAgLmxheWVyX19kcmFnLWhhbmRsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgSU5JVElBTF9MQVlFUlNfVE9fU0hPVzogTGF5ZXJbXSA9IFtdO1xuXG5MYXllckxpc3RGYWN0b3J5LmRlcHMgPSBbTGF5ZXJQYW5lbEZhY3RvcnldO1xuXG5mdW5jdGlvbiBMYXllckxpc3RGYWN0b3J5KExheWVyUGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIExheWVyUGFuZWxGYWN0b3J5Pikge1xuICAvLyBCeSB3cmFwcGluZyBsYXllciBwYW5lbCB1c2luZyBhIHNvcnRhYmxlIGVsZW1lbnQgd2UgZG9uJ3QgaGF2ZSB0byBpbXBsZW1lbnQgdGhlIGRyYWcgYW5kIGRyb3AgbG9naWMgaW50byB0aGUgcGFuZWwgaXRzZWxmO1xuICAvLyBEZXZlbG9wZXJzIGNhbiBwcm92aWRlIGFueSBsYXllciBwYW5lbCBpbXBsZW1lbnRhdGlvbiBhbmQgaXQgd2lsbCBzdGlsbCBiZSBzb3J0YWJsZVxuICBjb25zdCBTb3J0YWJsZUl0ZW0gPSAoe2xheWVyLCBpZHgsIHBhbmVsUHJvcHMsIGxheWVyQWN0aW9ucywgZGlzYWJsZWR9KSA9PiB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZXMsIGxpc3RlbmVycywgc2V0Tm9kZVJlZiwgaXNEcmFnZ2luZywgdHJhbnNmb3JtLCB0cmFuc2l0aW9ufSA9IHVzZVNvcnRhYmxlKHtcbiAgICAgIGlkOiBsYXllci5pZCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdHlwZTogU09SVEFCTEVfTEFZRVJfVFlQRSxcbiAgICAgICAgcGFyZW50OiBTT1JUQUJMRV9TSURFX1BBTkVMX1RZUEVcbiAgICAgIH0sXG4gICAgICBkaXNhYmxlZFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTb3J0YWJsZVN0eWxlZEl0ZW1cbiAgICAgICAgcmVmPXtzZXROb2RlUmVmfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgICAge1tkYXRhVGVzdElkcy5zb3J0YWJsZUxheWVySXRlbV06ICFkaXNhYmxlZH0sXG4gICAgICAgICAge1tkYXRhVGVzdElkcy5zdGF0aWNMYXllckl0ZW1dOiBkaXNhYmxlZH0sXG4gICAgICAgICAge3NvcnRpbmc6IGlzRHJhZ2dpbmd9XG4gICAgICAgICl9XG4gICAgICAgIGRhdGEtdGVzdGlkPXtkaXNhYmxlZCA/IGRhdGFUZXN0SWRzLnN0YXRpY0xheWVySXRlbSA6IGRhdGFUZXN0SWRzLnNvcnRhYmxlTGF5ZXJJdGVtfVxuICAgICAgICAkdHJhbnNmb3JtPXtDU1MuVHJhbnNmb3JtLnRvU3RyaW5nKHRyYW5zZm9ybSl9XG4gICAgICAgICR0cmFuc2l0aW9uPXt0cmFuc2l0aW9ufVxuICAgICAgICB7Li4uYXR0cmlidXRlc31cbiAgICAgID5cbiAgICAgICAgPExheWVyUGFuZWxcbiAgICAgICAgICB7Li4ucGFuZWxQcm9wc31cbiAgICAgICAgICB7Li4ubGF5ZXJBY3Rpb25zfVxuICAgICAgICAgIGtleT17bGF5ZXIuaWR9XG4gICAgICAgICAgaWR4PXtpZHh9XG4gICAgICAgICAgbGF5ZXI9e2xheWVyfVxuICAgICAgICAgIGxpc3RlbmVycz17bGlzdGVuZXJzfVxuICAgICAgICAgIGlzRHJhZ2dhYmxlPXshZGlzYWJsZWR9XG4gICAgICAgIC8+XG4gICAgICA8L1NvcnRhYmxlU3R5bGVkSXRlbT5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IExheWVyTGlzdDogUmVhY3QuRkM8TGF5ZXJMaXN0UHJvcHM+ID0gcHJvcHMgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGxheWVycyxcbiAgICAgIGRhdGFzZXRzLFxuICAgICAgbGF5ZXJPcmRlcixcbiAgICAgIHVpU3RhdGVBY3Rpb25zLFxuICAgICAgdmlzU3RhdGVBY3Rpb25zLFxuICAgICAgbWFwU3RhdGVBY3Rpb25zLFxuICAgICAgbGF5ZXJDbGFzc2VzLFxuICAgICAgaXNTb3J0YWJsZSA9IHRydWUsXG4gICAgICBzcGxpdE1hcFxuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCB7dG9nZ2xlTW9kYWw6IG9wZW5Nb2RhbH0gPSB1aVN0YXRlQWN0aW9ucztcblxuICAgIGNvbnN0IGxheWVyc1RvU2hvdyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgcmV0dXJuIGxheWVyT3JkZXIucmVkdWNlKChhY2MsIGxheWVySWQpID0+IHtcbiAgICAgICAgY29uc3QgbGF5ZXIgPSBmaW5kQnlJZChsYXllcklkKShsYXllcnMuZmlsdGVyKEJvb2xlYW4pKTtcbiAgICAgICAgaWYgKCFsYXllcikge1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICFsYXllci5jb25maWcuaGlkZGVuID8gWy4uLmFjYywgbGF5ZXJdIDogYWNjO1xuICAgICAgfSwgSU5JVElBTF9MQVlFUlNfVE9fU0hPVyk7XG4gICAgfSwgW2xheWVycywgbGF5ZXJPcmRlcl0pO1xuXG4gICAgY29uc3Qgc2lkZVBhbmVsRG5kSXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBsYXllcnNUb1Nob3cubWFwKCh7aWR9KSA9PiBpZCk7XG4gICAgfSwgW2xheWVyc1RvU2hvd10pO1xuXG4gICAgY29uc3QgbGF5ZXJUeXBlT3B0aW9ucyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBPYmplY3Qua2V5cyhsYXllckNsYXNzZXMpLm1hcChrZXkgPT4ge1xuICAgICAgICAgIGNvbnN0IGxheWVyID0gbmV3IGxheWVyQ2xhc3Nlc1trZXldKHtkYXRhSWQ6ICcnfSk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkOiBrZXksXG4gICAgICAgICAgICBsYWJlbDogbGF5ZXIubmFtZSxcbiAgICAgICAgICAgIGljb246IGxheWVyLmxheWVySWNvbixcbiAgICAgICAgICAgIHJlcXVpcmVEYXRhOiBsYXllci5yZXF1aXJlRGF0YVxuICAgICAgICAgIH07XG4gICAgICAgIH0pLFxuICAgICAgW2xheWVyQ2xhc3Nlc11cbiAgICApO1xuXG4gICAgY29uc3QgbGF5ZXJBY3Rpb25zID0gdXNlTWVtbyhcbiAgICAgICgpID0+ICh7XG4gICAgICAgIGxheWVyQ29sb3JVSUNoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyQ29sb3JVSUNoYW5nZSxcbiAgICAgICAgbGF5ZXJDb25maWdDaGFuZ2U6IHZpc1N0YXRlQWN0aW9ucy5sYXllckNvbmZpZ0NoYW5nZSxcbiAgICAgICAgbGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnQ2hhbmdlOiB2aXNTdGF0ZUFjdGlvbnMubGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnQ2hhbmdlLFxuICAgICAgICBsYXllclRvZ2dsZVZpc2liaWxpdHk6IHZpc1N0YXRlQWN0aW9ucy5sYXllclRvZ2dsZVZpc2liaWxpdHksXG4gICAgICAgIGxheWVyVHlwZUNoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyVHlwZUNoYW5nZSxcbiAgICAgICAgbGF5ZXJWaXNDb25maWdDaGFuZ2U6IHZpc1N0YXRlQWN0aW9ucy5sYXllclZpc0NvbmZpZ0NoYW5nZSxcbiAgICAgICAgbGF5ZXJUZXh0TGFiZWxDaGFuZ2U6IHZpc1N0YXRlQWN0aW9ucy5sYXllclRleHRMYWJlbENoYW5nZSxcbiAgICAgICAgcmVtb3ZlTGF5ZXI6IHZpc1N0YXRlQWN0aW9ucy5yZW1vdmVMYXllcixcbiAgICAgICAgem9vbVRvTGF5ZXI6IG1hcFN0YXRlQWN0aW9ucy5maXRCb3VuZHMsXG4gICAgICAgIGR1cGxpY2F0ZUxheWVyOiB2aXNTdGF0ZUFjdGlvbnMuZHVwbGljYXRlTGF5ZXIsXG4gICAgICAgIGxheWVyU2V0SXNWYWxpZDogdmlzU3RhdGVBY3Rpb25zLmxheWVyU2V0SXNWYWxpZFxuICAgICAgfSksXG4gICAgICBbdmlzU3RhdGVBY3Rpb25zLCBtYXBTdGF0ZUFjdGlvbnNdXG4gICAgKTtcblxuICAgIGNvbnN0IHBhbmVsUHJvcHMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgZGF0YXNldHMsXG4gICAgICAgIG9wZW5Nb2RhbCxcbiAgICAgICAgbGF5ZXJUeXBlT3B0aW9ucyxcbiAgICAgICAgc3BsaXRNYXBcbiAgICAgIH0pLFxuICAgICAgW2RhdGFzZXRzLCBvcGVuTW9kYWwsIGxheWVyVHlwZU9wdGlvbnMsIHNwbGl0TWFwXVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENvbnRhaW5lcj5cbiAgICAgICAgPFNvcnRhYmxlQ29udGV4dFxuICAgICAgICAgIGlkPXtTT1JUQUJMRV9TSURFX1BBTkVMX1RZUEV9XG4gICAgICAgICAgaXRlbXM9e3NpZGVQYW5lbERuZEl0ZW1zfVxuICAgICAgICAgIHN0cmF0ZWd5PXt2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3l9XG4gICAgICAgICAgZGlzYWJsZWQ9eyFpc1NvcnRhYmxlfVxuICAgICAgICA+XG4gICAgICAgICAgey8qIHdhcm5pbmc6IGNvbnRhaW5lcklkIHNob3VsZCBiZSBzaW1pbGFyIHRvIHRoZSBmaXJzdCBrZXkgaW4gZG5kSXRlbXMgZGVmaW5lZCBpbiBrZXBsZXItZ2wuanMqL31cbiAgICAgICAgICB7bGF5ZXJzVG9TaG93Lm1hcChsYXllciA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJdGVtXG4gICAgICAgICAgICAgIGtleT17bGF5ZXIuaWR9XG4gICAgICAgICAgICAgIGxheWVyPXtsYXllcn1cbiAgICAgICAgICAgICAgaWR4PXtsYXllcnMuZmluZEluZGV4KGwgPT4gbD8uaWQgPT09IGxheWVyLmlkKX1cbiAgICAgICAgICAgICAgcGFuZWxQcm9wcz17cGFuZWxQcm9wc31cbiAgICAgICAgICAgICAgbGF5ZXJBY3Rpb25zPXtsYXllckFjdGlvbnN9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXshaXNTb3J0YWJsZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU29ydGFibGVDb250ZXh0PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgKTtcbiAgfTtcbiAgcmV0dXJuIExheWVyTGlzdDtcbn1cbmV4cG9ydCBkZWZhdWx0IExheWVyTGlzdEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxZQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFNQSxJQUFBSSxTQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxXQUFBLEdBQUFKLHNCQUFB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
@@ -25,7 +25,7 @@ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _temp
25
25
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
26
26
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
27
27
  var getBorderCss = function getBorderCss(status) {
28
- return (0, _styledComponents.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n border-top: 2px solid ", ";\n border-bottom: 2px solid ", ";\n border-right: 2px solid ", ";\n "])), function (_ref) {
28
+ return (0, _styledComponents.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n border-top: 2px solid ", ";\n border-bottom: 2px solid ", ";\n border-right: 2px solid ", ";\n"])), function (_ref) {
29
29
  var theme = _ref.theme;
30
30
  return theme.notificationColors[status];
31
31
  }, function (_ref2) {
@@ -46,15 +46,19 @@ var StyledLayerPanelHeader = (0, _styledComponents["default"])(_styledComponents
46
46
  var HeaderLabelSection = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n color: ", ";\n flex-grow: 1;\n align-items: stretch;\n // leave space for eye and collapse icon\n padding-right: 50px;\n"])), function (props) {
47
47
  return props.theme.textColor;
48
48
  });
49
- var HeaderActionSection = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: absolute;\n height: 100%;\n align-items: stretch;\n right: 10px;\n pointer-events: ", ";\n &:hover {\n .layer-panel__header__actions__hidden {\n opacity: 1;\n background-color: ", ";\n }\n }\n"])), function (props) {
49
+ var HeaderActionSection = _styledComponents["default"].div.withConfig({
50
+ shouldForwardProp: _styledComponents2.shouldForwardProp
51
+ })(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: absolute;\n height: 100%;\n align-items: stretch;\n right: 10px;\n pointer-events: ", ";\n &:hover {\n .layer-panel__header__actions__hidden {\n opacity: 1;\n background-color: ", ";\n }\n }\n"])), function (props) {
50
52
  return props.isEditingLabel ? 'none' : 'all';
51
53
  }, function (props) {
52
54
  return props.theme.panelBackgroundHover;
53
55
  });
54
56
  // Hiden actions only show up on hover
55
- var StyledPanelHeaderHiddenActions = _styledComponents["default"].div.attrs({
57
+ var StyledPanelHeaderHiddenActions = _styledComponents["default"].div.withConfig({
58
+ shouldForwardProp: _styledComponents2.shouldForwardProp
59
+ }).attrs({
56
60
  className: 'layer-panel__header__actions__hidden'
57
- })(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n opacity: 0;\n display: flex;\n align-items: center;\n background-color: ", ";\n transition: opacity 0.4s ease, background-color 0.4s ease;\n\n &:hover {\n opacity: 1;\n }\n"])), function (props) {
61
+ })(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n opacity: 0;\n display: flex;\n align-items: center;\n background-color: ", ";\n transition:\n opacity 0.4s ease,\n background-color 0.4s ease;\n\n &:hover {\n opacity: 1;\n }\n"])), function (props) {
58
62
  return props.isConfigActive ? props.theme.panelBackgroundHover : props.theme.panelBackground;
59
63
  });
60
64
  var StyledDragHandle = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n opacity: 0;\n z-index: 1000;\n\n &:hover {\n cursor: move;\n opacity: 1;\n color: ", ";\n }\n"])), function (props) {
@@ -271,4 +275,4 @@ function LayerPanelHeaderFactory(LayerTitleSection, LayerPanelHeaderActionSectio
271
275
  return LayerPanelHeader;
272
276
  }
273
277
  var _default = exports["default"] = LayerPanelHeaderFactory;
274
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9wYW5lbEhlYWRlckFjdGlvbiIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9pY29ucyIsIl9sb2NhbGl6YXRpb24iLCJfY29uc3RhbnRzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsImdldEJvcmRlckNzcyIsInN0YXR1cyIsImNzcyIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiX3JlZiIsInRoZW1lIiwibm90aWZpY2F0aW9uQ29sb3JzIiwiX3JlZjIiLCJfcmVmMyIsIlN0eWxlZExheWVyUGFuZWxIZWFkZXIiLCJzdHlsZWQiLCJTdHlsZWRQYW5lbEhlYWRlciIsInByb3BzIiwibGF5ZXJQYW5lbEhlYWRlckhlaWdodCIsIndhcm5pbmciLCJpc1ZhbGlkIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJIZWFkZXJMYWJlbFNlY3Rpb24iLCJkaXYiLCJ0ZXh0Q29sb3IiLCJIZWFkZXJBY3Rpb25TZWN0aW9uIiwiaXNFZGl0aW5nTGFiZWwiLCJTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnMiLCJhdHRycyIsImNsYXNzTmFtZSIsImlzQ29uZmlnQWN0aXZlIiwicGFuZWxCYWNrZ3JvdW5kIiwiU3R5bGVkRHJhZ0hhbmRsZSIsInRleHRDb2xvckhsIiwiRHJhZ0hhbmRsZSIsImV4cG9ydHMiLCJfcmVmNCIsImxpc3RlbmVycyIsImNoaWxkcmVuIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsIm5vT3AiLCJldmVudCIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiTGF5ZXJMYWJlbEVkaXRvciIsIl9yZWY1IiwibGF5ZXJJZCIsImxhYmVsIiwib25FZGl0Iiwib25Gb2N1cyIsIm9uQmx1ciIsIklubGluZUlucHV0IiwidHlwZSIsImRhdGFUZXN0SWRzIiwibGF5ZXJUaXRsZUVkaXRvciIsInZhbHVlIiwib25DbGljayIsIm9uQ2hhbmdlIiwiaWQiLCJjb25jYXQiLCJMYXllclRpdGxlU2VjdGlvbkZhY3RvcnkiLCJTdHlsZWRMYXllclRpdGxlU2VjdGlvbiIsInN1YnRleHRDb2xvciIsIkxheWVyVGl0bGVTZWN0aW9uIiwiX3JlZjYiLCJsYXllclR5cGUiLCJvblVwZGF0ZUxheWVyTGFiZWwiLCJGb3JtYXR0ZWRNZXNzYWdlIiwidG9Mb3dlckNhc2UiLCJMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnkiLCJkZXBzIiwiUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbiIsImFsbG93RHVwbGljYXRlIiwiaXNWaXNpYmxlIiwib25Ub2dnbGVWaXNpYmlsaXR5Iiwib25SZXNldElzVmFsaWQiLCJvblRvZ2dsZUVuYWJsZUNvbmZpZyIsIm9uRHVwbGljYXRlTGF5ZXIiLCJvblJlbW92ZUxheWVyIiwib25ab29tVG9MYXllciIsIl9wcm9wcyRzaG93UmVtb3ZlTGF5ZSIsInNob3dSZW1vdmVMYXllciIsIl9wcm9wcyRhY3Rpb25JY29ucyIsImFjdGlvbkljb25zIiwiZGVmYXVsdEFjdGlvbkljb25zIiwidGVzdElkIiwidG9vbHRpcCIsInRvb2x0aXBUeXBlIiwiSWNvbkNvbXBvbmVudCIsInJlbW92ZSIsImR1cGxpY2F0ZSIsImRpc2FibGVkIiwiY3Jvc3NoYWlycyIsInZpc2libGUiLCJoaWRkZW4iLCJyZXNldElzVmFsaWQiLCJjbGFzc25hbWVzIiwiZW5hYmxlQ29uZmlnIiwiU3R5bGVkSGVhZGVyV2FyaW5nIiwiX3JlZjciLCJIZWFkZXJXYXJuaW5nIiwiX3JlZjgiLCJXYXJuaW5nU2lnbiIsImhlaWdodCIsIlRvb2x0aXAiLCJlZmZlY3QiLCJUcmFzaCIsIkV5ZVNlZW4iLCJFeWVVbnNlZW4iLCJBcnJvd0Rvd24iLCJDb3B5IiwiUmVzZXQiLCJDcm9zc2hhaXJzIiwiTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnkiLCJMYXllclBhbmVsSGVhZGVyIiwiX3Byb3BzJGlzRHJhZ05Ecm9wRW5hIiwiaXNEcmFnTkRyb3BFbmFibGVkIiwibGFiZWxSQ0dDb2xvclZhbHVlcyIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNldElzRWRpdGluZ0xhYmVsIiwiYWN0aXZlIiwiVmVydERvdHMiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLXBhbmVsLWhlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLFxuICBDb21wb25lbnRUeXBlLFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudCxcbiAgQ2hhbmdlRXZlbnRIYW5kbGVyXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHN0eWxlZCwge2Nzc30gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSBmcm9tICcuLi9wYW5lbC1oZWFkZXItYWN0aW9uJztcbmltcG9ydCB7VG9vbHRpcH0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIENvcHksXG4gIEFycm93RG93bixcbiAgRXllU2VlbixcbiAgRXllVW5zZWVuLFxuICBUcmFzaCxcbiAgVmVydERvdHMsXG4gIFdhcm5pbmdTaWduLFxuICBSZXNldCxcbiAgQ3Jvc3NoYWlyc1xufSBmcm9tICcuLi8uLi9jb21tb24vaWNvbnMnO1xuXG5pbXBvcnQge0lubGluZUlucHV0LCBTdHlsZWRQYW5lbEhlYWRlcn0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtkYXRhVGVzdElkc30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtSR0JDb2xvcn0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0Jhc2VQcm9wc30gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcblxuZXhwb3J0IHR5cGUgTGF5ZXJMYWJlbEVkaXRvclByb3BzID0ge1xuICBsYXllcklkOiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBvbkVkaXQ6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25Gb2N1czogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICBvbkJsdXI6IENoYW5nZUV2ZW50SGFuZGxlcjtcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyVGl0bGVTZWN0aW9uUHJvcHMgPSB7XG4gIGxheWVyVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIGxheWVySWQ6IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIG9uVXBkYXRlTGF5ZXJMYWJlbDogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICBvbkZvY3VzOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uQmx1cjogQ2hhbmdlRXZlbnRIYW5kbGVyO1xufTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJQYW5lbEhlYWRlclByb3BzID0ge1xuICBsYXllcklkOiBzdHJpbmc7XG4gIGlzVmlzaWJsZTogYm9vbGVhbjtcbiAgaXNWYWxpZDogYm9vbGVhbjtcbiAgb25Ub2dnbGVWaXNpYmlsaXR5OiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25VcGRhdGVMYXllckxhYmVsOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uVG9nZ2xlRW5hYmxlQ29uZmlnOiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25SZW1vdmVMYXllcjogTW91c2VFdmVudEhhbmRsZXI7XG4gIG9uWm9vbVRvTGF5ZXI6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvbkR1cGxpY2F0ZUxheWVyOiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25SZXNldElzVmFsaWQ6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBpc0NvbmZpZ0FjdGl2ZTogYm9vbGVhbjtcbiAgc2hvd1JlbW92ZUxheWVyPzogYm9vbGVhbjtcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIGxheWVyVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIGFsbG93RHVwbGljYXRlPzogYm9vbGVhbjtcbiAgaXNEcmFnTkRyb3BFbmFibGVkPzogYm9vbGVhbjtcbiAgd2FybmluZz86IGJvb2xlYW47XG4gIGxhYmVsUkNHQ29sb3JWYWx1ZXM/OiBSR0JDb2xvciB8IG51bGw7XG4gIGFjdGlvbkljb25zPzoge1xuICAgIHJlbW92ZTogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIHZpc2libGU6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICBoaWRkZW46IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICBlbmFibGVDb25maWc6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICByZXNldElzVmFsaWQ6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICBkdXBsaWNhdGU6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICBjcm9zc2hhaXJzOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gIH07XG4gIGxpc3RlbmVycz86IFJlYWN0LkVsZW1lbnRUeXBlO1xufTtcblxudHlwZSBIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHMgPSB7XG4gIGlzRWRpdGluZ0xhYmVsOiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wcyA9IExheWVyUGFuZWxIZWFkZXJQcm9wcyAmIEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wcztcblxuY29uc3QgZ2V0Qm9yZGVyQ3NzID0gc3RhdHVzID0+XG4gIGNzc2BcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJHsoe3RoZW1lfSkgPT4gdGhlbWUubm90aWZpY2F0aW9uQ29sb3JzW3N0YXR1c119O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkeyh7dGhlbWV9KSA9PiB0aGVtZS5ub3RpZmljYXRpb25Db2xvcnNbc3RhdHVzXX07XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJHsoe3RoZW1lfSkgPT4gdGhlbWUubm90aWZpY2F0aW9uQ29sb3JzW3N0YXR1c119O1xuICBgO1xuXG5jb25zdCBTdHlsZWRMYXllclBhbmVsSGVhZGVyID0gc3R5bGVkKFN0eWxlZFBhbmVsSGVhZGVyKWBcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyUGFuZWxIZWFkZXJIZWlnaHR9cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgLmxheWVyX19yZW1vdmUtbGF5ZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAubGF5ZXJfX2RyYWctaGFuZGxlX19wbGFjZWhvbGRlciB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cblxuICAke3Byb3BzID0+IChwcm9wcy53YXJuaW5nID8gZ2V0Qm9yZGVyQ3NzKCd3YXJuaW5nJykgOiBwcm9wcy5pc1ZhbGlkID8gJycgOiBnZXRCb3JkZXJDc3MoJ2Vycm9yJykpfVxuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcblxuICAgIC5sYXllcl9fZHJhZy1oYW5kbGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAubGF5ZXJfX3JlbW92ZS1sYXllciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgSGVhZGVyTGFiZWxTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgZmxleC1ncm93OiAxO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgLy8gbGVhdmUgc3BhY2UgZm9yIGV5ZSBhbmQgY29sbGFwc2UgaWNvblxuICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuYDtcblxuY29uc3QgSGVhZGVyQWN0aW9uU2VjdGlvbiA9IHN0eWxlZC5kaXY8SGVhZGVyQWN0aW9uU2VjdGlvblByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICByaWdodDogMTBweDtcbiAgcG9pbnRlci1ldmVudHM6ICR7cHJvcHMgPT4gKHByb3BzLmlzRWRpdGluZ0xhYmVsID8gJ25vbmUnIDogJ2FsbCcpfTtcbiAgJjpob3ZlciB7XG4gICAgLmxheWVyLXBhbmVsX19oZWFkZXJfX2FjdGlvbnNfX2hpZGRlbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgfVxuICB9XG5gO1xuXG50eXBlIFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9uc1Byb3BzID0ge1xuICBpc0NvbmZpZ0FjdGl2ZTogTGF5ZXJQYW5lbEhlYWRlclByb3BzWydpc0NvbmZpZ0FjdGl2ZSddO1xufTtcblxuLy8gSGlkZW4gYWN0aW9ucyBvbmx5IHNob3cgdXAgb24gaG92ZXJcbmNvbnN0IFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucyA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdsYXllci1wYW5lbF9faGVhZGVyX19hY3Rpb25zX19oaWRkZW4nXG59KTxTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnNQcm9wcz5gXG4gIG9wYWNpdHk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5pc0NvbmZpZ0FjdGl2ZSA/IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyIDogcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC40cyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERyYWdIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IERyYWdIYW5kbGU6IFJlYWN0LkZDPHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBsaXN0ZW5lcnM/OiBhbnk7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xufT4gPSAoe2NsYXNzTmFtZSwgbGlzdGVuZXJzLCBjaGlsZHJlbn0pID0+IChcbiAgPFN0eWxlZERyYWdIYW5kbGUgY2xhc3NOYW1lPXtjbGFzc05hbWV9IHsuLi4obGlzdGVuZXJzID8gbGlzdGVuZXJzIDoge30pfT5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3R5bGVkRHJhZ0hhbmRsZT5cbik7XG5cbmNvbnN0IG5vT3AgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG59O1xuXG5leHBvcnQgY29uc3QgTGF5ZXJMYWJlbEVkaXRvcjogUmVhY3QuRkM8TGF5ZXJMYWJlbEVkaXRvclByb3BzPiA9ICh7XG4gIGxheWVySWQsXG4gIGxhYmVsLFxuICBvbkVkaXQsXG4gIG9uRm9jdXMsXG4gIG9uQmx1clxufSkgPT4gKFxuICA8SW5saW5lSW5wdXRcbiAgICB0eXBlPVwidGV4dFwiXG4gICAgY2xhc3NOYW1lPVwibGF5ZXJfX3RpdGxlX19lZGl0b3JcIlxuICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkcy5sYXllclRpdGxlRWRpdG9yfVxuICAgIHZhbHVlPXtsYWJlbH1cbiAgICBvbkNsaWNrPXtub09wfVxuICAgIG9uQ2hhbmdlPXtvbkVkaXR9XG4gICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICBvbkJsdXI9e29uQmx1cn1cbiAgICBpZD17YCR7bGF5ZXJJZH06aW5wdXQtbGF5ZXItbGFiZWxgfVxuICAvPlxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIExheWVyVGl0bGVTZWN0aW9uRmFjdG9yeSgpIHtcbiAgY29uc3QgU3R5bGVkTGF5ZXJUaXRsZVNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAubGF5ZXJfX3RpdGxlX19pbm5lciB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgLmxheWVyX190aXRsZV9fdHlwZSB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3J9O1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4zN3B4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuICBgO1xuICBjb25zdCBMYXllclRpdGxlU2VjdGlvbjogUmVhY3QuRkM8TGF5ZXJUaXRsZVNlY3Rpb25Qcm9wcz4gPSAoe1xuICAgIGxheWVyVHlwZSxcbiAgICBsYXllcklkLFxuICAgIGxhYmVsLFxuICAgIG9uVXBkYXRlTGF5ZXJMYWJlbCxcbiAgICBvbkZvY3VzLFxuICAgIG9uQmx1clxuICB9KSA9PiAoXG4gICAgPFN0eWxlZExheWVyVGl0bGVTZWN0aW9uIGNsYXNzTmFtZT1cImxheWVyX190aXRsZVwiPlxuICAgICAgPGRpdj5cbiAgICAgICAgPExheWVyTGFiZWxFZGl0b3JcbiAgICAgICAgICBsYXllcklkPXtsYXllcklkfVxuICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICBvbkVkaXQ9e29uVXBkYXRlTGF5ZXJMYWJlbH1cbiAgICAgICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICAvPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxheWVyX190aXRsZV9fdHlwZVwiPlxuICAgICAgICAgIHtsYXllclR5cGUgJiYgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e2BsYXllci50eXBlLiR7bGF5ZXJUeXBlLnRvTG93ZXJDYXNlKCl9YH0gLz59XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9TdHlsZWRMYXllclRpdGxlU2VjdGlvbj5cbiAgKTtcbiAgcmV0dXJuIExheWVyVGl0bGVTZWN0aW9uO1xufVxuXG5MYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnkuZGVwcyA9IFtQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnldO1xuXG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5KFxuICBQYW5lbEhlYWRlckFjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5PlxuKSB7XG4gIGNvbnN0IExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uOiBSZWFjdC5GQzxMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvblByb3BzPiA9IChcbiAgICBwcm9wczogTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wc1xuICApID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0NvbmZpZ0FjdGl2ZSxcbiAgICAgIGFsbG93RHVwbGljYXRlLFxuICAgICAgaXNWaXNpYmxlLFxuICAgICAgaXNWYWxpZCxcbiAgICAgIGxheWVySWQsXG4gICAgICBvblRvZ2dsZVZpc2liaWxpdHksXG4gICAgICBvblJlc2V0SXNWYWxpZCxcbiAgICAgIG9uVG9nZ2xlRW5hYmxlQ29uZmlnLFxuICAgICAgb25EdXBsaWNhdGVMYXllcixcbiAgICAgIG9uUmVtb3ZlTGF5ZXIsXG4gICAgICBvblpvb21Ub0xheWVyLFxuICAgICAgc2hvd1JlbW92ZUxheWVyID0gdHJ1ZSxcbiAgICAgIGlzRWRpdGluZ0xhYmVsLFxuICAgICAgLy8gVE9ETzogbWF5IG5vdCBjb250YWluIGFsbCBuZWNlc3NhcnkgaWNvbnMgZm9yIGFsbCBhY3Rpb25zLCBlLmcuIGFjdGlvbkljb25zLmR1cGxpY2F0ZS4gTmVlZCB0byB0byBtZXJnZSByYXRoZXIgdGhhbiByZXBsYWNlXG4gICAgICBhY3Rpb25JY29ucyA9IGRlZmF1bHRBY3Rpb25JY29uc1xuICAgIH0gPSBwcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgPEhlYWRlckFjdGlvblNlY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXItcGFuZWxfX2hlYWRlcl9fYWN0aW9uc1wiIGlzRWRpdGluZ0xhYmVsPXtpc0VkaXRpbmdMYWJlbH0+XG4gICAgICAgIDxTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnMgaXNDb25maWdBY3RpdmU9e2lzQ29uZmlnQWN0aXZlfT5cbiAgICAgICAgICB7c2hvd1JlbW92ZUxheWVyID8gKFxuICAgICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyX19yZW1vdmUtbGF5ZXJcIlxuICAgICAgICAgICAgICB0ZXN0SWQ9XCJyZW1vdmUtbGF5ZXItYWN0aW9uXCJcbiAgICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICAgIHRvb2x0aXA9eyd0b29sdGlwLnJlbW92ZUxheWVyJ31cbiAgICAgICAgICAgICAgb25DbGljaz17b25SZW1vdmVMYXllcn1cbiAgICAgICAgICAgICAgdG9vbHRpcFR5cGU9XCJlcnJvclwiXG4gICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLnJlbW92ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllcl9fZHVwbGljYXRlXCJcbiAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAuZHVwbGljYXRlTGF5ZXInfVxuICAgICAgICAgICAgb25DbGljaz17b25EdXBsaWNhdGVMYXllcn1cbiAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLmR1cGxpY2F0ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXshYWxsb3dEdXBsaWNhdGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyX196b29tLXRvLWxheWVyXCJcbiAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAuem9vbVRvTGF5ZXInfVxuICAgICAgICAgICAgb25DbGljaz17b25ab29tVG9MYXllcn1cbiAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLmNyb3NzaGFpcnN9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnM+XG4gICAgICAgIHtpc1ZhbGlkID8gKFxuICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX3Zpc2liaWxpdHktdG9nZ2xlXCJcbiAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgdG9vbHRpcD17aXNWaXNpYmxlID8gJ3Rvb2x0aXAuaGlkZUxheWVyJyA6ICd0b29sdGlwLnNob3dMYXllcid9XG4gICAgICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZVZpc2liaWxpdHl9XG4gICAgICAgICAgICBJY29uQ29tcG9uZW50PXtpc1Zpc2libGUgPyBhY3Rpb25JY29ucy52aXNpYmxlIDogYWN0aW9uSWNvbnMuaGlkZGVufVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllcl9faXMtdmFsaWQtcmVmcmVzaFwiXG4gICAgICAgICAgICBpZD17bGF5ZXJJZH1cbiAgICAgICAgICAgIHRvb2x0aXA9eyd0b29sdGlwLnJlc2V0QWZ0ZXJFcnJvcid9XG4gICAgICAgICAgICBvbkNsaWNrPXtvblJlc2V0SXNWYWxpZH1cbiAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLnJlc2V0SXNWYWxpZH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuXG4gICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXJfX2VuYWJsZS1jb25maWcgJywge1xuICAgICAgICAgICAgJ2lzLW9wZW4nOiBpc0NvbmZpZ0FjdGl2ZVxuICAgICAgICAgIH0pfVxuICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgIHRvb2x0aXA9eyd0b29sdGlwLmxheWVyU2V0dGluZ3MnfVxuICAgICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlRW5hYmxlQ29uZmlnfVxuICAgICAgICAgIEljb25Db21wb25lbnQ9e2FjdGlvbkljb25zLmVuYWJsZUNvbmZpZ31cbiAgICAgICAgLz5cbiAgICAgIDwvSGVhZGVyQWN0aW9uU2VjdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbjtcbn1cblxuY29uc3QgU3R5bGVkSGVhZGVyV2FyaW5nID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTlweDtcbiAgdG9wOiBjYWxjKDUwJSAtIDlweCk7XG4gIGNvbG9yOiAkeyh7dGhlbWV9KSA9PiB0aGVtZS5ub3RpZmljYXRpb25Db2xvcnMud2FybmluZ307XG5gO1xuXG5leHBvcnQgY29uc3QgSGVhZGVyV2FybmluZyA9ICh7d2FybmluZywgaWR9KSA9PiAoXG4gIDxTdHlsZWRIZWFkZXJXYXJpbmc+XG4gICAgPFdhcm5pbmdTaWduIGRhdGEtdGlwIGRhdGEtZm9yPXtgbGF5ZXItJHtpZH0td2FybmluZ2B9IGhlaWdodD1cIjE2cHhcIiAvPlxuICAgIDxUb29sdGlwIGlkPXtgbGF5ZXItJHtpZH0td2FybmluZ2B9IHR5cGU9XCJ3YXJuaW5nXCIgZWZmZWN0PVwic29saWRcIiB0ZXh0Q29sb3I9XCJibGFja1wiPlxuICAgICAge3dhcm5pbmd9XG4gICAgPC9Ub29sdGlwPlxuICA8L1N0eWxlZEhlYWRlcldhcmluZz5cbik7XG5cbmNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgcmVtb3ZlOiBUcmFzaCxcbiAgdmlzaWJsZTogRXllU2VlbixcbiAgaGlkZGVuOiBFeWVVbnNlZW4sXG4gIGVuYWJsZUNvbmZpZzogQXJyb3dEb3duLFxuICBkdXBsaWNhdGU6IENvcHksXG4gIHJlc2V0SXNWYWxpZDogUmVzZXQsXG4gIGNyb3NzaGFpcnM6IENyb3NzaGFpcnNcbn07XG5cbkxheWVyUGFuZWxIZWFkZXJGYWN0b3J5LmRlcHMgPSBbTGF5ZXJUaXRsZVNlY3Rpb25GYWN0b3J5LCBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnldO1xuXG5mdW5jdGlvbiBMYXllclBhbmVsSGVhZGVyRmFjdG9yeShcbiAgTGF5ZXJUaXRsZVNlY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIExheWVyVGl0bGVTZWN0aW9uRmFjdG9yeT4sXG4gIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgTGF5ZXJQYW5lbEhlYWRlcjogUmVhY3QuRkM8TGF5ZXJQYW5lbEhlYWRlclByb3BzPiA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0NvbmZpZ0FjdGl2ZSxcbiAgICAgIGlzRHJhZ05Ecm9wRW5hYmxlZCA9IHRydWUsXG4gICAgICBpc1ZhbGlkLFxuICAgICAgd2FybmluZyxcbiAgICAgIGxhYmVsLFxuICAgICAgbGF5ZXJJZCxcbiAgICAgIGxheWVyVHlwZSxcbiAgICAgIGxhYmVsUkNHQ29sb3JWYWx1ZXMsXG4gICAgICBvblVwZGF0ZUxheWVyTGFiZWwsXG4gICAgICBvblRvZ2dsZUVuYWJsZUNvbmZpZyxcbiAgICAgIGxpc3RlbmVyc1xuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCBbaXNFZGl0aW5nTGFiZWwsIHNldElzRWRpdGluZ0xhYmVsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZExheWVyUGFuZWxIZWFkZXJcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdsYXllci1wYW5lbF9faGVhZGVyJywge1xuICAgICAgICAgICdzb3J0LS1oYW5kbGUnOiAhaXNDb25maWdBY3RpdmVcbiAgICAgICAgfSl9XG4gICAgICAgIGlzVmFsaWQ9e2lzVmFsaWR9XG4gICAgICAgIHdhcm5pbmc9e3dhcm5pbmd9XG4gICAgICAgIGFjdGl2ZT17aXNDb25maWdBY3RpdmV9XG4gICAgICAgIGxhYmVsUkNHQ29sb3JWYWx1ZXM9e2xhYmVsUkNHQ29sb3JWYWx1ZXN9XG4gICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlRW5hYmxlQ29uZmlnfVxuICAgICAgPlxuICAgICAgICB7d2FybmluZyA/IDxIZWFkZXJXYXJuaW5nIHdhcm5pbmc9e3dhcm5pbmd9IGlkPXtsYXllcklkfSAvPiA6IG51bGx9XG4gICAgICAgIDxIZWFkZXJMYWJlbFNlY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXItcGFuZWxfX2hlYWRlcl9fY29udGVudFwiPlxuICAgICAgICAgIHtpc0RyYWdORHJvcEVuYWJsZWQgPyAoXG4gICAgICAgICAgICA8RHJhZ0hhbmRsZSBjbGFzc05hbWU9XCJsYXllcl9fZHJhZy1oYW5kbGVcIiBsaXN0ZW5lcnM9e2xpc3RlbmVyc30+XG4gICAgICAgICAgICAgIDxWZXJ0RG90cyBoZWlnaHQ9XCIyMHB4XCIgLz5cbiAgICAgICAgICAgIDwvRHJhZ0hhbmRsZT5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXllcl9fZHJhZy1oYW5kbGVfX3BsYWNlaG9sZGVyXCIgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxMYXllclRpdGxlU2VjdGlvblxuICAgICAgICAgICAgbGF5ZXJJZD17bGF5ZXJJZH1cbiAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgIG9uVXBkYXRlTGF5ZXJMYWJlbD17b25VcGRhdGVMYXllckxhYmVsfVxuICAgICAgICAgICAgbGF5ZXJUeXBlPXtsYXllclR5cGV9XG4gICAgICAgICAgICBvbkZvY3VzPXsoKSA9PiB7XG4gICAgICAgICAgICAgIHNldElzRWRpdGluZ0xhYmVsKHRydWUpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uQmx1cj17KCkgPT4ge1xuICAgICAgICAgICAgICBzZXRJc0VkaXRpbmdMYWJlbChmYWxzZSk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvSGVhZGVyTGFiZWxTZWN0aW9uPlxuICAgICAgICA8TGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb24gey4uLnByb3BzfSBpc0VkaXRpbmdMYWJlbD17aXNFZGl0aW5nTGFiZWx9IC8+XG4gICAgICA8L1N0eWxlZExheWVyUGFuZWxIZWFkZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTGF5ZXJQYW5lbEhlYWRlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJQYW5lbEhlYWRlckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBT0EsSUFBQUMsV0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUosdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLGtCQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxrQkFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBYUEsSUFBQU8sYUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsVUFBQSxH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
278
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9wYW5lbEhlYWRlckFjdGlvbiIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9pY29ucyIsIl9sb2NhbGl6YXRpb24iLCJfY29uc3RhbnRzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsImdldEJvcmRlckNzcyIsInN0YXR1cyIsImNzcyIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiX3JlZiIsInRoZW1lIiwibm90aWZpY2F0aW9uQ29sb3JzIiwiX3JlZjIiLCJfcmVmMyIsIlN0eWxlZExheWVyUGFuZWxIZWFkZXIiLCJzdHlsZWQiLCJTdHlsZWRQYW5lbEhlYWRlciIsInByb3BzIiwibGF5ZXJQYW5lbEhlYWRlckhlaWdodCIsIndhcm5pbmciLCJpc1ZhbGlkIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJIZWFkZXJMYWJlbFNlY3Rpb24iLCJkaXYiLCJ0ZXh0Q29sb3IiLCJIZWFkZXJBY3Rpb25TZWN0aW9uIiwid2l0aENvbmZpZyIsInNob3VsZEZvcndhcmRQcm9wIiwiaXNFZGl0aW5nTGFiZWwiLCJTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnMiLCJhdHRycyIsImNsYXNzTmFtZSIsImlzQ29uZmlnQWN0aXZlIiwicGFuZWxCYWNrZ3JvdW5kIiwiU3R5bGVkRHJhZ0hhbmRsZSIsInRleHRDb2xvckhsIiwiRHJhZ0hhbmRsZSIsImV4cG9ydHMiLCJfcmVmNCIsImxpc3RlbmVycyIsImNoaWxkcmVuIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsIm5vT3AiLCJldmVudCIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiTGF5ZXJMYWJlbEVkaXRvciIsIl9yZWY1IiwibGF5ZXJJZCIsImxhYmVsIiwib25FZGl0Iiwib25Gb2N1cyIsIm9uQmx1ciIsIklubGluZUlucHV0IiwidHlwZSIsImRhdGFUZXN0SWRzIiwibGF5ZXJUaXRsZUVkaXRvciIsInZhbHVlIiwib25DbGljayIsIm9uQ2hhbmdlIiwiaWQiLCJjb25jYXQiLCJMYXllclRpdGxlU2VjdGlvbkZhY3RvcnkiLCJTdHlsZWRMYXllclRpdGxlU2VjdGlvbiIsInN1YnRleHRDb2xvciIsIkxheWVyVGl0bGVTZWN0aW9uIiwiX3JlZjYiLCJsYXllclR5cGUiLCJvblVwZGF0ZUxheWVyTGFiZWwiLCJGb3JtYXR0ZWRNZXNzYWdlIiwidG9Mb3dlckNhc2UiLCJMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnkiLCJkZXBzIiwiUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbiIsImFsbG93RHVwbGljYXRlIiwiaXNWaXNpYmxlIiwib25Ub2dnbGVWaXNpYmlsaXR5Iiwib25SZXNldElzVmFsaWQiLCJvblRvZ2dsZUVuYWJsZUNvbmZpZyIsIm9uRHVwbGljYXRlTGF5ZXIiLCJvblJlbW92ZUxheWVyIiwib25ab29tVG9MYXllciIsIl9wcm9wcyRzaG93UmVtb3ZlTGF5ZSIsInNob3dSZW1vdmVMYXllciIsIl9wcm9wcyRhY3Rpb25JY29ucyIsImFjdGlvbkljb25zIiwiZGVmYXVsdEFjdGlvbkljb25zIiwidGVzdElkIiwidG9vbHRpcCIsInRvb2x0aXBUeXBlIiwiSWNvbkNvbXBvbmVudCIsInJlbW92ZSIsImR1cGxpY2F0ZSIsImRpc2FibGVkIiwiY3Jvc3NoYWlycyIsInZpc2libGUiLCJoaWRkZW4iLCJyZXNldElzVmFsaWQiLCJjbGFzc25hbWVzIiwiZW5hYmxlQ29uZmlnIiwiU3R5bGVkSGVhZGVyV2FyaW5nIiwiX3JlZjciLCJIZWFkZXJXYXJuaW5nIiwiX3JlZjgiLCJXYXJuaW5nU2lnbiIsImhlaWdodCIsIlRvb2x0aXAiLCJlZmZlY3QiLCJUcmFzaCIsIkV5ZVNlZW4iLCJFeWVVbnNlZW4iLCJBcnJvd0Rvd24iLCJDb3B5IiwiUmVzZXQiLCJDcm9zc2hhaXJzIiwiTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnkiLCJMYXllclBhbmVsSGVhZGVyIiwiX3Byb3BzJGlzRHJhZ05Ecm9wRW5hIiwiaXNEcmFnTkRyb3BFbmFibGVkIiwibGFiZWxSQ0dDb2xvclZhbHVlcyIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNldElzRWRpdGluZ0xhYmVsIiwiYWN0aXZlIiwiVmVydERvdHMiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLXBhbmVsLWhlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVN0YXRlLFxuICBDb21wb25lbnRUeXBlLFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgTW91c2VFdmVudCxcbiAgQ2hhbmdlRXZlbnRIYW5kbGVyXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHN0eWxlZCwge2Nzc30gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSBmcm9tICcuLi9wYW5lbC1oZWFkZXItYWN0aW9uJztcbmltcG9ydCB7VG9vbHRpcCwgc2hvdWxkRm9yd2FyZFByb3B9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICBDb3B5LFxuICBBcnJvd0Rvd24sXG4gIEV5ZVNlZW4sXG4gIEV5ZVVuc2VlbixcbiAgVHJhc2gsXG4gIFZlcnREb3RzLFxuICBXYXJuaW5nU2lnbixcbiAgUmVzZXQsXG4gIENyb3NzaGFpcnNcbn0gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcblxuaW1wb3J0IHtJbmxpbmVJbnB1dCwgU3R5bGVkUGFuZWxIZWFkZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7ZGF0YVRlc3RJZHN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7UkdCQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtCYXNlUHJvcHN9IGZyb20gJy4uLy4uL2NvbW1vbi9pY29ucyc7XG5cbmV4cG9ydCB0eXBlIExheWVyTGFiZWxFZGl0b3JQcm9wcyA9IHtcbiAgbGF5ZXJJZDogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgb25FZGl0OiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uRm9jdXM6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25CbHVyOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG59O1xuXG5leHBvcnQgdHlwZSBMYXllclRpdGxlU2VjdGlvblByb3BzID0ge1xuICBsYXllclR5cGU/OiBzdHJpbmcgfCBudWxsO1xuICBsYXllcklkOiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBvblVwZGF0ZUxheWVyTGFiZWw6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25Gb2N1czogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICBvbkJsdXI6IENoYW5nZUV2ZW50SGFuZGxlcjtcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyUGFuZWxIZWFkZXJQcm9wcyA9IHtcbiAgbGF5ZXJJZDogc3RyaW5nO1xuICBpc1Zpc2libGU6IGJvb2xlYW47XG4gIGlzVmFsaWQ6IGJvb2xlYW47XG4gIG9uVG9nZ2xlVmlzaWJpbGl0eTogTW91c2VFdmVudEhhbmRsZXI7XG4gIG9uVXBkYXRlTGF5ZXJMYWJlbDogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICBvblRvZ2dsZUVuYWJsZUNvbmZpZzogTW91c2VFdmVudEhhbmRsZXI7XG4gIG9uUmVtb3ZlTGF5ZXI6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblpvb21Ub0xheWVyOiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25EdXBsaWNhdGVMYXllcjogTW91c2VFdmVudEhhbmRsZXI7XG4gIG9uUmVzZXRJc1ZhbGlkOiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgaXNDb25maWdBY3RpdmU6IGJvb2xlYW47XG4gIHNob3dSZW1vdmVMYXllcj86IGJvb2xlYW47XG4gIGxhYmVsPzogc3RyaW5nO1xuICBsYXllclR5cGU/OiBzdHJpbmcgfCBudWxsO1xuICBhbGxvd0R1cGxpY2F0ZT86IGJvb2xlYW47XG4gIGlzRHJhZ05Ecm9wRW5hYmxlZD86IGJvb2xlYW47XG4gIHdhcm5pbmc/OiBib29sZWFuO1xuICBsYWJlbFJDR0NvbG9yVmFsdWVzPzogUkdCQ29sb3IgfCBudWxsO1xuICBhY3Rpb25JY29ucz86IHtcbiAgICByZW1vdmU6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICB2aXNpYmxlOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgaGlkZGVuOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgZW5hYmxlQ29uZmlnOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgcmVzZXRJc1ZhbGlkOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgZHVwbGljYXRlOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgY3Jvc3NoYWlyczogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICB9O1xuICBsaXN0ZW5lcnM/OiBSZWFjdC5FbGVtZW50VHlwZTtcbn07XG5cbnR5cGUgSGVhZGVyQWN0aW9uU2VjdGlvblByb3BzID0ge1xuICBpc0VkaXRpbmdMYWJlbDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHMgPSBMYXllclBhbmVsSGVhZGVyUHJvcHMgJiBIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHM7XG5cbmNvbnN0IGdldEJvcmRlckNzcyA9IHN0YXR1cyA9PiBjc3NgXG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAkeyh7dGhlbWV9KSA9PiB0aGVtZS5ub3RpZmljYXRpb25Db2xvcnNbc3RhdHVzXX07XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkeyh7dGhlbWV9KSA9PiB0aGVtZS5ub3RpZmljYXRpb25Db2xvcnNbc3RhdHVzXX07XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICR7KHt0aGVtZX0pID0+IHRoZW1lLm5vdGlmaWNhdGlvbkNvbG9yc1tzdGF0dXNdfTtcbmA7XG5cbmNvbnN0IFN0eWxlZExheWVyUGFuZWxIZWFkZXIgPSBzdHlsZWQoU3R5bGVkUGFuZWxIZWFkZXIpYFxuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGF5ZXJQYW5lbEhlYWRlckhlaWdodH1weDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAubGF5ZXJfX3JlbW92ZS1sYXllciB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIC5sYXllcl9fZHJhZy1oYW5kbGVfX3BsYWNlaG9sZGVyIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuXG4gICR7cHJvcHMgPT4gKHByb3BzLndhcm5pbmcgPyBnZXRCb3JkZXJDc3MoJ3dhcm5pbmcnKSA6IHByb3BzLmlzVmFsaWQgPyAnJyA6IGdldEJvcmRlckNzcygnZXJyb3InKSl9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuXG4gICAgLmxheWVyX19kcmFnLWhhbmRsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5sYXllcl9fcmVtb3ZlLWxheWVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBIZWFkZXJMYWJlbFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBmbGV4LWdyb3c6IDE7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAvLyBsZWF2ZSBzcGFjZSBmb3IgZXllIGFuZCBjb2xsYXBzZSBpY29uXG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG5gO1xuXG5jb25zdCBIZWFkZXJBY3Rpb25TZWN0aW9uID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtzaG91bGRGb3J3YXJkUHJvcH0pPEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5pc0VkaXRpbmdMYWJlbCA/ICdub25lJyA6ICdhbGwnKX07XG4gICY6aG92ZXIge1xuICAgIC5sYXllci1wYW5lbF9faGVhZGVyX19hY3Rpb25zX19oaWRkZW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIH1cbiAgfVxuYDtcblxudHlwZSBTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnNQcm9wcyA9IHtcbiAgaXNDb25maWdBY3RpdmU6IExheWVyUGFuZWxIZWFkZXJQcm9wc1snaXNDb25maWdBY3RpdmUnXTtcbn07XG5cbi8vIEhpZGVuIGFjdGlvbnMgb25seSBzaG93IHVwIG9uIGhvdmVyXG5jb25zdCBTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnMgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe3Nob3VsZEZvcndhcmRQcm9wfSkuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdsYXllci1wYW5lbF9faGVhZGVyX19hY3Rpb25zX19oaWRkZW4nXG59KTxTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnNQcm9wcz5gXG4gIG9wYWNpdHk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5pc0NvbmZpZ0FjdGl2ZSA/IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyIDogcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgdHJhbnNpdGlvbjpcbiAgICBvcGFjaXR5IDAuNHMgZWFzZSxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWREcmFnSGFuZGxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogMTAwMDtcblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBEcmFnSGFuZGxlOiBSZWFjdC5GQzx7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgbGlzdGVuZXJzPzogYW55O1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbn0+ID0gKHtjbGFzc05hbWUsIGxpc3RlbmVycywgY2hpbGRyZW59KSA9PiAoXG4gIDxTdHlsZWREcmFnSGFuZGxlIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSB7Li4uKGxpc3RlbmVycyA/IGxpc3RlbmVycyA6IHt9KX0+XG4gICAge2NoaWxkcmVufVxuICA8L1N0eWxlZERyYWdIYW5kbGU+XG4pO1xuXG5jb25zdCBub09wID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xufTtcblxuZXhwb3J0IGNvbnN0IExheWVyTGFiZWxFZGl0b3I6IFJlYWN0LkZDPExheWVyTGFiZWxFZGl0b3JQcm9wcz4gPSAoe1xuICBsYXllcklkLFxuICBsYWJlbCxcbiAgb25FZGl0LFxuICBvbkZvY3VzLFxuICBvbkJsdXJcbn0pID0+IChcbiAgPElubGluZUlucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIGNsYXNzTmFtZT1cImxheWVyX190aXRsZV9fZWRpdG9yXCJcbiAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZHMubGF5ZXJUaXRsZUVkaXRvcn1cbiAgICB2YWx1ZT17bGFiZWx9XG4gICAgb25DbGljaz17bm9PcH1cbiAgICBvbkNoYW5nZT17b25FZGl0fVxuICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgaWQ9e2Ake2xheWVySWR9OmlucHV0LWxheWVyLWxhYmVsYH1cbiAgLz5cbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllclRpdGxlU2VjdGlvbkZhY3RvcnkoKSB7XG4gIGNvbnN0IFN0eWxlZExheWVyVGl0bGVTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLmxheWVyX190aXRsZV9faW5uZXIge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgIC5sYXllcl9fdGl0bGVfX3R5cGUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzdweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbiAgYDtcbiAgY29uc3QgTGF5ZXJUaXRsZVNlY3Rpb246IFJlYWN0LkZDPExheWVyVGl0bGVTZWN0aW9uUHJvcHM+ID0gKHtcbiAgICBsYXllclR5cGUsXG4gICAgbGF5ZXJJZCxcbiAgICBsYWJlbCxcbiAgICBvblVwZGF0ZUxheWVyTGFiZWwsXG4gICAgb25Gb2N1cyxcbiAgICBvbkJsdXJcbiAgfSkgPT4gKFxuICAgIDxTdHlsZWRMYXllclRpdGxlU2VjdGlvbiBjbGFzc05hbWU9XCJsYXllcl9fdGl0bGVcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxMYXllckxhYmVsRWRpdG9yXG4gICAgICAgICAgbGF5ZXJJZD17bGF5ZXJJZH1cbiAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgb25FZGl0PXtvblVwZGF0ZUxheWVyTGFiZWx9XG4gICAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXllcl9fdGl0bGVfX3R5cGVcIj5cbiAgICAgICAgICB7bGF5ZXJUeXBlICYmIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtgbGF5ZXIudHlwZS4ke2xheWVyVHlwZS50b0xvd2VyQ2FzZSgpfWB9IC8+fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvU3R5bGVkTGF5ZXJUaXRsZVNlY3Rpb24+XG4gICk7XG4gIHJldHVybiBMYXllclRpdGxlU2VjdGlvbjtcbn1cblxuTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5LmRlcHMgPSBbUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5XTtcblxuZXhwb3J0IGZ1bmN0aW9uIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeShcbiAgUGFuZWxIZWFkZXJBY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeT5cbikge1xuICBjb25zdCBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbjogUmVhY3QuRkM8TGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wcz4gPSAoXG4gICAgcHJvcHM6IExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHNcbiAgKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgaXNDb25maWdBY3RpdmUsXG4gICAgICBhbGxvd0R1cGxpY2F0ZSxcbiAgICAgIGlzVmlzaWJsZSxcbiAgICAgIGlzVmFsaWQsXG4gICAgICBsYXllcklkLFxuICAgICAgb25Ub2dnbGVWaXNpYmlsaXR5LFxuICAgICAgb25SZXNldElzVmFsaWQsXG4gICAgICBvblRvZ2dsZUVuYWJsZUNvbmZpZyxcbiAgICAgIG9uRHVwbGljYXRlTGF5ZXIsXG4gICAgICBvblJlbW92ZUxheWVyLFxuICAgICAgb25ab29tVG9MYXllcixcbiAgICAgIHNob3dSZW1vdmVMYXllciA9IHRydWUsXG4gICAgICBpc0VkaXRpbmdMYWJlbCxcbiAgICAgIC8vIFRPRE86IG1heSBub3QgY29udGFpbiBhbGwgbmVjZXNzYXJ5IGljb25zIGZvciBhbGwgYWN0aW9ucywgZS5nLiBhY3Rpb25JY29ucy5kdXBsaWNhdGUuIE5lZWQgdG8gdG8gbWVyZ2UgcmF0aGVyIHRoYW4gcmVwbGFjZVxuICAgICAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnNcbiAgICB9ID0gcHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgIDxIZWFkZXJBY3Rpb25TZWN0aW9uIGNsYXNzTmFtZT1cImxheWVyLXBhbmVsX19oZWFkZXJfX2FjdGlvbnNcIiBpc0VkaXRpbmdMYWJlbD17aXNFZGl0aW5nTGFiZWx9PlxuICAgICAgICA8U3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zIGlzQ29uZmlnQWN0aXZlPXtpc0NvbmZpZ0FjdGl2ZX0+XG4gICAgICAgICAge3Nob3dSZW1vdmVMYXllciA/IChcbiAgICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllcl9fcmVtb3ZlLWxheWVyXCJcbiAgICAgICAgICAgICAgdGVzdElkPVwicmVtb3ZlLWxheWVyLWFjdGlvblwiXG4gICAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgICB0b29sdGlwPXsndG9vbHRpcC5yZW1vdmVMYXllcid9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUmVtb3ZlTGF5ZXJ9XG4gICAgICAgICAgICAgIHRvb2x0aXBUeXBlPVwiZXJyb3JcIlxuICAgICAgICAgICAgICBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5yZW1vdmV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX2R1cGxpY2F0ZVwiXG4gICAgICAgICAgICBpZD17bGF5ZXJJZH1cbiAgICAgICAgICAgIHRvb2x0aXA9eyd0b29sdGlwLmR1cGxpY2F0ZUxheWVyJ31cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlTGF5ZXJ9XG4gICAgICAgICAgICBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5kdXBsaWNhdGV9XG4gICAgICAgICAgICBkaXNhYmxlZD17IWFsbG93RHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllcl9fem9vbS10by1sYXllclwiXG4gICAgICAgICAgICBpZD17bGF5ZXJJZH1cbiAgICAgICAgICAgIHRvb2x0aXA9eyd0b29sdGlwLnpvb21Ub0xheWVyJ31cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uWm9vbVRvTGF5ZXJ9XG4gICAgICAgICAgICBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5jcm9zc2hhaXJzfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zPlxuICAgICAgICB7aXNWYWxpZCA/IChcbiAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyX192aXNpYmlsaXR5LXRvZ2dsZVwiXG4gICAgICAgICAgICBpZD17bGF5ZXJJZH1cbiAgICAgICAgICAgIHRvb2x0aXA9e2lzVmlzaWJsZSA/ICd0b29sdGlwLmhpZGVMYXllcicgOiAndG9vbHRpcC5zaG93TGF5ZXInfVxuICAgICAgICAgICAgb25DbGljaz17b25Ub2dnbGVWaXNpYmlsaXR5fVxuICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17aXNWaXNpYmxlID8gYWN0aW9uSWNvbnMudmlzaWJsZSA6IGFjdGlvbkljb25zLmhpZGRlbn1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX2lzLXZhbGlkLXJlZnJlc2hcIlxuICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICB0b29sdGlwPXsndG9vbHRpcC5yZXNldEFmdGVyRXJyb3InfVxuICAgICAgICAgICAgb25DbGljaz17b25SZXNldElzVmFsaWR9XG4gICAgICAgICAgICBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5yZXNldElzVmFsaWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cblxuICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2xheWVyX19lbmFibGUtY29uZmlnICcsIHtcbiAgICAgICAgICAgICdpcy1vcGVuJzogaXNDb25maWdBY3RpdmVcbiAgICAgICAgICB9KX1cbiAgICAgICAgICBpZD17bGF5ZXJJZH1cbiAgICAgICAgICB0b29sdGlwPXsndG9vbHRpcC5sYXllclNldHRpbmdzJ31cbiAgICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZUVuYWJsZUNvbmZpZ31cbiAgICAgICAgICBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5lbmFibGVDb25maWd9XG4gICAgICAgIC8+XG4gICAgICA8L0hlYWRlckFjdGlvblNlY3Rpb24+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb247XG59XG5cbmNvbnN0IFN0eWxlZEhlYWRlcldhcmluZyA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC05cHg7XG4gIHRvcDogY2FsYyg1MCUgLSA5cHgpO1xuICBjb2xvcjogJHsoe3RoZW1lfSkgPT4gdGhlbWUubm90aWZpY2F0aW9uQ29sb3JzLndhcm5pbmd9O1xuYDtcblxuZXhwb3J0IGNvbnN0IEhlYWRlcldhcm5pbmcgPSAoe3dhcm5pbmcsIGlkfSkgPT4gKFxuICA8U3R5bGVkSGVhZGVyV2FyaW5nPlxuICAgIDxXYXJuaW5nU2lnbiBkYXRhLXRpcCBkYXRhLWZvcj17YGxheWVyLSR7aWR9LXdhcm5pbmdgfSBoZWlnaHQ9XCIxNnB4XCIgLz5cbiAgICA8VG9vbHRpcCBpZD17YGxheWVyLSR7aWR9LXdhcm5pbmdgfSB0eXBlPVwid2FybmluZ1wiIGVmZmVjdD1cInNvbGlkXCIgdGV4dENvbG9yPVwiYmxhY2tcIj5cbiAgICAgIHt3YXJuaW5nfVxuICAgIDwvVG9vbHRpcD5cbiAgPC9TdHlsZWRIZWFkZXJXYXJpbmc+XG4pO1xuXG5jb25zdCBkZWZhdWx0QWN0aW9uSWNvbnMgPSB7XG4gIHJlbW92ZTogVHJhc2gsXG4gIHZpc2libGU6IEV5ZVNlZW4sXG4gIGhpZGRlbjogRXllVW5zZWVuLFxuICBlbmFibGVDb25maWc6IEFycm93RG93bixcbiAgZHVwbGljYXRlOiBDb3B5LFxuICByZXNldElzVmFsaWQ6IFJlc2V0LFxuICBjcm9zc2hhaXJzOiBDcm9zc2hhaXJzXG59O1xuXG5MYXllclBhbmVsSGVhZGVyRmFjdG9yeS5kZXBzID0gW0xheWVyVGl0bGVTZWN0aW9uRmFjdG9yeSwgTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5XTtcblxuZnVuY3Rpb24gTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnkoXG4gIExheWVyVGl0bGVTZWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllclRpdGxlU2VjdGlvbkZhY3Rvcnk+LFxuICBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5PlxuKSB7XG4gIGNvbnN0IExheWVyUGFuZWxIZWFkZXI6IFJlYWN0LkZDPExheWVyUGFuZWxIZWFkZXJQcm9wcz4gPSBwcm9wcyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgaXNDb25maWdBY3RpdmUsXG4gICAgICBpc0RyYWdORHJvcEVuYWJsZWQgPSB0cnVlLFxuICAgICAgaXNWYWxpZCxcbiAgICAgIHdhcm5pbmcsXG4gICAgICBsYWJlbCxcbiAgICAgIGxheWVySWQsXG4gICAgICBsYXllclR5cGUsXG4gICAgICBsYWJlbFJDR0NvbG9yVmFsdWVzLFxuICAgICAgb25VcGRhdGVMYXllckxhYmVsLFxuICAgICAgb25Ub2dnbGVFbmFibGVDb25maWcsXG4gICAgICBsaXN0ZW5lcnNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgW2lzRWRpdGluZ0xhYmVsLCBzZXRJc0VkaXRpbmdMYWJlbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRMYXllclBhbmVsSGVhZGVyXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXItcGFuZWxfX2hlYWRlcicsIHtcbiAgICAgICAgICAnc29ydC0taGFuZGxlJzogIWlzQ29uZmlnQWN0aXZlXG4gICAgICAgIH0pfVxuICAgICAgICBpc1ZhbGlkPXtpc1ZhbGlkfVxuICAgICAgICB3YXJuaW5nPXt3YXJuaW5nfVxuICAgICAgICBhY3RpdmU9e2lzQ29uZmlnQWN0aXZlfVxuICAgICAgICBsYWJlbFJDR0NvbG9yVmFsdWVzPXtsYWJlbFJDR0NvbG9yVmFsdWVzfVxuICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZUVuYWJsZUNvbmZpZ31cbiAgICAgID5cbiAgICAgICAge3dhcm5pbmcgPyA8SGVhZGVyV2FybmluZyB3YXJuaW5nPXt3YXJuaW5nfSBpZD17bGF5ZXJJZH0gLz4gOiBudWxsfVxuICAgICAgICA8SGVhZGVyTGFiZWxTZWN0aW9uIGNsYXNzTmFtZT1cImxheWVyLXBhbmVsX19oZWFkZXJfX2NvbnRlbnRcIj5cbiAgICAgICAgICB7aXNEcmFnTkRyb3BFbmFibGVkID8gKFxuICAgICAgICAgICAgPERyYWdIYW5kbGUgY2xhc3NOYW1lPVwibGF5ZXJfX2RyYWctaGFuZGxlXCIgbGlzdGVuZXJzPXtsaXN0ZW5lcnN9PlxuICAgICAgICAgICAgICA8VmVydERvdHMgaGVpZ2h0PVwiMjBweFwiIC8+XG4gICAgICAgICAgICA8L0RyYWdIYW5kbGU+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGF5ZXJfX2RyYWctaGFuZGxlX19wbGFjZWhvbGRlclwiIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8TGF5ZXJUaXRsZVNlY3Rpb25cbiAgICAgICAgICAgIGxheWVySWQ9e2xheWVySWR9XG4gICAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgICBvblVwZGF0ZUxheWVyTGFiZWw9e29uVXBkYXRlTGF5ZXJMYWJlbH1cbiAgICAgICAgICAgIGxheWVyVHlwZT17bGF5ZXJUeXBlfVxuICAgICAgICAgICAgb25Gb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICBzZXRJc0VkaXRpbmdMYWJlbCh0cnVlKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkJsdXI9eygpID0+IHtcbiAgICAgICAgICAgICAgc2V0SXNFZGl0aW5nTGFiZWwoZmFsc2UpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0hlYWRlckxhYmVsU2VjdGlvbj5cbiAgICAgICAgPExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uIHsuLi5wcm9wc30gaXNFZGl0aW5nTGFiZWw9e2lzRWRpdGluZ0xhYmVsfSAvPlxuICAgICAgPC9TdHlsZWRMYXllclBhbmVsSGVhZGVyPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIExheWVyUGFuZWxIZWFkZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IExheWVyUGFuZWxIZWFkZXJGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQU9BLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGlCQUFBLEdBQUFKLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxrQkFBQSxHQUFBRixz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
@@ -6,14 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = void 0;
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
10
  var _react = _interopRequireWildcard(require("react"));
16
- var _reselect = require("reselect");
17
11
  var _styledComponents = require("../common/styled-components");
18
12
  var _mapStyleSelector = _interopRequireDefault(require("./map-style-panel/map-style-selector"));
19
13
  var _mapLayerSelector = _interopRequireDefault(require("./map-style-panel/map-layer-selector"));
@@ -23,105 +17,86 @@ var _reactIntl = require("react-intl");
23
17
  var _localization = require("@kepler.gl/localization");
24
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
19
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
26
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
27
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } // SPDX-License-Identifier: MIT
20
+ // SPDX-License-Identifier: MIT
28
21
  // Copyright contributors to the kepler.gl project
22
+
29
23
  MapManagerFactory.deps = [_mapStyleSelector["default"], _mapLayerSelector["default"], _panelTitle["default"]];
30
24
  function MapManagerFactory(MapStyleSelector, LayerGroupSelector, PanelTitle) {
31
- var MapManager = /*#__PURE__*/function (_Component) {
32
- function MapManager() {
33
- var _this;
34
- (0, _classCallCheck2["default"])(this, MapManager);
35
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
36
- args[_key] = arguments[_key];
37
- }
38
- _this = _callSuper(this, MapManager, [].concat(args));
39
- (0, _defineProperty2["default"])(_this, "state", {
40
- isSelecting: false
41
- });
42
- (0, _defineProperty2["default"])(_this, "_toggleSelecting", function () {
43
- _this.setState({
44
- isSelecting: !_this.state.isSelecting
45
- });
25
+ var MapManager = function MapManager(_ref) {
26
+ var mapStyle = _ref.mapStyle,
27
+ intl = _ref.intl,
28
+ mapStyleActions = _ref.mapStyleActions,
29
+ showAddMapStyleModal = _ref.showAddMapStyleModal,
30
+ panelMetadata = _ref.panelMetadata;
31
+ var _useState = (0, _react.useState)(false),
32
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
33
+ isSelecting = _useState2[0],
34
+ setIsSelecting = _useState2[1];
35
+ var mapStyleChange = mapStyleActions.mapStyleChange,
36
+ removeCustomMapStyle = mapStyleActions.removeCustomMapStyle;
37
+ var currentStyle = mapStyle.mapStyles[mapStyle.styleType] || {};
38
+ var editableLayers = currentStyle.layerGroups || [];
39
+ var toggleSelecting = (0, _react.useCallback)(function () {
40
+ setIsSelecting(function (prev) {
41
+ return !prev;
46
42
  });
47
- (0, _defineProperty2["default"])(_this, "_selectStyle", function (val) {
48
- var mapStyleActions = _this.props.mapStyleActions;
49
- var mapStyleChange = mapStyleActions.mapStyleChange;
50
- mapStyleChange(val);
51
- _this._toggleSelecting();
43
+ }, [setIsSelecting]);
44
+ var mapStyles = mapStyle.mapStyles;
45
+ var selectStyle = (0, _react.useCallback)(function (val) {
46
+ mapStyleChange(val);
47
+ setIsSelecting(false);
48
+ }, [mapStyleChange, setIsSelecting]);
49
+ var customMapStylesActions = (0, _react.useMemo)(function () {
50
+ var actionsPerCustomStyle = {};
51
+ Object.values(mapStyles).filter(function (mapStyle) {
52
+ return Boolean(mapStyle.custom);
53
+ }).forEach(function (_ref2) {
54
+ var id = _ref2.id;
55
+ actionsPerCustomStyle[id] = [{
56
+ id: "remove-map-style-".concat(id),
57
+ IconComponent: _icons.Trash,
58
+ tooltip: 'tooltip.removeBaseMapStyle',
59
+ onClick: function onClick() {
60
+ return removeCustomMapStyle({
61
+ id: id
62
+ });
63
+ }
64
+ }];
52
65
  });
53
- (0, _defineProperty2["default"])(_this, "getCustomMapStylesActions", (0, _reselect.createSelector)(function (props) {
54
- return props.mapStyle.mapStyles;
55
- }, function (props) {
56
- return props.mapStyleActions;
57
- }, function (mapStyles, mapStyleActions) {
58
- var actionsPerCustomStyle = {};
59
- Object.values(mapStyles).filter(function (mapStyle) {
60
- return Boolean(mapStyle.custom);
61
- }).forEach(function (_ref) {
62
- var id = _ref.id;
63
- actionsPerCustomStyle[id] = [{
64
- id: "remove-map-style-".concat(id),
65
- IconComponent: _icons.Trash,
66
- tooltip: 'tooltip.removeBaseMapStyle',
67
- onClick: function onClick() {
68
- return mapStyleActions.removeCustomMapStyle({
69
- id: id
70
- });
71
- }
72
- }];
73
- });
74
- return actionsPerCustomStyle;
75
- }));
76
- return _this;
77
- }
78
- (0, _inherits2["default"])(MapManager, _Component);
79
- return (0, _createClass2["default"])(MapManager, [{
80
- key: "render",
81
- value: function render() {
82
- var _this$props = this.props,
83
- mapStyle = _this$props.mapStyle,
84
- intl = _this$props.intl,
85
- mapStyleActions = _this$props.mapStyleActions,
86
- showAddMapStyleModal = _this$props.showAddMapStyleModal,
87
- panelMetadata = _this$props.panelMetadata;
88
- var currentStyle = mapStyle.mapStyles[mapStyle.styleType] || {};
89
- var editableLayers = currentStyle.layerGroups || [];
90
- var customMapStylesActions = this.getCustomMapStylesActions(this.props);
91
- return /*#__PURE__*/_react["default"].createElement("div", {
92
- className: "map-style-panel"
93
- }, /*#__PURE__*/_react["default"].createElement(PanelTitle, {
94
- className: "map-manager-title",
95
- title: intl.formatMessage({
96
- id: panelMetadata.label
97
- })
98
- }, /*#__PURE__*/_react["default"].createElement(_styledComponents.Button, {
99
- className: "add-map-style-button",
100
- onClick: showAddMapStyleModal
101
- }, /*#__PURE__*/_react["default"].createElement(_icons.Add, {
102
- height: "12px"
103
- }), /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
104
- id: 'mapManager.addMapStyle'
105
- }))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(MapStyleSelector, {
106
- mapStyle: mapStyle,
107
- isSelecting: this.state.isSelecting,
108
- onChange: this._selectStyle,
109
- toggleActive: this._toggleSelecting,
110
- customMapStylesActions: customMapStylesActions
111
- }), editableLayers.length ? /*#__PURE__*/_react["default"].createElement(LayerGroupSelector, {
112
- layers: mapStyle.visibleLayerGroups,
113
- editableLayers: editableLayers,
114
- topLayers: mapStyle.topLayerGroups,
115
- onChange: mapStyleActions.mapConfigChange,
116
- threeDBuildingColor: mapStyle.threeDBuildingColor,
117
- on3dBuildingColorChange: mapStyleActions.set3dBuildingColor,
118
- backgroundColor: mapStyle.backgroundColor,
119
- onBackgroundColorChange: mapStyleActions.setBackgroundColor
120
- }) : null));
121
- }
122
- }]);
123
- }(_react.Component);
66
+ return actionsPerCustomStyle;
67
+ }, [mapStyles, removeCustomMapStyle]);
68
+ return /*#__PURE__*/_react["default"].createElement("div", {
69
+ className: "map-style-panel"
70
+ }, /*#__PURE__*/_react["default"].createElement(PanelTitle, {
71
+ className: "map-manager-title",
72
+ title: intl.formatMessage({
73
+ id: panelMetadata.label
74
+ })
75
+ }, /*#__PURE__*/_react["default"].createElement(_styledComponents.Button, {
76
+ className: "add-map-style-button",
77
+ onClick: showAddMapStyleModal
78
+ }, /*#__PURE__*/_react["default"].createElement(_icons.Add, {
79
+ height: "12px"
80
+ }), /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
81
+ id: 'mapManager.addMapStyle'
82
+ }))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(MapStyleSelector, {
83
+ mapStyle: mapStyle,
84
+ isSelecting: isSelecting,
85
+ onChange: selectStyle,
86
+ toggleActive: toggleSelecting,
87
+ customMapStylesActions: customMapStylesActions
88
+ }), editableLayers.length ? /*#__PURE__*/_react["default"].createElement(LayerGroupSelector, {
89
+ layers: mapStyle.visibleLayerGroups,
90
+ editableLayers: editableLayers,
91
+ topLayers: mapStyle.topLayerGroups,
92
+ onChange: mapStyleActions.mapConfigChange,
93
+ threeDBuildingColor: mapStyle.threeDBuildingColor,
94
+ on3dBuildingColorChange: mapStyleActions.set3dBuildingColor,
95
+ backgroundColor: mapStyle.backgroundColor,
96
+ onBackgroundColorChange: mapStyleActions.setBackgroundColor
97
+ }) : null));
98
+ };
124
99
  return (0, _reactIntl.injectIntl)(MapManager);
125
100
  }
126
101
  var _default = exports["default"] = MapManagerFactory;
127
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVzZWxlY3QiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9tYXBTdHlsZVNlbGVjdG9yIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9tYXBMYXllclNlbGVjdG9yIiwiX3BhbmVsVGl0bGUiLCJfaWNvbnMiLCJfcmVhY3RJbnRsIiwiX2xvY2FsaXphdGlvbiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9jYWxsU3VwZXIiLCJvIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJhcHBseSIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiTWFwTWFuYWdlckZhY3RvcnkiLCJkZXBzIiwiTWFwU3R5bGVTZWxlY3RvckZhY3RvcnkiLCJMYXllckdyb3VwU2VsZWN0b3JGYWN0b3J5IiwiUGFuZWxUaXRsZUZhY3RvcnkiLCJNYXBTdHlsZVNlbGVjdG9yIiwiTGF5ZXJHcm91cFNlbGVjdG9yIiwiUGFuZWxUaXRsZSIsIk1hcE1hbmFnZXIiLCJfQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJjb25jYXQiLCJfZGVmaW5lUHJvcGVydHkyIiwiaXNTZWxlY3RpbmciLCJzZXRTdGF0ZSIsInN0YXRlIiwidmFsIiwibWFwU3R5bGVBY3Rpb25zIiwicHJvcHMiLCJtYXBTdHlsZUNoYW5nZSIsIl90b2dnbGVTZWxlY3RpbmciLCJjcmVhdGVTZWxlY3RvciIsIm1hcFN0eWxlIiwibWFwU3R5bGVzIiwiYWN0aW9uc1BlckN1c3RvbVN0eWxlIiwidmFsdWVzIiwiZmlsdGVyIiwiY3VzdG9tIiwiZm9yRWFjaCIsIl9yZWYiLCJpZCIsIkljb25Db21wb25lbnQiLCJUcmFzaCIsInRvb2x0aXAiLCJvbkNsaWNrIiwicmVtb3ZlQ3VzdG9tTWFwU3R5bGUiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwicmVuZGVyIiwiX3RoaXMkcHJvcHMiLCJpbnRsIiwic2hvd0FkZE1hcFN0eWxlTW9kYWwiLCJwYW5lbE1ldGFkYXRhIiwiY3VycmVudFN0eWxlIiwic3R5bGVUeXBlIiwiZWRpdGFibGVMYXllcnMiLCJsYXllckdyb3VwcyIsImN1c3RvbU1hcFN0eWxlc0FjdGlvbnMiLCJnZXRDdXN0b21NYXBTdHlsZXNBY3Rpb25zIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInRpdGxlIiwiZm9ybWF0TWVzc2FnZSIsImxhYmVsIiwiQnV0dG9uIiwiQWRkIiwiaGVpZ2h0IiwiRm9ybWF0dGVkTWVzc2FnZSIsIm9uQ2hhbmdlIiwiX3NlbGVjdFN0eWxlIiwidG9nZ2xlQWN0aXZlIiwibGF5ZXJzIiwidmlzaWJsZUxheWVyR3JvdXBzIiwidG9wTGF5ZXJzIiwidG9wTGF5ZXJHcm91cHMiLCJtYXBDb25maWdDaGFuZ2UiLCJ0aHJlZURCdWlsZGluZ0NvbG9yIiwib24zZEJ1aWxkaW5nQ29sb3JDaGFuZ2UiLCJzZXQzZEJ1aWxkaW5nQ29sb3IiLCJiYWNrZ3JvdW5kQ29sb3IiLCJvbkJhY2tncm91bmRDb2xvckNoYW5nZSIsInNldEJhY2tncm91bmRDb2xvciIsIkNvbXBvbmVudCIsImluamVjdEludGwiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2lkZS1wYW5lbC9tYXAtbWFuYWdlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2NyZWF0ZVNlbGVjdG9yfSBmcm9tICdyZXNlbGVjdCc7XG5cbmltcG9ydCB7QnV0dG9ufSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IE1hcFN0eWxlU2VsZWN0b3JGYWN0b3J5IGZyb20gJy4vbWFwLXN0eWxlLXBhbmVsL21hcC1zdHlsZS1zZWxlY3Rvcic7XG5pbXBvcnQgTGF5ZXJHcm91cFNlbGVjdG9yRmFjdG9yeSBmcm9tICcuL21hcC1zdHlsZS1wYW5lbC9tYXAtbGF5ZXItc2VsZWN0b3InO1xuaW1wb3J0IFBhbmVsVGl0bGVGYWN0b3J5IGZyb20gJy4uL3NpZGUtcGFuZWwvcGFuZWwtdGl0bGUnO1xuXG5pbXBvcnQge0FkZCwgVHJhc2h9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge1BhbmVsTWV0YX0gZnJvbSAnLi9jb21tb24vdHlwZXMnO1xuaW1wb3J0IHtpbmplY3RJbnRsLCBXcmFwcGVkQ29tcG9uZW50UHJvcHN9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge01hcFN0eWxlfSBmcm9tICdAa2VwbGVyLmdsL3JlZHVjZXJzJztcbmltcG9ydCB7TWFwU3R5bGVBY3Rpb25zfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtNYXBTdHlsZXN9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBNYXBNYW5hZ2VyUHJvcHMgPSB7XG4gIG1hcFN0eWxlOiBNYXBTdHlsZTtcbiAgbWFwU3R5bGVBY3Rpb25zOiB7XG4gICAgbWFwU3R5bGVDaGFuZ2U6IHR5cGVvZiBNYXBTdHlsZUFjdGlvbnMubWFwU3R5bGVDaGFuZ2U7XG4gICAgbWFwQ29uZmlnQ2hhbmdlOiB0eXBlb2YgTWFwU3R5bGVBY3Rpb25zLm1hcENvbmZpZ0NoYW5nZTtcbiAgICBzZXQzZEJ1aWxkaW5nQ29sb3I6IHR5cGVvZiBNYXBTdHlsZUFjdGlvbnMuc2V0M2RCdWlsZGluZ0NvbG9yO1xuICAgIHNldEJhY2tncm91bmRDb2xvcjogdHlwZW9mIE1hcFN0eWxlQWN0aW9ucy5zZXRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgcmVtb3ZlQ3VzdG9tTWFwU3R5bGU6IHR5cGVvZiBNYXBTdHlsZUFjdGlvbnMucmVtb3ZlQ3VzdG9tTWFwU3R5bGU7XG4gIH07XG4gIHNob3dBZGRNYXBTdHlsZU1vZGFsOiAoKSA9PiB2b2lkO1xuICBwYW5lbE1ldGFkYXRhOiBQYW5lbE1ldGE7XG59ICYgV3JhcHBlZENvbXBvbmVudFByb3BzO1xuXG5NYXBNYW5hZ2VyRmFjdG9yeS5kZXBzID0gW01hcFN0eWxlU2VsZWN0b3JGYWN0b3J5LCBMYXllckdyb3VwU2VsZWN0b3JGYWN0b3J5LCBQYW5lbFRpdGxlRmFjdG9yeV07XG5cbmZ1bmN0aW9uIE1hcE1hbmFnZXJGYWN0b3J5KFxuICBNYXBTdHlsZVNlbGVjdG9yOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBTdHlsZVNlbGVjdG9yRmFjdG9yeT4sXG4gIExheWVyR3JvdXBTZWxlY3RvcjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJHcm91cFNlbGVjdG9yRmFjdG9yeT4sXG4gIFBhbmVsVGl0bGU6IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsVGl0bGVGYWN0b3J5PlxuKSB7XG4gIGNsYXNzIE1hcE1hbmFnZXIgZXh0ZW5kcyBDb21wb25lbnQ8TWFwTWFuYWdlclByb3BzPiB7XG4gICAgc3RhdGUgPSB7XG4gICAgICBpc1NlbGVjdGluZzogZmFsc2VcbiAgICB9O1xuXG4gICAgX3RvZ2dsZVNlbGVjdGluZyA9ICgpID0+IHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe2lzU2VsZWN0aW5nOiAhdGhpcy5zdGF0ZS5pc1NlbGVjdGluZ30pO1xuICAgIH07XG5cbiAgICBfc2VsZWN0U3R5bGUgPSAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHttYXBTdHlsZUFjdGlvbnN9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHttYXBTdHlsZUNoYW5nZX0gPSBtYXBTdHlsZUFjdGlvbnM7XG4gICAgICBtYXBTdHlsZUNoYW5nZSh2YWwpO1xuICAgICAgdGhpcy5fdG9nZ2xlU2VsZWN0aW5nKCk7XG4gICAgfTtcblxuICAgIGdldEN1c3RvbU1hcFN0eWxlc0FjdGlvbnMgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAgIChwcm9wczogTWFwTWFuYWdlclByb3BzKSA9PiBwcm9wcy5tYXBTdHlsZS5tYXBTdHlsZXMsXG4gICAgICAocHJvcHM6IE1hcE1hbmFnZXJQcm9wcykgPT4gcHJvcHMubWFwU3R5bGVBY3Rpb25zLFxuICAgICAgKG1hcFN0eWxlczogTWFwU3R5bGVzLCBtYXBTdHlsZUFjdGlvbnMpID0+IHtcbiAgICAgICAgY29uc3QgYWN0aW9uc1BlckN1c3RvbVN0eWxlID0ge307XG4gICAgICAgIE9iamVjdC52YWx1ZXMobWFwU3R5bGVzKVxuICAgICAgICAgIC5maWx0ZXIobWFwU3R5bGUgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIEJvb2xlYW4obWFwU3R5bGUuY3VzdG9tKTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5mb3JFYWNoKCh7aWR9KSA9PiB7XG4gICAgICAgICAgICBhY3Rpb25zUGVyQ3VzdG9tU3R5bGVbaWRdID0gW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaWQ6IGByZW1vdmUtbWFwLXN0eWxlLSR7aWR9YCxcbiAgICAgICAgICAgICAgICBJY29uQ29tcG9uZW50OiBUcmFzaCxcbiAgICAgICAgICAgICAgICB0b29sdGlwOiAndG9vbHRpcC5yZW1vdmVCYXNlTWFwU3R5bGUnLFxuICAgICAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IG1hcFN0eWxlQWN0aW9ucy5yZW1vdmVDdXN0b21NYXBTdHlsZSh7aWR9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdO1xuICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gYWN0aW9uc1BlckN1c3RvbVN0eWxlO1xuICAgICAgfVxuICAgICk7XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7bWFwU3R5bGUsIGludGwsIG1hcFN0eWxlQWN0aW9ucywgc2hvd0FkZE1hcFN0eWxlTW9kYWwsIHBhbmVsTWV0YWRhdGF9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IGN1cnJlbnRTdHlsZSA9IG1hcFN0eWxlLm1hcFN0eWxlc1ttYXBTdHlsZS5zdHlsZVR5cGVdIHx8IHt9O1xuICAgICAgY29uc3QgZWRpdGFibGVMYXllcnMgPSBjdXJyZW50U3R5bGUubGF5ZXJHcm91cHMgfHwgW107XG4gICAgICBjb25zdCBjdXN0b21NYXBTdHlsZXNBY3Rpb25zID0gdGhpcy5nZXRDdXN0b21NYXBTdHlsZXNBY3Rpb25zKHRoaXMucHJvcHMpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1hcC1zdHlsZS1wYW5lbFwiPlxuICAgICAgICAgIDxQYW5lbFRpdGxlXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJtYXAtbWFuYWdlci10aXRsZVwiXG4gICAgICAgICAgICB0aXRsZT17aW50bC5mb3JtYXRNZXNzYWdlKHtpZDogcGFuZWxNZXRhZGF0YS5sYWJlbH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiYWRkLW1hcC1zdHlsZS1idXR0b25cIiBvbkNsaWNrPXtzaG93QWRkTWFwU3R5bGVNb2RhbH0+XG4gICAgICAgICAgICAgIDxBZGQgaGVpZ2h0PVwiMTJweFwiIC8+XG4gICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbWFwTWFuYWdlci5hZGRNYXBTdHlsZSd9IC8+XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1BhbmVsVGl0bGU+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxNYXBTdHlsZVNlbGVjdG9yXG4gICAgICAgICAgICAgIG1hcFN0eWxlPXttYXBTdHlsZX1cbiAgICAgICAgICAgICAgaXNTZWxlY3Rpbmc9e3RoaXMuc3RhdGUuaXNTZWxlY3Rpbmd9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLl9zZWxlY3RTdHlsZX1cbiAgICAgICAgICAgICAgdG9nZ2xlQWN0aXZlPXt0aGlzLl90b2dnbGVTZWxlY3Rpbmd9XG4gICAgICAgICAgICAgIGN1c3RvbU1hcFN0eWxlc0FjdGlvbnM9e2N1c3RvbU1hcFN0eWxlc0FjdGlvbnN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge2VkaXRhYmxlTGF5ZXJzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgPExheWVyR3JvdXBTZWxlY3RvclxuICAgICAgICAgICAgICAgIGxheWVycz17bWFwU3R5bGUudmlzaWJsZUxheWVyR3JvdXBzfVxuICAgICAgICAgICAgICAgIGVkaXRhYmxlTGF5ZXJzPXtlZGl0YWJsZUxheWVyc31cbiAgICAgICAgICAgICAgICB0b3BMYXllcnM9e21hcFN0eWxlLnRvcExheWVyR3JvdXBzfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXttYXBTdHlsZUFjdGlvbnMubWFwQ29uZmlnQ2hhbmdlfVxuICAgICAgICAgICAgICAgIHRocmVlREJ1aWxkaW5nQ29sb3I9e21hcFN0eWxlLnRocmVlREJ1aWxkaW5nQ29sb3J9XG4gICAgICAgICAgICAgICAgb24zZEJ1aWxkaW5nQ29sb3JDaGFuZ2U9e21hcFN0eWxlQWN0aW9ucy5zZXQzZEJ1aWxkaW5nQ29sb3J9XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yPXttYXBTdHlsZS5iYWNrZ3JvdW5kQ29sb3J9XG4gICAgICAgICAgICAgICAgb25CYWNrZ3JvdW5kQ29sb3JDaGFuZ2U9e21hcFN0eWxlQWN0aW9ucy5zZXRCYWNrZ3JvdW5kQ29sb3J9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gaW5qZWN0SW50bChNYXBNYW5hZ2VyKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTWFwTWFuYWdlckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsaUJBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxpQkFBQSxHQUFBRCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQU0sV0FBQSxHQUFBRixzQkFBQSxDQUFBSixPQUFBO0FBRUEsSUFBQU8sTUFBQSxHQUFBUCxPQUFBO0FBRUEsSUFBQVEsVUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsYUFBQSxHQUFBVCxPQUFBO0FBQXlELFNBQUFVLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBWix3QkFBQVksQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENB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
102
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9tYXBTdHlsZVNlbGVjdG9yIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9tYXBMYXllclNlbGVjdG9yIiwiX3BhbmVsVGl0bGUiLCJfaWNvbnMiLCJfcmVhY3RJbnRsIiwiX2xvY2FsaXphdGlvbiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIk1hcE1hbmFnZXJGYWN0b3J5IiwiZGVwcyIsIk1hcFN0eWxlU2VsZWN0b3JGYWN0b3J5IiwiTGF5ZXJHcm91cFNlbGVjdG9yRmFjdG9yeSIsIlBhbmVsVGl0bGVGYWN0b3J5IiwiTWFwU3R5bGVTZWxlY3RvciIsIkxheWVyR3JvdXBTZWxlY3RvciIsIlBhbmVsVGl0bGUiLCJNYXBNYW5hZ2VyIiwiX3JlZiIsIm1hcFN0eWxlIiwiaW50bCIsIm1hcFN0eWxlQWN0aW9ucyIsInNob3dBZGRNYXBTdHlsZU1vZGFsIiwicGFuZWxNZXRhZGF0YSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImlzU2VsZWN0aW5nIiwic2V0SXNTZWxlY3RpbmciLCJtYXBTdHlsZUNoYW5nZSIsInJlbW92ZUN1c3RvbU1hcFN0eWxlIiwiY3VycmVudFN0eWxlIiwibWFwU3R5bGVzIiwic3R5bGVUeXBlIiwiZWRpdGFibGVMYXllcnMiLCJsYXllckdyb3VwcyIsInRvZ2dsZVNlbGVjdGluZyIsInVzZUNhbGxiYWNrIiwicHJldiIsInNlbGVjdFN0eWxlIiwidmFsIiwiY3VzdG9tTWFwU3R5bGVzQWN0aW9ucyIsInVzZU1lbW8iLCJhY3Rpb25zUGVyQ3VzdG9tU3R5bGUiLCJ2YWx1ZXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiY3VzdG9tIiwiZm9yRWFjaCIsIl9yZWYyIiwiaWQiLCJjb25jYXQiLCJJY29uQ29tcG9uZW50IiwiVHJhc2giLCJ0b29sdGlwIiwib25DbGljayIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJ0aXRsZSIsImZvcm1hdE1lc3NhZ2UiLCJsYWJlbCIsIkJ1dHRvbiIsIkFkZCIsImhlaWdodCIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJvbkNoYW5nZSIsInRvZ2dsZUFjdGl2ZSIsImxlbmd0aCIsImxheWVycyIsInZpc2libGVMYXllckdyb3VwcyIsInRvcExheWVycyIsInRvcExheWVyR3JvdXBzIiwibWFwQ29uZmlnQ2hhbmdlIiwidGhyZWVEQnVpbGRpbmdDb2xvciIsIm9uM2RCdWlsZGluZ0NvbG9yQ2hhbmdlIiwic2V0M2RCdWlsZGluZ0NvbG9yIiwiYmFja2dyb3VuZENvbG9yIiwib25CYWNrZ3JvdW5kQ29sb3JDaGFuZ2UiLCJzZXRCYWNrZ3JvdW5kQ29sb3IiLCJpbmplY3RJbnRsIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NpZGUtcGFuZWwvbWFwLW1hbmFnZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZVN0YXRlLCB1c2VNZW1vLCB1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge0J1dHRvbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBNYXBTdHlsZVNlbGVjdG9yRmFjdG9yeSBmcm9tICcuL21hcC1zdHlsZS1wYW5lbC9tYXAtc3R5bGUtc2VsZWN0b3InO1xuaW1wb3J0IExheWVyR3JvdXBTZWxlY3RvckZhY3RvcnkgZnJvbSAnLi9tYXAtc3R5bGUtcGFuZWwvbWFwLWxheWVyLXNlbGVjdG9yJztcbmltcG9ydCBQYW5lbFRpdGxlRmFjdG9yeSBmcm9tICcuLi9zaWRlLXBhbmVsL3BhbmVsLXRpdGxlJztcblxuaW1wb3J0IHtBZGQsIFRyYXNofSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtQYW5lbE1ldGF9IGZyb20gJy4vY29tbW9uL3R5cGVzJztcbmltcG9ydCB7aW5qZWN0SW50bCwgV3JhcHBlZENvbXBvbmVudFByb3BzfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtNYXBTdHlsZX0gZnJvbSAnQGtlcGxlci5nbC9yZWR1Y2Vycyc7XG5pbXBvcnQge01hcFN0eWxlQWN0aW9uc30gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcblxuZXhwb3J0IHR5cGUgTWFwTWFuYWdlclByb3BzID0ge1xuICBtYXBTdHlsZTogTWFwU3R5bGU7XG4gIG1hcFN0eWxlQWN0aW9uczoge1xuICAgIG1hcFN0eWxlQ2hhbmdlOiB0eXBlb2YgTWFwU3R5bGVBY3Rpb25zLm1hcFN0eWxlQ2hhbmdlO1xuICAgIG1hcENvbmZpZ0NoYW5nZTogdHlwZW9mIE1hcFN0eWxlQWN0aW9ucy5tYXBDb25maWdDaGFuZ2U7XG4gICAgc2V0M2RCdWlsZGluZ0NvbG9yOiB0eXBlb2YgTWFwU3R5bGVBY3Rpb25zLnNldDNkQnVpbGRpbmdDb2xvcjtcbiAgICBzZXRCYWNrZ3JvdW5kQ29sb3I6IHR5cGVvZiBNYXBTdHlsZUFjdGlvbnMuc2V0QmFja2dyb3VuZENvbG9yO1xuICAgIHJlbW92ZUN1c3RvbU1hcFN0eWxlOiB0eXBlb2YgTWFwU3R5bGVBY3Rpb25zLnJlbW92ZUN1c3RvbU1hcFN0eWxlO1xuICB9O1xuICBzaG93QWRkTWFwU3R5bGVNb2RhbDogKCkgPT4gdm9pZDtcbiAgcGFuZWxNZXRhZGF0YTogUGFuZWxNZXRhO1xufSAmIFdyYXBwZWRDb21wb25lbnRQcm9wcztcblxuTWFwTWFuYWdlckZhY3RvcnkuZGVwcyA9IFtNYXBTdHlsZVNlbGVjdG9yRmFjdG9yeSwgTGF5ZXJHcm91cFNlbGVjdG9yRmFjdG9yeSwgUGFuZWxUaXRsZUZhY3RvcnldO1xuXG5mdW5jdGlvbiBNYXBNYW5hZ2VyRmFjdG9yeShcbiAgTWFwU3R5bGVTZWxlY3RvcjogUmV0dXJuVHlwZTx0eXBlb2YgTWFwU3R5bGVTZWxlY3RvckZhY3Rvcnk+LFxuICBMYXllckdyb3VwU2VsZWN0b3I6IFJldHVyblR5cGU8dHlwZW9mIExheWVyR3JvdXBTZWxlY3RvckZhY3Rvcnk+LFxuICBQYW5lbFRpdGxlOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbFRpdGxlRmFjdG9yeT5cbikge1xuICBjb25zdCBNYXBNYW5hZ2VyOiBSZWFjdC5GQzxNYXBNYW5hZ2VyUHJvcHM+ID0gKHtcbiAgICBtYXBTdHlsZSxcbiAgICBpbnRsLFxuICAgIG1hcFN0eWxlQWN0aW9ucyxcbiAgICBzaG93QWRkTWFwU3R5bGVNb2RhbCxcbiAgICBwYW5lbE1ldGFkYXRhXG4gIH0pID0+IHtcbiAgICBjb25zdCBbaXNTZWxlY3RpbmcsIHNldElzU2VsZWN0aW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCB7bWFwU3R5bGVDaGFuZ2UsIHJlbW92ZUN1c3RvbU1hcFN0eWxlfSA9IG1hcFN0eWxlQWN0aW9ucztcbiAgICBjb25zdCBjdXJyZW50U3R5bGUgPSBtYXBTdHlsZS5tYXBTdHlsZXNbbWFwU3R5bGUuc3R5bGVUeXBlXSB8fCB7fTtcbiAgICBjb25zdCBlZGl0YWJsZUxheWVycyA9IGN1cnJlbnRTdHlsZS5sYXllckdyb3VwcyB8fCBbXTtcblxuICAgIGNvbnN0IHRvZ2dsZVNlbGVjdGluZyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzU2VsZWN0aW5nKHByZXYgPT4gIXByZXYpO1xuICAgIH0sIFtzZXRJc1NlbGVjdGluZ10pO1xuXG4gICAgY29uc3QgbWFwU3R5bGVzID0gbWFwU3R5bGUubWFwU3R5bGVzO1xuICAgIGNvbnN0IHNlbGVjdFN0eWxlID0gdXNlQ2FsbGJhY2soXG4gICAgICAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgbWFwU3R5bGVDaGFuZ2UodmFsKTtcbiAgICAgICAgc2V0SXNTZWxlY3RpbmcoZmFsc2UpO1xuICAgICAgfSxcbiAgICAgIFttYXBTdHlsZUNoYW5nZSwgc2V0SXNTZWxlY3RpbmddXG4gICAgKTtcblxuICAgIGNvbnN0IGN1c3RvbU1hcFN0eWxlc0FjdGlvbnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGFjdGlvbnNQZXJDdXN0b21TdHlsZSA9IHt9O1xuICAgICAgT2JqZWN0LnZhbHVlcyhtYXBTdHlsZXMpXG4gICAgICAgIC5maWx0ZXIobWFwU3R5bGUgPT4ge1xuICAgICAgICAgIHJldHVybiBCb29sZWFuKG1hcFN0eWxlLmN1c3RvbSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5mb3JFYWNoKCh7aWR9KSA9PiB7XG4gICAgICAgICAgYWN0aW9uc1BlckN1c3RvbVN0eWxlW2lkXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWQ6IGByZW1vdmUtbWFwLXN0eWxlLSR7aWR9YCxcbiAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudDogVHJhc2gsXG4gICAgICAgICAgICAgIHRvb2x0aXA6ICd0b29sdGlwLnJlbW92ZUJhc2VNYXBTdHlsZScsXG4gICAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHJlbW92ZUN1c3RvbU1hcFN0eWxlKHtpZH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXTtcbiAgICAgICAgfSk7XG4gICAgICByZXR1cm4gYWN0aW9uc1BlckN1c3RvbVN0eWxlO1xuICAgIH0sIFttYXBTdHlsZXMsIHJlbW92ZUN1c3RvbU1hcFN0eWxlXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYXAtc3R5bGUtcGFuZWxcIj5cbiAgICAgICAgPFBhbmVsVGl0bGVcbiAgICAgICAgICBjbGFzc05hbWU9XCJtYXAtbWFuYWdlci10aXRsZVwiXG4gICAgICAgICAgdGl0bGU9e2ludGwuZm9ybWF0TWVzc2FnZSh7aWQ6IHBhbmVsTWV0YWRhdGEubGFiZWx9KX1cbiAgICAgICAgPlxuICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiYWRkLW1hcC1zdHlsZS1idXR0b25cIiBvbkNsaWNrPXtzaG93QWRkTWFwU3R5bGVNb2RhbH0+XG4gICAgICAgICAgICA8QWRkIGhlaWdodD1cIjEycHhcIiAvPlxuICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtYXBNYW5hZ2VyLmFkZE1hcFN0eWxlJ30gLz5cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPC9QYW5lbFRpdGxlPlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxNYXBTdHlsZVNlbGVjdG9yXG4gICAgICAgICAgICBtYXBTdHlsZT17bWFwU3R5bGV9XG4gICAgICAgICAgICBpc1NlbGVjdGluZz17aXNTZWxlY3Rpbmd9XG4gICAgICAgICAgICBvbkNoYW5nZT17c2VsZWN0U3R5bGV9XG4gICAgICAgICAgICB0b2dnbGVBY3RpdmU9e3RvZ2dsZVNlbGVjdGluZ31cbiAgICAgICAgICAgIGN1c3RvbU1hcFN0eWxlc0FjdGlvbnM9e2N1c3RvbU1hcFN0eWxlc0FjdGlvbnN9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7ZWRpdGFibGVMYXllcnMubGVuZ3RoID8gKFxuICAgICAgICAgICAgPExheWVyR3JvdXBTZWxlY3RvclxuICAgICAgICAgICAgICBsYXllcnM9e21hcFN0eWxlLnZpc2libGVMYXllckdyb3Vwc31cbiAgICAgICAgICAgICAgZWRpdGFibGVMYXllcnM9e2VkaXRhYmxlTGF5ZXJzfVxuICAgICAgICAgICAgICB0b3BMYXllcnM9e21hcFN0eWxlLnRvcExheWVyR3JvdXBzfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17bWFwU3R5bGVBY3Rpb25zLm1hcENvbmZpZ0NoYW5nZX1cbiAgICAgICAgICAgICAgdGhyZWVEQnVpbGRpbmdDb2xvcj17bWFwU3R5bGUudGhyZWVEQnVpbGRpbmdDb2xvcn1cbiAgICAgICAgICAgICAgb24zZEJ1aWxkaW5nQ29sb3JDaGFuZ2U9e21hcFN0eWxlQWN0aW9ucy5zZXQzZEJ1aWxkaW5nQ29sb3J9XG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcj17bWFwU3R5bGUuYmFja2dyb3VuZENvbG9yfVxuICAgICAgICAgICAgICBvbkJhY2tncm91bmRDb2xvckNoYW5nZT17bWFwU3R5bGVBY3Rpb25zLnNldEJhY2tncm91bmRDb2xvcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gaW5qZWN0SW50bChNYXBNYW5hZ2VyKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTWFwTWFuYWdlckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksaUJBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFLLFdBQUEsR0FBQUYsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLFVBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLGFBQUEsR0FBQVIsT0FBQTtBQUF5RCxTQUFBUyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdB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