@kando-env/kando-ui 1.2.333-alpha.9 → 1.2.334

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.
@@ -100,7 +100,7 @@ var Map = function Map(_ref) {
100
100
  _useState10 = (0, _slicedToArray2.default)(_useState9, 1),
101
101
  areasLayerGroup = _useState10[0];
102
102
  var memoizedPoints = (0, _react.useMemo)(function () {
103
- return !eventsData.isFetching && mapRef.current !== null && /*#__PURE__*/_react.default.createElement(_PointMarkers.PointMarkers, {
103
+ return mapRef.current !== null && points && /*#__PURE__*/_react.default.createElement(_PointMarkers.PointMarkers, {
104
104
  map: mapRef.current,
105
105
  points: points,
106
106
  includeUnmonitoredPoints: includeUnmonitoredPoints,
@@ -110,7 +110,7 @@ var Map = function Map(_ref) {
110
110
  collectorsGroup: collectorsLayerGroup,
111
111
  forEventsView: false
112
112
  });
113
- }, [eventsData.isFetching, mapRef.current, points, focusedEventPresent, mapZoomLevel, factoriesClusterGroup, wwtpsLayerGroup, collectorsLayerGroup]);
113
+ }, [mapRef.current, points, focusedEventPresent, mapZoomLevel]);
114
114
 
115
115
  // const activateZoomControlForIcons = useMemo(() => {
116
116
  // mapRef.current !== null && iconZoomControl(mapRef.current);
@@ -128,25 +128,26 @@ var Map = function Map(_ref) {
128
128
  return payload;
129
129
  };
130
130
  var zoomRulesForDashaboardMaps = function zoomRulesForDashaboardMaps() {
131
- var payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
131
+ var payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedPoints);
132
132
  switch (_MapUtils.zoomLevels[mapZoomLevel]) {
133
133
  case 'Small':
134
134
  case 'Medium':
135
135
  payload = zoomRulesForEventsView();
136
136
  break;
137
- case 'MLarge':
138
- case 'Large':
139
- case 'XLarge':
140
- default:
141
- payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedPoints);
142
- break;
137
+ // case 'MLarge':
138
+ // case 'Large':
139
+ // case 'XLarge':
140
+ // default:
141
+ // payload = <>{memoizedPoints}</>;
142
+ // break;
143
143
  }
144
+
144
145
  return payload;
145
146
  };
146
147
  var memoizedZoomControl = (0, _react.useMemo)(function () {
147
148
  var payload = forEventsView ? zoomRulesForEventsView() : zoomRulesForDashaboardMaps();
148
149
  return payload;
149
- }, [mapZoomLevel, eventsData.isFetching, focusedEvent, hoveredEvent, points]);
150
+ }, [mapZoomLevel, eventsData.isFetching, focusedEvent, hoveredEvent, points, mapRef.current]);
150
151
  var memoizedEvent = (0, _react.useMemo)(function () {
151
152
  if (focusedEventPresent) {
152
153
  focusedEvent.focused = focusedEventPresent;
@@ -226,7 +227,7 @@ var Map = function Map(_ref) {
226
227
  rerender: _MapUtils.zoomLevels[mapZoomLevel],
227
228
  global_data: global_data,
228
229
  featureGroup: areasLayerGroup
229
- }), (0, _MapUtils.shoudLoadDependentMapObjects)(edges, areas, global_data, mapRef, points) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedEvent, memoizedZoomControl, children, (areas === null || areas === void 0 ? void 0 : areas.length) === 0 && memoizedPoints))));
230
+ }), (0, _MapUtils.shoudLoadDependentMapObjects)(edges, areas, global_data, mapRef, points) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedEvent, memoizedZoomControl, children))));
230
231
  };
231
232
  exports.Map = Map;
