@kando-env/kando-ui 1.2.349 → 1.2.350

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 (576) hide show
  1. package/lib/Router.js +73 -36
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +33 -23
  3. package/lib/Widgets/EventsRow/EventsRow.js +37 -25
  4. package/lib/Widgets/Map/GraphUtils.js +3 -3
  5. package/lib/Widgets/Map/Map.js +83 -66
  6. package/lib/Widgets/Map/MapUtils.js +39 -40
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +76 -52
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +24 -23
  9. package/lib/Widgets/Map/areas/AreaUtils.js +46 -46
  10. package/lib/Widgets/Map/areas/Patterns.js +4 -4
  11. package/lib/Widgets/Map/edges/Edge.js +31 -24
  12. package/lib/Widgets/Map/edges/Edges.js +23 -19
  13. package/lib/Widgets/Map/edges/arrows/Arrows.js +44 -23
  14. package/lib/Widgets/Map/events/Event.js +17 -17
  15. package/lib/Widgets/Map/events/EventIndicator.js +52 -57
  16. package/lib/Widgets/Map/events/EventPath.js +22 -24
  17. package/lib/Widgets/Map/events/EventUtils.js +78 -55
  18. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +18 -17
  19. package/lib/Widgets/Map/events/PointOfEvent.js +34 -29
  20. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +37 -30
  21. package/lib/Widgets/Map/events/Snail.js +20 -19
  22. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +86 -93
  23. package/lib/Widgets/Map/map/FloatingGraph.js +18 -22
  24. package/lib/Widgets/Map/map/GraphDateButton.js +17 -25
  25. package/lib/Widgets/Map/matchGraph/MatchGraph.js +12 -13
  26. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +15 -16
  27. package/lib/Widgets/Map/points/PointIcon.js +13 -15
  28. package/lib/Widgets/Map/points/PointMarker.js +87 -71
  29. package/lib/Widgets/Map/points/PointMarkers.js +66 -45
  30. package/lib/Widgets/Map/points/PointUtils.js +75 -69
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +45 -28
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +10 -11
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +11 -10
  34. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +3 -3
  35. package/lib/Widgets/MostPolluting/Areas/Areas.js +57 -28
  36. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +3 -3
  37. package/lib/Widgets/MostPolluting/Areas/styles.js +3 -3
  38. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +8 -11
  39. package/lib/Widgets/MostPolluting/Factories/Factories.js +64 -33
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +17 -14
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +7 -7
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +10 -12
  43. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -3
  44. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +2 -2
  45. package/lib/Widgets/MostPolluting/Factories/styles.js +3 -3
  46. package/lib/Widgets/MostPolluting/MostPolluting.js +27 -21
  47. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +22 -18
  48. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +4 -6
  49. package/lib/Widgets/MostPolluting/ShowMore/styles.js +4 -6
  50. package/lib/Widgets/MostPolluting/assets/index.js +10 -10
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.js +13 -19
  52. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +30 -35
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +31 -34
  54. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +35 -39
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +26 -27
  56. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +47 -51
  57. package/lib/Widgets/MostPolluting/styles.js +3 -3
  58. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +5 -7
  59. package/lib/Widgets/PotentialImpactSummary/Icon.js +6 -8
  60. package/lib/Widgets/PotentialImpactSummary/index.js +27 -19
  61. package/lib/Widgets/PotentialImpactSummary/index.test.js +52 -47
  62. package/lib/Widgets/PotentialImpactSummary/styles.js +7 -7
  63. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +7 -9
  64. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +17 -22
  65. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +32 -35
  66. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +24 -26
  67. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +37 -35
  68. package/lib/Widgets/QualitySummary/QualitySummary.js +13 -9
  69. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +4 -4
  70. package/lib/Widgets/QualitySummary/styles.js +15 -23
  71. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +13 -12
  72. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +24 -25
  73. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +24 -29
  74. package/lib/Widgets/UtilityInformation/UtilityInformation.js +40 -23
  75. package/lib/Widgets/UtilityInformation/styles.js +22 -31
  76. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +3 -3
  77. package/lib/assets/icons/TopNavbar/index.js +6 -6
  78. package/lib/assets/icons/TrendSvg.js +6 -6
  79. package/lib/assets/icons/index.js +15 -15
  80. package/lib/assets/icons/kandoStepper/index.js +5 -5
  81. package/lib/assets/icons/siteTypes/index.js +1 -1
  82. package/lib/components/ApplyButton/ApplyButton.js +8 -8
  83. package/lib/components/Backdrop/Backdrop.js +4 -6
  84. package/lib/components/ContentLoader/ContentLoader.js +9 -11
  85. package/lib/components/ContentLoader/index.js +1 -1
  86. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +9 -10
  87. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +5 -3
  88. package/lib/components/CustomInputs/DoubleTabs/styles.js +12 -20
  89. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +19 -12
  90. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +4 -6
  91. package/lib/components/CustomInputs/Search/Search.js +60 -39
  92. package/lib/components/CustomInputs/Select/Select.js +55 -42
  93. package/lib/components/CustomInputs/Select/Select.stories.js +6 -4
  94. package/lib/components/DamageType/DamageType.js +56 -34
  95. package/lib/components/DataLoaderError/DataLoaderError.js +6 -8
  96. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +10 -9
  97. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +71 -70
  98. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +37 -27
  99. package/lib/components/DischargeHeatmap/HighchartsOptions.js +12 -10
  100. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
  101. package/lib/components/DischargeHeatmap/popupText.js +9 -9
  102. package/lib/components/DischargeHeatmap/titles.js +3 -3
  103. package/lib/components/ErrorBoundary.js +41 -27
  104. package/lib/components/Events/Events.js +45 -28
  105. package/lib/components/Graph/Graph.js +86 -67
  106. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +21 -17
  107. package/lib/components/Header/DoubleTabs/DoubleTabs.js +26 -18
  108. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +5 -3
  109. package/lib/components/Header/DoubleTabs/styles.js +4 -4
  110. package/lib/components/Header/Header.js +2 -2
  111. package/lib/components/Header/Header.stories.js +5 -3
  112. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +197 -82
  113. package/lib/components/Header/InfoBar/InfoBar.js +95 -66
  114. package/lib/components/Header/InfoBar/Search/Control.js +9 -9
  115. package/lib/components/Header/InfoBar/Search/GroupLabel.js +4 -6
  116. package/lib/components/Header/InfoBar/Search/Search.js +19 -14
  117. package/lib/components/Header/InfoBar/Search/SearchContainer.js +27 -15
  118. package/lib/components/Header/InfoBar/Search/searchStyle.js +49 -41
  119. package/lib/components/Header/InfoBar/TimeFilter.js +14 -11
  120. package/lib/components/Header/KandoNavbar/KandoNavbar.js +87 -62
  121. package/lib/components/Header/Slideshow/Slideshow.js +89 -67
  122. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +4 -6
  123. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +23 -21
  124. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +13 -13
  125. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +42 -30
  126. package/lib/components/Header/Toolbar/Toolbar.js +74 -55
  127. package/lib/components/InfoBar/InfoBar.js +23 -10
  128. package/lib/components/InfoBar/InfoBar.stories.js +5 -3
  129. package/lib/components/KandoModal/KandoModal.js +37 -23
  130. package/lib/components/Link.js +7 -8
  131. package/lib/components/Links/CustomRedirect/CustomRedirect.js +8 -9
  132. package/lib/components/Links/StyledLink/StyledLink.js +12 -12
  133. package/lib/components/Links/StyledNavLink/StyledNavLink.js +10 -11
  134. package/lib/components/LiveEvents/CarouselSlide.js +7 -9
  135. package/lib/components/LiveEvents/LiveEvents.js +3 -5
  136. package/lib/components/LoaderByPercent/LoaderByPercent.js +28 -36
  137. package/lib/components/Map/Map.js +22 -19
  138. package/lib/components/Modal/Modal.js +9 -9
  139. package/lib/components/NarrowHeader.js +31 -17
  140. package/lib/components/PointInfo/PointInfo.js +16 -18
  141. package/lib/components/PopupModal/PopupModal.js +16 -12
  142. package/lib/components/PopupModal/PopupModal.stories.js +19 -15
  143. package/lib/components/Sector/Sector.js +6 -8
  144. package/lib/components/Sector/Sector.test.js +20 -19
  145. package/lib/components/Sector/sectorIcons.js +2 -2
  146. package/lib/components/SevereEvent/Eta/Eta.js +51 -48
  147. package/lib/components/SevereEvent/Eta/styles.js +6 -10
  148. package/lib/components/SevereEvent/SevereEvent.js +34 -27
  149. package/lib/components/Spinner/Spinner.js +7 -7
  150. package/lib/components/Spinner/Spinner.stories.js +6 -4
  151. package/lib/components/Spinner/styles.js +12 -20
  152. package/lib/components/Tabs/Tabs.js +27 -18
  153. package/lib/components/Tabs/Tabs.stories.js +6 -4
  154. package/lib/components/Tabs/assets/index.js +5 -5
  155. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +15 -12
  156. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +45 -34
  157. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +31 -19
  158. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +21 -16
  159. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +11 -11
  160. package/lib/components/TimeRangeSelector/TimeRangeList.js +24 -23
  161. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +24 -16
  162. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +29 -28
  163. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +6 -4
  164. package/lib/components/TimeRangeSelector/constants.js +3 -3
  165. package/lib/components/Toggle/Toggle.js +15 -10
  166. package/lib/components/TrendGraph/TrendGraph.js +38 -22
  167. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +30 -24
  168. package/lib/development-environment/index.js +12 -8
  169. package/lib/development-environment/mock/browser.js +4 -2
  170. package/lib/development-environment/mock/get.js +10 -8
  171. package/lib/development-environment/mock/handlers.js +2 -2
  172. package/lib/development-environment/mock/mockBus.js +4 -4
  173. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +2 -2
  174. package/lib/development-environment/mock/mockObjects/areaInformation.js +2 -2
  175. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +2 -2
  176. package/lib/development-environment/mock/mockObjects/areaSitesData.js +2 -2
  177. package/lib/development-environment/mock/mockObjects/areasJson.js +2 -2
  178. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +2 -2
  179. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +2 -2
  180. package/lib/development-environment/mock/mockObjects/data-menuData.js +2 -2
  181. package/lib/development-environment/mock/mockObjects/data-search.js +2 -2
  182. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +2 -2
  183. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +2 -2
  184. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +2 -2
  185. package/lib/development-environment/mock/mockObjects/eventsJson.js +2 -2
  186. package/lib/development-environment/mock/mockObjects/metascore.js +2 -2
  187. package/lib/development-environment/mock/mockObjects/permissionsJson.js +2 -2
  188. package/lib/development-environment/mock/mockObjects/pointsJson.js +2 -2
  189. package/lib/development-environment/mock/mockObjects/site-info.js +2 -2
  190. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +2 -2
  191. package/lib/development-environment/togly/ToglyDashboard.js +22 -13
  192. package/lib/development-environment/togly/ToglyItem.js +28 -25
  193. package/lib/development-environment/togly/init.js +2 -2
  194. package/lib/development-environment/togly/macro.js +9 -13
  195. package/lib/development-environment/togly/useDoubleKeyDown.js +9 -7
  196. package/lib/development-environment/togly/useLocalStorage.js +18 -13
  197. package/lib/hooks/useApi.js +55 -19
  198. package/lib/hooks/useApiWithDashboardQuery.js +49 -30
  199. package/lib/hooks/useClickOutside.js +3 -3
  200. package/lib/hooks/useInitializeHeaders.js +5 -5
  201. package/lib/hooks/useKandoFetch.js +28 -15
  202. package/lib/hooks/useMap.js +34 -22
  203. package/lib/hooks/useNavContext.js +26 -22
  204. package/lib/hooks/useRemoveExistingLayers.js +6 -6
  205. package/lib/hooks/useUpdateEventBodyTail.js +17 -13
  206. package/lib/hooks/useUserTimeZone.js +30 -33
  207. package/lib/hooks/useUserTimeZone.test.js +22 -19
  208. package/lib/hooks/useWindowSize.js +14 -7
  209. package/lib/index.js +12 -11
  210. package/lib/macros/getVersion.js +2 -2
  211. package/lib/pages/AreaPage/AreaPage.js +67 -34
  212. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +16 -15
  213. package/lib/pages/AreaPage/Dashboard/Dashboard.js +24 -23
  214. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +25 -17
  215. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +4 -4
  216. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +7 -7
  217. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +9 -9
  218. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -3
  219. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -2
  220. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +4 -4
  221. package/lib/pages/AssessmentPage/AssessmentPage.js +43 -37
  222. package/lib/pages/CannyWidget/Feedback.js +13 -13
  223. package/lib/pages/CovidPage/CovidPage.js +13 -8
  224. package/lib/pages/CovidPage/components/Body.js +27 -25
  225. package/lib/pages/CovidPage/components/Map.js +37 -27
  226. package/lib/pages/CovidPage/components/Sidebar.js +13 -14
  227. package/lib/pages/CovidPage/components/Summary.js +26 -19
  228. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +30 -24
  229. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +73 -51
  230. package/lib/pages/CovidPage/components/areas/Area.js +35 -24
  231. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +43 -44
  232. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +35 -32
  233. package/lib/pages/CovidPage/components/areas/AreasList.js +41 -29
  234. package/lib/pages/CovidPage/components/areas/Sort.js +14 -11
  235. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  236. package/lib/pages/DashboardMap/AreaCard.js +26 -26
  237. package/lib/pages/DashboardMap/AssessmentIcon.js +6 -7
  238. package/lib/pages/DashboardMap/Capacity.js +85 -34
  239. package/lib/pages/DashboardMap/FactoryCard.js +24 -28
  240. package/lib/pages/DashboardMap/HighchartsOptions.js +4 -5
  241. package/lib/pages/DashboardMap/List.js +93 -65
  242. package/lib/pages/DashboardMap/ListContext.js +19 -15
  243. package/lib/pages/DashboardMap/Loader.js +2 -2
  244. package/lib/pages/DashboardMap/SeverityBadge.js +18 -10
  245. package/lib/pages/DashboardMap/WWTPMap.js +59 -49
  246. package/lib/pages/DashboardMap/WaterDischarge.js +8 -8
  247. package/lib/pages/DashboardMap/Widget.js +70 -53
  248. package/lib/pages/DashboardMap/utils.js +50 -41
  249. package/lib/pages/EventsPage/Body/Body.js +15 -20
  250. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +19 -17
  251. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +35 -27
  252. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +6 -8
  253. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +7 -11
  254. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +30 -21
  255. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +63 -52
  256. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +23 -17
  257. package/lib/pages/EventsPage/EventsPage.js +10 -7
  258. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +37 -25
  259. package/lib/pages/EventsPage/events/MoreInfo.js +16 -17
  260. package/lib/pages/EventsPage/events/Sidebar.js +16 -21
  261. package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +7 -7
  262. package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +20 -17
  263. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +35 -30
  264. package/lib/pages/EventsPage/events/event_info/EventDetails.js +29 -32
  265. package/lib/pages/EventsPage/events/event_info/EventInfo.js +40 -41
  266. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +4 -4
  267. package/lib/pages/EventsPage/events/event_info/EventSection.js +18 -16
  268. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +38 -43
  269. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +46 -38
  270. package/lib/pages/EventsPage/events/event_info/Header/Header.js +4 -6
  271. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +31 -28
  272. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +4 -4
  273. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +36 -29
  274. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +6 -4
  275. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +21 -22
  276. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +19 -12
  277. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +3 -5
  278. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +9 -11
  279. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +25 -21
  280. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +7 -11
  281. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +6 -6
  282. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +3 -5
  283. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +2 -2
  284. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +10 -12
  285. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +4 -6
  286. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +12 -10
  287. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +3 -5
  288. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +5 -7
  289. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +5 -7
  290. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +4 -6
  291. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +9 -11
  292. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +15 -15
  293. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +6 -6
  294. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +5 -7
  295. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +15 -17
  296. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +4 -4
  297. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +8 -10
  298. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +11 -16
  299. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +8 -9
  300. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +2 -2
  301. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +3 -3
  302. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +37 -24
  303. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +36 -29
  304. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +9 -11
  305. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +17 -15
  306. package/lib/pages/EventsPage/events/event_info/sources/Source.js +28 -25
  307. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +24 -21
  308. package/lib/pages/EventsPage/events/event_info/styles.js +12 -20
  309. package/lib/pages/EventsPage/events/events_list/EventItem.js +18 -17
  310. package/lib/pages/EventsPage/events/events_list/EventUtils.js +10 -10
  311. package/lib/pages/EventsPage/events/events_list/EventsList.js +134 -113
  312. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +53 -38
  313. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +108 -72
  314. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +69 -52
  315. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +41 -38
  316. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +36 -29
  317. package/lib/pages/EventsPage/events/events_list/Sort.js +16 -13
  318. package/lib/pages/ImportFileWizard/FileUploadRespones.js +19 -12
  319. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +4 -6
  320. package/lib/pages/ImportFileWizard/ImportFile.js +22 -20
  321. package/lib/pages/ImportFileWizard/ResponseBody.js +33 -24
  322. package/lib/pages/ImportFileWizard/ValidationForm.js +20 -21
  323. package/lib/pages/ImportFileWizard/ValidationResponse.js +21 -21
  324. package/lib/pages/ImportFileWizard/importFileUtils.js +1 -1
  325. package/lib/pages/ImportGisPage/ImportGisContainer.js +24 -21
  326. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +23 -21
  327. package/lib/pages/ImportGisPage/importGisUtils.js +20 -12
  328. package/lib/pages/ImportGisProcess/index.js +15 -12
  329. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +12 -7
  330. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +19 -17
  331. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +3 -3
  332. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +57 -28
  333. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +8 -6
  334. package/lib/pages/NotificationsPage/Notification/Notification.js +12 -16
  335. package/lib/pages/NotificationsPage/Notifications.mock.js +2 -2
  336. package/lib/pages/NotificationsPage/Notifications.stories.js +6 -4
  337. package/lib/pages/NotificationsPage/NotificationsPage.js +36 -18
  338. package/lib/pages/NotificationsPage/assets/index.js +9 -9
  339. package/lib/pages/NotificationsPageV2/NotificationsPage.js +93 -70
  340. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +62 -93
  341. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +137 -126
  342. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +71 -71
  343. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +87 -90
  344. package/lib/pages/NotificationsPageV2/notificationUtils.js +33 -39
  345. package/lib/pages/OldSitePage/OldSitePage.js +131 -56
  346. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +5 -5
  347. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +5 -3
  348. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +6 -8
  349. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +20 -18
  350. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +7 -9
  351. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +18 -12
  352. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +12 -16
  353. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +5 -3
  354. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +11 -17
  355. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +63 -51
  356. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +7 -9
  357. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +53 -29
  358. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -4
  359. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +12 -10
  360. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +10 -11
  361. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +11 -10
  362. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +22 -26
  363. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +28 -26
  364. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  365. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +9 -15
  366. package/lib/pages/ProfilePage/Container.js +2 -2
  367. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +39 -23
  368. package/lib/pages/ProfilePage/ProfilePage.js +199 -111
  369. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +33 -25
  370. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +15 -18
  371. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +25 -23
  372. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +116 -56
  373. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +20 -17
  374. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +10 -12
  375. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +40 -38
  376. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +26 -25
  377. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +16 -16
  378. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +15 -13
  379. package/lib/pages/SamplingsPage/NavigationDropdown.js +29 -42
  380. package/lib/pages/SamplingsPage/NewSamplingAction.js +97 -73
  381. package/lib/pages/SamplingsPage/SamplingMobileModal.js +97 -123
  382. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +22 -21
  383. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +22 -34
  384. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +56 -33
  385. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +18 -15
  386. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +6 -8
  387. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +191 -107
  388. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +53 -47
  389. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +38 -42
  390. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +38 -42
  391. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +20 -19
  392. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +3 -3
  393. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +6 -10
  394. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +52 -51
  395. package/lib/pages/SamplingsPage/SamplingsMobileList.js +28 -21
  396. package/lib/pages/SamplingsPage/SamplingsPage.js +31 -25
  397. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +57 -49
  398. package/lib/pages/SamplingsPage/samplingsPageUtils.js +75 -67
  399. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +4 -6
  400. package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +13 -14
  401. package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +13 -10
  402. package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
  403. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +5 -3
  404. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +10 -14
  405. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +8 -9
  406. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +23 -26
  407. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +17 -14
  408. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +32 -36
  409. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +7 -9
  410. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +24 -15
  411. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +12 -16
  412. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +5 -3
  413. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +11 -17
  414. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +70 -58
  415. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +7 -9
  416. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +26 -15
  417. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -5
  418. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +12 -10
  419. package/lib/pages/SitePage/SamplingParameters/body/Body.js +8 -8
  420. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +37 -29
  421. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  422. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +11 -10
  423. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +53 -53
  424. package/lib/pages/SitePage/SamplingParameters/dataParser.js +38 -29
  425. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +9 -11
  426. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  427. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +9 -15
  428. package/lib/pages/SitePage/SiteInformation/EmptyState.js +7 -11
  429. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -31
  430. package/lib/pages/SitePage/SitePage.js +73 -34
  431. package/lib/pages/UploadLabResult/index.js +13 -13
  432. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +35 -26
  433. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +8 -6
  434. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +8 -9
  435. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +5 -3
  436. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +47 -46
  437. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +6 -10
  438. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +2 -2
  439. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +6 -4
  440. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +9 -10
  441. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +12 -15
  442. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +7 -7
  443. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +2 -2
  444. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +24 -16
  445. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +30 -26
  446. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +16 -15
  447. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +13 -7
  448. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +30 -26
  449. package/lib/pages/WbeDashboard/ExpandableComponent.js +8 -9
  450. package/lib/pages/WbeDashboard/GraphWrapper.js +34 -28
  451. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +19 -17
  452. package/lib/pages/WbeDashboard/SearchInput.js +20 -15
  453. package/lib/pages/WbeDashboard/SummaryGraph.js +76 -50
  454. package/lib/pages/WbeDashboard/SummaryGraphModal.js +17 -19
  455. package/lib/pages/WbeDashboard/Tabs.js +10 -10
  456. package/lib/pages/WbeDashboard/WbeDashboardPage.js +206 -144
  457. package/lib/pages/WbeDashboard/WbeSummaryBar.js +47 -39
  458. package/lib/pages/WwtpPage/DashboardCard.js +20 -23
  459. package/lib/pages/WwtpPage/DischargePatternCard.js +23 -14
  460. package/lib/pages/WwtpPage/InletsCard/InletsBar.js +21 -25
  461. package/lib/pages/WwtpPage/InletsCard/InletsCard.js +18 -19
  462. package/lib/pages/WwtpPage/Map.js +3 -5
  463. package/lib/pages/WwtpPage/OrganicCard.js +2 -2
  464. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +2 -2
  465. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +4 -6
  466. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +8 -9
  467. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +14 -18
  468. package/lib/pages/WwtpPage/PredictionCard.js +2 -2
  469. package/lib/pages/WwtpPage/TrendCard.js +19 -18
  470. package/lib/pages/WwtpPage/UpgradeBox.js +2 -2
  471. package/lib/pages/WwtpPage/WwtpPage.js +7 -7
  472. package/lib/pages/WwtpPage/WwtpPageContainer.js +16 -21
  473. package/lib/providers/Slideshow/SlideshowContext.js +9 -11
  474. package/lib/providers/Slideshow/SlideshowProvider.js +38 -22
  475. package/lib/providers/Slideshow/SlideshowRunner.js +19 -17
  476. package/lib/providers/UrlHistory/UrlHistoryContext.js +4 -6
  477. package/lib/providers/UrlHistory/UrlHistoryProvider.js +11 -12
  478. package/lib/providers/UrlHistory/index.js +2 -2
  479. package/lib/providers/UrlHistory/useLastVisited.js +4 -4
  480. package/lib/store/ImportGis/actionTypes.js +1 -1
  481. package/lib/store/ImportGis/actionsCreator.js +5 -7
  482. package/lib/store/ImportGis/reducer.js +29 -40
  483. package/lib/store/WBE/actionTypes.js +2 -2
  484. package/lib/store/WBE/reducer.js +9 -13
  485. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +14 -24
  486. package/lib/store/areas/actionTypes.js +4 -4
  487. package/lib/store/areas/actions.js +13 -7
  488. package/lib/store/areas/reducer.js +6 -8
  489. package/lib/store/context/actionTypes.js +3 -3
  490. package/lib/store/context/actions.js +3 -3
  491. package/lib/store/context/contextMiddlewares.js +16 -14
  492. package/lib/store/context/reducer.js +9 -13
  493. package/lib/store/dashboard/dashboardSlice.js +10 -18
  494. package/lib/store/edges/actionTypes.js +5 -5
  495. package/lib/store/edges/actions.js +8 -4
  496. package/lib/store/edges/reducer.js +17 -13
  497. package/lib/store/events/actionTypes.js +17 -17
  498. package/lib/store/events/actions.js +7 -3
  499. package/lib/store/events/reducer.js +49 -42
  500. package/lib/store/global/actionTypes.js +11 -11
  501. package/lib/store/global/actions.js +6 -8
  502. package/lib/store/global/reducer.js +10 -11
  503. package/lib/store/permissions/permissionsSlice.js +8 -12
  504. package/lib/store/points/actionTypes.js +3 -3
  505. package/lib/store/points/actions.js +7 -3
  506. package/lib/store/points/reducer.js +5 -7
  507. package/lib/store/rootActionTypes.js +2 -2
  508. package/lib/store/rootReducer.js +12 -17
  509. package/lib/store/rootStore.js +5 -5
  510. package/lib/store/samplings/actionTypes.js +1 -1
  511. package/lib/store/samplings/reducer.js +14 -16
  512. package/lib/styles/StylesLayout.js +3 -5
  513. package/lib/styles/theme/theme.js +27 -26
  514. package/lib/test/mocks/browser.js +4 -2
  515. package/lib/test/test-utils.js +15 -17
  516. package/lib/ui-kit/Button/Button.js +79 -127
  517. package/lib/ui-kit/Button/Button.test.js +29 -24
  518. package/lib/ui-kit/Checkbox/Checkbox.js +20 -30
  519. package/lib/ui-kit/ContentCard/ContentCard.js +17 -14
  520. package/lib/ui-kit/Dashboard/Dashboard.js +19 -22
  521. package/lib/ui-kit/DropDown/DropDown.js +23 -22
  522. package/lib/ui-kit/DropDown/DropDown.test.js +12 -12
  523. package/lib/ui-kit/DropDown/DropDownItem.js +21 -24
  524. package/lib/ui-kit/DropDown/DropdownToggle.js +8 -12
  525. package/lib/ui-kit/EmptyState/EmptyState.js +3 -5
  526. package/lib/ui-kit/IconAction/IconAction.js +5 -7
  527. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +62 -46
  528. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +48 -57
  529. package/lib/ui-kit/InletsPie/InletsPie.js +13 -15
  530. package/lib/ui-kit/InletsPie/options.js +6 -6
  531. package/lib/ui-kit/KandoList/KandoList.js +12 -14
  532. package/lib/ui-kit/KandoTable/KandoTable.js +40 -48
  533. package/lib/ui-kit/KandoTable/KandoTable.test.js +22 -16
  534. package/lib/ui-kit/Layout/Layout.js +4 -6
  535. package/lib/ui-kit/MobileInput/MobileInput.js +49 -55
  536. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +16 -13
  537. package/lib/ui-kit/OrganicEvents/GaugeChart.js +5 -7
  538. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +6 -6
  539. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +20 -27
  540. package/lib/ui-kit/OrganicEvents/TextInfo.js +10 -15
  541. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +8 -10
  542. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +17 -14
  543. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -3
  544. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +19 -19
  545. package/lib/ui-kit/ScoreGauge/constant.js +3 -3
  546. package/lib/ui-kit/TimeLineChart/TrendChart.js +42 -54
  547. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +7 -8
  548. package/lib/ui-kit/Tooltip/Tooltip.js +8 -14
  549. package/lib/ui-kit/index.js +8 -8
  550. package/lib/ui-kit/kandoStepper/KandoStepper.js +11 -11
  551. package/lib/ui-kit/siteName/SiteName.js +8 -11
  552. package/lib/utilities/ActionUtility.js +7 -7
  553. package/lib/utilities/Alert.js +17 -21
  554. package/lib/utilities/Analytics.js +11 -11
  555. package/lib/utilities/Array.js +5 -4
  556. package/lib/utilities/Enum.js +51 -15
  557. package/lib/utilities/ErrorBoundary.js +41 -27
  558. package/lib/utilities/File.js +69 -40
  559. package/lib/utilities/GetDir.js +7 -8
  560. package/lib/utilities/KandoDate.js +15 -7
  561. package/lib/utilities/KandoModal.js +26 -16
  562. package/lib/utilities/LocalStorage.js +7 -5
  563. package/lib/utilities/ThousandsToK.js +2 -2
  564. package/lib/utilities/TimeFormat.js +20 -21
  565. package/lib/utilities/Truncate.js +24 -16
  566. package/lib/utilities/edgesMath.js +15 -14
  567. package/lib/utilities/i18n.js +3 -3
  568. package/lib/utilities/kql.js +12 -10
  569. package/lib/utilities/map/icons.js +3 -3
  570. package/lib/utilities/polylinedecorator.js +112 -87
  571. package/lib/utilities/scoreToData.js +10 -10
  572. package/lib/utilities/scoreToData.test.js +5 -5
  573. package/lib/utilities/time.js +8 -8
  574. package/lib/utilities/uploadToS3.js +11 -11
  575. package/lib/utilities/urls.js +14 -16
  576. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
