@kando-env/kando-ui 1.2.233 → 1.2.235

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 (570) hide show
  1. package/lib/Router.js +66 -4
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +41 -11
  3. package/lib/Widgets/EventsRow/EventsRow.js +41 -14
  4. package/lib/Widgets/Map/GraphUtils.js +4 -1
  5. package/lib/Widgets/Map/Map.js +42 -20
  6. package/lib/Widgets/Map/MapUtils.js +58 -4
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +27 -7
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +21 -8
  9. package/lib/Widgets/Map/edges/Edge.js +30 -9
  10. package/lib/Widgets/Map/edges/Edges.js +17 -11
  11. package/lib/Widgets/Map/edges/arrows/Arrows.js +22 -7
  12. package/lib/Widgets/Map/events/Event.js +23 -7
  13. package/lib/Widgets/Map/events/EventIndicator.js +42 -19
  14. package/lib/Widgets/Map/events/EventPath.js +20 -5
  15. package/lib/Widgets/Map/events/EventUtils.js +53 -4
  16. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +16 -5
  17. package/lib/Widgets/Map/events/PointOfEvent.js +32 -3
  18. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +14 -4
  19. package/lib/Widgets/Map/events/Snail.js +19 -7
  20. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +54 -15
  21. package/lib/Widgets/Map/map/FloatingGraph.js +19 -3
  22. package/lib/Widgets/Map/map/GraphDateButton.js +9 -3
  23. package/lib/Widgets/Map/matchGraph/MatchGraph.js +11 -5
  24. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +10 -4
  25. package/lib/Widgets/Map/points/PointMarker.js +19 -3
  26. package/lib/Widgets/Map/points/PointMarkers.js +19 -6
  27. package/lib/Widgets/Map/points/PointUtils.js +78 -7
  28. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +49 -15
  29. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +19 -4
  30. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +13 -1
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +5 -1
  32. package/lib/Widgets/MostPolluting/Areas/Areas.js +53 -19
  33. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +1 -1
  34. package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
  35. package/lib/Widgets/MostPolluting/Areas/styles.js +7 -1
  36. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +11 -3
  37. package/lib/Widgets/MostPolluting/Factories/Factories.js +64 -30
  38. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +21 -4
  39. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +10 -1
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +17 -4
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +7 -3
  42. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +1 -1
  43. package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
  44. package/lib/Widgets/MostPolluting/Factories/styles.js +7 -1
  45. package/lib/Widgets/MostPolluting/MostPolluting.js +17 -4
  46. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +17 -13
  47. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +9 -2
  48. package/lib/Widgets/MostPolluting/ShowMore/styles.js +5 -1
  49. package/lib/Widgets/MostPolluting/assets/index.js +28 -17
  50. package/lib/Widgets/MostPolluting/components/ChangePercent.js +16 -1
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +26 -15
  52. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +26 -4
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +33 -25
  54. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +20 -4
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +43 -29
  56. package/lib/Widgets/MostPolluting/models.js +1 -1
  57. package/lib/Widgets/MostPolluting/styles.js +7 -1
  58. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +9 -2
  59. package/lib/Widgets/PotentialImpactSummary/Icon.js +11 -1
  60. package/lib/Widgets/PotentialImpactSummary/index.js +29 -7
  61. package/lib/Widgets/PotentialImpactSummary/index.test.js +36 -17
  62. package/lib/Widgets/PotentialImpactSummary/styles.js +15 -2
  63. package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
  64. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +10 -4
  65. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +21 -7
  66. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +29 -19
  67. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +24 -15
  68. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +21 -7
  69. package/lib/Widgets/QualitySummary/QualitySummary.js +24 -8
  70. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +2 -2
  71. package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
  72. package/lib/Widgets/QualitySummary/styles.js +16 -3
  73. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +20 -9
  74. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +34 -9
  75. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +18 -9
  76. package/lib/Widgets/UtilityInformation/UtilityInformation.js +45 -22
  77. package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
  78. package/lib/Widgets/UtilityInformation/styles.js +22 -2
  79. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +2 -2
  80. package/lib/assets/icons/index.js +8 -5
  81. package/lib/assets/icons/kandoStepper/index.js +14 -9
  82. package/lib/components/ApplyButton/ApplyButton.js +11 -5
  83. package/lib/components/ApplyButton/index.js +4 -1
  84. package/lib/components/Backdrop/Backdrop.js +8 -2
  85. package/lib/components/ContentLoader/ContentLoader.js +12 -7
  86. package/lib/components/ContentLoader/index.js +2 -1
  87. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +14 -7
  88. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +8 -2
  89. package/lib/components/CustomInputs/DoubleTabs/styles.js +10 -2
  90. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +18 -5
  91. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +5 -1
  92. package/lib/components/CustomInputs/Search/Search.js +38 -13
  93. package/lib/components/CustomInputs/Search/index.js +4 -1
  94. package/lib/components/CustomInputs/Select/Select.js +31 -13
  95. package/lib/components/CustomInputs/Select/Select.stories.js +8 -2
  96. package/lib/components/DamageType/DamageType.js +76 -37
  97. package/lib/components/DamageType/index.js +4 -1
  98. package/lib/components/DataLoaderError/DataLoaderError.js +10 -4
  99. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +16 -6
  100. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +37 -17
  101. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +37 -12
  102. package/lib/components/DischargeHeatmap/HighchartsOptions.js +10 -6
  103. package/lib/components/DischargeHeatmap/index.js +4 -1
  104. package/lib/components/DischargeHeatmap/mocks/handlers.js +4 -3
  105. package/lib/components/DischargeHeatmap/popupText.js +16 -1
  106. package/lib/components/DischargeHeatmap/titles.js +8 -1
  107. package/lib/components/DischargeHeatmap/types.js +1 -1
  108. package/lib/components/ErrorBoundary.js +15 -3
  109. package/lib/components/Events/Events.js +30 -5
  110. package/lib/components/Events/index.js +4 -1
  111. package/lib/components/Graph/Graph.js +74 -31
  112. package/lib/components/Graph/index.js +4 -1
  113. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +7 -1
  114. package/lib/components/Header/Breadcrumbs/index.js +4 -1
  115. package/lib/components/Header/DoubleTabs/DoubleTabs.js +30 -14
  116. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +8 -2
  117. package/lib/components/Header/DoubleTabs/styles.js +10 -2
  118. package/lib/components/Header/Header.js +7 -1
  119. package/lib/components/Header/Header.stories.js +8 -2
  120. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +11 -1
  121. package/lib/components/Header/InfoBar/InfoBar.js +30 -4
  122. package/lib/components/Header/InfoBar/Search/Control.js +13 -2
  123. package/lib/components/Header/InfoBar/Search/GroupLabel.js +12 -1
  124. package/lib/components/Header/InfoBar/Search/Search.js +26 -5
  125. package/lib/components/Header/InfoBar/Search/SearchContainer.js +21 -4
  126. package/lib/components/Header/InfoBar/Search/index.js +4 -1
  127. package/lib/components/Header/InfoBar/Search/searchStyle.js +4 -1
  128. package/lib/components/Header/KandoNavbar/KandoNavbar.js +91 -46
  129. package/lib/components/Header/KandoNavbar/index.js +4 -1
  130. package/lib/components/Header/Slideshow/Slideshow.js +67 -31
  131. package/lib/components/Header/Slideshow/index.js +4 -1
  132. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +7 -1
  133. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +15 -2
  134. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +15 -1
  135. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +24 -7
  136. package/lib/components/Header/Toolbar/Toolbar.js +84 -46
  137. package/lib/components/InfoBar/InfoBar.js +23 -8
  138. package/lib/components/InfoBar/InfoBar.stories.js +8 -2
  139. package/lib/components/KandoModal/KandoModal.js +42 -19
  140. package/lib/components/KandoModal/index.js +4 -1
  141. package/lib/components/Link.js +11 -2
  142. package/lib/components/Links/CustomRedirect/CustomRedirect.js +12 -3
  143. package/lib/components/Links/StyledLink/StyledLink.js +16 -6
  144. package/lib/components/Links/StyledNavLink/StyledNavLink.js +14 -4
  145. package/lib/components/LiveEvents/CarouselSlide.js +11 -5
  146. package/lib/components/LiveEvents/LiveEvents.js +10 -1
  147. package/lib/components/LiveEvents/index.js +4 -1
  148. package/lib/components/LoaderByPercent/LoaderByPercent.js +23 -13
  149. package/lib/components/Map/Map.js +26 -12
  150. package/lib/components/Map/index.js +4 -1
  151. package/lib/components/Modal/Modal.js +10 -3
  152. package/lib/components/NarrowHeader.js +12 -1
  153. package/lib/components/PointInfo/PointInfo.js +22 -10
  154. package/lib/components/PointInfo/index.js +4 -1
  155. package/lib/components/PopupModal/PopupModal.js +17 -6
  156. package/lib/components/PopupModal/PopupModal.stories.js +11 -2
  157. package/lib/components/Sector/Sector.js +13 -4
  158. package/lib/components/Sector/Sector.test.js +8 -3
  159. package/lib/components/Sector/index.js +4 -1
  160. package/lib/components/Sector/sectorIcons.js +27 -1
  161. package/lib/components/SevereEvent/Eta/Eta.js +39 -14
  162. package/lib/components/SevereEvent/Eta/styles.js +5 -1
  163. package/lib/components/SevereEvent/SevereEvent.js +36 -15
  164. package/lib/components/Spinner/Spinner.js +10 -5
  165. package/lib/components/Spinner/Spinner.stories.js +8 -2
  166. package/lib/components/Spinner/index.js +4 -1
  167. package/lib/components/Spinner/styles.js +9 -1
  168. package/lib/components/Tabs/Tabs.js +24 -4
  169. package/lib/components/Tabs/Tabs.stories.js +8 -2
  170. package/lib/components/Tabs/assets/index.js +6 -1
  171. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +12 -2
  172. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +43 -12
  173. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +36 -12
  174. package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +4 -1
  175. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +29 -9
  176. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +9 -4
  177. package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +4 -1
  178. package/lib/components/TimeRangeSelector/TimeRangeList.js +13 -4
  179. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +24 -11
  180. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +36 -11
  181. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +10 -2
  182. package/lib/components/TimeRangeSelector/constants.js +2 -2
  183. package/lib/components/TimeRangeSelector/index.js +4 -1
  184. package/lib/components/Toggle/Toggle.js +21 -7
  185. package/lib/components/Toggle/index.js +4 -1
  186. package/lib/components/TrendGraph/TrendGraph.js +49 -16
  187. package/lib/components/TrendGraph/index.js +4 -1
  188. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +35 -10
  189. package/lib/components/TrendGraphNVL/index.js +4 -1
  190. package/lib/development-environment/index.js +13 -1
  191. package/lib/development-environment/mock/browser.js +8 -1
  192. package/lib/development-environment/mock/get.js +5 -1
  193. package/lib/development-environment/mock/handlers.js +26 -1
  194. package/lib/development-environment/mock/mockBus.js +7 -2
  195. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +1 -1
  196. package/lib/development-environment/mock/mockObjects/areaInformation.js +1 -1
  197. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +1 -1
  198. package/lib/development-environment/mock/mockObjects/areaSitesData.js +1 -1
  199. package/lib/development-environment/mock/mockObjects/areasJson.js +1 -1
  200. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +1 -1
  201. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +1 -1
  202. package/lib/development-environment/mock/mockObjects/data-menuData.js +1 -1
  203. package/lib/development-environment/mock/mockObjects/data-search.js +1 -1
  204. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +1 -1
  205. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +1 -1
  206. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +1 -1
  207. package/lib/development-environment/mock/mockObjects/eventsJson.js +1 -1
  208. package/lib/development-environment/mock/mockObjects/metascore.js +1 -1
  209. package/lib/development-environment/mock/mockObjects/permissionsJson.js +1 -1
  210. package/lib/development-environment/mock/mockObjects/pointsJson.js +1 -1
  211. package/lib/development-environment/mock/mockObjects/site-info.js +1 -1
  212. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +1 -1
  213. package/lib/development-environment/togly/ToglyDashboard.js +22 -4
  214. package/lib/development-environment/togly/ToglyItem.js +25 -5
  215. package/lib/development-environment/togly/flags.js +1 -1
  216. package/lib/development-environment/togly/init.js +6 -1
  217. package/lib/development-environment/togly/macro.js +9 -7
  218. package/lib/development-environment/togly/useDoubleKeyDown.js +8 -1
  219. package/lib/development-environment/togly/useLocalStorage.js +19 -12
  220. package/lib/hooks/useApi.js +29 -10
  221. package/lib/hooks/useApiWithDashboardQuery.js +30 -10
  222. package/lib/hooks/useClickOutside.js +5 -1
  223. package/lib/hooks/useInitializeHeaders.js +7 -1
  224. package/lib/hooks/useKandoFetch.js +27 -13
  225. package/lib/hooks/useMap.js +39 -8
  226. package/lib/hooks/useNavContext.js +22 -13
  227. package/lib/hooks/useQueryURL.js +4 -1
  228. package/lib/hooks/useRemoveExistingLayers.js +7 -2
  229. package/lib/hooks/useUpdateEventBodyTail.js +10 -1
  230. package/lib/hooks/useUserTimeZone.js +9 -1
  231. package/lib/hooks/useUserTimeZone.test.js +9 -1
  232. package/lib/hooks/useWindowSize.js +19 -14
  233. package/lib/i18n/en.json +2 -1
  234. package/lib/i18n/he.json +2 -1
  235. package/lib/index.js +29 -13
  236. package/lib/macros/getVersion.js +3 -2
  237. package/lib/models/IAction.js +1 -1
  238. package/lib/models/IAppState.js +1 -1
  239. package/lib/pages/AreaPage/AreaPage.js +34 -5
  240. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +17 -6
  241. package/lib/pages/AreaPage/Dashboard/Dashboard.js +23 -2
  242. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +35 -11
  243. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +8 -6
  244. package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +64 -28
  245. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +10 -1
  246. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +15 -3
  247. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +7 -3
  248. package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
  249. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +1 -1
  250. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +10 -2
  251. package/lib/pages/AssessmentPage/AssessmentPage.js +30 -5
  252. package/lib/pages/CannyWidget/Feedback.js +25 -10
  253. package/lib/pages/CovidPage/CovidPage.js +14 -1
  254. package/lib/pages/CovidPage/components/Body.js +33 -9
  255. package/lib/pages/CovidPage/components/Map.js +38 -20
  256. package/lib/pages/CovidPage/components/Sidebar.js +18 -4
  257. package/lib/pages/CovidPage/components/Summary.js +29 -8
  258. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +35 -10
  259. package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +4 -1
  260. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +41 -13
  261. package/lib/pages/CovidPage/components/TrendPopupContent/index.js +4 -1
  262. package/lib/pages/CovidPage/components/areas/Area.js +33 -6
  263. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +45 -4
  264. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +18 -5
  265. package/lib/pages/CovidPage/components/areas/AreasList.js +33 -14
  266. package/lib/pages/CovidPage/components/areas/Sort.js +19 -5
  267. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -2
  268. package/lib/pages/EventsPage/Body/Body.js +19 -2
  269. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +28 -11
  270. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +31 -11
  271. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +11 -4
  272. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +11 -3
  273. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +10 -5
  274. package/lib/pages/EventsPage/DragAndDropArea/index.js +4 -1
  275. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +33 -7
  276. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +21 -2
  277. package/lib/pages/EventsPage/EventsPage.js +13 -1
  278. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +32 -9
  279. package/lib/pages/EventsPage/events/MoreInfo.js +19 -1
  280. package/lib/pages/EventsPage/events/Sidebar.js +18 -5
  281. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +29 -5
  282. package/lib/pages/EventsPage/events/event_info/EventDetails.js +32 -8
  283. package/lib/pages/EventsPage/events/event_info/EventInfo.js +41 -12
  284. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +14 -2
  285. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +40 -10
  286. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +12 -1
  287. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +30 -8
  288. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +8 -1
  289. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/LineChartYear/LineChartYear.js +27 -7
  290. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/MockHistoryInformation.js +10 -2
  291. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +21 -5
  292. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsLineChart.js +23 -4
  293. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +22 -4
  294. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +33 -6
  295. package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +15 -3
  296. package/lib/pages/EventsPage/events/event_info/samplings/Samplings.js +10 -2
  297. package/lib/pages/EventsPage/events/event_info/sources/Source.js +31 -8
  298. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +20 -4
  299. package/lib/pages/EventsPage/events/events_list/EventItem.js +24 -3
  300. package/lib/pages/EventsPage/events/events_list/EventUtils.js +13 -2
  301. package/lib/pages/EventsPage/events/events_list/EventsList.js +102 -38
  302. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +32 -11
  303. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +96 -31
  304. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +55 -10
  305. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +17 -5
  306. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +38 -15
  307. package/lib/pages/EventsPage/events/events_list/Sort.js +23 -4
  308. package/lib/pages/ImportFileWizard/FileUploadRespones.js +19 -4
  309. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +8 -2
  310. package/lib/pages/ImportFileWizard/ImportFile.js +29 -10
  311. package/lib/pages/ImportFileWizard/ResponseBody.js +12 -3
  312. package/lib/pages/ImportFileWizard/ValidationForm.js +27 -7
  313. package/lib/pages/ImportFileWizard/ValidationResponse.js +30 -6
  314. package/lib/pages/ImportFileWizard/importFileUtils.js +2 -1
  315. package/lib/pages/ImportFileWizard/index.js +4 -1
  316. package/lib/pages/ImportGisPage/ImportGisContainer.js +27 -7
  317. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +27 -10
  318. package/lib/pages/ImportGisPage/importGisUtils.js +13 -1
  319. package/lib/pages/ImportGisProcess/index.js +18 -4
  320. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +19 -5
  321. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +10 -3
  322. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +8 -1
  323. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +58 -25
  324. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +8 -2
  325. package/lib/pages/NotificationsPage/Notification/Notification.js +16 -8
  326. package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
  327. package/lib/pages/NotificationsPage/Notifications.mock.js +1 -1
  328. package/lib/pages/NotificationsPage/Notifications.stories.js +10 -2
  329. package/lib/pages/NotificationsPage/NotificationsPage.js +35 -11
  330. package/lib/pages/NotificationsPage/assets/index.js +24 -15
  331. package/lib/pages/NotificationsPageV2/NotificationsPage.js +83 -35
  332. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +24 -4
  333. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +40 -15
  334. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +49 -18
  335. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +47 -4
  336. package/lib/pages/NotificationsPageV2/notificationUtils.js +30 -2
  337. package/lib/pages/OldSitePage/IDashboardData.js +1 -1
  338. package/lib/pages/OldSitePage/OldSitePage.js +77 -16
  339. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +16 -3
  340. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +8 -2
  341. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -4
  342. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +12 -5
  343. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -2
  344. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +23 -7
  345. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +20 -6
  346. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +10 -4
  347. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +12 -2
  348. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +24 -9
  349. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +12 -4
  350. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +59 -28
  351. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
  352. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  353. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +18 -3
  354. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +15 -2
  355. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +16 -8
  356. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +16 -1
  357. package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
  358. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +10 -2
  359. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +7 -2
  360. package/lib/pages/ProfilePage/Container.js +5 -1
  361. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +43 -16
  362. package/lib/pages/ProfilePage/ProfilePage.js +88 -39
  363. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +32 -9
  364. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +17 -7
  365. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +14 -3
  366. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +43 -7
  367. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +21 -4
  368. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +15 -7
  369. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +29 -8
  370. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +25 -6
  371. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +21 -9
  372. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +13 -1
  373. package/lib/pages/SamplingsPage/DesktopActions/index.js +4 -1
  374. package/lib/pages/SamplingsPage/NavigationDropdown.js +21 -3
  375. package/lib/pages/SamplingsPage/NewSamplingAction.js +84 -38
  376. package/lib/pages/SamplingsPage/SamplingMobileModal.js +65 -12
  377. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +19 -5
  378. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +13 -2
  379. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +56 -22
  380. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +20 -4
  381. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +14 -1
  382. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +107 -34
  383. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +42 -11
  384. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +47 -14
  385. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +49 -15
  386. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +23 -5
  387. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +8 -2
  388. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +11 -1
  389. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +36 -7
  390. package/lib/pages/SamplingsPage/SamplingsMobileList.js +34 -10
  391. package/lib/pages/SamplingsPage/SamplingsPage.js +39 -14
  392. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +48 -14
  393. package/lib/pages/SamplingsPage/index.js +3 -1
  394. package/lib/pages/SamplingsPage/samplingsPageUtils.js +30 -7
  395. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +10 -2
  396. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +8 -2
  397. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +17 -3
  398. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +11 -6
  399. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +23 -15
  400. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +16 -7
  401. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +27 -18
  402. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -2
  403. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +26 -9
  404. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +20 -6
  405. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +10 -4
  406. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +12 -2
  407. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +24 -9
  408. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +12 -4
  409. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +68 -32
  410. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
  411. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  412. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +19 -4
  413. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +15 -2
  414. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +38 -17
  415. package/lib/pages/SitePage/SamplingParameters/dataParser.js +29 -13
  416. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +7 -3
  417. package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
  418. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +10 -2
  419. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +8 -2
  420. package/lib/pages/SitePage/SiteInformation/ContributorItem.js +12 -5
  421. package/lib/pages/SitePage/SiteInformation/EmptyState.js +10 -1
  422. package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +15 -5
  423. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +48 -17
  424. package/lib/pages/SitePage/SiteInformation/style.js +8 -2
  425. package/lib/pages/SitePage/SitePage.js +49 -10
  426. package/lib/pages/UploadLabResult/index.js +8 -1
  427. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +37 -9
  428. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +9 -2
  429. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +16 -2
  430. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +8 -2
  431. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +35 -9
  432. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +5 -1
  433. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +7 -1
  434. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +10 -1
  435. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +16 -7
  436. package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
  437. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +10 -1
  438. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +5 -1
  439. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +25 -3
  440. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +19 -13
  441. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +17 -6
  442. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +20 -5
  443. package/lib/pages/WbeDashboard/ExpandableComponent.js +11 -1
  444. package/lib/pages/WbeDashboard/GraphWrapper.js +26 -5
  445. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +19 -6
  446. package/lib/pages/WbeDashboard/SearchInput.js +22 -4
  447. package/lib/pages/WbeDashboard/SummaryGraph.js +44 -13
  448. package/lib/pages/WbeDashboard/SummaryGraphModal.js +13 -1
  449. package/lib/pages/WbeDashboard/Tabs.js +9 -3
  450. package/lib/pages/WbeDashboard/WbeDashboardPage.js +112 -25
  451. package/lib/pages/WbeDashboard/WbeSummaryBar.js +42 -8
  452. package/lib/providers/Slideshow/SlideshowContext.js +5 -3
  453. package/lib/providers/Slideshow/SlideshowProvider.js +31 -16
  454. package/lib/providers/Slideshow/SlideshowRunner.js +17 -7
  455. package/lib/providers/UrlHistory/UrlHistoryContext.js +7 -3
  456. package/lib/providers/UrlHistory/UrlHistoryProvider.js +13 -1
  457. package/lib/providers/UrlHistory/index.js +8 -5
  458. package/lib/providers/UrlHistory/useLastVisited.js +7 -1
  459. package/lib/react-app-env.d.js +1 -1
  460. package/lib/store/ImportGis/action.js +1 -1
  461. package/lib/store/ImportGis/actionTypes.js +2 -1
  462. package/lib/store/ImportGis/actionsCreator.js +17 -7
  463. package/lib/store/ImportGis/models/gisImports.js +1 -1
  464. package/lib/store/ImportGis/reducer.js +17 -1
  465. package/lib/store/WBE/actionTypes.js +1 -1
  466. package/lib/store/WBE/actions.js +3 -1
  467. package/lib/store/WBE/models/IAreaWBE.js +1 -1
  468. package/lib/store/WBE/models/IWBE.js +1 -1
  469. package/lib/store/WBE/models/IWBEState.js +1 -1
  470. package/lib/store/WBE/reducer.js +9 -2
  471. package/lib/store/areas/actionTypes.js +2 -2
  472. package/lib/store/areas/actions.js +11 -2
  473. package/lib/store/areas/models/IArea.js +1 -1
  474. package/lib/store/areas/models/IAreasState.js +1 -1
  475. package/lib/store/areas/reducer.js +9 -1
  476. package/lib/store/context/actionTypes.js +2 -2
  477. package/lib/store/context/actions.js +6 -2
  478. package/lib/store/context/contextMiddlewares.js +9 -1
  479. package/lib/store/context/models/INavContext.js +1 -1
  480. package/lib/store/context/models/INavContextState.js +1 -1
  481. package/lib/store/context/reducer.js +9 -2
  482. package/lib/store/dashboard/dashboardSlice.js +3 -1
  483. package/lib/store/dashboard/periodType.js +1 -1
  484. package/lib/store/edges/actionTypes.js +2 -2
  485. package/lib/store/edges/actions.js +9 -3
  486. package/lib/store/edges/models/IEdge.js +1 -1
  487. package/lib/store/edges/models/IEdgesState.js +1 -1
  488. package/lib/store/edges/reducer.js +16 -2
  489. package/lib/store/events/actionTypes.js +2 -2
  490. package/lib/store/events/actions.js +28 -10
  491. package/lib/store/events/models/IEvent.js +1 -1
  492. package/lib/store/events/models/IEventsState.js +1 -1
  493. package/lib/store/events/models/ISource.js +1 -1
  494. package/lib/store/events/reducer.js +41 -3
  495. package/lib/store/filters/IFilter.js +1 -1
  496. package/lib/store/filters/IFilterItem.js +1 -1
  497. package/lib/store/global/actionTypes.js +2 -2
  498. package/lib/store/global/actions.js +20 -8
  499. package/lib/store/global/models/IGlobalState.js +1 -1
  500. package/lib/store/global/reducer.js +18 -2
  501. package/lib/store/permissions/permissionsSlice.js +6 -1
  502. package/lib/store/points/actionTypes.js +2 -2
  503. package/lib/store/points/actions.js +5 -1
  504. package/lib/store/points/models/IGroup.js +1 -1
  505. package/lib/store/points/models/IPoint.js +1 -1
  506. package/lib/store/points/models/IPointsState.js +1 -1
  507. package/lib/store/points/reducer.js +7 -1
  508. package/lib/store/rootActionTypes.js +1 -1
  509. package/lib/store/rootActions.js +3 -1
  510. package/lib/store/rootReducer.js +23 -4
  511. package/lib/store/rootStore.js +12 -4
  512. package/lib/store/samplings/action.js +1 -1
  513. package/lib/store/samplings/actionTypes.js +2 -1
  514. package/lib/store/samplings/actionsCreator.js +5 -2
  515. package/lib/store/samplings/models/Samplings.js +1 -1
  516. package/lib/store/samplings/reducer.js +9 -1
  517. package/lib/styles/StylesLayout.js +7 -1
  518. package/lib/styles/theme/theme.js +4 -2
  519. package/lib/test/mocks/browser.js +7 -3
  520. package/lib/test/test-utils.js +21 -11
  521. package/lib/ui-kit/Button/Button.js +23 -15
  522. package/lib/ui-kit/Button/Button.test.js +26 -6
  523. package/lib/ui-kit/Button/ButtonUtils.js +1 -1
  524. package/lib/ui-kit/Checkbox/Checkbox.js +21 -7
  525. package/lib/ui-kit/DropDown/DropDown.js +16 -5
  526. package/lib/ui-kit/DropDown/DropDown.test.js +12 -6
  527. package/lib/ui-kit/DropDown/DropDownItem.js +13 -5
  528. package/lib/ui-kit/DropDown/DropdownToggle.js +13 -2
  529. package/lib/ui-kit/IconAction/IconAction.js +9 -3
  530. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +70 -19
  531. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +27 -16
  532. package/lib/ui-kit/KandoList/KandoList.js +16 -5
  533. package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
  534. package/lib/ui-kit/KandoTable/KandoTable.js +35 -21
  535. package/lib/ui-kit/KandoTable/KandoTable.test.js +16 -1
  536. package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
  537. package/lib/ui-kit/Layout/Layout.js +8 -1
  538. package/lib/ui-kit/MobileInput/MobileInput.js +33 -18
  539. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +14 -8
  540. package/lib/ui-kit/ModalConfirmation/index.js +3 -1
  541. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +10 -5
  542. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +11 -3
  543. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +11 -4
  544. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +14 -5
  545. package/lib/ui-kit/Tooltip/Tooltip.js +8 -3
  546. package/lib/ui-kit/index.js +15 -1
  547. package/lib/ui-kit/kandoStepper/KandoStepper.js +7 -2
  548. package/lib/utilities/ActionUtility.js +2 -1
  549. package/lib/utilities/Alert.js +10 -2
  550. package/lib/utilities/Analytics.js +12 -1
  551. package/lib/utilities/Array.js +6 -2
  552. package/lib/utilities/Enum.js +16 -1
  553. package/lib/utilities/ErrorBoundary.js +18 -3
  554. package/lib/utilities/File.js +24 -5
  555. package/lib/utilities/GetDir.js +8 -4
  556. package/lib/utilities/KandoDate.js +7 -1
  557. package/lib/utilities/KandoModal.js +22 -7
  558. package/lib/utilities/LocalStorage.js +13 -2
  559. package/lib/utilities/ThousandsToK.js +3 -1
  560. package/lib/utilities/TimeFormat.js +19 -6
  561. package/lib/utilities/Truncate.js +27 -7
  562. package/lib/utilities/edgesMath.js +24 -5
  563. package/lib/utilities/i18n.js +14 -1
  564. package/lib/utilities/kql.js +10 -3
  565. package/lib/utilities/map/icons.js +14 -1
  566. package/lib/utilities/scoreToColor.js +8 -1
  567. package/lib/utilities/time.js +9 -2
  568. package/lib/utilities/uploadToS3.js +9 -1
  569. package/lib/utilities/urls.js +12 -4
  570. package/package.json +1 -1