232
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfRXJyb3JCb3VuZGFyeSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQXJlYVBvbHlnb25zIiwiX0VkZ2VzIiwiX1BvaW50TWFya2VycyIsIl9FdmVudCIsIl9NYXBVdGlscyIsIl90aGVtZSIsIl9pMThuIiwiX0xpc3RDb250ZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJNYXAiLCJfcmVmIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJfcmVmJGhpZGVFZGdlcyIsImhpZGVFZGdlcyIsIl9yZWYkbWFwQm94U3R5bGUiLCJtYXBCb3hTdHlsZSIsImxlYWZsZXRNYXAiLCJtYXBEZWZhdWx0IiwiY2hpbGRyZW4iLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IyIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIl9yZWYkZm9yRXZlbnRzVmlldyIsImZvckV2ZW50c1ZpZXciLCJfcmVmJHN0eWxlIiwic3R5bGUiLCJfcmVmJGZvcldXVFBEYXNoYm9hcmQiLCJmb3JXV1RQRGFzaGJvYXJkIiwibWFwIiwibWFwUmVmIiwidXNlUmVmIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIm1hcFpvb21MZXZlbCIsInNldE1hcFpvb21MZXZlbCIsIl91c2VTZWxlY3RlZEl0ZW0iLCJ1c2VTZWxlY3RlZEl0ZW0iLCJzZWxlY3RlZEl0ZW0iLCJldmVudHNEYXRhIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiaG92ZXJlZEV2ZW50UHJlc2VudCIsInVzZU1lbW8iLCJ1bmRlZmluZWQiLCJmb2N1c2VkRXZlbnRQcmVzZW50IiwiX3VzZVN0YXRlMyIsIndpbmRvdyIsImN1c3RvbUxlYWZsZXQiLCJtYXJrZXJDbHVzdGVyR3JvdXAiLCJzcGlkZXJmeU9uTWF4Wm9vbSIsInNob3dDb3ZlcmFnZU9uSG92ZXIiLCJ6b29tVG9Cb3VuZHNPbkNsaWNrIiwiYW5pbWF0ZSIsImRpc2FibGVDbHVzdGVyaW5nQXRab29tIiwicmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHMiLCJjaHVua2VkTG9hZGluZyIsImljb25DcmVhdGVGdW5jdGlvbiIsImNsdXN0ZXIiLCJEaXZJY29uIiwiaHRtbCIsImNvbmNhdCIsIl9jaGlsZENvdW50IiwiaTE4biIsInQiLCJjbGFzc05hbWUiLCJpY29uU2l6ZSIsIlBvaW50IiwiX3VzZVN0YXRlNCIsImZhY3Rvcmllc0NsdXN0ZXJHcm91cCIsIl91c2VTdGF0ZTUiLCJsYXllckdyb3VwIiwiX3VzZVN0YXRlNiIsInd3dHBzTGF5ZXJHcm91cCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiY29sbGVjdG9yc0xheWVyR3JvdXAiLCJfdXNlU3RhdGU5IiwiRmVhdHVyZUdyb3VwIiwiX3VzZVN0YXRlMTAiLCJhcmVhc0xheWVyR3JvdXAiLCJtZW1vaXplZFBvaW50cyIsImlzRmV0Y2hpbmciLCJjdXJyZW50IiwiY3JlYXRlRWxlbWVudCIsIlBvaW50TWFya2VycyIsInJlcmVuZGVyIiwiem9vbUxldmVscyIsImZhY3Rvcmllc0dyb3VwIiwid3d0cHNHcm91cCIsImNvbGxlY3RvcnNHcm91cCIsInpvb21SdWxlc0ZvckV2ZW50c1ZpZXciLCJwYXlsb2FkIiwiRnJhZ21lbnQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJ6b29tUnVsZXNGb3JEYXNoYWJvYXJkTWFwcyIsIm1lbW9pemVkWm9vbUNvbnRyb2wiLCJtZW1vaXplZEV2ZW50IiwiZm9jdXNlZCIsImhvdmVyZWQiLCJFdmVudCIsImV2ZW50IiwiaW5jbHVkZU5ldHdvcmsiLCJldmVudEZpbHRlclBhcmFtIiwidXNlRWZmZWN0IiwiY2xlYW51cCIsIl9tYXBSZWYkY3VycmVudCIsImNsZWFyTGF5ZXJzIiwicmVtb3ZlTGF5ZXIiLCJpbml0aWFsaXplTWFwIiwic2F0ZWxsaXRlIiwiaXNWYWxpZEFyZWEiLCJyZW1vdmUiLCJ3YXRlckF1dGhvcml0eUlkIiwiYXJlYUZvY3VzTG9naWMiLCJfbWFwUmVmJGN1cnJlbnQyIiwiY2xpY2tlZCIsImVhY2hMYXllciIsImxheWVyIiwia2FuZG9fb2JqZWN0X2lkIiwiaXNQb3B1cE9wZW4iLCJNYXJrZXIiLCJmaXJlIiwiUG9seWdvbiIsInNpZGVuYXZFeHBhbmRlZCIsImlkIiwic2hvdWxkTG9hZE1hcE9iamVjdHMiLCJBcmVhUG9seWdvbnMiLCJtYXBab29tIiwiZmVhdHVyZUdyb3VwIiwic2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyIsImxlbmd0aCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvTWFwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgKiBhcyBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdsZWFmbGV0Lm1hcmtlcmNsdXN0ZXInO1xuaW1wb3J0ICdsZWFmbGV0LnBhdHRlcm4nO1xuaW1wb3J0IFJlYWN0LCB7XG4gIENTU1Byb3BlcnRpZXMsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuLy8gaW1wb3J0IHsgc3RvcmVNYXAgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgQXJlYVBvbHlnb25zIH0gZnJvbSAnLi9hcmVhcy9BcmVhUG9seWdvbnMnO1xuaW1wb3J0IEVkZ2VzIGZyb20gJy4vZWRnZXMvRWRnZXMnO1xuaW1wb3J0ICcuL01hcC5zY3NzJztcbmltcG9ydCAnLi9wb2ludHMvUG9pbnRJY29uLnNjc3MnO1xuaW1wb3J0IHsgUG9pbnRNYXJrZXJzIH0gZnJvbSAnLi9wb2ludHMvUG9pbnRNYXJrZXJzJztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICcuLi8uLi9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBFdmVudCB9IGZyb20gJy4vZXZlbnRzL0V2ZW50JztcbmltcG9ydCB7XG4gIGFyZWFGb2N1c0xvZ2ljLFxuICBpbml0aWFsaXplTWFwLFxuICBpc1ZhbGlkQXJlYSxcbiAgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyxcbiAgc2hvdWxkTG9hZE1hcE9iamVjdHMsXG4gIHpvb21MZXZlbHMsXG59IGZyb20gJy4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgbGVhZmxldE1hcCB9IGZyb20gJy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyB1c2VTZWxlY3RlZEl0ZW0gfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0xpc3RDb250ZXh0JztcbnJlcXVpcmUoJ2xlYWZsZXQubWFya2VyY2x1c3RlcicpO1xuXG5pbnRlcmZhY2UgTWFwUHJvcHMge1xuICBhcmVhczogSUFyZWFbXTtcbiAgZWRnZXM/OiBJRWRnZVtdO1xuICBwb2ludHM/OiBJUG9pbnRbXTtcbiAgZ2xvYmFsX2RhdGE6IElHbG9iYWxTdGF0ZTtcbiAgYXJlYVRvQ2VudGVyQnk/OiBhbnk7XG4gIGZvY3VzZWRFdmVudD86IElFdmVudCB8IG51bGw7XG4gIGhvdmVyZWRFdmVudD86IElFdmVudCB8IG51bGw7XG4gIGhpZGVFZGdlcz86IGJvb2xlYW47XG4gIG1hcEJveFN0eWxlPzogc3RyaW5nO1xuICBjaGlsZHJlbj86IGFueTtcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzO1xuICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM/OiBib29sZWFuO1xuICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzPzogYm9vbGVhbjtcbiAgZm9yRXZlbnRzVmlldzogYm9vbGVhbjtcbiAgZm9yV1dUUERhc2hib2FyZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBNYXA6IFJlYWN0LkZDPE1hcFByb3BzPiA9ICh7XG4gIGFyZWFzLFxuICBlZGdlcyxcbiAgcG9pbnRzLFxuICBnbG9iYWxfZGF0YSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIGZvY3VzZWRFdmVudCxcbiAgaG92ZXJlZEV2ZW50LFxuICBoaWRlRWRnZXMgPSBmYWxzZSxcbiAgbWFwQm94U3R5bGUgPSBsZWFmbGV0TWFwLm1hcERlZmF1bHQsXG4gIGNoaWxkcmVuLFxuICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPSB0cnVlLFxuICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzID0gZmFsc2UsXG4gIGZvckV2ZW50c1ZpZXcgPSBmYWxzZSxcbiAgc3R5bGUgPSB7fSxcbiAgZm9yV1dUUERhc2hib2FyZCA9IGZhbHNlLFxufSkgPT4ge1xuICBjb25zdCB7IG1hcCB9ID0gZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IG1hcFJlZiA9IHVzZVJlZjxMLk1hcCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IFttYXBab29tTGV2ZWwsIHNldE1hcFpvb21MZXZlbF0gPSB1c2VTdGF0ZSgyKTtcbiAgY29uc3QgeyBzZWxlY3RlZEl0ZW0gfSA9IHVzZVNlbGVjdGVkSXRlbSgpO1xuICBjb25zdCBldmVudHNEYXRhID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUuZXZlbnRzX2RhdGEsXG4gICk7XG4gIGNvbnN0IGhvdmVyZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gaG92ZXJlZEV2ZW50ICE9PSBudWxsICYmIGhvdmVyZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbaG92ZXJlZEV2ZW50XSk7XG5cbiAgY29uc3QgZm9jdXNlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgZm9jdXNlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtmb2N1c2VkRXZlbnRdKTtcblxuICBjb25zdCBbZmFjdG9yaWVzQ2x1c3Rlckdyb3VwXSA9IHVzZVN0YXRlKFxuICAgIHdpbmRvdy5jdXN0b21MZWFmbGV0Lm1hcmtlckNsdXN0ZXJHcm91cCh7XG4gICAgICBzcGlkZXJmeU9uTWF4Wm9vbTogZmFsc2UsXG4gICAgICBzaG93Q292ZXJhZ2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIHpvb21Ub0JvdW5kc09uQ2xpY2s6IHRydWUsXG4gICAgICBhbmltYXRlOiB0cnVlLFxuICAgICAgZGlzYWJsZUNsdXN0ZXJpbmdBdFpvb206IDE1LFxuICAgICAgcmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHM6IGZhbHNlLFxuICAgICAgY2h1bmtlZExvYWRpbmc6IHRydWUsXG4gICAgICBpY29uQ3JlYXRlRnVuY3Rpb246IGZ1bmN0aW9uIChjbHVzdGVyKSB7XG4gICAgICAgIHJldHVybiBuZXcgTC5EaXZJY29uKHtcbiAgICAgICAgICBodG1sOiBgPGRpdj48c3Bhbj4ke1xuICAgICAgICAgICAgY2x1c3Rlci5fY2hpbGRDb3VudFxuICAgICAgICAgIH08L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0nbWFya2VyLWNsdXN0ZXItbmFtZSc+JHtpMThuLnQoXG4gICAgICAgICAgICAnaW5kdXN0cmllcycsXG4gICAgICAgICAgKX08L2Rpdj5gLFxuICAgICAgICAgIGNsYXNzTmFtZTogJ21hcmtlci1jbHVzdGVyJyxcbiAgICAgICAgICBpY29uU2l6ZTogbmV3IEwuUG9pbnQoNDAsIDQwKSxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pLFxuICApO1xuXG4gIGNvbnN0IFt3d3Rwc0xheWVyR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbY29sbGVjdG9yc0xheWVyR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICAvL2NvbnN0IFtmYWN0b3JpZXNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW2FyZWFzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShuZXcgTC5GZWF0dXJlR3JvdXAoKSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgIWV2ZW50c0RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiYgKFxuICAgICAgICA8UG9pbnRNYXJrZXJzXG4gICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e2luY2x1ZGVVbm1vbml0b3JlZFBvaW50c31cbiAgICAgICAgICByZXJlbmRlcj17em9vbUxldmVsc1ttYXBab29tTGV2ZWxdfVxuICAgICAgICAgIGZhY3Rvcmllc0dyb3VwPXtmYWN0b3JpZXNDbHVzdGVyR3JvdXB9XG4gICAgICAgICAgd3d0cHNHcm91cD17d3d0cHNMYXllckdyb3VwfVxuICAgICAgICAgIGNvbGxlY3RvcnNHcm91cD17Y29sbGVjdG9yc0xheWVyR3JvdXB9XG4gICAgICAgICAgZm9yRXZlbnRzVmlldz17ZmFsc2V9XG4gICAgICAgIC8+XG4gICAgICApXG4gICAgKTtcbiAgfSwgW1xuICAgIGV2ZW50c0RhdGEuaXNGZXRjaGluZyxcbiAgICBtYXBSZWYuY3VycmVudCxcbiAgICBwb2ludHMsXG4gICAgZm9jdXNlZEV2ZW50UHJlc2VudCxcbiAgICBtYXBab29tTGV2ZWwsXG4gICAgZmFjdG9yaWVzQ2x1c3Rlckdyb3VwLFxuICAgIHd3dHBzTGF5ZXJHcm91cCxcbiAgICBjb2xsZWN0b3JzTGF5ZXJHcm91cCxcbiAgXSk7XG5cbiAgLy8gY29uc3QgYWN0aXZhdGVab29tQ29udHJvbEZvckljb25zID0gdXNlTWVtbygoKSA9PiB7XG4gIC8vICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiYgaWNvblpvb21Db250cm9sKG1hcFJlZi5jdXJyZW50KTtcbiAgLy8gfSwgW21hcFJlZi5jdXJyZW50LCBwb2ludHMsIGZvY3VzZWRFdmVudFByZXNlbnRdKTtcblxuICBjb25zdCB6b29tUnVsZXNGb3JFdmVudHNWaWV3ID0gKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSAoXG4gICAgICA8PlxuICAgICAgICA8RWRnZXNcbiAgICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgTD17TH1cbiAgICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgICAgaGlkZUVkZ2VzPXtoaWRlRWRnZXN9XG4gICAgICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPXtpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzfVxuICAgICAgICAvPlxuICAgICAgICB7bWVtb2l6ZWRQb2ludHN9XG4gICAgICA8Lz5cbiAgICApO1xuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3Qgem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMgPSAoKSA9PiB7XG4gICAgbGV0IHBheWxvYWQgPSA8PjwvPjtcbiAgICBzd2l0Y2ggKHpvb21MZXZlbHNbbWFwWm9vbUxldmVsXSkge1xuICAgICAgY2FzZSAnU21hbGwnOlxuICAgICAgY2FzZSAnTWVkaXVtJzpcbiAgICAgICAgcGF5bG9hZCA9IHpvb21SdWxlc0ZvckV2ZW50c1ZpZXcoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdNTGFyZ2UnOlxuICAgICAgY2FzZSAnTGFyZ2UnOlxuICAgICAgY2FzZSAnWExhcmdlJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHBheWxvYWQgPSA8PnttZW1vaXplZFBvaW50c308Lz47XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9O1xuXG4gIGNvbnN0IG1lbW9pemVkWm9vbUNvbnRyb2wgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gZm9yRXZlbnRzVmlld1xuICAgICAgPyB6b29tUnVsZXNGb3JFdmVudHNWaWV3KClcbiAgICAgIDogem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMoKTtcblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9LCBbbWFwWm9vbUxldmVsLCBldmVudHNEYXRhLmlzRmV0Y2hpbmcsIGZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBwb2ludHNdKTtcblxuICBjb25zdCBtZW1vaXplZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGZvY3VzZWRFdmVudCEuZm9jdXNlZCA9IGZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgICBmb2N1c2VkRXZlbnQhLmhvdmVyZWQgPSAhZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXJlZEV2ZW50UHJlc2VudCkge1xuICAgICAgaG92ZXJlZEV2ZW50IS5ob3ZlcmVkID0gaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICAgIGhvdmVyZWRFdmVudCEuZm9jdXNlZCA9ICFob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmICghaG92ZXJlZEV2ZW50UHJlc2VudCAmJiAhZm9jdXNlZEV2ZW50UHJlc2VudCkgcmV0dXJuIDw+PC8+O1xuICAgIHJldHVybiAoXG4gICAgICA8RXZlbnRcbiAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudCEgfHwgaG92ZXJlZEV2ZW50IX1cbiAgICAgICAgbWFwPXttYXB9XG4gICAgICAgIGVkZ2VzPXtlZGdlcyF9XG4gICAgICAgIHBvaW50cz17cG9pbnRzIX1cbiAgICAgICAgaW5jbHVkZU5ldHdvcms9eyFob3ZlcmVkRXZlbnRQcmVzZW50fVxuICAgICAgLz5cbiAgICApO1xuICB9LCBbZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgY29sbGVjdG9yc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihjb2xsZWN0b3JzTGF5ZXJHcm91cCk7XG4gICAgfTtcbiAgfSwgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplTWFwKFxuICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgbWFwQm94U3R5bGUsXG4gICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgIG1hcFJlZixcbiAgICAgIGRpc3BhdGNoLFxuICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICBhcmVhVG9DZW50ZXJCeSxcbiAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgIGZvcldXVFBEYXNoYm9hcmQsXG4gICAgKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgLy8gZmFjdG9yaWVzQ2x1c3Rlckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAvLyB3d3Rwc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIC8vIGNvbGxlY3RvcnNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAvLyBhcmVhc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIC8vIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihmYWN0b3JpZXNDbHVzdGVyR3JvdXApO1xuICAgICAgLy8gbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKHd3dHBzTGF5ZXJHcm91cCk7XG4gICAgICAvLyBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoY29sbGVjdG9yc0xheWVyR3JvdXApO1xuICAgICAgLy8gbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGFyZWFzTGF5ZXJHcm91cCk7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmUoKTtcbiAgICAgIC8vIGRpc3BhdGNoKHN0b3JlTWFwKHVuZGVmaW5lZCkpO1xuICAgIH07XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICBpbml0aWFsaXplTWFwKFxuICAgICAgICBtYXBab29tTGV2ZWwsXG4gICAgICAgIG1hcEJveFN0eWxlLFxuICAgICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgICAgbWFwUmVmLFxuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgICAgIGZvcldXVFBEYXNoYm9hcmQsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcmVhRm9jdXNMb2dpYyhcbiAgICAgICAgbWFwUmVmLFxuICAgICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgICAgYXJlYVRvQ2VudGVyQnkgPyBhcmVhVG9DZW50ZXJCeSA6IGFyZWFzWzBdLFxuICAgICAgKTtcbiAgICB9XG4gIH0sIFttYXBSZWYuY3VycmVudF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGNsaWNrZWQgPSBmYWxzZTtcblxuICAgIG1hcFJlZi5jdXJyZW50Py5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICBpZiAoY2xpY2tlZCkgcmV0dXJuO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGxheWVyPy5rYW5kb19vYmplY3RfaWQgPT09IHNlbGVjdGVkSXRlbSAmJlxuICAgICAgICBsYXllci5pc1BvcHVwT3BlbigpID09PSBmYWxzZVxuICAgICAgKSB7XG4gICAgICAgIGlmIChsYXllciBpbnN0YW5jZW9mIEwuTWFya2VyKSB7XG4gICAgICAgICAgbGF5ZXIuZmlyZSgnY2xpY2snKTtcbiAgICAgICAgfSBlbHNlIGlmIChsYXllciBpbnN0YW5jZW9mIEwuUG9seWdvbikge1xuICAgICAgICAgIGxheWVyLmZpcmUoJ2NsaWNrLWV2ZW50Jyk7XG4gICAgICAgIH1cbiAgICAgICAgY2xpY2tlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH0sIFtzZWxlY3RlZEl0ZW1dKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiIHN0eWxlPXtzdHlsZX0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YCBtYXAtY29udGFpbmVyICR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnbWFwLWNvbnRhaW5lci0tc2lkZW5hdi1jb2xsYXBzZWQnXG4gICAgICAgIH1gfVxuICAgICAgPlxuICAgICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICA8ZGl2IGlkPVwibWFwXCI+PC9kaXY+XG4gICAgICAgICAge3Nob3VsZExvYWRNYXBPYmplY3RzKGdsb2JhbF9kYXRhLCBtYXBSZWYsIGVkZ2VzLCBwb2ludHMpICYmIChcbiAgICAgICAgICAgIDxBcmVhUG9seWdvbnNcbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgICAgICAgIG1hcFpvb209e21hcFpvb21MZXZlbH1cbiAgICAgICAgICAgICAgcmVyZW5kZXI9e3pvb21MZXZlbHNbbWFwWm9vbUxldmVsXX1cbiAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgICBmZWF0dXJlR3JvdXA9e2FyZWFzTGF5ZXJHcm91cH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyhcbiAgICAgICAgICAgIGVkZ2VzLFxuICAgICAgICAgICAgYXJlYXMsXG4gICAgICAgICAgICBnbG9iYWxfZGF0YSxcbiAgICAgICAgICAgIG1hcFJlZixcbiAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICApICYmIChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIHttZW1vaXplZEV2ZW50fVxuICAgICAgICAgICAgICB7bWVtb2l6ZWRab29tQ29udHJvbH1cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICB7YXJlYXM/Lmxlbmd0aCA9PT0gMCAmJiBtZW1vaXplZFBvaW50c31cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsSUFBQUEsQ0FBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsdUJBQUEsQ0FBQUMsT0FBQTtBQU9BLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQU9BLElBQUFHLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLGFBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUosT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBTyxhQUFBLEdBQUFQLE9BQUE7QUFFQSxJQUFBUSxNQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxTQUFBLEdBQUFULE9BQUE7QUFRQSxJQUFBVSxNQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxLQUFBLEdBQUFQLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBWSxZQUFBLEdBQUFaLE9BQUE7QUFBcUUsU0FBQWEseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFB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
233
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfRXJyb3JCb3VuZGFyeSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQXJlYVBvbHlnb25zIiwiX0VkZ2VzIiwiX1BvaW50TWFya2VycyIsIl9FdmVudCIsIl9NYXBVdGlscyIsIl90aGVtZSIsIl9pMThuIiwiX0xpc3RDb250ZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJNYXAiLCJfcmVmIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJfcmVmJGhpZGVFZGdlcyIsImhpZGVFZGdlcyIsIl9yZWYkbWFwQm94U3R5bGUiLCJtYXBCb3hTdHlsZSIsImxlYWZsZXRNYXAiLCJtYXBEZWZhdWx0IiwiY2hpbGRyZW4iLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IyIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIl9yZWYkZm9yRXZlbnRzVmlldyIsImZvckV2ZW50c1ZpZXciLCJfcmVmJHN0eWxlIiwic3R5bGUiLCJfcmVmJGZvcldXVFBEYXNoYm9hcmQiLCJmb3JXV1RQRGFzaGJvYXJkIiwibWFwIiwibWFwUmVmIiwidXNlUmVmIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIm1hcFpvb21MZXZlbCIsInNldE1hcFpvb21MZXZlbCIsIl91c2VTZWxlY3RlZEl0ZW0iLCJ1c2VTZWxlY3RlZEl0ZW0iLCJzZWxlY3RlZEl0ZW0iLCJldmVudHNEYXRhIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiaG92ZXJlZEV2ZW50UHJlc2VudCIsInVzZU1lbW8iLCJ1bmRlZmluZWQiLCJmb2N1c2VkRXZlbnRQcmVzZW50IiwiX3VzZVN0YXRlMyIsIndpbmRvdyIsImN1c3RvbUxlYWZsZXQiLCJtYXJrZXJDbHVzdGVyR3JvdXAiLCJzcGlkZXJmeU9uTWF4Wm9vbSIsInNob3dDb3ZlcmFnZU9uSG92ZXIiLCJ6b29tVG9Cb3VuZHNPbkNsaWNrIiwiYW5pbWF0ZSIsImRpc2FibGVDbHVzdGVyaW5nQXRab29tIiwicmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHMiLCJjaHVua2VkTG9hZGluZyIsImljb25DcmVhdGVGdW5jdGlvbiIsImNsdXN0ZXIiLCJEaXZJY29uIiwiaHRtbCIsImNvbmNhdCIsIl9jaGlsZENvdW50IiwiaTE4biIsInQiLCJjbGFzc05hbWUiLCJpY29uU2l6ZSIsIlBvaW50IiwiX3VzZVN0YXRlNCIsImZhY3Rvcmllc0NsdXN0ZXJHcm91cCIsIl91c2VTdGF0ZTUiLCJsYXllckdyb3VwIiwiX3VzZVN0YXRlNiIsInd3dHBzTGF5ZXJHcm91cCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiY29sbGVjdG9yc0xheWVyR3JvdXAiLCJfdXNlU3RhdGU5IiwiRmVhdHVyZUdyb3VwIiwiX3VzZVN0YXRlMTAiLCJhcmVhc0xheWVyR3JvdXAiLCJtZW1vaXplZFBvaW50cyIsImN1cnJlbnQiLCJjcmVhdGVFbGVtZW50IiwiUG9pbnRNYXJrZXJzIiwicmVyZW5kZXIiLCJ6b29tTGV2ZWxzIiwiZmFjdG9yaWVzR3JvdXAiLCJ3d3Rwc0dyb3VwIiwiY29sbGVjdG9yc0dyb3VwIiwiem9vbVJ1bGVzRm9yRXZlbnRzVmlldyIsInBheWxvYWQiLCJGcmFnbWVudCIsImFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cyIsInpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzIiwibWVtb2l6ZWRab29tQ29udHJvbCIsImlzRmV0Y2hpbmciLCJtZW1vaXplZEV2ZW50IiwiZm9jdXNlZCIsImhvdmVyZWQiLCJFdmVudCIsImV2ZW50IiwiaW5jbHVkZU5ldHdvcmsiLCJldmVudEZpbHRlclBhcmFtIiwidXNlRWZmZWN0IiwiY2xlYW51cCIsIl9tYXBSZWYkY3VycmVudCIsImNsZWFyTGF5ZXJzIiwicmVtb3ZlTGF5ZXIiLCJpbml0aWFsaXplTWFwIiwic2F0ZWxsaXRlIiwiaXNWYWxpZEFyZWEiLCJyZW1vdmUiLCJ3YXRlckF1dGhvcml0eUlkIiwiYXJlYUZvY3VzTG9naWMiLCJfbWFwUmVmJGN1cnJlbnQyIiwiY2xpY2tlZCIsImVhY2hMYXllciIsImxheWVyIiwia2FuZG9fb2JqZWN0X2lkIiwiaXNQb3B1cE9wZW4iLCJNYXJrZXIiLCJmaXJlIiwiUG9seWdvbiIsInNpZGVuYXZFeHBhbmRlZCIsImlkIiwic2hvdWxkTG9hZE1hcE9iamVjdHMiLCJBcmVhUG9seWdvbnMiLCJtYXBab29tIiwiZmVhdHVyZUdyb3VwIiwic2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvTWFwLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXG5pbXBvcnQgKiBhcyBMIGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdsZWFmbGV0Lm1hcmtlcmNsdXN0ZXInO1xuaW1wb3J0ICdsZWFmbGV0LnBhdHRlcm4nO1xuaW1wb3J0IFJlYWN0LCB7XG4gIENTU1Byb3BlcnRpZXMsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuLy8gaW1wb3J0IHsgc3RvcmVNYXAgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgQXJlYVBvbHlnb25zIH0gZnJvbSAnLi9hcmVhcy9BcmVhUG9seWdvbnMnO1xuaW1wb3J0IEVkZ2VzIGZyb20gJy4vZWRnZXMvRWRnZXMnO1xuaW1wb3J0ICcuL01hcC5zY3NzJztcbmltcG9ydCAnLi9wb2ludHMvUG9pbnRJY29uLnNjc3MnO1xuaW1wb3J0IHsgUG9pbnRNYXJrZXJzIH0gZnJvbSAnLi9wb2ludHMvUG9pbnRNYXJrZXJzJztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICcuLi8uLi9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBFdmVudCB9IGZyb20gJy4vZXZlbnRzL0V2ZW50JztcbmltcG9ydCB7XG4gIGFyZWFGb2N1c0xvZ2ljLFxuICBpbml0aWFsaXplTWFwLFxuICBpc1ZhbGlkQXJlYSxcbiAgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyxcbiAgc2hvdWxkTG9hZE1hcE9iamVjdHMsXG4gIHpvb21MZXZlbHMsXG59IGZyb20gJy4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgbGVhZmxldE1hcCB9IGZyb20gJy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyB1c2VTZWxlY3RlZEl0ZW0gfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0xpc3RDb250ZXh0JztcbnJlcXVpcmUoJ2xlYWZsZXQubWFya2VyY2x1c3RlcicpO1xuXG5pbnRlcmZhY2UgTWFwUHJvcHMge1xuICBhcmVhczogSUFyZWFbXTtcbiAgZWRnZXM/OiBJRWRnZVtdO1xuICBwb2ludHM/OiBJUG9pbnRbXTtcbiAgZ2xvYmFsX2RhdGE6IElHbG9iYWxTdGF0ZTtcbiAgYXJlYVRvQ2VudGVyQnk/OiBhbnk7XG4gIGZvY3VzZWRFdmVudD86IElFdmVudCB8IG51bGw7XG4gIGhvdmVyZWRFdmVudD86IElFdmVudCB8IG51bGw7XG4gIGhpZGVFZGdlcz86IGJvb2xlYW47XG4gIG1hcEJveFN0eWxlPzogc3RyaW5nO1xuICBjaGlsZHJlbj86IGFueTtcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzO1xuICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM/OiBib29sZWFuO1xuICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzPzogYm9vbGVhbjtcbiAgZm9yRXZlbnRzVmlldzogYm9vbGVhbjtcbiAgZm9yV1dUUERhc2hib2FyZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBNYXA6IFJlYWN0LkZDPE1hcFByb3BzPiA9ICh7XG4gIGFyZWFzLFxuICBlZGdlcyxcbiAgcG9pbnRzLFxuICBnbG9iYWxfZGF0YSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIGZvY3VzZWRFdmVudCxcbiAgaG92ZXJlZEV2ZW50LFxuICBoaWRlRWRnZXMgPSBmYWxzZSxcbiAgbWFwQm94U3R5bGUgPSBsZWFmbGV0TWFwLm1hcERlZmF1bHQsXG4gIGNoaWxkcmVuLFxuICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMgPSB0cnVlLFxuICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzID0gZmFsc2UsXG4gIGZvckV2ZW50c1ZpZXcgPSBmYWxzZSxcbiAgc3R5bGUgPSB7fSxcbiAgZm9yV1dUUERhc2hib2FyZCA9IGZhbHNlLFxufSkgPT4ge1xuICBjb25zdCB7IG1hcCB9ID0gZ2xvYmFsX2RhdGE7XG4gIGNvbnN0IG1hcFJlZiA9IHVzZVJlZjxMLk1hcCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IFttYXBab29tTGV2ZWwsIHNldE1hcFpvb21MZXZlbF0gPSB1c2VTdGF0ZSgyKTtcbiAgY29uc3QgeyBzZWxlY3RlZEl0ZW0gfSA9IHVzZVNlbGVjdGVkSXRlbSgpO1xuICBjb25zdCBldmVudHNEYXRhID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUuZXZlbnRzX2RhdGEsXG4gICk7XG4gIGNvbnN0IGhvdmVyZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gaG92ZXJlZEV2ZW50ICE9PSBudWxsICYmIGhvdmVyZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbaG92ZXJlZEV2ZW50XSk7XG5cbiAgY29uc3QgZm9jdXNlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgZm9jdXNlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtmb2N1c2VkRXZlbnRdKTtcblxuICBjb25zdCBbZmFjdG9yaWVzQ2x1c3Rlckdyb3VwXSA9IHVzZVN0YXRlKFxuICAgIHdpbmRvdy5jdXN0b21MZWFmbGV0Lm1hcmtlckNsdXN0ZXJHcm91cCh7XG4gICAgICBzcGlkZXJmeU9uTWF4Wm9vbTogZmFsc2UsXG4gICAgICBzaG93Q292ZXJhZ2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIHpvb21Ub0JvdW5kc09uQ2xpY2s6IHRydWUsXG4gICAgICBhbmltYXRlOiB0cnVlLFxuICAgICAgZGlzYWJsZUNsdXN0ZXJpbmdBdFpvb206IDE1LFxuICAgICAgcmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHM6IGZhbHNlLFxuICAgICAgY2h1bmtlZExvYWRpbmc6IHRydWUsXG4gICAgICBpY29uQ3JlYXRlRnVuY3Rpb246IGZ1bmN0aW9uIChjbHVzdGVyKSB7XG4gICAgICAgIHJldHVybiBuZXcgTC5EaXZJY29uKHtcbiAgICAgICAgICBodG1sOiBgPGRpdj48c3Bhbj4ke1xuICAgICAgICAgICAgY2x1c3Rlci5fY2hpbGRDb3VudFxuICAgICAgICAgIH08L3NwYW4+PC9kaXY+PGRpdiBjbGFzcz0nbWFya2VyLWNsdXN0ZXItbmFtZSc+JHtpMThuLnQoXG4gICAgICAgICAgICAnaW5kdXN0cmllcycsXG4gICAgICAgICAgKX08L2Rpdj5gLFxuICAgICAgICAgIGNsYXNzTmFtZTogJ21hcmtlci1jbHVzdGVyJyxcbiAgICAgICAgICBpY29uU2l6ZTogbmV3IEwuUG9pbnQoNDAsIDQwKSxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pLFxuICApO1xuXG4gIGNvbnN0IFt3d3Rwc0xheWVyR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbY29sbGVjdG9yc0xheWVyR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICAvL2NvbnN0IFtmYWN0b3JpZXNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW2FyZWFzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShuZXcgTC5GZWF0dXJlR3JvdXAoKSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRQb2ludHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICAgIHBvaW50cyAmJiAoXG4gICAgICAgIDxQb2ludE1hcmtlcnNcbiAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz17aW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzfVxuICAgICAgICAgIHJlcmVuZGVyPXt6b29tTGV2ZWxzW21hcFpvb21MZXZlbF19XG4gICAgICAgICAgZmFjdG9yaWVzR3JvdXA9e2ZhY3Rvcmllc0NsdXN0ZXJHcm91cH1cbiAgICAgICAgICB3d3Rwc0dyb3VwPXt3d3Rwc0xheWVyR3JvdXB9XG4gICAgICAgICAgY29sbGVjdG9yc0dyb3VwPXtjb2xsZWN0b3JzTGF5ZXJHcm91cH1cbiAgICAgICAgICBmb3JFdmVudHNWaWV3PXtmYWxzZX1cbiAgICAgICAgLz5cbiAgICAgIClcbiAgICApO1xuICB9LCBbbWFwUmVmLmN1cnJlbnQsIHBvaW50cywgZm9jdXNlZEV2ZW50UHJlc2VudCwgbWFwWm9vbUxldmVsXSk7XG5cbiAgLy8gY29uc3QgYWN0aXZhdGVab29tQ29udHJvbEZvckljb25zID0gdXNlTWVtbygoKSA9PiB7XG4gIC8vICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiYgaWNvblpvb21Db250cm9sKG1hcFJlZi5jdXJyZW50KTtcbiAgLy8gfSwgW21hcFJlZi5jdXJyZW50LCBwb2ludHMsIGZvY3VzZWRFdmVudFByZXNlbnRdKTtcblxuICBjb25zdCB6b29tUnVsZXNGb3JFdmVudHNWaWV3ID0gKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSAoXG4gICAgICA8PlxuICAgICAgICA8RWRnZXNcbiAgICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgTD17TH1cbiAgICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgICAgaGlkZUVkZ2VzPXtoaWRlRWRnZXN9XG4gICAgICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPXtpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzfVxuICAgICAgICAvPlxuICAgICAgICB7bWVtb2l6ZWRQb2ludHN9XG4gICAgICA8Lz5cbiAgICApO1xuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3Qgem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMgPSAoKSA9PiB7XG4gICAgbGV0IHBheWxvYWQgPSA8PnttZW1vaXplZFBvaW50c308Lz47XG4gICAgc3dpdGNoICh6b29tTGV2ZWxzW21hcFpvb21MZXZlbF0pIHtcbiAgICAgIGNhc2UgJ1NtYWxsJzpcbiAgICAgIGNhc2UgJ01lZGl1bSc6XG4gICAgICAgIHBheWxvYWQgPSB6b29tUnVsZXNGb3JFdmVudHNWaWV3KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgLy8gY2FzZSAnTUxhcmdlJzpcbiAgICAgIC8vIGNhc2UgJ0xhcmdlJzpcbiAgICAgIC8vIGNhc2UgJ1hMYXJnZSc6XG4gICAgICAvLyBkZWZhdWx0OlxuICAgICAgLy8gICBwYXlsb2FkID0gPD57bWVtb2l6ZWRQb2ludHN9PC8+O1xuICAgICAgLy8gICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfTtcblxuICBjb25zdCBtZW1vaXplZFpvb21Db250cm9sID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcGF5bG9hZCA9IGZvckV2ZW50c1ZpZXdcbiAgICAgID8gem9vbVJ1bGVzRm9yRXZlbnRzVmlldygpXG4gICAgICA6IHpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzKCk7XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfSwgW1xuICAgIG1hcFpvb21MZXZlbCxcbiAgICBldmVudHNEYXRhLmlzRmV0Y2hpbmcsXG4gICAgZm9jdXNlZEV2ZW50LFxuICAgIGhvdmVyZWRFdmVudCxcbiAgICBwb2ludHMsXG4gICAgbWFwUmVmLmN1cnJlbnQsXG4gIF0pO1xuXG4gIGNvbnN0IG1lbW9pemVkRXZlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoZm9jdXNlZEV2ZW50UHJlc2VudCkge1xuICAgICAgZm9jdXNlZEV2ZW50IS5mb2N1c2VkID0gZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICAgIGZvY3VzZWRFdmVudCEuaG92ZXJlZCA9ICFmb2N1c2VkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmIChob3ZlcmVkRXZlbnRQcmVzZW50KSB7XG4gICAgICBob3ZlcmVkRXZlbnQhLmhvdmVyZWQgPSBob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgICAgaG92ZXJlZEV2ZW50IS5mb2N1c2VkID0gIWhvdmVyZWRFdmVudFByZXNlbnQ7XG4gICAgfVxuXG4gICAgaWYgKCFob3ZlcmVkRXZlbnRQcmVzZW50ICYmICFmb2N1c2VkRXZlbnRQcmVzZW50KSByZXR1cm4gPD48Lz47XG4gICAgcmV0dXJuIChcbiAgICAgIDxFdmVudFxuICAgICAgICBldmVudD17Zm9jdXNlZEV2ZW50ISB8fCBob3ZlcmVkRXZlbnQhfVxuICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgZWRnZXM9e2VkZ2VzIX1cbiAgICAgICAgcG9pbnRzPXtwb2ludHMhfVxuICAgICAgICBpbmNsdWRlTmV0d29yaz17IWhvdmVyZWRFdmVudFByZXNlbnR9XG4gICAgICAvPlxuICAgICk7XG4gIH0sIFtmb2N1c2VkRXZlbnQsIGhvdmVyZWRFdmVudCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBjb2xsZWN0b3JzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGNvbGxlY3RvcnNMYXllckdyb3VwKTtcbiAgICB9O1xuICB9LCBbZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGluaXRpYWxpemVNYXAoXG4gICAgICBtYXBab29tTGV2ZWwsXG4gICAgICBtYXBCb3hTdHlsZSxcbiAgICAgIGxlYWZsZXRNYXAuc2F0ZWxsaXRlLFxuICAgICAgbWFwUmVmLFxuICAgICAgZGlzcGF0Y2gsXG4gICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgc2V0TWFwWm9vbUxldmVsLFxuICAgICAgZm9yV1dUUERhc2hib2FyZCxcbiAgICApO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICAvLyBmYWN0b3JpZXNDbHVzdGVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIC8vIHd3dHBzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgLy8gY29sbGVjdG9yc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIC8vIGFyZWFzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgLy8gbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGZhY3Rvcmllc0NsdXN0ZXJHcm91cCk7XG4gICAgICAvLyBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIod3d0cHNMYXllckdyb3VwKTtcbiAgICAgIC8vIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihjb2xsZWN0b3JzTGF5ZXJHcm91cCk7XG4gICAgICAvLyBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoYXJlYXNMYXllckdyb3VwKTtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZSgpO1xuICAgICAgLy8gZGlzcGF0Y2goc3RvcmVNYXAodW5kZWZpbmVkKSk7XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxpemVNYXAoXG4gICAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgICAgbWFwQm94U3R5bGUsXG4gICAgICAgIGxlYWZsZXRNYXAuc2F0ZWxsaXRlLFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgICAgZm9yV1dUUERhc2hib2FyZCxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFyZWFGb2N1c0xvZ2ljKFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGlzVmFsaWRBcmVhLFxuICAgICAgICBhcmVhVG9DZW50ZXJCeSA/IGFyZWFUb0NlbnRlckJ5IDogYXJlYXNbMF0sXG4gICAgICApO1xuICAgIH1cbiAgfSwgW21hcFJlZi5jdXJyZW50XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgY2xpY2tlZCA9IGZhbHNlO1xuXG4gICAgbWFwUmVmLmN1cnJlbnQ/LmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICAgIGlmIChjbGlja2VkKSByZXR1cm47XG5cbiAgICAgIGlmIChcbiAgICAgICAgbGF5ZXI/LmthbmRvX29iamVjdF9pZCA9PT0gc2VsZWN0ZWRJdGVtICYmXG4gICAgICAgIGxheWVyLmlzUG9wdXBPcGVuKCkgPT09IGZhbHNlXG4gICAgICApIHtcbiAgICAgICAgaWYgKGxheWVyIGluc3RhbmNlb2YgTC5NYXJrZXIpIHtcbiAgICAgICAgICBsYXllci5maXJlKCdjbGljaycpO1xuICAgICAgICB9IGVsc2UgaWYgKGxheWVyIGluc3RhbmNlb2YgTC5Qb2x5Z29uKSB7XG4gICAgICAgICAgbGF5ZXIuZmlyZSgnY2xpY2stZXZlbnQnKTtcbiAgICAgICAgfVxuICAgICAgICBjbGlja2VkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW3NlbGVjdGVkSXRlbV0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJrZC1tYXAtY29udGFpbmVyXCIgc3R5bGU9e3N0eWxlfT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtgIG1hcC1jb250YWluZXIgJHtcbiAgICAgICAgICBnbG9iYWxfZGF0YS5zaWRlbmF2RXhwYW5kZWQgPyAnJyA6ICdtYXAtY29udGFpbmVyLS1zaWRlbmF2LWNvbGxhcHNlZCdcbiAgICAgICAgfWB9XG4gICAgICA+XG4gICAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgIDxkaXYgaWQ9XCJtYXBcIj48L2Rpdj5cbiAgICAgICAgICB7c2hvdWxkTG9hZE1hcE9iamVjdHMoZ2xvYmFsX2RhdGEsIG1hcFJlZiwgZWRnZXMsIHBvaW50cykgJiYgKFxuICAgICAgICAgICAgPEFyZWFQb2x5Z29uc1xuICAgICAgICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXthcmVhVG9DZW50ZXJCeX1cbiAgICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbUxldmVsfVxuICAgICAgICAgICAgICByZXJlbmRlcj17em9vbUxldmVsc1ttYXBab29tTGV2ZWxdfVxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGZlYXR1cmVHcm91cD17YXJlYXNMYXllckdyb3VwfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzKFxuICAgICAgICAgICAgZWRnZXMsXG4gICAgICAgICAgICBhcmVhcyxcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLFxuICAgICAgICAgICAgbWFwUmVmLFxuICAgICAgICAgICAgcG9pbnRzLFxuICAgICAgICAgICkgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge21lbW9pemVkRXZlbnR9XG4gICAgICAgICAgICAgIHttZW1vaXplZFpvb21Db250cm9sfVxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLElBQUFBLENBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFPQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFPQSxJQUFBRyxjQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFGLHNCQUFBLENBQUFKLE9BQUE7QUFDQUEsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQU8sYUFBQSxHQUFBUCxPQUFBO0FBRUEsSUFBQVEsTUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsU0FBQSxHQUFBVCxPQUFBO0FBUUEsSUFBQVUsTUFBQSxHQUFBVixPQUFBO0FBQ0EsSUFBQVcsS0FBQSxHQUFBUCxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQVksWUFBQSxHQUFBWixPQUFBO0FBQXFFLFNBQUFhLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBZix3QkFBQW1CLEdBQUEsRUFBQUosV0FBQSxT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
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.translateFlowRate = exports.standardBackground = exports.setIcon = exports.selectedBackground = exports.removeLayerGroup = exports.popupContent = exports.pointIsWWTP = exports.pointIsFactory = exports.matchIconToPoint = exports.markerBelongsToSource = exports.markerBelongsToSelectedSource = exports.isFactoryType = exports.isCollectorFocused = exports.handleMarkerEvents = exports.getFlowRate = exports.createSamplingIcons = exports.createSamplingIconPoint = exports.createObservationIconPoint = exports.createManholePoint = exports.createBubblePoint = exports.combinedWWTPIcon = exports.combinedPumpStationIcon = exports.combinedFactoryIcon = exports.combinedCollectorsIcon = exports.calculateWaterConsumption = exports.bubbleForWWTP = exports.bindPopupToMarker = exports.belongsToSourceBackground = exports.addLayerGroup = void 0;
7
+ exports.translateFlowRate = exports.standardBackground = exports.setIcon = exports.selectedBackground = exports.removeLayerGroup = exports.popupContent = exports.pointIsWWTP = exports.pointIsFactory = exports.matchIconToPoint = exports.markerBelongsToSource = exports.markerBelongsToSelectedSource = exports.isCollectorFocused = exports.handleMarkerEvents = exports.createSamplingIcons = exports.createSamplingIconPoint = exports.createObservationIconPoint = exports.createManholePoint = exports.createBubblePoint = exports.combinedWWTPIcon = exports.combinedPumpStationIcon = exports.combinedFactoryIcon = exports.combinedCollectorsIcon = exports.calculateWaterConsumption = exports.bubbleForWWTP = exports.bindPopupToMarker = exports.belongsToSourceBackground = exports.addLayerGroup = void 0;
8
8
  var _lineChart = _interopRequireDefault(require("../../../assets/line-chart.svg"));
