@kando-env/kando-ui 1.2.466 → 1.2.467-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/lib/Router.js +12 -5
  2. package/lib/Widgets/Map/Map.js +3 -3
  3. package/lib/Widgets/Map/MapUtils.js +2 -1
  4. package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
  5. package/lib/assets/streami-logo.svg +26 -0
  6. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
  7. package/lib/components/Header/Toolbar/Toolbar.js +3 -6
  8. package/lib/components/KandoModal/KandoModal.js +27 -4
  9. package/lib/components/KandoModal/styles.scss +4 -0
  10. package/lib/components/SeasonalInsights/SeasonalInsights.js +230 -0
  11. package/lib/components/SevereEvent/SevereEvent.js +18 -2
  12. package/lib/components/SevereEvent/SevereEvent.scss +24 -0
  13. package/lib/components/SevereEvent/UpstreamBadge.js +60 -0
  14. package/lib/components/TopBanner/TopBanner.js +227 -0
  15. package/lib/components/TopBanner/insightsDismissalStorage.js +36 -0
  16. package/lib/i18n/en.json +28 -3
  17. package/lib/i18n/fr.json +13 -0
  18. package/lib/i18n/he.json +21 -1
  19. package/lib/i18n/it.json +13 -0
  20. package/lib/macros/getVersion.js +2 -2
  21. package/lib/pages/AreaPage/Dashboard/Dashboard.js +2 -2
  22. package/lib/pages/EventsPage/events/EventsStyle.scss +1 -1
  23. package/lib/pages/EventsPage/events/event_info/EventDetails.js +2 -2
  24. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +21 -22
  25. package/lib/pages/EventsPage/events/event_info/Header/Header.js +1 -1
  26. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +2 -2
  27. package/lib/pages/EventsPage/events/event_info/Header/index.js +1 -1
  28. package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +1 -1
  29. package/lib/pages/EventsPage/events/event_info/Timelines/index.js +1 -1
  30. package/lib/pages/EventsPage/events/events_list/EventsList.js +7 -1
  31. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +3 -3
  32. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +5 -1
  33. package/lib/pages/EventsPage/events/events_list/Sort.js +21 -15
  34. package/lib/pages/NetworkPage/NetworkPage.js +48 -0
  35. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +10 -7
  36. package/lib/pages/SitePage/SitePage.js +2 -2
  37. package/lib/test/mocks/browser.js +1 -1
  38. package/lib/test/test-utils.js +1 -1
  39. package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +27 -10
  40. package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +20 -10
  41. package/lib/ui-kit/HierarchyGraph/NetworkNode.js +37 -0
  42. package/lib/ui-kit/HierarchyGraph/style.scss +4 -0
  43. package/lib/ui-kit/KandoTable/KandoTable.test.js +1 -1
  44. package/lib/utilities/scoreToData.test.js +1 -1
  45. package/lib/utilities/urls.js +3 -3
  46. package/package.json +1 -1
@@ -97,8 +97,10 @@ var SamplingProperties = function SamplingProperties() {
97
97
  is_canceled: isCanceled
98
98
  };
99
99
  if (isCancelledLayout(samplingProperties)) formikValues.canceled_by_id = {
100
- name: samplingProperties.canceled_by_name || userInfo.first_name + ' ' + userInfo.last_name,
101
- id: samplingProperties.sampling.canceled_by_id || userInfo.id
100
+ name: samplingProperties.canceled_by_name,
101
+ // ||
102
+ // userInfo.first_name + ' ' + userInfo.last_name,
103
+ id: samplingProperties.sampling.is_canceled ? samplingProperties.sampling.canceled_by_id : userInfo.id
102
104
  };
103
105
  formikValues.kando_rep = samplingProperties.sampling.kando_rep;
104
106
  formik.setValues(formikValues);
@@ -175,10 +177,11 @@ var SamplingProperties = function SamplingProperties() {
175
177
  }
176
178
  };
