@kando-env/kando-ui 1.2.228-alpha.3 → 1.2.228-alpha.34

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 (569) hide show
  1. package/lib/Router.js +4 -66
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +11 -41
  3. package/lib/Widgets/EventsRow/EventsRow.js +14 -41
  4. package/lib/Widgets/Map/GraphUtils.js +1 -4
  5. package/lib/Widgets/Map/Map.js +34 -72
  6. package/lib/Widgets/Map/MapUtils.js +5 -56
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +7 -27
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +8 -21
  9. package/lib/Widgets/Map/edges/Edge.js +9 -30
  10. package/lib/Widgets/Map/edges/Edges.js +11 -20
  11. package/lib/Widgets/Map/edges/arrows/Arrows.js +7 -22
  12. package/lib/Widgets/Map/events/Event.js +7 -23
  13. package/lib/Widgets/Map/events/EventIndicator.js +19 -42
  14. package/lib/Widgets/Map/events/EventPath.js +5 -20
  15. package/lib/Widgets/Map/events/EventUtils.js +4 -54
  16. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +5 -19
  17. package/lib/Widgets/Map/events/PointOfEvent.js +5 -34
  18. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +4 -14
  19. package/lib/Widgets/Map/events/Snail.js +7 -19
  20. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +15 -54
  21. package/lib/Widgets/Map/map/FloatingGraph.js +3 -19
  22. package/lib/Widgets/Map/map/GraphDateButton.js +3 -9
  23. package/lib/Widgets/Map/matchGraph/MatchGraph.js +5 -11
  24. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +4 -10
  25. package/lib/Widgets/Map/points/PointIcon.js +6 -22
  26. package/lib/Widgets/Map/points/PointMarker.js +14 -22
  27. package/lib/Widgets/Map/points/PointMarkers.js +16 -22
  28. package/lib/Widgets/Map/points/PointUtils.js +11 -94
  29. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +15 -49
  30. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +4 -19
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +1 -13
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +1 -5
  33. package/lib/Widgets/MostPolluting/Areas/Areas.js +19 -53
  34. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +1 -1
  35. package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
  36. package/lib/Widgets/MostPolluting/Areas/styles.js +1 -7
  37. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +3 -11
  38. package/lib/Widgets/MostPolluting/Factories/Factories.js +30 -64
  39. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +4 -21
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +1 -10
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +4 -17
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -7
  43. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +1 -1
  44. package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
  45. package/lib/Widgets/MostPolluting/Factories/styles.js +1 -7
  46. package/lib/Widgets/MostPolluting/MostPolluting.js +4 -17
  47. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +13 -17
  48. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +2 -9
  49. package/lib/Widgets/MostPolluting/ShowMore/styles.js +1 -5
  50. package/lib/Widgets/MostPolluting/assets/index.js +17 -28
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.js +1 -16
  52. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +15 -26
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +4 -26
  54. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +25 -33
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +4 -20
  56. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +29 -43
  57. package/lib/Widgets/MostPolluting/models.js +1 -1
  58. package/lib/Widgets/MostPolluting/styles.js +1 -7
  59. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +2 -9
  60. package/lib/Widgets/PotentialImpactSummary/Icon.js +1 -11
  61. package/lib/Widgets/PotentialImpactSummary/index.js +7 -29
  62. package/lib/Widgets/PotentialImpactSummary/index.test.js +17 -36
  63. package/lib/Widgets/PotentialImpactSummary/styles.js +2 -15
  64. package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
  65. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +4 -10
  66. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +7 -21
  67. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +19 -29
  68. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +15 -24
  69. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +7 -21
  70. package/lib/Widgets/QualitySummary/QualitySummary.js +8 -24
  71. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +2 -2
  72. package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
  73. package/lib/Widgets/QualitySummary/styles.js +2 -15
  74. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +9 -20
  75. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +9 -34
  76. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +9 -18
  77. package/lib/Widgets/UtilityInformation/UtilityInformation.js +22 -45
  78. package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
  79. package/lib/Widgets/UtilityInformation/styles.js +2 -22
  80. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +2 -2
  81. package/lib/assets/icons/index.js +5 -8
  82. package/lib/assets/icons/kandoStepper/index.js +9 -14
  83. package/lib/components/ApplyButton/ApplyButton.js +5 -11
  84. package/lib/components/ApplyButton/index.js +1 -4
  85. package/lib/components/Backdrop/Backdrop.js +2 -8
  86. package/lib/components/ContentLoader/ContentLoader.js +7 -12
  87. package/lib/components/ContentLoader/index.js +1 -2
  88. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +7 -14
  89. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +2 -8
  90. package/lib/components/CustomInputs/DoubleTabs/styles.js +2 -10
  91. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +5 -18
  92. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +1 -5
  93. package/lib/components/CustomInputs/Search/Search.js +13 -38
  94. package/lib/components/CustomInputs/Search/index.js +1 -4
  95. package/lib/components/CustomInputs/Select/Select.js +13 -31
  96. package/lib/components/CustomInputs/Select/Select.stories.js +2 -8
  97. package/lib/components/DamageType/DamageType.js +37 -76
  98. package/lib/components/DamageType/index.js +1 -4
  99. package/lib/components/DataLoaderError/DataLoaderError.js +4 -10
  100. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +6 -16
  101. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +17 -37
  102. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +12 -37
  103. package/lib/components/DischargeHeatmap/HighchartsOptions.js +6 -10
  104. package/lib/components/DischargeHeatmap/index.js +1 -4
  105. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -4
  106. package/lib/components/DischargeHeatmap/popupText.js +1 -16
  107. package/lib/components/DischargeHeatmap/titles.js +1 -8
  108. package/lib/components/DischargeHeatmap/types.js +1 -1
  109. package/lib/components/ErrorBoundary.js +3 -15
  110. package/lib/components/Events/Events.js +5 -30
  111. package/lib/components/Events/index.js +1 -4
  112. package/lib/components/Graph/Graph.js +31 -74
  113. package/lib/components/Graph/index.js +1 -4
  114. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +1 -7
  115. package/lib/components/Header/Breadcrumbs/index.js +1 -4
  116. package/lib/components/Header/DoubleTabs/DoubleTabs.js +14 -30
  117. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +2 -8
  118. package/lib/components/Header/DoubleTabs/styles.js +2 -10
  119. package/lib/components/Header/Header.js +1 -7
  120. package/lib/components/Header/Header.stories.js +2 -8
  121. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +1 -11
  122. package/lib/components/Header/InfoBar/InfoBar.js +4 -30
  123. package/lib/components/Header/InfoBar/Search/Control.js +2 -13
  124. package/lib/components/Header/InfoBar/Search/GroupLabel.js +1 -12
  125. package/lib/components/Header/InfoBar/Search/Search.js +5 -26
  126. package/lib/components/Header/InfoBar/Search/SearchContainer.js +4 -21
  127. package/lib/components/Header/InfoBar/Search/index.js +1 -4
  128. package/lib/components/Header/InfoBar/Search/searchStyle.js +1 -4
  129. package/lib/components/Header/KandoNavbar/KandoNavbar.js +46 -91
  130. package/lib/components/Header/KandoNavbar/index.js +1 -4
  131. package/lib/components/Header/Slideshow/Slideshow.js +31 -67
  132. package/lib/components/Header/Slideshow/index.js +1 -4
  133. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +1 -7
  134. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +2 -15
  135. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +1 -15
  136. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +7 -24
  137. package/lib/components/Header/Toolbar/Toolbar.js +46 -84
  138. package/lib/components/InfoBar/InfoBar.js +8 -23
  139. package/lib/components/InfoBar/InfoBar.stories.js +2 -8
  140. package/lib/components/KandoModal/KandoModal.js +19 -42
  141. package/lib/components/KandoModal/index.js +1 -4
  142. package/lib/components/Link.js +2 -11
  143. package/lib/components/Links/CustomRedirect/CustomRedirect.js +3 -12
  144. package/lib/components/Links/StyledLink/StyledLink.js +6 -16
  145. package/lib/components/Links/StyledNavLink/StyledNavLink.js +4 -14
  146. package/lib/components/LiveEvents/CarouselSlide.js +5 -11
  147. package/lib/components/LiveEvents/LiveEvents.js +1 -10
  148. package/lib/components/LiveEvents/index.js +1 -4
  149. package/lib/components/LoaderByPercent/LoaderByPercent.js +13 -23
  150. package/lib/components/Map/Map.js +12 -26
  151. package/lib/components/Map/index.js +1 -4
  152. package/lib/components/Modal/Modal.js +3 -10
  153. package/lib/components/NarrowHeader.js +1 -12
  154. package/lib/components/PointInfo/PointInfo.js +10 -22
  155. package/lib/components/PointInfo/index.js +1 -4
  156. package/lib/components/PopupModal/PopupModal.js +6 -17
  157. package/lib/components/PopupModal/PopupModal.stories.js +2 -11
  158. package/lib/components/Sector/Sector.js +4 -13
  159. package/lib/components/Sector/Sector.test.js +3 -8
  160. package/lib/components/Sector/index.js +1 -4
  161. package/lib/components/Sector/sectorIcons.js +1 -27
  162. package/lib/components/SevereEvent/Eta/Eta.js +14 -39
  163. package/lib/components/SevereEvent/Eta/styles.js +1 -5
  164. package/lib/components/SevereEvent/SevereEvent.js +15 -36
  165. package/lib/components/Spinner/Spinner.js +5 -10
  166. package/lib/components/Spinner/Spinner.stories.js +2 -8
  167. package/lib/components/Spinner/index.js +1 -4
  168. package/lib/components/Spinner/styles.js +1 -9
  169. package/lib/components/Tabs/Tabs.js +4 -24
  170. package/lib/components/Tabs/Tabs.stories.js +2 -8
  171. package/lib/components/Tabs/assets/index.js +1 -6
  172. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +2 -12
  173. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +12 -43
  174. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +12 -36
  175. package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +1 -4
  176. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +9 -29
  177. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +4 -9
  178. package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +1 -4
  179. package/lib/components/TimeRangeSelector/TimeRangeList.js +4 -13
  180. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +11 -24
  181. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +11 -36
  182. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +2 -10
  183. package/lib/components/TimeRangeSelector/constants.js +2 -2
  184. package/lib/components/TimeRangeSelector/index.js +1 -4
  185. package/lib/components/Toggle/Toggle.js +7 -21
  186. package/lib/components/Toggle/index.js +1 -4
  187. package/lib/components/TrendGraph/TrendGraph.js +16 -49
  188. package/lib/components/TrendGraph/index.js +1 -4
  189. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +10 -35
  190. package/lib/components/TrendGraphNVL/index.js +1 -4
  191. package/lib/development-environment/index.js +1 -13
  192. package/lib/development-environment/mock/browser.js +1 -8
  193. package/lib/development-environment/mock/get.js +1 -5
  194. package/lib/development-environment/mock/handlers.js +1 -26
  195. package/lib/development-environment/mock/mockBus.js +2 -7
  196. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +1 -1
  197. package/lib/development-environment/mock/mockObjects/areaInformation.js +1 -1
  198. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +1 -1
  199. package/lib/development-environment/mock/mockObjects/areaSitesData.js +1 -1
  200. package/lib/development-environment/mock/mockObjects/areasJson.js +1 -1
  201. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +1 -1
  202. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +1 -1
  203. package/lib/development-environment/mock/mockObjects/data-menuData.js +1 -1
  204. package/lib/development-environment/mock/mockObjects/data-search.js +1 -1
  205. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +1 -1
  206. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +1 -1
  207. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +1 -1
  208. package/lib/development-environment/mock/mockObjects/eventsJson.js +1 -1
  209. package/lib/development-environment/mock/mockObjects/metascore.js +1 -1
  210. package/lib/development-environment/mock/mockObjects/permissionsJson.js +1 -1
  211. package/lib/development-environment/mock/mockObjects/pointsJson.js +1 -1
  212. package/lib/development-environment/mock/mockObjects/site-info.js +1 -1
  213. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +1 -1
  214. package/lib/development-environment/togly/ToglyDashboard.js +4 -22
  215. package/lib/development-environment/togly/ToglyItem.js +5 -25
  216. package/lib/development-environment/togly/flags.js +1 -1
  217. package/lib/development-environment/togly/init.js +1 -6
  218. package/lib/development-environment/togly/macro.js +7 -9
  219. package/lib/development-environment/togly/useDoubleKeyDown.js +1 -8
  220. package/lib/development-environment/togly/useLocalStorage.js +12 -19
  221. package/lib/hooks/useApi.js +10 -29
  222. package/lib/hooks/useApiWithDashboardQuery.js +10 -30
  223. package/lib/hooks/useClickOutside.js +1 -5
  224. package/lib/hooks/useInitializeHeaders.js +1 -7
  225. package/lib/hooks/useKandoFetch.js +13 -27
  226. package/lib/hooks/useMap.js +8 -35
  227. package/lib/hooks/useNavContext.js +13 -22
  228. package/lib/hooks/useQueryURL.js +1 -4
  229. package/lib/hooks/useRemoveExistingLayers.js +2 -7
  230. package/lib/hooks/useUpdateEventBodyTail.js +1 -10
  231. package/lib/hooks/useUserTimeZone.js +1 -9
  232. package/lib/hooks/useUserTimeZone.test.js +1 -9
  233. package/lib/hooks/useWindowSize.js +14 -19
  234. package/lib/index.js +13 -29
  235. package/lib/macros/getVersion.js +2 -3
  236. package/lib/models/IAction.js +1 -1
  237. package/lib/models/IAppState.js +1 -1
  238. package/lib/pages/AreaPage/AreaPage.js +5 -34
  239. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +6 -17
  240. package/lib/pages/AreaPage/Dashboard/Dashboard.js +2 -23
  241. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +11 -35
  242. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +6 -8
  243. package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +28 -64
  244. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +1 -10
  245. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +3 -15
  246. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -7
  247. package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
  248. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +1 -1
  249. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +2 -10
  250. package/lib/pages/AssessmentPage/AssessmentPage.js +5 -30
  251. package/lib/pages/CannyWidget/Feedback.js +10 -25
  252. package/lib/pages/CovidPage/CovidPage.js +1 -14
  253. package/lib/pages/CovidPage/components/Body.js +9 -33
  254. package/lib/pages/CovidPage/components/Map.js +20 -38
  255. package/lib/pages/CovidPage/components/Sidebar.js +4 -18
  256. package/lib/pages/CovidPage/components/Summary.js +8 -29
  257. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +10 -35
  258. package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +1 -4
  259. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +13 -41
  260. package/lib/pages/CovidPage/components/TrendPopupContent/index.js +1 -4
  261. package/lib/pages/CovidPage/components/areas/Area.js +6 -33
  262. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +4 -45
  263. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +5 -18
  264. package/lib/pages/CovidPage/components/areas/AreasList.js +14 -33
  265. package/lib/pages/CovidPage/components/areas/Sort.js +5 -19
  266. package/lib/pages/CovidPage/components/nvlStatusHelper.js +2 -11
  267. package/lib/pages/EventsPage/Body/Body.js +2 -19
  268. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +11 -28
  269. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +11 -31
  270. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +4 -11
  271. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +3 -11
  272. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +5 -10
  273. package/lib/pages/EventsPage/DragAndDropArea/index.js +1 -4
  274. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +7 -33
  275. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +2 -21
  276. package/lib/pages/EventsPage/EventsPage.js +1 -13
  277. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +9 -32
  278. package/lib/pages/EventsPage/events/MoreInfo.js +1 -19
  279. package/lib/pages/EventsPage/events/Sidebar.js +5 -18
  280. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +5 -29
  281. package/lib/pages/EventsPage/events/event_info/EventDetails.js +8 -32
  282. package/lib/pages/EventsPage/events/event_info/EventInfo.js +12 -41
  283. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +2 -14
  284. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +10 -40
  285. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +1 -12
  286. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +8 -30
  287. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +1 -8
  288. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/LineChartYear/LineChartYear.js +7 -27
  289. package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/MockHistoryInformation.js +2 -10
  290. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +5 -21
  291. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsLineChart.js +4 -23
  292. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +4 -22
  293. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +6 -33
  294. package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +3 -15
  295. package/lib/pages/EventsPage/events/event_info/samplings/Samplings.js +2 -10
  296. package/lib/pages/EventsPage/events/event_info/sources/Source.js +8 -31
  297. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +4 -20
  298. package/lib/pages/EventsPage/events/events_list/EventItem.js +3 -24
  299. package/lib/pages/EventsPage/events/events_list/EventUtils.js +2 -13
  300. package/lib/pages/EventsPage/events/events_list/EventsList.js +38 -102
  301. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +11 -32
  302. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +31 -96
  303. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +10 -55
  304. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +5 -17
  305. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +15 -38
  306. package/lib/pages/EventsPage/events/events_list/Sort.js +4 -23
  307. package/lib/pages/ImportFileWizard/FileUploadRespones.js +4 -19
  308. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +2 -8
  309. package/lib/pages/ImportFileWizard/ImportFile.js +10 -29
  310. package/lib/pages/ImportFileWizard/ResponseBody.js +3 -12
  311. package/lib/pages/ImportFileWizard/ValidationForm.js +7 -27
  312. package/lib/pages/ImportFileWizard/ValidationResponse.js +6 -30
  313. package/lib/pages/ImportFileWizard/importFileUtils.js +1 -2
  314. package/lib/pages/ImportFileWizard/index.js +1 -4
  315. package/lib/pages/ImportGisPage/ImportGisContainer.js +7 -27
  316. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +10 -27
  317. package/lib/pages/ImportGisPage/importGisUtils.js +1 -13
  318. package/lib/pages/ImportGisProcess/index.js +4 -18
  319. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +5 -19
  320. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +3 -10
  321. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +1 -8
  322. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +25 -58
  323. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +2 -8
  324. package/lib/pages/NotificationsPage/Notification/Notification.js +8 -16
  325. package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
  326. package/lib/pages/NotificationsPage/Notifications.mock.js +1 -1
  327. package/lib/pages/NotificationsPage/Notifications.stories.js +2 -10
  328. package/lib/pages/NotificationsPage/NotificationsPage.js +11 -35
  329. package/lib/pages/NotificationsPage/assets/index.js +15 -24
  330. package/lib/pages/NotificationsPageV2/NotificationsPage.js +35 -83
  331. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +4 -24
  332. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +15 -40
  333. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +18 -49
  334. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +4 -47
  335. package/lib/pages/NotificationsPageV2/notificationUtils.js +2 -29
  336. package/lib/pages/OldSitePage/IDashboardData.js +1 -1
  337. package/lib/pages/OldSitePage/OldSitePage.js +16 -77
  338. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +3 -16
  339. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +2 -8
  340. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +4 -9
  341. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +5 -12
  342. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +2 -12
  343. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +7 -23
  344. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +6 -20
  345. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +4 -10
  346. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +2 -12
  347. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +9 -24
  348. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +4 -12
  349. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +28 -59
  350. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
  351. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +12 -10
  352. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +3 -18
  353. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +2 -15
  354. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +8 -16
  355. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +1 -16
  356. package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
  357. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +2 -10
  358. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +2 -7
  359. package/lib/pages/ProfilePage/Container.js +1 -5
  360. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +16 -43
  361. package/lib/pages/ProfilePage/ProfilePage.js +39 -88
  362. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +9 -32
  363. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +7 -17
  364. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +3 -14
  365. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +7 -43
  366. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +4 -21
  367. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +7 -15
  368. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +8 -29
  369. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +6 -25
  370. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +9 -21
  371. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +1 -13
  372. package/lib/pages/SamplingsPage/DesktopActions/index.js +1 -4
  373. package/lib/pages/SamplingsPage/NavigationDropdown.js +3 -21
  374. package/lib/pages/SamplingsPage/NewSamplingAction.js +38 -84
  375. package/lib/pages/SamplingsPage/SamplingMobileModal.js +12 -65
  376. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +5 -19
  377. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +2 -13
  378. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +22 -56
  379. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +4 -20
  380. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +1 -14
  381. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +34 -107
  382. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +11 -42
  383. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +14 -47
  384. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +15 -49
  385. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +5 -21
  386. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +2 -8
  387. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +1 -11
  388. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +7 -36
  389. package/lib/pages/SamplingsPage/SamplingsMobileList.js +10 -34
  390. package/lib/pages/SamplingsPage/SamplingsPage.js +14 -39
  391. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +14 -48
  392. package/lib/pages/SamplingsPage/index.js +1 -3
  393. package/lib/pages/SamplingsPage/samplingsPageUtils.js +7 -30
  394. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +2 -10
  395. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +2 -8
  396. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +3 -17
  397. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +6 -11
  398. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +15 -23
  399. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +7 -16
  400. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +18 -27
  401. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +2 -12
  402. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +9 -26
  403. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +6 -20
  404. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +4 -10
  405. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +2 -12
  406. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +9 -24
  407. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +4 -12
  408. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +32 -68
  409. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
  410. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +12 -10
  411. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +4 -19
  412. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +2 -15
  413. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +17 -38
  414. package/lib/pages/SitePage/SamplingParameters/dataParser.js +13 -29
  415. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +3 -7
  416. package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
  417. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +2 -10
  418. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +2 -8
  419. package/lib/pages/SitePage/SiteInformation/ContributorItem.js +5 -12
  420. package/lib/pages/SitePage/SiteInformation/EmptyState.js +1 -10
  421. package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +5 -15
  422. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +17 -48
  423. package/lib/pages/SitePage/SiteInformation/style.js +2 -8
  424. package/lib/pages/SitePage/SitePage.js +10 -49
  425. package/lib/pages/UploadLabResult/index.js +1 -8
  426. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +9 -37
  427. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +2 -9
  428. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +2 -16
  429. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +2 -8
  430. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +9 -35
  431. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +1 -5
  432. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +1 -7
  433. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +1 -10
  434. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +7 -16
  435. package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
  436. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +1 -10
  437. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +1 -5
  438. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +3 -25
  439. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +13 -19
  440. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +6 -17
  441. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +5 -20
  442. package/lib/pages/WbeDashboard/ExpandableComponent.js +1 -11
  443. package/lib/pages/WbeDashboard/GraphWrapper.js +5 -26
  444. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +6 -19
  445. package/lib/pages/WbeDashboard/SearchInput.js +4 -22
  446. package/lib/pages/WbeDashboard/SummaryGraph.js +13 -44
  447. package/lib/pages/WbeDashboard/SummaryGraphModal.js +1 -13
  448. package/lib/pages/WbeDashboard/Tabs.js +3 -9
  449. package/lib/pages/WbeDashboard/WbeDashboardPage.js +25 -112
  450. package/lib/pages/WbeDashboard/WbeSummaryBar.js +8 -42
  451. package/lib/providers/Slideshow/SlideshowContext.js +3 -5
  452. package/lib/providers/Slideshow/SlideshowProvider.js +16 -31
  453. package/lib/providers/Slideshow/SlideshowRunner.js +7 -17
  454. package/lib/providers/UrlHistory/UrlHistoryContext.js +3 -7
  455. package/lib/providers/UrlHistory/UrlHistoryProvider.js +1 -13
  456. package/lib/providers/UrlHistory/index.js +5 -8
  457. package/lib/providers/UrlHistory/useLastVisited.js +1 -7
  458. package/lib/react-app-env.d.js +1 -1
  459. package/lib/store/ImportGis/action.js +1 -1
  460. package/lib/store/ImportGis/actionTypes.js +1 -2
  461. package/lib/store/ImportGis/actionsCreator.js +7 -17
  462. package/lib/store/ImportGis/models/gisImports.js +1 -1
  463. package/lib/store/ImportGis/reducer.js +1 -17
  464. package/lib/store/WBE/actionTypes.js +1 -1
  465. package/lib/store/WBE/actions.js +1 -3
  466. package/lib/store/WBE/models/IAreaWBE.js +1 -1
  467. package/lib/store/WBE/models/IWBE.js +1 -1
  468. package/lib/store/WBE/models/IWBEState.js +1 -1
  469. package/lib/store/WBE/reducer.js +2 -9
  470. package/lib/store/areas/actionTypes.js +2 -2
  471. package/lib/store/areas/actions.js +2 -11
  472. package/lib/store/areas/models/IArea.js +1 -1
  473. package/lib/store/areas/models/IAreasState.js +1 -1
  474. package/lib/store/areas/reducer.js +1 -9
  475. package/lib/store/context/actionTypes.js +2 -2
  476. package/lib/store/context/actions.js +2 -6
  477. package/lib/store/context/contextMiddlewares.js +1 -9
  478. package/lib/store/context/models/INavContext.js +1 -1
  479. package/lib/store/context/models/INavContextState.js +1 -1
  480. package/lib/store/context/reducer.js +2 -9
  481. package/lib/store/dashboard/dashboardSlice.js +1 -3
  482. package/lib/store/dashboard/periodType.js +1 -1
  483. package/lib/store/edges/actionTypes.js +2 -2
  484. package/lib/store/edges/actions.js +3 -9
  485. package/lib/store/edges/models/IEdge.js +1 -1
  486. package/lib/store/edges/models/IEdgesState.js +1 -1
  487. package/lib/store/edges/reducer.js +2 -16
  488. package/lib/store/events/actionTypes.js +2 -2
  489. package/lib/store/events/actions.js +10 -28
  490. package/lib/store/events/models/IEvent.js +1 -1
  491. package/lib/store/events/models/IEventsState.js +1 -1
  492. package/lib/store/events/models/ISource.js +1 -1
  493. package/lib/store/events/reducer.js +3 -41
  494. package/lib/store/filters/IFilter.js +1 -1
  495. package/lib/store/filters/IFilterItem.js +1 -1
  496. package/lib/store/global/actionTypes.js +2 -2
  497. package/lib/store/global/actions.js +8 -20
  498. package/lib/store/global/models/IGlobalState.js +1 -1
  499. package/lib/store/global/reducer.js +2 -18
  500. package/lib/store/permissions/permissionsSlice.js +1 -6
  501. package/lib/store/points/actionTypes.js +2 -2
  502. package/lib/store/points/actions.js +1 -5
  503. package/lib/store/points/models/IGroup.js +1 -1
  504. package/lib/store/points/models/IPoint.js +1 -1
  505. package/lib/store/points/models/IPointsState.js +1 -1
  506. package/lib/store/points/reducer.js +1 -7
  507. package/lib/store/rootActionTypes.js +1 -1
  508. package/lib/store/rootActions.js +1 -3
  509. package/lib/store/rootReducer.js +4 -23
  510. package/lib/store/rootStore.js +4 -12
  511. package/lib/store/samplings/action.js +1 -1
  512. package/lib/store/samplings/actionTypes.js +1 -2
  513. package/lib/store/samplings/actionsCreator.js +2 -5
  514. package/lib/store/samplings/models/Samplings.js +1 -1
  515. package/lib/store/samplings/reducer.js +1 -9
  516. package/lib/styles/StylesLayout.js +1 -7
  517. package/lib/styles/theme/theme.js +2 -4
  518. package/lib/test/mocks/browser.js +3 -7
  519. package/lib/test/test-utils.js +11 -21
  520. package/lib/ui-kit/Button/Button.js +15 -23
  521. package/lib/ui-kit/Button/Button.test.js +6 -26
  522. package/lib/ui-kit/Button/ButtonUtils.js +1 -1
  523. package/lib/ui-kit/Checkbox/Checkbox.js +7 -21
  524. package/lib/ui-kit/DropDown/DropDown.js +5 -16
  525. package/lib/ui-kit/DropDown/DropDown.test.js +6 -12
  526. package/lib/ui-kit/DropDown/DropDownItem.js +5 -13
  527. package/lib/ui-kit/DropDown/DropdownToggle.js +2 -13
  528. package/lib/ui-kit/IconAction/IconAction.js +3 -9
  529. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +16 -49
  530. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +16 -27
  531. package/lib/ui-kit/KandoList/KandoList.js +5 -16
  532. package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
  533. package/lib/ui-kit/KandoTable/KandoTable.js +21 -35
  534. package/lib/ui-kit/KandoTable/KandoTable.test.js +1 -16
  535. package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
  536. package/lib/ui-kit/Layout/Layout.js +1 -8
  537. package/lib/ui-kit/MobileInput/MobileInput.js +18 -33
  538. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +8 -14
  539. package/lib/ui-kit/ModalConfirmation/index.js +1 -3
  540. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +5 -10
  541. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +3 -11
  542. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +4 -11
  543. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +5 -14
  544. package/lib/ui-kit/Tooltip/Tooltip.js +3 -8
  545. package/lib/ui-kit/index.js +1 -15
  546. package/lib/ui-kit/kandoStepper/KandoStepper.js +2 -7
  547. package/lib/utilities/ActionUtility.js +1 -2
  548. package/lib/utilities/Alert.js +2 -10
  549. package/lib/utilities/Analytics.js +1 -12
  550. package/lib/utilities/Array.js +2 -6
  551. package/lib/utilities/Enum.js +1 -16
  552. package/lib/utilities/ErrorBoundary.js +3 -18
  553. package/lib/utilities/File.js +5 -24
  554. package/lib/utilities/GetDir.js +4 -8
  555. package/lib/utilities/KandoDate.js +1 -7
  556. package/lib/utilities/KandoModal.js +7 -22
  557. package/lib/utilities/LocalStorage.js +2 -13
  558. package/lib/utilities/ThousandsToK.js +1 -3
  559. package/lib/utilities/TimeFormat.js +6 -19
  560. package/lib/utilities/Truncate.js +7 -27
  561. package/lib/utilities/edgesMath.js +5 -25
  562. package/lib/utilities/i18n.js +1 -14
  563. package/lib/utilities/kql.js +3 -10
  564. package/lib/utilities/map/icons.js +1 -18
  565. package/lib/utilities/scoreToColor.js +1 -8
  566. package/lib/utilities/time.js +2 -9
  567. package/lib/utilities/uploadToS3.js +1 -9
  568. package/lib/utilities/urls.js +4 -12
  569. package/package.json +3 -2