9
9
  var _leaflet = _interopRequireDefault(require("leaflet"));
10
10
  var _i18n = _interopRequireDefault(require("../../../utilities/i18n"));
@@ -445,7 +445,6 @@ var getFlowRate = function getFlowRate(waterConsumption, flowRateUnit) {
445
445
  }
446
446
  return _i18n.default.t('events_overview.severities.unknown');
447
447
  };
448
- exports.getFlowRate = getFlowRate;
449
448
  var removeLayerGroup = function removeLayerGroup(map, layerGroup) {
450
449
  if (map.hasLayer(layerGroup)) {
451
450
  map.removeLayer(layerGroup);
@@ -466,11 +465,7 @@ var pointIsWWTP = function pointIsWWTP(point) {
466
465
  };
467
466
  exports.pointIsWWTP = pointIsWWTP;
468
467
  var pointIsFactory = function pointIsFactory(point) {
469
- return isFactoryType(point.group.type);
468
+ return point.group.type === 'Groups::Factory';
470
469
  };
471
470
  exports.pointIsFactory = pointIsFactory;
472
- var isFactoryType = function isFactoryType(type) {
473
- return type === 'Groups::Factory';
474
- };
475
- exports.isFactoryType = isFactoryType;
476
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfTWFwVXRpbHMiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiX3V0aWxzIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJwb2ludElzRmFjdG9yeSIsInNlY3Rvcl9uYW1lIiwid2F0ZXJfZGlzY2hhcmdlIiwiYnViYmxlRm9yV1dUUCIsImFyZ3MiLCJwb2ludEN1c3RvbUljb24iLCJMIiwibWFya2VyIiwibWFya2VyTG9jYXRpb24iLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwid3d0cFBvaW50IiwidHlwZSIsInJpc2VPbkhvdmVyIiwiY3JlYXRlQnViYmxlUG9pbnQiLCJtYXAiLCJob3ZlcmVkIiwibGF5ZXJHcm91cCIsImZsb3dfcmF0ZV91bml0IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiaGFuZGxlQ2xpY2siLCJzdWJ0aXRsZSIsImFkZExheWVyIiwiYmluZFBvcHVwVG9NYXJrZXIiLCJoYW5kbGVNYXJrZXJFdmVudHMiLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZGl2SWNvbiIsImNsYXNzTmFtZSIsImh0bWwiLCJpY29uQW5jaG9yIiwiZXZlbnRzQ291bnRJY29uIiwiX3pvb20iLCJvcGFjaXR5IiwiY3JlYXRlTWFuaG9sZVBvaW50IiwicG9pbnRJY29uIiwiSWNvbiIsImljb25VcmwiLCJ3aGl0ZVBvaW50IiwiaWNvblNpemUiLCJtYW5ob2xlSWNvbiIsIk1hcmtlciIsImJpbmRUb29sdGlwIiwibWF0Y2hJY29uVG9Qb2ludCIsImNvbWJpbmVkRmFjdG9yeUljb24iLCJtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSIsInVuc2hpZnQiLCJzZWxlY3RlZEJhY2tncm91bmQiLCJtYXJrZXJCZWxvbmdzVG9Tb3VyY2UiLCJiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kIiwic3RhbmRhcmRCYWNrZ3JvdW5kIiwiY29tYmluZWRQdW1wU3RhdGlvbkljb24iLCJjb21iaW5lZFdXVFBJY29uIiwicmVkUGluUmVkU2hhZG93Iiwid2F0ZXJJY29uTm9CYWNrZ3JvdW5kIiwicG9wdXBBbmNob3IiLCJjb21iaW5lZENvbGxlY3RvcnNJY29uIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJ3aGl0ZVBpbkJsYWNrU2hhZG93IiwieWVsbG93Q2lyY2xlVVJMIiwicGxhbnRJY29uVVJMIiwiZ3JlZW5DaXJjbGVVUkwiLCJwdW1wU3RhdGlvbkljb25VUkwiLCJjb2xsZWN0b3JJY29uIiwiYnJpZ2h0Qmx1ZUNpcmNsZVVSTCIsIldXVFBJY29uVVJMIiwid2hpdGVQaW5SZWRTaGFkb3ciLCJzb3VyY2UiLCJzb3VyY2VzIiwiZmlsdGVyIiwic2VsZWN0ZWRfc291cmNlIiwiY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQiLCJzZWNvbmRhcnlJY29uIiwic2FtcGxpbmdJY29uIiwiYmx1ZUNpcmNsZVVSTCIsInNhbXBsaW5nSWNvblVSTCIsInRoaXJkSWNvbiIsImZvckVhY2giLCJpbmRleCIsImNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50Iiwib2JzZXJ2YXRpb25JY29uIiwicGlua0NpcmNsZVVSTCIsIm9ic2VydmF0aW9uSWNvblVSTCIsImNyZWF0ZVNhbXBsaW5nSWNvbnMiLCJzYW1wbGVkUG9pbnRJZHMiLCJzYW1wbGluZ3MiLCJzIiwiaW5jbHVkZXMiLCJwb3B1cENvbnRlbnQiLCJvYnMiLCJHcmFwaEljb24iLCJpMThuIiwidCIsInNldmVyaXR5Iiwic2V0SWNvbiIsImVsZW1lbnQiLCJjbGlja2VkIiwiY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbiIsIndhdGVyQ29uc3VtcHRpb24iLCJyb3VuZF90b19uZWFyZXN0X2siLCJjYWxjdWxhdGVkIiwidG9GaXhlZCIsInJvdW5kVG9OZWFyZXN0VGhvdXNhbmQiLCJwYXJzZUZsb2F0IiwidG9Mb2NhbGVTdHJpbmciLCJNYXRoIiwicm91bmQiLCJudW1iZXIiLCJyb3VuZGVkVGhvdXNhbmRzIiwicm91bmRlZFZhbHVlIiwidHJhbnNsYXRlRmxvd1JhdGUiLCJ0b29sdGlwVmlzaWJsZSIsIm9uIiwiY2xvc2VQb3B1cCIsImlzUG9wdXBPcGVuIiwia2FuZG9fb2JqZWN0X2lkIiwic2VuZEFuYWx5dGljc0V2ZW50IiwicG9pbnRfbmFtZSIsImNvbnRlbnQiLCJ3YXRlclJldXNlSWNvbiIsImdldEZsb3dSYXRlIiwiYmluZFBvcHVwIiwibWluV2lkdGgiLCJtYXhXaWR0aCIsImNsb3NlQnV0dG9uIiwiZmxvd1JhdGVVbml0IiwiaXNSb3VuZCIsInJlbW92ZUxheWVyR3JvdXAiLCJoYXNMYXllciIsInJlbW92ZUxheWVyIiwiYWRkTGF5ZXJHcm91cCIsInBvaW50SXNXV1RQIiwiaXNGYWN0b3J5VHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9wb2ludHMvUG9pbnRVdGlscy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgR3JhcGhJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9saW5lLWNoYXJ0LnN2Zyc7XG5pbXBvcnQgTCwgeyBMYXRMbmdUdXBsZSB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IGJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgc2FtcGxpbmdJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9zYW1wbGluZy1pY29uLnN2Zyc7XG5pbXBvcnQgcGlua0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcGluay1jaXJjbGUuc3ZnJztcbmltcG9ydCBvYnNlcnZhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL29ic2VydmF0aW9uLWljb24uc3ZnJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCByZWRQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3JlZC1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluUmVkU2hhZG93IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy93aGl0ZS1waW4tcmVkLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHdoaXRlUGluQmxhY2tTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1ibGFjay1zaGFkb3cucG5nJztcbmltcG9ydCB5ZWxsb3dDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3llbGxvdy1jaXJjbGUuc3ZnJztcbmltcG9ydCBwbGFudEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2ZhY3RvcnktaWNvbi5zdmcnO1xuaW1wb3J0IGdyZWVuQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9ncmVlbi1jaXJjbGUuc3ZnJztcbmltcG9ydCBwdW1wU3RhdGlvbkljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3B1bXAtc3RhdGlvbi1pY29uLnN2Zyc7XG5pbXBvcnQgY29sbGVjdG9ySWNvbiBmcm9tICcuLi8uLi8uLi9hc3NldHMvbWFwL3Bpbi13YXRlci5zdmcnO1xuaW1wb3J0IGJyaWdodEJsdWVDaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2JyaWdodC1ibHVlLWNpcmNsZS5zdmcnO1xuaW1wb3J0IFdXVFBJY29uVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9XV1RQLWljb24uc3ZnJztcbmltcG9ydCB3YXRlckljb25Ob0JhY2tncm91bmQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3dhdGVyLW5vLWJhY2tncm91bmQuc3ZnJztcbmltcG9ydCB3aGl0ZVBvaW50IGZyb20gJy4uLy4uLy4uL2Fzc2V0cy93aGl0ZS1wb2ludC5wbmcnO1xuaW1wb3J0IHsgZXZlbnRzQ291bnRJY29uIH0gZnJvbSAnLi4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgZ2V0UG9pbnRJY29uQnlUeXBlIH0gZnJvbSAnLi9Qb2ludEljb24nO1xuaW1wb3J0IHdhdGVyUmV1c2VJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9pY29ucy93YXRlcl9yZXVzZS5zdmcnO1xuaW1wb3J0IHsgc2VuZEFuYWx5dGljc0V2ZW50IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC91dGlscyc7XG5cbmV4cG9ydCBjb25zdCBpc0NvbGxlY3RvckZvY3VzZWQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICByZXR1cm4gKFxuICAgIGV2ZW50Py5vYnNlcnZhdGlvbnM/Lmxlbmd0aCA9PT0gMSAmJlxuICAgIHBvaW50LmlkID09PSBldmVudC5vYnNlcnZhdGlvbnNbMF0ucG9pbnRfaWRcbiAgKTtcbn07XG5cbmNvbnN0IGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICBsZXQgc3RyaW5nID0gYCR7cG9pbnQuZ3JvdXAubmFtZX0gYDtcblxuICBpZiAocG9pbnRJc0ZhY3RvcnkocG9pbnQpKSB7XG4gICAgc3RyaW5nICs9IGA8YnIvPlNlY3RvcjogJHtwb2ludC5ncm91cC5zZWN0b3JfbmFtZX1gO1xuICAgIHN0cmluZyArPSBgPGJyLz5XYXRlciBDb25zdW1wdGlvbjogJHtwb2ludC5ncm91cC53YXRlcl9kaXNjaGFyZ2V9YDtcbiAgfSBlbHNlIHtcbiAgICBzdHJpbmcgPSBgJHtwb2ludC5uYW1lfWA7XG4gIH1cblxuICByZXR1cm4gc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IGJ1YmJsZUZvcldXVFAgPSAoYXJncykgPT4ge1xuICBjb25zdCBwb2ludEN1c3RvbUljb246IEwuTWFya2VyID0gTC5tYXJrZXIoYXJncy5tYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IGdldFBvaW50SWNvbkJ5VHlwZShcbiAgICAgIGFyZ3Mud3d0cFBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICBhcmdzLnd3dHBQb2ludC5uYW1lLFxuICAgICAgJycsXG4gICAgICBmYWxzZSxcbiAgICAgIHRydWUsXG4gICAgKSxcbiAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgfSk7XG5cbiAgcmV0dXJuIHBvaW50Q3VzdG9tSWNvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVCdWJibGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbiAgZmxvd19yYXRlX3VuaXQgPSAnZ2RfdXMnLFxuICBoYW5kbGVDbGljaz8sXG4pID0+IHtcbiAgY29uc3Qgc3VidGl0bGUgPSBwb2ludElzRmFjdG9yeShwb2ludCkgPyBwb2ludC5ncm91cC5zZWN0b3JfbmFtZSA6ICcnO1xuICBsZXQgcG9pbnRDdXN0b21JY29uOiBMLk1hcmtlciA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgaWNvbjogZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSxcbiAgICAgIHBvaW50Lm5hbWUsXG4gICAgICBzdWJ0aXRsZSxcbiAgICAgIGZhbHNlLFxuICAgICAgdHJ1ZSxcbiAgICApLFxuICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICB9KTtcbiAgLy8gQHRzLWlnbm9yZVxuICAvLyBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vdGlwU3RyaW5nKHBvaW50KSk7XG4gIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50SG92ZXJlZCc7XG5cbiAgbGF5ZXJHcm91cC5hZGRMYXllcihwb2ludEN1c3RvbUljb24pO1xuICBpZiAocG9pbnRJc0ZhY3RvcnkocG9pbnQpKSB7XG4gICAgYmluZFBvcHVwVG9NYXJrZXIocG9pbnQsIHBvaW50Q3VzdG9tSWNvbiwgZmxvd19yYXRlX3VuaXQpO1xuICB9XG5cbiAgaGFuZGxlTWFya2VyRXZlbnRzKG1hcCwgcG9pbnQsIHBvaW50Q3VzdG9tSWNvbiwgaGFuZGxlQ2xpY2spO1xuXG4gIGlmIChwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50KSB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbiA9IEwubWFya2VyKG1hcmtlckxvY2F0aW9uLCB7XG4gICAgICBpY29uOiBMLmRpdkljb24oe1xuICAgICAgICBjbGFzc05hbWU6IGBcbiAgICAgICAgICAke1xuICAgICAgICAgICAgcG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCA+PSAxMDBcbiAgICAgICAgICAgICAgPyAnY2lyY2xlLWV2ZW50cy1hbW91bnQgY2lyY2xlLWV2ZW50cy1hbW91bnQtLXRyaWRpZ2l0J1xuICAgICAgICAgICAgICA6ICdjaXJjbGUtZXZlbnRzLWFtb3VudCdcbiAgICAgICAgICB9IFxuICAgICAgICAgICR7cG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCA+IDIgPyAnYWxlcnQtY29sb3InIDogJyd9XG4gICAgICAgICAgICBgLFxuICAgICAgICBodG1sOiBgPHA+JHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50fTwvcD5gLFxuICAgICAgICBpY29uQW5jaG9yOiBldmVudHNDb3VudEljb24obWFwLl96b29tKS5pY29uQW5jaG9yLFxuICAgICAgfSksXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgICBvcGFjaXR5OiBob3ZlcmVkID8gMSA6IDAsXG4gICAgfSk7XG5cbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdJY29uTnVtYmVyJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdJY29uTnVtYmVySG92ZXJlZCc7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNYW5ob2xlUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgbGV0IHBvaW50SWNvbiA9IG5ldyBMLkljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUG9pbnQsXG4gICAgaWNvblNpemU6IFs5LCA5XSxcbiAgICBpY29uQW5jaG9yOiBbNC41LCA0LjVdLFxuICB9KTtcbiAgbGV0IG1hbmhvbGVJY29uOiBhbnkgPSBuZXcgTC5NYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBwb2ludEljb24sXG4gICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gIH0pO1xuICBtYW5ob2xlSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb29sdGlwU3RyaW5nKHBvaW50KSk7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICBtYW5ob2xlSWNvblsna2FuZG9fcG9pbnRfdHlwZSddID0gJ01hbmhvbGUnO1xuICBpZiAoaG92ZXJlZCkgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50SG92ZXJlZCc7XG4gIGxheWVyR3JvdXAuYWRkTGF5ZXIobWFuaG9sZUljb24pO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hdGNoSWNvblRvUG9pbnQgPSAocG9pbnQ6IElQb2ludCwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICBzd2l0Y2ggKHBvaW50Lmdyb3VwLnR5cGUpIHtcbiAgICBjYXNlICdHcm91cHM6OkZhY3RvcnknOlxuICAgICAgaWYgKGNvbWJpbmVkRmFjdG9yeUljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkRmFjdG9yeUljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkRmFjdG9yeUljb247XG4gICAgY2FzZSAnR3JvdXBzOjpQdW1wU3RhdGlvbic6XG4gICAgICBpZiAoY29tYmluZWRQdW1wU3RhdGlvbkljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRQdW1wU3RhdGlvbkljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uO1xuICAgIGNhc2UgJ0dyb3Vwczo6V2FzdGV3YXRlclRyZWF0bWVudFBsYW50JzpcbiAgICAgIGlmIChjb21iaW5lZFdXVFBJY29uLmxlbmd0aCA9PT0gMikge1xuICAgICAgICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZFdXVFBJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZFdXVFBJY29uO1xuXG4gICAgY2FzZSAnR3JvdXBzOjpDb2xsZWN0b3JzJzpcbiAgICAgIGlmIChpc0NvbGxlY3RvckZvY3VzZWQocG9pbnQsIGV2ZW50KSkge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgICAgICAgICAgaWNvbkFuY2hvcjogWzMwLCA1Ml0sXG4gICAgICAgICAgfSksXG5cbiAgICAgICAgICBMLmljb24oe1xuICAgICAgICAgICAgaWNvblVybDogd2F0ZXJJY29uTm9CYWNrZ3JvdW5kLFxuICAgICAgICAgICAgaWNvblNpemU6IFswLCAwXSxcblxuICAgICAgICAgICAgaWNvbkFuY2hvcjogWzIyLCA0NF0sXG4gICAgICAgICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21iaW5lZENvbGxlY3RvcnNJY29uO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc3RhbmRhcmRCYWNrZ3JvdW5kID0gKFxuICBzZWNvbmRhcnk6IGJvb2xlYW4gPSBmYWxzZSxcbiAgdGhpcmQ6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBpbkJsYWNrU2hhZG93LFxuICAgIGljb25TaXplOiBzZWNvbmRhcnkgPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5ICYmIHRoaXJkID8gWy0yLCAxOV0gOiBzZWNvbmRhcnkgPyBbLTIsIDQ0XSA6IFsyMCwgNDJdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRGYWN0b3J5SWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiB5ZWxsb3dDaXJjbGVVUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBwbGFudEljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbNSwgMzBdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRQdW1wU3RhdGlvbkljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogZ3JlZW5DaXJjbGVVUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMTAuNywgMzMuN10sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBwdW1wU3RhdGlvbkljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbNywgMzJdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRDb2xsZWN0b3JzSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBjb2xsZWN0b3JJY29uLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG5cbiAgICBpY29uQW5jaG9yOiBbMjUsIDUwXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IGNvbWJpbmVkV1dUUEljb24gPSBbXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogYnJpZ2h0Qmx1ZUNpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IFdXVFBJY29uVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzgsIDMxXSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdGVkQmFja2dyb3VuZCA9ICgpID0+IHtcbiAgcmV0dXJuIEwuaWNvbih7XG4gICAgaWNvblVybDogcmVkUGluUmVkU2hhZG93LFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiB3aGl0ZVBpblJlZFNoYWRvdyxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFszMiwgNTRdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgbWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UgPSAoZXZlbnQ6IElFdmVudCwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBsZXQgc291cmNlO1xuXG4gIGlmIChldmVudCAhPT0gbnVsbCAmJiBldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgc291cmNlID0gZXZlbnQuc291cmNlcy5maWx0ZXIoKHNvdXJjZSkgPT4gc291cmNlLnBvaW50X2lkID09PSBwb2ludC5pZClbMF07XG4gIH1cblxuICByZXR1cm4gZXZlbnQgIT09IG51bGwgJiYgc291cmNlICYmIGV2ZW50LnNlbGVjdGVkX3NvdXJjZSA9PT0gc291cmNlLnBvaW50X2lkO1xufTtcblxuZXhwb3J0IGNvbnN0IG1hcmtlckJlbG9uZ3NUb1NvdXJjZSA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGlmIChldmVudCA9PT0gdW5kZWZpbmVkKSByZXR1cm47XG4gIHJldHVybiAoXG4gICAgZXZlbnQgIT09IG51bGwgJiZcbiAgICBldmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXVxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNhbXBsaW5nSWNvblBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHNlY29uZGFyeUljb246IGJvb2xlYW4sXG4gIG1hcCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgZXZlbnQ6IElFdmVudCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gIC8vIEljb24gQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG4gIGxldCBzYW1wbGluZ0ljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IGJsdWVDaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTcsIDE1XSA6IFsxMC43LCAzMy43XSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogc2FtcGxpbmdJY29uVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy04LCAxM10gOiBbNSwgMzBdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGxldCB0aGlyZEljb24gPSBmYWxzZTtcbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIHRoaXJkSWNvbiA9IHRydWU7XG4gICAgc2FtcGxpbmdJY29uLnVuc2hpZnQoc3RhbmRhcmRCYWNrZ3JvdW5kKHNlY29uZGFyeUljb24sIHRoaXJkSWNvbikpO1xuICB9XG5cbiAgc2FtcGxpbmdJY29uLmZvckVhY2goKGljb24sIGluZGV4KSA9PiB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IGljb24sXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgfSk7XG4gICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2luZGV4X29iamVjdCddID0gaW5kZXg7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19mZXdfbGF5ZXJfaWNvbiddID0gdHJ1ZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3NlY29uZGFyeSddID0gdGhpcmRJY29uID8gZmFsc2UgOiBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IHRoaXJkSWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZyc7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnU2FtcGxpbmdIb3ZlcmVkJztcbiAgICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHNlY29uZGFyeUljb246IGJvb2xlYW4sXG4gIG1hcCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgZXZlbnQ6IElFdmVudCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIC8vIGljb25TaXplOiBbd2lkdGgsIGhlaWdodF0sXG4gIC8vIEljb24gQW5jaG9yOiBbKC1yaWdodCkoK2xlZnQpLCAoLWRvd24pKCt1cCldXG4gIGxldCBvYnNlcnZhdGlvbkljb24gPSBbXG4gICAgTC5pY29uKHtcbiAgICAgIGljb25Vcmw6IHBpbmtDaXJjbGVVUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTcsIDQwXSA6IFsxMC43LCAzMy43XSxcbiAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICB9KSxcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogb2JzZXJ2YXRpb25JY29uVVJMLFxuICAgICAgaWNvblNpemU6IHNlY29uZGFyeUljb24gPyBbMCwgMF0gOiBbMCwgMF0sXG4gICAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnlJY29uID8gWy04LCAzOF0gOiBbNSwgMzBdLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICBdO1xuXG4gIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpICYmICFzZWNvbmRhcnlJY29uKSB7XG4gICAgb2JzZXJ2YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbikpO1xuICB9XG5cbiAgb2JzZXJ2YXRpb25JY29uLmZvckVhY2goKGljb24sIGluZGV4KSA9PiB7XG4gICAgbGV0IHBvaW50Q3VzdG9tSWNvbjogYW55ID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IGljb24sXG4gICAgICByaXNlT25Ib3ZlcjogZmFsc2UsXG4gICAgfSk7XG4gICAgcG9pbnRDdXN0b21JY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2luZGV4X29iamVjdCddID0gaW5kZXg7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19mZXdfbGF5ZXJfaWNvbiddID0gdHJ1ZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3NlY29uZGFyeSddID0gc2Vjb25kYXJ5SWNvbjtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX3RoaXJkJ10gPSBmYWxzZTtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbic7XG4gICAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnT2JzZXJ2YXRpb25Ib3ZlcmVkJztcbiAgICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNhbXBsaW5nSWNvbnMgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgZXZlbnQ6IElFdmVudCxcbiAgcG9pbnQ6IElQb2ludCxcbiAgbWFwLFxuICBob3ZlcmVkLFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICBsZXQgc2FtcGxlZFBvaW50SWRzID0gZXZlbnQuc2FtcGxpbmdzLm1hcCgocykgPT4gcy5wb2ludF9pZCk7XG4gIGlmIChcbiAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgIGV2ZW50LnNhbXBsaW5ncy5sZW5ndGggIT09IDAgJiZcbiAgICBzYW1wbGVkUG9pbnRJZHMuaW5jbHVkZXMocG9pbnQuaWQpXG4gICkge1xuICAgIGNyZWF0ZVNhbXBsaW5nSWNvblBvaW50KFxuICAgICAgbWFya2VyTG9jYXRpb24sXG4gICAgICBtYXRjaEljb25Ub1BvaW50KHBvaW50LCBldmVudCkgIT09IG51bGwsXG4gICAgICBtYXAsXG4gICAgICBwb2ludCxcbiAgICAgIGV2ZW50LFxuICAgICAgaG92ZXJlZCxcbiAgICAgIGxheWVyR3JvdXAsXG4gICAgKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBvcHVwQ29udGVudCA9IChvYnM6IGFueSwgcG9pbnQ6IElQb2ludCkgPT4ge1xuICBpZiAob2JzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtwb2ludC5pZH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIke0dyYXBoSWNvbn1cIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2l0ZS1uYW1lXCI+PGI+JHtwb2ludC5ncm91cC5uYW1lfTwvYj48L2g1PlxuICAgICAgICAgICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInNlY3RvclwiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXZlbnQtcG9wdXBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtZ3JhcGgtaWNvbiBwb3B1cC1ncmFwaC1pY29uLSR7b2JzLmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke1xuICAgICAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgfTwvYj48L2g1PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXR5YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICl9PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAncG9wdXAtY29udGVudF9fc2V2ZXJpdHktLScgKyBvYnMuc2V2ZXJpdHlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YiBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LWJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLiR7b2JzLnNldmVyaXR5fWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDxociBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX2hyXCIgLz5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudF9fZGlzY2hhcmdlLXRpbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LmZpcnN0X3NlZW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9OjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YiBpZD1cImZpcnN0LXNlZW4tcG9wdXBcIj48L2I+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktcFwiPiR7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGV2ZW50c19vdmVydmlldy5sYXN0X3NlZW5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9OjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48YiBpZD1cImxhc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgYDtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHNldEljb24gPSAoZWxlbWVudCwgY2xpY2tlZCwgcG9pbnQpID0+IHtcbiAgZWxlbWVudC5zZXRJY29uKFxuICAgIGdldFBvaW50SWNvbkJ5VHlwZShcbiAgICAgIHBvaW50Lmdyb3VwLnR5cGUsXG4gICAgICBwb2ludC5uYW1lLFxuICAgICAgcG9pbnQuZ3JvdXAuc2VjdG9yX25hbWUsXG4gICAgICBjbGlja2VkLFxuICAgICAgIWNsaWNrZWQsXG4gICAgKSxcbiAgKTtcbn07XG5cbi8vIHJvdW5kIHRvIG5lYXJlc3QgdGhvdXNhbmQgaXMgdXNlZCB3aGVuIHlvdSB3YW50IHRvIHJvdW5kIHRoZSB3YXRlciBjb25zdW1wdGlvbiB0byB0aGUgbmVhcmVzdCB0aG91c2FuZFxuLy8gZm9yIGV4YW1wbGU6IDIzNCw1NjcgLT4gMjM1LDAwMFxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZVdhdGVyQ29uc3VtcHRpb24gPSAoXG4gIGZsb3dfcmF0ZV91bml0OiBzdHJpbmcsXG4gIHdhdGVyQ29uc3VtcHRpb246IG51bWJlcixcbiAgcm91bmRfdG9fbmVhcmVzdF9rOiBib29sZWFuID0gZmFsc2UsXG4pID0+IHtcbiAgbGV0IGNhbGN1bGF0ZWQgPSAnMCc7XG5cbiAgaWYgKHdhdGVyQ29uc3VtcHRpb24gPiAwKSB7XG4gICAgc3dpdGNoIChmbG93X3JhdGVfdW5pdCkge1xuICAgICAgY2FzZSAnbTNkJzpcbiAgICAgICAgY2FsY3VsYXRlZCA9IHdhdGVyQ29uc3VtcHRpb24udG9GaXhlZCgyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdnZF91cyc6XG4gICAgICAgIGNhbGN1bGF0ZWQgPSAod2F0ZXJDb25zdW1wdGlvbiAqIDI2NC4xNzIpLnRvRml4ZWQoMik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZ2RfdWsnOlxuICAgICAgICBjYWxjdWxhdGVkID0gKHdhdGVyQ29uc3VtcHRpb24gKiAyMTkuOTY5KS50b0ZpeGVkKDIpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgaWYgKHJvdW5kX3RvX25lYXJlc3Rfaykge1xuICAgIHJldHVybiByb3VuZFRvTmVhcmVzdFRob3VzYW5kKHBhcnNlRmxvYXQoY2FsY3VsYXRlZCkpLnRvTG9jYWxlU3RyaW5nKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQocGFyc2VGbG9hdChjYWxjdWxhdGVkKSkudG9Mb2NhbGVTdHJpbmcoKTtcbiAgfVxufTtcblxuY29uc3Qgcm91bmRUb05lYXJlc3RUaG91c2FuZCA9IChudW1iZXIpID0+IHtcbiAgLy8gaWYoaXNBbHJlYWR5Um91bmRlZChudW1iZXIpKSB7XG4gIC8vICAgcmV0dXJuIG51bWJlcjtcbiAgLy8gfVxuXG4gIGlmIChudW1iZXIgPCAxMDAwKSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQobnVtYmVyKTtcbiAgfVxuXG4gIGNvbnN0IHJvdW5kZWRUaG91c2FuZHMgPSBNYXRoLnJvdW5kKG51bWJlciAvIDEwMDApO1xuICBjb25zdCByb3VuZGVkVmFsdWUgPSByb3VuZGVkVGhvdXNhbmRzICogMTAwMDtcblxuICByZXR1cm4gcm91bmRlZFZhbHVlO1xufTtcblxuLy8gY29uc3QgaXNBbHJlYWR5Um91bmRlZCA9IChudW1iZXIpID0+IHtcbi8vICAgcmV0dXJuIG51bWJlciA9PT0gTWF0aC5yb3VuZChudW1iZXIpO1xuLy8gfVxuXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlRmxvd1JhdGUgPSAoZmxvd19yYXRlX3VuaXQpID0+IHtcbiAgcmV0dXJuIGkxOG4udChcbiAgICBgZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmxvd19yYXRlX3VuaXRfb3B0aW9ucy4ke1xuICAgICAgZmxvd19yYXRlX3VuaXQuaW5jbHVkZXMoJ2dkJykgPyAnZ2QnIDogZmxvd19yYXRlX3VuaXRcbiAgICB9YCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVNYXJrZXJFdmVudHMgPSAoXG4gIG1hcCxcbiAgcG9pbnQsXG4gIHBvaW50Q3VzdG9tSWNvbixcbiAgaGFuZGxlQ2xpY2ssXG4pID0+IHtcbiAgbGV0IHRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG5cbiAgbWFwLm9uKCd6b29tc3RhcnQnLCBmdW5jdGlvbiAoKSB7XG4gICAgbWFwLmNsb3NlUG9wdXAoKTtcbiAgfSk7XG5cbiAgcG9pbnRDdXN0b21JY29uLm9uKCdwb3B1cGNsb3NlJywgKCkgPT4ge1xuICAgIC8vIHNldEljb24ocG9pbnRDdXN0b21JY29uLCBmYWxzZSwgcG9pbnQpO1xuICAgIHRvb2x0aXBWaXNpYmxlID0gZmFsc2U7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbigncG9wdXBvcGVuJywgKCkgPT4ge1xuICAgIC8vIHNldEljb24ocG9pbnRDdXN0b21JY29uLCB0cnVlLCBwb2ludCk7XG4gICAgdG9vbHRpcFZpc2libGUgPSB0cnVlO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ21vdXNlb3ZlcicsICgpID0+IHtcbiAgICBpZiAodG9vbHRpcFZpc2libGUpIHJldHVybjtcblxuICAgIHNldEljb24ocG9pbnRDdXN0b21JY29uLCB0cnVlLCBwb2ludCk7XG4gICAgdG9vbHRpcFZpc2libGUgPSB0cnVlO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ21vdXNlb3V0JywgKCkgPT4ge1xuICAgIGlmIChwb2ludEN1c3RvbUljb24uaXNQb3B1cE9wZW4oKSkgcmV0dXJuO1xuXG4gICAgc2V0SWNvbihwb2ludEN1c3RvbUljb24sIGZhbHNlLCBwb2ludCk7XG4gICAgdG9vbHRpcFZpc2libGUgPSBmYWxzZTtcbiAgfSk7XG5cbiAgaWYgKHR5cGVvZiBoYW5kbGVDbGljayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHBvaW50Q3VzdG9tSWNvbi5vbignY2xpY2snLCAoKSA9PiB7XG4gICAgICBoYW5kbGVDbGljayhwb2ludEN1c3RvbUljb24ua2FuZG9fb2JqZWN0X2lkKTtcblxuICAgICAgaWYgKHBvaW50SXNGYWN0b3J5KHBvaW50KSkge1xuICAgICAgICBzZW5kQW5hbHl0aWNzRXZlbnQoJ01hcCBWaWV3IC0gRmFjdG9yeSBjbGlja2VkJywgJ21hcCcsIHtcbiAgICAgICAgICBwb2ludF9pZDogcG9pbnQuaWQsXG4gICAgICAgICAgcG9pbnRfbmFtZTogcG9pbnQubmFtZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBiaW5kUG9wdXBUb01hcmtlciA9IChwb2ludCwgbGF5ZXJHcm91cCwgZmxvd19yYXRlX3VuaXQpID0+IHtcbiAgbGV0IGNvbnRlbnQgPSBgXG4gICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50Jz5cbiAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19oZWFkZXInPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudF9faGVhZGVyX190aXRsZXNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzX190aXRsZSc+JHtcbiAgICAgICAgICAgICAgICAgIHBvaW50Lm5hbWVcbiAgICAgICAgICAgICAgICB9PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc19fc3VidGl0bGUnPiR7XG4gICAgICAgICAgICAgICAgICBwb2ludC5ncm91cC5zZWN0b3JfbmFtZVxuICAgICAgICAgICAgICAgIH08L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICBcbiAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5Jz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbSc+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX19pY29uJz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9JyR7d2F0ZXJSZXVzZUljb259JyAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9fdGl0bGVzJz5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9fdGl0bGVzX190aXRsZSc+XG4gICAgICAgICAgICAgICAgICAgICR7Z2V0Rmxvd1JhdGUocG9pbnQuZ3JvdXAud2F0ZXJfZGlzY2hhcmdlLCBmbG93X3JhdGVfdW5pdCl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9fYm9keV9faXRlbV9fdGl0bGVzX19zdWJ0aXRsZSc+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICd3YXRlcl9kaXNjaGFyZ2UnLFxuICAgICAgICAgICAgICAgICAgKX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICBgO1xuXG4gIGxheWVyR3JvdXAuYmluZFBvcHVwKGNvbnRlbnQsIHtcbiAgICBjbGFzc05hbWU6ICdwb2ludC1tYXJrZXItcG9wdXAnLFxuICAgIG1pbldpZHRoOiAnMjE0cHgnLFxuICAgIG1heFdpZHRoOiAnMjE0cHgnLFxuICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGbG93UmF0ZSA9IChcbiAgd2F0ZXJDb25zdW1wdGlvbjogbnVtYmVyLFxuICBmbG93UmF0ZVVuaXQ6IHN0cmluZyxcbiAgaXNSb3VuZDogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIGlmICh3YXRlckNvbnN1bXB0aW9uID4gMCkge1xuICAgIHJldHVybiAoXG4gICAgICBjYWxjdWxhdGVXYXRlckNvbnN1bXB0aW9uKGZsb3dSYXRlVW5pdCwgd2F0ZXJDb25zdW1wdGlvbiwgaXNSb3VuZCkgK1xuICAgICAgJyAnICtcbiAgICAgIHRyYW5zbGF0ZUZsb3dSYXRlKGZsb3dSYXRlVW5pdClcbiAgICApO1xuICB9XG4gIHJldHVybiBpMThuLnQoJ2V2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLnVua25vd24nKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVMYXllckdyb3VwID0gKG1hcCwgbGF5ZXJHcm91cCkgPT4ge1xuICBpZiAobWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLnJlbW92ZUxheWVyKGxheWVyR3JvdXApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgYWRkTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKCFtYXAuaGFzTGF5ZXIobGF5ZXJHcm91cCkpIHtcbiAgICBtYXAuYWRkTGF5ZXIobGF5ZXJHcm91cCk7XG4gIH0gZWxzZSB7XG4gICAgcmVtb3ZlTGF5ZXJHcm91cChtYXAsIGxheWVyR3JvdXApO1xuICAgIGFkZExheWVyR3JvdXAobWFwLCBsYXllckdyb3VwKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNXV1RQID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6Oldhc3Rld2F0ZXJUcmVhdG1lbnRQbGFudCc7XG59O1xuXG5leHBvcnQgY29uc3QgcG9pbnRJc0ZhY3RvcnkgPSAocG9pbnQ6IElQb2ludCkgPT4ge1xuICByZXR1cm4gaXNGYWN0b3J5VHlwZShwb2ludC5ncm91cC50eXBlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0ZhY3RvcnlUeXBlID0gKHR5cGU6IHN0cmluZykgPT4ge1xuICByZXR1cm4gdHlwZSA9PT0gJ0dyb3Vwczo6RmFjdG9yeSc7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUNBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUEyQyxJQUFBRSxXQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBRyxhQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBSSxXQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBSyxnQkFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBTzNDLElBQUFNLGdCQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxrQkFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVEsb0JBQUEsR0FBQVQsc0JBQUEsQ0FBQUMsT0FBQTtBQUF5RixJQUFBUyxhQUFBLEdBQUFWLHNCQUFBLENBQUFDLE9BQUE7QUFBQSxJQUFBVSxZQUFBLEdBQUFYLHNCQUFBLENB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
471
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2kxOG4iLCJfYmx1ZUNpcmNsZSIsIl9zYW1wbGluZ0ljb24iLCJfcGlua0NpcmNsZSIsIl9vYnNlcnZhdGlvbkljb24iLCJfcmVkUGluUmVkU2hhZG93IiwiX3doaXRlUGluUmVkU2hhZG93IiwiX3doaXRlUGluQmxhY2tTaGFkb3ciLCJfeWVsbG93Q2lyY2xlIiwiX2ZhY3RvcnlJY29uIiwiX2dyZWVuQ2lyY2xlIiwiX3B1bXBTdGF0aW9uSWNvbiIsIl9waW5XYXRlciIsIl9icmlnaHRCbHVlQ2lyY2xlIiwiX1dXVFBJY29uIiwiX3dhdGVyTm9CYWNrZ3JvdW5kIiwiX3doaXRlUG9pbnQiLCJfTWFwVXRpbHMiLCJfUG9pbnRJY29uIiwiX3dhdGVyX3JldXNlIiwiX3V0aWxzIiwiaXNDb2xsZWN0b3JGb2N1c2VkIiwicG9pbnQiLCJldmVudCIsIl9ldmVudCRvYnNlcnZhdGlvbnMiLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJpZCIsInBvaW50X2lkIiwiZXhwb3J0cyIsImJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmciLCJzdHJpbmciLCJjb25jYXQiLCJncm91cCIsIm5hbWUiLCJwb2ludElzRmFjdG9yeSIsInNlY3Rvcl9uYW1lIiwid2F0ZXJfZGlzY2hhcmdlIiwiYnViYmxlRm9yV1dUUCIsImFyZ3MiLCJwb2ludEN1c3RvbUljb24iLCJMIiwibWFya2VyIiwibWFya2VyTG9jYXRpb24iLCJpY29uIiwiZ2V0UG9pbnRJY29uQnlUeXBlIiwid3d0cFBvaW50IiwidHlwZSIsInJpc2VPbkhvdmVyIiwiY3JlYXRlQnViYmxlUG9pbnQiLCJtYXAiLCJob3ZlcmVkIiwibGF5ZXJHcm91cCIsImZsb3dfcmF0ZV91bml0IiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiaGFuZGxlQ2xpY2siLCJzdWJ0aXRsZSIsImFkZExheWVyIiwiYmluZFBvcHVwVG9NYXJrZXIiLCJoYW5kbGVNYXJrZXJFdmVudHMiLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZGl2SWNvbiIsImNsYXNzTmFtZSIsImh0bWwiLCJpY29uQW5jaG9yIiwiZXZlbnRzQ291bnRJY29uIiwiX3pvb20iLCJvcGFjaXR5IiwiY3JlYXRlTWFuaG9sZVBvaW50IiwicG9pbnRJY29uIiwiSWNvbiIsImljb25VcmwiLCJ3aGl0ZVBvaW50IiwiaWNvblNpemUiLCJtYW5ob2xlSWNvbiIsIk1hcmtlciIsImJpbmRUb29sdGlwIiwibWF0Y2hJY29uVG9Qb2ludCIsImNvbWJpbmVkRmFjdG9yeUljb24iLCJtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSIsInVuc2hpZnQiLCJzZWxlY3RlZEJhY2tncm91bmQiLCJtYXJrZXJCZWxvbmdzVG9Tb3VyY2UiLCJiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kIiwic3RhbmRhcmRCYWNrZ3JvdW5kIiwiY29tYmluZWRQdW1wU3RhdGlvbkljb24iLCJjb21iaW5lZFdXVFBJY29uIiwicmVkUGluUmVkU2hhZG93Iiwid2F0ZXJJY29uTm9CYWNrZ3JvdW5kIiwicG9wdXBBbmNob3IiLCJjb21iaW5lZENvbGxlY3RvcnNJY29uIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJ3aGl0ZVBpbkJsYWNrU2hhZG93IiwieWVsbG93Q2lyY2xlVVJMIiwicGxhbnRJY29uVVJMIiwiZ3JlZW5DaXJjbGVVUkwiLCJwdW1wU3RhdGlvbkljb25VUkwiLCJjb2xsZWN0b3JJY29uIiwiYnJpZ2h0Qmx1ZUNpcmNsZVVSTCIsIldXVFBJY29uVVJMIiwid2hpdGVQaW5SZWRTaGFkb3ciLCJzb3VyY2UiLCJzb3VyY2VzIiwiZmlsdGVyIiwic2VsZWN0ZWRfc291cmNlIiwiY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQiLCJzZWNvbmRhcnlJY29uIiwic2FtcGxpbmdJY29uIiwiYmx1ZUNpcmNsZVVSTCIsInNhbXBsaW5nSWNvblVSTCIsInRoaXJkSWNvbiIsImZvckVhY2giLCJpbmRleCIsImNyZWF0ZU9ic2VydmF0aW9uSWNvblBvaW50Iiwib2JzZXJ2YXRpb25JY29uIiwicGlua0NpcmNsZVVSTCIsIm9ic2VydmF0aW9uSWNvblVSTCIsImNyZWF0ZVNhbXBsaW5nSWNvbnMiLCJzYW1wbGVkUG9pbnRJZHMiLCJzYW1wbGluZ3MiLCJzIiwiaW5jbHVkZXMiLCJwb3B1cENvbnRlbnQiLCJvYnMiLCJHcmFwaEljb24iLCJpMThuIiwidCIsInNldmVyaXR5Iiwic2V0SWNvbiIsImVsZW1lbnQiLCJjbGlja2VkIiwiY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbiIsIndhdGVyQ29uc3VtcHRpb24iLCJyb3VuZF90b19uZWFyZXN0X2siLCJjYWxjdWxhdGVkIiwidG9GaXhlZCIsInJvdW5kVG9OZWFyZXN0VGhvdXNhbmQiLCJwYXJzZUZsb2F0IiwidG9Mb2NhbGVTdHJpbmciLCJNYXRoIiwicm91bmQiLCJudW1iZXIiLCJyb3VuZGVkVGhvdXNhbmRzIiwicm91bmRlZFZhbHVlIiwidHJhbnNsYXRlRmxvd1JhdGUiLCJ0b29sdGlwVmlzaWJsZSIsIm9uIiwiY2xvc2VQb3B1cCIsImlzUG9wdXBPcGVuIiwia2FuZG9fb2JqZWN0X2lkIiwic2VuZEFuYWx5dGljc0V2ZW50IiwicG9pbnRfbmFtZSIsImNvbnRlbnQiLCJ3YXRlclJldXNlSWNvbiIsImdldEZsb3dSYXRlIiwiYmluZFBvcHVwIiwibWluV2lkdGgiLCJtYXhXaWR0aCIsImNsb3NlQnV0dG9uIiwiZmxvd1JhdGVVbml0IiwiaXNSb3VuZCIsInJlbW92ZUxheWVyR3JvdXAiLCJoYXNMYXllciIsInJlbW92ZUxheWVyIiwiYWRkTGF5ZXJHcm91cCIsInBvaW50SXNXV1RQIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL3BvaW50cy9Qb2ludFV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBHcmFwaEljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2xpbmUtY2hhcnQuc3ZnJztcbmltcG9ydCBMLCB7IExhdExuZ1R1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgYmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYmx1ZS1jaXJjbGUuc3ZnJztcbmltcG9ydCBzYW1wbGluZ0ljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3NhbXBsaW5nLWljb24uc3ZnJztcbmltcG9ydCBwaW5rQ2lyY2xlVVJMIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9wb2ludF9pY29ucy9waW5rLWNpcmNsZS5zdmcnO1xuaW1wb3J0IG9ic2VydmF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvb2JzZXJ2YXRpb24taWNvbi5zdmcnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHJlZFBpblJlZFNoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcmVkLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5SZWRTaGFkb3cgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL3doaXRlLXBpbi1yZWQtc2hhZG93LnBuZyc7XG5pbXBvcnQgd2hpdGVQaW5CbGFja1NoYWRvdyBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2hpdGUtcGluLWJsYWNrLXNoYWRvdy5wbmcnO1xuaW1wb3J0IHllbGxvd0NpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMveWVsbG93LWNpcmNsZS5zdmcnO1xuaW1wb3J0IHBsYW50SWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvZmFjdG9yeS1pY29uLnN2Zyc7XG5pbXBvcnQgZ3JlZW5DaXJjbGVVUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL2dyZWVuLWNpcmNsZS5zdmcnO1xuaW1wb3J0IHB1bXBTdGF0aW9uSWNvblVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvcHVtcC1zdGF0aW9uLWljb24uc3ZnJztcbmltcG9ydCBjb2xsZWN0b3JJY29uIGZyb20gJy4uLy4uLy4uL2Fzc2V0cy9tYXAvcGluLXdhdGVyLnN2Zyc7XG5pbXBvcnQgYnJpZ2h0Qmx1ZUNpcmNsZVVSTCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvYnJpZ2h0LWJsdWUtY2lyY2xlLnN2Zyc7XG5pbXBvcnQgV1dUUEljb25VUkwgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3BvaW50X2ljb25zL1dXVFAtaWNvbi5zdmcnO1xuaW1wb3J0IHdhdGVySWNvbk5vQmFja2dyb3VuZCBmcm9tICcuLi8uLi8uLi9hc3NldHMvcG9pbnRfaWNvbnMvd2F0ZXItbm8tYmFja2dyb3VuZC5zdmcnO1xuaW1wb3J0IHdoaXRlUG9pbnQgZnJvbSAnLi4vLi4vLi4vYXNzZXRzL3doaXRlLXBvaW50LnBuZyc7XG5pbXBvcnQgeyBldmVudHNDb3VudEljb24gfSBmcm9tICcuLi9NYXBVdGlscyc7XG5pbXBvcnQgeyBnZXRQb2ludEljb25CeVR5cGUgfSBmcm9tICcuL1BvaW50SWNvbic7XG5pbXBvcnQgd2F0ZXJSZXVzZUljb24gZnJvbSAnLi4vLi4vLi4vYXNzZXRzL2ljb25zL3dhdGVyX3JldXNlLnN2Zyc7XG5pbXBvcnQgeyBzZW5kQW5hbHl0aWNzRXZlbnQgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IGlzQ29sbGVjdG9yRm9jdXNlZCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHJldHVybiAoXG4gICAgZXZlbnQ/Lm9ic2VydmF0aW9ucz8ubGVuZ3RoID09PSAxICYmXG4gICAgcG9pbnQuaWQgPT09IGV2ZW50Lm9ic2VydmF0aW9uc1swXS5wb2ludF9pZFxuICApO1xufTtcblxuY29uc3QgYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzdHJpbmcgPSBgJHtwb2ludC5ncm91cC5uYW1lfSBgO1xuXG4gIGlmIChwb2ludElzRmFjdG9yeShwb2ludCkpIHtcbiAgICBzdHJpbmcgKz0gYDxici8+U2VjdG9yOiAke3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfWA7XG4gICAgc3RyaW5nICs9IGA8YnIvPldhdGVyIENvbnN1bXB0aW9uOiAke3BvaW50Lmdyb3VwLndhdGVyX2Rpc2NoYXJnZX1gO1xuICB9IGVsc2Uge1xuICAgIHN0cmluZyA9IGAke3BvaW50Lm5hbWV9YDtcbiAgfVxuXG4gIHJldHVybiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgYnViYmxlRm9yV1dUUCA9IChhcmdzKSA9PiB7XG4gIGNvbnN0IHBvaW50Q3VzdG9tSWNvbjogTC5NYXJrZXIgPSBMLm1hcmtlcihhcmdzLm1hcmtlckxvY2F0aW9uLCB7XG4gICAgaWNvbjogZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgYXJncy53d3RwUG9pbnQuZ3JvdXAudHlwZSxcbiAgICAgIGFyZ3Mud3d0cFBvaW50Lm5hbWUsXG4gICAgICAnJyxcbiAgICAgIGZhbHNlLFxuICAgICAgdHJ1ZSxcbiAgICApLFxuICAgIHJpc2VPbkhvdmVyOiB0cnVlLFxuICB9KTtcblxuICByZXR1cm4gcG9pbnRDdXN0b21JY29uO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUJ1YmJsZVBvaW50ID0gKFxuICBtYXJrZXJMb2NhdGlvbjogTGF0TG5nVHVwbGUsXG4gIHBvaW50OiBJUG9pbnQsXG4gIG1hcCxcbiAgaG92ZXJlZD8sXG4gIGxheWVyR3JvdXA/LFxuICBmbG93X3JhdGVfdW5pdCA9ICdnZF91cycsXG4gIGhhbmRsZUNsaWNrPyxcbikgPT4ge1xuICBjb25zdCBzdWJ0aXRsZSA9IHBvaW50SXNGYWN0b3J5KHBvaW50KSA/IHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lIDogJyc7XG4gIGxldCBwb2ludEN1c3RvbUljb246IEwuTWFya2VyID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICBpY29uOiBnZXRQb2ludEljb25CeVR5cGUoXG4gICAgICBwb2ludC5ncm91cC50eXBlLFxuICAgICAgcG9pbnQubmFtZSxcbiAgICAgIHN1YnRpdGxlLFxuICAgICAgZmFsc2UsXG4gICAgICB0cnVlLFxuICAgICksXG4gICAgcmlzZU9uSG92ZXI6IHRydWUsXG4gIH0pO1xuICAvLyBAdHMtaWdub3JlXG4gIC8vIHBvaW50Q3VzdG9tSWNvbi5iaW5kVG9vbHRpcChidWlsZE1hbmhvbGVUb290aXBTdHJpbmcocG9pbnQpKTtcbiAgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3RfaWQnXSA9IHBvaW50LmlkO1xuICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgaWYgKGhvdmVyZWQpIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcblxuICBsYXllckdyb3VwLmFkZExheWVyKHBvaW50Q3VzdG9tSWNvbik7XG4gIGlmIChwb2ludElzRmFjdG9yeShwb2ludCkpIHtcbiAgICBiaW5kUG9wdXBUb01hcmtlcihwb2ludCwgcG9pbnRDdXN0b21JY29uLCBmbG93X3JhdGVfdW5pdCk7XG4gIH1cblxuICBoYW5kbGVNYXJrZXJFdmVudHMobWFwLCBwb2ludCwgcG9pbnRDdXN0b21JY29uLCBoYW5kbGVDbGljayk7XG5cbiAgaWYgKHBvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQpIHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uID0gTC5tYXJrZXIobWFya2VyTG9jYXRpb24sIHtcbiAgICAgIGljb246IEwuZGl2SWNvbih7XG4gICAgICAgIGNsYXNzTmFtZTogYFxuICAgICAgICAgICR7XG4gICAgICAgICAgICBwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID49IDEwMFxuICAgICAgICAgICAgICA/ICdjaXJjbGUtZXZlbnRzLWFtb3VudCBjaXJjbGUtZXZlbnRzLWFtb3VudC0tdHJpZGlnaXQnXG4gICAgICAgICAgICAgIDogJ2NpcmNsZS1ldmVudHMtYW1vdW50J1xuICAgICAgICAgIH0gXG4gICAgICAgICAgJHtwb2ludC5yZWxhdGVkRXZlbnRzQW1vdW50ID4gMiA/ICdhbGVydC1jb2xvcicgOiAnJ31cbiAgICAgICAgICAgIGAsXG4gICAgICAgIGh0bWw6IGA8cD4ke3BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnR9PC9wPmAsXG4gICAgICAgIGljb25BbmNob3I6IGV2ZW50c0NvdW50SWNvbihtYXAuX3pvb20pLmljb25BbmNob3IsXG4gICAgICB9KSxcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICAgIG9wYWNpdHk6IGhvdmVyZWQgPyAxIDogMCxcbiAgICB9KTtcblxuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXInO1xuICAgIGlmIChob3ZlcmVkKSBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ0ljb25OdW1iZXJIb3ZlcmVkJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1hbmhvbGVQb2ludCA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQ/LFxuICBsYXllckdyb3VwPyxcbikgPT4ge1xuICBsZXQgcG9pbnRJY29uID0gbmV3IEwuSWNvbih7XG4gICAgaWNvblVybDogd2hpdGVQb2ludCxcbiAgICBpY29uU2l6ZTogWzksIDldLFxuICAgIGljb25BbmNob3I6IFs0LjUsIDQuNV0sXG4gIH0pO1xuICBsZXQgbWFuaG9sZUljb246IGFueSA9IG5ldyBMLk1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgIGljb246IHBvaW50SWNvbixcbiAgICByaXNlT25Ib3ZlcjogdHJ1ZSxcbiAgfSk7XG4gIG1hbmhvbGVJY29uLmJpbmRUb29sdGlwKGJ1aWxkTWFuaG9sZVRvb2x0aXBTdHJpbmcocG9pbnQpKTtcbiAgbWFuaG9sZUljb25bJ2thbmRvX29iamVjdF9pZCddID0gcG9pbnQuaWQ7XG4gIG1hbmhvbGVJY29uWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gIG1hbmhvbGVJY29uWydrYW5kb19wb2ludF90eXBlJ10gPSAnTWFuaG9sZSc7XG4gIGlmIChob3ZlcmVkKSBtYW5ob2xlSWNvblsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnRIb3ZlcmVkJztcbiAgbGF5ZXJHcm91cC5hZGRMYXllcihtYW5ob2xlSWNvbik7XG59O1xuXG5leHBvcnQgY29uc3QgbWF0Y2hJY29uVG9Qb2ludCA9IChwb2ludDogSVBvaW50LCBldmVudDogSUV2ZW50KSA9PiB7XG4gIHN3aXRjaCAocG9pbnQuZ3JvdXAudHlwZSkge1xuICAgIGNhc2UgJ0dyb3Vwczo6RmFjdG9yeSc6XG4gICAgICBpZiAoY29tYmluZWRGYWN0b3J5SWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZEZhY3RvcnlJY29uLnVuc2hpZnQoc2VsZWN0ZWRCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKG1hcmtlckJlbG9uZ3NUb1NvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tYmluZWRGYWN0b3J5SWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRGYWN0b3J5SWNvbjtcbiAgICBjYXNlICdHcm91cHM6OlB1bXBTdGF0aW9uJzpcbiAgICAgIGlmIChjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkpIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkUHVtcFN0YXRpb25JY29uLnVuc2hpZnQoYmVsb25nc1RvU291cmNlQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29tYmluZWRQdW1wU3RhdGlvbkljb247XG4gICAgY2FzZSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnOlxuICAgICAgaWYgKGNvbWJpbmVkV1dUUEljb24ubGVuZ3RoID09PSAyKSB7XG4gICAgICAgIGlmIChtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZShldmVudCwgcG9pbnQpKSB7XG4gICAgICAgICAgY29tYmluZWRXV1RQSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgICAgICAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSkge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbWJpbmVkV1dUUEljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkV1dUUEljb247XG5cbiAgICBjYXNlICdHcm91cHM6OkNvbGxlY3RvcnMnOlxuICAgICAgaWYgKGlzQ29sbGVjdG9yRm9jdXNlZChwb2ludCwgZXZlbnQpKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgTC5pY29uKHtcbiAgICAgICAgICAgIGljb25Vcmw6IHJlZFBpblJlZFNoYWRvdyxcbiAgICAgICAgICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMzAsIDUyXSxcbiAgICAgICAgICB9KSxcblxuICAgICAgICAgIEwuaWNvbih7XG4gICAgICAgICAgICBpY29uVXJsOiB3YXRlckljb25Ob0JhY2tncm91bmQsXG4gICAgICAgICAgICBpY29uU2l6ZTogWzAsIDBdLFxuXG4gICAgICAgICAgICBpY29uQW5jaG9yOiBbMjIsIDQ0XSxcbiAgICAgICAgICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbWJpbmVkQ29sbGVjdG9yc0ljb247XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBzdGFuZGFyZEJhY2tncm91bmQgPSAoXG4gIHNlY29uZGFyeTogYm9vbGVhbiA9IGZhbHNlLFxuICB0aGlyZDogYm9vbGVhbiA9IGZhbHNlLFxuKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluQmxhY2tTaGFkb3csXG4gICAgaWNvblNpemU6IHNlY29uZGFyeSA/IFswLCAwXSA6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBzZWNvbmRhcnkgJiYgdGhpcmQgPyBbLTIsIDE5XSA6IHNlY29uZGFyeSA/IFstMiwgNDRdIDogWzIwLCA0Ml0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZEZhY3RvcnlJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHllbGxvd0NpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHBsYW50SWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs1LCAzMF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZFB1bXBTdGF0aW9uSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBncmVlbkNpcmNsZVVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFsxMC43LCAzMy43XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pLFxuICBMLmljb24oe1xuICAgIGljb25Vcmw6IHB1bXBTdGF0aW9uSWNvblVSTCxcbiAgICBpY29uU2l6ZTogWzAsIDBdLFxuICAgIGljb25BbmNob3I6IFs3LCAzMl0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KSxcbl07XG5cbmV4cG9ydCBjb25zdCBjb21iaW5lZENvbGxlY3RvcnNJY29uID0gW1xuICBMLmljb24oe1xuICAgIGljb25Vcmw6IGNvbGxlY3Rvckljb24sXG4gICAgaWNvblNpemU6IFswLCAwXSxcblxuICAgIGljb25BbmNob3I6IFsyNSwgNTBdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3QgY29tYmluZWRXV1RQSWNvbiA9IFtcbiAgTC5pY29uKHtcbiAgICBpY29uVXJsOiBicmlnaHRCbHVlQ2lyY2xlVVJMLFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzEwLjcsIDMzLjddLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG4gIEwuaWNvbih7XG4gICAgaWNvblVybDogV1dUUEljb25VUkwsXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbOCwgMzFdLFxuICAgIHBvcHVwQW5jaG9yOiBbMCwgLTMwXSxcbiAgfSksXG5dO1xuXG5leHBvcnQgY29uc3Qgc2VsZWN0ZWRCYWNrZ3JvdW5kID0gKCkgPT4ge1xuICByZXR1cm4gTC5pY29uKHtcbiAgICBpY29uVXJsOiByZWRQaW5SZWRTaGFkb3csXG4gICAgaWNvblNpemU6IFswLCAwXSxcbiAgICBpY29uQW5jaG9yOiBbMzIsIDU0XSxcbiAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQgPSAoKSA9PiB7XG4gIHJldHVybiBMLmljb24oe1xuICAgIGljb25Vcmw6IHdoaXRlUGluUmVkU2hhZG93LFxuICAgIGljb25TaXplOiBbMCwgMF0sXG4gICAgaWNvbkFuY2hvcjogWzMyLCA1NF0sXG4gICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXJrZXJCZWxvbmdzVG9TZWxlY3RlZFNvdXJjZSA9IChldmVudDogSUV2ZW50LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGxldCBzb3VyY2U7XG5cbiAgaWYgKGV2ZW50ICE9PSBudWxsICYmIGV2ZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzb3VyY2UgPSBldmVudC5zb3VyY2VzLmZpbHRlcigoc291cmNlKSA9PiBzb3VyY2UucG9pbnRfaWQgPT09IHBvaW50LmlkKVswXTtcbiAgfVxuXG4gIHJldHVybiBldmVudCAhPT0gbnVsbCAmJiBzb3VyY2UgJiYgZXZlbnQuc2VsZWN0ZWRfc291cmNlID09PSBzb3VyY2UucG9pbnRfaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgbWFya2VyQmVsb25nc1RvU291cmNlID0gKGV2ZW50OiBJRXZlbnQsIHBvaW50OiBJUG9pbnQpID0+IHtcbiAgaWYgKGV2ZW50ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgcmV0dXJuIChcbiAgICBldmVudCAhPT0gbnVsbCAmJlxuICAgIGV2ZW50LnNvdXJjZXMuZmlsdGVyKChzb3VyY2UpID0+IHNvdXJjZS5wb2ludF9pZCA9PT0gcG9pbnQuaWQpWzBdXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IHNhbXBsaW5nSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogYmx1ZUNpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgMTVdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBzYW1wbGluZ0ljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDEzXSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgbGV0IHRoaXJkSWNvbiA9IGZhbHNlO1xuICBpZiAobWFya2VyQmVsb25nc1RvU2VsZWN0ZWRTb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KHNlbGVjdGVkQmFja2dyb3VuZCgpKTtcbiAgfSBlbHNlIGlmIChtYXJrZXJCZWxvbmdzVG9Tb3VyY2UoZXZlbnQsIHBvaW50KSAmJiAhc2Vjb25kYXJ5SWNvbikge1xuICAgIHNhbXBsaW5nSWNvbi51bnNoaWZ0KGJlbG9uZ3NUb1NvdXJjZUJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSB7XG4gICAgdGhpcmRJY29uID0gdHJ1ZTtcbiAgICBzYW1wbGluZ0ljb24udW5zaGlmdChzdGFuZGFyZEJhY2tncm91bmQoc2Vjb25kYXJ5SWNvbiwgdGhpcmRJY29uKSk7XG4gIH1cblxuICBzYW1wbGluZ0ljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSB0aGlyZEljb24gPyBmYWxzZSA6IHNlY29uZGFyeUljb247XG4gICAgcG9pbnRDdXN0b21JY29uWydrYW5kb190aGlyZCddID0gdGhpcmRJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ1NhbXBsaW5nJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdTYW1wbGluZ0hvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlT2JzZXJ2YXRpb25JY29uUG9pbnQgPSAoXG4gIG1hcmtlckxvY2F0aW9uOiBMYXRMbmdUdXBsZSxcbiAgc2Vjb25kYXJ5SWNvbjogYm9vbGVhbixcbiAgbWFwLFxuICBwb2ludDogSVBvaW50LFxuICBldmVudDogSUV2ZW50LFxuICBob3ZlcmVkPyxcbiAgbGF5ZXJHcm91cD8sXG4pID0+IHtcbiAgLy8gaWNvblNpemU6IFt3aWR0aCwgaGVpZ2h0XSxcbiAgLy8gSWNvbiBBbmNob3I6IFsoLXJpZ2h0KSgrbGVmdCksICgtZG93bikoK3VwKV1cbiAgbGV0IG9ic2VydmF0aW9uSWNvbiA9IFtcbiAgICBMLmljb24oe1xuICAgICAgaWNvblVybDogcGlua0NpcmNsZVVSTCxcbiAgICAgIGljb25TaXplOiBzZWNvbmRhcnlJY29uID8gWzAsIDBdIDogWzAsIDBdLFxuICAgICAgaWNvbkFuY2hvcjogc2Vjb25kYXJ5SWNvbiA/IFstNywgNDBdIDogWzEwLjcsIDMzLjddLFxuICAgICAgcG9wdXBBbmNob3I6IFswLCAtMzBdLFxuICAgIH0pLFxuICAgIEwuaWNvbih7XG4gICAgICBpY29uVXJsOiBvYnNlcnZhdGlvbkljb25VUkwsXG4gICAgICBpY29uU2l6ZTogc2Vjb25kYXJ5SWNvbiA/IFswLCAwXSA6IFswLCAwXSxcbiAgICAgIGljb25BbmNob3I6IHNlY29uZGFyeUljb24gPyBbLTgsIDM4XSA6IFs1LCAzMF0sXG4gICAgICBwb3B1cEFuY2hvcjogWzAsIC0zMF0sXG4gICAgfSksXG4gIF07XG5cbiAgaWYgKG1hcmtlckJlbG9uZ3NUb1NlbGVjdGVkU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChzZWxlY3RlZEJhY2tncm91bmQoKSk7XG4gIH0gZWxzZSBpZiAobWFya2VyQmVsb25nc1RvU291cmNlKGV2ZW50LCBwb2ludCkgJiYgIXNlY29uZGFyeUljb24pIHtcbiAgICBvYnNlcnZhdGlvbkljb24udW5zaGlmdChiZWxvbmdzVG9Tb3VyY2VCYWNrZ3JvdW5kKCkpO1xuICB9IGVsc2Uge1xuICAgIG9ic2VydmF0aW9uSWNvbi51bnNoaWZ0KHN0YW5kYXJkQmFja2dyb3VuZChzZWNvbmRhcnlJY29uKSk7XG4gIH1cblxuICBvYnNlcnZhdGlvbkljb24uZm9yRWFjaCgoaWNvbiwgaW5kZXgpID0+IHtcbiAgICBsZXQgcG9pbnRDdXN0b21JY29uOiBhbnkgPSBMLm1hcmtlcihtYXJrZXJMb2NhdGlvbiwge1xuICAgICAgaWNvbjogaWNvbixcbiAgICAgIHJpc2VPbkhvdmVyOiBmYWxzZSxcbiAgICB9KTtcbiAgICBwb2ludEN1c3RvbUljb24uYmluZFRvb2x0aXAoYnVpbGRNYW5ob2xlVG9vbHRpcFN0cmluZyhwb2ludCkpO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9faW5kZXhfb2JqZWN0J10gPSBpbmRleDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX2Zld19sYXllcl9pY29uJ10gPSB0cnVlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fc2Vjb25kYXJ5J10gPSBzZWNvbmRhcnlJY29uO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fdGhpcmQnXSA9IGZhbHNlO1xuICAgIHBvaW50Q3VzdG9tSWNvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBwb2ludC5pZDtcbiAgICBwb2ludEN1c3RvbUljb25bJ2thbmRvX29iamVjdCddID0gJ09ic2VydmF0aW9uJztcbiAgICBpZiAoaG92ZXJlZCkgcG9pbnRDdXN0b21JY29uWydrYW5kb19vYmplY3QnXSA9ICdPYnNlcnZhdGlvbkhvdmVyZWQnO1xuICAgIGxheWVyR3JvdXAuYWRkTGF5ZXIocG9pbnRDdXN0b21JY29uKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2FtcGxpbmdJY29ucyA9IChcbiAgbWFya2VyTG9jYXRpb246IExhdExuZ1R1cGxlLFxuICBldmVudDogSUV2ZW50LFxuICBwb2ludDogSVBvaW50LFxuICBtYXAsXG4gIGhvdmVyZWQsXG4gIGxheWVyR3JvdXA/LFxuKSA9PiB7XG4gIGxldCBzYW1wbGVkUG9pbnRJZHMgPSBldmVudC5zYW1wbGluZ3MubWFwKChzKSA9PiBzLnBvaW50X2lkKTtcbiAgaWYgKFxuICAgIGV2ZW50ICE9PSBudWxsICYmXG4gICAgZXZlbnQuc2FtcGxpbmdzLmxlbmd0aCAhPT0gMCAmJlxuICAgIHNhbXBsZWRQb2ludElkcy5pbmNsdWRlcyhwb2ludC5pZClcbiAgKSB7XG4gICAgY3JlYXRlU2FtcGxpbmdJY29uUG9pbnQoXG4gICAgICBtYXJrZXJMb2NhdGlvbixcbiAgICAgIG1hdGNoSWNvblRvUG9pbnQocG9pbnQsIGV2ZW50KSAhPT0gbnVsbCxcbiAgICAgIG1hcCxcbiAgICAgIHBvaW50LFxuICAgICAgZXZlbnQsXG4gICAgICBob3ZlcmVkLFxuICAgICAgbGF5ZXJHcm91cCxcbiAgICApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcG9wdXBDb250ZW50ID0gKG9iczogYW55LCBwb2ludDogSVBvaW50KSA9PiB7XG4gIGlmIChvYnMgPT09IG51bGwpIHtcbiAgICByZXR1cm4gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV2ZW50LXBvcHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBvcHVwLWdyYXBoLWljb24gcG9wdXAtZ3JhcGgtaWNvbi0ke3BvaW50LmlkfVwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIiR7R3JhcGhJY29ufVwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9wdXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zaXRlLW5hbWVcIj48Yj4ke3BvaW50Lmdyb3VwLm5hbWV9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2VjdG9yXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIGA7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJldmVudC1wb3B1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1ncmFwaC1pY29uIHBvcHVwLWdyYXBoLWljb24tJHtvYnMuaWR9XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiJHtHcmFwaEljb259XCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoNSBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NpdGUtbmFtZVwiPjxiPiR7XG4gICAgICAgICAgICAgICAgICAgICAgcG9pbnQuZ3JvdXAubmFtZVxuICAgICAgICAgICAgICAgICAgICB9PC9iPjwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdHlgLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwb3B1cC1jb250ZW50X19zZXZlcml0eS0tJyArIG9icy5zZXZlcml0eVxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiIGNsYXNzPVwicG9wdXAtY29udGVudF9fc2V2ZXJpdHktYlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuJHtvYnMuc2V2ZXJpdHl9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGhyIGNsYXNzPVwicG9wdXAtY29udGVudF9faHJcIiAvPlxuXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwb3B1cC1jb250ZW50X19kaXNjaGFyZ2UtdGltZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInBvcHVwLWNvbnRlbnRfX3NldmVyaXR5LXBcIj4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGBldmVudHNfb3ZlcnZpZXcuZmlyc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwiZmlyc3Qtc2Vlbi1wb3B1cFwiPjwvYj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJwb3B1cC1jb250ZW50X19zZXZlcml0eS1wXCI+JHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgZXZlbnRzX292ZXJ2aWV3Lmxhc3Rfc2VlbmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX06PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxiIGlkPVwibGFzdC1zZWVuLXBvcHVwXCI+PC9iPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0SWNvbiA9IChlbGVtZW50LCBjbGlja2VkLCBwb2ludCkgPT4ge1xuICBlbGVtZW50LnNldEljb24oXG4gICAgZ2V0UG9pbnRJY29uQnlUeXBlKFxuICAgICAgcG9pbnQuZ3JvdXAudHlwZSxcbiAgICAgIHBvaW50Lm5hbWUsXG4gICAgICBwb2ludC5ncm91cC5zZWN0b3JfbmFtZSxcbiAgICAgIGNsaWNrZWQsXG4gICAgICAhY2xpY2tlZCxcbiAgICApLFxuICApO1xufTtcblxuLy8gcm91bmQgdG8gbmVhcmVzdCB0aG91c2FuZCBpcyB1c2VkIHdoZW4geW91IHdhbnQgdG8gcm91bmQgdGhlIHdhdGVyIGNvbnN1bXB0aW9uIHRvIHRoZSBuZWFyZXN0IHRob3VzYW5kXG4vLyBmb3IgZXhhbXBsZTogMjM0LDU2NyAtPiAyMzUsMDAwXG5leHBvcnQgY29uc3QgY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbiA9IChcbiAgZmxvd19yYXRlX3VuaXQ6IHN0cmluZyxcbiAgd2F0ZXJDb25zdW1wdGlvbjogbnVtYmVyLFxuICByb3VuZF90b19uZWFyZXN0X2s6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICBsZXQgY2FsY3VsYXRlZCA9ICcwJztcblxuICBpZiAod2F0ZXJDb25zdW1wdGlvbiA+IDApIHtcbiAgICBzd2l0Y2ggKGZsb3dfcmF0ZV91bml0KSB7XG4gICAgICBjYXNlICdtM2QnOlxuICAgICAgICBjYWxjdWxhdGVkID0gd2F0ZXJDb25zdW1wdGlvbi50b0ZpeGVkKDIpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2dkX3VzJzpcbiAgICAgICAgY2FsY3VsYXRlZCA9ICh3YXRlckNvbnN1bXB0aW9uICogMjY0LjE3MikudG9GaXhlZCgyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdnZF91ayc6XG4gICAgICAgIGNhbGN1bGF0ZWQgPSAod2F0ZXJDb25zdW1wdGlvbiAqIDIxOS45NjkpLnRvRml4ZWQoMik7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBpZiAocm91bmRfdG9fbmVhcmVzdF9rKSB7XG4gICAgcmV0dXJuIHJvdW5kVG9OZWFyZXN0VGhvdXNhbmQocGFyc2VGbG9hdChjYWxjdWxhdGVkKSkudG9Mb2NhbGVTdHJpbmcoKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGNhbGN1bGF0ZWQpKS50b0xvY2FsZVN0cmluZygpO1xuICB9XG59O1xuXG5jb25zdCByb3VuZFRvTmVhcmVzdFRob3VzYW5kID0gKG51bWJlcikgPT4ge1xuICAvLyBpZihpc0FscmVhZHlSb3VuZGVkKG51bWJlcikpIHtcbiAgLy8gICByZXR1cm4gbnVtYmVyO1xuICAvLyB9XG5cbiAgaWYgKG51bWJlciA8IDEwMDApIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChudW1iZXIpO1xuICB9XG5cbiAgY29uc3Qgcm91bmRlZFRob3VzYW5kcyA9IE1hdGgucm91bmQobnVtYmVyIC8gMTAwMCk7XG4gIGNvbnN0IHJvdW5kZWRWYWx1ZSA9IHJvdW5kZWRUaG91c2FuZHMgKiAxMDAwO1xuXG4gIHJldHVybiByb3VuZGVkVmFsdWU7XG59O1xuXG4vLyBjb25zdCBpc0FscmVhZHlSb3VuZGVkID0gKG51bWJlcikgPT4ge1xuLy8gICByZXR1cm4gbnVtYmVyID09PSBNYXRoLnJvdW5kKG51bWJlcik7XG4vLyB9XG5cbmV4cG9ydCBjb25zdCB0cmFuc2xhdGVGbG93UmF0ZSA9IChmbG93X3JhdGVfdW5pdCkgPT4ge1xuICByZXR1cm4gaTE4bi50KFxuICAgIGBkYXNoYm9hcmRfdjIucHJvZmlsZS5mbG93X3JhdGVfdW5pdF9vcHRpb25zLiR7XG4gICAgICBmbG93X3JhdGVfdW5pdC5pbmNsdWRlcygnZ2QnKSA/ICdnZCcgOiBmbG93X3JhdGVfdW5pdFxuICAgIH1gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZU1hcmtlckV2ZW50cyA9IChcbiAgbWFwLFxuICBwb2ludCxcbiAgcG9pbnRDdXN0b21JY29uLFxuICBoYW5kbGVDbGljayxcbikgPT4ge1xuICBsZXQgdG9vbHRpcFZpc2libGUgPSBmYWxzZTtcblxuICBtYXAub24oJ3pvb21zdGFydCcsIGZ1bmN0aW9uICgpIHtcbiAgICBtYXAuY2xvc2VQb3B1cCgpO1xuICB9KTtcblxuICBwb2ludEN1c3RvbUljb24ub24oJ3BvcHVwY2xvc2UnLCAoKSA9PiB7XG4gICAgLy8gc2V0SWNvbihwb2ludEN1c3RvbUljb24sIGZhbHNlLCBwb2ludCk7XG4gICAgdG9vbHRpcFZpc2libGUgPSBmYWxzZTtcbiAgfSk7XG5cbiAgcG9pbnRDdXN0b21JY29uLm9uKCdwb3B1cG9wZW4nLCAoKSA9PiB7XG4gICAgLy8gc2V0SWNvbihwb2ludEN1c3RvbUljb24sIHRydWUsIHBvaW50KTtcbiAgICB0b29sdGlwVmlzaWJsZSA9IHRydWU7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbignbW91c2VvdmVyJywgKCkgPT4ge1xuICAgIGlmICh0b29sdGlwVmlzaWJsZSkgcmV0dXJuO1xuXG4gICAgc2V0SWNvbihwb2ludEN1c3RvbUljb24sIHRydWUsIHBvaW50KTtcbiAgICB0b29sdGlwVmlzaWJsZSA9IHRydWU7XG4gIH0pO1xuXG4gIHBvaW50Q3VzdG9tSWNvbi5vbignbW91c2VvdXQnLCAoKSA9PiB7XG4gICAgaWYgKHBvaW50Q3VzdG9tSWNvbi5pc1BvcHVwT3BlbigpKSByZXR1cm47XG5cbiAgICBzZXRJY29uKHBvaW50Q3VzdG9tSWNvbiwgZmFsc2UsIHBvaW50KTtcbiAgICB0b29sdGlwVmlzaWJsZSA9IGZhbHNlO1xuICB9KTtcblxuICBpZiAodHlwZW9mIGhhbmRsZUNsaWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgcG9pbnRDdXN0b21JY29uLm9uKCdjbGljaycsICgpID0+IHtcbiAgICAgIGhhbmRsZUNsaWNrKHBvaW50Q3VzdG9tSWNvbi5rYW5kb19vYmplY3RfaWQpO1xuXG4gICAgICBpZiAocG9pbnRJc0ZhY3RvcnkocG9pbnQpKSB7XG4gICAgICAgIHNlbmRBbmFseXRpY3NFdmVudCgnTWFwIFZpZXcgLSBGYWN0b3J5IGNsaWNrZWQnLCAnbWFwJywge1xuICAgICAgICAgIHBvaW50X2lkOiBwb2ludC5pZCxcbiAgICAgICAgICBwb2ludF9uYW1lOiBwb2ludC5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGJpbmRQb3B1cFRvTWFya2VyID0gKHBvaW50LCBsYXllckdyb3VwLCBmbG93X3JhdGVfdW5pdCkgPT4ge1xuICBsZXQgY29udGVudCA9IGBcbiAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnQnPlxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcic+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50X19oZWFkZXJfX3RpdGxlc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J21haW4tY29udGVudF9faGVhZGVyX190aXRsZXNfX3RpdGxlJz4ke1xuICAgICAgICAgICAgICAgICAgcG9pbnQubmFtZVxuICAgICAgICAgICAgICAgIH08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2hlYWRlcl9fdGl0bGVzX19zdWJ0aXRsZSc+JHtcbiAgICAgICAgICAgICAgICAgIHBvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lXG4gICAgICAgICAgICAgICAgfTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgIFxuICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHknPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtJz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdtYWluLWNvbnRlbnRfX2JvZHlfX2l0ZW1fX2ljb24nPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0nJHt3YXRlclJldXNlSWNvbn0nIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXMnPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXNfX3RpdGxlJz5cbiAgICAgICAgICAgICAgICAgICAgJHtnZXRGbG93UmF0ZShwb2ludC5ncm91cC53YXRlcl9kaXNjaGFyZ2UsIGZsb3dfcmF0ZV91bml0KX1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nbWFpbi1jb250ZW50X19ib2R5X19pdGVtX190aXRsZXNfX3N1YnRpdGxlJz4ke2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgJ3dhdGVyX2Rpc2NoYXJnZScsXG4gICAgICAgICAgICAgICAgICApfTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIGA7XG5cbiAgbGF5ZXJHcm91cC5iaW5kUG9wdXAoY29udGVudCwge1xuICAgIGNsYXNzTmFtZTogJ3BvaW50LW1hcmtlci1wb3B1cCcsXG4gICAgbWluV2lkdGg6ICcyMTRweCcsXG4gICAgbWF4V2lkdGg6ICcyMTRweCcsXG4gICAgY2xvc2VCdXR0b246IHRydWUsXG4gIH0pO1xufTtcblxuY29uc3QgZ2V0Rmxvd1JhdGUgPSAoXG4gIHdhdGVyQ29uc3VtcHRpb246IG51bWJlcixcbiAgZmxvd1JhdGVVbml0OiBzdHJpbmcsXG4gIGlzUm91bmQ6IGJvb2xlYW4gPSBmYWxzZSxcbikgPT4ge1xuICBpZiAod2F0ZXJDb25zdW1wdGlvbiA+IDApIHtcbiAgICByZXR1cm4gKFxuICAgICAgY2FsY3VsYXRlV2F0ZXJDb25zdW1wdGlvbihmbG93UmF0ZVVuaXQsIHdhdGVyQ29uc3VtcHRpb24sIGlzUm91bmQpICtcbiAgICAgICcgJyArXG4gICAgICB0cmFuc2xhdGVGbG93UmF0ZShmbG93UmF0ZVVuaXQpXG4gICAgKTtcbiAgfVxuICByZXR1cm4gaTE4bi50KCdldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy51bmtub3duJyk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlTGF5ZXJHcm91cCA9IChtYXAsIGxheWVyR3JvdXApID0+IHtcbiAgaWYgKG1hcC5oYXNMYXllcihsYXllckdyb3VwKSkge1xuICAgIG1hcC5yZW1vdmVMYXllcihsYXllckdyb3VwKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGFkZExheWVyR3JvdXAgPSAobWFwLCBsYXllckdyb3VwKSA9PiB7XG4gIGlmICghbWFwLmhhc0xheWVyKGxheWVyR3JvdXApKSB7XG4gICAgbWFwLmFkZExheWVyKGxheWVyR3JvdXApO1xuICB9IGVsc2Uge1xuICAgIHJlbW92ZUxheWVyR3JvdXAobWFwLCBsYXllckdyb3VwKTtcbiAgICBhZGRMYXllckdyb3VwKG1hcCwgbGF5ZXJHcm91cCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwb2ludElzV1dUUCA9IChwb2ludDogSVBvaW50KSA9PiB7XG4gIHJldHVybiBwb2ludC5ncm91cC50eXBlID09PSAnR3JvdXBzOjpXYXN0ZXdhdGVyVHJlYXRtZW50UGxhbnQnO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvaW50SXNGYWN0b3J5ID0gKHBvaW50OiBJUG9pbnQpID0+IHtcbiAgcmV0dXJuIHBvaW50Lmdyb3VwLnR5cGUgPT09ICdHcm91cHM6OkZhY3RvcnknO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFBMkMsSUFBQUUsV0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQUcsYUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQUksV0FBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQUssZ0JBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQU8zQyxJQUFBTSxnQkFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sa0JBQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFRLG9CQUFBLEdBQUFULHNCQUFBLENBQUFDLE9BQUE7QUFBeUYsSUFBQVMsYUFBQSxHQUFBVixzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQVUsWUFBQSxHQUFBWCxzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQVcsWUFBQSxHQUFBWixzQkFBQSxDQUFBQyxPQUFBO0FBQUEsSUFBQVksZ0JBQUEsR0FBQWIsc0JBQUEsQ0FBQUMsT0FBQTtBQUFBLElBQUFhLFNBQUEsR0FBQWQs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
@@ -26,22 +26,19 @@ exports.CardsHolder = CardsHolder;
26
26
  var Content = _styledComponents.default.div.withConfig({
27
27
  displayName: "styles__Content",
28
28
  componentId: "sc-1rs3zgp-2"
29
- })(["display:flex;box-shadow:-0.9px -0.5px 5px 0 rgba(0,0,0,0.06);border:solid 1px #ebebeb;height:", ";position:relative;.first{width:33%;border-right:none;position:relative;> .triangle-holder{position:absolute;right:-1px;width:0;z-index:-1;top:50%;transform:translateY(-50%);border-right:1px solid #c7c7c7;border-radius:2px;box-shadow:0px 0px 6px 1px rgb(0 0 0 / 14%);height:calc(100% - 60px);> .triangle{right:-9px;background-color:white;position:absolute;top:50%;height:15px;width:15px;transform:translate(0,-50%) rotate(45deg);border:1px solid #c7c7c7;border-left:0;border-bottom:0;box-shadow:0px 0px 6px 1px rgb(0 0 0 / 14%);&::after{content:'';position:absolute;height:100%;width:50%;}}}[dir='rtl'] &{border-left:none;> .triangle-holder{left:-1px;right:unset;border-right:1px solid #c7c7c7;> .triangle{transform:translate(0,-50%) rotate(-45deg);left:-8px;right:unset;border-left:unset;border:1px solid #c7c7c7;border-right:0;}}}}.second{width:67%;border-left:none;padding-left:30px;[dir='rtl'] &{padding-left:unset;padding-right:30px;}}@media (max-width:576px){display:flex;flex-direction:column;align-items:center;box-shadow:-0.9px -0.5px 5px 0 rgba(0,0,0,0.06);border:solid 1px #ebebeb;.first{width:calc(100% - 40px);border:none;box-shadow:none;border-bottom:1px solid #ebebeb;> .triangle-holder{display:none;}}.second{width:100%;border:none;box-shadow:none;padding-left:0;}}"], function (_ref) {
30
- var height = _ref.height;
31
- return height ? height : 'calc(100% - 37px)';
32
- });
29
+ })(["display:flex;box-shadow:-0.9px -0.5px 5px 0 rgba(0,0,0,0.06);border:solid 1px #ebebeb;height:calc(100% - 37px);position:relative;.first{width:33%;border-right:none;position:relative;> .triangle-holder{position:absolute;right:-1px;width:0;z-index:-1;top:50%;transform:translateY(-50%);border-right:1px solid #c7c7c7;border-radius:2px;box-shadow:0px 0px 6px 1px rgb(0 0 0 / 14%);height:calc(100% - 60px);> .triangle{right:-9px;background-color:white;position:absolute;top:50%;height:15px;width:15px;transform:translate(0,-50%) rotate(45deg);border:1px solid #c7c7c7;border-left:0;border-bottom:0;box-shadow:0px 0px 6px 1px rgb(0 0 0 / 14%);&::after{content:'';position:absolute;height:100%;width:50%;}}}[dir='rtl'] &{border-left:none;> .triangle-holder{left:-1px;right:unset;border-right:1px solid #c7c7c7;> .triangle{transform:translate(0,-50%) rotate(-45deg);left:-8px;right:unset;border-left:unset;border:1px solid #c7c7c7;border-right:0;}}}}.second{width:67%;border-left:none;padding-left:30px;[dir='rtl'] &{padding-left:unset;padding-right:30px;}}@media (max-width:576px){display:flex;flex-direction:column;align-items:center;box-shadow:-0.9px -0.5px 5px 0 rgba(0,0,0,0.06);border:solid 1px #ebebeb;.first{width:calc(100% - 40px);border:none;box-shadow:none;border-bottom:1px solid #ebebeb;> .triangle-holder{display:none;}}.second{width:100%;border:none;box-shadow:none;padding-left:0;}}"]);
33
30
  exports.Content = Content;
