@kando-env/kando-ui 1.2.228-alpha.23 → 1.2.228-alpha.24

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.
@@ -13,7 +13,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm
13
13
 
14
14
  var L = _interopRequireWildcard(require("leaflet"));
15
15
 
16
- var L1 = _interopRequireWildcard(require("leaflet.markercluster"));
16
+ require("leaflet.markercluster");
17
17
 
18
18
  var _react = _interopRequireWildcard(require("react"));
19
19
 
@@ -39,6 +39,8 @@ var _MapUtils = require("./MapUtils");
39
39
 
40
40
  var _theme = require("../../styles/theme/theme");
41
41
 
42
+ var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
43
+
42
44
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
43
45
 
44
46
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -80,23 +82,30 @@ var Map = function Map(_ref) {
80
82
  return focusedEvent !== null && focusedEvent !== undefined;
81
83
  }, [focusedEvent]);
82
84
 
83
- var _React$useState = _react.default.useState(new L1.MarkerClusterGroup({
85
+ var _React$useState = _react.default.useState(new L.MarkerClusterGroup({
84
86
  spiderfyOnMaxZoom: false,
85
87
  showCoverageOnHover: false,
86
88
  zoomToBoundsOnClick: true,
87
89
  animate: true,
88
90
  disableClusteringAtZoom: 14,
89
91
  removeOutsideVisibleBounds: false,
90
- chunkedLoading: true
92
+ chunkedLoading: true,
93
+ iconCreateFunction: function iconCreateFunction(cluster) {
94
+ return new L.DivIcon({
95
+ html: "<div><span>".concat(cluster._childCount, "</span></div><div class='marker-cluster-name'>").concat(_i18n.default.t('industries'), "</div>"),
96
+ className: 'marker-cluster',
97
+ iconSize: new L.Point(40, 40)
98
+ });
99
+ }
91
100
  })),
92
101
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 1),
93
102
  factoriesClusterGroup = _React$useState2[0];
94
103
 
95
- var _React$useState3 = _react.default.useState(L.layerGroup()),
104
+ var _React$useState3 = _react.default.useState(new L.LayerGroup()),
96
105
  _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 1),
97
106
  wwtpsLayerGroup = _React$useState4[0];
98
107
 
99
- var _React$useState5 = _react.default.useState(L.layerGroup()),
108
+ var _React$useState5 = _react.default.useState(new L.LayerGroup()),
100
109
  _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 1),
101
110
  collectorsLayerGroup = _React$useState6[0];
102
111
 
@@ -174,8 +183,6 @@ var Map = function Map(_ref) {
174
183
  });
175
184
  }, [focusedEvent, hoveredEvent, global_data.eventFilterParam]);