@@ -1,13 +1,17 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
- exports.waterAuthoritiesRadioButtons = exports.sourcesRadioButtons = exports.severitiesRadioButtons = exports.sendViaCheckBoxes = exports.mockTypes = exports.getNotificationString = exports.getEmptyNotification = void 0;
8
+ exports.getNotificationString = exports.sendViaCheckBoxes = exports.sourcesRadioButtons = exports.waterAuthoritiesRadioButtons = exports.severitiesRadioButtons = exports.getEmptyNotification = exports.mockTypes = void 0;
9
+
8
10
  var _i18n = _interopRequireDefault(require("utilities/i18n"));
11
+
9
12
  var mockTypes = ['PollutionAlertConfig', 'DataloggerThresholdAlertConfig', 'DataloggerOverflowAlertConfig', 'DeviceHealthAlertConfig', 'WbeAlertConfig', 'WbeWeeklyDigestAlertConfig', 'RollingEventAlertConfig', 'DataloggerPumpAlertConfig'];
10
13
  exports.mockTypes = mockTypes;
14
+
11
15
  var getEmptyNotification = function getEmptyNotification() {
12
16
  return {
13
17
  available_types: ['PollutionAlertConfig', 'DataloggerThresholdAlertConfig', 'DataloggerOverflowAlertConfig', 'DeviceHealthAlertConfig', 'WbeAlertConfig', 'WbeWeeklyDigestAlertConfig', 'RollingEventAlertConfig', 'DataloggerPumpAlertConfig'],
@@ -38,6 +42,7 @@ var getEmptyNotification = function getEmptyNotification() {
38
42
  pump_only: '0'
39
43
  };
40
44
  };
45
+
41
46
  exports.getEmptyNotification = getEmptyNotification;
42
47
  var severitiesRadioButtons = [{
43
48
  label: 'notifications_page.edit_extreme',
@@ -95,64 +100,84 @@ var sendViaCheckBoxes = [{
95
100
  value: 'sms'
96
101
  }];
97
102
  exports.sendViaCheckBoxes = sendViaCheckBoxes;
103
+
98
104
  var getNotificationString = function getNotificationString(notification) {
99
105
  var transIdx = 'notifications_page.notifications_text.';
106
+
100
107
  var title = _i18n.default.t("".concat(transIdx, "title"));
108
+
101
109
  var typeString = '';
102
110
  var sampleString = '';
103
111
  sampleString = notification.pump_only === '1' ? " ".concat(_i18n.default.t('notifications_page.sampler_activated')) : '.';
112
+
104
113
  switch (notification.type) {
105
114
  case 'RollingEventAlertConfig':
106
115
  typeString = [title, getNotificationAlertsString(notification), _i18n.default.t("".concat(transIdx, "about_pollution_events")), getNotificationSeveritiesString(notification), getNotificationSourcesString(notification, transIdx)].join(' ');
107
116
  typeString += sampleString;
108
117
  break;
118
+
109
119
  case 'PollutionAlertConfig':
110
120
  typeString = [title, getNotificationAlertsString(notification), _i18n.default.t("".concat(transIdx, "about_pollution_events")), getNotificationSeveritiesString(notification), getNotificationSourcesString(notification, transIdx)].join(' ');
111
121
  typeString += sampleString;
112
122
  break;
123
+
113
124
  case 'DataloggerThresholdAlertConfig':
114
125
  typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'sensors_thresholds')).concat(getNotificationSensorsString(notification), ".");
115
126
  break;
127
+
116
128
  case 'DataloggerOverflowAlertConfig':
117
129
  typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'overflow_event'), ", ").concat(getNotificationSourcesString(notification, transIdx), ".");
118
130
  break;
131
+
119
132
  case 'DeviceHealthAlertConfig':
120
133
  typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'device_malfunctioning'), " ").concat(getNotificationSourcesString(notification, transIdx), ".");
121
134
  break;
135
+
122
136
  case 'WbeWeeklyDigestAlertConfig':
123
137
  typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'wbe_weekly'), ".");
124
138
  break;
139
+
125
140
  case 'WbeAlertConfig':
126
141
  typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'wbe_alert'), ".");
127
142
  break;
143
+
128
144
  case 'DataloggerPumpAlertConfig':
129
145
  typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'datalogger_pump'), ", ").concat(getNotificationSourcesString(notification, transIdx), ".");
130
146
  break;
131
147
  }
148
+
132
149
  return typeString;
133
150
  };
151
+
134
152
  exports.getNotificationString = getNotificationString;
153
+
135
154
  function getNotificationAlertsString(notification) {
136
155
  var sendVia = notification.actions;
137
156
  var tempArray = [];
138
157
  var sendViaString = '';
158
+
139
159
  for (var key in sendVia) {
140
160
  if (sendVia[key]) {
141
161
  tempArray.push(_i18n.default.t("notifications_page.edit_".concat(key)));
142
162
  }
143
163
  }
164
+
144
165
  sendViaString = tempArray.join(', ');
166
+
145
167
  var and = _i18n.default.t("notifications_page.notifications_text.and");
168
+
146
169
  and += and === '&' ? ' ' : '';
147
170
  sendViaString = sendViaString.replace(/,\s([^,]+)$/, " ".concat(and, "$1"));
148
171
  return sendViaString;
149
172
  }
173
+
150
174
  function getNotificationSeveritiesString(notification) {
151
175
  var severity = notification.severity;
152
176
  var severityString = '';
153
177
  severity === 'extreme' ? severityString = _i18n.default.t('notifications_page.extreme') : severityString = _i18n.default.t("notifications_page.".concat(severity)) + ' ' + _i18n.default.t("notifications_page.notifications_text.or_higher");
154
178
  return severityString;
155
179
  }