34
31
  var Card = _styledComponents.default.div.withConfig({
35
32
  displayName: "styles__Card",
36
33
  componentId: "sc-1rs3zgp-3"
37
- })(["text-align:center;display:flex;justify-content:center;align-items:center;flex:1;&.bg-grey{background-color:#f4f4f4;}> .top{position:relative;> .title{font-size:14px;font-weight:600;}> .percent{font-size:48px;font-weight:800;color:", ";@media (min-width:1200px){@media (max-width:1700px){font-size:40px;@media (max-width:1450px){font-size:35px;@media (max-width:1200px){font-size:30px;}}}}}> .subtitle{position:absolute;font-size:14px;font-weight:300;display:flex;justify-content:center;align-items:center;bottom:-25px;left:50%;transform:translateX(-50%);color:", ";> .up{margin-right:4px;display:flex;justify-content:center;align-items:center;> svg{margin-right:2px;transform:rotate(", ");}}}}"], function (_ref2) {
38
- var color = _ref2.color;
34
+ })(["text-align:center;display:flex;justify-content:center;align-items:center;flex:1;&.bg-grey{background-color:#f4f4f4;}> .top{position:relative;> .title{font-size:14px;font-weight:600;}> .percent{font-size:48px;font-weight:800;color:", ";@media (min-width:1200px){@media (max-width:1700px){font-size:40px;@media (max-width:1450px){font-size:35px;@media (max-width:1200px){font-size:30px;}}}}}> .subtitle{position:absolute;font-size:14px;font-weight:300;display:flex;justify-content:center;align-items:center;bottom:-25px;left:50%;transform:translateX(-50%);color:", ";> .up{margin-right:4px;display:flex;justify-content:center;align-items:center;> svg{margin-right:2px;transform:rotate(", ");}}}}"], function (_ref) {
35
+ var color = _ref.color;
39
36
  return color;
37
+ }, function (_ref2) {
38
+ var up = _ref2.up;
39
+ return up ? '#1db232' : '#f6004f';
40
40
  }, function (_ref3) {
41
41
  var up = _ref3.up;
42
- return up ? '#1db232' : '#f6004f';
43
- }, function (_ref4) {
44
- var up = _ref4.up;
45
42
  return up ? '180deg' : '0';
46
43
  });
