@kando-env/kando-ui 1.2.360-alpha.6 → 1.2.361

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 (581) hide show
  1. package/lib/Router.js +36 -73
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +25 -35
  3. package/lib/Widgets/EventsRow/EventsRow.js +27 -39
  4. package/lib/Widgets/Map/GraphUtils.js +3 -3
  5. package/lib/Widgets/Map/Map.js +72 -95
  6. package/lib/Widgets/Map/MapUtils.js +64 -61
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +53 -77
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +23 -24
  9. package/lib/Widgets/Map/areas/AreaUtils.js +47 -46
  10. package/lib/Widgets/Map/areas/Patterns.js +4 -4
  11. package/lib/Widgets/Map/edges/Edge.js +29 -33
  12. package/lib/Widgets/Map/edges/Edges.js +19 -23
  13. package/lib/Widgets/Map/edges/arrows/Arrows.js +23 -44
  14. package/lib/Widgets/Map/events/Event.js +17 -17
  15. package/lib/Widgets/Map/events/EventIndicator.js +62 -57
  16. package/lib/Widgets/Map/events/EventPath.js +24 -22
  17. package/lib/Widgets/Map/events/EventUtils.js +60 -80
  18. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +17 -18
  19. package/lib/Widgets/Map/events/PointOfEvent.js +29 -34
  20. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +30 -37
  21. package/lib/Widgets/Map/events/Snail.js +19 -20
  22. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +93 -86
  23. package/lib/Widgets/Map/map/FloatingGraph.js +22 -18
  24. package/lib/Widgets/Map/map/GraphDateButton.js +25 -17
  25. package/lib/Widgets/Map/matchGraph/MatchGraph.js +13 -12
  26. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -15
  27. package/lib/Widgets/Map/points/PointIcon.js +22 -15
  28. package/lib/Widgets/Map/points/PointMarker.js +71 -87
  29. package/lib/Widgets/Map/points/PointMarkers.js +45 -66
  30. package/lib/Widgets/Map/points/PointUtils.js +145 -83
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +30 -47
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -10
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +11 -12
  34. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +3 -3
  35. package/lib/Widgets/MostPolluting/Areas/Areas.js +31 -60
  36. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +3 -3
  37. package/lib/Widgets/MostPolluting/Areas/styles.js +3 -3
  38. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +11 -8
  39. package/lib/Widgets/MostPolluting/Factories/Factories.js +39 -70
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +15 -18
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +8 -8
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +12 -10
  43. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -3
  44. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +2 -2
  45. package/lib/Widgets/MostPolluting/Factories/styles.js +3 -3
  46. package/lib/Widgets/MostPolluting/MostPolluting.js +22 -28
  47. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +18 -22
  48. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +6 -4
  49. package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -4
  50. package/lib/Widgets/MostPolluting/assets/index.js +10 -10
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.js +19 -13
  52. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +35 -30
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +45 -35
  54. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +39 -35
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +28 -27
  56. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +54 -50
  57. package/lib/Widgets/MostPolluting/styles.js +3 -3
  58. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +7 -5
  59. package/lib/Widgets/PotentialImpactSummary/Icon.js +8 -6
  60. package/lib/Widgets/PotentialImpactSummary/index.js +19 -27
  61. package/lib/Widgets/PotentialImpactSummary/index.test.js +47 -52
  62. package/lib/Widgets/PotentialImpactSummary/styles.js +7 -7
  63. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +9 -7
  64. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +22 -17
  65. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +35 -32
  66. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +26 -24
  67. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +35 -37
  68. package/lib/Widgets/QualitySummary/QualitySummary.js +9 -13
  69. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +4 -4
  70. package/lib/Widgets/QualitySummary/styles.js +23 -15
  71. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +12 -13
  72. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +27 -26
  73. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +29 -24
  74. package/lib/Widgets/UtilityInformation/UtilityInformation.js +23 -40
  75. package/lib/Widgets/UtilityInformation/styles.js +34 -25
  76. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +3 -3
  77. package/lib/assets/icons/TopNavbar/index.js +6 -6
  78. package/lib/assets/icons/TrendSvg.js +6 -6
  79. package/lib/assets/icons/index.js +15 -15
  80. package/lib/assets/icons/kandoStepper/index.js +5 -5
  81. package/lib/assets/icons/siteTypes/index.js +1 -1
  82. package/lib/components/ApplyButton/ApplyButton.js +9 -9
  83. package/lib/components/Backdrop/Backdrop.js +6 -4
  84. package/lib/components/ContentLoader/ContentLoader.js +11 -9
  85. package/lib/components/ContentLoader/index.js +1 -1
  86. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +13 -12
  87. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +3 -5
  88. package/lib/components/CustomInputs/DoubleTabs/styles.js +20 -12
  89. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +13 -20
  90. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -4
  91. package/lib/components/CustomInputs/Search/Search.js +42 -63
  92. package/lib/components/CustomInputs/Select/Select.js +45 -58
  93. package/lib/components/CustomInputs/Select/Select.stories.js +4 -6
  94. package/lib/components/DamageType/DamageType.js +35 -57
  95. package/lib/components/DataLoaderError/DataLoaderError.js +8 -6
  96. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +9 -10
  97. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +70 -71
  98. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +27 -37
  99. package/lib/components/DischargeHeatmap/HighchartsOptions.js +10 -12
  100. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
  101. package/lib/components/DischargeHeatmap/popupText.js +10 -10
  102. package/lib/components/DischargeHeatmap/titles.js +3 -3
  103. package/lib/components/ErrorBoundary.js +27 -41
  104. package/lib/components/Events/Events.js +41 -58
  105. package/lib/components/Graph/Graph.js +70 -89
  106. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +17 -21
  107. package/lib/components/Header/DoubleTabs/DoubleTabs.js +25 -33
  108. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +3 -5
  109. package/lib/components/Header/DoubleTabs/styles.js +4 -4
  110. package/lib/components/Header/Header.js +2 -2
  111. package/lib/components/Header/Header.stories.js +3 -5
  112. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +82 -197
  113. package/lib/components/Header/InfoBar/InfoBar.js +74 -103
  114. package/lib/components/Header/InfoBar/Search/Control.js +9 -9
  115. package/lib/components/Header/InfoBar/Search/GroupLabel.js +7 -5
  116. package/lib/components/Header/InfoBar/Search/Search.js +14 -19
  117. package/lib/components/Header/InfoBar/Search/SearchContainer.js +17 -29
  118. package/lib/components/Header/InfoBar/Search/searchStyle.js +41 -49
  119. package/lib/components/Header/InfoBar/TimeFilter.js +11 -14
  120. package/lib/components/Header/KandoNavbar/KandoNavbar.js +64 -89
  121. package/lib/components/Header/Slideshow/Slideshow.js +68 -90
  122. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +6 -4
  123. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +21 -23
  124. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +18 -18
  125. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +37 -43
  126. package/lib/components/Header/Toolbar/Toolbar.js +55 -74
  127. package/lib/components/InfoBar/InfoBar.js +10 -23
  128. package/lib/components/InfoBar/InfoBar.stories.js +3 -5
  129. package/lib/components/KandoModal/KandoModal.js +27 -41
  130. package/lib/components/Link.js +8 -7
  131. package/lib/components/Links/CustomRedirect/CustomRedirect.js +9 -8
  132. package/lib/components/Links/StyledLink/StyledLink.js +12 -12
  133. package/lib/components/Links/StyledNavLink/StyledNavLink.js +11 -10
  134. package/lib/components/LiveEvents/CarouselSlide.js +9 -7
  135. package/lib/components/LiveEvents/LiveEvents.js +5 -3
  136. package/lib/components/LoaderByPercent/LoaderByPercent.js +37 -29
  137. package/lib/components/Map/Map.js +20 -23
  138. package/lib/components/Modal/Modal.js +9 -9
  139. package/lib/components/NarrowHeader.js +17 -31
  140. package/lib/components/PointInfo/PointInfo.js +19 -17
  141. package/lib/components/PopupModal/PopupModal.js +12 -16
  142. package/lib/components/PopupModal/PopupModal.stories.js +15 -19
  143. package/lib/components/Sector/Sector.js +8 -6
  144. package/lib/components/Sector/Sector.test.js +19 -20
  145. package/lib/components/Sector/sectorIcons.js +2 -2
  146. package/lib/components/SevereEvent/Eta/Eta.js +49 -52
  147. package/lib/components/SevereEvent/Eta/styles.js +10 -6
  148. package/lib/components/SevereEvent/SevereEvent.js +30 -37
  149. package/lib/components/Spinner/Spinner.js +8 -8
  150. package/lib/components/Spinner/Spinner.stories.js +4 -6
  151. package/lib/components/Spinner/styles.js +22 -14
  152. package/lib/components/Tabs/Tabs.js +21 -29
  153. package/lib/components/Tabs/Tabs.stories.js +4 -6
  154. package/lib/components/Tabs/assets/index.js +5 -5
  155. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +12 -15
  156. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +40 -51
  157. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +19 -31
  158. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +20 -25
  159. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +13 -13
  160. package/lib/components/TimeRangeSelector/TimeRangeList.js +23 -24
  161. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +17 -25
  162. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +31 -32
  163. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +4 -6
  164. package/lib/components/TimeRangeSelector/constants.js +3 -3
  165. package/lib/components/Toggle/Toggle.js +12 -17
  166. package/lib/components/TrendGraph/TrendGraph.js +23 -39
  167. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
  168. package/lib/development-environment/index.js +8 -12
  169. package/lib/development-environment/mock/browser.js +2 -4
  170. package/lib/development-environment/mock/get.js +8 -10
  171. package/lib/development-environment/mock/handlers.js +2 -2
  172. package/lib/development-environment/mock/mockBus.js +4 -4
  173. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +2 -2
  174. package/lib/development-environment/mock/mockObjects/areaInformation.js +2 -2
  175. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +2 -2
  176. package/lib/development-environment/mock/mockObjects/areaSitesData.js +2 -2
  177. package/lib/development-environment/mock/mockObjects/areasJson.js +2 -2
  178. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +2 -2
  179. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +2 -2
  180. package/lib/development-environment/mock/mockObjects/data-menuData.js +2 -2
  181. package/lib/development-environment/mock/mockObjects/data-search.js +2 -2
  182. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +2 -2
  183. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +2 -2
  184. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +2 -2
  185. package/lib/development-environment/mock/mockObjects/eventsJson.js +2 -2
  186. package/lib/development-environment/mock/mockObjects/metascore.js +2 -2
  187. package/lib/development-environment/mock/mockObjects/permissionsJson.js +2 -2
  188. package/lib/development-environment/mock/mockObjects/pointsJson.js +2 -2
  189. package/lib/development-environment/mock/mockObjects/site-info.js +2 -2
  190. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +2 -2
  191. package/lib/development-environment/togly/ToglyDashboard.js +13 -22
  192. package/lib/development-environment/togly/ToglyItem.js +36 -31
  193. package/lib/development-environment/togly/init.js +2 -2
  194. package/lib/development-environment/togly/macro.js +14 -10
  195. package/lib/development-environment/togly/useDoubleKeyDown.js +7 -9
  196. package/lib/development-environment/togly/useLocalStorage.js +13 -18
  197. package/lib/hooks/useApi.js +19 -55
  198. package/lib/hooks/useApiWithDashboardQuery.js +30 -49
  199. package/lib/hooks/useClickOutside.js +3 -3
  200. package/lib/hooks/useInitializeHeaders.js +5 -5
  201. package/lib/hooks/useKandoFetch.js +16 -29
  202. package/lib/hooks/useMap.js +22 -34
  203. package/lib/hooks/useNavContext.js +22 -26
  204. package/lib/hooks/useRemoveExistingLayers.js +6 -6
  205. package/lib/hooks/useUpdateEventBodyTail.js +13 -17
  206. package/lib/hooks/useUserTimeZone.js +33 -30
  207. package/lib/hooks/useUserTimeZone.test.js +19 -22
  208. package/lib/hooks/useWindowSize.js +7 -14
  209. package/lib/i18n/en.json +0 -15
  210. package/lib/index.js +11 -12
  211. package/lib/macros/getVersion.js +3 -3
  212. package/lib/pages/AreaPage/AreaPage.js +34 -67
  213. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +15 -16
  214. package/lib/pages/AreaPage/Dashboard/Dashboard.js +28 -29
  215. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +17 -25
  216. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +4 -4
  217. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
  218. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +11 -11
  219. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -3
  220. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -2
  221. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +4 -4
  222. package/lib/pages/AssessmentPage/AssessmentPage.js +40 -46
  223. package/lib/pages/CannyWidget/Feedback.js +13 -13
  224. package/lib/pages/CovidPage/CovidPage.js +8 -13
  225. package/lib/pages/CovidPage/components/Body.js +25 -27
  226. package/lib/pages/CovidPage/components/Map.js +29 -39
  227. package/lib/pages/CovidPage/components/Sidebar.js +16 -15
  228. package/lib/pages/CovidPage/components/Summary.js +20 -27
  229. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
  230. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +51 -73
  231. package/lib/pages/CovidPage/components/areas/Area.js +29 -40
  232. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +55 -46
  233. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +32 -35
  234. package/lib/pages/CovidPage/components/areas/AreasList.js +34 -46
  235. package/lib/pages/CovidPage/components/areas/Sort.js +11 -14
  236. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  237. package/lib/pages/DashboardMap/AreaCard.js +28 -28
  238. package/lib/pages/DashboardMap/AssessmentIcon.js +8 -7
  239. package/lib/pages/DashboardMap/Capacity.js +34 -85
  240. package/lib/pages/DashboardMap/FactoryCard.js +31 -26
  241. package/lib/pages/DashboardMap/HighchartsOptions.js +5 -4
  242. package/lib/pages/DashboardMap/List.js +67 -95
  243. package/lib/pages/DashboardMap/ListContext.js +15 -19
  244. package/lib/pages/DashboardMap/Loader.js +2 -2
  245. package/lib/pages/DashboardMap/SeverityBadge.js +10 -18
  246. package/lib/pages/DashboardMap/WWTPMap.js +51 -58
  247. package/lib/pages/DashboardMap/WaterDischarge.js +8 -8
  248. package/lib/pages/DashboardMap/Widget.js +54 -71
  249. package/lib/pages/DashboardMap/utils.js +43 -52
  250. package/lib/pages/EventsPage/Body/Body.js +20 -15
  251. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +17 -19
  252. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -35
  253. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +8 -6
  254. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +11 -7
  255. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +21 -30
  256. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +52 -63
  257. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +19 -31
  258. package/lib/pages/EventsPage/EventsPage.js +7 -10
  259. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +26 -38
  260. package/lib/pages/EventsPage/events/MoreInfo.js +17 -16
  261. package/lib/pages/EventsPage/events/Sidebar.js +21 -16
  262. package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +8 -9
  263. package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +17 -20
  264. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +30 -35
  265. package/lib/pages/EventsPage/events/event_info/EventDetails.js +40 -37
  266. package/lib/pages/EventsPage/events/event_info/EventInfo.js +43 -45
  267. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +4 -4
  268. package/lib/pages/EventsPage/events/event_info/EventSection.js +17 -19
  269. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +43 -38
  270. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +39 -47
  271. package/lib/pages/EventsPage/events/event_info/Header/Header.js +6 -4
  272. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +30 -33
  273. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +6 -6
  274. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +29 -36
  275. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +4 -6
  276. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +22 -21
  277. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +12 -19
  278. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +5 -3
  279. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +11 -9
  280. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +22 -26
  281. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +12 -8
  282. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +7 -7
  283. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +6 -4
  284. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +2 -2
  285. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +12 -10
  286. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +10 -8
  287. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +10 -12
  288. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +5 -3
  289. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +7 -5
  290. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +7 -5
  291. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +6 -4
  292. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +11 -9
  293. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +15 -15
  294. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +6 -6
  295. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +7 -5
  296. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +17 -15
  297. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +4 -4
  298. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +10 -8
  299. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +16 -11
  300. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +9 -8
  301. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +2 -2
  302. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +3 -3
  303. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +25 -38
  304. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +29 -36
  305. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +11 -9
  306. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +15 -17
  307. package/lib/pages/EventsPage/events/event_info/sources/Source.js +27 -30
  308. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +23 -26
  309. package/lib/pages/EventsPage/events/event_info/styles.js +20 -12
  310. package/lib/pages/EventsPage/events/events_list/EventItem.js +18 -19
  311. package/lib/pages/EventsPage/events/events_list/EventUtils.js +10 -10
  312. package/lib/pages/EventsPage/events/events_list/EventsList.js +124 -145
  313. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +40 -55
  314. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +79 -115
  315. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +60 -77
  316. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +38 -41
  317. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +29 -36
  318. package/lib/pages/EventsPage/events/events_list/Sort.js +13 -16
  319. package/lib/pages/ImportFileWizard/FileUploadRespones.js +13 -20
  320. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +6 -4
  321. package/lib/pages/ImportFileWizard/ImportFile.js +20 -22
  322. package/lib/pages/ImportFileWizard/ResponseBody.js +24 -33
  323. package/lib/pages/ImportFileWizard/ValidationForm.js +23 -22
  324. package/lib/pages/ImportFileWizard/ValidationResponse.js +21 -21
  325. package/lib/pages/ImportFileWizard/importFileUtils.js +1 -1
  326. package/lib/pages/ImportGisPage/ImportGisContainer.js +21 -24
  327. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +21 -23
  328. package/lib/pages/ImportGisPage/importGisUtils.js +13 -21
  329. package/lib/pages/ImportGisProcess/index.js +12 -15
  330. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +7 -12
  331. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +17 -19
  332. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +3 -3
  333. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +56 -65
  334. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +6 -8
  335. package/lib/pages/NotificationsPage/Notification/Notification.js +16 -12
  336. package/lib/pages/NotificationsPage/Notifications.mock.js +2 -2
  337. package/lib/pages/NotificationsPage/Notifications.stories.js +4 -6
  338. package/lib/pages/NotificationsPage/NotificationsPage.js +18 -36
  339. package/lib/pages/NotificationsPage/assets/index.js +9 -9
  340. package/lib/pages/NotificationsPageV2/NotificationsPage.js +70 -93
  341. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +94 -63
  342. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +130 -141
  343. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +73 -73
  344. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +91 -88
  345. package/lib/pages/NotificationsPageV2/notificationUtils.js +54 -48
  346. package/lib/pages/OldSitePage/OldSitePage.js +57 -132
  347. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +5 -5
  348. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  349. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +8 -6
  350. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +18 -20
  351. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  352. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +12 -18
  353. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  354. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  355. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
  356. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +51 -63
  357. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  358. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +29 -53
  359. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -4
  360. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  361. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -10
  362. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  363. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +32 -28
  364. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +27 -29
  365. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  366. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +18 -12
  367. package/lib/pages/ProfilePage/Container.js +2 -2
  368. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +28 -44
  369. package/lib/pages/ProfilePage/ProfilePage.js +118 -206
  370. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +25 -33
  371. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +19 -16
  372. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +28 -30
  373. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +57 -117
  374. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +17 -20
  375. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +12 -10
  376. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +39 -41
  377. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +25 -26
  378. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +16 -16
  379. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +13 -15
  380. package/lib/pages/SamplingsPage/NavigationDropdown.js +45 -32
  381. package/lib/pages/SamplingsPage/NewSamplingAction.js +76 -100
  382. package/lib/pages/SamplingsPage/SamplingMobileModal.js +129 -101
  383. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +21 -22
  384. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +34 -22
  385. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +36 -59
  386. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +15 -18
  387. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -7
  388. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +110 -194
  389. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +49 -55
  390. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +47 -43
  391. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +49 -45
  392. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +19 -20
  393. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +3 -3
  394. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +10 -6
  395. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +58 -54
  396. package/lib/pages/SamplingsPage/SamplingsMobileList.js +21 -28
  397. package/lib/pages/SamplingsPage/SamplingsPage.js +27 -33
  398. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +50 -58
  399. package/lib/pages/SamplingsPage/samplingsPageUtils.js +68 -76
  400. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -4
  401. package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +14 -13
  402. package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +10 -13
  403. package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
  404. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  405. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +14 -10
  406. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -8
  407. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +26 -23
  408. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +14 -17
  409. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +36 -32
  410. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  411. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +15 -24
  412. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  413. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  414. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
  415. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +58 -70
  416. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  417. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +15 -26
  418. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -5
  419. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  420. package/lib/pages/SitePage/SamplingParameters/body/Body.js +9 -9
  421. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +29 -37
  422. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  423. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  424. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +60 -59
  425. package/lib/pages/SitePage/SamplingParameters/dataParser.js +30 -39
  426. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +11 -9
  427. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  428. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +18 -12
  429. package/lib/pages/SitePage/SiteInformation/EmptyState.js +11 -7
  430. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -31
  431. package/lib/pages/SitePage/SitePage.js +40 -79
  432. package/lib/pages/UploadLabResult/index.js +13 -13
  433. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +26 -35
  434. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +6 -8
  435. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +9 -8
  436. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +3 -5
  437. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +47 -48
  438. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +10 -6
  439. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +4 -4
  440. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +4 -6
  441. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +13 -12
  442. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +15 -12
  443. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +7 -7
  444. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +2 -2
  445. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +17 -25
  446. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +26 -30
  447. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +15 -16
  448. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +7 -13
  449. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +27 -31
  450. package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -8
  451. package/lib/pages/WbeDashboard/GraphWrapper.js +30 -36
  452. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +17 -19
  453. package/lib/pages/WbeDashboard/SearchInput.js +15 -20
  454. package/lib/pages/WbeDashboard/SummaryGraph.js +50 -76
  455. package/lib/pages/WbeDashboard/SummaryGraphModal.js +19 -17
  456. package/lib/pages/WbeDashboard/Tabs.js +11 -11
  457. package/lib/pages/WbeDashboard/WbeDashboardPage.js +151 -213
  458. package/lib/pages/WbeDashboard/WbeSummaryBar.js +40 -48
  459. package/lib/pages/WwtpPage/DashboardCard.js +26 -23
  460. package/lib/pages/WwtpPage/DischargePatternCard.js +14 -23
  461. package/lib/pages/WwtpPage/InletsCard/InletsBar.js +26 -22
  462. package/lib/pages/WwtpPage/InletsCard/InletsCard.js +19 -18
  463. package/lib/pages/WwtpPage/Map.js +5 -3
  464. package/lib/pages/WwtpPage/OrganicCard.js +2 -2
  465. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +2 -2
  466. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +8 -6
  467. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +9 -8
  468. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +18 -14
  469. package/lib/pages/WwtpPage/PredictionCard.js +2 -2
  470. package/lib/pages/WwtpPage/TrendCard.js +18 -19
  471. package/lib/pages/WwtpPage/UpgradeBox.js +3 -3
  472. package/lib/pages/WwtpPage/WwtpPage.js +8 -8
  473. package/lib/pages/WwtpPage/WwtpPageContainer.js +21 -16
  474. package/lib/providers/Slideshow/SlideshowContext.js +11 -9
  475. package/lib/providers/Slideshow/SlideshowProvider.js +22 -38
  476. package/lib/providers/Slideshow/SlideshowRunner.js +17 -19
  477. package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -4
  478. package/lib/providers/UrlHistory/UrlHistoryProvider.js +12 -11
  479. package/lib/providers/UrlHistory/index.js +2 -2
  480. package/lib/providers/UrlHistory/useLastVisited.js +5 -5
  481. package/lib/store/ImportGis/actionTypes.js +1 -1
  482. package/lib/store/ImportGis/actionsCreator.js +7 -5
  483. package/lib/store/ImportGis/reducer.js +40 -29
  484. package/lib/store/WBE/actionTypes.js +2 -2
  485. package/lib/store/WBE/reducer.js +13 -9
  486. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +24 -14
  487. package/lib/store/areas/actionTypes.js +4 -4
  488. package/lib/store/areas/actions.js +7 -13
  489. package/lib/store/areas/reducer.js +8 -6
  490. package/lib/store/context/actionTypes.js +3 -3
  491. package/lib/store/context/actions.js +3 -3
  492. package/lib/store/context/contextMiddlewares.js +14 -16
  493. package/lib/store/context/reducer.js +13 -9
  494. package/lib/store/dashboard/dashboardSlice.js +18 -10
  495. package/lib/store/edges/actionTypes.js +5 -5
  496. package/lib/store/edges/actions.js +4 -8
  497. package/lib/store/edges/reducer.js +13 -17
  498. package/lib/store/events/actionTypes.js +17 -17
  499. package/lib/store/events/actions.js +3 -7
  500. package/lib/store/events/reducer.js +42 -49
  501. package/lib/store/global/actionTypes.js +11 -11
  502. package/lib/store/global/actions.js +8 -6
  503. package/lib/store/global/reducer.js +11 -10
  504. package/lib/store/permissions/permissionsSlice.js +12 -8
  505. package/lib/store/points/actionTypes.js +3 -3
  506. package/lib/store/points/actions.js +3 -7
  507. package/lib/store/points/reducer.js +7 -5
  508. package/lib/store/rootActionTypes.js +2 -2
  509. package/lib/store/rootReducer.js +17 -12
  510. package/lib/store/rootStore.js +5 -5
  511. package/lib/store/samplings/actionTypes.js +1 -1
  512. package/lib/store/samplings/reducer.js +16 -14
  513. package/lib/styles/StylesLayout.js +5 -3
  514. package/lib/styles/theme/theme.js +27 -28
  515. package/lib/test/mocks/browser.js +2 -4
  516. package/lib/test/test-utils.js +17 -15
  517. package/lib/ui-kit/Button/Button.js +128 -80
  518. package/lib/ui-kit/Button/Button.test.js +24 -29
  519. package/lib/ui-kit/Checkbox/Checkbox.js +30 -20
  520. package/lib/ui-kit/ContentCard/ContentCard.js +15 -18
  521. package/lib/ui-kit/Dashboard/Dashboard.js +25 -22
  522. package/lib/ui-kit/DropDown/DropDown.js +23 -24
  523. package/lib/ui-kit/DropDown/DropDown.test.js +12 -12
  524. package/lib/ui-kit/DropDown/DropDownItem.js +24 -21
  525. package/lib/ui-kit/DropDown/DropdownToggle.js +12 -8
  526. package/lib/ui-kit/EmptyState/EmptyState.js +6 -4
  527. package/lib/ui-kit/IconAction/IconAction.js +7 -5
  528. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +48 -64
  529. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +69 -52
  530. package/lib/ui-kit/InletsPie/InletsPie.js +15 -13
  531. package/lib/ui-kit/InletsPie/options.js +6 -6
  532. package/lib/ui-kit/KandoList/KandoList.js +14 -12
  533. package/lib/ui-kit/KandoTable/KandoTable.js +48 -40
  534. package/lib/ui-kit/KandoTable/KandoTable.test.js +16 -22
  535. package/lib/ui-kit/Layout/Layout.js +6 -4
  536. package/lib/ui-kit/MobileInput/MobileInput.js +60 -50
  537. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +13 -16
  538. package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -6
  539. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +6 -6
  540. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +27 -20
  541. package/lib/ui-kit/OrganicEvents/TextInfo.js +15 -10
  542. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +10 -8
  543. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +14 -17
  544. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -3
  545. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +20 -20
  546. package/lib/ui-kit/ScoreGauge/constant.js +3 -3
  547. package/lib/ui-kit/TimeLineChart/TrendChart.js +54 -42
  548. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +8 -7
  549. package/lib/ui-kit/Tooltip/Tooltip.js +14 -8
  550. package/lib/ui-kit/index.js +8 -8
  551. package/lib/ui-kit/kandoStepper/KandoStepper.js +12 -12
  552. package/lib/ui-kit/siteName/SiteName.js +11 -8
  553. package/lib/utilities/ActionUtility.js +7 -7
  554. package/lib/utilities/Alert.js +21 -17
  555. package/lib/utilities/Analytics.js +11 -11
  556. package/lib/utilities/Array.js +4 -5
  557. package/lib/utilities/Enum.js +15 -51
  558. package/lib/utilities/ErrorBoundary.js +27 -41
  559. package/lib/utilities/File.js +40 -69
  560. package/lib/utilities/GetDir.js +8 -7
  561. package/lib/utilities/KandoDate.js +7 -15
  562. package/lib/utilities/KandoModal.js +16 -26
  563. package/lib/utilities/LocalStorage.js +8 -10
  564. package/lib/utilities/ThousandsToK.js +3 -3
  565. package/lib/utilities/TimeFormat.js +21 -20
  566. package/lib/utilities/Truncate.js +17 -25
  567. package/lib/utilities/edgesMath.js +14 -15
  568. package/lib/utilities/i18n.js +3 -3
  569. package/lib/utilities/kql.js +12 -14
  570. package/lib/utilities/map/icons.js +3 -3
  571. package/lib/utilities/polylinedecorator.js +87 -112
  572. package/lib/utilities/scoreToData.js +17 -17
  573. package/lib/utilities/scoreToData.test.js +5 -5
  574. package/lib/utilities/time.js +8 -8
  575. package/lib/utilities/uploadToS3.js +11 -11
  576. package/lib/utilities/urls.js +61 -59
  577. package/package.json +1 -1
  578. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionAssessment.js +0 -32
  579. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionTypesList.js +0 -37
  580. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /index.js +0 -11
  581. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /styles.scss +0 -19
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.graphDatesButtons = exports.dndGraphInitOptions = void 0;
8
8
  var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