180
+
156
181
  function getNotificationSourcesString(notification, transIdx) {
157
182
  var set = notification.points.set;
158
183
  var selection_type = notification.points.selection_type;
@@ -167,11 +192,13 @@ function getNotificationSourcesString(notification, transIdx) {
167
192
  sourcesString += Strings.join(Strings.length > 1 ? ', ' : ' ');
168
193
  return sourcesString;
169
194
  }
195
+
170
196
  function getNotificationSensorsString(notification) {
171
197
  var set = notification.sensors.set;
172
198
  var selection_type = notification.sensors.selection_type;
173
199
  var Strings = [];
174
200
  var sensorsString = '';
201
+
175
202
  if (selection_type !== 'all') {
176
203
  set.map(function (sensor) {
177
204
  return Strings.push(sensor.text);
@@ -179,6 +206,7 @@ function getNotificationSensorsString(notification) {
179
206
  sensorsString = ': ';
180
207
  sensorsString += Strings.join(', ');
181
208
  }
209
+
182
210
  return sensorsString;
183
211
  }
184
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwibW9ja1R5cGVzIiwiZXhwb3J0cyIsImdldEVtcHR5Tm90aWZpY2F0aW9uIiwiYXZhaWxhYmxlX3R5cGVzIiwiaWQiLCJ0eXBlIiwic2V2ZXJpdHkiLCJ3YXRlcl9hdXRob3JpdGllcyIsInNlbGVjdGlvbl90eXBlIiwic2V0IiwicG9pbnRzIiwidGFncyIsInNlbnNvcnMiLCJhY3Rpb25zIiwidGVsZWdyYW0iLCJlbWFpbCIsInNtcyIsInB1bXBfb25seSIsInNldmVyaXRpZXNSYWRpb0J1dHRvbnMiLCJsYWJlbCIsIm5hbWUiLCJ2YWx1ZSIsIndhdGVyQXV0aG9yaXRpZXNSYWRpb0J1dHRvbnMiLCJzb3VyY2VzUmFkaW9CdXR0b25zIiwic2VuZFZpYUNoZWNrQm94ZXMiLCJnZXROb3RpZmljYXRpb25TdHJpbmciLCJub3RpZmljYXRpb24iLCJ0cmFuc0lkeCIsInRpdGxlIiwiaTE4biIsInQiLCJjb25jYXQiLCJ0eXBlU3RyaW5nIiwic2FtcGxlU3RyaW5nIiwiZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nIiwiZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyIsImdldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmciLCJqb2luIiwiZ2V0Tm90aWZpY2F0aW9uU2Vuc29yc1N0cmluZyIsInNlbmRWaWEiLCJ0ZW1wQXJyYXkiLCJzZW5kVmlhU3RyaW5nIiwia2V5IiwicHVzaCIsImFuZCIsInJlcGxhY2UiLCJzZXZlcml0eVN0cmluZyIsIlN0cmluZ3MiLCJzb3VyY2VzU3RyaW5nIiwibWFwIiwic291cmNlIiwidGV4dCIsImxlbmd0aCIsInNlbnNvcnNTdHJpbmciLCJzZW5zb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9ub3RpZmljYXRpb25VdGlscy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb24ge1xuICBhdmFpbGFibGVfdHlwZXM/OiBzdHJpbmdbXTtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBzZXZlcml0eTogc3RyaW5nO1xuICB3YXRlcl9hdXRob3JpdGllczogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHBvaW50czogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uO1xuICBzZW5zb3JzOiBBZHZhbmNlZFNlbGVjdGlvbjtcbiAgYWN0aW9uczogYW55O1xuICBwdW1wX29ubHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZHZhbmNlZFNlbGVjdGlvbiB7XG4gIHNlbGVjdGlvbl90eXBlOiBzdHJpbmc7XG4gIHNldDogYW55O1xuICB3YXRlcl9hdXRob3JpdHk/OiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBtb2NrVHlwZXM6IGFueSA9IFtcbiAgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyxcbiAgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycsXG4gICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZycsXG4gICdEZXZpY2VIZWFsdGhBbGVydENvbmZpZycsXG4gICdXYmVBbGVydENvbmZpZycsXG4gICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycsXG4gICdSb2xsaW5nRXZlbnRBbGVydENvbmZpZycsXG4gICdEYXRhbG9nZ2VyUHVtcEFsZXJ0Q29uZmlnJyxcbl07XG5cbmV4cG9ydCBjb25zdCBnZXRFbXB0eU5vdGlmaWNhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBhdmFpbGFibGVfdHlwZXM6IFtcbiAgICAgICdQb2xsdXRpb25BbGVydENvbmZpZycsXG4gICAgICAnRGF0YWxvZ2dlclRocmVzaG9sZEFsZXJ0Q29uZmlnJyxcbiAgICAgICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZycsXG4gICAgICAnRGV2aWNlSGVhbHRoQWxlcnRDb25maWcnLFxuICAgICAgJ1diZUFsZXJ0Q29uZmlnJyxcbiAgICAgICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycsXG4gICAgICAnUm9sbGluZ0V2ZW50QWxlcnRDb25maWcnLFxuICAgICAgJ0RhdGFsb2dnZXJQdW1wQWxlcnRDb25maWcnLFxuICAgIF0sXG4gICAgaWQ6ICcnLFxuICAgIHR5cGU6ICcnLFxuICAgIHNldmVyaXR5OiAnbWVkaXVtJyxcbiAgICB3YXRlcl9hdXRob3JpdGllczoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHBvaW50czoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHRhZ3M6IHtcbiAgICAgIHNlbGVjdGlvbl90eXBlOiAnYWxsJyxcbiAgICAgIHNldDogW10sXG4gICAgfSxcbiAgICBzZW5zb3JzOiB7XG4gICAgICBzZWxlY3Rpb25fdHlwZTogJ2FsbCcsXG4gICAgICBzZXQ6IFtdLFxuICAgIH0sXG4gICAgYWN0aW9uczogeyB0ZWxlZ3JhbTogZmFsc2UsIGVtYWlsOiB0cnVlLCBzbXM6IHRydWUgfSxcbiAgICBwdW1wX29ubHk6ICcwJyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXZlcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leHRyZW1lJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnZXh0cmVtZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2hpZ2gnLFxuICAgIG5hbWU6ICdzZXZlcml0eScsXG4gICAgdmFsdWU6ICdoaWdoJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfbWVkaXVtJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnbWVkaXVtJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCB3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdhbGwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9pbmNsdWRlJyxcbiAgICBuYW1lOiAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIHZhbHVlOiAnaW5jbHVkZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2V4Y2x1ZGUnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzb3VyY2VzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2FsbCcsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2luY2x1ZGUnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2luY2x1ZGUnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leGNsdWRlJyxcbiAgICBuYW1lOiAnc291cmNlcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzZW5kVmlhQ2hlY2tCb3hlcyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfdGVsZWdyYW0nLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ3RlbGVncmFtJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZW1haWwnLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ2VtYWlsJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc21zJyxcbiAgICBuYW1lOiAnYWN0aW9ucycsXG4gICAgdmFsdWU6ICdzbXMnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IGdldE5vdGlmaWNhdGlvblN0cmluZyA9IChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikgPT4ge1xuICBjb25zdCB0cmFuc0lkeCA9ICdub3RpZmljYXRpb25zX3BhZ2Uubm90aWZpY2F0aW9uc190ZXh0Lic7XG4gIGNvbnN0IHRpdGxlID0gaTE4bi50KGAke3RyYW5zSWR4fXRpdGxlYCk7XG4gIGxldCB0eXBlU3RyaW5nID0gJyc7XG4gIGxldCBzYW1wbGVTdHJpbmcgPSAnJztcbiAgc2FtcGxlU3RyaW5nID1cbiAgICBub3RpZmljYXRpb24ucHVtcF9vbmx5ID09PSAnMSdcbiAgICAgID8gYCAke2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnNhbXBsZXJfYWN0aXZhdGVkJyl9YFxuICAgICAgOiAnLic7XG5cbiAgc3dpdGNoIChub3RpZmljYXRpb24udHlwZSkge1xuICAgIGNhc2UgJ1JvbGxpbmdFdmVudEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBbXG4gICAgICAgIHRpdGxlLFxuICAgICAgICBnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgaTE4bi50KGAke3RyYW5zSWR4fWFib3V0X3BvbGx1dGlvbl9ldmVudHNgKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyhub3RpZmljYXRpb24pLFxuICAgICAgICBnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpLFxuICAgICAgXS5qb2luKCcgJyk7XG4gICAgICB0eXBlU3RyaW5nICs9IHNhbXBsZVN0cmluZztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBbXG4gICAgICAgIHRpdGxlLFxuICAgICAgICBnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgaTE4bi50KGAke3RyYW5zSWR4fWFib3V0X3BvbGx1dGlvbl9ldmVudHNgKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyhub3RpZmljYXRpb24pLFxuICAgICAgICBnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpLFxuICAgICAgXS5qb2luKCcgJyk7XG4gICAgICB0eXBlU3RyaW5nICs9IHNhbXBsZVN0cmluZztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udChcbiAgICAgICAgdHJhbnNJZHggKyAnc2Vuc29yc190aHJlc2hvbGRzJyxcbiAgICAgICl9JHtnZXROb3RpZmljYXRpb25TZW5zb3JzU3RyaW5nKG5vdGlmaWNhdGlvbil9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udCh0cmFuc0lkeCArICdvdmVyZmxvd19ldmVudCcpfSwgJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHRyYW5zSWR4LFxuICAgICAgKX0uYDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RldmljZUhlYWx0aEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KFxuICAgICAgICB0cmFuc0lkeCArICdkZXZpY2VfbWFsZnVuY3Rpb25pbmcnLFxuICAgICAgKX0gJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX3dlZWtseScpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX2FsZXJ0Jyl9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyUHVtcEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KFxuICAgICAgICB0cmFuc0lkeCArICdkYXRhbG9nZ2VyX3B1bXAnLFxuICAgICAgKX0sICR7Z2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KX0uYDtcbiAgICAgIGJyZWFrO1xuICB9XG4gIHJldHVybiB0eXBlU3RyaW5nO1xufTtcblxuZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKG5vdGlmaWNhdGlvbikge1xuICBjb25zdCBzZW5kVmlhID0gbm90aWZpY2F0aW9uLmFjdGlvbnM7XG4gIGxldCB0ZW1wQXJyYXk6IHN0cmluZ1tdID0gW107XG5cbiAgbGV0IHNlbmRWaWFTdHJpbmcgPSAnJztcbiAgZm9yIChjb25zdCBrZXkgaW4gc2VuZFZpYSkge1xuICAgIGlmIChzZW5kVmlhW2tleV0pIHtcbiAgICAgIHRlbXBBcnJheS5wdXNoKGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfJHtrZXl9YCkpO1xuICAgIH1cbiAgfVxuICBzZW5kVmlhU3RyaW5nID0gdGVtcEFycmF5LmpvaW4oJywgJyk7XG4gIGxldCBhbmQgPSBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5ub3RpZmljYXRpb25zX3RleHQuYW5kYCk7XG4gIGFuZCArPSBhbmQgPT09ICcmJyA/ICcgJyA6ICcnO1xuICBzZW5kVmlhU3RyaW5nID0gc2VuZFZpYVN0cmluZy5yZXBsYWNlKC8sXFxzKFteLF0rKSQvLCBgICR7YW5kfSQxYCk7XG4gIHJldHVybiBzZW5kVmlhU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXROb3RpZmljYXRpb25TZXZlcml0aWVzU3RyaW5nKG5vdGlmaWNhdGlvbikge1xuICBjb25zdCB7IHNldmVyaXR5IH0gPSBub3RpZmljYXRpb247XG4gIGxldCBzZXZlcml0eVN0cmluZyA9ICcnO1xuICBzZXZlcml0eSA9PT0gJ2V4dHJlbWUnXG4gICAgPyAoc2V2ZXJpdHlTdHJpbmcgPSBpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5leHRyZW1lJykpXG4gICAgOiAoc2V2ZXJpdHlTdHJpbmcgPVxuICAgICAgICBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS4ke3NldmVyaXR5fWApICtcbiAgICAgICAgJyAnICtcbiAgICAgICAgaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2Uubm90aWZpY2F0aW9uc190ZXh0Lm9yX2hpZ2hlcmApKTtcbiAgcmV0dXJuIHNldmVyaXR5U3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpIHtcbiAgY29uc3QgeyBzZXQgfSA9IG5vdGlmaWNhdGlvbi5wb2ludHM7XG4gIGNvbnN0IHsgc2VsZWN0aW9uX3R5cGUgfSA9IG5vdGlmaWNhdGlvbi5wb2ludHM7XG5cbiAgbGV0IFN0cmluZ3M6IHN0cmluZ1tdID0gW107XG4gIGxldCBzb3VyY2VzU3RyaW5nID0gJyc7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSA9PT0gJ2FsbCcpXG4gICAgU3RyaW5ncy5wdXNoKGkxOG4udChgJHt0cmFuc0lkeH1pbl9hbGxfc291cmNlc2ApKTtcbiAgaWYgKHNlbGVjdGlvbl90eXBlID09PSAnZXhjbHVkZScpXG4gICAgU3RyaW5ncy5wdXNoKGkxOG4udChgJHt0cmFuc0lkeH1leGNsdWRpbmdgKSk7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSA9PT0gJ2luY2x1ZGUnKVxuICAgIHNvdXJjZXNTdHJpbmcgPSBpMThuLnQoYCR7dHJhbnNJZHh9aW5gKSArICcgJztcbiAgaWYgKHNlbGVjdGlvbl90eXBlICE9PSAnYWxsJykgc2V0Lm1hcCgoc291cmNlKSA9PiBTdHJpbmdzLnB1c2goc291cmNlLnRleHQpKTtcbiAgc291cmNlc1N0cmluZyArPSBTdHJpbmdzLmpvaW4oU3RyaW5ncy5sZW5ndGggPiAxID8gJywgJyA6ICcgJyk7XG4gIHJldHVybiBzb3VyY2VzU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXROb3RpZmljYXRpb25TZW5zb3JzU3RyaW5nKG5vdGlmaWNhdGlvbikge1xuICBjb25zdCB7IHNldCB9ID0gbm90aWZpY2F0aW9uLnNlbnNvcnM7XG4gIGNvbnN0IHsgc2VsZWN0aW9uX3R5cGUgfSA9IG5vdGlmaWNhdGlvbi5zZW5zb3JzO1xuXG4gIGxldCBTdHJpbmdzOiBzdHJpbmdbXSA9IFtdO1xuICBsZXQgc2Vuc29yc1N0cmluZyA9ICcnO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnKSB7XG4gICAgc2V0Lm1hcCgoc2Vuc29yKSA9PiBTdHJpbmdzLnB1c2goc2Vuc29yLnRleHQpKTtcbiAgICBzZW5zb3JzU3RyaW5nID0gJzogJztcbiAgICBzZW5zb3JzU3RyaW5nICs9IFN0cmluZ3Muam9pbignLCAnKTtcbiAgfVxuICByZXR1cm4gc2Vuc29yc1N0cmluZztcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQXFCTyxJQUFNQyxTQUFjLEdBQUcsQ0FDNUIsc0JBQXNCLEVBQ3RCLGdDQUFnQyxFQUNoQywrQkFBK0IsRUFDL0IseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUNoQiw0QkFBNEIsRUFDNUIseUJBQXlCLEVBQ3pCLDJCQUEyQixDQUM1QjtBQUFDQyxPQUFBLENBQUFELFNBQUEsR0FBQUEsU0FBQTtBQUVLLElBQU1FLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUEsRUFBUztFQUN4QyxPQUFPO0lBQ0xDLGVBQWUsRUFBRSxDQUNmLHNCQUFzQixFQUN0QixnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6QiwyQkFBMkIsQ0FDNUI7SUFDREMsRUFBRSxFQUFFLEVBQUU7SUFDTkMsSUFBSSxFQUFFLEVBQUU7SUFDUkMsUUFBUSxFQUFFLFFBQVE7SUFDbEJDLGlCQUFpQixFQUFFO01BQ2pCQyxjQUFjLEVBQUUsS0FBSztNQUNyQkMsR0FBRyxFQUFFO0lBQ1AsQ0FBQztJQUNEQyxNQUFNLEVBQUU7TUFDTkYsY0FBYyxFQUFFLEtB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
212
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL25vdGlmaWNhdGlvblV0aWxzLnRzeCJdLCJuYW1lcyI6WyJtb2NrVHlwZXMiLCJnZXRFbXB0eU5vdGlmaWNhdGlvbiIsImF2YWlsYWJsZV90eXBlcyIsImlkIiwidHlwZSIsInNldmVyaXR5Iiwid2F0ZXJfYXV0aG9yaXRpZXMiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsInBvaW50cyIsInRhZ3MiLCJzZW5zb3JzIiwiYWN0aW9ucyIsInRlbGVncmFtIiwiZW1haWwiLCJzbXMiLCJwdW1wX29ubHkiLCJzZXZlcml0aWVzUmFkaW9CdXR0b25zIiwibGFiZWwiLCJuYW1lIiwidmFsdWUiLCJ3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zIiwic291cmNlc1JhZGlvQnV0dG9ucyIsInNlbmRWaWFDaGVja0JveGVzIiwiZ2V0Tm90aWZpY2F0aW9uU3RyaW5nIiwibm90aWZpY2F0aW9uIiwidHJhbnNJZHgiLCJ0aXRsZSIsImkxOG4iLCJ0IiwidHlwZVN0cmluZyIsInNhbXBsZVN0cmluZyIsImdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyIsImdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmciLCJnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nIiwiam9pbiIsImdldE5vdGlmaWNhdGlvblNlbnNvcnNTdHJpbmciLCJzZW5kVmlhIiwidGVtcEFycmF5Iiwic2VuZFZpYVN0cmluZyIsImtleSIsInB1c2giLCJhbmQiLCJyZXBsYWNlIiwic2V2ZXJpdHlTdHJpbmciLCJTdHJpbmdzIiwic291cmNlc1N0cmluZyIsIm1hcCIsInNvdXJjZSIsInRleHQiLCJsZW5ndGgiLCJzZW5zb3JzU3RyaW5nIiwic2Vuc29yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFxQk8sSUFBTUEsU0FBYyxHQUFHLENBQzVCLHNCQUQ0QixFQUU1QixnQ0FGNEIsRUFHNUIsK0JBSDRCLEVBSTVC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U0FBU1YsNEJBQVQsQ0FBc0NYLFlBQXRDLEVBQW9EO0FBQ2xELE1BQVFqQixHQUFSLEdBQWdCaUIsWUFBWSxDQUFDZCxPQUE3QixDQUFRSCxHQUFSO0FBQ0EsTUFBUUQsY0FBUixHQUEyQmtCLFlBQVksQ0FBQ2QsT0FBeEMsQ0FBUUosY0FBUjtBQUVBLE1BQUlzQyxPQUFpQixHQUFHLEVBQXhCO0FBQ0EsTUFBSU0sYUFBYSxHQUFHLEVBQXBCOztBQUNBLE1BQUk1QyxjQUFjLEtBQUssS0FBdkIsRUFBOEI7QUFDNUJDLElBQUFBLEdBQUcsQ0FBQ3VDLEdBQUosQ0FBUSxVQUFDSyxNQUFEO0FBQUEsYUFBWVAsT0FBTyxDQUFDSixJQUFSLENBQWFXLE1BQU0sQ0FBQ0gsSUFBcEIsQ0FBWjtBQUFBLEtBQVI7QUFDQUUsSUFBQUEsYUFBYSxHQUFHLElBQWhCO0FBQ0FBLElBQUFBLGFBQWEsSUFBSU4sT0FBTyxDQUFDVixJQUFSLENBQWEsSUFBYixDQUFqQjtBQUNEOztBQUNELFNBQU9nQixhQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbiB7XG4gIGF2YWlsYWJsZV90eXBlcz86IHN0cmluZ1tdO1xuICBpZDogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHNldmVyaXR5OiBzdHJpbmc7XG4gIHdhdGVyX2F1dGhvcml0aWVzOiBBZHZhbmNlZFNlbGVjdGlvbjtcbiAgcG9pbnRzOiBBZHZhbmNlZFNlbGVjdGlvbjtcbiAgdGFnczogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHNlbnNvcnM6IEFkdmFuY2VkU2VsZWN0aW9uO1xuICBhY3Rpb25zOiBhbnk7XG4gIHB1bXBfb25seTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkdmFuY2VkU2VsZWN0aW9uIHtcbiAgc2VsZWN0aW9uX3R5cGU6IHN0cmluZztcbiAgc2V0OiBhbnk7XG4gIHdhdGVyX2F1dGhvcml0eT86IGFueTtcbn1cblxuZXhwb3J0IGNvbnN0IG1vY2tUeXBlczogYW55ID0gW1xuICAnUG9sbHV0aW9uQWxlcnRDb25maWcnLFxuICAnRGF0YWxvZ2dlclRocmVzaG9sZEFsZXJ0Q29uZmlnJyxcbiAgJ0RhdGFsb2dnZXJPdmVyZmxvd0FsZXJ0Q29uZmlnJyxcbiAgJ0RldmljZUhlYWx0aEFsZXJ0Q29uZmlnJyxcbiAgJ1diZUFsZXJ0Q29uZmlnJyxcbiAgJ1diZVdlZWtseURpZ2VzdEFsZXJ0Q29uZmlnJyxcbiAgJ1JvbGxpbmdFdmVudEFsZXJ0Q29uZmlnJyxcbiAgJ0RhdGFsb2dnZXJQdW1wQWxlcnRDb25maWcnLFxuXTtcblxuZXhwb3J0IGNvbnN0IGdldEVtcHR5Tm90aWZpY2F0aW9uID0gKCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGF2YWlsYWJsZV90eXBlczogW1xuICAgICAgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyxcbiAgICAgICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnLFxuICAgICAgJ0RhdGFsb2dnZXJPdmVyZmxvd0FsZXJ0Q29uZmlnJyxcbiAgICAgICdEZXZpY2VIZWFsdGhBbGVydENvbmZpZycsXG4gICAgICAnV2JlQWxlcnRDb25maWcnLFxuICAgICAgJ1diZVdlZWtseURpZ2VzdEFsZXJ0Q29uZmlnJyxcbiAgICAgICdSb2xsaW5nRXZlbnRBbGVydENvbmZpZycsXG4gICAgICAnRGF0YWxvZ2dlclB1bXBBbGVydENvbmZpZycsXG4gICAgXSxcbiAgICBpZDogJycsXG4gICAgdHlwZTogJycsXG4gICAgc2V2ZXJpdHk6ICdtZWRpdW0nLFxuICAgIHdhdGVyX2F1dGhvcml0aWVzOiB7XG4gICAgICBzZWxlY3Rpb25fdHlwZTogJ2FsbCcsXG4gICAgICBzZXQ6IFtdLFxuICAgIH0sXG4gICAgcG9pbnRzOiB7XG4gICAgICBzZWxlY3Rpb25fdHlwZTogJ2FsbCcsXG4gICAgICBzZXQ6IFtdLFxuICAgIH0sXG4gICAgdGFnczoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHNlbnNvcnM6IHtcbiAgICAgIHNlbGVjdGlvbl90eXBlOiAnYWxsJyxcbiAgICAgIHNldDogW10sXG4gICAgfSxcbiAgICBhY3Rpb25zOiB7IHRlbGVncmFtOiBmYWxzZSwgZW1haWw6IHRydWUsIHNtczogdHJ1ZSB9LFxuICAgIHB1bXBfb25seTogJzAnLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHNldmVyaXRpZXNSYWRpb0J1dHRvbnMgPSBbXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2V4dHJlbWUnLFxuICAgIG5hbWU6ICdzZXZlcml0eScsXG4gICAgdmFsdWU6ICdleHRyZW1lJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfaGlnaCcsXG4gICAgbmFtZTogJ3NldmVyaXR5JyxcbiAgICB2YWx1ZTogJ2hpZ2gnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9tZWRpdW0nLFxuICAgIG5hbWU6ICdzZXZlcml0eScsXG4gICAgdmFsdWU6ICdtZWRpdW0nLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IHdhdGVyQXV0aG9yaXRpZXNSYWRpb0J1dHRvbnMgPSBbXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2FsbCcsXG4gICAgbmFtZTogJ3dhdGVyX2F1dGhvcml0aWVzJyxcbiAgICB2YWx1ZTogJ2FsbCcsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2luY2x1ZGUnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdpbmNsdWRlJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZXhjbHVkZScsXG4gICAgbmFtZTogJ3dhdGVyX2F1dGhvcml0aWVzJyxcbiAgICB2YWx1ZTogJ2V4Y2x1ZGUnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IHNvdXJjZXNSYWRpb0J1dHRvbnMgPSBbXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2FsbCcsXG4gICAgbmFtZTogJ3NvdXJjZXMnLFxuICAgIHZhbHVlOiAnYWxsJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfaW5jbHVkZScsXG4gICAgbmFtZTogJ3NvdXJjZXMnLFxuICAgIHZhbHVlOiAnaW5jbHVkZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2V4Y2x1ZGUnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2V4Y2x1ZGUnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IHNlbmRWaWFDaGVja0JveGVzID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF90ZWxlZ3JhbScsXG4gICAgbmFtZTogJ2FjdGlvbnMnLFxuICAgIHZhbHVlOiAndGVsZWdyYW0nLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9lbWFpbCcsXG4gICAgbmFtZTogJ2FjdGlvbnMnLFxuICAgIHZhbHVlOiAnZW1haWwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zbXMnLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ3NtcycsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgZ2V0Tm90aWZpY2F0aW9uU3RyaW5nID0gKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKSA9PiB7XG4gIGNvbnN0IHRyYW5zSWR4ID0gJ25vdGlmaWNhdGlvbnNfcGFnZS5ub3RpZmljYXRpb25zX3RleHQuJztcbiAgY29uc3QgdGl0bGUgPSBpMThuLnQoYCR7dHJhbnNJZHh9dGl0bGVgKTtcbiAgbGV0IHR5cGVTdHJpbmcgPSAnJztcbiAgbGV0IHNhbXBsZVN0cmluZyA9ICcnO1xuICBzYW1wbGVTdHJpbmcgPVxuICAgIG5vdGlmaWNhdGlvbi5wdW1wX29ubHkgPT09ICcxJ1xuICAgICAgPyBgICR7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uuc2FtcGxlcl9hY3RpdmF0ZWQnKX1gXG4gICAgICA6ICcuJztcblxuICBzd2l0Y2ggKG5vdGlmaWNhdGlvbi50eXBlKSB7XG4gICAgY2FzZSAnUm9sbGluZ0V2ZW50QWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IFtcbiAgICAgICAgdGl0bGUsXG4gICAgICAgIGdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhub3RpZmljYXRpb24pLFxuICAgICAgICBpMThuLnQoYCR7dHJhbnNJZHh9YWJvdXRfcG9sbHV0aW9uX2V2ZW50c2ApLFxuICAgICAgICBnZXROb3RpZmljYXRpb25TZXZlcml0aWVzU3RyaW5nKG5vdGlmaWNhdGlvbiksXG4gICAgICAgIGdldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmcobm90aWZpY2F0aW9uLCB0cmFuc0lkeCksXG4gICAgICBdLmpvaW4oJyAnKTtcbiAgICAgIHR5cGVTdHJpbmcgKz0gc2FtcGxlU3RyaW5nO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnUG9sbHV0aW9uQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IFtcbiAgICAgICAgdGl0bGUsXG4gICAgICAgIGdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhub3RpZmljYXRpb24pLFxuICAgICAgICBpMThuLnQoYCR7dHJhbnNJZHh9YWJvdXRfcG9sbHV0aW9uX2V2ZW50c2ApLFxuICAgICAgICBnZXROb3RpZmljYXRpb25TZXZlcml0aWVzU3RyaW5nKG5vdGlmaWNhdGlvbiksXG4gICAgICAgIGdldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmcobm90aWZpY2F0aW9uLCB0cmFuc0lkeCksXG4gICAgICBdLmpvaW4oJyAnKTtcbiAgICAgIHR5cGVTdHJpbmcgKz0gc2FtcGxlU3RyaW5nO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnRGF0YWxvZ2dlclRocmVzaG9sZEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KFxuICAgICAgICB0cmFuc0lkeCArICdzZW5zb3JzX3RocmVzaG9sZHMnLFxuICAgICAgKX0ke2dldE5vdGlmaWNhdGlvblNlbnNvcnNTdHJpbmcobm90aWZpY2F0aW9uKX0uYDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RhdGFsb2dnZXJPdmVyZmxvd0FsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KHRyYW5zSWR4ICsgJ292ZXJmbG93X2V2ZW50Jyl9LCAke2dldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICAgdHJhbnNJZHgsXG4gICAgICApfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnRGV2aWNlSGVhbHRoQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQoXG4gICAgICAgIHRyYW5zSWR4ICsgJ2RldmljZV9tYWxmdW5jdGlvbmluZycsXG4gICAgICApfSAke2dldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmcobm90aWZpY2F0aW9uLCB0cmFuc0lkeCl9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udCh0cmFuc0lkeCArICd3YmVfd2Vla2x5Jyl9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdXYmVBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udCh0cmFuc0lkeCArICd3YmVfYWxlcnQnKX0uYDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RhdGFsb2dnZXJQdW1wQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQoXG4gICAgICAgIHRyYW5zSWR4ICsgJ2RhdGFsb2dnZXJfcHVtcCcsXG4gICAgICApfSwgJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpfS5gO1xuICAgICAgYnJlYWs7XG4gIH1cbiAgcmV0dXJuIHR5cGVTdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcobm90aWZpY2F0aW9uKSB7XG4gIGNvbnN0IHNlbmRWaWEgPSBub3RpZmljYXRpb24uYWN0aW9ucztcbiAgbGV0IHRlbXBBcnJheTogc3RyaW5nW10gPSBbXTtcblxuICBsZXQgc2VuZFZpYVN0cmluZyA9ICcnO1xuICBmb3IgKGNvbnN0IGtleSBpbiBzZW5kVmlhKSB7XG4gICAgaWYgKHNlbmRWaWFba2V5XSkge1xuICAgICAgdGVtcEFycmF5LnB1c2goaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2UuZWRpdF8ke2tleX1gKSk7XG4gICAgfVxuICB9XG4gIHNlbmRWaWFTdHJpbmcgPSB0ZW1wQXJyYXkuam9pbignLCAnKTtcbiAgbGV0IGFuZCA9IGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLm5vdGlmaWNhdGlvbnNfdGV4dC5hbmRgKTtcbiAgYW5kICs9IGFuZCA9PT0gJyYnID8gJyAnIDogJyc7XG4gIHNlbmRWaWFTdHJpbmcgPSBzZW5kVmlhU3RyaW5nLnJlcGxhY2UoLyxcXHMoW14sXSspJC8sIGAgJHthbmR9JDFgKTtcbiAgcmV0dXJuIHNlbmRWaWFTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmcobm90aWZpY2F0aW9uKSB7XG4gIGNvbnN0IHsgc2V2ZXJpdHkgfSA9IG5vdGlmaWNhdGlvbjtcbiAgbGV0IHNldmVyaXR5U3RyaW5nID0gJyc7XG4gIHNldmVyaXR5ID09PSAnZXh0cmVtZSdcbiAgICA/IChzZXZlcml0eVN0cmluZyA9IGkxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmV4dHJlbWUnKSlcbiAgICA6IChzZXZlcml0eVN0cmluZyA9XG4gICAgICAgIGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLiR7c2V2ZXJpdHl9YCkgK1xuICAgICAgICAnICcgK1xuICAgICAgICBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5ub3RpZmljYXRpb25zX3RleHQub3JfaGlnaGVyYCkpO1xuICByZXR1cm4gc2V2ZXJpdHlTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmcobm90aWZpY2F0aW9uLCB0cmFuc0lkeCkge1xuICBjb25zdCB7IHNldCB9ID0gbm90aWZpY2F0aW9uLnBvaW50cztcbiAgY29uc3QgeyBzZWxlY3Rpb25fdHlwZSB9ID0gbm90aWZpY2F0aW9uLnBvaW50cztcblxuICBsZXQgU3RyaW5nczogc3RyaW5nW10gPSBbXTtcbiAgbGV0IHNvdXJjZXNTdHJpbmcgPSAnJztcbiAgaWYgKHNlbGVjdGlvbl90eXBlID09PSAnYWxsJylcbiAgICBTdHJpbmdzLnB1c2goaTE4bi50KGAke3RyYW5zSWR4fWluX2FsbF9zb3VyY2VzYCkpO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgPT09ICdleGNsdWRlJylcbiAgICBTdHJpbmdzLnB1c2goaTE4bi50KGAke3RyYW5zSWR4fWV4Y2x1ZGluZ2ApKTtcbiAgaWYgKHNlbGVjdGlvbl90eXBlID09PSAnaW5jbHVkZScpXG4gICAgc291cmNlc1N0cmluZyA9IGkxOG4udChgJHt0cmFuc0lkeH1pbmApICsgJyAnO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgIT09ICdhbGwnKSBzZXQubWFwKChzb3VyY2UpID0+IFN0cmluZ3MucHVzaChzb3VyY2UudGV4dCkpO1xuICBzb3VyY2VzU3RyaW5nICs9IFN0cmluZ3Muam9pbihTdHJpbmdzLmxlbmd0aCA+IDEgPyAnLCAnIDogJyAnKTtcbiAgcmV0dXJuIHNvdXJjZXNTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvblNlbnNvcnNTdHJpbmcobm90aWZpY2F0aW9uKSB7XG4gIGNvbnN0IHsgc2V0IH0gPSBub3RpZmljYXRpb24uc2Vuc29ycztcbiAgY29uc3QgeyBzZWxlY3Rpb25fdHlwZSB9ID0gbm90aWZpY2F0aW9uLnNlbnNvcnM7XG5cbiAgbGV0IFN0cmluZ3M6IHN0cmluZ1tdID0gW107XG4gIGxldCBzZW5zb3JzU3RyaW5nID0gJyc7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcpIHtcbiAgICBzZXQubWFwKChzZW5zb3IpID0+IFN0cmluZ3MucHVzaChzZW5zb3IudGV4dCkpO1xuICAgIHNlbnNvcnNTdHJpbmcgPSAnOiAnO1xuICAgIHNlbnNvcnNTdHJpbmcgKz0gU3RyaW5ncy5qb2luKCcsICcpO1xuICB9XG4gIHJldHVybiBzZW5zb3JzU3RyaW5nO1xufVxuIl19
@@ -3,4 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL09sZFNpdGVQYWdlL0lEYXNoYm9hcmREYXRhLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIElTaXRlRGF0YSA9IHtcbiAgcG9pbnRfaWQ6IG51bWJlcjtcbiAgZ3JvdXA6IHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgfTtcbiAgc2VjdG9yX25hbWU6IHN0cmluZztcbiAgc2VjdG9ySWNvbk5hbWU6IHN0cmluZztcbiAgYXJlYToge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICB9O1xuICB3YXRlckF1dGhvcml0eToge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICB9O1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIHd3dHBfbmFtZTogc3RyaW5nO1xuICBnZW86IG51bWJlcltdIHwgbnVsbDtcbiAgZGlzY2hhcmdpbmc6IGJvb2xlYW4gfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgSVNpdGVJbmZvcm1hdGlvbiA9IHtcbiAgcG9pbnRfaWQ6IG51bWJlcjtcbiAgdHlwZTogc3RyaW5nO1xuICBncm91cDoge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuICB9O1xuICBzZWN0b3JfbmFtZTogc3RyaW5nO1xuICBzZWN0b3JfaWNvbl9uYW1lOiBzdHJpbmc7XG4gIGFyZWE6IHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgfTtcbiAgd2F0ZXJBdXRob3JpdHk6IHtcbiAgICBpZDogbnVtYmVyO1xuICAgIG5hbWU6IHN0cmluZztcbiAgfTtcbiAgYWRkcmVzczogc3RyaW5nO1xuICB3d3RwX25hbWU6IHN0cmluZztcbiAgZ2VvOiBudW1iZXJbXSB8IG51bGw7XG4gIGRpc2NoYXJnaW5nOiBib29sZWFuIHwgbnVsbDtcbiAgbWFpbl9jb2xsZWN0b3JzOiB7XG4gICAgcG9pbnRfaWQ6IG51bWJlcjtcbiAgICBsYXQ6IG51bWJlcjtcbiAgICBsbmc6IG51bWJlcjtcbiAgICBzaXRlX25hbWU6IHN0cmluZztcbiAgICBzaXRlX3R5cGU6IHN0cmluZztcbiAgICBzZWN0b3JfaWNvbl9uYW1lOiBzdHJpbmc7XG4gICAgc2VjdG9yX25hbWU6IHN0cmluZztcbiAgfVtdO1xufTtcblxuZXhwb3J0IHR5cGUgSUFyZWFEYXRhID0ge1xuICBhcmVhOiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiIn0=
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -1,40 +1,72 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.OldSitePage = void 0;
11
+
9
12
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
10
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
15
+
11
16
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
17
+
12
18
  var _highstock = _interopRequireDefault(require("highcharts/highstock"));
19
+
13
20
  var _lodash = require("lodash");
21
+
14
22
  var _react = _interopRequireWildcard(require("react"));
23
+
15
24
  var _Carousel = _interopRequireDefault(require("react-bootstrap/Carousel"));
25
+
16
26
  var _reactRedux = require("react-redux");
27
+
17
28
  var _reactRouterDom = require("react-router-dom");
29
+
18
30
  require("../EventsPage/components/events/EventsStyle.scss");
31
+
19
32
  var _Breadcrumbs = _interopRequireDefault(require("components/Header/Breadcrumbs"));
33
+
20
34
  var _ContentLoader = require("components/ContentLoader");
35
+
21
36
  var _DamageType = _interopRequireDefault(require("components/DamageType"));
37
+
22
38
  var _DischargeHeatmap = _interopRequireDefault(require("components/DischargeHeatmap"));
39
+
23
40
  var _Events = _interopRequireDefault(require("components/Events"));
41
+
24
42
  var _KandoNavbar = _interopRequireDefault(require("components/Header/KandoNavbar"));
43
+
25
44
  var _PointInfo = _interopRequireDefault(require("components/PointInfo/PointInfo"));
45
+
26
46
  var _Toggle = _interopRequireDefault(require("components/Toggle"));
47
+
27
48
  var _TrendGraph = _interopRequireDefault(require("components/TrendGraph"));
49
+
28
50
  var _kql = require("utilities/kql");
51
+
29
52
  var _time = require("utilities/time");
53
+
30
54
  var _actions = require("store/context/actions");
55
+
31
56
  var _actions2 = require("store/events/actions");
57
+
32
58
  var _TimeRangeSelector = _interopRequireDefault(require("components/TimeRangeSelector"));
59
+
33
60
  var _i18n = _interopRequireDefault(require("utilities/i18n"));
61
+
34
62
  var _Analytics = require("../../utilities/Analytics");
63
+
35
64
  var _EventItem = _interopRequireDefault(require("../EventsPage/events/events_list/EventItem"));
65
+
36
66
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
67
+
37
68
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
69
+
38
70
  var fetchSiteData = /*#__PURE__*/function () {
39
71
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(url, setData) {
40
72
  var response, data;
@@ -44,21 +76,27 @@ var fetchSiteData = /*#__PURE__*/function () {
44
76
  case 0:
45
77
  _context.next = 2;
46
78
  return fetch(url);
79
+
47
80
  case 2:
48
81
  response = _context.sent;
82
+
49
83
  if (!response.ok) {
50
84
  _context.next = 10;
51
85
  break;
52
86
  }
87
+
53
88
  _context.next = 6;
54
89
  return response.json();
90
+
55
91
  case 6:
56
92
  data = _context.sent;
57
93
  setData(data.data);
58
94
  _context.next = 11;
59
95
  break;
96
+
60
97
  case 10:
61
98
  throw new Error("HTTP error! status: ".concat(response.status));
99
+
62
100
  case 11:
63
101
  case "end":
64
102
  return _context.stop();
@@ -66,10 +104,12 @@ var fetchSiteData = /*#__PURE__*/function () {
66
104
  }
67
105
  }, _callee);
68
106
  }));
107
+
69
108
  return function fetchSiteData(_x, _x2) {
70
109
  return _ref.apply(this, arguments);
71
110
  };
72
111
  }();
112
+
73
113
  var fetchEventsData = /*#__PURE__*/function () {
74
114
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(url, setData) {
75
115
  var response, data;
@@ -79,21 +119,27 @@ var fetchEventsData = /*#__PURE__*/function () {
79
119
  case 0:
80
120
  _context2.next = 2;
81
121
  return fetch(url);
122
+
82
123
  case 2:
83
124
  response = _context2.sent;
125
+
84
126
  if (!response.ok) {
85
127
  _context2.next = 10;
86
128
  break;
87
129
  }
130
+
88
131
  _context2.next = 6;
89
132
  return response.json();
133
+
90
134
  case 6:
91
135
  data = _context2.sent;
92
136
  setData(data);
93
137
  _context2.next = 11;
94
138
  break;
139
+
95
140
  case 10:
96
141
  throw new Error("HTTP error! status: ".concat(response.status));
142
+
97
143
  case 11:
98
144
  case "end":
99
145
  return _context2.stop();
@@ -101,33 +147,41 @@ var fetchEventsData = /*#__PURE__*/function () {
101
147
  }
102
148
  }, _callee2);
103
149
  }));