47
44
  exports.Card = Card;
@@ -50,4 +47,4 @@ var PercentLineBarsHolder = _styledComponents.default.div.withConfig({
50
47
  componentId: "sc-1rs3zgp-4"
51
48
  })(["flex:3;display:flex;flex-direction:column;justify-content:space-evenly;padding:20px;> .title{font-size:14px;font-weight:600;line-height:1.29;color:#1d1d1d;}.loader-holder{height:13px;@media (max-width:600px){height:20px;}}"]);
52
49
  exports.PercentLineBarsHolder = PercentLineBarsHolder;
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVzIiwicmVxdWlyZSIsIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiZXhwb3J0cyIsIkNhcmRzSG9sZGVyIiwiQ29udGVudCIsIl9yZWYiLCJoZWlnaHQiLCJDYXJkIiwiX3JlZjIiLCJjb2xvciIsIl9yZWYzIiwidXAiLCJfcmVmNCIsIlBlcmNlbnRMaW5lQmFyc0hvbGRlciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL1F1YWxpdHlTdW1tYXJ5L3N0eWxlcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5leHBvcnQgeyBCb3hUaXRsZSBhcyBUaXRsZSB9IGZyb20gJy4uLy4uL3BhZ2VzL1V0aWxpdHlEYXNoYm9hcmRQYWdlL1RvcEJhci9zdHlsZXMnO1xuXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWluLWhlaWdodDogMTUwcHg7XG4gIC8qIGJhY2tncm91bmQtY29sb3I6IHJlZDsgKi9cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIGdyaWQtYXJlYTogc3VtbWFyeTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDYXJkc0hvbGRlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udGVudCA9IHN0eWxlZC5kaXY8eyBoZWlnaHQ6IGFueSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYm94LXNoYWRvdzogLTAuOXB4IC0wLjVweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICBib3JkZXI6IHNvbGlkIDFweCAjZWJlYmViO1xuXG4gIGhlaWdodDogJHsoeyBoZWlnaHQgfSkgPT4gKGhlaWdodCA/IGhlaWdodCA6ICdjYWxjKDEwMCUgLSAzN3B4KScpfTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAuZmlyc3Qge1xuICAgIHdpZHRoOiAzMyU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgID4gLnRyaWFuZ2xlLWhvbGRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTFweDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB0b3A6IDUwJTtcblxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2M3YzdjNztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA2cHggMXB4IHJnYigwIDAgMCAvIDE0JSk7XG5cbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNjBweCk7XG5cbiAgICAgID4gLnRyaWFuZ2xlIHtcbiAgICAgICAgcmlnaHQ6IC05cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzdjN2M3O1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA2cHggMXB4IHJnYigwIDAgMCAvIDE0JSk7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgPiAudHJpYW5nbGUtaG9sZGVyIHtcbiAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzdjN2M3O1xuICAgICAgICA+IC50cmlhbmdsZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgICBsZWZ0OiAtOHB4O1xuICAgICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgICAgICBib3JkZXItbGVmdDogdW5zZXQ7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M3YzdjNztcblxuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWNvbmQge1xuICAgIHdpZHRoOiA2NyU7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogLTAuOXB4IC0wLjVweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNlYmViZWI7XG4gICAgLmZpcnN0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjtcblxuICAgICAgPiAudHJpYW5nbGUtaG9sZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2Vjb25kIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbmA7XG5leHBvcnQgY29uc3QgQ2FyZCA9IHN0eWxlZC5kaXY8eyBjb2xvcjogc3RyaW5nOyB1cDogYm9vbGVhbiB9PmBcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMTtcbiAgJi5iZy1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICB9XG5cbiAgPiAudG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgPiAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gICAgPiAucGVyY2VudCB7XG4gICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgY29sb3I6ICR7KHsgY29sb3IgfSkgPT4gY29sb3J9O1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTcwMHB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuXG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE0NTBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAuc3VidGl0bGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3R0b206IC0yNXB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgICBjb2xvcjogJHsoeyB1cCB9KSA9PiAodXAgPyAnIzFkYjIzMicgOiAnI2Y2MDA0ZicpfTtcbiAgICAgID4gLnVwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgID4gc3ZnIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkeyh7IHVwIH0pID0+ICh1cCA/ICcxODBkZWcnIDogJzAnKX0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgUGVyY2VudExpbmVCYXJzSG9sZGVyID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIHBhZGRpbmc6IDIwcHg7XG4gID4gLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yOTtcbiAgICBjb2xvcjogIzFkMWQxZDtcbiAgfVxuICAubG9hZGVyLWhvbGRlciB7XG4gICAgaGVpZ2h0OiAxM3B4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuICB9XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUNBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUVPLElBQU1DLFNBQVMsR0FBR0MseUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGtGQU9sQztBQUFDQyxPQUFBLENBQUFOLFNBQUEsR0FBQUEsU0FBQTtBQUVLLElBQU1PLFdBQVcsR0FBR04seUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFCQUVwQztBQUFDQyxPQUFBLENBQUFDLFdBQUEsR0FBQUEsV0FBQTtBQUVLLElBQU1DLE9BQU8sR0FBR1AseUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDIyQ0FLckIsVUFBQUksSUFBQTtFQUFBLElBQUdDLE1BQU0sR0FBQUQsSUFBQSxDQUFOQyxNQUFNO0VBQUEsT0FBUUEsTUFBTSxHQUFHQSxNQUFNLEdBQUcsbUJBQW1CO0FBQUEsQ0FBQyxDQWlHbEU7QUFBQ0osT0FBQSxDQUFBRSxPQUFBLEdBQUFBLE9BQUE7QUFDSyxJQUFNRyxJQUFJLEdBQUdWLHlCQUFNLENBQUNDLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw4ckJBbUJmLFVBQUFPLEtBQUE7RUFBQSxJQUFHQyxLQUFLLEdBQUFELEtBQUEsQ0FBTEMsS0FBSztFQUFBLE9BQU9BLEtBQUs7QUFBQSxHQTBCcEIsVUFBQUMsS0FBQTtFQUFBLElBQUdDLEVBQUUsR0FBQUQsS0FBQSxDQUFGQyxFQUFFO0VBQUEsT0FBUUEsRUFBRSxHQUFHLFNBQVMsR0FBRyxTQUFTO0FBQUEsQ0FBQyxFQVN6QixVQUFBQyxLQUFBO0VBQUEsSUFBR0QsRUFBRSxHQUFBQyxLQUFBLENBQUZELEVBQUU7RUFBQSxPQUFRQSxFQUFFLEdBQUcsUUFBUSxHQUFHLEdBQUc7QUFBQSxDQUFDLENBSzlEO0FBQUNULE9BQUEsQ0FBQUssSUFBQSxHQUFBQSxJQUFBO0FBRUssSUFBTU0scUJBQXFCLEdBQUdoQix5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsc09BbUI5QztBQUFDQyxPQUFBLENBQUFXLHFCQUFBLEdBQUFBLHFCQUFBIn0=
50
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVzIiwicmVxdWlyZSIsIkNvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiZXhwb3J0cyIsIkNhcmRzSG9sZGVyIiwiQ29udGVudCIsIkNhcmQiLCJfcmVmIiwiY29sb3IiLCJfcmVmMiIsInVwIiwiX3JlZjMiLCJQZXJjZW50TGluZUJhcnNIb2xkZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvV2lkZ2V0cy9RdWFsaXR5U3VtbWFyeS9zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuZXhwb3J0IHsgQm94VGl0bGUgYXMgVGl0bGUgfSBmcm9tICcuLi8uLi9wYWdlcy9VdGlsaXR5RGFzaGJvYXJkUGFnZS9Ub3BCYXIvc3R5bGVzJztcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7ICovXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICBncmlkLWFyZWE6IHN1bW1hcnk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQ2FyZHNIb2xkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuZXhwb3J0IGNvbnN0IENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBib3gtc2hhZG93OiAtMC45cHggLTAuNXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gIGJvcmRlcjogc29saWQgMXB4ICNlYmViZWI7XG5cbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzN3B4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAuZmlyc3Qge1xuICAgIHdpZHRoOiAzMyU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgID4gLnRyaWFuZ2xlLWhvbGRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTFweDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB0b3A6IDUwJTtcblxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2M3YzdjNztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA2cHggMXB4IHJnYigwIDAgMCAvIDE0JSk7XG5cbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNjBweCk7XG5cbiAgICAgID4gLnRyaWFuZ2xlIHtcbiAgICAgICAgcmlnaHQ6IC05cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzdjN2M3O1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA2cHggMXB4IHJnYigwIDAgMCAvIDE0JSk7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgPiAudHJpYW5nbGUtaG9sZGVyIHtcbiAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgcmlnaHQ6IHVuc2V0O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzdjN2M3O1xuICAgICAgICA+IC50cmlhbmdsZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSkgcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgICBsZWZ0OiAtOHB4O1xuICAgICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICAgICAgICBib3JkZXItbGVmdDogdW5zZXQ7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M3YzdjNztcblxuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWNvbmQge1xuICAgIHdpZHRoOiA2NyU7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIFtkaXI9J3J0bCddICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogLTAuOXB4IC0wLjVweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNlYmViZWI7XG4gICAgLmZpcnN0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjtcblxuICAgICAgPiAudHJpYW5nbGUtaG9sZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2Vjb25kIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbmA7XG5leHBvcnQgY29uc3QgQ2FyZCA9IHN0eWxlZC5kaXY8eyBjb2xvcjogc3RyaW5nOyB1cDogYm9vbGVhbiB9PmBcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMTtcbiAgJi5iZy1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICB9XG5cbiAgPiAudG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgPiAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gICAgPiAucGVyY2VudCB7XG4gICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgY29sb3I6ICR7KHsgY29sb3IgfSkgPT4gY29sb3J9O1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTcwMHB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuXG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE0NTBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAuc3VidGl0bGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3R0b206IC0yNXB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgICBjb2xvcjogJHsoeyB1cCB9KSA9PiAodXAgPyAnIzFkYjIzMicgOiAnI2Y2MDA0ZicpfTtcbiAgICAgID4gLnVwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgID4gc3ZnIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkeyh7IHVwIH0pID0+ICh1cCA/ICcxODBkZWcnIDogJzAnKX0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgUGVyY2VudExpbmVCYXJzSG9sZGVyID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIHBhZGRpbmc6IDIwcHg7XG4gID4gLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yOTtcbiAgICBjb2xvcjogIzFkMWQxZDtcbiAgfVxuICAubG9hZGVyLWhvbGRlciB7XG4gICAgaGVpZ2h0OiAxM3B4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuICB9XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUNBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUVPLElBQU1DLFNBQVMsR0FBR0MseUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGtGQU9sQztBQUFDQyxPQUFBLENBQUFOLFNBQUEsR0FBQUEsU0FBQTtBQUVLLElBQU1PLFdBQVcsR0FBR04seUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHFCQUVwQztBQUFDQyxPQUFBLENBQUFDLFdBQUEsR0FBQUEsV0FBQTtBQUVLLElBQU1DLE9BQU8sR0FBR1AseUJBQU0sQ0FBQ0MsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHUzQ0FzR2hDO0FBQUNDLE9BQUEsQ0FBQUUsT0FBQSxHQUFBQSxPQUFBO0FBQ0ssSUFBTUMsSUFBSSxHQUFHUix5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsOHJCQW1CZixVQUFBSyxJQUFBO0VBQUEsSUFBR0MsS0FBSyxHQUFBRCxJQUFBLENBQUxDLEtBQUs7RUFBQSxPQUFPQSxLQUFLO0FBQUEsR0EwQnBCLFVBQUFDLEtBQUE7RUFBQSxJQUFHQyxFQUFFLEdBQUFELEtBQUEsQ0FBRkMsRUFBRTtFQUFBLE9BQVFBLEVBQUUsR0FBRyxTQUFTLEdBQUcsU0FBUztBQUFBLENBQUMsRUFTekIsVUFBQUMsS0FBQTtFQUFBLElBQUdELEVBQUUsR0FBQUMsS0FBQSxDQUFGRCxFQUFFO0VBQUEsT0FBUUEsRUFBRSxHQUFHLFFBQVEsR0FBRyxHQUFHO0FBQUEsQ0FBQyxDQUs5RDtBQUFDUCxPQUFBLENBQUFHLElBQUEsR0FBQUEsSUFBQTtBQUVLLElBQU1NLHFCQUFxQixHQUFHZCx5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsc09BbUI5QztBQUFDQyxPQUFBLENBQUFTLHFCQUFBLEdBQUFBLHFCQUFBIn0=
@@ -69,12 +69,6 @@ Object.defineProperty(exports, "ScoreInfoSvg", {
69
69
  return _scoreInfo.ReactComponent;
70
70
  }
71
71
  });
