@kando-env/kando-ui 1.2.466-alpha.7 → 1.2.466-alpha.8

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 (719) hide show
  1. package/lib/Router.js +76 -37
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +35 -24
  3. package/lib/Widgets/EventsRow/EventsRow.js +39 -26
  4. package/lib/Widgets/Map/GraphUtils.js +6 -4
  5. package/lib/Widgets/Map/Map.js +138 -99
  6. package/lib/Widgets/Map/MapUtils.js +101 -83
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +84 -57
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +25 -23
  9. package/lib/Widgets/Map/areas/AreaUtils.js +46 -46
  10. package/lib/Widgets/Map/areas/Patterns.js +5 -5
  11. package/lib/Widgets/Map/edges/Edge.js +74 -50
  12. package/lib/Widgets/Map/edges/Edges.js +24 -19
  13. package/lib/Widgets/Map/edges/arrows/Arrows.js +45 -24
  14. package/lib/Widgets/Map/events/Event.js +14 -15
  15. package/lib/Widgets/Map/events/EventIndicator.js +63 -66
  16. package/lib/Widgets/Map/events/EventPath.js +34 -33
  17. package/lib/Widgets/Map/events/EventUtils.js +78 -54
  18. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +19 -17
  19. package/lib/Widgets/Map/events/PointOfEvent.js +36 -27
  20. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +39 -29
  21. package/lib/Widgets/Map/events/Snail.js +11 -10
  22. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +79 -77
  23. package/lib/Widgets/Map/map/FloatingGraph.js +21 -24
  24. package/lib/Widgets/Map/map/GraphDateButton.js +20 -27
  25. package/lib/Widgets/Map/matchGraph/MatchGraph.js +14 -14
  26. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -17
  27. package/lib/Widgets/Map/points/PointIcon.js +22 -23
  28. package/lib/Widgets/Map/points/PointMarker.js +88 -68
  29. package/lib/Widgets/Map/points/PointMarkers.js +36 -30
  30. package/lib/Widgets/Map/points/PointUtils.js +90 -76
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +43 -25
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -11
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +14 -11
  34. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +6 -4
  35. package/lib/Widgets/MostPolluting/Areas/Areas.js +60 -28
  36. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +4 -3
  37. package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
  38. package/lib/Widgets/MostPolluting/Areas/styles.js +6 -4
  39. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +9 -12
  40. package/lib/Widgets/MostPolluting/Factories/Factories.js +65 -33
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/CardLayout.js +20 -15
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +20 -15
  43. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +10 -9
  44. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +11 -13
  45. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +6 -4
  46. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +3 -2
  47. package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
  48. package/lib/Widgets/MostPolluting/Factories/styles.js +6 -4
  49. package/lib/Widgets/MostPolluting/MostPolluting.js +34 -23
  50. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +32 -20
  51. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +5 -7
  52. package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -7
  53. package/lib/Widgets/MostPolluting/assets/index.js +12 -12
  54. package/lib/Widgets/MostPolluting/components/ChangePercent.js +14 -20
  55. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +31 -36
  56. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +54 -49
  57. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +40 -44
  58. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +27 -28
  59. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +49 -53
  60. package/lib/Widgets/MostPolluting/models.js +1 -1
  61. package/lib/Widgets/MostPolluting/styles.js +6 -4
  62. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +6 -8
  63. package/lib/Widgets/PotentialImpactSummary/Icon.js +39 -30
  64. package/lib/Widgets/PotentialImpactSummary/index.js +28 -20
  65. package/lib/Widgets/PotentialImpactSummary/index.test.js +54 -48
  66. package/lib/Widgets/PotentialImpactSummary/styles.js +13 -8
  67. package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
  68. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +8 -10
  69. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +18 -23
  70. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +31 -34
  71. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +26 -28
  72. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +38 -35
  73. package/lib/Widgets/QualitySummary/QualitySummary.js +14 -10
  74. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +7 -4
  75. package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
  76. package/lib/Widgets/QualitySummary/styles.js +21 -24
  77. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +14 -12
  78. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +25 -25
  79. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +21 -26
  80. package/lib/Widgets/UtilityInformation/UtilityInformation.js +36 -23
  81. package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
  82. package/lib/Widgets/UtilityInformation/styles.js +31 -30
  83. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +5 -3
  84. package/lib/assets/icons/TopNavbar/index.js +7 -7
  85. package/lib/assets/icons/TrendSvg.js +7 -7
  86. package/lib/assets/icons/index.js +16 -16
  87. package/lib/assets/icons/kandoStepper/index.js +7 -7
  88. package/lib/assets/icons/siteTypes/index.js +2 -2
  89. package/lib/components/ApplyButton/ApplyButton.js +11 -10
  90. package/lib/components/ApplyButton/index.js +4 -3
  91. package/lib/components/Backdrop/Backdrop.js +5 -7
  92. package/lib/components/ContentLoader/ContentLoader.js +10 -12
  93. package/lib/components/ContentLoader/index.js +2 -2
  94. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +12 -12
  95. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +9 -5
  96. package/lib/components/CustomInputs/DoubleTabs/styles.js +16 -21
  97. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +20 -12
  98. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -7
  99. package/lib/components/CustomInputs/Search/Search.js +60 -37
  100. package/lib/components/CustomInputs/Search/index.js +4 -3
  101. package/lib/components/CustomInputs/Select/Select.js +55 -38
  102. package/lib/components/CustomInputs/Select/Select.stories.js +10 -6
  103. package/lib/components/DamageType/DamageType.js +60 -35
  104. package/lib/components/DamageType/index.js +4 -3
  105. package/lib/components/DataLoaderError/DataLoaderError.js +7 -9
  106. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +13 -11
  107. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +73 -72
  108. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +37 -25
  109. package/lib/components/DischargeHeatmap/HighchartsOptions.js +16 -12
  110. package/lib/components/DischargeHeatmap/index.js +4 -3
  111. package/lib/components/DischargeHeatmap/mocks/handlers.js +4 -3
  112. package/lib/components/DischargeHeatmap/popupText.js +12 -11
  113. package/lib/components/DischargeHeatmap/titles.js +6 -4
  114. package/lib/components/DischargeHeatmap/types.js +1 -1
  115. package/lib/components/ErrorBoundary.js +42 -27
  116. package/lib/components/Events/Events.js +48 -29
  117. package/lib/components/Events/index.js +4 -3
  118. package/lib/components/Graph/Graph.js +95 -74
  119. package/lib/components/Graph/index.js +4 -3
  120. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +24 -19
  121. package/lib/components/Header/Breadcrumbs/index.js +4 -3
  122. package/lib/components/Header/DoubleTabs/DoubleTabs.js +28 -18
  123. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +9 -5
  124. package/lib/components/Header/DoubleTabs/styles.js +8 -5
  125. package/lib/components/Header/Header.js +3 -3
  126. package/lib/components/Header/Header.stories.js +9 -5
  127. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +36 -24
  128. package/lib/components/Header/InfoBar/InfoBar.js +102 -69
  129. package/lib/components/Header/InfoBar/Search/Control.js +10 -11
  130. package/lib/components/Header/InfoBar/Search/GroupLabel.js +7 -8
  131. package/lib/components/Header/InfoBar/Search/Search.js +24 -17
  132. package/lib/components/Header/InfoBar/Search/SearchContainer.js +35 -21
  133. package/lib/components/Header/InfoBar/Search/index.js +4 -3
  134. package/lib/components/Header/InfoBar/Search/searchStyle.js +49 -36
  135. package/lib/components/Header/InfoBar/TimeFilter.js +17 -13
  136. package/lib/components/Header/InfoBar/types.js +1 -1
  137. package/lib/components/Header/KandoNavbar/KandoNavbar.js +93 -66
  138. package/lib/components/Header/KandoNavbar/index.js +4 -3
  139. package/lib/components/Header/Slideshow/Slideshow.js +91 -67
  140. package/lib/components/Header/Slideshow/index.js +4 -3
  141. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +5 -7
  142. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +24 -22
  143. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +17 -17
  144. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +42 -36
  145. package/lib/components/Header/Toolbar/Toolbar.js +76 -56
  146. package/lib/components/InfoBar/InfoBar.js +24 -10
  147. package/lib/components/InfoBar/InfoBar.stories.js +9 -5
  148. package/lib/components/KandoModal/KandoModal.js +40 -24
  149. package/lib/components/KandoModal/index.js +4 -3
  150. package/lib/components/Link.js +8 -9
  151. package/lib/components/Links/CustomRedirect/CustomRedirect.js +7 -10
  152. package/lib/components/Links/StyledLink/StyledLink.js +20 -17
  153. package/lib/components/Links/StyledNavLink/StyledNavLink.js +10 -12
  154. package/lib/components/LiveEvents/CarouselSlide.js +10 -11
  155. package/lib/components/LiveEvents/LiveEvents.js +6 -7
  156. package/lib/components/LiveEvents/index.js +4 -3
  157. package/lib/components/LoaderByPercent/LoaderByPercent.js +30 -37
  158. package/lib/components/Map/Map.js +25 -20
  159. package/lib/components/Map/index.js +4 -3
  160. package/lib/components/Modal/Modal.js +10 -10
  161. package/lib/components/NarrowHeader.js +32 -18
  162. package/lib/components/PointInfo/PointInfo.js +19 -20
  163. package/lib/components/PointInfo/index.js +4 -3
  164. package/lib/components/PopupModal/PopupModal.js +17 -13
  165. package/lib/components/PopupModal/PopupModal.stories.js +24 -17
  166. package/lib/components/Sector/Sector.js +40 -34
  167. package/lib/components/Sector/Sector.test.js +24 -24
  168. package/lib/components/Sector/SectorIconsNew.js +19 -26
  169. package/lib/components/Sector/index.js +4 -3
  170. package/lib/components/Sector/sectorIcons.js +5 -4
  171. package/lib/components/SevereEvent/Eta/Eta.js +54 -49
  172. package/lib/components/SevereEvent/Eta/styles.js +8 -11
  173. package/lib/components/SevereEvent/SevereEvent.js +35 -27
  174. package/lib/components/Spinner/Spinner.js +8 -8
  175. package/lib/components/Spinner/Spinner.stories.js +11 -6
  176. package/lib/components/Spinner/index.js +4 -3
  177. package/lib/components/Spinner/styles.js +16 -21
  178. package/lib/components/Tabs/Tabs.js +31 -18
  179. package/lib/components/Tabs/Tabs.stories.js +10 -6
  180. package/lib/components/Tabs/assets/index.js +6 -6
  181. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +18 -13
  182. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +45 -32
  183. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +34 -20
  184. package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +4 -3
  185. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +22 -17
  186. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +14 -13
  187. package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +4 -3
  188. package/lib/components/TimeRangeSelector/TimeRangeList.js +27 -24
  189. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +27 -17
  190. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +31 -26
  191. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +10 -6
  192. package/lib/components/TimeRangeSelector/constants.js +5 -3
  193. package/lib/components/TimeRangeSelector/index.js +4 -3
  194. package/lib/components/Toggle/Toggle.js +18 -11
  195. package/lib/components/Toggle/index.js +4 -3
  196. package/lib/components/TrendGraph/TrendGraph.js +42 -24
  197. package/lib/components/TrendGraph/index.js +4 -3
  198. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +33 -26
  199. package/lib/components/TrendGraphNVL/index.js +4 -3
  200. package/lib/development-environment/index.js +13 -9
  201. package/lib/development-environment/mock/browser.js +5 -2
  202. package/lib/development-environment/mock/get.js +10 -8
  203. package/lib/development-environment/mock/handlers.js +3 -2
  204. package/lib/development-environment/mock/mockBus.js +5 -4
  205. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +3 -2
  206. package/lib/development-environment/mock/mockObjects/areaInformation.js +3 -2
  207. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +3 -2
  208. package/lib/development-environment/mock/mockObjects/areaSitesData.js +3 -2
  209. package/lib/development-environment/mock/mockObjects/areasJson.js +3 -2
  210. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +3 -2
  211. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +3 -2
  212. package/lib/development-environment/mock/mockObjects/data-menuData.js +3 -2
  213. package/lib/development-environment/mock/mockObjects/data-search.js +3 -2
  214. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +3 -2
  215. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +3 -2
  216. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +3 -2
  217. package/lib/development-environment/mock/mockObjects/eventsJson.js +3 -2
  218. package/lib/development-environment/mock/mockObjects/metascore.js +3 -2
  219. package/lib/development-environment/mock/mockObjects/permissionsJson.js +3 -2
  220. package/lib/development-environment/mock/mockObjects/pointsJson.js +3 -2
  221. package/lib/development-environment/mock/mockObjects/site-info.js +3 -2
  222. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +3 -2
  223. package/lib/development-environment/togly/ToglyDashboard.js +23 -13
  224. package/lib/development-environment/togly/ToglyItem.js +31 -24
  225. package/lib/development-environment/togly/flags.js +1 -1
  226. package/lib/development-environment/togly/init.js +4 -4
  227. package/lib/development-environment/togly/macro.js +9 -13
  228. package/lib/development-environment/togly/useDoubleKeyDown.js +9 -7
  229. package/lib/development-environment/togly/useLocalStorage.js +18 -13
  230. package/lib/hooks/useApi.js +56 -20
  231. package/lib/hooks/useApiWithDashboardQuery.js +43 -23
  232. package/lib/hooks/useClickOutside.js +5 -4
  233. package/lib/hooks/useInitializeHeaders.js +6 -6
  234. package/lib/hooks/useKandoFetch.js +31 -17
  235. package/lib/hooks/useMap.js +37 -25
  236. package/lib/hooks/useNavContext.js +26 -22
  237. package/lib/hooks/useQueryURL.js +3 -2
  238. package/lib/hooks/useRemoveExistingLayers.js +8 -7
  239. package/lib/hooks/useUpdateEventBodyTail.js +19 -14
  240. package/lib/hooks/useUserTimeZone.js +31 -34
  241. package/lib/hooks/useUserTimeZone.test.js +23 -19
  242. package/lib/hooks/useWindowSize.js +14 -7
  243. package/lib/index.js +13 -11
  244. package/lib/macros/getVersion.js +2 -2
  245. package/lib/models/IAction.js +1 -1
  246. package/lib/models/IAppState.js +1 -1
  247. package/lib/pages/AreaPage/AreaPage.js +68 -34
  248. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +17 -15
  249. package/lib/pages/AreaPage/Dashboard/Dashboard.js +27 -25
  250. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +23 -14
  251. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +5 -5
  252. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
  253. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +10 -10
  254. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +6 -4
  255. package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
  256. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +3 -2
  257. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +8 -5
  258. package/lib/pages/AssessmentPage/AssessmentPage.js +46 -38
  259. package/lib/pages/CannyWidget/Feedback.js +16 -14
  260. package/lib/pages/CovidPage/CovidPage.js +16 -9
  261. package/lib/pages/CovidPage/components/Body.js +30 -26
  262. package/lib/pages/CovidPage/components/Map.js +40 -28
  263. package/lib/pages/CovidPage/components/Sidebar.js +16 -15
  264. package/lib/pages/CovidPage/components/Summary.js +29 -20
  265. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +33 -26
  266. package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +4 -3
  267. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +76 -52
  268. package/lib/pages/CovidPage/components/TrendPopupContent/index.js +4 -3
  269. package/lib/pages/CovidPage/components/areas/Area.js +36 -24
  270. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +46 -45
  271. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +36 -32
  272. package/lib/pages/CovidPage/components/areas/AreasList.js +42 -29
  273. package/lib/pages/CovidPage/components/areas/Sort.js +17 -12
  274. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  275. package/lib/pages/DashboardMap/AreaCard.js +27 -27
  276. package/lib/pages/DashboardMap/AssessmentIcon.js +7 -8
  277. package/lib/pages/DashboardMap/Capacity.js +77 -28
  278. package/lib/pages/DashboardMap/FactoryCard.js +24 -28
  279. package/lib/pages/DashboardMap/HighchartsOptions.js +5 -6
  280. package/lib/pages/DashboardMap/List.js +65 -55
  281. package/lib/pages/DashboardMap/ListContext.js +19 -14
  282. package/lib/pages/DashboardMap/Loader.js +3 -3
  283. package/lib/pages/DashboardMap/SeverityBadge.js +24 -16
  284. package/lib/pages/DashboardMap/WWTPMap.js +71 -57
  285. package/lib/pages/DashboardMap/WaterDischarge.js +9 -9
  286. package/lib/pages/DashboardMap/Widget.js +67 -48
  287. package/lib/pages/DashboardMap/index.js +4 -3
  288. package/lib/pages/DashboardMap/utils.js +60 -41
  289. package/lib/pages/EventsPage/Body/Body.js +12 -15
  290. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +20 -17
  291. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -16
  292. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +9 -10
  293. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +10 -13
  294. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +31 -22
  295. package/lib/pages/EventsPage/DragAndDropArea/index.js +4 -3
  296. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +38 -30
  297. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +23 -14
  298. package/lib/pages/EventsPage/EventsPage.js +17 -10
  299. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +40 -26
  300. package/lib/pages/EventsPage/events/MoreInfo.js +19 -18
  301. package/lib/pages/EventsPage/events/Sidebar.js +11 -14
  302. package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +10 -9
  303. package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +24 -19
  304. package/lib/pages/EventsPage/events/event_info/Contaminants/index.js +4 -3
  305. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +38 -31
  306. package/lib/pages/EventsPage/events/event_info/EventDetails.js +32 -34
  307. package/lib/pages/EventsPage/events/event_info/EventInfo.js +60 -50
  308. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +5 -5
  309. package/lib/pages/EventsPage/events/event_info/EventSection.js +21 -18
  310. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +39 -44
  311. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +50 -39
  312. package/lib/pages/EventsPage/events/event_info/Header/Header.js +7 -8
  313. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +34 -29
  314. package/lib/pages/EventsPage/events/event_info/Header/index.js +4 -3
  315. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +7 -6
  316. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +39 -30
  317. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +9 -6
  318. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionAssessment.js +15 -14
  319. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionTypesList.js +12 -9
  320. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /index.js +4 -3
  321. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +24 -23
  322. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +22 -13
  323. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +6 -7
  324. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/index.js +4 -3
  325. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +12 -13
  326. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +28 -22
  327. package/lib/pages/EventsPage/events/event_info/SamplingList/index.js +4 -3
  328. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +10 -13
  329. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +9 -8
  330. package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +4 -3
  331. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +9 -9
  332. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +5 -4
  333. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +11 -13
  334. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +5 -7
  335. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +14 -11
  336. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +6 -7
  337. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +8 -9
  338. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +8 -9
  339. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +7 -8
  340. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +12 -13
  341. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +19 -18
  342. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +7 -7
  343. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +8 -9
  344. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +18 -19
  345. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +7 -6
  346. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +12 -13
  347. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +19 -23
  348. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +11 -12
  349. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +7 -8
  350. package/lib/pages/EventsPage/events/event_info/Timelines/index.js +4 -3
  351. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +6 -4
  352. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +40 -25
  353. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +39 -30
  354. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +12 -13
  355. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +20 -17
  356. package/lib/pages/EventsPage/events/event_info/sources/Source.js +31 -27
  357. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +27 -22
  358. package/lib/pages/EventsPage/events/event_info/styles.js +15 -21
  359. package/lib/pages/EventsPage/events/events_list/EventItem.js +21 -18
  360. package/lib/pages/EventsPage/events/events_list/EventUtils.js +11 -11
  361. package/lib/pages/EventsPage/events/events_list/EventsList.js +136 -111
  362. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +58 -41
  363. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +135 -90
  364. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +73 -54
  365. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +44 -39
  366. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +41 -32
  367. package/lib/pages/EventsPage/events/events_list/Filter/SingleSelect.js +21 -19
  368. package/lib/pages/EventsPage/events/events_list/Sort.js +19 -14
  369. package/lib/pages/ImportFileWizard/FileUploadRespones.js +22 -14
  370. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +8 -9
  371. package/lib/pages/ImportFileWizard/ImportFile.js +25 -21
  372. package/lib/pages/ImportFileWizard/ResponseBody.js +36 -26
  373. package/lib/pages/ImportFileWizard/ValidationForm.js +23 -23
  374. package/lib/pages/ImportFileWizard/ValidationResponse.js +25 -23
  375. package/lib/pages/ImportFileWizard/importFileUtils.js +5 -4
  376. package/lib/pages/ImportFileWizard/index.js +4 -3
  377. package/lib/pages/ImportGisPage/ImportGisContainer.js +27 -22
  378. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +44 -38
  379. package/lib/pages/ImportGisPage/importGisUtils.js +52 -43
  380. package/lib/pages/ImportGisProcess/index.js +18 -14
  381. package/lib/pages/ImportSiteProcess/index.js +18 -14
  382. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +13 -7
  383. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +20 -18
  384. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +4 -4
  385. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +60 -28
  386. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +12 -8
  387. package/lib/pages/NotificationsPage/Notification/Notification.js +13 -17
  388. package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
  389. package/lib/pages/NotificationsPage/Notifications.mock.js +3 -2
  390. package/lib/pages/NotificationsPage/Notifications.stories.js +10 -6
  391. package/lib/pages/NotificationsPage/NotificationsPage.js +38 -19
  392. package/lib/pages/NotificationsPage/assets/index.js +10 -10
  393. package/lib/pages/NotificationsPageV2/NotificationsPage.js +101 -72
  394. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +65 -95
  395. package/lib/pages/NotificationsPageV2/components/NotificationsForm/EventType.js +15 -13
  396. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSendVia.js +17 -19
  397. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSensors.js +22 -18
  398. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSources.js +22 -18
  399. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationTags.js +23 -19
  400. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +71 -82
  401. package/lib/pages/NotificationsPageV2/components/NotificationsForm/WaterAuthoritySelection.js +23 -19
  402. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +74 -71
  403. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +94 -80
  404. package/lib/pages/NotificationsPageV2/notificationUtils.js +39 -40
  405. package/lib/pages/OldSitePage/IDashboardData.js +1 -1
  406. package/lib/pages/OldSitePage/OldSitePage.js +132 -56
  407. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +10 -6
  408. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
  409. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +7 -9
  410. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +19 -16
  411. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
  412. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +19 -12
  413. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +11 -14
  414. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
  415. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +16 -18
  416. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +64 -51
  417. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
  418. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +54 -29
  419. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +7 -4
  420. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
  421. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  422. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +12 -10
  423. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +23 -27
  424. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +30 -28
  425. package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
  426. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +8 -5
  427. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +12 -16
  428. package/lib/pages/OperationsPage/LeftPanel.js +55 -35
  429. package/lib/pages/OperationsPage/Map/Map.js +12 -12
  430. package/lib/pages/OperationsPage/Map/useMap.js +64 -52
  431. package/lib/pages/OperationsPage/OperationsContainerPage.js +59 -32
  432. package/lib/pages/OperationsPage/OperationsFilePage.js +12 -10
  433. package/lib/pages/OperationsPage/OperationsUtilityPage.js +6 -5
  434. package/lib/pages/OperationsPage/RightPanel.js +25 -22
  435. package/lib/pages/OperationsPage/index.js +4 -4
  436. package/lib/pages/PollutionRiskAssessment/FactoryDetails.js +60 -27
  437. package/lib/pages/PollutionRiskAssessment/FilterBehaviors.js +25 -19
  438. package/lib/pages/PollutionRiskAssessment/FilterButton.js +10 -11
  439. package/lib/pages/PollutionRiskAssessment/Map.js +42 -38
  440. package/lib/pages/PollutionRiskAssessment/SearchButton.js +10 -11
  441. package/lib/pages/PollutionRiskAssessment/SearchField.js +40 -26
  442. package/lib/pages/PollutionRiskAssessment/TotalSavings.js +16 -16
  443. package/lib/pages/PollutionRiskAssessment/UseCases.js +34 -32
  444. package/lib/pages/PollutionRiskAssessment/index.js +136 -76
  445. package/lib/pages/PollutionRiskAssessment/useMap.js +50 -34
  446. package/lib/pages/PollutionRiskAssessment/utils.js +7 -7
  447. package/lib/pages/ProfilePage/Container.js +4 -3
  448. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +40 -23
  449. package/lib/pages/ProfilePage/ProfilePage.js +205 -106
  450. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +34 -25
  451. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +20 -20
  452. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +30 -27
  453. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +119 -57
  454. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +23 -18
  455. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +13 -14
  456. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +45 -40
  457. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +24 -25
  458. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +19 -18
  459. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +18 -15
  460. package/lib/pages/SamplingsPage/DesktopActions/index.js +4 -3
  461. package/lib/pages/SamplingsPage/NavigationDropdown.js +31 -43
  462. package/lib/pages/SamplingsPage/NewSamplingAction.js +102 -75
  463. package/lib/pages/SamplingsPage/SamplingMobileModal.js +98 -124
  464. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +25 -23
  465. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +25 -36
  466. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +61 -36
  467. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +21 -16
  468. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -10
  469. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +193 -108
  470. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +54 -47
  471. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +39 -42
  472. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +39 -42
  473. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +28 -21
  474. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +6 -4
  475. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +7 -11
  476. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +53 -51
  477. package/lib/pages/SamplingsPage/SamplingsMobileList.js +31 -22
  478. package/lib/pages/SamplingsPage/SamplingsPage.js +33 -25
  479. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +58 -49
  480. package/lib/pages/SamplingsPage/index.js +3 -2
  481. package/lib/pages/SamplingsPage/samplingsPageUtils.js +83 -52
  482. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -7
  483. package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +16 -16
  484. package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +16 -12
  485. package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
  486. package/lib/pages/SitePage/PollutionContributor/index.js +4 -3
  487. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
  488. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +15 -15
  489. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -10
  490. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +24 -27
  491. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +16 -12
  492. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +33 -37
  493. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
  494. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +25 -15
  495. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +11 -14
  496. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
  497. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +16 -18
  498. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +71 -58
  499. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
  500. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +27 -15
  501. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +9 -5
  502. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
  503. package/lib/pages/SitePage/SamplingParameters/body/Body.js +9 -10
  504. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +40 -30
  505. package/lib/pages/SitePage/SamplingParameters/body/index.js +4 -3
  506. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +12 -11
  507. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +12 -10
  508. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +54 -54
  509. package/lib/pages/SitePage/SamplingParameters/dataParser.js +41 -32
  510. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +9 -11
  511. package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
  512. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +8 -5
  513. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +12 -16
  514. package/lib/pages/SitePage/SiteInformation/EmptyState.js +10 -13
  515. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -31
  516. package/lib/pages/SitePage/SitePage.js +76 -36
  517. package/lib/pages/UploadLabResult/index.js +16 -15
  518. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +37 -27
  519. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +13 -8
  520. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +15 -11
  521. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +9 -5
  522. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +50 -47
  523. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +8 -11
  524. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +5 -4
  525. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +9 -6
  526. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +10 -11
  527. package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
  528. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +13 -16
  529. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +8 -8
  530. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +4 -3
  531. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +30 -20
  532. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +40 -28
  533. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +17 -15
  534. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +14 -7
  535. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +31 -26
  536. package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -9
  537. package/lib/pages/WbeDashboard/GraphWrapper.js +35 -28
  538. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +19 -16
  539. package/lib/pages/WbeDashboard/SearchInput.js +21 -15
  540. package/lib/pages/WbeDashboard/SummaryGraph.js +77 -50
  541. package/lib/pages/WbeDashboard/SummaryGraphModal.js +18 -20
  542. package/lib/pages/WbeDashboard/Tabs.js +11 -11
  543. package/lib/pages/WbeDashboard/WbeDashboardPage.js +210 -147
  544. package/lib/pages/WbeDashboard/WbeSummaryBar.js +48 -39
  545. package/lib/pages/WwtpPage/DashboardCard.js +21 -25
  546. package/lib/pages/WwtpPage/DischargePatternCard.js +25 -14
  547. package/lib/pages/WwtpPage/InletsCard/InletsBar.js +11 -11
  548. package/lib/pages/WwtpPage/InletsCard/InletsCard.js +22 -22
  549. package/lib/pages/WwtpPage/InletsCard/index.js +4 -3
  550. package/lib/pages/WwtpPage/Map.js +6 -6
  551. package/lib/pages/WwtpPage/OrganicCard.js +5 -4
  552. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +5 -4
  553. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +7 -8
  554. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +11 -11
  555. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +17 -20
  556. package/lib/pages/WwtpPage/PotentialSaving/index.js +4 -3
  557. package/lib/pages/WwtpPage/PotentialSaving/types.js +1 -1
  558. package/lib/pages/WwtpPage/PredictionCard.js +5 -4
  559. package/lib/pages/WwtpPage/TrendCard.js +22 -20
  560. package/lib/pages/WwtpPage/UpgradeBox.js +5 -4
  561. package/lib/pages/WwtpPage/WwtpPage.js +8 -9
  562. package/lib/pages/WwtpPage/WwtpPageContainer.js +19 -23
  563. package/lib/pages/WwtpPage/index.js +4 -3
  564. package/lib/providers/Slideshow/SlideshowContext.js +10 -11
  565. package/lib/providers/Slideshow/SlideshowProvider.js +40 -22
  566. package/lib/providers/Slideshow/SlideshowRunner.js +21 -18
  567. package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -7
  568. package/lib/providers/UrlHistory/UrlHistoryProvider.js +13 -12
  569. package/lib/providers/UrlHistory/index.js +4 -4
  570. package/lib/providers/UrlHistory/useLastVisited.js +6 -5
  571. package/lib/react-app-env.d.js +1 -1
  572. package/lib/store/ImportGis/action.js +1 -1
  573. package/lib/store/ImportGis/actionTypes.js +5 -4
  574. package/lib/store/ImportGis/actionsCreator.js +5 -7
  575. package/lib/store/ImportGis/models/gisImports.js +1 -1
  576. package/lib/store/ImportGis/reducer.js +7 -9
  577. package/lib/store/WBE/actionTypes.js +3 -2
  578. package/lib/store/WBE/actions.js +1 -1
  579. package/lib/store/WBE/models/IAreaWBE.js +1 -1
  580. package/lib/store/WBE/models/IWBE.js +1 -1
  581. package/lib/store/WBE/models/IWBEState.js +1 -1
  582. package/lib/store/WBE/reducer.js +8 -10
  583. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +15 -24
  584. package/lib/store/WWTPDashboard/types.js +1 -1
  585. package/lib/store/areas/actionTypes.js +7 -4
  586. package/lib/store/areas/actions.js +13 -7
  587. package/lib/store/areas/models/IArea.js +1 -1
  588. package/lib/store/areas/models/IAreasState.js +1 -1
  589. package/lib/store/areas/reducer.js +6 -8
  590. package/lib/store/context/actionTypes.js +5 -3
  591. package/lib/store/context/actions.js +3 -3
  592. package/lib/store/context/contextMiddlewares.js +18 -15
  593. package/lib/store/context/models/INavContext.js +1 -1
  594. package/lib/store/context/models/INavContextState.js +1 -1
  595. package/lib/store/context/reducer.js +8 -10
  596. package/lib/store/dashboard/dashboardSlice.js +11 -18
  597. package/lib/store/dashboard/periodType.js +1 -1
  598. package/lib/store/edges/actionTypes.js +9 -5
  599. package/lib/store/edges/actions.js +8 -4
  600. package/lib/store/edges/models/IEdge.js +1 -1
  601. package/lib/store/edges/models/IEdgesState.js +1 -1
  602. package/lib/store/edges/reducer.js +17 -13
  603. package/lib/store/events/actionTypes.js +33 -17
  604. package/lib/store/events/actions.js +7 -3
  605. package/lib/store/events/models/IEvent.js +1 -1
  606. package/lib/store/events/models/IEventsState.js +1 -1
  607. package/lib/store/events/models/ISource.js +1 -1
  608. package/lib/store/events/reducer.js +39 -28
  609. package/lib/store/filters/IFilter.js +1 -1
  610. package/lib/store/filters/IFilterItem.js +1 -1
  611. package/lib/store/global/actionTypes.js +21 -11
  612. package/lib/store/global/actions.js +6 -8
  613. package/lib/store/global/models/IGlobalState.js +1 -1
  614. package/lib/store/global/reducer.js +7 -9
  615. package/lib/store/permissions/permissionsSlice.js +9 -12
  616. package/lib/store/points/actionTypes.js +5 -3
  617. package/lib/store/points/actions.js +10 -6
  618. package/lib/store/points/models/IGeoPoint.js +1 -1
  619. package/lib/store/points/models/IGroup.js +1 -1
  620. package/lib/store/points/models/IIssue.js +1 -1
  621. package/lib/store/points/models/IPoint.js +1 -1
  622. package/lib/store/points/models/IPointsState.js +1 -1
  623. package/lib/store/points/reducer.js +5 -7
  624. package/lib/store/rootActionTypes.js +3 -2
  625. package/lib/store/rootActions.js +1 -1
  626. package/lib/store/rootReducer.js +10 -12
  627. package/lib/store/rootStore.js +6 -6
  628. package/lib/store/samplings/action.js +1 -1
  629. package/lib/store/samplings/actionTypes.js +5 -4
  630. package/lib/store/samplings/actionsCreator.js +1 -1
  631. package/lib/store/samplings/models/Samplings.js +1 -1
  632. package/lib/store/samplings/reducer.js +10 -10
  633. package/lib/styles/StylesLayout.js +6 -7
  634. package/lib/styles/theme/theme.js +26 -23
  635. package/lib/test/mocks/browser.js +5 -2
  636. package/lib/test/test-utils.js +9 -12
  637. package/lib/ui-kit/Alert/KandoAlert.js +6 -8
  638. package/lib/ui-kit/Button/Button.js +83 -129
  639. package/lib/ui-kit/Button/Button.test.js +33 -27
  640. package/lib/ui-kit/Button/ButtonUtils.js +1 -1
  641. package/lib/ui-kit/Checkbox/Checkbox.js +27 -34
  642. package/lib/ui-kit/ContentCard/ContentCard.js +20 -16
  643. package/lib/ui-kit/Dashboard/Dashboard.js +28 -29
  644. package/lib/ui-kit/Dashboard/index.js +4 -3
  645. package/lib/ui-kit/DropDown/DropDown.js +22 -23
  646. package/lib/ui-kit/DropDown/DropDown.test.js +13 -13
  647. package/lib/ui-kit/DropDown/DropDownItem.js +25 -26
  648. package/lib/ui-kit/DropDown/DropdownToggle.js +10 -13
  649. package/lib/ui-kit/EmptyState/EmptyState.js +6 -7
  650. package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +81 -69
  651. package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +167 -89
  652. package/lib/ui-kit/HierarchyGraph/LeafSign.js +7 -7
  653. package/lib/ui-kit/HierarchyGraph/MicroStackedBar.js +19 -17
  654. package/lib/ui-kit/HierarchyGraph/NodeIcon.js +8 -9
  655. package/lib/ui-kit/HierarchyGraph/NodeLayout.js +25 -22
  656. package/lib/ui-kit/HierarchyGraph/PollutionContributorNode.js +10 -11
  657. package/lib/ui-kit/HierarchyGraph/ScoreNode.js +9 -10
  658. package/lib/ui-kit/HierarchyGraph/index.js +4 -3
  659. package/lib/ui-kit/HierarchyGraph/utils.js +67 -57
  660. package/lib/ui-kit/IconAction/IconAction.js +8 -9
  661. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +64 -47
  662. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +49 -58
  663. package/lib/ui-kit/InletsPie/InletsPie.js +16 -17
  664. package/lib/ui-kit/InletsPie/index.js +4 -3
  665. package/lib/ui-kit/InletsPie/options.js +9 -7
  666. package/lib/ui-kit/KandoBottomSheet/KandoBottomSheet.js +38 -29
  667. package/lib/ui-kit/KandoFilter/KandoFilter.js +11 -10
  668. package/lib/ui-kit/KandoList/KandoList.js +12 -13
  669. package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
  670. package/lib/ui-kit/KandoTable/KandoTable.js +41 -48
  671. package/lib/ui-kit/KandoTable/KandoTable.test.js +27 -21
  672. package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
  673. package/lib/ui-kit/Layout/Layout.js +7 -8
  674. package/lib/ui-kit/MobileInput/MobileInput.js +50 -56
  675. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +17 -14
  676. package/lib/ui-kit/ModalConfirmation/index.js +3 -2
  677. package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -9
  678. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +9 -8
  679. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +22 -26
  680. package/lib/ui-kit/OrganicEvents/TextInfo.js +13 -17
  681. package/lib/ui-kit/OrganicEvents/index.js +4 -3
  682. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +11 -12
  683. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +21 -17
  684. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +4 -3
  685. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +24 -21
  686. package/lib/ui-kit/ScoreGauge/constant.js +4 -3
  687. package/lib/ui-kit/ScoreGauge/index.js +4 -3
  688. package/lib/ui-kit/TimeLineChart/TrendChart.js +28 -25
  689. package/lib/ui-kit/TimeLineChart/index.js +4 -3
  690. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +11 -10
  691. package/lib/ui-kit/Tooltip/Tooltip.js +9 -15
  692. package/lib/ui-kit/index.js +8 -8
  693. package/lib/ui-kit/kandoStepper/KandoStepper.js +14 -13
  694. package/lib/ui-kit/siteName/SiteName.js +11 -13
  695. package/lib/utilities/ActionUtility.js +7 -7
  696. package/lib/utilities/Alert.js +20 -23
  697. package/lib/utilities/Analytics.js +19 -19
  698. package/lib/utilities/Array.js +5 -4
  699. package/lib/utilities/Enum.js +51 -15
  700. package/lib/utilities/ErrorBoundary.js +42 -27
  701. package/lib/utilities/File.js +73 -45
  702. package/lib/utilities/GetDir.js +10 -10
  703. package/lib/utilities/KandoDate.js +15 -7
  704. package/lib/utilities/KandoModal.js +28 -16
  705. package/lib/utilities/LocalStorage.js +7 -5
  706. package/lib/utilities/ThousandsToK.js +2 -2
  707. package/lib/utilities/TimeFormat.js +23 -22
  708. package/lib/utilities/Truncate.js +27 -17
  709. package/lib/utilities/edgesMath.js +16 -15
  710. package/lib/utilities/i18n.js +6 -5
  711. package/lib/utilities/kql.js +12 -10
  712. package/lib/utilities/map/icons.js +18 -18
  713. package/lib/utilities/polylinedecorator.js +113 -88
  714. package/lib/utilities/scoreToData.js +26 -20
  715. package/lib/utilities/scoreToData.test.js +5 -5
  716. package/lib/utilities/time.js +10 -9
  717. package/lib/utilities/uploadToS3.js +12 -12
  718. package/lib/utilities/urls.js +14 -17
  719. package/package.json +1 -1
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
9
10
  var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