@@ -18,27 +19,25 @@ var _up = _interopRequireDefault(require("../../../../assets/NVL_trends/up.png")
18
19
  var _down = _interopRequireDefault(require("../../../../assets/NVL_trends/down.png"));
19
20
  var _same = _interopRequireDefault(require("../../../../assets/NVL_trends/same.png"));
20
21
  var _nvlStatusHelper = require("../nvlStatusHelper");
21
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
- 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; }
23
- const AreaPolygonWBE = props => {
24
- const {
25
- L,
26
- map,
27
- area,
28
- mapZoom
29
- } = props;
30
- const dispatch = (0, _reactRedux.useDispatch)();
31
- const matchColorToPolygon = polygon => {
32
- const polygonColor = (0, _nvlStatusHelper.statusColor)(area.NVL);
22
+ 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); }
23
+ 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; }
24
+ var AreaPolygonWBE = function AreaPolygonWBE(props) {
25
+ var L = props.L,
26
+ map = props.map,
27
+ area = props.area,
28
+ mapZoom = props.mapZoom;
29
+ var dispatch = (0, _reactRedux.useDispatch)();
30
+ var matchColorToPolygon = function matchColorToPolygon(polygon) {
31
+ var polygonColor = (0, _nvlStatusHelper.statusColor)(area.NVL);
33
32
  polygon.setStyle({
34
33
  fillColor: polygonColor,
35
34
  color: polygonColor
36
35
  });
37
36
  };
38
- const createMarkerByNVLChange = () => {
39
- const LatLng = [area.point.latitude, area.point.longitude];
40
- let options;
41
- let iconOptions = iconURL => {
37
+ var createMarkerByNVLChange = function createMarkerByNVLChange() {
38
+ var LatLng = [area.point.latitude, area.point.longitude];
39
+ var options;
40
+ var iconOptions = function iconOptions(iconURL) {
42
41
  return {
43
42
  iconUrl: iconURL,
44
43
  iconSize: [33, 30],
@@ -47,34 +46,34 @@ const AreaPolygonWBE = props => {
47
46
  };
48
47
  };
49
48
  if (Math.sign(area.NVL_diff_ratio) === 1) {
50
- let valid = L.icon(iconOptions(_up.default));
49
+ var valid = L.icon(iconOptions(_up.default));
51
50
  options = {
52
51
  opacity: 1,
53
52
  icon: valid
54
53
  };
55
54
  } else if (area.NVL_diff_ratio === 0) {
56
- let invalid = L.icon(iconOptions(_same.default));
55
+ var invalid = L.icon(iconOptions(_same.default));
57
56
  options = {
58
57
  opacity: 1,
59
58
  icon: invalid
60
59
  };
61
60
  } else {
62
- let pending = L.icon(iconOptions(_down.default));
61
+ var pending = L.icon(iconOptions(_down.default));
63
62
  options = {
64
63
  opacity: 1,
65
64
  icon: pending
66
65
  };
67
66
  }
68
67
  if (area.point.latitude !== null && area.point.longitude !== null) {
69
- let marker = L.marker(LatLng, options).addTo(map);
68
+ var marker = L.marker(LatLng, options).addTo(map);
70
69
  marker['kando_object_id'] = area.point.id;
71
70
  marker['kando_object'] = 'Point';
72
71
  }
73
72
  };
74
- const createMarkerByStatus = () => {
75
- const LatLng = [area.point.latitude, area.point.longitude];
76
- let options;
77
- let iconOptions = iconURL => {
73
+ var createMarkerByStatus = function createMarkerByStatus() {
74
+ var LatLng = [area.point.latitude, area.point.longitude];
75
+ var options;
76
+ var iconOptions = function iconOptions(iconURL) {
78
77
  return {
79
78
  iconUrl: iconURL,
80
79
  iconSize: [54, 58],
@@ -84,28 +83,28 @@ const AreaPolygonWBE = props => {
84
83
  };
85
84
  switch (area.status) {
86
85
  case 0:
87
- let valid = L.icon(iconOptions(_validSampling.default));
86
+ var valid = L.icon(iconOptions(_validSampling.default));
88
87
  options = {
89
88
  opacity: 0.8,
90
89
  icon: valid
91
90
  };
92
91
  break;
93
92
  case 1:
94
- let invalid = L.icon(iconOptions(_invalidSampling.default));
93
+ var invalid = L.icon(iconOptions(_invalidSampling.default));
95
94
  options = {
96
95
  opacity: 0.8,
97
96
  icon: invalid
98
97
  };
99
98
  break;
100
99
  case 2:
101
- let pending = L.icon(iconOptions(_pendingSampling.default));
100
+ var pending = L.icon(iconOptions(_pendingSampling.default));
102
101
  options = {
103
102
  opacity: 0.8,
104
103
  icon: pending
105
104
  };
106
105
  break;
107
106
  case 3:
108
- let missing = L.icon(iconOptions(_missingSampling.default));
107
+ var missing = L.icon(iconOptions(_missingSampling.default));
109
108
  options = {
110
109
  opacity: 0.8,
111
110
  icon: missing
@@ -113,21 +112,21 @@ const AreaPolygonWBE = props => {
113
112
  break;
114
113
  }
115
114
  if (area.point.latitude !== null && area.point.longitude !== null) {
116
- let marker = L.marker(LatLng, options);
115
+ var marker = L.marker(LatLng, options);
117
116
  marker['kando_object_id'] = area.point.id;
118
117
  marker['kando_object'] = 'Point';
119
118
  marker.addTo(map);
120
119
  marker.bindPopup("\n <p>".concat(area.name, " / ").concat(area.point.name, "</p>\n "));
121
120
  }
122
121
  };
123
- const NVLScoreForSite = () => {
122
+ var NVLScoreForSite = function NVLScoreForSite() {
124
123
  if (area.NVL_diff_ratio === null) {
125
124
  return "".concat(_i18n.default.t('covid_view.NVL_score_for_site.null'), ": ").concat(area.NVL);
126
125
  } else {
127
126
  return "".concat(_i18n.default.t('covid_view.NVL_score_for_site.present'), ": ").concat(area.NVL_diff_ratio);
128
127
  }
129
128
  };
130
- const fakeLayer = () => {
129
+ var fakeLayer = function fakeLayer() {
131
130
  if (area.point !== undefined) {
132
131
  return {
133
132
  shape_data: [area.point.longitude, area.point.latitude],
@@ -139,10 +138,10 @@ const AreaPolygonWBE = props => {
139
138
  };
140
139
  }
141
140
  };
142
- const samplingsForSubAreas = () => {
143
- let noSamplings = false;
141
+ var samplingsForSubAreas = function samplingsForSubAreas() {
142
+ var noSamplings = false;
144
143
  if (area.sub_areas !== undefined && area.sub_areas.length !== 0) {
145
- area.sub_areas.forEach(sub_area => {
144
+ area.sub_areas.forEach(function (sub_area) {
146
145
  if (sub_area.status !== 3) {
147
146
  noSamplings = false;
148
147
  } else {
@@ -159,12 +158,12 @@ const AreaPolygonWBE = props => {
159
158
  };
160
159
  (0, _useRemoveExistingLayers.default)(map, area, 'Area', mapZoom);
161
160
  (0, _useRemoveExistingLayers.default)(map, fakeLayer(), 'Point', mapZoom);
162
- (0, _react.useEffect)(() => {
161
+ (0, _react.useEffect)(function () {
163
162
  if (area.shape_data !== null && area.shape_data !== undefined) {
164
- let latlngs = area.shape_data.map(location => {
163
+ var latlngs = area.shape_data.map(function (location) {
165
164
  return [location['lat'], location['lng']];
166
165
  });
167
- let polygon = L.polygon(latlngs).addTo(map);
166
+ var polygon = L.polygon(latlngs).addTo(map);
168
167
  polygon['kando_object_id'] = area.id;
169
168
  polygon['kando_object'] = 'Area';
170
169
  matchColorToPolygon(polygon);
@@ -181,7 +180,7 @@ const AreaPolygonWBE = props => {
181
180
  createMarkerByNVLChange();
182
181
  }
183
182
  polygon.bringToBack();
184
- polygon.on('click', e => {
183
+ polygon.on('click', function (e) {
185
184
  if (area.sub_areas !== undefined && area.sub_areas.length !== 0) {
186
185
  dispatch((0, _actions.updateWBE)({
187
186
  focusedArea: area,
@@ -189,11 +188,11 @@ const AreaPolygonWBE = props => {
189
188
  }));
190
189
  }
191
190
  });
192
- polygon.on('mouseover', e => {
193
- let layer = e.target;
194
- let LatLng = layer.getBounds().getCenter();
195
- let popup = L.popup().setLatLng(LatLng).setContent("\n <h4>".concat(area.name, "</h4>\n <p>").concat(NVLScoreForSite(), "</p>\n <p>").concat(_i18n.default.t('covid_view.viral_load'), ": ").concat(area.NVL, "</p>\n <p>").concat(_i18n.default.t('covid_view.status'), ": ").concat(_i18n.default.t("covid_view.area_statuses.".concat(area.status)), "</p>\n <p>").concat(samplingsForSubAreas(), "</p>\n ")).openOn(map);
196
- polygon.on('mouseout', e => {
191
+ polygon.on('mouseover', function (e) {
192
+ var layer = e.target;
193
+ var LatLng = layer.getBounds().getCenter();
194
+ var popup = L.popup().setLatLng(LatLng).setContent("\n <h4>".concat(area.name, "</h4>\n <p>").concat(NVLScoreForSite(), "</p>\n <p>").concat(_i18n.default.t('covid_view.viral_load'), ": ").concat(area.NVL, "</p>\n <p>").concat(_i18n.default.t('covid_view.status'), ": ").concat(_i18n.default.t("covid_view.area_statuses.".concat(area.status)), "</p>\n <p>").concat(samplingsForSubAreas(), "</p>\n ")).openOn(map);
195
+ polygon.on('mouseout', function (e) {
197
196
  map.closePopup(popup);
198
197
  });
199
198
  });
@@ -203,4 +202,4 @@ const AreaPolygonWBE = props => {
203
202
  };
204
203
  var _default = AreaPolygonWBE;
205
204
  exports.default = _default;
206
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl91c2VSZW1vdmVFeGlzdGluZ0xheWVycyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaTE4biIsIl9hY3Rpb25zIiwiX3ZhbGlkU2FtcGxpbmciLCJfaW52YWxpZFNhbXBsaW5nIiwiX21pc3NpbmdTYW1wbGluZyIsIl9wZW5kaW5nU2FtcGxpbmciLCJfdXAiLCJfZG93biIsIl9zYW1lIiwiX252bFN0YXR1c0hlbHBlciIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJBcmVhUG9seWdvbldCRSIsInByb3BzIiwiTCIsIm1hcCIsImFyZWEiLCJtYXBab29tIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIm1hdGNoQ29sb3JUb1BvbHlnb24iLCJwb2x5Z29uIiwicG9seWdvbkNvbG9yIiwic3RhdHVzQ29sb3IiLCJOVkwiLCJzZXRTdHlsZSIsImZpbGxDb2xvciIsImNvbG9yIiwiY3JlYXRlTWFya2VyQnlOVkxDaGFuZ2UiLCJMYXRMbmciLCJwb2ludCIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwib3B0aW9ucyIsImljb25PcHRpb25zIiwiaWNvblVSTCIsImljb25VcmwiLCJpY29uU2l6ZSIsImljb25BbmNob3IiLCJwb3B1cEFuY2hvciIsIk1hdGgiLCJzaWduIiwiTlZMX2RpZmZfcmF0aW8iLCJ2YWxpZCIsImljb24iLCJ0cmVuZFVwSWNvbiIsIm9wYWNpdHkiLCJpbnZhbGlkIiwidHJlbmRTYW1lSWNvbiIsInBlbmRpbmciLCJ0cmVuZERvd25JY29uIiwibWFya2VyIiwiYWRkVG8iLCJpZCIsImNyZWF0ZU1hcmtlckJ5U3RhdHVzIiwic3RhdHVzIiwidmFsaWRTYW1wbGluZ0ljb24iLCJpbnZhbGlkU2FtcGxpbmdJY29uIiwicGVuZGluZ1NhbXBsaW5nSWNvbiIsIm1pc3NpbmciLCJtaXNzaW5nU2FtcGxpbmdJY29uIiwiYmluZFBvcHVwIiwiY29uY2F0IiwibmFtZSIsIk5WTFNjb3JlRm9yU2l0ZSIsImkxOG4iLCJ0IiwiZmFrZUxheWVyIiwidW5kZWZpbmVkIiwic2hhcGVfZGF0YSIsInNhbXBsaW5nc0ZvclN1YkFyZWFzIiwibm9TYW1wbGluZ3MiLCJzdWJfYXJlYXMiLCJsZW5ndGgiLCJmb3JFYWNoIiwic3ViX2FyZWEiLCJ1c2VSZW1vdmVFeGlzdGluZ0xheWVycyIsInVzZUVmZmVjdCIsImxhdGxuZ3MiLCJsb2NhdGlvbiIsImZpbGxPcGFjaXR5IiwiYnJpbmdUb0JhY2siLCJvbiIsImUiLCJ1cGRhdGVXQkUiLCJmb2N1c2VkQXJlYSIsInpvb21lZEFyZWEiLCJsYXllciIsInRhcmdldCIsImdldEJvdW5kcyIsImdldENlbnRlciIsInBvcHVwIiwic2V0TGF0TG5nIiwic2V0Q29udGVudCIsIm9wZW5PbiIsImNsb3NlUG9wdXAiLCJjcmVhdGVFbGVtZW50IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0NvdmlkUGFnZS9jb21wb25lbnRzL2FyZWFzL0FyZWFQb2x5Z29uV0JFLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmltcG9ydCB1c2VSZW1vdmVFeGlzdGluZ0xheWVycyBmcm9tICdzcmMvaG9va3MvdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IElBcmVhV0JFIH0gZnJvbSAnc3JjL3N0b3JlL1dCRS9tb2RlbHMvSUFyZWFXQkUnO1xuaW1wb3J0IHsgdXBkYXRlV0JFIH0gZnJvbSAnc3JjL3N0b3JlL1dCRS9hY3Rpb25zJztcbmltcG9ydCB2YWxpZFNhbXBsaW5nSWNvbiBmcm9tICcuLi8uLi8uLi8uLi9hc3NldHMvYXJlYV9zdGF0dXNlcy92YWxpZC1zYW1wbGluZy5wbmcnO1xuaW1wb3J0IGludmFsaWRTYW1wbGluZ0ljb24gZnJvbSAnLi4vLi4vLi4vLi4vYXNzZXRzL2FyZWFfc3RhdHVzZXMvaW52YWxpZC1zYW1wbGluZy5wbmcnO1xuaW1wb3J0IG1pc3NpbmdTYW1wbGluZ0ljb24gZnJvbSAnLi4vLi4vLi4vLi4vYXNzZXRzL2FyZWFfc3RhdHVzZXMvbWlzc2luZy1zYW1wbGluZy5wbmcnO1xuaW1wb3J0IHBlbmRpbmdTYW1wbGluZ0ljb24gZnJvbSAnLi4vLi4vLi4vLi4vYXNzZXRzL2FyZWFfc3RhdHVzZXMvcGVuZGluZy1zYW1wbGluZy5wbmcnO1xuaW1wb3J0IHRyZW5kVXBJY29uIGZyb20gJy4uLy4uLy4uLy4uL2Fzc2V0cy9OVkxfdHJlbmRzL3VwLnBuZyc7XG5pbXBvcnQgdHJlbmREb3duSWNvbiBmcm9tICcuLi8uLi8uLi8uLi9hc3NldHMvTlZMX3RyZW5kcy9kb3duLnBuZyc7XG5pbXBvcnQgdHJlbmRTYW1lSWNvbiBmcm9tICcuLi8uLi8uLi8uLi9hc3NldHMvTlZMX3RyZW5kcy9zYW1lLnBuZyc7XG5pbXBvcnQgeyBzdGF0dXNDb2xvciB9IGZyb20gJy4uL252bFN0YXR1c0hlbHBlcic7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIG1hcDogYW55O1xuICBMOiBhbnk7XG4gIGFyZWE6IElBcmVhV0JFO1xuICBtYXBab29tOiBudW1iZXI7XG59O1xuXG5jb25zdCBBcmVhUG9seWdvbldCRTogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgTCwgbWFwLCBhcmVhLCBtYXBab29tIH0gPSBwcm9wcztcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBtYXRjaENvbG9yVG9Qb2x5Z29uID0gKHBvbHlnb246IGFueSkgPT4ge1xuICAgIGNvbnN0IHBvbHlnb25Db2xvciA9IHN0YXR1c0NvbG9yKGFyZWEuTlZMKTtcbiAgICBwb2x5Z29uLnNldFN0eWxlKHsgZmlsbENvbG9yOiBwb2x5Z29uQ29sb3IsIGNvbG9yOiBwb2x5Z29uQ29sb3IgfSk7XG4gIH07XG5cbiAgY29uc3QgY3JlYXRlTWFya2VyQnlOVkxDaGFuZ2UgPSAoKSA9PiB7XG4gICAgY29uc3QgTGF0TG5nID0gW2FyZWEucG9pbnQubGF0aXR1ZGUsIGFyZWEucG9pbnQubG9uZ2l0dWRlXTtcbiAgICBsZXQgb3B0aW9ucztcbiAgICBsZXQgaWNvbk9wdGlvbnMgPSAoaWNvblVSTDogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uVXJsOiBpY29uVVJMLFxuICAgICAgICBpY29uU2l6ZTogWzMzLCAzMF0sXG4gICAgICAgIGljb25BbmNob3I6IFstNSwgNDVdLFxuICAgICAgICBwb3B1cEFuY2hvcjogWy05LCAtMzZdLFxuICAgICAgfTtcbiAgICB9O1xuXG4gICAgaWYgKE1hdGguc2lnbihhcmVhLk5WTF9kaWZmX3JhdGlvKSA9PT0gMSkge1xuICAgICAgbGV0IHZhbGlkID0gTC5pY29uKGljb25PcHRpb25zKHRyZW5kVXBJY29uKSk7XG4gICAgICBvcHRpb25zID0geyBvcGFjaXR5OiAxLCBpY29uOiB2YWxpZCB9O1xuICAgIH0gZWxzZSBpZiAoYXJlYS5OVkxfZGlmZl9yYXRpbyA9PT0gMCkge1xuICAgICAgbGV0IGludmFsaWQgPSBMLmljb24oaWNvbk9wdGlvbnModHJlbmRTYW1lSWNvbikpO1xuICAgICAgb3B0aW9ucyA9IHsgb3BhY2l0eTogMSwgaWNvbjogaW52YWxpZCB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgcGVuZGluZyA9IEwuaWNvbihpY29uT3B0aW9ucyh0cmVuZERvd25JY29uKSk7XG4gICAgICBvcHRpb25zID0geyBvcGFjaXR5OiAxLCBpY29uOiBwZW5kaW5nIH07XG4gICAgfVxuXG4gICAgaWYgKGFyZWEucG9pbnQubGF0aXR1ZGUgIT09IG51bGwgJiYgYXJlYS5wb2ludC5sb25naXR1ZGUgIT09IG51bGwpIHtcbiAgICAgIGxldCBtYXJrZXIgPSBMLm1hcmtlcihMYXRMbmcsIG9wdGlvbnMpLmFkZFRvKG1hcCk7XG4gICAgICBtYXJrZXJbJ2thbmRvX29iamVjdF9pZCddID0gYXJlYS5wb2ludC5pZDtcbiAgICAgIG1hcmtlclsna2FuZG9fb2JqZWN0J10gPSAnUG9pbnQnO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBjcmVhdGVNYXJrZXJCeVN0YXR1cyA9ICgpID0+IHtcbiAgICBjb25zdCBMYXRMbmcgPSBbYXJlYS5wb2ludC5sYXRpdHVkZSwgYXJlYS5wb2ludC5sb25naXR1ZGVdO1xuICAgIGxldCBvcHRpb25zO1xuICAgIGxldCBpY29uT3B0aW9ucyA9IChpY29uVVJMOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb25Vcmw6IGljb25VUkwsXG4gICAgICAgIGljb25TaXplOiBbNTQsIDU4XSxcbiAgICAgICAgaWNvbkFuY2hvcjogWzE5LCA0Ml0sXG4gICAgICAgIHBvcHVwQW5jaG9yOiBbOCwgLTM2XSxcbiAgICAgIH07XG4gICAgfTtcblxuICAgIHN3aXRjaCAoYXJlYS5zdGF0dXMpIHtcbiAgICAgIGNhc2UgMDpcbiAgICAgICAgbGV0IHZhbGlkID0gTC5pY29uKGljb25PcHRpb25zKHZhbGlkU2FtcGxpbmdJY29uKSk7XG4gICAgICAgIG9wdGlvbnMgPSB7IG9wYWNpdHk6IDAuOCwgaWNvbjogdmFsaWQgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIGxldCBpbnZhbGlkID0gTC5pY29uKGljb25PcHRpb25zKGludmFsaWRTYW1wbGluZ0ljb24pKTtcbiAgICAgICAgb3B0aW9ucyA9IHsgb3BhY2l0eTogMC44LCBpY29uOiBpbnZhbGlkIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAyOlxuICAgICAgICBsZXQgcGVuZGluZyA9IEwuaWNvbihpY29uT3B0aW9ucyhwZW5kaW5nU2FtcGxpbmdJY29uKSk7XG4gICAgICAgIG9wdGlvbnMgPSB7IG9wYWNpdHk6IDAuOCwgaWNvbjogcGVuZGluZyB9O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMzpcbiAgICAgICAgbGV0IG1pc3NpbmcgPSBMLmljb24oaWNvbk9wdGlvbnMobWlzc2luZ1NhbXBsaW5nSWNvbikpO1xuICAgICAgICBvcHRpb25zID0geyBvcGFjaXR5OiAwLjgsIGljb246IG1pc3NpbmcgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKGFyZWEucG9pbnQubGF0aXR1ZGUgIT09IG51bGwgJiYgYXJlYS5wb2ludC5sb25naXR1ZGUgIT09IG51bGwpIHtcbiAgICAgIGxldCBtYXJrZXIgPSBMLm1hcmtlcihMYXRMbmcsIG9wdGlvbnMpO1xuICAgICAgbWFya2VyWydrYW5kb19vYmplY3RfaWQnXSA9IGFyZWEucG9pbnQuaWQ7XG4gICAgICBtYXJrZXJbJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgICAgIG1hcmtlci5hZGRUbyhtYXApO1xuICAgICAgbWFya2VyLmJpbmRQb3B1cChgXG4gICAgICAgICAgICA8cD4ke2FyZWEubmFtZX0gLyAke2FyZWEucG9pbnQubmFtZX08L3A+XG4gICAgICAgICAgICBgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgTlZMU2NvcmVGb3JTaXRlID0gKCkgPT4ge1xuICAgIGlmIChhcmVhLk5WTF9kaWZmX3JhdGlvID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gYCR7aTE4bi50KCdjb3ZpZF92aWV3Lk5WTF9zY29yZV9mb3Jfc2l0ZS5udWxsJyl9OiAke2FyZWEuTlZMfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBgJHtpMThuLnQoJ2NvdmlkX3ZpZXcuTlZMX3Njb3JlX2Zvcl9zaXRlLnByZXNlbnQnKX06ICR7XG4gICAgICAgIGFyZWEuTlZMX2RpZmZfcmF0aW9cbiAgICAgIH1gO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBmYWtlTGF5ZXIgPSAoKSA9PiB7XG4gICAgaWYgKGFyZWEucG9pbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2hhcGVfZGF0YTogW2FyZWEucG9pbnQubG9uZ2l0dWRlLCBhcmVhLnBvaW50LmxhdGl0dWRlXSxcbiAgICAgICAgaWQ6IGFyZWEucG9pbnQuaWQsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzaGFwZV9kYXRhOiBudWxsLFxuICAgICAgfTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgc2FtcGxpbmdzRm9yU3ViQXJlYXMgPSAoKSA9PiB7XG4gICAgbGV0IG5vU2FtcGxpbmdzOiBib29sZWFuID0gZmFsc2U7XG4gICAgaWYgKGFyZWEuc3ViX2FyZWFzICE9PSB1bmRlZmluZWQgJiYgYXJlYS5zdWJfYXJlYXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBhcmVhLnN1Yl9hcmVhcy5mb3JFYWNoKChzdWJfYXJlYTogSUFyZWFXQkUpID0+IHtcbiAgICAgICAgaWYgKHN1Yl9hcmVhLnN0YXR1cyAhPT0gMykge1xuICAgICAgICAgIG5vU2FtcGxpbmdzID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbm9TYW1wbGluZ3MgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKG5vU2FtcGxpbmdzKSB7XG4gICAgICAgIHJldHVybiBpMThuLnQoJ2NvdmlkX3ZpZXcubm9fdmFsaWRfc2FtcGxpbmdzJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGkxOG4udCgnY292aWRfdmlldy5ub192YWxpZF9zYW1wbGluZ3MnKTtcbiAgfTtcblxuICB1c2VSZW1vdmVFeGlzdGluZ0xheWVycyhtYXAsIGFyZWEsICdBcmVhJywgbWFwWm9vbSk7XG4gIHVzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzKG1hcCwgZmFrZUxheWVyKCksICdQb2ludCcsIG1hcFpvb20pO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChhcmVhLnNoYXBlX2RhdGEgIT09IG51bGwgJiYgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGxldCBsYXRsbmdzID0gYXJlYS5zaGFwZV9kYXRhLm1hcCgobG9jYXRpb246IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gW2xvY2F0aW9uWydsYXQnXSwgbG9jYXRpb25bJ2xuZyddXTtcbiAgICAgIH0pO1xuXG4gICAgICBsZXQgcG9seWdvbjogYW55ID0gTC5wb2x5Z29uKGxhdGxuZ3MpLmFkZFRvKG1hcCk7XG4gICAgICBwb2x5Z29uWydrYW5kb19vYmplY3RfaWQnXSA9IGFyZWEuaWQ7XG4gICAgICBwb2x5Z29uWydrYW5kb19vYmplY3QnXSA9ICdBcmVhJztcbiAgICAgIG1hdGNoQ29sb3JUb1BvbHlnb24ocG9seWdvbik7XG4gICAgICBwb2x5Z29uLnNldFN0eWxlKHsgZmlsbE9wYWNpdHk6IDAuNCB9KTtcblxuICAgICAgaWYgKG1hcFpvb20gPiAxNikge1xuICAgICAgICBwb2x5Z29uLnNldFN0eWxlKHsgZmlsbE9wYWNpdHk6IDAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChhcmVhLnBvaW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY3JlYXRlTWFya2VyQnlTdGF0dXMoKTtcbiAgICAgICAgY3JlYXRlTWFya2VyQnlOVkxDaGFuZ2UoKTtcbiAgICAgIH1cblxuICAgICAgcG9seWdvbi5icmluZ1RvQmFjaygpO1xuICAgICAgcG9seWdvbi5vbignY2xpY2snLCAoZTogYW55KSA9PiB7XG4gICAgICAgIGlmIChhcmVhLnN1Yl9hcmVhcyAhPT0gdW5kZWZpbmVkICYmIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgICAgdXBkYXRlV0JFKHtcbiAgICAgICAgICAgICAgZm9jdXNlZEFyZWE6IGFyZWEsXG4gICAgICAgICAgICAgIHpvb21lZEFyZWE6IGFyZWEuc3ViX2FyZWFzWzBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBwb2x5Z29uLm9uKCdtb3VzZW92ZXInLCAoZTogYW55KSA9PiB7XG4gICAgICAgIGxldCBsYXllciA9IGUudGFyZ2V0O1xuICAgICAgICBsZXQgTGF0TG5nID0gbGF5ZXIuZ2V0Qm91bmRzKCkuZ2V0Q2VudGVyKCk7XG4gICAgICAgIGxldCBwb3B1cCA9IEwucG9wdXAoKVxuICAgICAgICAgIC5zZXRMYXRMbmcoTGF0TG5nKVxuICAgICAgICAgIC5zZXRDb250ZW50KFxuICAgICAgICAgICAgYFxuICAgICAgICAgICAgICAgICAgICA8aDQ+JHthcmVhLm5hbWV9PC9oND5cbiAgICAgICAgICAgICAgICAgICAgPHA+JHtOVkxTY29yZUZvclNpdGUoKX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPiR7aTE4bi50KCdjb3ZpZF92aWV3LnZpcmFsX2xvYWQnKX06ICR7YXJlYS5OVkx9PC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD4ke2kxOG4udCgnY292aWRfdmlldy5zdGF0dXMnKX06ICR7aTE4bi50KFxuICAgICAgICAgICAgICBgY292aWRfdmlldy5hcmVhX3N0YXR1c2VzLiR7YXJlYS5zdGF0dXN9YCxcbiAgICAgICAgICAgICl9PC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD4ke3NhbXBsaW5nc0ZvclN1YkFyZWFzKCl9PC9wPlxuICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgIClcbiAgICAgICAgICAub3Blbk9uKG1hcCk7XG5cbiAgICAgICAgcG9seWdvbi5vbignbW91c2VvdXQnLCAoZTogYW55KSA9PiB7XG4gICAgICAgICAgbWFwLmNsb3NlUG9wdXAocG9wdXApO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSwgW2FyZWEsIG1hcFpvb21dKTtcblxuICByZXR1cm4gPGRpdj48L2Rpdj47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBcmVhUG9seWdvbldCRTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLHdCQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFFQSxJQUFBSyxRQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxjQUFBLEdBQUFILHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBTyxnQkFBQSxHQUFBSixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQVEsZ0JBQUEsR0FBQUwsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFTLGdCQUFBLEdBQUFOLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBVSxHQUFBLEdBQUFQLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBVyxLQUFBLEdBQUFSLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBWSxLQUFBLEdBQUFULHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBYSxnQkFBQSxHQUFBYixPQUFBO0FBQWlELFNBQUFjLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FB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
205
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl91c2VSZW1vdmVFeGlzdGluZ0xheWVycyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaTE4biIsIl9hY3Rpb25zIiwiX3ZhbGlkU2FtcGxpbmciLCJfaW52YWxpZFNhbXBsaW5nIiwiX21pc3NpbmdTYW1wbGluZyIsIl9wZW5kaW5nU2FtcGxpbmciLCJfdXAiLCJfZG93biIsIl9zYW1lIiwiX252bFN0YXR1c0hlbHBlciIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiQXJlYVBvbHlnb25XQkUiLCJwcm9wcyIsIkwiLCJtYXAiLCJhcmVhIiwibWFwWm9vbSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJtYXRjaENvbG9yVG9Qb2x5Z29uIiwicG9seWdvbiIsInBvbHlnb25Db2xvciIsInN0YXR1c0NvbG9yIiwiTlZMIiwic2V0U3R5bGUiLCJmaWxsQ29sb3IiLCJjb2xvciIsImNyZWF0ZU1hcmtlckJ5TlZMQ2hhbmdlIiwiTGF0TG5nIiwicG9pbnQiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsIm9wdGlvbnMiLCJpY29uT3B0aW9ucyIsImljb25VUkwiLCJpY29uVXJsIiwiaWNvblNpemUiLCJpY29uQW5jaG9yIiwicG9wdXBBbmNob3IiLCJNYXRoIiwic2lnbiIsIk5WTF9kaWZmX3JhdGlvIiwidmFsaWQiLCJpY29uIiwidHJlbmRVcEljb24iLCJvcGFjaXR5IiwiaW52YWxpZCIsInRyZW5kU2FtZUljb24iLCJwZW5kaW5nIiwidHJlbmREb3duSWNvbiIsIm1hcmtlciIsImFkZFRvIiwiaWQiLCJjcmVhdGVNYXJrZXJCeVN0YXR1cyIsInN0YXR1cyIsInZhbGlkU2FtcGxpbmdJY29uIiwiaW52YWxpZFNhbXBsaW5nSWNvbiIsInBlbmRpbmdTYW1wbGluZ0ljb24iLCJtaXNzaW5nIiwibWlzc2luZ1NhbXBsaW5nSWNvbiIsImJpbmRQb3B1cCIsImNvbmNhdCIsIm5hbWUiLCJOVkxTY29yZUZvclNpdGUiLCJpMThuIiwidCIsImZha2VMYXllciIsInVuZGVmaW5lZCIsInNoYXBlX2RhdGEiLCJzYW1wbGluZ3NGb3JTdWJBcmVhcyIsIm5vU2FtcGxpbmdzIiwic3ViX2FyZWFzIiwibGVuZ3RoIiwiZm9yRWFjaCIsInN1Yl9hcmVhIiwidXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMiLCJ1c2VFZmZlY3QiLCJsYXRsbmdzIiwibG9jYXRpb24iLCJmaWxsT3BhY2l0eSIsImJyaW5nVG9CYWNrIiwib24iLCJlIiwidXBkYXRlV0JFIiwiZm9jdXNlZEFyZWEiLCJ6b29tZWRBcmVhIiwibGF5ZXIiLCJ0YXJnZXQiLCJnZXRCb3VuZHMiLCJnZXRDZW50ZXIiLCJwb3B1cCIsInNldExhdExuZyIsInNldENvbnRlbnQiLCJvcGVuT24iLCJjbG9zZVBvcHVwIiwiY3JlYXRlRWxlbWVudCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Db3ZpZFBhZ2UvY29tcG9uZW50cy9hcmVhcy9BcmVhUG9seWdvbldCRS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG5pbXBvcnQgdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMgZnJvbSAnc3JjL2hvb2tzL3VzZVJlbW92ZUV4aXN0aW5nTGF5ZXJzJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJQXJlYVdCRSB9IGZyb20gJ3NyYy9zdG9yZS9XQkUvbW9kZWxzL0lBcmVhV0JFJztcbmltcG9ydCB7IHVwZGF0ZVdCRSB9IGZyb20gJ3NyYy9zdG9yZS9XQkUvYWN0aW9ucyc7XG5pbXBvcnQgdmFsaWRTYW1wbGluZ0ljb24gZnJvbSAnLi4vLi4vLi4vLi4vYXNzZXRzL2FyZWFfc3RhdHVzZXMvdmFsaWQtc2FtcGxpbmcucG5nJztcbmltcG9ydCBpbnZhbGlkU2FtcGxpbmdJY29uIGZyb20gJy4uLy4uLy4uLy4uL2Fzc2V0cy9hcmVhX3N0YXR1c2VzL2ludmFsaWQtc2FtcGxpbmcucG5nJztcbmltcG9ydCBtaXNzaW5nU2FtcGxpbmdJY29uIGZyb20gJy4uLy4uLy4uLy4uL2Fzc2V0cy9hcmVhX3N0YXR1c2VzL21pc3Npbmctc2FtcGxpbmcucG5nJztcbmltcG9ydCBwZW5kaW5nU2FtcGxpbmdJY29uIGZyb20gJy4uLy4uLy4uLy4uL2Fzc2V0cy9hcmVhX3N0YXR1c2VzL3BlbmRpbmctc2FtcGxpbmcucG5nJztcbmltcG9ydCB0cmVuZFVwSWNvbiBmcm9tICcuLi8uLi8uLi8uLi9hc3NldHMvTlZMX3RyZW5kcy91cC5wbmcnO1xuaW1wb3J0IHRyZW5kRG93bkljb24gZnJvbSAnLi4vLi4vLi4vLi4vYXNzZXRzL05WTF90cmVuZHMvZG93bi5wbmcnO1xuaW1wb3J0IHRyZW5kU2FtZUljb24gZnJvbSAnLi4vLi4vLi4vLi4vYXNzZXRzL05WTF90cmVuZHMvc2FtZS5wbmcnO1xuaW1wb3J0IHsgc3RhdHVzQ29sb3IgfSBmcm9tICcuLi9udmxTdGF0dXNIZWxwZXInO1xuXG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBhcmVhOiBJQXJlYVdCRTtcbiAgbWFwWm9vbTogbnVtYmVyO1xufTtcblxuY29uc3QgQXJlYVBvbHlnb25XQkU6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IEwsIG1hcCwgYXJlYSwgbWFwWm9vbSB9ID0gcHJvcHM7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbWF0Y2hDb2xvclRvUG9seWdvbiA9IChwb2x5Z29uOiBhbnkpID0+IHtcbiAgICBjb25zdCBwb2x5Z29uQ29sb3IgPSBzdGF0dXNDb2xvcihhcmVhLk5WTCk7XG4gICAgcG9seWdvbi5zZXRTdHlsZSh7IGZpbGxDb2xvcjogcG9seWdvbkNvbG9yLCBjb2xvcjogcG9seWdvbkNvbG9yIH0pO1xuICB9O1xuXG4gIGNvbnN0IGNyZWF0ZU1hcmtlckJ5TlZMQ2hhbmdlID0gKCkgPT4ge1xuICAgIGNvbnN0IExhdExuZyA9IFthcmVhLnBvaW50LmxhdGl0dWRlLCBhcmVhLnBvaW50LmxvbmdpdHVkZV07XG4gICAgbGV0IG9wdGlvbnM7XG4gICAgbGV0IGljb25PcHRpb25zID0gKGljb25VUkw6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWNvblVybDogaWNvblVSTCxcbiAgICAgICAgaWNvblNpemU6IFszMywgMzBdLFxuICAgICAgICBpY29uQW5jaG9yOiBbLTUsIDQ1XSxcbiAgICAgICAgcG9wdXBBbmNob3I6IFstOSwgLTM2XSxcbiAgICAgIH07XG4gICAgfTtcblxuICAgIGlmIChNYXRoLnNpZ24oYXJlYS5OVkxfZGlmZl9yYXRpbykgPT09IDEpIHtcbiAgICAgIGxldCB2YWxpZCA9IEwuaWNvbihpY29uT3B0aW9ucyh0cmVuZFVwSWNvbikpO1xuICAgICAgb3B0aW9ucyA9IHsgb3BhY2l0eTogMSwgaWNvbjogdmFsaWQgfTtcbiAgICB9IGVsc2UgaWYgKGFyZWEuTlZMX2RpZmZfcmF0aW8gPT09IDApIHtcbiAgICAgIGxldCBpbnZhbGlkID0gTC5pY29uKGljb25PcHRpb25zKHRyZW5kU2FtZUljb24pKTtcbiAgICAgIG9wdGlvbnMgPSB7IG9wYWNpdHk6IDEsIGljb246IGludmFsaWQgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHBlbmRpbmcgPSBMLmljb24oaWNvbk9wdGlvbnModHJlbmREb3duSWNvbikpO1xuICAgICAgb3B0aW9ucyA9IHsgb3BhY2l0eTogMSwgaWNvbjogcGVuZGluZyB9O1xuICAgIH1cblxuICAgIGlmIChhcmVhLnBvaW50LmxhdGl0dWRlICE9PSBudWxsICYmIGFyZWEucG9pbnQubG9uZ2l0dWRlICE9PSBudWxsKSB7XG4gICAgICBsZXQgbWFya2VyID0gTC5tYXJrZXIoTGF0TG5nLCBvcHRpb25zKS5hZGRUbyhtYXApO1xuICAgICAgbWFya2VyWydrYW5kb19vYmplY3RfaWQnXSA9IGFyZWEucG9pbnQuaWQ7XG4gICAgICBtYXJrZXJbJ2thbmRvX29iamVjdCddID0gJ1BvaW50JztcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgY3JlYXRlTWFya2VyQnlTdGF0dXMgPSAoKSA9PiB7XG4gICAgY29uc3QgTGF0TG5nID0gW2FyZWEucG9pbnQubGF0aXR1ZGUsIGFyZWEucG9pbnQubG9uZ2l0dWRlXTtcbiAgICBsZXQgb3B0aW9ucztcbiAgICBsZXQgaWNvbk9wdGlvbnMgPSAoaWNvblVSTDogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpY29uVXJsOiBpY29uVVJMLFxuICAgICAgICBpY29uU2l6ZTogWzU0LCA1OF0sXG4gICAgICAgIGljb25BbmNob3I6IFsxOSwgNDJdLFxuICAgICAgICBwb3B1cEFuY2hvcjogWzgsIC0zNl0sXG4gICAgICB9O1xuICAgIH07XG5cbiAgICBzd2l0Y2ggKGFyZWEuc3RhdHVzKSB7XG4gICAgICBjYXNlIDA6XG4gICAgICAgIGxldCB2YWxpZCA9IEwuaWNvbihpY29uT3B0aW9ucyh2YWxpZFNhbXBsaW5nSWNvbikpO1xuICAgICAgICBvcHRpb25zID0geyBvcGFjaXR5OiAwLjgsIGljb246IHZhbGlkIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAxOlxuICAgICAgICBsZXQgaW52YWxpZCA9IEwuaWNvbihpY29uT3B0aW9ucyhpbnZhbGlkU2FtcGxpbmdJY29uKSk7XG4gICAgICAgIG9wdGlvbnMgPSB7IG9wYWNpdHk6IDAuOCwgaWNvbjogaW52YWxpZCB9O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjpcbiAgICAgICAgbGV0IHBlbmRpbmcgPSBMLmljb24oaWNvbk9wdGlvbnMocGVuZGluZ1NhbXBsaW5nSWNvbikpO1xuICAgICAgICBvcHRpb25zID0geyBvcGFjaXR5OiAwLjgsIGljb246IHBlbmRpbmcgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIGxldCBtaXNzaW5nID0gTC5pY29uKGljb25PcHRpb25zKG1pc3NpbmdTYW1wbGluZ0ljb24pKTtcbiAgICAgICAgb3B0aW9ucyA9IHsgb3BhY2l0eTogMC44LCBpY29uOiBtaXNzaW5nIH07XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChhcmVhLnBvaW50LmxhdGl0dWRlICE9PSBudWxsICYmIGFyZWEucG9pbnQubG9uZ2l0dWRlICE9PSBudWxsKSB7XG4gICAgICBsZXQgbWFya2VyID0gTC5tYXJrZXIoTGF0TG5nLCBvcHRpb25zKTtcbiAgICAgIG1hcmtlclsna2FuZG9fb2JqZWN0X2lkJ10gPSBhcmVhLnBvaW50LmlkO1xuICAgICAgbWFya2VyWydrYW5kb19vYmplY3QnXSA9ICdQb2ludCc7XG4gICAgICBtYXJrZXIuYWRkVG8obWFwKTtcbiAgICAgIG1hcmtlci5iaW5kUG9wdXAoYFxuICAgICAgICAgICAgPHA+JHthcmVhLm5hbWV9IC8gJHthcmVhLnBvaW50Lm5hbWV9PC9wPlxuICAgICAgICAgICAgYCk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IE5WTFNjb3JlRm9yU2l0ZSA9ICgpID0+IHtcbiAgICBpZiAoYXJlYS5OVkxfZGlmZl9yYXRpbyA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGAke2kxOG4udCgnY292aWRfdmlldy5OVkxfc2NvcmVfZm9yX3NpdGUubnVsbCcpfTogJHthcmVhLk5WTH1gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYCR7aTE4bi50KCdjb3ZpZF92aWV3Lk5WTF9zY29yZV9mb3Jfc2l0ZS5wcmVzZW50Jyl9OiAke1xuICAgICAgICBhcmVhLk5WTF9kaWZmX3JhdGlvXG4gICAgICB9YDtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZmFrZUxheWVyID0gKCkgPT4ge1xuICAgIGlmIChhcmVhLnBvaW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNoYXBlX2RhdGE6IFthcmVhLnBvaW50LmxvbmdpdHVkZSwgYXJlYS5wb2ludC5sYXRpdHVkZV0sXG4gICAgICAgIGlkOiBhcmVhLnBvaW50LmlkLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2hhcGVfZGF0YTogbnVsbCxcbiAgICAgIH07XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHNhbXBsaW5nc0ZvclN1YkFyZWFzID0gKCkgPT4ge1xuICAgIGxldCBub1NhbXBsaW5nczogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGlmIChhcmVhLnN1Yl9hcmVhcyAhPT0gdW5kZWZpbmVkICYmIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgYXJlYS5zdWJfYXJlYXMuZm9yRWFjaCgoc3ViX2FyZWE6IElBcmVhV0JFKSA9PiB7XG4gICAgICAgIGlmIChzdWJfYXJlYS5zdGF0dXMgIT09IDMpIHtcbiAgICAgICAgICBub1NhbXBsaW5ncyA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vU2FtcGxpbmdzID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmIChub1NhbXBsaW5ncykge1xuICAgICAgICByZXR1cm4gaTE4bi50KCdjb3ZpZF92aWV3Lm5vX3ZhbGlkX3NhbXBsaW5ncycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBpMThuLnQoJ2NvdmlkX3ZpZXcubm9fdmFsaWRfc2FtcGxpbmdzJyk7XG4gIH07XG5cbiAgdXNlUmVtb3ZlRXhpc3RpbmdMYXllcnMobWFwLCBhcmVhLCAnQXJlYScsIG1hcFpvb20pO1xuICB1c2VSZW1vdmVFeGlzdGluZ0xheWVycyhtYXAsIGZha2VMYXllcigpLCAnUG9pbnQnLCBtYXBab29tKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoYXJlYS5zaGFwZV9kYXRhICE9PSBudWxsICYmIGFyZWEuc2hhcGVfZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgbGF0bG5ncyA9IGFyZWEuc2hhcGVfZGF0YS5tYXAoKGxvY2F0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIFtsb2NhdGlvblsnbGF0J10sIGxvY2F0aW9uWydsbmcnXV07XG4gICAgICB9KTtcblxuICAgICAgbGV0IHBvbHlnb246IGFueSA9IEwucG9seWdvbihsYXRsbmdzKS5hZGRUbyhtYXApO1xuICAgICAgcG9seWdvblsna2FuZG9fb2JqZWN0X2lkJ10gPSBhcmVhLmlkO1xuICAgICAgcG9seWdvblsna2FuZG9fb2JqZWN0J10gPSAnQXJlYSc7XG4gICAgICBtYXRjaENvbG9yVG9Qb2x5Z29uKHBvbHlnb24pO1xuICAgICAgcG9seWdvbi5zZXRTdHlsZSh7IGZpbGxPcGFjaXR5OiAwLjQgfSk7XG5cbiAgICAgIGlmIChtYXBab29tID4gMTYpIHtcbiAgICAgICAgcG9seWdvbi5zZXRTdHlsZSh7IGZpbGxPcGFjaXR5OiAwIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAoYXJlYS5wb2ludCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNyZWF0ZU1hcmtlckJ5U3RhdHVzKCk7XG4gICAgICAgIGNyZWF0ZU1hcmtlckJ5TlZMQ2hhbmdlKCk7XG4gICAgICB9XG5cbiAgICAgIHBvbHlnb24uYnJpbmdUb0JhY2soKTtcbiAgICAgIHBvbHlnb24ub24oJ2NsaWNrJywgKGU6IGFueSkgPT4ge1xuICAgICAgICBpZiAoYXJlYS5zdWJfYXJlYXMgIT09IHVuZGVmaW5lZCAmJiBhcmVhLnN1Yl9hcmVhcy5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICAgIHVwZGF0ZVdCRSh7XG4gICAgICAgICAgICAgIGZvY3VzZWRBcmVhOiBhcmVhLFxuICAgICAgICAgICAgICB6b29tZWRBcmVhOiBhcmVhLnN1Yl9hcmVhc1swXSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcG9seWdvbi5vbignbW91c2VvdmVyJywgKGU6IGFueSkgPT4ge1xuICAgICAgICBsZXQgbGF5ZXIgPSBlLnRhcmdldDtcbiAgICAgICAgbGV0IExhdExuZyA9IGxheWVyLmdldEJvdW5kcygpLmdldENlbnRlcigpO1xuICAgICAgICBsZXQgcG9wdXAgPSBMLnBvcHVwKClcbiAgICAgICAgICAuc2V0TGF0TG5nKExhdExuZylcbiAgICAgICAgICAuc2V0Q29udGVudChcbiAgICAgICAgICAgIGBcbiAgICAgICAgICAgICAgICAgICAgPGg0PiR7YXJlYS5uYW1lfTwvaDQ+XG4gICAgICAgICAgICAgICAgICAgIDxwPiR7TlZMU2NvcmVGb3JTaXRlKCl9PC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD4ke2kxOG4udCgnY292aWRfdmlldy52aXJhbF9sb2FkJyl9OiAke2FyZWEuTlZMfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+JHtpMThuLnQoJ2NvdmlkX3ZpZXcuc3RhdHVzJyl9OiAke2kxOG4udChcbiAgICAgICAgICAgICAgYGNvdmlkX3ZpZXcuYXJlYV9zdGF0dXNlcy4ke2FyZWEuc3RhdHVzfWAsXG4gICAgICAgICAgICApfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+JHtzYW1wbGluZ3NGb3JTdWJBcmVhcygpfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgYCxcbiAgICAgICAgICApXG4gICAgICAgICAgLm9wZW5PbihtYXApO1xuXG4gICAgICAgIHBvbHlnb24ub24oJ21vdXNlb3V0JywgKGU6IGFueSkgPT4ge1xuICAgICAgICAgIG1hcC5jbG9zZVBvcHVwKHBvcHVwKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFthcmVhLCBtYXBab29tXSk7XG5cbiAgcmV0dXJuIDxkaXY+PC9kaXY+O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQXJlYVBvbHlnb25XQkU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsd0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLElBQUFLLFFBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGNBQUEsR0FBQUgsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFPLGdCQUFBLEdBQUFKLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBUSxnQkFBQSxHQUFBTCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQVMsZ0JBQUEsR0FBQU4sc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFVLEdBQUEsR0FBQVAsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFXLEtBQUEsR0FBQVIsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFZLEtBQUEsR0FBQVQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFhLGdCQUFBLEdBQUFiLE9BQUE7QUFBaUQsU0FBQWMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FB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
@@ -1,44 +1,47 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.AreaPolygonsWBE = void 0;
8
9
  var _react = _interopRequireWildcard(require("react"));
9
10
  var _AreaPolygonWBE = _interopRequireDefault(require("./AreaPolygonWBE"));
10
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
- 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; }
12
- const AreaPolygonsWBE = props => {
13
- const {
14
- L,
15
- areas,
16
- map,
17
- mapZoom,
18
- focusedArea
19
- } = props;
20
- const group = [];
21
- const drawAreas = () => {
11
+ 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); }
12
+ 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; }
13
+ var AreaPolygonsWBE = function AreaPolygonsWBE(props) {
14
+ var L = props.L,
15
+ areas = props.areas,
16
+ map = props.map,
17
+ mapZoom = props.mapZoom,
18
+ focusedArea = props.focusedArea;
19
+ var group = [];
20
+ var drawAreas = function drawAreas() {
22
21
  if (focusedArea === null) {
23
- return /*#__PURE__*/_react.default.createElement("div", null, areas.length !== 0 && areas.map(area => /*#__PURE__*/_react.default.createElement(_AreaPolygonWBE.default, {
24
- area: area,
25
- map: map,
26
- L: L,
27
- key: area.id,
28
- mapZoom: mapZoom
29
- })));
22
+ return /*#__PURE__*/_react.default.createElement("div", null, areas.length !== 0 && areas.map(function (area) {
23
+ return /*#__PURE__*/_react.default.createElement(_AreaPolygonWBE.default, {
24
+ area: area,
25
+ map: map,
26
+ L: L,
27
+ key: area.id,
28
+ mapZoom: mapZoom
29
+ });
30
+ }));
30
31
  } else {
31
- return /*#__PURE__*/_react.default.createElement("div", null, focusedArea.sub_areas !== undefined && focusedArea.sub_areas.length !== 0 && focusedArea.sub_areas.map(area => /*#__PURE__*/_react.default.createElement(_AreaPolygonWBE.default, {
32
- area: area,
33
- map: map,
34
- L: L,
35
- key: area.id,
36
- mapZoom: mapZoom
37
- })));
32
+ return /*#__PURE__*/_react.default.createElement("div", null, focusedArea.sub_areas !== undefined && focusedArea.sub_areas.length !== 0 && focusedArea.sub_areas.map(function (area) {
33
+ return /*#__PURE__*/_react.default.createElement(_AreaPolygonWBE.default, {
34
+ area: area,
35
+ map: map,
36
+ L: L,
37
+ key: area.id,
38
+ mapZoom: mapZoom
39
+ });
40
+ }));
38
41
  }
39
42
  };
40
- const zoomAreas = () => {
41
- for (const property in map._layers) {
43
+ var zoomAreas = function zoomAreas() {
44
+ for (var property in map._layers) {
42
45
  if (map._layers[property].kando_object === 'Area') {
43
46
  group.push(map._layers[property]);
44
47
  }
@@ -49,17 +52,17 @@ const AreaPolygonsWBE = props => {
49
52
  });
50
53
  }
51
54
  };
52
- const removeAreas = () => {
53
- for (const property in map._layers) {
55
+ var removeAreas = function removeAreas() {
56
+ for (var property in map._layers) {
54
57
  if (map._layers[property].kando_object === 'Area' || map._layers[property].kando_object === 'Point') {
55
58
  map.removeLayer(map._layers[property]);
56
59
  }
57
60
  }
58
61
  };
59
- (0, _react.useEffect)(() => {
62
+ (0, _react.useEffect)(function () {
60
63
  map.invalidateSize(true);
61
64
  }, [areas, focusedArea]);
62
65
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, removeAreas(), drawAreas(), zoomAreas());
63
66
  };
64
67
  exports.AreaPolygonsWBE = AreaPolygonsWBE;
65
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQXJlYVBvbHlnb25XQkUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkFyZWFQb2x5Z29uc1dCRSIsInByb3BzIiwiTCIsImFyZWFzIiwibWFwIiwibWFwWm9vbSIsImZvY3VzZWRBcmVhIiwiZ3JvdXAiLCJkcmF3QXJlYXMiLCJjcmVhdGVFbGVtZW50IiwibGVuZ3RoIiwiYXJlYSIsImlkIiwic3ViX2FyZWFzIiwidW5kZWZpbmVkIiwiem9vbUFyZWFzIiwicHJvcGVydHkiLCJfbGF5ZXJzIiwia2FuZG9fb2JqZWN0IiwicHVzaCIsImZpdEJvdW5kcyIsImZlYXR1cmVHcm91cCIsImdldEJvdW5kcyIsInBhZGRpbmciLCJyZW1vdmVBcmVhcyIsInJlbW92ZUxheWVyIiwidXNlRWZmZWN0IiwiaW52YWxpZGF0ZVNpemUiLCJGcmFnbWVudCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcGFnZXMvQ292aWRQYWdlL2NvbXBvbmVudHMvYXJlYXMvQXJlYVBvbHlnb25zV0JFLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IEFyZWFQb2x5Z29uV0JFIGZyb20gJy4vQXJlYVBvbHlnb25XQkUnO1xuaW1wb3J0IHsgSUFyZWFXQkUgfSBmcm9tICdzcmMvc3RvcmUvV0JFL21vZGVscy9JQXJlYVdCRSc7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIG1hcDogYW55O1xuICBMOiBhbnk7XG4gIGFyZWFzOiBhbnlbXTtcbiAgbWFwWm9vbTogbnVtYmVyO1xuICBmb2N1c2VkQXJlYTogSUFyZWFXQkUgfCBudWxsO1xufTtcblxuZXhwb3J0IGNvbnN0IEFyZWFQb2x5Z29uc1dCRTogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgTCwgYXJlYXMsIG1hcCwgbWFwWm9vbSwgZm9jdXNlZEFyZWEgfSA9IHByb3BzO1xuICBjb25zdCBncm91cDogYW55W10gPSBbXTtcbiAgY29uc3QgZHJhd0FyZWFzID0gKCkgPT4ge1xuICAgIGlmIChmb2N1c2VkQXJlYSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICB7YXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgICAgICAgICBhcmVhcy5tYXAoKGFyZWE6IElBcmVhV0JFKSA9PiAoXG4gICAgICAgICAgICAgIDxBcmVhUG9seWdvbldCRVxuICAgICAgICAgICAgICAgIGFyZWE9e2FyZWF9XG4gICAgICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgICAgICBrZXk9e2FyZWEuaWR9XG4gICAgICAgICAgICAgICAgbWFwWm9vbT17bWFwWm9vbX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2ZvY3VzZWRBcmVhLnN1Yl9hcmVhcyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgICAgICAgICBmb2N1c2VkQXJlYS5zdWJfYXJlYXMubWFwKChhcmVhOiBJQXJlYVdCRSkgPT4gKFxuICAgICAgICAgICAgICA8QXJlYVBvbHlnb25XQkVcbiAgICAgICAgICAgICAgICBhcmVhPXthcmVhfVxuICAgICAgICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgICAgICAga2V5PXthcmVhLmlkfVxuICAgICAgICAgICAgICAgIG1hcFpvb209e21hcFpvb219XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCB6b29tQXJlYXMgPSAoKSA9PiB7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXAuX2xheWVycykge1xuICAgICAgaWYgKG1hcC5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdBcmVhJykge1xuICAgICAgICBncm91cC5wdXNoKG1hcC5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGdyb3VwLmxlbmd0aCAhPT0gMCkge1xuICAgICAgbWFwLmZpdEJvdW5kcyhMLmZlYXR1cmVHcm91cChncm91cCkuZ2V0Qm91bmRzKCksIHtcbiAgICAgICAgcGFkZGluZzogWzEwMCwgMTAwXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCByZW1vdmVBcmVhcyA9ICgpID0+IHtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIG1hcC5fbGF5ZXJzKSB7XG4gICAgICBpZiAoXG4gICAgICAgIG1hcC5fbGF5ZXJzW3Byb3BlcnR5XS5rYW5kb19vYmplY3QgPT09ICdBcmVhJyB8fFxuICAgICAgICBtYXAuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnUG9pbnQnXG4gICAgICApIHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKG1hcC5fbGF5ZXJzW3Byb3BlcnR5XSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbWFwLmludmFsaWRhdGVTaXplKHRydWUpO1xuICB9LCBbYXJlYXMsIGZvY3VzZWRBcmVhXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICB7cmVtb3ZlQXJlYXMoKX1cbiAgICAgIHtkcmF3QXJlYXMoKX1cbiAgICAgIHt6b29tQXJlYXMoKX1cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUE4QyxTQUFBRyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTCx3QkFBQVMsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFKLEdBQUEsWUFBQUcsS0FBQSxDQUFBRSxHQUFBLENBQUFMLEdBQUEsU0FBQU0sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFYLEdBQUEsUUFBQVcsR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZCxHQUFBLEVBQUFXLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFWLEdBQUEsRUFBQVcsR0FBQSxjQUFBSSxJQUFBLEtBQUFBLElBQUEsQ0FBQVYsR0FBQSxJQUFBVSxJQUFBLENBQUFDLEdBQUEsS0FBQVIsTUFBQSxDQUFBQyxjQUFBLENBQUFILE1BQUEsRUFBQUssR0FBQSxFQUFBSSxJQUFBLFlBQUFULE1BQUEsQ0FBQUssR0FBQSxJQUFBWCxHQUFBLENBQUFXLEdBQUEsU0FBQUwsTUFBQSxDQUFBSixPQUFBLEdBQUFGLEdBQUEsTUFBQUcsS0FBQSxJQUFBQSxLQUFBLENBQUFhLEdBQUEsQ0FBQWhCLEdBQUEsRUFBQU0sTUFBQSxZQUFBQSxNQUFBO0FBV3ZDLE1BQU1XLGVBQWdDLEdBQUlDLEtBQUssSUFBSztFQUN6RCxNQUFNO0lBQUVDLENBQUM7SUFBRUMsS0FBSztJQUFFQyxHQUFHO0lBQUVDLE9BQU87SUFBRUM7RUFBWSxDQUFDLEdBQUdMLEtBQUs7RUFDckQsTUFBTU0sS0FBWSxHQUFHLEVBQUU7RUFDdkIsTUFBTUMsU0FBUyxHQUFHQSxDQUFBLEtBQU07SUFDdEIsSUFBSUYsV0FBVyxLQUFLLElBQUksRUFBRTtNQUN4QixvQkFDRWpDLE1BQUEsQ0FBQVksT0FBQSxDQUFBd0IsYUFBQSxjQUNHTixLQUFLLENBQUNPLE1BQU0sS0FBSyxDQUFDLElBQ2pCUCxLQUFLLENBQUNDLEdBQUcsQ0FBRU8sSUFBYyxpQkFDdkJ0QyxNQUFBLENBQUFZLE9BQUEsQ0FBQXdCLGFBQUEsQ0FBQ2pDLGVBQUEsQ0FBQVMsT0FBYztRQUNiMEIsSUFBSSxFQUFFQSxJQUFLO1FBQ1hQLEdBQUcsRUFBRUEsR0FBSTtRQUNURixDQUFDLEVBQUVBLENBQUU7UUFDTFIsR0FBRyxFQUFFaUIsSUFBSSxDQUFDQyxFQUFHO1FBQ2JQLE9BQU8sRUFBRUE7TUFBUSxDQUNsQixDQUNGLENBQ0EsQ0FBQztJQUVWLENBQUMsTUFBTTtNQUNMLG9CQUNFaEMsTUFBQSxDQUFBWSxPQUFBLENBQUF3QixhQUFBLGNBQ0dILFdBQVcsQ0FBQ08sU0FBUyxLQUFLQyxTQUFTLElBQ2xDUixXQUFXLENBQUNPLFNBQVMsQ0FBQ0gsTUFBTSxLQUFLLENBQUMsSUFDbENKLFdBQVcsQ0FBQ08sU0FBUyxDQUFDVCxHQUFHLENBQUVPLElBQWMsaUJBQ3ZDdEMsTUFBQSxDQUFBWSxPQUFBLENBQUF3QixhQUFBLENBQUNqQyxlQUFBLENBQUFTLE9BQWM7UUFDYjBCLElBQUksRUFBRUEsSUFBSztRQUNYUCxHQUFHLEVBQUVBLEdBQUk7UUFDVEYsQ0FBQyxFQUFFQSxDQUFFO1FBQ0xSLEdBQUcsRUFBRWlCLElBQUksQ0FBQ0MsRUFBRztRQUNiUCxPQUFPLEVBQUVBO01BQVEsQ0FDbEIsQ0FDRixDQUNBLENBQUM7SUFFVjtFQUNGLENBQUM7RUFFRCxNQUFNVSxTQUFTLEdBQUdBLENBQUEsS0FBTTtJQUN0QixLQUFLLE1BQU1DLFFBQVEsSUFBSVosR0FBRyxDQUFDYSxPQUFPLEVBQUU7TUFDbEMsSUFBSWIsR0FBRyxDQUFDYSxPQUFPLENBQUNELFFBQVEsQ0FBQyxDQUFDRSxZQUFZLEtBQUssTUFBTSxFQUFFO1FBQ2pEWCxLQUFLLENBQUNZLElBQUksQ0FBQ2YsR0FBRyxDQUFDYSxPQUFPLENBQUNELFFBQVEsQ0FBQyxDQUFDO01BQ25DO0lBQ0Y7SUFFQSxJQUFJVCxLQUFLLENBQUNHLE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFDdEJOLEdBQUcsQ0FBQ2dCLFNBQVMsQ0FBQ2xCLENBQUMsQ0FBQ21CLFlBQVksQ0FBQ2QsS0FBSyxDQUFDLENBQUNlLFNBQVMsQ0FBQyxDQUFDLEVBQUU7UUFDL0NDLE9BQU8sRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHO01BQ3BCLENBQUMsQ0FBQztJQUNKO0VBQ0YsQ0FBQztFQUVELE1BQU1DLFdBQVcsR0FBR0EsQ0FBQSxLQUFNO0lBQ3hCLEtBQUssTUFBTVIsUUFBUSxJQUFJWixHQUFHLENBQUNhLE9BQU8sRUFBRTtNQUNsQyxJQUNFYixHQUFHLENBQUNhLE9BQU8sQ0FBQ0QsUUFBUSxDQUFDLENBQUNFLFlBQVksS0FBSyxNQUFNLElBQzdDZCxHQUFHLENBQUNhLE9BQU8sQ0FBQ0QsUUFBUSxDQUFDLENBQUNFLFlBQVksS0FBSyxPQUFPLEVBQzlDO1FBQ0FkLEdBQUcsQ0FBQ3FCLFdBQVcsQ0FBQ3JCLEdBQUcsQ0FBQ2EsT0FBTyxDQUFDRCxRQUFRLENBQUMsQ0FBQztNQUN4QztJQUNGO0VBQ0YsQ0FBQztFQUVELElBQUFVLGdCQUFTLEVBQUMsTUFBTTtJQUNkdEIsR0FBRyxDQUFDdUIsY0FBYyxDQUFDLElBQUksQ0FBQztFQUMxQixDQUFDLEVBQUUsQ0FBQ3hCLEtBQUssRUFBRUcsV0FBVyxDQUFDLENBQUM7RUFFeEIsb0JBQ0VqQyxNQUFBLENBQUFZLE9BQUEsQ0FBQXdCLGFBQUEsQ0FBQ3BDLE1BQUEsQ0FBQVksT0FBSyxDQUFDMkMsUUFBUSxRQUNaSixXQUFXLENBQUMsQ0FBQyxFQUNiaEIsU0FBUyxDQUFDLENBQUMsRUFDWE8sU0FBUyxDQUFDLENBQ0csQ0FBQztBQUVyQixDQUFDO0FBQUNjLE9BQUEsQ0FBQTdCLGVBQUEsR0FBQUEsZUFBQSJ9
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQXJlYVBvbHlnb25XQkUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJBcmVhUG9seWdvbnNXQkUiLCJwcm9wcyIsIkwiLCJhcmVhcyIsIm1hcCIsIm1hcFpvb20iLCJmb2N1c2VkQXJlYSIsImdyb3VwIiwiZHJhd0FyZWFzIiwiY3JlYXRlRWxlbWVudCIsImxlbmd0aCIsImFyZWEiLCJpZCIsInN1Yl9hcmVhcyIsInVuZGVmaW5lZCIsInpvb21BcmVhcyIsInByb3BlcnR5IiwiX2xheWVycyIsImthbmRvX29iamVjdCIsInB1c2giLCJmaXRCb3VuZHMiLCJmZWF0dXJlR3JvdXAiLCJnZXRCb3VuZHMiLCJwYWRkaW5nIiwicmVtb3ZlQXJlYXMiLCJyZW1vdmVMYXllciIsInVzZUVmZmVjdCIsImludmFsaWRhdGVTaXplIiwiRnJhZ21lbnQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0NvdmlkUGFnZS9jb21wb25lbnRzL2FyZWFzL0FyZWFQb2x5Z29uc1dCRS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBBcmVhUG9seWdvbldCRSBmcm9tICcuL0FyZWFQb2x5Z29uV0JFJztcbmltcG9ydCB7IElBcmVhV0JFIH0gZnJvbSAnc3JjL3N0b3JlL1dCRS9tb2RlbHMvSUFyZWFXQkUnO1xuXG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBhcmVhczogYW55W107XG4gIG1hcFpvb206IG51bWJlcjtcbiAgZm9jdXNlZEFyZWE6IElBcmVhV0JFIHwgbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBBcmVhUG9seWdvbnNXQkU6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IEwsIGFyZWFzLCBtYXAsIG1hcFpvb20sIGZvY3VzZWRBcmVhIH0gPSBwcm9wcztcbiAgY29uc3QgZ3JvdXA6IGFueVtdID0gW107XG4gIGNvbnN0IGRyYXdBcmVhcyA9ICgpID0+IHtcbiAgICBpZiAoZm9jdXNlZEFyZWEgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAge2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICAgICAgYXJlYXMubWFwKChhcmVhOiBJQXJlYVdCRSkgPT4gKFxuICAgICAgICAgICAgICA8QXJlYVBvbHlnb25XQkVcbiAgICAgICAgICAgICAgICBhcmVhPXthcmVhfVxuICAgICAgICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgICAgICAga2V5PXthcmVhLmlkfVxuICAgICAgICAgICAgICAgIG1hcFpvb209e21hcFpvb219XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtmb2N1c2VkQXJlYS5zdWJfYXJlYXMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICAgICAgZm9jdXNlZEFyZWEuc3ViX2FyZWFzLm1hcCgoYXJlYTogSUFyZWFXQkUpID0+IChcbiAgICAgICAgICAgICAgPEFyZWFQb2x5Z29uV0JFXG4gICAgICAgICAgICAgICAgYXJlYT17YXJlYX1cbiAgICAgICAgICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAgICAgIGtleT17YXJlYS5pZH1cbiAgICAgICAgICAgICAgICBtYXBab29tPXttYXBab29tfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgem9vbUFyZWFzID0gKCkgPT4ge1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbWFwLl9sYXllcnMpIHtcbiAgICAgIGlmIChtYXAuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJlYScpIHtcbiAgICAgICAgZ3JvdXAucHVzaChtYXAuX2xheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChncm91cC5sZW5ndGggIT09IDApIHtcbiAgICAgIG1hcC5maXRCb3VuZHMoTC5mZWF0dXJlR3JvdXAoZ3JvdXApLmdldEJvdW5kcygpLCB7XG4gICAgICAgIHBhZGRpbmc6IFsxMDAsIDEwMF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgcmVtb3ZlQXJlYXMgPSAoKSA9PiB7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBtYXAuX2xheWVycykge1xuICAgICAgaWYgKFxuICAgICAgICBtYXAuX2xheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0ID09PSAnQXJlYScgfHxcbiAgICAgICAgbWFwLl9sYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdCA9PT0gJ1BvaW50J1xuICAgICAgKSB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihtYXAuX2xheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIG1hcC5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbiAgfSwgW2FyZWFzLCBmb2N1c2VkQXJlYV0pO1xuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAge3JlbW92ZUFyZWFzKCl9XG4gICAgICB7ZHJhd0FyZWFzKCl9XG4gICAgICB7em9vbUFyZWFzKCl9XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQThDLFNBQUFHLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBTCx3QkFBQVMsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEs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
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.AreasList = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
8
10
  var _react = _interopRequireWildcard(require("react"));
9
11
  var _reactFontawesome = require("@fortawesome/react-fontawesome");
10
12
  var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
@@ -14,38 +16,46 @@ require("./AreasStyle.scss");
14
16
  var _actions = require("store/WBE/actions");
15
17
  var _Sort = _interopRequireDefault(require("../areas/Sort"));
16
18
  var _i18n = _interopRequireDefault(require("utilities/i18n"));
17
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
- 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; }
19
- const AreasList = props => {
20
- const {
21
- areas,
22
- isSubAreasDisplayed,
23
- focusedArea,
24
- zoomedArea
25
- } = props;
26
- const [modifiedAreas, setModifiedAreas] = (0, _react.useState)(areas);
27
- const [collapsed, setCollapsed] = (0, _react.useState)(true);
28
- const dispatch = (0, _reactRedux.useDispatch)();
29
- const triggerSort = sort => {
30
- let sorted;
19
+ 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); }
20
+ 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
+ var AreasList = function AreasList(props) {
22
+ var areas = props.areas,
23
+ isSubAreasDisplayed = props.isSubAreasDisplayed,
24
+ focusedArea = props.focusedArea,
25
+ zoomedArea = props.zoomedArea;
26
+ var _useState = (0, _react.useState)(areas),
27
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
28
+ modifiedAreas = _useState2[0],
29
+ setModifiedAreas = _useState2[1];
30
+ var _useState3 = (0, _react.useState)(true),
31
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
32
+ collapsed = _useState4[0],
33
+ setCollapsed = _useState4[1];
34
+ var dispatch = (0, _reactRedux.useDispatch)();
35
+ var triggerSort = function triggerSort(sort) {
36
+ var sorted;
31
37
 
32
38
  // eslint-disable-next-line eqeqeq
33
39
  if (sort == 1) {
34
- sorted = areas.slice().sort((a, b) => b.NVL - a.NVL);
40
+ sorted = areas.slice().sort(function (a, b) {
41
+ return b.NVL - a.NVL;
42
+ });
35
43
  setModifiedAreas(undefined);
36
- setTimeout(() => {
44
+ setTimeout(function () {
37
45
  setModifiedAreas(sorted);
38
46
  }, 50);
39
47
  // eslint-disable-next-line eqeqeq
40
48
  } else if (sort == 2) {
41
- sorted = areas.slice().sort((a, b) => b.NVL_diff_ratio - a.NVL_diff_ratio);
49
+ sorted = areas.slice().sort(function (a, b) {
50
+ return b.NVL_diff_ratio - a.NVL_diff_ratio;
51
+ });
42
52
  setModifiedAreas(undefined);
43
- setTimeout(() => {
53
+ setTimeout(function () {
44
54
  setModifiedAreas(sorted);
45
55
  }, 50);
46
56
  }
47
57
  };
48
- (0, _react.useEffect)(() => {
58
+ (0, _react.useEffect)(function () {
49
59
  setModifiedAreas(areas);
50
60
  }, [areas, focusedArea]);
51
61
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -56,7 +66,7 @@ const AreasList = props => {
56
66
  className: "main"
57
67
  }, isSubAreasDisplayed ? /*#__PURE__*/_react.default.createElement("h3", null, focusedArea.name) : /*#__PURE__*/_react.default.createElement("h3", null, _i18n.default.t('covid_view.main_areas')), isSubAreasDisplayed ? /*#__PURE__*/_react.default.createElement("a", {
58
68
  className: "back-button--sub-areas",
59
- onClick: () => {
69
+ onClick: function onClick() {
60
70
  dispatch((0, _actions.updateWBE)({
61
71
  focusedArea: null,
62
72
  zoomedArea: null
@@ -72,22 +82,24 @@ const AreasList = props => {
72
82
  className: "secondary"
73
83
  }, collapsed ? /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
74
84
  icon: _freeSolidSvgIcons.faExpandAlt,
75
- onClick: () => {
85
+ onClick: function onClick() {
76
86
  setCollapsed(false);
77
87
  }
78
88
  }) : /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
79
89
  icon: _freeSolidSvgIcons.faCompressAlt,
80
- onClick: () => {
90
+ onClick: function onClick() {
81
91
  setCollapsed(true);
82
92
  }
83
93
  }))), /*#__PURE__*/_react.default.createElement("ul", {
84
94
  className: "areas ".concat(collapsed ? 'areas--collapsed' : '')
85
- }, modifiedAreas !== undefined && modifiedAreas.length !== 0 && modifiedAreas.map(area => /*#__PURE__*/_react.default.createElement(_Area.Area, {
86
- area: area,
87
- key: area.id,
88
- isSubAreasDisplayed: isSubAreasDisplayed,
89
- zoomedArea: zoomedArea
90
- }))));
95
+ }, modifiedAreas !== undefined && modifiedAreas.length !== 0 && modifiedAreas.map(function (area) {
96
+ return /*#__PURE__*/_react.default.createElement(_Area.Area, {
97
+ area: area,
98
+ key: area.id,
99
+ isSubAreasDisplayed: isSubAreasDisplayed,
100
+ zoomedArea: zoomedArea
101
+ });
102
+ })));
91
103
  };
92
104
  exports.AreasList = AreasList;
93
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RGb250YXdlc29tZSIsIl9mcmVlU29saWRTdmdJY29ucyIsIl9yZWFjdFJlZHV4IiwiX0FyZWEiLCJfYWN0aW9ucyIsIl9Tb3J0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9pMThuIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkFyZWFzTGlzdCIsInByb3BzIiwiYXJlYXMiLCJpc1N1YkFyZWFzRGlzcGxheWVkIiwiZm9jdXNlZEFyZWEiLCJ6b29tZWRBcmVhIiwibW9kaWZpZWRBcmVhcyIsInNldE1vZGlmaWVkQXJlYXMiLCJ1c2VTdGF0ZSIsImNvbGxhcHNlZCIsInNldENvbGxhcHNlZCIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJ0cmlnZ2VyU29ydCIsInNvcnQiLCJzb3J0ZWQiLCJzbGljZSIsImEiLCJiIiwiTlZMIiwidW5kZWZpbmVkIiwic2V0VGltZW91dCIsIk5WTF9kaWZmX3JhdGlvIiwidXNlRWZmZWN0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIm5hbWUiLCJpMThuIiwidCIsIm9uQ2xpY2siLCJ1cGRhdGVXQkUiLCJGb250QXdlc29tZUljb24iLCJpY29uIiwiZmFBcnJvd0xlZnQiLCJGcmFnbWVudCIsImxlbmd0aCIsImZhRXhwYW5kQWx0IiwiZmFDb21wcmVzc0FsdCIsImNvbmNhdCIsIm1hcCIsImFyZWEiLCJBcmVhIiwiaWQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0NvdmlkUGFnZS9jb21wb25lbnRzL2FyZWFzL0FyZWFzTGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFDb21wcmVzc0FsdCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBmYUV4cGFuZEFsdCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBmYUFycm93TGVmdCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcblxuaW1wb3J0IHsgQXJlYSB9IGZyb20gJy4vQXJlYSc7XG5pbXBvcnQgJy4vQXJlYXNTdHlsZS5zY3NzJztcbmltcG9ydCB7IElBcmVhV0JFIH0gZnJvbSAnc3JjL3N0b3JlL1dCRS9tb2RlbHMvSUFyZWFXQkUnO1xuaW1wb3J0IHsgdXBkYXRlV0JFIH0gZnJvbSAnc3JjL3N0b3JlL1dCRS9hY3Rpb25zJztcbmltcG9ydCBTb3J0IGZyb20gJy4uL2FyZWFzL1NvcnQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxudHlwZSBQcm9wcyA9IHtcbiAgYXJlYXM6IElBcmVhV0JFW107XG4gIGlzU3ViQXJlYXNEaXNwbGF5ZWQ6IGJvb2xlYW47XG4gIGZvY3VzZWRBcmVhOiBJQXJlYVdCRSB8IG51bGw7XG4gIHpvb21lZEFyZWE6IElBcmVhV0JFIHwgbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBBcmVhc0xpc3Q6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGFyZWFzLCBpc1N1YkFyZWFzRGlzcGxheWVkLCBmb2N1c2VkQXJlYSwgem9vbWVkQXJlYSB9ID0gcHJvcHM7XG4gIGNvbnN0IFttb2RpZmllZEFyZWFzLCBzZXRNb2RpZmllZEFyZWFzXSA9IHVzZVN0YXRlPElBcmVhV0JFW10gfCB1bmRlZmluZWQ+KFxuICAgIGFyZWFzLFxuICApO1xuICBjb25zdCBbY29sbGFwc2VkLCBzZXRDb2xsYXBzZWRdID0gdXNlU3RhdGUodHJ1ZSk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgdHJpZ2dlclNvcnQgPSAoc29ydDogbnVtYmVyKSA9PiB7XG4gICAgbGV0IHNvcnRlZDogSUFyZWFXQkVbXTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcWVxZXFcbiAgICBpZiAoc29ydCA9PSAxKSB7XG4gICAgICBzb3J0ZWQgPSBhcmVhcy5zbGljZSgpLnNvcnQoKGEsIGIpID0+IGIuTlZMIC0gYS5OVkwpO1xuICAgICAgc2V0TW9kaWZpZWRBcmVhcyh1bmRlZmluZWQpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHNldE1vZGlmaWVkQXJlYXMoc29ydGVkKTtcbiAgICAgIH0sIDUwKTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcWVxZXFcbiAgICB9IGVsc2UgaWYgKHNvcnQgPT0gMikge1xuICAgICAgc29ydGVkID0gYXJlYXNcbiAgICAgICAgLnNsaWNlKClcbiAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIuTlZMX2RpZmZfcmF0aW8gLSBhLk5WTF9kaWZmX3JhdGlvKTtcbiAgICAgIHNldE1vZGlmaWVkQXJlYXModW5kZWZpbmVkKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXRNb2RpZmllZEFyZWFzKHNvcnRlZCk7XG4gICAgICB9LCA1MCk7XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0TW9kaWZpZWRBcmVhcyhhcmVhcyk7XG4gIH0sIFthcmVhcywgZm9jdXNlZEFyZWFdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXsnYXJlYXMtY29udGFpbmVyJ30+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YGFyZWFzLWxpc3QtaGVhZGVyYH0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgbWFpbmB9PlxuICAgICAgICAgIHtpc1N1YkFyZWFzRGlzcGxheWVkID8gKFxuICAgICAgICAgICAgPGgzPntmb2N1c2VkQXJlYSEubmFtZX08L2gzPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8aDM+e2kxOG4udCgnY292aWRfdmlldy5tYWluX2FyZWFzJyl9PC9oMz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtpc1N1YkFyZWFzRGlzcGxheWVkID8gKFxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgYmFjay1idXR0b24tLXN1Yi1hcmVhc2B9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICAgICAgICAgIHVwZGF0ZVdCRSh7XG4gICAgICAgICAgICAgICAgICAgIGZvY3VzZWRBcmVhOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICB6b29tZWRBcmVhOiBudWxsLFxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYUFycm93TGVmdH0gLz5cbiAgICAgICAgICAgICAgPHNwYW4+IHtpMThuLnQoJ2NvdmlkX3ZpZXcuYmFja190b19tYWluX2FyZWFzJyl9PC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+PC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAge2FyZWFzICE9PSB1bmRlZmluZWQgJiYgYXJlYXMubGVuZ3RoICE9PSAwICYmIChcbiAgICAgICAgICAgICAgICA8U29ydFxuICAgICAgICAgICAgICAgICAgdHJpZ2dlclNvcnQ9e3RyaWdnZXJTb3J0fVxuICAgICAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICAgICAgZm9jdXNlZEFyZWE9e2ZvY3VzZWRBcmVhfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YHNlY29uZGFyeWB9PlxuICAgICAgICAgIHtjb2xsYXBzZWQgPyAoXG4gICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uXG4gICAgICAgICAgICAgIGljb249e2ZhRXhwYW5kQWx0fVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0Q29sbGFwc2VkKGZhbHNlKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxGb250QXdlc29tZUljb25cbiAgICAgICAgICAgICAgaWNvbj17ZmFDb21wcmVzc0FsdH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldENvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx1bCBjbGFzc05hbWU9e2BhcmVhcyAke2NvbGxhcHNlZCA/ICdhcmVhcy0tY29sbGFwc2VkJyA6ICcnfWB9PlxuICAgICAgICB7bW9kaWZpZWRBcmVhcyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgbW9kaWZpZWRBcmVhcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgICBtb2RpZmllZEFyZWFzLm1hcCgoYXJlYTogSUFyZWFXQkUpID0+IChcbiAgICAgICAgICAgIDxBcmVhXG4gICAgICAgICAgICAgIGFyZWE9e2FyZWF9XG4gICAgICAgICAgICAgIGtleT17YXJlYS5pZH1cbiAgICAgICAgICAgICAgaXNTdWJBcmVhc0Rpc3BsYXllZD17aXNTdWJBcmVhc0Rpc3BsYXllZH1cbiAgICAgICAgICAgICAgem9vbWVkQXJlYT17em9vbWVkQXJlYX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxrQkFBQSxHQUFBRixPQUFBO0FBR0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBRUEsSUFBQUksS0FBQSxHQUFBSixPQUFBO0FBQ0FBLE9BQUE7QUFFQSxJQUFBSyxRQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxLQUFBLEdBQUFDLHNCQUFBLENBQUFQLE9BQUE7QUFDQSxJQUFBUSxLQUFBLEdBQUFELHNCQUFBLENBQUFQLE9BQUE7QUFBc0MsU0FBQVMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVgsd0JBQUFlLEdBQUEsRUFBQUosV0FBQSxTQUFB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
105
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RGb250YXdlc29tZSIsIl9mcmVlU29saWRTdmdJY29ucyIsIl9yZWFjdFJlZHV4IiwiX0FyZWEiLCJfYWN0aW9ucyIsIl9Tb3J0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9pMThuIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJBcmVhc0xpc3QiLCJwcm9wcyIsImFyZWFzIiwiaXNTdWJBcmVhc0Rpc3BsYXllZCIsImZvY3VzZWRBcmVhIiwiem9vbWVkQXJlYSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIm1vZGlmaWVkQXJlYXMiLCJzZXRNb2RpZmllZEFyZWFzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJjb2xsYXBzZWQiLCJzZXRDb2xsYXBzZWQiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwidHJpZ2dlclNvcnQiLCJzb3J0Iiwic29ydGVkIiwic2xpY2UiLCJhIiwiYiIsIk5WTCIsInVuZGVmaW5lZCIsInNldFRpbWVvdXQiLCJOVkxfZGlmZl9yYXRpbyIsInVzZUVmZmVjdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJuYW1lIiwiaTE4biIsInQiLCJvbkNsaWNrIiwidXBkYXRlV0JFIiwiRm9udEF3ZXNvbWVJY29uIiwiaWNvbiIsImZhQXJyb3dMZWZ0IiwiRnJhZ21lbnQiLCJsZW5ndGgiLCJmYUV4cGFuZEFsdCIsImZhQ29tcHJlc3NBbHQiLCJjb25jYXQiLCJtYXAiLCJhcmVhIiwiQXJlYSIsImlkIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Db3ZpZFBhZ2UvY29tcG9uZW50cy9hcmVhcy9BcmVhc0xpc3QudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IGZhQ29tcHJlc3NBbHQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgZmFFeHBhbmRBbHQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgZmFBcnJvd0xlZnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmltcG9ydCB7IEFyZWEgfSBmcm9tICcuL0FyZWEnO1xuaW1wb3J0ICcuL0FyZWFzU3R5bGUuc2Nzcyc7XG5pbXBvcnQgeyBJQXJlYVdCRSB9IGZyb20gJ3NyYy9zdG9yZS9XQkUvbW9kZWxzL0lBcmVhV0JFJztcbmltcG9ydCB7IHVwZGF0ZVdCRSB9IGZyb20gJ3NyYy9zdG9yZS9XQkUvYWN0aW9ucyc7XG5pbXBvcnQgU29ydCBmcm9tICcuLi9hcmVhcy9Tb3J0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIGFyZWFzOiBJQXJlYVdCRVtdO1xuICBpc1N1YkFyZWFzRGlzcGxheWVkOiBib29sZWFuO1xuICBmb2N1c2VkQXJlYTogSUFyZWFXQkUgfCBudWxsO1xuICB6b29tZWRBcmVhOiBJQXJlYVdCRSB8IG51bGw7XG59O1xuXG5leHBvcnQgY29uc3QgQXJlYXNMaXN0OiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBhcmVhcywgaXNTdWJBcmVhc0Rpc3BsYXllZCwgZm9jdXNlZEFyZWEsIHpvb21lZEFyZWEgfSA9IHByb3BzO1xuICBjb25zdCBbbW9kaWZpZWRBcmVhcywgc2V0TW9kaWZpZWRBcmVhc10gPSB1c2VTdGF0ZTxJQXJlYVdCRVtdIHwgdW5kZWZpbmVkPihcbiAgICBhcmVhcyxcbiAgKTtcbiAgY29uc3QgW2NvbGxhcHNlZCwgc2V0Q29sbGFwc2VkXSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHRyaWdnZXJTb3J0ID0gKHNvcnQ6IG51bWJlcikgPT4ge1xuICAgIGxldCBzb3J0ZWQ6IElBcmVhV0JFW107XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZXFlcWVxXG4gICAgaWYgKHNvcnQgPT0gMSkge1xuICAgICAgc29ydGVkID0gYXJlYXMuc2xpY2UoKS5zb3J0KChhLCBiKSA9PiBiLk5WTCAtIGEuTlZMKTtcbiAgICAgIHNldE1vZGlmaWVkQXJlYXModW5kZWZpbmVkKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXRNb2RpZmllZEFyZWFzKHNvcnRlZCk7XG4gICAgICB9LCA1MCk7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZXFlcWVxXG4gICAgfSBlbHNlIGlmIChzb3J0ID09IDIpIHtcbiAgICAgIHNvcnRlZCA9IGFyZWFzXG4gICAgICAgIC5zbGljZSgpXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBiLk5WTF9kaWZmX3JhdGlvIC0gYS5OVkxfZGlmZl9yYXRpbyk7XG4gICAgICBzZXRNb2RpZmllZEFyZWFzKHVuZGVmaW5lZCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc2V0TW9kaWZpZWRBcmVhcyhzb3J0ZWQpO1xuICAgICAgfSwgNTApO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldE1vZGlmaWVkQXJlYXMoYXJlYXMpO1xuICB9LCBbYXJlYXMsIGZvY3VzZWRBcmVhXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17J2FyZWFzLWNvbnRhaW5lcid9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2BhcmVhcy1saXN0LWhlYWRlcmB9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YG1haW5gfT5cbiAgICAgICAgICB7aXNTdWJBcmVhc0Rpc3BsYXllZCA/IChcbiAgICAgICAgICAgIDxoMz57Zm9jdXNlZEFyZWEhLm5hbWV9PC9oMz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPGgzPntpMThuLnQoJ2NvdmlkX3ZpZXcubWFpbl9hcmVhcycpfTwvaDM+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7aXNTdWJBcmVhc0Rpc3BsYXllZCA/IChcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YGJhY2stYnV0dG9uLS1zdWItYXJlYXNgfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goXG4gICAgICAgICAgICAgICAgICB1cGRhdGVXQkUoe1xuICAgICAgICAgICAgICAgICAgICBmb2N1c2VkQXJlYTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgem9vbWVkQXJlYTogbnVsbCxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFBcnJvd0xlZnR9IC8+XG4gICAgICAgICAgICAgIDxzcGFuPiB7aTE4bi50KCdjb3ZpZF92aWV3LmJhY2tfdG9fbWFpbl9hcmVhcycpfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50PjwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgIHthcmVhcyAhPT0gdW5kZWZpbmVkICYmIGFyZWFzLmxlbmd0aCAhPT0gMCAmJiAoXG4gICAgICAgICAgICAgICAgPFNvcnRcbiAgICAgICAgICAgICAgICAgIHRyaWdnZXJTb3J0PXt0cmlnZ2VyU29ydH1cbiAgICAgICAgICAgICAgICAgIGFyZWFzPXthcmVhc31cbiAgICAgICAgICAgICAgICAgIGZvY3VzZWRBcmVhPXtmb2N1c2VkQXJlYX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2BzZWNvbmRhcnlgfT5cbiAgICAgICAgICB7Y29sbGFwc2VkID8gKFxuICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgICAgICBpY29uPXtmYUV4cGFuZEFsdH1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldENvbGxhcHNlZChmYWxzZSk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uXG4gICAgICAgICAgICAgIGljb249e2ZhQ29tcHJlc3NBbHR9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8dWwgY2xhc3NOYW1lPXtgYXJlYXMgJHtjb2xsYXBzZWQgPyAnYXJlYXMtLWNvbGxhcHNlZCcgOiAnJ31gfT5cbiAgICAgICAge21vZGlmaWVkQXJlYXMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgIG1vZGlmaWVkQXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgICAgICAgbW9kaWZpZWRBcmVhcy5tYXAoKGFyZWE6IElBcmVhV0JFKSA9PiAoXG4gICAgICAgICAgICA8QXJlYVxuICAgICAgICAgICAgICBhcmVhPXthcmVhfVxuICAgICAgICAgICAgICBrZXk9e2FyZWEuaWR9XG4gICAgICAgICAgICAgIGlzU3ViQXJlYXNEaXNwbGF5ZWQ9e2lzU3ViQXJlYXNEaXNwbGF5ZWR9XG4gICAgICAgICAgICAgIHpvb21lZEFyZWE9e3pvb21lZEFyZWF9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpfVxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxrQkFBQSxHQUFBRixPQUFBO0FBR0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBRUEsSUFBQUksS0FBQSxHQUFBSixPQUFBO0FBQ0FBLE9BQUE7QUFFQSxJQUFBSyxRQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxLQUFBLEdBQUFDLHNCQUFBLENBQUFQLE9BQUE7QUFDQSxJQUFBUSxLQUFBLEdBQUFELHNCQUFBLENBQUFQLE9BQUE7QUFBc0MsU0FBQVMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFYLHdCQUFBZSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixHQUFBLEVBQUFZLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFYLEdBQUEsRUFBQVksR0FBQSxjQUFBSSxJQUFBLEtBQUFBLElBQUEsQ0FBQVYsR0FBQSxJQUFBVSxJQUFBLENBQUFDLEdBQUEsS0FBQVIsTUFBQSxDQUFBQyxjQUFBLENBQUFILE1BQUEsRUFBQUssR0FBQSxFQUFBSSxJQUFBLFlBQUFULE1BQUEsQ0FBQUssR0FBQSxJQUFBWixHQUFBLENBQUFZLEdBQUEsU0FBQUwsTUFBQSxDQUFBSixPQUFBLEdBQUFILEdBQUEsTUFBQUksS0FBQSxJQUFBQSxLQUFBLENBQUFhLEdBQUEsQ0FBQWpCLEdBQUEsRUFBQU8sTUFBQSxZQUFBQSxNQUFBO0FBUy9CLElBQU1XLFNBQTBCLEdBQUcsU0FBN0JBLFNBQTBCQSxDQUFJQyxLQUFLLEVBQUs7RUFDbkQsSUFBUUMsS0FBSyxHQUFtREQsS0FBSyxDQUE3REMsS0FBSztJQUFFQyxtQkFBbUIsR0FBOEJGLEtBQUssQ0FBdERFLG1CQUFtQjtJQUFFQyxXQUFXLEdBQWlCSCxLQUFLLENBQWpDRyxXQUFXO0lBQUVDLFVBQVUsR0FBS0osS0FBSyxDQUFwQkksVUFBVTtFQUMzRCxJQUFBQyxTQUFBLEdBQTBDLElBQUFDLGVBQVEsRUFDaERMLEtBQ0YsQ0FBQztJQUFBTSxVQUFBLE9BQUFDLGVBQUEsQ0FBQXhCLE9BQUEsRUFBQXFCLFNBQUE7SUFGTUksYUFBYSxHQUFBRixVQUFBO0lBQUVHLGdCQUFnQixHQUFBSCxVQUFBO0VBR3RDLElBQUFJLFVBQUEsR0FBa0MsSUFBQUwsZUFBUSxFQUFDLElBQUksQ0FBQztJQUFBTSxVQUFBLE9BQUFKLGVBQUEsQ0FBQXhCLE9BQUEsRUFBQTJCLFVBQUE7SUFBekNFLFNBQVMsR0FBQUQsVUFBQTtJQUFFRSxZQUFZLEdBQUFGLFVBQUE7RUFDOUIsSUFBTUcsUUFBUSxHQUFHLElBQUFDLHVCQUFXLEVBQUMsQ0FBQztFQUM5QixJQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSUMsSUFBWSxFQUFLO0lBQ3BDLElBQUlDLE1BQWtCOztJQUV0QjtJQUNBLElBQUlELElBQUksSUFBSSxDQUFDLEVBQUU7TUFDYkMsTUFBTSxHQUFHbEIsS0FBSyxDQUFDbUIsS0FBSyxDQUFDLENBQUMsQ0FBQ0YsSUFBSSxDQUFDLFVBQUNHLENBQUMsRUFBRUMsQ0FBQztRQUFBLE9BQUtBLENBQUMsQ0FBQ0MsR0FBRyxHQUFHRixDQUFDLENBQUNFLEdBQUc7TUFBQSxFQUFDO01BQ3BEYixnQkFBZ0IsQ0FBQ2MsU0FBUyxDQUFDO01BQzNCQyxVQUFVLENBQUMsWUFBTTtRQUNmZixnQkFBZ0IsQ0FBQ1MsTUFBTSxDQUFDO01BQzFCLENBQUMsRUFBRSxFQUFFLENBQUM7TUFDTjtJQUNGLENBQUMsTUFBTSxJQUFJRCxJQUFJLElBQUksQ0FBQyxFQUFFO01BQ3BCQyxNQUFNLEdBQUdsQixLQUFLLENBQ1htQixLQUFLLENBQUMsQ0FBQyxDQUNQRixJQUFJLENBQUMsVUFBQ0csQ0FBQyxFQUFFQyxDQUFDO1FBQUEsT0FBS0EsQ0FBQyxDQUFDSSxjQUFjLEdBQUdMLENBQUMsQ0FBQ0ssY0FBYztNQUFBLEVBQUM7TUFDdERoQixnQkFBZ0IsQ0FBQ2MsU0FBUyxDQUFDO01BQzNCQyxVQUFVLENBQUMsWUFBTTtRQUNmZixnQkFBZ0IsQ0FBQ1MsTUFBTSxDQUFDO01BQzFCLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDUjtFQUNGLENBQUM7RUFFRCxJQUFBUSxnQkFBUyxFQUFDLFlBQU07SUFDZGpCLGdCQUFnQixDQUFDVCxLQUFLLENBQUM7RUFDekIsQ0FBQyxFQUFFLENBQUNBLEtBQUssRUFBRUUsV0FBVyxDQUFDLENBQUM7RUFFeEIsb0JBQ0V0QyxNQUFBLENBQUFtQixPQUFBLENBQUE0QyxhQUFBO0lBQUtDLFNBQVMsRUFBRTtFQUFrQixnQkFDaENoRSxNQUFBLENBQUFtQixPQUFBLENBQUE0QyxhQUFBO0lBQUtDLFNBQVM7RUFBc0IsZ0JBQ2xDaEUsTUFBQSxDQUFBbUIsT0FBQSxDQUFBNEMsYUFBQTtJQUFLQyxTQUFTO0VBQVMsR0FDcEIzQixtQkFBbUIsZ0JBQ2xCckMsTUFBQSxDQUFBbUIsT0FBQSxDQUFBNEMsYUFBQSxhQUFLekIsV0FBVyxDQUFFMkIsSUFBUyxDQUFDLGdCQUU1QmpFLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQTRDLGFBQUEsYUFBS0csYUFBSSxDQUFDQyxDQUFDLENBQUMsdUJBQXVCLENBQU0sQ0FDMUMsRUFDQTlCLG1CQUFtQixnQkFDbEJyQyxNQUFBLENBQUFtQixPQUFBLENBQUE0QyxhQUFBO0lBQ0VDLFNBQVMsMEJBQTJCO0lBQ3BDSSxPQUFPLEVBQUUsU0FBQUEsUUFBQSxFQUFNO01BQ2JsQixRQUFRLENBQ04sSUFBQW1CLGtCQUFTLEVBQUM7UUFDUi9CLFdBQVcsRUFBRSxJQUFJO1FBQ2pCQyxVQUFVLEVBQUU7TUFDZCxDQUFDLENBQ0gsQ0FBQztJQUNIO0VBQUUsZ0JBRUZ2QyxNQUFBLENBQUFtQixPQUFBLENBQUE0QyxhQUFBLENBQUM1RCxpQkFBQSxDQUFBbUUsZUFBZTtJQUFDQyxJQUFJLEVBQUVDO0VBQVksQ0FBRSxDQUFDLGVBQ3RDeEUsTUFBQSxDQUFBbUIsT0FBQSxDQUFBNEMsYUFBQSxlQUFNLEdBQUMsRUFBQ0csYUFBSSxDQUFDQyxDQUFDLENBQUMsK0JBQStCLENBQVEsQ0FDckQsQ0FBQyxnQkFFSm5FLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQTRDLGFBQUEsQ0FBQy9ELE1BQUEsQ0FBQW1CLE9BQUssQ0FBQ3NELFFBQVEsTUFBaUIsQ0FDakMsZUFDRHpFLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQTRDLGFBQUEsMkJBQ0UvRCxNQUFBLENBQUFtQixPQUFBLENBQUE0QyxhQUFBLGVBQ0czQixLQUFLLEtBQUt1QixTQUFTLElBQUl2QixLQUFLLENBQUNzQyxNQUFNLEtBQUssQ0FBQyxpQkFDeEMxRSxNQUFBLENBQUFtQixPQUFBLENBQUE0QyxhQUFBLENBQUN2RCxLQUFBLENBQUFXLE9BQUk7SUFDSGlDLFdBQVcsRUFBRUEsV0FBWTtJQUN6QmhCLEtBQUssRUFBRUEsS0FBTTtJQUNiRSxXQUFXLEVBQUVBO0VBQVksQ0FDMUIsQ0FFQyxDQUNILENBQ0YsQ0FBQyxlQUNOdEMsTUFBQSxDQUFBbUIsT0FBQSxDQUFBNEMsYUFBQTtJQUFLQyxTQUFTO0VBQWMsR0FDekJoQixTQUFTLGdCQUNSaEQsTUFBQSxDQUFBbUIsT0FBQSxDQUFBNEMsYUFBQSxDQUFDNUQsaUJBQUEsQ0FBQW1FLGVBQWU7SUFDZEMsSUFBSSxFQUFFSSw4QkFBWTtJQUNsQlAsT0FBTyxFQUFFLFNBQUFBLFFBQUEsRUFBTTtNQUNibkIsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNyQjtFQUFFLENBQ0gsQ0FBQyxnQkFFRmpELE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQTRDLGFBQUEsQ0FBQzVELGlCQUFBLENBQUFtRSxlQUFlO0lBQ2RDLElBQUksRUFBRUssZ0NBQWM7SUFDcEJSLE9BQU8sRUFBRSxTQUFBQSxRQUFBLEVBQU07TUFDYm5CLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDcEI7RUFBRSxDQUNILENBRUEsQ0FDRixDQUFDLGVBQ05qRCxNQUFBLENBQUFtQixPQUFBLENBQUE0QyxhQUFBO0lBQUlDLFNBQVMsV0FBQWEsTUFBQSxDQUFXN0IsU0FBUyxHQUFHLGtCQUFrQixHQUFHLEVBQUU7RUFBRyxHQUMzREosYUFBYSxLQUFLZSxTQUFTLElBQzFCZixhQUFhLENBQUM4QixNQUFNLEtBQUssQ0FBQyxJQUMxQjlCLGFBQWEsQ0FBQ2tDLEdBQUcsQ0FBQyxVQUFDQyxJQUFjO0lBQUEsb0JBQy9CL0UsTUFBQSxDQUFBbUIsT0FBQSxDQUFBNEMsYUFBQSxDQUFDekQsS0FBQSxDQUFBMEUsSUFBSTtNQUNIRCxJQUFJLEVBQUVBLElBQUs7TUFDWG5ELEdBQUcsRUFBRW1ELElBQUksQ0FBQ0UsRUFBRztNQUNiNUMsbUJBQW1CLEVBQUVBLG1CQUFvQjtNQUN6Q0UsVUFBVSxFQUFFQTtJQUFXLENBQ3hCLENBQUM7RUFBQSxDQUNILENBQ0QsQ0FDRCxDQUFDO0FBRVYsQ0FBQztBQUFDMkMsT0FBQSxDQUFBaEQsU0FBQSxHQUFBQSxTQUFBIn0=