177
179
  var handleSubmit = function handleSubmit(values) {
178
- var _samplingProperties$s;
179
180
  setSavingMsg(_i18n.default.t('buttons.saving'));
180
181
  values.pictures_attributes = photos;
181
- if (values.canceled_by_id && isCancelledLayout(samplingProperties)) values.canceled_by_id = (samplingProperties === null || samplingProperties === void 0 ? void 0 : (_samplingProperties$s = samplingProperties.sampling) === null || _samplingProperties$s === void 0 ? void 0 : _samplingProperties$s.canceled_by_id) || userInfo.id;
182
+ // debugger;
183
+ // if (values.canceled_by_id?.id > 0 && isCancelledLayout(samplingProperties))
184
+ values.canceled_by_id = values.canceled_by_id.id;
182
185
  var time_zone = (samplingPlan === null || samplingPlan === void 0 ? void 0 : samplingPlan.time_zone) || 'UTC';
183
186
  values.collection_time = (0, _samplingPropertiesUtils.collectionTimeInTimeZone)(values.collection_time, time_zone);
184
187
  var saveFormData = formDataBuilder(values);
@@ -206,7 +209,7 @@ var SamplingProperties = function SamplingProperties() {
206
209
  };
207
210
  var updateOrCreate = /*#__PURE__*/function () {
208
211
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(formData) {
209
- var _samplingProperties$s2;
212
+ var _samplingProperties$s;
210
213
  var updateOrCreateSuccess, samplingID;
211
214
  return _regenerator.default.wrap(function _callee2$(_context2) {
212
215
  while (1) {
@@ -218,7 +221,7 @@ var SamplingProperties = function SamplingProperties() {
218
221
  setOriginalSaveMessageWithTimeout();
219
222
  handleClose();
220
223
  };
221
- samplingID = samplingProperties === null || samplingProperties === void 0 ? void 0 : (_samplingProperties$s2 = samplingProperties.sampling) === null || _samplingProperties$s2 === void 0 ? void 0 : _samplingProperties$s2.id;
224
+ samplingID = samplingProperties === null || samplingProperties === void 0 ? void 0 : (_samplingProperties$s = samplingProperties.sampling) === null || _samplingProperties$s === void 0 ? void 0 : _samplingProperties$s.id;
222
225
  if (!(samplingID === null)) {
223
226
  _context2.next = 16;
224
227
  break;
@@ -353,4 +356,4 @@ var SamplingProperties = function SamplingProperties() {
353
356
  }))));
354
357
  };
355
358
  exports.SamplingProperties = SamplingProperties;
356
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfYXhpb3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0RGV2aWNlRGV0ZWN0IiwiX2Zvcm1payIsIl9yZWFjdFJvdXRlckRvbSIsIl9yZWFjdFJlZHV4IiwiX0xheW91dCIsIl9pMThuIiwiX3VzZVF1ZXJ5VVJMIiwiX1NwaW5uZXIiLCJfdXJscyIsIl9zdHlsZXMiLCJfc2FtcGxpbmdzUGFnZVV0aWxzIiwiX1NhbXBsaW5nUHJvcGVydGllc0Zvcm0iLCJfU2FtcGxpbmdQcm9wZXJ0aWVzSGVhZCIsIl9TYW1wbGluZ1Byb3BlcnRpZXNIZWFkTW9iaWxlIiwiX3NhbXBsaW5nUHJvcGVydGllc1V0aWxzIiwiX1NhbXBsZXJJblByb2Nlc3MiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsImlzUHJvcGVydGllc1BhZ2UiLCJwYWdlVHlwZSIsIlNhbXBsaW5nUHJvcGVydGllcyIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiRGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJjb2xsZWN0aW9uVGltZSIsInNldENvbGxlY3Rpb25UaW1lIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJwaG90b3MiLCJzZXRQaG90b3MiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInBob3Rvc1RvRGVsZXRlIiwic2V0UGhvdG9zVG9EZWxldGUiLCJfdXNlU3RhdGU3IiwiaTE4biIsInQiLCJfdXNlU3RhdGU4Iiwic2F2aW5nTXNnIiwic2V0U2F2aW5nTXNnIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwic2FtcGxpbmdVcGRhdGVkIiwic2V0U2FtcGxpbmdVcGRhdGVkIiwiX3VzZVN0YXRlMTEiLCJ1bmRlZmluZWQiLCJfdXNlU3RhdGUxMiIsInNhbXBsaW5nUGxhbiIsInNldFNhbXBsaW5nUGxhbiIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwibG9jYXRpb24iLCJ1c2VMb2NhdGlvbiIsInF1ZXJ5IiwidXNlUXVlcnlVUkwiLCJ1c2VySW5mbyIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwZXJtaXNzaW9ucyIsInVzZXJfaW5mbyIsImRhdGVGb3JtYXQiLCJkYXRlX3RpbWVfZm9ybWF0IiwidXNlUmVmIiwiX3VzZVN0YXRlMTMiLCJfdXNlU3RhdGUxNCIsInNhbXBsaW5nUHJvcGVydGllcyIsInNldFNhbXBsaW5nUHJvcGVydGllcyIsIl91c2VQYXJhbXMiLCJ1c2VQYXJhbXMiLCJzYW1wbGVJZCIsIndhdGVyQXV0aG9yaXR5SWQiLCJnbG9iYWxfZGF0YSIsImxvY2FsZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJuYXZDb250ZXh0IiwiaW5pdEZvcm1pa1ZhbHVlcyIsImlzQ2FuY2VsZWQiLCJ0aW1lWm9uZSIsInBhZ2VDb2xsZWN0aW9uVGltZSIsImlzQ29sbGVjdExheW91dCIsImN1cnJlbnQiLCJjb2xsZWN0aW9uVGltZUZvcm1hdCIsInNhbXBsaW5nIiwiY29sbGVjdGlvbl90aW1lIiwic2FtIiwiZm9ybWlrVmFsdWVzIiwibGFiX2lkIiwicHVtcF9zYW1wbGluZ192b2x1bWUiLCJwdW1wX2JhdHRlcnlfbGV2ZWwiLCJkZXNjcmlwdGlvbiIsImthbmRvX3JlcCIsInNhbXBsaW5nX3BsYW5faWQiLCJjYW5jZWxsYXRpb25fcmVhc29uIiwiaXNfY2FuY2VsZWQiLCJpc0NhbmNlbGxlZExheW91dCIsImNhbmNlbGVkX2J5X2lkIiwibmFtZSIsImNhbmNlbGVkX2J5X25hbWUiLCJmaXJzdF9uYW1lIiwibGFzdF9uYW1lIiwiaWQiLCJmb3JtaWsiLCJzZXRWYWx1ZXMiLCJwYWdlVHlwZTJpc0NhbmNlbGxlZCIsImNhbmNlbCIsImNvbGxlY3QiLCJyZXZlcnRfY2FuY2VsIiwiZmV0Y2hTYW1wbGluZ1Byb3BlcnRpZXMiLCJ1c2VDYWxsYmFjayIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwic2FtcGxpbmdJZCIsIm9wIiwicmVzcG9uc2UiLCJfYXJncyIsImFyZ3VtZW50cyIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJsZW5ndGgiLCJheGlvcyIsInVybHMiLCJmZXRjaFNhbXBsaW5nIiwidXJsIiwic2VudCIsImRhdGEiLCJzYW1wbGluZ19wcm9wZXJ0aWVzIiwiZGV0ZWN0UGFnZVR5cGUiLCJkZXRlcm1pbmVDb2xsZWN0aW9uVGltZSIsInNhbXBsaW5nX3BsYW4iLCJ0aW1lX3pvbmUiLCJzdG9wIiwidXNlRWZmZWN0IiwiZ2V0VXJsUXVlcnlPcCIsInZhbGlkYXRpb25TY2hlbWEiLCJwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYSIsImNhbmNlbGxhdGlvblZhbGlkYXRpb25TY2hlbWEiLCJ1c2VGb3JtaWsiLCJlbmFibGVSZWluaXRpYWxpemUiLCJpbml0aWFsVmFsdWVzIiwic2FtcGxpbmdQcm9wZXJ0eSIsInZhbGlkYXRlT25DaGFuZ2UiLCJ2YWxpZGF0ZU9uQmx1ciIsIm9uU3VibWl0IiwidmFsdWVzIiwiaGFuZGxlU3VibWl0IiwiaGFuZGxlQ2xvc2UiLCJnb0JhY2siLCJwdXNoIiwic2FtcGxpbmdzUGFnZSIsInNhbXBsaW5nc0xpc3RSb3V0ZSIsIl9zYW1wbGluZ1Byb3BlcnRpZXMkcyIsInBpY3R1cmVzX2F0dHJpYnV0ZXMiLCJjb2xsZWN0aW9uVGltZUluVGltZVpvbmUiLCJzYXZlRm9ybURhdGEiLCJmb3JtRGF0YUJ1aWxkZXIiLCJ1cGRhdGVPckNyZWF0ZSIsInNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCIsInNldFRpbWVvdXQiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwidmFsdWUiLCJhcHBlbmQiLCJjb25jYXQiLCJ1bmlxdWVQaG90b3NUb0RlbGV0ZSIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJTZXQiLCJmb3JFYWNoIiwiaW5kZXgiLCJKU09OIiwic3RyaW5naWZ5IiwiX3JlZjIiLCJfY2FsbGVlMiIsIl9zYW1wbGluZ1Byb3BlcnRpZXMkczIiLCJ1cGRhdGVPckNyZWF0ZVN1Y2Nlc3MiLCJzYW1wbGluZ0lEIiwiX2NhbGxlZTIkIiwiX2NvbnRleHQyIiwibXNnIiwicG9zdCIsImNyZWF0ZVNhbXBsaW5nIiwidDAiLCJwdXQiLCJ1cGRhdGVTYW1wbGluZyIsInQxIiwiX3giLCJhcHBseSIsImlzU2FtcGxpbmdDYW5jZWxsZWQiLCJlZGl0UGFnZVZhbHVlIiwiQ09MTEVDVF9TQU1QTElOR19PUCIsIkNBTkNFTF9TQU1QTElOR19PUCIsIlJFVkVSVF9DQU5DRUxMQVRJT04iLCJzZXJ2ZXJDb2xsZWN0aW9uVGltZSIsImN1cnJlbnRUaW1lIiwic2VydmVyVGltZSIsImluY2x1ZGVzIiwiY3JlYXRlRWxlbWVudCIsIlNwaW5uZXIiLCJpc19wdW1wX2luX3Byb2dyZXNzIiwiU2FtcGxpbmdQcm9wZXJ0aWVzU3R5bGUiLCJpc01vYmlsZSIsIlNhbXBsaW5nUHJvcGVydGllc0hlYWQiLCJpc0RhdGVQaWNrZXJEaXNhYmxlZCIsIlNhbXBsaW5nUHJvcGVydGllc0hlYWRNb2JpbGUiLCJTYW1wbGluZ1Byb3BlcnRpZXNGb3JtIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQcm9wZXJ0aWVzIGFuZCBDYW5jZWxsaW5nIGZvcm1zLlxuICoqL1xuaW1wb3J0IFJlYWN0LCB7IEZDLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IEZvcm1pa0NvbmZpZyB9IGZyb20gJ2Zvcm1pay9kaXN0L3R5cGVzJztcbmltcG9ydCB7IGlzTW9iaWxlIH0gZnJvbSAncmVhY3QtZGV2aWNlLWRldGVjdCc7XG5pbXBvcnQgeyB1c2VGb3JtaWsgfSBmcm9tICdmb3JtaWsnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSwgdXNlUGFyYW1zLCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmltcG9ydCBMYXlvdXQgZnJvbSAnc3JjL3VpLWtpdC9MYXlvdXQvTGF5b3V0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnc3JjL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICdzcmMvY29tcG9uZW50cy9TcGlubmVyL1NwaW5uZXInO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJ3NyYy91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyBTYW1wbGluZ1Byb3BlcnRpZXNTdHlsZSB9IGZyb20gJy4vc3R5bGVzJztcbmltcG9ydCB7XG4gIENBTkNFTF9TQU1QTElOR19PUCxcbiAgQ09MTEVDVF9TQU1QTElOR19PUCxcbiAgUkVWRVJUX0NBTkNFTExBVElPTixcbiAgU2FtcGxpbmdGZXRjaERhdGEsXG59IGZyb20gJy4uL3NhbXBsaW5nc1BhZ2VVdGlscyc7XG5pbXBvcnQgeyBTYW1wbGluZ1Byb3BlcnRpZXNGb3JtIH0gZnJvbSAnLi9TYW1wbGluZ1Byb3BlcnRpZXNGb3JtJztcbmltcG9ydCB7IFNhbXBsaW5nUHJvcGVydGllc0hlYWQgfSBmcm9tICcuL1NhbXBsaW5nUHJvcGVydGllc0hlYWQnO1xuaW1wb3J0IHsgU2FtcGxpbmdQcm9wZXJ0aWVzSGVhZE1vYmlsZSB9IGZyb20gJy4vU2FtcGxpbmdQcm9wZXJ0aWVzSGVhZE1vYmlsZSc7XG5pbXBvcnQge1xuICBGb3JtVHlwZSxcbiAgVFNhbXBsaW5nUHJvcGVydGllcyxcbiAgY2FuY2VsbGF0aW9uVmFsaWRhdGlvblNjaGVtYSxcbiAgaXNDb2xsZWN0TGF5b3V0LFxuICBwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYSxcbiAgc2FtcGxpbmdQcm9wZXJ0eSxcbiAgY29sbGVjdGlvblRpbWVGb3JtYXQsXG4gIGNvbGxlY3Rpb25UaW1lSW5UaW1lWm9uZSxcbn0gZnJvbSAnLi9zYW1wbGluZ1Byb3BlcnRpZXNVdGlscyc7XG5pbXBvcnQgU2FtcGxlckluUHJvY2VzcyBmcm9tICcuL1NhbXBsZXJJblByb2Nlc3MnO1xuXG5jb25zdCBpc1Byb3BlcnRpZXNQYWdlID0gKHBhZ2VUeXBlKSA9PiBwYWdlVHlwZSA9PT0gJ2VkaXQnO1xuXG5leHBvcnQgY29uc3QgU2FtcGxpbmdQcm9wZXJ0aWVzOiBGQyA9ICgpID0+IHtcbiAgY29uc3QgW2NvbGxlY3Rpb25UaW1lLCBzZXRDb2xsZWN0aW9uVGltZV0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBEYXRlIHwgbnVsbD4oXG4gICAgbmV3IERhdGUoKSxcbiAgKTtcbiAgY29uc3QgW3Bob3Rvcywgc2V0UGhvdG9zXSA9IHVzZVN0YXRlPHN0cmluZyB8IEJsb2IgfCBhbnk+KFtdKTtcbiAgY29uc3QgW3Bob3Rvc1RvRGVsZXRlLCBzZXRQaG90b3NUb0RlbGV0ZV0gPSB1c2VTdGF0ZTxudW1iZXJbXT4oW10pO1xuICBjb25zdCBbc2F2aW5nTXNnLCBzZXRTYXZpbmdNc2ddID0gdXNlU3RhdGU8c3RyaW5nPihpMThuLnQoJ2J1dHRvbnMuc2F2ZScpKTtcbiAgY29uc3QgW3NhbXBsaW5nVXBkYXRlZCwgc2V0U2FtcGxpbmdVcGRhdGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3NhbXBsaW5nUGxhbiwgc2V0U2FtcGxpbmdQbGFuXSA9IHVzZVN0YXRlPFxuICAgIFNhbXBsaW5nRmV0Y2hEYXRhIHwgdW5kZWZpbmVkXG4gID4odW5kZWZpbmVkKTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IHVzZXJJbmZvID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5wZXJtaXNzaW9ucy51c2VyX2luZm8pO1xuICBjb25zdCBkYXRlRm9ybWF0ID1cbiAgICB1c2VySW5mby5kYXRlX3RpbWVfZm9ybWF0ID09PSAndXMnXG4gICAgICA/ICdNTU0gZCwgeXl5eSBoaDptbSBhYSdcbiAgICAgIDogJ2QvTU0veXl5eSBISDptbSc7XG4gIGNvbnN0IHBhZ2VUeXBlID0gdXNlUmVmPHN0cmluZz4oJycpO1xuICBjb25zdCBbc2FtcGxpbmdQcm9wZXJ0aWVzLCBzZXRTYW1wbGluZ1Byb3BlcnRpZXNdID1cbiAgICB1c2VTdGF0ZTxUU2FtcGxpbmdQcm9wZXJ0aWVzPigpO1xuICBjb25zdCB7IHNhbXBsZUlkIH0gPSB1c2VQYXJhbXMoKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgKTtcbiAgY29uc3QgbG9jYWxlID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlLFxuICApO1xuXG4gIGNvbnN0IGluaXRGb3JtaWtWYWx1ZXMgPSAoXG4gICAgc2FtcGxpbmdQcm9wZXJ0aWVzLFxuICAgIGlzQ2FuY2VsZWQsXG4gICAgdGltZVpvbmUsXG4gICAgdXNlckluZm8sXG4gICkgPT4ge1xuICAgIGNvbnN0IHBhZ2VDb2xsZWN0aW9uVGltZSA9IGlzQ29sbGVjdExheW91dChwYWdlVHlwZS5jdXJyZW50KVxuICAgICAgPyBjb2xsZWN0aW9uVGltZVxuICAgICAgOiBjb2xsZWN0aW9uVGltZUZvcm1hdChcbiAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuY29sbGVjdGlvbl90aW1lLFxuICAgICAgICAgIHRpbWVab25lLFxuICAgICAgICApO1xuICAgIGNvbnN0IHNhbSA9IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZztcbiAgICBsZXQgZm9ybWlrVmFsdWVzOiBGb3JtVHlwZSA9IHtcbiAgICAgIGxhYl9pZDogc2FtLmxhYl9pZCxcbiAgICAgIGNvbGxlY3Rpb25fdGltZTogcGFnZUNvbGxlY3Rpb25UaW1lLFxuICAgICAgcHVtcF9zYW1wbGluZ192b2x1bWU6IHNhbS5wdW1wX3NhbXBsaW5nX3ZvbHVtZSxcbiAgICAgIHB1bXBfYmF0dGVyeV9sZXZlbDogc2FtLnB1bXBfYmF0dGVyeV9sZXZlbCxcbiAgICAgIGRlc2NyaXB0aW9uOiBzYW0uZGVzY3JpcHRpb24sXG4gICAgICBrYW5kb19yZXA6IHNhbS5rYW5kb19yZXAsXG4gICAgICBzYW1wbGluZ19wbGFuX2lkOiBzYW0uc2FtcGxpbmdfcGxhbl9pZCxcbiAgICAgIGNhbmNlbGxhdGlvbl9yZWFzb246IHNhbS5jYW5jZWxsYXRpb25fcmVhc29uIHx8ICcnLFxuICAgICAgaXNfY2FuY2VsZWQ6IGlzQ2FuY2VsZWQsXG4gICAgfTtcblxuICAgIGlmIChpc0NhbmNlbGxlZExheW91dChzYW1wbGluZ1Byb3BlcnRpZXMpKVxuICAgICAgZm9ybWlrVmFsdWVzLmNhbmNlbGVkX2J5X2lkID0ge1xuICAgICAgICBuYW1lOlxuICAgICAgICAgIHNhbXBsaW5nUHJvcGVydGllcy5jYW5jZWxlZF9ieV9uYW1lIHx8XG4gICAgICAgICAgdXNlckluZm8uZmlyc3RfbmFtZSArICcgJyArIHVzZXJJbmZvLmxhc3RfbmFtZSxcbiAgICAgICAgaWQ6IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5jYW5jZWxlZF9ieV9pZCB8fCB1c2VySW5mby5pZCxcbiAgICAgIH07XG4gICAgZm9ybWlrVmFsdWVzLmthbmRvX3JlcCA9IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5rYW5kb19yZXA7XG4gICAgZm9ybWlrLnNldFZhbHVlcyhmb3JtaWtWYWx1ZXMpO1xuICB9O1xuXG4gIGNvbnN0IGlzQ2FuY2VsbGVkTGF5b3V0ID0gKHNhbXBsaW5nUHJvcGVydGllcykgPT4ge1xuICAgIGNvbnN0IHBhZ2VUeXBlMmlzQ2FuY2VsbGVkID0ge1xuICAgICAgY2FuY2VsOiB0cnVlLFxuICAgICAgY29sbGVjdDogZmFsc2UsXG4gICAgICByZXZlcnRfY2FuY2VsOiBmYWxzZSxcbiAgICB9O1xuICAgIGxldCBpc0NhbmNlbGVkID0gcGFnZVR5cGUyaXNDYW5jZWxsZWRbcGFnZVR5cGUuY3VycmVudF07XG4gICAgaWYgKGlzQ2FuY2VsZWQgPT09IG51bGwpIHtcbiAgICAgIGlzQ2FuY2VsZWQgPSBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuaXNfY2FuY2VsZWQgfHwgZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBpc0NhbmNlbGVkO1xuICB9O1xuXG4gIGNvbnN0IGZldGNoU2FtcGxpbmdQcm9wZXJ0aWVzID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHNhbXBsaW5nSWQgPSBzYW1wbGVJZCwgb3ApID0+IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MuZ2V0KFxuICAgICAgICB1cmxzKHsgc2FtcGxpbmdJZDogc2FtcGxpbmdJZCB9KS5zYW1wbGluZ1Byb3BlcnRpZXMuZmV0Y2hTYW1wbGluZy51cmwsXG4gICAgICApO1xuICAgICAgY29uc3Qgc2FtcGxpbmcgPSByZXNwb25zZS5kYXRhO1xuICAgICAgY29uc3Qgc2FtcGxpbmdQcm9wZXJ0aWVzID0gc2FtcGxpbmcuc2FtcGxpbmdfcHJvcGVydGllcztcbiAgICAgIHBhZ2VUeXBlLmN1cnJlbnQgPSBkZXRlY3RQYWdlVHlwZShcbiAgICAgICAgc2FtcGxpbmdQcm9wZXJ0aWVzLnNhbXBsaW5nLmlzX2NhbmNlbGVkLFxuICAgICAgICBvcCxcbiAgICAgICk7XG4gICAgICBzZXRDb2xsZWN0aW9uVGltZShcbiAgICAgICAgZGV0ZXJtaW5lQ29sbGVjdGlvblRpbWUoXG4gICAgICAgICAgY29sbGVjdGlvblRpbWVGb3JtYXQoXG4gICAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuY29sbGVjdGlvbl90aW1lLFxuICAgICAgICAgICAgc2FtcGxpbmcuc2FtcGxpbmdfcGxhbi50aW1lX3pvbmUsXG4gICAgICAgICAgKSxcbiAgICAgICAgICBvcCxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgICBsZXQgaXNDYW5jZWxlZCA9IGlzQ2FuY2VsbGVkTGF5b3V0KFxuICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuaXNfY2FuY2VsZWQsXG4gICAgICApO1xuICAgICAgaW5pdEZvcm1pa1ZhbHVlcyhcbiAgICAgICAgc2FtcGxpbmdQcm9wZXJ0aWVzLFxuICAgICAgICBpc0NhbmNlbGVkLFxuICAgICAgICBzYW1wbGluZy5zYW1wbGluZ19wbGFuLnRpbWVfem9uZSxcbiAgICAgICAgdXNlckluZm8sXG4gICAgICApO1xuICAgICAgc2V0U2FtcGxpbmdQcm9wZXJ0aWVzKHNhbXBsaW5nUHJvcGVydGllcyk7XG4gICAgICBzZXRTYW1wbGluZ1BsYW4oc2FtcGxpbmcuc2FtcGxpbmdfcGxhbik7XG4gICAgfSxcbiAgICBbXSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZldGNoU2FtcGxpbmdQcm9wZXJ0aWVzKHNhbXBsZUlkLCBnZXRVcmxRdWVyeU9wKCkpO1xuICB9LCBbc2FtcGxpbmdVcGRhdGVkXSk7XG5cbiAgY29uc3QgdmFsaWRhdGlvblNjaGVtYSA9IGlzQ29sbGVjdExheW91dChwYWdlVHlwZS5jdXJyZW50KVxuICAgID8gcHJvcGVydGllc1ZhbGlkYXRpb25TY2hlbWFcbiAgICA6IGNhbmNlbGxhdGlvblZhbGlkYXRpb25TY2hlbWE7XG4gIGNvbnN0IGZvcm1payA9IHVzZUZvcm1pazxGb3JtaWtDb25maWc8Rm9ybVR5cGU+Pih7XG4gICAgZW5hYmxlUmVpbml0aWFsaXplOiB0cnVlLFxuICAgIGluaXRpYWxWYWx1ZXM6IHNhbXBsaW5nUHJvcGVydHksXG4gICAgdmFsaWRhdGlvblNjaGVtYTogdmFsaWRhdGlvblNjaGVtYSxcbiAgICB2YWxpZGF0ZU9uQ2hhbmdlOiBmYWxzZSxcbiAgICB2YWxpZGF0ZU9uQmx1cjogdHJ1ZSxcbiAgICBvblN1Ym1pdDogKHZhbHVlcykgPT4ge1xuICAgICAgaGFuZGxlU3VibWl0KHZhbHVlcyk7XG4gICAgfSxcbiAgfSk7XG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgaWYgKGxvY2F0aW9uLmtleSkge1xuICAgICAgaGlzdG9yeS5nb0JhY2soKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGlzdG9yeS5wdXNoKFxuICAgICAgICB1cmxzKHsgbG9jYWxlLCB3YXRlckF1dGhvcml0eUlkIH0pLnNhbXBsaW5nc1BhZ2Uuc2FtcGxpbmdzTGlzdFJvdXRlLnVybCxcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1Ym1pdCA9ICh2YWx1ZXMpID0+IHtcbiAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLnNhdmluZycpKTtcbiAgICB2YWx1ZXMucGljdHVyZXNfYXR0cmlidXRlcyA9IHBob3RvcztcbiAgICBpZiAodmFsdWVzLmNhbmNlbGVkX2J5X2lkICYmIGlzQ2FuY2VsbGVkTGF5b3V0KHNhbXBsaW5nUHJvcGVydGllcykpXG4gICAgICB2YWx1ZXMuY2FuY2VsZWRfYnlfaWQgPVxuICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXM/LnNhbXBsaW5nPy5jYW5jZWxlZF9ieV9pZCB8fCB1c2VySW5mby5pZDtcbiAgICBjb25zdCB0aW1lX3pvbmUgPSBzYW1wbGluZ1BsYW4/LnRpbWVfem9uZSB8fCAnVVRDJztcbiAgICB2YWx1ZXMuY29sbGVjdGlvbl90aW1lID0gY29sbGVjdGlvblRpbWVJblRpbWVab25lKFxuICAgICAgdmFsdWVzLmNvbGxlY3Rpb25fdGltZSxcbiAgICAgIHRpbWVfem9uZSxcbiAgICApO1xuICAgIGNvbnN0IHNhdmVGb3JtRGF0YSA9IGZvcm1EYXRhQnVpbGRlcih2YWx1ZXMpO1xuICAgIHVwZGF0ZU9yQ3JlYXRlKHNhdmVGb3JtRGF0YSk7XG4gIH07XG5cbiAgY29uc3Qgc2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0ID0gKCkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2V0U2F2aW5nTXNnKGkxOG4udCgnYnV0dG9ucy5zYXZlJykpO1xuICAgIH0sIDMwMDApO1xuICB9O1xuXG4gIGNvbnN0IGZvcm1EYXRhQnVpbGRlciA9ICh2YWx1ZXMpID0+IHtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvciAoY29uc3Qga2V5IGluIHZhbHVlcykge1xuICAgICAgaWYgKGtleSAhPT0gJ3BpY3R1cmVzX2F0dHJpYnV0ZXMnKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVzW2tleV0gPT09IG51bGwgPyAnJyA6IHZhbHVlc1trZXldO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoYHNhbXBsaW5nWyR7a2V5fV1gLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGxldCB1bmlxdWVQaG90b3NUb0RlbGV0ZSA9IFsuLi5uZXcgU2V0KHBob3Rvc1RvRGVsZXRlKV07XG4gICAgdW5pcXVlUGhvdG9zVG9EZWxldGUubGVuZ3RoICE9PSAwICYmXG4gICAgICB1bmlxdWVQaG90b3NUb0RlbGV0ZS5mb3JFYWNoKChpZCwgaW5kZXgpID0+IHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKFxuICAgICAgICAgIGBzYW1wbGluZ1twaWN0dXJlc19hdHRyaWJ1dGVzXVske2luZGV4fV1baWRdYCxcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShpZCksXG4gICAgICAgICk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChcbiAgICAgICAgICBgc2FtcGxpbmdbcGljdHVyZXNfYXR0cmlidXRlc11bJHtpbmRleH1dW19kZXN0cm95XWAsXG4gICAgICAgICAgJ3RydWUnLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgcmV0dXJuIGZvcm1EYXRhO1xuICB9O1xuXG4gIGNvbnN0IHVwZGF0ZU9yQ3JlYXRlID0gYXN5bmMgKGZvcm1EYXRhKSA9PiB7XG4gICAgY29uc3QgdXBkYXRlT3JDcmVhdGVTdWNjZXNzID0gKG1zZykgPT4ge1xuICAgICAgc2V0U2F2aW5nTXNnKGkxOG4udChtc2cpKTtcbiAgICAgIHNldFNhbXBsaW5nVXBkYXRlZCh0cnVlKTtcbiAgICAgIHNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCgpO1xuICAgICAgaGFuZGxlQ2xvc2UoKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc2FtcGxpbmdJRCA9IHNhbXBsaW5nUHJvcGVydGllcz8uc2FtcGxpbmc/LmlkO1xuICAgIGlmIChzYW1wbGluZ0lEID09PSBudWxsKSB7XG4gICAgICAvLyBjcmVhdGVcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChcbiAgICAgICAgYHNhbXBsaW5nW2RhdGVdYCxcbiAgICAgICAgZm9ybURhdGEuZ2V0KCdzYW1wbGluZ1tjb2xsZWN0aW9uX3RpbWVdJyksXG4gICAgICApO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgYXhpb3MucG9zdChcbiAgICAgICAgICB1cmxzKHtcbiAgICAgICAgICAgIHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgICAgICAgfSkuc2FtcGxpbmdQcm9wZXJ0aWVzLmNyZWF0ZVNhbXBsaW5nLnVybCxcbiAgICAgICAgICBmb3JtRGF0YSxcbiAgICAgICAgKTtcbiAgICAgICAgdXBkYXRlT3JDcmVhdGVTdWNjZXNzKCdidXR0b25zLmNyZWF0ZWQnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgc2V0U2F2aW5nTXNnKGkxOG4udCgnYnV0dG9ucy5lcnJvcicpKTtcbiAgICAgICAgc2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0KCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwYWdlVHlwZS5jdXJyZW50ID09PSAncmV2ZXJ0X2NhbmNlbCcpIHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKGBzYW1wbGluZ1tjb2xsZWN0aW9uX3RpbWVdYCwgY29sbGVjdGlvblRpbWUpO1xuICAgICAgfVxuICAgICAgLy8gdXBkYXRlXG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBheGlvcy5wdXQoXG4gICAgICAgICAgdXJscyh7IHNhbXBsaW5nSWQ6IHNhbXBsaW5nSUQsIHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQgfSlcbiAgICAgICAgICAgIC5zYW1wbGluZ1Byb3BlcnRpZXMudXBkYXRlU2FtcGxpbmcudXJsLFxuICAgICAgICAgIGZvcm1EYXRhLFxuICAgICAgICApO1xuICAgICAgICB1cGRhdGVPckNyZWF0ZVN1Y2Nlc3MoJ2J1dHRvbnMudXBkYXRlZCcpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLmVycm9yJykpO1xuICAgICAgICBzZXRPcmlnaW5hbFNhdmVNZXNzYWdlV2l0aFRpbWVvdXQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZGV0ZWN0UGFnZVR5cGUgPSAoaXNTYW1wbGluZ0NhbmNlbGxlZCwgb3ApID0+IHtcbiAgICBjb25zdCBlZGl0UGFnZVZhbHVlID0gaXNTYW1wbGluZ0NhbmNlbGxlZCA/ICdjYW5jZWwnIDogJ2NvbGxlY3QnO1xuICAgIGlmIChvcCA9PT0gJ2VkaXQnKSB7XG4gICAgICByZXR1cm4gZWRpdFBhZ2VWYWx1ZTtcbiAgICB9IGVsc2UgaWYgKG9wID09PSBDT0xMRUNUX1NBTVBMSU5HX09QKSB7XG4gICAgICByZXR1cm4gJ2NvbGxlY3QnO1xuICAgIH0gZWxzZSBpZiAob3AgPT09IENBTkNFTF9TQU1QTElOR19PUCkge1xuICAgICAgcmV0dXJuICdjYW5jZWwnO1xuICAgIH0gZWxzZSBpZiAob3AgPT09IFJFVkVSVF9DQU5DRUxMQVRJT04pIHtcbiAgICAgIHJldHVybiAncmV2ZXJ0X2NhbmNlbCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBlZGl0UGFnZVZhbHVlO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBkZXRlcm1pbmVDb2xsZWN0aW9uVGltZSA9IChzZXJ2ZXJDb2xsZWN0aW9uVGltZSwgb3ApID0+IHtcbiAgICBjb25zdCBjdXJyZW50VGltZSA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3Qgc2VydmVyVGltZSA9IHNlcnZlckNvbGxlY3Rpb25UaW1lXG4gICAgICA/IG5ldyBEYXRlKHNlcnZlckNvbGxlY3Rpb25UaW1lKVxuICAgICAgOiBjdXJyZW50VGltZTtcbiAgICBjb25zdCBlZGl0UGFnZVZhbHVlID0gc2VydmVyQ29sbGVjdGlvblRpbWUgPyBzZXJ2ZXJUaW1lIDogY3VycmVudFRpbWU7XG4gICAgaWYgKG9wID09PSAnZWRpdCcpIHtcbiAgICAgIHJldHVybiBlZGl0UGFnZVZhbHVlO1xuICAgIH0gZWxzZSBpZiAob3AgPT09IENPTExFQ1RfU0FNUExJTkdfT1ApIHtcbiAgICAgIHJldHVybiBjdXJyZW50VGltZTtcbiAgICB9IGVsc2UgaWYgKFtDQU5DRUxfU0FNUExJTkdfT1AsIFJFVkVSVF9DQU5DRUxMQVRJT05dLmluY2x1ZGVzKG9wKSkge1xuICAgICAgcmV0dXJuIHNlcnZlclRpbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBlZGl0UGFnZVZhbHVlO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBnZXRVcmxRdWVyeU9wID0gKCkgPT4ge1xuICAgIGxldCBvcCA9IHF1ZXJ5LmdldCgnb3AnKTtcbiAgICAvLyBpZiBub3QgcHJlc2VudCB0aGVuIGRlZmF1bHQgb3AgaXMgJ2NvbGxlY3RpbmcnXG4gICAgaWYgKFt1bmRlZmluZWQsIG51bGwsICcnXS5pbmNsdWRlcyhvcCkpIHtcbiAgICAgIHJldHVybiBDT0xMRUNUX1NBTVBMSU5HX09QO1xuICAgIH1cbiAgICByZXR1cm4gb3A7XG4gIH07XG5cbiAgaWYgKCFzYW1wbGluZ1BsYW4gfHwgIXNhbXBsaW5nUHJvcGVydGllcykge1xuICAgIHJldHVybiA8U3Bpbm5lciAvPjtcbiAgfVxuXG4gIGlmIChzYW1wbGluZ1Byb3BlcnRpZXMuaXNfcHVtcF9pbl9wcm9ncmVzcykge1xuICAgIHJldHVybiA8U2FtcGxlckluUHJvY2VzcyBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9IC8+O1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Zm9ybSBvblN1Ym1pdD17Zm9ybWlrLmhhbmRsZVN1Ym1pdH0+XG4gICAgICA8TGF5b3V0PlxuICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzU3R5bGU+XG4gICAgICAgICAgeyFpc01vYmlsZSAmJiAoXG4gICAgICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzSGVhZFxuICAgICAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXM9e3NhbXBsaW5nUHJvcGVydGllc31cbiAgICAgICAgICAgICAgc2FtcGxpbmc9e3NhbXBsaW5nUGxhbn1cbiAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZS5jdXJyZW50fVxuICAgICAgICAgICAgICBjb2xsZWN0aW9uVGltZT17Y29sbGVjdGlvblRpbWV9XG4gICAgICAgICAgICAgIHNldENvbGxlY3Rpb25UaW1lPXtzZXRDb2xsZWN0aW9uVGltZX1cbiAgICAgICAgICAgICAgc2V0U2FtcGxpbmdVcGRhdGVkPXtzZXRTYW1wbGluZ1VwZGF0ZWR9XG4gICAgICAgICAgICAgIGlzRGF0ZVBpY2tlckRpc2FibGVkPXtpc1Byb3BlcnRpZXNQYWdlKHBhZ2VUeXBlKX1cbiAgICAgICAgICAgICAgZGF0ZUZvcm1hdD17ZGF0ZUZvcm1hdH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtpc01vYmlsZSAmJiAoXG4gICAgICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzSGVhZE1vYmlsZVxuICAgICAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXM9e3NhbXBsaW5nUHJvcGVydGllc31cbiAgICAgICAgICAgICAgc2FtcGxpbmc9e3NhbXBsaW5nUGxhbn1cbiAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZS5jdXJyZW50fVxuICAgICAgICAgICAgICBjb2xsZWN0aW9uVGltZT17Y29sbGVjdGlvblRpbWV9XG4gICAgICAgICAgICAgIHNldENvbGxlY3Rpb25UaW1lPXtzZXRDb2xsZWN0aW9uVGltZX1cbiAgICAgICAgICAgICAgc2V0U2FtcGxpbmdVcGRhdGVkPXtzZXRTYW1wbGluZ1VwZGF0ZWR9XG4gICAgICAgICAgICAgIGlzRGF0ZVBpY2tlckRpc2FibGVkPXtpc1Byb3BlcnRpZXNQYWdlKHBhZ2VUeXBlKX1cbiAgICAgICAgICAgICAgZGF0ZUZvcm1hdD17ZGF0ZUZvcm1hdH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtzYW1wbGluZ1Byb3BlcnRpZXMgJiYgcGFnZVR5cGUgJiYgKFxuICAgICAgICAgICAgPFNhbXBsaW5nUHJvcGVydGllc0Zvcm1cbiAgICAgICAgICAgICAgc2FtcGxpbmdQcm9wZXJ0aWVzPXtzYW1wbGluZ1Byb3BlcnRpZXN9XG4gICAgICAgICAgICAgIHNhbXBsaW5nPXtzYW1wbGluZ1BsYW59XG4gICAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZS5jdXJyZW50fVxuICAgICAgICAgICAgICBzZXRTYW1wbGluZ1VwZGF0ZWQ9e3NldFNhbXBsaW5nVXBkYXRlZH1cbiAgICAgICAgICAgICAgc2F2aW5nTXNnPXtzYXZpbmdNc2d9XG4gICAgICAgICAgICAgIGhhbmRsZUNsb3NlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgICAgICAgc2V0UGhvdG9zVG9EZWxldGU9e3NldFBob3Rvc1RvRGVsZXRlfVxuICAgICAgICAgICAgICBzZXRQaG90b3M9e3NldFBob3Rvc31cbiAgICAgICAgICAgICAgcGhvdG9zPXtwaG90b3N9XG4gICAgICAgICAgICAgIGZvcm1paz17Zm9ybWlrfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NhbXBsaW5nUHJvcGVydGllc1N0eWxlPlxuICAgICAgPC9MYXlvdXQ+XG4gICAgPC9mb3JtPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsa0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFdBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLE9BQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFRLEtBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFVLFFBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLEtBQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLE9BQUEsR0FBQVosT0FBQTtBQUNBLElBQUFhLG1CQUFBLEdBQUFiLE9BQUE7QUFNQSxJQUFBYyx1QkFBQSxHQUFBZCxPQUFBO0FBQ0EsSUFBQWUsdUJBQUEsR0FBQWYsT0FBQTtBQUNBLElBQUFnQiw2QkFBQSxHQUFBaEIsT0FBQTtBQUNBLElBQUFpQix3QkFBQSxHQUFBakIsT0FBQTtB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
359
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfYXhpb3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0RGV2aWNlRGV0ZWN0IiwiX2Zvcm1payIsIl9yZWFjdFJvdXRlckRvbSIsIl9yZWFjdFJlZHV4IiwiX0xheW91dCIsIl9pMThuIiwiX3VzZVF1ZXJ5VVJMIiwiX1NwaW5uZXIiLCJfdXJscyIsIl9zdHlsZXMiLCJfc2FtcGxpbmdzUGFnZVV0aWxzIiwiX1NhbXBsaW5nUHJvcGVydGllc0Zvcm0iLCJfU2FtcGxpbmdQcm9wZXJ0aWVzSGVhZCIsIl9TYW1wbGluZ1Byb3BlcnRpZXNIZWFkTW9iaWxlIiwiX3NhbXBsaW5nUHJvcGVydGllc1V0aWxzIiwiX1NhbXBsZXJJblByb2Nlc3MiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsImlzUHJvcGVydGllc1BhZ2UiLCJwYWdlVHlwZSIsIlNhbXBsaW5nUHJvcGVydGllcyIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiRGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJjb2xsZWN0aW9uVGltZSIsInNldENvbGxlY3Rpb25UaW1lIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJwaG90b3MiLCJzZXRQaG90b3MiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsInBob3Rvc1RvRGVsZXRlIiwic2V0UGhvdG9zVG9EZWxldGUiLCJfdXNlU3RhdGU3IiwiaTE4biIsInQiLCJfdXNlU3RhdGU4Iiwic2F2aW5nTXNnIiwic2V0U2F2aW5nTXNnIiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTEwIiwic2FtcGxpbmdVcGRhdGVkIiwic2V0U2FtcGxpbmdVcGRhdGVkIiwiX3VzZVN0YXRlMTEiLCJ1bmRlZmluZWQiLCJfdXNlU3RhdGUxMiIsInNhbXBsaW5nUGxhbiIsInNldFNhbXBsaW5nUGxhbiIsImhpc3RvcnkiLCJ1c2VIaXN0b3J5IiwibG9jYXRpb24iLCJ1c2VMb2NhdGlvbiIsInF1ZXJ5IiwidXNlUXVlcnlVUkwiLCJ1c2VySW5mbyIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwZXJtaXNzaW9ucyIsInVzZXJfaW5mbyIsImRhdGVGb3JtYXQiLCJkYXRlX3RpbWVfZm9ybWF0IiwidXNlUmVmIiwiX3VzZVN0YXRlMTMiLCJfdXNlU3RhdGUxNCIsInNhbXBsaW5nUHJvcGVydGllcyIsInNldFNhbXBsaW5nUHJvcGVydGllcyIsIl91c2VQYXJhbXMiLCJ1c2VQYXJhbXMiLCJzYW1wbGVJZCIsIndhdGVyQXV0aG9yaXR5SWQiLCJnbG9iYWxfZGF0YSIsImxvY2FsZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJuYXZDb250ZXh0IiwiaW5pdEZvcm1pa1ZhbHVlcyIsImlzQ2FuY2VsZWQiLCJ0aW1lWm9uZSIsInBhZ2VDb2xsZWN0aW9uVGltZSIsImlzQ29sbGVjdExheW91dCIsImN1cnJlbnQiLCJjb2xsZWN0aW9uVGltZUZvcm1hdCIsInNhbXBsaW5nIiwiY29sbGVjdGlvbl90aW1lIiwic2FtIiwiZm9ybWlrVmFsdWVzIiwibGFiX2lkIiwicHVtcF9zYW1wbGluZ192b2x1bWUiLCJwdW1wX2JhdHRlcnlfbGV2ZWwiLCJkZXNjcmlwdGlvbiIsImthbmRvX3JlcCIsInNhbXBsaW5nX3BsYW5faWQiLCJjYW5jZWxsYXRpb25fcmVhc29uIiwiaXNfY2FuY2VsZWQiLCJpc0NhbmNlbGxlZExheW91dCIsImNhbmNlbGVkX2J5X2lkIiwibmFtZSIsImNhbmNlbGVkX2J5X25hbWUiLCJpZCIsImZvcm1payIsInNldFZhbHVlcyIsInBhZ2VUeXBlMmlzQ2FuY2VsbGVkIiwiY2FuY2VsIiwiY29sbGVjdCIsInJldmVydF9jYW5jZWwiLCJmZXRjaFNhbXBsaW5nUHJvcGVydGllcyIsInVzZUNhbGxiYWNrIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJzYW1wbGluZ0lkIiwib3AiLCJyZXNwb25zZSIsIl9hcmdzIiwiYXJndW1lbnRzIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImxlbmd0aCIsImF4aW9zIiwidXJscyIsImZldGNoU2FtcGxpbmciLCJ1cmwiLCJzZW50IiwiZGF0YSIsInNhbXBsaW5nX3Byb3BlcnRpZXMiLCJkZXRlY3RQYWdlVHlwZSIsImRldGVybWluZUNvbGxlY3Rpb25UaW1lIiwic2FtcGxpbmdfcGxhbiIsInRpbWVfem9uZSIsInN0b3AiLCJ1c2VFZmZlY3QiLCJnZXRVcmxRdWVyeU9wIiwidmFsaWRhdGlvblNjaGVtYSIsInByb3BlcnRpZXNWYWxpZGF0aW9uU2NoZW1hIiwiY2FuY2VsbGF0aW9uVmFsaWRhdGlvblNjaGVtYSIsInVzZUZvcm1payIsImVuYWJsZVJlaW5pdGlhbGl6ZSIsImluaXRpYWxWYWx1ZXMiLCJzYW1wbGluZ1Byb3BlcnR5IiwidmFsaWRhdGVPbkNoYW5nZSIsInZhbGlkYXRlT25CbHVyIiwib25TdWJtaXQiLCJ2YWx1ZXMiLCJoYW5kbGVTdWJtaXQiLCJoYW5kbGVDbG9zZSIsImdvQmFjayIsInB1c2giLCJzYW1wbGluZ3NQYWdlIiwic2FtcGxpbmdzTGlzdFJvdXRlIiwicGljdHVyZXNfYXR0cmlidXRlcyIsImNvbGxlY3Rpb25UaW1lSW5UaW1lWm9uZSIsInNhdmVGb3JtRGF0YSIsImZvcm1EYXRhQnVpbGRlciIsInVwZGF0ZU9yQ3JlYXRlIiwic2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0Iiwic2V0VGltZW91dCIsImZvcm1EYXRhIiwiRm9ybURhdGEiLCJ2YWx1ZSIsImFwcGVuZCIsImNvbmNhdCIsInVuaXF1ZVBob3Rvc1RvRGVsZXRlIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsIlNldCIsImZvckVhY2giLCJpbmRleCIsIkpTT04iLCJzdHJpbmdpZnkiLCJfcmVmMiIsIl9jYWxsZWUyIiwiX3NhbXBsaW5nUHJvcGVydGllcyRzIiwidXBkYXRlT3JDcmVhdGVTdWNjZXNzIiwic2FtcGxpbmdJRCIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsIm1zZyIsInBvc3QiLCJjcmVhdGVTYW1wbGluZyIsInQwIiwicHV0IiwidXBkYXRlU2FtcGxpbmciLCJ0MSIsIl94IiwiYXBwbHkiLCJpc1NhbXBsaW5nQ2FuY2VsbGVkIiwiZWRpdFBhZ2VWYWx1ZSIsIkNPTExFQ1RfU0FNUExJTkdfT1AiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJSRVZFUlRfQ0FOQ0VMTEFUSU9OIiwic2VydmVyQ29sbGVjdGlvblRpbWUiLCJjdXJyZW50VGltZSIsInNlcnZlclRpbWUiLCJpbmNsdWRlcyIsImNyZWF0ZUVsZW1lbnQiLCJTcGlubmVyIiwiaXNfcHVtcF9pbl9wcm9ncmVzcyIsIlNhbXBsaW5nUHJvcGVydGllc1N0eWxlIiwiaXNNb2JpbGUiLCJTYW1wbGluZ1Byb3BlcnRpZXNIZWFkIiwiaXNEYXRlUGlja2VyRGlzYWJsZWQiLCJTYW1wbGluZ1Byb3BlcnRpZXNIZWFkTW9iaWxlIiwiU2FtcGxpbmdQcm9wZXJ0aWVzRm9ybSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFnZXMvU2FtcGxpbmdzUGFnZS9TYW1wbGluZ1Byb3BlcnRpZXMvU2FtcGxpbmdQcm9wZXJ0aWVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHJvcGVydGllcyBhbmQgQ2FuY2VsbGluZyBmb3Jtcy5cbiAqKi9cbmltcG9ydCBSZWFjdCwgeyBGQywgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBGb3JtaWtDb25maWcgfSBmcm9tICdmb3JtaWsvZGlzdC90eXBlcyc7XG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJ3JlYWN0LWRldmljZS1kZXRlY3QnO1xuaW1wb3J0IHsgdXNlRm9ybWlrIH0gZnJvbSAnZm9ybWlrJztcbmltcG9ydCB7IHVzZUhpc3RvcnksIHVzZVBhcmFtcywgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG5pbXBvcnQgTGF5b3V0IGZyb20gJ3NyYy91aS1raXQvTGF5b3V0L0xheW91dCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJ3NyYy9ob29rcy91c2VRdWVyeVVSTCc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3VybHMnO1xuaW1wb3J0IHsgU2FtcGxpbmdQcm9wZXJ0aWVzU3R5bGUgfSBmcm9tICcuL3N0eWxlcyc7XG5pbXBvcnQge1xuICBDQU5DRUxfU0FNUExJTkdfT1AsXG4gIENPTExFQ1RfU0FNUExJTkdfT1AsXG4gIFJFVkVSVF9DQU5DRUxMQVRJT04sXG4gIFNhbXBsaW5nRmV0Y2hEYXRhLFxufSBmcm9tICcuLi9zYW1wbGluZ3NQYWdlVXRpbHMnO1xuaW1wb3J0IHsgU2FtcGxpbmdQcm9wZXJ0aWVzRm9ybSB9IGZyb20gJy4vU2FtcGxpbmdQcm9wZXJ0aWVzRm9ybSc7XG5pbXBvcnQgeyBTYW1wbGluZ1Byb3BlcnRpZXNIZWFkIH0gZnJvbSAnLi9TYW1wbGluZ1Byb3BlcnRpZXNIZWFkJztcbmltcG9ydCB7IFNhbXBsaW5nUHJvcGVydGllc0hlYWRNb2JpbGUgfSBmcm9tICcuL1NhbXBsaW5nUHJvcGVydGllc0hlYWRNb2JpbGUnO1xuaW1wb3J0IHtcbiAgRm9ybVR5cGUsXG4gIFRTYW1wbGluZ1Byb3BlcnRpZXMsXG4gIGNhbmNlbGxhdGlvblZhbGlkYXRpb25TY2hlbWEsXG4gIGlzQ29sbGVjdExheW91dCxcbiAgcHJvcGVydGllc1ZhbGlkYXRpb25TY2hlbWEsXG4gIHNhbXBsaW5nUHJvcGVydHksXG4gIGNvbGxlY3Rpb25UaW1lRm9ybWF0LFxuICBjb2xsZWN0aW9uVGltZUluVGltZVpvbmUsXG59IGZyb20gJy4vc2FtcGxpbmdQcm9wZXJ0aWVzVXRpbHMnO1xuaW1wb3J0IFNhbXBsZXJJblByb2Nlc3MgZnJvbSAnLi9TYW1wbGVySW5Qcm9jZXNzJztcblxuY29uc3QgaXNQcm9wZXJ0aWVzUGFnZSA9IChwYWdlVHlwZSkgPT4gcGFnZVR5cGUgPT09ICdlZGl0JztcblxuZXhwb3J0IGNvbnN0IFNhbXBsaW5nUHJvcGVydGllczogRkMgPSAoKSA9PiB7XG4gIGNvbnN0IFtjb2xsZWN0aW9uVGltZSwgc2V0Q29sbGVjdGlvblRpbWVdID0gdXNlU3RhdGU8c3RyaW5nIHwgRGF0ZSB8IG51bGw+KFxuICAgIG5ldyBEYXRlKCksXG4gICk7XG4gIGNvbnN0IFtwaG90b3MsIHNldFBob3Rvc10gPSB1c2VTdGF0ZTxzdHJpbmcgfCBCbG9iIHwgYW55PihbXSk7XG4gIGNvbnN0IFtwaG90b3NUb0RlbGV0ZSwgc2V0UGhvdG9zVG9EZWxldGVdID0gdXNlU3RhdGU8bnVtYmVyW10+KFtdKTtcbiAgY29uc3QgW3NhdmluZ01zZywgc2V0U2F2aW5nTXNnXSA9IHVzZVN0YXRlPHN0cmluZz4oaTE4bi50KCdidXR0b25zLnNhdmUnKSk7XG4gIGNvbnN0IFtzYW1wbGluZ1VwZGF0ZWQsIHNldFNhbXBsaW5nVXBkYXRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzYW1wbGluZ1BsYW4sIHNldFNhbXBsaW5nUGxhbl0gPSB1c2VTdGF0ZTxcbiAgICBTYW1wbGluZ0ZldGNoRGF0YSB8IHVuZGVmaW5lZFxuICA+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCB1c2VySW5mbyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUucGVybWlzc2lvbnMudXNlcl9pbmZvKTtcbiAgY29uc3QgZGF0ZUZvcm1hdCA9XG4gICAgdXNlckluZm8uZGF0ZV90aW1lX2Zvcm1hdCA9PT0gJ3VzJ1xuICAgICAgPyAnTU1NIGQsIHl5eXkgaGg6bW0gYWEnXG4gICAgICA6ICdkL01NL3l5eXkgSEg6bW0nO1xuICBjb25zdCBwYWdlVHlwZSA9IHVzZVJlZjxzdHJpbmc+KCcnKTtcbiAgY29uc3QgW3NhbXBsaW5nUHJvcGVydGllcywgc2V0U2FtcGxpbmdQcm9wZXJ0aWVzXSA9XG4gICAgdXNlU3RhdGU8VFNhbXBsaW5nUHJvcGVydGllcz4oKTtcbiAgY29uc3QgeyBzYW1wbGVJZCB9ID0gdXNlUGFyYW1zKCk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICk7XG4gIGNvbnN0IGxvY2FsZSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZSxcbiAgKTtcblxuICBjb25zdCBpbml0Rm9ybWlrVmFsdWVzID0gKFxuICAgIHNhbXBsaW5nUHJvcGVydGllcyxcbiAgICBpc0NhbmNlbGVkLFxuICAgIHRpbWVab25lLFxuICAgIHVzZXJJbmZvLFxuICApID0+IHtcbiAgICBjb25zdCBwYWdlQ29sbGVjdGlvblRpbWUgPSBpc0NvbGxlY3RMYXlvdXQocGFnZVR5cGUuY3VycmVudClcbiAgICAgID8gY29sbGVjdGlvblRpbWVcbiAgICAgIDogY29sbGVjdGlvblRpbWVGb3JtYXQoXG4gICAgICAgICAgc2FtcGxpbmdQcm9wZXJ0aWVzLnNhbXBsaW5nLmNvbGxlY3Rpb25fdGltZSxcbiAgICAgICAgICB0aW1lWm9uZSxcbiAgICAgICAgKTtcbiAgICBjb25zdCBzYW0gPSBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmc7XG4gICAgbGV0IGZvcm1pa1ZhbHVlczogRm9ybVR5cGUgPSB7XG4gICAgICBsYWJfaWQ6IHNhbS5sYWJfaWQsXG4gICAgICBjb2xsZWN0aW9uX3RpbWU6IHBhZ2VDb2xsZWN0aW9uVGltZSxcbiAgICAgIHB1bXBfc2FtcGxpbmdfdm9sdW1lOiBzYW0ucHVtcF9zYW1wbGluZ192b2x1bWUsXG4gICAgICBwdW1wX2JhdHRlcnlfbGV2ZWw6IHNhbS5wdW1wX2JhdHRlcnlfbGV2ZWwsXG4gICAgICBkZXNjcmlwdGlvbjogc2FtLmRlc2NyaXB0aW9uLFxuICAgICAga2FuZG9fcmVwOiBzYW0ua2FuZG9fcmVwLFxuICAgICAgc2FtcGxpbmdfcGxhbl9pZDogc2FtLnNhbXBsaW5nX3BsYW5faWQsXG4gICAgICBjYW5jZWxsYXRpb25fcmVhc29uOiBzYW0uY2FuY2VsbGF0aW9uX3JlYXNvbiB8fCAnJyxcbiAgICAgIGlzX2NhbmNlbGVkOiBpc0NhbmNlbGVkLFxuICAgIH07XG5cbiAgICBpZiAoaXNDYW5jZWxsZWRMYXlvdXQoc2FtcGxpbmdQcm9wZXJ0aWVzKSlcbiAgICAgIGZvcm1pa1ZhbHVlcy5jYW5jZWxlZF9ieV9pZCA9IHtcbiAgICAgICAgbmFtZTogc2FtcGxpbmdQcm9wZXJ0aWVzLmNhbmNlbGVkX2J5X25hbWUsXG4gICAgICAgIC8vICB8fFxuICAgICAgICAvLyB1c2VySW5mby5maXJzdF9uYW1lICsgJyAnICsgdXNlckluZm8ubGFzdF9uYW1lLFxuICAgICAgICBpZDogc2FtcGxpbmdQcm9wZXJ0aWVzLnNhbXBsaW5nLmlzX2NhbmNlbGVkXG4gICAgICAgICAgPyBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuY2FuY2VsZWRfYnlfaWRcbiAgICAgICAgICA6IHVzZXJJbmZvLmlkLFxuICAgICAgfTtcbiAgICBmb3JtaWtWYWx1ZXMua2FuZG9fcmVwID0gc2FtcGxpbmdQcm9wZXJ0aWVzLnNhbXBsaW5nLmthbmRvX3JlcDtcbiAgICBmb3JtaWsuc2V0VmFsdWVzKGZvcm1pa1ZhbHVlcyk7XG4gIH07XG5cbiAgY29uc3QgaXNDYW5jZWxsZWRMYXlvdXQgPSAoc2FtcGxpbmdQcm9wZXJ0aWVzKSA9PiB7XG4gICAgY29uc3QgcGFnZVR5cGUyaXNDYW5jZWxsZWQgPSB7XG4gICAgICBjYW5jZWw6IHRydWUsXG4gICAgICBjb2xsZWN0OiBmYWxzZSxcbiAgICAgIHJldmVydF9jYW5jZWw6IGZhbHNlLFxuICAgIH07XG4gICAgbGV0IGlzQ2FuY2VsZWQgPSBwYWdlVHlwZTJpc0NhbmNlbGxlZFtwYWdlVHlwZS5jdXJyZW50XTtcbiAgICBpZiAoaXNDYW5jZWxlZCA9PT0gbnVsbCkge1xuICAgICAgaXNDYW5jZWxlZCA9IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5pc19jYW5jZWxlZCB8fCBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGlzQ2FuY2VsZWQ7XG4gIH07XG5cbiAgY29uc3QgZmV0Y2hTYW1wbGluZ1Byb3BlcnRpZXMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoc2FtcGxpbmdJZCA9IHNhbXBsZUlkLCBvcCkgPT4ge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBheGlvcy5nZXQoXG4gICAgICAgIHVybHMoeyBzYW1wbGluZ0lkOiBzYW1wbGluZ0lkIH0pLnNhbXBsaW5nUHJvcGVydGllcy5mZXRjaFNhbXBsaW5nLnVybCxcbiAgICAgICk7XG4gICAgICBjb25zdCBzYW1wbGluZyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgICBjb25zdCBzYW1wbGluZ1Byb3BlcnRpZXMgPSBzYW1wbGluZy5zYW1wbGluZ19wcm9wZXJ0aWVzO1xuICAgICAgcGFnZVR5cGUuY3VycmVudCA9IGRldGVjdFBhZ2VUeXBlKFxuICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuaXNfY2FuY2VsZWQsXG4gICAgICAgIG9wLFxuICAgICAgKTtcbiAgICAgIHNldENvbGxlY3Rpb25UaW1lKFxuICAgICAgICBkZXRlcm1pbmVDb2xsZWN0aW9uVGltZShcbiAgICAgICAgICBjb2xsZWN0aW9uVGltZUZvcm1hdChcbiAgICAgICAgICAgIHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5jb2xsZWN0aW9uX3RpbWUsXG4gICAgICAgICAgICBzYW1wbGluZy5zYW1wbGluZ19wbGFuLnRpbWVfem9uZSxcbiAgICAgICAgICApLFxuICAgICAgICAgIG9wLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIGxldCBpc0NhbmNlbGVkID0gaXNDYW5jZWxsZWRMYXlvdXQoXG4gICAgICAgIHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5pc19jYW5jZWxlZCxcbiAgICAgICk7XG4gICAgICBpbml0Rm9ybWlrVmFsdWVzKFxuICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXMsXG4gICAgICAgIGlzQ2FuY2VsZWQsXG4gICAgICAgIHNhbXBsaW5nLnNhbXBsaW5nX3BsYW4udGltZV96b25lLFxuICAgICAgICB1c2VySW5mbyxcbiAgICAgICk7XG4gICAgICBzZXRTYW1wbGluZ1Byb3BlcnRpZXMoc2FtcGxpbmdQcm9wZXJ0aWVzKTtcbiAgICAgIHNldFNhbXBsaW5nUGxhbihzYW1wbGluZy5zYW1wbGluZ19wbGFuKTtcbiAgICB9LFxuICAgIFtdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZmV0Y2hTYW1wbGluZ1Byb3BlcnRpZXMoc2FtcGxlSWQsIGdldFVybFF1ZXJ5T3AoKSk7XG4gIH0sIFtzYW1wbGluZ1VwZGF0ZWRdKTtcblxuICBjb25zdCB2YWxpZGF0aW9uU2NoZW1hID0gaXNDb2xsZWN0TGF5b3V0KHBhZ2VUeXBlLmN1cnJlbnQpXG4gICAgPyBwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYVxuICAgIDogY2FuY2VsbGF0aW9uVmFsaWRhdGlvblNjaGVtYTtcbiAgY29uc3QgZm9ybWlrID0gdXNlRm9ybWlrPEZvcm1pa0NvbmZpZzxGb3JtVHlwZT4+KHtcbiAgICBlbmFibGVSZWluaXRpYWxpemU6IHRydWUsXG4gICAgaW5pdGlhbFZhbHVlczogc2FtcGxpbmdQcm9wZXJ0eSxcbiAgICB2YWxpZGF0aW9uU2NoZW1hOiB2YWxpZGF0aW9uU2NoZW1hLFxuICAgIHZhbGlkYXRlT25DaGFuZ2U6IGZhbHNlLFxuICAgIHZhbGlkYXRlT25CbHVyOiB0cnVlLFxuICAgIG9uU3VibWl0OiAodmFsdWVzKSA9PiB7XG4gICAgICBoYW5kbGVTdWJtaXQodmFsdWVzKTtcbiAgICB9LFxuICB9KTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBpZiAobG9jYXRpb24ua2V5KSB7XG4gICAgICBoaXN0b3J5LmdvQmFjaygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBoaXN0b3J5LnB1c2goXG4gICAgICAgIHVybHMoeyBsb2NhbGUsIHdhdGVyQXV0aG9yaXR5SWQgfSkuc2FtcGxpbmdzUGFnZS5zYW1wbGluZ3NMaXN0Um91dGUudXJsLFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKHZhbHVlcykgPT4ge1xuICAgIHNldFNhdmluZ01zZyhpMThuLnQoJ2J1dHRvbnMuc2F2aW5nJykpO1xuICAgIHZhbHVlcy5waWN0dXJlc19hdHRyaWJ1dGVzID0gcGhvdG9zO1xuICAgIC8vIGRlYnVnZ2VyO1xuICAgIC8vIGlmICh2YWx1ZXMuY2FuY2VsZWRfYnlfaWQ/LmlkID4gMCAmJiBpc0NhbmNlbGxlZExheW91dChzYW1wbGluZ1Byb3BlcnRpZXMpKVxuICAgIHZhbHVlcy5jYW5jZWxlZF9ieV9pZCA9IHZhbHVlcy5jYW5jZWxlZF9ieV9pZC5pZDtcbiAgICBjb25zdCB0aW1lX3pvbmUgPSBzYW1wbGluZ1BsYW4/LnRpbWVfem9uZSB8fCAnVVRDJztcbiAgICB2YWx1ZXMuY29sbGVjdGlvbl90aW1lID0gY29sbGVjdGlvblRpbWVJblRpbWVab25lKFxuICAgICAgdmFsdWVzLmNvbGxlY3Rpb25fdGltZSxcbiAgICAgIHRpbWVfem9uZSxcbiAgICApO1xuICAgIGNvbnN0IHNhdmVGb3JtRGF0YSA9IGZvcm1EYXRhQnVpbGRlcih2YWx1ZXMpO1xuICAgIHVwZGF0ZU9yQ3JlYXRlKHNhdmVGb3JtRGF0YSk7XG4gIH07XG5cbiAgY29uc3Qgc2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0ID0gKCkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgc2V0U2F2aW5nTXNnKGkxOG4udCgnYnV0dG9ucy5zYXZlJykpO1xuICAgIH0sIDMwMDApO1xuICB9O1xuXG4gIGNvbnN0IGZvcm1EYXRhQnVpbGRlciA9ICh2YWx1ZXMpID0+IHtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvciAoY29uc3Qga2V5IGluIHZhbHVlcykge1xuICAgICAgaWYgKGtleSAhPT0gJ3BpY3R1cmVzX2F0dHJpYnV0ZXMnKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVzW2tleV0gPT09IG51bGwgPyAnJyA6IHZhbHVlc1trZXldO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoYHNhbXBsaW5nWyR7a2V5fV1gLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGxldCB1bmlxdWVQaG90b3NUb0RlbGV0ZSA9IFsuLi5uZXcgU2V0KHBob3Rvc1RvRGVsZXRlKV07XG4gICAgdW5pcXVlUGhvdG9zVG9EZWxldGUubGVuZ3RoICE9PSAwICYmXG4gICAgICB1bmlxdWVQaG90b3NUb0RlbGV0ZS5mb3JFYWNoKChpZCwgaW5kZXgpID0+IHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKFxuICAgICAgICAgIGBzYW1wbGluZ1twaWN0dXJlc19hdHRyaWJ1dGVzXVske2luZGV4fV1baWRdYCxcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShpZCksXG4gICAgICAgICk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChcbiAgICAgICAgICBgc2FtcGxpbmdbcGljdHVyZXNfYXR0cmlidXRlc11bJHtpbmRleH1dW19kZXN0cm95XWAsXG4gICAgICAgICAgJ3RydWUnLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgcmV0dXJuIGZvcm1EYXRhO1xuICB9O1xuXG4gIGNvbnN0IHVwZGF0ZU9yQ3JlYXRlID0gYXN5bmMgKGZvcm1EYXRhKSA9PiB7XG4gICAgY29uc3QgdXBkYXRlT3JDcmVhdGVTdWNjZXNzID0gKG1zZykgPT4ge1xuICAgICAgc2V0U2F2aW5nTXNnKGkxOG4udChtc2cpKTtcbiAgICAgIHNldFNhbXBsaW5nVXBkYXRlZCh0cnVlKTtcbiAgICAgIHNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCgpO1xuICAgICAgaGFuZGxlQ2xvc2UoKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc2FtcGxpbmdJRCA9IHNhbXBsaW5nUHJvcGVydGllcz8uc2FtcGxpbmc/LmlkO1xuICAgIGlmIChzYW1wbGluZ0lEID09PSBudWxsKSB7XG4gICAgICAvLyBjcmVhdGVcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChcbiAgICAgICAgYHNhbXBsaW5nW2RhdGVdYCxcbiAgICAgICAgZm9ybURhdGEuZ2V0KCdzYW1wbGluZ1tjb2xsZWN0aW9uX3RpbWVdJyksXG4gICAgICApO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgYXhpb3MucG9zdChcbiAgICAgICAgICB1cmxzKHtcbiAgICAgICAgICAgIHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgICAgICAgfSkuc2FtcGxpbmdQcm9wZXJ0aWVzLmNyZWF0ZVNhbXBsaW5nLnVybCxcbiAgICAgICAgICBmb3JtRGF0YSxcbiAgICAgICAgKTtcbiAgICAgICAgdXBkYXRlT3JDcmVhdGVTdWNjZXNzKCdidXR0b25zLmNyZWF0ZWQnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgc2V0U2F2aW5nTXNnKGkxOG4udCgnYnV0dG9ucy5lcnJvcicpKTtcbiAgICAgICAgc2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0KCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwYWdlVHlwZS5jdXJyZW50ID09PSAncmV2ZXJ0X2NhbmNlbCcpIHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKGBzYW1wbGluZ1tjb2xsZWN0aW9uX3RpbWVdYCwgY29sbGVjdGlvblRpbWUpO1xuICAgICAgfVxuICAgICAgLy8gdXBkYXRlXG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBheGlvcy5wdXQoXG4gICAgICAgICAgdXJscyh7IHNhbXBsaW5nSWQ6IHNhbXBsaW5nSUQsIHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQgfSlcbiAgICAgICAgICAgIC5zYW1wbGluZ1Byb3BlcnRpZXMudXBkYXRlU2FtcGxpbmcudXJsLFxuICAgICAgICAgIGZvcm1EYXRhLFxuICAgICAgICApO1xuICAgICAgICB1cGRhdGVPckNyZWF0ZVN1Y2Nlc3MoJ2J1dHRvbnMudXBkYXRlZCcpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLmVycm9yJykpO1xuICAgICAgICBzZXRPcmlnaW5hbFNhdmVNZXNzYWdlV2l0aFRpbWVvdXQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZGV0ZWN0UGFnZVR5cGUgPSAoaXNTYW1wbGluZ0NhbmNlbGxlZCwgb3ApID0+IHtcbiAgICBjb25zdCBlZGl0UGFnZVZhbHVlID0gaXNTYW1wbGluZ0NhbmNlbGxlZCA/ICdjYW5jZWwnIDogJ2NvbGxlY3QnO1xuICAgIGlmIChvcCA9PT0gJ2VkaXQnKSB7XG4gICAgICByZXR1cm4gZWRpdFBhZ2VWYWx1ZTtcbiAgICB9IGVsc2UgaWYgKG9wID09PSBDT0xMRUNUX1NBTVBMSU5HX09QKSB7XG4gICAgICByZXR1cm4gJ2NvbGxlY3QnO1xuICAgIH0gZWxzZSBpZiAob3AgPT09IENBTkNFTF9TQU1QTElOR19PUCkge1xuICAgICAgcmV0dXJuICdjYW5jZWwnO1xuICAgIH0gZWxzZSBpZiAob3AgPT09IFJFVkVSVF9DQU5DRUxMQVRJT04pIHtcbiAgICAgIHJldHVybiAncmV2ZXJ0X2NhbmNlbCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBlZGl0UGFnZVZhbHVlO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBkZXRlcm1pbmVDb2xsZWN0aW9uVGltZSA9IChzZXJ2ZXJDb2xsZWN0aW9uVGltZSwgb3ApID0+IHtcbiAgICBjb25zdCBjdXJyZW50VGltZSA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3Qgc2VydmVyVGltZSA9IHNlcnZlckNvbGxlY3Rpb25UaW1lXG4gICAgICA/IG5ldyBEYXRlKHNlcnZlckNvbGxlY3Rpb25UaW1lKVxuICAgICAgOiBjdXJyZW50VGltZTtcbiAgICBjb25zdCBlZGl0UGFnZVZhbHVlID0gc2VydmVyQ29sbGVjdGlvblRpbWUgPyBzZXJ2ZXJUaW1lIDogY3VycmVudFRpbWU7XG4gICAgaWYgKG9wID09PSAnZWRpdCcpIHtcbiAgICAgIHJldHVybiBlZGl0UGFnZVZhbHVlO1xuICAgIH0gZWxzZSBpZiAob3AgPT09IENPTExFQ1RfU0FNUExJTkdfT1ApIHtcbiAgICAgIHJldHVybiBjdXJyZW50VGltZTtcbiAgICB9IGVsc2UgaWYgKFtDQU5DRUxfU0FNUExJTkdfT1AsIFJFVkVSVF9DQU5DRUxMQVRJT05dLmluY2x1ZGVzKG9wKSkge1xuICAgICAgcmV0dXJuIHNlcnZlclRpbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBlZGl0UGFnZVZhbHVlO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBnZXRVcmxRdWVyeU9wID0gKCkgPT4ge1xuICAgIGxldCBvcCA9IHF1ZXJ5LmdldCgnb3AnKTtcbiAgICAvLyBpZiBub3QgcHJlc2VudCB0aGVuIGRlZmF1bHQgb3AgaXMgJ2NvbGxlY3RpbmcnXG4gICAgaWYgKFt1bmRlZmluZWQsIG51bGwsICcnXS5pbmNsdWRlcyhvcCkpIHtcbiAgICAgIHJldHVybiBDT0xMRUNUX1NBTVBMSU5HX09QO1xuICAgIH1cbiAgICByZXR1cm4gb3A7XG4gIH07XG5cbiAgaWYgKCFzYW1wbGluZ1BsYW4gfHwgIXNhbXBsaW5nUHJvcGVydGllcykge1xuICAgIHJldHVybiA8U3Bpbm5lciAvPjtcbiAgfVxuXG4gIGlmIChzYW1wbGluZ1Byb3BlcnRpZXMuaXNfcHVtcF9pbl9wcm9ncmVzcykge1xuICAgIHJldHVybiA8U2FtcGxlckluUHJvY2VzcyBoYW5kbGVDbG9zZT17aGFuZGxlQ2xvc2V9IC8+O1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Zm9ybSBvblN1Ym1pdD17Zm9ybWlrLmhhbmRsZVN1Ym1pdH0+XG4gICAgICA8TGF5b3V0PlxuICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzU3R5bGU+XG4gICAgICAgICAgeyFpc01vYmlsZSAmJiAoXG4gICAgICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzSGVhZFxuICAgICAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXM9e3NhbXBsaW5nUHJvcGVydGllc31cbiAgICAgICAgICAgICAgc2FtcGxpbmc9e3NhbXBsaW5nUGxhbn1cbiAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZS5jdXJyZW50fVxuICAgICAgICAgICAgICBjb2xsZWN0aW9uVGltZT17Y29sbGVjdGlvblRpbWV9XG4gICAgICAgICAgICAgIHNldENvbGxlY3Rpb25UaW1lPXtzZXRDb2xsZWN0aW9uVGltZX1cbiAgICAgICAgICAgICAgc2V0U2FtcGxpbmdVcGRhdGVkPXtzZXRTYW1wbGluZ1VwZGF0ZWR9XG4gICAgICAgICAgICAgIGlzRGF0ZVBpY2tlckRpc2FibGVkPXtpc1Byb3BlcnRpZXNQYWdlKHBhZ2VUeXBlKX1cbiAgICAgICAgICAgICAgZGF0ZUZvcm1hdD17ZGF0ZUZvcm1hdH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtpc01vYmlsZSAmJiAoXG4gICAgICAgICAgICA8U2FtcGxpbmdQcm9wZXJ0aWVzSGVhZE1vYmlsZVxuICAgICAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXM9e3NhbXBsaW5nUHJvcGVydGllc31cbiAgICAgICAgICAgICAgc2FtcGxpbmc9e3NhbXBsaW5nUGxhbn1cbiAgICAgICAgICAgICAgZm9ybWlrPXtmb3JtaWt9XG4gICAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZS5jdXJyZW50fVxuICAgICAgICAgICAgICBjb2xsZWN0aW9uVGltZT17Y29sbGVjdGlvblRpbWV9XG4gICAgICAgICAgICAgIHNldENvbGxlY3Rpb25UaW1lPXtzZXRDb2xsZWN0aW9uVGltZX1cbiAgICAgICAgICAgICAgc2V0U2FtcGxpbmdVcGRhdGVkPXtzZXRTYW1wbGluZ1VwZGF0ZWR9XG4gICAgICAgICAgICAgIGlzRGF0ZVBpY2tlckRpc2FibGVkPXtpc1Byb3BlcnRpZXNQYWdlKHBhZ2VUeXBlKX1cbiAgICAgICAgICAgICAgZGF0ZUZvcm1hdD17ZGF0ZUZvcm1hdH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHtzYW1wbGluZ1Byb3BlcnRpZXMgJiYgcGFnZVR5cGUgJiYgKFxuICAgICAgICAgICAgPFNhbXBsaW5nUHJvcGVydGllc0Zvcm1cbiAgICAgICAgICAgICAgc2FtcGxpbmdQcm9wZXJ0aWVzPXtzYW1wbGluZ1Byb3BlcnRpZXN9XG4gICAgICAgICAgICAgIHNhbXBsaW5nPXtzYW1wbGluZ1BsYW59XG4gICAgICAgICAgICAgIHBhZ2VUeXBlPXtwYWdlVHlwZS5jdXJyZW50fVxuICAgICAgICAgICAgICBzZXRTYW1wbGluZ1VwZGF0ZWQ9e3NldFNhbXBsaW5nVXBkYXRlZH1cbiAgICAgICAgICAgICAgc2F2aW5nTXNnPXtzYXZpbmdNc2d9XG4gICAgICAgICAgICAgIGhhbmRsZUNsb3NlPXtoYW5kbGVDbG9zZX1cbiAgICAgICAgICAgICAgc2V0UGhvdG9zVG9EZWxldGU9e3NldFBob3Rvc1RvRGVsZXRlfVxuICAgICAgICAgICAgICBzZXRQaG90b3M9e3NldFBob3Rvc31cbiAgICAgICAgICAgICAgcGhvdG9zPXtwaG90b3N9XG4gICAgICAgICAgICAgIGZvcm1paz17Zm9ybWlrfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NhbXBsaW5nUHJvcGVydGllc1N0eWxlPlxuICAgICAgPC9MYXlvdXQ+XG4gICAgPC9mb3JtPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUcsa0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGVBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLFdBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLE9BQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFRLEtBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLFlBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFVLFFBQUEsR0FBQVYsT0FBQTtBQUNBLElBQUFXLEtBQUEsR0FBQVgsT0FBQTtBQUNBLElBQUFZLE9BQUEsR0FBQVosT0FBQTtBQUNBLElBQUFhLG1CQUFBLEdBQUFiLE9BQUE7QUFNQSxJQUFBYyx1QkFBQSxHQUFBZCxPQUFBO0FBQ0EsSUFBQWUsdUJBQUEsR0FBQWYsT0FBQTtBQUNBLElBQUFnQiw2QkFBQSxHQUFBaEIsT0FBQTtBQUNBLElBQUFpQix3QkFBQSxHQUFBakIsT0FBQTtB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
@@ -86,7 +86,7 @@ var SitePage = function SitePage() {
86
86
  });
87
87
  var eventParams = (0, _react.useMemo)(function () {
88
88
  return {
89
- valuesFromKQL: "InterestPointFilterItem IN ( ".concat(siteID, " ) SeverityFilterItem IN ( 1 2 ) TimeFilterItem IN ( ").concat(period, " ) ORDER_BY severity")
89
+ valuesFromKQL: "InterestPointFilterItem IN ( ".concat(siteID, " ) SeverityFilterItem IN ( 1 2 ) TimeFilterItem IN ( ").concat(period, " ) ORDER_BY observed_upstream")
90
90
  };
91
91
  }, [siteID, period]);
92
92
  (0, _react.useEffect)(function () {
@@ -170,4 +170,4 @@ var Sampling = (0, _styledComponents.default)(_SamplingParameters.SamplingParame
170
170
  displayName: "SitePage__Sampling",
171
171
  componentId: "sc-kaw87v-4"
172
172
  })(["grid-area:sites;min-height:100%;"]);
173
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlciIsIl9TaXRlSW5mb3JtYXRpb24iLCJfUXVhbGl0eVN1bW1hcnkiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUG90ZW50aWFsSW1wYWN0U3VtbWFyeSIsIl9MaW5lQ2hhcnQiLCJfRGlzY2hhcmdlUGF0dGVybiIsIl9TYW1wbGluZ1BhcmFtZXRlcnMiLCJfRXZlbnRzUm93IiwiX0FuYWx5dGljcyIsIl9JbmZvVG9vbHRpcCIsIl91cmxzIiwiX0Rhc2hib2FyZCIsIl9Qb2xsdXRpb25Db250cmlidXRvciIsIl9Qb2ludFV0aWxzIiwiX3VzZVF1ZXJ5VVJMIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJmZXRjaFNpdGVEYXRhIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwidXJsIiwic2V0RGF0YSIsInJlc3BvbnNlIiwiZGF0YSIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJmZXRjaCIsInNlbnQiLCJvayIsImpzb24iLCJFcnJvciIsImNvbmNhdCIsInN0YXR1cyIsInN0b3AiLCJfeCIsIl94MiIsImFwcGx5IiwiYXJndW1lbnRzIiwiU2l0ZVBhZ2UiLCJfdXNlU2VsZWN0b3IiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJ3YXRlckF1dGhvcml0eUlkIiwiX3VzZVNlbGVjdG9yMiIsIl9zbGljZWRUb0FycmF5MiIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsInNpdGVEYXRhIiwic2V0U2l0ZURhdGEiLCJfcmVmMiIsInVzZVBhcmFtcyIsInNpdGVJRCIsInF1ZXJ5U2VsZWN0b3IiLCJ1c2VRdWVyeVVSTCIsImlzRGFzaGJvYXJkVGFiIiwicGVyaW9kIiwiZGFzaGJvYXJkIiwiZXZlbnRQYXJhbXMiLCJ1c2VNZW1vIiwidmFsdWVzRnJvbUtRTCIsInVzZUVmZmVjdCIsImFuYWx5dGljc1RyYWNrIiwidXRpbGl0eV9uYW1lIiwic2l0ZURhdGFVcmwiLCJ1cmxzIiwiU2l0ZSIsIm5hbWUiLCJjYXRjaCIsImUiLCJjb25zb2xlIiwiZXJyb3IiLCJtZXNzYWdlIiwiaXNGYWN0b3J5IiwiaXNGYWN0b3J5VHlwZSIsInNpdGVfdHlwZSIsImNyZWF0ZUVsZW1lbnQiLCJicmVhZGNydW1icyIsInBhZ2VOYW1lIiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwic2l0ZV9uYW1lIiwiU2l0ZUluZm9ybWF0aW9uIiwiaXNTaG93TWFwIiwicmVmcmVzaE1hcCIsIlN1bW1hcnlDb21wb25lbnQiLCJlbmRwb2ludCIsIkNvbW1vbkNvbXBvbmVudCIsIkxpbmVDaGFydENvbXBvbmVudCIsInRpdGxlIiwiaTE4biIsInQiLCJEaXNjaGFyZ2VQYXR0ZXJuIiwiTnVtYmVyIiwiSW5mb1Rvb2x0aXAiLCJFdmVudHNSb3ciLCJTYW1wbGluZyIsImV4cG9ydHMiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlF1YWxpdHlTdW1tYXJ5IiwiUG90ZW50aWFsSW1wYWN0U3VtbWFyeSIsIkxpbmVDaGFydCIsIlNhbXBsaW5nUGFyYW1ldGVycyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TaXRlUGFnZS9TaXRlUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVzZVBhcmFtcyB9IGZyb20gJ3JlYWN0LXJvdXRlcic7XG5pbXBvcnQgeyBJU2l0ZUluZm9ybWF0aW9uIH0gZnJvbSAnc3JjL3BhZ2VzL09sZFNpdGVQYWdlL0lEYXNoYm9hcmREYXRhJztcbmltcG9ydCB7IFNpdGVJbmZvcm1hdGlvbiB9IGZyb20gJ3NyYy9wYWdlcy9TaXRlUGFnZS9TaXRlSW5mb3JtYXRpb24vU2l0ZUluZm9ybWF0aW9uJztcbmltcG9ydCB7IFF1YWxpdHlTdW1tYXJ5IH0gZnJvbSAnc3JjL1dpZGdldHMvUXVhbGl0eVN1bW1hcnkvUXVhbGl0eVN1bW1hcnknO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgUG90ZW50aWFsSW1wYWN0U3VtbWFyeSB9IGZyb20gJy4uLy4uL1dpZGdldHMvUG90ZW50aWFsSW1wYWN0U3VtbWFyeSc7XG5pbXBvcnQgeyBMaW5lQ2hhcnQgfSBmcm9tICcuLi9BcmVhUGFnZS9EYXNoYm9hcmQvTGluZUNoYXJ0L0xpbmVDaGFydCc7XG5pbXBvcnQgeyBEaXNjaGFyZ2VQYXR0ZXJuIH0gZnJvbSAnLi9EaXNjaGFyZ2VQYXR0ZXJuL0Rpc2NoYXJnZVBhdHRlcm4nO1xuaW1wb3J0IHsgU2FtcGxpbmdQYXJhbWV0ZXJzIH0gZnJvbSAnLi9TYW1wbGluZ1BhcmFtZXRlcnMvU2FtcGxpbmdQYXJhbWV0ZXJzJztcbmltcG9ydCB7IEV2ZW50c1JvdyB9IGZyb20gJ3NyYy9XaWRnZXRzL0V2ZW50c1Jvdy9FdmVudHNSb3cnO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7IEluZm9Ub29sdGlwIH0gZnJvbSAnc3JjL3VpLWtpdC9JbmZvVG9vbHRpcC9JbmZvVG9vbHRpcCc7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy91cmxzJztcbmltcG9ydCBQYWdlQ29udGFpbmVyIGZyb20gJy4uLy4uL3VpLWtpdC9EYXNoYm9hcmQvRGFzaGJvYXJkJztcbmltcG9ydCBQb2xsdXRpb25Db250cmlidXRvciBmcm9tICcuL1BvbGx1dGlvbkNvbnRyaWJ1dG9yJztcbmltcG9ydCB7IGlzRmFjdG9yeVR5cGUgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvcG9pbnRzL1BvaW50VXRpbHMnO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJ3NyYy9ob29rcy91c2VRdWVyeVVSTCc7XG5cbmNvbnN0IGZldGNoU2l0ZURhdGEgPSBhc3luYyAodXJsOiBzdHJpbmcsIHNldERhdGE6IEZ1bmN0aW9uKSA9PiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKTtcbiAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICBzZXREYXRhKGRhdGEuZGF0YSk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgU2l0ZVBhZ2UgPSAoKSA9PiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICBjb25zdCBbd2F0ZXJBdXRob3JpdHlOYW1lLCB3YXRlckF1dGhvcml0eUlkXSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IFtcbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICAgXSxcbiAgKTtcblxuICBjb25zdCBbc2l0ZURhdGEsIHNldFNpdGVEYXRhXSA9IHVzZVN0YXRlPElTaXRlSW5mb3JtYXRpb24+KCk7XG5cbiAgdHlwZSBoYXNTaXRlSUQgPSB7IHNpdGVJRD86IHN0cmluZyB9O1xuICBjb25zdCB7IHNpdGVJRCB9ID0gdXNlUGFyYW1zKCkgYXMgaGFzU2l0ZUlEO1xuICBjb25zdCBxdWVyeVNlbGVjdG9yID0gdXNlUXVlcnlVUkwoKTtcbiAgY29uc3QgaXNEYXNoYm9hcmRUYWIgPSBxdWVyeVNlbGVjdG9yLmdldCgndmlldycpICE9PSAnbWFwJztcblxuICBjb25zdCBwZXJpb2QgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PlxuICAgICAgc3RhdGUuZGFzaGJvYXJkLnBlcmlvZFsncmFuZ2UnXSB8fCBzdGF0ZS5kYXNoYm9hcmQucGVyaW9kLFxuICApO1xuXG4gIGNvbnN0IGV2ZW50UGFyYW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlc0Zyb21LUUw6IGBJbnRlcmVzdFBvaW50RmlsdGVySXRlbSBJTiAoICR7c2l0ZUlEfSApIFNldmVyaXR5RmlsdGVySXRlbSBJTiAoIDEgMiApIFRpbWVGaWx0ZXJJdGVtIElOICggJHtwZXJpb2R9ICkgT1JERVJfQlkgc2V2ZXJpdHlgLFxuICAgIH07XG4gIH0sIFtzaXRlSUQsIHBlcmlvZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1ZpZXdlZCBTaXRlIFBhZ2UnLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHNpdGVEYXRhVXJsID0gdXJscyh7IHNpdGVJRCwgd2F0ZXJBdXRob3JpdHlJZCB9KS5kYXNoYm9hcmQuU2l0ZS5uYW1lO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNpdGVJRCAmJiB3YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBjb25zdCBzaXRlRGF0YVVybCA9IHVybHMoeyBzaXRlSUQsIHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQgfSlcbiAgICAgICAgLmRhc2hib2FyZC5TaXRlLm5hbWU7XG4gICAgICBmZXRjaFNpdGVEYXRhKHNpdGVEYXRhVXJsLCBzZXRTaXRlRGF0YSkuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignUmVxdWVzdCBlcnJvcjogJyArIGUubWVzc2FnZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtzaXRlSUQsIHdhdGVyQXV0aG9yaXR5SWRdKTtcblxuICBpZiAoIXNpdGVEYXRhKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgaXNGYWN0b3J5ID0gaXNGYWN0b3J5VHlwZShzaXRlRGF0YS5zaXRlX3R5cGUpO1xuXG4gIHJldHVybiAoXG4gICAgPFBhZ2VDb250YWluZXIgYnJlYWRjcnVtYnM9e3NpdGVEYXRhPy5icmVhZGNydW1ic30gcGFnZU5hbWU9eydTaXRlJ30+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGl0bGVcIj57c2l0ZURhdGEuc2l0ZV9uYW1lfTwvaDE+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgZGFzaGJvYXJkICR7aXNGYWN0b3J5ID8gJ2ZhY3RvcnknIDogJyd9YH0+XG4gICAgICAgICAgPFNpdGVJbmZvcm1hdGlvblxuICAgICAgICAgICAgc2l0ZURhdGE9e3NpdGVEYXRhfVxuICAgICAgICAgICAgaXNTaG93TWFwPXtpc0ZhY3Rvcnl9XG4gICAgICAgICAgICByZWZyZXNoTWFwPXtpc0Rhc2hib2FyZFRhYn1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdW1tYXJ5Q29tcG9uZW50XG4gICAgICAgICAgICBlbmRwb2ludD17YC9kYXRhL2V2ZW50cy1jb21wb25lbnQtZGF0YS8ke3NpdGVJRH1gfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPENvbW1vbkNvbXBvbmVudCBlbmRwb2ludD17c2l0ZURhdGFVcmx9IC8+XG4gICAgICAgICAgeyFpc0ZhY3RvcnkgJiYgPFBvbGx1dGlvbkNvbnRyaWJ1dG9yIC8+fVxuICAgICAgICAgIDxMaW5lQ2hhcnRDb21wb25lbnRcbiAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoJ2FyZWFfZGFzaGJvYXJkLnRyZW5kJyl9XG4gICAgICAgICAgICBlbmRwb2ludD17YC9wb2ludHMvJHtzaXRlSUR9L3RyZW5kLWdyYXBoYH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxEaXNjaGFyZ2VQYXR0ZXJuIHNpdGVJRD17TnVtYmVyKHNpdGVJRCl9IC8+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNpZ25pZmljYW50LWV2ZW50c1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPlxuICAgICAgICAgICAgICA8SW5mb1Rvb2x0aXBcbiAgICAgICAgICAgICAgICB0aXRsZT17aTE4bi50KCdhcmVhX2Rhc2hib2FyZC5tb3N0LXNpZ25pZmljYW50LWV2ZW50cycpfVxuICAgICAgICAgICAgICAgIGRhdGE9e2kxOG4udCgnaGVscGVycy5pbmZvX3Rvb2x0aXAubW9zdF9zaWduaWZpY2FudF9ldmVudHMnKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2FyZWFfZGFzaGJvYXJkLm1vc3Qtc2lnbmlmaWNhbnQtZXZlbnRzJyl9XG4gICAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxFdmVudHNSb3cgZW5kcG9pbnQ9e2AvZXZlbnRzLmpzb25gfSBldmVudFBhcmFtcz17ZXZlbnRQYXJhbXN9IC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNpdGVzXCI+XG4gICAgICAgICAgICA8U2FtcGxpbmcgZW5kcG9pbnQ9e2Avc2l0ZXMvJHtzaXRlSUR9L3NhbXBsaW5nLWRhdGEuanNvbmB9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9QYWdlQ29udGFpbmVyPlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTZweDtcblxuICA+IC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbiAgLmRhc2hib2FyZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDI1MHB4IDM0MHB4IDMwMHB4IGF1dG87XG4gICAgZ3JpZC1nYXA6IDQ0cHggMjRweDtcbiAgICBjb2xvcjogIzFkMWQxZDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgPiAuc2l0ZXMge1xuICAgICAgZ3JpZC1hcmVhOiBzaXRlcztcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTk2cHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAnaW5mbyAgc3VtbWFyeSBzdW1tYXJ5IGNvbW1vbidcbiAgICAgICdwb2xsdXRpb25fY29udHJpYnV0b3IgIGdyYXBoIGdyYXBoIHBhdHRlcm4nXG4gICAgICAnZXZlbnRzIGV2ZW50cyBldmVudHMgZXZlbnRzJ1xuICAgICAgJ3NpdGVzIHNpdGVzIHNpdGVzIHNpdGVzJ1xuICAgICAgJ3NpdGVzIHNpdGVzIHNpdGVzIHNpdGVzJztcblxuICAgICYuZmFjdG9yeSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICAnaW5mbyAgc3VtbWFyeSBzdW1tYXJ5IGNvbW1vbidcbiAgICAgICAgJ2luZm8gIGdyYXBoIGdyYXBoIHBhdHRlcm4nXG4gICAgICAgICdldmVudHMgZXZlbnRzIGV2ZW50cyBldmVudHMnXG4gICAgICAgICdzaXRlcyBzaXRlcyBzaXRlcyBzaXRlcydcbiAgICAgICAgJ3NpdGVzIHNpdGVzIHNpdGVzIHNpdGVzJztcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDE1MDBweCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyNTBweCAzMDBweCAyNTBweCAzMDBweCBhdXRvO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDI1MHB4IDMwMHB4IDMwMHB4IDM1MHB4IGF1dG87XG5cbiAgICAgIGdyaWQtZ2FwOiAxMHB4O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgJ2luZm8gaW5mbyBzdW1tYXJ5ICBzdW1tYXJ5J1xuICAgICAgICAncG9sbHV0aW9uX2NvbnRyaWJ1dG9yIHBvbGx1dGlvbl9jb250cmlidXRvciBjb21tb24gY29tbW9uJ1xuICAgICAgICAnZXZlbnRzIGV2ZW50cyBwYXR0ZXJuIHBhdHRlcm4nXG4gICAgICAgICdncmFwaCBncmFwaCBncmFwaCBncmFwaCdcbiAgICAgICAgJ3NpdGVzIHNpdGVzIHNpdGVzIHNpdGVzJztcbiAgICAgICYuZmFjdG9yeSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgJ2luZm8gaW5mbyBzdW1tYXJ5ICBzdW1tYXJ5J1xuICAgICAgICAgICdpbmZvIGluZm8gY29tbW9uIGNvbW1vbidcbiAgICAgICAgICAnZXZlbnRzIGV2ZW50cyBwYXR0ZXJuIHBhdHRlcm4nXG4gICAgICAgICAgJ2dyYXBoIGdyYXBoIGdyYXBoIGdyYXBoJ1xuICAgICAgICAgICdzaXRlcyBzaXRlcyBzaXRlcyBzaXRlcyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5NnB4KSB7XG4gICAgICBncmlkLWdhcDogMTBweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiB1bnNldDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMjUwcHggMjUwcHggMjUwcHggMzAwcHggMzAwcHggMjgwcHggMzAwcHggYXV0bztcblxuICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgJ2luZm8gJ1xuICAgICAgICAnc3VtbWFyeSAgJ1xuICAgICAgICAnY29tbW9uJ1xuICAgICAgICAncG9sbHV0aW9uX2NvbnRyaWJ1dG9yJ1xuICAgICAgICAnZ3JhcGgnXG4gICAgICAgICdldmVudHMnXG4gICAgICAgICdwYXR0ZXJuJ1xuICAgICAgICAnc2l0ZXMgJztcbiAgICAgICYuZmFjdG9yeSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogNDAwcHggMjUwcHggMjUwcHggMzAwcHggMjgwcHggMzAwcHggYXV0bztcblxuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICAgICdpbmZvICdcbiAgICAgICAgICAnc3VtbWFyeSAgJ1xuICAgICAgICAgICdjb21tb24nXG4gICAgICAgICAgJ2dyYXBoJ1xuICAgICAgICAgICdldmVudHMnXG4gICAgICAgICAgJ3BhdHRlcm4nXG4gICAgICAgICAgJ3NpdGVzICc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICBncmlkLWdhcDogMjBweDtcblxuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyNTBweCAzNTBweCAyNTBweCAyODBweCAyODBweCBhdXRvIDMwMHB4O1xuXG4gICAgICAmLmZhY3Rvcnkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDQwMHB4IDQwMHB4IDI1MHB4IDI4MHB4IGF1dG8gMzAwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5ncmFwaCB7XG4gICAgICBncmlkLWFyZWE6IGdyYXBoO1xuICAgIH1cbiAgICAuc2lnbmlmaWNhbnQtZXZlbnRzIHtcbiAgICAgID4gLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTQ1MHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lnbmlmaWNhbnQtZXZlbnRzIHtcbiAgICAgIGdyaWQtYXJlYTogZXZlbnRzO1xuICAgIH1cblxuICAgIC5tYXAtYm94IHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBTdW1tYXJ5Q29tcG9uZW50ID0gc3R5bGVkKFF1YWxpdHlTdW1tYXJ5KWBcbiAgZ3JpZC1hcmVhOiBzdW1tYXJ5O1xuYDtcblxuY29uc3QgQ29tbW9uQ29tcG9uZW50ID0gc3R5bGVkKFBvdGVudGlhbEltcGFjdFN1bW1hcnkpYFxuICBncmlkLWFyZWE6IGNvbW1vbjtcbmA7XG5cbmNvbnN0IExpbmVDaGFydENvbXBvbmVudCA9IHN0eWxlZChMaW5lQ2hhcnQpYFxuICBncmlkLWFyZWE6IGdyYXBoO1xuYDtcblxuY29uc3QgU2FtcGxpbmcgPSBzdHlsZWQoU2FtcGxpbmdQYXJhbWV0ZXJzKWBcbiAgZ3JpZC1hcmVhOiBzaXRlcztcbiAgbWluLWhlaWdodDogMTAwJTtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFlBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxlQUFBLEdBQUFKLE9BQUE7QUFHQSxJQUFBSyxLQUFBLEdBQUFDLHNCQUFBLENBQUFOLE9BQUE7QUFDQSxJQUFBTyx1QkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsVUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsaUJBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLG1CQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxVQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxVQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxZQUFBLEdBQUFiLE9BQUE7QUFDQSxJQUFBYyxLQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSxVQUFBLEdBQUFULHNCQUFBLENBQUFOLE9BQUE7QUFDQSxJQUFBZ0IscUJBQUEsR0FBQVYsc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFpQixXQUFBLEdBQUFqQixPQUFBO0FBQ0EsSUFBQWtCLFlBQUEsR0FBQVosc0JBQUEsQ0FBQU4sT0FBQTtBQUFnRCxTQUFBbUIseUJB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
173
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlciIsIl9TaXRlSW5mb3JtYXRpb24iLCJfUXVhbGl0eVN1bW1hcnkiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfUG90ZW50aWFsSW1wYWN0U3VtbWFyeSIsIl9MaW5lQ2hhcnQiLCJfRGlzY2hhcmdlUGF0dGVybiIsIl9TYW1wbGluZ1BhcmFtZXRlcnMiLCJfRXZlbnRzUm93IiwiX0FuYWx5dGljcyIsIl9JbmZvVG9vbHRpcCIsIl91cmxzIiwiX0Rhc2hib2FyZCIsIl9Qb2xsdXRpb25Db250cmlidXRvciIsIl9Qb2ludFV0aWxzIiwiX3VzZVF1ZXJ5VVJMIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJmZXRjaFNpdGVEYXRhIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwidXJsIiwic2V0RGF0YSIsInJlc3BvbnNlIiwiZGF0YSIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJmZXRjaCIsInNlbnQiLCJvayIsImpzb24iLCJFcnJvciIsImNvbmNhdCIsInN0YXR1cyIsInN0b3AiLCJfeCIsIl94MiIsImFwcGx5IiwiYXJndW1lbnRzIiwiU2l0ZVBhZ2UiLCJfdXNlU2VsZWN0b3IiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJ3YXRlckF1dGhvcml0eU5hbWUiLCJ3YXRlckF1dGhvcml0eUlkIiwiX3VzZVNlbGVjdG9yMiIsIl9zbGljZWRUb0FycmF5MiIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsInNpdGVEYXRhIiwic2V0U2l0ZURhdGEiLCJfcmVmMiIsInVzZVBhcmFtcyIsInNpdGVJRCIsInF1ZXJ5U2VsZWN0b3IiLCJ1c2VRdWVyeVVSTCIsImlzRGFzaGJvYXJkVGFiIiwicGVyaW9kIiwiZGFzaGJvYXJkIiwiZXZlbnRQYXJhbXMiLCJ1c2VNZW1vIiwidmFsdWVzRnJvbUtRTCIsInVzZUVmZmVjdCIsImFuYWx5dGljc1RyYWNrIiwidXRpbGl0eV9uYW1lIiwic2l0ZURhdGFVcmwiLCJ1cmxzIiwiU2l0ZSIsIm5hbWUiLCJjYXRjaCIsImUiLCJjb25zb2xlIiwiZXJyb3IiLCJtZXNzYWdlIiwiaXNGYWN0b3J5IiwiaXNGYWN0b3J5VHlwZSIsInNpdGVfdHlwZSIsImNyZWF0ZUVsZW1lbnQiLCJicmVhZGNydW1icyIsInBhZ2VOYW1lIiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwic2l0ZV9uYW1lIiwiU2l0ZUluZm9ybWF0aW9uIiwiaXNTaG93TWFwIiwicmVmcmVzaE1hcCIsIlN1bW1hcnlDb21wb25lbnQiLCJlbmRwb2ludCIsIkNvbW1vbkNvbXBvbmVudCIsIkxpbmVDaGFydENvbXBvbmVudCIsInRpdGxlIiwiaTE4biIsInQiLCJEaXNjaGFyZ2VQYXR0ZXJuIiwiTnVtYmVyIiwiSW5mb1Rvb2x0aXAiLCJFdmVudHNSb3ciLCJTYW1wbGluZyIsImV4cG9ydHMiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlF1YWxpdHlTdW1tYXJ5IiwiUG90ZW50aWFsSW1wYWN0U3VtbWFyeSIsIkxpbmVDaGFydCIsIlNhbXBsaW5nUGFyYW1ldGVycyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TaXRlUGFnZS9TaXRlUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVzZVBhcmFtcyB9IGZyb20gJ3JlYWN0LXJvdXRlcic7XG5pbXBvcnQgeyBJU2l0ZUluZm9ybWF0aW9uIH0gZnJvbSAnc3JjL3BhZ2VzL09sZFNpdGVQYWdlL0lEYXNoYm9hcmREYXRhJztcbmltcG9ydCB7IFNpdGVJbmZvcm1hdGlvbiB9IGZyb20gJ3NyYy9wYWdlcy9TaXRlUGFnZS9TaXRlSW5mb3JtYXRpb24vU2l0ZUluZm9ybWF0aW9uJztcbmltcG9ydCB7IFF1YWxpdHlTdW1tYXJ5IH0gZnJvbSAnc3JjL1dpZGdldHMvUXVhbGl0eVN1bW1hcnkvUXVhbGl0eVN1bW1hcnknO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgUG90ZW50aWFsSW1wYWN0U3VtbWFyeSB9IGZyb20gJy4uLy4uL1dpZGdldHMvUG90ZW50aWFsSW1wYWN0U3VtbWFyeSc7XG5pbXBvcnQgeyBMaW5lQ2hhcnQgfSBmcm9tICcuLi9BcmVhUGFnZS9EYXNoYm9hcmQvTGluZUNoYXJ0L0xpbmVDaGFydCc7XG5pbXBvcnQgeyBEaXNjaGFyZ2VQYXR0ZXJuIH0gZnJvbSAnLi9EaXNjaGFyZ2VQYXR0ZXJuL0Rpc2NoYXJnZVBhdHRlcm4nO1xuaW1wb3J0IHsgU2FtcGxpbmdQYXJhbWV0ZXJzIH0gZnJvbSAnLi9TYW1wbGluZ1BhcmFtZXRlcnMvU2FtcGxpbmdQYXJhbWV0ZXJzJztcbmltcG9ydCB7IEV2ZW50c1JvdyB9IGZyb20gJ3NyYy9XaWRnZXRzL0V2ZW50c1Jvdy9FdmVudHNSb3cnO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7IEluZm9Ub29sdGlwIH0gZnJvbSAnc3JjL3VpLWtpdC9JbmZvVG9vbHRpcC9JbmZvVG9vbHRpcCc7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy91cmxzJztcbmltcG9ydCBQYWdlQ29udGFpbmVyIGZyb20gJy4uLy4uL3VpLWtpdC9EYXNoYm9hcmQvRGFzaGJvYXJkJztcbmltcG9ydCBQb2xsdXRpb25Db250cmlidXRvciBmcm9tICcuL1BvbGx1dGlvbkNvbnRyaWJ1dG9yJztcbmltcG9ydCB7IGlzRmFjdG9yeVR5cGUgfSBmcm9tICdzcmMvV2lkZ2V0cy9NYXAvcG9pbnRzL1BvaW50VXRpbHMnO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJ3NyYy9ob29rcy91c2VRdWVyeVVSTCc7XG5cbmNvbnN0IGZldGNoU2l0ZURhdGEgPSBhc3luYyAodXJsOiBzdHJpbmcsIHNldERhdGE6IEZ1bmN0aW9uKSA9PiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKTtcbiAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICBzZXREYXRhKGRhdGEuZGF0YSk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgU2l0ZVBhZ2UgPSAoKSA9PiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICBjb25zdCBbd2F0ZXJBdXRob3JpdHlOYW1lLCB3YXRlckF1dGhvcml0eUlkXSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IFtcbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICAgXSxcbiAgKTtcblxuICBjb25zdCBbc2l0ZURhdGEsIHNldFNpdGVEYXRhXSA9IHVzZVN0YXRlPElTaXRlSW5mb3JtYXRpb24+KCk7XG5cbiAgdHlwZSBoYXNTaXRlSUQgPSB7IHNpdGVJRD86IHN0cmluZyB9O1xuICBjb25zdCB7IHNpdGVJRCB9ID0gdXNlUGFyYW1zKCkgYXMgaGFzU2l0ZUlEO1xuICBjb25zdCBxdWVyeVNlbGVjdG9yID0gdXNlUXVlcnlVUkwoKTtcbiAgY29uc3QgaXNEYXNoYm9hcmRUYWIgPSBxdWVyeVNlbGVjdG9yLmdldCgndmlldycpICE9PSAnbWFwJztcblxuICBjb25zdCBwZXJpb2QgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PlxuICAgICAgc3RhdGUuZGFzaGJvYXJkLnBlcmlvZFsncmFuZ2UnXSB8fCBzdGF0ZS5kYXNoYm9hcmQucGVyaW9kLFxuICApO1xuXG4gIGNvbnN0IGV2ZW50UGFyYW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlc0Zyb21LUUw6IGBJbnRlcmVzdFBvaW50RmlsdGVySXRlbSBJTiAoICR7c2l0ZUlEfSApIFNldmVyaXR5RmlsdGVySXRlbSBJTiAoIDEgMiApIFRpbWVGaWx0ZXJJdGVtIElOICggJHtwZXJpb2R9ICkgT1JERVJfQlkgb2JzZXJ2ZWRfdXBzdHJlYW1gLFxuICAgIH07XG4gIH0sIFtzaXRlSUQsIHBlcmlvZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1ZpZXdlZCBTaXRlIFBhZ2UnLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHNpdGVEYXRhVXJsID0gdXJscyh7IHNpdGVJRCwgd2F0ZXJBdXRob3JpdHlJZCB9KS5kYXNoYm9hcmQuU2l0ZS5uYW1lO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNpdGVJRCAmJiB3YXRlckF1dGhvcml0eUlkKSB7XG4gICAgICBjb25zdCBzaXRlRGF0YVVybCA9IHVybHMoeyBzaXRlSUQsIHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQgfSlcbiAgICAgICAgLmRhc2hib2FyZC5TaXRlLm5hbWU7XG4gICAgICBmZXRjaFNpdGVEYXRhKHNpdGVEYXRhVXJsLCBzZXRTaXRlRGF0YSkuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignUmVxdWVzdCBlcnJvcjogJyArIGUubWVzc2FnZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtzaXRlSUQsIHdhdGVyQXV0aG9yaXR5SWRdKTtcblxuICBpZiAoIXNpdGVEYXRhKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgaXNGYWN0b3J5ID0gaXNGYWN0b3J5VHlwZShzaXRlRGF0YS5zaXRlX3R5cGUpO1xuXG4gIHJldHVybiAoXG4gICAgPFBhZ2VDb250YWluZXIgYnJlYWRjcnVtYnM9e3NpdGVEYXRhPy5icmVhZGNydW1ic30gcGFnZU5hbWU9eydTaXRlJ30+XG4gICAgICA8Q29udGFpbmVyPlxuICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGl0bGVcIj57c2l0ZURhdGEuc2l0ZV9uYW1lfTwvaDE+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgZGFzaGJvYXJkICR7aXNGYWN0b3J5ID8gJ2ZhY3RvcnknIDogJyd9YH0+XG4gICAgICAgICAgPFNpdGVJbmZvcm1hdGlvblxuICAgICAgICAgICAgc2l0ZURhdGE9e3NpdGVEYXRhfVxuICAgICAgICAgICAgaXNTaG93TWFwPXtpc0ZhY3Rvcnl9XG4gICAgICAgICAgICByZWZyZXNoTWFwPXtpc0Rhc2hib2FyZFRhYn1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdW1tYXJ5Q29tcG9uZW50XG4gICAgICAgICAgICBlbmRwb2ludD17YC9kYXRhL2V2ZW50cy1jb21wb25lbnQtZGF0YS8ke3NpdGVJRH1gfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPENvbW1vbkNvbXBvbmVudCBlbmRwb2ludD17c2l0ZURhdGFVcmx9IC8+XG4gICAgICAgICAgeyFpc0ZhY3RvcnkgJiYgPFBvbGx1dGlvbkNvbnRyaWJ1dG9yIC8+fVxuICAgICAgICAgIDxMaW5lQ2hhcnRDb21wb25lbnRcbiAgICAgICAgICAgIHRpdGxlPXtpMThuLnQoJ2FyZWFfZGFzaGJvYXJkLnRyZW5kJyl9XG4gICAgICAgICAgICBlbmRwb2ludD17YC9wb2ludHMvJHtzaXRlSUR9L3RyZW5kLWdyYXBoYH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxEaXNjaGFyZ2VQYXR0ZXJuIHNpdGVJRD17TnVtYmVyKHNpdGVJRCl9IC8+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNpZ25pZmljYW50LWV2ZW50c1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPlxuICAgICAgICAgICAgICA8SW5mb1Rvb2x0aXBcbiAgICAgICAgICAgICAgICB0aXRsZT17aTE4bi50KCdhcmVhX2Rhc2hib2FyZC5tb3N0LXNpZ25pZmljYW50LWV2ZW50cycpfVxuICAgICAgICAgICAgICAgIGRhdGE9e2kxOG4udCgnaGVscGVycy5pbmZvX3Rvb2x0aXAubW9zdF9zaWduaWZpY2FudF9ldmVudHMnKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2FyZWFfZGFzaGJvYXJkLm1vc3Qtc2lnbmlmaWNhbnQtZXZlbnRzJyl9XG4gICAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxFdmVudHNSb3cgZW5kcG9pbnQ9e2AvZXZlbnRzLmpzb25gfSBldmVudFBhcmFtcz17ZXZlbnRQYXJhbXN9IC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNpdGVzXCI+XG4gICAgICAgICAgICA8U2FtcGxpbmcgZW5kcG9pbnQ9e2Avc2l0ZXMvJHtzaXRlSUR9L3NhbXBsaW5nLWRhdGEuanNvbmB9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Db250YWluZXI+XG4gICAgPC9QYWdlQ29udGFpbmVyPlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTZweDtcblxuICA+IC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbiAgLmRhc2hib2FyZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDI1MHB4IDM0MHB4IDMwMHB4IGF1dG87XG4gICAgZ3JpZC1nYXA6IDQ0cHggMjRweDtcbiAgICBjb2xvcjogIzFkMWQxZDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgPiAuc2l0ZXMge1xuICAgICAgZ3JpZC1hcmVhOiBzaXRlcztcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTk2cHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzgwcHgpIHtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAnaW5mbyAgc3VtbWFyeSBzdW1tYXJ5IGNvbW1vbidcbiAgICAgICdwb2xsdXRpb25fY29udHJpYnV0b3IgIGdyYXBoIGdyYXBoIHBhdHRlcm4nXG4gICAgICAnZXZlbnRzIGV2ZW50cyBldmVudHMgZXZlbnRzJ1xuICAgICAgJ3NpdGVzIHNpdGVzIHNpdGVzIHNpdGVzJ1xuICAgICAgJ3NpdGVzIHNpdGVzIHNpdGVzIHNpdGVzJztcblxuICAgICYuZmFjdG9yeSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICAnaW5mbyAgc3VtbWFyeSBzdW1tYXJ5IGNvbW1vbidcbiAgICAgICAgJ2luZm8gIGdyYXBoIGdyYXBoIHBhdHRlcm4nXG4gICAgICAgICdldmVudHMgZXZlbnRzIGV2ZW50cyBldmVudHMnXG4gICAgICAgICdzaXRlcyBzaXRlcyBzaXRlcyBzaXRlcydcbiAgICAgICAgJ3NpdGVzIHNpdGVzIHNpdGVzIHNpdGVzJztcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDE1MDBweCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyNTBweCAzMDBweCAyNTBweCAzMDBweCBhdXRvO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDI1MHB4IDMwMHB4IDMwMHB4IDM1MHB4IGF1dG87XG5cbiAgICAgIGdyaWQtZ2FwOiAxMHB4O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgJ2luZm8gaW5mbyBzdW1tYXJ5ICBzdW1tYXJ5J1xuICAgICAgICAncG9sbHV0aW9uX2NvbnRyaWJ1dG9yIHBvbGx1dGlvbl9jb250cmlidXRvciBjb21tb24gY29tbW9uJ1xuICAgICAgICAnZXZlbnRzIGV2ZW50cyBwYXR0ZXJuIHBhdHRlcm4nXG4gICAgICAgICdncmFwaCBncmFwaCBncmFwaCBncmFwaCdcbiAgICAgICAgJ3NpdGVzIHNpdGVzIHNpdGVzIHNpdGVzJztcbiAgICAgICYuZmFjdG9yeSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgJ2luZm8gaW5mbyBzdW1tYXJ5ICBzdW1tYXJ5J1xuICAgICAgICAgICdpbmZvIGluZm8gY29tbW9uIGNvbW1vbidcbiAgICAgICAgICAnZXZlbnRzIGV2ZW50cyBwYXR0ZXJuIHBhdHRlcm4nXG4gICAgICAgICAgJ2dyYXBoIGdyYXBoIGdyYXBoIGdyYXBoJ1xuICAgICAgICAgICdzaXRlcyBzaXRlcyBzaXRlcyBzaXRlcyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5NnB4KSB7XG4gICAgICBncmlkLWdhcDogMTBweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiB1bnNldDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMjUwcHggMjUwcHggMjUwcHggMzAwcHggMzAwcHggMjgwcHggMzAwcHggYXV0bztcblxuICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgJ2luZm8gJ1xuICAgICAgICAnc3VtbWFyeSAgJ1xuICAgICAgICAnY29tbW9uJ1xuICAgICAgICAncG9sbHV0aW9uX2NvbnRyaWJ1dG9yJ1xuICAgICAgICAnZ3JhcGgnXG4gICAgICAgICdldmVudHMnXG4gICAgICAgICdwYXR0ZXJuJ1xuICAgICAgICAnc2l0ZXMgJztcbiAgICAgICYuZmFjdG9yeSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogNDAwcHggMjUwcHggMjUwcHggMzAwcHggMjgwcHggMzAwcHggYXV0bztcblxuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICAgICdpbmZvICdcbiAgICAgICAgICAnc3VtbWFyeSAgJ1xuICAgICAgICAgICdjb21tb24nXG4gICAgICAgICAgJ2dyYXBoJ1xuICAgICAgICAgICdldmVudHMnXG4gICAgICAgICAgJ3BhdHRlcm4nXG4gICAgICAgICAgJ3NpdGVzICc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICBncmlkLWdhcDogMjBweDtcblxuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyNTBweCAzNTBweCAyNTBweCAyODBweCAyODBweCBhdXRvIDMwMHB4O1xuXG4gICAgICAmLmZhY3Rvcnkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDQwMHB4IDQwMHB4IDI1MHB4IDI4MHB4IGF1dG8gMzAwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5ncmFwaCB7XG4gICAgICBncmlkLWFyZWE6IGdyYXBoO1xuICAgIH1cbiAgICAuc2lnbmlmaWNhbnQtZXZlbnRzIHtcbiAgICAgID4gLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTQ1MHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTI1MHB4KSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lnbmlmaWNhbnQtZXZlbnRzIHtcbiAgICAgIGdyaWQtYXJlYTogZXZlbnRzO1xuICAgIH1cblxuICAgIC5tYXAtYm94IHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBTdW1tYXJ5Q29tcG9uZW50ID0gc3R5bGVkKFF1YWxpdHlTdW1tYXJ5KWBcbiAgZ3JpZC1hcmVhOiBzdW1tYXJ5O1xuYDtcblxuY29uc3QgQ29tbW9uQ29tcG9uZW50ID0gc3R5bGVkKFBvdGVudGlhbEltcGFjdFN1bW1hcnkpYFxuICBncmlkLWFyZWE6IGNvbW1vbjtcbmA7XG5cbmNvbnN0IExpbmVDaGFydENvbXBvbmVudCA9IHN0eWxlZChMaW5lQ2hhcnQpYFxuICBncmlkLWFyZWE6IGdyYXBoO1xuYDtcblxuY29uc3QgU2FtcGxpbmcgPSBzdHlsZWQoU2FtcGxpbmdQYXJhbWV0ZXJzKWBcbiAgZ3JpZC1hcmVhOiBzaXRlcztcbiAgbWluLWhlaWdodDogMTAwJTtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFlBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLGdCQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxlQUFBLEdBQUFKLE9BQUE7QUFHQSxJQUFBSyxLQUFBLEdBQUFDLHNCQUFBLENBQUFOLE9BQUE7QUFDQSxJQUFBTyx1QkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsVUFBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsaUJBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLG1CQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxVQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxVQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxZQUFBLEdBQUFiLE9BQUE7QUFDQSxJQUFBYyxLQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSxVQUFBLEdBQUFULHNCQUFBLENBQUFOLE9BQUE7QUFDQSxJQUFBZ0IscUJBQUEsR0FBQVYsc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFpQixXQUFBLEdBQUFqQixPQUFBO0FBQ0EsSUFBQWtCLFlBQUEsR0FBQVosc0JBQUEsQ0FBQU4sT0FBQTtBQUFnRCxT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
@@ -16,4 +16,4 @@ var _handlers = require("components/DischargeHeatmap/mocks/handlers");
16
16
  // This configures a Service Worker with the given request handlers.
17
17
  var worker = _msw.setupWorker.apply(void 0, (0, _toConsumableArray2.default)(_handlers.handlers));
18
18
  exports.worker = worker;
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbXN3IiwicmVxdWlyZSIsIl9oYW5kbGVycyIsIndvcmtlciIsInNldHVwV29ya2VyIiwiYXBwbHkiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiZGVmYXVsdCIsImhhbmRsZXJzIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0L21vY2tzL2Jyb3dzZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBpcyByZXF1aXJlZCBmb3IgTVNXLlxuXG5pbXBvcnQgeyBzZXR1cFdvcmtlciB9IGZyb20gJ21zdydcblxuLy8gQmVsb3cgYWRkIHRoZSBsaXN0IG9mIGhhbmRsZXJzIChtb2NrcykgLSByZWFkIGh0dHBzOi8vbXN3anMuaW8vZG9jcy9hcGkvcmVzdFxuLy8gVE9ETzogdGhpcyBpcyB1bm5lZWRlZCwgbGVhdmluZyBmb3Igbm93XG5pbXBvcnQgeyBoYW5kbGVycyB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0Rpc2NoYXJnZUhlYXRtYXAvbW9ja3MvaGFuZGxlcnMnXG5cbi8vIFRoaXMgY29uZmlndXJlcyBhIFNlcnZpY2UgV29ya2VyIHdpdGggdGhlIGdpdmVuIHJlcXVlc3QgaGFuZGxlcnMuXG5leHBvcnQgY29uc3Qgd29ya2VyID0gc2V0dXBXb3JrZXIoLi4uaGFuZGxlcnMpIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUVBLElBQUFBLElBQUEsR0FBQUMsT0FBQTtBQUlBLElBQUFDLFNBQUEsR0FBQUQsT0FBQTtBQU5BOztBQUlBO0FBQ0E7O0FBR0E7QUFDTyxJQUFNRSxNQUFNLEdBQUdDLGdCQUFXLENBQUFDLEtBQUEsYUFBQUMsbUJBQUEsQ0FBQUMsT0FBQSxFQUFJQyxrQkFBUSxFQUFDO0FBQUFDLE9BQUEsQ0FBQU4sTUFBQSxHQUFBQSxNQUFBIn0=
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbXN3IiwicmVxdWlyZSIsIl9oYW5kbGVycyIsIndvcmtlciIsInNldHVwV29ya2VyIiwiYXBwbHkiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiZGVmYXVsdCIsImhhbmRsZXJzIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0L21vY2tzL2Jyb3dzZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBpcyByZXF1aXJlZCBmb3IgTVNXLlxuXG5pbXBvcnQgeyBzZXR1cFdvcmtlciB9IGZyb20gJ21zdyc7XG5cbi8vIEJlbG93IGFkZCB0aGUgbGlzdCBvZiBoYW5kbGVycyAobW9ja3MpIC0gcmVhZCBodHRwczovL21zd2pzLmlvL2RvY3MvYXBpL3Jlc3Rcbi8vIFRPRE86IHRoaXMgaXMgdW5uZWVkZWQsIGxlYXZpbmcgZm9yIG5vd1xuaW1wb3J0IHsgaGFuZGxlcnMgfSBmcm9tICdzcmMvY29tcG9uZW50cy9EaXNjaGFyZ2VIZWF0bWFwL21vY2tzL2hhbmRsZXJzJztcblxuLy8gVGhpcyBjb25maWd1cmVzIGEgU2VydmljZSBXb3JrZXIgd2l0aCB0aGUgZ2l2ZW4gcmVxdWVzdCBoYW5kbGVycy5cbmV4cG9ydCBjb25zdCB3b3JrZXIgPSBzZXR1cFdvcmtlciguLi5oYW5kbGVycyk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBRUEsSUFBQUEsSUFBQSxHQUFBQyxPQUFBO0FBSUEsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBTkE7O0FBSUE7QUFDQTs7QUFHQTtBQUNPLElBQU1FLE1BQU0sR0FBR0MsZ0JBQVcsQ0FBQUMsS0FBQSxhQUFBQyxtQkFBQSxDQUFBQyxPQUFBLEVBQUlDLGtCQUFRLEVBQUM7QUFBQ0MsT0FBQSxDQUFBTixNQUFBLEdBQUFBLE1BQUEifQ==
@@ -48,4 +48,4 @@ function render(ui) {
48
48
  // re-export everything
49
49
 
50
50
  // override render method
51
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWR1eCIsIl9yZWFjdDIiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIl9leHBvcnROYW1lcyIsImV4cG9ydHMiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJfcmVhY3RSZWR1eCIsIl9yb290UmVkdWNlciIsIl9leGNsdWRlZCIsInJlbmRlciIsInVpIiwiX3JlZiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImluaXRpYWxTdGF0ZSIsIl9yZWYkc3RvcmUiLCJzdG9yZSIsImNyZWF0ZVN0b3JlIiwicm9vdFJlZHVjZXIiLCJyZW5kZXJPcHRpb25zIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsImRlZmF1bHQiLCJXcmFwcGVyIiwiX3JlZjIiLCJjaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJQcm92aWRlciIsInJ0bFJlbmRlciIsIl9vYmplY3RTcHJlYWQyIiwid3JhcHBlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L3Rlc3QtdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVN0b3JlIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IHsgcmVuZGVyIGFzIHJ0bFJlbmRlciB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG4vLyBJbXBvcnQgeW91ciBvd24gcmVkdWNlclxuaW1wb3J0IHsgcm9vdFJlZHVjZXIgfSBmcm9tICdzcmMvc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0ICdAdGVzdGluZy1saWJyYXJ5L2plc3QtZG9tL2V4dGVuZC1leHBlY3QnO1xuXG5mdW5jdGlvbiByZW5kZXIoXG4gIHVpLFxuICB7XG4gICAgaW5pdGlhbFN0YXRlLFxuICAgIHN0b3JlID0gY3JlYXRlU3RvcmUocm9vdFJlZHVjZXIsIGluaXRpYWxTdGF0ZSksXG4gICAgLi4ucmVuZGVyT3B0aW9uc1xuICB9ID0ge31cbikge1xuICBmdW5jdGlvbiBXcmFwcGVyKHsgY2hpbGRyZW4gfSkge1xuICAgIHJldHVybiA8UHJvdmlkZXIgc3RvcmU9e3N0b3JlfT57Y2hpbGRyZW59PC9Qcm92aWRlcj5cbiAgfVxuICByZXR1cm4gcnRsUmVuZGVyKHVpLCB7IHdyYXBwZXI6IFdyYXBwZXIsIC4uLnJlbmRlck9wdGlvbnMgfSk7XG59XG5cbi8vIHJlLWV4cG9ydCBldmVyeXRoaW5nXG5leHBvcnQgKiBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0Jztcbi8vIG92ZXJyaWRlIHJlbmRlciBtZXRob2RcbmV4cG9ydCB7IHJlbmRlciB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFxQkFHLE1BQUEsQ0FBQUMsSUFBQSxDQUFBRixPQUFBLEVBQUFHLE9BQUEsV0FBQUMsR0FBQTtFQUFBLElBQUFBLEdBQUEsa0JBQUFBLEdBQUE7RUFBQSxJQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFDLFlBQUEsRUFBQUosR0FBQTtFQUFBLElBQUFBLEdBQUEsSUFBQUssT0FBQSxJQUFBQSxPQUFBLENBQUFMLEdBQUEsTUFBQUosT0FBQSxDQUFBSSxHQUFBO0VBQUFILE1BQUEsQ0FBQVMsY0FBQSxDQUFBRCxPQUFBLEVBQUFMLEdBQUE7SUFBQU8sVUFBQTtJQUFBQyxHQUFBLFdBQUFBLElBQUE7TUFBQSxPQUFBWixPQUFBLENBQUFJLEdBQUE7SUFBQTtFQUFBO0FBQUE7QUFwQkEsSUFBQVMsV0FBQSxHQUFBZixPQUFBO0FBRUEsSUFBQWdCLFlBQUEsR0FBQWhCLE9BQUE7QUFDQUEsT0FBQTtBQUFpRCxJQUFBaUIsU0FBQSw4QkFGakQ7QUFJQSxTQUFTQyxNQUFNQSxDQUNiQyxFQUFFLEVBTUY7RUFBQSxJQUFBQyxJQUFBLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQURJLENBQUMsQ0FBQztJQUhKRyxZQUFZLEdBQUFKLElBQUEsQ0FBWkksWUFBWTtJQUFBQyxVQUFBLEdBQUFMLElBQUEsQ0FDWk0sS0FBSztJQUFMQSxLQUFLLEdBQUFELFVBQUEsY0FBRyxJQUFBRSxrQkFBVyxFQUFDQyx3QkFBVyxFQUFFSixZQUFZLENBQUMsR0FBQUMsVUFBQTtJQUMzQ0ksYUFBYSxPQUFBQyx5QkFBQSxDQUFBQyxPQUFBLEVBQUFYLElBQUEsRUFBQUgsU0FBQTtFQUdsQixTQUFTZSxPQUFPQSxDQUFBQyxLQUFBLEVBQWU7SUFBQSxJQUFaQyxRQUFRLEdBQUFELEtBQUEsQ0FBUkMsUUFBUTtJQUN6QixvQkFBT3BDLE1BQUEsQ0FBQWlDLE9BQUEsQ0FBQUksYUFBQSxDQUFDcEIsV0FBQSxDQUFBcUIsUUFBUTtNQUFDVixLQUFLLEVBQUVBO0lBQU0sR0FBRVEsUUFBbUIsQ0FBQztFQUN0RDtFQUNBLE9BQU8sSUFBQUcsY0FBUyxFQUFDbEIsRUFBRSxNQUFBbUIsY0FBQSxDQUFBUCxPQUFBO0lBQUlRLE9BQU8sRUFBRVA7RUFBTyxHQUFLSCxhQUFhLENBQUUsQ0FBQztBQUM5RDs7QUFFQTs7QUFFQSJ9
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWR1eCIsIl9yZWFjdDIiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIl9leHBvcnROYW1lcyIsImV4cG9ydHMiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJfcmVhY3RSZWR1eCIsIl9yb290UmVkdWNlciIsIl9leGNsdWRlZCIsInJlbmRlciIsInVpIiwiX3JlZiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsImluaXRpYWxTdGF0ZSIsIl9yZWYkc3RvcmUiLCJzdG9yZSIsImNyZWF0ZVN0b3JlIiwicm9vdFJlZHVjZXIiLCJyZW5kZXJPcHRpb25zIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsImRlZmF1bHQiLCJXcmFwcGVyIiwiX3JlZjIiLCJjaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJQcm92aWRlciIsInJ0bFJlbmRlciIsIl9vYmplY3RTcHJlYWQyIiwid3JhcHBlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L3Rlc3QtdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVN0b3JlIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IHsgcmVuZGVyIGFzIHJ0bFJlbmRlciB9IGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG4vLyBJbXBvcnQgeW91ciBvd24gcmVkdWNlclxuaW1wb3J0IHsgcm9vdFJlZHVjZXIgfSBmcm9tICdzcmMvc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0ICdAdGVzdGluZy1saWJyYXJ5L2plc3QtZG9tL2V4dGVuZC1leHBlY3QnO1xuXG5mdW5jdGlvbiByZW5kZXIoXG4gIHVpLFxuICB7XG4gICAgaW5pdGlhbFN0YXRlLFxuICAgIHN0b3JlID0gY3JlYXRlU3RvcmUocm9vdFJlZHVjZXIsIGluaXRpYWxTdGF0ZSksXG4gICAgLi4ucmVuZGVyT3B0aW9uc1xuICB9ID0ge30sXG4pIHtcbiAgZnVuY3Rpb24gV3JhcHBlcih7IGNoaWxkcmVuIH0pIHtcbiAgICByZXR1cm4gPFByb3ZpZGVyIHN0b3JlPXtzdG9yZX0+e2NoaWxkcmVufTwvUHJvdmlkZXI+O1xuICB9XG4gIHJldHVybiBydGxSZW5kZXIodWksIHsgd3JhcHBlcjogV3JhcHBlciwgLi4ucmVuZGVyT3B0aW9ucyB9KTtcbn1cblxuLy8gcmUtZXhwb3J0IGV2ZXJ5dGhpbmdcbmV4cG9ydCAqIGZyb20gJ0B0ZXN0aW5nLWxpYnJhcnkvcmVhY3QnO1xuLy8gb3ZlcnJpZGUgcmVuZGVyIG1ldGhvZFxuZXhwb3J0IHsgcmVuZGVyIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQXFCQUcsTUFBQSxDQUFBQyxJQUFBLENBQUFGLE9BQUEsRUFBQUcsT0FBQSxXQUFBQyxHQUFBO0VBQUEsSUFBQUEsR0FBQSxrQkFBQUEsR0FBQTtFQUFBLElBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQUMsWUFBQSxFQUFBSixHQUFBO0VBQUEsSUFBQUEsR0FBQSxJQUFBSyxPQUFBLElBQUFBLE9BQUEsQ0FBQUwsR0FBQSxNQUFBSixPQUFBLENBQUFJLEdBQUE7RUFBQUgsTUFBQSxDQUFBUyxjQUFBLENBQUFELE9BQUEsRUFBQUwsR0FBQTtJQUFBTyxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsSUFBQTtNQUFBLE9BQUFaLE9BQUEsQ0FBQUksR0FBQTtJQUFBO0VBQUE7QUFBQTtBQXBCQSxJQUFBUyxXQUFBLEdBQUFmLE9BQUE7QUFFQSxJQUFBZ0IsWUFBQSxHQUFBaEIsT0FBQTtBQUNBQSxPQUFBO0FBQWlELElBQUFpQixTQUFBLDhCQUZqRDtBQUlBLFNBQVNDLE1BQU1BLENBQ2JDLEVBQUUsRUFNRjtFQUFBLElBQUFDLElBQUEsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BREksQ0FBQyxDQUFDO0lBSEpHLFlBQVksR0FBQUosSUFBQSxDQUFaSSxZQUFZO0lBQUFDLFVBQUEsR0FBQUwsSUFBQSxDQUNaTSxLQUFLO0lBQUxBLEtBQUssR0FBQUQsVUFBQSxjQUFHLElBQUFFLGtCQUFXLEVBQUNDLHdCQUFXLEVBQUVKLFlBQVksQ0FBQyxHQUFBQyxVQUFBO0lBQzNDSSxhQUFhLE9BQUFDLHlCQUFBLENBQUFDLE9BQUEsRUFBQVgsSUFBQSxFQUFBSCxTQUFBO0VBR2xCLFNBQVNlLE9BQU9BLENBQUFDLEtBQUEsRUFBZTtJQUFBLElBQVpDLFFBQVEsR0FBQUQsS0FBQSxDQUFSQyxRQUFRO0lBQ3pCLG9CQUFPcEMsTUFBQSxDQUFBaUMsT0FBQSxDQUFBSSxhQUFBLENBQUNwQixXQUFBLENBQUFxQixRQUFRO01BQUNWLEtBQUssRUFBRUE7SUFBTSxHQUFFUSxRQUFtQixDQUFDO0VBQ3REO0VBQ0EsT0FBTyxJQUFBRyxjQUFTLEVBQUNsQixFQUFFLE1BQUFtQixjQUFBLENBQUFQLE9BQUE7SUFBSVEsT0FBTyxFQUFFUDtFQUFPLEdBQUtILGFBQWEsQ0FBRSxDQUFDO0FBQzlEOztBQUVBOztBQUVBIn0=
@@ -12,6 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
12
12
  var _reactD3Tree = _interopRequireDefault(require("react-d3-tree"));
13
13
  var _ScoreNode = _interopRequireDefault(require("./ScoreNode"));
14
14
  var _PollutionContributorNode = _interopRequireDefault(require("./PollutionContributorNode"));
15
+ var _NetworkNode = _interopRequireDefault(require("./NetworkNode"));
15
16
  var _utils = require("./utils");
16
17
  var _reactRedux = require("react-redux");
17
18
  var _reactRouterDom = require("react-router-dom");
@@ -124,19 +125,35 @@ function AutoFitTree(_ref) {
124
125
  siteID = _useParams.siteID,
125
126
  areaID = _useParams.areaID;
126
127
  var renderCustomNodeElement = function renderCustomNodeElement(rd3tProps) {
127
- var _selectedFilters$Samp, _selectedFilters$Insi, _rd3tProps$nodeDatum$, _rd3tProps$nodeDatum$2, _rd3tProps$nodeDatum$3, _rd3tProps$nodeDatum$4, _rd3tProps$nodeDatum$5;
128
+ var _selectedFilters$Samp, _selectedFilters$Netw, _selectedFilters$Insi, _rd3tProps$nodeDatum$, _rd3tProps$nodeDatum$2, _rd3tProps$nodeDatum$3, _rd3tProps$nodeDatum$4, _rd3tProps$nodeDatum$5;
128
129
  var isRoot = rd3tProps.nodeDatum.__rd3t.depth === 0;
129
130
  var showSamplers = (selectedFilters === null || selectedFilters === void 0 ? void 0 : (_selectedFilters$Samp = selectedFilters.SamplerFilterItem) === null || _selectedFilters$Samp === void 0 ? void 0 : _selectedFilters$Samp.toString()) === 'with' || false;
130
- var insightData = (selectedFilters === null || selectedFilters === void 0 ? void 0 : (_selectedFilters$Insi = selectedFilters.InsightDataFilterItem) === null || _selectedFilters$Insi === void 0 ? void 0 : _selectedFilters$Insi.toString()) || 'score';
131
+ var insightData = (selectedFilters === null || selectedFilters === void 0 ? void 0 : (_selectedFilters$Netw = selectedFilters.NetworkInsightDataFilterItem) === null || _selectedFilters$Netw === void 0 ? void 0 : _selectedFilters$Netw.toString()) || (selectedFilters === null || selectedFilters === void 0 ? void 0 : (_selectedFilters$Insi = selectedFilters.InsightDataFilterItem) === null || _selectedFilters$Insi === void 0 ? void 0 : _selectedFilters$Insi.toString()) || 'score';
131
132
  var isHighlight = siteID && siteID === ((_rd3tProps$nodeDatum$ = rd3tProps.nodeDatum.attributes) === null || _rd3tProps$nodeDatum$ === void 0 ? void 0 : (_rd3tProps$nodeDatum$2 = _rd3tProps$nodeDatum$.point_id) === null || _rd3tProps$nodeDatum$2 === void 0 ? void 0 : _rd3tProps$nodeDatum$2.toString()) || areaID && areaID === ((_rd3tProps$nodeDatum$3 = rd3tProps.nodeDatum.attributes) === null || _rd3tProps$nodeDatum$3 === void 0 ? void 0 : (_rd3tProps$nodeDatum$4 = _rd3tProps$nodeDatum$3.area_id) === null || _rd3tProps$nodeDatum$4 === void 0 ? void 0 : _rd3tProps$nodeDatum$4.toString());
132
133
  var isExceeded = exceededSiteIds.includes((_rd3tProps$nodeDatum$5 = rd3tProps.nodeDatum.attributes) === null || _rd3tProps$nodeDatum$5 === void 0 ? void 0 : _rd3tProps$nodeDatum$5.point_id);
133
- return !isRoot && (0, _utils.shouldFilterOut)(rd3tProps, selectedFilters) ? /*#__PURE__*/_react.default.createElement("div", null) : insightData === 'score' ? /*#__PURE__*/_react.default.createElement(_ScoreNode.default, Object.assign({}, rd3tProps, {
134
- isHighlight: isHighlight,
135
- isExceeded: isExceeded,
136
- onNodeClick: rest.onNodeClick,
137
- earlyAdopter: early_adopter,
138
- showSamplers: showSamplers
139
- })) : /*#__PURE__*/_react.default.createElement(_PollutionContributorNode.default, Object.assign({}, rd3tProps, {
134
+ if (!isRoot && (0, _utils.shouldFilterOut)(rd3tProps, selectedFilters)) {
135
+ return /*#__PURE__*/_react.default.createElement("div", null);
136
+ }
137
+ if (insightData === 'score') {
138
+ return /*#__PURE__*/_react.default.createElement(_ScoreNode.default, Object.assign({}, rd3tProps, {
139
+ isHighlight: isHighlight,
140
+ isExceeded: isExceeded,
141
+ onNodeClick: rest.onNodeClick,
142
+ earlyAdopter: early_adopter,
143
+ showSamplers: showSamplers
144
+ }));
145
+ }
146
+ if (insightData === 'pollution_contributor') {
147
+ return /*#__PURE__*/_react.default.createElement(_PollutionContributorNode.default, Object.assign({}, rd3tProps, {
148
+ isExceeded: isExceeded,
149
+ isHighlight: isHighlight,
150
+ onNodeClick: rest.onNodeClick,
151
+ earlyAdopter: early_adopter,
152
+ showSamplers: showSamplers
153
+ }));
154
+ }
155
+ return /*#__PURE__*/_react.default.createElement(_NetworkNode.default, Object.assign({}, rd3tProps, {
156
+ insightType: insightData,
140
157
  isExceeded: isExceeded,
141
158
  isHighlight: isHighlight,
142
159
  onNodeClick: rest.onNodeClick,
@@ -170,4 +187,4 @@ function AutoFitTree(_ref) {
170
187
  initialDepth: initialDepth
171
188
  }, rest)));
172
189
  }
173
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REM1RyZWUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Njb3JlTm9kZSIsIl9Qb2xsdXRpb25Db250cmlidXRvck5vZGUiLCJfdXRpbHMiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlckRvbSIsIl9leGNsdWRlZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiY291bnREZXB0aEFuZEJyZWFkdGgiLCJyb290IiwibWF4RGVwdGgiLCJicmVhZHRoQnlEZXB0aCIsImRmcyIsIm4iLCJfbiRjaGlsZHJlbiIsImQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJNYXRoIiwibWF4IiwiY2hpbGRyZW4iLCJmb3JFYWNoIiwiYyIsIm1heEJyZWFkdGgiLCJhcHBseSIsIkF1dG9GaXRUcmVlIiwiX3JlZiIsImRhdGEiLCJfcmVmJG9yaWVudGF0aW9uIiwib3JpZW50YXRpb24iLCJpbml0aWFsRGVwdGgiLCJ0cmVlS2V5IiwiX3JlZiRzZWxlY3RlZEZpbHRlcnMiLCJzZWxlY3RlZEZpbHRlcnMiLCJfcmVmJGV4Y2VlZGVkU2l0ZUlkcyIsImV4Y2VlZGVkU2l0ZUlkcyIsInJlc3QiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiUEFERElORyIsIndyYXBwZXJSZWYiLCJ1c2VSZWYiLCJub2RlU2l6ZSIsIngiLCJ5Iiwic2VwYXJhdGlvbiIsInNpYmxpbmdzIiwibm9uU2libGluZ3MiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIndpZHRoIiwiaGVpZ2h0IiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRpbXMiLCJzZXREaW1zIiwiZWFybHlfYWRvcHRlciIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwZXJtaXNzaW9ucyIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJybyIsIlJlc2l6ZU9ic2VydmVyIiwiciIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIm9ic2VydmUiLCJkaXNjb25uZWN0IiwiX3VzZU1lbW8iLCJ1c2VNZW1vIiwiX2NvdW50RGVwdGhBbmRCcmVhZHRoIiwicmVxVyIsInJlcUgiLCJhdmFpbFciLCJhdmFpbEgiLCJmaXRab29tIiwibWluIiwieiIsImlzRmluaXRlIiwiem9vbSIsInRyYW5zbGF0ZSIsInNldENvbGxhcHNlZEJ5RGVwdGgiLCJub2RlIiwiX25vZGUkY2hpbGRyZW4iLCJjb2xsYXBzZWQiLCJ2aWV3RGF0YSIsImNsb25lIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwiX3VzZVBhcmFtcyIsInVzZVBhcmFtcyIsInNpdGVJRCIsImFyZWFJRCIsInJlbmRlckN1c3RvbU5vZGVFbGVtZW50IiwicmQzdFByb3BzIiwiX3NlbGVjdGVkRmlsdGVycyRTYW1wIiwiX3NlbGVjdGVkRmlsdGVycyRJbnNpIiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kIiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kMiIsIl9yZDN0UHJvcHMkbm9kZURhdHVtJDMiLCJfcmQzdFByb3BzJG5vZGVEYXR1bSQ0IiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kNSIsImlzUm9vdCIsIm5vZGVEYXR1bSIsIl9fcmQzdCIsImRlcHRoIiwic2hvd1NhbXBsZXJzIiwiU2FtcGxlckZpbHRlckl0ZW0iLCJ0b1N0cmluZyIsImluc2lnaHREYXRhIiwiSW5zaWdodERhdGFGaWx0ZXJJdGVtIiwiaXNIaWdobGlnaHQiLCJhdHRyaWJ1dGVzIiwicG9pbnRfaWQiLCJhcmVhX2lkIiwiaXNFeGNlZWRlZCIsImluY2x1ZGVzIiwic2hvdWxkRmlsdGVyT3V0IiwiY3JlYXRlRWxlbWVudCIsImFzc2lnbiIsIm9uTm9kZUNsaWNrIiwiZWFybHlBZG9wdGVyIiwicmVmIiwic3R5bGUiLCJvdmVyZmxvdyIsInBhdGhGdW5jIiwiem9vbWFibGUiLCJzY2FsZUV4dGVudCIsImNvbGxhcHNpYmxlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9BdXRvRml0VHJlZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUcmVlLCB7IFJhd05vZGVEYXR1bSB9IGZyb20gJ3JlYWN0LWQzLXRyZWUnO1xuaW1wb3J0IFNjb3JlTm9kZSBmcm9tICcuL1Njb3JlTm9kZSc7XG5pbXBvcnQgUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlIGZyb20gJy4vUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlJztcbmltcG9ydCB7IEluc2lnaHREYXRhLCBzaG91bGRGaWx0ZXJPdXQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlUGFyYW1zIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5cbnR5cGUgU2VwID0geyBzaWJsaW5nczogbnVtYmVyOyBub25TaWJsaW5nczogbnVtYmVyIH07XG5cbmZ1bmN0aW9uIGNvdW50RGVwdGhBbmRCcmVhZHRoKHJvb3Q6IFJhd05vZGVEYXR1bSkge1xuICBsZXQgbWF4RGVwdGggPSAwO1xuICBjb25zdCBicmVhZHRoQnlEZXB0aDogbnVtYmVyW10gPSBbXTtcbiAgY29uc3QgZGZzID0gKG46IFJhd05vZGVEYXR1bSwgZCA9IDApID0+IHtcbiAgICBtYXhEZXB0aCA9IE1hdGgubWF4KG1heERlcHRoLCBkKTtcbiAgICBicmVhZHRoQnlEZXB0aFtkXSA9IChicmVhZHRoQnlEZXB0aFtkXSB8fCAwKSArIDE7XG4gICAgbi5jaGlsZHJlbj8uZm9yRWFjaCgoYykgPT4gZGZzKGMsIGQgKyAxKSk7XG4gIH07XG4gIGRmcyhyb290KTtcbiAgY29uc3QgbWF4QnJlYWR0aCA9IE1hdGgubWF4KC4uLmJyZWFkdGhCeURlcHRoKTtcbiAgcmV0dXJuIHsgbWF4RGVwdGgsIG1heEJyZWFkdGggfTtcbn1cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEF1dG9GaXRUcmVlKHtcbiAgZGF0YSxcbiAgb3JpZW50YXRpb24gPSAndmVydGljYWwnLFxuICBpbml0aWFsRGVwdGgsXG4gIHRyZWVLZXksXG4gIHNlbGVjdGVkRmlsdGVycyA9IHt9LFxuICBleGNlZWRlZFNpdGVJZHMgPSBbXSxcbiAgLi4ucmVzdFxufToge1xuICBkYXRhOiBhbnk7XG4gIG9yaWVudGF0aW9uPzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJztcbiAgaW5pdGlhbERlcHRoOiBudW1iZXI7XG4gIG9uTm9kZUNsaWNrPzogKG5vZGVEYXRhOiBhbnkpID0+IHZvaWQ7XG4gIHRyZWVLZXk6IG51bWJlcjtcbiAgc2VsZWN0ZWRGaWx0ZXJzPzogYW55O1xuICBleGNlZWRlZFNpdGVJZHM/OiBudW1iZXJbXTtcbn0pIHtcbiAgY29uc3QgUEFERElORyA9IDQyOyAvLyBzY3JlZW4gcGFkZGluZyBpbiBweFxuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgY29uc3Qgbm9kZVNpemUgPSB7IHg6IDI3MCwgeTogMjcwIH07IC8vIGhvdyBtdWNoIHNwYWNlIGVhY2ggbm9kZSBvY2N1cGllc1xuICBjb25zdCBzZXBhcmF0aW9uOiBTZXAgPSB7IHNpYmxpbmdzOiAwLjgsIG5vblNpYmxpbmdzOiAwLjkgfTsgLy8gbm9kZSBzcGFjaW5nXG4gIGNvbnN0IFtkaW1zLCBzZXREaW1zXSA9IHVzZVN0YXRlKHsgd2lkdGg6IDUwMCwgaGVpZ2h0OiAxMDAgfSk7XG4gIGNvbnN0IGVhcmx5X2Fkb3B0ZXIgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IGFueSkgPT4gc3RhdGUucGVybWlzc2lvbnMuZWFybHlfYWRvcHRlcixcbiAgKTtcblxuICAvLyBrZWVwIHdyYXBwZXIgc2l6ZWQgdG8gdGhlIHZpZXdwb3J0XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCF3cmFwcGVyUmVmLmN1cnJlbnQpIHJldHVybjtcbiAgICBjb25zdCBybyA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICBjb25zdCByID0gd3JhcHBlclJlZi5jdXJyZW50IS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHNldERpbXMoeyB3aWR0aDogci53aWR0aCwgaGVpZ2h0OiByLmhlaWdodCB9KTtcbiAgICB9KTtcbiAgICByby5vYnNlcnZlKHdyYXBwZXJSZWYuY3VycmVudCk7XG4gICAgcmV0dXJuICgpID0+IHJvLmRpc2Nvbm5lY3QoKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHsgdHJhbnNsYXRlLCB6b29tIH0gPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCB7IG1heERlcHRoLCBtYXhCcmVhZHRoIH0gPSBjb3VudERlcHRoQW5kQnJlYWR0aChkYXRhKTtcblxuICAgIC8vIGFwcHJveGltYXRlIHJlcXVpcmVkIHBpeGVsIHNpemUgb2YgdGhlIGxhaWQtb3V0IHRyZWVcbiAgICBjb25zdCByZXFXID0gbWF4QnJlYWR0aCAqIG5vZGVTaXplLnggKiBzZXBhcmF0aW9uLnNpYmxpbmdzO1xuICAgIGNvbnN0IHJlcUggPSAobWF4RGVwdGggKyAxKSAqIG5vZGVTaXplLnk7XG5cbiAgICBjb25zdCBhdmFpbFcgPSBNYXRoLm1heCgxLCBkaW1zLndpZHRoIC0gUEFERElORyAqIDIpO1xuICAgIGNvbnN0IGF2YWlsSCA9IE1hdGgubWF4KDEsIGRpbXMuaGVpZ2h0IC0gUEFERElORyAqIDIpO1xuXG4gICAgY29uc3QgZml0Wm9vbSA9IDAuNyAqIE1hdGgubWluKGF2YWlsVyAvIHJlcVcsIGF2YWlsSCAvIHJlcUgpO1xuICAgIGNvbnN0IHogPSBpc0Zpbml0ZShmaXRab29tKSAmJiBmaXRab29tID4gMCA/IGZpdFpvb20gOiAxLjI7XG5cbiAgICByZXR1cm4geyB6b29tOiB6LCB0cmFuc2xhdGU6IHsgeDogZGltcy53aWR0aCAvIDIsIHk6IFBBRERJTkcgfSB9O1xuICB9LCBbXG4gICAgZGF0YSxcbiAgICBub2RlU2l6ZS54LFxuICAgIG5vZGVTaXplLnksXG4gICAgc2VwYXJhdGlvbi5zaWJsaW5ncyxcbiAgICBkaW1zLndpZHRoLFxuICAgIGRpbXMuaGVpZ2h0LFxuICBdKTtcblxuICBmdW5jdGlvbiBzZXRDb2xsYXBzZWRCeURlcHRoKG5vZGU6IGFueSwgbWF4RGVwdGg6IG51bWJlciwgZCA9IDApIHtcbiAgICBub2RlLmNvbGxhcHNlZCA9IGQgPj0gbWF4RGVwdGg7XG4gICAgbm9kZS5jaGlsZHJlbj8uZm9yRWFjaCgoYykgPT4gc2V0Q29sbGFwc2VkQnlEZXB0aChjLCBtYXhEZXB0aCwgZCArIDEpKTtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIGNvbnN0IHZpZXdEYXRhID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFkYXRhKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBjbG9uZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuICAgIHJldHVybiBzZXRDb2xsYXBzZWRCeURlcHRoKGNsb25lLCBpbml0aWFsRGVwdGgpO1xuICB9LCBbZGF0YSwgaW5pdGlhbERlcHRoXSk7XG5cbiAgY29uc3QgeyBzaXRlSUQsIGFyZWFJRCB9ID0gdXNlUGFyYW1zKCk7XG5cbiAgY29uc3QgcmVuZGVyQ3VzdG9tTm9kZUVsZW1lbnQgPSAocmQzdFByb3BzKSA9PiB7XG4gICAgY29uc3QgaXNSb290ID0gcmQzdFByb3BzLm5vZGVEYXR1bS5fX3JkM3QuZGVwdGggPT09IDA7XG4gICAgY29uc3Qgc2hvd1NhbXBsZXJzID1cbiAgICAgIHNlbGVjdGVkRmlsdGVycz8uU2FtcGxlckZpbHRlckl0ZW0/LnRvU3RyaW5nKCkgPT09ICd3aXRoJyB8fCBmYWxzZTtcbiAgICBjb25zdCBpbnNpZ2h0RGF0YSA9XG4gICAgICAoc2VsZWN0ZWRGaWx0ZXJzPy5JbnNpZ2h0RGF0YUZpbHRlckl0ZW0/LnRvU3RyaW5nKCkgYXMgSW5zaWdodERhdGEpIHx8XG4gICAgICAnc2NvcmUnO1xuICAgIGNvbnN0IGlzSGlnaGxpZ2h0ID1cbiAgICAgIChzaXRlSUQgJiZcbiAgICAgICAgc2l0ZUlEID09PSByZDN0UHJvcHMubm9kZURhdHVtLmF0dHJpYnV0ZXM/LnBvaW50X2lkPy50b1N0cmluZygpKSB8fFxuICAgICAgKGFyZWFJRCAmJlxuICAgICAgICBhcmVhSUQgPT09IHJkM3RQcm9wcy5ub2RlRGF0dW0uYXR0cmlidXRlcz8uYXJlYV9pZD8udG9TdHJpbmcoKSk7XG4gICAgY29uc3QgaXNFeGNlZWRlZCA9IGV4Y2VlZGVkU2l0ZUlkcy5pbmNsdWRlcyhcbiAgICAgIHJkM3RQcm9wcy5ub2RlRGF0dW0uYXR0cmlidXRlcz8ucG9pbnRfaWQsXG4gICAgKTtcbiAgICByZXR1cm4gIWlzUm9vdCAmJiBzaG91bGRGaWx0ZXJPdXQocmQzdFByb3BzLCBzZWxlY3RlZEZpbHRlcnMpID8gKFxuICAgICAgPGRpdj48L2Rpdj5cbiAgICApIDogaW5zaWdodERhdGEgPT09ICdzY29yZScgPyAoXG4gICAgICA8U2NvcmVOb2RlXG4gICAgICAgIHsuLi5yZDN0UHJvcHN9XG4gICAgICAgIGlzSGlnaGxpZ2h0PXtpc0hpZ2hsaWdodH1cbiAgICAgICAgaXNFeGNlZWRlZD17aXNFeGNlZWRlZH1cbiAgICAgICAgb25Ob2RlQ2xpY2s9e3Jlc3Qub25Ob2RlQ2xpY2t9XG4gICAgICAgIGVhcmx5QWRvcHRlcj17ZWFybHlfYWRvcHRlcn1cbiAgICAgICAgc2hvd1NhbXBsZXJzPXtzaG93U2FtcGxlcnN9XG4gICAgICAvPlxuICAgICkgOiAoXG4gICAgICA8UG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlXG4gICAgICAgIHsuLi5yZDN0UHJvcHN9XG4gICAgICAgIGlzRXhjZWVkZWQ9e2lzRXhjZWVkZWR9XG4gICAgICAgIGlzSGlnaGxpZ2h0PXtpc0hpZ2hsaWdodH1cbiAgICAgICAgb25Ob2RlQ2xpY2s9e3Jlc3Qub25Ob2RlQ2xpY2t9XG4gICAgICAgIGVhcmx5QWRvcHRlcj17ZWFybHlfYWRvcHRlcn1cbiAgICAgICAgc2hvd1NhbXBsZXJzPXtzaG93U2FtcGxlcnN9XG4gICAgICAvPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICByZWY9e3dyYXBwZXJSZWZ9XG4gICAgICBzdHlsZT17eyB3aWR0aDogJzEwMHZ3JywgaGVpZ2h0OiAnMTAwdmgnLCBvdmVyZmxvdzogJ2hpZGRlbicgfX1cbiAgICA+XG4gICAgICA8VHJlZVxuICAgICAgICBrZXk9e3RyZWVLZXl9XG4gICAgICAgIGRhdGE9e3ZpZXdEYXRhfVxuICAgICAgICBvcmllbnRhdGlvbj17b3JpZW50YXRpb259XG4gICAgICAgIHBhdGhGdW5jPVwic3RlcFwiXG4gICAgICAgIG5vZGVTaXplPXtub2RlU2l6ZX1cbiAgICAgICAgc2VwYXJhdGlvbj17c2VwYXJhdGlvbn1cbiAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAgIHpvb209e3pvb219XG4gICAgICAgIHpvb21hYmxlXG4gICAgICAgIHNjYWxlRXh0ZW50PXt7IG1pbjogMC4xLCBtYXg6IDIgfX1cbiAgICAgICAgcmVuZGVyQ3VzdG9tTm9kZUVsZW1lbnQ9e3JlbmRlckN1c3RvbU5vZGVFbGVtZW50fVxuICAgICAgICBjb2xsYXBzaWJsZVxuICAgICAgICBpbml0aWFsRGVwdGg9e2luaXRpYWxEZXB0aH1cbiAgICAgICAgey4uLnJlc3R9XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoi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
190
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REM1RyZWUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Njb3JlTm9kZSIsIl9Qb2xsdXRpb25Db250cmlidXRvck5vZGUiLCJfTmV0d29ya05vZGUiLCJfdXRpbHMiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlckRvbSIsIl9leGNsdWRlZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiY291bnREZXB0aEFuZEJyZWFkdGgiLCJyb290IiwibWF4RGVwdGgiLCJicmVhZHRoQnlEZXB0aCIsImRmcyIsIm4iLCJfbiRjaGlsZHJlbiIsImQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJNYXRoIiwibWF4IiwiY2hpbGRyZW4iLCJmb3JFYWNoIiwiYyIsIm1heEJyZWFkdGgiLCJhcHBseSIsIkF1dG9GaXRUcmVlIiwiX3JlZiIsImRhdGEiLCJfcmVmJG9yaWVudGF0aW9uIiwib3JpZW50YXRpb24iLCJpbml0aWFsRGVwdGgiLCJ0cmVlS2V5IiwiX3JlZiRzZWxlY3RlZEZpbHRlcnMiLCJzZWxlY3RlZEZpbHRlcnMiLCJfcmVmJGV4Y2VlZGVkU2l0ZUlkcyIsImV4Y2VlZGVkU2l0ZUlkcyIsInJlc3QiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiUEFERElORyIsIndyYXBwZXJSZWYiLCJ1c2VSZWYiLCJub2RlU2l6ZSIsIngiLCJ5Iiwic2VwYXJhdGlvbiIsInNpYmxpbmdzIiwibm9uU2libGluZ3MiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIndpZHRoIiwiaGVpZ2h0IiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRpbXMiLCJzZXREaW1zIiwiZWFybHlfYWRvcHRlciIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwZXJtaXNzaW9ucyIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJybyIsIlJlc2l6ZU9ic2VydmVyIiwiciIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsIm9ic2VydmUiLCJkaXNjb25uZWN0IiwiX3VzZU1lbW8iLCJ1c2VNZW1vIiwiX2NvdW50RGVwdGhBbmRCcmVhZHRoIiwicmVxVyIsInJlcUgiLCJhdmFpbFciLCJhdmFpbEgiLCJmaXRab29tIiwibWluIiwieiIsImlzRmluaXRlIiwiem9vbSIsInRyYW5zbGF0ZSIsInNldENvbGxhcHNlZEJ5RGVwdGgiLCJub2RlIiwiX25vZGUkY2hpbGRyZW4iLCJjb2xsYXBzZWQiLCJ2aWV3RGF0YSIsImNsb25lIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwiX3VzZVBhcmFtcyIsInVzZVBhcmFtcyIsInNpdGVJRCIsImFyZWFJRCIsInJlbmRlckN1c3RvbU5vZGVFbGVtZW50IiwicmQzdFByb3BzIiwiX3NlbGVjdGVkRmlsdGVycyRTYW1wIiwiX3NlbGVjdGVkRmlsdGVycyROZXR3IiwiX3NlbGVjdGVkRmlsdGVycyRJbnNpIiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kIiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kMiIsIl9yZDN0UHJvcHMkbm9kZURhdHVtJDMiLCJfcmQzdFByb3BzJG5vZGVEYXR1bSQ0IiwiX3JkM3RQcm9wcyRub2RlRGF0dW0kNSIsImlzUm9vdCIsIm5vZGVEYXR1bSIsIl9fcmQzdCIsImRlcHRoIiwic2hvd1NhbXBsZXJzIiwiU2FtcGxlckZpbHRlckl0ZW0iLCJ0b1N0cmluZyIsImluc2lnaHREYXRhIiwiTmV0d29ya0luc2lnaHREYXRhRmlsdGVySXRlbSIsIkluc2lnaHREYXRhRmlsdGVySXRlbSIsImlzSGlnaGxpZ2h0IiwiYXR0cmlidXRlcyIsInBvaW50X2lkIiwiYXJlYV9pZCIsImlzRXhjZWVkZWQiLCJpbmNsdWRlcyIsInNob3VsZEZpbHRlck91dCIsImNyZWF0ZUVsZW1lbnQiLCJhc3NpZ24iLCJvbk5vZGVDbGljayIsImVhcmx5QWRvcHRlciIsImluc2lnaHRUeXBlIiwicmVmIiwic3R5bGUiLCJvdmVyZmxvdyIsInBhdGhGdW5jIiwiem9vbWFibGUiLCJzY2FsZUV4dGVudCIsImNvbGxhcHNpYmxlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpLWtpdC9IaWVyYXJjaHlHcmFwaC9BdXRvRml0VHJlZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBUcmVlLCB7IFJhd05vZGVEYXR1bSB9IGZyb20gJ3JlYWN0LWQzLXRyZWUnO1xuaW1wb3J0IFNjb3JlTm9kZSBmcm9tICcuL1Njb3JlTm9kZSc7XG5pbXBvcnQgUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlIGZyb20gJy4vUG9sbHV0aW9uQ29udHJpYnV0b3JOb2RlJztcbmltcG9ydCBOZXR3b3JrTm9kZSBmcm9tICcuL05ldHdvcmtOb2RlJztcbmltcG9ydCB7IHNob3VsZEZpbHRlck91dCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcblxudHlwZSBTZXAgPSB7IHNpYmxpbmdzOiBudW1iZXI7IG5vblNpYmxpbmdzOiBudW1iZXIgfTtcblxuZnVuY3Rpb24gY291bnREZXB0aEFuZEJyZWFkdGgocm9vdDogUmF3Tm9kZURhdHVtKSB7XG4gIGxldCBtYXhEZXB0aCA9IDA7XG4gIGNvbnN0IGJyZWFkdGhCeURlcHRoOiBudW1iZXJbXSA9IFtdO1xuICBjb25zdCBkZnMgPSAobjogUmF3Tm9kZURhdHVtLCBkID0gMCkgPT4ge1xuICAgIG1heERlcHRoID0gTWF0aC5tYXgobWF4RGVwdGgsIGQpO1xuICAgIGJyZWFkdGhCeURlcHRoW2RdID0gKGJyZWFkdGhCeURlcHRoW2RdIHx8IDApICsgMTtcbiAgICBuLmNoaWxkcmVuPy5mb3JFYWNoKChjKSA9PiBkZnMoYywgZCArIDEpKTtcbiAgfTtcbiAgZGZzKHJvb3QpO1xuICBjb25zdCBtYXhCcmVhZHRoID0gTWF0aC5tYXgoLi4uYnJlYWR0aEJ5RGVwdGgpO1xuICByZXR1cm4geyBtYXhEZXB0aCwgbWF4QnJlYWR0aCB9O1xufVxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQXV0b0ZpdFRyZWUoe1xuICBkYXRhLFxuICBvcmllbnRhdGlvbiA9ICd2ZXJ0aWNhbCcsXG4gIGluaXRpYWxEZXB0aCxcbiAgdHJlZUtleSxcbiAgc2VsZWN0ZWRGaWx0ZXJzID0ge30sXG4gIGV4Y2VlZGVkU2l0ZUlkcyA9IFtdLFxuICAuLi5yZXN0XG59OiB7XG4gIGRhdGE6IGFueTtcbiAgb3JpZW50YXRpb24/OiAndmVydGljYWwnIHwgJ2hvcml6b250YWwnO1xuICBpbml0aWFsRGVwdGg6IG51bWJlcjtcbiAgb25Ob2RlQ2xpY2s/OiAobm9kZURhdGE6IGFueSkgPT4gdm9pZDtcbiAgdHJlZUtleTogbnVtYmVyO1xuICBzZWxlY3RlZEZpbHRlcnM/OiBhbnk7XG4gIGV4Y2VlZGVkU2l0ZUlkcz86IG51bWJlcltdO1xufSkge1xuICBjb25zdCBQQURESU5HID0gNDI7IC8vIHNjcmVlbiBwYWRkaW5nIGluIHB4XG4gIGNvbnN0IHdyYXBwZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBub2RlU2l6ZSA9IHsgeDogMjcwLCB5OiAyNzAgfTsgLy8gaG93IG11Y2ggc3BhY2UgZWFjaCBub2RlIG9jY3VwaWVzXG4gIGNvbnN0IHNlcGFyYXRpb246IFNlcCA9IHsgc2libGluZ3M6IDAuOCwgbm9uU2libGluZ3M6IDAuOSB9OyAvLyBub2RlIHNwYWNpbmdcbiAgY29uc3QgW2RpbXMsIHNldERpbXNdID0gdXNlU3RhdGUoeyB3aWR0aDogNTAwLCBoZWlnaHQ6IDEwMCB9KTtcbiAgY29uc3QgZWFybHlfYWRvcHRlciA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogYW55KSA9PiBzdGF0ZS5wZXJtaXNzaW9ucy5lYXJseV9hZG9wdGVyLFxuICApO1xuXG4gIC8vIGtlZXAgd3JhcHBlciBzaXplZCB0byB0aGUgdmlld3BvcnRcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXdyYXBwZXJSZWYuY3VycmVudCkgcmV0dXJuO1xuICAgIGNvbnN0IHJvID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgIGNvbnN0IHIgPSB3cmFwcGVyUmVmLmN1cnJlbnQhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgc2V0RGltcyh7IHdpZHRoOiByLndpZHRoLCBoZWlnaHQ6IHIuaGVpZ2h0IH0pO1xuICAgIH0pO1xuICAgIHJvLm9ic2VydmUod3JhcHBlclJlZi5jdXJyZW50KTtcbiAgICByZXR1cm4gKCkgPT4gcm8uZGlzY29ubmVjdCgpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgeyB0cmFuc2xhdGUsIHpvb20gfSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHsgbWF4RGVwdGgsIG1heEJyZWFkdGggfSA9IGNvdW50RGVwdGhBbmRCcmVhZHRoKGRhdGEpO1xuXG4gICAgLy8gYXBwcm94aW1hdGUgcmVxdWlyZWQgcGl4ZWwgc2l6ZSBvZiB0aGUgbGFpZC1vdXQgdHJlZVxuICAgIGNvbnN0IHJlcVcgPSBtYXhCcmVhZHRoICogbm9kZVNpemUueCAqIHNlcGFyYXRpb24uc2libGluZ3M7XG4gICAgY29uc3QgcmVxSCA9IChtYXhEZXB0aCArIDEpICogbm9kZVNpemUueTtcblxuICAgIGNvbnN0IGF2YWlsVyA9IE1hdGgubWF4KDEsIGRpbXMud2lkdGggLSBQQURESU5HICogMik7XG4gICAgY29uc3QgYXZhaWxIID0gTWF0aC5tYXgoMSwgZGltcy5oZWlnaHQgLSBQQURESU5HICogMik7XG5cbiAgICBjb25zdCBmaXRab29tID0gMC43ICogTWF0aC5taW4oYXZhaWxXIC8gcmVxVywgYXZhaWxIIC8gcmVxSCk7XG4gICAgY29uc3QgeiA9IGlzRmluaXRlKGZpdFpvb20pICYmIGZpdFpvb20gPiAwID8gZml0Wm9vbSA6IDEuMjtcblxuICAgIHJldHVybiB7IHpvb206IHosIHRyYW5zbGF0ZTogeyB4OiBkaW1zLndpZHRoIC8gMiwgeTogUEFERElORyB9IH07XG4gIH0sIFtcbiAgICBkYXRhLFxuICAgIG5vZGVTaXplLngsXG4gICAgbm9kZVNpemUueSxcbiAgICBzZXBhcmF0aW9uLnNpYmxpbmdzLFxuICAgIGRpbXMud2lkdGgsXG4gICAgZGltcy5oZWlnaHQsXG4gIF0pO1xuXG4gIGZ1bmN0aW9uIHNldENvbGxhcHNlZEJ5RGVwdGgobm9kZTogYW55LCBtYXhEZXB0aDogbnVtYmVyLCBkID0gMCkge1xuICAgIG5vZGUuY29sbGFwc2VkID0gZCA+PSBtYXhEZXB0aDtcbiAgICBub2RlLmNoaWxkcmVuPy5mb3JFYWNoKChjKSA9PiBzZXRDb2xsYXBzZWRCeURlcHRoKGMsIG1heERlcHRoLCBkICsgMSkpO1xuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgY29uc3Qgdmlld0RhdGEgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIWRhdGEpIHJldHVybiBudWxsO1xuICAgIGNvbnN0IGNsb25lID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShkYXRhKSk7XG4gICAgcmV0dXJuIHNldENvbGxhcHNlZEJ5RGVwdGgoY2xvbmUsIGluaXRpYWxEZXB0aCk7XG4gIH0sIFtkYXRhLCBpbml0aWFsRGVwdGhdKTtcblxuICBjb25zdCB7IHNpdGVJRCwgYXJlYUlEIH0gPSB1c2VQYXJhbXMoKTtcblxuICBjb25zdCByZW5kZXJDdXN0b21Ob2RlRWxlbWVudCA9IChyZDN0UHJvcHMpID0+IHtcbiAgICBjb25zdCBpc1Jvb3QgPSByZDN0UHJvcHMubm9kZURhdHVtLl9fcmQzdC5kZXB0aCA9PT0gMDtcbiAgICBjb25zdCBzaG93U2FtcGxlcnMgPVxuICAgICAgc2VsZWN0ZWRGaWx0ZXJzPy5TYW1wbGVyRmlsdGVySXRlbT8udG9TdHJpbmcoKSA9PT0gJ3dpdGgnIHx8IGZhbHNlO1xuICAgIGNvbnN0IGluc2lnaHREYXRhID1cbiAgICAgIHNlbGVjdGVkRmlsdGVycz8uTmV0d29ya0luc2lnaHREYXRhRmlsdGVySXRlbT8udG9TdHJpbmcoKSB8fFxuICAgICAgc2VsZWN0ZWRGaWx0ZXJzPy5JbnNpZ2h0RGF0YUZpbHRlckl0ZW0/LnRvU3RyaW5nKCkgfHxcbiAgICAgICdzY29yZSc7XG4gICAgY29uc3QgaXNIaWdobGlnaHQgPVxuICAgICAgKHNpdGVJRCAmJlxuICAgICAgICBzaXRlSUQgPT09IHJkM3RQcm9wcy5ub2RlRGF0dW0uYXR0cmlidXRlcz8ucG9pbnRfaWQ/LnRvU3RyaW5nKCkpIHx8XG4gICAgICAoYXJlYUlEICYmXG4gICAgICAgIGFyZWFJRCA9PT0gcmQzdFByb3BzLm5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5hcmVhX2lkPy50b1N0cmluZygpKTtcbiAgICBjb25zdCBpc0V4Y2VlZGVkID0gZXhjZWVkZWRTaXRlSWRzLmluY2x1ZGVzKFxuICAgICAgcmQzdFByb3BzLm5vZGVEYXR1bS5hdHRyaWJ1dGVzPy5wb2ludF9pZCxcbiAgICApO1xuICAgIGlmICghaXNSb290ICYmIHNob3VsZEZpbHRlck91dChyZDN0UHJvcHMsIHNlbGVjdGVkRmlsdGVycykpIHtcbiAgICAgIHJldHVybiA8ZGl2PjwvZGl2PjtcbiAgICB9XG5cbiAgICBpZiAoaW5zaWdodERhdGEgPT09ICdzY29yZScpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTY29yZU5vZGVcbiAgICAgICAgICB7Li4ucmQzdFByb3BzfVxuICAgICAgICAgIGlzSGlnaGxpZ2h0PXtpc0hpZ2hsaWdodH1cbiAgICAgICAgICBpc0V4Y2VlZGVkPXtpc0V4Y2VlZGVkfVxuICAgICAgICAgIG9uTm9kZUNsaWNrPXtyZXN0Lm9uTm9kZUNsaWNrfVxuICAgICAgICAgIGVhcmx5QWRvcHRlcj17ZWFybHlfYWRvcHRlcn1cbiAgICAgICAgICBzaG93U2FtcGxlcnM9e3Nob3dTYW1wbGVyc31cbiAgICAgICAgLz5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGluc2lnaHREYXRhID09PSAncG9sbHV0aW9uX2NvbnRyaWJ1dG9yJykge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFBvbGx1dGlvbkNvbnRyaWJ1dG9yTm9kZVxuICAgICAgICAgIHsuLi5yZDN0UHJvcHN9XG4gICAgICAgICAgaXNFeGNlZWRlZD17aXNFeGNlZWRlZH1cbiAgICAgICAgICBpc0hpZ2hsaWdodD17aXNIaWdobGlnaHR9XG4gICAgICAgICAgb25Ob2RlQ2xpY2s9e3Jlc3Qub25Ob2RlQ2xpY2t9XG4gICAgICAgICAgZWFybHlBZG9wdGVyPXtlYXJseV9hZG9wdGVyfVxuICAgICAgICAgIHNob3dTYW1wbGVycz17c2hvd1NhbXBsZXJzfVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPE5ldHdvcmtOb2RlXG4gICAgICAgIHsuLi5yZDN0UHJvcHN9XG4gICAgICAgIGluc2lnaHRUeXBlPXtpbnNpZ2h0RGF0YX1cbiAgICAgICAgaXNFeGNlZWRlZD17aXNFeGNlZWRlZH1cbiAgICAgICAgaXNIaWdobGlnaHQ9e2lzSGlnaGxpZ2h0fVxuICAgICAgICBvbk5vZGVDbGljaz17cmVzdC5vbk5vZGVDbGlja31cbiAgICAgICAgZWFybHlBZG9wdGVyPXtlYXJseV9hZG9wdGVyfVxuICAgICAgICBzaG93U2FtcGxlcnM9e3Nob3dTYW1wbGVyc31cbiAgICAgIC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHJlZj17d3JhcHBlclJlZn1cbiAgICAgIHN0eWxlPXt7IHdpZHRoOiAnMTAwdncnLCBoZWlnaHQ6ICcxMDB2aCcsIG92ZXJmbG93OiAnaGlkZGVuJyB9fVxuICAgID5cbiAgICAgIDxUcmVlXG4gICAgICAgIGtleT17dHJlZUtleX1cbiAgICAgICAgZGF0YT17dmlld0RhdGF9XG4gICAgICAgIG9yaWVudGF0aW9uPXtvcmllbnRhdGlvbn1cbiAgICAgICAgcGF0aEZ1bmM9XCJzdGVwXCJcbiAgICAgICAgbm9kZVNpemU9e25vZGVTaXplfVxuICAgICAgICBzZXBhcmF0aW9uPXtzZXBhcmF0aW9ufVxuICAgICAgICB0cmFuc2xhdGU9e3RyYW5zbGF0ZX1cbiAgICAgICAgem9vbT17em9vbX1cbiAgICAgICAgem9vbWFibGVcbiAgICAgICAgc2NhbGVFeHRlbnQ9e3sgbWluOiAwLjEsIG1heDogMiB9fVxuICAgICAgICByZW5kZXJDdXN0b21Ob2RlRWxlbWVudD17cmVuZGVyQ3VzdG9tTm9kZUVsZW1lbnR9XG4gICAgICAgIGNvbGxhcHNpYmxlXG4gICAgICAgIGluaXRpYWxEZXB0aD17aW5pdGlhbERlcHRofVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxVQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSx5QkFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssWUFBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sV0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsZUFBQSxHQUFBUixPQUFBO0FBQTZDLElB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