150
+
104
151
  return function fetchEventsData(_x3, _x4) {
105
152
  return _ref2.apply(this, arguments);
106
153
  };
107
154
  }();
155
+
108
156
  var OldSitePage = function OldSitePage() {
109
157
  var _useParams = (0, _reactRouterDom.useParams)(),
110
- pointID = _useParams.pointID;
158
+ pointID = _useParams.pointID;
159
+
111
160
  var parsedPointID = parseInt(pointID);
112
161
  var history = (0, _reactRouterDom.useHistory)();
162
+
113
163
  var _useState = (0, _react.useState)(null),
114
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
115
- siteData = _useState2[0],
116
- setSiteData = _useState2[1];
164
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
165
+ siteData = _useState2[0],
166
+ setSiteData = _useState2[1];
167
+
117
168
  var _useState3 = (0, _react.useState)(null),
118
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
119
- eventsData = _useState4[0],
120
- setEventsData = _useState4[1];
169
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
170
+ eventsData = _useState4[0],
171
+ setEventsData = _useState4[1];
172
+
121
173
  var _useState5 = (0, _react.useState)('30d'),
122
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
123
- periodRange = _useState6[0],
124
- setPeriodRange = _useState6[1];
174
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
175
+ periodRange = _useState6[0],
176
+ setPeriodRange = _useState6[1];
177
+
125
178
  var _useSelector = (0, _reactRedux.useSelector)(function (state) {
126
- return [state.global_data.waterAuthorityName, state.global_data.waterAuthorityId, state.events_data];
127
- }),
128
- _useSelector2 = (0, _slicedToArray2.default)(_useSelector, 2),
129
- waterAuthorityName = _useSelector2[0],
130
- waterAuthorityId = _useSelector2[1];
179
+ return [state.global_data.waterAuthorityName, state.global_data.waterAuthorityId, state.events_data];
180
+ }),
181
+ _useSelector2 = (0, _slicedToArray2.default)(_useSelector, 2),
182
+ waterAuthorityName = _useSelector2[0],
183
+ waterAuthorityId = _useSelector2[1];
184
+
131
185
  var navContext = (0, _reactRedux.useSelector)(function (state) {
132
186
  return state.nav_context_data.navContext;
133
187
  });