176
185
  (0, _react.useEffect)(function () {
177
- console.warn('L', L);
178
- console.warn('L.markerClusterGroup', L.markerClusterGroup);
179
186
  (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, _theme.leafletMap.satellite, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel);
180
187
  return function cleanup() {
181
188
  // @ts-ignore
@@ -206,4 +213,4 @@ var Map = function Map(_ref) {
206
213
  };
207
214
 
208
215
  exports.Map = Map;
209
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sIm5hbWVzIjpbIk1hcCIsImFyZWFzIiwiZWRnZXMiLCJwb2ludHMiLCJnbG9iYWxfZGF0YSIsImFyZWFUb0NlbnRlckJ5IiwiZm9jdXNlZEV2ZW50IiwiaG92ZXJlZEV2ZW50IiwiaGlkZUVkZ2VzIiwibWFwQm94U3R5bGUiLCJsZWFmbGV0TWFwIiwibWFwRGVmYXVsdCIsImNoaWxkcmVuIiwiaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIm1hcCIsIm1hcFJlZiIsImRpc3BhdGNoIiwibWFwWm9vbUxldmVsIiwic2V0TWFwWm9vbUxldmVsIiwiZXZlbnRzRGF0YSIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJob3ZlcmVkRXZlbnRQcmVzZW50IiwidW5kZWZpbmVkIiwiZm9jdXNlZEV2ZW50UHJlc2VudCIsIlJlYWN0IiwidXNlU3RhdGUiLCJMMSIsIk1hcmtlckNsdXN0ZXJHcm91cCIsInNwaWRlcmZ5T25NYXhab29tIiwic2hvd0NvdmVyYWdlT25Ib3ZlciIsInpvb21Ub0JvdW5kc09uQ2xpY2siLCJhbmltYXRlIiwiZGlzYWJsZUNsdXN0ZXJpbmdBdFpvb20iLCJyZW1vdmVPdXRzaWRlVmlzaWJsZUJvdW5kcyIsImNodW5rZWRMb2FkaW5nIiwiZmFjdG9yaWVzQ2x1c3Rlckdyb3VwIiwiTCIsImxheWVyR3JvdXAiLCJ3d3Rwc0xheWVyR3JvdXAiLCJjb2xsZWN0b3JzTGF5ZXJHcm91cCIsIm1lbW9pemVkUG9pbnRzIiwiaXNGZXRjaGluZyIsImN1cnJlbnQiLCJ6b29tTGV2ZWxzIiwibWVtb2l6ZWRab29tQ29udHJvbCIsInBheWxvYWQiLCJjb25zb2xlIiwid2FybiIsIm1lbW9pemVkRXZlbnQiLCJmb2N1c2VkIiwiaG92ZXJlZCIsImV2ZW50RmlsdGVyUGFyYW0iLCJtYXJrZXJDbHVzdGVyR3JvdXAiLCJzYXRlbGxpdGUiLCJpc1ZhbGlkQXJlYSIsImNsZWFudXAiLCJyZW1vdmUiLCJ3YXRlckF1dGhvcml0eUlkIiwic2lkZW5hdkV4cGFuZGVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBUUE7Ozs7OztBQTNCQTtBQTJDTyxJQUFNQSxHQUF1QixHQUFHLFNBQTFCQSxHQUEwQixPQWFqQztBQUFBLE1BWkpDLEtBWUksUUFaSkEsS0FZSTtBQUFBLE1BWEpDLEtBV0ksUUFYSkEsS0FXSTtBQUFBLE1BVkpDLE1BVUksUUFWSkEsTUFVSTtBQUFBLE1BVEpDLFdBU0ksUUFUSkEsV0FTSTtBQUFBLE1BUkpDLGNBUUksUUFSSkEsY0FRSTtBQUFBLE1BUEpDLFlBT0ksUUFQSkEsWUFPSTtBQUFBLE1BTkpDLFlBTUksUUFOSkEsWUFNSTtBQUFBLDRCQUxKQyxTQUtJO0FBQUEsTUFMSkEsU0FLSSwrQkFMUSxLQUtSO0FBQUEsOEJBSkpDLFdBSUk7QUFBQSxNQUpKQSxXQUlJLGlDQUpVQyxrQkFBV0MsVUFJckI7QUFBQSxNQUhKQyxRQUdJLFFBSEpBLFFBR0k7QUFBQSxtQ0FGSkMsd0JBRUk7QUFBQSxNQUZKQSx3QkFFSSxzQ0FGdUIsSUFFdkI7QUFBQSxvQ0FESkMscUNBQ0k7QUFBQSxNQURKQSxxQ0FDSSx1Q0FEb0MsS0FDcEM7QUFDSixNQUFRQyxHQUFSLEdBQWdCWCxXQUFoQixDQUFRVyxHQUFSO0FBQ0EsTUFBTUMsTUFBTSxHQUFHLG1CQUFjLElBQWQsQ0FBZjtBQUNBLE1BQU1DLFFBQVEsR0FBRyw4QkFBakI7O0FBQ0Esa0JBQXdDLHFCQUFTLENBQVQsQ0FBeEM7QUFBQTtBQUFBLE1BQU9DLFlBQVA7QUFBQSxNQUFxQkMsZUFBckI7O0FBQ0EsTUFBTUMsVUFBVSxHQUFHLDZCQUNqQixVQUFDQyxLQUFEO0FBQUEsV0FBMENBLEtBQUssQ0FBQ0MsV0FBaEQ7QUFBQSxHQURpQixD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QWxDLEVBQTBDZCxLQUExQyxFQUFpREMsTUFBakQsa0JBQ0MseUVBQ0UsNkJBQUMsMEJBQUQ7QUFDRSxJQUFBLEtBQUssRUFBRUYsS0FEVDtBQUVFLElBQUEsR0FBRyxFQUFFZSxNQUFNLENBQUM0QixPQUZkO0FBR0UsSUFBQSxDQUFDLEVBQUVOLENBSEw7QUFJRSxJQUFBLGNBQWMsRUFBRWpDLGNBSmxCO0FBS0UsSUFBQSxPQUFPLEVBQUVhO0FBTFgsSUFERixDQUhKLEVBYUcsNENBQTZCaEIsS0FBN0IsRUFBb0NELEtBQXBDLEVBQTJDRyxXQUEzQyxFQUF3RFksTUFBeEQsa0JBQ0MsNERBQ0drQyxhQURILEVBRUdKLG1CQUZILEVBR0dsQyxRQUhILENBZEosQ0FMRixDQURGLENBREY7QUErQkQsQ0F6Tk0iLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgKiBhcyBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICogYXMgTDEgZnJvbSAnbGVhZmxldC5tYXJrZXJjbHVzdGVyJztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzdG9yZU1hcCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBJR2xvYmFsU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL21vZGVscy9JR2xvYmFsU3RhdGUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgeyBBcmVhUG9seWdvbnMgfSBmcm9tICcuL2FyZWFzL0FyZWFQb2x5Z29ucyc7XG5pbXBvcnQgRWRnZXMgZnJvbSAnLi9lZGdlcy9FZGdlcyc7XG5pbXBvcnQgJy4vTWFwLnNjc3MnO1xuaW1wb3J0ICcuL3BvaW50cy9Qb2ludEljb24uc2Nzcyc7XG5pbXBvcnQgeyBQb2ludE1hcmtlcnMgfSBmcm9tICcuL3BvaW50cy9Qb2ludE1hcmtlcnMnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IEV2ZW50IH0gZnJvbSAnLi9ldmVudHMvRXZlbnQnO1xuaW1wb3J0IHtcbiAgYXJlYUZvY3VzTG9naWMsXG4gIGluaXRpYWxpemVNYXAsXG4gIGlzVmFsaWRBcmVhLFxuICBzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzLFxuICBzaG91bGRMb2FkTWFwT2JqZWN0cyxcbiAgem9vbUxldmVscyxcbn0gZnJvbSAnLi9NYXBVdGlscyc7XG5pbXBvcnQgeyBsZWFmbGV0TWFwIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcblxuaW50ZXJmYWNlIE1hcFByb3BzIHtcbiAgYXJlYXM6IElBcmVhW107XG4gIGVkZ2VzPzogSUVkZ2VbXTtcbiAgcG9pbnRzPzogSVBvaW50W107XG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGU7XG4gIGFyZWFUb0NlbnRlckJ5PzogYW55O1xuICBmb2N1c2VkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBob3ZlcmVkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBoaWRlRWRnZXM/OiBib29sZWFuO1xuICBtYXBCb3hTdHlsZT86IHN0cmluZztcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBNYXA6IFJlYWN0LkZDPE1hcFByb3BzPiA9ICh7XG4gIGFyZWFzLFxuICBlZGdlcyxcbiAgcG9pbnRzLFxuICBnbG9iYWxfZGF0YSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIGZvY3VzZWRFdmVudCxcbiAgaG92ZXJlZEV2ZW50LFxuICBoaWRlRWRnZXMgPSBmYWxzZSxcbiAgbWFwQm94U3R5bGUgPSBsZWFmbGV0TWFwLm1hcERlZmF1bHQsXG4gIGNoaWxkcmVuLFxuICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPSB0cnVlLFxuICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzID0gZmFsc2UsXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgbWFwUmVmID0gdXNlUmVmPEwuTWFwPihudWxsKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbbWFwWm9vbUxldmVsLCBzZXRNYXBab29tTGV2ZWxdID0gdXNlU3RhdGUoMik7XG4gIGNvbnN0IGV2ZW50c0RhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5ldmVudHNfZGF0YSxcbiAgKTtcbiAgY29uc3QgaG92ZXJlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBob3ZlcmVkRXZlbnQgIT09IG51bGwgJiYgaG92ZXJlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBmb2N1c2VkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiBmb2N1c2VkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2ZvY3VzZWRFdmVudF0pO1xuXG4gIGNvbnN0IFtmYWN0b3JpZXNDbHVzdGVyR3JvdXBdID0gUmVhY3QudXNlU3RhdGU8YW55PihcbiAgICBuZXcgTDEuTWFya2VyQ2x1c3Rlckdyb3VwKHtcbiAgICAgIHNwaWRlcmZ5T25NYXhab29tOiBmYWxzZSxcbiAgICAgIHNob3dDb3ZlcmFnZU9uSG92ZXI6IGZhbHNlLFxuICAgICAgem9vbVRvQm91bmRzT25DbGljazogdHJ1ZSxcbiAgICAgIGFuaW1hdGU6IHRydWUsXG4gICAgICBkaXNhYmxlQ2x1c3RlcmluZ0F0Wm9vbTogMTQsXG4gICAgICByZW1vdmVPdXRzaWRlVmlzaWJsZUJvdW5kczogZmFsc2UsXG4gICAgICBjaHVua2VkTG9hZGluZzogdHJ1ZSxcbiAgICB9KSxcbiAgKTtcblxuICBjb25zdCBbd3d0cHNMYXllckdyb3VwXSA9IFJlYWN0LnVzZVN0YXRlPGFueT4oTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbY29sbGVjdG9yc0xheWVyR3JvdXBdID0gUmVhY3QudXNlU3RhdGU8YW55PihMLmxheWVyR3JvdXAoKSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgIWV2ZW50c0RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICAgICFmb2N1c2VkRXZlbnRQcmVzZW50ICYmIChcbiAgICAgICAgPFBvaW50TWFya2Vyc1xuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXtpbmNsdWRlVW5tb25pdG9yZWRQb2ludHN9XG4gICAgICAgICAgcmVyZW5kZXI9e3pvb21MZXZlbHNbbWFwWm9vbUxldmVsXX1cbiAgICAgICAgICBmYWN0b3JpZXNHcm91cD17ZmFjdG9yaWVzQ2x1c3Rlckdyb3VwfVxuICAgICAgICAgIHd3dHBzR3JvdXA9e3d3dHBzTGF5ZXJHcm91cH1cbiAgICAgICAgICBjb2xsZWN0b3JzR3JvdXA9e2NvbGxlY3RvcnNMYXllckdyb3VwfVxuICAgICAgICAvPlxuICAgICAgKVxuICAgICk7XG4gIH0sIFtcbiAgICBldmVudHNEYXRhLmlzRmV0Y2hpbmcsXG4gICAgbWFwUmVmLmN1cnJlbnQsXG4gICAgcG9pbnRzLFxuICAgIGZvY3VzZWRFdmVudFByZXNlbnQsXG4gICAgbWFwWm9vbUxldmVsLFxuICAgIGZhY3Rvcmllc0NsdXN0ZXJHcm91cCxcbiAgICB3d3Rwc0xheWVyR3JvdXAsXG4gICAgY29sbGVjdG9yc0xheWVyR3JvdXAsXG4gIF0pO1xuXG4gIC8vIGNvbnN0IGFjdGl2YXRlWm9vbUNvbnRyb2xGb3JJY29ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAvLyAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmIGljb25ab29tQ29udHJvbChtYXBSZWYuY3VycmVudCk7XG4gIC8vIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50XSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRab29tQ29udHJvbCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGxldCBwYXlsb2FkID0gPD48Lz47XG5cbiAgICBzd2l0Y2ggKHpvb21MZXZlbHNbbWFwWm9vbUxldmVsXSkge1xuICAgICAgY2FzZSAnU21hbGwnOlxuICAgICAgICBjb25zb2xlLndhcm4oJ1NtYWxsJyk7XG4gICAgICAgIHBheWxvYWQgPSAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxFZGdlc1xuICAgICAgICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgICAgICAgIGhpZGVFZGdlcz17aGlkZUVkZ2VzfVxuICAgICAgICAgICAgICBhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHM9e1xuICAgICAgICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdNZWRpdW0nOlxuICAgICAgICBjb25zb2xlLndhcm4oJ01lZGl1bScpO1xuICAgICAgICBwYXlsb2FkID0gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8RWRnZXNcbiAgICAgICAgICAgICAgZWRnZXM9e2VkZ2VzIX1cbiAgICAgICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHMhfVxuICAgICAgICAgICAgICBoaWRlRWRnZXM9e2hpZGVFZGdlc31cbiAgICAgICAgICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPXtcbiAgICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7bWVtb2l6ZWRQb2ludHN9XG4gICAgICAgICAgPC8+XG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTUxhcmdlJzpcbiAgICAgICAgcGF5bG9hZCA9IDw+e21lbW9pemVkUG9pbnRzfTwvPjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBwYXlsb2FkID0gPD57bWVtb2l6ZWRQb2ludHN9PC8+O1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH0sIFttYXBab29tTGV2ZWxdKTtcblxuICBjb25zdCBtZW1vaXplZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGZvY3VzZWRFdmVudCEuZm9jdXNlZCA9IGZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgICBmb2N1c2VkRXZlbnQhLmhvdmVyZWQgPSAhZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXJlZEV2ZW50UHJlc2VudCkge1xuICAgICAgaG92ZXJlZEV2ZW50IS5ob3ZlcmVkID0gaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICAgIGhvdmVyZWRFdmVudCEuZm9jdXNlZCA9ICFob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmICghaG92ZXJlZEV2ZW50UHJlc2VudCAmJiAhZm9jdXNlZEV2ZW50UHJlc2VudCkgcmV0dXJuIDw+PC8+O1xuICAgIHJldHVybiAoXG4gICAgICA8RXZlbnRcbiAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudCEgfHwgaG92ZXJlZEV2ZW50IX1cbiAgICAgICAgbWFwPXttYXB9XG4gICAgICAgIGVkZ2VzPXtlZGdlcyF9XG4gICAgICAgIHBvaW50cz17cG9pbnRzIX1cbiAgICAgICAgaW5jbHVkZU5ldHdvcms9eyFob3ZlcmVkRXZlbnRQcmVzZW50fVxuICAgICAgLz5cbiAgICApO1xuICB9LCBbZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnNvbGUud2FybignTCcsIEwpO1xuICAgIGNvbnNvbGUud2FybignTC5tYXJrZXJDbHVzdGVyR3JvdXAnLCBMLm1hcmtlckNsdXN0ZXJHcm91cCk7XG5cbiAgICBpbml0aWFsaXplTWFwKFxuICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgbWFwQm94U3R5bGUsXG4gICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgIG1hcFJlZixcbiAgICAgIGRpc3BhdGNoLFxuICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICBhcmVhVG9DZW50ZXJCeSxcbiAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICApO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmUoKTtcbiAgICAgIGRpc3BhdGNoKHN0b3JlTWFwKHVuZGVmaW5lZCkpO1xuICAgIH07XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICBpbml0aWFsaXplTWFwKFxuICAgICAgICBtYXBab29tTGV2ZWwsXG4gICAgICAgIG1hcEJveFN0eWxlLFxuICAgICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgICAgbWFwUmVmLFxuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcmVhRm9jdXNMb2dpYyhtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9LCBbYXJlYVRvQ2VudGVyQnldKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2AgbWFwLWNvbnRhaW5lciAke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLnNpZGVuYXZFeHBhbmRlZCA/ICcnIDogJ21hcC1jb250YWluZXItLXNpZGVuYXYtY29sbGFwc2VkJ1xuICAgICAgICB9YH1cbiAgICAgID5cbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgPGRpdiBpZD1cIm1hcFwiPjwvZGl2PlxuICAgICAgICAgIHtzaG91bGRMb2FkTWFwT2JqZWN0cyhnbG9iYWxfZGF0YSwgbWFwUmVmLCBlZGdlcywgcG9pbnRzKSAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8QXJlYVBvbHlnb25zXG4gICAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbUxldmVsfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyhlZGdlcywgYXJlYXMsIGdsb2JhbF9kYXRhLCBtYXBSZWYpICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIHttZW1vaXplZEV2ZW50fVxuICAgICAgICAgICAgICB7bWVtb2l6ZWRab29tQ29udHJvbH1cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19
216
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sIm5hbWVzIjpbIk1hcCIsImFyZWFzIiwiZWRnZXMiLCJwb2ludHMiLCJnbG9iYWxfZGF0YSIsImFyZWFUb0NlbnRlckJ5IiwiZm9jdXNlZEV2ZW50IiwiaG92ZXJlZEV2ZW50IiwiaGlkZUVkZ2VzIiwibWFwQm94U3R5bGUiLCJsZWFmbGV0TWFwIiwibWFwRGVmYXVsdCIsImNoaWxkcmVuIiwiaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIm1hcCIsIm1hcFJlZiIsImRpc3BhdGNoIiwibWFwWm9vbUxldmVsIiwic2V0TWFwWm9vbUxldmVsIiwiZXZlbnRzRGF0YSIsInN0YXRlIiwiZXZlbnRzX2RhdGEiLCJob3ZlcmVkRXZlbnRQcmVzZW50IiwidW5kZWZpbmVkIiwiZm9jdXNlZEV2ZW50UHJlc2VudCIsIlJlYWN0IiwidXNlU3RhdGUiLCJMIiwiTWFya2VyQ2x1c3Rlckdyb3VwIiwic3BpZGVyZnlPbk1heFpvb20iLCJzaG93Q292ZXJhZ2VPbkhvdmVyIiwiem9vbVRvQm91bmRzT25DbGljayIsImFuaW1hdGUiLCJkaXNhYmxlQ2x1c3RlcmluZ0F0Wm9vbSIsInJlbW92ZU91dHNpZGVWaXNpYmxlQm91bmRzIiwiY2h1bmtlZExvYWRpbmciLCJpY29uQ3JlYXRlRnVuY3Rpb24iLCJjbHVzdGVyIiwiRGl2SWNvbiIsImh0bWwiLCJfY2hpbGRDb3VudCIsImkxOG4iLCJ0IiwiY2xhc3NOYW1lIiwiaWNvblNpemUiLCJQb2ludCIsImZhY3Rvcmllc0NsdXN0ZXJHcm91cCIsIkxheWVyR3JvdXAiLCJ3d3Rwc0xheWVyR3JvdXAiLCJjb2xsZWN0b3JzTGF5ZXJHcm91cCIsIm1lbW9pemVkUG9pbnRzIiwiaXNGZXRjaGluZyIsImN1cnJlbnQiLCJ6b29tTGV2ZWxzIiwibWVtb2l6ZWRab29tQ29udHJvbCIsInBheWxvYWQiLCJjb25zb2xlIiwid2FybiIsIm1lbW9pemVkRXZlbnQiLCJmb2N1c2VkIiwiaG92ZXJlZCIsImV2ZW50RmlsdGVyUGFyYW0iLCJzYXRlbGxpdGUiLCJpc1ZhbGlkQXJlYSIsImNsZWFudXAiLCJyZW1vdmUiLCJ3YXRlckF1dGhvcml0eUlkIiwic2lkZW5hdkV4cGFuZGVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBUUE7O0FBQ0E7Ozs7OztBQTVCQTtBQTRDTyxJQUFNQSxHQUF1QixHQUFHLFNBQTFCQSxHQUEwQixPQWFqQztBQUFBLE1BWkpDLEtBWUksUUFaSkEsS0FZSTtBQUFBLE1BWEpDLEtBV0ksUUFYSkEsS0FXSTtBQUFBLE1BVkpDLE1BVUksUUFWSkEsTUFVSTtBQUFBLE1BVEpDLFdBU0ksUUFUSkEsV0FTSTtBQUFBLE1BUkpDLGNBUUksUUFSSkEsY0FRSTtBQUFBLE1BUEpDLFlBT0ksUUFQSkEsWUFPSTtBQUFBLE1BTkpDLFlBTUksUUFOSkEsWUFNSTtBQUFBLDRCQUxKQyxTQUtJO0FBQUEsTUFMSkEsU0FLSSwrQkFMUSxLQUtSO0FBQUEsOEJBSkpDLFdBSUk7QUFBQSxNQUpKQSxXQUlJLGlDQUpVQyxrQkFBV0MsVUFJckI7QUFBQSxNQUhKQyxRQUdJLFFBSEpBLFFBR0k7QUFBQSxtQ0FGSkMsd0JBRUk7QUFBQSxNQUZKQSx3QkFFSSxzQ0FGdUIsSUFFdkI7QUFBQSxvQ0FESkMscUNBQ0k7QUFBQSxNQURKQSxxQ0FDSSx1Q0FEb0MsS0FDcEM7QUFDSixNQUFRQyxHQUFSLEdBQWdCWCxXQUFoQixDQUFRVyxHQUFSO0FBQ0EsTUFBTUMsTUFBTSxHQUFHLG1CQUFjLElBQWQsQ0FBZjtBQUNBLE1BQU1DLFFBQVEsR0FBRyw4QkFBakI7O0FBQ0Esa0JBQXdDLHFCQUFTLENBQVQsQ0FBeEM7QUFBQTtBQUFBLE1BQU9DLFlBQVA7QUFBQSxNQUFxQkMsZUFB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TCxvQ0FBZUgsTUFBZixFQUF1QmdELHFCQUF2QixFQUFvQzNELGNBQXBDO0FBQ0Q7QUFDRixHQWZELEVBZUcsQ0FBQ0EsY0FBRCxDQWZIO0FBaUJBLHNCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDRTtBQUNFLElBQUEsU0FBUywyQkFDUEQsV0FBVyxDQUFDZ0UsZUFBWixHQUE4QixFQUE5QixHQUFtQyxrQ0FENUI7QUFEWCxrQkFLRSw2QkFBQyxzQkFBRCxxQkFDRTtBQUFLLElBQUEsRUFBRSxFQUFDO0FBQVIsSUFERixFQUVHLG9DQUFxQmhFLFdBQXJCLEVBQWtDWSxNQUFsQyxFQUEwQ2QsS0FBMUMsRUFBaURDLE1BQWpELGtCQUNDLHlFQUNFLDZCQUFDLDBCQUFEO0FBQ0UsSUFBQSxLQUFLLEVBQUVGLEtBRFQ7QUFFRSxJQUFBLEdBQUcsRUFBRWUsTUFBTSxDQUFDcUMsT0FGZDtBQUdFLElBQUEsQ0FBQyxFQUFFekIsQ0FITDtBQUlFLElBQUEsY0FBYyxFQUFFdkIsY0FKbEI7QUFLRSxJQUFBLE9BQU8sRUFBRWE7QUFMWCxJQURGLENBSEosRUFhRyw0Q0FBNkJoQixLQUE3QixFQUFvQ0QsS0FBcEMsRUFBMkNHLFdBQTNDLEVBQXdEWSxNQUF4RCxrQkFDQyw0REFDRzJDLGFBREgsRUFFR0osbUJBRkgsRUFHRzNDLFFBSEgsQ0FkSixDQUxGLENBREYsQ0FERjtBQStCRCxDQWpPTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCAqIGFzIEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgJ2xlYWZsZXQubWFya2VyY2x1c3Rlcic7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc3RvcmVNYXAgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgQXJlYVBvbHlnb25zIH0gZnJvbSAnLi9hcmVhcy9BcmVhUG9seWdvbnMnO1xuaW1wb3J0IEVkZ2VzIGZyb20gJy4vZWRnZXMvRWRnZXMnO1xuaW1wb3J0ICcuL01hcC5zY3NzJztcbmltcG9ydCAnLi9wb2ludHMvUG9pbnRJY29uLnNjc3MnO1xuaW1wb3J0IHsgUG9pbnRNYXJrZXJzIH0gZnJvbSAnLi9wb2ludHMvUG9pbnRNYXJrZXJzJztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICcuLi8uLi9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBFdmVudCB9IGZyb20gJy4vZXZlbnRzL0V2ZW50JztcbmltcG9ydCB7XG4gIGFyZWFGb2N1c0xvZ2ljLFxuICBpbml0aWFsaXplTWFwLFxuICBpc1ZhbGlkQXJlYSxcbiAgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyxcbiAgc2hvdWxkTG9hZE1hcE9iamVjdHMsXG4gIHpvb21MZXZlbHMsXG59IGZyb20gJy4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgbGVhZmxldE1hcCB9IGZyb20gJy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5cbmludGVyZmFjZSBNYXBQcm9wcyB7XG4gIGFyZWFzOiBJQXJlYVtdO1xuICBlZGdlcz86IElFZGdlW107XG4gIHBvaW50cz86IElQb2ludFtdO1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZm9jdXNlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaG92ZXJlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgbWFwQm94U3R5bGU/OiBzdHJpbmc7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz86IGJvb2xlYW47XG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWFwOiBSZWFjdC5GQzxNYXBQcm9wcz4gPSAoe1xuICBhcmVhcyxcbiAgZWRnZXMsXG4gIHBvaW50cyxcbiAgZ2xvYmFsX2RhdGEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBmb2N1c2VkRXZlbnQsXG4gIGhvdmVyZWRFdmVudCxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIG1hcEJveFN0eWxlID0gbGVhZmxldE1hcC5tYXBEZWZhdWx0LFxuICBjaGlsZHJlbixcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzID0gdHJ1ZSxcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyA9IGZhbHNlLFxufSkgPT4ge1xuICBjb25zdCB7IG1hcCB9ID0gZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IG1hcFJlZiA9IHVzZVJlZjxMLk1hcD4obnVsbCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW21hcFpvb21MZXZlbCwgc2V0TWFwWm9vbUxldmVsXSA9IHVzZVN0YXRlKDIpO1xuICBjb25zdCBldmVudHNEYXRhID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUuZXZlbnRzX2RhdGEsXG4gICk7XG4gIGNvbnN0IGhvdmVyZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gaG92ZXJlZEV2ZW50ICE9PSBudWxsICYmIGhvdmVyZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbaG92ZXJlZEV2ZW50XSk7XG5cbiAgY29uc3QgZm9jdXNlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgZm9jdXNlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtmb2N1c2VkRXZlbnRdKTtcblxuICBjb25zdCBbZmFjdG9yaWVzQ2x1c3Rlckdyb3VwXSA9IFJlYWN0LnVzZVN0YXRlPGFueT4oXG4gICAgbmV3IEwuTWFya2VyQ2x1c3Rlckdyb3VwKHtcbiAgICAgIHNwaWRlcmZ5T25NYXhab29tOiBmYWxzZSxcbiAgICAgIHNob3dDb3ZlcmFnZU9uSG92ZXI6IGZhbHNlLFxuICAgICAgem9vbVRvQm91bmRzT25DbGljazogdHJ1ZSxcbiAgICAgIGFuaW1hdGU6IHRydWUsXG4gICAgICBkaXNhYmxlQ2x1c3RlcmluZ0F0Wm9vbTogMTQsXG4gICAgICByZW1vdmVPdXRzaWRlVmlzaWJsZUJvdW5kczogZmFsc2UsXG4gICAgICBjaHVua2VkTG9hZGluZzogdHJ1ZSxcbiAgICAgIGljb25DcmVhdGVGdW5jdGlvbjogZnVuY3Rpb24gKGNsdXN0ZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMLkRpdkljb24oe1xuICAgICAgICAgIGh0bWw6IGA8ZGl2PjxzcGFuPiR7XG4gICAgICAgICAgICBjbHVzdGVyLl9jaGlsZENvdW50XG4gICAgICAgICAgfTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSdtYXJrZXItY2x1c3Rlci1uYW1lJz4ke2kxOG4udChcbiAgICAgICAgICAgICdpbmR1c3RyaWVzJyxcbiAgICAgICAgICApfTwvZGl2PmAsXG4gICAgICAgICAgY2xhc3NOYW1lOiAnbWFya2VyLWNsdXN0ZXInLFxuICAgICAgICAgIGljb25TaXplOiBuZXcgTC5Qb2ludCg0MCwgNDApLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSksXG4gICk7XG5cbiAgY29uc3QgW3d3dHBzTGF5ZXJHcm91cF0gPSBSZWFjdC51c2VTdGF0ZTxhbnk+KG5ldyBMLkxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFtjb2xsZWN0b3JzTGF5ZXJHcm91cF0gPSBSZWFjdC51c2VTdGF0ZTxhbnk+KG5ldyBMLkxheWVyR3JvdXAoKSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgIWV2ZW50c0RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICAgICFmb2N1c2VkRXZlbnRQcmVzZW50ICYmIChcbiAgICAgICAgPFBvaW50TWFya2Vyc1xuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXtpbmNsdWRlVW5tb25pdG9yZWRQb2ludHN9XG4gICAgICAgICAgcmVyZW5kZXI9e3pvb21MZXZlbHNbbWFwWm9vbUxldmVsXX1cbiAgICAgICAgICBmYWN0b3JpZXNHcm91cD17ZmFjdG9yaWVzQ2x1c3Rlckdyb3VwfVxuICAgICAgICAgIHd3dHBzR3JvdXA9e3d3dHBzTGF5ZXJHcm91cH1cbiAgICAgICAgICBjb2xsZWN0b3JzR3JvdXA9e2NvbGxlY3RvcnNMYXllckdyb3VwfVxuICAgICAgICAvPlxuICAgICAgKVxuICAgICk7XG4gIH0sIFtcbiAgICBldmVudHNEYXRhLmlzRmV0Y2hpbmcsXG4gICAgbWFwUmVmLmN1cnJlbnQsXG4gICAgcG9pbnRzLFxuICAgIGZvY3VzZWRFdmVudFByZXNlbnQsXG4gICAgbWFwWm9vbUxldmVsLFxuICAgIGZhY3Rvcmllc0NsdXN0ZXJHcm91cCxcbiAgICB3d3Rwc0xheWVyR3JvdXAsXG4gICAgY29sbGVjdG9yc0xheWVyR3JvdXAsXG4gIF0pO1xuXG4gIC8vIGNvbnN0IGFjdGl2YXRlWm9vbUNvbnRyb2xGb3JJY29ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAvLyAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmIGljb25ab29tQ29udHJvbChtYXBSZWYuY3VycmVudCk7XG4gIC8vIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50XSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRab29tQ29udHJvbCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGxldCBwYXlsb2FkID0gPD48Lz47XG5cbiAgICBzd2l0Y2ggKHpvb21MZXZlbHNbbWFwWm9vbUxldmVsXSkge1xuICAgICAgY2FzZSAnU21hbGwnOlxuICAgICAgICBjb25zb2xlLndhcm4oJ1NtYWxsJyk7XG4gICAgICAgIHBheWxvYWQgPSAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxFZGdlc1xuICAgICAgICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgICAgICAgIGhpZGVFZGdlcz17aGlkZUVkZ2VzfVxuICAgICAgICAgICAgICBhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHM9e1xuICAgICAgICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdNZWRpdW0nOlxuICAgICAgICBjb25zb2xlLndhcm4oJ01lZGl1bScpO1xuICAgICAgICBwYXlsb2FkID0gKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8RWRnZXNcbiAgICAgICAgICAgICAgZWRnZXM9e2VkZ2VzIX1cbiAgICAgICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHMhfVxuICAgICAgICAgICAgICBoaWRlRWRnZXM9e2hpZGVFZGdlc31cbiAgICAgICAgICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPXtcbiAgICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7bWVtb2l6ZWRQb2ludHN9XG4gICAgICAgICAgPC8+XG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTUxhcmdlJzpcbiAgICAgICAgcGF5bG9hZCA9IDw+e21lbW9pemVkUG9pbnRzfTwvPjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBwYXlsb2FkID0gPD57bWVtb2l6ZWRQb2ludHN9PC8+O1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH0sIFttYXBab29tTGV2ZWxdKTtcblxuICBjb25zdCBtZW1vaXplZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGZvY3VzZWRFdmVudCEuZm9jdXNlZCA9IGZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgICBmb2N1c2VkRXZlbnQhLmhvdmVyZWQgPSAhZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXJlZEV2ZW50UHJlc2VudCkge1xuICAgICAgaG92ZXJlZEV2ZW50IS5ob3ZlcmVkID0gaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICAgIGhvdmVyZWRFdmVudCEuZm9jdXNlZCA9ICFob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmICghaG92ZXJlZEV2ZW50UHJlc2VudCAmJiAhZm9jdXNlZEV2ZW50UHJlc2VudCkgcmV0dXJuIDw+PC8+O1xuICAgIHJldHVybiAoXG4gICAgICA8RXZlbnRcbiAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudCEgfHwgaG92ZXJlZEV2ZW50IX1cbiAgICAgICAgbWFwPXttYXB9XG4gICAgICAgIGVkZ2VzPXtlZGdlcyF9XG4gICAgICAgIHBvaW50cz17cG9pbnRzIX1cbiAgICAgICAgaW5jbHVkZU5ldHdvcms9eyFob3ZlcmVkRXZlbnRQcmVzZW50fVxuICAgICAgLz5cbiAgICApO1xuICB9LCBbZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGluaXRpYWxpemVNYXAoXG4gICAgICBtYXBab29tTGV2ZWwsXG4gICAgICBtYXBCb3hTdHlsZSxcbiAgICAgIGxlYWZsZXRNYXAuc2F0ZWxsaXRlLFxuICAgICAgbWFwUmVmLFxuICAgICAgZGlzcGF0Y2gsXG4gICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgc2V0TWFwWm9vbUxldmVsLFxuICAgICk7XG5cbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZSgpO1xuICAgICAgZGlzcGF0Y2goc3RvcmVNYXAodW5kZWZpbmVkKSk7XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxpemVNYXAoXG4gICAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgICAgbWFwQm94U3R5bGUsXG4gICAgICAgIGxlYWZsZXRNYXAuc2F0ZWxsaXRlLFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFyZWFGb2N1c0xvZ2ljKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KTtcbiAgICB9XG4gIH0sIFthcmVhVG9DZW50ZXJCeV0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJrZC1tYXAtY29udGFpbmVyXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YCBtYXAtY29udGFpbmVyICR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnbWFwLWNvbnRhaW5lci0tc2lkZW5hdi1jb2xsYXBzZWQnXG4gICAgICAgIH1gfVxuICAgICAgPlxuICAgICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICA8ZGl2IGlkPVwibWFwXCI+PC9kaXY+XG4gICAgICAgICAge3Nob3VsZExvYWRNYXBPYmplY3RzKGdsb2JhbF9kYXRhLCBtYXBSZWYsIGVkZ2VzLCBwb2ludHMpICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxBcmVhUG9seWdvbnNcbiAgICAgICAgICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXthcmVhVG9DZW50ZXJCeX1cbiAgICAgICAgICAgICAgICBtYXBab29tPXttYXBab29tTGV2ZWx9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzKGVkZ2VzLCBhcmVhcywgZ2xvYmFsX2RhdGEsIG1hcFJlZikgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge21lbW9pemVkRXZlbnR9XG4gICAgICAgICAgICAgIHttZW1vaXplZFpvb21Db250cm9sfVxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXX0=
@@ -240,7 +240,7 @@ var baseMaps = function baseMaps(mapBoxStyle, mapBoxSatelliteStyle) {
240
240
 
241
241
  var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSatelliteStyle, mapRef, dispatch, isValidArea, areaToCenterBy, setMapZoomLevel) {
242
242
  // @ts-ignore
243
- mapRef.current = _leaflet.default.map('map', {
243
+ mapRef.current = new _leaflet.default.Map('map', {
244
244
  center: [0, 0],
245
245
  zoomSnap: 1,
246
246
  zoom: mapZoomLevel,
@@ -308,4 +308,4 @@ var zoomLevels = {
308
308
  18: 'Small'
309
309
  };
310
310
  exports.zoomLevels = zoomLevels;
311
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJuYW1lcyI6WyJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJpbnZhbGlkYXRlU2l6ZSIsImFyZWEiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsImdsb2JhbF9kYXRhIiwicG9pbnRzIiwiZWRnZXMiLCJtYXAiLCJ1bmRlZmluZWQiLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiYXJlYXMiLCJnbG9iYWwiLCJmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwIiwibGF5ZXJzVG9GaW5kIiwiY3VycmVudExheWVyIiwiaW5jbHVkZXMiLCJrYW5kb19wb2ludF90eXBlIiwiZXZlbnRzQ291bnRlckljb25zIiwibGF5ZXIiLCJ6b29tTGV2ZWwiLCJpY29uIiwib3B0aW9ucyIsImljb25TaXplIiwiZXZlbnRzQ291bnRJY29uIiwiaWNvbkFuY2hvciIsInNldEljb24iLCJzZXRPcGFjaXR5IiwibXVsdGlwbGVMYXllcmVkSWNvbnMiLCJpc0FGZXdMYXllckljb24iLCJrYW5kb19mZXdfbGF5ZXJfaWNvbiIsIm1pbmlJY29uIiwicHJlc2VudCIsImthbmRvX3NlY29uZGFyeSIsImthbmRvX3RoaXJkIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJrYW5kb19pbmRleF9vYmplY3QiLCJidWJibGVJY29uT3B0aW9ucyIsIm9uZUxheWVySWNvbk9wdGlvbnMiLCJtaWRkbGVJY29uT3B0aW9ucyIsInRvcEljb25PcHRpb25zIiwiaWNvblpvb21Db250cm9sIiwibGF5ZXJzIiwiX3pvb20iLCJtYXBTdHlsZSIsIm1hcEJveFN0eWxlIiwidGlsZUxheWVyIiwiYXR0cmlidXRpb24iLCJtYXhab29tIiwibWluWm9vbSIsImlkIiwidGlsZVNpemUiLCJ6b29tT2Zmc2V0IiwidXBkYXRlV2hlblpvb21pbmciLCJ1cGRhdGVXaGVuSWRsZSIsImJhc2VNYXBzIiwibWFwQm94U2F0ZWxsaXRlU3R5bGUiLCJkZWZhdWx0TWFwIiwiaTE4biIsInQiLCJzYXRlbGxpdGUiLCJpbml0aWFsaXplTWFwIiwibWFwWm9vbUxldmVsIiwiZGlzcGF0Y2giLCJzZXRNYXBab29tTGV2ZWwiLCJjZW50ZXIiLCJ6b29tU25hcCIsInpvb20iLCJhdHRyaWJ1dGlvbkNvbnRyb2wiLCJwcmVmZXJDYW52YXMiLCJ3aGVuUmVhZHkiLCJjb250cm9sIiwicG9zaXRpb24iLCJhZGRUbyIsIm9uIiwic2V0VGltZW91dCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImUiLCJnZXRab29tIiwiem9vbUxldmVscyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFTyxJQUFNQSxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNDLE1BQUQsRUFBU0MsV0FBVCxFQUFzQkMsY0FBdEIsRUFBeUM7QUFDckUsTUFBSUMsV0FBZ0IsR0FBR0gsTUFBTSxDQUFDSSxPQUE5Qjs7QUFDQSxNQUFJSCxXQUFXLENBQUNDLGNBQUQsQ0FBZixFQUFpQztBQUMvQkMsSUFBQUEsV0FBVyxDQUFDRSxTQUFaLENBQXNCSCxjQUF0QixFQUFzQztBQUFFSSxNQUFBQSxPQUFPLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSjtBQUFYLEtBQXRDO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsUUFBTUMsS0FBWSxHQUFHLEVBQXJCOztBQUVBLFNBQUssSUFBTUMsUUFBWCxJQUF1QkwsV0FBVyxDQUFDTSxPQUFuQyxFQUE0QztBQUMxQyxVQUFJTixXQUFXLENBQUNNLE9BQVosQ0FBb0JELFFBQXBCLEVBQThCRSxZQUE5QixLQUEr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QUNBaEIsSUFBQUEsZUFBZSxDQUFDRyxJQUFELENBQWY7QUFDRCxHQU5EO0FBT0QsQ0EzRE07OztBQTZEQSxJQUFNYyxVQUFVLEdBQUc7QUFDeEIsS0FBRyxRQURxQjtBQUV4QixLQUFHLFFBRnFCO0FBR3hCLEtBQUcsUUFIcUI7QUFJeEIsS0FBRyxRQUpxQjtBQUt4QixLQUFHLFFBTHFCO0FBTXhCLEtBQUcsUUFOcUI7QUFPeEIsS0FBRyxRQVBxQjtBQVF4QixLQUFHLE9BUnFCO0FBU3hCLEtBQUcsT0FUcUI7QUFVeEIsTUFBSSxPQVZvQjtBQVd4QixNQUFJLFFBWG9CO0FBWXhCLE1BQUksUUFab0I7QUFheEIsTUFBSSxRQWJvQjtBQWN4QixNQUFJLFFBZG9CO0FBZXhCLE1BQUksUUFmb0I7QUFnQnhCLE1BQUksUUFoQm9CO0FBaUJ4QixNQUFJLE9BakJvQjtBQWtCeEIsTUFBSTtBQWxCb0IsQ0FBbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCwgeyBQb2ludFR1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBzaWRlTmF2RXhwYW5kZWQsIHN0b3JlTWFwIH0gZnJvbSAnLi4vLi4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGNvbnN0IGFyZWFGb2N1c0xvZ2ljID0gKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KSA9PiB7XG4gIGxldCBtYXBJbnN0YW5jZTogYW55ID0gbWFwUmVmLmN1cnJlbnQ7XG4gIGlmIChpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnksIHsgcGFkZGluZzogWzAsIDBdIH0pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXBJbnN0YW5jZS5fbGF5ZXJzKSB7XG4gICAgICBpZiAobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJlYScpIHtcbiAgICAgICAgZ3JvdXAucHVzaChtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKE9iamVjdC5rZXlzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSkubGVuZ3RoICE9PSAwKSB7XG4gICAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpLCB7XG4gICAgICAgIHBhZGRpbmc6IFsxMDAsIDEwMF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgbWFwSW5zdGFuY2UuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNWYWxpZEFyZWEgPSAoYXJlYSkgPT4ge1xuICByZXR1cm4gYXJlYSAmJiBhcmVhLmxlbmd0aCA+IDAgJiYgT2JqZWN0LmtleXMoYXJlYVswXSkubGVuZ3RoID4gMDtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91bGRMb2FkTWFwT2JqZWN0cyA9IChnbG9iYWxfZGF0YSwgbWFwUmVmLCBwb2ludHMsIGVkZ2VzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsX2RhdGEubWFwICE9PSB1bmRlZmluZWQgJiZcbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIGVkZ2VzICE9PSB1bmRlZmluZWQgJiZcbiAgICBwb2ludHMgIT09IHVuZGVmaW5lZFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMgPSAoZWRnZXMsIGFyZWFzLCBnbG9iYWwsIG1hcFJlZikgPT4ge1xuICByZXR1cm4gKFxuICAgIGdsb2JhbC5tYXAgIT09IHVuZGVmaW5lZCAmJlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXMubGVuZ3RoICE9PSAwICYmXG4gICAgYXJlYXMubGVuZ3RoICE9PSAwXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcCA9IChcbiAgbGF5ZXJzVG9GaW5kOiBzdHJpbmdbXSxcbiAgY3VycmVudExheWVyLFxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgbGF5ZXJzVG9GaW5kLmluY2x1ZGVzKGN1cnJlbnRMYXllci5rYW5kb19vYmplY3QpICYmXG4gICAgY3VycmVudExheWVyLmthbmRvX3BvaW50X3R5cGUgIT09ICdNYW5ob2xlJ1xuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50ZXJJY29ucyA9IChsYXllciwgem9vbUxldmVsKSA9PiB7XG4gIGxldCBpY29uID0gbGF5ZXIub3B0aW9ucy5pY29uO1xuICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uU2l6ZTtcbiAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICBsYXllci5zZXRJY29uKGljb24pO1xuICBsYXllci5zZXRPcGFjaXR5KDEpO1xufTtcblxuZXhwb3J0IGNvbnN0IG11bHRpcGxlTGF5ZXJlZEljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGxldCBpc0FGZXdMYXllckljb24gPSBsYXllci5rYW5kb19mZXdfbGF5ZXJfaWNvbjtcbiAgbGV0IG1pbmlJY29uID0ge1xuICAgIHByZXNlbnQ6IGxheWVyLmthbmRvX3NlY29uZGFyeSB8fCBsYXllci5rYW5kb190aGlyZCxcbiAgICBzZWNvbmRhcnk6IGxheWVyLmthbmRvX3NlY29uZGFyeSxcbiAgICB0aGlyZDogbGF5ZXIua2FuZG9fdGhpcmQsXG4gIH07XG5cbiAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMCkge1xuICAgIGlmIChpc0FGZXdMYXllckljb24pIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGJ1YmJsZUljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBidWJibGVJY29uT3B0aW9ucyhcbiAgICAgICAgem9vbUxldmVsLFxuICAgICAgICBtaW5pSWNvbixcbiAgICAgICkuaWNvbkFuY2hvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gb25lTGF5ZXJJY29uT3B0aW9ucyh6b29tTGV2ZWwpLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMSkge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gbWlkZGxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG1pZGRsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gdG9wSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH1cblxuICBsYXllci5zZXRJY29uKGljb24pO1xufTtcblxuY29uc3Qgb25lTGF5ZXJJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDMuMywgem9vbUxldmVsICogMy4zXSxcbiAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMS43LCB6b29tTGV2ZWwgKiAzLjddLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50SWNvbiA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSxcbiAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYnViYmxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMS45OCwgem9vbUxldmVsICogMi4zXSxcbiAgICAgICAgaWNvbkFuY2hvcjogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdLFxuICAgICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMCwgem9vbUxldmVsICogMl0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAzLjk4LCB6b29tTGV2ZWwgKiA0LjNdLFxuICAgICAgaWNvbkFuY2hvcjogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDRdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBtaWRkbGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMy41XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDEuNV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAyLjUsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMS4yOTUsIHpvb21MZXZlbCAqIDMuMzVdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0b3BJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAwLjksIHpvb21MZXZlbCAqIDEuOF0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC41LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjYsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC4yLCB6b29tTGV2ZWwgKiAyLjFdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy45LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGljb25ab29tQ29udHJvbCA9IChtYXApID0+IHtcbiAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICBsZXQgem9vbUxldmVsID0gbWFwLl96b29tO1xuXG4gIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydJY29uTnVtYmVyJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBldmVudHNDb3VudGVySWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1BvaW50JywgJ0ljb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1NhbXBsaW5nJywgJ09ic2VydmF0aW9uJ10sIGxheWVyc1twcm9wZXJ0eV0pXG4gICAgKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cbiAgfVxufTtcblxuY29uc3QgbWFwU3R5bGUgPSAobWFwQm94U3R5bGUpID0+IHtcbiAgcmV0dXJuIEwudGlsZUxheWVyKFxuICAgIGBodHRwczovL2FwaS5tYXBib3guY29tL3N0eWxlcy92MS9uYWRhdi1rYW5kby8ke21hcEJveFN0eWxlfS90aWxlcy8yNTYve3p9L3t4fS97eX1AMng/YWNjZXNzX3Rva2VuPXBrLmV5SjFJam9pYm1Ga1lYWXRhMkZ1Wkc4aUxDSmhJam9pWTJwdmVIcHJkR1J4TUhsbWRETjRiRGcwZHpKeE9YYzRkU0o5LkotMm9ocTdqNHlLTmJtNE5fLVA2cXdgLFxuICAgIHtcbiAgICAgIGF0dHJpYnV0aW9uOlxuICAgICAgICAnTWFwIGRhdGEgJmNvcHk7IDxhIGhyZWY9XCJodHRwczovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9cIj5PcGVuU3RyZWV0TWFwPC9hPiBjb250cmlidXRvcnMsIDxhIGhyZWY9XCJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMi4wL1wiPkNDLUJZLVNBPC9hPiwgSW1hZ2VyeSDCqSA8YSBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9cIj5NYXBib3g8L2E+JyxcbiAgICAgIG1heFpvb206IDE4LFxuICAgICAgbWluWm9vbTogMixcbiAgICAgIGlkOiAnbWFwYm94L3N0cmVldHMtdjExJyxcbiAgICAgIHRpbGVTaXplOiA1MTIsXG4gICAgICB6b29tT2Zmc2V0OiAtMSxcbiAgICAgIHVwZGF0ZVdoZW5ab29taW5nOiBmYWxzZSxcbiAgICAgIHVwZGF0ZVdoZW5JZGxlOiBmYWxzZSxcbiAgICB9LFxuICApO1xufTtcbmNvbnN0IGJhc2VNYXBzID0gKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSkgPT4ge1xuICBsZXQgZGVmYXVsdE1hcCA9IGkxOG4udCgnbWFwLmxheWVycy5kZWZhdWx0Jyk7XG4gIGxldCBzYXRlbGxpdGUgPSBpMThuLnQoJ21hcC5sYXllcnMuc2F0ZWxsaXRlJyk7XG4gIHJldHVybiB7XG4gICAgW2RlZmF1bHRNYXBdOiBtYXBTdHlsZShtYXBCb3hTdHlsZSksXG4gICAgW3NhdGVsbGl0ZV06IG1hcFN0eWxlKG1hcEJveFNhdGVsbGl0ZVN0eWxlKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplTWFwID0gKFxuICBtYXBab29tTGV2ZWwsXG4gIG1hcEJveFN0eWxlLFxuICBtYXBCb3hTYXRlbGxpdGVTdHlsZSxcbiAgbWFwUmVmLFxuICBkaXNwYXRjaCxcbiAgaXNWYWxpZEFyZWEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBzZXRNYXBab29tTGV2ZWwsXG4pID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICBtYXBSZWYuY3VycmVudCA9IEwubWFwKCdtYXAnLCB7XG4gICAgY2VudGVyOiBbMCwgMF0sXG4gICAgem9vbVNuYXA6IDEsXG4gICAgem9vbTogbWFwWm9vbUxldmVsLFxuICAgIGF0dHJpYnV0aW9uQ29udHJvbDogZmFsc2UsXG4gICAgcHJlZmVyQ2FudmFzOiB0cnVlLFxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC53aGVuUmVhZHkoKCkgPT4ge1xuICAgIGxldCBtYXAgPSBtYXBSZWYuY3VycmVudDtcbiAgICBMLmNvbnRyb2xcbiAgICAgIC5sYXllcnMoXG4gICAgICAgIGJhc2VNYXBzKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSksXG4gICAgICAgIHt9LFxuICAgICAgICB7IHBvc2l0aW9uOiAnYm90dG9tcmlnaHQnIH0sXG4gICAgICApXG4gICAgICAuYWRkVG8obWFwKTtcbiAgICBtYXBTdHlsZShtYXBCb3hTdHlsZSkuYWRkVG8obWFwKTtcblxuICAgIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIGljb25ab29tQ29udHJvbChtYXApO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2VycicsIGVycik7XG4gICAgICB9XG5cbiAgICAgIGRpc3BhdGNoKHN0b3JlTWFwKG1hcFJlZi5jdXJyZW50KSk7XG4gICAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQodHJ1ZSkpO1xuICAgIH0sIDApO1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAmJiBpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICAgIG1hcFJlZi5jdXJyZW50LmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC5vbignem9vbWVuZCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgem9vbSA9IG1hcFJlZi5jdXJyZW50LmdldFpvb20oKTtcbiAgICBzZXRNYXBab29tTGV2ZWwoem9vbSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHpvb21MZXZlbHMgPSB7XG4gIDE6ICdYTGFyZ2UnLFxuICAyOiAnWExhcmdlJyxcbiAgMzogJ1hMYXJnZScsXG4gIDQ6ICdYTGFyZ2UnLFxuICA1OiAnWExhcmdlJyxcbiAgNjogJ1hMYXJnZScsXG4gIDc6ICdYTGFyZ2UnLFxuICA4OiAnTGFyZ2UnLFxuICA5OiAnTGFyZ2UnLFxuICAxMDogJ0xhcmdlJyxcbiAgMTE6ICdNTGFyZ2UnLFxuICAxMjogJ01MYXJnZScsXG4gIDEzOiAnTUxhcmdlJyxcbiAgMTQ6ICdNZWRpdW0nLFxuICAxNTogJ01lZGl1bScsXG4gIDE2OiAnTWVkaXVtJyxcbiAgMTc6ICdTbWFsbCcsXG4gIDE4OiAnU21hbGwnLFxufTtcbiJdfQ==
311
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJuYW1lcyI6WyJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJpbnZhbGlkYXRlU2l6ZSIsImFyZWEiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsImdsb2JhbF9kYXRhIiwicG9pbnRzIiwiZWRnZXMiLCJtYXAiLCJ1bmRlZmluZWQiLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiYXJlYXMiLCJnbG9iYWwiLCJmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwIiwibGF5ZXJzVG9GaW5kIiwiY3VycmVudExheWVyIiwiaW5jbHVkZXMiLCJrYW5kb19wb2ludF90eXBlIiwiZXZlbnRzQ291bnRlckljb25zIiwibGF5ZXIiLCJ6b29tTGV2ZWwiLCJpY29uIiwib3B0aW9ucyIsImljb25TaXplIiwiZXZlbnRzQ291bnRJY29uIiwiaWNvbkFuY2hvciIsInNldEljb24iLCJzZXRPcGFjaXR5IiwibXVsdGlwbGVMYXllcmVkSWNvbnMiLCJpc0FGZXdMYXllckljb24iLCJrYW5kb19mZXdfbGF5ZXJfaWNvbiIsIm1pbmlJY29uIiwicHJlc2VudCIsImthbmRvX3NlY29uZGFyeSIsImthbmRvX3RoaXJkIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJrYW5kb19pbmRleF9vYmplY3QiLCJidWJibGVJY29uT3B0aW9ucyIsIm9uZUxheWVySWNvbk9wdGlvbnMiLCJtaWRkbGVJY29uT3B0aW9ucyIsInRvcEljb25PcHRpb25zIiwiaWNvblpvb21Db250cm9sIiwibGF5ZXJzIiwiX3pvb20iLCJtYXBTdHlsZSIsIm1hcEJveFN0eWxlIiwidGlsZUxheWVyIiwiYXR0cmlidXRpb24iLCJtYXhab29tIiwibWluWm9vbSIsImlkIiwidGlsZVNpemUiLCJ6b29tT2Zmc2V0IiwidXBkYXRlV2hlblpvb21pbmciLCJ1cGRhdGVXaGVuSWRsZSIsImJhc2VNYXBzIiwibWFwQm94U2F0ZWxsaXRlU3R5bGUiLCJkZWZhdWx0TWFwIiwiaTE4biIsInQiLCJzYXRlbGxpdGUiLCJpbml0aWFsaXplTWFwIiwibWFwWm9vbUxldmVsIiwiZGlzcGF0Y2giLCJzZXRNYXBab29tTGV2ZWwiLCJNYXAiLCJjZW50ZXIiLCJ6b29tU25hcCIsInpvb20iLCJhdHRyaWJ1dGlvbkNvbnRyb2wiLCJwcmVmZXJDYW52YXMiLCJ3aGVuUmVhZHkiLCJjb250cm9sIiwicG9zaXRpb24iLCJhZGRUbyIsIm9uIiwic2V0VGltZW91dCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImUiLCJnZXRab29tIiwiem9vbUxldmVscyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFTyxJQUFNQSxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNDLE1BQUQsRUFBU0MsV0FBVCxFQUFzQkMsY0FBdEIsRUFBeUM7QUFDckUsTUFBSUMsV0FBZ0IsR0FBR0gsTUFBTSxDQUFDSSxPQUE5Qjs7QUFDQSxNQUFJSCxXQUFXLENBQUNDLGNBQUQsQ0FBZixFQUFpQztBQUMvQkMsSUFBQUEsV0FBVyxDQUFDRSxTQUFaLENBQXNCSCxjQUF0QixFQUFzQztBQUFFSSxNQUFBQSxPQUFPLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSjtBQUFYLEtBQXRDO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsUUFBTUMsS0FBWSxHQUFHLEVBQXJCOztBQUVBLFNBQUssSUFBTUMsUUFBWCxJQUF1QkwsV0FBVyxDQUFDTSxPQUFuQyxFQUE0QztBQUMxQyxVQUFJTixXQUFXLENBQUNNLE9BQVosQ0FBb0JELFFBQXBCLEVBQThCRSxZQUE5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OEYsT0FBZixFQUFYO0FBQ0FqQixJQUFBQSxlQUFlLENBQUNJLElBQUQsQ0FBZjtBQUNELEdBTkQ7QUFPRCxDQTNETTs7O0FBNkRBLElBQU1jLFVBQVUsR0FBRztBQUN4QixLQUFHLFFBRHFCO0FBRXhCLEtBQUcsUUFGcUI7QUFHeEIsS0FBRyxRQUhxQjtBQUl4QixLQUFHLFFBSnFCO0FBS3hCLEtBQUcsUUFMcUI7QUFNeEIsS0FBRyxRQU5xQjtBQU94QixLQUFHLFFBUHFCO0FBUXhCLEtBQUcsT0FScUI7QUFTeEIsS0FBRyxPQVRxQjtBQVV4QixNQUFJLE9BVm9CO0FBV3hCLE1BQUksUUFYb0I7QUFZeEIsTUFBSSxRQVpvQjtBQWF4QixNQUFJLFFBYm9CO0FBY3hCLE1BQUksUUFkb0I7QUFleEIsTUFBSSxRQWZvQjtBQWdCeEIsTUFBSSxRQWhCb0I7QUFpQnhCLE1BQUksT0FqQm9CO0FBa0J4QixNQUFJO0FBbEJvQixDQUFuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IFBvaW50VHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IHNpZGVOYXZFeHBhbmRlZCwgc3RvcmVNYXAgfSBmcm9tICcuLi8uLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuXG5leHBvcnQgY29uc3QgYXJlYUZvY3VzTG9naWMgPSAobWFwUmVmLCBpc1ZhbGlkQXJlYSwgYXJlYVRvQ2VudGVyQnkpID0+IHtcbiAgbGV0IG1hcEluc3RhbmNlOiBhbnkgPSBtYXBSZWYuY3VycmVudDtcbiAgaWYgKGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgIG1hcEluc3RhbmNlLmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSwgeyBwYWRkaW5nOiBbMCwgMF0gfSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZ3JvdXA6IGFueVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIG1hcEluc3RhbmNlLl9sYXllcnMpIHtcbiAgICAgIGlmIChtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdBcmVhJykge1xuICAgICAgICBncm91cC5wdXNoKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpKS5sZW5ndGggIT09IDApIHtcbiAgICAgIG1hcEluc3RhbmNlLmZpdEJvdW5kcyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCksIHtcbiAgICAgICAgcGFkZGluZzogWzEwMCwgMTAwXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBtYXBJbnN0YW5jZS5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkQXJlYSA9IChhcmVhKSA9PiB7XG4gIHJldHVybiBhcmVhICYmIGFyZWEubGVuZ3RoID4gMCAmJiBPYmplY3Qua2V5cyhhcmVhWzBdKS5sZW5ndGggPiAwO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VsZExvYWRNYXBPYmplY3RzID0gKGdsb2JhbF9kYXRhLCBtYXBSZWYsIHBvaW50cywgZWRnZXMpID0+IHtcbiAgcmV0dXJuIChcbiAgICBnbG9iYWxfZGF0YS5tYXAgIT09IHVuZGVmaW5lZCAmJlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXMgIT09IHVuZGVmaW5lZCAmJlxuICAgIHBvaW50cyAhPT0gdW5kZWZpbmVkXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyA9IChlZGdlcywgYXJlYXMsIGdsb2JhbCwgbWFwUmVmKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcy5sZW5ndGggIT09IDAgJiZcbiAgICBhcmVhcy5sZW5ndGggIT09IDBcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwID0gKFxuICBsYXllcnNUb0ZpbmQ6IHN0cmluZ1tdLFxuICBjdXJyZW50TGF5ZXIsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBsYXllcnNUb0ZpbmQuaW5jbHVkZXMoY3VycmVudExheWVyLmthbmRvX29iamVjdCkgJiZcbiAgICBjdXJyZW50TGF5ZXIua2FuZG9fcG9pbnRfdHlwZSAhPT0gJ01hbmhvbGUnXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRlckljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25TaXplO1xuICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gIGxheWVyLnNldEljb24oaWNvbik7XG4gIGxheWVyLnNldE9wYWNpdHkoMSk7XG59O1xuXG5leHBvcnQgY29uc3QgbXVsdGlwbGVMYXllcmVkSWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgbGV0IGlzQUZld0xheWVySWNvbiA9IGxheWVyLmthbmRvX2Zld19sYXllcl9pY29uO1xuICBsZXQgbWluaUljb24gPSB7XG4gICAgcHJlc2VudDogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5IHx8IGxheWVyLmthbmRvX3RoaXJkLFxuICAgIHNlY29uZGFyeTogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5LFxuICAgIHRoaXJkOiBsYXllci5rYW5kb190aGlyZCxcbiAgfTtcblxuICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAwKSB7XG4gICAgaWYgKGlzQUZld0xheWVySWNvbikge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gYnViYmxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGJ1YmJsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAxKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBtaWRkbGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gbWlkZGxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfVxuXG4gIGxheWVyLnNldEljb24oaWNvbik7XG59O1xuXG5jb25zdCBvbmVMYXllckljb25PcHRpb25zID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMy4zLCB6b29tTGV2ZWwgKiAzLjNdLFxuICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjcsIHpvb21MZXZlbCAqIDMuN10sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRJY29uID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWJibGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdLFxuICAgICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10sXG4gICAgICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiAyXSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDMuOTgsIHpvb21MZXZlbCAqIDQuM10sXG4gICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMiwgem9vbUxldmVsICogNF0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG1pZGRsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAzLjVdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMS41XSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAxLjI5NSwgem9vbUxldmVsICogMy4zNV0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHRvcEljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDAuOSwgem9vbUxldmVsICogMS44XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjUsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuNiwgem9vbUxldmVsICogMi41XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjIsIHpvb21MZXZlbCAqIDIuMV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjksIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogMy44XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaWNvblpvb21Db250cm9sID0gKG1hcCkgPT4ge1xuICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gIGxldCB6b29tTGV2ZWwgPSBtYXAuX3pvb207XG5cbiAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ0ljb25OdW1iZXInXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIGV2ZW50c0NvdW50ZXJJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnUG9pbnQnLCAnSWNvbiddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnU2FtcGxpbmcnLCAnT2JzZXJ2YXRpb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSlcbiAgICApIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuICB9XG59O1xuXG5jb25zdCBtYXBTdHlsZSA9IChtYXBCb3hTdHlsZSkgPT4ge1xuICByZXR1cm4gTC50aWxlTGF5ZXIoXG4gICAgYGh0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL25hZGF2LWthbmRvLyR7bWFwQm94U3R5bGV9L3RpbGVzLzI1Ni97en0ve3h9L3t5fUAyeD9hY2Nlc3NfdG9rZW49cGsuZXlKMUlqb2libUZrWVhZdGEyRnVaRzhpTENKaElqb2lZMnB2ZUhwcmRHUnhNSGxtZERONGJEZzBkekp4T1hjNGRTSjkuSi0yb2hxN2o0eUtOYm00Tl8tUDZxd2AsXG4gICAge1xuICAgICAgYXR0cmlidXRpb246XG4gICAgICAgICdNYXAgZGF0YSAmY29weTsgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL1wiPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycywgPGEgaHJlZj1cImh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8yLjAvXCI+Q0MtQlktU0E8L2E+LCBJbWFnZXJ5IMKpIDxhIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL1wiPk1hcGJveDwvYT4nLFxuICAgICAgbWF4Wm9vbTogMTgsXG4gICAgICBtaW5ab29tOiAyLFxuICAgICAgaWQ6ICdtYXBib3gvc3RyZWV0cy12MTEnLFxuICAgICAgdGlsZVNpemU6IDUxMixcbiAgICAgIHpvb21PZmZzZXQ6IC0xLFxuICAgICAgdXBkYXRlV2hlblpvb21pbmc6IGZhbHNlLFxuICAgICAgdXBkYXRlV2hlbklkbGU6IGZhbHNlLFxuICAgIH0sXG4gICk7XG59O1xuY29uc3QgYmFzZU1hcHMgPSAobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKSA9PiB7XG4gIGxldCBkZWZhdWx0TWFwID0gaTE4bi50KCdtYXAubGF5ZXJzLmRlZmF1bHQnKTtcbiAgbGV0IHNhdGVsbGl0ZSA9IGkxOG4udCgnbWFwLmxheWVycy5zYXRlbGxpdGUnKTtcbiAgcmV0dXJuIHtcbiAgICBbZGVmYXVsdE1hcF06IG1hcFN0eWxlKG1hcEJveFN0eWxlKSxcbiAgICBbc2F0ZWxsaXRlXTogbWFwU3R5bGUobWFwQm94U2F0ZWxsaXRlU3R5bGUpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVNYXAgPSAoXG4gIG1hcFpvb21MZXZlbCxcbiAgbWFwQm94U3R5bGUsXG4gIG1hcEJveFNhdGVsbGl0ZVN0eWxlLFxuICBtYXBSZWYsXG4gIGRpc3BhdGNoLFxuICBpc1ZhbGlkQXJlYSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIHNldE1hcFpvb21MZXZlbCxcbikgPT4ge1xuICAvLyBAdHMtaWdub3JlXG4gIG1hcFJlZi5jdXJyZW50ID0gbmV3IEwuTWFwKCdtYXAnLCB7XG4gICAgY2VudGVyOiBbMCwgMF0sXG4gICAgem9vbVNuYXA6IDEsXG4gICAgem9vbTogbWFwWm9vbUxldmVsLFxuICAgIGF0dHJpYnV0aW9uQ29udHJvbDogZmFsc2UsXG4gICAgcHJlZmVyQ2FudmFzOiB0cnVlLFxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC53aGVuUmVhZHkoKCkgPT4ge1xuICAgIGxldCBtYXAgPSBtYXBSZWYuY3VycmVudDtcbiAgICBMLmNvbnRyb2xcbiAgICAgIC5sYXllcnMoXG4gICAgICAgIGJhc2VNYXBzKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSksXG4gICAgICAgIHt9LFxuICAgICAgICB7IHBvc2l0aW9uOiAnYm90dG9tcmlnaHQnIH0sXG4gICAgICApXG4gICAgICAuYWRkVG8obWFwKTtcbiAgICBtYXBTdHlsZShtYXBCb3hTdHlsZSkuYWRkVG8obWFwKTtcblxuICAgIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIGljb25ab29tQ29udHJvbChtYXApO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2VycicsIGVycik7XG4gICAgICB9XG5cbiAgICAgIGRpc3BhdGNoKHN0b3JlTWFwKG1hcFJlZi5jdXJyZW50KSk7XG4gICAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQodHJ1ZSkpO1xuICAgIH0sIDApO1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAmJiBpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICAgIG1hcFJlZi5jdXJyZW50LmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC5vbignem9vbWVuZCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgem9vbSA9IG1hcFJlZi5jdXJyZW50LmdldFpvb20oKTtcbiAgICBzZXRNYXBab29tTGV2ZWwoem9vbSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHpvb21MZXZlbHMgPSB7XG4gIDE6ICdYTGFyZ2UnLFxuICAyOiAnWExhcmdlJyxcbiAgMzogJ1hMYXJnZScsXG4gIDQ6ICdYTGFyZ2UnLFxuICA1OiAnWExhcmdlJyxcbiAgNjogJ1hMYXJnZScsXG4gIDc6ICdYTGFyZ2UnLFxuICA4OiAnTGFyZ2UnLFxuICA5OiAnTGFyZ2UnLFxuICAxMDogJ0xhcmdlJyxcbiAgMTE6ICdNTGFyZ2UnLFxuICAxMjogJ01MYXJnZScsXG4gIDEzOiAnTUxhcmdlJyxcbiAgMTQ6ICdNZWRpdW0nLFxuICAxNTogJ01lZGl1bScsXG4gIDE2OiAnTWVkaXVtJyxcbiAgMTc6ICdTbWFsbCcsXG4gIDE4OiAnU21hbGwnLFxufTtcbiJdfQ==
@@ -39,11 +39,9 @@ var iconHtml = function iconHtml(imageUrl, title, subtitle, clicked, type, hideT
39
39
  var text = title ? "<div class=\"icon-title\">".concat(title, "</div>") : '';
40
40
  text += subtitle ? "<div class=\"icon-subtitle\">".concat(subtitle, "</div>") : '';
41
41
  var colorClass = getColorClass(type);
42
-
43
- var icon = _leaflet.default.divIcon({
42
+ var icon = new _leaflet.default.DivIcon({
44
43
  html: "<div class=\"icon-holder ".concat(clicked ? 'clicked' : '', "\">\n <img class=\"centered-svg\" src=\"").concat(imageUrl, "\">\n <div class=\"icon-text ").concat(hideText ? 'hidden-text' : '', " ").concat(colorClass, "\">\n ").concat(text, "\n </div>\n </div>")
45
44
  });
46
-
47
45
  return icon;
48
46
  };
49
47
 
@@ -54,4 +52,4 @@ var getColorClass = function getColorClass(type) {
54
52
 
55
53
  var _default = PointIcon;
56
54
  exports.default = _default;
57
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRJY29uLnRzeCJdLCJuYW1lcyI6WyJQb2ludEljb24iLCJpbWFnZVVybCIsImdldFBvaW50SWNvbkJ5VHlwZSIsInR5cGUiLCJ0aXRsZSIsInN1YnRpdGxlIiwiY2xpY2tlZCIsImhpZGVUZXh0IiwiaWNvbiIsImRlZmF1bHQiLCJpY29uSHRtbCIsInRleHQiLCJjb2xvckNsYXNzIiwiZ2V0Q29sb3JDbGFzcyIsIkwiLCJkaXZJY29uIiwiaHRtbCIsImNvbG9yIiwic3BsaXQiLCJ0b0xvd2VyQ2FzZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsU0FBUyxHQUFHLFNBQVpBLFNBQVksT0FBa0I7QUFBQSxNQUFmQyxRQUFlLFFBQWZBLFFBQWU7QUFDbEMsc0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGtCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUMsY0FBZjtBQUE4QixJQUFBLEdBQUcsRUFBRUEsUUFBbkM7QUFBNkMsSUFBQSxHQUFHLEVBQUM7QUFBakQsSUFERixDQURGO0FBS0QsQ0FORDs7QUFRTyxJQUFNQyxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQXFCLENBQ2hDQyxJQURnQyxFQUVoQ0MsS0FGZ0MsRUFHaENDLFFBSGdDLEVBTTdCO0FBQUEsTUFGSEMsT0FFRyx1RUFGZ0IsS0FFaEI7QUFBQSxNQURIQyxRQUNHLHVFQURpQixLQUNqQjtBQUNILE1BQUlDLElBQUksR0FBR0YsT0FBTyxHQUNkLDRCQUFnQkgsSUFBaEIsRUFBc0JHLE9BRFIsR0FFZCw0QkFBZ0JILElBQWhCLEVBQXNCTSxPQUYxQjtBQUdBLFNBQU9DLFFBQVEsQ0FBQ0YsSUFBRCxFQUFPSixLQUFQLEVBQWNDLFFBQWQsRUFBd0JDLE9BQXhCLEVBQWlDSCxJQUFqQyxFQUF1Q0ksUUFBdkMsQ0FBZjtBQUNELENBWE07Ozs7QUFhUCxJQUFNRyxRQUFRLEdBQUcsU0FBWEEsUUFBVyxDQUNmVCxRQURlLEVBRWZHLEtBRmUsRUFHZkMsUUFIZSxFQUlmQyxPQUplLEVBS2ZILElBTGUsRUFNZkksUUFOZSxFQU9aO0FBQ0gsTUFBSUksSUFBSSxHQUFHUCxLQUFLLHVDQUE4QkEsS0FBOUIsY0FBOEMsRUFBOUQ7QUFDQU8sRUFBQUEsSUFBSSxJQUFJTixRQUFRLDBDQUFpQ0EsUUFBakMsY0FBb0QsRUFBcEU7QUFFQSxNQUFNTyxVQUFVLEdBQUdDLGFBQWEsQ0FBQ1YsSUFBRCxDQUFoQzs7QUFFQSxNQUFNSyxJQUFJLEdBQUdNLGlCQUFFQyxPQUFGLENBQVU7QUFDckJDLElBQUFBLElBQUkscUNBQTZCVixPQUFPLEdBQUcsU0FBSCxHQUFlLEVBQW5ELG9FQUN5Q0wsUUFEekMseURBR1VNLFFBQVEsR0FBRyxhQUFILEdBQW1CLEVBSHJDLGVBSWFLLFVBSmIsc0NBS2NELElBTGQ7QUFEaUIsR0FBVixDQUFiOztBQVdBLFNBQU9ILElBQVA7QUFDRCxDQXpCRDs7QUEyQkEsSUFBTUssYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDVixJQUFELEVBQWtCO0FBQ3RDLE1BQUljLEtBQUssR0FBR2QsSUFBSSxDQUFDZSxLQUFMLENBQVcsSUFBWCxFQUFpQixDQUFqQixFQUFvQkMsV0FBcEIsRUFBWjtBQUNBLFNBQU8sZ0JBQWdCRixLQUF2QjtBQUNELENBSEQ7O2VBS2VqQixTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCAnLi9Qb2ludEljb24uc2Nzcyc7XG5pbXBvcnQgeyBtYXRjaEljb25Ub1NpdGUgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvbWFwL2ljb25zJztcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuXG5jb25zdCBQb2ludEljb24gPSAoeyBpbWFnZVVybCB9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJ3aGl0ZS1jaXJjbGVcIj5cbiAgICAgIDxpbWcgY2xhc3NOYW1lPVwiY2VudGVyZWQtc3ZnXCIgc3JjPXtpbWFnZVVybH0gYWx0PVwicG9pbnQgaWNvblwiIC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UG9pbnRJY29uQnlUeXBlID0gKFxuICB0eXBlOiBzdHJpbmcsXG4gIHRpdGxlOiBzdHJpbmcsXG4gIHN1YnRpdGxlOiBzdHJpbmcsXG4gIGNsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZSxcbiAgaGlkZVRleHQ6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICBsZXQgaWNvbiA9IGNsaWNrZWRcbiAgICA/IG1hdGNoSWNvblRvU2l0ZSh0eXBlKS5jbGlja2VkXG4gICAgOiBtYXRjaEljb25Ub1NpdGUodHlwZSkuZGVmYXVsdDtcbiAgcmV0dXJuIGljb25IdG1sKGljb24sIHRpdGxlLCBzdWJ0aXRsZSwgY2xpY2tlZCwgdHlwZSwgaGlkZVRleHQpO1xufTtcblxuY29uc3QgaWNvbkh0bWwgPSAoXG4gIGltYWdlVXJsOiBzdHJpbmcsXG4gIHRpdGxlOiBzdHJpbmcsXG4gIHN1YnRpdGxlOiBzdHJpbmcsXG4gIGNsaWNrZWQ6IGJvb2xlYW4sXG4gIHR5cGU6IHN0cmluZyxcbiAgaGlkZVRleHQ6IGJvb2xlYW4sXG4pID0+IHtcbiAgbGV0IHRleHQgPSB0aXRsZSA/IGA8ZGl2IGNsYXNzPVwiaWNvbi10aXRsZVwiPiR7dGl0bGV9PC9kaXY+YCA6ICcnO1xuICB0ZXh0ICs9IHN1YnRpdGxlID8gYDxkaXYgY2xhc3M9XCJpY29uLXN1YnRpdGxlXCI+JHtzdWJ0aXRsZX08L2Rpdj5gIDogJyc7XG5cbiAgY29uc3QgY29sb3JDbGFzcyA9IGdldENvbG9yQ2xhc3ModHlwZSk7XG5cbiAgY29uc3QgaWNvbiA9IEwuZGl2SWNvbih7XG4gICAgaHRtbDogYDxkaXYgY2xhc3M9XCJpY29uLWhvbGRlciAke2NsaWNrZWQgPyAnY2xpY2tlZCcgOiAnJ31cIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiY2VudGVyZWQtc3ZnXCIgc3JjPVwiJHtpbWFnZVVybH1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZXh0ICR7XG4gICAgICAgICAgICAgICAgICBoaWRlVGV4dCA/ICdoaWRkZW4tdGV4dCcgOiAnJ1xuICAgICAgICAgICAgICAgIH0gICR7Y29sb3JDbGFzc31cIj5cbiAgICAgICAgICAgICAgICAgICAgJHt0ZXh0fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+YCxcbiAgfSk7XG5cbiAgcmV0dXJuIGljb247XG59O1xuXG5jb25zdCBnZXRDb2xvckNsYXNzID0gKHR5cGU6IHN0cmluZykgPT4ge1xuICBsZXQgY29sb3IgPSB0eXBlLnNwbGl0KCc6OicpWzFdLnRvTG93ZXJDYXNlKCk7XG4gIHJldHVybiAnY29sb3ItdGV4dC0nICsgY29sb3I7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBQb2ludEljb247XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRJY29uLnRzeCJdLCJuYW1lcyI6WyJQb2ludEljb24iLCJpbWFnZVVybCIsImdldFBvaW50SWNvbkJ5VHlwZSIsInR5cGUiLCJ0aXRsZSIsInN1YnRpdGxlIiwiY2xpY2tlZCIsImhpZGVUZXh0IiwiaWNvbiIsImRlZmF1bHQiLCJpY29uSHRtbCIsInRleHQiLCJjb2xvckNsYXNzIiwiZ2V0Q29sb3JDbGFzcyIsIkwiLCJEaXZJY29uIiwiaHRtbCIsImNvbG9yIiwic3BsaXQiLCJ0b0xvd2VyQ2FzZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUEsSUFBTUEsU0FBUyxHQUFHLFNBQVpBLFNBQVksT0FBa0I7QUFBQSxNQUFmQyxRQUFlLFFBQWZBLFFBQWU7QUFDbEMsc0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLGtCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUMsY0FBZjtBQUE4QixJQUFBLEdBQUcsRUFBRUEsUUFBbkM7QUFBNkMsSUFBQSxHQUFHLEVBQUM7QUFBakQsSUFERixDQURGO0FBS0QsQ0FORDs7QUFRTyxJQUFNQyxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQXFCLENBQ2hDQyxJQURnQyxFQUVoQ0MsS0FGZ0MsRUFHaENDLFFBSGdDLEVBTTdCO0FBQUEsTUFGSEMsT0FFRyx1RUFGZ0IsS0FFaEI7QUFBQSxNQURIQyxRQUNHLHVFQURpQixLQUNqQjtBQUNILE1BQUlDLElBQUksR0FBR0YsT0FBTyxHQUNkLDRCQUFnQkgsSUFBaEIsRUFBc0JHLE9BRFIsR0FFZCw0QkFBZ0JILElBQWhCLEVBQXNCTSxPQUYxQjtBQUdBLFNBQU9DLFFBQVEsQ0FBQ0YsSUFBRCxFQUFPSixLQUFQLEVBQWNDLFFBQWQsRUFBd0JDLE9BQXhCLEVBQWlDSCxJQUFqQyxFQUF1Q0ksUUFBdkMsQ0FBZjtBQUNELENBWE07Ozs7QUFhUCxJQUFNRyxRQUFRLEdBQUcsU0FBWEEsUUFBVyxDQUNmVCxRQURlLEVBRWZHLEtBRmUsRUFHZkMsUUFIZSxFQUlmQyxPQUplLEVBS2ZILElBTGUsRUFNZkksUUFOZSxFQU9aO0FBQ0gsTUFBSUksSUFBSSxHQUFHUCxLQUFLLHVDQUE4QkEsS0FBOUIsY0FBOEMsRUFBOUQ7QUFDQU8sRUFBQUEsSUFBSSxJQUFJTixRQUFRLDBDQUFpQ0EsUUFBakMsY0FBb0QsRUFBcEU7QUFFQSxNQUFNTyxVQUFVLEdBQUdDLGFBQWEsQ0FBQ1YsSUFBRCxDQUFoQztBQUVBLE1BQU1LLElBQUksR0FBRyxJQUFJTSxpQkFBRUMsT0FBTixDQUFjO0FBQ3pCQyxJQUFBQSxJQUFJLHFDQUE2QlYsT0FBTyxHQUFHLFNBQUgsR0FBZSxFQUFuRCxvRUFDeUNMLFFBRHpDLHlEQUdVTSxRQUFRLEdBQUcsYUFBSCxHQUFtQixFQUhyQyxlQUlhSyxVQUpiLHNDQUtjRCxJQUxkO0FBRHFCLEdBQWQsQ0FBYjtBQVdBLFNBQU9ILElBQVA7QUFDRCxDQXpCRDs7QUEyQkEsSUFBTUssYUFBYSxHQUFHLFNBQWhCQSxhQUFnQixDQUFDVixJQUFELEVBQWtCO0FBQ3RDLE1BQUljLEtBQUssR0FBR2QsSUFBSSxDQUFDZSxLQUFMLENBQVcsSUFBWCxFQUFpQixDQUFqQixFQUFvQkMsV0FBcEIsRUFBWjtBQUNBLFNBQU8sZ0JBQWdCRixLQUF2QjtBQUNELENBSEQ7O2VBS2VqQixTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCAnLi9Qb2ludEljb24uc2Nzcyc7XG5pbXBvcnQgeyBtYXRjaEljb25Ub1NpdGUgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvbWFwL2ljb25zJztcbmltcG9ydCBMIGZyb20gJ2xlYWZsZXQnO1xuXG5jb25zdCBQb2ludEljb24gPSAoeyBpbWFnZVVybCB9KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJ3aGl0ZS1jaXJjbGVcIj5cbiAgICAgIDxpbWcgY2xhc3NOYW1lPVwiY2VudGVyZWQtc3ZnXCIgc3JjPXtpbWFnZVVybH0gYWx0PVwicG9pbnQgaWNvblwiIC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UG9pbnRJY29uQnlUeXBlID0gKFxuICB0eXBlOiBzdHJpbmcsXG4gIHRpdGxlOiBzdHJpbmcsXG4gIHN1YnRpdGxlOiBzdHJpbmcsXG4gIGNsaWNrZWQ6IGJvb2xlYW4gPSBmYWxzZSxcbiAgaGlkZVRleHQ6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICBsZXQgaWNvbiA9IGNsaWNrZWRcbiAgICA/IG1hdGNoSWNvblRvU2l0ZSh0eXBlKS5jbGlja2VkXG4gICAgOiBtYXRjaEljb25Ub1NpdGUodHlwZSkuZGVmYXVsdDtcbiAgcmV0dXJuIGljb25IdG1sKGljb24sIHRpdGxlLCBzdWJ0aXRsZSwgY2xpY2tlZCwgdHlwZSwgaGlkZVRleHQpO1xufTtcblxuY29uc3QgaWNvbkh0bWwgPSAoXG4gIGltYWdlVXJsOiBzdHJpbmcsXG4gIHRpdGxlOiBzdHJpbmcsXG4gIHN1YnRpdGxlOiBzdHJpbmcsXG4gIGNsaWNrZWQ6IGJvb2xlYW4sXG4gIHR5cGU6IHN0cmluZyxcbiAgaGlkZVRleHQ6IGJvb2xlYW4sXG4pID0+IHtcbiAgbGV0IHRleHQgPSB0aXRsZSA/IGA8ZGl2IGNsYXNzPVwiaWNvbi10aXRsZVwiPiR7dGl0bGV9PC9kaXY+YCA6ICcnO1xuICB0ZXh0ICs9IHN1YnRpdGxlID8gYDxkaXYgY2xhc3M9XCJpY29uLXN1YnRpdGxlXCI+JHtzdWJ0aXRsZX08L2Rpdj5gIDogJyc7XG5cbiAgY29uc3QgY29sb3JDbGFzcyA9IGdldENvbG9yQ2xhc3ModHlwZSk7XG5cbiAgY29uc3QgaWNvbiA9IG5ldyBMLkRpdkljb24oe1xuICAgIGh0bWw6IGA8ZGl2IGNsYXNzPVwiaWNvbi1ob2xkZXIgJHtjbGlja2VkID8gJ2NsaWNrZWQnIDogJyd9XCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImNlbnRlcmVkLXN2Z1wiIHNyYz1cIiR7aW1hZ2VVcmx9XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24tdGV4dCAke1xuICAgICAgICAgICAgICAgICAgaGlkZVRleHQgPyAnaGlkZGVuLXRleHQnIDogJydcbiAgICAgICAgICAgICAgICB9ICAke2NvbG9yQ2xhc3N9XCI+XG4gICAgICAgICAgICAgICAgICAgICR7dGV4dH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PmAsXG4gIH0pO1xuXG4gIHJldHVybiBpY29uO1xufTtcblxuY29uc3QgZ2V0Q29sb3JDbGFzcyA9ICh0eXBlOiBzdHJpbmcpID0+IHtcbiAgbGV0IGNvbG9yID0gdHlwZS5zcGxpdCgnOjonKVsxXS50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gJ2NvbG9yLXRleHQtJyArIGNvbG9yO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUG9pbnRJY29uO1xuIl19
@@ -111,17 +111,15 @@ var createBubblePoint = function createBubblePoint(markerLocation, point, map, h
111
111
  exports.createBubblePoint = createBubblePoint;
112
112
 
113
113
  var createManholePoint = function createManholePoint(markerLocation, point, map, hovered, layerGroup) {
114
- var pointIcon = _leaflet.default.icon({
114
+ var pointIcon = new _leaflet.default.Icon({
115
115
  iconUrl: _whitePoint.default,
116
116
  iconSize: [9, 9],
117
117
  iconAnchor: [4.5, 4.5]
118
118
  });
119
-
120
- var manholeIcon = _leaflet.default.marker(markerLocation, {
119
+ var manholeIcon = new _leaflet.default.Marker(markerLocation, {
121
120
  icon: pointIcon,
122
121
  riseOnHover: true
123
122
  });
124
-
125
123
  manholeIcon.bindTooltip(buildManholeTootipString(point));
126
124
  manholeIcon['kando_object_id'] = point.id;
127
125
  manholeIcon['kando_object'] = 'Point';
@@ -459,4 +457,4 @@ var addLayerGroup = function addLayerGroup(map, layerGroup) {
459
457
  };
460
458
 
461
459
  exports.addLayerGroup = addLayerGroup;
462
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRVdGlscy50cyJdLCJuYW1lcyI6WyJpc0NvbGxlY3RvckZvY3VzZWQiLCJwb2ludCIsImV2ZW50Iiwib2JzZXJ2YXRpb25zIiwibGVuZ3RoIiwiaWQiLCJwb2ludF9pZCIsImJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyIsInN0cmluZyIsImdyb3VwIiwibmFtZSIsInR5cGUiLCJzZWN0b3JfbmFtZSIsIndhdGVyX2NvbnN1bXB0aW9uX3Blcl9kYXkiLCJjcmVhdGVCdWJibGVQb2ludCIsIm1hcmtlckxvY2F0aW9uIiwibWFwIiwiaG92ZXJlZCIsImxheWVyR3JvdXAiLCJzdWJ0aXRsZSIsInBvaW50Q3VzdG9tSWNvbiIsIkwiLCJtYXJrZXIiLCJpY29uIiwicmlzZU9uSG92ZXIiLCJhZGRMYXllciIsInJlbGF0ZWRFdmVudHNBbW91bnQiLCJkaXZJY29uIiwiY2xhc3NOYW1lIiwiaHRtbCIsImljb25BbmNob3IiLCJfem9vbSIsIm9wYWNpdHkiLCJjcmVhdGVNYW5ob2xlUG9pbnQiLCJwb2ludEljb24iLCJpY29uVXJsIiwid2hpdGVQb2ludCIsImljb25TaXplIiwibWFuaG9sZUljb24iLCJiaW5kVG9vbHRpcCIsIm1hdGNoSWNvblRvUG9pbnQiLCJjb21iaW5lZEZhY3RvcnlJY29uIiwibWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UiLCJ1bnNoaWZ0Iiwic2VsZWN0ZWRCYWNrZ3JvdW5kIiwibWFya2VyQmVsb25nc1RvU291cmNlIiwiYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCIsInN0YW5kYXJkQmFja2dyb3VuZCIsImNvbWJpbmVkUHVtcFN0YXRpb25JY29uIiwiY29tYmluZWRXV1RQSWNvbiIsInJlZFBpblJlZFNoYWRvdyIsIndhdGVySWNvbk5vQmFja2dyb3VuZCIsInBvcHVwQW5jaG9yIiwiY29tYmluZWRDb2xsZWN0b3JzSWNvbiIsInNlY29uZGFyeSIsInRoaXJkIiwid2hpdGVQaW5CbGFja1NoYWRvdyIsInllbGxvd0NpcmNsZVVSTCIsInBsYW50SWNvblVSTCIsImdyZWVuQ2lyY2xlVVJMIiwicHVtcFN0YXRpb25JY29uVVJMIiwiY29sbGVjdG9ySWNvbiIsImJyaWdodEJsdWVDaXJjbGVVUkwiLCJXV1RQSWNvblVSTCIsIndoaXRlUGluUmVkU2hhZG93Iiwic291cmNlIiwidW5kZWZpbmVkIiwic291cmNlcyIsImZpbHRlciIsInNlbGVjdGVkX3NvdXJjZSIsImNyZWF0ZVNhbXBsaW5nSWNvblBvaW50Iiwic2Vjb25kYXJ5SWNvbiIsInNhbXBsaW5nSWNvbiIsImJsdWVDaXJjbGVVUkwiLCJzYW1wbGluZ0ljb25VUkwiLCJ0aGlyZEljb24iLCJmb3JFYWNoIiwiaW5kZXgiLCJjcmVhdGVPYnNlcnZhdGlvbkljb25Qb2ludCIsIm9ic2VydmF0aW9uSWNvbiIsInBpbmtDaXJjbGVVUkwiLCJvYnNlcnZhdGlvbkljb25VUkwiLCJjcmVhdGVTYW1wbGluZ0ljb25zIiwic2FtcGxlZFBvaW50SWRzIiwic2FtcGxpbmdzIiwicyIsImluY2x1ZGVzIiwicG9wdXBDb250ZW50Iiwib2JzIiwiR3JhcGhJY29uIiwiaTE4biIsInQiLCJzZXZlcml0eSIsImhhbmRsZU1hcmtlckNsaWNrIiwic2V0SWNvbiIsImVsZW1lbnQiLCJjbGlja2VkIiwibGF5ZXIiLCJvbiIsIm9yaWdpbmFsbHlDbGlja2VkRWxlbWVudCIsImNsb3NlUG9wdXAiLCJhbnlQb3RlbnRpYWxNYXBFbGVtZW50IiwiX2xlYWZsZXRfaWQiLCJzZXRUaW1lb3V0IiwiYmluZFBvcHVwVG9NYXJrZXIiLCJjb250ZW50Iiwid2F0ZXJSZXVzZUljb24iLCJiaW5kUG9wdXAiLCJtaW5XaWR0aCIsIm1heFdpZHRoIiwiY2xvc2VCdXR0b24iLCJyZW1vdmVMYXllckdyb3VwIiwiaGFzTGF5ZXIiLCJyZW1vdmVMYXllciIsImFkZExheWVyR3JvdXAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7Ozs7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aUIsR0FBRyxTQUFwQkEsaUJBQW9CLENBQUN2RyxLQUFELEVBQVFpQixVQUFSLEVBQXVCO0FBQ3RELE1BQUl1RixPQUFPLHNOQUtLeEcsS0FBSyxDQUFDUyxJQUxYLHlGQVFLVCxLQUFLLENBQUNRLEtBQU4sQ0FBWUcsV0FSakIsNFBBZ0JtQjhGLG9CQWhCbkIsa0xBb0JPekcsS0FBSyxDQUFDUSxLQUFOLENBQVlJLHlCQXBCbkIsY0FxQlM2RSxjQUFLQyxDQUFMLENBQU8scUJBQVAsQ0FyQlQsK0ZBc0IrREQsY0FBS0MsQ0FBTCxDQUN4RCxpQkFEd0QsQ0F0Qi9ELHlGQUFYO0FBK0JBekUsRUFBQUEsVUFBVSxDQUFDeUYsU0FBWCxDQUFxQkYsT0FBckIsRUFBOEI7QUFDNUI3RSxJQUFBQSxTQUFTLEVBQUUsb0JBRGlCO0FBRTVCZ0YsSUFBQUEsUUFBUSxFQUFFLE9BRmtCO0FBRzVCQyxJQUFBQSxRQUFRLEVBQUUsT0FIa0I7QUFJNUJDLElBQUFBLFdBQVcsRUFBRTtBQUplLEdBQTlCO0FBTUQsQ0F0Q007Ozs7QUF3Q0EsSUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFtQixDQUFDL0YsR0FBRCxFQUFNRSxVQUFOLEVBQXFCO0FBQ25ELE1BQUlGLEdBQUcsQ0FBQ2dHLFFBQUosQ0FBYTlGLFVBQWIsQ0FBSixFQUE4QjtBQUM1QkYsSUFBQUEsR0FBRyxDQUFDaUcsV0FBSixDQUFnQi9GLFVBQWhCO0FBQ0Q7QUFDRixDQUpNOzs7O0FBTUEsSUFBTWdHLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsQ0FBQ2xHLEdBQUQsRUFBTUUsVUFBTixFQUFxQjtBQUNoRCxNQUFJLENBQUNGLEdBQUcsQ0FBQ2dHLFFBQUosQ0FBYTlGLFVBQWIsQ0FBTCxFQUErQjtBQUM3QkYsSUFBQUEsR0FBRyxDQUFDUyxRQUFKLENBQWFQLFVBQWI7QUFDRDtBQUNGLENBSk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR3JhcGhJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9saW5lLWNoYXJ0LnN2Zyc7XG5pbXBvcnQgTCwgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgc2FtcGxpbmdJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9zYW1wbGluZy1pY29uLnN2Zyc7XG5pbXBvcnQgcGlua0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcGluay1jaXJjbGUuc3ZnJztcbmltcG9ydCBvYnNlcnZhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL29ic2VydmF0aW9uLWljb24uc3ZnJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCByZWRQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3JlZC1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluUmVkU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93aGl0ZS1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluQmxhY2tTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1ibGFjay1zaGFkb3cucG5nJztcbmltcG9ydCB5ZWxsb3dDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3llbGxvdy1jaXJjbGUuc3ZnJztcbmltcG9ydCBwbGFudEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2ZhY3RvcnktaWNvbi5zdmcnO1xuaW1wb3J0IGdyZWVuQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9ncmVlbi1jaXJjbGUuc3ZnJztcbmltcG9ydCBwdW1wU3RhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3B1bXAtc3RhdGlvbi1pY29uLnN2Zyc7XG5pbXBvcnQgY29sbGVjdG9ySWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvbWFwL3Bpbi13YXRlci5zdmcnO1xuaW1wb3J0IGJyaWdodEJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JyaWdodC1ibHVlLWNpcmNsZS5zdmcnO1xuaW1wb3J0IFdXVFBJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9XV1RQLWljb24uc3ZnJztcbmltcG9ydCB3YXRlckljb25Ob0JhY2tncm91bmQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3dhdGVyLW5vLWJhY2tncm91bmQuc3ZnJztcbmltcG9ydCB3aGl0ZVBvaW50IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy93aGl0ZS1wb2ludC5wbmcnO1xuaW1wb3J0IHsgZXZlbnRzQ291bnRJY29uIH0gZnJvbSAnLi4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgZ2V0UG9pbnRJY29uQnlUeXBlIH0gZnJvbSAnLi9Qb2ludEljb24nO1xuaW1wb3J0IHdhdGVyUmV1c2VJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9pY29ucy93YXRlcl9yZXVzZS5zdmcnO1xuXG5leHBvcnQgY29uc3QgaXNDb2xsZWN0b3JGb2N1c2VkID0gKHBvaW50OiBJUG9pbnQsIGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgcmV0dXJuIChcbiAgICBldmVudD8ub2JzZXJ2YXRpb25zPy5sZW5ndGggPT09IDEgJiZcbiAgICBwb2ludC5pZCA9PT0gZXZlbnQub2JzZXJ2YXRpb25zWzBdLnBvaW50X2lkXG4gICk7XG59O1xuXG5jb25zdCBidWlsZE1hbmhvbGVUb290aXBTdHJpbmcgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICBsZXQgc3RyaW5nID0gYCR7cG9pbnQuZ3JvdXAubmFtZX0gYDtcblxuICBpZiAocG9pbnQuZ3JvdXAudHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeScpIHtcbiAgICBzdHJpbmcgKz0gYDxici8+U2VjdG9yLVRCRDogJHtwb2ludC5ncm91cC5zZWN0b3JfbmFtZX1gO1xuICAgIHN0cmluZyArPSBgPGJyLz5XYXRlciBDb25zdW1wdGlvbi1UQkQ6ICR7cG9pbnQuZ3JvdXAud2F0ZXJfY29uc3VtcHRpb25fcGVyX2RheX1gO1xuICB9IGVsc2Uge1xuICAgIHN0cmluZyA9IGAke3BvaW50Lm5hbWV9YDtcbiAgfVxuXG4gIHJldHVybiBzdHJpbmc7XG59O1xuXG4vLyBAdHMtaWdub3JlXG4vLyBpY29uU2l6ZTogW3dpZHRoLCBoZWlnaHRdLFxuLy8gSWNvbkFuY2hvcjogWygtcmlnaHQpKCtsZWZ0KSwgKC1kb3duKSgrdXApXVxuZXhwb3J0IGNvbnN0IGNyZWF0ZUJ1YmJsZVBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIGNvbnN0IHN1YnRpdGxlID1cbiAgICBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5JyA/IHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lIDogJyc7XG4gIGxldCBwb2ludEN1c3RvbUljb246IEwuTWFya2VyID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICBwb2ludC5ncm91cC50eXBlLFxuICAgICAgcG9pbnQubmFtZSxcbiAgICAgIHN1YnRpdGxlLFxuICAgICAgZmFsc2UsXG4gICAgICBmYWxzZSxcbiAgICAgIDAsXG4gICAgKSxcbiAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gIH0pO1xuICAvLyBAdHMtaWdub3JlXG4gIC8vIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb290aXBTdHJpbmcocG9pbnQpKTtcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcblxuICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG5cbiAgaWYgKHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQpIHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgIGNsYXNzTmFtZTogYFxuICAgICAgICAgICR7XG4gICAgICAgICAgICBwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID49IDEwMFxuICAgICAgICAgICAgICA/ICdjaXJjbGUtZXZlbnRzLWFtb3VudCBjaXJjbGUtZXZlbnRzLWFtb3VudC0tdHJpZGlnaXQnXG4gICAgICAgICAgICAgIDogJ2NpcmNsZS1ldmVudHMtYW1vdW50J1xuICAgICAgICAgIH0gXG4gICAgICAgICAgJHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID4gMiA/ICdhbGVydC1jb2xvcicgOiAnJ31cbiAgICAgICAgICAgIGAsXG4gICAgICAgIGh0bWw6IGA8cD4ke3BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnR9PC9wPmAsXG4gICAgICAgIGljb25BbmNob3I6IGV2ZW50c0NvdW50SWNvbihtYXAuX3pvb20pLmljb25BbmNob3IsXG4gICAgICB9KSxcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIG9wYWNpdHk6IGhvdmVyZWQgPyAxIDogMCxcbiAgICB9KTtcblxuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXInO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXJIb3ZlcmVkJztcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgLy9sYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNYW5ob2xlUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgbGV0IHBvaW50SWNvbiA9IEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuICBsZXQgbWFuaG9sZUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgaWNvbjogcG9pbnRJY29uLFxuICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICB9KTtcbiAgbWFuaG9sZUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vdGlwU3RyaW5nKHBvaW50KSk7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICBtYW5ob2xlSWNvblsna2FuZG9fcG9pbnRfdHlwZSddID0gJ01hbmhvbGUnO1xuICBpZiAoaG92ZXJlZCkgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50SG92ZXJlZCc7XG4gIGxheWVyR3JvdXAuYWRkTGF5ZXIobWFuaG9sZUljb24pO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hdGNoSWNvblRvUG9pbnQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBzd2l0Y2ggKHBvaW50Lmdyb3VwLnR5cGUpIHtcbiAgICBjYXNlICdHcm91cHM6OkZhY3RvcnknOlxuICAgICAgaWYgKGNvbWJpbmVkRmFjdG9yeUljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkRmFjdG9yeUljb247XG4gICAgY2FzZSAnR3JvdXBzOjpQdW1wU3RhdGlvbic6XG4gICAgICBpZiAoY29tYmluZWRQdW1wU3RhdGlvbkljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uO1xuICAgIGNhc2UgJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50JzpcbiAgICAgIGlmIChjb21iaW5lZFdXVFBJY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZFdXVFBJY29uO1xuXG4gICAgY2FzZSAnR3JvdXBzOjpDb2xsZWN0b3JzJzpcbiAgICAgIGlmIChpc0NvbGxlY3RvckZvY3VzZWQocG9pbnQsIGV2ZW50KSkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgICAgICAgICAgaWNvbkFuY2hvcjogWzMwLCA1Ml0sXG4gICAgICAgICAgfSksXG5cbiAgICAgICAgICBMLmljb24oe1xuICAgICAgICAgICAgaWNvblVybDogd2F0ZXJJY29uTm9CYWNrZ3JvdW5kLFxuICAgICAgICAgICAgaWNvblNpemU6IFswLCAwXSxcblxuICAgICAgICAgICAgaWNvbkFuY2hvcjogWzIyLCA0NF0sXG4gICAgICAgICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZENvbGxlY3RvcnNJY29uO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc3RhbmRhcmRCYWNrZ3JvdW5kID0gKFxuICBzZWNvbmRhcnk6IGJvb2xlYW4gPSBmYWxzZSxcbiAgdGhpcmQ6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBpbkJsYWNrU2hhZG93LFxuICAgIGljb25TaXplOiBzZWNvbmRhcnkgPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5ICYmIHRoaXJkID8gWy0yLCAxOV0gOiBzZWNvbmRhcnkgPyBbLTIsIDQ0XSA6IFsyMCwgNDJdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRGYWN0b3J5SWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiB5ZWxsb3dDaXJjbGVVUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBwbGFudEljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbNSwgMzBdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRQdW1wU3RhdGlvbkljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogZ3JlZW5DaXJjbGVVUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBwdW1wU3RhdGlvbkljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbNywgMzJdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRDb2xsZWN0b3JzSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBjb2xsZWN0b3JJY29uLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG5cbiAgICBpY29uQW5jaG9yOiBbMjUsIDUwXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkV1dUUEljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogYnJpZ2h0Qmx1ZUNpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IFdXVFBJY29uVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzgsIDMxXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdGVkQmFja2dyb3VuZCA9ICgpID0+IHtcbiAgcmV0dXJuIEwuaWNvbih7XG4gICAgaWNvblVybDogcmVkUGluUmVkU2hhZG93LFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBpblJlZFNoYWRvdyxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFszMiwgNTRdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgbWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UgPSAoZXZlbnQ6IElFdmVudCwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBsZXQgc291cmNlO1xuXG4gIGlmIChldmVudCAhPT0gbnVsbCAmJiBldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgc291cmNlID0gZXZlbnQuc291cmNlcy5maWx0ZXIoKHNvdXJjZSkgPT4gc291cmNlLnBvaW50X2lkID09PSBwb2ludC5pZClbMF07XG4gIH1cblxuICByZXR1cm4gZXZlbnQgIT09IG51bGwgJiYgc291cmNlICYmIGV2ZW50LnNlbGVjdGVkX3NvdXJjZSA9PT0gc291cmNlLnBvaW50X2lkO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hcmtlckJlbG9uZ3NUb1NvdXJjZSA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGlmIChldmVudCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiAoXG4gICAgZXZlbnQgIT09IG51bGwgJiZcbiAgICBldmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXVxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNhbXBsaW5nSWNvblBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHNlY29uZGFyeUljb246IGJvb2xlYW4sXG4gIG1hcCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgZXZlbnQ6IElFdmVudCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gIC8vIEljb24gQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG4gIGxldCBzYW1wbGluZ0ljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IGJsdWVDaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTcsIDE1XSA6IFsxMC43LCAzMy43XSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogc2FtcGxpbmdJY29uVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy04LCAxM10gOiBbNSwgMzBdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGxldCB0aGlyZEljb24gPSBmYWxzZTtcbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIHRoaXJkSWNvbiA9IHRydWU7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKHNlY29uZGFyeUljb24sIHRoaXJkSWNvbikpO1xuICB9XG5cbiAgc2FtcGxpbmdJY29uLmZvckVhY2goKGljb24sIGluZGV4KSA9PiB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IGljb24sXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgfSk7XG4gICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSB0aGlyZEljb24gPyBmYWxzZSA6IHNlY29uZGFyeUljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb190aGlyZCddID0gdGhpcmRJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1NhbXBsaW5nJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZ0hvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IG9ic2VydmF0aW9uSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogcGlua0NpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgNDBdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBvYnNlcnZhdGlvbkljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDM4XSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uKSk7XG4gIH1cblxuICBvYnNlcnZhdGlvbkljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vdGlwU3RyaW5nKHBvaW50KSk7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19pbmRleF9vYmplY3QnXSA9IGluZGV4O1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fZmV3X2xheWVyX2ljb24nXSA9IHRydWU7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19zZWNvbmRhcnknXSA9IHNlY29uZGFyeUljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb190aGlyZCddID0gZmFsc2U7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnT2JzZXJ2YXRpb24nO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ09ic2VydmF0aW9uSG92ZXJlZCc7XG4gICAgbGF5ZXJHcm91cC5hZGRMYXllcihwb2ludEN1c3RvbUljb24pO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTYW1wbGluZ0ljb25zID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIGV2ZW50OiBJRXZlbnQsXG4gIHBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgaG92ZXJlZCxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgbGV0IHNhbXBsZWRQb2ludElkcyA9IGV2ZW50LnNhbXBsaW5ncy5tYXAoKHMpID0+IHMucG9pbnRfaWQpO1xuICBpZiAoXG4gICAgZXZlbnQgIT09IG51bGwgJiZcbiAgICBldmVudC5zYW1wbGluZ3MubGVuZ3RoICE9PSAwICYmXG4gICAgc2FtcGxlZFBvaW50SWRzLmluY2x1ZGVzKHBvaW50LmlkKVxuICApIHtcbiAgICBjcmVhdGVTYW1wbGluZ0ljb25Qb2ludChcbiAgICAgIG1hcmtlckxvY2F0aW9uLFxuICAgICAgbWF0Y2hJY29uVG9Qb2ludChwb2ludCwgZXZlbnQpICE9PSBudWxsLFxuICAgICAgbWFwLFxuICAgICAgcG9pbnQsXG4gICAgICBldmVudCxcbiAgICAgIGhvdmVyZWQsXG4gICAgICBsYXllckdyb3VwLFxuICAgICk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwb3B1cENvbnRlbnQgPSAob2JzOiBhbnksIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgaWYgKG9icyA9PT0gbnVsbCkge1xuICAgIHJldHVybiBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtcG9wdXBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtZ3JhcGgtaWNvbiBwb3B1cC1ncmFwaC1pY29uLSR7cG9pbnQuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7cG9pbnQuZ3JvdXAubmFtZX08L2I+PC9oNT5cbiAgICAgICAgICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzZWN0b3JcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgYDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXBvcHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWdyYXBoLWljb24gcG9wdXAtZ3JhcGgtaWNvbi0ke29icy5pZH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIke0dyYXBoSWNvbn1cIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2l0ZS1uYW1lXCI+PGI+JHtcbiAgICAgICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC5uYW1lXG4gICAgICAgICAgICAgICAgICAgIH08L2I+PC9oNT5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5zZXZlcml0eWAsXG4gICAgICAgICAgICAgICAgICAgICAgICApfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BvcHVwLWNvbnRlbnRfX3NldmVyaXR5LS0nICsgb2JzLnNldmVyaXR5XG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGIgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1iXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4ke29icy5zZXZlcml0eX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8aHIgY2xhc3M9XCJwb3B1cC1jb250ZW50X19oclwiIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX2Rpc2NoYXJnZS10aW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5maXJzdF9zZWVuYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfTo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGIgaWQ9XCJmaXJzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcubGFzdF9zZWVuYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfTo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PGIgaWQ9XCJsYXN0LXNlZW4tcG9wdXBcIj48L2I+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGA7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVNYXJrZXJDbGljayA9IChtYXAsIHBvaW50LCBsYXllckdyb3VwKSA9PiB7XG4gIGxldCBzZXRJY29uID0gKGVsZW1lbnQsIGNsaWNrZWQpID0+IHtcbiAgICBlbGVtZW50LmxheWVyLnNldEljb24oXG4gICAgICBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICAgIHBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICAgIHBvaW50Lm5hbWUsXG4gICAgICAgIHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lLFxuICAgICAgICBjbGlja2VkLFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgMCxcbiAgICAgICksXG4gICAgKTtcbiAgfTtcblxuICBsYXllckdyb3VwLm9uKCdjbGljaycsIChvcmlnaW5hbGx5Q2xpY2tlZEVsZW1lbnQpID0+IHtcbiAgICBtYXAub24oJ3pvb21zdGFydCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIG1hcC5jbG9zZVBvcHVwKCk7XG4gICAgfSk7XG5cbiAgICBzZXRJY29uKG9yaWdpbmFsbHlDbGlja2VkRWxlbWVudCwgdHJ1ZSk7XG5cbiAgICBtYXAub24oJ2NsaWNrJywgKGFueVBvdGVudGlhbE1hcEVsZW1lbnQpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgYW55UG90ZW50aWFsTWFwRWxlbWVudC5fbGVhZmxldF9pZCAhPT1cbiAgICAgICAgb3JpZ2luYWxseUNsaWNrZWRFbGVtZW50LmxheWVyLl9sZWFmbGV0X2lkXG4gICAgICApIHtcbiAgICAgICAgc2V0SWNvbihvcmlnaW5hbGx5Q2xpY2tlZEVsZW1lbnQsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGxheWVyR3JvdXAub24oJ3BvcHVwY2xvc2UnLCAoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc2V0SWNvbihvcmlnaW5hbGx5Q2xpY2tlZEVsZW1lbnQsIGZhbHNlKTtcbiAgICAgIH0sIDUwKTtcbiAgICB9KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYmluZFBvcHVwVG9NYXJrZXIgPSAocG9pbnQsIGxheWVyR3JvdXApID0+IHtcbiAgbGV0IGNvbnRlbnQgPSBgXG4gICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50Jz5cbiAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19oZWFkZXInPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudF9faGVhZGVyX190aXRsZXNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzX190aXRsZSc+JHtcbiAgICAgICAgICAgICAgICAgIHBvaW50Lm5hbWVcbiAgICAgICAgICAgICAgICB9PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc19fc3VidGl0bGUnPiR7XG4gICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC5zZWN0b3JfbmFtZVxuICAgICAgICAgICAgICAgIH08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICBcbiAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5Jz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbSc+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX19pY29uJz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9JyR7d2F0ZXJSZXVzZUljb259JyAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9fdGl0bGVzJz5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9fdGl0bGVzX190aXRsZSc+JHtcbiAgICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAud2F0ZXJfY29uc3VtcHRpb25fcGVyX2RheVxuICAgICAgICAgICAgICAgICAgfSAke2kxOG4udCgnbWlsbGlvbl9nYWxsb25zX2RheScpfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXNfX3N1YnRpdGxlJz4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgJ3dhdGVyX2Rpc2NoYXJnZScsXG4gICAgICAgICAgICAgICAgICApfTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIGA7XG5cbiAgbGF5ZXJHcm91cC5iaW5kUG9wdXAoY29udGVudCwge1xuICAgIGNsYXNzTmFtZTogJ3BvaW50LW1hcmtlci1wb3B1cCcsXG4gICAgbWluV2lkdGg6ICcyMTRweCcsXG4gICAgbWF4V2lkdGg6ICcyMTRweCcsXG4gICAgY2xvc2VCdXR0b246IGZhbHNlLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVMYXllckdyb3VwID0gKG1hcCwgbGF5ZXJHcm91cCkgPT4ge1xuICBpZiAobWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLnJlbW92ZUxheWVyKGxheWVyR3JvdXApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYWRkTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKCFtYXAuaGFzTGF5ZXIobGF5ZXJHcm91cCkpIHtcbiAgICBtYXAuYWRkTGF5ZXIobGF5ZXJHcm91cCk7XG4gIH1cbn07XG4iXX0=
460
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRVdGlscy50cyJdLCJuYW1lcyI6WyJpc0NvbGxlY3RvckZvY3VzZWQiLCJwb2ludCIsImV2ZW50Iiwib2JzZXJ2YXRpb25zIiwibGVuZ3RoIiwiaWQiLCJwb2ludF9pZCIsImJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyIsInN0cmluZyIsImdyb3VwIiwibmFtZSIsInR5cGUiLCJzZWN0b3JfbmFtZSIsIndhdGVyX2NvbnN1bXB0aW9uX3Blcl9kYXkiLCJjcmVhdGVCdWJibGVQb2ludCIsIm1hcmtlckxvY2F0aW9uIiwibWFwIiwiaG92ZXJlZCIsImxheWVyR3JvdXAiLCJzdWJ0aXRsZSIsInBvaW50Q3VzdG9tSWNvbiIsIkwiLCJtYXJrZXIiLCJpY29uIiwicmlzZU9uSG92ZXIiLCJhZGRMYXllciIsInJlbGF0ZWRFdmVudHNBbW91bnQiLCJkaXZJY29uIiwiY2xhc3NOYW1lIiwiaHRtbCIsImljb25BbmNob3IiLCJfem9vbSIsIm9wYWNpdHkiLCJjcmVhdGVNYW5ob2xlUG9pbnQiLCJwb2ludEljb24iLCJJY29uIiwiaWNvblVybCIsIndoaXRlUG9pbnQiLCJpY29uU2l6ZSIsIm1hbmhvbGVJY29uIiwiTWFya2VyIiwiYmluZFRvb2x0aXAiLCJtYXRjaEljb25Ub1BvaW50IiwiY29tYmluZWRGYWN0b3J5SWNvbiIsIm1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlIiwidW5zaGlmdCIsInNlbGVjdGVkQmFja2dyb3VuZCIsIm1hcmtlckJlbG9uZ3NUb1NvdXJjZSIsImJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQiLCJzdGFuZGFyZEJhY2tncm91bmQiLCJjb21iaW5lZFB1bXBTdGF0aW9uSWNvbiIsImNvbWJpbmVkV1dUUEljb24iLCJyZWRQaW5SZWRTaGFkb3ciLCJ3YXRlckljb25Ob0JhY2tncm91bmQiLCJwb3B1cEFuY2hvciIsImNvbWJpbmVkQ29sbGVjdG9yc0ljb24iLCJzZWNvbmRhcnkiLCJ0aGlyZCIsIndoaXRlUGluQmxhY2tTaGFkb3ciLCJ5ZWxsb3dDaXJjbGVVUkwiLCJwbGFudEljb25VUkwiLCJncmVlbkNpcmNsZVVSTCIsInB1bXBTdGF0aW9uSWNvblVSTCIsImNvbGxlY3Rvckljb24iLCJicmlnaHRCbHVlQ2lyY2xlVVJMIiwiV1dUUEljb25VUkwiLCJ3aGl0ZVBpblJlZFNoYWRvdyIsInNvdXJjZSIsInVuZGVmaW5lZCIsInNvdXJjZXMiLCJmaWx0ZXIiLCJzZWxlY3RlZF9zb3VyY2UiLCJjcmVhdGVTYW1wbGluZ0ljb25Qb2ludCIsInNlY29uZGFyeUljb24iLCJzYW1wbGluZ0ljb24iLCJibHVlQ2lyY2xlVVJMIiwic2FtcGxpbmdJY29uVVJMIiwidGhpcmRJY29uIiwiZm9yRWFjaCIsImluZGV4IiwiY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQiLCJvYnNlcnZhdGlvbkljb24iLCJwaW5rQ2lyY2xlVVJMIiwib2JzZXJ2YXRpb25JY29uVVJMIiwiY3JlYXRlU2FtcGxpbmdJY29ucyIsInNhbXBsZWRQb2ludElkcyIsInNhbXBsaW5ncyIsInMiLCJpbmNsdWRlcyIsInBvcHVwQ29udGVudCIsIm9icyIsIkdyYXBoSWNvbiIsImkxOG4iLCJ0Iiwic2V2ZXJpdHkiLCJoYW5kbGVNYXJrZXJDbGljayIsInNldEljb24iLCJlbGVtZW50IiwiY2xpY2tlZCIsImxheWVyIiwib24iLCJvcmlnaW5hbGx5Q2xpY2tlZEVsZW1lbnQiLCJjbG9zZVBvcHVwIiwiYW55UG90ZW50aWFsTWFwRWxlbWVudCIsIl9sZWFmbGV0X2lkIiwic2V0VGltZW91dCIsImJpbmRQb3B1cFRvTWFya2VyIiwiY29udGVudCIsIndhdGVyUmV1c2VJY29uIiwiYmluZFBvcHVwIiwibWluV2lkdGgiLCJtYXhXaWR0aCIsImNsb3NlQnV0dG9uIiwicmVtb3ZlTGF5ZXJHcm91cCIsImhhc0xheWVyIiwicmVtb3ZlTGF5ZXIiLCJhZGRMYXllckdyb3VwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7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L2xpbmUtY2hhcnQuc3ZnJztcbmltcG9ydCBMLCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgYmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYmx1ZS1jaXJjbGUuc3ZnJztcbmltcG9ydCBzYW1wbGluZ0ljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3NhbXBsaW5nLWljb24uc3ZnJztcbmltcG9ydCBwaW5rQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9waW5rLWNpcmNsZS5zdmcnO1xuaW1wb3J0IG9ic2VydmF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvb2JzZXJ2YXRpb24taWNvbi5zdmcnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHJlZFBpblJlZFNoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcmVkLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5CbGFja1NoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2hpdGUtcGluLWJsYWNrLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHllbGxvd0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMveWVsbG93LWNpcmNsZS5zdmcnO1xuaW1wb3J0IHBsYW50SWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvZmFjdG9yeS1pY29uLnN2Zyc7XG5pbXBvcnQgZ3JlZW5DaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2dyZWVuLWNpcmNsZS5zdmcnO1xuaW1wb3J0IHB1bXBTdGF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcHVtcC1zdGF0aW9uLWljb24uc3ZnJztcbmltcG9ydCBjb2xsZWN0b3JJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9tYXAvcGluLXdhdGVyLnN2Zyc7XG5pbXBvcnQgYnJpZ2h0Qmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYnJpZ2h0LWJsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgV1dUUEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL1dXVFAtaWNvbi5zdmcnO1xuaW1wb3J0IHdhdGVySWNvbk5vQmFja2dyb3VuZCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2F0ZXItbm8tYmFja2dyb3VuZC5zdmcnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBldmVudHNDb3VudEljb24gfSBmcm9tICcuLi9NYXBVdGlscyc7XG5pbXBvcnQgeyBnZXRQb2ludEljb25CeVR5cGUgfSBmcm9tICcuL1BvaW50SWNvbic7XG5pbXBvcnQgd2F0ZXJSZXVzZUljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2ljb25zL3dhdGVyX3JldXNlLnN2Zyc7XG5cbmV4cG9ydCBjb25zdCBpc0NvbGxlY3RvckZvY3VzZWQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGV2ZW50Py5vYnNlcnZhdGlvbnM/Lmxlbmd0aCA9PT0gMSAmJlxuICAgIHBvaW50LmlkID09PSBldmVudC5vYnNlcnZhdGlvbnNbMF0ucG9pbnRfaWRcbiAgKTtcbn07XG5cbmNvbnN0IGJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzdHJpbmcgPSBgJHtwb2ludC5ncm91cC5uYW1lfSBgO1xuXG4gIGlmIChwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpGYWN0b3J5Jykge1xuICAgIHN0cmluZyArPSBgPGJyLz5TZWN0b3ItVEJEOiAke3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfWA7XG4gICAgc3RyaW5nICs9IGA8YnIvPldhdGVyIENvbnN1bXB0aW9uLVRCRDogJHtwb2ludC5ncm91cC53YXRlcl9jb25zdW1wdGlvbl9wZXJfZGF5fWA7XG4gIH0gZWxzZSB7XG4gICAgc3RyaW5nID0gYCR7cG9pbnQubmFtZX1gO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn07XG5cbi8vIEB0cy1pZ25vcmVcbi8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4vLyBJY29uQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG5leHBvcnQgY29uc3QgY3JlYXRlQnViYmxlUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgY29uc3Qgc3VidGl0bGUgPVxuICAgIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknID8gcG9pbnQuZ3JvdXAuc2VjdG9yX25hbWUgOiAnJztcbiAgbGV0IHBvaW50Q3VzdG9tSWNvbjogTC5NYXJrZXIgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IGdldFBvaW50SWNvbkJ5VHlwZShcbiAgICAgIHBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICBwb2ludC5uYW1lLFxuICAgICAgc3VidGl0bGUsXG4gICAgICBmYWxzZSxcbiAgICAgIGZhbHNlLFxuICAgICAgMCxcbiAgICApLFxuICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgfSk7XG4gIC8vIEB0cy1pZ25vcmVcbiAgLy8gcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyhwb2ludCkpO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludEhvdmVyZWQnO1xuXG4gIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcblxuICBpZiAocG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCkge1xuICAgIGxldCBwb2ludEN1c3RvbUljb24gPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogTC5kaXZJY29uKHtcbiAgICAgICAgY2xhc3NOYW1lOiBgXG4gICAgICAgICAgJHtcbiAgICAgICAgICAgIHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQgPj0gMTAwXG4gICAgICAgICAgICAgID8gJ2NpcmNsZS1ldmVudHMtYW1vdW50IGNpcmNsZS1ldmVudHMtYW1vdW50LS10cmlkaWdpdCdcbiAgICAgICAgICAgICAgOiAnY2lyY2xlLWV2ZW50cy1hbW91bnQnXG4gICAgICAgICAgfSBcbiAgICAgICAgICAke3BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQgPiAyID8gJ2FsZXJ0LWNvbG9yJyA6ICcnfVxuICAgICAgICAgICAgYCxcbiAgICAgICAgaHRtbDogYDxwPiR7cG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudH08L3A+YCxcbiAgICAgICAgaWNvbkFuY2hvcjogZXZlbnRzQ291bnRJY29uKG1hcC5fem9vbSkuaWNvbkFuY2hvcixcbiAgICAgIH0pLFxuICAgICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICAgICAgb3BhY2l0eTogaG92ZXJlZCA/IDEgOiAwLFxuICAgIH0pO1xuXG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnSWNvbk51bWJlcic7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnSWNvbk51bWJlckhvdmVyZWQnO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICAvL2xheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1hbmhvbGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gbmV3IEwuSWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuICBsZXQgbWFuaG9sZUljb246IGFueSA9IG5ldyBMLk1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IHBvaW50SWNvbixcbiAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgfSk7XG4gIG1hbmhvbGVJY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyhwb2ludCkpO1xuICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgbWFuaG9sZUljb25bJ2thbmRvX3BvaW50X3R5cGUnXSA9ICdNYW5ob2xlJztcbiAgaWYgKGhvdmVyZWQpIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludEhvdmVyZWQnO1xuICBsYXllckdyb3VwLmFkZExheWVyKG1hbmhvbGVJY29uKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXRjaEljb25Ub1BvaW50ID0gKHBvaW50OiBJUG9pbnQsIGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgc3dpdGNoIChwb2ludC5ncm91cC50eXBlKSB7XG4gICAgY2FzZSAnR3JvdXBzOjpGYWN0b3J5JzpcbiAgICAgIGlmIChjb21iaW5lZEZhY3RvcnlJY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZEZhY3RvcnlJY29uO1xuICAgIGNhc2UgJ0dyb3Vwczo6UHVtcFN0YXRpb24nOlxuICAgICAgaWYgKGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbjtcbiAgICBjYXNlICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc6XG4gICAgICBpZiAoY29tYmluZWRXV1RQSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRXV1RQSWNvbjtcblxuICAgIGNhc2UgJ0dyb3Vwczo6Q29sbGVjdG9ycyc6XG4gICAgICBpZiAoaXNDb2xsZWN0b3JGb2N1c2VkKHBvaW50LCBldmVudCkpIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICBMLmljb24oe1xuICAgICAgICAgICAgaWNvblVybDogcmVkUGluUmVkU2hhZG93LFxuICAgICAgICAgICAgaWNvblNpemU6IFswLCAwXSxcbiAgICAgICAgICAgIGljb25BbmNob3I6IFszMCwgNTJdLFxuICAgICAgICAgIH0pLFxuXG4gICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgIGljb25Vcmw6IHdhdGVySWNvbk5vQmFja2dyb3VuZCxcbiAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG5cbiAgICAgICAgICAgIGljb25BbmNob3I6IFsyMiwgNDRdLFxuICAgICAgICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRDb2xsZWN0b3JzSWNvbjtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHN0YW5kYXJkQmFja2dyb3VuZCA9IChcbiAgc2Vjb25kYXJ5OiBib29sZWFuID0gZmFsc2UsXG4gIHRoaXJkOiBib29sZWFuID0gZmFsc2UsXG4pID0+IHtcbiAgcmV0dXJuIEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQaW5CbGFja1NoYWRvdyxcbiAgICBpY29uU2l6ZTogc2Vjb25kYXJ5ID8gWzAsIDBdIDogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IHNlY29uZGFyeSAmJiB0aGlyZCA/IFstMiwgMTldIDogc2Vjb25kYXJ5ID8gWy0yLCA0NF0gOiBbMjAsIDQyXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkRmFjdG9yeUljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogeWVsbG93Q2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogcGxhbnRJY29uVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzUsIDMwXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkUHVtcFN0YXRpb25JY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGdyZWVuQ2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogcHVtcFN0YXRpb25JY29uVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzcsIDMyXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkQ29sbGVjdG9yc0ljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogY29sbGVjdG9ySWNvbixcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuXG4gICAgaWNvbkFuY2hvcjogWzI1LCA1MF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZFdXVFBJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGJyaWdodEJsdWVDaXJjbGVVUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBXV1RQSWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs4LCAzMV0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RlZEJhY2tncm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFszMiwgNTRdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCA9ICgpID0+IHtcbiAgcmV0dXJuIEwuaWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQaW5SZWRTaGFkb3csXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMzIsIDU0XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgbGV0IHNvdXJjZTtcblxuICBpZiAoZXZlbnQgIT09IG51bGwgJiYgZXZlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgIHNvdXJjZSA9IGV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdO1xuICB9XG5cbiAgcmV0dXJuIGV2ZW50ICE9PSBudWxsICYmIHNvdXJjZSAmJiBldmVudC5zZWxlY3RlZF9zb3VyY2UgPT09IHNvdXJjZS5wb2ludF9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrZXJCZWxvbmdzVG9Tb3VyY2UgPSAoZXZlbnQ6IElFdmVudCwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBpZiAoZXZlbnQgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICByZXR1cm4gKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc291cmNlcy5maWx0ZXIoKHNvdXJjZSkgPT4gc291cmNlLnBvaW50X2lkID09PSBwb2ludC5pZClbMF1cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVTYW1wbGluZ0ljb25Qb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBzZWNvbmRhcnlJY29uOiBib29sZWFuLFxuICBtYXAsXG4gIHBvaW50OiBJUG9pbnQsXG4gIGV2ZW50OiBJRXZlbnQsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICAvLyBpY29uU2l6ZTogW3dpZHRoLCBoZWlnaHRdLFxuICAvLyBJY29uIEFuY2hvcjogWygtcmlnaHQpKCtsZWZ0KSwgKC1kb3duKSgrdXApXVxuICBsZXQgc2FtcGxpbmdJY29uID0gW1xuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBibHVlQ2lyY2xlVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy03LCAxNV0gOiBbMTAuNywgMzMuN10sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHNhbXBsaW5nSWNvblVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstOCwgMTNdIDogWzUsIDMwXSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgXTtcblxuICBsZXQgdGhpcmRJY29uID0gZmFsc2U7XG4gIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIHtcbiAgICB0aGlyZEljb24gPSB0cnVlO1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uLCB0aGlyZEljb24pKTtcbiAgfVxuXG4gIHNhbXBsaW5nSWNvbi5mb3JFYWNoKChpY29uLCBpbmRleCkgPT4ge1xuICAgIGxldCBwb2ludEN1c3RvbUljb246IGFueSA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICBpY29uOiBpY29uLFxuICAgICAgcmlzZU9uSG92ZXI6IGZhbHNlLFxuICAgIH0pO1xuICAgIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb290aXBTdHJpbmcocG9pbnQpKTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2luZGV4X29iamVjdCddID0gaW5kZXg7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19mZXdfbGF5ZXJfaWNvbiddID0gdHJ1ZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3NlY29uZGFyeSddID0gdGhpcmRJY29uID8gZmFsc2UgOiBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IHRoaXJkSWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZyc7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnU2FtcGxpbmdIb3ZlcmVkJztcbiAgICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHNlY29uZGFyeUljb246IGJvb2xlYW4sXG4gIG1hcCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgZXZlbnQ6IElFdmVudCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gIC8vIEljb24gQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG4gIGxldCBvYnNlcnZhdGlvbkljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHBpbmtDaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTcsIDQwXSA6IFsxMC43LCAzMy43XSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogb2JzZXJ2YXRpb25JY29uVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy04LCAzOF0gOiBbNSwgMzBdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbikpO1xuICB9XG5cbiAgb2JzZXJ2YXRpb25JY29uLmZvckVhY2goKGljb24sIGluZGV4KSA9PiB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IGljb24sXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgfSk7XG4gICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb3RpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IGZhbHNlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ09ic2VydmF0aW9uJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbkhvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29ucyA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQsXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIGxldCBzYW1wbGVkUG9pbnRJZHMgPSBldmVudC5zYW1wbGluZ3MubWFwKChzKSA9PiBzLnBvaW50X2lkKTtcbiAgaWYgKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc2FtcGxpbmdzLmxlbmd0aCAhPT0gMCAmJlxuICAgIHNhbXBsZWRQb2ludElkcy5pbmNsdWRlcyhwb2ludC5pZClcbiAgKSB7XG4gICAgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQoXG4gICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQsIGV2ZW50KSAhPT0gbnVsbCxcbiAgICAgIG1hcCxcbiAgICAgIHBvaW50LFxuICAgICAgZXZlbnQsXG4gICAgICBob3ZlcmVkLFxuICAgICAgbGF5ZXJHcm91cCxcbiAgICApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcG9wdXBDb250ZW50ID0gKG9iczogYW55LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGlmIChvYnMgPT09IG51bGwpIHtcbiAgICByZXR1cm4gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXBvcHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWdyYXBoLWljb24gcG9wdXAtZ3JhcGgtaWNvbi0ke3BvaW50LmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke3BvaW50Lmdyb3VwLm5hbWV9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2VjdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGA7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtvYnMuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7XG4gICAgICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAubmFtZVxuICAgICAgICAgICAgICAgICAgICB9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdHlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwb3B1cC1jb250ZW50X19zZXZlcml0eS0tJyArIG9icy5zZXZlcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktYlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuJHtvYnMuc2V2ZXJpdHl9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPVwicG9wdXAtY29udGVudF9faHJcIiAvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19kaXNjaGFyZ2UtdGltZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuZmlyc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwiZmlyc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3Lmxhc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwibGFzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaGFuZGxlTWFya2VyQ2xpY2sgPSAobWFwLCBwb2ludCwgbGF5ZXJHcm91cCkgPT4ge1xuICBsZXQgc2V0SWNvbiA9IChlbGVtZW50LCBjbGlja2VkKSA9PiB7XG4gICAgZWxlbWVudC5sYXllci5zZXRJY29uKFxuICAgICAgZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgICBwb2ludC5ncm91cC50eXBlLFxuICAgICAgICBwb2ludC5uYW1lLFxuICAgICAgICBwb2ludC5ncm91cC5zZWN0b3JfbmFtZSxcbiAgICAgICAgY2xpY2tlZCxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIDAsXG4gICAgICApLFxuICAgICk7XG4gIH07XG5cbiAgbGF5ZXJHcm91cC5vbignY2xpY2snLCAob3JpZ2luYWxseUNsaWNrZWRFbGVtZW50KSA9PiB7XG4gICAgbWFwLm9uKCd6b29tc3RhcnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICAgIH0pO1xuXG4gICAgc2V0SWNvbihvcmlnaW5hbGx5Q2xpY2tlZEVsZW1lbnQsIHRydWUpO1xuXG4gICAgbWFwLm9uKCdjbGljaycsIChhbnlQb3RlbnRpYWxNYXBFbGVtZW50KSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGFueVBvdGVudGlhbE1hcEVsZW1lbnQuX2xlYWZsZXRfaWQgIT09XG4gICAgICAgIG9yaWdpbmFsbHlDbGlja2VkRWxlbWVudC5sYXllci5fbGVhZmxldF9pZFxuICAgICAgKSB7XG4gICAgICAgIHNldEljb24ob3JpZ2luYWxseUNsaWNrZWRFbGVtZW50LCBmYWxzZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBsYXllckdyb3VwLm9uKCdwb3B1cGNsb3NlJywgKCkgPT4ge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldEljb24ob3JpZ2luYWxseUNsaWNrZWRFbGVtZW50LCBmYWxzZSk7XG4gICAgICB9LCA1MCk7XG4gICAgfSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cFRvTWFya2VyID0gKHBvaW50LCBsYXllckdyb3VwKSA9PiB7XG4gIGxldCBjb250ZW50ID0gYFxuICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudCc+XG4gICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyJz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc19fdGl0bGUnPiR7XG4gICAgICAgICAgICAgICAgICBwb2ludC5uYW1lXG4gICAgICAgICAgICAgICAgfTwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyX190aXRsZXNfX3N1YnRpdGxlJz4ke1xuICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAuc2VjdG9yX25hbWVcbiAgICAgICAgICAgICAgICB9PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgXG4gICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keSc+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW0nPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9faWNvbic+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPScke3dhdGVyUmV1c2VJY29ufScgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlcyc+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX3RpdGxlc19fdGl0bGUnPiR7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLndhdGVyX2NvbnN1bXB0aW9uX3Blcl9kYXlcbiAgICAgICAgICAgICAgICAgIH0gJHtpMThuLnQoJ21pbGxpb25fZ2FsbG9uc19kYXknKX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9fdGl0bGVzX19zdWJ0aXRsZSc+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICd3YXRlcl9kaXNjaGFyZ2UnLFxuICAgICAgICAgICAgICAgICAgKX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICBgO1xuXG4gIGxheWVyR3JvdXAuYmluZFBvcHVwKGNvbnRlbnQsIHtcbiAgICBjbGFzc05hbWU6ICdwb2ludC1tYXJrZXItcG9wdXAnLFxuICAgIG1pbldpZHRoOiAnMjE0cHgnLFxuICAgIG1heFdpZHRoOiAnMjE0cHgnLFxuICAgIGNsb3NlQnV0dG9uOiBmYWxzZSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKG1hcC5oYXNMYXllcihsYXllckdyb3VwKSkge1xuICAgIG1hcC5yZW1vdmVMYXllcihsYXllckdyb3VwKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGFkZExheWVyR3JvdXAgPSAobWFwLCBsYXllckdyb3VwKSA9PiB7XG4gIGlmICghbWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLmFkZExheWVyKGxheWVyR3JvdXApO1xuICB9XG59O1xuIl19
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var packageJsonVersion = "1.2.228-alpha.23";
3
+ var packageJsonVersion = "1.2.228-alpha.24";
4
4
 
5
5
  if (typeof packageJsonVersion === 'string') {
6
6
  // eslint-disable-next-line no-console
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kando-env/kando-ui",
3
- "version": "1.2.228-alpha.23",
3
+ "version": "1.2.228-alpha.24",
4
4
  "main": "lib/index.js",
5
5
  "author": "Nadav(Private) <nadavk72@gmail.com>",
6
6
  "scripts": {