10
11
  var _reactFontawesome = require("@fortawesome/react-fontawesome");
11
12
  var _react = _interopRequireWildcard(require("react"));
@@ -21,61 +22,80 @@ var _actions = require("store/global/actions");
21
22
  var _ErrorBoundary = _interopRequireDefault(require("utilities/ErrorBoundary"));
22
23
  var _i18n = _interopRequireDefault(require("utilities/i18n"));
23
24
  require("./NavbarStyle.scss");
24
- const updatePageTitle = title => document.title = "Kando - ".concat(title);
25
- const defaultProps = {
25
+ 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); }
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+ var updatePageTitle = function updatePageTitle(title) {
28
+ return document.title = "Kando - ".concat(title);
29
+ };
30
+ var defaultProps = {
26
31
  selectedLabel: '',
27
32
  hasSearch: false
28
33
  };
29
34
  function replaceURL(key, value) {
30
- let params = new URLSearchParams(window.location.search);
35
+ var params = new URLSearchParams(window.location.search);
31
36
  params.set(key, value);
32
37
  return window.location.protocol + '//' + window.location.host + window.location.pathname + '?' + params.toString();
33
38
  }
34
- const KandoNavbar = _ref => {
35
- let {
36
- waterAuthorityId,
37
- selectedLabel,
38
- hasSearch
39
- } = _ref;
40
- const [waterAuthorities, setWaterAuthorities] = (0, _react.useState)([]);
41
- const [localWaterAuthority, setLocalWaterAuthority] = (0, _react.useState)({
42
- photo_url: 'missing',
43
- label: ''
44
- });
45
- const [waId, setWaId] = (0, _react.useState)(waterAuthorityId);
46
- const [menu, setMenu] = (0, _react.useState)({});
47
- const dispatch = (0, _reactRedux.useDispatch)();
48
- const useQuery = () => {
39
+ var KandoNavbar = function KandoNavbar(_ref) {
40
+ var waterAuthorityId = _ref.waterAuthorityId,
41
+ selectedLabel = _ref.selectedLabel,
42
+ hasSearch = _ref.hasSearch;
43
+ var _useState = (0, _react.useState)([]),
44
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
45
+ waterAuthorities = _useState2[0],
46
+ setWaterAuthorities = _useState2[1];
47
+ var _useState3 = (0, _react.useState)({
48
+ photo_url: 'missing',
49
+ label: ''
50
+ }),
51
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
52
+ localWaterAuthority = _useState4[0],
53
+ setLocalWaterAuthority = _useState4[1];
54
+ var _useState5 = (0, _react.useState)(waterAuthorityId),
55
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
56
+ waId = _useState6[0],
57
+ setWaId = _useState6[1];
58
+ var _useState7 = (0, _react.useState)({}),
59
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
60
+ menu = _useState8[0],
61
+ setMenu = _useState8[1];
62
+ var dispatch = (0, _reactRedux.useDispatch)();
63
+ var useQuery = function useQuery() {
49
64
  return new URLSearchParams((0, _reactRouterDom.useLocation)().search);
50
65
  };
51
- const query = useQuery();
52
- const [customerMenu, setCustomerMenu] = (0, _react.useState)({
53
- edit: {
54
- link: '',
55
- label: 'main_screen.edit_account'
56
- },
57
- feedback: {
58
- link: '',
59
- label: 'main_screen.feedback'
60
- },
61
- help: {
62
- link: '',
63
- label: 'main_screen.help'
64
- },
65
- my_profile: {
66
- link: '',
67
- label: 'main_screen.my_profile'
68
- },
69
- name: undefined,
70
- sign_out: {
71
- link: '',
72
- label: 'main_screen.sign_out',
73
- method: ''
74
- }
66
+ var query = useQuery();
67
+ var _useState9 = (0, _react.useState)({
68
+ edit: {
69
+ link: '',
70
+ label: 'main_screen.edit_account'
71
+ },
72
+ feedback: {
73
+ link: '',
74
+ label: 'main_screen.feedback'
75
+ },
76
+ help: {
77
+ link: '',
78
+ label: 'main_screen.help'
79
+ },
80
+ my_profile: {
81
+ link: '',
82
+ label: 'main_screen.my_profile'
83
+ },
84
+ name: undefined,
85
+ sign_out: {
86
+ link: '',
87
+ label: 'main_screen.sign_out',
88
+ method: ''
89
+ }
90
+ }),
91
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
92
+ customerMenu = _useState10[0],
93
+ setCustomerMenu = _useState10[1];
94
+ var navContext = (0, _reactRedux.useSelector)(function (state) {
95
+ return state.nav_context_data.navContext;
75
96
  });
76
- const navContext = (0, _reactRedux.useSelector)(state => state.nav_context_data.navContext);
77
- const history = (0, _reactRouterDom.useHistory)();
78
- const handleChange = selectedOption => {
97
+ var history = (0, _reactRouterDom.useHistory)();
98
+ var handleChange = function handleChange(selectedOption) {
79
99
  setWaId(selectedOption.value);
80
100
  dispatch((0, _actions.setWaterAuthority)({
81
101
  id: selectedOption.value,
@@ -83,24 +103,24 @@ const KandoNavbar = _ref => {
83
103
  }));
84
104
  history.push("/".concat(navContext.name, "/index?locale=").concat(navContext.locale, "&water_authority_id=").concat(selectedOption.value));
85
105
  };
86
- const iterate = obj => {
87
- let items = [];
88
- for (const property in obj) {
106
+ var iterate = function iterate(obj) {
107
+ var items = [];
108
+ for (var property in obj) {
89
109
  if (obj[property].expandable) {
90
- items.push(/*#__PURE__*/_react.default.createElement(_reactBootstrap.NavDropdown, {
110
+ items.push( /*#__PURE__*/_react.default.createElement(_reactBootstrap.NavDropdown, {
91
111
  key: obj[property].label,
92
112
  title: _i18n.default.t(obj[property].label),
93
113
  id: "basic-nav-dropdown"
94
114
  }, iterate(obj[property].expansion)));
95
115
  } else {
96
116
  if (obj[property].class === 'js-is-react') {
97
- items.push(/*#__PURE__*/_react.default.createElement(_StyledLink.Link, {
117
+ items.push( /*#__PURE__*/_react.default.createElement(_StyledLink.Link, {
98
118
  key: obj[property].link,
99
119
  className: "dropdown-item",
100
120
  to: obj[property].link
101
121
  }, _i18n.default.t(obj[property].label)));
102
122
  } else {
103
- items.push(/*#__PURE__*/_react.default.createElement(_reactBootstrap.NavDropdown.Item, {
123
+ items.push( /*#__PURE__*/_react.default.createElement(_reactBootstrap.NavDropdown.Item, {
104
124
  key: obj[property].link,
105
125
  href: obj[property].link,
106
126
  id: "basic-navbar-nav"
@@ -110,9 +130,9 @@ const KandoNavbar = _ref => {
110
130
  }
111
131
  return items;
112
132
  };
113
- const renderClientsPhoto = () => {
133
+ var renderClientsPhoto = function renderClientsPhoto() {
114
134
  if (localWaterAuthority !== undefined) {
115
- let url = localWaterAuthority.photo_url;
135
+ var url = localWaterAuthority.photo_url;
116
136
  return /*#__PURE__*/_react.default.createElement("img", {
117
137
  alt: "missing",
118
138
  src: url.startsWith('missing') ? _authority.default : url,
@@ -125,7 +145,7 @@ const KandoNavbar = _ref => {
125
145
  return;
126
146
  }
127
147
  };
128
- const buildSwitchClient = () => {
148
+ var buildSwitchClient = function buildSwitchClient() {
129
149
  if (waterAuthorities !== undefined && waterAuthorities.length !== 0) {
130
150
  if (waterAuthorities.length === 1) {
131
151
  return /*#__PURE__*/_react.default.createElement("p", {
@@ -144,21 +164,25 @@ const KandoNavbar = _ref => {
144
164
  classNamePrefix: "select",
145
165
  isSearchable: true,
146
166
  name: "color",
147
- options: waterAuthorities.map(localWaterAuthority => {
167
+ options: waterAuthorities.map(function (localWaterAuthority) {
148
168
  return {
149
169
  value: localWaterAuthority.id,
150
170
  label: localWaterAuthority.name
151
171
  };
152
172
  }),
153
- getOptionLabel: localWaterAuthority => localWaterAuthority.label
173
+ getOptionLabel: function getOptionLabel(localWaterAuthority) {
174
+ return localWaterAuthority.label;
175
+ }
154
176
  // @ts-ignore
155
177
  ,
156
- onChange: e => handleChange(e)
178
+ onChange: function onChange(e) {
179
+ return handleChange(e);
180
+ }
157
181
  })));
158
182
  }
159
183
  return;
160
184
  };
161
- const buildCustomerMenu = contextName => {
185
+ var buildCustomerMenu = function buildCustomerMenu(contextName) {
162
186
  if (customerMenu !== undefined) {
163
187
  // @ts-ignore
164
188
  return /*#__PURE__*/_react.default.createElement(_reactBootstrap.NavDropdown, {
@@ -201,9 +225,11 @@ const KandoNavbar = _ref => {
201
225
  }
202
226
  return;
203
227
  };
204
- (0, _react.useEffect)(() => {
205
- let locale = query.get('locale') || 'en';
206
- fetch("/data/menu_data.json?water_authority_id=".concat(waId, "&locale=").concat(locale)).then(response => response.json()).then(json => {
228
+ (0, _react.useEffect)(function () {
229
+ var locale = query.get('locale') || 'en';
230
+ fetch("/data/menu_data.json?water_authority_id=".concat(waId, "&locale=").concat(locale)).then(function (response) {
231
+ return response.json();
232
+ }).then(function (json) {
207
233
  setWaterAuthorities(json.water_authorities);
208
234
  setMenu(json.menu);
209
235
  dispatch((0, _actions.setWaterAuthority)({
@@ -238,7 +264,7 @@ const KandoNavbar = _ref => {
238
264
  style: {
239
265
  color: 'blue'
240
266
  }
241
- }, iterate(menu).map(item => {
267
+ }, iterate(menu).map(function (item) {
242
268
  return item;
243
269
  }), /*#__PURE__*/_react.default.createElement("div", {
244
270
  className: 'switch-client-container'
@@ -247,5 +273,6 @@ const KandoNavbar = _ref => {
247
273
  }), buildSwitchClient()))))));
248
274
  };
249
275
  KandoNavbar.defaultProps = defaultProps;
250
- var _default = exports.default = KandoNavbar;
251
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJyZXF1aXJlIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9yZWFjdEJvb3RzdHJhcCIsIl9yZWFjdFJlZHV4IiwiX3JlYWN0Um91dGVyRG9tIiwiX3JlYWN0U2VsZWN0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9rYW5kb19sb2dvIiwiX2F1dGhvcml0eSIsIl91c2VyIiwiX1N0eWxlZExpbmsiLCJfYWN0aW9ucyIsIl9FcnJvckJvdW5kYXJ5IiwiX2kxOG4iLCJ1cGRhdGVQYWdlVGl0bGUiLCJ0aXRsZSIsImRvY3VtZW50IiwiY29uY2F0IiwiZGVmYXVsdFByb3BzIiwic2VsZWN0ZWRMYWJlbCIsImhhc1NlYXJjaCIsInJlcGxhY2VVUkwiLCJrZXkiLCJ2YWx1ZSIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsIndpbmRvdyIsImxvY2F0aW9uIiwic2VhcmNoIiwic2V0IiwicHJvdG9jb2wiLCJob3N0IiwicGF0aG5hbWUiLCJ0b1N0cmluZyIsIkthbmRvTmF2YmFyIiwiX3JlZiIsIndhdGVyQXV0aG9yaXR5SWQiLCJ3YXRlckF1dGhvcml0aWVzIiwic2V0V2F0ZXJBdXRob3JpdGllcyIsInVzZVN0YXRlIiwibG9jYWxXYXRlckF1dGhvcml0eSIsInNldExvY2FsV2F0ZXJBdXRob3JpdHkiLCJwaG90b191cmwiLCJsYWJlbCIsIndhSWQiLCJzZXRXYUlkIiwibWVudSIsInNldE1lbnUiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwidXNlUXVlcnkiLCJ1c2VMb2NhdGlvbiIsInF1ZXJ5IiwiY3VzdG9tZXJNZW51Iiwic2V0Q3VzdG9tZXJNZW51IiwiZWRpdCIsImxpbmsiLCJmZWVkYmFjayIsImhlbHAiLCJteV9wcm9maWxlIiwibmFtZSIsInVuZGVmaW5lZCIsInNpZ25fb3V0IiwibWV0aG9kIiwibmF2Q29udGV4dCIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJuYXZfY29udGV4dF9kYXRhIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJoYW5kbGVDaGFuZ2UiLCJzZWxlY3RlZE9wdGlvbiIsInNldFdhdGVyQXV0aG9yaXR5IiwiaWQiLCJwdXNoIiwibG9jYWxlIiwiaXRlcmF0ZSIsIm9iaiIsIml0ZW1zIiwicHJvcGVydHkiLCJleHBhbmRhYmxlIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJOYXZEcm9wZG93biIsImkxOG4iLCJ0IiwiZXhwYW5zaW9uIiwiY2xhc3MiLCJMaW5rIiwiY2xhc3NOYW1lIiwidG8iLCJJdGVtIiwiaHJlZiIsInJlbmRlckNsaWVudHNQaG90byIsInVybCIsImFsdCIsInNyYyIsInN0YXJ0c1dpdGgiLCJXYXRlckF1dGhvcml0eU1pc3NpbmdJY29uIiwic3R5bGUiLCJoZWlnaHQiLCJ3aWR0aCIsImJ1aWxkU3dpdGNoQ2xpZW50IiwibGVuZ3RoIiwiSXRlbVRleHQiLCJjbGFzc05hbWVQcmVmaXgiLCJpc1NlYXJjaGFibGUiLCJvcHRpb25zIiwibWFwIiwiZ2V0T3B0aW9uTGFiZWwiLCJvbkNoYW5nZSIsImUiLCJidWlsZEN1c3RvbWVyTWVudSIsImNvbnRleHROYW1lIiwiYWxpZ25SaWdodCIsIkF2YXRhciIsIkRpdmlkZXIiLCJ1c2VFZmZlY3QiLCJnZXQiLCJmZXRjaCIsInRoZW4iLCJyZXNwb25zZSIsImpzb24iLCJ3YXRlcl9hdXRob3JpdGllcyIsIndhdGVyX2F1dGhvcml0eSIsImlzX2NhcGFjaXR5IiwiY3VzdG9tZXJfbWVudSIsImNsZWFudXAiLCJGcmFnbWVudCIsIk5hdmJhciIsImV4cGFuZCIsIlRvZ2dsZSIsIkJyYW5kIiwiS2FuZG9Mb2dvIiwiQ29sbGFwc2UiLCJOYXYiLCJjb2xvciIsIml0ZW0iLCJGb250QXdlc29tZUljb24iLCJpY29uIiwiZmFUaW50IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvSGVhZGVyL0thbmRvTmF2YmFyL0thbmRvTmF2YmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmYVRpbnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTmF2LCBOYXZiYXIsIE5hdkRyb3Bkb3duIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVzZUhpc3RvcnksIHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgU2VsZWN0IGZyb20gJ3JlYWN0LXNlbGVjdCc7XG5pbXBvcnQgS2FuZG9Mb2dvIGZyb20gJ3NyYy9hc3NldHMva2FuZG9fbG9nby5wbmcnO1xuaW1wb3J0IFdhdGVyQXV0aG9yaXR5TWlzc2luZ0ljb24gZnJvbSAnc3JjL2Fzc2V0cy9taXNzaW5nL2F1dGhvcml0eS5wbmcnO1xuaW1wb3J0IEF2YXRhciBmcm9tICdzcmMvYXNzZXRzL3VzZXIuc3ZnJztcbmltcG9ydCB7IExpbmsgfSBmcm9tICdzcmMvY29tcG9uZW50cy9MaW5rcy9TdHlsZWRMaW5rL1N0eWxlZExpbmsnO1xuaW1wb3J0IHsgc2V0V2F0ZXJBdXRob3JpdHkgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICdzcmMvdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCAnLi9OYXZiYXJTdHlsZS5zY3NzJztcblxuY29uc3QgdXBkYXRlUGFnZVRpdGxlID0gKHRpdGxlOiBzdHJpbmcpID0+XG4gIChkb2N1bWVudC50aXRsZSA9IGBLYW5kbyAtICR7dGl0bGV9YCk7XG5cbnR5cGUgSVByb3BzID0ge1xuICB3YXRlckF1dGhvcml0eUlkOiBudW1iZXI7XG4gIHNlbGVjdGVkTGFiZWw/OiBzdHJpbmc7XG4gIGhhc1NlYXJjaD86IGJvb2xlYW47XG59O1xuXG5jb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gIHNlbGVjdGVkTGFiZWw6ICcnLFxuICBoYXNTZWFyY2g6IGZhbHNlLFxufTtcblxuZnVuY3Rpb24gcmVwbGFjZVVSTChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICBsZXQgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtcbiAgcGFyYW1zLnNldChrZXksIHZhbHVlKTtcbiAgcmV0dXJuIChcbiAgICB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgK1xuICAgICcvLycgK1xuICAgIHdpbmRvdy5sb2NhdGlvbi5ob3N0ICtcbiAgICB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgK1xuICAgICc/JyArXG4gICAgcGFyYW1zLnRvU3RyaW5nKClcbiAgKTtcbn1cblxuY29uc3QgS2FuZG9OYXZiYXIgPSAoe1xuICB3YXRlckF1dGhvcml0eUlkLFxuICBzZWxlY3RlZExhYmVsLFxuICBoYXNTZWFyY2gsXG59OiBJUHJvcHMpID0+IHtcbiAgY29uc3QgW3dhdGVyQXV0aG9yaXRpZXMsIHNldFdhdGVyQXV0aG9yaXRpZXNdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbbG9jYWxXYXRlckF1dGhvcml0eSwgc2V0TG9jYWxXYXRlckF1dGhvcml0eV0gPSB1c2VTdGF0ZSh7XG4gICAgcGhvdG9fdXJsOiAnbWlzc2luZycsXG4gICAgbGFiZWw6ICcnLFxuICB9KTtcbiAgY29uc3QgW3dhSWQsIHNldFdhSWRdID0gdXNlU3RhdGUod2F0ZXJBdXRob3JpdHlJZCk7XG4gIGNvbnN0IFttZW51LCBzZXRNZW51XSA9IHVzZVN0YXRlKHt9KTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuXG4gIGNvbnN0IHVzZVF1ZXJ5ID0gKCkgPT4ge1xuICAgIHJldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKHVzZUxvY2F0aW9uKCkuc2VhcmNoKTtcbiAgfTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeSgpO1xuXG4gIGNvbnN0IFtjdXN0b21lck1lbnUsIHNldEN1c3RvbWVyTWVudV0gPSB1c2VTdGF0ZSh7XG4gICAgZWRpdDoge1xuICAgICAgbGluazogJycsXG4gICAgICBsYWJlbDogJ21haW5fc2NyZWVuLmVkaXRfYWNjb3VudCcsXG4gICAgfSxcbiAgICBmZWVkYmFjazoge1xuICAgICAgbGluazogJycsXG4gICAgICBsYWJlbDogJ21haW5fc2NyZWVuLmZlZWRiYWNrJyxcbiAgICB9LFxuICAgIGhlbHA6IHtcbiAgICAgIGxpbms6ICcnLFxuICAgICAgbGFiZWw6ICdtYWluX3NjcmVlbi5oZWxwJyxcbiAgICB9LFxuICAgIG15X3Byb2ZpbGU6IHtcbiAgICAgIGxpbms6ICcnLFxuICAgICAgbGFiZWw6ICdtYWluX3NjcmVlbi5teV9wcm9maWxlJyxcbiAgICB9LFxuICAgIG5hbWU6IHVuZGVmaW5lZCxcbiAgICBzaWduX291dDoge1xuICAgICAgbGluazogJycsXG4gICAgICBsYWJlbDogJ21haW5fc2NyZWVuLnNpZ25fb3V0JyxcbiAgICAgIG1ldGhvZDogJycsXG4gICAgfSxcbiAgfSk7XG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG5cbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAoc2VsZWN0ZWRPcHRpb246IGFueSkgPT4ge1xuICAgIHNldFdhSWQoc2VsZWN0ZWRPcHRpb24udmFsdWUpO1xuICAgIGRpc3BhdGNoKHNldFdhdGVyQXV0aG9yaXR5KHsgaWQ6IHNlbGVjdGVkT3B0aW9uLnZhbHVlLCBuYW1lOiAnJyB9KSk7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgYC8ke25hdkNvbnRleHQubmFtZX0vaW5kZXg/bG9jYWxlPSR7bmF2Q29udGV4dC5sb2NhbGV9JndhdGVyX2F1dGhvcml0eV9pZD0ke3NlbGVjdGVkT3B0aW9uLnZhbHVlfWAsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBpdGVyYXRlID0gKG9iajogYW55KSA9PiB7XG4gICAgbGV0IGl0ZW1zOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gb2JqKSB7XG4gICAgICBpZiAob2JqW3Byb3BlcnR5XS5leHBhbmRhYmxlKSB7XG4gICAgICAgIGl0ZW1zLnB1c2goXG4gICAgICAgICAgPE5hdkRyb3Bkb3duXG4gICAgICAgICAgICBrZXk9e29ialtwcm9wZXJ0eV0ubGFiZWx9XG4gICAgICAgICAgICB0aXRsZT17aTE4bi50KG9ialtwcm9wZXJ0eV0ubGFiZWwpfVxuICAgICAgICAgICAgaWQ9XCJiYXNpYy1uYXYtZHJvcGRvd25cIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpdGVyYXRlKG9ialtwcm9wZXJ0eV0uZXhwYW5zaW9uKX1cbiAgICAgICAgICA8L05hdkRyb3Bkb3duPixcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChvYmpbcHJvcGVydHldLmNsYXNzID09PSAnanMtaXMtcmVhY3QnKSB7XG4gICAgICAgICAgaXRlbXMucHVzaChcbiAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgIGtleT17b2JqW3Byb3BlcnR5XS5saW5rfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJkcm9wZG93bi1pdGVtXCJcbiAgICAgICAgICAgICAgdG89e29ialtwcm9wZXJ0eV0ubGlua31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2kxOG4udChvYmpbcHJvcGVydHldLmxhYmVsKX1cbiAgICAgICAgICAgIDwvTGluaz4sXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtcy5wdXNoKFxuICAgICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW1cbiAgICAgICAgICAgICAga2V5PXtvYmpbcHJvcGVydHldLmxpbmt9XG4gICAgICAgICAgICAgIGhyZWY9e29ialtwcm9wZXJ0eV0ubGlua31cbiAgICAgICAgICAgICAgaWQ9XCJiYXNpYy1uYXZiYXItbmF2XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2kxOG4udChvYmpbcHJvcGVydHldLmxhYmVsKX1cbiAgICAgICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT4sXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBpdGVtcztcbiAgfTtcblxuICBjb25zdCByZW5kZXJDbGllbnRzUGhvdG8gPSAoKSA9PiB7XG4gICAgaWYgKGxvY2FsV2F0ZXJBdXRob3JpdHkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IHVybCA9IGxvY2FsV2F0ZXJBdXRob3JpdHkucGhvdG9fdXJsISBhcyBzdHJpbmc7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8aW1nXG4gICAgICAgICAgYWx0PVwibWlzc2luZ1wiXG4gICAgICAgICAgc3JjPXt1cmwuc3RhcnRzV2l0aCgnbWlzc2luZycpID8gV2F0ZXJBdXRob3JpdHlNaXNzaW5nSWNvbiA6IHVybH1cbiAgICAgICAgICBzdHlsZT17eyBoZWlnaHQ6ICc0MHB4Jywgd2lkdGg6ICdhdXRvJyB9fVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBidWlsZFN3aXRjaENsaWVudCA9ICgpID0+IHtcbiAgICBpZiAod2F0ZXJBdXRob3JpdGllcyAhPT0gdW5kZWZpbmVkICYmIHdhdGVyQXV0aG9yaXRpZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBpZiAod2F0ZXJBdXRob3JpdGllcy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8cCBjbGFzc05hbWU9eyd3YXRlci1hdXRob3JpdHktc2luZ2xlLWxhYmVsJ30+XG4gICAgICAgICAgICB7bG9jYWxXYXRlckF1dGhvcml0eS5sYWJlbH1cbiAgICAgICAgICA8L3A+XG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxOYXZEcm9wZG93blxuICAgICAgICAgIHRpdGxlPXtsb2NhbFdhdGVyQXV0aG9yaXR5ICE9PSBudWxsID8gbG9jYWxXYXRlckF1dGhvcml0eS5sYWJlbCA6ICcnfVxuICAgICAgICAgIGlkPVwiYmFzaWMtbmF2LWRyb3Bkb3duXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5JdGVtVGV4dCBzdHlsZT17eyB3aWR0aDogJzMwMHB4JyB9fT5cbiAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYmFzaWMtc2luZ2xlXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PVwic2VsZWN0XCJcbiAgICAgICAgICAgICAgaXNTZWFyY2hhYmxlPXt0cnVlfVxuICAgICAgICAgICAgICBuYW1lPVwiY29sb3JcIlxuICAgICAgICAgICAgICBvcHRpb25zPXt3YXRlckF1dGhvcml0aWVzLm1hcCgobG9jYWxXYXRlckF1dGhvcml0eTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBsb2NhbFdhdGVyQXV0aG9yaXR5LmlkLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGxvY2FsV2F0ZXJBdXRob3JpdHkubmFtZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgZ2V0T3B0aW9uTGFiZWw9eyhsb2NhbFdhdGVyQXV0aG9yaXR5OiBhbnkpID0+XG4gICAgICAgICAgICAgICAgbG9jYWxXYXRlckF1dGhvcml0eS5sYWJlbFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlOiBPYmplY3QpID0+IGhhbmRsZUNoYW5nZShlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtVGV4dD5cbiAgICAgICAgPC9OYXZEcm9wZG93bj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9O1xuXG4gIGNvbnN0IGJ1aWxkQ3VzdG9tZXJNZW51ID0gKGNvbnRleHROYW1lOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoY3VzdG9tZXJNZW51ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxOYXZEcm9wZG93blxuICAgICAgICAgIGFsaWduUmlnaHRcbiAgICAgICAgICBjbGFzc05hbWU9eydjdXN0b21lci1tZW51IG9yZGVyLXNtLTMnfVxuICAgICAgICAgIGlkPVwiYmFzaWMtbmF2LWRyb3Bkb3duXCJcbiAgICAgICAgICB0aXRsZT17XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2N1c3RvbWVyLW1lbnVfX2NvbnRlbnQnfT5cbiAgICAgICAgICAgICAgPGltZyBzcmM9e0F2YXRhcn0gYWx0PVwiYXZhdGFyXCI+PC9pbWc+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J2dyZWV0aW5nJ30+XG4gICAgICAgICAgICAgICAge2Ake2kxOG4udCgnbWFpbl9zY3JlZW4uaGVsbG8nKX0gJHtcbiAgICAgICAgICAgICAgICAgIGN1c3RvbWVyTWVudS5uYW1lID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICAgICAgPyBpMThuLnQoJ21haW5fc2NyZWVuLnRoZXJlJylcbiAgICAgICAgICAgICAgICAgICAgOiAnLCAnICsgY3VzdG9tZXJNZW51Lm5hbWVcbiAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW0gaHJlZj17Y3VzdG9tZXJNZW51Lm15X3Byb2ZpbGUubGlua30+XG4gICAgICAgICAgICB7aTE4bi50KCdtYWluX3NjcmVlbi5teV9wcm9maWxlJyl9XG4gICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5JdGVtXG4gICAgICAgICAgICBocmVmPXtjdXN0b21lck1lbnUuZWRpdC5saW5rfVxuICAgICAgICAgICAga2V5PXtjdXN0b21lck1lbnUuZWRpdC5saW5rfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpMThuLnQoJ21haW5fc2NyZWVuLmVkaXRfYWNjb3VudCcpfVxuICAgICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uSXRlbVxuICAgICAgICAgICAgaHJlZj17Y3VzdG9tZXJNZW51LmZlZWRiYWNrLmxpbmt9XG4gICAgICAgICAgICBrZXk9e2N1c3RvbWVyTWVudS5mZWVkYmFjay5saW5rfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpMThuLnQoJ21haW5fc2NyZWVuLmZlZWRiYWNrJyl9XG4gICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5JdGVtXG4gICAgICAgICAgICBocmVmPXtjdXN0b21lck1lbnUuaGVscC5saW5rfVxuICAgICAgICAgICAga2V5PXtjdXN0b21lck1lbnUuaGVscC5saW5rfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtpMThuLnQoJ21haW5fc2NyZWVuLmhlbHAnKX1cbiAgICAgICAgICA8L05hdkRyb3Bkb3duLkl0ZW0+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkRpdmlkZXIgLz5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uSXRlbSBocmVmPXtyZXBsYWNlVVJMKCdsb2NhbGUnLCAnZW4nKX0+XG4gICAgICAgICAgICB7J0VuZ2xpc2gnfVxuICAgICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uSXRlbSBocmVmPXtyZXBsYWNlVVJMKCdsb2NhbGUnLCAnZW5fdWsnKX0+XG4gICAgICAgICAgICB7J0VuZ2xpc2ggKFVLKSd9XG4gICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5JdGVtIGhyZWY9e3JlcGxhY2VVUkwoJ2xvY2FsZScsICdoZScpfT5cbiAgICAgICAgICAgIHsn16LXkdeo15nXqid9XG4gICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5JdGVtIGhyZWY9e3JlcGxhY2VVUkwoJ2xvY2FsZScsICdmcicpfT5cbiAgICAgICAgICAgIHsnRnJhbsOnYWlzJ31cbiAgICAgICAgICA8L05hdkRyb3Bkb3duLkl0ZW0+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW0gaHJlZj17cmVwbGFjZVVSTCgnbG9jYWxlJywgJ2l0Jyl9PlxuICAgICAgICAgICAgeydJdGFsaWFubyd9XG4gICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5EaXZpZGVyIC8+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW1cbiAgICAgICAgICAgIGhyZWY9e2N1c3RvbWVyTWVudS5zaWduX291dC5saW5rfVxuICAgICAgICAgICAgZGF0YS1tZXRob2Q9e2N1c3RvbWVyTWVudS5zaWduX291dC5tZXRob2R9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2kxOG4udChjdXN0b21lck1lbnUuc2lnbl9vdXQubGFiZWwpfVxuICAgICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgPC9OYXZEcm9wZG93bj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbGV0IGxvY2FsZSA9IHF1ZXJ5LmdldCgnbG9jYWxlJykgfHwgJ2VuJztcbiAgICBmZXRjaChgL2RhdGEvbWVudV9kYXRhLmpzb24/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7d2FJZH0mbG9jYWxlPSR7bG9jYWxlfWApXG4gICAgICAudGhlbigocmVzcG9uc2UpID0+IHJlc3BvbnNlLmpzb24oKSlcbiAgICAgIC50aGVuKChqc29uKSA9PiB7XG4gICAgICAgIHNldFdhdGVyQXV0aG9yaXRpZXMoanNvbi53YXRlcl9hdXRob3JpdGllcyk7XG4gICAgICAgIHNldE1lbnUoanNvbi5tZW51KTtcbiAgICAgICAgZGlzcGF0Y2goXG4gICAgICAgICAgc2V0V2F0ZXJBdXRob3JpdHkoe1xuICAgICAgICAgICAgaWQ6IGpzb24ud2F0ZXJfYXV0aG9yaXR5LnZhbHVlLFxuICAgICAgICAgICAgbmFtZToganNvbi53YXRlcl9hdXRob3JpdHkubGFiZWwsXG4gICAgICAgICAgICBpc19jYXBhY2l0eToganNvbi53YXRlcl9hdXRob3JpdHkuaXNfY2FwYWNpdHksXG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICAgIHNldExvY2FsV2F0ZXJBdXRob3JpdHkoanNvbi53YXRlcl9hdXRob3JpdHkpOyAvLyBhZGQgdG8gU3RvcmVcbiAgICAgICAgdXBkYXRlUGFnZVRpdGxlKGpzb24ud2F0ZXJfYXV0aG9yaXR5LmxhYmVsKTtcbiAgICAgICAgc2V0Q3VzdG9tZXJNZW51KGpzb24uY3VzdG9tZXJfbWVudSk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiBmdW5jdGlvbiBjbGVhbnVwKCkge1xuICAgICAgc2V0V2F0ZXJBdXRob3JpdGllcyhbXSk7XG4gICAgICBzZXRNZW51KHt9KTtcbiAgICB9O1xuICB9LCBbd2FJZF0pO1xuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgIDxOYXZiYXIgZXhwYW5kPVwic21cIiBjbGFzc05hbWU9eydqdXN0aWZ5LWNvbnRlbnQtYmV0d2Vlbid9PlxuICAgICAgICAgIDxOYXZiYXIuVG9nZ2xlIGFyaWEtY29udHJvbHM9XCJiYXNpYy1uYXZiYXItbmF2XCIgLz5cbiAgICAgICAgICA8TmF2YmFyLkJyYW5kIGNsYXNzTmFtZT17J2xvZ28nfT5cbiAgICAgICAgICAgIDxpbWcgc3JjPXtLYW5kb0xvZ299IGFsdD1cImthbmRvLWxvZ29cIj48L2ltZz5cbiAgICAgICAgICA8L05hdmJhci5CcmFuZD5cbiAgICAgICAgICA8TmF2YmFyLkJyYW5kIGNsYXNzTmFtZT17J2NsaWVudC1sb2dvJ30+XG4gICAgICAgICAgICB7cmVuZGVyQ2xpZW50c1Bob3RvKCl9XG4gICAgICAgICAgPC9OYXZiYXIuQnJhbmQ+XG4gICAgICAgICAge2J1aWxkQ3VzdG9tZXJNZW51KG5hdkNvbnRleHQubmFtZSl9XG4gICAgICAgICAgPE5hdmJhci5Db2xsYXBzZSBpZD1cImJhc2ljLW5hdmJhci1uYXZcIj5cbiAgICAgICAgICAgIDxOYXYgc3R5bGU9e3sgY29sb3I6ICdibHVlJyB9fT5cbiAgICAgICAgICAgICAge2l0ZXJhdGUobWVudSkubWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3N3aXRjaC1jbGllbnQtY29udGFpbmVyJ30+XG4gICAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVRpbnR9IC8+XG4gICAgICAgICAgICAgICAge2J1aWxkU3dpdGNoQ2xpZW50KCl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9OYXY+XG4gICAgICAgICAgPC9OYXZiYXIuQ29sbGFwc2U+XG4gICAgICAgICAge31cbiAgICAgICAgPC9OYXZiYXI+XG4gICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG5LYW5kb05hdmJhci5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5cbmV4cG9ydCBkZWZhdWx0IEthbmRvTmF2YmFyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLGtCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksZUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sZUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sWUFBQSxHQUFBQyxzQkFBQSxDQUFBUixPQUFBO0FBQ0EsSUFBQVMsV0FBQSxHQUFBRCxzQkFBQSxDQUFBUixPQUFBO0FBQ0EsSUFBQVUsVUFBQSxHQUFBRixzQkFBQSxDQUFBUixPQUFBO0FBQXlFLElBQUFXLEtBQUEsR0FBQUgsc0JBQUEsQ0FBQVIsT0FBQTtBQUV6RSxJQUFBWSxXQUFBLEdBQUFaLE9BQUE7QUFDQSxJQUFBYSxRQUFBLEdBQUFiLE9BQUE7QUFFQSxJQUFBYyxjQUFBLEdBQUFOLHNCQUFBLENBQUFSLE9BQUE7QUFDQSxJQUFBZSxLQUFBLEdBQUFQLHNCQUFBLENBQUFSLE9BQUE7QUFDQUEsT0FBQTtBQUVBLE1BQU1nQixlQUFlLEdBQUlDLEtBQWEsSUFDbkNDLFFBQVEsQ0FBQ0QsS0FBSyxjQUFBRSxNQUFBLENBQWNGLEtBQUssQ0FBRztBQVF2QyxNQUFNRyxZQUFZLEdBQUc7RUFDbkJDLGFBQWEsRUFBRSxFQUFFO0VBQ2pCQyxTQUFTLEVBQUU7QUFDYixDQUFDO0FBRUQsU0FBU0MsVUFBVUEsQ0FBQ0MsR0FBVyxFQUFFQyxLQUFhLEVBQUU7RUFDOUMsSUFBSUMs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
276
+ var _default = KandoNavbar;
277
+ exports.default = _default;
278
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJyZXF1aXJlIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9yZWFjdEJvb3RzdHJhcCIsIl9yZWFjdFJlZHV4IiwiX3JlYWN0Um91dGVyRG9tIiwiX3JlYWN0U2VsZWN0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9rYW5kb19sb2dvIiwiX2F1dGhvcml0eSIsIl91c2VyIiwiX1N0eWxlZExpbmsiLCJfYWN0aW9ucyIsIl9FcnJvckJvdW5kYXJ5IiwiX2kxOG4iLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsInVwZGF0ZVBhZ2VUaXRsZSIsInRpdGxlIiwiZG9jdW1lbnQiLCJjb25jYXQiLCJkZWZhdWx0UHJvcHMiLCJzZWxlY3RlZExhYmVsIiwiaGFzU2VhcmNoIiwicmVwbGFjZVVSTCIsInZhbHVlIiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwid2luZG93IiwibG9jYXRpb24iLCJzZWFyY2giLCJwcm90b2NvbCIsImhvc3QiLCJwYXRobmFtZSIsInRvU3RyaW5nIiwiS2FuZG9OYXZiYXIiLCJfcmVmIiwid2F0ZXJBdXRob3JpdHlJZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsIndhdGVyQXV0aG9yaXRpZXMiLCJzZXRXYXRlckF1dGhvcml0aWVzIiwiX3VzZVN0YXRlMyIsInBob3RvX3VybCIsImxhYmVsIiwiX3VzZVN0YXRlNCIsImxvY2FsV2F0ZXJBdXRob3JpdHkiLCJzZXRMb2NhbFdhdGVyQXV0aG9yaXR5IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJ3YUlkIiwic2V0V2FJZCIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwibWVudSIsInNldE1lbnUiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwidXNlUXVlcnkiLCJ1c2VMb2NhdGlvbiIsInF1ZXJ5IiwiX3VzZVN0YXRlOSIsImVkaXQiLCJsaW5rIiwiZmVlZGJhY2siLCJoZWxwIiwibXlfcHJvZmlsZSIsIm5hbWUiLCJ1bmRlZmluZWQiLCJzaWduX291dCIsIm1ldGhvZCIsIl91c2VTdGF0ZTEwIiwiY3VzdG9tZXJNZW51Iiwic2V0Q3VzdG9tZXJNZW51IiwibmF2Q29udGV4dCIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJuYXZfY29udGV4dF9kYXRhIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJoYW5kbGVDaGFuZ2UiLCJzZWxlY3RlZE9wdGlvbiIsInNldFdhdGVyQXV0aG9yaXR5IiwiaWQiLCJwdXNoIiwibG9jYWxlIiwiaXRlcmF0ZSIsIml0ZW1zIiwicHJvcGVydHkiLCJleHBhbmRhYmxlIiwiY3JlYXRlRWxlbWVudCIsIk5hdkRyb3Bkb3duIiwiaTE4biIsInQiLCJleHBhbnNpb24iLCJjbGFzcyIsIkxpbmsiLCJjbGFzc05hbWUiLCJ0byIsIkl0ZW0iLCJocmVmIiwicmVuZGVyQ2xpZW50c1Bob3RvIiwidXJsIiwiYWx0Iiwic3JjIiwic3RhcnRzV2l0aCIsIldhdGVyQXV0aG9yaXR5TWlzc2luZ0ljb24iLCJzdHlsZSIsImhlaWdodCIsIndpZHRoIiwiYnVpbGRTd2l0Y2hDbGllbnQiLCJsZW5ndGgiLCJJdGVtVGV4dCIsImNsYXNzTmFtZVByZWZpeCIsImlzU2VhcmNoYWJsZSIsIm9wdGlvbnMiLCJtYXAiLCJnZXRPcHRpb25MYWJlbCIsIm9uQ2hhbmdlIiwiZSIsImJ1aWxkQ3VzdG9tZXJNZW51IiwiY29udGV4dE5hbWUiLCJhbGlnblJpZ2h0IiwiQXZhdGFyIiwiRGl2aWRlciIsInVzZUVmZmVjdCIsImZldGNoIiwidGhlbiIsInJlc3BvbnNlIiwianNvbiIsIndhdGVyX2F1dGhvcml0aWVzIiwid2F0ZXJfYXV0aG9yaXR5IiwiaXNfY2FwYWNpdHkiLCJjdXN0b21lcl9tZW51IiwiY2xlYW51cCIsIkZyYWdtZW50IiwiTmF2YmFyIiwiZXhwYW5kIiwiVG9nZ2xlIiwiQnJhbmQiLCJLYW5kb0xvZ28iLCJDb2xsYXBzZSIsIk5hdiIsImNvbG9yIiwiaXRlbSIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYVRpbnQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9IZWFkZXIvS2FuZG9OYXZiYXIvS2FuZG9OYXZiYXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZhVGludCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBOYXYsIE5hdmJhciwgTmF2RHJvcGRvd24gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBTZWxlY3QgZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCBLYW5kb0xvZ28gZnJvbSAnc3JjL2Fzc2V0cy9rYW5kb19sb2dvLnBuZyc7XG5pbXBvcnQgV2F0ZXJBdXRob3JpdHlNaXNzaW5nSWNvbiBmcm9tICdzcmMvYXNzZXRzL21pc3NpbmcvYXV0aG9yaXR5LnBuZyc7XG5pbXBvcnQgQXZhdGFyIGZyb20gJ3NyYy9hc3NldHMvdXNlci5zdmcnO1xuaW1wb3J0IHsgTGluayB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0xpbmtzL1N0eWxlZExpbmsvU3R5bGVkTGluayc7XG5pbXBvcnQgeyBzZXRXYXRlckF1dGhvcml0eSB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnc3JjL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCBFcnJvckJvdW5kYXJ5IGZyb20gJ3NyYy91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0ICcuL05hdmJhclN0eWxlLnNjc3MnO1xuXG5jb25zdCB1cGRhdGVQYWdlVGl0bGUgPSAodGl0bGU6IHN0cmluZykgPT5cbiAgKGRvY3VtZW50LnRpdGxlID0gYEthbmRvIC0gJHt0aXRsZX1gKTtcblxudHlwZSBJUHJvcHMgPSB7XG4gIHdhdGVyQXV0aG9yaXR5SWQ6IG51bWJlcjtcbiAgc2VsZWN0ZWRMYWJlbD86IHN0cmluZztcbiAgaGFzU2VhcmNoPzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgc2VsZWN0ZWRMYWJlbDogJycsXG4gIGhhc1NlYXJjaDogZmFsc2UsXG59O1xuXG5mdW5jdGlvbiByZXBsYWNlVVJMKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gIGxldCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICBwYXJhbXMuc2V0KGtleSwgdmFsdWUpO1xuICByZXR1cm4gKFxuICAgIHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCArXG4gICAgJy8vJyArXG4gICAgd2luZG93LmxvY2F0aW9uLmhvc3QgK1xuICAgIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSArXG4gICAgJz8nICtcbiAgICBwYXJhbXMudG9TdHJpbmcoKVxuICApO1xufVxuXG5jb25zdCBLYW5kb05hdmJhciA9ICh7XG4gIHdhdGVyQXV0aG9yaXR5SWQsXG4gIHNlbGVjdGVkTGFiZWwsXG4gIGhhc1NlYXJjaCxcbn06IElQcm9wcykgPT4ge1xuICBjb25zdCBbd2F0ZXJBdXRob3JpdGllcywgc2V0V2F0ZXJBdXRob3JpdGllc10gPSB1c2VTdGF0ZShbXSk7XG4gIGNvbnN0IFtsb2NhbFdhdGVyQXV0aG9yaXR5LCBzZXRMb2NhbFdhdGVyQXV0aG9yaXR5XSA9IHVzZVN0YXRlKHtcbiAgICBwaG90b191cmw6ICdtaXNzaW5nJyxcbiAgICBsYWJlbDogJycsXG4gIH0pO1xuICBjb25zdCBbd2FJZCwgc2V0V2FJZF0gPSB1c2VTdGF0ZSh3YXRlckF1dGhvcml0eUlkKTtcbiAgY29uc3QgW21lbnUsIHNldE1lbnVdID0gdXNlU3RhdGUoe30pO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgY29uc3QgdXNlUXVlcnkgPSAoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXModXNlTG9jYXRpb24oKS5zZWFyY2gpO1xuICB9O1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5KCk7XG5cbiAgY29uc3QgW2N1c3RvbWVyTWVudSwgc2V0Q3VzdG9tZXJNZW51XSA9IHVzZVN0YXRlKHtcbiAgICBlZGl0OiB7XG4gICAgICBsaW5rOiAnJyxcbiAgICAgIGxhYmVsOiAnbWFpbl9zY3JlZW4uZWRpdF9hY2NvdW50JyxcbiAgICB9LFxuICAgIGZlZWRiYWNrOiB7XG4gICAgICBsaW5rOiAnJyxcbiAgICAgIGxhYmVsOiAnbWFpbl9zY3JlZW4uZmVlZGJhY2snLFxuICAgIH0sXG4gICAgaGVscDoge1xuICAgICAgbGluazogJycsXG4gICAgICBsYWJlbDogJ21haW5fc2NyZWVuLmhlbHAnLFxuICAgIH0sXG4gICAgbXlfcHJvZmlsZToge1xuICAgICAgbGluazogJycsXG4gICAgICBsYWJlbDogJ21haW5fc2NyZWVuLm15X3Byb2ZpbGUnLFxuICAgIH0sXG4gICAgbmFtZTogdW5kZWZpbmVkLFxuICAgIHNpZ25fb3V0OiB7XG4gICAgICBsaW5rOiAnJyxcbiAgICAgIGxhYmVsOiAnbWFpbl9zY3JlZW4uc2lnbl9vdXQnLFxuICAgICAgbWV0aG9kOiAnJyxcbiAgICB9LFxuICB9KTtcbiAgY29uc3QgbmF2Q29udGV4dCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLm5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dCxcbiAgKTtcblxuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IChzZWxlY3RlZE9wdGlvbjogYW55KSA9PiB7XG4gICAgc2V0V2FJZChzZWxlY3RlZE9wdGlvbi52YWx1ZSk7XG4gICAgZGlzcGF0Y2goc2V0V2F0ZXJBdXRob3JpdHkoeyBpZDogc2VsZWN0ZWRPcHRpb24udmFsdWUsIG5hbWU6ICcnIH0pKTtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgLyR7bmF2Q29udGV4dC5uYW1lfS9pbmRleD9sb2NhbGU9JHtuYXZDb250ZXh0LmxvY2FsZX0md2F0ZXJfYXV0aG9yaXR5X2lkPSR7c2VsZWN0ZWRPcHRpb24udmFsdWV9YCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGl0ZXJhdGUgPSAob2JqOiBhbnkpID0+IHtcbiAgICBsZXQgaXRlbXM6IGFueVtdID0gW107XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBvYmopIHtcbiAgICAgIGlmIChvYmpbcHJvcGVydHldLmV4cGFuZGFibGUpIHtcbiAgICAgICAgaXRlbXMucHVzaChcbiAgICAgICAgICA8TmF2RHJvcGRvd25cbiAgICAgICAgICAgIGtleT17b2JqW3Byb3BlcnR5XS5sYWJlbH1cbiAgICAgICAgICAgIHRpdGxlPXtpMThuLnQob2JqW3Byb3BlcnR5XS5sYWJlbCl9XG4gICAgICAgICAgICBpZD1cImJhc2ljLW5hdi1kcm9wZG93blwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge2l0ZXJhdGUob2JqW3Byb3BlcnR5XS5leHBhbnNpb24pfVxuICAgICAgICAgIDwvTmF2RHJvcGRvd24+LFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKG9ialtwcm9wZXJ0eV0uY2xhc3MgPT09ICdqcy1pcy1yZWFjdCcpIHtcbiAgICAgICAgICBpdGVtcy5wdXNoKFxuICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAga2V5PXtvYmpbcHJvcGVydHldLmxpbmt9XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImRyb3Bkb3duLWl0ZW1cIlxuICAgICAgICAgICAgICB0bz17b2JqW3Byb3BlcnR5XS5saW5rfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KG9ialtwcm9wZXJ0eV0ubGFiZWwpfVxuICAgICAgICAgICAgPC9MaW5rPixcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW1zLnB1c2goXG4gICAgICAgICAgICA8TmF2RHJvcGRvd24uSXRlbVxuICAgICAgICAgICAgICBrZXk9e29ialtwcm9wZXJ0eV0ubGlua31cbiAgICAgICAgICAgICAgaHJlZj17b2JqW3Byb3BlcnR5XS5saW5rfVxuICAgICAgICAgICAgICBpZD1cImJhc2ljLW5hdmJhci1uYXZcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KG9ialtwcm9wZXJ0eV0ubGFiZWwpfVxuICAgICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPixcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlckNsaWVudHNQaG90byA9ICgpID0+IHtcbiAgICBpZiAobG9jYWxXYXRlckF1dGhvcml0eSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgdXJsID0gbG9jYWxXYXRlckF1dGhvcml0eS5waG90b191cmwhIGFzIHN0cmluZztcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxpbWdcbiAgICAgICAgICBhbHQ9XCJtaXNzaW5nXCJcbiAgICAgICAgICBzcmM9e3VybC5zdGFydHNXaXRoKCdtaXNzaW5nJykgPyBXYXRlckF1dGhvcml0eU1pc3NpbmdJY29uIDogdXJsfVxuICAgICAgICAgIHN0eWxlPXt7IGhlaWdodDogJzQwcHgnLCB3aWR0aDogJ2F1dG8nIH19XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGJ1aWxkU3dpdGNoQ2xpZW50ID0gKCkgPT4ge1xuICAgIGlmICh3YXRlckF1dGhvcml0aWVzICE9PSB1bmRlZmluZWQgJiYgd2F0ZXJBdXRob3JpdGllcy5sZW5ndGggIT09IDApIHtcbiAgICAgIGlmICh3YXRlckF1dGhvcml0aWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxwIGNsYXNzTmFtZT17J3dhdGVyLWF1dGhvcml0eS1zaW5nbGUtbGFiZWwnfT5cbiAgICAgICAgICAgIHtsb2NhbFdhdGVyQXV0aG9yaXR5LmxhYmVsfVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPE5hdkRyb3Bkb3duXG4gICAgICAgICAgdGl0bGU9e2xvY2FsV2F0ZXJBdXRob3JpdHkgIT09IG51bGwgPyBsb2NhbFdhdGVyQXV0aG9yaXR5LmxhYmVsIDogJyd9XG4gICAgICAgICAgaWQ9XCJiYXNpYy1uYXYtZHJvcGRvd25cIlxuICAgICAgICA+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW1UZXh0IHN0eWxlPXt7IHdpZHRoOiAnMzAwcHgnIH19PlxuICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJiYXNpYy1zaW5nbGVcIlxuICAgICAgICAgICAgICBjbGFzc05hbWVQcmVmaXg9XCJzZWxlY3RcIlxuICAgICAgICAgICAgICBpc1NlYXJjaGFibGU9e3RydWV9XG4gICAgICAgICAgICAgIG5hbWU9XCJjb2xvclwiXG4gICAgICAgICAgICAgIG9wdGlvbnM9e3dhdGVyQXV0aG9yaXRpZXMubWFwKChsb2NhbFdhdGVyQXV0aG9yaXR5OiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgdmFsdWU6IGxvY2FsV2F0ZXJBdXRob3JpdHkuaWQsXG4gICAgICAgICAgICAgICAgICBsYWJlbDogbG9jYWxXYXRlckF1dGhvcml0eS5uYW1lLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICBnZXRPcHRpb25MYWJlbD17KGxvY2FsV2F0ZXJBdXRob3JpdHk6IGFueSkgPT5cbiAgICAgICAgICAgICAgICBsb2NhbFdhdGVyQXV0aG9yaXR5LmxhYmVsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KGU6IE9iamVjdCkgPT4gaGFuZGxlQ2hhbmdlKGUpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L05hdkRyb3Bkb3duLkl0ZW1UZXh0PlxuICAgICAgICA8L05hdkRyb3Bkb3duPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH07XG5cbiAgY29uc3QgYnVpbGRDdXN0b21lck1lbnUgPSAoY29udGV4dE5hbWU6IHN0cmluZykgPT4ge1xuICAgIGlmIChjdXN0b21lck1lbnUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPE5hdkRyb3Bkb3duXG4gICAgICAgICAgYWxpZ25SaWdodFxuICAgICAgICAgIGNsYXNzTmFtZT17J2N1c3RvbWVyLW1lbnUgb3JkZXItc20tMyd9XG4gICAgICAgICAgaWQ9XCJiYXNpYy1uYXYtZHJvcGRvd25cIlxuICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnY3VzdG9tZXItbWVudV9fY29udGVudCd9PlxuICAgICAgICAgICAgICA8aW1nIHNyYz17QXZhdGFyfSBhbHQ9XCJhdmF0YXJcIj48L2ltZz5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnZ3JlZXRpbmcnfT5cbiAgICAgICAgICAgICAgICB7YCR7aTE4bi50KCdtYWluX3NjcmVlbi5oZWxsbycpfSAke1xuICAgICAgICAgICAgICAgICAgY3VzdG9tZXJNZW51Lm5hbWUgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICA/IGkxOG4udCgnbWFpbl9zY3JlZW4udGhlcmUnKVxuICAgICAgICAgICAgICAgICAgICA6ICcsICcgKyBjdXN0b21lck1lbnUubmFtZVxuICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgID5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uSXRlbSBocmVmPXtjdXN0b21lck1lbnUubXlfcHJvZmlsZS5saW5rfT5cbiAgICAgICAgICAgIHtpMThuLnQoJ21haW5fc2NyZWVuLm15X3Byb2ZpbGUnKX1cbiAgICAgICAgICA8L05hdkRyb3Bkb3duLkl0ZW0+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW1cbiAgICAgICAgICAgIGhyZWY9e2N1c3RvbWVyTWVudS5lZGl0Lmxpbmt9XG4gICAgICAgICAgICBrZXk9e2N1c3RvbWVyTWVudS5lZGl0Lmxpbmt9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2kxOG4udCgnbWFpbl9zY3JlZW4uZWRpdF9hY2NvdW50Jyl9XG4gICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5JdGVtXG4gICAgICAgICAgICBocmVmPXtjdXN0b21lck1lbnUuZmVlZGJhY2subGlua31cbiAgICAgICAgICAgIGtleT17Y3VzdG9tZXJNZW51LmZlZWRiYWNrLmxpbmt9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2kxOG4udCgnbWFpbl9zY3JlZW4uZmVlZGJhY2snKX1cbiAgICAgICAgICA8L05hdkRyb3Bkb3duLkl0ZW0+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW1cbiAgICAgICAgICAgIGhyZWY9e2N1c3RvbWVyTWVudS5oZWxwLmxpbmt9XG4gICAgICAgICAgICBrZXk9e2N1c3RvbWVyTWVudS5oZWxwLmxpbmt9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2kxOG4udCgnbWFpbl9zY3JlZW4uaGVscCcpfVxuICAgICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uRGl2aWRlciAvPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5JdGVtIGhyZWY9e3JlcGxhY2VVUkwoJ2xvY2FsZScsICdlbicpfT5cbiAgICAgICAgICAgIHsnRW5nbGlzaCd9XG4gICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPlxuICAgICAgICAgIDxOYXZEcm9wZG93bi5JdGVtIGhyZWY9e3JlcGxhY2VVUkwoJ2xvY2FsZScsICdlbl91aycpfT5cbiAgICAgICAgICAgIHsnRW5nbGlzaCAoVUspJ31cbiAgICAgICAgICA8L05hdkRyb3Bkb3duLkl0ZW0+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW0gaHJlZj17cmVwbGFjZVVSTCgnbG9jYWxlJywgJ2hlJyl9PlxuICAgICAgICAgICAgeyfXoteR16jXmdeqJ31cbiAgICAgICAgICA8L05hdkRyb3Bkb3duLkl0ZW0+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkl0ZW0gaHJlZj17cmVwbGFjZVVSTCgnbG9jYWxlJywgJ2ZyJyl9PlxuICAgICAgICAgICAgeydGcmFuw6dhaXMnfVxuICAgICAgICAgIDwvTmF2RHJvcGRvd24uSXRlbT5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uSXRlbSBocmVmPXtyZXBsYWNlVVJMKCdsb2NhbGUnLCAnaXQnKX0+XG4gICAgICAgICAgICB7J0l0YWxpYW5vJ31cbiAgICAgICAgICA8L05hdkRyb3Bkb3duLkl0ZW0+XG4gICAgICAgICAgPE5hdkRyb3Bkb3duLkRpdmlkZXIgLz5cbiAgICAgICAgICA8TmF2RHJvcGRvd24uSXRlbVxuICAgICAgICAgICAgaHJlZj17Y3VzdG9tZXJNZW51LnNpZ25fb3V0Lmxpbmt9XG4gICAgICAgICAgICBkYXRhLW1ldGhvZD17Y3VzdG9tZXJNZW51LnNpZ25fb3V0Lm1ldGhvZH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aTE4bi50KGN1c3RvbWVyTWVudS5zaWduX291dC5sYWJlbCl9XG4gICAgICAgICAgPC9OYXZEcm9wZG93bi5JdGVtPlxuICAgICAgICA8L05hdkRyb3Bkb3duPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgbG9jYWxlID0gcXVlcnkuZ2V0KCdsb2NhbGUnKSB8fCAnZW4nO1xuICAgIGZldGNoKGAvZGF0YS9tZW51X2RhdGEuanNvbj93YXRlcl9hdXRob3JpdHlfaWQ9JHt3YUlkfSZsb2NhbGU9JHtsb2NhbGV9YClcbiAgICAgIC50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuanNvbigpKVxuICAgICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgICAgc2V0V2F0ZXJBdXRob3JpdGllcyhqc29uLndhdGVyX2F1dGhvcml0aWVzKTtcbiAgICAgICAgc2V0TWVudShqc29uLm1lbnUpO1xuICAgICAgICBkaXNwYXRjaChcbiAgICAgICAgICBzZXRXYXRlckF1dGhvcml0eSh7XG4gICAgICAgICAgICBpZDoganNvbi53YXRlcl9hdXRob3JpdHkudmFsdWUsXG4gICAgICAgICAgICBuYW1lOiBqc29uLndhdGVyX2F1dGhvcml0eS5sYWJlbCxcbiAgICAgICAgICAgIGlzX2NhcGFjaXR5OiBqc29uLndhdGVyX2F1dGhvcml0eS5pc19jYXBhY2l0eSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgICAgc2V0TG9jYWxXYXRlckF1dGhvcml0eShqc29uLndhdGVyX2F1dGhvcml0eSk7IC8vIGFkZCB0byBTdG9yZVxuICAgICAgICB1cGRhdGVQYWdlVGl0bGUoanNvbi53YXRlcl9hdXRob3JpdHkubGFiZWwpO1xuICAgICAgICBzZXRDdXN0b21lck1lbnUoanNvbi5jdXN0b21lcl9tZW51KTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBzZXRXYXRlckF1dGhvcml0aWVzKFtdKTtcbiAgICAgIHNldE1lbnUoe30pO1xuICAgIH07XG4gIH0sIFt3YUlkXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8RXJyb3JCb3VuZGFyeT5cbiAgICAgICAgPE5hdmJhciBleHBhbmQ9XCJzbVwiIGNsYXNzTmFtZT17J2p1c3RpZnktY29udGVudC1iZXR3ZWVuJ30+XG4gICAgICAgICAgPE5hdmJhci5Ub2dnbGUgYXJpYS1jb250cm9scz1cImJhc2ljLW5hdmJhci1uYXZcIiAvPlxuICAgICAgICAgIDxOYXZiYXIuQnJhbmQgY2xhc3NOYW1lPXsnbG9nbyd9PlxuICAgICAgICAgICAgPGltZyBzcmM9e0thbmRvTG9nb30gYWx0PVwia2FuZG8tbG9nb1wiPjwvaW1nPlxuICAgICAgICAgIDwvTmF2YmFyLkJyYW5kPlxuICAgICAgICAgIDxOYXZiYXIuQnJhbmQgY2xhc3NOYW1lPXsnY2xpZW50LWxvZ28nfT5cbiAgICAgICAgICAgIHtyZW5kZXJDbGllbnRzUGhvdG8oKX1cbiAgICAgICAgICA8L05hdmJhci5CcmFuZD5cbiAgICAgICAgICB7YnVpbGRDdXN0b21lck1lbnUobmF2Q29udGV4dC5uYW1lKX1cbiAgICAgICAgICA8TmF2YmFyLkNvbGxhcHNlIGlkPVwiYmFzaWMtbmF2YmFyLW5hdlwiPlxuICAgICAgICAgICAgPE5hdiBzdHlsZT17eyBjb2xvcjogJ2JsdWUnIH19PlxuICAgICAgICAgICAgICB7aXRlcmF0ZShtZW51KS5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnc3dpdGNoLWNsaWVudC1jb250YWluZXInfT5cbiAgICAgICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhVGludH0gLz5cbiAgICAgICAgICAgICAgICB7YnVpbGRTd2l0Y2hDbGllbnQoKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L05hdj5cbiAgICAgICAgICA8L05hdmJhci5Db2xsYXBzZT5cbiAgICAgICAgICB7fVxuICAgICAgICA8L05hdmJhcj5cbiAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApO1xufTtcbkthbmRvTmF2YmFyLmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblxuZXhwb3J0IGRlZmF1bHQgS2FuZG9OYXZiYXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLGtCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksZUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sZUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sWUFBQSxHQUFBQyxzQkFBQSxDQUFBUixPQUFBO0FBQ0EsSUFBQVMsV0FBQSxHQUFBRCxzQkFBQSxDQUFBUixPQUFBO0FBQ0EsSUFBQVUsVUFBQSxHQUFBRixz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
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _KandoNavbar = _interopRequireDefault(require("./KandoNavbar"));
9
- var _default = exports.default = _KandoNavbar.default;
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfS2FuZG9OYXZiYXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsImRlZmF1bHQiLCJLYW5kb05hdmJhciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hlYWRlci9LYW5kb05hdmJhci9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgS2FuZG9OYXZiYXIgZnJvbSAnLi9LYW5kb05hdmJhcic7XG5cbmV4cG9ydCBkZWZhdWx0IEthbmRvTmF2YmFyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsWUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQXdDLElBQUFDLFFBQUEsR0FBQUMsT0FBQSxDQUFBQyxPQUFBLEdBRXpCQyxvQkFBVyIsImlnbm9yZUxpc3QiOltdfQ==
9
+ var _default = _KandoNavbar.default;
10
+ exports.default = _default;
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfS2FuZG9OYXZiYXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9kZWZhdWx0IiwiS2FuZG9OYXZiYXIiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0hlYWRlci9LYW5kb05hdmJhci9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgS2FuZG9OYXZiYXIgZnJvbSAnLi9LYW5kb05hdmJhcic7XG5cbmV4cG9ydCBkZWZhdWx0IEthbmRvTmF2YmFyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsWUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQXdDLElBQUFDLFFBQUEsR0FFekJDLG9CQUFXO0FBQUFDLE9BQUEsQ0FBQUMsT0FBQSxHQUFBSCxRQUFBIn0=