@@ -152,9 +206,11 @@ var OldSitePage = function OldSitePage() {
152
206
  console.error('Request error: ' + e.message);
153
207
  });
154
208
  }, [parsedPointID]);
209
+
155
210
  var isFetching = function isFetching() {
156
211
  return (0, _lodash.isEmpty)(siteData);
157
212
  };
213
+
158
214
  var dispatch = (0, _reactRedux.useDispatch)();
159
215
  (0, _react.useEffect)(function () {
160
216
  dispatch((0, _actions.updateNavContext)({
@@ -170,6 +226,7 @@ var OldSitePage = function OldSitePage() {
170
226
  var geo = (siteData === null || siteData === void 0 ? void 0 : siteData.geo) || null;
171
227
  var discharging = (siteData === null || siteData === void 0 ? void 0 : siteData.discharging) || null;
172
228
  var sectorName = (siteData === null || siteData === void 0 ? void 0 : siteData.sector_name) || '';
229
+
173
230
  var navigateToEvent = function navigateToEvent(severity, event) {
174
231
  var filter = {
175
232
  filter_items: [{
@@ -183,10 +240,13 @@ var OldSitePage = function OldSitePage() {
183
240
  var kql = (0, _kql.buildKQLQuery)(filter);
184
241
  history.push("/events_view/index?water_authority_id=".concat(waterAuthorityId, "&locale=").concat(navContext.locale, "&valuesFromKQL=").concat(kql, "&eventId=").concat(event.id));
185
242
  };
243
+
186
244
  var handleEventItemClick = function handleEventItemClick(event, ref) {
187
245
  navigateToEvent(parseInt(event.severity), event);
188
246
  };
247
+
189
248
  var handleEventItemHover = function handleEventItemHover(event) {};
249
+
190
250
  return /*#__PURE__*/_react.default.createElement("div", {
191
251
  className: "l2"
192
252
  }, /*#__PURE__*/_react.default.createElement(_KandoNavbar.default, {
@@ -299,5 +359,6 @@ var OldSitePage = function OldSitePage() {
299
359
  pointId: parsedPointID
300
360
  }))))));
301
361
  };
362
+
302
363
  exports.OldSitePage = OldSitePage;
303
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaGlnaHN0b2NrIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbG9kYXNoIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfQ2Fyb3VzZWwiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlckRvbSIsIl9CcmVhZGNydW1icyIsIl9Db250ZW50TG9hZGVyIiwiX0RhbWFnZVR5cGUiLCJfRGlzY2hhcmdlSGVhdG1hcCIsIl9FdmVudHMiLCJfS2FuZG9OYXZiYXIiLCJfUG9pbnRJbmZvIiwiX1RvZ2dsZSIsIl9UcmVuZEdyYXBoIiwiX2txbCIsIl90aW1lIiwiX2FjdGlvbnMiLCJfYWN0aW9uczIiLCJfVGltZVJhbmdlU2VsZWN0b3IiLCJfaTE4biIsIl9BbmFseXRpY3MiLCJfRXZlbnRJdGVtIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJmZXRjaFNpdGVEYXRhIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwidXJsIiwic2V0RGF0YSIsInJlc3BvbnNlIiwiZGF0YSIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJmZXRjaCIsInNlbnQiLCJvayIsImpzb24iLCJFcnJvciIsImNvbmNhdCIsInN0YXR1cyIsInN0b3AiLCJfeCIsIl94MiIsImFwcGx5IiwiYXJndW1lbnRzIiwiZmV0Y2hFdmVudHNEYXRhIiwiX3JlZjIiLCJfY2FsbGVlMiIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsIl94MyIsIl94NCIsIk9sZFNpdGVQYWdlIiwiX3VzZVBhcmFtcyIsInVzZVBhcmFtcyIsInBvaW50SUQiLCJwYXJzZWRQb2ludElEIiwicGFyc2VJbnQiLCJoaXN0b3J5IiwidXNlSGlzdG9yeSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNpdGVEYXRhIiwic2V0U2l0ZURhdGEiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImV2ZW50c0RhdGEiLCJzZXRFdmVudHNEYXRhIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJwZXJpb2RSYW5nZSIsInNldFBlcmlvZFJhbmdlIiwiX3VzZVNlbGVjdG9yIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImdsb2JhbF9kYXRhIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwid2F0ZXJBdXRob3JpdHlJZCIsImV2ZW50c19kYXRhIiwiX3VzZVNlbGVjdG9yMiIsIm5hdkNvbnRleHQiLCJuYXZfY29udGV4dF9kYXRhIiwidXNlRWZmZWN0IiwiSGlnaGNoYXJ0cyIsInNldE9wdGlvbnMiLCJsYW5nIiwic2hvcnRNb250aHMiLCJpMThuIiwidCIsInNsaWNlIiwiYW5hbHl0aWNzVHJhY2siLCJ1dGlsaXR5X25hbWUiLCJkaXNwYXRjaCIsImZldGNoRXZlbnRzIiwiY2F0Y2giLCJlIiwiY29uc29sZSIsImVycm9yIiwibWVzc2FnZSIsImlzRmV0Y2hpbmciLCJpc0VtcHR5IiwidXNlRGlzcGF0Y2giLCJ1cGRhdGVOYXZDb250ZXh0IiwibmFtZSIsIml0ZW1Db250YWluZXIiLCJ1c2VSZWYiLCJncm91cE5hbWUiLCJncm91cCIsImFyZWFOYW1lIiwiYXJlYSIsInBvaW50QWRkcmVzcyIsImFkZHJlc3MiLCJwb2ludE5hbWUiLCJ3d3RwX25hbWUiLCJzZWN0b3JJY29uTmFtZSIsImdlbyIsImRpc2NoYXJnaW5nIiwic2VjdG9yTmFtZSIsInNlY3Rvcl9uYW1lIiwibmF2aWdhdGVUb0V2ZW50Iiwic2V2ZXJpdHkiLCJldmVudCIsImZpbHRlciIsImZpbHRlcl9pdGVtcyIsInR5cGUiLCJzZWxlY3RlZF9vcHRpb25zIiwia3FsIiwiYnVpbGRLUUxRdWVyeSIsInB1c2giLCJsb2NhbGUiLCJpZCIsImhhbmRsZUV2ZW50SXRlbUNsaWNrIiwicmVmIiwiaGFuZGxlRXZlbnRJdGVtSG92ZXIiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiaGFzU2VhcmNoIiwic2VsZWN0ZWRMYWJlbCIsInBhcnRzIiwic2VsZWN0ZWRWYWx1ZSIsIm9uUGVyaW9kU2VsZWN0ZWQiLCJkYXlzIiwib3B0aW9ucyIsImxhYmVsIiwidmFsdWUiLCJoYW5kbGVCdXR0b25zQ2hhbmdlIiwiYWxlcnQiLCJSb3dMb2FkZXIiLCJ3aWR0aCIsImhlaWdodCIsIm1hcmdpbiIsImJnQ29sb3IiLCJmZ0NvbG9yIiwic2VjdG9yIiwicG9pbnRJZCIsImluZGljYXRvcnMiLCJpbnRlcnZhbCIsInVuZGVmaW5lZCIsImxlbmd0aCIsIm1hcCIsIkl0ZW0iLCJwZXJpb2QiLCJwZXJpb2REYXlzIiwicmFuZ2VUb0RheXMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL09sZFNpdGVQYWdlL09sZFNpdGVQYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgSGlnaGNoYXJ0cyBmcm9tICdoaWdoY2hhcnRzL2hpZ2hzdG9jayc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBDYXJvdXNlbCBmcm9tICdyZWFjdC1ib290c3RyYXAvQ2Fyb3VzZWwnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSwgdXNlUGFyYW1zIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgJy4uL0V2ZW50c1BhZ2UvY29tcG9uZW50cy9ldmVudHMvRXZlbnRzU3R5bGUuc2Nzcyc7XG5pbXBvcnQgQnJlYWRjcnVtYnMgZnJvbSAnc3JjL2NvbXBvbmVudHMvSGVhZGVyL0JyZWFkY3J1bWJzJztcbmltcG9ydCB7IFJvd0xvYWRlciB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0NvbnRlbnRMb2FkZXInO1xuaW1wb3J0IERhbWFnZVR5cGUgZnJvbSAnc3JjL2NvbXBvbmVudHMvRGFtYWdlVHlwZSc7XG5pbXBvcnQgRGlzY2hhcmdlSGVhdG1hcCBmcm9tICdzcmMvY29tcG9uZW50cy9EaXNjaGFyZ2VIZWF0bWFwJztcbmltcG9ydCBFdmVudHMgZnJvbSAnc3JjL2NvbXBvbmVudHMvRXZlbnRzJztcbmltcG9ydCBLYW5kb05hdmJhciBmcm9tICdzcmMvY29tcG9uZW50cy9IZWFkZXIvS2FuZG9OYXZiYXInO1xuaW1wb3J0IFBvaW50SW5mbyBmcm9tICdzcmMvY29tcG9uZW50cy9Qb2ludEluZm8vUG9pbnRJbmZvJztcbmltcG9ydCBUb2dnbGUgZnJvbSAnc3JjL2NvbXBvbmVudHMvVG9nZ2xlJztcbmltcG9ydCBUcmVuZEdyYXBoIGZyb20gJ3NyYy9jb21wb25lbnRzL1RyZW5kR3JhcGgnO1xuaW1wb3J0IHsgYnVpbGRLUUxRdWVyeSB9IGZyb20gJ3NyYy91dGlsaXRpZXMva3FsJztcbmltcG9ydCB7IHJhbmdlVG9EYXlzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy90aW1lJztcbmltcG9ydCB7IHVwZGF0ZU5hdkNvbnRleHQgfSBmcm9tICdzcmMvc3RvcmUvY29udGV4dC9hY3Rpb25zJztcbmltcG9ydCB7IGZldGNoRXZlbnRzIH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9hY3Rpb25zJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnc3JjL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCBUaW1lUmFuZ2VTZWxlY3RvciBmcm9tICdzcmMvY29tcG9uZW50cy9UaW1lUmFuZ2VTZWxlY3Rvcic7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgSVNpdGVEYXRhIH0gZnJvbSAnLi9JRGFzaGJvYXJkRGF0YSc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IEV2ZW50SXRlbSBmcm9tICcuLi9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudEl0ZW0nO1xuXG5jb25zdCBmZXRjaFNpdGVEYXRhID0gYXN5bmMgKHVybDogc3RyaW5nLCBzZXREYXRhOiBGdW5jdGlvbikgPT4ge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCk7XG4gIGlmIChyZXNwb25zZS5vaykge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgc2V0RGF0YShkYXRhLmRhdGEpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgSFRUUCBlcnJvciEgc3RhdHVzOiAke3Jlc3BvbnNlLnN0YXR1c31gKTtcbiAgfVxufTtcbmNvbnN0IGZldGNoRXZlbnRzRGF0YSA9IGFzeW5jICh1cmw6IHN0cmluZywgc2V0RGF0YTogRnVuY3Rpb24pID0+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpO1xuICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgIHNldERhdGEoZGF0YSk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgT2xkU2l0ZVBhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IHsgcG9pbnRJRCB9ID0gdXNlUGFyYW1zPHsgcG9pbnRJRDogc3RyaW5nIH0+KCk7XG4gIGNvbnN0IHBhcnNlZFBvaW50SUQgPSBwYXJzZUludChwb2ludElEKTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgW3NpdGVEYXRhLCBzZXRTaXRlRGF0YV0gPSB1c2VTdGF0ZTxJU2l0ZURhdGEgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2V2ZW50c0RhdGEsIHNldEV2ZW50c0RhdGFdID0gdXNlU3RhdGU8SUV2ZW50W10gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW3BlcmlvZFJhbmdlLCBzZXRQZXJpb2RSYW5nZV0gPSB1c2VTdGF0ZTxzdHJpbmc+KCczMGQnKTtcblxuICBjb25zdCBbd2F0ZXJBdXRob3JpdHlOYW1lLCB3YXRlckF1dGhvcml0eUlkXSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IFtcbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICAgICBzdGF0ZS5ldmVudHNfZGF0YSxcbiAgICBdLFxuICApO1xuXG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBIaWdoY2hhcnRzLnNldE9wdGlvbnMoe1xuICAgICAgLy8gVHJhbnNsYXRpb25zIG11c3QgYmUgc2V0IGdsb2JhbGx5XG4gICAgICBsYW5nOiB7XG4gICAgICAgIHNob3J0TW9udGhzOiBpMThuLnQoJ2RhdGUuYWJicl9tb250aF9uYW1lcycpLnNsaWNlKC0xMiksXG4gICAgICB9LFxuICAgIH0pO1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhbmFseXRpY3NUcmFjaygnVmlld2VkIE9sZCBTaXRlIFBhZ2UnLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBkaXNwYXRjaChmZXRjaEV2ZW50cyh3YXRlckF1dGhvcml0eUlkLCAnJykpO1xuICAgIHNldFNpdGVEYXRhKG51bGwpO1xuICAgIGZldGNoU2l0ZURhdGEoYC9kYXRhL3BvaW50LyR7cGFyc2VkUG9pbnRJRH1gLCBzZXRTaXRlRGF0YSkuY2F0Y2goKGUpID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1JlcXVlc3QgZXJyb3I6ICcgKyBlLm1lc3NhZ2UpO1xuICAgIH0pO1xuXG4gICAgZmV0Y2hFdmVudHNEYXRhKGAvZGF0YS9ldmVudHMvJHtwYXJzZWRQb2ludElEfWAsIHNldEV2ZW50c0RhdGEpLmNhdGNoKFxuICAgICAgKGUpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignUmVxdWVzdCBlcnJvcjogJyArIGUubWVzc2FnZSk7XG4gICAgICB9LFxuICAgICk7XG4gIH0sIFtwYXJzZWRQb2ludElEXSk7XG5cbiAgY29uc3QgaXNGZXRjaGluZyA9ICgpID0+IHtcbiAgICByZXR1cm4gaXNFbXB0eShzaXRlRGF0YSk7XG4gIH07XG5cbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKHVwZGF0ZU5hdkNvbnRleHQoeyBuYW1lOiAnZGFzaGJvYXJkX3YyJyB9KSk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBpdGVtQ29udGFpbmVyID0gdXNlUmVmPGFueT4obnVsbCk7XG4gIGNvbnN0IGdyb3VwTmFtZSA9IHNpdGVEYXRhPy5ncm91cC5uYW1lIHx8ICcnO1xuICBjb25zdCBhcmVhTmFtZSA9IHNpdGVEYXRhPy5hcmVhLm5hbWUgfHwgJyc7XG4gIGNvbnN0IHBvaW50QWRkcmVzcyA9IGAke3NpdGVEYXRhPy5hZGRyZXNzfWA7XG4gIGNvbnN0IHBvaW50TmFtZSA9IHNpdGVEYXRhPy53d3RwX25hbWUgfHwgJyc7XG4gIGNvbnN0IHNlY3Rvckljb25OYW1lID0gc2l0ZURhdGE/LnNlY3Rvckljb25OYW1lIHx8ICcnO1xuICBjb25zdCBnZW8gPSBzaXRlRGF0YT8uZ2VvIHx8IG51bGw7XG4gIGNvbnN0IGRpc2NoYXJnaW5nID0gc2l0ZURhdGE/LmRpc2NoYXJnaW5nIHx8IG51bGw7XG4gIGNvbnN0IHNlY3Rvck5hbWUgPSBzaXRlRGF0YT8uc2VjdG9yX25hbWUgfHwgJyc7XG5cbiAgY29uc3QgbmF2aWdhdGVUb0V2ZW50ID0gKHNldmVyaXR5OiBudW1iZXIgfCBudW1iZXIsIGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgICBjb25zdCBmaWx0ZXIgPSB7XG4gICAgICBmaWx0ZXJfaXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdTZXZlcml0eUZpbHRlckl0ZW0nLFxuICAgICAgICAgIHNlbGVjdGVkX29wdGlvbnM6IFtzZXZlcml0eV0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiAnSW50ZXJlc3RQb2ludEZpbHRlckl0ZW0nLFxuICAgICAgICAgIHNlbGVjdGVkX29wdGlvbnM6IFtwYXJzZWRQb2ludElEXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgICBjb25zdCBrcWwgPSBidWlsZEtRTFF1ZXJ5KGZpbHRlcik7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgYC9ldmVudHNfdmlldy9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHt3YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZDb250ZXh0LmxvY2FsZX0mdmFsdWVzRnJvbUtRTD0ke2txbH0mZXZlbnRJZD0ke2V2ZW50LmlkfWAsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVFdmVudEl0ZW1DbGljazogRnVuY3Rpb24gPSAoXG4gICAgZXZlbnQ6IElFdmVudCxcbiAgICByZWY6IFJlZk9iamVjdDxIVE1MRWxlbWVudD4sXG4gICkgPT4ge1xuICAgIG5hdmlnYXRlVG9FdmVudChwYXJzZUludChldmVudC5zZXZlcml0eSksIGV2ZW50KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVFdmVudEl0ZW1Ib3ZlcjogRnVuY3Rpb24gPSAoZXZlbnQ6IElFdmVudCkgPT4ge307XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImwyXCI+XG4gICAgICA8S2FuZG9OYXZiYXJcbiAgICAgICAgd2F0ZXJBdXRob3JpdHlJZD17d2F0ZXJBdXRob3JpdHlJZH1cbiAgICAgICAgaGFzU2VhcmNoPXt0cnVlfVxuICAgICAgICBzZWxlY3RlZExhYmVsPXtncm91cE5hbWV9XG4gICAgICAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJsMl9fY29udHJvbHNcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsMl9fYnJlYWRjcnVtYnNcIj5cbiAgICAgICAgICA8QnJlYWRjcnVtYnMgcGFydHM9e1t3YXRlckF1dGhvcml0eU5hbWUsIGFyZWFOYW1lLCBncm91cE5hbWVdfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsMl9fYnV0dG9uc1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidC1yYW5nZS1jdHJsXCI+XG4gICAgICAgICAgICA8VGltZVJhbmdlU2VsZWN0b3JcbiAgICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZT17cGVyaW9kUmFuZ2V9XG4gICAgICAgICAgICAgIG9uUGVyaW9kU2VsZWN0ZWQ9eyhkYXlzOiBzdHJpbmcpID0+IHNldFBlcmlvZFJhbmdlKGRheXMpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxUb2dnbGVcbiAgICAgICAgICAgICAgb3B0aW9ucz17W1xuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdDb25jZW50cmF0aW9uJywgdmFsdWU6IHRydWUgfSxcbiAgICAgICAgICAgICAgICB7IGxhYmVsOiAnTG9hZCcsIHZhbHVlOiBmYWxzZSB9LFxuICAgICAgICAgICAgICBdfVxuICAgICAgICAgICAgICBoYW5kbGVCdXR0b25zQ2hhbmdlPXsoKSA9PiBhbGVydCgnY2hhbmdlJyl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJsMl9fcm93LXRpdGxlXCI+XG4gICAgICAgIHtpc0ZldGNoaW5nKCkgPyAoXG4gICAgICAgICAgPFJvd0xvYWRlclxuICAgICAgICAgICAgd2lkdGg9XCIzMDBweFwiXG4gICAgICAgICAgICBoZWlnaHQ9XCI2MHB4XCJcbiAgICAgICAgICAgIG1hcmdpbj1cIjIwcHggMFwiXG4gICAgICAgICAgICBiZ0NvbG9yPVwiI2YyZjJmMlwiXG4gICAgICAgICAgICBmZ0NvbG9yPVwiI2ZmZlwiXG4gICAgICAgICAgLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwibDJfX2dyb3VwLW5hbWVcIj57Z3JvdXBOYW1lfTwvaDE+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibDJfX2NvbnRlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsMl9fY29sLTFcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImwyX19mYWN0b3J5LWluZm9cIj5cbiAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5pbmZvcm1hdGlvbicpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHtpc0ZldGNoaW5nKCkgPyAoXG4gICAgICAgICAgICA8Um93TG9hZGVyXG4gICAgICAgICAgICAgIG1hcmdpbj1cIjI2cHggMCAwXCJcbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMzcwcHhcIlxuICAgICAgICAgICAgICBiZ0NvbG9yPVwiI2YyZjJmMlwiXG4gICAgICAgICAgICAgIGZnQ29sb3I9XCIjZmZmXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxQb2ludEluZm9cbiAgICAgICAgICAgICAgbmFtZT17cG9pbnROYW1lfVxuICAgICAgICAgICAgICBhZGRyZXNzPXtwb2ludEFkZHJlc3N9XG4gICAgICAgICAgICAgIGFyZWE9e2FyZWFOYW1lfVxuICAgICAgICAgICAgICBzZWN0b3JJY29uTmFtZT17c2VjdG9ySWNvbk5hbWV9XG4gICAgICAgICAgICAgIHNlY3Rvcj17c2VjdG9yTmFtZX1cbiAgICAgICAgICAgICAgZ2VvPXtnZW99XG4gICAgICAgICAgICAgIGRpc2NoYXJnaW5nPXtkaXNjaGFyZ2luZ31cbiAgICAgICAgICAgICAgd2F0ZXJBdXRob3JpdHlJZD17d2F0ZXJBdXRob3JpdHlJZH1cbiAgICAgICAgICAgICAgcG9pbnRJZD17cGFyc2VkUG9pbnRJRH1cbiAgICAgICAgICAgICAgbG9jYWxlPXtuYXZDb250ZXh0LmxvY2FsZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImwyX19saXZlLWV2ZW50cyBldmVudHMtY29udGFpbmVyXCIgcmVmPXtpdGVtQ29udGFpbmVyfT5cbiAgICAgICAgICAgIHt9XG5cbiAgICAgICAgICAgIDx1bCBjbGFzc05hbWU9eydldmVudHMnfT5cbiAgICAgICAgICAgICAgPENhcm91c2VsIGluZGljYXRvcnM9e3RydWV9IGludGVydmFsPXtudWxsfT5cbiAgICAgICAgICAgICAgICB7ZXZlbnRzRGF0YSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgICAgZXZlbnRzRGF0YSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgICBldmVudHNEYXRhLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICAgICAgICAgICAgZXZlbnRzRGF0YS5tYXAoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgPENhcm91c2VsLkl0ZW0ga2V5PXtldmVudC5pZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPXsnZXZlbnQnfSBrZXk9e2V2ZW50LmlkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEV2ZW50SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50PXtldmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVFdmVudEl0ZW1DbGljaz17aGFuZGxlRXZlbnRJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRXZlbnRJdGVtSG92ZXI9e2hhbmRsZUV2ZW50SXRlbUhvdmVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICA8L0Nhcm91c2VsLkl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPC9DYXJvdXNlbD5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImwyX19jb2wtMlwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibDJfX3Jvdy0xXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImwyX19ldmVudHNcIj5cbiAgICAgICAgICAgICAgPEV2ZW50cyBwb2ludElkPXtwYXJzZWRQb2ludElEfSBwZXJpb2Q9e3BlcmlvZFJhbmdlfSAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImwyX19kYW1hZ2VcIj5cbiAgICAgICAgICAgICAgPERhbWFnZVR5cGVcbiAgICAgICAgICAgICAgICBwb2ludElkPXtwYXJzZWRQb2ludElEfVxuICAgICAgICAgICAgICAgIHBlcmlvZERheXM9e3JhbmdlVG9EYXlzKHBlcmlvZFJhbmdlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibDJfX3Jvdy0yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImwyX190cmVuZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImwyX190cmVuZC10aXRsZVwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi50cmVuZCcpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPFRyZW5kR3JhcGggcG9pbnRJZD17cGFyc2VkUG9pbnRJRH0gcGVyaW9kPXtwZXJpb2RSYW5nZX0gLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsMl9fZGlzY2hhcmdlXCI+XG4gICAgICAgICAgICAgIDxEaXNjaGFyZ2VIZWF0bWFwIHBvaW50SWQ9e3BhcnNlZFBvaW50SUR9IC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB7fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxVQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFDLHVCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxTQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxXQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxlQUFBLEdBQUFOLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFPLFlBQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFRLGNBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLFdBQUEsR0FBQVYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFVLGlCQUFBLEdBQUFYLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBVyxPQUFBLEdBQUFaLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBWSxZQUFBLEdBQUFiLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBYSxVQUFBLEdBQUFkLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBYyxPQUFBLEdBQUFmLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBZSxXQUFBLEdBQUFoQixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQWdCLElBQUEsR0FBQWhCLE9BQUE7QUFDQSxJQUFBaUIsS0FBQSxHQUFBakIsT0FBQTtBQUNBLElBQUFrQixRQUFBLEdBQUFsQixPQUFBO0FBQ0EsSUFBQW1CLFNBQUEsR0FBQW5CLE9BQUE7QUFHQSxJQUFBb0Isa0JBQUEsR0FBQXJCLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBcUIsS0FBQSxHQUFBdEIsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFzQixVQUFBLEdBQUF0QixPQUFBO0FBQ0EsSUFBQXVCLFVBQUEsR0FBQXhCLHNCQUFBLENBQUFDLE9BQUE7QUFBbUUsU0FBQXdCLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBdEIsd0JBQUEwQixHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixHQUFBLEVBQUFZLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFYLEdBQUEsRUFBQVksR0FBQSxjQUFBSSxJQUFBLEtBQUFBLElBQUEsQ0FBQVYsR0FBQSxJQUFBVSxJQUFBLENBQUFDLEdBQUEsS0FBQVIsTUFBQSxDQUFBQyxjQUFBLENBQUFILE1BQUEsRUFBQUssR0FBQSxFQUFBSSxJQUFBLFlBQUFULE1BQUEsQ0FBQUssR0FBQSxJQUFBWixHQUFBLENBQUFZLEdBQUEsU0FBQUwsTUFBQSxDQUFBSixPQUFBLEdBQUFILEdBQUEsTUFBQUksS0FBQSxJQUFBQSxLQUFBLENBQUFhLEdBQUEsQ0FBQWpCLEdBQUEsRUFBQU8sTUFBQSxZQUFBQSxNQUFBO0FBRW5FLElBQU1XLGFBQWE7RUFBQSxJQUFBQyxJQUFBLE9BQUFDLGtCQUFBLENBQUFqQixPQUFBLGdCQUFBa0IsWUFBQSxDQUFBbEIsT0FBQSxDQUFBbUIsSUFBQSxDQUFHLFNBQUFDLFFBQU9DLEdBQVcsRUFBRUMsT0FBaUI7SUFBQSxJQUFBQyxRQUFBLEVBQUFDLElBQUE7SUFBQSxPQUFBTixZQUFBLENBQUFsQixPQUFBLENBQUF5QixJQUFBLFVBQUFDLFNBQUFDLFFBQUE7TUFBQTtRQUFBLFFBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7VUFBQTtZQUFBRixRQUFBLENBQUFFLElBQUE7WUFBQSxPQUNsQ0MsS0FBSyxDQUFDVCxHQUFHLENBQUM7VUFBQTtZQUEzQkUsUUFBUSxHQUFBSSxRQUFBLENBQUFJLElBQUE7WUFBQSxLQUNWUixRQUFRLENBQUNTLEVBQUU7Y0FBQUwsUUFBQSxDQUFBRSxJQUFBO2NBQUE7WUFBQTtZQUFBRixRQUFBLENBQUFFLElBQUE7WUFBQSxPQUNNTixRQUFRLENBQUNVLElBQUksQ0FBQyxDQUFDO1VBQUE7WUFBNUJULElBQUksR0FBQUcsUUFBQSxDQUFBSSxJQUFBO1lBQ1ZULE9BQU8sQ0FBQ0UsSUFBSSxDQUFDQSxJQUFJLENBQUM7WUFBQ0csUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtZQUFBLE1BRWIsSUFBSUssS0FBSyx3QkFBQUMsTUFBQSxDQUF3QlosUUFBUSxDQUFDYSxNQUFNLENBQUUsQ0FBQztVQUFBO1VBQUE7WUFBQSxPQUFBVCxRQUFBLENBQUFVLElBQUE7UUFBQTtNQUFBO0lBQUEsR0FBQWpCLE9BQUE7RUFBQSxDQUU1RDtFQUFBLGdCQVJLTCxhQUFhQSxDQUFBdUIsRUFBQSxFQUFBQyxHQUFBO0lBQUEsT0FBQXZCLElBQUEsQ0FBQXdCLEtBQUEsT0FBQUMsU0FBQTtFQUFBO0FBQUEsR0FRbEI7QUFDRCxJQUFNQyxlQUFlO0VBQUEsSUFBQUMsS0FBQSxPQUFBMUIsa0JBQUEsQ0FBQWpCLE9BQUEsZ0JBQUFrQixZQUFBLENBQUFsQixPQUFBLENBQUFtQixJQUFBLENBQUcsU0FBQXlCLFNBQU92QixHQUFXLEVBQUVDLE9BQWlCO0lBQUEsSUFBQUMsUUFBQSxFQUFBQyxJQUFBO0lBQUEsT0FBQU4sWUFBQSxDQUFBbEIsT0FBQSxDQUFBeUIsSUFBQSxVQUFBb0IsVUFBQUMsU0FBQTtNQUFBO1FBQUEsUUFBQUEsU0FBQSxDQUFBbEIsSUFBQSxHQUFBa0IsU0FBQSxDQUFBakIsSUFBQTtVQUFBO1lBQUFpQixTQUFBLENBQUFqQixJQUFBO1lBQUEsT0FDcENDLEtBQUssQ0FBQ1QsR0FBRyxDQUFDO1VBQUE7WUFBM0JFLFFBQVEsR0FBQXVCLFNBQUEsQ0FBQWYsSUFBQTtZQUFBLEtBQ1ZSLFFBQVEsQ0FBQ1MsRUFBRTtjQUFBYyxTQUFBLENBQUFqQixJQUFBO2NBQUE7WUFBQTtZQUFBaUIsU0FBQSxDQUFBakIsSUFBQTtZQUFBLE9BQ01OLFFBQVEsQ0FBQ1UsSUFBSSxDQUFDLENBQUM7VUFBQTtZQUE1QlQsSUFBSSxHQUFBc0IsU0FBQSxDQUFBZixJQUFBO1lBQ1ZULE9BQU8sQ0FBQ0UsSUFBSSxDQUFDO1lBQUNzQixTQUFBLENBQUFqQixJQUFBO1lBQUE7VUFBQTtZQUFBLE1BRVIsSUFBSUssS0FBSyx3QkFBQUMsTUFBQSxDQUF3QlosUUFBUSxDQUFDYSxNQUFNLENBQUUsQ0FBQztVQUFBO1VBQUE7WUFBQSxPQUFBVSxTQUFBLENBQUFULElBQUE7UUFBQTtNQUFBO0lBQUEsR0FBQU8sUUFBQTtFQUFBLENBRTVEO0VBQUEsZ0JBUktGLGVBQWVBLENBQUFLLEdBQUEsRUFBQUMsR0FBQTtJQUFBLE9BQUFMLEtBQUEsQ0FBQUgsS0FBQSxPQUFBQyxTQUFBO0VBQUE7QUFBQSxHQVFwQjtBQUVNLElBQU1RLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBLEVBQVM7RUFDL0IsSUFBQUMsVUFBQSxHQUFvQixJQUFBQyx5QkFBUyxFQUFzQixDQUFDO0lBQTVDQyxPQUFPLEdBQUFGLFVBQUEsQ0FBUEUsT0FBTztFQUNmLElBQU1DLGFBQWEsR0FBR0MsUUFBUSxDQUFDRixPQUFPLENBQUM7RUFDdkMsSUFBTUcsT0FBTyxHQUFHLElBQUFDLDBCQUFVLEVBQUMsQ0FBQztFQUM1QixJQUFBQyxTQUFBLEdBQWdDLElBQUFDLGVBQVEsRUFBbUIsSUFBSSxDQUFDO0lBQUFDLFVBQUEsT0FBQUMsZUFBQSxDQUFBNUQsT0FBQSxFQUFBeUQsU0FBQTtJQUF6REksUUFBUSxHQUFBRixVQUFBO0lBQUVHLFdBQVcsR0FBQUgsVUFBQTtFQUM1QixJQUFBSSxVQUFBLEdBQW9DLElBQUFMLGVBQVEsRUFBa0IsSUFBSSxDQUFDO0lBQUFNLFVBQUEsT0FBQUosZUFBQSxDQUFBNUQsT0FBQSxFQUFBK0QsVUFBQTtJQUE1REUsVUFBVSxHQUFBRCxVQUFBO0lBQUVFLGFBQWEsR0FBQUYsVUFBQTtFQUNoQyxJQUFBRyxVQUFBLEdBQXNDLElBQUFULGVBQVEsRUFBUyxLQUFLLENBQUM7SUFBQVUsVUFBQSxPQUFBUixlQUFBLENBQUE1RCxPQUFBLEVBQUFtRSxVQUFBO0lBQXRERSxXQUFXLEdBQUFELFVBQUE7SUFBRUUsY0FBYyxHQUFBRixVQUFBO0VBRWxDLElBQUFHLFlBQUEsR0FBK0MsSUFBQUMsdUJBQVcsRUFDeEQsVUFBQ0MsS0FBb0M7TUFBQSxPQUFLLENBQ3hDQSxLQUFLLENBQUNDLFdBQVcsQ0FBQ0Msa0JBQWtCLEVBQ3BDRixLQUFLLENBQUNDLFdBQVcsQ0FBQ0UsZ0JBQWdCLEVBQ2xDSCxLQUFLLENBQUNJLFdBQVcsQ0FDbEI7SUFBQSxDQUNILENBQUM7SUFBQUMsYUFBQSxPQUFBbEIsZUFBQSxDQUFBNUQsT0FBQSxFQUFBdUUsWUFBQTtJQU5NSSxrQkFBa0IsR0FBQUcsYUFBQTtJQUFFRixnQkFBZ0IsR0FBQUUsYUFBQTtFQVEzQyxJQUFNQyxVQUFVLEdBQUcsSUFBQVAsdUJBQVcsRUFDNUIsVUFBQ0MsS0FBb0M7SUFBQSxPQUFLQSxLQUFLLENBQUNPLGdCQUFnQixDQUFDRCxVQUFVO0VBQUEsQ0FDN0UsQ0FBQztFQUVELElBQUFFLGdCQUFTLEVBQUMsWUFBTTtJQUNkQyxrQkFBVSxDQUFDQyxVQUFVLENBQUM7TUFDcEI7TUFDQUMsSUFBSSxFQUFFO1FBQ0pDLFdBQVcsRUFBRUMsYUFBSSxDQUFDQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQ0MsS0FBSyxDQUFDLENBQUMsRUFBRTtNQUN4RDtJQUNGLENBQUMsQ0FBQztFQUNKLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFBUCxnQkFBUyxFQUFDLFlBQU07SUFDZCxJQUFBUSx5QkFBYyxFQUFDLHNCQUFzQixFQUFFO01BQ3JDQyxZQUFZLEVBQUVmO0lBQ2hCLENBQUMsQ0FBQztJQUNGZ0IsUUFBUSxDQUFDLElBQUFDLHFCQUFXLEVBQUNoQixnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQ2QsV0FBVyxDQUFDLElBQUksQ0FBQztJQUNqQi9DLGFBQWEsZ0JBQUFvQixNQUFBLENBQWdCa0IsYUFBYSxHQUFJUyxXQUFXLENBQUMsQ0FBQytCLEtBQUssQ0FBQyxVQUFDQyxDQUFDLEVBQUs7TUFDdEVDLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLGlCQUFpQixHQUFHRixDQUFDLENBQUNHLE9BQU8sQ0FBQztJQUM5QyxDQUFDLENBQUM7SUFFRnZELGVBQWUsaUJBQUFQLE1BQUEsQ0FBaUJrQixhQUFhLEdBQUlhLGFBQWEsQ0FBQyxDQUFDMkIsS0FBSyxDQUNuRSxVQUFDQyxDQUFDLEVBQUs7TUFDTEMsT0FBTyxDQUFDQyxLQUFLLENBQUMsaUJBQWlCLEdBQUdGLENBQUMsQ0FBQ0csT0FBTyxDQUFDO0lBQzlDLENBQ0YsQ0FBQztFQUNILENBQUMsRUFBRSxDQUFDNUMsYUFBYSxDQUFDLENBQUM7RUFFbkIsSUFBTTZDLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFBLEVBQVM7SUFDdkIsT0FBTyxJQUFBQyxlQUFPLEVBQUN0QyxRQUFRLENBQUM7RUFDMUIsQ0FBQztFQUVELElBQU04QixRQUFRLEdBQUcsSUFBQVMsdUJBQVcsRUFBQyxDQUFDO0VBQzlCLElBQUFuQixnQkFBUyxFQUFDLFlBQU07SUFDZFUsUUFBUSxDQUFDLElBQUFVLHlCQUFnQixFQUFDO01BQUVDLElBQUksRUFBRTtJQUFlLENBQUMsQ0FBQyxDQUFDO0VBQ3RELENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNQyxhQUFhLEdBQUcsSUFBQUMsYUFBTSxFQUFNLElBQUksQ0FBQztFQUN2QyxJQUFNQyxTQUFTLEdBQUcsQ0FBQTVDLFFBQVEsYUFBUkEsUUFBUSx1QkFBUkEsUUFBUSxDQUFFNkMsS0FBSyxDQUFDSixJQUFJLEtBQUksRUFBRTtFQUM1QyxJQUFNSyxRQUFRLEdBQUcsQ0FBQTlDLFFBQVEsYUFBUkEsUUFBUSx1QkFBUkEsUUFBUSxDQUFFK0MsSUFBSSxDQUFDTixJQUFJLEtBQUksRUFBRTtFQUMxQyxJQUFNTyxZQUFZLE1BQUExRSxNQUFBLENBQU0wQixRQUFRLGFBQVJBLFFBQVEsdUJBQVJBLFFBQVEsQ0FBRWlELE9BQU8sQ0FBRTtFQUMzQyxJQUFNQyxTQUFTLEdBQUcsQ0FBQWxELFFBQVEsYUFBUkEsUUFBUSx1QkFBUkEsUUFBUSxDQUFFbUQsU0FBUyxLQUFJLEVBQUU7RUFDM0MsSUFBTUMsY0FBYyxHQUFHLENBQUFwRCxRQUFRLGFBQVJBLFFBQVEsdUJBQVJBLFFBQVEsQ0FBRW9ELGNBQWMsS0FBSSxFQUFFO0VBQ3JELElBQU1DLEdBQUcsR0FBRyxDQUFBckQsUUFBUSxhQUFSQSxRQUFRLHVCQUFSQSxRQUFRLENBQUVxRCxHQUFHLEtBQUksSUFBSTtFQUNqQyxJQUFNQyxXQUFXLEdBQUcsQ0FBQXRELFFBQVEsYUFBUkEsUUFBUSx1QkFBUkEsUUFBUSxDQUFFc0QsV0FBVyxLQUFJLElBQUk7RUFDakQsSUFBTUMsVUFBVSxHQUFHLENBQUF2RCxRQUFRLGFBQVJBLFFBQVEsdUJBQVJBLFFBQVEsQ0FBRXdELFdBQVcsS0FBSSxFQUFFO0VBRTlDLElBQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBSUMsUUFBeUIsRUFBRUMsS0FBYSxFQUFLO0lBQ3BFLElBQU1DLE1BQU0sR0FBRztNQUNiQyxZQUFZLEVBQUUsQ0FDWjtRQUNFQyxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCQyxnQkFBZ0IsRUFBRSxDQUFDTCxRQUFRO01BQzdCLENBQUMsRUFDRDtRQUNFSSxJQUFJLEVBQUUseUJBQXlCO1FBQy9CQyxnQkFBZ0IsRUFBRSxDQUFDdkUsYUFBYTtNQUNsQyxDQUFDO0lBRUwsQ0FBQztJQUNELElBQU13RSxHQUFHLEdBQUcsSUFBQUMsa0JBQWEsRUFBQ0wsTUFBTSxDQUFDO0lBQ2pDbEUsT0FBTyxDQUFDd0UsSUFBSSwwQ0FBQTVGLE1BQUEsQ0FDK0J5QyxnQkFBZ0IsY0FBQXpDLE1BQUEsQ0FBVzRDLFVBQVUsQ0FBQ2lELE1BQU0scUJBQUE3RixNQUFBLENBQWtCMEYsR0FBRyxlQUFBMUYsTUFBQSxDQUFZcUYsS0FBSyxDQUFDUyxFQUFFLENBQ2hJLENBQUM7RUFDSCxDQUFDO0VBRUQsSUFBTUMsb0JBQThCLEdBQUcsU0FBakNBLG9CQUE4QkEsQ0FDbENWLEtBQWEsRUFDYlcsR0FBMkIsRUFDeEI7SUFDSGIsZUFBZSxDQUFDaEUsUUFBUSxDQUFDa0UsS0FBSyxDQUFDRCxRQUFRLENBQUMsRUFBRUMsS0FBSyxDQUFDO0VBQ2xELENBQUM7RUFFRCxJQUFNWSxvQkFBOEIsR0FBRyxTQUFqQ0Esb0JBQThCQSxDQUFJWixLQUFhLEVBQUssQ0FBQyxDQUFDO0VBRTVELG9CQUNFdEosTUFBQSxDQUFBOEIsT0FBQSxDQUFBcUksYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBSSxnQkFDakJwSyxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBLENBQUN6SixZQUFBLENBQUFvQixPQUFXO0lBQ1Y0RSxnQkFBZ0IsRUFBRUEsZ0JBQWlCO0lBQ25DMkQsU0FBUyxFQUFFLElBQUs7SUFDaEJDLGFBQWEsRUFBRS9CO0VBQVUsQ0FDMUIsQ0FBQyxlQUNGdkksTUFBQSxDQUFBOEIsT0FBQSxDQUFBcUksYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBYyxnQkFDM0JwSyxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFpQixnQkFDOUJwSyxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBLENBQUM5SixZQUFBLENBQUF5QixPQUFXO0lBQUN5SSxLQUFLLEVBQUUsQ0FBQzlELGtCQUFrQixFQUFFZ0MsUUFBUSxFQUFFRixTQUFTO0VBQUUsQ0FBRSxDQUM3RCxDQUFDLGVBQ052SSxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFhLGdCQUMxQnBLLE1BQUEsQ0FBQThCLE9BQUEsQ0FBQXFJLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQWMsZ0JBQzNCcEssTUFBQSxDQUFBOEIsT0FBQSxDQUFBcUksYUFBQSxDQUFDakosa0JBQUEsQ0FBQVksT0FBaUI7SUFDaEIwSSxhQUFhLEVBQUVyRSxXQUFZO0lBQzNCc0UsZ0JBQWdCLEVBQUUsU0FBQUEsaUJBQUNDLElBQVk7TUFBQSxPQUFLdEUsY0FBYyxDQUFDc0UsSUFBSSxDQUFDO0lBQUE7RUFBQyxDQUMxRCxDQUFDLGVBQ0YxSyxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBLENBQUN2SixPQUFBLENBQUFrQixPQUFNO0lBQ0w2SSxPQUFPLEVBQUUsQ0FDUDtNQUFFQyxLQUFLLEVBQUUsZUFBZTtNQUFFQyxLQUFLLEVBQUU7SUFBSyxDQUFDLEVBQ3ZDO01BQUVELEtBQUssRUFBRSxNQUFNO01BQUVDLEtBQUssRUFBRTtJQUFNLENBQUMsQ0FDL0I7SUFDRkMsbUJBQW1CLEVBQUUsU0FBQUEsb0JBQUE7TUFBQSxPQUFNQyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQUE7RUFBQyxDQUM1QyxDQUNFLENBQ0YsQ0FDRixDQUFDLGVBQ04vSyxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFlLEdBQzNCcEMsVUFBVSxDQUFDLENBQUMsZ0JBQ1hoSSxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBLENBQUM3SixjQUFBLENBQUEwSyxTQUFTO0lBQ1JDLEtBQUssRUFBQyxPQUFPO0lBQ2JDLE1BQU0sRUFBQyxNQUFNO0lBQ2JDLE1BQU0sRUFBQyxRQUFRO0lBQ2ZDLE9BQU8sRUFBQyxTQUFTO0lBQ2pCQyxPQUFPLEVBQUM7RUFBTSxDQUNmLENBQUMsZ0JBRUZyTCxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBO0lBQUlDLFNBQVMsRUFBQztFQUFnQixHQUFFN0IsU0FBYyxDQUU3QyxDQUFDLGVBQ052SSxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFhLGdCQUMxQnBLLE1BQUEsQ0FBQThCLE9BQUEsQ0FBQXFJLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQVcsZ0JBQ3hCcEssTUFBQSxDQUFBOEIsT0FBQSxDQUFBcUksYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBa0IsR0FDOUJoRCxhQUFJLENBQUNDLENBQUMsQ0FBQywwQkFBMEIsQ0FDL0IsQ0FBQyxFQUNMVyxVQUFVLENBQUMsQ0FBQyxnQkFDWGhJLE1BQUEsQ0FBQThCLE9BQUEsQ0FBQXFJLGFBQUEsQ0FBQzdKLGNBQUEsQ0FBQTBLLFNBQVM7SUFDUkcsTUFBTSxFQUFDLFVBQVU7SUFDakJELE1BQU0sRUFBQyxPQUFPO0lBQ2RFLE9BQU8sRUFBQyxTQUFTO0lBQ2pCQyxPQUFPLEVBQUM7RUFBTSxDQUNmLENBQUMsZ0JBRUZyTCxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBLENBQUN4SixVQUFBLENBQUFtQixPQUFTO0lBQ1JzRyxJQUFJLEVBQUVTLFNBQVU7SUFDaEJELE9BQU8sRUFBRUQsWUFBYTtJQUN0QkQsSUFBSSxFQUFFRCxRQUFTO0lBQ2ZNLGNBQWMsRUFBRUEsY0FBZTtJQUMvQnVDLE1BQU0sRUFBRXBDLFVBQVc7SUFDbkJGLEdBQUcsRUFBRUEsR0FBSTtJQUNUQyxXQUFXLEVBQUVBLFdBQVk7SUFDekJ2QyxnQkFBZ0IsRUFBRUEsZ0JBQWlCO0lBQ25DNkUsT0FBTyxFQUFFcEcsYUFBYztJQUN2QjJFLE1BQU0sRUFBRWpELFVBQVUsQ0FBQ2lEO0VBQU8sQ0FDM0IsQ0FDRixlQUNEOUosTUFBQSxDQUFBOEIsT0FBQSxDQUFBcUksYUFBQTtJQUFLQyxTQUFTLEVBQUMsa0NBQWtDO0lBQUNILEdBQUcsRUFBRTVCO0VBQWMsZ0JBR25FckksTUFBQSxDQUFBOEIsT0FBQSxDQUFBcUksYUFBQTtJQUFJQyxTQUFTLEVBQUU7RUFBUyxnQkFDdEJwSyxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBLENBQUNqSyxTQUFBLENBQUE0QixPQUFRO0lBQUMwSixVQUFVLEVBQUUsSUFBSztJQUFDQyxRQUFRLEVBQUU7RUFBSyxHQUN4QzFGLFVBQVUsS0FBSyxJQUFJLElBQ2xCQSxVQUFVLEtBQUsyRixTQUFTLElBQ3hCM0YsVUFBVSxDQUFDNEYsTUFBTSxLQUFLLENBQUMsSUFDdkI1RixVQUFVLENBQUM2RixHQUFHLENBQUMsVUFBQ3RDLEtBQUssRUFBSztJQUN4QixvQkFDRXRKLE1BQUEsQ0FBQThCLE9BQUEsQ0FBQXFJLGFBQUEsQ0FBQ2pLLFNBQUEsQ0FBQTRCLE9BQVEsQ0FBQytKLElBQUk7TUFBQ3RKLEdBQUcsRUFBRStHLEtBQUssQ0FBQ1M7SUFBRyxnQkFDM0IvSixNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBO01BQUlDLFNBQVMsRUFBRSxPQUFRO01BQUM3SCxHQUFHLEVBQUUrRyxLQUFLLENBQUNTO0lBQUcsZ0JBQ3BDL0osTUFBQSxDQUFBOEIsT0FBQSxDQUFBcUksYUFBQSxDQUFDOUksVUFBQSxDQUFBUyxPQUFTO01BQ1J3SCxLQUFLLEVBQUVBLEtBQU07TUFDYlUsb0JBQW9CLEVBQUVBLG9CQUFxQjtNQUMzQ0Usb0JBQW9CLEVBQUVBO0lBQXFCLENBQzVDLENBQ0MsQ0FDUyxDQUFDO0VBRXBCLENBQUMsQ0FDSyxDQUNSLENBQ0QsQ0FDRixDQUFDLGVBQ05sSyxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFXLGdCQUN4QnBLLE1BQUEsQ0FBQThCLE9BQUEsQ0FBQXFJLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQVcsZ0JBQ3hCcEssTUFBQSxDQUFBOEIsT0FBQSxDQUFBcUksYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBWSxnQkFDekJwSyxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBLENBQUMxSixPQUFBLENBQUFxQixPQUFNO0lBQUN5SixPQUFPLEVBQUVwRyxhQUFjO0lBQUMyRyxNQUFNLEVBQUUzRjtFQUFZLENBQUUsQ0FDbkQsQ0FBQyxlQUNObkcsTUFBQSxDQUFBOEIsT0FBQSxDQUFBcUksYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBWSxnQkFDekJwSyxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBLENBQUM1SixXQUFBLENBQUF1QixPQUFVO0lBQ1R5SixPQUFPLEVBQUVwRyxhQUFjO0lBQ3ZCNEcsVUFBVSxFQUFFLElBQUFDLGlCQUFXLEVBQUM3RixXQUFXO0VBQUUsQ0FDdEMsQ0FDRSxDQUNGLENBQUMsZUFDTm5HLE1BQUEsQ0FBQThCLE9BQUEsQ0FBQXFJLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQVcsZ0JBQ3hCcEssTUFBQSxDQUFBOEIsT0FBQSxDQUFBcUksYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBVyxnQkFDeEJwSyxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFpQixHQUM3QmhELGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLG9CQUFvQixDQUN6QixDQUFDLGVBQ05ySCxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBLENBQUN0SixXQUFBLENBQUFpQixPQUFVO0lBQUN5SixPQUFPLEVBQUVwRyxhQUFjO0lBQUMyRyxNQUFNLEVBQUUzRjtFQUFZLENBQUUsQ0FDdkQsQ0FBQyxlQUNObkcsTUFBQSxDQUFBOEIsT0FBQSxDQUFBcUksYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBZSxnQkFDNUJwSyxNQUFBLENBQUE4QixPQUFBLENBQUFxSSxhQUFBLENBQUMzSixpQkFBQSxDQUFBc0IsT0FBZ0I7SUFBQ3lKLE9BQU8sRUFBRXBHO0VBQWMsQ0FBRSxDQUN4QyxDQUNGLENBRUYsQ0FDRixDQUNGLENBQUM7QUFFVixDQUFDO0FBQUM4RyxPQUFBLENBQUFsSCxXQUFBLEdBQUFBLFdBQUEifQ==
364
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9PbGRTaXRlUGFnZS9PbGRTaXRlUGFnZS50c3giXSwibmFtZXMiOlsiZmV0Y2hTaXRlRGF0YSIsInVybCIsInNldERhdGEiLCJmZXRjaCIsInJlc3BvbnNlIiwib2siLCJqc29uIiwiZGF0YSIsIkVycm9yIiwic3RhdHVzIiwiZmV0Y2hFdmVudHNEYXRhIiwiT2xkU2l0ZVBhZ2UiLCJwb2ludElEIiwicGFyc2VkUG9pbnRJRCIsInBhcnNlSW50IiwiaGlzdG9yeSIsInNpdGVEYXRhIiwic2V0U2l0ZURhdGEiLCJldmVudHNEYXRhIiwic2V0RXZlbnRzRGF0YSIsInBlcmlvZFJhbmdlIiwic2V0UGVyaW9kUmFuZ2UiLCJzdGF0ZSIsImdsb2JhbF9kYXRhIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwid2F0ZXJBdXRob3JpdHlJZCIsImV2ZW50c19kYXRhIiwibmF2Q29udGV4dCIsIm5hdl9jb250ZXh0X2RhdGEiLCJIaWdoY2hhcnRzIiwic2V0T3B0aW9ucyIsImxhbmciLCJzaG9ydE1vbnRocyIsImkxOG4iLCJ0Iiwic2xpY2UiLCJ1dGlsaXR5X25hbWUiLCJkaXNwYXRjaCIsImNhdGNoIiwiZSIsImNvbnNvbGUiLCJlcnJvciIsIm1lc3NhZ2UiLCJpc0ZldGNoaW5nIiwibmFtZSIsIml0ZW1Db250YWluZXIiLCJncm91cE5hbWUiLCJncm91cCIsImFyZWFOYW1lIiwiYXJlYSIsInBvaW50QWRkcmVzcyIsImFkZHJlc3MiLCJwb2ludE5hbWUiLCJ3d3RwX25hbWUiLCJzZWN0b3JJY29uTmFtZSIsImdlbyIsImRpc2NoYXJnaW5nIiwic2VjdG9yTmFtZSIsInNlY3Rvcl9uYW1lIiwibmF2aWdhdGVUb0V2ZW50Iiwic2V2ZXJpdHkiLCJldmVudCIsImZpbHRlciIsImZpbHRlcl9pdGVtcyIsInR5cGUiLCJzZWxlY3RlZF9vcHRpb25zIiwia3FsIiwicHVzaCIsImxvY2FsZSIsImlkIiwiaGFuZGxlRXZlbnRJdGVtQ2xpY2siLCJyZWYiLCJoYW5kbGVFdmVudEl0ZW1Ib3ZlciIsImRheXMiLCJsYWJlbCIsInZhbHVlIiwiYWxlcnQiLCJ1bmRlZmluZWQiLCJsZW5ndGgiLCJtYXAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLGFBQWE7QUFBQSxxRkFBRyxpQkFBT0MsR0FBUCxFQUFvQkMsT0FBcEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxtQkFDR0MsS0FBSyxDQUFDRixHQUFELENBRFI7O0FBQUE7QUFDZEcsWUFBQUEsUUFEYzs7QUFBQSxpQkFFaEJBLFFBQVEsQ0FBQ0MsRUFGTztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBLG1CQUdDRCxRQUFRLENBQUNFLElBQVQsRUFIRDs7QUFBQTtBQUdaQyxZQUFBQSxJQUhZO0FBSWxCTCxZQUFBQSxPQUFPLENBQUNLLElBQUksQ0FBQ0EsSUFBTixDQUFQO0FBSmtCO0FBQUE7O0FBQUE7QUFBQSxrQkFNWixJQUFJQyxLQUFKLCtCQUFpQ0osUUFBUSxDQUFDSyxNQUExQyxFQU5ZOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEdBQUg7O0FBQUEsa0JBQWJULGFBQWE7QUFBQTtBQUFBO0FBQUEsR0FBbkI7O0FBU0EsSUFBTVUsZUFBZTtBQUFBLHNGQUFHLGtCQUFPVCxHQUFQLEVBQW9CQyxPQUFwQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQUNDQyxLQUFLLENBQUNGLEdBQUQsQ0FETjs7QUFBQTtBQUNoQkcsWUFBQUEsUUFEZ0I7O0FBQUEsaUJBRWxCQSxRQUFRLENBQUNDLEVBRlM7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSxt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QUFmLGtCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0UsNkJBQUMsZUFBRDtBQUFRLElBQUEsT0FBTyxFQUFFM0QsYUFBakI7QUFBZ0MsSUFBQSxNQUFNLEVBQUVPO0FBQXhDLElBREYsQ0FERixlQUlFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDRSw2QkFBQyxtQkFBRDtBQUNFLElBQUEsT0FBTyxFQUFFUCxhQURYO0FBRUUsSUFBQSxVQUFVLEVBQUUsdUJBQVlPLFdBQVo7QUFGZCxJQURGLENBSkYsQ0FERixlQVlFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsa0JBQ0U7QUFBSyxJQUFBLFNBQVMsRUFBQztBQUFmLEtBQ0dhLGNBQUtDLENBQUwsQ0FBTyxvQkFBUCxDQURILENBREYsZUFJRSw2QkFBQyxtQkFBRDtBQUFZLElBQUEsT0FBTyxFQUFFckIsYUFBckI7QUFBb0MsSUFBQSxNQUFNLEVBQUVPO0FBQTVDLElBSkYsQ0FERixlQU9FO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixrQkFDRSw2QkFBQyx5QkFBRDtBQUFrQixJQUFBLE9BQU8sRUFBRVA7QUFBM0IsSUFERixDQVBGLENBWkYsQ0FuREYsQ0F2Q0YsQ0FERjtBQXVIRCxDQXBOTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBIaWdoY2hhcnRzIGZyb20gJ2hpZ2hjaGFydHMvaGlnaHN0b2NrJztcbmltcG9ydCB7IGlzRW1wdHkgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IFJlYWN0LCB7IFJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IENhcm91c2VsIGZyb20gJ3JlYWN0LWJvb3RzdHJhcC9DYXJvdXNlbCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5LCB1c2VQYXJhbXMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCAnLi4vRXZlbnRzUGFnZS9jb21wb25lbnRzL2V2ZW50cy9FdmVudHNTdHlsZS5zY3NzJztcbmltcG9ydCBCcmVhZGNydW1icyBmcm9tICdzcmMvY29tcG9uZW50cy9IZWFkZXIvQnJlYWRjcnVtYnMnO1xuaW1wb3J0IHsgUm93TG9hZGVyIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvQ29udGVudExvYWRlcic7XG5pbXBvcnQgRGFtYWdlVHlwZSBmcm9tICdzcmMvY29tcG9uZW50cy9EYW1hZ2VUeXBlJztcbmltcG9ydCBEaXNjaGFyZ2VIZWF0bWFwIGZyb20gJ3NyYy9jb21wb25lbnRzL0Rpc2NoYXJnZUhlYXRtYXAnO1xuaW1wb3J0IEV2ZW50cyBmcm9tICdzcmMvY29tcG9uZW50cy9FdmVudHMnO1xuaW1wb3J0IEthbmRvTmF2YmFyIGZyb20gJ3NyYy9jb21wb25lbnRzL0hlYWRlci9LYW5kb05hdmJhcic7XG5pbXBvcnQgUG9pbnRJbmZvIGZyb20gJ3NyYy9jb21wb25lbnRzL1BvaW50SW5mby9Qb2ludEluZm8nO1xuaW1wb3J0IFRvZ2dsZSBmcm9tICdzcmMvY29tcG9uZW50cy9Ub2dnbGUnO1xuaW1wb3J0IFRyZW5kR3JhcGggZnJvbSAnc3JjL2NvbXBvbmVudHMvVHJlbmRHcmFwaCc7XG5pbXBvcnQgeyBidWlsZEtRTFF1ZXJ5IH0gZnJvbSAnc3JjL3V0aWxpdGllcy9rcWwnO1xuaW1wb3J0IHsgcmFuZ2VUb0RheXMgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3RpbWUnO1xuaW1wb3J0IHsgdXBkYXRlTmF2Q29udGV4dCB9IGZyb20gJ3NyYy9zdG9yZS9jb250ZXh0L2FjdGlvbnMnO1xuaW1wb3J0IHsgZmV0Y2hFdmVudHMgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICdzcmMvc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IFRpbWVSYW5nZVNlbGVjdG9yIGZyb20gJ3NyYy9jb21wb25lbnRzL1RpbWVSYW5nZVNlbGVjdG9yJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJU2l0ZURhdGEgfSBmcm9tICcuL0lEYXNoYm9hcmREYXRhJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgRXZlbnRJdGVtIGZyb20gJy4uL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0V2ZW50SXRlbSc7XG5cbmNvbnN0IGZldGNoU2l0ZURhdGEgPSBhc3luYyAodXJsOiBzdHJpbmcsIHNldERhdGE6IEZ1bmN0aW9uKSA9PiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKTtcbiAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICBzZXREYXRhKGRhdGEuZGF0YSk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBIVFRQIGVycm9yISBzdGF0dXM6ICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xuICB9XG59O1xuY29uc3QgZmV0Y2hFdmVudHNEYXRhID0gYXN5bmMgKHVybDogc3RyaW5nLCBzZXREYXRhOiBGdW5jdGlvbikgPT4ge1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCk7XG4gIGlmIChyZXNwb25zZS5vaykge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG4gICAgc2V0RGF0YShkYXRhKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEhUVFAgZXJyb3IhIHN0YXR1czogJHtyZXNwb25zZS5zdGF0dXN9YCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBPbGRTaXRlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgeyBwb2ludElEIH0gPSB1c2VQYXJhbXM8eyBwb2ludElEOiBzdHJpbmcgfT4oKTtcbiAgY29uc3QgcGFyc2VkUG9pbnRJRCA9IHBhcnNlSW50KHBvaW50SUQpO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBbc2l0ZURhdGEsIHNldFNpdGVEYXRhXSA9IHVzZVN0YXRlPElTaXRlRGF0YSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbZXZlbnRzRGF0YSwgc2V0RXZlbnRzRGF0YV0gPSB1c2VTdGF0ZTxJRXZlbnRbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbcGVyaW9kUmFuZ2UsIHNldFBlcmlvZFJhbmdlXSA9IHVzZVN0YXRlPHN0cmluZz4oJzMwZCcpO1xuXG4gIGNvbnN0IFt3YXRlckF1dGhvcml0eU5hbWUsIHdhdGVyQXV0aG9yaXR5SWRdID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gW1xuICAgICAgc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgICAgc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgIHN0YXRlLmV2ZW50c19kYXRhLFxuICAgIF0sXG4gICk7XG5cbiAgY29uc3QgbmF2Q29udGV4dCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLm5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dCxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIEhpZ2hjaGFydHMuc2V0T3B0aW9ucyh7XG4gICAgICAvLyBUcmFuc2xhdGlvbnMgbXVzdCBiZSBzZXQgZ2xvYmFsbHlcbiAgICAgIGxhbmc6IHtcbiAgICAgICAgc2hvcnRNb250aHM6IGkxOG4udCgnZGF0ZS5hYmJyX21vbnRoX25hbWVzJykuc2xpY2UoLTEyKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdWaWV3ZWQgT2xkIFNpdGUgUGFnZScsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIGRpc3BhdGNoKGZldGNoRXZlbnRzKHdhdGVyQXV0aG9yaXR5SWQsICcnKSk7XG4gICAgc2V0U2l0ZURhdGEobnVsbCk7XG4gICAgZmV0Y2hTaXRlRGF0YShgL2RhdGEvcG9pbnQvJHtwYXJzZWRQb2ludElEfWAsIHNldFNpdGVEYXRhKS5jYXRjaCgoZSkgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcignUmVxdWVzdCBlcnJvcjogJyArIGUubWVzc2FnZSk7XG4gICAgfSk7XG5cbiAgICBmZXRjaEV2ZW50c0RhdGEoYC9kYXRhL2V2ZW50cy8ke3BhcnNlZFBvaW50SUR9YCwgc2V0RXZlbnRzRGF0YSkuY2F0Y2goXG4gICAgICAoZSkgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdSZXF1ZXN0IGVycm9yOiAnICsgZS5tZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfSwgW3BhcnNlZFBvaW50SURdKTtcblxuICBjb25zdCBpc0ZldGNoaW5nID0gKCkgPT4ge1xuICAgIHJldHVybiBpc0VtcHR5KHNpdGVEYXRhKTtcbiAgfTtcblxuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2godXBkYXRlTmF2Q29udGV4dCh7IG5hbWU6ICdkYXNoYm9hcmRfdjInIH0pKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IGl0ZW1Db250YWluZXIgPSB1c2VSZWY8YW55PihudWxsKTtcbiAgY29uc3QgZ3JvdXBOYW1lID0gc2l0ZURhdGE/Lmdyb3VwLm5hbWUgfHwgJyc7XG4gIGNvbnN0IGFyZWFOYW1lID0gc2l0ZURhdGE/LmFyZWEubmFtZSB8fCAnJztcbiAgY29uc3QgcG9pbnRBZGRyZXNzID0gYCR7c2l0ZURhdGE/LmFkZHJlc3N9YDtcbiAgY29uc3QgcG9pbnROYW1lID0gc2l0ZURhdGE/Lnd3dHBfbmFtZSB8fCAnJztcbiAgY29uc3Qgc2VjdG9ySWNvbk5hbWUgPSBzaXRlRGF0YT8uc2VjdG9ySWNvbk5hbWUgfHwgJyc7XG4gIGNvbnN0IGdlbyA9IHNpdGVEYXRhPy5nZW8gfHwgbnVsbDtcbiAgY29uc3QgZGlzY2hhcmdpbmcgPSBzaXRlRGF0YT8uZGlzY2hhcmdpbmcgfHwgbnVsbDtcbiAgY29uc3Qgc2VjdG9yTmFtZSA9IHNpdGVEYXRhPy5zZWN0b3JfbmFtZSB8fCAnJztcblxuICBjb25zdCBuYXZpZ2F0ZVRvRXZlbnQgPSAoc2V2ZXJpdHk6IG51bWJlciB8IG51bWJlciwgZXZlbnQ6IElFdmVudCkgPT4ge1xuICAgIGNvbnN0IGZpbHRlciA9IHtcbiAgICAgIGZpbHRlcl9pdGVtczogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogJ1NldmVyaXR5RmlsdGVySXRlbScsXG4gICAgICAgICAgc2VsZWN0ZWRfb3B0aW9uczogW3NldmVyaXR5XSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdJbnRlcmVzdFBvaW50RmlsdGVySXRlbScsXG4gICAgICAgICAgc2VsZWN0ZWRfb3B0aW9uczogW3BhcnNlZFBvaW50SURdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICAgIGNvbnN0IGtxbCA9IGJ1aWxkS1FMUXVlcnkoZmlsdGVyKTtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgL2V2ZW50c192aWV3L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke3dhdGVyQXV0aG9yaXR5SWR9JmxvY2FsZT0ke25hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPSR7a3FsfSZldmVudElkPSR7ZXZlbnQuaWR9YCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUV2ZW50SXRlbUNsaWNrOiBGdW5jdGlvbiA9IChcbiAgICBldmVudDogSUV2ZW50LFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxFbGVtZW50PixcbiAgKSA9PiB7XG4gICAgbmF2aWdhdGVUb0V2ZW50KHBhcnNlSW50KGV2ZW50LnNldmVyaXR5KSwgZXZlbnQpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUV2ZW50SXRlbUhvdmVyOiBGdW5jdGlvbiA9IChldmVudDogSUV2ZW50KSA9PiB7fTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwibDJcIj5cbiAgICAgIDxLYW5kb05hdmJhclxuICAgICAgICB3YXRlckF1dGhvcml0eUlkPXt3YXRlckF1dGhvcml0eUlkfVxuICAgICAgICBoYXNTZWFyY2g9e3RydWV9XG4gICAgICAgIHNlbGVjdGVkTGFiZWw9e2dyb3VwTmFtZX1cbiAgICAgIC8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImwyX19jb250cm9sc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImwyX19icmVhZGNydW1ic1wiPlxuICAgICAgICAgIDxCcmVhZGNydW1icyBwYXJ0cz17W3dhdGVyQXV0aG9yaXR5TmFtZSwgYXJlYU5hbWUsIGdyb3VwTmFtZV19IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImwyX19idXR0b25zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0LXJhbmdlLWN0cmxcIj5cbiAgICAgICAgICAgIDxUaW1lUmFuZ2VTZWxlY3RvclxuICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlPXtwZXJpb2RSYW5nZX1cbiAgICAgICAgICAgICAgb25QZXJpb2RTZWxlY3RlZD17KGRheXM6IHN0cmluZykgPT4gc2V0UGVyaW9kUmFuZ2UoZGF5cyl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFRvZ2dsZVxuICAgICAgICAgICAgICBvcHRpb25zPXtbXG4gICAgICAgICAgICAgICAgeyBsYWJlbDogJ0NvbmNlbnRyYXRpb24nLCB2YWx1ZTogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgIHsgbGFiZWw6ICdMb2FkJywgdmFsdWU6IGZhbHNlIH0sXG4gICAgICAgICAgICAgIF19XG4gICAgICAgICAgICAgIGhhbmRsZUJ1dHRvbnNDaGFuZ2U9eygpID0+IGFsZXJ0KCdjaGFuZ2UnKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImwyX19yb3ctdGl0bGVcIj5cbiAgICAgICAge2lzRmV0Y2hpbmcoKSA/IChcbiAgICAgICAgICA8Um93TG9hZGVyXG4gICAgICAgICAgICB3aWR0aD1cIjMwMHB4XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjYwcHhcIlxuICAgICAgICAgICAgbWFyZ2luPVwiMjBweCAwXCJcbiAgICAgICAgICAgIGJnQ29sb3I9XCIjZjJmMmYyXCJcbiAgICAgICAgICAgIGZnQ29sb3I9XCIjZmZmXCJcbiAgICAgICAgICAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJsMl9fZ3JvdXAtbmFtZVwiPntncm91cE5hbWV9PC9oMT5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJsMl9fY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImwyX19jb2wtMVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibDJfX2ZhY3RvcnktaW5mb1wiPlxuICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLmluZm9ybWF0aW9uJyl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAge2lzRmV0Y2hpbmcoKSA/IChcbiAgICAgICAgICAgIDxSb3dMb2FkZXJcbiAgICAgICAgICAgICAgbWFyZ2luPVwiMjZweCAwIDBcIlxuICAgICAgICAgICAgICBoZWlnaHQ9XCIzNzBweFwiXG4gICAgICAgICAgICAgIGJnQ29sb3I9XCIjZjJmMmYyXCJcbiAgICAgICAgICAgICAgZmdDb2xvcj1cIiNmZmZcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFBvaW50SW5mb1xuICAgICAgICAgICAgICBuYW1lPXtwb2ludE5hbWV9XG4gICAgICAgICAgICAgIGFkZHJlc3M9e3BvaW50QWRkcmVzc31cbiAgICAgICAgICAgICAgYXJlYT17YXJlYU5hbWV9XG4gICAgICAgICAgICAgIHNlY3Rvckljb25OYW1lPXtzZWN0b3JJY29uTmFtZX1cbiAgICAgICAgICAgICAgc2VjdG9yPXtzZWN0b3JOYW1lfVxuICAgICAgICAgICAgICBnZW89e2dlb31cbiAgICAgICAgICAgICAgZGlzY2hhcmdpbmc9e2Rpc2NoYXJnaW5nfVxuICAgICAgICAgICAgICB3YXRlckF1dGhvcml0eUlkPXt3YXRlckF1dGhvcml0eUlkfVxuICAgICAgICAgICAgICBwb2ludElkPXtwYXJzZWRQb2ludElEfVxuICAgICAgICAgICAgICBsb2NhbGU9e25hdkNvbnRleHQubG9jYWxlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibDJfX2xpdmUtZXZlbnRzIGV2ZW50cy1jb250YWluZXJcIiByZWY9e2l0ZW1Db250YWluZXJ9PlxuICAgICAgICAgICAge31cblxuICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT17J2V2ZW50cyd9PlxuICAgICAgICAgICAgICA8Q2Fyb3VzZWwgaW5kaWNhdG9ycz17dHJ1ZX0gaW50ZXJ2YWw9e251bGx9PlxuICAgICAgICAgICAgICAgIHtldmVudHNEYXRhICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgICBldmVudHNEYXRhICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgIGV2ZW50c0RhdGEubGVuZ3RoICE9PSAwICYmXG4gICAgICAgICAgICAgICAgICBldmVudHNEYXRhLm1hcCgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICA8Q2Fyb3VzZWwuSXRlbSBrZXk9e2V2ZW50LmlkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9eydldmVudCd9IGtleT17ZXZlbnQuaWR9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8RXZlbnRJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ9e2V2ZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUV2ZW50SXRlbUNsaWNrPXtoYW5kbGVFdmVudEl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVFdmVudEl0ZW1Ib3Zlcj17aGFuZGxlRXZlbnRJdGVtSG92ZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgIDwvQ2Fyb3VzZWwuSXRlbT5cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICA8L0Nhcm91c2VsPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibDJfX2NvbC0yXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsMl9fcm93LTFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibDJfX2V2ZW50c1wiPlxuICAgICAgICAgICAgICA8RXZlbnRzIHBvaW50SWQ9e3BhcnNlZFBvaW50SUR9IHBlcmlvZD17cGVyaW9kUmFuZ2V9IC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibDJfX2RhbWFnZVwiPlxuICAgICAgICAgICAgICA8RGFtYWdlVHlwZVxuICAgICAgICAgICAgICAgIHBvaW50SWQ9e3BhcnNlZFBvaW50SUR9XG4gICAgICAgICAgICAgICAgcGVyaW9kRGF5cz17cmFuZ2VUb0RheXMocGVyaW9kUmFuZ2UpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsMl9fcm93LTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibDJfX3RyZW5kXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibDJfX3RyZW5kLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnRyZW5kJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8VHJlbmRHcmFwaCBwb2ludElkPXtwYXJzZWRQb2ludElEfSBwZXJpb2Q9e3BlcmlvZFJhbmdlfSAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImwyX19kaXNjaGFyZ2VcIj5cbiAgICAgICAgICAgICAgPERpc2NoYXJnZUhlYXRtYXAgcG9pbnRJZD17cGFyc2VkUG9pbnRJRH0gLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHt9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuIl19