ngx-vector-components 4.51.0 → 4.53.0

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 (290) hide show
  1. package/CHANGELOG.md +894 -881
  2. package/README.md +35 -35
  3. package/assets/icons/chevron_down_icon.svg +3 -3
  4. package/assets/icons/home_menu_icon.svg +3 -3
  5. package/assets/icons/logout_icon.svg +9 -9
  6. package/assets/icons/menu_footer_icon.svg +3 -3
  7. package/assets/icons/menu_hamburguer_icon.svg +3 -3
  8. package/assets/icons/terms_of_use_icon.svg +9 -9
  9. package/assets/icons/vector_admin_icon.svg +4 -4
  10. package/assets/icons/vector_fintech_icon.svg +3 -3
  11. package/assets/icons/vector_logtech_icon.svg +6 -6
  12. package/assets/icons/vector_marketplace_icon.svg +3 -3
  13. package/assets/images/bunge_logo.svg +23 -23
  14. package/assets/images/cofco_logo.svg +117 -117
  15. package/assets/images/emote_bad.svg +6 -6
  16. package/assets/images/emote_cool.svg +5 -5
  17. package/assets/images/emote_nice.svg +5 -5
  18. package/assets/images/success_sign.svg +4 -4
  19. package/assets/images/vector-logo-horizontal-inverse-color.svg +13 -13
  20. package/assets/images/vector_logo_horizontal.svg +13 -13
  21. package/assets/images/warn_sign.svg +4 -4
  22. package/assets/styles/_fonts.scss +114 -114
  23. package/assets/styles/_mixins.scss +7 -7
  24. package/assets/styles/_primeng-custom-theme.scss +978 -982
  25. package/assets/styles/_spinner.scss +35 -35
  26. package/assets/styles/_styles.scss +115 -115
  27. package/assets/styles/_variables.scss +27 -27
  28. package/esm2020/lib/components/badge/badge.component.mjs +39 -39
  29. package/esm2020/lib/components/badge/badge.module.mjs +19 -19
  30. package/esm2020/lib/components/badge/index.mjs +3 -3
  31. package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +65 -65
  32. package/esm2020/lib/components/breadcrumb/breadcrumb.module.mjs +18 -18
  33. package/esm2020/lib/components/breadcrumb/index.mjs +3 -3
  34. package/esm2020/lib/components/crud-base/crud-base.component.mjs +47 -47
  35. package/esm2020/lib/components/crud-base/index.mjs +2 -2
  36. package/esm2020/lib/components/crud-footer/crud-footer.component.mjs +31 -31
  37. package/esm2020/lib/components/crud-footer/crud-footer.module.mjs +19 -19
  38. package/esm2020/lib/components/crud-footer/index.mjs +3 -3
  39. package/esm2020/lib/components/crud-header/crud-header.component.mjs +30 -30
  40. package/esm2020/lib/components/crud-header/crud-header.module.mjs +19 -19
  41. package/esm2020/lib/components/crud-header/index.mjs +3 -3
  42. package/esm2020/lib/components/crud-history/crud-history.component.mjs +82 -82
  43. package/esm2020/lib/components/crud-history/crud-history.module.mjs +20 -20
  44. package/esm2020/lib/components/crud-history/index.mjs +3 -3
  45. package/esm2020/lib/components/fields/button/button.component.mjs +41 -41
  46. package/esm2020/lib/components/fields/button/index.mjs +2 -2
  47. package/esm2020/lib/components/fields/calendar-field/calendar-field.component.mjs +74 -74
  48. package/esm2020/lib/components/fields/calendar-field/index.mjs +2 -2
  49. package/esm2020/lib/components/fields/checkbox-field/checkbox-field.component.mjs +46 -46
  50. package/esm2020/lib/components/fields/checkbox-field/index.mjs +2 -2
  51. package/esm2020/lib/components/fields/currency-field/currency-field.component.mjs +87 -87
  52. package/esm2020/lib/components/fields/currency-field/index.mjs +2 -2
  53. package/esm2020/lib/components/fields/data-table/data-table.component.mjs +365 -365
  54. package/esm2020/lib/components/fields/data-table/index.mjs +2 -2
  55. package/esm2020/lib/components/fields/dropdown-field/dropdown-field.component.mjs +196 -196
  56. package/esm2020/lib/components/fields/dropdown-field/index.mjs +2 -2
  57. package/esm2020/lib/components/fields/field-error-message/field-error-message.component.mjs +30 -30
  58. package/esm2020/lib/components/fields/field-error-message/index.mjs +2 -2
  59. package/esm2020/lib/components/fields/fields.module.mjs +205 -205
  60. package/esm2020/lib/components/fields/filters/filters.component.mjs +195 -195
  61. package/esm2020/lib/components/fields/filters/index.mjs +2 -2
  62. package/esm2020/lib/components/fields/index.mjs +19 -19
  63. package/esm2020/lib/components/fields/input-number-field/index.mjs +2 -2
  64. package/esm2020/lib/components/fields/input-number-field/input-number-field.component.mjs +82 -82
  65. package/esm2020/lib/components/fields/multiselect-field/index.mjs +2 -2
  66. package/esm2020/lib/components/fields/multiselect-field/multiselect-field.component.mjs +47 -47
  67. package/esm2020/lib/components/fields/percentage-field/index.mjs +2 -2
  68. package/esm2020/lib/components/fields/percentage-field/percentage-field.component.mjs +42 -42
  69. package/esm2020/lib/components/fields/radio-button-field/index.mjs +2 -2
  70. package/esm2020/lib/components/fields/radio-button-field/radio-button-field.component.mjs +38 -38
  71. package/esm2020/lib/components/fields/range-value/index.mjs +2 -2
  72. package/esm2020/lib/components/fields/range-value/range-value.component.mjs +72 -72
  73. package/esm2020/lib/components/fields/search-field/index.mjs +2 -2
  74. package/esm2020/lib/components/fields/search-field/search-field.component.mjs +33 -33
  75. package/esm2020/lib/components/fields/select-button-field/index.mjs +2 -2
  76. package/esm2020/lib/components/fields/select-button-field/select-button-field.component.mjs +20 -20
  77. package/esm2020/lib/components/fields/text-field/index.mjs +2 -2
  78. package/esm2020/lib/components/fields/text-field/text-field.component.mjs +209 -209
  79. package/esm2020/lib/components/fields/textarea-field/index.mjs +2 -2
  80. package/esm2020/lib/components/fields/textarea-field/textarea-field.component.mjs +75 -75
  81. package/esm2020/lib/components/generic-error-modal/generic-error-modal.component.mjs +30 -30
  82. package/esm2020/lib/components/generic-error-modal/generic-error-modal.module.mjs +20 -20
  83. package/esm2020/lib/components/generic-error-modal/index.mjs +3 -3
  84. package/esm2020/lib/components/generic-modal/generic-modal.component.mjs +66 -66
  85. package/esm2020/lib/components/generic-modal/generic-modal.module.mjs +20 -20
  86. package/esm2020/lib/components/generic-modal/index.mjs +3 -3
  87. package/esm2020/lib/components/index.mjs +13 -13
  88. package/esm2020/lib/components/menu/index.mjs +4 -4
  89. package/esm2020/lib/components/menu/menu.component.mjs +302 -302
  90. package/esm2020/lib/components/menu/menu.module.mjs +20 -20
  91. package/esm2020/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +42 -42
  92. package/esm2020/lib/components/panel/index.mjs +3 -3
  93. package/esm2020/lib/components/panel/panel.component.mjs +15 -15
  94. package/esm2020/lib/components/panel/panel.module.mjs +19 -19
  95. package/esm2020/lib/components/top-bar/index.mjs +3 -3
  96. package/esm2020/lib/components/top-bar/top-bar.component.mjs +102 -102
  97. package/esm2020/lib/components/top-bar/top-bar.module.mjs +19 -19
  98. package/esm2020/lib/guards/crud-list-has-items.guard.mjs +22 -22
  99. package/esm2020/lib/guards/get-token-by-guid.guard.mjs +54 -54
  100. package/esm2020/lib/guards/has-permission.guard.mjs +27 -27
  101. package/esm2020/lib/guards/index.mjs +6 -6
  102. package/esm2020/lib/guards/role.guard.mjs +24 -24
  103. package/esm2020/lib/guards/token-is-present.guard.mjs +26 -26
  104. package/esm2020/lib/interceptors/http-interceptor.mjs +183 -183
  105. package/esm2020/lib/interceptors/index.mjs +2 -2
  106. package/esm2020/lib/models/app-name.enum.mjs +9 -9
  107. package/esm2020/lib/models/boolean-type.enum.mjs +6 -6
  108. package/esm2020/lib/models/crud-history.model.mjs +3 -3
  109. package/esm2020/lib/models/crud-mode.enum.mjs +7 -7
  110. package/esm2020/lib/models/data-table.model.mjs +22 -22
  111. package/esm2020/lib/models/document-type.enum.mjs +6 -6
  112. package/esm2020/lib/models/filters.model.mjs +2 -2
  113. package/esm2020/lib/models/generic-modal.model.mjs +2 -2
  114. package/esm2020/lib/models/http-response.model.mjs +2 -2
  115. package/esm2020/lib/models/index.mjs +16 -16
  116. package/esm2020/lib/models/ip-info.enum.mjs +2 -2
  117. package/esm2020/lib/models/list-item.model.mjs +2 -2
  118. package/esm2020/lib/models/menu-item.model.mjs +2 -2
  119. package/esm2020/lib/models/message-status.enum.mjs +8 -8
  120. package/esm2020/lib/models/profile.model.mjs +216 -212
  121. package/esm2020/lib/models/role.enum.mjs +5 -5
  122. package/esm2020/lib/models/status.enum.mjs +8 -8
  123. package/esm2020/lib/models/view.enum.mjs +7 -7
  124. package/esm2020/lib/pipes/currency-brl.pipe.mjs +18 -18
  125. package/esm2020/lib/pipes/format-document.pipe.mjs +17 -17
  126. package/esm2020/lib/pipes/index.mjs +8 -8
  127. package/esm2020/lib/pipes/mask.pipe.mjs +21 -21
  128. package/esm2020/lib/pipes/not-hidden.pipe.mjs +16 -16
  129. package/esm2020/lib/pipes/only-active.pipe.mjs +16 -16
  130. package/esm2020/lib/pipes/pipes.module.mjs +21 -21
  131. package/esm2020/lib/pipes/remove-last-child.pipe.mjs +18 -18
  132. package/esm2020/lib/resolvers/get-selected-crud-item.resolver.mjs +28 -28
  133. package/esm2020/lib/resolvers/index.mjs +2 -2
  134. package/esm2020/lib/services/auth.service.mjs +77 -77
  135. package/esm2020/lib/services/base-dropdown.mjs +2 -2
  136. package/esm2020/lib/services/crud-base.service.mjs +14 -14
  137. package/esm2020/lib/services/enum.service.mjs +43 -43
  138. package/esm2020/lib/services/error-message.service.mjs +16 -16
  139. package/esm2020/lib/services/geolocation.service.mjs +23 -23
  140. package/esm2020/lib/services/index.mjs +12 -12
  141. package/esm2020/lib/services/loading.service.mjs +15 -15
  142. package/esm2020/lib/services/menu.service.mjs +147 -147
  143. package/esm2020/lib/services/modal.service.mjs +15 -15
  144. package/esm2020/lib/services/profile.service.mjs +100 -100
  145. package/esm2020/lib/services/storage.service.mjs +108 -108
  146. package/esm2020/lib/shared/shared.module.mjs +17 -17
  147. package/esm2020/lib/utils/cpf-cnpj-validator.util.mjs +116 -116
  148. package/esm2020/lib/utils/file.util.mjs +15 -15
  149. package/esm2020/lib/utils/index.mjs +8 -8
  150. package/esm2020/lib/utils/mask.util.mjs +66 -66
  151. package/esm2020/lib/utils/object.util.mjs +27 -27
  152. package/esm2020/lib/utils/string.util.mjs +16 -16
  153. package/esm2020/lib/utils/validation.util.mjs +234 -234
  154. package/esm2020/lib/utils/window.util.mjs +9 -9
  155. package/esm2020/ngx-vector-components.mjs +4 -4
  156. package/esm2020/public-api.mjs +9 -9
  157. package/fesm2015/ngx-vector-components.mjs +4216 -4212
  158. package/fesm2015/ngx-vector-components.mjs.map +1 -1
  159. package/fesm2020/ngx-vector-components.mjs +4193 -4189
  160. package/fesm2020/ngx-vector-components.mjs.map +1 -1
  161. package/lib/components/badge/badge.component.d.ts +15 -15
  162. package/lib/components/badge/badge.module.d.ts +9 -9
  163. package/lib/components/badge/index.d.ts +2 -2
  164. package/lib/components/breadcrumb/breadcrumb.component.d.ts +19 -19
  165. package/lib/components/breadcrumb/breadcrumb.module.d.ts +8 -8
  166. package/lib/components/breadcrumb/index.d.ts +2 -2
  167. package/lib/components/crud-base/crud-base.component.d.ts +20 -20
  168. package/lib/components/crud-base/index.d.ts +1 -1
  169. package/lib/components/crud-footer/crud-footer.component.d.ts +13 -13
  170. package/lib/components/crud-footer/crud-footer.module.d.ts +9 -9
  171. package/lib/components/crud-footer/index.d.ts +2 -2
  172. package/lib/components/crud-header/crud-header.component.d.ts +11 -11
  173. package/lib/components/crud-header/crud-header.module.d.ts +9 -9
  174. package/lib/components/crud-header/index.d.ts +2 -2
  175. package/lib/components/crud-history/crud-history.component.d.ts +12 -12
  176. package/lib/components/crud-history/crud-history.module.d.ts +10 -10
  177. package/lib/components/crud-history/index.d.ts +2 -2
  178. package/lib/components/fields/button/button.component.d.ts +17 -17
  179. package/lib/components/fields/button/index.d.ts +1 -1
  180. package/lib/components/fields/calendar-field/calendar-field.component.d.ts +23 -23
  181. package/lib/components/fields/calendar-field/index.d.ts +1 -1
  182. package/lib/components/fields/checkbox-field/checkbox-field.component.d.ts +19 -19
  183. package/lib/components/fields/checkbox-field/index.d.ts +1 -1
  184. package/lib/components/fields/currency-field/currency-field.component.d.ts +27 -27
  185. package/lib/components/fields/currency-field/index.d.ts +1 -1
  186. package/lib/components/fields/data-table/data-table.component.d.ts +78 -78
  187. package/lib/components/fields/data-table/index.d.ts +1 -1
  188. package/lib/components/fields/dropdown-field/dropdown-field.component.d.ts +50 -50
  189. package/lib/components/fields/dropdown-field/index.d.ts +1 -1
  190. package/lib/components/fields/field-error-message/field-error-message.component.d.ts +10 -10
  191. package/lib/components/fields/field-error-message/index.d.ts +1 -1
  192. package/lib/components/fields/fields.module.d.ts +46 -46
  193. package/lib/components/fields/filters/filters.component.d.ts +61 -61
  194. package/lib/components/fields/filters/index.d.ts +1 -1
  195. package/lib/components/fields/index.d.ts +18 -18
  196. package/lib/components/fields/input-number-field/index.d.ts +1 -1
  197. package/lib/components/fields/input-number-field/input-number-field.component.d.ts +27 -27
  198. package/lib/components/fields/multiselect-field/index.d.ts +1 -1
  199. package/lib/components/fields/multiselect-field/multiselect-field.component.d.ts +15 -15
  200. package/lib/components/fields/percentage-field/index.d.ts +1 -1
  201. package/lib/components/fields/percentage-field/percentage-field.component.d.ts +16 -16
  202. package/lib/components/fields/radio-button-field/index.d.ts +1 -1
  203. package/lib/components/fields/radio-button-field/radio-button-field.component.d.ts +21 -21
  204. package/lib/components/fields/range-value/index.d.ts +1 -1
  205. package/lib/components/fields/range-value/range-value.component.d.ts +18 -18
  206. package/lib/components/fields/search-field/index.d.ts +1 -1
  207. package/lib/components/fields/search-field/search-field.component.d.ts +14 -14
  208. package/lib/components/fields/select-button-field/index.d.ts +1 -1
  209. package/lib/components/fields/select-button-field/select-button-field.component.d.ts +9 -9
  210. package/lib/components/fields/text-field/index.d.ts +1 -1
  211. package/lib/components/fields/text-field/text-field.component.d.ts +48 -48
  212. package/lib/components/fields/textarea-field/index.d.ts +1 -1
  213. package/lib/components/fields/textarea-field/textarea-field.component.d.ts +20 -20
  214. package/lib/components/generic-error-modal/generic-error-modal.component.d.ts +14 -14
  215. package/lib/components/generic-error-modal/generic-error-modal.module.d.ts +10 -10
  216. package/lib/components/generic-error-modal/index.d.ts +2 -2
  217. package/lib/components/generic-modal/generic-modal.component.d.ts +24 -24
  218. package/lib/components/generic-modal/generic-modal.module.d.ts +10 -10
  219. package/lib/components/generic-modal/index.d.ts +2 -2
  220. package/lib/components/index.d.ts +12 -12
  221. package/lib/components/menu/index.d.ts +3 -3
  222. package/lib/components/menu/menu.component.d.ts +54 -54
  223. package/lib/components/menu/menu.module.d.ts +10 -10
  224. package/lib/components/menu/sub-menus-list/sub-menus-list.component.d.ts +14 -14
  225. package/lib/components/panel/index.d.ts +2 -2
  226. package/lib/components/panel/panel.component.d.ts +8 -8
  227. package/lib/components/panel/panel.module.d.ts +9 -9
  228. package/lib/components/top-bar/index.d.ts +2 -2
  229. package/lib/components/top-bar/top-bar.component.d.ts +38 -38
  230. package/lib/components/top-bar/top-bar.module.d.ts +9 -9
  231. package/lib/guards/crud-list-has-items.guard.d.ts +10 -10
  232. package/lib/guards/get-token-by-guid.guard.d.ts +15 -15
  233. package/lib/guards/has-permission.guard.d.ts +13 -13
  234. package/lib/guards/index.d.ts +5 -5
  235. package/lib/guards/role.guard.d.ts +11 -11
  236. package/lib/guards/token-is-present.guard.d.ts +11 -11
  237. package/lib/interceptors/http-interceptor.d.ts +31 -31
  238. package/lib/interceptors/index.d.ts +1 -1
  239. package/lib/models/app-name.enum.d.ts +7 -7
  240. package/lib/models/boolean-type.enum.d.ts +4 -4
  241. package/lib/models/crud-history.model.d.ts +13 -13
  242. package/lib/models/crud-mode.enum.d.ts +5 -5
  243. package/lib/models/data-table.model.d.ts +62 -62
  244. package/lib/models/document-type.enum.d.ts +4 -4
  245. package/lib/models/filters.model.d.ts +4 -4
  246. package/lib/models/generic-modal.model.d.ts +13 -13
  247. package/lib/models/http-response.model.d.ts +40 -40
  248. package/lib/models/index.d.ts +15 -15
  249. package/lib/models/ip-info.enum.d.ts +6 -6
  250. package/lib/models/list-item.model.d.ts +6 -5
  251. package/lib/models/menu-item.model.d.ts +16 -16
  252. package/lib/models/message-status.enum.d.ts +6 -6
  253. package/lib/models/profile.model.d.ts +237 -233
  254. package/lib/models/role.enum.d.ts +3 -3
  255. package/lib/models/status.enum.d.ts +6 -6
  256. package/lib/models/view.enum.d.ts +5 -5
  257. package/lib/pipes/currency-brl.pipe.d.ts +7 -7
  258. package/lib/pipes/format-document.pipe.d.ts +7 -7
  259. package/lib/pipes/index.d.ts +7 -7
  260. package/lib/pipes/mask.pipe.d.ts +7 -7
  261. package/lib/pipes/not-hidden.pipe.d.ts +7 -7
  262. package/lib/pipes/only-active.pipe.d.ts +7 -7
  263. package/lib/pipes/pipes.module.d.ts +12 -12
  264. package/lib/pipes/remove-last-child.pipe.d.ts +7 -7
  265. package/lib/resolvers/get-selected-crud-item.resolver.d.ts +10 -10
  266. package/lib/resolvers/index.d.ts +1 -1
  267. package/lib/services/auth.service.d.ts +24 -24
  268. package/lib/services/base-dropdown.d.ts +7 -7
  269. package/lib/services/crud-base.service.d.ts +7 -7
  270. package/lib/services/enum.service.d.ts +13 -13
  271. package/lib/services/error-message.service.d.ts +8 -8
  272. package/lib/services/geolocation.service.d.ts +13 -13
  273. package/lib/services/index.d.ts +11 -11
  274. package/lib/services/loading.service.d.ts +7 -7
  275. package/lib/services/menu.service.d.ts +37 -37
  276. package/lib/services/modal.service.d.ts +7 -7
  277. package/lib/services/profile.service.d.ts +26 -26
  278. package/lib/services/storage.service.d.ts +43 -43
  279. package/lib/shared/shared.module.d.ts +9 -9
  280. package/lib/utils/cpf-cnpj-validator.util.d.ts +5 -5
  281. package/lib/utils/file.util.d.ts +4 -4
  282. package/lib/utils/index.d.ts +7 -7
  283. package/lib/utils/mask.util.d.ts +17 -17
  284. package/lib/utils/object.util.d.ts +5 -5
  285. package/lib/utils/string.util.d.ts +4 -4
  286. package/lib/utils/validation.util.d.ts +17 -17
  287. package/lib/utils/window.util.d.ts +4 -4
  288. package/ngx-vector-components.d.ts +5 -5
  289. package/package.json +1 -1
  290. package/public-api.d.ts +8 -8
@@ -1,147 +1,147 @@
1
- import { Inject, Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { AppName, View } from '../models';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from ".";
6
- import * as i2 from "@angular/router";
7
- import * as i3 from "../models";
8
- export class MenuService {
9
- constructor(authService, router, storageService, profileService, environment, menuOptions, appName) {
10
- this.authService = authService;
11
- this.router = router;
12
- this.storageService = storageService;
13
- this.profileService = profileService;
14
- this.environment = environment;
15
- this.menuOptions = menuOptions;
16
- this.appName = appName;
17
- this.toggleMenu$ = new Subject();
18
- this.menuOpened$ = new Subject();
19
- this.frameUrl$ = new Subject();
20
- this.menuNotifications = {};
21
- }
22
- getSideMainMenuOptions() {
23
- return this.menuOptions
24
- .filter((menu) => (!menu.view || ![View.HOME, View.ADMIN].includes(menu.view)) &&
25
- !menu.hidden &&
26
- this.profileService.userHasPermission(menu.permission))
27
- .map((menu) => this.removeHiddenChildren(menu))
28
- .filter((menu) => !menu.hidden)
29
- .map((menu, index) => this.generateId(menu, index));
30
- }
31
- getSideAdminMenuOptions() {
32
- return this.menuOptions
33
- .filter((menu) => menu.view === View.ADMIN && !menu.hidden && this.profileService.userHasPermission(menu.permission))
34
- .map((menu) => this.removeHiddenChildren(menu))
35
- .filter((menu) => !menu.hidden)
36
- .map((menu, index) => this.generateId(menu, index));
37
- }
38
- navigateToPortal(params) {
39
- this.authService.generateTokenGuid().subscribe((tokenGuid) => {
40
- const userId = this.storageService.getUserId();
41
- switch (this.appName) {
42
- case AppName.FINTECH:
43
- this.handleFintechRedirects(params, tokenGuid, userId);
44
- break;
45
- case AppName.MARKETPLACE:
46
- this.handleMarketplaceRedirects(params, tokenGuid, userId);
47
- break;
48
- case AppName.LOGTECH:
49
- this.handleLogtechRedirects(params, tokenGuid, userId);
50
- break;
51
- }
52
- this.storageService.clear();
53
- });
54
- }
55
- addMenuNotification(menuId) {
56
- this.updateMenuNotifications(menuId, (this.menuNotifications[menuId] || 0) + 1);
57
- }
58
- subtractMenuNotification(menuId) {
59
- this.updateMenuNotifications(menuId, this.menuNotifications[menuId] ? this.menuNotifications[menuId] - 1 : 0);
60
- }
61
- updateMenuNotifications(menuId, notificationsCount) {
62
- this.menuNotifications[menuId] = notificationsCount;
63
- }
64
- removeHiddenChildren(menu) {
65
- const newMenu = { ...menu };
66
- const hadChildren = !!newMenu.children?.length;
67
- newMenu.children = newMenu.children
68
- ?.filter((child) => !child.hidden && this.profileService.userHasPermission(child.permission))
69
- .map((menu) => this.removeHiddenChildren(menu))
70
- .filter((child) => !child.hidden);
71
- if (hadChildren &&
72
- !newMenu.children?.length &&
73
- !newMenu.route &&
74
- !newMenu.frameUrl &&
75
- !newMenu.externalUrl &&
76
- !newMenu.command) {
77
- newMenu.hidden = true;
78
- }
79
- return newMenu;
80
- }
81
- generateId(menu, index, parentId = '') {
82
- menu.id = `${parentId}${index}`;
83
- menu.children = menu.children?.map((child, childIndex) => this.generateId(child, childIndex, menu.id));
84
- return menu;
85
- }
86
- handleFintechRedirects(params, tokenGuid, userId) {
87
- if (params.portal === 'fintech') {
88
- this.router.navigate([''], {
89
- queryParams: { Token: tokenGuid, role: params.admin ? btoa('ADMIN') : '', userId },
90
- });
91
- }
92
- else {
93
- let url = params.portal === 'marketplace' ? this.environment.MARKETPLACE_URL : this.environment.LOGITECH_URL;
94
- url += `?Token=${tokenGuid}&userId=${userId}`;
95
- if (params.admin) {
96
- url += `&role=${btoa('ADMIN')}`;
97
- }
98
- window.location.href = url;
99
- }
100
- }
101
- handleMarketplaceRedirects(params, tokenGuid, userId) {
102
- if (params.portal === 'marketplace') {
103
- this.router.navigate([''], {
104
- queryParams: { Token: tokenGuid, role: params.admin ? btoa('ADMIN') : '', userId: btoa(`${userId}`) },
105
- });
106
- }
107
- else {
108
- let url = params.portal === 'fintech' ? this.environment.FINTECH_URL : this.environment.LOGITECH_URL;
109
- url += `?Token=${tokenGuid}&userId=${userId}`;
110
- if (params.admin) {
111
- url += `&role=${btoa('ADMIN')}`;
112
- }
113
- window.location.href = url;
114
- }
115
- }
116
- handleLogtechRedirects(params, tokenGuid, userId) {
117
- if (params.portal === 'logtech') {
118
- this.router.navigate([''], {
119
- queryParams: { Token: tokenGuid, userId: btoa(`${userId}`) },
120
- });
121
- }
122
- else {
123
- let url = params.portal === 'fintech' ? this.environment.FINTECH_URL : this.environment.MARKETPLACE_URL;
124
- url += `?Token=${tokenGuid}&userId=${userId}`;
125
- if (params.admin) {
126
- url += `&role=${btoa('ADMIN')}`;
127
- }
128
- window.location.href = url;
129
- }
130
- }
131
- }
132
- MenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MenuService, deps: [{ token: i1.AuthService }, { token: i2.Router }, { token: i1.StorageService }, { token: i1.ProfileService }, { token: 'environment' }, { token: 'menuOptions' }, { token: 'appName' }], target: i0.ɵɵFactoryTarget.Injectable });
133
- MenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MenuService, providedIn: 'root' });
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MenuService, decorators: [{
135
- type: Injectable,
136
- args: [{ providedIn: 'root' }]
137
- }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i2.Router }, { type: i1.StorageService }, { type: i1.ProfileService }, { type: undefined, decorators: [{
138
- type: Inject,
139
- args: ['environment']
140
- }] }, { type: undefined, decorators: [{
141
- type: Inject,
142
- args: ['menuOptions']
143
- }] }, { type: i3.AppName, decorators: [{
144
- type: Inject,
145
- args: ['appName']
146
- }] }]; } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLE9BQU8sRUFBWSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7O0FBR3BELE1BQU0sT0FBTyxXQUFXO0lBTXRCLFlBQ1UsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLGNBQThCLEVBQzlCLGNBQThCLEVBQ1AsV0FBZ0IsRUFDaEIsV0FBdUIsRUFDM0IsT0FBZ0I7UUFObkMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDUCxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBWnRDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNsQyxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDckMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFzQixDQUFDO1FBQzlDLHNCQUFpQixHQUFpQyxFQUFFLENBQUM7SUFVekQsQ0FBQztJQUVHLHNCQUFzQjtRQUMzQixPQUFPLElBQUksQ0FBQyxXQUFXO2FBQ3BCLE1BQU0sQ0FDTCxDQUFDLElBQUksRUFBRSxFQUFFLENBQ1AsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUs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QVcsQ0FBQyxlQUFlLENBQUM7WUFDeEcsR0FBRyxJQUFJLFVBQVUsU0FBUyxXQUFXLE1BQU0sRUFBRSxDQUFDO1lBQzlDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtnQkFDaEIsR0FBRyxJQUFJLFNBQVMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7YUFDakM7WUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7U0FDNUI7SUFDSCxDQUFDOzt3R0F0SlUsV0FBVywrSEFXWixhQUFhLGFBQ2IsYUFBYSxhQUNiLFNBQVM7NEdBYlIsV0FBVyxjQURFLE1BQU07MkZBQ25CLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFZN0IsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIFByb2ZpbGVTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4nO1xyXG5pbXBvcnQgeyBBcHBOYW1lLCBNZW51SXRlbSwgVmlldyB9IGZyb20gJy4uL21vZGVscyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgTWVudVNlcnZpY2Uge1xyXG4gIHB1YmxpYyB0b2dnbGVNZW51JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHVibGljIG1lbnVPcGVuZWQkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBwdWJsaWMgZnJhbWVVcmwkID0gbmV3IFN1YmplY3Q8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xyXG4gIHB1YmxpYyBtZW51Tm90aWZpY2F0aW9uczogeyBbbWVudUlkOiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IFN0b3JhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBwcm9maWxlU2VydmljZTogUHJvZmlsZVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueSxcclxuICAgIEBJbmplY3QoJ21lbnVPcHRpb25zJykgcHJpdmF0ZSBtZW51T3B0aW9uczogTWVudUl0ZW1bXSxcclxuICAgIEBJbmplY3QoJ2FwcE5hbWUnKSBwcml2YXRlIGFwcE5hbWU6IEFwcE5hbWVcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBnZXRTaWRlTWFpbk1lbnVPcHRpb25zKCk6IE1lbnVJdGVtW10ge1xyXG4gICAgcmV0dXJuIHRoaXMubWVudU9wdGlvbnNcclxuICAgICAgLmZpbHRlcihcclxuICAgICAgICAobWVudSkgPT5cclxuICAgICAgICAgICghbWVudS52aWV3IHx8ICFbVmlldy5IT01FLCBWaWV3LkFETUlOXS5pbmNsdWRlcyhtZW51LnZpZXcpKSAmJlxyXG4gICAgICAgICAgIW1lbnUuaGlkZGVuICYmXHJcbiAgICAgICAgICB0aGlzLnByb2ZpbGVTZXJ2aWNlLnVzZXJIYXNQZXJtaXNzaW9uKG1lbnUucGVybWlzc2lvbilcclxuICAgICAgKVxyXG4gICAgICAubWFwKChtZW51KSA9PiB0aGlzLnJlbW92ZUhpZGRlbkNoaWxkcmVuKG1lbnUpKVxyXG4gICAgICAuZmlsdGVyKChtZW51KSA9PiAhbWVudS5oaWRkZW4pXHJcbiAgICAgIC5tYXAoKG1lbnUsIGluZGV4KSA9PiB0aGlzLmdlbmVyYXRlSWQobWVudSwgaW5kZXgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTaWRlQWRtaW5NZW51T3B0aW9ucygpOiBNZW51SXRlbVtdIHtcclxuICAgIHJldHVybiB0aGlzLm1lbnVPcHRpb25zXHJcbiAgICAgIC5maWx0ZXIoXHJcbiAgICAgICAgKG1lbnUpID0+IG1lbnUudmlldyA9PT0gVmlldy5BRE1JTiAmJiAhbWVudS5oaWRkZW4gJiYgdGhpcy5wcm9maWxlU2VydmljZS51c2VySGFzUGVybWlzc2lvbihtZW51LnBlcm1pc3Npb24pXHJcbiAgICAgIClcclxuICAgICAgLm1hcCgobWVudSkgPT4gdGhpcy5yZW1vdmVIaWRkZW5DaGlsZHJlbihtZW51KSlcclxuICAgICAgLmZpbHRlcigobWVudSkgPT4gIW1lbnUuaGlkZGVuKVxyXG4gICAgICAubWFwKChtZW51LCBpbmRleCkgPT4gdGhpcy5nZW5lcmF0ZUlkKG1lbnUsIGluZGV4KSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmF2aWdhdGVUb1BvcnRhbChwYXJhbXM6IHsgcG9ydGFsOiAnZmludGVjaCcgfCAnbG9ndGVjaCcgfCAnbWFya2V0cGxhY2UnOyBhZG1pbjogYm9vbGVhbiB9KTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmdlbmVyYXRlVG9rZW5HdWlkKCkuc3Vic2NyaWJlKCh0b2tlbkd1aWQpID0+IHtcclxuICAgICAgY29uc3QgdXNlcklkID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VySWQoKTtcclxuICAgICAgc3dpdGNoICh0aGlzLmFwcE5hbWUpIHtcclxuICAgICAgICBjYXNlIEFwcE5hbWUuRklOVEVDSDpcclxuICAgICAgICAgIHRoaXMuaGFuZGxlRmludGVjaFJlZGlyZWN0cyhwYXJhbXMsIHRva2VuR3VpZCwgdXNlcklkKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgQXBwTmFtZS5NQVJLRVRQTEFDRTpcclxuICAgICAgICAgIHRoaXMuaGFuZGxlTWFya2V0cGxhY2VSZWRpcmVjdHMocGFyYW1zLCB0b2tlbkd1aWQsIHVzZXJJZCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEFwcE5hbWUuTE9HVEVDSDpcclxuICAgICAgICAgIHRoaXMuaGFuZGxlTG9ndGVjaFJlZGlyZWN0cyhwYXJhbXMsIHRva2VuR3VpZCwgdXNlcklkKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuY2xlYXIoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZE1lbnVOb3RpZmljYXRpb24obWVudUlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudXBkYXRlTWVudU5vdGlmaWNhdGlvbnMobWVudUlkLCAodGhpcy5tZW51Tm90aWZpY2F0aW9uc1ttZW51SWRdIHx8IDApICsgMSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3VidHJhY3RNZW51Tm90aWZpY2F0aW9uKG1lbnVJZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnVwZGF0ZU1lbnVOb3RpZmljYXRpb25zKG1lbnVJZCwgdGhpcy5tZW51Tm90aWZpY2F0aW9uc1ttZW51SWRdID8gdGhpcy5tZW51Tm90aWZpY2F0aW9uc1ttZW51SWRdIC0gMSA6IDApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZU1lbnVOb3RpZmljYXRpb25zKG1lbnVJZDogc3RyaW5nLCBub3RpZmljYXRpb25zQ291bnQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5tZW51Tm90aWZpY2F0aW9uc1ttZW51SWRdID0gbm90aWZpY2F0aW9uc0NvdW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVIaWRkZW5DaGlsZHJlbihtZW51OiBNZW51SXRlbSkge1xyXG4gICAgY29uc3QgbmV3TWVudSA9IHsgLi4ubWVudSB9O1xyXG4gICAgY29uc3QgaGFkQ2hpbGRyZW4gPSAhIW5ld01lbnUuY2hpbGRyZW4/Lmxlbmd0aDtcclxuICAgIG5ld01lbnUuY2hpbGRyZW4gPSBuZXdNZW51LmNoaWxkcmVuXHJcbiAgICAgID8uZmlsdGVyKChjaGlsZCkgPT4gIWNoaWxkLmhpZGRlbiAmJiB0aGlzLnByb2ZpbGVTZXJ2aWNlLnVzZXJIYXNQZXJtaXNzaW9uKGNoaWxkLnBlcm1pc3Npb24pKVxyXG4gICAgICAubWFwKChtZW51KSA9PiB0aGlzLnJlbW92ZUhpZGRlbkNoaWxkcmVuKG1lbnUpKVxyXG4gICAgICAuZmlsdGVyKChjaGlsZCkgPT4gIWNoaWxkLmhpZGRlbik7XHJcbiAgICBpZiAoXHJcbiAgICAgIGhhZENoaWxkcmVuICYmXHJcbiAgICAgICFuZXdNZW51LmNoaWxkcmVuPy5sZW5ndGggJiZcclxuICAgICAgIW5ld01lbnUucm91dGUgJiZcclxuICAgICAgIW5ld01lbnUuZnJhbWVVcmwgJiZcclxuICAgICAgIW5ld01lbnUuZXh0ZXJuYWxVcmwgJiZcclxuICAgICAgIW5ld01lbnUuY29tbWFuZFxyXG4gICAgKSB7XHJcbiAgICAgIG5ld01lbnUuaGlkZGVuID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXdNZW51O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZUlkKG1lbnU6IE1lbnVJdGVtLCBpbmRleDogbnVtYmVyLCBwYXJlbnRJZDogc3RyaW5nID0gJycpIHtcclxuICAgIG1lbnUuaWQgPSBgJHtwYXJlbnRJZH0ke2luZGV4fWA7XHJcbiAgICBtZW51LmNoaWxkcmVuID0gbWVudS5jaGlsZHJlbj8ubWFwKChjaGlsZCwgY2hpbGRJbmRleCkgPT4gdGhpcy5nZW5lcmF0ZUlkKGNoaWxkLCBjaGlsZEluZGV4LCBtZW51LmlkKSk7XHJcbiAgICByZXR1cm4gbWVudTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlRmludGVjaFJlZGlyZWN0cyhcclxuICAgIHBhcmFtczogeyBwb3J0YWw6ICdmaW50ZWNoJyB8ICdsb2d0ZWNoJyB8ICdtYXJrZXRwbGFjZSc7IGFkbWluOiBib29sZWFuIH0sXHJcbiAgICB0b2tlbkd1aWQ6IHN0cmluZyxcclxuICAgIHVzZXJJZDogbnVtYmVyXHJcbiAgKSB7XHJcbiAgICBpZiAocGFyYW1zLnBvcnRhbCA9PT0gJ2ZpbnRlY2gnKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnJ10sIHtcclxuICAgICAgICBxdWVyeVBhcmFtczogeyBUb2tlbjogdG9rZW5HdWlkLCByb2xlOiBwYXJhbXMuYWRtaW4gPyBidG9hKCdBRE1JTicpIDogJycsIHVzZXJJZCB9LFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCB1cmwgPSBwYXJhbXMucG9ydGFsID09PSAnbWFya2V0cGxhY2UnID8gdGhpcy5lbnZpcm9ubWVudC5NQVJLRVRQTEFDRV9VUkwgOiB0aGlzLmVudmlyb25tZW50LkxPR0lURUNIX1VSTDtcclxuICAgICAgdXJsICs9IGA/VG9rZW49JHt0b2tlbkd1aWR9JnVzZXJJZD0ke3VzZXJJZH1gO1xyXG4gICAgICBpZiAocGFyYW1zLmFkbWluKSB7XHJcbiAgICAgICAgdXJsICs9IGAmcm9sZT0ke2J0b2EoJ0FETUlOJyl9YDtcclxuICAgICAgfVxyXG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlTWFya2V0cGxhY2VSZWRpcmVjdHMoXHJcbiAgICBwYXJhbXM6IHsgcG9ydGFsOiAnZmludGVjaCcgfCAnbG9ndGVjaCcgfCAnbWFya2V0cGxhY2UnOyBhZG1pbjogYm9vbGVhbiB9LFxyXG4gICAgdG9rZW5HdWlkOiBzdHJpbmcsXHJcbiAgICB1c2VySWQ6IG51bWJlclxyXG4gICkge1xyXG4gICAgaWYgKHBhcmFtcy5wb3J0YWwgPT09ICdtYXJrZXRwbGFjZScpIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycnXSwge1xyXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiB7IFRva2VuOiB0b2tlbkd1aWQsIHJvbGU6IHBhcmFtcy5hZG1pbiA/IGJ0b2EoJ0FETUlOJykgOiAnJywgdXNlcklkOiBidG9hKGAke3VzZXJJZH1gKSB9LFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCB1cmwgPSBwYXJhbXMucG9ydGFsID09PSAnZmludGVjaCcgPyB0aGlzLmVudmlyb25tZW50LkZJTlRFQ0hfVVJMIDogdGhpcy5lbnZpcm9ubWVudC5MT0dJVEVDSF9VUkw7XHJcbiAgICAgIHVybCArPSBgP1Rva2VuPSR7dG9rZW5HdWlkfSZ1c2VySWQ9JHt1c2VySWR9YDtcclxuICAgICAgaWYgKHBhcmFtcy5hZG1pbikge1xyXG4gICAgICAgIHVybCArPSBgJnJvbGU9JHtidG9hKCdBRE1JTicpfWA7XHJcbiAgICAgIH1cclxuICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUxvZ3RlY2hSZWRpcmVjdHMoXHJcbiAgICBwYXJhbXM6IHsgcG9ydGFsOiAnZmludGVjaCcgfCAnbG9ndGVjaCcgfCAnbWFya2V0cGxhY2UnOyBhZG1pbjogYm9vbGVhbiB9LFxyXG4gICAgdG9rZW5HdWlkOiBzdHJpbmcsXHJcbiAgICB1c2VySWQ6IG51bWJlclxyXG4gICkge1xyXG4gICAgaWYgKHBhcmFtcy5wb3J0YWwgPT09ICdsb2d0ZWNoJykge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJyddLCB7XHJcbiAgICAgICAgcXVlcnlQYXJhbXM6IHsgVG9rZW46IHRva2VuR3VpZCwgdXNlcklkOiBidG9hKGAke3VzZXJJZH1gKSB9LFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCB1cmwgPSBwYXJhbXMucG9ydGFsID09PSAnZmludGVjaCcgPyB0aGlzLmVudmlyb25tZW50LkZJTlRFQ0hfVVJMIDogdGhpcy5lbnZpcm9ubWVudC5NQVJLRVRQTEFDRV9VUkw7XHJcbiAgICAgIHVybCArPSBgP1Rva2VuPSR7dG9rZW5HdWlkfSZ1c2VySWQ9JHt1c2VySWR9YDtcclxuICAgICAgaWYgKHBhcmFtcy5hZG1pbikge1xyXG4gICAgICAgIHVybCArPSBgJnJvbGU9JHtidG9hKCdBRE1JTicpfWA7XHJcbiAgICAgIH1cclxuICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSB1cmw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { AppName, View } from '../models';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from ".";
6
+ import * as i2 from "@angular/router";
7
+ import * as i3 from "../models";
8
+ export class MenuService {
9
+ constructor(authService, router, storageService, profileService, environment, menuOptions, appName) {
10
+ this.authService = authService;
11
+ this.router = router;
12
+ this.storageService = storageService;
13
+ this.profileService = profileService;
14
+ this.environment = environment;
15
+ this.menuOptions = menuOptions;
16
+ this.appName = appName;
17
+ this.toggleMenu$ = new Subject();
18
+ this.menuOpened$ = new Subject();
19
+ this.frameUrl$ = new Subject();
20
+ this.menuNotifications = {};
21
+ }
22
+ getSideMainMenuOptions() {
23
+ return this.menuOptions
24
+ .filter((menu) => (!menu.view || ![View.HOME, View.ADMIN].includes(menu.view)) &&
25
+ !menu.hidden &&
26
+ this.profileService.userHasPermission(menu.permission))
27
+ .map((menu) => this.removeHiddenChildren(menu))
28
+ .filter((menu) => !menu.hidden)
29
+ .map((menu, index) => this.generateId(menu, index));
30
+ }
31
+ getSideAdminMenuOptions() {
32
+ return this.menuOptions
33
+ .filter((menu) => menu.view === View.ADMIN && !menu.hidden && this.profileService.userHasPermission(menu.permission))
34
+ .map((menu) => this.removeHiddenChildren(menu))
35
+ .filter((menu) => !menu.hidden)
36
+ .map((menu, index) => this.generateId(menu, index));
37
+ }
38
+ navigateToPortal(params) {
39
+ this.authService.generateTokenGuid().subscribe((tokenGuid) => {
40
+ const userId = this.storageService.getUserId();
41
+ switch (this.appName) {
42
+ case AppName.FINTECH:
43
+ this.handleFintechRedirects(params, tokenGuid, userId);
44
+ break;
45
+ case AppName.MARKETPLACE:
46
+ this.handleMarketplaceRedirects(params, tokenGuid, userId);
47
+ break;
48
+ case AppName.LOGTECH:
49
+ this.handleLogtechRedirects(params, tokenGuid, userId);
50
+ break;
51
+ }
52
+ this.storageService.clear();
53
+ });
54
+ }
55
+ addMenuNotification(menuId) {
56
+ this.updateMenuNotifications(menuId, (this.menuNotifications[menuId] || 0) + 1);
57
+ }
58
+ subtractMenuNotification(menuId) {
59
+ this.updateMenuNotifications(menuId, this.menuNotifications[menuId] ? this.menuNotifications[menuId] - 1 : 0);
60
+ }
61
+ updateMenuNotifications(menuId, notificationsCount) {
62
+ this.menuNotifications[menuId] = notificationsCount;
63
+ }
64
+ removeHiddenChildren(menu) {
65
+ const newMenu = { ...menu };
66
+ const hadChildren = !!newMenu.children?.length;
67
+ newMenu.children = newMenu.children
68
+ ?.filter((child) => !child.hidden && this.profileService.userHasPermission(child.permission))
69
+ .map((menu) => this.removeHiddenChildren(menu))
70
+ .filter((child) => !child.hidden);
71
+ if (hadChildren &&
72
+ !newMenu.children?.length &&
73
+ !newMenu.route &&
74
+ !newMenu.frameUrl &&
75
+ !newMenu.externalUrl &&
76
+ !newMenu.command) {
77
+ newMenu.hidden = true;
78
+ }
79
+ return newMenu;
80
+ }
81
+ generateId(menu, index, parentId = '') {
82
+ menu.id = `${parentId}${index}`;
83
+ menu.children = menu.children?.map((child, childIndex) => this.generateId(child, childIndex, menu.id));
84
+ return menu;
85
+ }
86
+ handleFintechRedirects(params, tokenGuid, userId) {
87
+ if (params.portal === 'fintech') {
88
+ this.router.navigate([''], {
89
+ queryParams: { Token: tokenGuid, role: params.admin ? btoa('ADMIN') : '', userId },
90
+ });
91
+ }
92
+ else {
93
+ let url = params.portal === 'marketplace' ? this.environment.MARKETPLACE_URL : this.environment.LOGITECH_URL;
94
+ url += `?Token=${tokenGuid}&userId=${userId}`;
95
+ if (params.admin) {
96
+ url += `&role=${btoa('ADMIN')}`;
97
+ }
98
+ window.location.href = url;
99
+ }
100
+ }
101
+ handleMarketplaceRedirects(params, tokenGuid, userId) {
102
+ if (params.portal === 'marketplace') {
103
+ this.router.navigate([''], {
104
+ queryParams: { Token: tokenGuid, role: params.admin ? btoa('ADMIN') : '', userId: btoa(`${userId}`) },
105
+ });
106
+ }
107
+ else {
108
+ let url = params.portal === 'fintech' ? this.environment.FINTECH_URL : this.environment.LOGITECH_URL;
109
+ url += `?Token=${tokenGuid}&userId=${userId}`;
110
+ if (params.admin) {
111
+ url += `&role=${btoa('ADMIN')}`;
112
+ }
113
+ window.location.href = url;
114
+ }
115
+ }
116
+ handleLogtechRedirects(params, tokenGuid, userId) {
117
+ if (params.portal === 'logtech') {
118
+ this.router.navigate([''], {
119
+ queryParams: { Token: tokenGuid, userId: btoa(`${userId}`) },
120
+ });
121
+ }
122
+ else {
123
+ let url = params.portal === 'fintech' ? this.environment.FINTECH_URL : this.environment.MARKETPLACE_URL;
124
+ url += `?Token=${tokenGuid}&userId=${userId}`;
125
+ if (params.admin) {
126
+ url += `&role=${btoa('ADMIN')}`;
127
+ }
128
+ window.location.href = url;
129
+ }
130
+ }
131
+ }
132
+ MenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MenuService, deps: [{ token: i1.AuthService }, { token: i2.Router }, { token: i1.StorageService }, { token: i1.ProfileService }, { token: 'environment' }, { token: 'menuOptions' }, { token: 'appName' }], target: i0.ɵɵFactoryTarget.Injectable });
133
+ MenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MenuService, providedIn: 'root' });
134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MenuService, decorators: [{
135
+ type: Injectable,
136
+ args: [{ providedIn: 'root' }]
137
+ }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i2.Router }, { type: i1.StorageService }, { type: i1.ProfileService }, { type: undefined, decorators: [{
138
+ type: Inject,
139
+ args: ['environment']
140
+ }] }, { type: undefined, decorators: [{
141
+ type: Inject,
142
+ args: ['menuOptions']
143
+ }] }, { type: i3.AppName, decorators: [{
144
+ type: Inject,
145
+ args: ['appName']
146
+ }] }]; } });
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvbWVudS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLE9BQU8sRUFBWSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7O0FBR3BELE1BQU0sT0FBTyxXQUFXO0lBTXRCLFlBQ1UsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLGNBQThCLEVBQzlCLGNBQThCLEVBQ1AsV0FBZ0IsRUFDaEIsV0FBdUIsRUFDM0IsT0FBZ0I7UUFObkMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDUCxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUNoQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBWnRDLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUNsQyxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDckMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFzQixDQUFDO1FBQzlDLHNCQUFpQixHQUFpQyxFQUFFLENBQUM7SUFVekQsQ0FBQztJQUVHLHNCQUFzQjtRQUMzQixPQUFPLElBQUksQ0FBQyxXQUFXO2FBQ3BCLE1BQU0sQ0FDTCxDQUFDLElBQUksRUFBRSxFQUFFLENBQ1AsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUQsQ0FBQyxJQUFJLENBQUMsTUFBTTtZQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUN6RDthQUNBLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzlDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQzlCLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVNLHVCQUF1QjtRQUM1QixPQUFPLElBQUksQ0FBQyxXQUFXO2FBQ3BCLE1BQU0sQ0FDTCxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDN0c7YUFDQSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUM5QyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUM5QixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxNQUF5RTtRQUMvRixJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDM0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvQyxRQUFRLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ3BCLEtBQUssT0FBTyxDQUFDLE9BQU87b0JBQ2xCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUN2RCxNQUFNO2dCQUNSLEtBQUssT0FBTyxDQUFDLFdBQVc7b0JBQ3RCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUMzRCxNQUFNO2dCQUNSLEtBQUssT0FBTyxDQUFDLE9BQU87b0JBQ2xCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUN2RCxNQUFNO2FBQ1Q7WUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE1BQWM7UUFDdkMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRU0sd0JBQXdCLENBQUMsTUFBYztRQUM1QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVNLHVCQUF1QixDQUFDLE1BQWMsRUFBRSxrQkFBMEI7UUFDdkUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxHQUFHLGtCQUFrQixDQUFDO0lBQ3RELENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxJQUFjO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUM1QixNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7UUFDL0MsT0FBTyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUTtZQUNqQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQzVGLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzlDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsSUFDRSxXQUFXO1lBQ1gsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE1BQU07WUFDekIsQ0FBQyxPQUFPLENBQUMsS0FBSztZQUNkLENBQUMsT0FBTyxDQUFDLFFBQVE7WUFDakIsQ0FBQyxPQUFPLENBQUMsV0FBVztZQUNwQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQ2hCO1lBQ0EsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7U0FDdkI7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU8sVUFBVSxDQUFDLElBQWMsRUFBRSxLQUFhLEVBQUUsV0FBbUIsRUFBRTtRQUNyRSxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsUUFBUSxHQUFHLEtBQUssRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkcsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sc0JBQXNCLENBQzVCLE1BQXlFLEVBQ3pFLFNBQWlCLEVBQ2pCLE1BQWM7UUFFZCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO1lBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ3pCLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRTthQUNuRixDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sS0FBSyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQztZQUM3RyxHQUFHLElBQUksVUFBVSxTQUFTLFdBQVcsTUFBTSxFQUFFLENBQUM7WUFDOUMsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO2dCQUNoQixHQUFHLElBQUksU0FBUyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQzthQUNqQztZQUNELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFTywwQkFBMEIsQ0FDaEMsTUFBeUUsRUFDekUsU0FBaUIsRUFDakIsTUFBYztRQUVkLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxhQUFhLEVBQUU7WUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDekIsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUU7YUFDdEcsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7WUFDckcsR0FBRyxJQUFJLFVBQVUsU0FBUyxXQUFXLE1BQU0sRUFBRSxDQUFDO1lBQzlDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtnQkFDaEIsR0FBRyxJQUFJLFNBQVMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7YUFDakM7WUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRU8sc0JBQXNCLENBQzVCLE1BQXlFLEVBQ3pFLFNBQWlCLEVBQ2pCLE1BQWM7UUFFZCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO1lBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQ3pCLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUU7YUFDN0QsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUM7WUFDeEcsR0FBRyxJQUFJLFVBQVUsU0FBUyxXQUFXLE1BQU0sRUFBRSxDQUFDO1lBQzlDLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtnQkFDaEIsR0FBRyxJQUFJLFNBQVMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7YUFDakM7WUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7U0FDNUI7SUFDSCxDQUFDOzt3R0F0SlUsV0FBVywrSEFXWixhQUFhLGFBQ2IsYUFBYSxhQUNiLFNBQVM7NEdBYlIsV0FBVyxjQURFLE1BQU07MkZBQ25CLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFZN0IsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsTUFBTTsyQkFBQyxhQUFhOzswQkFDcEIsTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIFByb2ZpbGVTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4nO1xuaW1wb3J0IHsgQXBwTmFtZSwgTWVudUl0ZW0sIFZpZXcgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1lbnVTZXJ2aWNlIHtcbiAgcHVibGljIHRvZ2dsZU1lbnUkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHVibGljIG1lbnVPcGVuZWQkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgcHVibGljIGZyYW1lVXJsJCA9IG5ldyBTdWJqZWN0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgcHVibGljIG1lbnVOb3RpZmljYXRpb25zOiB7IFttZW51SWQ6IHN0cmluZ106IG51bWJlciB9ID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueSxcbiAgICBASW5qZWN0KCdtZW51T3B0aW9ucycpIHByaXZhdGUgbWVudU9wdGlvbnM6IE1lbnVJdGVtW10sXG4gICAgQEluamVjdCgnYXBwTmFtZScpIHByaXZhdGUgYXBwTmFtZTogQXBwTmFtZVxuICApIHt9XG5cbiAgcHVibGljIGdldFNpZGVNYWluTWVudU9wdGlvbnMoKTogTWVudUl0ZW1bXSB7XG4gICAgcmV0dXJuIHRoaXMubWVudU9wdGlvbnNcbiAgICAgIC5maWx0ZXIoXG4gICAgICAgIChtZW51KSA9PlxuICAgICAgICAgICghbWVudS52aWV3IHx8ICFbVmlldy5IT01FLCBWaWV3LkFETUlOXS5pbmNsdWRlcyhtZW51LnZpZXcpKSAmJlxuICAgICAgICAgICFtZW51LmhpZGRlbiAmJlxuICAgICAgICAgIHRoaXMucHJvZmlsZVNlcnZpY2UudXNlckhhc1Blcm1pc3Npb24obWVudS5wZXJtaXNzaW9uKVxuICAgICAgKVxuICAgICAgLm1hcCgobWVudSkgPT4gdGhpcy5yZW1vdmVIaWRkZW5DaGlsZHJlbihtZW51KSlcbiAgICAgIC5maWx0ZXIoKG1lbnUpID0+ICFtZW51LmhpZGRlbilcbiAgICAgIC5tYXAoKG1lbnUsIGluZGV4KSA9PiB0aGlzLmdlbmVyYXRlSWQobWVudSwgaW5kZXgpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaWRlQWRtaW5NZW51T3B0aW9ucygpOiBNZW51SXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5tZW51T3B0aW9uc1xuICAgICAgLmZpbHRlcihcbiAgICAgICAgKG1lbnUpID0+IG1lbnUudmlldyA9PT0gVmlldy5BRE1JTiAmJiAhbWVudS5oaWRkZW4gJiYgdGhpcy5wcm9maWxlU2VydmljZS51c2VySGFzUGVybWlzc2lvbihtZW51LnBlcm1pc3Npb24pXG4gICAgICApXG4gICAgICAubWFwKChtZW51KSA9PiB0aGlzLnJlbW92ZUhpZGRlbkNoaWxkcmVuKG1lbnUpKVxuICAgICAgLmZpbHRlcigobWVudSkgPT4gIW1lbnUuaGlkZGVuKVxuICAgICAgLm1hcCgobWVudSwgaW5kZXgpID0+IHRoaXMuZ2VuZXJhdGVJZChtZW51LCBpbmRleCkpO1xuICB9XG5cbiAgcHVibGljIG5hdmlnYXRlVG9Qb3J0YWwocGFyYW1zOiB7IHBvcnRhbDogJ2ZpbnRlY2gnIHwgJ2xvZ3RlY2gnIHwgJ21hcmtldHBsYWNlJzsgYWRtaW46IGJvb2xlYW4gfSk6IHZvaWQge1xuICAgIHRoaXMuYXV0aFNlcnZpY2UuZ2VuZXJhdGVUb2tlbkd1aWQoKS5zdWJzY3JpYmUoKHRva2VuR3VpZCkgPT4ge1xuICAgICAgY29uc3QgdXNlcklkID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VySWQoKTtcbiAgICAgIHN3aXRjaCAodGhpcy5hcHBOYW1lKSB7XG4gICAgICAgIGNhc2UgQXBwTmFtZS5GSU5URUNIOlxuICAgICAgICAgIHRoaXMuaGFuZGxlRmludGVjaFJlZGlyZWN0cyhwYXJhbXMsIHRva2VuR3VpZCwgdXNlcklkKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBBcHBOYW1lLk1BUktFVFBMQUNFOlxuICAgICAgICAgIHRoaXMuaGFuZGxlTWFya2V0cGxhY2VSZWRpcmVjdHMocGFyYW1zLCB0b2tlbkd1aWQsIHVzZXJJZCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgQXBwTmFtZS5MT0dURUNIOlxuICAgICAgICAgIHRoaXMuaGFuZGxlTG9ndGVjaFJlZGlyZWN0cyhwYXJhbXMsIHRva2VuR3VpZCwgdXNlcklkKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuY2xlYXIoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRNZW51Tm90aWZpY2F0aW9uKG1lbnVJZDogc3RyaW5nKSB7XG4gICAgdGhpcy51cGRhdGVNZW51Tm90aWZpY2F0aW9ucyhtZW51SWQsICh0aGlzLm1lbnVOb3RpZmljYXRpb25zW21lbnVJZF0gfHwgMCkgKyAxKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJ0cmFjdE1lbnVOb3RpZmljYXRpb24obWVudUlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnVwZGF0ZU1lbnVOb3RpZmljYXRpb25zKG1lbnVJZCwgdGhpcy5tZW51Tm90aWZpY2F0aW9uc1ttZW51SWRdID8gdGhpcy5tZW51Tm90aWZpY2F0aW9uc1ttZW51SWRdIC0gMSA6IDApO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZU1lbnVOb3RpZmljYXRpb25zKG1lbnVJZDogc3RyaW5nLCBub3RpZmljYXRpb25zQ291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMubWVudU5vdGlmaWNhdGlvbnNbbWVudUlkXSA9IG5vdGlmaWNhdGlvbnNDb3VudDtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlSGlkZGVuQ2hpbGRyZW4obWVudTogTWVudUl0ZW0pIHtcbiAgICBjb25zdCBuZXdNZW51ID0geyAuLi5tZW51IH07XG4gICAgY29uc3QgaGFkQ2hpbGRyZW4gPSAhIW5ld01lbnUuY2hpbGRyZW4/Lmxlbmd0aDtcbiAgICBuZXdNZW51LmNoaWxkcmVuID0gbmV3TWVudS5jaGlsZHJlblxuICAgICAgPy5maWx0ZXIoKGNoaWxkKSA9PiAhY2hpbGQuaGlkZGVuICYmIHRoaXMucHJvZmlsZVNlcnZpY2UudXNlckhhc1Blcm1pc3Npb24oY2hpbGQucGVybWlzc2lvbikpXG4gICAgICAubWFwKChtZW51KSA9PiB0aGlzLnJlbW92ZUhpZGRlbkNoaWxkcmVuKG1lbnUpKVxuICAgICAgLmZpbHRlcigoY2hpbGQpID0+ICFjaGlsZC5oaWRkZW4pO1xuICAgIGlmIChcbiAgICAgIGhhZENoaWxkcmVuICYmXG4gICAgICAhbmV3TWVudS5jaGlsZHJlbj8ubGVuZ3RoICYmXG4gICAgICAhbmV3TWVudS5yb3V0ZSAmJlxuICAgICAgIW5ld01lbnUuZnJhbWVVcmwgJiZcbiAgICAgICFuZXdNZW51LmV4dGVybmFsVXJsICYmXG4gICAgICAhbmV3TWVudS5jb21tYW5kXG4gICAgKSB7XG4gICAgICBuZXdNZW51LmhpZGRlbiA9IHRydWU7XG4gICAgfVxuICAgIHJldHVybiBuZXdNZW51O1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUlkKG1lbnU6IE1lbnVJdGVtLCBpbmRleDogbnVtYmVyLCBwYXJlbnRJZDogc3RyaW5nID0gJycpIHtcbiAgICBtZW51LmlkID0gYCR7cGFyZW50SWR9JHtpbmRleH1gO1xuICAgIG1lbnUuY2hpbGRyZW4gPSBtZW51LmNoaWxkcmVuPy5tYXAoKGNoaWxkLCBjaGlsZEluZGV4KSA9PiB0aGlzLmdlbmVyYXRlSWQoY2hpbGQsIGNoaWxkSW5kZXgsIG1lbnUuaWQpKTtcbiAgICByZXR1cm4gbWVudTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlRmludGVjaFJlZGlyZWN0cyhcbiAgICBwYXJhbXM6IHsgcG9ydGFsOiAnZmludGVjaCcgfCAnbG9ndGVjaCcgfCAnbWFya2V0cGxhY2UnOyBhZG1pbjogYm9vbGVhbiB9LFxuICAgIHRva2VuR3VpZDogc3RyaW5nLFxuICAgIHVzZXJJZDogbnVtYmVyXG4gICkge1xuICAgIGlmIChwYXJhbXMucG9ydGFsID09PSAnZmludGVjaCcpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnJ10sIHtcbiAgICAgICAgcXVlcnlQYXJhbXM6IHsgVG9rZW46IHRva2VuR3VpZCwgcm9sZTogcGFyYW1zLmFkbWluID8gYnRvYSgnQURNSU4nKSA6ICcnLCB1c2VySWQgfSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgdXJsID0gcGFyYW1zLnBvcnRhbCA9PT0gJ21hcmtldHBsYWNlJyA/IHRoaXMuZW52aXJvbm1lbnQuTUFSS0VUUExBQ0VfVVJMIDogdGhpcy5lbnZpcm9ubWVudC5MT0dJVEVDSF9VUkw7XG4gICAgICB1cmwgKz0gYD9Ub2tlbj0ke3Rva2VuR3VpZH0mdXNlcklkPSR7dXNlcklkfWA7XG4gICAgICBpZiAocGFyYW1zLmFkbWluKSB7XG4gICAgICAgIHVybCArPSBgJnJvbGU9JHtidG9hKCdBRE1JTicpfWA7XG4gICAgICB9XG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU1hcmtldHBsYWNlUmVkaXJlY3RzKFxuICAgIHBhcmFtczogeyBwb3J0YWw6ICdmaW50ZWNoJyB8ICdsb2d0ZWNoJyB8ICdtYXJrZXRwbGFjZSc7IGFkbWluOiBib29sZWFuIH0sXG4gICAgdG9rZW5HdWlkOiBzdHJpbmcsXG4gICAgdXNlcklkOiBudW1iZXJcbiAgKSB7XG4gICAgaWYgKHBhcmFtcy5wb3J0YWwgPT09ICdtYXJrZXRwbGFjZScpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnJ10sIHtcbiAgICAgICAgcXVlcnlQYXJhbXM6IHsgVG9rZW46IHRva2VuR3VpZCwgcm9sZTogcGFyYW1zLmFkbWluID8gYnRvYSgnQURNSU4nKSA6ICcnLCB1c2VySWQ6IGJ0b2EoYCR7dXNlcklkfWApIH0sXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IHVybCA9IHBhcmFtcy5wb3J0YWwgPT09ICdmaW50ZWNoJyA/IHRoaXMuZW52aXJvbm1lbnQuRklOVEVDSF9VUkwgOiB0aGlzLmVudmlyb25tZW50LkxPR0lURUNIX1VSTDtcbiAgICAgIHVybCArPSBgP1Rva2VuPSR7dG9rZW5HdWlkfSZ1c2VySWQ9JHt1c2VySWR9YDtcbiAgICAgIGlmIChwYXJhbXMuYWRtaW4pIHtcbiAgICAgICAgdXJsICs9IGAmcm9sZT0ke2J0b2EoJ0FETUlOJyl9YDtcbiAgICAgIH1cbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTG9ndGVjaFJlZGlyZWN0cyhcbiAgICBwYXJhbXM6IHsgcG9ydGFsOiAnZmludGVjaCcgfCAnbG9ndGVjaCcgfCAnbWFya2V0cGxhY2UnOyBhZG1pbjogYm9vbGVhbiB9LFxuICAgIHRva2VuR3VpZDogc3RyaW5nLFxuICAgIHVzZXJJZDogbnVtYmVyXG4gICkge1xuICAgIGlmIChwYXJhbXMucG9ydGFsID09PSAnbG9ndGVjaCcpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnJ10sIHtcbiAgICAgICAgcXVlcnlQYXJhbXM6IHsgVG9rZW46IHRva2VuR3VpZCwgdXNlcklkOiBidG9hKGAke3VzZXJJZH1gKSB9LFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCB1cmwgPSBwYXJhbXMucG9ydGFsID09PSAnZmludGVjaCcgPyB0aGlzLmVudmlyb25tZW50LkZJTlRFQ0hfVVJMIDogdGhpcy5lbnZpcm9ubWVudC5NQVJLRVRQTEFDRV9VUkw7XG4gICAgICB1cmwgKz0gYD9Ub2tlbj0ke3Rva2VuR3VpZH0mdXNlcklkPSR7dXNlcklkfWA7XG4gICAgICBpZiAocGFyYW1zLmFkbWluKSB7XG4gICAgICAgIHVybCArPSBgJnJvbGU9JHtidG9hKCdBRE1JTicpfWA7XG4gICAgICB9XG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiA9IHVybDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,15 +1,15 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class ModalService {
5
- constructor() {
6
- this.showModalBackground$ = new Subject();
7
- }
8
- }
9
- ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10
- ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ModalService, providedIn: 'root' });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ModalService, decorators: [{
12
- type: Injectable,
13
- args: [{ providedIn: 'root' }]
14
- }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUcvQixNQUFNLE9BQU8sWUFBWTtJQUR6QjtRQUVTLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7S0FDdEQ7O3lHQUZZLFlBQVk7NkdBQVosWUFBWSxjQURDLE1BQU07MkZBQ25CLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgTW9kYWxTZXJ2aWNlIHtcclxuICBwdWJsaWMgc2hvd01vZGFsQmFja2dyb3VuZCQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG59XHJcbiJdfQ==
1
+ import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class ModalService {
5
+ constructor() {
6
+ this.showModalBackground$ = new Subject();
7
+ }
8
+ }
9
+ ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10
+ ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ModalService, providedIn: 'root' });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: ModalService, decorators: [{
12
+ type: Injectable,
13
+ args: [{ providedIn: 'root' }]
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2VzL21vZGFsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUcvQixNQUFNLE9BQU8sWUFBWTtJQUR6QjtRQUVTLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7S0FDdEQ7O3lHQUZZLFlBQVk7NkdBQVosWUFBWSxjQURDLE1BQU07MkZBQ25CLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1vZGFsU2VydmljZSB7XG4gIHB1YmxpYyBzaG93TW9kYWxCYWNrZ3JvdW5kJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG59XG4iXX0=