@@ -1,72 +1,52 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports.zoomLevels = exports.initializeMap = exports.iconZoomControl = exports.topIconOptions = exports.middleIconOptions = exports.bubbleIconOptions = exports.eventsCountIcon = exports.multipleLayeredIcons = exports.eventsCounterIcons = exports.findSpecificLayersFromMap = exports.shoudLoadDependentMapObjects = exports.shouldLoadMapObjects = exports.isValidArea = exports.areaFocusLogic = void 0;
9
-
7
+ exports.zoomLevels = exports.topIconOptions = exports.shouldLoadMapObjects = exports.shoudLoadDependentMapObjects = exports.multipleLayeredIcons = exports.middleIconOptions = exports.isValidArea = exports.initializeMap = exports.iconZoomControl = exports.findSpecificLayersFromMap = exports.eventsCounterIcons = exports.eventsCountIcon = exports.bubbleIconOptions = exports.areaFocusLogic = void 0;
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
11
-
12
9
  var _leaflet = _interopRequireDefault(require("leaflet"));
13
-
14
10
  var _actions = require("../../store/global/actions");
15
-
16
11
  var _i18n = _interopRequireDefault(require("utilities/i18n"));
17
-
18
12
  var areaFocusLogic = function areaFocusLogic(mapRef, isValidArea, areaToCenterBy) {
19
13
  var mapInstance = mapRef.current;
20
-
21
14
  if (isValidArea(areaToCenterBy)) {
22
15
  mapInstance.fitBounds(areaToCenterBy, {
23
16
  padding: [0, 0]
24
17
  });
25
18
  } else {
26
19
  var group = [];
27
-
28
20
  for (var property in mapInstance._layers) {
29
21
  if (mapInstance._layers[property].kando_object === 'Area') {
30
22
  group.push(mapInstance._layers[property]);
31
23
  }
32
24
  }
33
-
34
25
  if (Object.keys(_leaflet.default.featureGroup(group).getBounds()).length !== 0) {
35
26
  mapInstance.fitBounds(_leaflet.default.featureGroup(group).getBounds(), {
36
27
  padding: [100, 100]
37
28
  });
38
29
  }
39
30
  }
40
-
41
31
  mapInstance.invalidateSize(true);
42
32
  };
43
-
44
33
  exports.areaFocusLogic = areaFocusLogic;
45
-
46
34
  var isValidArea = function isValidArea(area) {
47
35
  return area && area.length > 0 && Object.keys(area[0]).length > 0;
48
36
  };
49
-
50
37
  exports.isValidArea = isValidArea;
51
-
52
38
  var shouldLoadMapObjects = function shouldLoadMapObjects(global_data, mapRef, points, edges) {
53
39
  return global_data.map !== undefined && mapRef.current !== null && edges !== undefined && points !== undefined;
54
40
  };
55
-
56
41
  exports.shouldLoadMapObjects = shouldLoadMapObjects;
57
-
58
42
  var shoudLoadDependentMapObjects = function shoudLoadDependentMapObjects(edges, areas, global, mapRef) {
59
43
  return global.map !== undefined && mapRef.current !== null && edges.length !== 0 && areas.length !== 0;
60
44
  };
61
-
62
45
  exports.shoudLoadDependentMapObjects = shoudLoadDependentMapObjects;
63
-
64
46
  var findSpecificLayersFromMap = function findSpecificLayersFromMap(layersToFind, currentLayer) {
65
47
  return layersToFind.includes(currentLayer.kando_object) && currentLayer.kando_point_type !== 'Manhole';
66
48
  };
67
-
68
49
  exports.findSpecificLayersFromMap = findSpecificLayersFromMap;