9
- var dndGraphInitOptions = {
9
+ const dndGraphInitOptions = {
10
10
  scrollbar: {
11
11
  enabled: true,
12
12
  barBackgroundColor: '#DBDEE3',
@@ -86,7 +86,7 @@ var dndGraphInitOptions = {
86
86
  }
87
87
  };
88
88
  exports.dndGraphInitOptions = dndGraphInitOptions;
89
- var graphDatesButtons = [{
89
+ const graphDatesButtons = [{
90
90
  title: '1 Day',
91
91
  time: 24
92
92
  }, {
@@ -100,4 +100,4 @@ var graphDatesButtons = [{
100
100
  time: 2880
101
101
  }];
102
102
  exports.graphDatesButtons = graphDatesButtons;
103
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZG5kR3JhcGhJbml0T3B0aW9ucyIsInNjcm9sbGJhciIsImVuYWJsZWQiLCJiYXJCYWNrZ3JvdW5kQ29sb3IiLCJiYXJCb3JkZXJSYWRpdXMiLCJiYXJCb3JkZXJXaWR0aCIsImJ1dHRvbkJhY2tncm91bmRDb2xvciIsImJ1dHRvbkJvcmRlcldpZHRoIiwiYnV0dG9uQXJyb3dDb2xvciIsImJ1dHRvbkJvcmRlclJhZGl1cyIsInJpZmxlQ29sb3IiLCJ0cmFja0JhY2tncm91bmRDb2xvciIsInRyYWNrQm9yZGVyV2lkdGgiLCJ0cmFja0JvcmRlckNvbG9yIiwidHJhY2tCb3JkZXJSYWRpdXMiLCJjaGFydCIsInNwYWNpbmdCb3R0b20iLCJzcGFjaW5nTGVmdCIsInNwYWNpbmdSaWdodCIsInNwYWNpbmdUb3AiLCJiYWNrZ3JvdW5kQ29sb3IiLCJoZWlnaHQiLCJ6b29tVHlwZSIsInJhbmdlU2VsZWN0b3IiLCJhbGxCdXR0b25zRW5hYmxlZCIsImlucHV0RW5hYmxlZCIsImJ1dHRvbnMiLCJ0eXBlIiwiY291bnQiLCJ0ZXh0IiwiaTE4biIsInQiLCJidXR0b25UaGVtZSIsIndpZHRoIiwiZmlsbCIsInN0cm9rZSIsInBhZGRpbmciLCJyIiwic3R5bGUiLCJmb250U2l6ZSIsInN0YXRlcyIsImhvdmVyIiwiY29sb3IiLCJmb250V2VpZ2h0Iiwic2VsZWN0IiwiZXhwb3J0cyIsImdyYXBoRGF0ZXNCdXR0b25zIiwidGl0bGUiLCJ0aW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL0dyYXBoVXRpbHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJRXZlbnRzU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnRzU3RhdGUnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcbmltcG9ydCBIaWdoY2hhcnRzIGZyb20gJ2hpZ2hjaGFydHMvaGlnaHN0b2NrJztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBHcmFwaFR5cGUge1xuICBncmFwaERhdGE6IHtcbiAgICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICAgIGV2ZW50c19kYXRhOiBJRXZlbnRzU3RhdGU7XG4gICAgZ3JhcGhEYXRlOiBudW1iZXI7XG4gIH07XG4gIGdyYXBoRWxlbWVudDogUmVhY3QuUmVhY3RFbGVtZW50O1xufVxuZXhwb3J0IGludGVyZmFjZSBHcmFwaHNDb2x1bW5UeXBlIHtcbiAgaWQ6IHN0cmluZztcbiAgZ3JhcGhzOiBHcmFwaFR5cGVbXSB8IFtdO1xufVxuZXhwb3J0IGNvbnN0IGRuZEdyYXBoSW5pdE9wdGlvbnM6IEhpZ2hjaGFydHMuT3B0aW9ucyA9IHtcbiAgc2Nyb2xsYmFyOiB7XG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICBiYXJCYWNrZ3JvdW5kQ29sb3I6ICcjREJERUUzJyxcbiAgICBiYXJCb3JkZXJSYWRpdXM6IDcsXG4gICAgYmFyQm9yZGVyV2lkdGg6IDAsXG4gICAgYnV0dG9uQmFja2dyb3VuZENvbG9yOiAnI0RCREVFMycsXG4gICAgYnV0dG9uQm9yZGVyV2lkdGg6IDAsXG4gICAgYnV0dG9uQXJyb3dDb2xvcjogJyNmNjAwNGYnLFxuICAgIGJ1dHRvbkJvcmRlclJhZGl1czogNyxcbiAgICByaWZsZUNvbG9yOiAnI2Y2MDA0ZicsXG4gICAgdHJhY2tCYWNrZ3JvdW5kQ29sb3I6ICcjZmZmZicsXG4gICAgdHJhY2tCb3JkZXJXaWR0aDogMixcbiAgICB0cmFja0JvcmRlckNvbG9yOiAnI0RCREVFMycsXG4gICAgdHJhY2tCb3JkZXJSYWRpdXM6IDcsXG4gIH0sXG4gIGNoYXJ0OiB7XG4gICAgc3BhY2luZ0JvdHRvbTogMCxcbiAgICBzcGFjaW5nTGVmdDogMCxcbiAgICBzcGFjaW5nUmlnaHQ6IDAsXG4gICAgc3BhY2luZ1RvcDogMCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsMCwwLDApJyxcbiAgICBoZWlnaHQ6IDIzMCxcbiAgICB6b29tVHlwZTogJ3gnLFxuICB9LFxuXG4gIHJhbmdlU2VsZWN0b3I6IHtcbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIGFsbEJ1dHRvbnNFbmFibGVkOiB0cnVlLFxuICAgIGlucHV0RW5hYmxlZDogZmFsc2UsXG4gICAgYnV0dG9uczogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnZGF5JyxcbiAgICAgICAgY291bnQ6IDEsXG4gICAgICAgIHRleHQ6IGkxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZsb2F0aW5nX2dyYXBoLnRpbWVfc2VsZWN0aW9uLm9uZV9kYXknKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdkYXknLFxuICAgICAgICBjb3VudDogMixcbiAgICAgICAgdGV4dDogaTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmxvYXRpbmdfZ3JhcGgudGltZV9zZWxlY3Rpb24udHdvX2RheXMnKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICd3ZWVrJyxcbiAgICAgICAgY291bnQ6IDEsXG4gICAgICAgIHRleHQ6IGkxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZsb2F0aW5nX2dyYXBoLnRpbWVfc2VsZWN0aW9uLm9uZV93ZWVrJyksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnbW9udGgnLFxuICAgICAgICBjb3VudDogMSxcbiAgICAgICAgdGV4dDogaTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmxvYXRpbmdfZ3JhcGgudGltZV9zZWxlY3Rpb24ub25lX21vbnRoJyksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnbW9udGgnLFxuICAgICAgICBjb3VudDogMyxcbiAgICAgICAgdGV4dDogaTE4bi50KFxuICAgICAgICAgICdldmVudHNfb3ZlcnZpZXcuZmxvYXRpbmdfZ3JhcGgudGltZV9zZWxlY3Rpb24ub25lX3F1YXJ0ZXInLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGJ1dHRvblRoZW1lOiB7XG4gICAgICB3aWR0aDogNjAsXG4gICAgICBmaWxsOiAnbm9uZScsXG4gICAgICBzdHJva2U6ICdub25lJyxcbiAgICAgICdzdHJva2Utd2lkdGgnOiAwLFxuICAgICAgcGFkZGluZzogNSxcbiAgICAgIHI6IDgsXG4gICAgICBzdHlsZToge1xuICAgICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgfSxcbiAgICAgIHN0YXRlczoge1xuICAgICAgICBob3Zlcjoge1xuICAgICAgICAgIGZpbGw6ICcjRTMxQjYyJyxcbiAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzZWxlY3Q6IHtcbiAgICAgICAgICBmaWxsOiAnI0UzMUI2MicsXG4gICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgZm9udFdlaWdodDogJzQwMCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbn07XG5leHBvcnQgY29uc3QgZ3JhcGhEYXRlc0J1dHRvbnMgPSBbXG4gIHtcbiAgICB0aXRsZTogJzEgRGF5JyxcbiAgICB0aW1lOiAyNCxcbiAgfSxcbiAge1xuICAgIHRpdGxlOiAnMSBXZWVrJyxcbiAgICB0aW1lOiAxNjgsXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogJzEgTW9udGgnLFxuICAgIHRpbWU6IDcyMCxcbiAgfSxcbiAge1xuICAgIHRpdGxlOiAnMSBRdWFydGVyJyxcbiAgICB0aW1lOiAyODgwLFxuICB9LFxuXTtcbiJdLCJtYXBwaW5n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
103
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiZG5kR3JhcGhJbml0T3B0aW9ucyIsInNjcm9sbGJhciIsImVuYWJsZWQiLCJiYXJCYWNrZ3JvdW5kQ29sb3IiLCJiYXJCb3JkZXJSYWRpdXMiLCJiYXJCb3JkZXJXaWR0aCIsImJ1dHRvbkJhY2tncm91bmRDb2xvciIsImJ1dHRvbkJvcmRlcldpZHRoIiwiYnV0dG9uQXJyb3dDb2xvciIsImJ1dHRvbkJvcmRlclJhZGl1cyIsInJpZmxlQ29sb3IiLCJ0cmFja0JhY2tncm91bmRDb2xvciIsInRyYWNrQm9yZGVyV2lkdGgiLCJ0cmFja0JvcmRlckNvbG9yIiwidHJhY2tCb3JkZXJSYWRpdXMiLCJjaGFydCIsInNwYWNpbmdCb3R0b20iLCJzcGFjaW5nTGVmdCIsInNwYWNpbmdSaWdodCIsInNwYWNpbmdUb3AiLCJiYWNrZ3JvdW5kQ29sb3IiLCJoZWlnaHQiLCJ6b29tVHlwZSIsInJhbmdlU2VsZWN0b3IiLCJhbGxCdXR0b25zRW5hYmxlZCIsImlucHV0RW5hYmxlZCIsImJ1dHRvbnMiLCJ0eXBlIiwiY291bnQiLCJ0ZXh0IiwiaTE4biIsInQiLCJidXR0b25UaGVtZSIsIndpZHRoIiwiZmlsbCIsInN0cm9rZSIsInBhZGRpbmciLCJyIiwic3R5bGUiLCJmb250U2l6ZSIsInN0YXRlcyIsImhvdmVyIiwiY29sb3IiLCJmb250V2VpZ2h0Iiwic2VsZWN0IiwiZXhwb3J0cyIsImdyYXBoRGF0ZXNCdXR0b25zIiwidGl0bGUiLCJ0aW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL0dyYXBoVXRpbHMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJRXZlbnRzU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnRzU3RhdGUnO1xuaW1wb3J0IHsgSUdsb2JhbFN0YXRlIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9tb2RlbHMvSUdsb2JhbFN0YXRlJztcbmltcG9ydCBIaWdoY2hhcnRzIGZyb20gJ2hpZ2hjaGFydHMvaGlnaHN0b2NrJztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBHcmFwaFR5cGUge1xuICBncmFwaERhdGE6IHtcbiAgICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICAgIGV2ZW50c19kYXRhOiBJRXZlbnRzU3RhdGU7XG4gICAgZ3JhcGhEYXRlOiBudW1iZXI7XG4gIH07XG4gIGdyYXBoRWxlbWVudDogUmVhY3QuUmVhY3RFbGVtZW50O1xufVxuZXhwb3J0IGludGVyZmFjZSBHcmFwaHNDb2x1bW5UeXBlIHtcbiAgaWQ6IHN0cmluZztcbiAgZ3JhcGhzOiBHcmFwaFR5cGVbXSB8IFtdO1xufVxuZXhwb3J0IGNvbnN0IGRuZEdyYXBoSW5pdE9wdGlvbnM6IEhpZ2hjaGFydHMuT3B0aW9ucyA9IHtcbiAgc2Nyb2xsYmFyOiB7XG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICBiYXJCYWNrZ3JvdW5kQ29sb3I6ICcjREJERUUzJyxcbiAgICBiYXJCb3JkZXJSYWRpdXM6IDcsXG4gICAgYmFyQm9yZGVyV2lkdGg6IDAsXG4gICAgYnV0dG9uQmFja2dyb3VuZENvbG9yOiAnI0RCREVFMycsXG4gICAgYnV0dG9uQm9yZGVyV2lkdGg6IDAsXG4gICAgYnV0dG9uQXJyb3dDb2xvcjogJyNmNjAwNGYnLFxuICAgIGJ1dHRvbkJvcmRlclJhZGl1czogNyxcbiAgICByaWZsZUNvbG9yOiAnI2Y2MDA0ZicsXG4gICAgdHJhY2tCYWNrZ3JvdW5kQ29sb3I6ICcjZmZmZicsXG4gICAgdHJhY2tCb3JkZXJXaWR0aDogMixcbiAgICB0cmFja0JvcmRlckNvbG9yOiAnI0RCREVFMycsXG4gICAgdHJhY2tCb3JkZXJSYWRpdXM6IDcsXG4gIH0sXG4gIGNoYXJ0OiB7XG4gICAgc3BhY2luZ0JvdHRvbTogMCxcbiAgICBzcGFjaW5nTGVmdDogMCxcbiAgICBzcGFjaW5nUmlnaHQ6IDAsXG4gICAgc3BhY2luZ1RvcDogMCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsMCwwLDApJyxcbiAgICBoZWlnaHQ6IDIzMCxcbiAgICB6b29tVHlwZTogJ3gnLFxuICB9LFxuXG4gIHJhbmdlU2VsZWN0b3I6IHtcbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIGFsbEJ1dHRvbnNFbmFibGVkOiB0cnVlLFxuICAgIGlucHV0RW5hYmxlZDogZmFsc2UsXG4gICAgYnV0dG9uczogW1xuICAgICAge1xuICAgICAgICB0eXBlOiAnZGF5JyxcbiAgICAgICAgY291bnQ6IDEsXG4gICAgICAgIHRleHQ6IGkxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZsb2F0aW5nX2dyYXBoLnRpbWVfc2VsZWN0aW9uLm9uZV9kYXknKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdkYXknLFxuICAgICAgICBjb3VudDogMixcbiAgICAgICAgdGV4dDogaTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmxvYXRpbmdfZ3JhcGgudGltZV9zZWxlY3Rpb24udHdvX2RheXMnKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICd3ZWVrJyxcbiAgICAgICAgY291bnQ6IDEsXG4gICAgICAgIHRleHQ6IGkxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZsb2F0aW5nX2dyYXBoLnRpbWVfc2VsZWN0aW9uLm9uZV93ZWVrJyksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnbW9udGgnLFxuICAgICAgICBjb3VudDogMSxcbiAgICAgICAgdGV4dDogaTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmxvYXRpbmdfZ3JhcGgudGltZV9zZWxlY3Rpb24ub25lX21vbnRoJyksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnbW9udGgnLFxuICAgICAgICBjb3VudDogMyxcbiAgICAgICAgdGV4dDogaTE4bi50KFxuICAgICAgICAgICdldmVudHNfb3ZlcnZpZXcuZmxvYXRpbmdfZ3JhcGgudGltZV9zZWxlY3Rpb24ub25lX3F1YXJ0ZXInLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICBdLFxuICAgIGJ1dHRvblRoZW1lOiB7XG4gICAgICB3aWR0aDogNjAsXG4gICAgICBmaWxsOiAnbm9uZScsXG4gICAgICBzdHJva2U6ICdub25lJyxcbiAgICAgICdzdHJva2Utd2lkdGgnOiAwLFxuICAgICAgcGFkZGluZzogNSxcbiAgICAgIHI6IDgsXG4gICAgICBzdHlsZToge1xuICAgICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgfSxcbiAgICAgIHN0YXRlczoge1xuICAgICAgICBob3Zlcjoge1xuICAgICAgICAgIGZpbGw6ICcjRTMxQjYyJyxcbiAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgY29sb3I6ICd3aGl0ZScsXG4gICAgICAgICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBzZWxlY3Q6IHtcbiAgICAgICAgICBmaWxsOiAnI0UzMUI2MicsXG4gICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgIGNvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgZm9udFdlaWdodDogJzQwMCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbn07XG5leHBvcnQgY29uc3QgZ3JhcGhEYXRlc0J1dHRvbnMgPSBbXG4gIHtcbiAgICB0aXRsZTogJzEgRGF5JyxcbiAgICB0aW1lOiAyNCxcbiAgfSxcbiAge1xuICAgIHRpdGxlOiAnMSBXZWVrJyxcbiAgICB0aW1lOiAxNjgsXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogJzEgTW9udGgnLFxuICAgIHRpbWU6IDcyMCxcbiAgfSxcbiAge1xuICAgIHRpdGxlOiAnMSBRdWFydGVyJyxcbiAgICB0aW1lOiAyODgwLFxuICB9LFxuXTtcbiJdLCJtYXBwaW5n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
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.Map = void 0;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
8
  var L = _interopRequireWildcard(require("leaflet"));
11
9
  require("utilities/polylinedecorator");
12
10
  require("leaflet.markercluster");
@@ -24,88 +22,69 @@ var _MapUtils = require("./MapUtils");
24
22
  var _theme = require("../../styles/theme/theme");
25
23
  var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
26
24
  var _ListContext = require("pages/DashboardMap/ListContext");
27
- 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); }
28
- 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; }
25
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
26
+ 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; }
29
27
  // @ts-ignore
30
28
 
31
29
  // import { storeMap } from 'src/store/global/actions';
32
30
 
33
31
  require('leaflet.markercluster');
34
- require("utilities/polylinedecorator");
35
- var Map = function Map(_ref) {
36
- var areas = _ref.areas,
37
- edges = _ref.edges,
38
- points = _ref.points,
39
- global_data = _ref.global_data,
40
- areaToCenterBy = _ref.areaToCenterBy,
41
- focusedEvent = _ref.focusedEvent,
42
- hoveredEvent = _ref.hoveredEvent,
43
- _ref$hideEdges = _ref.hideEdges,
44
- hideEdges = _ref$hideEdges === void 0 ? false : _ref$hideEdges,
45
- _ref$mapBoxStyle = _ref.mapBoxStyle,
46
- mapBoxStyle = _ref$mapBoxStyle === void 0 ? _theme.leafletMap.mapDefault : _ref$mapBoxStyle,
47
- children = _ref.children,
48
- _ref$includeUnmonitor = _ref.includeUnmonitoredPoints,
49
- includeUnmonitoredPoints = _ref$includeUnmonitor === void 0 ? true : _ref$includeUnmonitor,
50
- _ref$includeUnmonitor2 = _ref.includeUnmonitoredDescendantsForEdges,
51
- includeUnmonitoredDescendantsForEdges = _ref$includeUnmonitor2 === void 0 ? false : _ref$includeUnmonitor2,
52
- _ref$forEventsView = _ref.forEventsView,
53
- forEventsView = _ref$forEventsView === void 0 ? false : _ref$forEventsView,
54
- _ref$style = _ref.style,
55
- style = _ref$style === void 0 ? {} : _ref$style,
56
- _ref$forWWTPDashboard = _ref.forWWTPDashboard,
57
- forWWTPDashboard = _ref$forWWTPDashboard === void 0 ? false : _ref$forWWTPDashboard;
58
- var map = global_data.map;
59
- var mapRef = (0, _react.useRef)(null);
60
- var dispatch = (0, _reactRedux.useDispatch)();
61
- var _useState = (0, _react.useState)(2),
62
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
63
- mapZoomLevel = _useState2[0],
64
- setMapZoomLevel = _useState2[1];
65
- var _useSelectedItem = (0, _ListContext.useSelectedItem)(),
66
- selectedItem = _useSelectedItem.selectedItem;
67
- var eventsData = (0, _reactRedux.useSelector)(function (state) {
68
- return state.events_data;
69
- });
70
- var hoveredEventPresent = (0, _react.useMemo)(function () {
32
+ const Map = _ref => {
33
+ let {
34
+ areas,
35
+ edges,
36
+ points,
37
+ global_data,
38
+ areaToCenterBy,
39
+ focusedEvent,
40
+ hoveredEvent,
41
+ hideEdges = false,
42
+ mapBoxStyle = _theme.leafletMap.mapDefault,
43
+ children,
44
+ includeUnmonitoredPoints = true,
45
+ includeUnmonitoredDescendantsForEdges = false,
46
+ forEventsView = false,
47
+ style = {},
48
+ forWWTPDashboard = false
49
+ } = _ref;
50
+ const {
51
+ map
52
+ } = global_data;
53
+ const mapRef = (0, _react.useRef)(null);
54
+ const dispatch = (0, _reactRedux.useDispatch)();
55
+ const [mapZoomLevel, setMapZoomLevel] = (0, _react.useState)(2);
56
+ const {
57
+ selectedItem
58
+ } = (0, _ListContext.useSelectedItem)();
59
+ const eventsData = (0, _reactRedux.useSelector)(state => state.events_data);
60
+ const hoveredEventPresent = (0, _react.useMemo)(() => {
71
61
  return hoveredEvent !== null && hoveredEvent !== undefined;
72
62
  }, [hoveredEvent]);
73
- var focusedEventPresent = (0, _react.useMemo)(function () {
63
+ const focusedEventPresent = (0, _react.useMemo)(() => {
74
64
  return focusedEvent !== null && focusedEvent !== undefined;
75
65
  }, [focusedEvent]);
76
- var _useState3 = (0, _react.useState)(window.customLeaflet.markerClusterGroup({
77
- spiderfyOnMaxZoom: false,
78
- showCoverageOnHover: false,
79
- zoomToBoundsOnClick: true,
80
- animate: true,
81
- disableClusteringAtZoom: 15,
82
- removeOutsideVisibleBounds: false,
83
- chunkedLoading: true,
84
- iconCreateFunction: function iconCreateFunction(cluster) {
85
- return new L.DivIcon({
86
- html: "<div><span>".concat(cluster._childCount, "</span></div><div class='marker-cluster-name'>").concat(_i18n.default.t('industries'), "</div>"),
87
- className: 'marker-cluster',
88
- iconSize: new L.Point(40, 40)
89
- });
90
- }
91
- })),
92
- _useState4 = (0, _slicedToArray2.default)(_useState3, 1),
93
- factoriesClusterGroup = _useState4[0];
94
- var _useState5 = (0, _react.useState)(L.layerGroup()),
95
- _useState6 = (0, _slicedToArray2.default)(_useState5, 1),
96
- wwtpsLayerGroup = _useState6[0];
97
- var _useState7 = (0, _react.useState)(L.layerGroup()),
98
- _useState8 = (0, _slicedToArray2.default)(_useState7, 1),
99
- collectorsLayerGroup = _useState8[0];
66
+ const [factoriesClusterGroup] = (0, _react.useState)(window.customLeaflet.markerClusterGroup({
67
+ spiderfyOnMaxZoom: false,
68
+ showCoverageOnHover: false,
69
+ zoomToBoundsOnClick: true,
70
+ animate: true,
71
+ disableClusteringAtZoom: 15,
72
+ removeOutsideVisibleBounds: false,
73
+ chunkedLoading: true,
74
+ iconCreateFunction: function (cluster) {
75
+ return new L.DivIcon({
76
+ html: `<div><span>${cluster._childCount}</span></div><div class='marker-cluster-name'>${_i18n.default.t('industries')}</div>`,
77
+ className: 'marker-cluster',
78
+ iconSize: new L.Point(40, 40)
79
+ });
80
+ }
81
+ }));
82
+ const [wwtpsLayerGroup] = (0, _react.useState)(L.layerGroup());
83
+ const [collectorsLayerGroup] = (0, _react.useState)(L.layerGroup());
100
84
  //const [factoriesLayerGroup] = useState(L.layerGroup());
101
- var _useState9 = (0, _react.useState)(new L.FeatureGroup()),
102
- _useState10 = (0, _slicedToArray2.default)(_useState9, 1),
103
- areasLayerGroup = _useState10[0];
104
- var _useState11 = (0, _react.useState)(forEventsView ? true : false),
105
- _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
106
- edgesCheckbox = _useState12[0],
107
- setEdgesCheckbox = _useState12[1];
108
- var memoizedPoints = (0, _react.useMemo)(function () {
85
+ const [areasLayerGroup] = (0, _react.useState)(new L.FeatureGroup());
86
+ const [edgesCheckbox, setEdgesCheckbox] = (0, _react.useState)(false);
87
+ const memoizedPoints = (0, _react.useMemo)(() => {
109
88
  return mapRef.current !== null && points && /*#__PURE__*/_react.default.createElement(_PointMarkers.PointMarkers, {
110
89
  map: mapRef.current,
111
90
  points: points,
@@ -122,15 +101,15 @@ var Map = function Map(_ref) {
122
101
  // mapRef.current !== null && iconZoomControl(mapRef.current);
123
102
  // }, [mapRef.current, points, focusedEventPresent]);
124
103
 
125
- var trackLayerbox = function trackLayerbox() {
126
- var checkbox = document.querySelector('#edges-checkbox');
104
+ const trackLayerbox = () => {
105
+ let checkbox = document.querySelector('#edges-checkbox');
127
106
  if (checkbox === null) return;
128
- checkbox.addEventListener('change', function () {
107
+ checkbox.addEventListener('change', () => {
129
108
  setEdgesCheckbox(checkbox.checked);
130
109
  });
131
110
  };
132
- var zoomRulesForEventsView = function zoomRulesForEventsView() {
133
- var payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, edgesCheckbox && /*#__PURE__*/_react.default.createElement(_Edges.default, {
111
+ const zoomRulesForEventsView = () => {
112
+ const payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, edgesCheckbox && /*#__PURE__*/_react.default.createElement(_Edges.default, {
134
113
  edges: edges,
135
114
  map: mapRef.current,
136
115
  L: L,
@@ -141,8 +120,8 @@ var Map = function Map(_ref) {
141
120
  }), memoizedPoints);
142
121
  return payload;
143
122
  };
144
- var zoomRulesForDashaboardMaps = function zoomRulesForDashaboardMaps() {
145
- var payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedPoints);
123
+ const zoomRulesForDashaboardMaps = () => {
124
+ let payload = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedPoints);
146
125
  switch (_MapUtils.zoomLevels[mapZoomLevel]) {
147
126
  case 'Small':
148
127
  case 'Medium':
@@ -158,11 +137,11 @@ var Map = function Map(_ref) {
158
137
 
159
138
  return payload;
160
139
  };
161
- var memoizedZoomControl = (0, _react.useMemo)(function () {
162
- var payload = forEventsView ? zoomRulesForEventsView() : zoomRulesForDashaboardMaps();
140
+ const memoizedZoomControl = (0, _react.useMemo)(() => {
141
+ const payload = forEventsView ? zoomRulesForEventsView() : zoomRulesForDashaboardMaps();
163
142
  return payload;
164
143
  }, [mapZoomLevel, eventsData.isFetching, focusedEvent, hoveredEvent, points, mapRef.current, edgesCheckbox]);
165
- var memoizedEvent = (0, _react.useMemo)(function () {
144
+ const memoizedEvent = (0, _react.useMemo)(() => {
166
145
  if (focusedEventPresent) {
167
146
  focusedEvent.focused = focusedEventPresent;
168
147
  focusedEvent.hovered = !focusedEventPresent;
@@ -180,14 +159,14 @@ var Map = function Map(_ref) {
180
159
  includeNetwork: !hoveredEventPresent
181
160
  });
182
161
  }, [focusedEvent, hoveredEvent, global_data.eventFilterParam]);
183
- (0, _react.useEffect)(function () {
162
+ (0, _react.useEffect)(() => {
184
163
  return function cleanup() {
185
164
  var _mapRef$current;
186
165
  collectorsLayerGroup.clearLayers();
187
166
  (_mapRef$current = mapRef.current) === null || _mapRef$current === void 0 ? void 0 : _mapRef$current.removeLayer(collectorsLayerGroup);
188
167
  };
189
168
  }, [focusedEvent, hoveredEvent, global_data.eventFilterParam]);
190
- (0, _react.useEffect)(function () {
169
+ (0, _react.useEffect)(() => {
191
170
  (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, _theme.leafletMap.satellite, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel, forWWTPDashboard, forEventsView, global_data.waterAuthorityId);
192
171
  return function cleanup() {
193
172
  // factoriesClusterGroup.clearLayers();
@@ -203,24 +182,22 @@ var Map = function Map(_ref) {
203
182
  // dispatch(storeMap(undefined));
204
183
  };
205
184
  }, [global_data.waterAuthorityId]);
206
- (0, _react.useEffect)(function () {
185
+ (0, _react.useEffect)(() => {
207
186
  if (!mapRef.current) {
208
187
  (0, _MapUtils.initializeMap)(mapZoomLevel, mapBoxStyle, _theme.leafletMap.satellite, mapRef, dispatch, _MapUtils.isValidArea, areaToCenterBy, setMapZoomLevel, forWWTPDashboard, global_data.waterAuthorityId);
209
188
  } else {
210
189
  setMapZoomLevel(mapRef.current.getZoom());
211
190
  if (!areaToCenterBy) {
212
- areaToCenterBy = areas.map(function (area) {
213
- return area.shape_data;
214
- }).flat();
191
+ areaToCenterBy = areas.map(area => area.shape_data).flat();
215
192
  }
216
193
  (0, _MapUtils.areaFocusLogic)(mapRef, _MapUtils.isValidArea, areaToCenterBy);
217
194
  trackLayerbox();
218
195
  }
219
196
  }, [mapRef.current, areaToCenterBy]);
220
- (0, _react.useEffect)(function () {
197
+ (0, _react.useEffect)(() => {
221
198
  var _mapRef$current2;
222
- var clicked = false;
223
- (_mapRef$current2 = mapRef.current) === null || _mapRef$current2 === void 0 ? void 0 : _mapRef$current2.eachLayer(function (layer) {
199
+ let clicked = false;
200
+ (_mapRef$current2 = mapRef.current) === null || _mapRef$current2 === void 0 ? void 0 : _mapRef$current2.eachLayer(layer => {
224
201
  if (clicked) return;
225
202
  if ((layer === null || layer === void 0 ? void 0 : layer.kando_object_id) === selectedItem && layer.isPopupOpen() === false) {
226
203
  if (layer instanceof L.Marker) {
@@ -236,7 +213,7 @@ var Map = function Map(_ref) {
236
213
  className: "kd-map-container",
237
214
  style: style
238
215
  }, /*#__PURE__*/_react.default.createElement("div", {
239
- className: " map-container ".concat(global_data.sidenavExpanded ? '' : 'map-container--sidenav-collapsed')
216
+ className: ` map-container ${global_data.sidenavExpanded ? '' : 'map-container--sidenav-collapsed'}`
240
217
  }, /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, null, /*#__PURE__*/_react.default.createElement("div", {
241
218
  id: "map"
242
219
  }), (0, _MapUtils.shouldLoadMapObjects)(global_data, mapRef, edges, points) && /*#__PURE__*/_react.default.createElement(_AreaPolygons.AreaPolygons, {
@@ -251,4 +228,4 @@ var Map = function Map(_ref) {
251
228
  }), (0, _MapUtils.shoudLoadDependentMapObjects)(edges, areas, global_data, mapRef, points) && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, memoizedEvent, memoizedZoomControl, children))));
252
229
  };
253
230
  exports.Map = Map;
254
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfRXJyb3JCb3VuZGFyeSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQXJlYVBvbHlnb25zIiwiX0VkZ2VzIiwiX1BvaW50TWFya2VycyIsIl9FdmVudCIsIl9NYXBVdGlscyIsIl90aGVtZSIsIl9pMThuIiwiX0xpc3RDb250ZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJNYXAiLCJfcmVmIiwiYXJlYXMiLCJlZGdlcyIsInBvaW50cyIsImdsb2JhbF9kYXRhIiwiYXJlYVRvQ2VudGVyQnkiLCJmb2N1c2VkRXZlbnQiLCJob3ZlcmVkRXZlbnQiLCJfcmVmJGhpZGVFZGdlcyIsImhpZGVFZGdlcyIsIl9yZWYkbWFwQm94U3R5bGUiLCJtYXBCb3hTdHlsZSIsImxlYWZsZXRNYXAiLCJtYXBEZWZhdWx0IiwiY2hpbGRyZW4iLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IiLCJpbmNsdWRlVW5tb25pdG9yZWRQb2ludHMiLCJfcmVmJGluY2x1ZGVVbm1vbml0b3IyIiwiaW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlcyIsIl9yZWYkZm9yRXZlbnRzVmlldyIsImZvckV2ZW50c1ZpZXciLCJfcmVmJHN0eWxlIiwic3R5bGUiLCJfcmVmJGZvcldXVFBEYXNoYm9hcmQiLCJmb3JXV1RQRGFzaGJvYXJkIiwibWFwIiwibWFwUmVmIiwidXNlUmVmIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIm1hcFpvb21MZXZlbCIsInNldE1hcFpvb21MZXZlbCIsIl91c2VTZWxlY3RlZEl0ZW0iLCJ1c2VTZWxlY3RlZEl0ZW0iLCJzZWxlY3RlZEl0ZW0iLCJldmVudHNEYXRhIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiaG92ZXJlZEV2ZW50UHJlc2VudCIsInVzZU1lbW8iLCJ1bmRlZmluZWQiLCJmb2N1c2VkRXZlbnRQcmVzZW50IiwiX3VzZVN0YXRlMyIsIndpbmRvdyIsImN1c3RvbUxlYWZsZXQiLCJtYXJrZXJDbHVzdGVyR3JvdXAiLCJzcGlkZXJmeU9uTWF4Wm9vbSIsInNob3dDb3ZlcmFnZU9uSG92ZXIiLCJ6b29tVG9Cb3VuZHNPbkNsaWNrIiwiYW5pbWF0ZSIsImRpc2FibGVDbHVzdGVyaW5nQXRab29tIiwicmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHMiLCJjaHVua2VkTG9hZGluZyIsImljb25DcmVhdGVGdW5jdGlvbiIsImNsdXN0ZXIiLCJEaXZJY29uIiwiaHRtbCIsImNvbmNhdCIsIl9jaGlsZENvdW50IiwiaTE4biIsInQiLCJjbGFzc05hbWUiLCJpY29uU2l6ZSIsIlBvaW50IiwiX3VzZVN0YXRlNCIsImZhY3Rvcmllc0NsdXN0ZXJHcm91cCIsIl91c2VTdGF0ZTUiLCJsYXllckdyb3VwIiwiX3VzZVN0YXRlNiIsInd3dHBzTGF5ZXJHcm91cCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiY29sbGVjdG9yc0xheWVyR3JvdXAiLCJfdXNlU3RhdGU5IiwiRmVhdHVyZUdyb3VwIiwiX3VzZVN0YXRlMTAiLCJhcmVhc0xheWVyR3JvdXAiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwiZWRnZXNDaGVja2JveCIsInNldEVkZ2VzQ2hlY2tib3giLCJtZW1vaXplZFBvaW50cyIsImN1cnJlbnQiLCJjcmVhdGVFbGVtZW50IiwiUG9pbnRNYXJrZXJzIiwicmVyZW5kZXIiLCJ6b29tTGV2ZWxzIiwiZmFjdG9yaWVzR3JvdXAiLCJ3d3Rwc0dyb3VwIiwiY29sbGVjdG9yc0dyb3VwIiwidHJhY2tMYXllcmJveCIsImNoZWNrYm94IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiYWRkRXZlbnRMaXN0ZW5lciIsImNoZWNrZWQiLCJ6b29tUnVsZXNGb3JFdmVudHNWaWV3IiwicGF5bG9hZCIsIkZyYWdtZW50IiwiaGlkZUFycm93cyIsImFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cyIsInpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzIiwibWVtb2l6ZWRab29tQ29udHJvbCIsImlzRmV0Y2hpbmciLCJtZW1vaXplZEV2ZW50IiwiZm9jdXNlZCIsImhvdmVyZWQiLCJFdmVudCIsImV2ZW50IiwiaW5jbHVkZU5ldHdvcmsiLCJldmVudEZpbHRlclBhcmFtIiwidXNlRWZmZWN0IiwiY2xlYW51cCIsIl9tYXBSZWYkY3VycmVudCIsImNsZWFyTGF5ZXJzIiwicmVtb3ZlTGF5ZXIiLCJpbml0aWFsaXplTWFwIiwic2F0ZWxsaXRlIiwiaXNWYWxpZEFyZWEiLCJ3YXRlckF1dGhvcml0eUlkIiwicmVtb3ZlIiwiZ2V0Wm9vbSIsImFyZWEiLCJzaGFwZV9kYXRhIiwiZmxhdCIsImFyZWFGb2N1c0xvZ2ljIiwiX21hcFJlZiRjdXJyZW50MiIsImNsaWNrZWQiLCJlYWNoTGF5ZXIiLCJsYXllciIsImthbmRvX29iamVjdF9pZCIsImlzUG9wdXBPcGVuIiwiTWFya2VyIiwiZmlyZSIsIlBvbHlnb24iLCJzaWRlbmF2RXhwYW5kZWQiLCJpZCIsInNob3VsZExvYWRNYXBPYmplY3RzIiwiQXJlYVBvbHlnb25zIiwibWFwWm9vbSIsImZlYXR1cmVHcm91cCIsInNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL01hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0ICogYXMgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnc3JjL3V0aWxpdGllcy9wb2x5bGluZWRlY29yYXRvcic7XG5pbXBvcnQgJ2xlYWZsZXQubWFya2VyY2x1c3Rlcic7XG5pbXBvcnQgJ2xlYWZsZXQucGF0dGVybic7XG5pbXBvcnQgUmVhY3QsIHtcbiAgQ1NTUHJvcGVydGllcyxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG4vLyBpbXBvcnQgeyBzdG9yZU1hcCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBJR2xvYmFsU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL21vZGVscy9JR2xvYmFsU3RhdGUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgeyBBcmVhUG9seWdvbnMgfSBmcm9tICcuL2FyZWFzL0FyZWFQb2x5Z29ucyc7XG5pbXBvcnQgRWRnZXMgZnJvbSAnLi9lZGdlcy9FZGdlcyc7XG5pbXBvcnQgJy4vTWFwLnNjc3MnO1xuaW1wb3J0ICcuL3BvaW50cy9Qb2ludEljb24uc2Nzcyc7XG5pbXBvcnQgeyBQb2ludE1hcmtlcnMgfSBmcm9tICcuL3BvaW50cy9Qb2ludE1hcmtlcnMnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IEV2ZW50IH0gZnJvbSAnLi9ldmVudHMvRXZlbnQnO1xuaW1wb3J0IHtcbiAgYXJlYUZvY3VzTG9naWMsXG4gIGluaXRpYWxpemVNYXAsXG4gIGlzVmFsaWRBcmVhLFxuICBzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzLFxuICBzaG91bGRMb2FkTWFwT2JqZWN0cyxcbiAgem9vbUxldmVscyxcbn0gZnJvbSAnLi9NYXBVdGlscyc7XG5pbXBvcnQgeyBsZWFmbGV0TWFwIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHVzZVNlbGVjdGVkSXRlbSB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvTGlzdENvbnRleHQnO1xucmVxdWlyZSgnbGVhZmxldC5tYXJrZXJjbHVzdGVyJyk7XG5yZXF1aXJlKCdzcmMvdXRpbGl0aWVzL3BvbHlsaW5lZGVjb3JhdG9yJyk7XG5cbmludGVyZmFjZSBNYXBQcm9wcyB7XG4gIGFyZWFzOiBJQXJlYVtdO1xuICBlZGdlcz86IElFZGdlW107XG4gIHBvaW50cz86IElQb2ludFtdO1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZm9jdXNlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaG92ZXJlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgbWFwQm94U3R5bGU/OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogYW55O1xuICBzdHlsZT86IENTU1Byb3BlcnRpZXM7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz86IGJvb2xlYW47XG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM/OiBib29sZWFuO1xuICBmb3JFdmVudHNWaWV3OiBib29sZWFuO1xuICBmb3JXV1RQRGFzaGJvYXJkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE1hcDogUmVhY3QuRkM8TWFwUHJvcHM+ID0gKHtcbiAgYXJlYXMsXG4gIGVkZ2VzLFxuICBwb2ludHMsXG4gIGdsb2JhbF9kYXRhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgZm9jdXNlZEV2ZW50LFxuICBob3ZlcmVkRXZlbnQsXG4gIGhpZGVFZGdlcyA9IGZhbHNlLFxuICBtYXBCb3hTdHlsZSA9IGxlYWZsZXRNYXAubWFwRGVmYXVsdCxcbiAgY2hpbGRyZW4sXG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyA9IHRydWUsXG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMgPSBmYWxzZSxcbiAgZm9yRXZlbnRzVmlldyA9IGZhbHNlLFxuICBzdHlsZSA9IHt9LFxuICBmb3JXV1RQRGFzaGJvYXJkID0gZmFsc2UsXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgbWFwUmVmID0gdXNlUmVmPEwuTWFwIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW21hcFpvb21MZXZlbCwgc2V0TWFwWm9vbUxldmVsXSA9IHVzZVN0YXRlKDIpO1xuICBjb25zdCB7IHNlbGVjdGVkSXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IGV2ZW50c0RhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5ldmVudHNfZGF0YSxcbiAgKTtcbiAgY29uc3QgaG92ZXJlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBob3ZlcmVkRXZlbnQgIT09IG51bGwgJiYgaG92ZXJlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBmb2N1c2VkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiBmb2N1c2VkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2ZvY3VzZWRFdmVudF0pO1xuXG4gIGNvbnN0IFtmYWN0b3JpZXNDbHVzdGVyR3JvdXBdID0gdXNlU3RhdGUoXG4gICAgd2luZG93LmN1c3RvbUxlYWZsZXQubWFya2VyQ2x1c3Rlckdyb3VwKHtcbiAgICAgIHNwaWRlcmZ5T25NYXhab29tOiBmYWxzZSxcbiAgICAgIHNob3dDb3ZlcmFnZU9uSG92ZXI6IGZhbHNlLFxuICAgICAgem9vbVRvQm91bmRzT25DbGljazogdHJ1ZSxcbiAgICAgIGFuaW1hdGU6IHRydWUsXG4gICAgICBkaXNhYmxlQ2x1c3RlcmluZ0F0Wm9vbTogMTUsXG4gICAgICByZW1vdmVPdXRzaWRlVmlzaWJsZUJvdW5kczogZmFsc2UsXG4gICAgICBjaHVua2VkTG9hZGluZzogdHJ1ZSxcbiAgICAgIGljb25DcmVhdGVGdW5jdGlvbjogZnVuY3Rpb24gKGNsdXN0ZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMLkRpdkljb24oe1xuICAgICAgICAgIGh0bWw6IGA8ZGl2PjxzcGFuPiR7XG4gICAgICAgICAgICBjbHVzdGVyLl9jaGlsZENvdW50XG4gICAgICAgICAgfTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSdtYXJrZXItY2x1c3Rlci1uYW1lJz4ke2kxOG4udChcbiAgICAgICAgICAgICdpbmR1c3RyaWVzJyxcbiAgICAgICAgICApfTwvZGl2PmAsXG4gICAgICAgICAgY2xhc3NOYW1lOiAnbWFya2VyLWNsdXN0ZXInLFxuICAgICAgICAgIGljb25TaXplOiBuZXcgTC5Qb2ludCg0MCwgNDApLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSksXG4gICk7XG5cbiAgY29uc3QgW3d3dHBzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFtjb2xsZWN0b3JzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIC8vY29uc3QgW2ZhY3Rvcmllc0xheWVyR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbYXJlYXNMYXllckdyb3VwXSA9IHVzZVN0YXRlKG5ldyBMLkZlYXR1cmVHcm91cCgpKTtcbiAgY29uc3QgW2VkZ2VzQ2hlY2tib3gsIHNldEVkZ2VzQ2hlY2tib3hdID0gdXNlU3RhdGUoXG4gICAgZm9yRXZlbnRzVmlldyA/IHRydWUgOiBmYWxzZSxcbiAgKTtcblxuICBjb25zdCBtZW1vaXplZFBvaW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgICAgcG9pbnRzICYmIChcbiAgICAgICAgPFBvaW50TWFya2Vyc1xuICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgaW5jbHVkZVVubW9uaXRvcmVkUG9pbnRzPXtpbmNsdWRlVW5tb25pdG9yZWRQb2ludHN9XG4gICAgICAgICAgcmVyZW5kZXI9e3pvb21MZXZlbHNbbWFwWm9vbUxldmVsXX1cbiAgICAgICAgICBmYWN0b3JpZXNHcm91cD17ZmFjdG9yaWVzQ2x1c3Rlckdyb3VwfVxuICAgICAgICAgIHd3dHBzR3JvdXA9e3d3dHBzTGF5ZXJHcm91cH1cbiAgICAgICAgICBjb2xsZWN0b3JzR3JvdXA9e2NvbGxlY3RvcnNMYXllckdyb3VwfVxuICAgICAgICAgIGZvckV2ZW50c1ZpZXc9e2ZhbHNlfVxuICAgICAgICAvPlxuICAgICAgKVxuICAgICk7XG4gIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50LCBtYXBab29tTGV2ZWxdKTtcblxuICAvLyBjb25zdCBhY3RpdmF0ZVpvb21Db250cm9sRm9ySWNvbnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgLy8gICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJiBpY29uWm9vbUNvbnRyb2wobWFwUmVmLmN1cnJlbnQpO1xuICAvLyB9LCBbbWFwUmVmLmN1cnJlbnQsIHBvaW50cywgZm9jdXNlZEV2ZW50UHJlc2VudF0pO1xuXG4gIGNvbnN0IHRyYWNrTGF5ZXJib3ggPSAoKSA9PiB7XG4gICAgbGV0IGNoZWNrYm94ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2VkZ2VzLWNoZWNrYm94Jyk7XG4gICAgaWYgKGNoZWNrYm94ID09PSBudWxsKSByZXR1cm47XG5cbiAgICBjaGVja2JveC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoKSA9PiB7XG4gICAgICBzZXRFZGdlc0NoZWNrYm94KGNoZWNrYm94LmNoZWNrZWQpO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHpvb21SdWxlc0ZvckV2ZW50c1ZpZXcgPSAoKSA9PiB7XG4gICAgY29uc3QgcGF5bG9hZCA9IChcbiAgICAgIDw+XG4gICAgICAgIHtlZGdlc0NoZWNrYm94ICYmIChcbiAgICAgICAgICA8RWRnZXNcbiAgICAgICAgICAgIGVkZ2VzPXtlZGdlcyF9XG4gICAgICAgICAgICBtYXA9e21hcFJlZi5jdXJyZW50fVxuICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgIHBvaW50cz17cG9pbnRzIX1cbiAgICAgICAgICAgIGhpZGVFZGdlcz17aGlkZUVkZ2VzfVxuICAgICAgICAgICAgaGlkZUFycm93cz17dHJ1ZX1cbiAgICAgICAgICAgIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cz17aW5jbHVkZVVubW9uaXRvcmVkRGVzY2VuZGFudHNGb3JFZGdlc31cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7bWVtb2l6ZWRQb2ludHN9XG4gICAgICA8Lz5cbiAgICApO1xuXG4gICAgcmV0dXJuIHBheWxvYWQ7XG4gIH07XG5cbiAgY29uc3Qgem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMgPSAoKSA9PiB7XG4gICAgbGV0IHBheWxvYWQgPSA8PnttZW1vaXplZFBvaW50c308Lz47XG4gICAgc3dpdGNoICh6b29tTGV2ZWxzW21hcFpvb21MZXZlbF0pIHtcbiAgICAgIGNhc2UgJ1NtYWxsJzpcbiAgICAgIGNhc2UgJ01lZGl1bSc6XG4gICAgICAgIHBheWxvYWQgPSB6b29tUnVsZXNGb3JFdmVudHNWaWV3KCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgLy8gY2FzZSAnTUxhcmdlJzpcbiAgICAgIC8vIGNhc2UgJ0xhcmdlJzpcbiAgICAgIC8vIGNhc2UgJ1hMYXJnZSc6XG4gICAgICAvLyBkZWZhdWx0OlxuICAgICAgLy8gICBwYXlsb2FkID0gPD57bWVtb2l6ZWRQb2ludHN9PC8+O1xuICAgICAgLy8gICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfTtcblxuICBjb25zdCBtZW1vaXplZFpvb21Db250cm9sID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcGF5bG9hZCA9IGZvckV2ZW50c1ZpZXdcbiAgICAgID8gem9vbVJ1bGVzRm9yRXZlbnRzVmlldygpXG4gICAgICA6IHpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzKCk7XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfSwgW1xuICAgIG1hcFpvb21MZXZlbCxcbiAgICBldmVudHNEYXRhLmlzRmV0Y2hpbmcsXG4gICAgZm9jdXNlZEV2ZW50LFxuICAgIGhvdmVyZWRFdmVudCxcbiAgICBwb2ludHMsXG4gICAgbWFwUmVmLmN1cnJlbnQsXG4gICAgZWRnZXNDaGVja2JveCxcbiAgXSk7XG5cbiAgY29uc3QgbWVtb2l6ZWRFdmVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChmb2N1c2VkRXZlbnRQcmVzZW50KSB7XG4gICAgICBmb2N1c2VkRXZlbnQhLmZvY3VzZWQgPSBmb2N1c2VkRXZlbnRQcmVzZW50O1xuICAgICAgZm9jdXNlZEV2ZW50IS5ob3ZlcmVkID0gIWZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgfVxuXG4gICAgaWYgKGhvdmVyZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGhvdmVyZWRFdmVudCEuaG92ZXJlZCA9IGhvdmVyZWRFdmVudFByZXNlbnQ7XG4gICAgICBob3ZlcmVkRXZlbnQhLmZvY3VzZWQgPSAhaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoIWhvdmVyZWRFdmVudFByZXNlbnQgJiYgIWZvY3VzZWRFdmVudFByZXNlbnQpIHJldHVybiA8PjwvPjtcbiAgICByZXR1cm4gKFxuICAgICAgPEV2ZW50XG4gICAgICAgIGV2ZW50PXtmb2N1c2VkRXZlbnQhIHx8IGhvdmVyZWRFdmVudCF9XG4gICAgICAgIG1hcD17bWFwfVxuICAgICAgICBlZGdlcz17ZWRnZXMhfVxuICAgICAgICBwb2ludHM9e3BvaW50cyF9XG4gICAgICAgIGluY2x1ZGVOZXR3b3JrPXshaG92ZXJlZEV2ZW50UHJlc2VudH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfSwgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICAgIGNvbGxlY3RvcnNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoY29sbGVjdG9yc0xheWVyR3JvdXApO1xuICAgIH07XG4gIH0sIFtmb2N1c2VkRXZlbnQsIGhvdmVyZWRFdmVudCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaW5pdGlhbGl6ZU1hcChcbiAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgIG1hcEJveFN0eWxlLFxuICAgICAgbGVhZmxldE1hcC5zYXRlbGxpdGUsXG4gICAgICBtYXBSZWYsXG4gICAgICBkaXNwYXRjaCxcbiAgICAgIGlzVmFsaWRBcmVhLFxuICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgICBmb3JXV1RQRGFzaGJvYXJkLFxuICAgICAgZm9yRXZlbnRzVmlldyxcbiAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICAgKTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgLy8gZmFjdG9yaWVzQ2x1c3Rlckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAvLyB3d3Rwc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIC8vIGNvbGxlY3RvcnNMYXllckdyb3VwLmNsZWFyTGF5ZXJzKCk7XG4gICAgICAvLyBhcmVhc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIC8vIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihmYWN0b3JpZXNDbHVzdGVyR3JvdXApO1xuICAgICAgLy8gbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKHd3dHBzTGF5ZXJHcm91cCk7XG4gICAgICAvLyBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoY29sbGVjdG9yc0xheWVyR3JvdXApO1xuICAgICAgLy8gbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGFyZWFzTGF5ZXJHcm91cCk7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBtYXBSZWYuY3VycmVudC5yZW1vdmUoKTtcbiAgICAgIC8vIGRpc3BhdGNoKHN0b3JlTWFwKHVuZGVmaW5lZCkpO1xuICAgIH07XG4gIH0sIFtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIW1hcFJlZi5jdXJyZW50KSB7XG4gICAgICBpbml0aWFsaXplTWFwKFxuICAgICAgICBtYXBab29tTGV2ZWwsXG4gICAgICAgIG1hcEJveFN0eWxlLFxuICAgICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgICAgbWFwUmVmLFxuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICAgIGFyZWFUb0NlbnRlckJ5LFxuICAgICAgICBzZXRNYXBab29tTGV2ZWwsXG4gICAgICAgIGZvcldXVFBEYXNoYm9hcmQsXG4gICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRNYXBab29tTGV2ZWwobWFwUmVmLmN1cnJlbnQuZ2V0Wm9vbSgpKTtcbiAgICAgIGlmICghYXJlYVRvQ2VudGVyQnkpIHtcbiAgICAgICAgYXJlYVRvQ2VudGVyQnkgPSBhcmVhcy5tYXAoKGFyZWEpID0+IGFyZWEuc2hhcGVfZGF0YSkuZmxhdCgpO1xuICAgICAgfVxuXG4gICAgICBhcmVhRm9jdXNMb2dpYyhtYXBSZWYsIGlzVmFsaWRBcmVhLCBhcmVhVG9DZW50ZXJCeSk7XG4gICAgICB0cmFja0xheWVyYm94KCk7XG4gICAgfVxuICB9LCBbbWFwUmVmLmN1cnJlbnQsIGFyZWFUb0NlbnRlckJ5XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgY2xpY2tlZCA9IGZhbHNlO1xuXG4gICAgbWFwUmVmLmN1cnJlbnQ/LmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICAgIGlmIChjbGlja2VkKSByZXR1cm47XG5cbiAgICAgIGlmIChcbiAgICAgICAgbGF5ZXI/LmthbmRvX29iamVjdF9pZCA9PT0gc2VsZWN0ZWRJdGVtICYmXG4gICAgICAgIGxheWVyLmlzUG9wdXBPcGVuKCkgPT09IGZhbHNlXG4gICAgICApIHtcbiAgICAgICAgaWYgKGxheWVyIGluc3RhbmNlb2YgTC5NYXJrZXIpIHtcbiAgICAgICAgICBsYXllci5maXJlKCdjbGljaycpO1xuICAgICAgICB9IGVsc2UgaWYgKGxheWVyIGluc3RhbmNlb2YgTC5Qb2x5Z29uKSB7XG4gICAgICAgICAgbGF5ZXIuZmlyZSgnY2xpY2stZXZlbnQnKTtcbiAgICAgICAgfVxuICAgICAgICBjbGlja2VkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSwgW3NlbGVjdGVkSXRlbV0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJrZC1tYXAtY29udGFpbmVyXCIgc3R5bGU9e3N0eWxlfT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtgIG1hcC1jb250YWluZXIgJHtcbiAgICAgICAgICBnbG9iYWxfZGF0YS5zaWRlbmF2RXhwYW5kZWQgPyAnJyA6ICdtYXAtY29udGFpbmVyLS1zaWRlbmF2LWNvbGxhcHNlZCdcbiAgICAgICAgfWB9XG4gICAgICA+XG4gICAgICAgIDxFcnJvckJvdW5kYXJ5PlxuICAgICAgICAgIDxkaXYgaWQ9XCJtYXBcIj48L2Rpdj5cbiAgICAgICAgICB7c2hvdWxkTG9hZE1hcE9iamVjdHMoZ2xvYmFsX2RhdGEsIG1hcFJlZiwgZWRnZXMsIHBvaW50cykgJiYgKFxuICAgICAgICAgICAgPEFyZWFQb2x5Z29uc1xuICAgICAgICAgICAgICBhcmVhcz17YXJlYXN9XG4gICAgICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgICAgIGFyZWFUb0NlbnRlckJ5PXthcmVhVG9DZW50ZXJCeX1cbiAgICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbUxldmVsfVxuICAgICAgICAgICAgICByZXJlbmRlcj17em9vbUxldmVsc1ttYXBab29tTGV2ZWxdfVxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGZlYXR1cmVHcm91cD17YXJlYXNMYXllckdyb3VwfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzKFxuICAgICAgICAgICAgZWRnZXMsXG4gICAgICAgICAgICBhcmVhcyxcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLFxuICAgICAgICAgICAgbWFwUmVmLFxuICAgICAgICAgICAgcG9pbnRzLFxuICAgICAgICAgICkgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge21lbW9pemVkRXZlbnR9XG4gICAgICAgICAgICAgIHttZW1vaXplZFpvb21Db250cm9sfVxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLElBQUFBLENBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYsdUJBQUEsQ0FBQUMsT0FBQTtBQU9BLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQU9BLElBQUFHLGNBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLGFBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUosT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBTyxhQUFBLEdBQUFQLE9BQUE7QUFFQSxJQUFBUSxNQUFBLEdBQUFSLE9BQUE7QUFDQSxJQUFBUyxTQUFBLEdBQUFULE9BQUE7QUFRQSxJQUFBVSxNQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxLQUFBLEdBQUFQLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBWSxZQUFBLEdBQUFaLE9BQUE7QUFBcUUsU0FBQWEseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFB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
231
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX3JlYWN0UmVkdXgiLCJfRXJyb3JCb3VuZGFyeSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQXJlYVBvbHlnb25zIiwiX0VkZ2VzIiwiX1BvaW50TWFya2VycyIsIl9FdmVudCIsIl9NYXBVdGlscyIsIl90aGVtZSIsIl9pMThuIiwiX0xpc3RDb250ZXh0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk1hcCIsIl9yZWYiLCJhcmVhcyIsImVkZ2VzIiwicG9pbnRzIiwiZ2xvYmFsX2RhdGEiLCJhcmVhVG9DZW50ZXJCeSIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhpZGVFZGdlcyIsIm1hcEJveFN0eWxlIiwibGVhZmxldE1hcCIsIm1hcERlZmF1bHQiLCJjaGlsZHJlbiIsImluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyIsImluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMiLCJmb3JFdmVudHNWaWV3Iiwic3R5bGUiLCJmb3JXV1RQRGFzaGJvYXJkIiwibWFwIiwibWFwUmVmIiwidXNlUmVmIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIm1hcFpvb21MZXZlbCIsInNldE1hcFpvb21MZXZlbCIsInVzZVN0YXRlIiwic2VsZWN0ZWRJdGVtIiwidXNlU2VsZWN0ZWRJdGVtIiwiZXZlbnRzRGF0YSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJldmVudHNfZGF0YSIsImhvdmVyZWRFdmVudFByZXNlbnQiLCJ1c2VNZW1vIiwidW5kZWZpbmVkIiwiZm9jdXNlZEV2ZW50UHJlc2VudCIsImZhY3Rvcmllc0NsdXN0ZXJHcm91cCIsIndpbmRvdyIsImN1c3RvbUxlYWZsZXQiLCJtYXJrZXJDbHVzdGVyR3JvdXAiLCJzcGlkZXJmeU9uTWF4Wm9vbSIsInNob3dDb3ZlcmFnZU9uSG92ZXIiLCJ6b29tVG9Cb3VuZHNPbkNsaWNrIiwiYW5pbWF0ZSIsImRpc2FibGVDbHVzdGVyaW5nQXRab29tIiwicmVtb3ZlT3V0c2lkZVZpc2libGVCb3VuZHMiLCJjaHVua2VkTG9hZGluZyIsImljb25DcmVhdGVGdW5jdGlvbiIsImNsdXN0ZXIiLCJEaXZJY29uIiwiaHRtbCIsIl9jaGlsZENvdW50IiwiaTE4biIsInQiLCJjbGFzc05hbWUiLCJpY29uU2l6ZSIsIlBvaW50Iiwid3d0cHNMYXllckdyb3VwIiwibGF5ZXJHcm91cCIsImNvbGxlY3RvcnNMYXllckdyb3VwIiwiYXJlYXNMYXllckdyb3VwIiwiRmVhdHVyZUdyb3VwIiwiZWRnZXNDaGVja2JveCIsInNldEVkZ2VzQ2hlY2tib3giLCJtZW1vaXplZFBvaW50cyIsImN1cnJlbnQiLCJjcmVhdGVFbGVtZW50IiwiUG9pbnRNYXJrZXJzIiwicmVyZW5kZXIiLCJ6b29tTGV2ZWxzIiwiZmFjdG9yaWVzR3JvdXAiLCJ3d3Rwc0dyb3VwIiwiY29sbGVjdG9yc0dyb3VwIiwidHJhY2tMYXllcmJveCIsImNoZWNrYm94IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiYWRkRXZlbnRMaXN0ZW5lciIsImNoZWNrZWQiLCJ6b29tUnVsZXNGb3JFdmVudHNWaWV3IiwicGF5bG9hZCIsIkZyYWdtZW50IiwiaGlkZUFycm93cyIsImFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cyIsInpvb21SdWxlc0ZvckRhc2hhYm9hcmRNYXBzIiwibWVtb2l6ZWRab29tQ29udHJvbCIsImlzRmV0Y2hpbmciLCJtZW1vaXplZEV2ZW50IiwiZm9jdXNlZCIsImhvdmVyZWQiLCJFdmVudCIsImV2ZW50IiwiaW5jbHVkZU5ldHdvcmsiLCJldmVudEZpbHRlclBhcmFtIiwidXNlRWZmZWN0IiwiY2xlYW51cCIsIl9tYXBSZWYkY3VycmVudCIsImNsZWFyTGF5ZXJzIiwicmVtb3ZlTGF5ZXIiLCJpbml0aWFsaXplTWFwIiwic2F0ZWxsaXRlIiwiaXNWYWxpZEFyZWEiLCJ3YXRlckF1dGhvcml0eUlkIiwicmVtb3ZlIiwiZ2V0Wm9vbSIsImFyZWEiLCJzaGFwZV9kYXRhIiwiZmxhdCIsImFyZWFGb2N1c0xvZ2ljIiwiX21hcFJlZiRjdXJyZW50MiIsImNsaWNrZWQiLCJlYWNoTGF5ZXIiLCJsYXllciIsImthbmRvX29iamVjdF9pZCIsImlzUG9wdXBPcGVuIiwiTWFya2VyIiwiZmlyZSIsIlBvbHlnb24iLCJzaWRlbmF2RXhwYW5kZWQiLCJpZCIsInNob3VsZExvYWRNYXBPYmplY3RzIiwiQXJlYVBvbHlnb25zIiwibWFwWm9vbSIsImZlYXR1cmVHcm91cCIsInNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL01hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0ICogYXMgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnc3JjL3V0aWxpdGllcy9wb2x5bGluZWRlY29yYXRvcic7XG5pbXBvcnQgJ2xlYWZsZXQubWFya2VyY2x1c3Rlcic7XG5pbXBvcnQgJ2xlYWZsZXQucGF0dGVybic7XG5pbXBvcnQgUmVhY3QsIHtcbiAgQ1NTUHJvcGVydGllcyxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG4gIHVzZVN0YXRlLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IHsgSUVkZ2UgfSBmcm9tICdzcmMvc3RvcmUvZWRnZXMvbW9kZWxzL0lFZGdlJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG4vLyBpbXBvcnQgeyBzdG9yZU1hcCB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBJR2xvYmFsU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL21vZGVscy9JR2xvYmFsU3RhdGUnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgeyBBcmVhUG9seWdvbnMgfSBmcm9tICcuL2FyZWFzL0FyZWFQb2x5Z29ucyc7XG5pbXBvcnQgRWRnZXMgZnJvbSAnLi9lZGdlcy9FZGdlcyc7XG5pbXBvcnQgJy4vTWFwLnNjc3MnO1xuaW1wb3J0ICcuL3BvaW50cy9Qb2ludEljb24uc2Nzcyc7XG5pbXBvcnQgeyBQb2ludE1hcmtlcnMgfSBmcm9tICcuL3BvaW50cy9Qb2ludE1hcmtlcnMnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IEV2ZW50IH0gZnJvbSAnLi9ldmVudHMvRXZlbnQnO1xuaW1wb3J0IHtcbiAgYXJlYUZvY3VzTG9naWMsXG4gIGluaXRpYWxpemVNYXAsXG4gIGlzVmFsaWRBcmVhLFxuICBzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzLFxuICBzaG91bGRMb2FkTWFwT2JqZWN0cyxcbiAgem9vbUxldmVscyxcbn0gZnJvbSAnLi9NYXBVdGlscyc7XG5pbXBvcnQgeyBsZWFmbGV0TWFwIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHVzZVNlbGVjdGVkSXRlbSB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvTGlzdENvbnRleHQnO1xucmVxdWlyZSgnbGVhZmxldC5tYXJrZXJjbHVzdGVyJyk7XG5cbmludGVyZmFjZSBNYXBQcm9wcyB7XG4gIGFyZWFzOiBJQXJlYVtdO1xuICBlZGdlcz86IElFZGdlW107XG4gIHBvaW50cz86IElQb2ludFtdO1xuICBnbG9iYWxfZGF0YTogSUdsb2JhbFN0YXRlO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZm9jdXNlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaG92ZXJlZEV2ZW50PzogSUV2ZW50IHwgbnVsbDtcbiAgaGlkZUVkZ2VzPzogYm9vbGVhbjtcbiAgbWFwQm94U3R5bGU/OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogYW55O1xuICBzdHlsZT86IENTU1Byb3BlcnRpZXM7XG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cz86IGJvb2xlYW47XG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXM/OiBib29sZWFuO1xuICBmb3JFdmVudHNWaWV3OiBib29sZWFuO1xuICBmb3JXV1RQRGFzaGJvYXJkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE1hcDogUmVhY3QuRkM8TWFwUHJvcHM+ID0gKHtcbiAgYXJlYXMsXG4gIGVkZ2VzLFxuICBwb2ludHMsXG4gIGdsb2JhbF9kYXRhLFxuICBhcmVhVG9DZW50ZXJCeSxcbiAgZm9jdXNlZEV2ZW50LFxuICBob3ZlcmVkRXZlbnQsXG4gIGhpZGVFZGdlcyA9IGZhbHNlLFxuICBtYXBCb3hTdHlsZSA9IGxlYWZsZXRNYXAubWFwRGVmYXVsdCxcbiAgY2hpbGRyZW4sXG4gIGluY2x1ZGVVbm1vbml0b3JlZFBvaW50cyA9IHRydWUsXG4gIGluY2x1ZGVVbm1vbml0b3JlZERlc2NlbmRhbnRzRm9yRWRnZXMgPSBmYWxzZSxcbiAgZm9yRXZlbnRzVmlldyA9IGZhbHNlLFxuICBzdHlsZSA9IHt9LFxuICBmb3JXV1RQRGFzaGJvYXJkID0gZmFsc2UsXG59KSA9PiB7XG4gIGNvbnN0IHsgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgbWFwUmVmID0gdXNlUmVmPEwuTWFwIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW21hcFpvb21MZXZlbCwgc2V0TWFwWm9vbUxldmVsXSA9IHVzZVN0YXRlKDIpO1xuICBjb25zdCB7IHNlbGVjdGVkSXRlbSB9ID0gdXNlU2VsZWN0ZWRJdGVtKCk7XG4gIGNvbnN0IGV2ZW50c0RhdGEgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5ldmVudHNfZGF0YSxcbiAgKTtcbiAgY29uc3QgaG92ZXJlZEV2ZW50UHJlc2VudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBob3ZlcmVkRXZlbnQgIT09IG51bGwgJiYgaG92ZXJlZEV2ZW50ICE9PSB1bmRlZmluZWQ7XG4gIH0sIFtob3ZlcmVkRXZlbnRdKTtcblxuICBjb25zdCBmb2N1c2VkRXZlbnRQcmVzZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiBmb2N1c2VkRXZlbnQgIT09IHVuZGVmaW5lZDtcbiAgfSwgW2ZvY3VzZWRFdmVudF0pO1xuXG4gIGNvbnN0IFtmYWN0b3JpZXNDbHVzdGVyR3JvdXBdID0gdXNlU3RhdGUoXG4gICAgd2luZG93LmN1c3RvbUxlYWZsZXQubWFya2VyQ2x1c3Rlckdyb3VwKHtcbiAgICAgIHNwaWRlcmZ5T25NYXhab29tOiBmYWxzZSxcbiAgICAgIHNob3dDb3ZlcmFnZU9uSG92ZXI6IGZhbHNlLFxuICAgICAgem9vbVRvQm91bmRzT25DbGljazogdHJ1ZSxcbiAgICAgIGFuaW1hdGU6IHRydWUsXG4gICAgICBkaXNhYmxlQ2x1c3RlcmluZ0F0Wm9vbTogMTUsXG4gICAgICByZW1vdmVPdXRzaWRlVmlzaWJsZUJvdW5kczogZmFsc2UsXG4gICAgICBjaHVua2VkTG9hZGluZzogdHJ1ZSxcbiAgICAgIGljb25DcmVhdGVGdW5jdGlvbjogZnVuY3Rpb24gKGNsdXN0ZXIpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMLkRpdkljb24oe1xuICAgICAgICAgIGh0bWw6IGA8ZGl2PjxzcGFuPiR7XG4gICAgICAgICAgICBjbHVzdGVyLl9jaGlsZENvdW50XG4gICAgICAgICAgfTwvc3Bhbj48L2Rpdj48ZGl2IGNsYXNzPSdtYXJrZXItY2x1c3Rlci1uYW1lJz4ke2kxOG4udChcbiAgICAgICAgICAgICdpbmR1c3RyaWVzJyxcbiAgICAgICAgICApfTwvZGl2PmAsXG4gICAgICAgICAgY2xhc3NOYW1lOiAnbWFya2VyLWNsdXN0ZXInLFxuICAgICAgICAgIGljb25TaXplOiBuZXcgTC5Qb2ludCg0MCwgNDApLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSksXG4gICk7XG5cbiAgY29uc3QgW3d3dHBzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIGNvbnN0IFtjb2xsZWN0b3JzTGF5ZXJHcm91cF0gPSB1c2VTdGF0ZShMLmxheWVyR3JvdXAoKSk7XG4gIC8vY29uc3QgW2ZhY3Rvcmllc0xheWVyR3JvdXBdID0gdXNlU3RhdGUoTC5sYXllckdyb3VwKCkpO1xuICBjb25zdCBbYXJlYXNMYXllckdyb3VwXSA9IHVzZVN0YXRlKG5ldyBMLkZlYXR1cmVHcm91cCgpKTtcbiAgY29uc3QgW2VkZ2VzQ2hlY2tib3gsIHNldEVkZ2VzQ2hlY2tib3hdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IG1lbW9pemVkUG9pbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgICBwb2ludHMgJiYgKFxuICAgICAgICA8UG9pbnRNYXJrZXJzXG4gICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICBpbmNsdWRlVW5tb25pdG9yZWRQb2ludHM9e2luY2x1ZGVVbm1vbml0b3JlZFBvaW50c31cbiAgICAgICAgICByZXJlbmRlcj17em9vbUxldmVsc1ttYXBab29tTGV2ZWxdfVxuICAgICAgICAgIGZhY3Rvcmllc0dyb3VwPXtmYWN0b3JpZXNDbHVzdGVyR3JvdXB9XG4gICAgICAgICAgd3d0cHNHcm91cD17d3d0cHNMYXllckdyb3VwfVxuICAgICAgICAgIGNvbGxlY3RvcnNHcm91cD17Y29sbGVjdG9yc0xheWVyR3JvdXB9XG4gICAgICAgICAgZm9yRXZlbnRzVmlldz17ZmFsc2V9XG4gICAgICAgIC8+XG4gICAgICApXG4gICAgKTtcbiAgfSwgW21hcFJlZi5jdXJyZW50LCBwb2ludHMsIGZvY3VzZWRFdmVudFByZXNlbnQsIG1hcFpvb21MZXZlbF0pO1xuXG4gIC8vIGNvbnN0IGFjdGl2YXRlWm9vbUNvbnRyb2xGb3JJY29ucyA9IHVzZU1lbW8oKCkgPT4ge1xuICAvLyAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmIGljb25ab29tQ29udHJvbChtYXBSZWYuY3VycmVudCk7XG4gIC8vIH0sIFttYXBSZWYuY3VycmVudCwgcG9pbnRzLCBmb2N1c2VkRXZlbnRQcmVzZW50XSk7XG5cbiAgY29uc3QgdHJhY2tMYXllcmJveCA9ICgpID0+IHtcbiAgICBsZXQgY2hlY2tib3ggPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjZWRnZXMtY2hlY2tib3gnKTtcbiAgICBpZiAoY2hlY2tib3ggPT09IG51bGwpIHJldHVybjtcblxuICAgIGNoZWNrYm94LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHtcbiAgICAgIHNldEVkZ2VzQ2hlY2tib3goY2hlY2tib3guY2hlY2tlZCk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3Qgem9vbVJ1bGVzRm9yRXZlbnRzVmlldyA9ICgpID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gKFxuICAgICAgPD5cbiAgICAgICAge2VkZ2VzQ2hlY2tib3ggJiYgKFxuICAgICAgICAgIDxFZGdlc1xuICAgICAgICAgICAgZWRnZXM9e2VkZ2VzIX1cbiAgICAgICAgICAgIG1hcD17bWFwUmVmLmN1cnJlbnR9XG4gICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgcG9pbnRzPXtwb2ludHMhfVxuICAgICAgICAgICAgaGlkZUVkZ2VzPXtoaWRlRWRnZXN9XG4gICAgICAgICAgICBoaWRlQXJyb3dzPXt0cnVlfVxuICAgICAgICAgICAgYWxsb3dVbm1vbml0b3JlZERlc2NlbmRhbnRzPXtpbmNsdWRlVW5tb25pdG9yZWREZXNjZW5kYW50c0ZvckVkZ2VzfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICAgIHttZW1vaXplZFBvaW50c31cbiAgICAgIDwvPlxuICAgICk7XG5cbiAgICByZXR1cm4gcGF5bG9hZDtcbiAgfTtcblxuICBjb25zdCB6b29tUnVsZXNGb3JEYXNoYWJvYXJkTWFwcyA9ICgpID0+IHtcbiAgICBsZXQgcGF5bG9hZCA9IDw+e21lbW9pemVkUG9pbnRzfTwvPjtcbiAgICBzd2l0Y2ggKHpvb21MZXZlbHNbbWFwWm9vbUxldmVsXSkge1xuICAgICAgY2FzZSAnU21hbGwnOlxuICAgICAgY2FzZSAnTWVkaXVtJzpcbiAgICAgICAgcGF5bG9hZCA9IHpvb21SdWxlc0ZvckV2ZW50c1ZpZXcoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICAvLyBjYXNlICdNTGFyZ2UnOlxuICAgICAgLy8gY2FzZSAnTGFyZ2UnOlxuICAgICAgLy8gY2FzZSAnWExhcmdlJzpcbiAgICAgIC8vIGRlZmF1bHQ6XG4gICAgICAvLyAgIHBheWxvYWQgPSA8PnttZW1vaXplZFBvaW50c308Lz47XG4gICAgICAvLyAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9O1xuXG4gIGNvbnN0IG1lbW9pemVkWm9vbUNvbnRyb2wgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gZm9yRXZlbnRzVmlld1xuICAgICAgPyB6b29tUnVsZXNGb3JFdmVudHNWaWV3KClcbiAgICAgIDogem9vbVJ1bGVzRm9yRGFzaGFib2FyZE1hcHMoKTtcblxuICAgIHJldHVybiBwYXlsb2FkO1xuICB9LCBbXG4gICAgbWFwWm9vbUxldmVsLFxuICAgIGV2ZW50c0RhdGEuaXNGZXRjaGluZyxcbiAgICBmb2N1c2VkRXZlbnQsXG4gICAgaG92ZXJlZEV2ZW50LFxuICAgIHBvaW50cyxcbiAgICBtYXBSZWYuY3VycmVudCxcbiAgICBlZGdlc0NoZWNrYm94LFxuICBdKTtcblxuICBjb25zdCBtZW1vaXplZEV2ZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGZvY3VzZWRFdmVudFByZXNlbnQpIHtcbiAgICAgIGZvY3VzZWRFdmVudCEuZm9jdXNlZCA9IGZvY3VzZWRFdmVudFByZXNlbnQ7XG4gICAgICBmb2N1c2VkRXZlbnQhLmhvdmVyZWQgPSAhZm9jdXNlZEV2ZW50UHJlc2VudDtcbiAgICB9XG5cbiAgICBpZiAoaG92ZXJlZEV2ZW50UHJlc2VudCkge1xuICAgICAgaG92ZXJlZEV2ZW50IS5ob3ZlcmVkID0gaG92ZXJlZEV2ZW50UHJlc2VudDtcbiAgICAgIGhvdmVyZWRFdmVudCEuZm9jdXNlZCA9ICFob3ZlcmVkRXZlbnRQcmVzZW50O1xuICAgIH1cblxuICAgIGlmICghaG92ZXJlZEV2ZW50UHJlc2VudCAmJiAhZm9jdXNlZEV2ZW50UHJlc2VudCkgcmV0dXJuIDw+PC8+O1xuICAgIHJldHVybiAoXG4gICAgICA8RXZlbnRcbiAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudCEgfHwgaG92ZXJlZEV2ZW50IX1cbiAgICAgICAgbWFwPXttYXB9XG4gICAgICAgIGVkZ2VzPXtlZGdlcyF9XG4gICAgICAgIHBvaW50cz17cG9pbnRzIX1cbiAgICAgICAgaW5jbHVkZU5ldHdvcms9eyFob3ZlcmVkRXZlbnRQcmVzZW50fVxuICAgICAgLz5cbiAgICApO1xuICB9LCBbZm9jdXNlZEV2ZW50LCBob3ZlcmVkRXZlbnQsIGdsb2JhbF9kYXRhLmV2ZW50RmlsdGVyUGFyYW1dKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgY29sbGVjdG9yc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihjb2xsZWN0b3JzTGF5ZXJHcm91cCk7XG4gICAgfTtcbiAgfSwgW2ZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50LCBnbG9iYWxfZGF0YS5ldmVudEZpbHRlclBhcmFtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0aWFsaXplTWFwKFxuICAgICAgbWFwWm9vbUxldmVsLFxuICAgICAgbWFwQm94U3R5bGUsXG4gICAgICBsZWFmbGV0TWFwLnNhdGVsbGl0ZSxcbiAgICAgIG1hcFJlZixcbiAgICAgIGRpc3BhdGNoLFxuICAgICAgaXNWYWxpZEFyZWEsXG4gICAgICBhcmVhVG9DZW50ZXJCeSxcbiAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgIGZvcldXVFBEYXNoYm9hcmQsXG4gICAgICBmb3JFdmVudHNWaWV3LFxuICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgICApO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICAvLyBmYWN0b3JpZXNDbHVzdGVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIC8vIHd3dHBzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgLy8gY29sbGVjdG9yc0xheWVyR3JvdXAuY2xlYXJMYXllcnMoKTtcbiAgICAgIC8vIGFyZWFzTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgICAgLy8gbWFwUmVmLmN1cnJlbnQ/LnJlbW92ZUxheWVyKGZhY3Rvcmllc0NsdXN0ZXJHcm91cCk7XG4gICAgICAvLyBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIod3d0cHNMYXllckdyb3VwKTtcbiAgICAgIC8vIG1hcFJlZi5jdXJyZW50Py5yZW1vdmVMYXllcihjb2xsZWN0b3JzTGF5ZXJHcm91cCk7XG4gICAgICAvLyBtYXBSZWYuY3VycmVudD8ucmVtb3ZlTGF5ZXIoYXJlYXNMYXllckdyb3VwKTtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG1hcFJlZi5jdXJyZW50LnJlbW92ZSgpO1xuICAgICAgLy8gZGlzcGF0Y2goc3RvcmVNYXAodW5kZWZpbmVkKSk7XG4gICAgfTtcbiAgfSwgW2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghbWFwUmVmLmN1cnJlbnQpIHtcbiAgICAgIGluaXRpYWxpemVNYXAoXG4gICAgICAgIG1hcFpvb21MZXZlbCxcbiAgICAgICAgbWFwQm94U3R5bGUsXG4gICAgICAgIGxlYWZsZXRNYXAuc2F0ZWxsaXRlLFxuICAgICAgICBtYXBSZWYsXG4gICAgICAgIGRpc3BhdGNoLFxuICAgICAgICBpc1ZhbGlkQXJlYSxcbiAgICAgICAgYXJlYVRvQ2VudGVyQnksXG4gICAgICAgIHNldE1hcFpvb21MZXZlbCxcbiAgICAgICAgZm9yV1dUUERhc2hib2FyZCxcbiAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldE1hcFpvb21MZXZlbChtYXBSZWYuY3VycmVudC5nZXRab29tKCkpO1xuICAgICAgaWYgKCFhcmVhVG9DZW50ZXJCeSkge1xuICAgICAgICBhcmVhVG9DZW50ZXJCeSA9IGFyZWFzLm1hcCgoYXJlYSkgPT4gYXJlYS5zaGFwZV9kYXRhKS5mbGF0KCk7XG4gICAgICB9XG5cbiAgICAgIGFyZWFGb2N1c0xvZ2ljKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KTtcbiAgICAgIHRyYWNrTGF5ZXJib3goKTtcbiAgICB9XG4gIH0sIFttYXBSZWYuY3VycmVudCwgYXJlYVRvQ2VudGVyQnldKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBjbGlja2VkID0gZmFsc2U7XG5cbiAgICBtYXBSZWYuY3VycmVudD8uZWFjaExheWVyKChsYXllcikgPT4ge1xuICAgICAgaWYgKGNsaWNrZWQpIHJldHVybjtcblxuICAgICAgaWYgKFxuICAgICAgICBsYXllcj8ua2FuZG9fb2JqZWN0X2lkID09PSBzZWxlY3RlZEl0ZW0gJiZcbiAgICAgICAgbGF5ZXIuaXNQb3B1cE9wZW4oKSA9PT0gZmFsc2VcbiAgICAgICkge1xuICAgICAgICBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLk1hcmtlcikge1xuICAgICAgICAgIGxheWVyLmZpcmUoJ2NsaWNrJyk7XG4gICAgICAgIH0gZWxzZSBpZiAobGF5ZXIgaW5zdGFuY2VvZiBMLlBvbHlnb24pIHtcbiAgICAgICAgICBsYXllci5maXJlKCdjbGljay1ldmVudCcpO1xuICAgICAgICB9XG4gICAgICAgIGNsaWNrZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9LCBbc2VsZWN0ZWRJdGVtXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImtkLW1hcC1jb250YWluZXJcIiBzdHlsZT17c3R5bGV9PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2AgbWFwLWNvbnRhaW5lciAke1xuICAgICAgICAgIGdsb2JhbF9kYXRhLnNpZGVuYXZFeHBhbmRlZCA/ICcnIDogJ21hcC1jb250YWluZXItLXNpZGVuYXYtY29sbGFwc2VkJ1xuICAgICAgICB9YH1cbiAgICAgID5cbiAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgPGRpdiBpZD1cIm1hcFwiPjwvZGl2PlxuICAgICAgICAgIHtzaG91bGRMb2FkTWFwT2JqZWN0cyhnbG9iYWxfZGF0YSwgbWFwUmVmLCBlZGdlcywgcG9pbnRzKSAmJiAoXG4gICAgICAgICAgICA8QXJlYVBvbHlnb25zXG4gICAgICAgICAgICAgIGFyZWFzPXthcmVhc31cbiAgICAgICAgICAgICAgbWFwPXttYXBSZWYuY3VycmVudH1cbiAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgYXJlYVRvQ2VudGVyQnk9e2FyZWFUb0NlbnRlckJ5fVxuICAgICAgICAgICAgICBtYXBab29tPXttYXBab29tTGV2ZWx9XG4gICAgICAgICAgICAgIHJlcmVuZGVyPXt6b29tTGV2ZWxzW21hcFpvb21MZXZlbF19XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgZmVhdHVyZUdyb3VwPXthcmVhc0xheWVyR3JvdXB9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge3Nob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMoXG4gICAgICAgICAgICBlZGdlcyxcbiAgICAgICAgICAgIGFyZWFzLFxuICAgICAgICAgICAgZ2xvYmFsX2RhdGEsXG4gICAgICAgICAgICBtYXBSZWYsXG4gICAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgKSAmJiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICB7bWVtb2l6ZWRFdmVudH1cbiAgICAgICAgICAgICAge21lbW9pemVkWm9vbUNvbnRyb2x9XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLElBQUFBLENBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBQ0FBLE9BQUE7QUFDQUEsT0FBQTtBQUNBLElBQUFDLE1BQUEsR0FBQUYs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