72
- Object.defineProperty(exports, "TooltipUpgradeSvg", {
73
- enumerable: true,
74
- get: function get() {
75
- return _tooltipUpgrade.ReactComponent;
76
- }
77
- });
78
72
  Object.defineProperty(exports, "TrendSvg", {
79
73
  enumerable: true,
80
74
  get: function get() {
@@ -106,6 +100,5 @@ var _map = require("@svgr/webpack?-svgo!assets/icons/map.svg");
106
100
  var _info = require("@svgr/webpack?-svgo!assets/icons/info.svg");
107
101
  var _noResult = require("@svgr/webpack?-svgo!assets/icons/no-result.svg");
108
102
  var _upgrade = require("@svgr/webpack?-svgo!assets/icons/upgrade.svg");
109
- var _tooltipUpgrade = require("@svgr/webpack?-svgo!assets/icons/tooltipUpgrade.svg");
110
103
  var _noSamplings = require("@svgr/webpack?-svgo!assets/icons/noSamplings.svg");
111
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVHJlbmRTdmciLCJyZXF1aXJlIiwiX3VwbG9hZCIsIl9kb3dubG9hZCIsIl9jbG9zZU1vZGFsIiwiX2NvcHkiLCJfc2FtcGxpbmciLCJfc2NvcmVJbmZvIiwiX2luZm9Eb3QiLCJfcXVlc3Rpb25JbmZvIiwiX21hcCIsIl9pbmZvIiwiX25vUmVzdWx0IiwiX3VwZ3JhZGUiLCJfdG9vbHRpcFVwZ3JhZGUiLCJfbm9TYW1wbGluZ3MiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXNzZXRzL2ljb25zL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFRyZW5kU3ZnIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9UcmVuZFN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBVcGxvYWRTdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3VwbG9hZC5zdmcnO1xuZXhwb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgRG93bmxvYWRTdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL2Rvd25sb2FkLnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDbG9zZU1vZGFsU3ZnIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9jbG9zZS1tb2RhbC5zdmcnO1xuZXhwb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQ29weVN2ZyB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvY29weS5zdmcnO1xuZXhwb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgU2FtcGxpbmdTdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3NhbXBsaW5nLnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBTY29yZUluZm9TdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3Njb3JlLWluZm8uc3ZnJztcbmV4cG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEluZm9Eb3RTdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL2luZm8tZG90LnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBRdWVzdGlvbkluZm9TdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3F1ZXN0aW9uLWluZm8uc3ZnJztcbmV4cG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIE1hcFN2ZyB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbWFwLnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBJbmZvU3ZnIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9pbmZvLnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBOb1Jlc3VsdFN2ZyB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbm8tcmVzdWx0LnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBVcGdyYWRlU3ZnIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy91cGdyYWRlLnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBUb29sdGlwVXBncmFkZVN2ZyB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvdG9vbHRpcFVwZ3JhZGUuc3ZnJztcbmV4cG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIE5vU2FtcGxpbmdzU3ZnIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9ub1NhbXBsaW5ncy5zdmcnO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLFNBQUEsR0FBQUMsT0FBQTtBQUFxRCxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFBQSxJQUFBRSxTQUFBLEdBQUFGLE9BQUE7QUFBQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFBQSxJQUFBSSxLQUFBLEdBQUFKLE9BQUE7QUFBQSxJQUFBSyxTQUFBLEdBQUFMLE9BQUE7QUFBQSxJQUFBTSxVQUFBLEdBQUFOLE9BQUE7QUFBQSxJQUFBTyxRQUFBLEdBQUFQLE9BQUE7QUFBQSxJQUFBUSxhQUFBLEdBQUFSLE9BQUE7QUFBQSxJQUFBUyxJQUFBLEdBQUFULE9BQUE7QUFBQSxJQUFBVSxLQUFBLEdBQUFWLE9BQUE7QUFBQSxJQUFBVyxTQUFBLEdBQUFYLE9BQUE7QUFBQSxJQUFBWSxRQUFBLEdBQUFaLE9BQUE7QUFBQSxJQUFBYSxlQUFBLEdBQUFiLE9BQUE7QUFBQSxJQUFBYyxZQUFBLEdBQUFkLE9BQUEifQ==
104
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfVHJlbmRTdmciLCJyZXF1aXJlIiwiX3VwbG9hZCIsIl9kb3dubG9hZCIsIl9jbG9zZU1vZGFsIiwiX2NvcHkiLCJfc2FtcGxpbmciLCJfc2NvcmVJbmZvIiwiX2luZm9Eb3QiLCJfcXVlc3Rpb25JbmZvIiwiX21hcCIsIl9pbmZvIiwiX25vUmVzdWx0IiwiX3VwZ3JhZGUiLCJfbm9TYW1wbGluZ3MiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXNzZXRzL2ljb25zL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFRyZW5kU3ZnIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9UcmVuZFN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBVcGxvYWRTdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3VwbG9hZC5zdmcnO1xuZXhwb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgRG93bmxvYWRTdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL2Rvd25sb2FkLnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBDbG9zZU1vZGFsU3ZnIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9jbG9zZS1tb2RhbC5zdmcnO1xuZXhwb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQ29weVN2ZyB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvY29weS5zdmcnO1xuZXhwb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgU2FtcGxpbmdTdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3NhbXBsaW5nLnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBTY29yZUluZm9TdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3Njb3JlLWluZm8uc3ZnJztcbmV4cG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEluZm9Eb3RTdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL2luZm8tZG90LnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBRdWVzdGlvbkluZm9TdmcgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3F1ZXN0aW9uLWluZm8uc3ZnJztcbmV4cG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIE1hcFN2ZyB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbWFwLnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBJbmZvU3ZnIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9pbmZvLnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBOb1Jlc3VsdFN2ZyB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbm8tcmVzdWx0LnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBVcGdyYWRlU3ZnIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy91cGdyYWRlLnN2Zyc7XG5leHBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBOb1NhbXBsaW5nc1N2ZyB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvbm9TYW1wbGluZ3Muc3ZnJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxTQUFBLEdBQUFDLE9BQUE7QUFBcUQsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQUEsSUFBQUUsU0FBQSxHQUFBRixPQUFBO0FBQUEsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBQUEsSUFBQUksS0FBQSxHQUFBSixPQUFBO0FBQUEsSUFBQUssU0FBQSxHQUFBTCxPQUFBO0FBQUEsSUFBQU0sVUFBQSxHQUFBTixPQUFBO0FBQUEsSUFBQU8sUUFBQSxHQUFBUCxPQUFBO0FBQUEsSUFBQVEsYUFBQSxHQUFBUixPQUFBO0FBQUEsSUFBQVMsSUFBQSxHQUFBVCxPQUFBO0FBQUEsSUFBQVUsS0FBQSxHQUFBVixPQUFBO0FBQUEsSUFBQVcsU0FBQSxHQUFBWCxPQUFBO0FBQUEsSUFBQVksUUFBQSxHQUFBWixPQUFBO0FBQUEsSUFBQWEsWUFBQSxHQUFBYixPQUFBIn0=
package/lib/i18n/en.json CHANGED
@@ -3371,8 +3371,7 @@
3371
3371
  "components": {
3372
3372
  "pollution_contributors": {
3373
3373
  "title": "Main pollution contributors",
3374
- "info": "Prioritize efforts on the most impactful facility or area.\n\nThe bar chart shows the event’s contribution of each source.",
3375
- "empty": "There's a lot more to explore in this area",
3374
+ "empty": "We could not identify any contributor to this site pollution",
3376
3375
  "explore_more": "There are {{unknown}}% more to explore, contact your account manager to learn more."
3377
3376
  },
3378
3377
  "damage_type": {