69
-
70
50
  var eventsCounterIcons = function eventsCounterIcons(layer, zoomLevel) {
71
51
  var icon = layer.options.icon;
72
52
  icon.options.iconSize = eventsCountIcon(zoomLevel).iconSize;
@@ -74,9 +54,7 @@ var eventsCounterIcons = function eventsCounterIcons(layer, zoomLevel) {
74
54
  layer.setIcon(icon);
75
55
  layer.setOpacity(1);
76
56
  };
77
-
78
57
  exports.eventsCounterIcons = eventsCounterIcons;
79
-
80
58
  var multipleLayeredIcons = function multipleLayeredIcons(layer, zoomLevel) {
81
59
  var icon = layer.options.icon;
82
60
  var isAFewLayerIcon = layer.kando_few_layer_icon;
@@ -85,7 +63,6 @@ var multipleLayeredIcons = function multipleLayeredIcons(layer, zoomLevel) {
85
63
  secondary: layer.kando_secondary,
86
64
  third: layer.kando_third
87
65
  };
88
-
89
66
  if (layer.kando_index_object === 0) {
90
67
  if (isAFewLayerIcon) {
91
68
  icon.options.iconSize = bubbleIconOptions(zoomLevel, miniIcon).iconSize;
@@ -103,28 +80,22 @@ var multipleLayeredIcons = function multipleLayeredIcons(layer, zoomLevel) {
103
80
  icon.options.iconAnchor = topIconOptions(zoomLevel, miniIcon).iconAnchor;
104
81
  }
105
82
  }
106
-
107
83
  layer.setIcon(icon);
108
84
  };
109
-
110
85
  exports.multipleLayeredIcons = multipleLayeredIcons;
111
-
112
86
  var oneLayerIconOptions = function oneLayerIconOptions(zoomLevel) {
113
87
  return {
114
88
  iconSize: [zoomLevel * 3.3, zoomLevel * 3.3],
115
89
  iconAnchor: [zoomLevel * 1.7, zoomLevel * 3.7]
116
90
  };
117
91
  };
118
-
119
92
  var eventsCountIcon = function eventsCountIcon(zoomLevel) {
120
93
  return {
121
94
  iconSize: [zoomLevel * 2.5, zoomLevel * 2.5],
122
95
  iconAnchor: [zoomLevel * 0, zoomLevel * 4]
123
96
  };
124
97
  };
125
-
126
98
  exports.eventsCountIcon = eventsCountIcon;
127
-
128
99
  var bubbleIconOptions = function bubbleIconOptions(zoomLevel, miniIcon) {
129
100
  if (miniIcon.present) {
130
101
  if (miniIcon.secondary) {
@@ -145,9 +116,7 @@ var bubbleIconOptions = function bubbleIconOptions(zoomLevel, miniIcon) {
145
116
  };
146
117
  }
147
118
  };
148
-
149
119
  exports.bubbleIconOptions = bubbleIconOptions;
150
-
151
120
  var middleIconOptions = function middleIconOptions(zoomLevel, miniIcon) {
152
121
  if (miniIcon.present) {
153
122
  if (miniIcon.secondary) {
@@ -168,9 +137,7 @@ var middleIconOptions = function middleIconOptions(zoomLevel, miniIcon) {
168
137
  };
169
138
  }
170
139
  };
171
-
172
140
  exports.middleIconOptions = middleIconOptions;
173
-
174
141
  var topIconOptions = function topIconOptions(zoomLevel, miniIcon) {
175
142
  if (miniIcon.present) {
176
143
  if (miniIcon.secondary) {
@@ -191,30 +158,23 @@ var topIconOptions = function topIconOptions(zoomLevel, miniIcon) {
191
158
  };
192
159
  }
193
160
  };
194
-
195
161
  exports.topIconOptions = topIconOptions;
196
-
197
162
  var iconZoomControl = function iconZoomControl(map) {
198
163
  var layers = map._layers;
199
164
  var zoomLevel = map._zoom;
200
-
201
165
  for (var property in layers) {
202
166
  if (findSpecificLayersFromMap(['IconNumber'], layers[property])) {
203
167
  eventsCounterIcons(layers[property], zoomLevel);
204
168
  }
205
-
206
169
  if (findSpecificLayersFromMap(['Point', 'Icon'], layers[property])) {
207
170
  multipleLayeredIcons(layers[property], zoomLevel);
208
171
  }
209
-
210
172
  if (findSpecificLayersFromMap(['Sampling', 'Observation'], layers[property])) {
211
173
  multipleLayeredIcons(layers[property], zoomLevel);
212
174
  }
213
175
  }
214
176
  };
215
-
216
177
  exports.iconZoomControl = iconZoomControl;
217
-
218
178
  var mapStyle = function mapStyle(mapBoxStyle) {
219
179
  return _leaflet.default.tileLayer("https://api.mapbox.com/styles/v1/nadav-kando/".concat(mapBoxStyle, "/tiles/256/{z}/{x}/{y}@2x?access_token=pk.eyJ1IjoibmFkYXYta2FuZG8iLCJhIjoiY2pveHprdGRxMHlmdDN4bDg0dzJxOXc4dSJ9.J-2ohq7j4yKNbm4N_-P6qw"), {
220
180
  attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
@@ -227,20 +187,15 @@ var mapStyle = function mapStyle(mapBoxStyle) {
227
187
  updateWhenIdle: false
228
188
  });
229
189
  };
230
-
231
190
  var baseMaps = function baseMaps(mapBoxStyle, mapBoxSatelliteStyle) {
232
191
  var _ref;
233
-
234
192
  var defaultMap = _i18n.default.t('map.layers.default');
235
-
236
193
  var satellite = _i18n.default.t('map.layers.satellite');
237
-
238
194
  return _ref = {}, (0, _defineProperty2.default)(_ref, defaultMap, mapStyle(mapBoxStyle)), (0, _defineProperty2.default)(_ref, satellite, mapStyle(mapBoxSatelliteStyle)), _ref;
239
195
  };
240
-
241
196
  var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSatelliteStyle, mapRef, dispatch, isValidArea, areaToCenterBy, setMapZoomLevel) {
242
197
  // @ts-ignore
243
- mapRef.current = _leaflet.default.map('map', {
198
+ mapRef.current = new _leaflet.default.Map('map', {
244
199
  center: [0, 0],
245
200
  zoomSnap: 1,
246
201
  zoom: mapZoomLevel,
@@ -249,29 +204,25 @@ var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSate
249
204
  });
250
205
  mapRef.current.whenReady(function () {
251
206
  var map = mapRef.current;
252
-
253
207
  _leaflet.default.control.layers(baseMaps(mapBoxStyle, mapBoxSatelliteStyle), {}, {
254
208
  position: 'bottomright'
255
209
  }).addTo(map);
256
-
257
210
  mapStyle(mapBoxStyle).addTo(map);
258
- map.on('zoomend', function () {// iconZoomControl(map);
211
+ map.on('zoomend', function () {
212
+ // iconZoomControl(map);
259
213
  });
260
214
  setTimeout(function () {
261
215
  if (!mapRef.current) {
262
216
  return;
263
217
  }
264
-
265
218
  try {
266
219
  mapRef.current.invalidateSize(true);
267
220
  } catch (err) {
268
221
  console.error('err', err);
269
222
  }
270
-
271
223
  dispatch((0, _actions.storeMap)(mapRef.current));
272
224
  dispatch((0, _actions.sideNavExpanded)(true));
273
225
  }, 0);
274
-
275
226
  if (mapRef.current && isValidArea(areaToCenterBy)) {
276
227
  mapRef.current.fitBounds(areaToCenterBy);
277
228
  }
@@ -280,12 +231,10 @@ var initializeMap = function initializeMap(mapZoomLevel, mapBoxStyle, mapBoxSate
280
231
  if (!mapRef.current) {
281
232
  return;
282
233
  }
283
-
284
234
  var zoom = mapRef.current.getZoom();
285
235
  setMapZoomLevel(zoom);
286
236
  });
287
237
  };
288
-
289
238
  exports.initializeMap = initializeMap;
290
239
  var zoomLevels = {
291
240
  1: 'XLarge',
@@ -308,4 +257,4 @@ var zoomLevels = {
308
257
  18: 'Small'
309
258
  };
310
259
  exports.zoomLevels = zoomLevels;
311
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9NYXBVdGlscy50cyJdLCJuYW1lcyI6WyJhcmVhRm9jdXNMb2dpYyIsIm1hcFJlZiIsImlzVmFsaWRBcmVhIiwiYXJlYVRvQ2VudGVyQnkiLCJtYXBJbnN0YW5jZSIsImN1cnJlbnQiLCJmaXRCb3VuZHMiLCJwYWRkaW5nIiwiZ3JvdXAiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsIkwiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJsZW5ndGgiLCJpbnZhbGlkYXRlU2l6ZSIsImFyZWEiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsImdsb2JhbF9kYXRhIiwicG9pbnRzIiwiZWRnZXMiLCJtYXAiLCJ1bmRlZmluZWQiLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiYXJlYXMiLCJnbG9iYWwiLCJmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwIiwibGF5ZXJzVG9GaW5kIiwiY3VycmVudExheWVyIiwiaW5jbHVkZXMiLCJrYW5kb19wb2ludF90eXBlIiwiZXZlbnRzQ291bnRlckljb25zIiwibGF5ZXIiLCJ6b29tTGV2ZWwiLCJpY29uIiwib3B0aW9ucyIsImljb25TaXplIiwiZXZlbnRzQ291bnRJY29uIiwiaWNvbkFuY2hvciIsInNldEljb24iLCJzZXRPcGFjaXR5IiwibXVsdGlwbGVMYXllcmVkSWNvbnMiLCJpc0FGZXdMYXllckljb24iLCJrYW5kb19mZXdfbGF5ZXJfaWNvbiIsIm1pbmlJY29uIiwicHJlc2VudCIsImthbmRvX3NlY29uZGFyeSIsImthbmRvX3RoaXJkIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJrYW5kb19pbmRleF9vYmplY3QiLCJidWJibGVJY29uT3B0aW9ucyIsIm9uZUxheWVySWNvbk9wdGlvbnMiLCJtaWRkbGVJY29uT3B0aW9ucyIsInRvcEljb25PcHRpb25zIiwiaWNvblpvb21Db250cm9sIiwibGF5ZXJzIiwiX3pvb20iLCJtYXBTdHlsZSIsIm1hcEJveFN0eWxlIiwidGlsZUxheWVyIiwiYXR0cmlidXRpb24iLCJtYXhab29tIiwibWluWm9vbSIsImlkIiwidGlsZVNpemUiLCJ6b29tT2Zmc2V0IiwidXBkYXRlV2hlblpvb21pbmciLCJ1cGRhdGVXaGVuSWRsZSIsImJhc2VNYXBzIiwibWFwQm94U2F0ZWxsaXRlU3R5bGUiLCJkZWZhdWx0TWFwIiwiaTE4biIsInQiLCJzYXRlbGxpdGUiLCJpbml0aWFsaXplTWFwIiwibWFwWm9vbUxldmVsIiwiZGlzcGF0Y2giLCJzZXRNYXBab29tTGV2ZWwiLCJjZW50ZXIiLCJ6b29tU25hcCIsInpvb20iLCJhdHRyaWJ1dGlvbkNvbnRyb2wiLCJwcmVmZXJDYW52YXMiLCJ3aGVuUmVhZHkiLCJjb250cm9sIiwicG9zaXRpb24iLCJhZGRUbyIsIm9uIiwic2V0VGltZW91dCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImUiLCJnZXRab29tIiwiem9vbUxldmVscyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFTyxJQUFNQSxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNDLE1BQUQsRUFBU0MsV0FBVCxFQUFzQkMsY0FBdEIsRUFBeUM7QUFDckUsTUFBSUMsV0FBZ0IsR0FBR0gsTUFBTSxDQUFDSSxPQUE5Qjs7QUFDQSxNQUFJSCxXQUFXLENBQUNDLGNBQUQsQ0FBZixFQUFpQztBQUMvQkMsSUFBQUEsV0FBVyxDQUFDRSxTQUFaLENBQXNCSCxjQUF0QixFQUFzQztBQUFFSSxNQUFBQSxPQUFPLEVBQUUsQ0FBQyxDQUFELEVBQUksQ0FBSjtBQUFYLEtBQXRDO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsUUFBTUMsS0FBWSxHQUFHLEVBQXJCOztBQUVBLFNBQUssSUFBTUMsUUFBWCxJQUF1QkwsV0FBVyxDQUFDTSxPQUFuQyxFQUE0QztBQUMxQyxVQUFJTixXQUFXLENBQUNNLE9BQVosQ0FBb0JELFFBQXBCLEVBQThCRSxZQUE5QixLQUEr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QUNBaEIsSUFBQUEsZUFBZSxDQUFDRyxJQUFELENBQWY7QUFDRCxHQU5EO0FBT0QsQ0EzRE07OztBQTZEQSxJQUFNYyxVQUFVLEdBQUc7QUFDeEIsS0FBRyxRQURxQjtBQUV4QixLQUFHLFFBRnFCO0FBR3hCLEtBQUcsUUFIcUI7QUFJeEIsS0FBRyxRQUpxQjtBQUt4QixLQUFHLFFBTHFCO0FBTXhCLEtBQUcsUUFOcUI7QUFPeEIsS0FBRyxRQVBxQjtBQVF4QixLQUFHLE9BUnFCO0FBU3hCLEtBQUcsT0FUcUI7QUFVeEIsTUFBSSxPQVZvQjtBQVd4QixNQUFJLFFBWG9CO0FBWXhCLE1BQUksUUFab0I7QUFheEIsTUFBSSxRQWJvQjtBQWN4QixNQUFJLFFBZG9CO0FBZXhCLE1BQUksUUFmb0I7QUFnQnhCLE1BQUksUUFoQm9CO0FBaUJ4QixNQUFJLE9BakJvQjtBQWtCeEIsTUFBSTtBQWxCb0IsQ0FBbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCwgeyBQb2ludFR1cGxlIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBzaWRlTmF2RXhwYW5kZWQsIHN0b3JlTWFwIH0gZnJvbSAnLi4vLi4vc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGNvbnN0IGFyZWFGb2N1c0xvZ2ljID0gKG1hcFJlZiwgaXNWYWxpZEFyZWEsIGFyZWFUb0NlbnRlckJ5KSA9PiB7XG4gIGxldCBtYXBJbnN0YW5jZTogYW55ID0gbWFwUmVmLmN1cnJlbnQ7XG4gIGlmIChpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoYXJlYVRvQ2VudGVyQnksIHsgcGFkZGluZzogWzAsIDBdIH0pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXBJbnN0YW5jZS5fbGF5ZXJzKSB7XG4gICAgICBpZiAobWFwSW5zdGFuY2UuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJlYScpIHtcbiAgICAgICAgZ3JvdXAucHVzaChtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKE9iamVjdC5rZXlzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSkubGVuZ3RoICE9PSAwKSB7XG4gICAgICBtYXBJbnN0YW5jZS5maXRCb3VuZHMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpLCB7XG4gICAgICAgIHBhZGRpbmc6IFsxMDAsIDEwMF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgbWFwSW5zdGFuY2UuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNWYWxpZEFyZWEgPSAoYXJlYSkgPT4ge1xuICByZXR1cm4gYXJlYSAmJiBhcmVhLmxlbmd0aCA+IDAgJiYgT2JqZWN0LmtleXMoYXJlYVswXSkubGVuZ3RoID4gMDtcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91bGRMb2FkTWFwT2JqZWN0cyA9IChnbG9iYWxfZGF0YSwgbWFwUmVmLCBwb2ludHMsIGVkZ2VzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsX2RhdGEubWFwICE9PSB1bmRlZmluZWQgJiZcbiAgICBtYXBSZWYuY3VycmVudCAhPT0gbnVsbCAmJlxuICAgIGVkZ2VzICE9PSB1bmRlZmluZWQgJiZcbiAgICBwb2ludHMgIT09IHVuZGVmaW5lZFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VkTG9hZERlcGVuZGVudE1hcE9iamVjdHMgPSAoZWRnZXMsIGFyZWFzLCBnbG9iYWwsIG1hcFJlZikgPT4ge1xuICByZXR1cm4gKFxuICAgIGdsb2JhbC5tYXAgIT09IHVuZGVmaW5lZCAmJlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXMubGVuZ3RoICE9PSAwICYmXG4gICAgYXJlYXMubGVuZ3RoICE9PSAwXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcCA9IChcbiAgbGF5ZXJzVG9GaW5kOiBzdHJpbmdbXSxcbiAgY3VycmVudExheWVyLFxuKSA9PiB7XG4gIHJldHVybiAoXG4gICAgbGF5ZXJzVG9GaW5kLmluY2x1ZGVzKGN1cnJlbnRMYXllci5rYW5kb19vYmplY3QpICYmXG4gICAgY3VycmVudExheWVyLmthbmRvX3BvaW50X3R5cGUgIT09ICdNYW5ob2xlJ1xuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50ZXJJY29ucyA9IChsYXllciwgem9vbUxldmVsKSA9PiB7XG4gIGxldCBpY29uID0gbGF5ZXIub3B0aW9ucy5pY29uO1xuICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uU2l6ZTtcbiAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBldmVudHNDb3VudEljb24oem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICBsYXllci5zZXRJY29uKGljb24pO1xuICBsYXllci5zZXRPcGFjaXR5KDEpO1xufTtcblxuZXhwb3J0IGNvbnN0IG11bHRpcGxlTGF5ZXJlZEljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGxldCBpc0FGZXdMYXllckljb24gPSBsYXllci5rYW5kb19mZXdfbGF5ZXJfaWNvbjtcbiAgbGV0IG1pbmlJY29uID0ge1xuICAgIHByZXNlbnQ6IGxheWVyLmthbmRvX3NlY29uZGFyeSB8fCBsYXllci5rYW5kb190aGlyZCxcbiAgICBzZWNvbmRhcnk6IGxheWVyLmthbmRvX3NlY29uZGFyeSxcbiAgICB0aGlyZDogbGF5ZXIua2FuZG9fdGhpcmQsXG4gIH07XG5cbiAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMCkge1xuICAgIGlmIChpc0FGZXdMYXllckljb24pIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGJ1YmJsZUljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBidWJibGVJY29uT3B0aW9ucyhcbiAgICAgICAgem9vbUxldmVsLFxuICAgICAgICBtaW5pSWNvbixcbiAgICAgICkuaWNvbkFuY2hvcjtcbiAgICB9IGVsc2Uge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gb25lTGF5ZXJJY29uT3B0aW9ucyh6b29tTGV2ZWwpLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGxheWVyLmthbmRvX2luZGV4X29iamVjdCA9PT0gMSkge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gbWlkZGxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG1pZGRsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gdG9wSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvbkFuY2hvcjtcbiAgICB9XG4gIH1cblxuICBsYXllci5zZXRJY29uKGljb24pO1xufTtcblxuY29uc3Qgb25lTGF5ZXJJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDMuMywgem9vbUxldmVsICogMy4zXSxcbiAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMS43LCB6b29tTGV2ZWwgKiAzLjddLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGV2ZW50c0NvdW50SWNvbiA9ICh6b29tTGV2ZWwpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSxcbiAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYnViYmxlSWNvbk9wdGlvbnMgPSAoem9vbUxldmVsLCBtaW5pSWNvbikgPT4ge1xuICBpZiAobWluaUljb24ucHJlc2VudCkge1xuICAgIGlmIChtaW5pSWNvbi5zZWNvbmRhcnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMS45OCwgem9vbUxldmVsICogMi4zXSxcbiAgICAgICAgaWNvbkFuY2hvcjogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDAsIHpvb21MZXZlbCAqIDRdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdLFxuICAgICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMCwgem9vbUxldmVsICogMl0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAzLjk4LCB6b29tTGV2ZWwgKiA0LjNdLFxuICAgICAgaWNvbkFuY2hvcjogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDRdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBtaWRkbGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMy41XSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMS4xLCB6b29tTGV2ZWwgKiAxLjFdLFxuICAgICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogLTAuNDUsIHpvb21MZXZlbCAqIDEuNV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAyLjUsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMS4yOTUsIHpvb21MZXZlbCAqIDMuMzVdLFxuICAgIH07XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0b3BJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAwLjksIHpvb21MZXZlbCAqIDEuOF0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC41LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjYsIHpvb21MZXZlbCAqIDIuNV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC4yLCB6b29tTGV2ZWwgKiAyLjFdLFxuICAgICAgfTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGljb25TaXplOiBbem9vbUxldmVsICogMy45LCB6b29tTGV2ZWwgKiAzLjhdLFxuICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIDIsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGljb25ab29tQ29udHJvbCA9IChtYXApID0+IHtcbiAgbGV0IGxheWVycyA9IG1hcC5fbGF5ZXJzO1xuICBsZXQgem9vbUxldmVsID0gbWFwLl96b29tO1xuXG4gIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgaWYgKGZpbmRTcGVjaWZpY0xheWVyc0Zyb21NYXAoWydJY29uTnVtYmVyJ10sIGxheWVyc1twcm9wZXJ0eV0pKSB7XG4gICAgICBldmVudHNDb3VudGVySWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1BvaW50JywgJ0ljb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ1NhbXBsaW5nJywgJ09ic2VydmF0aW9uJ10sIGxheWVyc1twcm9wZXJ0eV0pXG4gICAgKSB7XG4gICAgICBtdWx0aXBsZUxheWVyZWRJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cbiAgfVxufTtcblxuY29uc3QgbWFwU3R5bGUgPSAobWFwQm94U3R5bGUpID0+IHtcbiAgcmV0dXJuIEwudGlsZUxheWVyKFxuICAgIGBodHRwczovL2FwaS5tYXBib3guY29tL3N0eWxlcy92MS9uYWRhdi1rYW5kby8ke21hcEJveFN0eWxlfS90aWxlcy8yNTYve3p9L3t4fS97eX1AMng/YWNjZXNzX3Rva2VuPXBrLmV5SjFJam9pYm1Ga1lYWXRhMkZ1Wkc4aUxDSmhJam9pWTJwdmVIcHJkR1J4TUhsbWRETjRiRGcwZHpKeE9YYzRkU0o5LkotMm9ocTdqNHlLTmJtNE5fLVA2cXdgLFxuICAgIHtcbiAgICAgIGF0dHJpYnV0aW9uOlxuICAgICAgICAnTWFwIGRhdGEgJmNvcHk7IDxhIGhyZWY9XCJodHRwczovL3d3dy5vcGVuc3RyZWV0bWFwLm9yZy9cIj5PcGVuU3RyZWV0TWFwPC9hPiBjb250cmlidXRvcnMsIDxhIGhyZWY9XCJodHRwczovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMi4wL1wiPkNDLUJZLVNBPC9hPiwgSW1hZ2VyeSDCqSA8YSBocmVmPVwiaHR0cHM6Ly93d3cubWFwYm94LmNvbS9cIj5NYXBib3g8L2E+JyxcbiAgICAgIG1heFpvb206IDE4LFxuICAgICAgbWluWm9vbTogMixcbiAgICAgIGlkOiAnbWFwYm94L3N0cmVldHMtdjExJyxcbiAgICAgIHRpbGVTaXplOiA1MTIsXG4gICAgICB6b29tT2Zmc2V0OiAtMSxcbiAgICAgIHVwZGF0ZVdoZW5ab29taW5nOiBmYWxzZSxcbiAgICAgIHVwZGF0ZVdoZW5JZGxlOiBmYWxzZSxcbiAgICB9LFxuICApO1xufTtcbmNvbnN0IGJhc2VNYXBzID0gKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSkgPT4ge1xuICBsZXQgZGVmYXVsdE1hcCA9IGkxOG4udCgnbWFwLmxheWVycy5kZWZhdWx0Jyk7XG4gIGxldCBzYXRlbGxpdGUgPSBpMThuLnQoJ21hcC5sYXllcnMuc2F0ZWxsaXRlJyk7XG4gIHJldHVybiB7XG4gICAgW2RlZmF1bHRNYXBdOiBtYXBTdHlsZShtYXBCb3hTdHlsZSksXG4gICAgW3NhdGVsbGl0ZV06IG1hcFN0eWxlKG1hcEJveFNhdGVsbGl0ZVN0eWxlKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplTWFwID0gKFxuICBtYXBab29tTGV2ZWwsXG4gIG1hcEJveFN0eWxlLFxuICBtYXBCb3hTYXRlbGxpdGVTdHlsZSxcbiAgbWFwUmVmLFxuICBkaXNwYXRjaCxcbiAgaXNWYWxpZEFyZWEsXG4gIGFyZWFUb0NlbnRlckJ5LFxuICBzZXRNYXBab29tTGV2ZWwsXG4pID0+IHtcbiAgLy8gQHRzLWlnbm9yZVxuICBtYXBSZWYuY3VycmVudCA9IEwubWFwKCdtYXAnLCB7XG4gICAgY2VudGVyOiBbMCwgMF0sXG4gICAgem9vbVNuYXA6IDEsXG4gICAgem9vbTogbWFwWm9vbUxldmVsLFxuICAgIGF0dHJpYnV0aW9uQ29udHJvbDogZmFsc2UsXG4gICAgcHJlZmVyQ2FudmFzOiB0cnVlLFxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC53aGVuUmVhZHkoKCkgPT4ge1xuICAgIGxldCBtYXAgPSBtYXBSZWYuY3VycmVudDtcbiAgICBMLmNvbnRyb2xcbiAgICAgIC5sYXllcnMoXG4gICAgICAgIGJhc2VNYXBzKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSksXG4gICAgICAgIHt9LFxuICAgICAgICB7IHBvc2l0aW9uOiAnYm90dG9tcmlnaHQnIH0sXG4gICAgICApXG4gICAgICAuYWRkVG8obWFwKTtcbiAgICBtYXBTdHlsZShtYXBCb3hTdHlsZSkuYWRkVG8obWFwKTtcblxuICAgIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIGljb25ab29tQ29udHJvbChtYXApO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2VycicsIGVycik7XG4gICAgICB9XG5cbiAgICAgIGRpc3BhdGNoKHN0b3JlTWFwKG1hcFJlZi5jdXJyZW50KSk7XG4gICAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQodHJ1ZSkpO1xuICAgIH0sIDApO1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAmJiBpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICAgIG1hcFJlZi5jdXJyZW50LmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC5vbignem9vbWVuZCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgem9vbSA9IG1hcFJlZi5jdXJyZW50LmdldFpvb20oKTtcbiAgICBzZXRNYXBab29tTGV2ZWwoem9vbSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHpvb21MZXZlbHMgPSB7XG4gIDE6ICdYTGFyZ2UnLFxuICAyOiAnWExhcmdlJyxcbiAgMzogJ1hMYXJnZScsXG4gIDQ6ICdYTGFyZ2UnLFxuICA1OiAnWExhcmdlJyxcbiAgNjogJ1hMYXJnZScsXG4gIDc6ICdYTGFyZ2UnLFxuICA4OiAnTGFyZ2UnLFxuICA5OiAnTGFyZ2UnLFxuICAxMDogJ0xhcmdlJyxcbiAgMTE6ICdNTGFyZ2UnLFxuICAxMjogJ01MYXJnZScsXG4gIDEzOiAnTUxhcmdlJyxcbiAgMTQ6ICdNZWRpdW0nLFxuICAxNTogJ01lZGl1bScsXG4gIDE2OiAnTWVkaXVtJyxcbiAgMTc6ICdTbWFsbCcsXG4gIDE4OiAnU21hbGwnLFxufTtcbiJdfQ==
260
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2FjdGlvbnMiLCJfaTE4biIsImFyZWFGb2N1c0xvZ2ljIiwibWFwUmVmIiwiaXNWYWxpZEFyZWEiLCJhcmVhVG9DZW50ZXJCeSIsIm1hcEluc3RhbmNlIiwiY3VycmVudCIsImZpdEJvdW5kcyIsInBhZGRpbmciLCJncm91cCIsInByb3BlcnR5IiwiX2xheWVycyIsImthbmRvX29iamVjdCIsInB1c2giLCJPYmplY3QiLCJrZXlzIiwiTCIsImZlYXR1cmVHcm91cCIsImdldEJvdW5kcyIsImxlbmd0aCIsImludmFsaWRhdGVTaXplIiwiZXhwb3J0cyIsImFyZWEiLCJzaG91bGRMb2FkTWFwT2JqZWN0cyIsImdsb2JhbF9kYXRhIiwicG9pbnRzIiwiZWRnZXMiLCJtYXAiLCJ1bmRlZmluZWQiLCJzaG91ZExvYWREZXBlbmRlbnRNYXBPYmplY3RzIiwiYXJlYXMiLCJnbG9iYWwiLCJmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwIiwibGF5ZXJzVG9GaW5kIiwiY3VycmVudExheWVyIiwiaW5jbHVkZXMiLCJrYW5kb19wb2ludF90eXBlIiwiZXZlbnRzQ291bnRlckljb25zIiwibGF5ZXIiLCJ6b29tTGV2ZWwiLCJpY29uIiwib3B0aW9ucyIsImljb25TaXplIiwiZXZlbnRzQ291bnRJY29uIiwiaWNvbkFuY2hvciIsInNldEljb24iLCJzZXRPcGFjaXR5IiwibXVsdGlwbGVMYXllcmVkSWNvbnMiLCJpc0FGZXdMYXllckljb24iLCJrYW5kb19mZXdfbGF5ZXJfaWNvbiIsIm1pbmlJY29uIiwicHJlc2VudCIsImthbmRvX3NlY29uZGFyeSIsImthbmRvX3RoaXJkIiwic2Vjb25kYXJ5IiwidGhpcmQiLCJrYW5kb19pbmRleF9vYmplY3QiLCJidWJibGVJY29uT3B0aW9ucyIsIm9uZUxheWVySWNvbk9wdGlvbnMiLCJtaWRkbGVJY29uT3B0aW9ucyIsInRvcEljb25PcHRpb25zIiwiaWNvblpvb21Db250cm9sIiwibGF5ZXJzIiwiX3pvb20iLCJtYXBTdHlsZSIsIm1hcEJveFN0eWxlIiwidGlsZUxheWVyIiwiY29uY2F0IiwiYXR0cmlidXRpb24iLCJtYXhab29tIiwibWluWm9vbSIsImlkIiwidGlsZVNpemUiLCJ6b29tT2Zmc2V0IiwidXBkYXRlV2hlblpvb21pbmciLCJ1cGRhdGVXaGVuSWRsZSIsImJhc2VNYXBzIiwibWFwQm94U2F0ZWxsaXRlU3R5bGUiLCJfcmVmIiwiZGVmYXVsdE1hcCIsImkxOG4iLCJ0Iiwic2F0ZWxsaXRlIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJpbml0aWFsaXplTWFwIiwibWFwWm9vbUxldmVsIiwiZGlzcGF0Y2giLCJzZXRNYXBab29tTGV2ZWwiLCJNYXAiLCJjZW50ZXIiLCJ6b29tU25hcCIsInpvb20iLCJhdHRyaWJ1dGlvbkNvbnRyb2wiLCJwcmVmZXJDYW52YXMiLCJ3aGVuUmVhZHkiLCJjb250cm9sIiwicG9zaXRpb24iLCJhZGRUbyIsIm9uIiwic2V0VGltZW91dCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsInN0b3JlTWFwIiwic2lkZU5hdkV4cGFuZGVkIiwiZSIsImdldFpvb20iLCJ6b29tTGV2ZWxzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL01hcFV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IFBvaW50VHVwbGUgfSBmcm9tICdsZWFmbGV0JztcbmltcG9ydCB7IHNpZGVOYXZFeHBhbmRlZCwgc3RvcmVNYXAgfSBmcm9tICcuLi8uLi9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuXG5leHBvcnQgY29uc3QgYXJlYUZvY3VzTG9naWMgPSAobWFwUmVmLCBpc1ZhbGlkQXJlYSwgYXJlYVRvQ2VudGVyQnkpID0+IHtcbiAgbGV0IG1hcEluc3RhbmNlOiBhbnkgPSBtYXBSZWYuY3VycmVudDtcbiAgaWYgKGlzVmFsaWRBcmVhKGFyZWFUb0NlbnRlckJ5KSkge1xuICAgIG1hcEluc3RhbmNlLmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSwgeyBwYWRkaW5nOiBbMCwgMF0gfSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZ3JvdXA6IGFueVtdID0gW107XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIG1hcEluc3RhbmNlLl9sYXllcnMpIHtcbiAgICAgIGlmIChtYXBJbnN0YW5jZS5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdBcmVhJykge1xuICAgICAgICBncm91cC5wdXNoKG1hcEluc3RhbmNlLl9sYXllcnNbcHJvcGVydHldKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpKS5sZW5ndGggIT09IDApIHtcbiAgICAgIG1hcEluc3RhbmNlLmZpdEJvdW5kcyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCksIHtcbiAgICAgICAgcGFkZGluZzogWzEwMCwgMTAwXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBtYXBJbnN0YW5jZS5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkQXJlYSA9IChhcmVhKSA9PiB7XG4gIHJldHVybiBhcmVhICYmIGFyZWEubGVuZ3RoID4gMCAmJiBPYmplY3Qua2V5cyhhcmVhWzBdKS5sZW5ndGggPiAwO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VsZExvYWRNYXBPYmplY3RzID0gKGdsb2JhbF9kYXRhLCBtYXBSZWYsIHBvaW50cywgZWRnZXMpID0+IHtcbiAgcmV0dXJuIChcbiAgICBnbG9iYWxfZGF0YS5tYXAgIT09IHVuZGVmaW5lZCAmJlxuICAgIG1hcFJlZi5jdXJyZW50ICE9PSBudWxsICYmXG4gICAgZWRnZXMgIT09IHVuZGVmaW5lZCAmJlxuICAgIHBvaW50cyAhPT0gdW5kZWZpbmVkXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWRMb2FkRGVwZW5kZW50TWFwT2JqZWN0cyA9IChlZGdlcywgYXJlYXMsIGdsb2JhbCwgbWFwUmVmKSA9PiB7XG4gIHJldHVybiAoXG4gICAgZ2xvYmFsLm1hcCAhPT0gdW5kZWZpbmVkICYmXG4gICAgbWFwUmVmLmN1cnJlbnQgIT09IG51bGwgJiZcbiAgICBlZGdlcy5sZW5ndGggIT09IDAgJiZcbiAgICBhcmVhcy5sZW5ndGggIT09IDBcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwID0gKFxuICBsYXllcnNUb0ZpbmQ6IHN0cmluZ1tdLFxuICBjdXJyZW50TGF5ZXIsXG4pID0+IHtcbiAgcmV0dXJuIChcbiAgICBsYXllcnNUb0ZpbmQuaW5jbHVkZXMoY3VycmVudExheWVyLmthbmRvX29iamVjdCkgJiZcbiAgICBjdXJyZW50TGF5ZXIua2FuZG9fcG9pbnRfdHlwZSAhPT0gJ01hbmhvbGUnXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRlckljb25zID0gKGxheWVyLCB6b29tTGV2ZWwpID0+IHtcbiAgbGV0IGljb24gPSBsYXllci5vcHRpb25zLmljb247XG4gIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25TaXplO1xuICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGV2ZW50c0NvdW50SWNvbih6b29tTGV2ZWwpLmljb25BbmNob3I7XG4gIGxheWVyLnNldEljb24oaWNvbik7XG4gIGxheWVyLnNldE9wYWNpdHkoMSk7XG59O1xuXG5leHBvcnQgY29uc3QgbXVsdGlwbGVMYXllcmVkSWNvbnMgPSAobGF5ZXIsIHpvb21MZXZlbCkgPT4ge1xuICBsZXQgaWNvbiA9IGxheWVyLm9wdGlvbnMuaWNvbjtcbiAgbGV0IGlzQUZld0xheWVySWNvbiA9IGxheWVyLmthbmRvX2Zld19sYXllcl9pY29uO1xuICBsZXQgbWluaUljb24gPSB7XG4gICAgcHJlc2VudDogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5IHx8IGxheWVyLmthbmRvX3RoaXJkLFxuICAgIHNlY29uZGFyeTogbGF5ZXIua2FuZG9fc2Vjb25kYXJ5LFxuICAgIHRoaXJkOiBsYXllci5rYW5kb190aGlyZCxcbiAgfTtcblxuICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAwKSB7XG4gICAgaWYgKGlzQUZld0xheWVySWNvbikge1xuICAgICAgaWNvbi5vcHRpb25zLmljb25TaXplID0gYnViYmxlSWNvbk9wdGlvbnMoem9vbUxldmVsLCBtaW5pSWNvbikuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IGJ1YmJsZUljb25PcHRpb25zKFxuICAgICAgICB6b29tTGV2ZWwsXG4gICAgICAgIG1pbmlJY29uLFxuICAgICAgKS5pY29uQW5jaG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBvbmVMYXllckljb25PcHRpb25zKHpvb21MZXZlbCkuaWNvblNpemU7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvbkFuY2hvciA9IG9uZUxheWVySWNvbk9wdGlvbnMoem9vbUxldmVsKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAobGF5ZXIua2FuZG9faW5kZXhfb2JqZWN0ID09PSAxKSB7XG4gICAgICBpY29uLm9wdGlvbnMuaWNvblNpemUgPSBtaWRkbGVJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uU2l6ZTtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uQW5jaG9yID0gbWlkZGxlSWNvbk9wdGlvbnMoXG4gICAgICAgIHpvb21MZXZlbCxcbiAgICAgICAgbWluaUljb24sXG4gICAgICApLmljb25BbmNob3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIGljb24ub3B0aW9ucy5pY29uU2l6ZSA9IHRvcEljb25PcHRpb25zKHpvb21MZXZlbCwgbWluaUljb24pLmljb25TaXplO1xuICAgICAgaWNvbi5vcHRpb25zLmljb25BbmNob3IgPSB0b3BJY29uT3B0aW9ucyh6b29tTGV2ZWwsIG1pbmlJY29uKS5pY29uQW5jaG9yO1xuICAgIH1cbiAgfVxuXG4gIGxheWVyLnNldEljb24oaWNvbik7XG59O1xuXG5jb25zdCBvbmVMYXllckljb25PcHRpb25zID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMy4zLCB6b29tTGV2ZWwgKiAzLjNdLFxuICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjcsIHpvb21MZXZlbCAqIDMuN10sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZXZlbnRzQ291bnRJY29uID0gKHpvb21MZXZlbCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGljb25TaXplOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMi41LCB6b29tTGV2ZWwgKiAyLjVdLFxuICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiA0XSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBidWJibGVJY29uT3B0aW9ucyA9ICh6b29tTGV2ZWwsIG1pbmlJY29uKSA9PiB7XG4gIGlmIChtaW5pSWNvbi5wcmVzZW50KSB7XG4gICAgaWYgKG1pbmlJY29uLnNlY29uZGFyeSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAxLjk4LCB6b29tTGV2ZWwgKiAyLjNdLFxuICAgICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMCwgem9vbUxldmVsICogNF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDEuOTgsIHpvb21MZXZlbCAqIDIuM10sXG4gICAgICAgIGljb25BbmNob3I6IDxQb2ludFR1cGxlPlt6b29tTGV2ZWwgKiAwLCB6b29tTGV2ZWwgKiAyXSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogPFBvaW50VHVwbGU+W3pvb21MZXZlbCAqIDMuOTgsIHpvb21MZXZlbCAqIDQuM10sXG4gICAgICBpY29uQW5jaG9yOiA8UG9pbnRUdXBsZT5bem9vbUxldmVsICogMiwgem9vbUxldmVsICogNF0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IG1pZGRsZUljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuMSwgem9vbUxldmVsICogMS4xXSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjQ1LCB6b29tTGV2ZWwgKiAzLjVdLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAxLjEsIHpvb21MZXZlbCAqIDEuMV0sXG4gICAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAtMC40NSwgem9vbUxldmVsICogMS41XSxcbiAgICAgIH07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDIuNSwgem9vbUxldmVsICogMi41XSxcbiAgICAgIGljb25BbmNob3I6IFt6b29tTGV2ZWwgKiAxLjI5NSwgem9vbUxldmVsICogMy4zNV0sXG4gICAgfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHRvcEljb25PcHRpb25zID0gKHpvb21MZXZlbCwgbWluaUljb24pID0+IHtcbiAgaWYgKG1pbmlJY29uLnByZXNlbnQpIHtcbiAgICBpZiAobWluaUljb24uc2Vjb25kYXJ5KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDAuOSwgem9vbUxldmVsICogMS44XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjUsIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uU2l6ZTogW3pvb21MZXZlbCAqIDEuNiwgem9vbUxldmVsICogMi41XSxcbiAgICAgICAgaWNvbkFuY2hvcjogW3pvb21MZXZlbCAqIC0wLjIsIHpvb21MZXZlbCAqIDIuMV0sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWNvblNpemU6IFt6b29tTGV2ZWwgKiAzLjksIHpvb21MZXZlbCAqIDMuOF0sXG4gICAgICBpY29uQW5jaG9yOiBbem9vbUxldmVsICogMiwgem9vbUxldmVsICogMy44XSxcbiAgICB9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgaWNvblpvb21Db250cm9sID0gKG1hcCkgPT4ge1xuICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gIGxldCB6b29tTGV2ZWwgPSBtYXAuX3pvb207XG5cbiAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBsYXllcnMpIHtcbiAgICBpZiAoZmluZFNwZWNpZmljTGF5ZXJzRnJvbU1hcChbJ0ljb25OdW1iZXInXSwgbGF5ZXJzW3Byb3BlcnR5XSkpIHtcbiAgICAgIGV2ZW50c0NvdW50ZXJJY29ucyhsYXllcnNbcHJvcGVydHldLCB6b29tTGV2ZWwpO1xuICAgIH1cblxuICAgIGlmIChmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnUG9pbnQnLCAnSWNvbiddLCBsYXllcnNbcHJvcGVydHldKSkge1xuICAgICAgbXVsdGlwbGVMYXllcmVkSWNvbnMobGF5ZXJzW3Byb3BlcnR5XSwgem9vbUxldmVsKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBmaW5kU3BlY2lmaWNMYXllcnNGcm9tTWFwKFsnU2FtcGxpbmcnLCAnT2JzZXJ2YXRpb24nXSwgbGF5ZXJzW3Byb3BlcnR5XSlcbiAgICApIHtcbiAgICAgIG11bHRpcGxlTGF5ZXJlZEljb25zKGxheWVyc1twcm9wZXJ0eV0sIHpvb21MZXZlbCk7XG4gICAgfVxuICB9XG59O1xuXG5jb25zdCBtYXBTdHlsZSA9IChtYXBCb3hTdHlsZSkgPT4ge1xuICByZXR1cm4gTC50aWxlTGF5ZXIoXG4gICAgYGh0dHBzOi8vYXBpLm1hcGJveC5jb20vc3R5bGVzL3YxL25hZGF2LWthbmRvLyR7bWFwQm94U3R5bGV9L3RpbGVzLzI1Ni97en0ve3h9L3t5fUAyeD9hY2Nlc3NfdG9rZW49cGsuZXlKMUlqb2libUZrWVhZdGEyRnVaRzhpTENKaElqb2lZMnB2ZUhwcmRHUnhNSGxtZERONGJEZzBkekp4T1hjNGRTSjkuSi0yb2hxN2o0eUtOYm00Tl8tUDZxd2AsXG4gICAge1xuICAgICAgYXR0cmlidXRpb246XG4gICAgICAgICdNYXAgZGF0YSAmY29weTsgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm9wZW5zdHJlZXRtYXAub3JnL1wiPk9wZW5TdHJlZXRNYXA8L2E+IGNvbnRyaWJ1dG9ycywgPGEgaHJlZj1cImh0dHBzOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8yLjAvXCI+Q0MtQlktU0E8L2E+LCBJbWFnZXJ5IMKpIDxhIGhyZWY9XCJodHRwczovL3d3dy5tYXBib3guY29tL1wiPk1hcGJveDwvYT4nLFxuICAgICAgbWF4Wm9vbTogMTgsXG4gICAgICBtaW5ab29tOiAyLFxuICAgICAgaWQ6ICdtYXBib3gvc3RyZWV0cy12MTEnLFxuICAgICAgdGlsZVNpemU6IDUxMixcbiAgICAgIHpvb21PZmZzZXQ6IC0xLFxuICAgICAgdXBkYXRlV2hlblpvb21pbmc6IGZhbHNlLFxuICAgICAgdXBkYXRlV2hlbklkbGU6IGZhbHNlLFxuICAgIH0sXG4gICk7XG59O1xuY29uc3QgYmFzZU1hcHMgPSAobWFwQm94U3R5bGUsIG1hcEJveFNhdGVsbGl0ZVN0eWxlKSA9PiB7XG4gIGxldCBkZWZhdWx0TWFwID0gaTE4bi50KCdtYXAubGF5ZXJzLmRlZmF1bHQnKTtcbiAgbGV0IHNhdGVsbGl0ZSA9IGkxOG4udCgnbWFwLmxheWVycy5zYXRlbGxpdGUnKTtcbiAgcmV0dXJuIHtcbiAgICBbZGVmYXVsdE1hcF06IG1hcFN0eWxlKG1hcEJveFN0eWxlKSxcbiAgICBbc2F0ZWxsaXRlXTogbWFwU3R5bGUobWFwQm94U2F0ZWxsaXRlU3R5bGUpLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVNYXAgPSAoXG4gIG1hcFpvb21MZXZlbCxcbiAgbWFwQm94U3R5bGUsXG4gIG1hcEJveFNhdGVsbGl0ZVN0eWxlLFxuICBtYXBSZWYsXG4gIGRpc3BhdGNoLFxuICBpc1ZhbGlkQXJlYSxcbiAgYXJlYVRvQ2VudGVyQnksXG4gIHNldE1hcFpvb21MZXZlbCxcbikgPT4ge1xuICAvLyBAdHMtaWdub3JlXG4gIG1hcFJlZi5jdXJyZW50ID0gbmV3IEwuTWFwKCdtYXAnLCB7XG4gICAgY2VudGVyOiBbMCwgMF0sXG4gICAgem9vbVNuYXA6IDEsXG4gICAgem9vbTogbWFwWm9vbUxldmVsLFxuICAgIGF0dHJpYnV0aW9uQ29udHJvbDogZmFsc2UsXG4gICAgcHJlZmVyQ2FudmFzOiB0cnVlLFxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC53aGVuUmVhZHkoKCkgPT4ge1xuICAgIGxldCBtYXAgPSBtYXBSZWYuY3VycmVudDtcbiAgICBMLmNvbnRyb2xcbiAgICAgIC5sYXllcnMoXG4gICAgICAgIGJhc2VNYXBzKG1hcEJveFN0eWxlLCBtYXBCb3hTYXRlbGxpdGVTdHlsZSksXG4gICAgICAgIHt9LFxuICAgICAgICB7IHBvc2l0aW9uOiAnYm90dG9tcmlnaHQnIH0sXG4gICAgICApXG4gICAgICAuYWRkVG8obWFwKTtcbiAgICBtYXBTdHlsZShtYXBCb3hTdHlsZSkuYWRkVG8obWFwKTtcblxuICAgIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgIC8vIGljb25ab29tQ29udHJvbChtYXApO1xuICAgIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIG1hcFJlZi5jdXJyZW50LmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2VycicsIGVycik7XG4gICAgICB9XG5cbiAgICAgIGRpc3BhdGNoKHN0b3JlTWFwKG1hcFJlZi5jdXJyZW50KSk7XG4gICAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQodHJ1ZSkpO1xuICAgIH0sIDApO1xuICAgIGlmIChtYXBSZWYuY3VycmVudCAmJiBpc1ZhbGlkQXJlYShhcmVhVG9DZW50ZXJCeSkpIHtcbiAgICAgIG1hcFJlZi5jdXJyZW50LmZpdEJvdW5kcyhhcmVhVG9DZW50ZXJCeSk7XG4gICAgfVxuICB9KTtcblxuICBtYXBSZWYuY3VycmVudC5vbignem9vbWVuZCcsIGZ1bmN0aW9uIChlKSB7XG4gICAgaWYgKCFtYXBSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgem9vbSA9IG1hcFJlZi5jdXJyZW50LmdldFpvb20oKTtcbiAgICBzZXRNYXBab29tTGV2ZWwoem9vbSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHpvb21MZXZlbHMgPSB7XG4gIDE6ICdYTGFyZ2UnLFxuICAyOiAnWExhcmdlJyxcbiAgMzogJ1hMYXJnZScsXG4gIDQ6ICdYTGFyZ2UnLFxuICA1OiAnWExhcmdlJyxcbiAgNjogJ1hMYXJnZScsXG4gIDc6ICdYTGFyZ2UnLFxuICA4OiAnTGFyZ2UnLFxuICA5OiAnTGFyZ2UnLFxuICAxMDogJ0xhcmdlJyxcbiAgMTE6ICdNTGFyZ2UnLFxuICAxMjogJ01MYXJnZScsXG4gIDEzOiAnTUxhcmdlJyxcbiAgMTQ6ICdNZWRpdW0nLFxuICAxNTogJ01lZGl1bScsXG4gIDE2OiAnTWVkaXVtJyxcbiAgMTc6ICdTbWFsbCcsXG4gIDE4OiAnU21hbGwnLFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFFTyxJQUFNRyxjQUFjLEdBQUcsU0FBakJBLGNBQWNBLENBQUlDLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyxjQUFjLEVBQUs7RUFDckUsSUFBSUMsV0FBZ0IsR0FBR0gsTUFBTSxDQUFDSSxPQUFPO0VBQ3JDLElBQUlILFdBQVcsQ0FBQ0MsY0FBYyxDQUFDLEVBQUU7SUFDL0JDLFdBQVcsQ0FBQ0UsU0FBUyxDQUFDSCxjQUFjLEVBQUU7TUFBRUksT0FBTyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFBRSxDQUFDLENBQUM7RUFDNUQsQ0FBQyxNQUFNO0lBQ0wsSUFBTUMsS0FBWSxHQUFHLEVBQUU7SUFFdkIsS0FBSyxJQUFNQyxRQUFRLElBQUlMLFdBQVcsQ0FBQ00sT0FBTyxFQUFFO01BQzFDLElBQUlOLFdBQVcsQ0FBQ00sT0FBTyxDQUFDRCxRQUFRLENBQUMsQ0FBQ0UsWUFBWSxLQUFLLE1BQU0sRUFBRTtRQUN6REgsS0FBSyxDQUFDSSxJQUFJLENBQUNSLFdBQVcsQ0FBQ00sT0FBTyxDQUFDRCxRQUFRLENBQUMsQ0FBQztNQUMzQztJQUNGO0lBRUEsSUFBSUksTUFBTSxDQUFDQyxJQUFJLENBQUNDLGdCQUFDLENBQUNDLFlBQVksQ0FBQ1IsS0FBSyxDQUFDLENBQUNTLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsTUFBTSxLQUFLLENBQUMsRUFBRTtNQUMvRGQsV0FBVyxDQUFDRSxTQUFTLENBQUNTLGdCQUFD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
@@ -1,61 +1,44 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.default = void 0;
11
-
12
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
13
-
14
10
  var _react = _interopRequireWildcard(require("react"));
15
-
16
11
  var _reactRedux = require("react-redux");
17
-
18
12
  var _useRemoveExistingLayers = _interopRequireDefault(require("hooks/useRemoveExistingLayers"));
19
-
20
13
  var _scoreToColor = require("utilities/scoreToColor");
21
-
22
14
  var _theme = require("../../../styles/theme/theme");
23
-
24
15
  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); }
25
-
26
16
  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; }
27
-
28
17
  var AreaPolygon = function AreaPolygon(props) {
29
18
  var L = props.L,
30
- map = props.map,
31
- area = props.area,
32
- mapZoom = props.mapZoom;
19
+ map = props.map,
20
+ area = props.area,
21
+ mapZoom = props.mapZoom;
33
22
  (0, _useRemoveExistingLayers.default)(map, area, 'Area', mapZoom);
34
-
35
23
  var _useState = (0, _react.useState)(),
36
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
37
- LayerGroup = _useState2[0],
38
- setLayerGroup = _useState2[1];
39
-
24
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
25
+ LayerGroup = _useState2[0],
26
+ setLayerGroup = _useState2[1];
40
27
  var getAreaName = function getAreaName(area) {
41
28
  var name = area.area_name || area.name;
42
29
  return name;
43
30
  };
44
-
45
31
  (0, _react.useEffect)(function () {
46
32
  if (LayerGroup) {
47
33
  LayerGroup.clearLayers();
48
34
  }
49
-
50
35
  if (area.shape_data !== null && area.shape_data !== undefined && area.shape_data.length > 0) {
51
36
  var latlngs = area.shape_data.map(function (location) {
52
37
  return [location['lat'], location['lng']];
53
38
  });
54
-
55
39
  if (latlngs.length < 1) {
56
40
  return;
57
41
  }
58
-
59
42
  var color = area.color ? area.color : (0, _scoreToColor.scoreToColor)(area.area_score);
60
43
  var title = "<div class=\"area-tooltip\" style=\"color:".concat(_theme.theme.colorScheme.primary.ps1, ";font-weight:700;background-color:transparent;font-size: ").concat((mapZoom - 10) * 6, "px;-webkit-text-stroke: 0.8px #ffffff;\"> ").concat(getAreaName(area), " </div>");
61
44
  var group = L.layerGroup([]);
@@ -78,10 +61,7 @@ var AreaPolygon = function AreaPolygon(props) {
78
61
  }, [area, mapZoom]);
79
62
  return /*#__PURE__*/_react.default.createElement("div", null);
80
63
  };
81
-
82
64
  var connector = (0, _reactRedux.connect)(null);
83
-
84
65
  var _default = connector(AreaPolygon);
85
-
86
66
  exports.default = _default;
87
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhUG9seWdvbi50c3giXSwibmFtZXMiOlsiQXJlYVBvbHlnb24iLCJwcm9wcyIsIkwiLCJtYXAiLCJhcmVhIiwibWFwWm9vbSIsIkxheWVyR3JvdXAiLCJzZXRMYXllckdyb3VwIiwiZ2V0QXJlYU5hbWUiLCJuYW1lIiwiYXJlYV9uYW1lIiwiY2xlYXJMYXllcnMiLCJzaGFwZV9kYXRhIiwidW5kZWZpbmVkIiwibGVuZ3RoIiwibGF0bG5ncyIsImxvY2F0aW9uIiwiY29sb3IiLCJhcmVhX3Njb3JlIiwidGl0bGUiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwicHJpbWFyeSIsInBzMSIsImdyb3VwIiwibGF5ZXJHcm91cCIsInBvbHlnb24iLCJmaWxsT3BhY2l0eSIsInNob3dDb2xvck9ubHlJbkJvcmRlcnMiLCJ3ZWlnaHQiLCJiaW5kVG9vbHRpcCIsImNsYXNzTmFtZSIsInBlcm1hbmVudCIsImRpcmVjdGlvbiIsImlkIiwiYWRkTGF5ZXIiLCJhZGRUbyIsImJyaW5nVG9CYWNrIiwiY29ubmVjdG9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7OztBQVFBLElBQU1BLFdBQTRCLEdBQUcsU0FBL0JBLFdBQStCLENBQUNDLEtBQUQsRUFBVztBQUM5QyxNQUFRQyxDQUFSLEdBQWtDRCxLQUFsQyxDQUFRQyxDQUFSO0FBQUEsTUFBV0MsR0FBWCxHQUFrQ0YsS0FBbEMsQ0FBV0UsR0FBWDtBQUFBLE1BQWdCQyxJQUFoQixHQUFrQ0gsS0FBbEMsQ0FBZ0JHLElBQWhCO0FBQUEsTUFBc0JDLE9BQXRCLEdBQWtDSixLQUFsQyxDQUFzQkksT0FBdEI7QUFFQSx3Q0FBd0JGLEdBQXhCLEVBQTZCQyxJQUE3QixFQUFtQyxNQUFuQyxFQUEyQ0MsT0FBM0M7O0FBQ0Esa0JBQW9DLHNCQUFwQztBQUFBO0FBQUEsTUFBT0MsVUFBUDtBQUFBLE1BQW1CQyxhQUFuQjs7QUFDQSxNQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBYyxDQUFDSixJQUFELEVBQVU7QUFDNUIsUUFBSUssSUFBSSxHQUFHTCxJQUFJLENBQUNNLFNBQUwsSUFBa0JOLElBQUksQ0FBQ0ssSUFBbEM7QUFFQSxXQUFPQSxJQUFQO0FBQ0QsR0FKRDs7QUFLQSx3QkFBVSxZQUFNO0FBQ2QsUUFBSUgsVUFBSixFQUFnQjtBQUNkQSxNQUFBQSxVQUFVLENBQUNLLFdBQVg7QUFDRDs7QUFDRCxRQUNFUCxJQUFJLENBQUNRLFVBQUwsS0FBb0IsSUFBcEIsSUFDQVIsSUFBSSxDQUFDUSxVQUFMLEtBQW9CQyxTQURwQixJQUVBVCxJQUFJLENBQUNRLFVBQUwsQ0FBZ0JFLE1BQWhCLEdBQXlCLENBSDNCLEVBSUU7QUFDQSxVQUFJQyxPQUFPLEdBQUdYLElBQUksQ0FBQ1EsVUFBTCxDQUFnQlQsR0FBaEIsQ0FBb0IsVUFBQ2EsUUFBRCxFQUFtQjtBQUNuRCxlQUFPLENBQUNBLFFBQVEsQ0FBQyxLQUFELENBQVQsRUFBa0JBLFFBQVEsQ0FBQyxLQUFELENBQTFCLENBQVA7QUFDRCxPQUZhLENBQWQ7O0FBSUEsVUFBSUQsT0FBTyxDQUFDRCxNQUFSLEdBQWlCLENBQXJCLEVBQXdCO0FBQ3RCO0FBQ0Q7O0FBRUQsVUFBSUcsS0FBSyxHQUFHYixJQUFJLENBQUNhLEtBQUwsR0FBYWIsSUFBSSxDQUFDYSxLQUFsQixHQUEwQixnQ0FBYWIsSUFBSSxDQUFDYyxVQUFsQixDQUF0QztBQUNBLFVBQU1DLEtBQUssdURBQ1RDLGFBQU1DLFdBQU4sQ0FBa0JDLE9BQWxCLENBQTBCQyxHQURqQixzRUFHVCxDQUFDbEIsT0FBTyxHQUFHLEVBQVgsSUFBaUIsQ0FIUix1REFJaUNHLFdBQVcsQ0FBQ0osSUFBRCxDQUo1QyxZQUFYO0FBS0EsVUFBSW9CLEtBQWlCLEdBQUd0QixDQUFDLENBQUN1QixVQUFGLENBQWEsRUFBYixDQUF4QjtBQUNBLFVBQUlDLE9BQUo7QUFDQUEsTUFBQUEsT0FBTyxHQUFHeEIsQ0FBQyxDQUFDd0IsT0FBRixDQUFVWCxPQUFWLEVBQW1CO0FBQzNCRSxRQUFBQSxLQUFLLEVBQUxBLEtBRDJCO0FBRTNCVSxRQUFBQSxXQUFXLEVBQUV2QixJQUFJLENBQUN3QixzQkFBTCxHQUE4QixHQUE5QixHQUFvQyxHQUZ0QjtBQUczQkMsUUFBQUEsTUFBTSxFQUFFekIsSUFBSSxDQUFDd0Isc0JBQUwsR0FBOEIsQ0FBOUIsR0FBa0M7QUFIZixPQUFuQixFQUlQRSxXQUpPLENBSUtYLEtBSkwsRUFJWTtBQUNwQlksUUFBQUEsU0FBUyxFQUFFLGNBRFM7QUFFcEJDLFFBQUFBLFNBQVMsRUFBRTNCLE9BQU8sR0FBRyxFQUZEO0FBR3BCNEIsUUFBQUEsU0FBUyxFQUFFO0FBSFMsT0FKWixDQUFWO0FBVUFQLE1BQUFBLE9BQU8sQ0FBQyxpQkFBRCxDQUFQLEdBQTZCdEIsSUFBSSxDQUFDOEIsRUFBbEM7QUFDQVIsTUFBQUEsT0FBTyxDQUFDLGNBQUQsQ0FBUCxHQUEwQixNQUExQjtBQUVBbkIsTUFBQUEsYUFBYSxDQUFDaUIsS0FBRCxDQUFiO0FBRUFBLE1BQUFBLEtBQUssQ0FBQ1csUUFBTixDQUFlVCxPQUFmLEVBQXdCVSxLQUF4QixDQUE4QmpDLEdBQTlCO0FBQ0F1QixNQUFBQSxPQUFPLENBQUNXLFdBQVI7QUFDRDtBQUNGLEdBM0NELEVBMkNHLENBQUNqQyxJQUFELEVBQU9DLE9BQVAsQ0EzQ0g7QUE2Q0Esc0JBQU8seUNBQVA7QUFDRCxDQXhERDs7QUEwREEsSUFBTWlDLFNBQVMsR0FBRyx5QkFBUSxJQUFSLENBQWxCOztlQUNlQSxTQUFTLENBQUN0QyxXQUFELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXllckdyb3VwLCBQb2x5Z29uIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMgZnJvbSAnc3JjL2hvb2tzL3VzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzJztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBzY29yZVRvQ29sb3IgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3Njb3JlVG9Db2xvcic7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBhcmVhOiBJQXJlYSAmIHsgY29sb3I/OiBzdHJpbmc7IHNob3dDb2xvck9ubHlJbkJvcmRlcnM/OiBib29sZWFuIH07XG4gIG1hcFpvb206IG51bWJlcjtcbn07XG5cbmNvbnN0IEFyZWFQb2x5Z29uOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBMLCBtYXAsIGFyZWEsIG1hcFpvb20gfSA9IHByb3BzO1xuXG4gIHVzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzKG1hcCwgYXJlYSwgJ0FyZWEnLCBtYXBab29tKTtcbiAgY29uc3QgW0xheWVyR3JvdXAsIHNldExheWVyR3JvdXBdID0gdXNlU3RhdGU8YW55PigpO1xuICBjb25zdCBnZXRBcmVhTmFtZSA9IChhcmVhKSA9PiB7XG4gICAgbGV0IG5hbWUgPSBhcmVhLmFyZWFfbmFtZSB8fCBhcmVhLm5hbWU7XG5cbiAgICByZXR1cm4gbmFtZTtcbiAgfTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoTGF5ZXJHcm91cCkge1xuICAgICAgTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBhcmVhLnNoYXBlX2RhdGEgIT09IG51bGwgJiZcbiAgICAgIGFyZWEuc2hhcGVfZGF0YSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBhcmVhLnNoYXBlX2RhdGEubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgbGV0IGxhdGxuZ3MgPSBhcmVhLnNoYXBlX2RhdGEubWFwKChsb2NhdGlvbjogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBbbG9jYXRpb25bJ2xhdCddLCBsb2NhdGlvblsnbG5nJ11dO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChsYXRsbmdzLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsZXQgY29sb3IgPSBhcmVhLmNvbG9yID8gYXJlYS5jb2xvciA6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpO1xuICAgICAgY29uc3QgdGl0bGUgPSBgPGRpdiBjbGFzcz1cImFyZWEtdG9vbHRpcFwiIHN0eWxlPVwiY29sb3I6JHtcbiAgICAgICAgdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wczFcbiAgICAgIH07Zm9udC13ZWlnaHQ6NzAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOiAke1xuICAgICAgICAobWFwWm9vbSAtIDEwKSAqIDZcbiAgICAgIH1weDstd2Via2l0LXRleHQtc3Ryb2tlOiAwLjhweCAjZmZmZmZmO1wiPiAke2dldEFyZWFOYW1lKGFyZWEpfSA8L2Rpdj5gO1xuICAgICAgbGV0IGdyb3VwOiBMYXllckdyb3VwID0gTC5sYXllckdyb3VwKFtdKTtcbiAgICAgIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICAgICAgcG9seWdvbiA9IEwucG9seWdvbihsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yLFxuICAgICAgICBmaWxsT3BhY2l0eTogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMC4zIDogMC40LFxuICAgICAgICB3ZWlnaHQ6IGFyZWEuc2hvd0NvbG9yT25seUluQm9yZGVycyA/IDIgOiAwLFxuICAgICAgfSkuYmluZFRvb2x0aXAodGl0bGUsIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnYXJlYS10b29sdGlwJyxcbiAgICAgICAgcGVybWFuZW50OiBtYXBab29tID4gMTIsXG4gICAgICAgIGRpcmVjdGlvbjogJ2NlbnRlcicsXG4gICAgICB9KTtcblxuICAgICAgcG9seWdvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBhcmVhLmlkO1xuICAgICAgcG9seWdvblsna2FuZG9fb2JqZWN0J10gPSAnQXJlYSc7XG5cbiAgICAgIHNldExheWVyR3JvdXAoZ3JvdXApO1xuXG4gICAgICBncm91cC5hZGRMYXllcihwb2x5Z29uKS5hZGRUbyhtYXApO1xuICAgICAgcG9seWdvbi5icmluZ1RvQmFjaygpO1xuICAgIH1cbiAgfSwgW2FyZWEsIG1hcFpvb21dKTtcblxuICByZXR1cm4gPGRpdj48L2Rpdj47XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG51bGwpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEFyZWFQb2x5Z29uKTtcbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl91c2VSZW1vdmVFeGlzdGluZ0xheWVycyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc2NvcmVUb0NvbG9yIiwiX3RoZW1lIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJBcmVhUG9seWdvbiIsInByb3BzIiwiTCIsIm1hcCIsImFyZWEiLCJtYXBab29tIiwidXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJMYXllckdyb3VwIiwic2V0TGF5ZXJHcm91cCIsImdldEFyZWFOYW1lIiwibmFtZSIsImFyZWFfbmFtZSIsInVzZUVmZmVjdCIsImNsZWFyTGF5ZXJzIiwic2hhcGVfZGF0YSIsInVuZGVmaW5lZCIsImxlbmd0aCIsImxhdGxuZ3MiLCJsb2NhdGlvbiIsImNvbG9yIiwic2NvcmVUb0NvbG9yIiwiYXJlYV9zY29yZSIsInRpdGxlIiwiY29uY2F0IiwidGhlbWUiLCJjb2xvclNjaGVtZSIsInByaW1hcnkiLCJwczEiLCJncm91cCIsImxheWVyR3JvdXAiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiYmluZFRvb2x0aXAiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJpZCIsImFkZExheWVyIiwiYWRkVG8iLCJicmluZ1RvQmFjayIsImNyZWF0ZUVsZW1lbnQiLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2FyZWFzL0FyZWFQb2x5Z29uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXllckdyb3VwLCBQb2x5Z29uIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMgZnJvbSAnc3JjL2hvb2tzL3VzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzJztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBzY29yZVRvQ29sb3IgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3Njb3JlVG9Db2xvcic7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBhcmVhOiBJQXJlYSAmIHsgY29sb3I/OiBzdHJpbmc7IHNob3dDb2xvck9ubHlJbkJvcmRlcnM/OiBib29sZWFuIH07XG4gIG1hcFpvb206IG51bWJlcjtcbn07XG5cbmNvbnN0IEFyZWFQb2x5Z29uOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBMLCBtYXAsIGFyZWEsIG1hcFpvb20gfSA9IHByb3BzO1xuXG4gIHVzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzKG1hcCwgYXJlYSwgJ0FyZWEnLCBtYXBab29tKTtcbiAgY29uc3QgW0xheWVyR3JvdXAsIHNldExheWVyR3JvdXBdID0gdXNlU3RhdGU8YW55PigpO1xuICBjb25zdCBnZXRBcmVhTmFtZSA9IChhcmVhKSA9PiB7XG4gICAgbGV0IG5hbWUgPSBhcmVhLmFyZWFfbmFtZSB8fCBhcmVhLm5hbWU7XG5cbiAgICByZXR1cm4gbmFtZTtcbiAgfTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoTGF5ZXJHcm91cCkge1xuICAgICAgTGF5ZXJHcm91cC5jbGVhckxheWVycygpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBhcmVhLnNoYXBlX2RhdGEgIT09IG51bGwgJiZcbiAgICAgIGFyZWEuc2hhcGVfZGF0YSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBhcmVhLnNoYXBlX2RhdGEubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgbGV0IGxhdGxuZ3MgPSBhcmVhLnNoYXBlX2RhdGEubWFwKChsb2NhdGlvbjogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBbbG9jYXRpb25bJ2xhdCddLCBsb2NhdGlvblsnbG5nJ11dO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChsYXRsbmdzLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsZXQgY29sb3IgPSBhcmVhLmNvbG9yID8gYXJlYS5jb2xvciA6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpO1xuICAgICAgY29uc3QgdGl0bGUgPSBgPGRpdiBjbGFzcz1cImFyZWEtdG9vbHRpcFwiIHN0eWxlPVwiY29sb3I6JHtcbiAgICAgICAgdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wczFcbiAgICAgIH07Zm9udC13ZWlnaHQ6NzAwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOiAke1xuICAgICAgICAobWFwWm9vbSAtIDEwKSAqIDZcbiAgICAgIH1weDstd2Via2l0LXRleHQtc3Ryb2tlOiAwLjhweCAjZmZmZmZmO1wiPiAke2dldEFyZWFOYW1lKGFyZWEpfSA8L2Rpdj5gO1xuICAgICAgbGV0IGdyb3VwOiBMYXllckdyb3VwID0gTC5sYXllckdyb3VwKFtdKTtcbiAgICAgIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICAgICAgcG9seWdvbiA9IEwucG9seWdvbihsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yLFxuICAgICAgICBmaWxsT3BhY2l0eTogYXJlYS5zaG93Q29sb3JPbmx5SW5Cb3JkZXJzID8gMC4zIDogMC40LFxuICAgICAgICB3ZWlnaHQ6IGFyZWEuc2hvd0NvbG9yT25seUluQm9yZGVycyA/IDIgOiAwLFxuICAgICAgfSkuYmluZFRvb2x0aXAodGl0bGUsIHtcbiAgICAgICAgY2xhc3NOYW1lOiAnYXJlYS10b29sdGlwJyxcbiAgICAgICAgcGVybWFuZW50OiBtYXBab29tID4gMTIsXG4gICAgICAgIGRpcmVjdGlvbjogJ2NlbnRlcicsXG4gICAgICB9KTtcblxuICAgICAgcG9seWdvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBhcmVhLmlkO1xuICAgICAgcG9seWdvblsna2FuZG9fb2JqZWN0J10gPSAnQXJlYSc7XG5cbiAgICAgIHNldExheWVyR3JvdXAoZ3JvdXApO1xuXG4gICAgICBncm91cC5hZGRMYXllcihwb2x5Z29uKS5hZGRUbyhtYXApO1xuICAgICAgcG9seWdvbi5icmluZ1RvQmFjaygpO1xuICAgIH1cbiAgfSwgW2FyZWEsIG1hcFpvb21dKTtcblxuICByZXR1cm4gPGRpdj48L2Rpdj47XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG51bGwpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEFyZWFQb2x5Z29uKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsd0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLElBQUFJLGFBQUEsR0FBQUosT0FBQTtBQUNBLElB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
@@ -1,37 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.AreaPolygons = void 0;
11
-
12
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
13
-
14
10
  var _react = _interopRequireWildcard(require("react"));
15
-
16
11
  var _AreaPolygon = _interopRequireDefault(require("./AreaPolygon"));
17
-
18
12
  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); }
19
-
20
13
  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; }
21
-
22
14
  var AreaPolygons = function AreaPolygons(props) {
23
15
  var L = props.L,
24
- areas = props.areas,
25
- map = props.map,
26
- mapZoom = props.mapZoom,
27
- areaToCenterBy = props.areaToCenterBy;
16
+ areas = props.areas,
17
+ map = props.map,
18
+ mapZoom = props.mapZoom,
19
+ areaToCenterBy = props.areaToCenterBy;
28
20
  var group = [];
29
-
30
21
  var _useState = (0, _react.useState)(true),
31
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
32
- shouldFly = _useState2[0],
33
- setShouldFly = _useState2[1];
34
-
22
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
23
+ shouldFly = _useState2[0],
24
+ setShouldFly = _useState2[1];
35
25
  (0, _react.useEffect)(function () {
36
26
  if (shouldFly) {
37
27
  for (var property in map._layers) {
@@ -39,14 +29,12 @@ var AreaPolygons = function AreaPolygons(props) {
39
29
  group.push(map._layers[property]);
40
30
  }
41
31
  }
42
-
43
32
  if (group.length !== 0 && !areaToCenterBy) {
44
33
  map.fitBounds(L.featureGroup(group).getBounds(), {
45
34
  padding: [420, 420]
46
35
  });
47
36
  setShouldFly(false);
48
37
  }
49
-
50
38
  map.invalidateSize(true);
51
39
  }
52
40
  }, [areas]);
@@ -60,6 +48,5 @@ var AreaPolygons = function AreaPolygons(props) {
60
48
  });
61
49
  }));
62
50
  };
63
-
64
51
  exports.AreaPolygons = AreaPolygons;
65
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhUG9seWdvbnMudHN4Il0sIm5hbWVzIjpbIkFyZWFQb2x5Z29ucyIsInByb3BzIiwiTCIsImFyZWFzIiwibWFwIiwibWFwWm9vbSIsImFyZWFUb0NlbnRlckJ5IiwiZ3JvdXAiLCJzaG91bGRGbHkiLCJzZXRTaG91bGRGbHkiLCJwcm9wZXJ0eSIsIl9sYXllcnMiLCJrYW5kb19vYmplY3QiLCJwdXNoIiwibGVuZ3RoIiwiZml0Qm91bmRzIiwiZmVhdHVyZUdyb3VwIiwiZ2V0Qm91bmRzIiwicGFkZGluZyIsImludmFsaWRhdGVTaXplIiwiYXJlYSIsImFyZWFfaWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7Ozs7O0FBVU8sSUFBTUEsWUFBNkIsR0FBRyxTQUFoQ0EsWUFBZ0MsQ0FBQ0MsS0FBRCxFQUFXO0FBQ3RELE1BQVFDLENBQVIsR0FBbURELEtBQW5ELENBQVFDLENBQVI7QUFBQSxNQUFXQyxLQUFYLEdBQW1ERixLQUFuRCxDQUFXRSxLQUFYO0FBQUEsTUFBa0JDLEdBQWxCLEdBQW1ESCxLQUFuRCxDQUFrQkcsR0FBbEI7QUFBQSxNQUF1QkMsT0FBdkIsR0FBbURKLEtBQW5ELENBQXVCSSxPQUF2QjtBQUFBLE1BQWdDQyxjQUFoQyxHQUFtREwsS0FBbkQsQ0FBZ0NLLGNBQWhDO0FBQ0EsTUFBTUMsS0FBWSxHQUFHLEVBQXJCOztBQUNBLGtCQUFrQyxxQkFBUyxJQUFULENBQWxDO0FBQUE7QUFBQSxNQUFPQyxTQUFQO0FBQUEsTUFBa0JDLFlBQWxCOztBQUVBLHdCQUFVLFlBQU07QUFDZCxRQUFJRCxTQUFKLEVBQWU7QUFDYixXQUFLLElBQU1FLFFBQVgsSUFBdUJOLEdBQUcsQ0FBQ08sT0FBM0IsRUFBb0M7QUFDbEMsWUFBSVAsR0FBRyxDQUFDTyxPQUFKLENBQVlELFFBQVosRUFBc0JFLFlBQXRCLEtBQXVDLE1BQTNDLEVBQW1EO0FBQ2pETCxVQUFBQSxLQUFLLENBQUNNLElBQU4sQ0FBV1QsR0FBRyxDQUFDTyxPQUFKLENBQVlELFFBQVosQ0FBWDtBQUNEO0FBQ0Y7O0FBRUQsVUFBSUgsS0FBSyxDQUFDTyxNQUFOLEtBQWlCLENBQWpCLElBQXNCLENBQUNSLGNBQTNCLEVBQTJDO0FBQ3pDRixRQUFBQSxHQUFHLENBQUNXLFNBQUosQ0FBY2IsQ0FBQyxDQUFDYyxZQUFGLENBQWVULEtBQWYsRUFBc0JVLFNBQXRCLEVBQWQsRUFBaUQ7QUFDL0NDLFVBQUFBLE9BQU8sRUFBRSxDQUFDLEdBQUQsRUFBTSxHQUFOO0FBRHNDLFNBQWpEO0FBR0FULFFBQUFBLFlBQVksQ0FBQyxLQUFELENBQVo7QUFDRDs7QUFFREwsTUFBQUEsR0FBRyxDQUFDZSxjQUFKLENBQW1CLElBQW5CO0FBQ0Q7QUFDRixHQWpCRCxFQWlCRyxDQUFDaEIsS0FBRCxDQWpCSDtBQW1CQSxzQkFDRSw0REFDR0EsS0FBSyxDQUFDVyxNQUFOLEtBQWlCLENBQWpCLElBQ0NYLEtBQUssQ0FBQ1csTUFBTixLQUFpQixDQURsQixJQUVDWCxLQUFLLENBQUNDLEdBQU4sQ0FBVSxVQUFDZ0IsSUFBRDtBQUFBLHdCQUNSLDZCQUFDLG9CQUFEO0FBQ0UsTUFBQSxJQUFJLEVBQUVBLElBRFI7QUFFRSxNQUFBLEdBQUcsRUFBRWhCLEdBRlA7QUFHRSxNQUFBLENBQUMsRUFBRUYsQ0FITDtBQUlFLE1BQUEsR0FBRyxFQUFFa0IsSUFBSSxDQUFDQyxPQUpaO0FBS0UsTUFBQSxPQUFPLEVBQUVoQjtBQUxYLE1BRFE7QUFBQSxHQUFWLENBSEosQ0FERjtBQWVELENBdkNNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IEFyZWFQb2x5Z29uIGZyb20gJy4vQXJlYVBvbHlnb24nO1xuXG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBhcmVhczogSUFyZWFbXTtcbiAgbWFwWm9vbTogbnVtYmVyO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBBcmVhUG9seWdvbnM6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IEwsIGFyZWFzLCBtYXAsIG1hcFpvb20sIGFyZWFUb0NlbnRlckJ5IH0gPSBwcm9wcztcbiAgY29uc3QgZ3JvdXA6IGFueVtdID0gW107XG4gIGNvbnN0IFtzaG91bGRGbHksIHNldFNob3VsZEZseV0gPSB1c2VTdGF0ZSh0cnVlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzaG91bGRGbHkpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwLl9sYXllcnMpIHtcbiAgICAgICAgaWYgKG1hcC5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdBcmVhJykge1xuICAgICAgICAgIGdyb3VwLnB1c2gobWFwLl9sYXllcnNbcHJvcGVydHldKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZ3JvdXAubGVuZ3RoICE9PSAwICYmICFhcmVhVG9DZW50ZXJCeSkge1xuICAgICAgICBtYXAuZml0Qm91bmRzKEwuZmVhdHVyZUdyb3VwKGdyb3VwKS5nZXRCb3VuZHMoKSwge1xuICAgICAgICAgIHBhZGRpbmc6IFs0MjAsIDQyMF0sXG4gICAgICAgIH0pO1xuICAgICAgICBzZXRTaG91bGRGbHkoZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBtYXAuaW52YWxpZGF0ZVNpemUodHJ1ZSk7XG4gICAgfVxuICB9LCBbYXJlYXNdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7YXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgICAgIGFyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICBhcmVhcy5tYXAoKGFyZWE6IElBcmVhKSA9PiAoXG4gICAgICAgICAgPEFyZWFQb2x5Z29uXG4gICAgICAgICAgICBhcmVhPXthcmVhfVxuICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAga2V5PXthcmVhLmFyZWFfaWR9XG4gICAgICAgICAgICBtYXBab29tPXttYXBab29tfVxuICAgICAgICAgIC8+XG4gICAgICAgICkpfVxuICAgIDwvPlxuICApO1xufTtcbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQXJlYVBvbHlnb24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJBcmVhUG9seWdvbnMiLCJwcm9wcyIsIkwiLCJhcmVhcyIsIm1hcCIsIm1hcFpvb20iLCJhcmVhVG9DZW50ZXJCeSIsImdyb3VwIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2hvdWxkRmx5Iiwic2V0U2hvdWxkRmx5IiwidXNlRWZmZWN0IiwicHJvcGVydHkiLCJfbGF5ZXJzIiwia2FuZG9fb2JqZWN0IiwicHVzaCIsImxlbmd0aCIsImZpdEJvdW5kcyIsImZlYXR1cmVHcm91cCIsImdldEJvdW5kcyIsInBhZGRpbmciLCJpbnZhbGlkYXRlU2l6ZSIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsImFyZWEiLCJhcmVhX2lkIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhUG9seWdvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCBBcmVhUG9seWdvbiBmcm9tICcuL0FyZWFQb2x5Z29uJztcblxudHlwZSBQcm9wcyA9IHtcbiAgbWFwOiBhbnk7XG4gIEw6IGFueTtcbiAgYXJlYXM6IElBcmVhW107XG4gIG1hcFpvb206IG51bWJlcjtcbiAgYXJlYVRvQ2VudGVyQnk/OiBhbnk7XG59O1xuXG5leHBvcnQgY29uc3QgQXJlYVBvbHlnb25zOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBMLCBhcmVhcywgbWFwLCBtYXBab29tLCBhcmVhVG9DZW50ZXJCeSB9ID0gcHJvcHM7XG4gIGNvbnN0IGdyb3VwOiBhbnlbXSA9IFtdO1xuICBjb25zdCBbc2hvdWxkRmx5LCBzZXRTaG91bGRGbHldID0gdXNlU3RhdGUodHJ1ZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2hvdWxkRmx5KSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIG1hcC5fbGF5ZXJzKSB7XG4gICAgICAgIGlmIChtYXAuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJlYScpIHtcbiAgICAgICAgICBncm91cC5wdXNoKG1hcC5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGdyb3VwLmxlbmd0aCAhPT0gMCAmJiAhYXJlYVRvQ2VudGVyQnkpIHtcbiAgICAgICAgbWFwLmZpdEJvdW5kcyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCksIHtcbiAgICAgICAgICBwYWRkaW5nOiBbNDIwLCA0MjBdLFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0U2hvdWxkRmx5KGZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgbWFwLmludmFsaWRhdGVTaXplKHRydWUpO1xuICAgIH1cbiAgfSwgW2FyZWFzXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICBhcmVhcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgYXJlYXMubWFwKChhcmVhOiBJQXJlYSkgPT4gKFxuICAgICAgICAgIDxBcmVhUG9seWdvblxuICAgICAgICAgICAgYXJlYT17YXJlYX1cbiAgICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgIGtleT17YXJlYS5hcmVhX2lkfVxuICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbX1cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICA8Lz5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUF3QyxTQUFBRyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQUwsd0JBQUFTLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVosR0FBQSxR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