@kando-env/kando-ui 1.2.414-alpha.3 → 1.2.414-alpha.4
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.
package/lib/Widgets/Map/Map.js
CHANGED
|
@@ -235,26 +235,28 @@ var Map = function Map(_ref) {
|
|
|
235
235
|
}, [focusedEvent, hoveredEvent, global_data.eventFilterParam]);
|
|
236
236
|
(0, _react.useEffect)(function () {
|
|
237
237
|
return function cleanup() {
|
|
238
|
-
if (forEventsView) {
|
|
239
|
-
var _mapRef$current2, _mapRef$current3, _mapRef$current4, _mapRef$current5, _mapRef$current6, _mapRef$current7, _mapRef$current8;
|
|
240
|
-
dispatch((0, _actions.clearAreas)());
|
|
238
|
+
if (forEventsView && mapRef.current) {
|
|
241
239
|
dispatch((0, _actions2.clearPoints)());
|
|
240
|
+
dispatch((0, _actions.clearAreas)());
|
|
242
241
|
wwtpsLayerGroup.clearLayers();
|
|
243
|
-
collectorsLayerGroup.clearLayers();
|
|
244
242
|
areasLayerGroup.clearLayers();
|
|
245
|
-
factoriesParentGroup.clearLayers();
|
|
246
243
|
monitoredEdgesGroup.clearLayers();
|
|
244
|
+
collectorsLayerGroup.clearLayers();
|
|
247
245
|
unmonitoredEdgesGroup.clearLayers();
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
246
|
+
monitoredFactoriesGroup.clearLayers();
|
|
247
|
+
unmonitoredFactoriesGroup.clearLayers();
|
|
248
|
+
factoriesParentGroup.clearLayers();
|
|
249
|
+
mapRef.current.removeLayer(unmonitoredEdgesGroup);
|
|
250
|
+
mapRef.current.removeLayer(monitoredEdgesGroup);
|
|
251
|
+
mapRef.current.removeLayer(wwtpsLayerGroup);
|
|
252
|
+
mapRef.current.removeLayer(collectorsLayerGroup);
|
|
253
|
+
mapRef.current.removeLayer(areasLayerGroup);
|
|
254
|
+
mapRef.current.removeLayer(factoriesParentGroup);
|
|
255
|
+
mapRef.current.eachLayer(function (layer) {
|
|
256
|
+
if (layer instanceof L.TileLayer) {
|
|
257
|
+
return;
|
|
257
258
|
}
|
|
259
|
+
mapRef.current.removeLayer(layer);
|
|
258
260
|
});
|
|
259
261
|
}
|
|
260
262
|
};
|
|
@@ -262,13 +264,6 @@ var Map = function Map(_ref) {
|
|
|
262
264
|
(0, _react.useEffect)(function () {
|
|
263
265
|
if (!mapRef.current) {
|
|
264
266
|
(0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, _theme.leafletMap.satellite, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel, forWWTPDashboard, true, global_data.waterAuthorityId);
|
|
265
|
-
|
|
266
|
-
// Initialize parent factory group
|
|
267
|
-
if (mapRef.current) {
|
|
268
|
-
factoriesParentGroup.addTo(mapRef.current);
|
|
269
|
-
factoriesParentGroup.addLayer(monitoredFactoriesGroup);
|
|
270
|
-
factoriesParentGroup.addLayer(unmonitoredFactoriesGroup);
|
|
271
|
-
}
|
|
272
267
|
} else {
|
|
273
268
|
setMapZoomLevel(mapRef.current.getZoom());
|
|
274
269
|
if (!areaToCenterBy) {
|
|
@@ -281,11 +276,11 @@ var Map = function Map(_ref) {
|
|
|
281
276
|
}
|
|
282
277
|
trackLayerbox();
|
|
283
278
|
}
|
|
284
|
-
}, [
|
|
279
|
+
}, [areaToCenterBy]);
|
|
285
280
|
(0, _react.useEffect)(function () {
|
|
286
|
-
var _mapRef$
|
|
281
|
+
var _mapRef$current2;
|
|
287
282
|
var clicked = false;
|
|
288
|
-
(_mapRef$
|
|
283
|
+
(_mapRef$current2 = mapRef.current) === null || _mapRef$current2 === void 0 ? void 0 : _mapRef$current2.eachLayer(function (layer) {
|
|
289
284
|
if (clicked) return;
|
|
290
285
|
if ((layer === null || layer === void 0 ? void 0 : layer.kando_object_id) === selectedItem && layer.isPopupOpen() === false) {
|
|
291
286
|
if (layer instanceof L.Marker) {
|
|
@@ -321,4 +316,4 @@ var Map = function Map(_ref) {
|
|
|
321
316
|
}, renderAreas(), (0, _MapUtils.shoudLoadDependentMapObjects)(edges, areas, global_data, mapRef, points) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedEvent(), memoizedZoomControl(), children)))));
|
|
322
317
|
};
|
|
323
318
|
exports.Map = Map;
|
|
324
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfRXJyb3JCb3VuZGFyeSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQXJlYVBvbHlnb25zIiwiX0VkZ2VzIiwiX1BvaW50TWFya2VycyIsIl9FdmVudCIsIl9NYXBVdGlscyIsIl90aGVtZSIsIl9MaXN0Q29udGV4dCIsIl9hY3Rpb25zIiwiX2FjdGlvbnMyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJNYXAiLCJfcmVmIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJfcmVmJGhpZGVFZGdlcyIsImhpZGVFZGdlcyIsIl9yZWYkbWFwQm94U3R5bGUiLCJtYXBCb3hTdHlsZSIsImxlYWZsZXRNYXAiLCJtYXBEZWZhdWx0IiwiY2hpbGRyZW4iLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IyIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIl9yZWYkZm9yRXZlbnRzVmlldyIsImZvckV2ZW50c1ZpZXciLCJfcmVmJHN0eWxlIiwic3R5bGUiLCJfcmVmJGZvcldXVFBEYXNoYm9hcmQiLCJmb3JXV1RQRGFzaGJvYXJkIiwibWFwIiwibWFwUmVmIiwidXNlUmVmIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIm1hcFpvb21MZXZlbCIsInNldE1hcFpvb21MZXZlbCIsIl91c2VTZWxlY3RlZEl0ZW0iLCJ1c2VTZWxlY3RlZEl0ZW0iLCJzZWxlY3RlZEl0ZW0iLCJob3ZlcmVkRXZlbnRQcmVzZW50IiwidXNlTWVtbyIsInVuZGVmaW5lZCIsImZvY3VzZWRFdmVudFByZXNlbnQiLCJfdXNlU3RhdGUzIiwibGF5ZXJHcm91cCIsIl91c2VTdGF0ZTQiLCJmYWN0b3JpZXNQYXJlbnRHcm91cCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwidW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwibW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJ1bm1vbml0b3JlZEVkZ2VzR3JvdXAiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwibW9uaXRvcmVkRWRnZXNHcm91cCIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJ3d3Rwc0xheWVyR3JvdXAiLCJfdXNlU3RhdGUxNSIsIl91c2VTdGF0ZTE2IiwiY29sbGVjdG9yc0xheWVyR3JvdXAiLCJfdXNlU3RhdGUxNyIsIkZlYXR1cmVHcm91cCIsIl91c2VTdGF0ZTE4IiwiYXJlYXNMYXllckdyb3VwIiwiX3VzZVN0YXRlMTkiLCJfdXNlU3RhdGUyMCIsImVkZ2VzQ2hlY2tib3giLCJzZXRFZGdlc0NoZWNrYm94IiwicmVuZGVyUG9pbnRNYXJrZXJzIiwiZmlsdGVyZWRQb2ludHMiLCJwcm9wcyIsImN1cnJlbnQiLCJjcmVhdGVFbGVtZW50IiwiUG9pbnRNYXJrZXJzIiwiYXNzaWduIiwibWVtb2l6ZWRNb25pdG9yZWRQb2ludHMiLCJtb25pdG9yZWRQb2ludHMiLCJmaWx0ZXJQb2ludHMiLCJyZXJlbmRlciIsInpvb21MZXZlbHMiLCJmYWN0b3JpZXNHcm91cCIsInd3dHBzR3JvdXAiLCJjb2xsZWN0b3JzR3JvdXAiLCJtZW1vaXplZFVubW9uaXRvcmVkUG9pbnRzIiwidW5tb25pdG9yZWRQb2ludHMiLCJyZW5kZXJFZGdlcyIsImZpbHRlcmVkRWRnZXMiLCJtZW1vaXplZEVkZ2VzIiwibW9uaXRvcmVkRWRnZXMiLCJmaWx0ZXJFZGdlcyIsImhpZGVBcnJvd3MiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJncm91cCIsIm1lbW9pemVkVW5tb25pdG9yZWRFZGdlcyIsInVubW9uaXRvcmVkRWRnZXMiLCJzaG91bGRudERyYXciLCJnZXRMYXllcnMiLCJsZW5ndGgiLCJoYW5kbGVFZGdlc0NoZWNrYm94Q2hhbmdlIiwiaXNDaGVja2VkIiwiZWRnZXNab29tTGV2ZWxzIiwiaGFuZGxlUG9pbnRzQ2hlY2tib3hDaGFuZ2UiLCJ6b29tIiwiZ2V0Wm9vbSIsInJlbW92ZUxheWVyIiwicmVtb3ZlRnJvbSIsImFkZExheWVyIiwiaW5jbHVkZXMiLCJhZGRUbyIsInRyYWNrTGF5ZXJib3giLCJzZXR1cENoZWNrYm94TGlzdGVuZXIiLCJ6b29tUnVsZXNGb3JFdmVudHNWaWV3IiwicGF5bG9hZCIsIkZyYWdtZW50Iiwiem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMiLCJtZW1vaXplZFpvb21Db250cm9sIiwiY2hlY2tib3giLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJjaGVja2VkIiwibWVtb2l6ZWRFdmVudCIsImZvY3VzZWQiLCJob3ZlcmVkIiwiRXZlbnQiLCJldmVudCIsImluY2x1ZGVOZXR3b3JrIiwidXNlRWZmZWN0IiwiY2xlYW51cCIsIl9tYXBSZWYkY3VycmVudCIsImNsZWFyTGF5ZXJzIiwiZXZlbnRGaWx0ZXJQYXJhbSIsIl9tYXBSZWYkY3VycmVudDIiLCJfbWFwUmVmJGN1cnJlbnQzIiwiX21hcFJlZiRjdXJyZW50NCIsIl9tYXBSZWYkY3VycmVudDUiLCJfbWFwUmVmJGN1cnJlbnQ2IiwiX21hcFJlZiRjdXJyZW50NyIsIl9tYXBSZWYkY3VycmVudDgiLCJjbGVhckFyZWFzIiwiY2xlYXJQb2ludHMiLCJlYWNoTGF5ZXIiLCJsYXllciIsImthbmRvX29iamVjdCIsIndhdGVyQXV0aG9yaXR5SWQiLCJpbml0aWFsaXplTWFwIiwic2F0ZWxsaXRlIiwiaXNWYWxpZEFyZWEiLCJhcmVhIiwic2hhcGVfZGF0YSIsImZsYXQiLCJhcmVhRm9jdXNMb2dpYyIsIl9tYXBSZWYkY3VycmVudDkiLCJjbGlja2VkIiwia2FuZG9fb2JqZWN0X2lkIiwiaXNQb3B1cE9wZW4iLCJNYXJrZXIiLCJmaXJlIiwiUG9seWdvbiIsInJlbmRlckFyZWFzIiwic2hvdWxkTG9hZE1hcE9iamVjdHMiLCJBcmVhUG9seWdvbnMiLCJtYXBab29tIiwiZmVhdHVyZUdyb3VwIiwiY2xhc3NOYW1lIiwiY29uY2F0Iiwic2lkZW5hdkV4cGFuZGVkIiwiaWQiLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCAqIGFzIEwgZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgJ3NyYy91dGlsaXRpZXMvcG9seWxpbmVkZWNvcmF0b3InO1xuaW1wb3J0ICdsZWFmbGV0Lm1hcmtlcmNsdXN0ZXInO1xuaW1wb3J0ICdsZWFmbGV0LnBhdHRlcm4nO1xuaW1wb3J0ICdsZWFmbGV0LmhlYXQnO1xuaW1wb3J0IFJlYWN0LCB7XG4gIENTU1Byb3BlcnRpZXMsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG4vLyBpbXBvcnQgeyBzdG9yZU1hcCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBJR2xvYmFsU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL21vZGVscy9JR2xvYmFsU3RhdGUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgeyBBcmVhUG9seWdvbnMgfSBmcm9tICcuL2FyZWFzL0FyZWFQb2x5Z29ucyc7XG5pbXBvcnQgRWRnZXMgZnJvbSAnLi9lZGdlcy9FZGdlcyc7XG5pbXBvcnQgJy4vTWFwLnNjc3MnO1xuaW1wb3J0ICcuL3BvaW50cy9Qb2ludEljb24uc2Nzcyc7XG5pbXBvcnQgeyBQb2ludE1hcmtlcnMgfSBmcm9tICcuL3BvaW50cy9Qb2ludE1hcmtlcnMnO1xuLy8gaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IEV2ZW50IH0gZnJvbSAnLi9ldmVudHMvRXZlbnQnO1xuaW1wb3J0IHtcbiAgYXJlYUZvY3VzTG9naWMsXG4gIGZpbHRlckVkZ2VzLFxuICBmaWx0ZXJQb2ludHMsXG4gIGluaXRpYWxpemVNYXAsXG4gIGlzVmFsaWRBcmVhLFxuICBzZXR1cENoZWNrYm94TGlzdGVuZXIsXG4gIHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMsXG4gIHNob3VsZExvYWRNYXBPYmplY3RzLFxuICB6b29tTGV2ZWxzLFxufSBmcm9tICcuL01hcFV0aWxzJztcbmltcG9ydCB7IGxlYWZsZXRNYXAgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgdXNlU2VsZWN0ZWRJdGVtIH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9MaXN0Q29udGV4dCc7XG5pbXBvcnQgeyBjbGVhckFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuaW1wb3J0IHsgY2xlYXJQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xucmVxdWlyZSgnbGVhZmxldC5tYXJrZXJjbHVzdGVyJyk7XG5cbmludGVyZmFjZSBNYXBQcm9wcyB7XG4gIGFyZWFzOiBJQXJlYVtdO1xuICBlZGdlcz86IElFZGdlW107XG4gIHBvaW50cz86IElQb2ludFtdO1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZm9jdXNlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaG92ZXJlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgbWFwQm94U3R5bGU/OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogYW55O1xuICBzdHlsZT86IENTU1Byb3BlcnRpZXM7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz86IGJvb2xlYW47XG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM/OiBib29sZWFuO1xuICBmb3JFdmVudHNWaWV3OiBib29sZWFuO1xuICBmb3JXV1RQRGFzaGJvYXJkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE1hcDogUmVhY3QuRkM8TWFwUHJvcHM+ID0gKHtcbiAgYXJlYXMsXG4gIGVkZ2VzLFxuICBwb2ludHMsXG4gIGdsb2JhbF9kYXRhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgZm9jdXNlZEV2ZW50LFxuICBob3ZlcmVkRXZlbnQsXG4gIGhpZGVFZGdlcyA9IGZhbHNlLFxuICBtYXBCb3hTdHlsZSA9IGxlYWZsZXRNYXAubWFwRGVmYXVsdCxcbiAgY2hpbGRyZW4sXG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyA9IHRydWUsXG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMgPSBmYWxzZSxcbiAgZm9yRXZlbnRzVmlldyA9IGZhbHNlLFxuICBzdHlsZSA9IHt9LFxuICBmb3JXV1RQRGFzaGJvYXJkID0gZmFsc2UsXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgbWFwUmVmID0gdXNlUmVmPEwuTWFwIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW21hcFpvb21MZXZlbCwgc2V0TWFwWm9vbUxldmVsXSA9IHVzZVN0YXRlKDIpO1xuICBjb25zdCB7IHNlbGVjdGVkSXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IGhvdmVyZWRFdmVudFByZXNlbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gaG92ZXJlZEV2ZW50ICE9PSBudWxsICYmIGhvdmVyZWRFdmVudCAhPT0gdW5kZWZpbmVkO1xuICB9LCBbaG92ZXJlZEV2ZW50XSk7XG5cbiAgY29uc3QgZm9jdXNlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBmb2N1c2VkRXZlbnQgIT09IG51bGwgJiYgZm9jdXNlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtmb2N1c2VkRXZlbnRdKTtcblxuICAvLyBBZGQgcGFyZW50IGxheWVyIGdyb3VwIGZvciBhbGwgZmFjdG9yaWVzXG4gIGNvbnN0IFtmYWN0b3JpZXNQYXJlbnRHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFt1bm1vbml0b3JlZEZhY3Rvcmllc0dyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW21vbml0b3JlZEZhY3Rvcmllc0dyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW3VubW9uaXRvcmVkRWRnZXNHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFttb25pdG9yZWRFZGdlc0dyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW3d3dHBzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFtjb2xsZWN0b3JzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFthcmVhc0xheWVyR3JvdXBdID0gdXNlU3RhdGUobmV3IEwuRmVhdHVyZUdyb3VwKCkpO1xuICBjb25zdCBbZWRnZXNDaGVja2JveCwgc2V0RWRnZXNDaGVja2JveF0gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgcmVuZGVyUG9pbnRNYXJrZXJzID0gKGZpbHRlcmVkUG9pbnRzLCBtYXBSZWYsIHByb3BzKSA9PlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgcG9pbnRzICYmIChcbiAgICAgIDxQb2ludE1hcmtlcnMgbWFwPXttYXBSZWYuY3VycmVudH0gcG9pbnRzPXtmaWx0ZXJlZFBvaW50c30gey4uLnByb3BzfSAvPlxuICAgICk7XG5cbiAgY29uc3QgbWVtb2l6ZWRNb25pdG9yZWRQb2ludHMgPSAoKSA9PiB7XG4gICAgY29uc3QgbW9uaXRvcmVkUG9pbnRzID0gZmlsdGVyUG9pbnRzKHBvaW50cywgdHJ1ZSk7XG4gICAgcmV0dXJuIHJlbmRlclBvaW50TWFya2Vycyhtb25pdG9yZWRQb2ludHMsIG1hcFJlZiwge1xuICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzOiB0cnVlLFxuICAgICAgcmVyZW5kZXI6IHpvb21MZXZlbHNbbWFwWm9vbUxldmVsXSxcbiAgICAgIGZhY3Rvcmllc0dyb3VwOiBtb25pdG9yZWRGYWN0b3JpZXNHcm91cCxcbiAgICAgIHd3dHBzR3JvdXA6IHd3dHBzTGF5ZXJHcm91cCxcbiAgICAgIGNvbGxlY3RvcnNHcm91cDogY29sbGVjdG9yc0xheWVyR3JvdXAsXG4gICAgICBmb3JFdmVudHNWaWV3OiBmb3JFdmVudHNWaWV3LFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IG1lbW9pemVkVW5tb25pdG9yZWRQb2ludHMgPSAoKSA9PiB7XG4gICAgY29uc3QgdW5tb25pdG9yZWRQb2ludHMgPSBmaWx0ZXJQb2ludHMocG9pbnRzLCBmYWxzZSk7XG4gICAgcmV0dXJuIHJlbmRlclBvaW50TWFya2Vycyh1bm1vbml0b3JlZFBvaW50cywgbWFwUmVmLCB7XG4gICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM6IHRydWUsXG4gICAgICByZXJlbmRlcjogem9vbUxldmVsc1ttYXBab29tTGV2ZWxdLFxuICAgICAgZmFjdG9yaWVzR3JvdXA6IHVubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAsXG4gICAgICB3d3Rwc0dyb3VwOiB3d3Rwc0xheWVyR3JvdXAsXG4gICAgICBjb2xsZWN0b3JzR3JvdXA6IGNvbGxlY3RvcnNMYXllckdyb3VwLFxuICAgICAgZm9yRXZlbnRzVmlldzogZm9yRXZlbnRzVmlldyxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJFZGdlcyA9IChmaWx0ZXJlZEVkZ2VzLCBtYXBSZWYsIGVkZ2VzQ2hlY2tib3gsIHByb3BzKSA9PlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXNDaGVja2JveCAmJiAoXG4gICAgICA8RWRnZXMgZWRnZXM9e2ZpbHRlcmVkRWRnZXN9IG1hcD17bWFwUmVmLmN1cnJlbnR9IHsuLi5wcm9wc30gLz5cbiAgICApO1xuXG4gIGNvbnN0IG1lbW9pemVkRWRnZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBtb25pdG9yZWRFZGdlcyA9IGZpbHRlckVkZ2VzKGVkZ2VzLCBwb2ludHMsIHRydWUpO1xuICAgIHJldHVybiByZW5kZXJFZGdlcyhtb25pdG9yZWRFZGdlcywgbWFwUmVmLCBlZGdlc0NoZWNrYm94LCB7XG4gICAgICBMLFxuICAgICAgcG9pbnRzLFxuICAgICAgaGlkZUVkZ2VzLFxuICAgICAgaGlkZUFycm93czogdHJ1ZSxcbiAgICAgIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50czogaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyxcbiAgICAgIGdyb3VwOiBtb25pdG9yZWRFZGdlc0dyb3VwLFxuICAgIH0pO1xuICB9LCBbbWFwUmVmLmN1cnJlbnQsIHBvaW50cywgZm9jdXNlZEV2ZW50UHJlc2VudCwgbWFwWm9vbUxldmVsXSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRVbm1vbml0b3JlZEVkZ2VzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgdW5tb25pdG9yZWRFZGdlcyA9IGZpbHRlckVkZ2VzKGVkZ2VzLCBwb2ludHMsIGZhbHNlKTtcbiAgICByZXR1cm4gcmVuZGVyRWRnZXModW5tb25pdG9yZWRFZGdlcywgbWFwUmVmLCBlZGdlc0NoZWNrYm94LCB7XG4gICAgICBMLFxuICAgICAgcG9pbnRzLFxuICAgICAgaGlkZUVkZ2VzLFxuICAgICAgaGlkZUFycm93czogdHJ1ZSxcbiAgICAgIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50czogaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyxcbiAgICAgIGdyb3VwOiB1bm1vbml0b3JlZEVkZ2VzR3JvdXAsXG4gICAgICBzaG91bGRudERyYXc6IHVubW9uaXRvcmVkRWRnZXNHcm91cC5nZXRMYXllcnMoKS5sZW5ndGggIT09IDAsXG4gICAgfSk7XG4gIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50LCBtYXBab29tTGV2ZWxdKTtcblxuICBjb25zdCBoYW5kbGVFZGdlc0NoZWNrYm94Q2hhbmdlID0gKGlzQ2hlY2tlZCkgPT4ge1xuICAgIHNldEVkZ2VzQ2hlY2tib3goaXNDaGVja2VkKTtcbiAgfTtcblxuICAvLyBUaGlzIHZhcmlhYmxlIHN0b3JlcyB0aGUgem9vbSBsZXZlbHMgdGhlIGVkZ2VzIGFyZSBkaXNwbGF5ZWRcbiAgLy8gSXQgaXMgdXNlZCBpbiB0d28gcGxhY2VzIGluIHRoZSBjb2RlLCBzbyBpdCBpcyBiZXR0ZXIgdG8gc3RvcmUgaXQgaW4gb25lIHBsYWNlXG4gIGNvbnN0IGVkZ2VzWm9vbUxldmVscyA9IFsnU21hbGwnLCAnTWVkaXVtJywgJ01MYXJnZScsICdMYXJnZSddO1xuXG4gIGNvbnN0IGhhbmRsZVBvaW50c0NoZWNrYm94Q2hhbmdlID0gKGlzQ2hlY2tlZCkgPT4ge1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgbGV0IHpvb20gPSB6b29tTGV2ZWxzW21hcFJlZi5jdXJyZW50LmdldFpvb20oKV07XG5cbiAgICAgIGlmIChpc0NoZWNrZWQpIHtcbiAgICAgICAgLy8gSGlkZSB1bm1vbml0b3JlZCBwb2ludHMgd2hlbiBcInNob3cgb25seSBtb25pdG9yZWRcIiBpcyBjaGVja2VkXG4gICAgICAgIGZhY3Rvcmllc1BhcmVudEdyb3VwLnJlbW92ZUxheWVyKHVubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXApO1xuICAgICAgICB1bm1vbml0b3JlZEVkZ2VzR3JvdXAucmVtb3ZlRnJvbShtYXBSZWYuY3VycmVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTaG93IGFsbCBwb2ludHMgd2hlbiBcInNob3cgb25seSBtb25pdG9yZWRcIiBpcyB1bmNoZWNrZWRcbiAgICAgICAgZmFjdG9yaWVzUGFyZW50R3JvdXAuYWRkTGF5ZXIodW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cCk7XG5cbiAgICAgICAgLy8gU2hvdyB1bm1vbml0b3JlZCBlZGdlcyBpZiBhdCBhcHByb3ByaWF0ZSB6b29tIGxldmVsXG4gICAgICAgIGlmIChlZGdlc1pvb21MZXZlbHMuaW5jbHVkZXMoem9vbSkpIHtcbiAgICAgICAgICB1bm1vbml0b3JlZEVkZ2VzR3JvdXAuYWRkVG8obWFwUmVmLmN1cnJlbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHRyYWNrTGF5ZXJib3ggPSAoKSA9PiB7XG4gICAgc2V0dXBDaGVja2JveExpc3RlbmVyKCcjZWRnZXMtY2hlY2tib3gnLCBoYW5kbGVFZGdlc0NoZWNrYm94Q2hhbmdlKTtcbiAgICBzZXR1cENoZWNrYm94TGlzdGVuZXIoXG4gICAgICAnI21vbml0b3JlZC1wb2ludHMtY2hlY2tib3gnLFxuICAgICAgaGFuZGxlUG9pbnRzQ2hlY2tib3hDaGFuZ2UsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCB6b29tUnVsZXNGb3JFdmVudHNWaWV3ID0gKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSAoXG4gICAgICA8PlxuICAgICAgICB7bWVtb2l6ZWRFZGdlc31cbiAgICAgICAge21lbW9pemVkVW5tb25pdG9yZWRFZGdlc31cbiAgICAgICAge21lbW9pemVkVW5tb25pdG9yZWRQb2ludHMoKX1cbiAgICAgICAge21lbW9pemVkTW9uaXRvcmVkUG9pbnRzKCl9XG4gICAgICA8Lz5cbiAgICApO1xuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3Qgem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMgPSAoKSA9PiB7XG4gICAgbGV0IHBheWxvYWQgPSAoXG4gICAgICA8PlxuICAgICAgICB7bWVtb2l6ZWRVbm1vbml0b3JlZFBvaW50cygpfVxuICAgICAgICB7bWVtb2l6ZWRNb25pdG9yZWRQb2ludHMoKX1cbiAgICAgIDwvPlxuICAgICk7XG5cbiAgICBpZiAoZWRnZXNab29tTGV2ZWxzLmluY2x1ZGVzKHpvb21MZXZlbHNbbWFwWm9vbUxldmVsXSkpIHtcbiAgICAgIHBheWxvYWQgPSB6b29tUnVsZXNGb3JFdmVudHNWaWV3KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3QgbWVtb2l6ZWRab29tQ29udHJvbCA9ICgpID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gZm9yRXZlbnRzVmlld1xuICAgICAgPyB6b29tUnVsZXNGb3JFdmVudHNWaWV3KClcbiAgICAgIDogem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMoKTtcblxuICAgIGNvbnN0IGNoZWNrYm94ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgICcjbW9uaXRvcmVkLXBvaW50cy1jaGVja2JveCcsXG4gICAgKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGlmIChjaGVja2JveCkge1xuICAgICAgaGFuZGxlUG9pbnRzQ2hlY2tib3hDaGFuZ2UoY2hlY2tib3guY2hlY2tlZCk7XG4gICAgfVxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9O1xuXG4gIGNvbnN0IG1lbW9pemVkRXZlbnQgPSAoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGZvY3VzZWRFdmVudCEuZm9jdXNlZCA9IGZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgICBmb2N1c2VkRXZlbnQhLmhvdmVyZWQgPSAhZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXJlZEV2ZW50UHJlc2VudCkge1xuICAgICAgaG92ZXJlZEV2ZW50IS5ob3ZlcmVkID0gaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICAgIGhvdmVyZWRFdmVudCEuZm9jdXNlZCA9ICFob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmICghaG92ZXJlZEV2ZW50UHJlc2VudCAmJiAhZm9jdXNlZEV2ZW50UHJlc2VudCkgcmV0dXJuIDw+PC8+O1xuICAgIHJldHVybiAoXG4gICAgICA8RXZlbnRcbiAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudCEgfHwgaG92ZXJlZEV2ZW50IX1cbiAgICAgICAgbWFwPXttYXB9XG4gICAgICAgIGVkZ2VzPXtlZGdlcyF9XG4gICAgICAgIHBvaW50cz17cG9pbnRzIX1cbiAgICAgICAgaW5jbHVkZU5ldHdvcms9eyFob3ZlcmVkRXZlbnRQcmVzZW50fVxuICAgICAgLz5cbiAgICApO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBjb2xsZWN0b3JzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGNvbGxlY3RvcnNMYXllckdyb3VwKTtcbiAgICB9O1xuICB9LCBbZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgaWYgKGZvckV2ZW50c1ZpZXcpIHtcbiAgICAgICAgZGlzcGF0Y2goY2xlYXJBcmVhcygpKTtcbiAgICAgICAgZGlzcGF0Y2goY2xlYXJQb2ludHMoKSk7XG4gICAgICAgIHd3dHBzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBjb2xsZWN0b3JzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBhcmVhc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgZmFjdG9yaWVzUGFyZW50R3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgbW9uaXRvcmVkRWRnZXNHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICB1bm1vbml0b3JlZEVkZ2VzR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKHVubW9uaXRvcmVkRWRnZXNHcm91cCk7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihtb25pdG9yZWRFZGdlc0dyb3VwKTtcbiAgICAgICAgbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKHd3dHBzTGF5ZXJHcm91cCk7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihjb2xsZWN0b3JzTGF5ZXJHcm91cCk7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihhcmVhc0xheWVyR3JvdXApO1xuICAgICAgICBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoZmFjdG9yaWVzUGFyZW50R3JvdXApO1xuXG4gICAgICAgIG1hcFJlZi5jdXJyZW50Py5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICAgICAgaWYgKGxheWVyLmthbmRvX29iamVjdCkge1xuICAgICAgICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlTGF5ZXIobGF5ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxpemVNYXAoXG4gICAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgICAgbWFwQm94U3R5bGUsXG4gICAgICAgIGxlYWZsZXRNYXAuc2F0ZWxsaXRlLFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgICAgZm9yV1dUUERhc2hib2FyZCxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgICk7XG5cbiAgICAgIC8vIEluaXRpYWxpemUgcGFyZW50IGZhY3RvcnkgZ3JvdXBcbiAgICAgIGlmIChtYXBSZWYuY3VycmVudCkge1xuICAgICAgICBmYWN0b3JpZXNQYXJlbnRHcm91cC5hZGRUbyhtYXBSZWYuY3VycmVudCk7XG4gICAgICAgIGZhY3Rvcmllc1BhcmVudEdyb3VwLmFkZExheWVyKG1vbml0b3JlZEZhY3Rvcmllc0dyb3VwKTtcbiAgICAgICAgZmFjdG9yaWVzUGFyZW50R3JvdXAuYWRkTGF5ZXIodW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldE1hcFpvb21MZXZlbChtYXBSZWYuY3VycmVudC5nZXRab29tKCkpO1xuICAgICAgaWYgKCFhcmVhVG9DZW50ZXJCeSkge1xuICAgICAgICBhcmVhVG9DZW50ZXJCeSA9IGFyZWFzLm1hcCgoYXJlYSkgPT4gYXJlYS5zaGFwZV9kYXRhKS5mbGF0KCk7XG4gICAgICB9XG5cbiAgICAgIGlmICghZm9yRXZlbnRzVmlldyB8fCAhZm9jdXNlZEV2ZW50KSB7XG4gICAgICAgIGFyZWFGb2N1c0xvZ2ljKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KTtcbiAgICAgIH1cblxuICAgICAgdHJhY2tMYXllcmJveCgpO1xuICAgIH1cbiAgfSwgW21hcFJlZi5jdXJyZW50LCBwb2ludHNdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBjbGlja2VkID0gZmFsc2U7XG5cbiAgICBtYXBSZWYuY3VycmVudD8uZWFjaExheWVyKChsYXllcikgPT4ge1xuICAgICAgaWYgKGNsaWNrZWQpIHJldHVybjtcblxuICAgICAgaWYgKFxuICAgICAgICBsYXllcj8ua2FuZG9fb2JqZWN0X2lkID09PSBzZWxlY3RlZEl0ZW0gJiZcbiAgICAgICAgbGF5ZXIuaXNQb3B1cE9wZW4oKSA9PT0gZmFsc2VcbiAgICAgICkge1xuICAgICAgICBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xuICAgICAgICAgIGxheWVyLmZpcmUoJ2NsaWNrJyk7XG4gICAgICAgIH0gZWxzZSBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLlBvbHlnb24pIHtcbiAgICAgICAgICBsYXllci5maXJlKCdjbGljay1ldmVudCcpO1xuICAgICAgICB9XG4gICAgICAgIGNsaWNrZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbc2VsZWN0ZWRJdGVtXSk7XG5cbiAgY29uc3QgcmVuZGVyQXJlYXMgPSAoKSA9PiB7XG4gICAgaWYgKCFzaG91bGRMb2FkTWFwT2JqZWN0cyhnbG9iYWxfZGF0YSwgbWFwUmVmLCBlZGdlcywgcG9pbnRzKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxBcmVhUG9seWdvbnNcbiAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICBMPXtMfVxuICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgIG1hcFpvb209e21hcFpvb21MZXZlbH1cbiAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICBmZWF0dXJlR3JvdXA9e2FyZWFzTGF5ZXJHcm91cH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiIHN0eWxlPXtzdHlsZX0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YCBtYXAtY29udGFpbmVyICR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnbWFwLWNvbnRhaW5lci0tc2lkZW5hdi1jb2xsYXBzZWQnXG4gICAgICAgIH1gfVxuICAgICAgPlxuICAgICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICA8ZGl2IGlkPVwibWFwXCI+XG4gICAgICAgICAgICB7cmVuZGVyQXJlYXMoKX1cbiAgICAgICAgICAgIHtzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzKFxuICAgICAgICAgICAgICBlZGdlcyxcbiAgICAgICAgICAgICAgYXJlYXMsXG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhLFxuICAgICAgICAgICAgICBtYXBSZWYsXG4gICAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICAgICkgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHttZW1vaXplZEV2ZW50KCl9XG4gICAgICAgICAgICAgICAge21lbW9pemVkWm9vbUNvbnRyb2woKX1cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxJQUFBQSxDQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUEsT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsdUJBQUEsQ0FBQUMsT0FBQTtBQU9BLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQU9BLElBQUFHLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLGFBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUosT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBTyxhQUFBLEdBQUFQLE9BQUE7QUFFQSxJQUFBUSxNQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxTQUFBLEdBQUFULE9BQUE7QUFXQSxJQUFBVSxNQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxZQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxRQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxTQUFBLEdBQUFiLE9BQUE7QUFBdUQsU0FBQWMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtB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
|
|
319
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfRXJyb3JCb3VuZGFyeSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQXJlYVBvbHlnb25zIiwiX0VkZ2VzIiwiX1BvaW50TWFya2VycyIsIl9FdmVudCIsIl9NYXBVdGlscyIsIl90aGVtZSIsIl9MaXN0Q29udGV4dCIsIl9hY3Rpb25zIiwiX2FjdGlvbnMyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJNYXAiLCJfcmVmIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJfcmVmJGhpZGVFZGdlcyIsImhpZGVFZGdlcyIsIl9yZWYkbWFwQm94U3R5bGUiLCJtYXBCb3hTdHlsZSIsImxlYWZsZXRNYXAiLCJtYXBEZWZhdWx0IiwiY2hpbGRyZW4iLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IyIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIl9yZWYkZm9yRXZlbnRzVmlldyIsImZvckV2ZW50c1ZpZXciLCJfcmVmJHN0eWxlIiwic3R5bGUiLCJfcmVmJGZvcldXVFBEYXNoYm9hcmQiLCJmb3JXV1RQRGFzaGJvYXJkIiwibWFwIiwibWFwUmVmIiwidXNlUmVmIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIm1hcFpvb21MZXZlbCIsInNldE1hcFpvb21MZXZlbCIsIl91c2VTZWxlY3RlZEl0ZW0iLCJ1c2VTZWxlY3RlZEl0ZW0iLCJzZWxlY3RlZEl0ZW0iLCJob3ZlcmVkRXZlbnRQcmVzZW50IiwidXNlTWVtbyIsInVuZGVmaW5lZCIsImZvY3VzZWRFdmVudFByZXNlbnQiLCJfdXNlU3RhdGUzIiwibGF5ZXJHcm91cCIsIl91c2VTdGF0ZTQiLCJmYWN0b3JpZXNQYXJlbnRHcm91cCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwidW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwibW9uaXRvcmVkRmFjdG9yaWVzR3JvdXAiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJ1bm1vbml0b3JlZEVkZ2VzR3JvdXAiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwibW9uaXRvcmVkRWRnZXNHcm91cCIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJ3d3Rwc0xheWVyR3JvdXAiLCJfdXNlU3RhdGUxNSIsIl91c2VTdGF0ZTE2IiwiY29sbGVjdG9yc0xheWVyR3JvdXAiLCJfdXNlU3RhdGUxNyIsIkZlYXR1cmVHcm91cCIsIl91c2VTdGF0ZTE4IiwiYXJlYXNMYXllckdyb3VwIiwiX3VzZVN0YXRlMTkiLCJfdXNlU3RhdGUyMCIsImVkZ2VzQ2hlY2tib3giLCJzZXRFZGdlc0NoZWNrYm94IiwicmVuZGVyUG9pbnRNYXJrZXJzIiwiZmlsdGVyZWRQb2ludHMiLCJwcm9wcyIsImN1cnJlbnQiLCJjcmVhdGVFbGVtZW50IiwiUG9pbnRNYXJrZXJzIiwiYXNzaWduIiwibWVtb2l6ZWRNb25pdG9yZWRQb2ludHMiLCJtb25pdG9yZWRQb2ludHMiLCJmaWx0ZXJQb2ludHMiLCJyZXJlbmRlciIsInpvb21MZXZlbHMiLCJmYWN0b3JpZXNHcm91cCIsInd3dHBzR3JvdXAiLCJjb2xsZWN0b3JzR3JvdXAiLCJtZW1vaXplZFVubW9uaXRvcmVkUG9pbnRzIiwidW5tb25pdG9yZWRQb2ludHMiLCJyZW5kZXJFZGdlcyIsImZpbHRlcmVkRWRnZXMiLCJtZW1vaXplZEVkZ2VzIiwibW9uaXRvcmVkRWRnZXMiLCJmaWx0ZXJFZGdlcyIsImhpZGVBcnJvd3MiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJncm91cCIsIm1lbW9pemVkVW5tb25pdG9yZWRFZGdlcyIsInVubW9uaXRvcmVkRWRnZXMiLCJzaG91bGRudERyYXciLCJnZXRMYXllcnMiLCJsZW5ndGgiLCJoYW5kbGVFZGdlc0NoZWNrYm94Q2hhbmdlIiwiaXNDaGVja2VkIiwiZWRnZXNab29tTGV2ZWxzIiwiaGFuZGxlUG9pbnRzQ2hlY2tib3hDaGFuZ2UiLCJ6b29tIiwiZ2V0Wm9vbSIsInJlbW92ZUxheWVyIiwicmVtb3ZlRnJvbSIsImFkZExheWVyIiwiaW5jbHVkZXMiLCJhZGRUbyIsInRyYWNrTGF5ZXJib3giLCJzZXR1cENoZWNrYm94TGlzdGVuZXIiLCJ6b29tUnVsZXNGb3JFdmVudHNWaWV3IiwicGF5bG9hZCIsIkZyYWdtZW50Iiwiem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMiLCJtZW1vaXplZFpvb21Db250cm9sIiwiY2hlY2tib3giLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJjaGVja2VkIiwibWVtb2l6ZWRFdmVudCIsImZvY3VzZWQiLCJob3ZlcmVkIiwiRXZlbnQiLCJldmVudCIsImluY2x1ZGVOZXR3b3JrIiwidXNlRWZmZWN0IiwiY2xlYW51cCIsIl9tYXBSZWYkY3VycmVudCIsImNsZWFyTGF5ZXJzIiwiZXZlbnRGaWx0ZXJQYXJhbSIsImNsZWFyUG9pbnRzIiwiY2xlYXJBcmVhcyIsImVhY2hMYXllciIsImxheWVyIiwiVGlsZUxheWVyIiwid2F0ZXJBdXRob3JpdHlJZCIsImluaXRpYWxpemVNYXAiLCJzYXRlbGxpdGUiLCJpc1ZhbGlkQXJlYSIsImFyZWEiLCJzaGFwZV9kYXRhIiwiZmxhdCIsImFyZWFGb2N1c0xvZ2ljIiwiX21hcFJlZiRjdXJyZW50MiIsImNsaWNrZWQiLCJrYW5kb19vYmplY3RfaWQiLCJpc1BvcHVwT3BlbiIsIk1hcmtlciIsImZpcmUiLCJQb2x5Z29uIiwicmVuZGVyQXJlYXMiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsIkFyZWFQb2x5Z29ucyIsIm1hcFpvb20iLCJmZWF0dXJlR3JvdXAiLCJjbGFzc05hbWUiLCJjb25jYXQiLCJzaWRlbmF2RXhwYW5kZWQiLCJpZCIsInNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL01hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0ICogYXMgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnc3JjL3V0aWxpdGllcy9wb2x5bGluZWRlY29yYXRvcic7XG5pbXBvcnQgJ2xlYWZsZXQubWFya2VyY2x1c3Rlcic7XG5pbXBvcnQgJ2xlYWZsZXQucGF0dGVybic7XG5pbXBvcnQgJ2xlYWZsZXQuaGVhdCc7XG5pbXBvcnQgUmVhY3QsIHtcbiAgQ1NTUHJvcGVydGllcyxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBJRWRnZSB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9tb2RlbHMvSUVkZ2UnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50Jztcbi8vIGltcG9ydCB7IHN0b3JlTWFwIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCB7IElHbG9iYWxTdGF0ZSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvbW9kZWxzL0lHbG9iYWxTdGF0ZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnc3JjL3V0aWxpdGllcy9FcnJvckJvdW5kYXJ5JztcbmltcG9ydCB7IEFyZWFQb2x5Z29ucyB9IGZyb20gJy4vYXJlYXMvQXJlYVBvbHlnb25zJztcbmltcG9ydCBFZGdlcyBmcm9tICcuL2VkZ2VzL0VkZ2VzJztcbmltcG9ydCAnLi9NYXAuc2Nzcyc7XG5pbXBvcnQgJy4vcG9pbnRzL1BvaW50SWNvbi5zY3NzJztcbmltcG9ydCB7IFBvaW50TWFya2VycyB9IGZyb20gJy4vcG9pbnRzL1BvaW50TWFya2Vycyc7XG4vLyBpbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgRXZlbnQgfSBmcm9tICcuL2V2ZW50cy9FdmVudCc7XG5pbXBvcnQge1xuICBhcmVhRm9jdXNMb2dpYyxcbiAgZmlsdGVyRWRnZXMsXG4gIGZpbHRlclBvaW50cyxcbiAgaW5pdGlhbGl6ZU1hcCxcbiAgaXNWYWxpZEFyZWEsXG4gIHNldHVwQ2hlY2tib3hMaXN0ZW5lcixcbiAgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyxcbiAgc2hvdWxkTG9hZE1hcE9iamVjdHMsXG4gIHpvb21MZXZlbHMsXG59IGZyb20gJy4vTWFwVXRpbHMnO1xuaW1wb3J0IHsgbGVhZmxldE1hcCB9IGZyb20gJy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyB1c2VTZWxlY3RlZEl0ZW0gfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL0xpc3RDb250ZXh0JztcbmltcG9ydCB7IGNsZWFyQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBjbGVhclBvaW50cyB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvYWN0aW9ucyc7XG5yZXF1aXJlKCdsZWFmbGV0Lm1hcmtlcmNsdXN0ZXInKTtcblxuaW50ZXJmYWNlIE1hcFByb3BzIHtcbiAgYXJlYXM6IElBcmVhW107XG4gIGVkZ2VzPzogSUVkZ2VbXTtcbiAgcG9pbnRzPzogSVBvaW50W107XG4gIGdsb2JhbF9kYXRhOiBJR2xvYmFsU3RhdGU7XG4gIGFyZWFUb0NlbnRlckJ5PzogYW55O1xuICBmb2N1c2VkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBob3ZlcmVkRXZlbnQ/OiBJRXZlbnQgfCBudWxsO1xuICBoaWRlRWRnZXM/OiBib29sZWFuO1xuICBtYXBCb3hTdHlsZT86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBhbnk7XG4gIHN0eWxlPzogQ1NTUHJvcGVydGllcztcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPzogYm9vbGVhbjtcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcz86IGJvb2xlYW47XG4gIGZvckV2ZW50c1ZpZXc6IGJvb2xlYW47XG4gIGZvcldXVFBEYXNoYm9hcmQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgTWFwOiBSZWFjdC5GQzxNYXBQcm9wcz4gPSAoe1xuICBhcmVhcyxcbiAgZWRnZXMsXG4gIHBvaW50cyxcbiAgZ2xvYmFsX2RhdGEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBmb2N1c2VkRXZlbnQsXG4gIGhvdmVyZWRFdmVudCxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIG1hcEJveFN0eWxlID0gbGVhZmxldE1hcC5tYXBEZWZhdWx0LFxuICBjaGlsZHJlbixcbiAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzID0gdHJ1ZSxcbiAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyA9IGZhbHNlLFxuICBmb3JFdmVudHNWaWV3ID0gZmFsc2UsXG4gIHN0eWxlID0ge30sXG4gIGZvcldXVFBEYXNoYm9hcmQgPSBmYWxzZSxcbn0pID0+IHtcbiAgY29uc3QgeyBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBtYXBSZWYgPSB1c2VSZWY8TC5NYXAgfCBudWxsPihudWxsKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbbWFwWm9vbUxldmVsLCBzZXRNYXBab29tTGV2ZWxdID0gdXNlU3RhdGUoMik7XG4gIGNvbnN0IHsgc2VsZWN0ZWRJdGVtIH0gPSB1c2VTZWxlY3RlZEl0ZW0oKTtcbiAgY29uc3QgaG92ZXJlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBob3ZlcmVkRXZlbnQgIT09IG51bGwgJiYgaG92ZXJlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBmb2N1c2VkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiBmb2N1c2VkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2ZvY3VzZWRFdmVudF0pO1xuXG4gIC8vIEFkZCBwYXJlbnQgbGF5ZXIgZ3JvdXAgZm9yIGFsbCBmYWN0b3JpZXNcbiAgY29uc3QgW2ZhY3Rvcmllc1BhcmVudEdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW3VubW9uaXRvcmVkRmFjdG9yaWVzR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbbW9uaXRvcmVkRmFjdG9yaWVzR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbdW5tb25pdG9yZWRFZGdlc0dyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW21vbml0b3JlZEVkZ2VzR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbd3d0cHNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW2NvbGxlY3RvcnNMYXllckdyb3VwXSA9IHVzZVN0YXRlKEwubGF5ZXJHcm91cCgpKTtcbiAgY29uc3QgW2FyZWFzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShuZXcgTC5GZWF0dXJlR3JvdXAoKSk7XG4gIGNvbnN0IFtlZGdlc0NoZWNrYm94LCBzZXRFZGdlc0NoZWNrYm94XSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCByZW5kZXJQb2ludE1hcmtlcnMgPSAoZmlsdGVyZWRQb2ludHMsIG1hcFJlZiwgcHJvcHMpID0+XG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBwb2ludHMgJiYgKFxuICAgICAgPFBvaW50TWFya2VycyBtYXA9e21hcFJlZi5jdXJyZW50fSBwb2ludHM9e2ZpbHRlcmVkUG9pbnRzfSB7Li4ucHJvcHN9IC8+XG4gICAgKTtcblxuICBjb25zdCBtZW1vaXplZE1vbml0b3JlZFBvaW50cyA9ICgpID0+IHtcbiAgICBjb25zdCBtb25pdG9yZWRQb2ludHMgPSBmaWx0ZXJQb2ludHMocG9pbnRzLCB0cnVlKTtcbiAgICByZXR1cm4gcmVuZGVyUG9pbnRNYXJrZXJzKG1vbml0b3JlZFBvaW50cywgbWFwUmVmLCB7XG4gICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM6IHRydWUsXG4gICAgICByZXJlbmRlcjogem9vbUxldmVsc1ttYXBab29tTGV2ZWxdLFxuICAgICAgZmFjdG9yaWVzR3JvdXA6IG1vbml0b3JlZEZhY3Rvcmllc0dyb3VwLFxuICAgICAgd3d0cHNHcm91cDogd3d0cHNMYXllckdyb3VwLFxuICAgICAgY29sbGVjdG9yc0dyb3VwOiBjb2xsZWN0b3JzTGF5ZXJHcm91cCxcbiAgICAgIGZvckV2ZW50c1ZpZXc6IGZvckV2ZW50c1ZpZXcsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgbWVtb2l6ZWRVbm1vbml0b3JlZFBvaW50cyA9ICgpID0+IHtcbiAgICBjb25zdCB1bm1vbml0b3JlZFBvaW50cyA9IGZpbHRlclBvaW50cyhwb2ludHMsIGZhbHNlKTtcbiAgICByZXR1cm4gcmVuZGVyUG9pbnRNYXJrZXJzKHVubW9uaXRvcmVkUG9pbnRzLCBtYXBSZWYsIHtcbiAgICAgIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50czogdHJ1ZSxcbiAgICAgIHJlcmVuZGVyOiB6b29tTGV2ZWxzW21hcFpvb21MZXZlbF0sXG4gICAgICBmYWN0b3JpZXNHcm91cDogdW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cCxcbiAgICAgIHd3dHBzR3JvdXA6IHd3dHBzTGF5ZXJHcm91cCxcbiAgICAgIGNvbGxlY3RvcnNHcm91cDogY29sbGVjdG9yc0xheWVyR3JvdXAsXG4gICAgICBmb3JFdmVudHNWaWV3OiBmb3JFdmVudHNWaWV3LFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlckVkZ2VzID0gKGZpbHRlcmVkRWRnZXMsIG1hcFJlZiwgZWRnZXNDaGVja2JveCwgcHJvcHMpID0+XG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlc0NoZWNrYm94ICYmIChcbiAgICAgIDxFZGdlcyBlZGdlcz17ZmlsdGVyZWRFZGdlc30gbWFwPXttYXBSZWYuY3VycmVudH0gey4uLnByb3BzfSAvPlxuICAgICk7XG5cbiAgY29uc3QgbWVtb2l6ZWRFZGdlcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IG1vbml0b3JlZEVkZ2VzID0gZmlsdGVyRWRnZXMoZWRnZXMsIHBvaW50cywgdHJ1ZSk7XG4gICAgcmV0dXJuIHJlbmRlckVkZ2VzKG1vbml0b3JlZEVkZ2VzLCBtYXBSZWYsIGVkZ2VzQ2hlY2tib3gsIHtcbiAgICAgIEwsXG4gICAgICBwb2ludHMsXG4gICAgICBoaWRlRWRnZXMsXG4gICAgICBoaWRlQXJyb3dzOiB0cnVlLFxuICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzOiBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzLFxuICAgICAgZ3JvdXA6IG1vbml0b3JlZEVkZ2VzR3JvdXAsXG4gICAgfSk7XG4gIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50LCBtYXBab29tTGV2ZWxdKTtcblxuICBjb25zdCBtZW1vaXplZFVubW9uaXRvcmVkRWRnZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCB1bm1vbml0b3JlZEVkZ2VzID0gZmlsdGVyRWRnZXMoZWRnZXMsIHBvaW50cywgZmFsc2UpO1xuICAgIHJldHVybiByZW5kZXJFZGdlcyh1bm1vbml0b3JlZEVkZ2VzLCBtYXBSZWYsIGVkZ2VzQ2hlY2tib3gsIHtcbiAgICAgIEwsXG4gICAgICBwb2ludHMsXG4gICAgICBoaWRlRWRnZXMsXG4gICAgICBoaWRlQXJyb3dzOiB0cnVlLFxuICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzOiBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzLFxuICAgICAgZ3JvdXA6IHVubW9uaXRvcmVkRWRnZXNHcm91cCxcbiAgICAgIHNob3VsZG50RHJhdzogdW5tb25pdG9yZWRFZGdlc0dyb3VwLmdldExheWVycygpLmxlbmd0aCAhPT0gMCxcbiAgICB9KTtcbiAgfSwgW21hcFJlZi5jdXJyZW50LCBwb2ludHMsIGZvY3VzZWRFdmVudFByZXNlbnQsIG1hcFpvb21MZXZlbF0pO1xuXG4gIGNvbnN0IGhhbmRsZUVkZ2VzQ2hlY2tib3hDaGFuZ2UgPSAoaXNDaGVja2VkKSA9PiB7XG4gICAgc2V0RWRnZXNDaGVja2JveChpc0NoZWNrZWQpO1xuICB9O1xuXG4gIC8vIFRoaXMgdmFyaWFibGUgc3RvcmVzIHRoZSB6b29tIGxldmVscyB0aGUgZWRnZXMgYXJlIGRpc3BsYXllZFxuICAvLyBJdCBpcyB1c2VkIGluIHR3byBwbGFjZXMgaW4gdGhlIGNvZGUsIHNvIGl0IGlzIGJldHRlciB0byBzdG9yZSBpdCBpbiBvbmUgcGxhY2VcbiAgY29uc3QgZWRnZXNab29tTGV2ZWxzID0gWydTbWFsbCcsICdNZWRpdW0nLCAnTUxhcmdlJywgJ0xhcmdlJ107XG5cbiAgY29uc3QgaGFuZGxlUG9pbnRzQ2hlY2tib3hDaGFuZ2UgPSAoaXNDaGVja2VkKSA9PiB7XG4gICAgaWYgKG1hcFJlZi5jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICBsZXQgem9vbSA9IHpvb21MZXZlbHNbbWFwUmVmLmN1cnJlbnQuZ2V0Wm9vbSgpXTtcblxuICAgICAgaWYgKGlzQ2hlY2tlZCkge1xuICAgICAgICAvLyBIaWRlIHVubW9uaXRvcmVkIHBvaW50cyB3aGVuIFwic2hvdyBvbmx5IG1vbml0b3JlZFwiIGlzIGNoZWNrZWRcbiAgICAgICAgZmFjdG9yaWVzUGFyZW50R3JvdXAucmVtb3ZlTGF5ZXIodW5tb25pdG9yZWRGYWN0b3JpZXNHcm91cCk7XG4gICAgICAgIHVubW9uaXRvcmVkRWRnZXNHcm91cC5yZW1vdmVGcm9tKG1hcFJlZi5jdXJyZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNob3cgYWxsIHBvaW50cyB3aGVuIFwic2hvdyBvbmx5IG1vbml0b3JlZFwiIGlzIHVuY2hlY2tlZFxuICAgICAgICBmYWN0b3JpZXNQYXJlbnRHcm91cC5hZGRMYXllcih1bm1vbml0b3JlZEZhY3Rvcmllc0dyb3VwKTtcblxuICAgICAgICAvLyBTaG93IHVubW9uaXRvcmVkIGVkZ2VzIGlmIGF0IGFwcHJvcHJpYXRlIHpvb20gbGV2ZWxcbiAgICAgICAgaWYgKGVkZ2VzWm9vbUxldmVscy5pbmNsdWRlcyh6b29tKSkge1xuICAgICAgICAgIHVubW9uaXRvcmVkRWRnZXNHcm91cC5hZGRUbyhtYXBSZWYuY3VycmVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgdHJhY2tMYXllcmJveCA9ICgpID0+IHtcbiAgICBzZXR1cENoZWNrYm94TGlzdGVuZXIoJyNlZGdlcy1jaGVja2JveCcsIGhhbmRsZUVkZ2VzQ2hlY2tib3hDaGFuZ2UpO1xuICAgIHNldHVwQ2hlY2tib3hMaXN0ZW5lcihcbiAgICAgICcjbW9uaXRvcmVkLXBvaW50cy1jaGVja2JveCcsXG4gICAgICBoYW5kbGVQb2ludHNDaGVja2JveENoYW5nZSxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHpvb21SdWxlc0ZvckV2ZW50c1ZpZXcgPSAoKSA9PiB7XG4gICAgY29uc3QgcGF5bG9hZCA9IChcbiAgICAgIDw+XG4gICAgICAgIHttZW1vaXplZEVkZ2VzfVxuICAgICAgICB7bWVtb2l6ZWRVbm1vbml0b3JlZEVkZ2VzfVxuICAgICAgICB7bWVtb2l6ZWRVbm1vbml0b3JlZFBvaW50cygpfVxuICAgICAgICB7bWVtb2l6ZWRNb25pdG9yZWRQb2ludHMoKX1cbiAgICAgIDwvPlxuICAgICk7XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfTtcblxuICBjb25zdCB6b29tUnVsZXNGb3JEYXNoYWJvYXJkTWFwcyA9ICgpID0+IHtcbiAgICBsZXQgcGF5bG9hZCA9IChcbiAgICAgIDw+XG4gICAgICAgIHttZW1vaXplZFVubW9uaXRvcmVkUG9pbnRzKCl9XG4gICAgICAgIHttZW1vaXplZE1vbml0b3JlZFBvaW50cygpfVxuICAgICAgPC8+XG4gICAgKTtcblxuICAgIGlmIChlZGdlc1pvb21MZXZlbHMuaW5jbHVkZXMoem9vbUxldmVsc1ttYXBab29tTGV2ZWxdKSkge1xuICAgICAgcGF5bG9hZCA9IHpvb21SdWxlc0ZvckV2ZW50c1ZpZXcoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfTtcblxuICBjb25zdCBtZW1vaXplZFpvb21Db250cm9sID0gKCkgPT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSBmb3JFdmVudHNWaWV3XG4gICAgICA/IHpvb21SdWxlc0ZvckV2ZW50c1ZpZXcoKVxuICAgICAgOiB6b29tUnVsZXNGb3JEYXNoYWJvYXJkTWFwcygpO1xuXG4gICAgY29uc3QgY2hlY2tib3ggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxuICAgICAgJyNtb25pdG9yZWQtcG9pbnRzLWNoZWNrYm94JyxcbiAgICApIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgaWYgKGNoZWNrYm94KSB7XG4gICAgICBoYW5kbGVQb2ludHNDaGVja2JveENoYW5nZShjaGVja2JveC5jaGVja2VkKTtcbiAgICB9XG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3QgbWVtb2l6ZWRFdmVudCA9ICgpID0+IHtcbiAgICBpZiAoZm9jdXNlZEV2ZW50UHJlc2VudCkge1xuICAgICAgZm9jdXNlZEV2ZW50IS5mb2N1c2VkID0gZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICAgIGZvY3VzZWRFdmVudCEuaG92ZXJlZCA9ICFmb2N1c2VkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmIChob3ZlcmVkRXZlbnRQcmVzZW50KSB7XG4gICAgICBob3ZlcmVkRXZlbnQhLmhvdmVyZWQgPSBob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgICAgaG92ZXJlZEV2ZW50IS5mb2N1c2VkID0gIWhvdmVyZWRFdmVudFByZXNlbnQ7XG4gICAgfVxuXG4gICAgaWYgKCFob3ZlcmVkRXZlbnRQcmVzZW50ICYmICFmb2N1c2VkRXZlbnRQcmVzZW50KSByZXR1cm4gPD48Lz47XG4gICAgcmV0dXJuIChcbiAgICAgIDxFdmVudFxuICAgICAgICBldmVudD17Zm9jdXNlZEV2ZW50ISB8fCBob3ZlcmVkRXZlbnQhfVxuICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgZWRnZXM9e2VkZ2VzIX1cbiAgICAgICAgcG9pbnRzPXtwb2ludHMhfVxuICAgICAgICBpbmNsdWRlTmV0d29yaz17IWhvdmVyZWRFdmVudFByZXNlbnR9XG4gICAgICAvPlxuICAgICk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIGNvbGxlY3RvcnNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoY29sbGVjdG9yc0xheWVyR3JvdXApO1xuICAgIH07XG4gIH0sIFtmb2N1c2VkRXZlbnQsIGhvdmVyZWRFdmVudCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBpZiAoZm9yRXZlbnRzVmlldyAmJiBtYXBSZWYuY3VycmVudCkge1xuICAgICAgICBkaXNwYXRjaChjbGVhclBvaW50cygpKTtcbiAgICAgICAgZGlzcGF0Y2goY2xlYXJBcmVhcygpKTtcbiAgICAgICAgd3d0cHNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAgIGFyZWFzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBtb25pdG9yZWRFZGdlc0dyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAgIGNvbGxlY3RvcnNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAgIHVubW9uaXRvcmVkRWRnZXNHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICBtb25pdG9yZWRGYWN0b3JpZXNHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgICB1bm1vbml0b3JlZEZhY3Rvcmllc0dyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAgIGZhY3Rvcmllc1BhcmVudEdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZUxheWVyKHVubW9uaXRvcmVkRWRnZXNHcm91cCk7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZUxheWVyKG1vbml0b3JlZEVkZ2VzR3JvdXApO1xuICAgICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmVMYXllcih3d3Rwc0xheWVyR3JvdXApO1xuICAgICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmVMYXllcihjb2xsZWN0b3JzTGF5ZXJHcm91cCk7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZUxheWVyKGFyZWFzTGF5ZXJHcm91cCk7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZUxheWVyKGZhY3Rvcmllc1BhcmVudEdyb3VwKTtcblxuICAgICAgICBtYXBSZWYuY3VycmVudC5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICAgICAgaWYgKGxheWVyIGluc3RhbmNlb2YgTC5UaWxlTGF5ZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgbWFwUmVmLmN1cnJlbnQucmVtb3ZlTGF5ZXIobGF5ZXIpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgaW5pdGlhbGl6ZU1hcChcbiAgICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgICBtYXBCb3hTdHlsZSxcbiAgICAgICAgbGVhZmxldE1hcC5zYXRlbGxpdGUsXG4gICAgICAgIG1hcFJlZixcbiAgICAgICAgZGlzcGF0Y2gsXG4gICAgICAgIGlzVmFsaWRBcmVhLFxuICAgICAgICBhcmVhVG9DZW50ZXJCeSxcbiAgICAgICAgc2V0TWFwWm9vbUxldmVsLFxuICAgICAgICBmb3JXV1RQRGFzaGJvYXJkLFxuICAgICAgICB0cnVlLFxuICAgICAgICBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0TWFwWm9vbUxldmVsKG1hcFJlZi5jdXJyZW50LmdldFpvb20oKSk7XG4gICAgICBpZiAoIWFyZWFUb0NlbnRlckJ5KSB7XG4gICAgICAgIGFyZWFUb0NlbnRlckJ5ID0gYXJlYXMubWFwKChhcmVhKSA9PiBhcmVhLnNoYXBlX2RhdGEpLmZsYXQoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFmb3JFdmVudHNWaWV3IHx8ICFmb2N1c2VkRXZlbnQpIHtcbiAgICAgICAgYXJlYUZvY3VzTG9naWMobWFwUmVmLCBpc1ZhbGlkQXJlYSwgYXJlYVRvQ2VudGVyQnkpO1xuICAgICAgfVxuXG4gICAgICB0cmFja0xheWVyYm94KCk7XG4gICAgfVxuICB9LCBbYXJlYVRvQ2VudGVyQnldKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBjbGlja2VkID0gZmFsc2U7XG5cbiAgICBtYXBSZWYuY3VycmVudD8uZWFjaExheWVyKChsYXllcikgPT4ge1xuICAgICAgaWYgKGNsaWNrZWQpIHJldHVybjtcblxuICAgICAgaWYgKFxuICAgICAgICBsYXllcj8ua2FuZG9fb2JqZWN0X2lkID09PSBzZWxlY3RlZEl0ZW0gJiZcbiAgICAgICAgbGF5ZXIuaXNQb3B1cE9wZW4oKSA9PT0gZmFsc2VcbiAgICAgICkge1xuICAgICAgICBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xuICAgICAgICAgIGxheWVyLmZpcmUoJ2NsaWNrJyk7XG4gICAgICAgIH0gZWxzZSBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLlBvbHlnb24pIHtcbiAgICAgICAgICBsYXllci5maXJlKCdjbGljay1ldmVudCcpO1xuICAgICAgICB9XG4gICAgICAgIGNsaWNrZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbc2VsZWN0ZWRJdGVtXSk7XG5cbiAgY29uc3QgcmVuZGVyQXJlYXMgPSAoKSA9PiB7XG4gICAgaWYgKCFzaG91bGRMb2FkTWFwT2JqZWN0cyhnbG9iYWxfZGF0YSwgbWFwUmVmLCBlZGdlcywgcG9pbnRzKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxBcmVhUG9seWdvbnNcbiAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICBMPXtMfVxuICAgICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICAgIG1hcFpvb209e21hcFpvb21MZXZlbH1cbiAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICBmZWF0dXJlR3JvdXA9e2FyZWFzTGF5ZXJHcm91cH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwia2QtbWFwLWNvbnRhaW5lclwiIHN0eWxlPXtzdHlsZX0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YCBtYXAtY29udGFpbmVyICR7XG4gICAgICAgICAgZ2xvYmFsX2RhdGEuc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnbWFwLWNvbnRhaW5lci0tc2lkZW5hdi1jb2xsYXBzZWQnXG4gICAgICAgIH1gfVxuICAgICAgPlxuICAgICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgICA8ZGl2IGlkPVwibWFwXCI+XG4gICAgICAgICAgICB7cmVuZGVyQXJlYXMoKX1cbiAgICAgICAgICAgIHtzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzKFxuICAgICAgICAgICAgICBlZGdlcyxcbiAgICAgICAgICAgICAgYXJlYXMsXG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhLFxuICAgICAgICAgICAgICBtYXBSZWYsXG4gICAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICAgICkgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHttZW1vaXplZEV2ZW50KCl9XG4gICAgICAgICAgICAgICAge21lbW9pemVkWm9vbUNvbnRyb2woKX1cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7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
|
package/lib/macros/getVersion.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var packageJsonVersion = "1.2.414-alpha.
|
|
3
|
+
var packageJsonVersion = "1.2.414-alpha.4";
|
|
4
4
|
if (typeof packageJsonVersion === 'string') {
|
|
5
5
|
// eslint-disable-next-line no-console
|
|
6
6
|
console.log("%c Kando UI %c v".concat(packageJsonVersion, " "), 'font-size: 15px; background-color: #fff; color: #e20f53;', 'font-weight: bold; font-size: 15px; background-color: #e20f53; color: #fff;', "with NODE_ENV=".concat(process.env.NODE_ENV));
|
|
@@ -137,7 +137,7 @@ var WWTPMap = function WWTPMap(props) {
|
|
|
137
137
|
}
|
|
138
138
|
};
|
|
139
139
|
var showList = (0, _react.useMemo)(function () {
|
|
140
|
-
if (areas_data.isFetching || points_data.isFetching) return null;
|
|
140
|
+
if (areas_data.isFetching || points_data.isFetching) return /*#__PURE__*/_react.default.createElement(_Loader.Loader, null);
|
|
141
141
|
return /*#__PURE__*/_react.default.createElement(_List.List, {
|
|
142
142
|
global_data: global_data,
|
|
143
143
|
WWTPInfo: WWTPInfo,
|
|
@@ -173,4 +173,4 @@ var Container = _styledComponents.default.div.withConfig({
|
|
|
173
173
|
})(["width:100vw;.map-column{z-index:0;}.kd-map-container{height:calc(100vh - 134px);width:100%;@media (max-width:1250px){height:calc(100vh - 125px);}#map{height:100%;width:100%;*,*:focus,*:hover{outline:none;}.leaflet-popup-close-button{font-size:x-large;}}}"]);
|
|
174
174
|
var _default = WWTPMap;
|
|
175
175
|
exports.default = _default;
|
|
176
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl91c2VRdWVyeVVSTCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX0xpc3RDb250ZXh0IiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0NhcGFjaXR5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJXV1RQTWFwIiwicHJvcHMiLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiaXNNYXBUYWIiLCJfdXNlUGFyYW1zIiwidXNlUGFyYW1zIiwiaWQiLCJhcmVhSUQiLCJzaXRlSUQiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsImVkZ2VzX2RhdGEiLCJ3d3RwX2Rhc2hib2FyZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInBvaW50cyIsInNldFBvaW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYXJlYXMiLCJzZXRBcmVhcyIsIl91c2VTdGF0ZTUiLCJwb2ludCIsImFyZWEiLCJfdXNlU3RhdGU2IiwiV1dUUEluZm8iLCJzZXRXV1RQSW5mbyIsImRhdGFFeGlzdHMiLCJuZXdBcmVhcyIsImxlbmd0aCIsIml0ZW1zIiwidXNlRWZmZWN0IiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImRhc2hib2FyZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJvYmplY3QiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2giLCJ0eXBlIiwiaXNfdmlydHVhbCIsInZhbGlkT2JqZWN0IiwidG9TdHJpbmciLCJhcmVhX2lkIiwicGFyc2VJbnQiLCJzaG93RXh0cmEiLCJmb2N1c2VkQXJlYSIsImZldGNoQ2FwYWNpdHkiLCJ0aGVuIiwicmVzcG9uc2UiLCJzZXRGb2N1c2VkSXRlbSIsImRhdGEiLCJzZXRGb2N1c2VkQXJlYSIsInV0aWxpdHlEaXJlY3RzIiwic29ydEFyZWFzIiwic2V0VGltZW91dCIsInVuZGVmaW5lZCIsIm1hcCIsImZvY3VzTWFwIiwiZ2V0QXJlYVRvQ2VudGVyQnkiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2gyIiwic2hhcGVfZGF0YSIsIl9SZWR1eFN0YXRlJHd3dHBfZGFzaDMiLCJzaG93TGlzdCIsInVzZU1lbW8iLCJpc0ZldGNoaW5nIiwiY3JlYXRlRWxlbWVudCIsIkxpc3QiLCJMb2FkZXIiLCJTZWxlY3RlZEl0ZW1Qcm92aWRlciIsIkNvbnRhaW5lciIsIlJvdyIsImNsYXNzTmFtZSIsIkNvbCIsInhzIiwic20iLCJNYXAiLCJlZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImZvckV2ZW50c1ZpZXciLCJmb3JXV1RQRGFzaGJvYXJkIiwiYXJlYVRvQ2VudGVyQnkiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV1dUUE1hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvTWFwJztcbmltcG9ydCB7IGZldGNoQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnLi9MaXN0JztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IGZvY3VzTWFwLCBpbml0aWFsaXplV1dUUERhdGEsIHNvcnRBcmVhcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi9Mb2FkZXInO1xuaW1wb3J0IHsgdXNlUGFyYW1zIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnLi4vLi4vaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgc2V0Rm9jdXNlZEFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBTZWxlY3RlZEl0ZW1Qcm92aWRlciB9IGZyb20gJy4vTGlzdENvbnRleHQnO1xuaW1wb3J0IHsgUm93LCBDb2wgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgZmV0Y2hDYXBhY2l0eSwgc2V0Rm9jdXNlZEl0ZW0gfSBmcm9tICcuL0NhcGFjaXR5JztcblxuZXhwb3J0IGludGVyZmFjZSBDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzIHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG59XG5jb25zdCBXV1RQTWFwOiBSZWFjdC5GQzxDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCBzZWFyY2hRdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IGlzTWFwVGFiID0gc2VhcmNoUXVlcnkuZ2V0KCd2aWV3JykgPT09ICdtYXAnO1xuICBsZXQgeyBpZCwgYXJlYUlELCBzaXRlSUQgfSA9IHVzZVBhcmFtcygpO1xuICBpZCA9IGlkIHx8IGFyZWFJRCB8fCBzaXRlSUQ7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIGdsb2JhbF9kYXRhLCBwb2ludHNfZGF0YSwgZWRnZXNfZGF0YSwgd3d0cF9kYXNoYm9hcmQgfSA9XG4gICAgUmVkdXhTdGF0ZTtcbiAgY29uc3QgW3BvaW50cywgc2V0UG9pbnRzXSA9IHVzZVN0YXRlPElQb2ludFtdIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFthcmVhcywgc2V0QXJlYXNdID0gdXNlU3RhdGU8SUFyZWFbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbV1dUUEluZm8sIHNldFdXVFBJbmZvXSA9IHVzZVN0YXRlPHtcbiAgICBwb2ludDogSVBvaW50IHwgbnVsbDtcbiAgICBhcmVhOiBJQXJlYSB8IG51bGw7XG4gIH0+KHsgcG9pbnQ6IG51bGwsIGFyZWE6IG51bGwgfSk7XG4gIGxldCBkYXRhRXhpc3RzID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCAhPT0gMCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwIHx8XG4gICAgICBlZGdlc19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMFxuICAgICk7XG4gIH07XG5cbiAgLy8gdXNlRWZmZWN0KCgpID0+IHtcbiAgLy8gICBpZiAoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkge1xuICAvLyAgICAgY29uc3QgcGVyaW9kID1cbiAgLy8gICAgICAgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kWydyYW5nZSddIHx8IFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZDtcbiAgLy8gICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCkpO1xuICAvLyAgICAgZGlzcGF0Y2goZmV0Y2hFZGdlcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gIC8vICAgICBkaXNwYXRjaChmZXRjaEFyZWFzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCwgdHJ1ZSkpO1xuICAvLyAgIH1cbiAgLy8gfSwgW1JlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaW5pdGlhbGl6ZVdXVFBEYXRhKHtcbiAgICAgIGFyZWFzX2RhdGEsXG4gICAgICBwb2ludHNfZGF0YSxcbiAgICAgIHNldFBvaW50cyxcbiAgICAgIHNldEFyZWFzLFxuICAgICAgc2V0V1dUUEluZm8sXG4gICAgICBkYXRhRXhpc3RzLFxuICAgICAgaWQsXG4gICAgfSk7XG4gIH0sIFthcmVhc19kYXRhLCBwb2ludHNfZGF0YV0pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgc2V0V1dUUEluZm8oY2FsY3VsYXRlV1dUUEluZm8oeyBpZCwgcG9pbnRzX2RhdGEsIGFyZWFzX2RhdGEgfSkpO1xuICAvLyB9LCBbaWRdKTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGZvY3VzTWFwKFdXVFBJbmZvLmFyZWEgfHwgV1dUUEluZm8ucG9pbnQsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIC8vIH0sIFtXV1RQSW5mb10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIGNvbnN0IHBlcmlvZCA9XG4gICAgICAgIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZFsncmFuZ2UnXSB8fCBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2Q7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hBcmVhcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QsIHRydWUpKTtcbiAgICB9XG5cbiAgICAvLyByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAvLyAgIHNldFBvaW50cyhudWxsKTtcbiAgICAvLyAgIHNldEFyZWFzKG51bGwpO1xuICAgIC8vICAgc2V0V1dUUEluZm8oeyBwb2ludDogbnVsbCwgYXJlYTogbnVsbCB9KTtcbiAgICAvLyB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBvYmplY3QgPSBXV1RQSW5mby5hcmVhIHx8IFdXVFBJbmZvLnBvaW50O1xuXG4gICAgaWYgKGlzTWFwVGFiICYmIG9iamVjdCkge1xuICAgICAgY29uc3QgdHlwZSA9IFdXVFBJbmZvLmFyZWFcbiAgICAgICAgPyBvYmplY3QuaXNfdmlydHVhbCA9PT0gdHJ1ZVxuICAgICAgICAgID8gJ3ZhcmVhJ1xuICAgICAgICAgIDogJ2FyZWEnXG4gICAgICAgIDogJ3NpdGUnO1xuXG4gICAgICBjb25zdCB2YWxpZE9iamVjdCA9XG4gICAgICAgIHR5cGUgPT09ICdzaXRlJ1xuICAgICAgICAgID8gb2JqZWN0LmlkLnRvU3RyaW5nKCkgPT09IGlkXG4gICAgICAgICAgOiBvYmplY3QuYXJlYV9pZCA9PT0gcGFyc2VJbnQoaWQpO1xuXG4gICAgICBjb25zdCBzaG93RXh0cmEgPSBvYmplY3QuaWQgPT09IFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LmlkO1xuXG4gICAgICBpZiAodmFsaWRPYmplY3QpIHtcbiAgICAgICAgZmV0Y2hDYXBhY2l0eSh0eXBlLCBpZCwgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkudGhlbihcbiAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHNldEZvY3VzZWRJdGVtKFxuICAgICAgICAgICAgICBvYmplY3QsXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICAgICAgYXJlYXMsXG4gICAgICAgICAgICAgIGRpc3BhdGNoLFxuICAgICAgICAgICAgICBzZXRGb2N1c2VkQXJlYSxcbiAgICAgICAgICAgICAgc2hvd0V4dHJhLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB1dGlsaXR5RGlyZWN0cyA9IHNvcnRBcmVhcyhhcmVhcyk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXRGb2N1c2VkSXRlbShcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgdXRpbGl0eURpcmVjdHMsXG4gICAgICAgICAgZGlzcGF0Y2gsXG4gICAgICAgICAgc2V0Rm9jdXNlZEFyZWEsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKTtcbiAgICAgIH0sIDApO1xuICAgIH1cbiAgICAvLyBmb2N1c01hcChvYmplY3QsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIH0sIFt3d3RwX2Rhc2hib2FyZC5tYXAsIFdXVFBJbmZvXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIVJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWEgfHwgIXd3dHBfZGFzaGJvYXJkLm1hcCkgcmV0dXJuO1xuXG4gICAgZm9jdXNNYXAoUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYSwgd3d0cF9kYXNoYm9hcmQubWFwKTtcbiAgfSwgW1JlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWFdKTtcblxuICBjb25zdCBnZXRBcmVhVG9DZW50ZXJCeSA9ICgpID0+IHtcbiAgICBpZiAoUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYT8uc2hhcGVfZGF0YSkge1xuICAgICAgcmV0dXJuIFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LnNoYXBlX2RhdGE7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHNob3dMaXN0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGFyZWFzX2RhdGEuaXNGZXRjaGluZyB8fCBwb2ludHNfZGF0YS5pc0ZldGNoaW5nKSByZXR1cm4gbnVsbDtcblxuICAgIHJldHVybiAoXG4gICAgICA8TGlzdCBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9IFdXVFBJbmZvPXtXV1RQSW5mb30gZGlzcGF0Y2g9e2Rpc3BhdGNofSAvPlxuICAgICk7XG4gIH0sIFthcmVhc19kYXRhLCBwb2ludHNfZGF0YSwgV1dUUEluZm9dKTtcblxuICBpZiAoIWlzTWFwVGFiKSByZXR1cm4gbnVsbDtcbiAgaWYgKCFkYXRhRXhpc3RzKCkgfHwgIXBvaW50cyB8fCAhYXJlYXMpIHJldHVybiA8TG9hZGVyIC8+O1xuICByZXR1cm4gKFxuICAgIDxTZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgICAgIDxDb250YWluZXIgey4uLnByb3BzfT5cbiAgICAgICAgPFJvdyBjbGFzc05hbWU9XCJuby1ndXR0ZXJzXCI+XG4gICAgICAgICAgPENvbCB4cz1cImF1dG9cIiBzbT17NH0gY2xhc3NOYW1lPVwiZC1ub25lIGQtc20tZmxleFwiPlxuICAgICAgICAgICAge3Nob3dMaXN0fVxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgY2xhc3NOYW1lPVwibWFwLWNvbHVtblwiIHhzPXsxMn0gc209ezh9PlxuICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGVkZ2VzPXtlZGdlc19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e3RydWV9XG4gICAgICAgICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICAgICAgICBmb3JXV1RQRGFzaGJvYXJkPXt0cnVlfVxuICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17Z2V0QXJlYVRvQ2VudGVyQnkoKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9TZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDB2dztcblxuICAubWFwLWNvbHVtbiB7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC5rZC1tYXAtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMzRweCk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjVweCk7XG4gICAgfVxuXG4gICAgI21hcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgKixcbiAgICAgICo6Zm9jdXMsXG4gICAgICAqOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiB4LWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgV1dUUE1hcDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLEtBQUEsR0FBQVAsT0FBQTtBQUdBLElBQUFRLE1BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLE9BQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGVBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQVosT0FBQTtBQUNBLElBQUFhLG1CQUFBLEdBQUFiLE9BQUE7QUFDQSxJQUFBYyxZQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSxlQUFBLEdBQUFmLE9BQUE7QUFDQSxJQUFBZ0IsU0FBQSxHQUFBaEIsT0FBQTtBQUEyRCxTQUFBaUIseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxP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
|
|
176
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3RSZWR1eCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9NYXAiLCJfYWN0aW9ucyIsIl9hY3Rpb25zMiIsIl9hY3Rpb25zMyIsIl9MaXN0IiwiX3V0aWxzIiwiX0xvYWRlciIsIl9yZWFjdFJvdXRlckRvbSIsIl91c2VRdWVyeVVSTCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfV1dUUERhc2hib2FyZFNsaWNlIiwiX0xpc3RDb250ZXh0IiwiX3JlYWN0Qm9vdHN0cmFwIiwiX0NhcGFjaXR5IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJXV1RQTWFwIiwicHJvcHMiLCJzZWFyY2hRdWVyeSIsInVzZVF1ZXJ5VVJMIiwiaXNNYXBUYWIiLCJfdXNlUGFyYW1zIiwidXNlUGFyYW1zIiwiaWQiLCJhcmVhSUQiLCJzaXRlSUQiLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJhcmVhc19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJwb2ludHNfZGF0YSIsImVkZ2VzX2RhdGEiLCJ3d3RwX2Rhc2hib2FyZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInBvaW50cyIsInNldFBvaW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiYXJlYXMiLCJzZXRBcmVhcyIsIl91c2VTdGF0ZTUiLCJwb2ludCIsImFyZWEiLCJfdXNlU3RhdGU2IiwiV1dUUEluZm8iLCJzZXRXV1RQSW5mbyIsImRhdGFFeGlzdHMiLCJuZXdBcmVhcyIsImxlbmd0aCIsIml0ZW1zIiwidXNlRWZmZWN0IiwiaW5pdGlhbGl6ZVdXVFBEYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImRhc2hib2FyZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJvYmplY3QiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2giLCJ0eXBlIiwiaXNfdmlydHVhbCIsInZhbGlkT2JqZWN0IiwidG9TdHJpbmciLCJhcmVhX2lkIiwicGFyc2VJbnQiLCJzaG93RXh0cmEiLCJmb2N1c2VkQXJlYSIsImZldGNoQ2FwYWNpdHkiLCJ0aGVuIiwicmVzcG9uc2UiLCJzZXRGb2N1c2VkSXRlbSIsImRhdGEiLCJzZXRGb2N1c2VkQXJlYSIsInV0aWxpdHlEaXJlY3RzIiwic29ydEFyZWFzIiwic2V0VGltZW91dCIsInVuZGVmaW5lZCIsIm1hcCIsImZvY3VzTWFwIiwiZ2V0QXJlYVRvQ2VudGVyQnkiLCJfUmVkdXhTdGF0ZSR3d3RwX2Rhc2gyIiwic2hhcGVfZGF0YSIsIl9SZWR1eFN0YXRlJHd3dHBfZGFzaDMiLCJzaG93TGlzdCIsInVzZU1lbW8iLCJpc0ZldGNoaW5nIiwiY3JlYXRlRWxlbWVudCIsIkxvYWRlciIsIkxpc3QiLCJTZWxlY3RlZEl0ZW1Qcm92aWRlciIsIkNvbnRhaW5lciIsIlJvdyIsImNsYXNzTmFtZSIsIkNvbCIsInhzIiwic20iLCJNYXAiLCJlZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImZvckV2ZW50c1ZpZXciLCJmb3JXV1RQRGFzaGJvYXJkIiwiYXJlYVRvQ2VudGVyQnkiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV1dUUE1hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvTWFwJztcbmltcG9ydCB7IGZldGNoQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBMaXN0IH0gZnJvbSAnLi9MaXN0JztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJy4uLy4uL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnLi4vLi4vc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IGZvY3VzTWFwLCBpbml0aWFsaXplV1dUUERhdGEsIHNvcnRBcmVhcyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi9Mb2FkZXInO1xuaW1wb3J0IHsgdXNlUGFyYW1zIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnLi4vLi4vaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgc2V0Rm9jdXNlZEFyZWEgfSBmcm9tICcuLi8uLi9zdG9yZS9XV1RQRGFzaGJvYXJkL1dXVFBEYXNoYm9hcmRTbGljZSc7XG5pbXBvcnQgeyBTZWxlY3RlZEl0ZW1Qcm92aWRlciB9IGZyb20gJy4vTGlzdENvbnRleHQnO1xuaW1wb3J0IHsgUm93LCBDb2wgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgZmV0Y2hDYXBhY2l0eSwgc2V0Rm9jdXNlZEl0ZW0gfSBmcm9tICcuL0NhcGFjaXR5JztcblxuZXhwb3J0IGludGVyZmFjZSBDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzIHtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG59XG5jb25zdCBXV1RQTWFwOiBSZWFjdC5GQzxDYXBhY2l0eU1hcENvbnRhaW5lclByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCBzZWFyY2hRdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IGlzTWFwVGFiID0gc2VhcmNoUXVlcnkuZ2V0KCd2aWV3JykgPT09ICdtYXAnO1xuICBsZXQgeyBpZCwgYXJlYUlELCBzaXRlSUQgfSA9IHVzZVBhcmFtcygpO1xuICBpZCA9IGlkIHx8IGFyZWFJRCB8fCBzaXRlSUQ7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIGdsb2JhbF9kYXRhLCBwb2ludHNfZGF0YSwgZWRnZXNfZGF0YSwgd3d0cF9kYXNoYm9hcmQgfSA9XG4gICAgUmVkdXhTdGF0ZTtcbiAgY29uc3QgW3BvaW50cywgc2V0UG9pbnRzXSA9IHVzZVN0YXRlPElQb2ludFtdIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFthcmVhcywgc2V0QXJlYXNdID0gdXNlU3RhdGU8SUFyZWFbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbV1dUUEluZm8sIHNldFdXVFBJbmZvXSA9IHVzZVN0YXRlPHtcbiAgICBwb2ludDogSVBvaW50IHwgbnVsbDtcbiAgICBhcmVhOiBJQXJlYSB8IG51bGw7XG4gIH0+KHsgcG9pbnQ6IG51bGwsIGFyZWE6IG51bGwgfSk7XG4gIGxldCBkYXRhRXhpc3RzID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCAhPT0gMCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwIHx8XG4gICAgICBlZGdlc19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMFxuICAgICk7XG4gIH07XG5cbiAgLy8gdXNlRWZmZWN0KCgpID0+IHtcbiAgLy8gICBpZiAoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkge1xuICAvLyAgICAgY29uc3QgcGVyaW9kID1cbiAgLy8gICAgICAgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kWydyYW5nZSddIHx8IFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZDtcbiAgLy8gICAgIGRpc3BhdGNoKGZldGNoUG9pbnRzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCkpO1xuICAvLyAgICAgZGlzcGF0Y2goZmV0Y2hFZGdlcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSk7XG4gIC8vICAgICBkaXNwYXRjaChmZXRjaEFyZWFzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIHBlcmlvZCwgdHJ1ZSkpO1xuICAvLyAgIH1cbiAgLy8gfSwgW1JlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaW5pdGlhbGl6ZVdXVFBEYXRhKHtcbiAgICAgIGFyZWFzX2RhdGEsXG4gICAgICBwb2ludHNfZGF0YSxcbiAgICAgIHNldFBvaW50cyxcbiAgICAgIHNldEFyZWFzLFxuICAgICAgc2V0V1dUUEluZm8sXG4gICAgICBkYXRhRXhpc3RzLFxuICAgICAgaWQsXG4gICAgfSk7XG4gIH0sIFthcmVhc19kYXRhLCBwb2ludHNfZGF0YV0pO1xuXG4gIC8vIHVzZUVmZmVjdCgoKSA9PiB7XG4gIC8vICAgc2V0V1dUUEluZm8oY2FsY3VsYXRlV1dUUEluZm8oeyBpZCwgcG9pbnRzX2RhdGEsIGFyZWFzX2RhdGEgfSkpO1xuICAvLyB9LCBbaWRdKTtcblxuICAvLyB1c2VFZmZlY3QoKCkgPT4ge1xuICAvLyAgIGZvY3VzTWFwKFdXVFBJbmZvLmFyZWEgfHwgV1dUUEluZm8ucG9pbnQsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIC8vIH0sIFtXV1RQSW5mb10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpIHtcbiAgICAgIGNvbnN0IHBlcmlvZCA9XG4gICAgICAgIFJlZHV4U3RhdGUuZGFzaGJvYXJkLnBlcmlvZFsncmFuZ2UnXSB8fCBSZWR1eFN0YXRlLmRhc2hib2FyZC5wZXJpb2Q7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hBcmVhcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QsIHRydWUpKTtcbiAgICB9XG5cbiAgICAvLyByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAvLyAgIHNldFBvaW50cyhudWxsKTtcbiAgICAvLyAgIHNldEFyZWFzKG51bGwpO1xuICAgIC8vICAgc2V0V1dUUEluZm8oeyBwb2ludDogbnVsbCwgYXJlYTogbnVsbCB9KTtcbiAgICAvLyB9O1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgUmVkdXhTdGF0ZS5kYXNoYm9hcmQucGVyaW9kXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBvYmplY3QgPSBXV1RQSW5mby5hcmVhIHx8IFdXVFBJbmZvLnBvaW50O1xuXG4gICAgaWYgKGlzTWFwVGFiICYmIG9iamVjdCkge1xuICAgICAgY29uc3QgdHlwZSA9IFdXVFBJbmZvLmFyZWFcbiAgICAgICAgPyBvYmplY3QuaXNfdmlydHVhbCA9PT0gdHJ1ZVxuICAgICAgICAgID8gJ3ZhcmVhJ1xuICAgICAgICAgIDogJ2FyZWEnXG4gICAgICAgIDogJ3NpdGUnO1xuXG4gICAgICBjb25zdCB2YWxpZE9iamVjdCA9XG4gICAgICAgIHR5cGUgPT09ICdzaXRlJ1xuICAgICAgICAgID8gb2JqZWN0LmlkLnRvU3RyaW5nKCkgPT09IGlkXG4gICAgICAgICAgOiBvYmplY3QuYXJlYV9pZCA9PT0gcGFyc2VJbnQoaWQpO1xuXG4gICAgICBjb25zdCBzaG93RXh0cmEgPSBvYmplY3QuaWQgPT09IFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LmlkO1xuXG4gICAgICBpZiAodmFsaWRPYmplY3QpIHtcbiAgICAgICAgZmV0Y2hDYXBhY2l0eSh0eXBlLCBpZCwgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkudGhlbihcbiAgICAgICAgICAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHNldEZvY3VzZWRJdGVtKFxuICAgICAgICAgICAgICBvYmplY3QsXG4gICAgICAgICAgICAgIHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICAgIHBvaW50cyxcbiAgICAgICAgICAgICAgYXJlYXMsXG4gICAgICAgICAgICAgIGRpc3BhdGNoLFxuICAgICAgICAgICAgICBzZXRGb2N1c2VkQXJlYSxcbiAgICAgICAgICAgICAgc2hvd0V4dHJhLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB1dGlsaXR5RGlyZWN0cyA9IHNvcnRBcmVhcyhhcmVhcyk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXRGb2N1c2VkSXRlbShcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgbnVsbCxcbiAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgdXRpbGl0eURpcmVjdHMsXG4gICAgICAgICAgZGlzcGF0Y2gsXG4gICAgICAgICAgc2V0Rm9jdXNlZEFyZWEsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKTtcbiAgICAgIH0sIDApO1xuICAgIH1cbiAgICAvLyBmb2N1c01hcChvYmplY3QsIHd3dHBfZGFzaGJvYXJkLm1hcCk7XG4gIH0sIFt3d3RwX2Rhc2hib2FyZC5tYXAsIFdXVFBJbmZvXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIVJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWEgfHwgIXd3dHBfZGFzaGJvYXJkLm1hcCkgcmV0dXJuO1xuXG4gICAgZm9jdXNNYXAoUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYSwgd3d0cF9kYXNoYm9hcmQubWFwKTtcbiAgfSwgW1JlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWFdKTtcblxuICBjb25zdCBnZXRBcmVhVG9DZW50ZXJCeSA9ICgpID0+IHtcbiAgICBpZiAoUmVkdXhTdGF0ZS53d3RwX2Rhc2hib2FyZC5mb2N1c2VkQXJlYT8uc2hhcGVfZGF0YSkge1xuICAgICAgcmV0dXJuIFJlZHV4U3RhdGUud3d0cF9kYXNoYm9hcmQuZm9jdXNlZEFyZWE/LnNoYXBlX2RhdGE7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHNob3dMaXN0ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGFyZWFzX2RhdGEuaXNGZXRjaGluZyB8fCBwb2ludHNfZGF0YS5pc0ZldGNoaW5nKSByZXR1cm4gPExvYWRlciAvPjtcblxuICAgIHJldHVybiAoXG4gICAgICA8TGlzdCBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9IFdXVFBJbmZvPXtXV1RQSW5mb30gZGlzcGF0Y2g9e2Rpc3BhdGNofSAvPlxuICAgICk7XG4gIH0sIFthcmVhc19kYXRhLCBwb2ludHNfZGF0YSwgV1dUUEluZm9dKTtcblxuICBpZiAoIWlzTWFwVGFiKSByZXR1cm4gbnVsbDtcbiAgaWYgKCFkYXRhRXhpc3RzKCkgfHwgIXBvaW50cyB8fCAhYXJlYXMpIHJldHVybiA8TG9hZGVyIC8+O1xuICByZXR1cm4gKFxuICAgIDxTZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgICAgIDxDb250YWluZXIgey4uLnByb3BzfT5cbiAgICAgICAgPFJvdyBjbGFzc05hbWU9XCJuby1ndXR0ZXJzXCI+XG4gICAgICAgICAgPENvbCB4cz1cImF1dG9cIiBzbT17NH0gY2xhc3NOYW1lPVwiZC1ub25lIGQtc20tZmxleFwiPlxuICAgICAgICAgICAge3Nob3dMaXN0fVxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgY2xhc3NOYW1lPVwibWFwLWNvbHVtblwiIHhzPXsxMn0gc209ezh9PlxuICAgICAgICAgICAgPE1hcFxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGVkZ2VzPXtlZGdlc19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e3RydWV9XG4gICAgICAgICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICAgICAgICBmb3JXV1RQRGFzaGJvYXJkPXt0cnVlfVxuICAgICAgICAgICAgICBhcmVhVG9DZW50ZXJCeT17Z2V0QXJlYVRvQ2VudGVyQnkoKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9TZWxlY3RlZEl0ZW1Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDB2dztcblxuICAubWFwLWNvbHVtbiB7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC5rZC1tYXAtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMzRweCk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjVweCk7XG4gICAgfVxuXG4gICAgI21hcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgKixcbiAgICAgICo6Zm9jdXMsXG4gICAgICAqOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiB4LWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgV1dUUE1hcDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFNBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLEtBQUEsR0FBQVAsT0FBQTtBQUdBLElBQUFRLE1BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLE9BQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGVBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQVosT0FBQTtBQUNBLElBQUFhLG1CQUFBLEdBQUFiLE9BQUE7QUFDQSxJQUFBYyxZQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSxlQUFBLEdBQUFmLE9BQUE7QUFDQSxJQUFBZ0IsU0FBQSxHQUFBaEIsT0FBQTtBQUEyRCxTQUFBaUIseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxn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
|
|
@@ -118,8 +118,10 @@ var EventsMapContainer = function EventsMapContainer(props) {
|
|
|
118
118
|
dispatch((0, _actions3.fetchPoints)(global_data.waterAuthorityId, period));
|
|
119
119
|
dispatch((0, _actions2.fetchEdges)(global_data.waterAuthorityId));
|
|
120
120
|
dispatch((0, _actions.fetchAreas)(global_data.waterAuthorityId, period, true));
|
|
121
|
-
dispatch((0, _actions4.closeFloatingGraph)());
|
|
122
121
|
}
|
|
122
|
+
return function cleanup() {
|
|
123
|
+
dispatch((0, _actions4.closeFloatingGraph)());
|
|
124
|
+
};
|
|
123
125
|
}, [global_data.waterAuthorityId, global_data.activeFilter]);
|
|
124
126
|
return /*#__PURE__*/_react.default.createElement(_Map.Map, Object.assign({}, ReduxState, {
|
|
125
127
|
areas: mappedAreas,
|
|
@@ -149,4 +151,4 @@ var EventsMapContainer = function EventsMapContainer(props) {
|
|
|
149
151
|
}));
|
|
150
152
|
};
|
|
151
153
|
exports.EventsMapContainer = EventsMapContainer;
|
|
152
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzIiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfYWN0aW9uczMiLCJfTWFwIiwiX0Zsb2F0aW5nR3JhcGgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0dyYXBoVXRpbHMiLCJfYWN0aW9uczQiLCJfRHJhZ0FuZERyb3BBcmVhIiwiX0V2ZW50VXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkV2ZW50c01hcENvbnRhaW5lciIsInByb3BzIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nMiIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImFyZWFzX2RhdGEiLCJnbG9iYWxfZGF0YSIsInBvaW50c19kYXRhIiwiZXZlbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQiLCJ1c2VNZW1vIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpIiwiZmlsdGVycyIsImFjdGl2ZUZpbHRlciIsImZpbHRlcl9pdGVtcyIsImxlbmd0aCIsImluZGV4IiwidHlwZSIsIm1hcHBlZEFyZWFzIiwiYXJlYXNNYXBwZXIiLCJnZXRBY3RpdmVUaW1lRmlsdGVyUGVyaW9kIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpMiIsIml0ZW1zIiwiYWN0aXZlVGltZUZpbHRlciIsInNlbGVjdGVkX29wdGlvbnMiLCJKU09OIiwicGFyc2UiLCJFdmVudHNQZXJTaXRlIiwiQ291bnRFdmVudHNQZXJTaXRlSUQiLCJNdXN0U2VlblNpdGVzIiwiZm9jdXNlZEV2ZW50IiwiZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyIsImhvdmVyZWRFdmVudCIsIm1hcHBlZFBvaW50cyIsIm1hcCIsInBvaW50IiwibmV3UG9pbnQiLCJfb2JqZWN0U3ByZWFkMiIsInVuZGVmaW5lZCIsImlkIiwiaXNDb2xsZWN0b3JVbm1vbml0b3JlZCIsImhpZGUiLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZXZlbnRzVmlld0hvdmVyZWQiLCJtYXBwZWRFZGdlcyIsImZpbHRlciIsImVkZ2UiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwiZGVzY2VuZGFudHNfaGFzX25vbmVfY29sbGVjdG9ycyIsImFyZWFUb0NlbnRlckJ5IiwiZ2V0QXJlYXNUb0NlbnRlckJ5IiwidXNlRWZmZWN0Iiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJjbG9zZUZsb2F0aW5nR3JhcGgiLCJjcmVhdGVFbGVtZW50IiwiTWFwIiwiYXNzaWduIiwiYXJlYXMiLCJwb2ludHMiLCJlZGdlcyIsImhpZGVFZGdlcyIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMiLCJmb3JFdmVudHNWaWV3IiwiZm9jdXNlZEV2ZW50UGF0aCIsImZvY3VzZWRFdmVudFBhdGhzIiwiZmxvYXRpbmdHcmFwaCIsImlzT3BlbiIsIm9wZW4iLCJjdXN0b21IaWdoQ2hhcnRPcHRpb25zIiwiZG5kR3JhcGhJbml0T3B0aW9ucyIsImNsb3NlR3JhcGhIYW5kbGVyIiwiZ2xvYmFsRGF0YUZsb2F0aW5nR3JhcGgiLCJldmVudF9kYXRhIiwiZ3JhcGhJZCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNNYXBDb250YWluZXIvRXZlbnRzTWFwQ29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtcbiAgYXJlYXNNYXBwZXIsXG4gIENvdW50RXZlbnRzUGVyU2l0ZUlELFxuICBnZXRBcmVhc1RvQ2VudGVyQnksXG4gIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMsXG59IGZyb20gJ3NyYy9wYWdlcy9FdmVudHNQYWdlL0V2ZW50c01hcENvbnRhaW5lci9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzJztcbmltcG9ydCB7IGZldGNoQXJlYXMgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvYWN0aW9ucyc7XG5pbXBvcnQgeyBmZXRjaEVkZ2VzIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hQb2ludHMgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL01hcCc7XG5pbXBvcnQgRmxvYXRpbmdHcmFwaCBmcm9tICdzcmMvcGFnZXMvRXZlbnRzUGFnZS9GbG9hdGluZ0dyYXBoL0Zsb2F0aW5nR3JhcGgnO1xuaW1wb3J0IHsgZG5kR3JhcGhJbml0T3B0aW9ucyB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9HcmFwaFV0aWxzJztcbmltcG9ydCB7IGNsb3NlRmxvYXRpbmdHcmFwaCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgRHJhZ0FuZERyb3BBcmVhIGZyb20gJy4uL0RyYWdBbmREcm9wQXJlYSc7XG5pbXBvcnQgeyBpc0NvbGxlY3RvclVubW9uaXRvcmVkIH0gZnJvbSAnc3JjL1dpZGdldHMvTWFwL2V2ZW50cy9FdmVudFV0aWxzJztcbmludGVyZmFjZSBFdmVudHNNYXBDb250YWluZXJQcm9wcyB7XG4gIHNob3dTZWNvbmRNYXA6IGJvb2xlYW47XG59XG5leHBvcnQgY29uc3QgRXZlbnRzTWFwQ29udGFpbmVyOiBSZWFjdC5GQzxFdmVudHNNYXBDb250YWluZXJQcm9wcz4gPSAoXG4gIHByb3BzLFxuKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgUmVkdXhTdGF0ZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUpO1xuICBjb25zdCB7IGFyZWFzX2RhdGEsIGdsb2JhbF9kYXRhLCBwb2ludHNfZGF0YSwgZXZlbnRzX2RhdGEsIGVkZ2VzX2RhdGEgfSA9XG4gICAgUmVkdXhTdGF0ZTtcblxuICBjb25zdCBpc1RpbWVGaWx0ZXJOb3RTZWxlY3RlZCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGZpbHRlcnMgPSBnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyPy5maWx0ZXJfaXRlbXM7XG5cbiAgICBpZiAoIWZpbHRlcnMgfHwgZmlsdGVycy5sZW5ndGggPCAxKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZmlsdGVycy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChmaWx0ZXJzW2luZGV4XS50eXBlID09PSAnVGltZUZpbHRlckl0ZW0nKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSwgW2dsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXJdKTtcblxuICBjb25zdCBtYXBwZWRBcmVhcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gYXJlYXNNYXBwZXIoYXJlYXNfZGF0YSwgaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQpLFxuICAgIFthcmVhc19kYXRhLCBpc1RpbWVGaWx0ZXJOb3RTZWxlY3RlZF0sXG4gICk7XG5cbiAgY29uc3QgZ2V0QWN0aXZlVGltZUZpbHRlclBlcmlvZCA9ICgpID0+IHtcbiAgICBjb25zdCBpdGVtcyA9IGdsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXI/LmZpbHRlcl9pdGVtcztcbiAgICBsZXQgYWN0aXZlVGltZUZpbHRlciA9ICcxbSc7XG5cbiAgICBpZiAoIWl0ZW1zIHx8IGl0ZW1zLmxlbmd0aCA8IDEpIHtcbiAgICAgIHJldHVybiBhY3RpdmVUaW1lRmlsdGVyO1xuICAgIH1cblxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBpdGVtcy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgIGlmIChpdGVtc1tpbmRleF0udHlwZSA9PT0gJ1RpbWVGaWx0ZXJJdGVtJykge1xuICAgICAgICBpZiAodHlwZW9mIGl0ZW1zW2luZGV4XS5zZWxlY3RlZF9vcHRpb25zID09PSAnc3RyaW5nJylcbiAgICAgICAgICBpdGVtc1tpbmRleF0uc2VsZWN0ZWRfb3B0aW9ucyA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgICBpdGVtc1tpbmRleF0uc2VsZWN0ZWRfb3B0aW9ucyxcbiAgICAgICAgICApO1xuXG4gICAgICAgIGFjdGl2ZVRpbWVGaWx0ZXIgPSBpdGVtc1tpbmRleF0uc2VsZWN0ZWRfb3B0aW9uc1swXTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhY3RpdmVUaW1lRmlsdGVyO1xuICB9O1xuXG4gIGNvbnN0IEV2ZW50c1BlclNpdGUgPSB1c2VNZW1vKFxuICAgICgpID0+IENvdW50RXZlbnRzUGVyU2l0ZUlEKGV2ZW50c19kYXRhLml0ZW1zKSxcbiAgICBbZXZlbnRzX2RhdGEuaXRlbXNdLFxuICApO1xuXG4gIGNvbnN0IE11c3RTZWVuU2l0ZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50KSB7XG4gICAgICByZXR1cm4gZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyhldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50KSB7XG4gICAgICByZXR1cm4gZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyhldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnQpO1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH0sIFtFdmVudHNQZXJTaXRlLCBldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQsIGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudF0pO1xuXG4gIGNvbnN0IG1hcHBlZFBvaW50cyA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLm1hcCgocG9pbnQpID0+IHtcbiAgICAgICAgY29uc3QgbmV3UG9pbnQgPSB7IC4uLnBvaW50IH07XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIEV2ZW50c1BlclNpdGUgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICFFdmVudHNQZXJTaXRlW3BvaW50LmlkXSB8fFxuICAgICAgICAgIGlzQ29sbGVjdG9yVW5tb25pdG9yZWQocG9pbnQpXG4gICAgICAgICkge1xuICAgICAgICAgIG5ld1BvaW50LmhpZGUgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCkge1xuICAgICAgICAgIGlmICghTXVzdFNlZW5TaXRlc1twb2ludC5pZF0pIHtcbiAgICAgICAgICAgIG5ld1BvaW50LmhpZGUgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudCkge1xuICAgICAgICAgIGlmICghTXVzdFNlZW5TaXRlc1twb2ludC5pZF0gJiYgaXNDb2xsZWN0b3JVbm1vbml0b3JlZChwb2ludCkpIHtcbiAgICAgICAgICAgIG5ld1BvaW50LmhpZGUgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbmV3UG9pbnQucmVsYXRlZEV2ZW50c0Ftb3VudCA9IEV2ZW50c1BlclNpdGVcbiAgICAgICAgICA/IEV2ZW50c1BlclNpdGVbcG9pbnQuaWRdXG4gICAgICAgICAgOiAwO1xuICAgICAgICBuZXdQb2ludC5ldmVudHNWaWV3SG92ZXJlZCA9IHRydWU7XG4gICAgICAgIHJldHVybiBuZXdQb2ludDtcbiAgICAgIH0pLFxuICAgIFtcbiAgICAgIHBvaW50c19kYXRhLFxuICAgICAgRXZlbnRzUGVyU2l0ZSxcbiAgICAgIGV2ZW50c19kYXRhLml0ZW1zLFxuICAgICAgZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50LFxuICAgICAgZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50LFxuICAgIF0sXG4gICk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIGNvbnN0IG1hcHBlZEVkZ2VzID0gZWRnZXNfZGF0YS5pdGVtcy5maWx0ZXIoXG4gICAgKGVkZ2UpID0+XG4gICAgICAvLyAoTnVtYmVyKEV2ZW50c1BlclNpdGVbZWRnZS5zb3VyY2VfcG9pbnRfaWRdKSA+IDAgfHxcbiAgICAgIC8vIE51bWJlcihFdmVudHNQZXJTaXRlW2VkZ2UudGFyZ2V0X3BvaW50X2lkXSkgPiAwKVxuICAgICAgLy8gICYmXG4gICAgICBlZGdlLmRlc2NlbmRhbnRzX2hhc19kZXZpY2UgPT09IHRydWUgfHxcbiAgICAgIGVkZ2UuZGVzY2VuZGFudHNfaGFzX25vbmVfY29sbGVjdG9ycyA9PT0gdHJ1ZSxcbiAgKTtcblxuICBjb25zdCBhcmVhVG9DZW50ZXJCeSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gZ2V0QXJlYXNUb0NlbnRlckJ5KGdsb2JhbF9kYXRhLCBtYXBwZWRBcmVhcyksXG4gICAgW2dsb2JhbF9kYXRhPy5hY3RpdmVGaWx0ZXIsIG1hcHBlZEFyZWFzXSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBjb25zdCBwZXJpb2QgPSBnZXRBY3RpdmVUaW1lRmlsdGVyUGVyaW9kKCk7XG4gICAgICBkaXNwYXRjaChmZXRjaFBvaW50cyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoRWRnZXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hBcmVhcyhnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBwZXJpb2QsIHRydWUpKTtcbiAgICAgIGRpc3BhdGNoKGNsb3NlRmxvYXRpbmdHcmFwaCgpKTtcbiAgICB9XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLCBnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXJdKTtcblxuICByZXR1cm4gKFxuICAgIDxNYXBcbiAgICAgIHsuLi5SZWR1eFN0YXRlfVxuICAgICAgYXJlYXM9e21hcHBlZEFyZWFzfVxuICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgcG9pbnRzPXttYXBwZWRQb2ludHN9XG4gICAgICBlZGdlcz17bWFwcGVkRWRnZXN9XG4gICAgICBmb2N1c2VkRXZlbnQ9e2V2ZW50c19kYXRhLmZvY3VzZWRFdmVudH1cbiAgICAgIGhvdmVyZWRFdmVudD17ZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50fVxuICAgICAgYXJlYVRvQ2VudGVyQnk9e2FyZWFUb0NlbnRlckJ5fVxuICAgICAgaGlkZUVkZ2VzPXt0cnVlfVxuICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXt0cnVlfVxuICAgICAgaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcz17dHJ1ZX1cbiAgICAgIGZvckV2ZW50c1ZpZXc9e3RydWV9XG4gICAgICB7Li4ucHJvcHN9XG4gICAgPlxuICAgICAge1xuICAgICAgICA8RHJhZ0FuZERyb3BBcmVhIGZvY3VzZWRFdmVudFBhdGg9e2V2ZW50c19kYXRhPy5mb2N1c2VkRXZlbnRQYXRoc30+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgIGZsb2F0aW5nR3JhcGg6IChcbiAgICAgICAgICAgICAgPEZsb2F0aW5nR3JhcGhcbiAgICAgICAgICAgICAgICBpc09wZW49e2dsb2JhbF9kYXRhPy5mbG9hdGluZ0dyYXBoLm9wZW59XG4gICAgICAgICAgICAgICAgY3VzdG9tSGlnaENoYXJ0T3B0aW9ucz17ZG5kR3JhcGhJbml0T3B0aW9uc31cbiAgICAgICAgICAgICAgICBjbG9zZUdyYXBoSGFuZGxlcj17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgZGlzcGF0Y2goY2xvc2VGbG9hdGluZ0dyYXBoKCkpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgZ2xvYmFsRGF0YUZsb2F0aW5nR3JhcGg9e2dsb2JhbF9kYXRhLmZsb2F0aW5nR3JhcGh9XG4gICAgICAgICAgICAgICAgZXZlbnRfZGF0YT17ZXZlbnRzX2RhdGE/LmZvY3VzZWRFdmVudH1cbiAgICAgICAgICAgICAgICBncmFwaElkPXtnbG9iYWxfZGF0YT8uZmxvYXRpbmdHcmFwaD8ucG9pbnQ/LmlkfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9fVxuICAgICAgICA8L0RyYWdBbmREcm9wQXJlYT5cbiAgICAgIH1cbiAgICA8L01hcD5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLDBCQUFBLEdBQUFGLE9BQUE7QUFN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
|
|
154
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9FdmVudHNNYXBDb250YWluZXJIZWxwZXJzIiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfYWN0aW9uczMiLCJfTWFwIiwiX0Zsb2F0aW5nR3JhcGgiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX0dyYXBoVXRpbHMiLCJfYWN0aW9uczQiLCJfRHJhZ0FuZERyb3BBcmVhIiwiX0V2ZW50VXRpbHMiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkV2ZW50c01hcENvbnRhaW5lciIsInByb3BzIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nIiwiX2dsb2JhbF9kYXRhJGZsb2F0aW5nMiIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJSZWR1eFN0YXRlIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImFyZWFzX2RhdGEiLCJnbG9iYWxfZGF0YSIsInBvaW50c19kYXRhIiwiZXZlbnRzX2RhdGEiLCJlZGdlc19kYXRhIiwiaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQiLCJ1c2VNZW1vIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpIiwiZmlsdGVycyIsImFjdGl2ZUZpbHRlciIsImZpbHRlcl9pdGVtcyIsImxlbmd0aCIsImluZGV4IiwidHlwZSIsIm1hcHBlZEFyZWFzIiwiYXJlYXNNYXBwZXIiLCJnZXRBY3RpdmVUaW1lRmlsdGVyUGVyaW9kIiwiX2dsb2JhbF9kYXRhJGFjdGl2ZUZpMiIsIml0ZW1zIiwiYWN0aXZlVGltZUZpbHRlciIsInNlbGVjdGVkX29wdGlvbnMiLCJKU09OIiwicGFyc2UiLCJFdmVudHNQZXJTaXRlIiwiQ291bnRFdmVudHNQZXJTaXRlSUQiLCJNdXN0U2VlblNpdGVzIiwiZm9jdXNlZEV2ZW50IiwiZ2V0Rm9jdXNlZEV2ZW50TXVzdFNlZW5TaXRlcyIsImhvdmVyZWRFdmVudCIsIm1hcHBlZFBvaW50cyIsIm1hcCIsInBvaW50IiwibmV3UG9pbnQiLCJfb2JqZWN0U3ByZWFkMiIsInVuZGVmaW5lZCIsImlkIiwiaXNDb2xsZWN0b3JVbm1vbml0b3JlZCIsImhpZGUiLCJyZWxhdGVkRXZlbnRzQW1vdW50IiwiZXZlbnRzVmlld0hvdmVyZWQiLCJtYXBwZWRFZGdlcyIsImZpbHRlciIsImVkZ2UiLCJkZXNjZW5kYW50c19oYXNfZGV2aWNlIiwiZGVzY2VuZGFudHNfaGFzX25vbmVfY29sbGVjdG9ycyIsImFyZWFUb0NlbnRlckJ5IiwiZ2V0QXJlYXNUb0NlbnRlckJ5IiwidXNlRWZmZWN0Iiwid2F0ZXJBdXRob3JpdHlJZCIsInBlcmlvZCIsImZldGNoUG9pbnRzIiwiZmV0Y2hFZGdlcyIsImZldGNoQXJlYXMiLCJjbGVhbnVwIiwiY2xvc2VGbG9hdGluZ0dyYXBoIiwiY3JlYXRlRWxlbWVudCIsIk1hcCIsImFzc2lnbiIsImFyZWFzIiwicG9pbnRzIiwiZWRnZXMiLCJoaWRlRWRnZXMiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzIiwiZm9yRXZlbnRzVmlldyIsImZvY3VzZWRFdmVudFBhdGgiLCJmb2N1c2VkRXZlbnRQYXRocyIsImZsb2F0aW5nR3JhcGgiLCJpc09wZW4iLCJvcGVuIiwiY3VzdG9tSGlnaENoYXJ0T3B0aW9ucyIsImRuZEdyYXBoSW5pdE9wdGlvbnMiLCJjbG9zZUdyYXBoSGFuZGxlciIsImdsb2JhbERhdGFGbG9hdGluZ0dyYXBoIiwiZXZlbnRfZGF0YSIsImdyYXBoSWQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvRXZlbnRzTWFwQ29udGFpbmVyL0V2ZW50c01hcENvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7XG4gIGFyZWFzTWFwcGVyLFxuICBDb3VudEV2ZW50c1BlclNpdGVJRCxcbiAgZ2V0QXJlYXNUb0NlbnRlckJ5LFxuICBnZXRGb2N1c2VkRXZlbnRNdXN0U2VlblNpdGVzLFxufSBmcm9tICdzcmMvcGFnZXMvRXZlbnRzUGFnZS9FdmVudHNNYXBDb250YWluZXIvRXZlbnRzTWFwQ29udGFpbmVySGVscGVycyc7XG5pbXBvcnQgeyBmZXRjaEFyZWFzIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hFZGdlcyB9IGZyb20gJ3NyYy9zdG9yZS9lZGdlcy9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoUG9pbnRzIH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9hY3Rpb25zJztcbmltcG9ydCB7IE1hcCB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9NYXAnO1xuaW1wb3J0IEZsb2F0aW5nR3JhcGggZnJvbSAnc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvRmxvYXRpbmdHcmFwaC9GbG9hdGluZ0dyYXBoJztcbmltcG9ydCB7IGRuZEdyYXBoSW5pdE9wdGlvbnMgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvR3JhcGhVdGlscyc7XG5pbXBvcnQgeyBjbG9zZUZsb2F0aW5nR3JhcGggfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IERyYWdBbmREcm9wQXJlYSBmcm9tICcuLi9EcmFnQW5kRHJvcEFyZWEnO1xuaW1wb3J0IHsgaXNDb2xsZWN0b3JVbm1vbml0b3JlZCB9IGZyb20gJ3NyYy9XaWRnZXRzL01hcC9ldmVudHMvRXZlbnRVdGlscyc7XG5pbnRlcmZhY2UgRXZlbnRzTWFwQ29udGFpbmVyUHJvcHMge1xuICBzaG93U2Vjb25kTWFwOiBib29sZWFuO1xufVxuZXhwb3J0IGNvbnN0IEV2ZW50c01hcENvbnRhaW5lcjogUmVhY3QuRkM8RXZlbnRzTWFwQ29udGFpbmVyUHJvcHM+ID0gKFxuICBwcm9wcyxcbikgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IFJlZHV4U3RhdGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlKTtcbiAgY29uc3QgeyBhcmVhc19kYXRhLCBnbG9iYWxfZGF0YSwgcG9pbnRzX2RhdGEsIGV2ZW50c19kYXRhLCBlZGdlc19kYXRhIH0gPVxuICAgIFJlZHV4U3RhdGU7XG5cbiAgY29uc3QgaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBmaWx0ZXJzID0gZ2xvYmFsX2RhdGE/LmFjdGl2ZUZpbHRlcj8uZmlsdGVyX2l0ZW1zO1xuXG4gICAgaWYgKCFmaWx0ZXJzIHx8IGZpbHRlcnMubGVuZ3RoIDwgMSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGZpbHRlcnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBpZiAoZmlsdGVyc1tpbmRleF0udHlwZSA9PT0gJ1RpbWVGaWx0ZXJJdGVtJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0sIFtnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyXSk7XG5cbiAgY29uc3QgbWFwcGVkQXJlYXMgPSB1c2VNZW1vKFxuICAgICgpID0+IGFyZWFzTWFwcGVyKGFyZWFzX2RhdGEsIGlzVGltZUZpbHRlck5vdFNlbGVjdGVkKSxcbiAgICBbYXJlYXNfZGF0YSwgaXNUaW1lRmlsdGVyTm90U2VsZWN0ZWRdLFxuICApO1xuXG4gIGNvbnN0IGdldEFjdGl2ZVRpbWVGaWx0ZXJQZXJpb2QgPSAoKSA9PiB7XG4gICAgY29uc3QgaXRlbXMgPSBnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyPy5maWx0ZXJfaXRlbXM7XG4gICAgbGV0IGFjdGl2ZVRpbWVGaWx0ZXIgPSAnMW0nO1xuXG4gICAgaWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPCAxKSB7XG4gICAgICByZXR1cm4gYWN0aXZlVGltZUZpbHRlcjtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgaXRlbXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBpZiAoaXRlbXNbaW5kZXhdLnR5cGUgPT09ICdUaW1lRmlsdGVySXRlbScpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBpdGVtc1tpbmRleF0uc2VsZWN0ZWRfb3B0aW9ucyA9PT0gJ3N0cmluZycpXG4gICAgICAgICAgaXRlbXNbaW5kZXhdLnNlbGVjdGVkX29wdGlvbnMgPSBKU09OLnBhcnNlKFxuICAgICAgICAgICAgaXRlbXNbaW5kZXhdLnNlbGVjdGVkX29wdGlvbnMsXG4gICAgICAgICAgKTtcblxuICAgICAgICBhY3RpdmVUaW1lRmlsdGVyID0gaXRlbXNbaW5kZXhdLnNlbGVjdGVkX29wdGlvbnNbMF07XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYWN0aXZlVGltZUZpbHRlcjtcbiAgfTtcblxuICBjb25zdCBFdmVudHNQZXJTaXRlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBDb3VudEV2ZW50c1BlclNpdGVJRChldmVudHNfZGF0YS5pdGVtcyksXG4gICAgW2V2ZW50c19kYXRhLml0ZW1zXSxcbiAgKTtcblxuICBjb25zdCBNdXN0U2VlblNpdGVzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCkge1xuICAgICAgcmV0dXJuIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMoZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50KTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudCkge1xuICAgICAgcmV0dXJuIGdldEZvY3VzZWRFdmVudE11c3RTZWVuU2l0ZXMoZXZlbnRzX2RhdGEuaG92ZXJlZEV2ZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9LCBbRXZlbnRzUGVyU2l0ZSwgZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50LCBldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBtYXBwZWRQb2ludHMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBwb2ludHNfZGF0YS5pdGVtcy5tYXAoKHBvaW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1BvaW50ID0geyAuLi5wb2ludCB9O1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBFdmVudHNQZXJTaXRlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAhRXZlbnRzUGVyU2l0ZVtwb2ludC5pZF0gfHxcbiAgICAgICAgICBpc0NvbGxlY3RvclVubW9uaXRvcmVkKHBvaW50KVxuICAgICAgICApIHtcbiAgICAgICAgICBuZXdQb2ludC5oaWRlID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudHNfZGF0YS5mb2N1c2VkRXZlbnQpIHtcbiAgICAgICAgICBpZiAoIU11c3RTZWVuU2l0ZXNbcG9pbnQuaWRdKSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3UG9pbnQuaGlkZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnQpIHtcbiAgICAgICAgICBpZiAoIU11c3RTZWVuU2l0ZXNbcG9pbnQuaWRdICYmIGlzQ29sbGVjdG9yVW5tb25pdG9yZWQocG9pbnQpKSB7XG4gICAgICAgICAgICBuZXdQb2ludC5oaWRlID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV3UG9pbnQuaGlkZSA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5ld1BvaW50LnJlbGF0ZWRFdmVudHNBbW91bnQgPSBFdmVudHNQZXJTaXRlXG4gICAgICAgICAgPyBFdmVudHNQZXJTaXRlW3BvaW50LmlkXVxuICAgICAgICAgIDogMDtcbiAgICAgICAgbmV3UG9pbnQuZXZlbnRzVmlld0hvdmVyZWQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gbmV3UG9pbnQ7XG4gICAgICB9KSxcbiAgICBbXG4gICAgICBwb2ludHNfZGF0YSxcbiAgICAgIEV2ZW50c1BlclNpdGUsXG4gICAgICBldmVudHNfZGF0YS5pdGVtcyxcbiAgICAgIGV2ZW50c19kYXRhLmZvY3VzZWRFdmVudCxcbiAgICAgIGV2ZW50c19kYXRhLmhvdmVyZWRFdmVudCxcbiAgICBdLFxuICApO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICBjb25zdCBtYXBwZWRFZGdlcyA9IGVkZ2VzX2RhdGEuaXRlbXMuZmlsdGVyKFxuICAgIChlZGdlKSA9PlxuICAgICAgLy8gKE51bWJlcihFdmVudHNQZXJTaXRlW2VkZ2Uuc291cmNlX3BvaW50X2lkXSkgPiAwIHx8XG4gICAgICAvLyBOdW1iZXIoRXZlbnRzUGVyU2l0ZVtlZGdlLnRhcmdldF9wb2ludF9pZF0pID4gMClcbiAgICAgIC8vICAmJlxuICAgICAgZWRnZS5kZXNjZW5kYW50c19oYXNfZGV2aWNlID09PSB0cnVlIHx8XG4gICAgICBlZGdlLmRlc2NlbmRhbnRzX2hhc19ub25lX2NvbGxlY3RvcnMgPT09IHRydWUsXG4gICk7XG5cbiAgY29uc3QgYXJlYVRvQ2VudGVyQnkgPSB1c2VNZW1vKFxuICAgICgpID0+IGdldEFyZWFzVG9DZW50ZXJCeShnbG9iYWxfZGF0YSwgbWFwcGVkQXJlYXMpLFxuICAgIFtnbG9iYWxfZGF0YT8uYWN0aXZlRmlsdGVyLCBtYXBwZWRBcmVhc10sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkge1xuICAgICAgY29uc3QgcGVyaW9kID0gZ2V0QWN0aXZlVGltZUZpbHRlclBlcmlvZCgpO1xuICAgICAgZGlzcGF0Y2goZmV0Y2hQb2ludHMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgcGVyaW9kKSk7XG4gICAgICBkaXNwYXRjaChmZXRjaEVkZ2VzKGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpKTtcbiAgICAgIGRpc3BhdGNoKGZldGNoQXJlYXMoZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgcGVyaW9kLCB0cnVlKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBkaXNwYXRjaChjbG9zZUZsb2F0aW5nR3JhcGgoKSk7XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsIGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlcl0pO1xuXG4gIHJldHVybiAoXG4gICAgPE1hcFxuICAgICAgey4uLlJlZHV4U3RhdGV9XG4gICAgICBhcmVhcz17bWFwcGVkQXJlYXN9XG4gICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICBwb2ludHM9e21hcHBlZFBvaW50c31cbiAgICAgIGVkZ2VzPXttYXBwZWRFZGdlc31cbiAgICAgIGZvY3VzZWRFdmVudD17ZXZlbnRzX2RhdGEuZm9jdXNlZEV2ZW50fVxuICAgICAgaG92ZXJlZEV2ZW50PXtldmVudHNfZGF0YS5ob3ZlcmVkRXZlbnR9XG4gICAgICBhcmVhVG9DZW50ZXJCeT17YXJlYVRvQ2VudGVyQnl9XG4gICAgICBoaWRlRWRnZXM9e3RydWV9XG4gICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e3RydWV9XG4gICAgICBpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzPXt0cnVlfVxuICAgICAgZm9yRXZlbnRzVmlldz17dHJ1ZX1cbiAgICAgIHsuLi5wcm9wc31cbiAgICA+XG4gICAgICB7XG4gICAgICAgIDxEcmFnQW5kRHJvcEFyZWEgZm9jdXNlZEV2ZW50UGF0aD17ZXZlbnRzX2RhdGE/LmZvY3VzZWRFdmVudFBhdGhzfT5cbiAgICAgICAgICB7e1xuICAgICAgICAgICAgZmxvYXRpbmdHcmFwaDogKFxuICAgICAgICAgICAgICA8RmxvYXRpbmdHcmFwaFxuICAgICAgICAgICAgICAgIGlzT3Blbj17Z2xvYmFsX2RhdGE/LmZsb2F0aW5nR3JhcGgub3Blbn1cbiAgICAgICAgICAgICAgICBjdXN0b21IaWdoQ2hhcnRPcHRpb25zPXtkbmRHcmFwaEluaXRPcHRpb25zfVxuICAgICAgICAgICAgICAgIGNsb3NlR3JhcGhIYW5kbGVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBkaXNwYXRjaChjbG9zZUZsb2F0aW5nR3JhcGgoKSk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBnbG9iYWxEYXRhRmxvYXRpbmdHcmFwaD17Z2xvYmFsX2RhdGEuZmxvYXRpbmdHcmFwaH1cbiAgICAgICAgICAgICAgICBldmVudF9kYXRhPXtldmVudHNfZGF0YT8uZm9jdXNlZEV2ZW50fVxuICAgICAgICAgICAgICAgIGdyYXBoSWQ9e2dsb2JhbF9kYXRhPy5mbG9hdGluZ0dyYXBoPy5wb2ludD8uaWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApLFxuICAgICAgICAgIH19XG4gICAgICAgIDwvRHJhZ0FuZERyb3BBcmVhPlxuICAgICAgfVxuICAgIDwvTWFwPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0Es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
|