@recursyve/nice-ui-kit.v2 13.2.0-beta.99 → 14.0.0-beta.100

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 (264) hide show
  1. package/esm2020/lib/api/interceptors/transform-response.interceptor.mjs +3 -3
  2. package/esm2020/lib/components/alert/alert.component.mjs +6 -6
  3. package/esm2020/lib/components/alert/alert.module.mjs +7 -9
  4. package/esm2020/lib/components/alert/alert.service.mjs +3 -3
  5. package/esm2020/lib/components/assets-carousel/assets-carousel.component.mjs +38 -22
  6. package/esm2020/lib/components/assets-carousel/assets-carousel.module.mjs +11 -13
  7. package/esm2020/lib/components/async-typeahead/async-typeahead.component.mjs +17 -15
  8. package/esm2020/lib/components/async-typeahead/async-typeahead.module.mjs +13 -15
  9. package/esm2020/lib/components/async-typeahead/providers/async-typeahead.service.mjs +3 -3
  10. package/esm2020/lib/components/base-form/base-form.component.mjs +3 -3
  11. package/esm2020/lib/components/base-form/base-form.module.mjs +4 -4
  12. package/esm2020/lib/components/base-form/form-submit.directive.mjs +3 -3
  13. package/esm2020/lib/components/card/card.component.mjs +4 -4
  14. package/esm2020/lib/components/card/card.module.mjs +5 -7
  15. package/esm2020/lib/components/carousel/carousel.component.mjs +3 -3
  16. package/esm2020/lib/components/carousel/carousel.module.mjs +9 -11
  17. package/esm2020/lib/components/carousel/picture-modal/picture-modal.component.mjs +3 -3
  18. package/esm2020/lib/components/carousel/picture-modal/picture-modal.service.mjs +3 -3
  19. package/esm2020/lib/components/carousel/pipe/carousel-layout.pipe.mjs +3 -3
  20. package/esm2020/lib/components/date-range-picker/components/header/header.component.mjs +57 -0
  21. package/esm2020/lib/components/date-range-picker/components/range-preset/range-preset.component.mjs +107 -0
  22. package/esm2020/lib/components/date-range-picker/date-range-picker.component.mjs +74 -0
  23. package/esm2020/lib/components/date-range-picker/date-range-picker.module.mjs +56 -0
  24. package/esm2020/lib/components/date-range-picker/index.mjs +2 -0
  25. package/esm2020/lib/components/date-range-picker/providers/date-range-picker.service.mjs +17 -0
  26. package/esm2020/lib/components/date-range-picker/public-api.mjs +3 -0
  27. package/esm2020/lib/components/drawer/drawer.component.mjs +4 -4
  28. package/esm2020/lib/components/drawer/drawer.module.mjs +6 -8
  29. package/esm2020/lib/components/drawer/drawer.service.mjs +3 -3
  30. package/esm2020/lib/components/export-bottom-sheet/export-bottom-sheet.component.mjs +5 -5
  31. package/esm2020/lib/components/export-bottom-sheet/export-bottom-sheet.module.mjs +6 -6
  32. package/esm2020/lib/components/export-bottom-sheet/providers/export-bottom-sheet.service.mjs +6 -6
  33. package/esm2020/lib/components/form-error/control-status.directive.mjs +4 -4
  34. package/esm2020/lib/components/form-error/form-error.component.mjs +5 -5
  35. package/esm2020/lib/components/form-error/form-error.module.mjs +5 -5
  36. package/esm2020/lib/components/horizontal-stepper/horizontal-stepper.component.mjs +4 -4
  37. package/esm2020/lib/components/horizontal-stepper/horizontal-stepper.module.mjs +7 -9
  38. package/esm2020/lib/components/horizontal-stepper/step.component.mjs +3 -3
  39. package/esm2020/lib/components/image-cropper/image-cropper.component.mjs +11 -11
  40. package/esm2020/lib/components/image-cropper/image-cropper.module.mjs +5 -5
  41. package/esm2020/lib/components/layout/layout.component.mjs +3 -3
  42. package/esm2020/lib/components/layout/layout.module.mjs +5 -5
  43. package/esm2020/lib/components/loading-spinner/loading-spinner.component.mjs +3 -3
  44. package/esm2020/lib/components/loading-spinner/loading-spinner.module.mjs +6 -8
  45. package/esm2020/lib/components/loading-spinner/loading.directive.mjs +3 -3
  46. package/esm2020/lib/components/lottie/lottie.component.mjs +3 -3
  47. package/esm2020/lib/components/lottie/lottie.module.mjs +5 -5
  48. package/esm2020/lib/components/navigation/directives/show-hint.directive.mjs +163 -0
  49. package/esm2020/lib/components/navigation/horizontal/components/basic/basic.component.mjs +9 -9
  50. package/esm2020/lib/components/navigation/horizontal/components/branch/branch.component.mjs +11 -10
  51. package/esm2020/lib/components/navigation/horizontal/components/divider/divider.component.mjs +5 -5
  52. package/esm2020/lib/components/navigation/horizontal/components/spacer/spacer.component.mjs +5 -5
  53. package/esm2020/lib/components/navigation/horizontal/horizontal.component.mjs +10 -9
  54. package/esm2020/lib/components/navigation/navigation.component.mjs +3 -3
  55. package/esm2020/lib/components/navigation/navigation.module.mjs +26 -17
  56. package/esm2020/lib/components/navigation/navigation.service.mjs +3 -3
  57. package/esm2020/lib/components/navigation/navigation.types.mjs +1 -1
  58. package/esm2020/lib/components/navigation/pipes/should-hide.pipe.mjs +31 -0
  59. package/esm2020/lib/components/navigation/pipes/should-show-hint.pipe.mjs +32 -0
  60. package/esm2020/lib/components/navigation/providers/hide-item.resolver.mjs +3 -0
  61. package/esm2020/lib/components/navigation/providers/hint.resolver.mjs +3 -0
  62. package/esm2020/lib/components/navigation/providers/hint.service.mjs +20 -0
  63. package/esm2020/lib/components/navigation/public-api.mjs +3 -1
  64. package/esm2020/lib/components/navigation/vertical/components/aside/aside.component.mjs +12 -12
  65. package/esm2020/lib/components/navigation/vertical/components/basic/basic.component.mjs +10 -8
  66. package/esm2020/lib/components/navigation/vertical/components/collapsable/collapsable.component.mjs +14 -22
  67. package/esm2020/lib/components/navigation/vertical/components/divider/divider.component.mjs +5 -5
  68. package/esm2020/lib/components/navigation/vertical/components/group/group.component.mjs +12 -11
  69. package/esm2020/lib/components/navigation/vertical/components/spacer/spacer.component.mjs +5 -5
  70. package/esm2020/lib/components/navigation/vertical/vertical.component.mjs +33 -16
  71. package/esm2020/lib/components/public-api.mjs +2 -1
  72. package/esm2020/lib/components/search-bar/search-bar.component.mjs +8 -8
  73. package/esm2020/lib/components/search-bar/search-bar.module.mjs +9 -11
  74. package/esm2020/lib/components/sweet-alert/public-api.mjs +2 -1
  75. package/esm2020/lib/components/sweet-alert/sweet-alert.component.mjs +5 -5
  76. package/esm2020/lib/components/sweet-alert/sweet-alert.directive.mjs +37 -0
  77. package/esm2020/lib/components/sweet-alert/sweet-alert.module.mjs +9 -7
  78. package/esm2020/lib/components/sweet-alert/sweet-alert.service.mjs +24 -7
  79. package/esm2020/lib/components/toast/toast.component.mjs +5 -5
  80. package/esm2020/lib/components/toast/toast.module.mjs +5 -5
  81. package/esm2020/lib/components/toast/toast.service.mjs +3 -3
  82. package/esm2020/lib/components/toggle-button-group/toggle-button-group.component.mjs +4 -4
  83. package/esm2020/lib/components/toggle-button-group/toggle-button-group.module.mjs +6 -8
  84. package/esm2020/lib/components/toggle-button-group/toggle-button.component.mjs +3 -3
  85. package/esm2020/lib/components/typeahead/directives/options-scroll.directive.mjs +3 -3
  86. package/esm2020/lib/components/typeahead/directives/options-scroll.module.mjs +4 -4
  87. package/esm2020/lib/components/typeahead/typeahead.component.mjs +12 -12
  88. package/esm2020/lib/components/typeahead/typeahead.module.mjs +15 -17
  89. package/esm2020/lib/directives/autofocus/autofocus.directive.mjs +3 -3
  90. package/esm2020/lib/directives/autofocus/autofocus.module.mjs +4 -4
  91. package/esm2020/lib/directives/autogrow/autogrow.directive.mjs +3 -3
  92. package/esm2020/lib/directives/autogrow/autogrow.module.mjs +4 -4
  93. package/esm2020/lib/directives/chip-async-typeahead/chip-async-typeahead.directive.mjs +3 -3
  94. package/esm2020/lib/directives/chip-list/chip-list-items/chip-list-item-label.directive.mjs +3 -3
  95. package/esm2020/lib/directives/chip-list/chip-list-items/chip-list-items.component.mjs +24 -10
  96. package/esm2020/lib/directives/chip-list/chip-list.constant.mjs +3 -0
  97. package/esm2020/lib/directives/chip-list/chip-list.directive.mjs +37 -10
  98. package/esm2020/lib/directives/chip-list/chip-list.module.mjs +24 -5
  99. package/esm2020/lib/directives/dropzone/dropzone.directive.mjs +3 -3
  100. package/esm2020/lib/directives/dropzone/dropzone.module.mjs +5 -5
  101. package/esm2020/lib/directives/image-error-placeholder/image-error-placeholder.directive.mjs +3 -3
  102. package/esm2020/lib/directives/image-error-placeholder/image-error-placeholder.module.mjs +4 -4
  103. package/esm2020/lib/directives/material/material.module.mjs +4 -4
  104. package/esm2020/lib/directives/material/nice-material-style.directive.mjs +3 -3
  105. package/esm2020/lib/directives/material/nice-rounded-style.directive.mjs +3 -3
  106. package/esm2020/lib/directives/modals/modal-on-click.directive.mjs +3 -3
  107. package/esm2020/lib/directives/modals/modal-opener.directive.mjs +3 -3
  108. package/esm2020/lib/directives/public-api.mjs +2 -1
  109. package/esm2020/lib/directives/scroll-reset/scroll-reset.directive.mjs +3 -3
  110. package/esm2020/lib/directives/scroll-reset/scroll-reset.module.mjs +4 -4
  111. package/esm2020/lib/directives/scrollbar/scrollbar.directive.mjs +3 -3
  112. package/esm2020/lib/directives/scrollbar/scrollbar.module.mjs +4 -4
  113. package/esm2020/lib/directives/stop-propagation/click-stop-propagation.directive.mjs +3 -3
  114. package/esm2020/lib/directives/stop-propagation/stop-propagation.module.mjs +4 -4
  115. package/esm2020/lib/directives/window/prevent-close-window.directive.mjs +3 -3
  116. package/esm2020/lib/directives/window/window-directive.module.mjs +4 -4
  117. package/esm2020/lib/nice.module.mjs +8 -10
  118. package/esm2020/lib/pipes/boolean.pipe.mjs +3 -3
  119. package/esm2020/lib/pipes/capitalize-first-letter.pipe.mjs +3 -3
  120. package/esm2020/lib/pipes/ceil.pipe.mjs +3 -3
  121. package/esm2020/lib/pipes/entries.pipe.mjs +3 -3
  122. package/esm2020/lib/pipes/find-by-key.pipe.mjs +3 -3
  123. package/esm2020/lib/pipes/first-letter.pipe.mjs +3 -3
  124. package/esm2020/lib/pipes/floor.pipe.mjs +3 -3
  125. package/esm2020/lib/pipes/join-if-defined.pipe.mjs +3 -3
  126. package/esm2020/lib/pipes/link.pipe.mjs +3 -3
  127. package/esm2020/lib/pipes/localized-boolean.pipe.mjs +3 -3
  128. package/esm2020/lib/pipes/localized-currency.pipe.mjs +3 -3
  129. package/esm2020/lib/pipes/localized-date-only.pipe.mjs +3 -3
  130. package/esm2020/lib/pipes/localized-date.pipe.mjs +3 -3
  131. package/esm2020/lib/pipes/minutes-to-time.pipe.mjs +3 -3
  132. package/esm2020/lib/pipes/number-to-ordinal-indicator.pipe.mjs +3 -3
  133. package/esm2020/lib/pipes/pad.pipe.mjs +3 -3
  134. package/esm2020/lib/pipes/phone.pipe.mjs +3 -3
  135. package/esm2020/lib/pipes/pipes.module.mjs +4 -4
  136. package/esm2020/lib/pipes/postal-code.pipe.mjs +3 -3
  137. package/esm2020/lib/pipes/range.pipe.mjs +3 -3
  138. package/esm2020/lib/pipes/round.pipe.mjs +3 -3
  139. package/esm2020/lib/pipes/sanitize-bypass.pipe.mjs +3 -3
  140. package/esm2020/lib/pipes/seconds-to-time.pipe.mjs +3 -3
  141. package/esm2020/lib/providers/config/config.module.mjs +4 -4
  142. package/esm2020/lib/providers/config/config.service.mjs +3 -3
  143. package/esm2020/lib/providers/media-watcher/media-watcher.module.mjs +4 -4
  144. package/esm2020/lib/providers/media-watcher/media-watcher.service.mjs +3 -3
  145. package/esm2020/lib/providers/overlay/dynamic-overlay-container.service.mjs +3 -3
  146. package/esm2020/lib/providers/overlay/dynamic-overlay.service.mjs +3 -3
  147. package/esm2020/lib/providers/splash-screen/splash-screen.module.mjs +4 -4
  148. package/esm2020/lib/providers/splash-screen/splash-screen.service.mjs +3 -3
  149. package/esm2020/lib/providers/utils/utils.module.mjs +4 -4
  150. package/esm2020/lib/providers/utils/utils.service.mjs +3 -3
  151. package/fesm2015/recursyve-nice-ui-kit.v2.mjs +6143 -5529
  152. package/fesm2015/recursyve-nice-ui-kit.v2.mjs.map +1 -1
  153. package/fesm2020/recursyve-nice-ui-kit.v2.mjs +3272 -2665
  154. package/fesm2020/recursyve-nice-ui-kit.v2.mjs.map +1 -1
  155. package/{recursyve-nice-ui-kit.v2.d.ts → index.d.ts} +0 -0
  156. package/lib/components/alert/alert.component.d.ts +1 -1
  157. package/lib/components/assets-carousel/assets-carousel.component.d.ts +6 -1
  158. package/lib/components/async-typeahead/async-typeahead.component.d.ts +3 -3
  159. package/lib/components/base-form/base-form.component.d.ts +1 -1
  160. package/lib/components/base-form/form-submit.directive.d.ts +1 -1
  161. package/lib/components/card/card.component.d.ts +1 -1
  162. package/lib/components/carousel/carousel.component.d.ts +1 -1
  163. package/lib/components/carousel/picture-modal/picture-modal.component.d.ts +1 -1
  164. package/lib/components/carousel/pipe/carousel-layout.pipe.d.ts +1 -1
  165. package/lib/components/date-range-picker/components/header/header.component.d.ts +20 -0
  166. package/lib/components/date-range-picker/components/range-preset/range-preset.component.d.ts +23 -0
  167. package/lib/components/date-range-picker/date-range-picker.component.d.ts +29 -0
  168. package/lib/components/date-range-picker/date-range-picker.module.d.ts +18 -0
  169. package/lib/components/date-range-picker/index.d.ts +1 -0
  170. package/lib/components/date-range-picker/providers/date-range-picker.service.d.ts +8 -0
  171. package/lib/components/date-range-picker/public-api.d.ts +2 -0
  172. package/lib/components/drawer/drawer.component.d.ts +1 -1
  173. package/lib/components/export-bottom-sheet/export-bottom-sheet.component.d.ts +1 -1
  174. package/lib/components/form-error/control-status.directive.d.ts +4 -6
  175. package/lib/components/form-error/form-error.component.d.ts +1 -1
  176. package/lib/components/horizontal-stepper/horizontal-stepper.component.d.ts +1 -1
  177. package/lib/components/horizontal-stepper/step.component.d.ts +1 -1
  178. package/lib/components/image-cropper/image-cropper.component.d.ts +2 -2
  179. package/lib/components/layout/layout.component.d.ts +1 -1
  180. package/lib/components/loading-spinner/loading-spinner.component.d.ts +1 -1
  181. package/lib/components/loading-spinner/loading.directive.d.ts +1 -1
  182. package/lib/components/lottie/lottie.component.d.ts +1 -1
  183. package/lib/components/navigation/directives/show-hint.directive.d.ts +36 -0
  184. package/lib/components/navigation/horizontal/components/basic/basic.component.d.ts +1 -1
  185. package/lib/components/navigation/horizontal/components/branch/branch.component.d.ts +1 -1
  186. package/lib/components/navigation/horizontal/components/divider/divider.component.d.ts +1 -1
  187. package/lib/components/navigation/horizontal/components/spacer/spacer.component.d.ts +1 -1
  188. package/lib/components/navigation/horizontal/horizontal.component.d.ts +1 -1
  189. package/lib/components/navigation/navigation.component.d.ts +1 -1
  190. package/lib/components/navigation/navigation.module.d.ts +13 -10
  191. package/lib/components/navigation/navigation.types.d.ts +8 -1
  192. package/lib/components/navigation/pipes/should-hide.pipe.d.ts +11 -0
  193. package/lib/components/navigation/pipes/should-show-hint.pipe.d.ts +12 -0
  194. package/lib/components/navigation/providers/hide-item.resolver.d.ts +5 -0
  195. package/lib/components/navigation/providers/hint.resolver.d.ts +4 -0
  196. package/lib/components/navigation/providers/hint.service.d.ts +9 -0
  197. package/lib/components/navigation/public-api.d.ts +2 -0
  198. package/lib/components/navigation/vertical/components/aside/aside.component.d.ts +1 -1
  199. package/lib/components/navigation/vertical/components/basic/basic.component.d.ts +1 -1
  200. package/lib/components/navigation/vertical/components/collapsable/collapsable.component.d.ts +1 -1
  201. package/lib/components/navigation/vertical/components/divider/divider.component.d.ts +1 -1
  202. package/lib/components/navigation/vertical/components/group/group.component.d.ts +1 -1
  203. package/lib/components/navigation/vertical/components/spacer/spacer.component.d.ts +1 -1
  204. package/lib/components/navigation/vertical/vertical.component.d.ts +6 -2
  205. package/lib/components/public-api.d.ts +1 -0
  206. package/lib/components/search-bar/search-bar.component.d.ts +1 -1
  207. package/lib/components/sweet-alert/public-api.d.ts +1 -0
  208. package/lib/components/sweet-alert/sweet-alert.component.d.ts +1 -1
  209. package/lib/components/sweet-alert/sweet-alert.directive.d.ts +13 -0
  210. package/lib/components/sweet-alert/sweet-alert.module.d.ts +7 -6
  211. package/lib/components/sweet-alert/sweet-alert.service.d.ts +11 -0
  212. package/lib/components/toast/toast.component.d.ts +1 -1
  213. package/lib/components/toggle-button-group/toggle-button-group.component.d.ts +1 -1
  214. package/lib/components/toggle-button-group/toggle-button.component.d.ts +1 -1
  215. package/lib/components/typeahead/directives/options-scroll.directive.d.ts +1 -1
  216. package/lib/components/typeahead/typeahead.component.d.ts +2 -2
  217. package/lib/directives/autofocus/autofocus.directive.d.ts +1 -1
  218. package/lib/directives/autogrow/autogrow.directive.d.ts +1 -1
  219. package/lib/directives/chip-async-typeahead/chip-async-typeahead.directive.d.ts +1 -1
  220. package/lib/directives/chip-list/chip-list-items/chip-list-item-label.directive.d.ts +1 -1
  221. package/lib/directives/chip-list/chip-list-items/chip-list-items.component.d.ts +14 -2
  222. package/lib/directives/chip-list/chip-list.constant.d.ts +2 -0
  223. package/lib/directives/chip-list/chip-list.directive.d.ts +3 -1
  224. package/lib/directives/chip-list/chip-list.module.d.ts +3 -0
  225. package/lib/directives/dropzone/dropzone.directive.d.ts +1 -1
  226. package/lib/directives/image-error-placeholder/image-error-placeholder.directive.d.ts +1 -1
  227. package/lib/directives/material/nice-material-style.directive.d.ts +1 -1
  228. package/lib/directives/material/nice-rounded-style.directive.d.ts +1 -1
  229. package/lib/directives/modals/modal-on-click.directive.d.ts +1 -1
  230. package/lib/directives/modals/modal-opener.directive.d.ts +1 -1
  231. package/lib/directives/public-api.d.ts +1 -0
  232. package/lib/directives/scroll-reset/scroll-reset.directive.d.ts +1 -1
  233. package/lib/directives/scrollbar/scrollbar.directive.d.ts +1 -1
  234. package/lib/directives/stop-propagation/click-stop-propagation.directive.d.ts +1 -1
  235. package/lib/directives/window/prevent-close-window.directive.d.ts +1 -1
  236. package/lib/pipes/boolean.pipe.d.ts +1 -1
  237. package/lib/pipes/capitalize-first-letter.pipe.d.ts +1 -1
  238. package/lib/pipes/ceil.pipe.d.ts +1 -1
  239. package/lib/pipes/entries.pipe.d.ts +1 -1
  240. package/lib/pipes/find-by-key.pipe.d.ts +1 -1
  241. package/lib/pipes/first-letter.pipe.d.ts +1 -1
  242. package/lib/pipes/floor.pipe.d.ts +1 -1
  243. package/lib/pipes/join-if-defined.pipe.d.ts +1 -1
  244. package/lib/pipes/link.pipe.d.ts +1 -1
  245. package/lib/pipes/localized-boolean.pipe.d.ts +1 -1
  246. package/lib/pipes/localized-currency.pipe.d.ts +1 -1
  247. package/lib/pipes/localized-date-only.pipe.d.ts +1 -1
  248. package/lib/pipes/localized-date.pipe.d.ts +1 -1
  249. package/lib/pipes/minutes-to-time.pipe.d.ts +1 -1
  250. package/lib/pipes/number-to-ordinal-indicator.pipe.d.ts +1 -1
  251. package/lib/pipes/pad.pipe.d.ts +1 -1
  252. package/lib/pipes/phone.pipe.d.ts +1 -1
  253. package/lib/pipes/postal-code.pipe.d.ts +1 -1
  254. package/lib/pipes/range.pipe.d.ts +1 -1
  255. package/lib/pipes/round.pipe.d.ts +1 -1
  256. package/lib/pipes/sanitize-bypass.pipe.d.ts +1 -1
  257. package/lib/pipes/seconds-to-time.pipe.d.ts +1 -1
  258. package/lib/utils/array.utils.d.ts +1 -1
  259. package/package.json +11 -11
  260. package/src/lib/components/assets-carousel/assets-carousel.theme.scss +44 -38
  261. package/src/lib/components/date-range-picker/date-range-picker.theme.scss +47 -0
  262. package/src/lib/components/navigation/vertical/styles/appearances/default.theme.scss +38 -0
  263. package/src/lib/components/navigation/vertical/styles/appearances/dense.theme.scss +2 -2
  264. package/src/lib/nice.theme.scss +2 -0
@@ -0,0 +1,3 @@
1
+ export class NavigationHintResolver {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL3Byb3ZpZGVycy9oaW50LnJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBZ0Isc0JBQXNCO0NBRTNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOYXZpZ2F0aW9uSGludFJlc29sdmVyIHtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2hvdWxkU2hvd0hpbnQoKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbn1cbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { BehaviorSubject } from "rxjs";
3
+ import * as i0 from "@angular/core";
4
+ export class NiceNavigationHintService {
5
+ constructor() {
6
+ this.hasActiveHint$ = new BehaviorSubject(false);
7
+ }
8
+ get hasActiveHint() {
9
+ return this.hasActiveHint$.value;
10
+ }
11
+ setActiveHint(isActive) {
12
+ this.hasActiveHint$.next(isActive);
13
+ }
14
+ }
15
+ NiceNavigationHintService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceNavigationHintService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
16
+ NiceNavigationHintService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceNavigationHintService });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceNavigationHintService, decorators: [{
18
+ type: Injectable
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vcHJvdmlkZXJzL2hpbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR3ZDLE1BQU0sT0FBTyx5QkFBeUI7SUFEdEM7UUFFVyxtQkFBYyxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBU3REO0lBUEcsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxRQUFpQjtRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDOztzSEFUUSx5QkFBeUI7MEhBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmljZU5hdmlnYXRpb25IaW50U2VydmljZSB7XG4gICAgcHVibGljIGhhc0FjdGl2ZUhpbnQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgICBwdWJsaWMgZ2V0IGhhc0FjdGl2ZUhpbnQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc0FjdGl2ZUhpbnQkLnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRBY3RpdmVIaW50KGlzQWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGFzQWN0aXZlSGludCQubmV4dChpc0FjdGl2ZSk7XG4gICAgfVxufVxuIl19
@@ -14,4 +14,6 @@ export * from "./navigation.component";
14
14
  export * from "./navigation.module";
15
15
  export * from "./navigation.service";
16
16
  export * from "./navigation.types";
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2hvcml6b250YWwvaG9yaXpvbnRhbC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2hvcml6b250YWwvY29tcG9uZW50cy9iYXNpYy9iYXNpYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2hvcml6b250YWwvY29tcG9uZW50cy9icmFuY2gvYnJhbmNoLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaG9yaXpvbnRhbC9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2hvcml6b250YWwvY29tcG9uZW50cy9zcGFjZXIvc3BhY2VyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVydGljYWwvdmVydGljYWwuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi92ZXJ0aWNhbC9jb21wb25lbnRzL2FzaWRlL2FzaWRlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVydGljYWwvY29tcG9uZW50cy9iYXNpYy9iYXNpYy5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZlcnRpY2FsL2NvbXBvbmVudHMvY29sbGFwc2FibGUvY29sbGFwc2FibGUuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi92ZXJ0aWNhbC9jb21wb25lbnRzL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZlcnRpY2FsL2NvbXBvbmVudHMvZ3JvdXAvZ3JvdXAuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi92ZXJ0aWNhbC9jb21wb25lbnRzL3NwYWNlci9zcGFjZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9uYXZpZ2F0aW9uLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbmF2aWdhdGlvbi5tb2R1bGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25hdmlnYXRpb24uc2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbmF2aWdhdGlvbi50eXBlc1wiO1xuIl19
17
+ export * from "./providers/hide-item.resolver";
18
+ export * from "./providers/hint.resolver";
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtdWkta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9ob3Jpem9udGFsL2hvcml6b250YWwuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ob3Jpem9udGFsL2NvbXBvbmVudHMvYmFzaWMvYmFzaWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ob3Jpem9udGFsL2NvbXBvbmVudHMvYnJhbmNoL2JyYW5jaC5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2hvcml6b250YWwvY29tcG9uZW50cy9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ob3Jpem9udGFsL2NvbXBvbmVudHMvc3BhY2VyL3NwYWNlci5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZlcnRpY2FsL3ZlcnRpY2FsLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVydGljYWwvY29tcG9uZW50cy9hc2lkZS9hc2lkZS5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZlcnRpY2FsL2NvbXBvbmVudHMvYmFzaWMvYmFzaWMuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi92ZXJ0aWNhbC9jb21wb25lbnRzL2NvbGxhcHNhYmxlL2NvbGxhcHNhYmxlLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVydGljYWwvY29tcG9uZW50cy9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi92ZXJ0aWNhbC9jb21wb25lbnRzL2dyb3VwL2dyb3VwLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmVydGljYWwvY29tcG9uZW50cy9zcGFjZXIvc3BhY2VyLmNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbmF2aWdhdGlvbi5jb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25hdmlnYXRpb24ubW9kdWxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9uYXZpZ2F0aW9uLnNlcnZpY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL25hdmlnYXRpb24udHlwZXNcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vcHJvdmlkZXJzL2hpZGUtaXRlbS5yZXNvbHZlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvdmlkZXJzL2hpbnQucmVzb2x2ZXJcIjtcbiJdfQ==
@@ -6,13 +6,13 @@ import { NiceNavigationService } from "../../../navigation.service";
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/router";
8
8
  import * as i2 from "../../../navigation.service";
9
- import * as i3 from "@angular/material/icon";
10
- import * as i4 from "../basic/basic.component";
11
- import * as i5 from "../collapsable/collapsable.component";
12
- import * as i6 from "../divider/divider.component";
13
- import * as i7 from "../group/group.component";
14
- import * as i8 from "../spacer/spacer.component";
15
- import * as i9 from "@angular/common";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "@angular/material/icon";
11
+ import * as i5 from "../basic/basic.component";
12
+ import * as i6 from "../collapsable/collapsable.component";
13
+ import * as i7 from "../divider/divider.component";
14
+ import * as i8 from "../group/group.component";
15
+ import * as i9 from "../spacer/spacer.component";
16
16
  import * as i10 from "@ngx-translate/core";
17
17
  export class NiceVerticalNavigationAsideItemComponent {
18
18
  /**
@@ -120,11 +120,11 @@ export class NiceVerticalNavigationAsideItemComponent {
120
120
  return item.id || index;
121
121
  }
122
122
  }
123
- NiceVerticalNavigationAsideItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceVerticalNavigationAsideItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Router }, { token: i2.NiceNavigationService }], target: i0.ɵɵFactoryTarget.Component });
124
- NiceVerticalNavigationAsideItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: NiceVerticalNavigationAsideItemComponent, selector: "nice-vertical-navigation-aside-item", inputs: { activeItemId: "activeItemId", autoCollapse: "autoCollapse", item: "item", name: "name", skipChildren: "skipChildren" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"nice-vertical-navigation-item-wrapper\"\n [class.nice-vertical-navigation-item-has-subtitle]=\"!!item.subtitle\"\n [ngClass]=\"item.classes?.wrapper\"\n>\n <div\n class=\"nice-vertical-navigation-item\"\n [ngClass]=\"{\n 'nice-vertical-navigation-item-active': active,\n 'nice-vertical-navigation-item-disabled': item.disabled,\n 'nice-vertical-navigation-item-active-forced': item.active\n }\"\n >\n <!-- Icon -->\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n *ngIf=\"item.icon && item.iconType === 'material'\"\n >\n {{ item.icon }}\n </mat-icon>\n\n <span class=\"nice-vertical-navigation-item-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon && item.iconType == 'fontawesome'\"></span>\n\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n [svgIcon]=\"item.icon\"\n *ngIf=\"item.icon && item.iconType === 'svg'\"\n ></mat-icon>\n\n <!-- Title & Subtitle -->\n <div class=\"nice-vertical-navigation-item-title-wrapper\">\n <div class=\"nice-vertical-navigation-item-title\">\n <span [ngClass]=\"item.classes?.title\">\n {{ item.title | translate }}\n </span>\n </div>\n <div\n class=\"nice-vertical-navigation-item-subtitle\"\n *ngIf=\"item.subtitle\"\n >\n <span [ngClass]=\"item.classes?.subtitle\">\n {{ item.subtitle | translate }}\n </span>\n </div>\n </div>\n\n <!-- Badge -->\n <div\n class=\"nice-vertical-navigation-item-badge\"\n *ngIf=\"item.badge\"\n >\n <div\n class=\"nice-vertical-navigation-item-badge-content\"\n [ngClass]=\"item.badge.classes\"\n >\n {{ item.badge.title | translate }}\n </div>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"!skipChildren\">\n <div class=\"nice-vertical-navigation-item-children\">\n <ng-container *ngFor=\"let item of item.children; trackBy: trackByFn\">\n <!-- Skip the hidden items -->\n <ng-container *ngIf=\"(item.hidden && !item.hidden(item)) || !item.hidden\">\n <!-- Basic -->\n <nice-vertical-navigation-basic-item\n *ngIf=\"item.type === 'basic'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-basic-item>\n\n <!-- Collapsable -->\n <nice-vertical-navigation-collapsable-item\n *ngIf=\"item.type === 'collapsable'\"\n [item]=\"item\"\n [name]=\"name\"\n [autoCollapse]=\"autoCollapse\"\n ></nice-vertical-navigation-collapsable-item>\n\n <!-- Divider -->\n <nice-vertical-navigation-divider-item\n *ngIf=\"item.type === 'divider'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-divider-item>\n\n <!-- Group -->\n <nice-vertical-navigation-group-item\n *ngIf=\"item.type === 'group'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-group-item>\n\n <!-- Spacer -->\n <nice-vertical-navigation-spacer-item\n *ngIf=\"item.type === 'spacer'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-spacer-item>\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n", components: [{ type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.NiceVerticalNavigationBasicItemComponent, selector: "nice-vertical-navigation-basic-item", inputs: ["item", "name"] }, { type: i5.NiceVerticalNavigationCollapsableItemComponent, selector: "nice-vertical-navigation-collapsable-item", inputs: ["autoCollapse", "item", "name"] }, { type: i6.NiceVerticalNavigationDividerItemComponent, selector: "nice-vertical-navigation-divider-item", inputs: ["item", "name"] }, { type: i7.NiceVerticalNavigationGroupItemComponent, selector: "nice-vertical-navigation-group-item", inputs: ["autoCollapse", "item", "name"] }, { type: i8.NiceVerticalNavigationSpacerItemComponent, selector: "nice-vertical-navigation-spacer-item", inputs: ["item", "name"] }], directives: [{ type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i10.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceVerticalNavigationAsideItemComponent, decorators: [{
123
+ NiceVerticalNavigationAsideItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceVerticalNavigationAsideItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.Router }, { token: i2.NiceNavigationService }], target: i0.ɵɵFactoryTarget.Component });
124
+ NiceVerticalNavigationAsideItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceVerticalNavigationAsideItemComponent, selector: "nice-vertical-navigation-aside-item", inputs: { activeItemId: "activeItemId", autoCollapse: "autoCollapse", item: "item", name: "name", skipChildren: "skipChildren" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"nice-vertical-navigation-item-wrapper\"\n [class.nice-vertical-navigation-item-has-subtitle]=\"!!item.subtitle\"\n [ngClass]=\"item.classes?.wrapper\"\n>\n <div\n class=\"nice-vertical-navigation-item\"\n [ngClass]=\"{\n 'nice-vertical-navigation-item-active': active,\n 'nice-vertical-navigation-item-disabled': item.disabled,\n 'nice-vertical-navigation-item-active-forced': item.active\n }\"\n >\n <!-- Icon -->\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n *ngIf=\"item.icon && item.iconType === 'material'\"\n >\n {{ item.icon }}\n </mat-icon>\n\n <span class=\"nice-vertical-navigation-item-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon && item.iconType == 'fontawesome'\"></span>\n\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n [svgIcon]=\"item.icon\"\n *ngIf=\"item.icon && item.iconType === 'svg'\"\n ></mat-icon>\n\n <!-- Title & Subtitle -->\n <div class=\"nice-vertical-navigation-item-title-wrapper\">\n <div class=\"nice-vertical-navigation-item-title\">\n <span [ngClass]=\"item.classes?.title\">\n {{ item.title | translate }}\n </span>\n </div>\n <div\n class=\"nice-vertical-navigation-item-subtitle\"\n *ngIf=\"item.subtitle\"\n >\n <span [ngClass]=\"item.classes?.subtitle\">\n {{ item.subtitle | translate }}\n </span>\n </div>\n </div>\n\n <!-- Badge -->\n <div\n class=\"nice-vertical-navigation-item-badge\"\n *ngIf=\"item.badge\"\n >\n <div\n class=\"nice-vertical-navigation-item-badge-content\"\n [ngClass]=\"item.badge.classes\"\n >\n {{ item.badge.title | translate }}\n </div>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"!skipChildren\">\n <div class=\"nice-vertical-navigation-item-children\">\n <ng-container *ngFor=\"let item of item.children; trackBy: trackByFn\">\n <!-- Skip the hidden items -->\n <ng-container *ngIf=\"(item.hidden && !item.hidden(item)) || !item.hidden\">\n <!-- Basic -->\n <nice-vertical-navigation-basic-item\n *ngIf=\"item.type === 'basic'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-basic-item>\n\n <!-- Collapsable -->\n <nice-vertical-navigation-collapsable-item\n *ngIf=\"item.type === 'collapsable'\"\n [item]=\"item\"\n [name]=\"name\"\n [autoCollapse]=\"autoCollapse\"\n ></nice-vertical-navigation-collapsable-item>\n\n <!-- Divider -->\n <nice-vertical-navigation-divider-item\n *ngIf=\"item.type === 'divider'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-divider-item>\n\n <!-- Group -->\n <nice-vertical-navigation-group-item\n *ngIf=\"item.type === 'group'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-group-item>\n\n <!-- Spacer -->\n <nice-vertical-navigation-spacer-item\n *ngIf=\"item.type === 'spacer'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-spacer-item>\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.NiceVerticalNavigationBasicItemComponent, selector: "nice-vertical-navigation-basic-item", inputs: ["item", "name"] }, { kind: "component", type: i6.NiceVerticalNavigationCollapsableItemComponent, selector: "nice-vertical-navigation-collapsable-item", inputs: ["autoCollapse", "item", "name"] }, { kind: "component", type: i7.NiceVerticalNavigationDividerItemComponent, selector: "nice-vertical-navigation-divider-item", inputs: ["item", "name"] }, { kind: "component", type: i8.NiceVerticalNavigationGroupItemComponent, selector: "nice-vertical-navigation-group-item", inputs: ["autoCollapse", "item", "name"] }, { kind: "component", type: i9.NiceVerticalNavigationSpacerItemComponent, selector: "nice-vertical-navigation-spacer-item", inputs: ["item", "name"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceVerticalNavigationAsideItemComponent, decorators: [{
126
126
  type: Component,
127
- args: [{ selector: "nice-vertical-navigation-aside-item", styles: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"nice-vertical-navigation-item-wrapper\"\n [class.nice-vertical-navigation-item-has-subtitle]=\"!!item.subtitle\"\n [ngClass]=\"item.classes?.wrapper\"\n>\n <div\n class=\"nice-vertical-navigation-item\"\n [ngClass]=\"{\n 'nice-vertical-navigation-item-active': active,\n 'nice-vertical-navigation-item-disabled': item.disabled,\n 'nice-vertical-navigation-item-active-forced': item.active\n }\"\n >\n <!-- Icon -->\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n *ngIf=\"item.icon && item.iconType === 'material'\"\n >\n {{ item.icon }}\n </mat-icon>\n\n <span class=\"nice-vertical-navigation-item-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon && item.iconType == 'fontawesome'\"></span>\n\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n [svgIcon]=\"item.icon\"\n *ngIf=\"item.icon && item.iconType === 'svg'\"\n ></mat-icon>\n\n <!-- Title & Subtitle -->\n <div class=\"nice-vertical-navigation-item-title-wrapper\">\n <div class=\"nice-vertical-navigation-item-title\">\n <span [ngClass]=\"item.classes?.title\">\n {{ item.title | translate }}\n </span>\n </div>\n <div\n class=\"nice-vertical-navigation-item-subtitle\"\n *ngIf=\"item.subtitle\"\n >\n <span [ngClass]=\"item.classes?.subtitle\">\n {{ item.subtitle | translate }}\n </span>\n </div>\n </div>\n\n <!-- Badge -->\n <div\n class=\"nice-vertical-navigation-item-badge\"\n *ngIf=\"item.badge\"\n >\n <div\n class=\"nice-vertical-navigation-item-badge-content\"\n [ngClass]=\"item.badge.classes\"\n >\n {{ item.badge.title | translate }}\n </div>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"!skipChildren\">\n <div class=\"nice-vertical-navigation-item-children\">\n <ng-container *ngFor=\"let item of item.children; trackBy: trackByFn\">\n <!-- Skip the hidden items -->\n <ng-container *ngIf=\"(item.hidden && !item.hidden(item)) || !item.hidden\">\n <!-- Basic -->\n <nice-vertical-navigation-basic-item\n *ngIf=\"item.type === 'basic'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-basic-item>\n\n <!-- Collapsable -->\n <nice-vertical-navigation-collapsable-item\n *ngIf=\"item.type === 'collapsable'\"\n [item]=\"item\"\n [name]=\"name\"\n [autoCollapse]=\"autoCollapse\"\n ></nice-vertical-navigation-collapsable-item>\n\n <!-- Divider -->\n <nice-vertical-navigation-divider-item\n *ngIf=\"item.type === 'divider'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-divider-item>\n\n <!-- Group -->\n <nice-vertical-navigation-group-item\n *ngIf=\"item.type === 'group'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-group-item>\n\n <!-- Spacer -->\n <nice-vertical-navigation-spacer-item\n *ngIf=\"item.type === 'spacer'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-spacer-item>\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n" }]
127
+ args: [{ selector: "nice-vertical-navigation-aside-item", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"nice-vertical-navigation-item-wrapper\"\n [class.nice-vertical-navigation-item-has-subtitle]=\"!!item.subtitle\"\n [ngClass]=\"item.classes?.wrapper\"\n>\n <div\n class=\"nice-vertical-navigation-item\"\n [ngClass]=\"{\n 'nice-vertical-navigation-item-active': active,\n 'nice-vertical-navigation-item-disabled': item.disabled,\n 'nice-vertical-navigation-item-active-forced': item.active\n }\"\n >\n <!-- Icon -->\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n *ngIf=\"item.icon && item.iconType === 'material'\"\n >\n {{ item.icon }}\n </mat-icon>\n\n <span class=\"nice-vertical-navigation-item-icon\" [ngClass]=\"item.icon\" *ngIf=\"item.icon && item.iconType == 'fontawesome'\"></span>\n\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n [svgIcon]=\"item.icon\"\n *ngIf=\"item.icon && item.iconType === 'svg'\"\n ></mat-icon>\n\n <!-- Title & Subtitle -->\n <div class=\"nice-vertical-navigation-item-title-wrapper\">\n <div class=\"nice-vertical-navigation-item-title\">\n <span [ngClass]=\"item.classes?.title\">\n {{ item.title | translate }}\n </span>\n </div>\n <div\n class=\"nice-vertical-navigation-item-subtitle\"\n *ngIf=\"item.subtitle\"\n >\n <span [ngClass]=\"item.classes?.subtitle\">\n {{ item.subtitle | translate }}\n </span>\n </div>\n </div>\n\n <!-- Badge -->\n <div\n class=\"nice-vertical-navigation-item-badge\"\n *ngIf=\"item.badge\"\n >\n <div\n class=\"nice-vertical-navigation-item-badge-content\"\n [ngClass]=\"item.badge.classes\"\n >\n {{ item.badge.title | translate }}\n </div>\n </div>\n </div>\n</div>\n\n<ng-container *ngIf=\"!skipChildren\">\n <div class=\"nice-vertical-navigation-item-children\">\n <ng-container *ngFor=\"let item of item.children; trackBy: trackByFn\">\n <!-- Skip the hidden items -->\n <ng-container *ngIf=\"(item.hidden && !item.hidden(item)) || !item.hidden\">\n <!-- Basic -->\n <nice-vertical-navigation-basic-item\n *ngIf=\"item.type === 'basic'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-basic-item>\n\n <!-- Collapsable -->\n <nice-vertical-navigation-collapsable-item\n *ngIf=\"item.type === 'collapsable'\"\n [item]=\"item\"\n [name]=\"name\"\n [autoCollapse]=\"autoCollapse\"\n ></nice-vertical-navigation-collapsable-item>\n\n <!-- Divider -->\n <nice-vertical-navigation-divider-item\n *ngIf=\"item.type === 'divider'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-divider-item>\n\n <!-- Group -->\n <nice-vertical-navigation-group-item\n *ngIf=\"item.type === 'group'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-group-item>\n\n <!-- Spacer -->\n <nice-vertical-navigation-spacer-item\n *ngIf=\"item.type === 'spacer'\"\n [item]=\"item\"\n [name]=\"name\"\n ></nice-vertical-navigation-spacer-item>\n </ng-container>\n </ng-container>\n </div>\n</ng-container>\n" }]
128
128
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.Router }, { type: i2.NiceNavigationService }]; }, propDecorators: { activeItemId: [{
129
129
  type: Input
130
130
  }], autoCollapse: [{
@@ -136,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
136
136
  }], skipChildren: [{
137
137
  type: Input
138
138
  }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vdmVydGljYWwvY29tcG9uZW50cy9hc2lkZS9hc2lkZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi92ZXJ0aWNhbC9jb21wb25lbnRzL2FzaWRlL2FzaWRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUErQyxNQUFNLGVBQWUsQ0FBQztBQUMxSSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBU3BFLE1BQU0sT0FBTyx3Q0FBd0M7SUEwQmpEOztPQUVHO0lBQ0gsWUFDWSxrQkFBcUMsRUFDckMsT0FBZSxFQUNmLHNCQUE2QztRQUY3Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO1FBekJqRCxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFpQnRDLFdBQU0sR0FBRyxLQUFLLENBQUM7SUFVdEIsQ0FBQztJQUVELHdHQUF3RztJQUN4RyxvQkFBb0I7SUFDcEIsd0dBQXdHO0lBRXhHOztPQUVHO0lBQ0ksV0FBVyxDQUFDLE9BQXNCO1FBQ3JDLGlCQUFpQjtRQUNqQixJQUFJLGNBQWMsSUFBSSxPQUFPLEVBQUU7WUFDM0IsaUJBQWlCO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDWCxpQkFBaUI7UUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXJDLCtDQUErQztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07YUFDZCxJQUFJLENBQ0QsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUEwQixFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxFQUN6RSxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUNsQzthQUNBLFNBQVMsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUVoQyxpQkFBaUI7WUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUVQLHNDQUFzQztRQUN0QyxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUYsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUNsRCxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUNsQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFFYixpQkFBaUI7WUFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNkLHFDQUFxQztRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCx3R0FBd0c7SUFDeEcsb0JBQW9CO0lBQ3BCLHdHQUF3RztJQUV4Rzs7O09BR0c7SUFDSyxlQUFlLENBQUMsSUFBd0IsRUFBRSxVQUFrQjtRQUNoRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRS9CLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDWCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFO1lBQzFCLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDaEIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsRUFBRTtvQkFDekMsT0FBTyxJQUFJLENBQUM7aUJBQ2Y7YUFDSjtZQUVELGdDQUFnQztZQUNoQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO2dCQUN4QixTQUFTO2FBQ1o7WUFFRCw4Q0FBOEM7WUFDOUMsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsRUFBRTtnQkFDNUUsT0FBTyxJQUFJLENBQUM7YUFDZjtTQUNKO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssYUFBYSxDQUFDLFVBQWtCO1FBQ3BDLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFFakQsOENBQThDO1FBQzlDLDJCQUEyQjtRQUMzQixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztTQUN0QjtRQUVELGlCQUFpQjtRQUNqQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELHdHQUF3RztJQUN4RyxtQkFBbUI7SUFDbkIsd0dBQXdHO0lBRXhHOztPQUVHO0lBQ0ksU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFTO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUM7SUFDNUIsQ0FBQzs7cUlBMUpRLHdDQUF3Qzt5SEFBeEMsd0NBQXdDLGtPQ2RyRCxzK0hBMkdBOzJGRDdGYSx3Q0FBd0M7a0JBTnBELFNBQVM7K0JBQ0kscUNBQXFDLFVBRXZDLEVBQUUsbUJBQ08sdUJBQXVCLENBQUMsTUFBTTtpS0FZeEMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jZGsvY29lcmNpb25cIjtcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBOaWNlTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vbmF2aWdhdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOaWNlTmF2aWdhdGlvbkl0ZW0gfSBmcm9tIFwiLi4vLi4vLi4vbmF2aWdhdGlvbi50eXBlc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24tYXNpZGUtaXRlbVwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYXNpZGUuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZXM6IFtdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VWZXJ0aWNhbE5hdmlnYXRpb25Bc2lkZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICAgIHB1YmxpYyBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfYXV0b0NvbGxhcHNlOiBCb29sZWFuSW5wdXQ7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcbiAgICBwdWJsaWMgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX3NraXBDaGlsZHJlbjogQm9vbGVhbklucHV0O1xuXG4gICAgcHJpdmF0ZSBfbmljZVZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudDtcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZUFsbCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFjdGl2ZUl0ZW1JZDogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYXV0b0NvbGxhcHNlOiBib29sZWFuO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXRlbTogTmljZU5hdmlnYXRpb25JdGVtO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2tpcENoaWxkcmVuOiBib29sZWFuO1xuXG4gICAgcHVibGljIGFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSBfbmljZU5hdmlnYXRpb25TZXJ2aWNlOiBOaWNlTmF2aWdhdGlvblNlcnZpY2VcbiAgICApIHtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEAgTGlmZWN5Y2xlIGhvb2tzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8qKlxuICAgICAqIE9uIGNoYW5nZXNcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICAvLyBBY3RpdmUgaXRlbSBpZFxuICAgICAgICBpZiAoXCJhY3RpdmVJdGVtSWRcIiBpbiBjaGFuZ2VzKSB7XG4gICAgICAgICAgICAvLyBNYXJrIGlmIGFjdGl2ZVxuICAgICAgICAgICAgdGhpcy5fbWFya0lmQWN0aXZlKHRoaXMuX3JvdXRlci51cmwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT24gaW5pdFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gTWFyayBpZiBhY3RpdmVcbiAgICAgICAgdGhpcy5fbWFya0lmQWN0aXZlKHRoaXMuX3JvdXRlci51cmwpO1xuXG4gICAgICAgIC8vIEF0dGFjaCBhIGxpc3RlbmVyIHRvIHRoZSBOYXZpZ2F0aW9uRW5kIGV2ZW50XG4gICAgICAgIHRoaXMuX3JvdXRlci5ldmVudHNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpOiBldmVudCBpcyBOYXZpZ2F0aW9uRW5kID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE5hdmlnYXRpb25FbmQpID0+IHtcblxuICAgICAgICAgICAgICAgIC8vIE1hcmsgaWYgYWN0aXZlXG4gICAgICAgICAgICAgICAgdGhpcy5fbWFya0lmQWN0aXZlKGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEdldCB0aGUgcGFyZW50IG5hdmlnYXRpb24gY29tcG9uZW50XG4gICAgICAgIHRoaXMuX25pY2VWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQgPSB0aGlzLl9uaWNlTmF2aWdhdGlvblNlcnZpY2UuZ2V0Q29tcG9uZW50KHRoaXMubmFtZSk7XG5cbiAgICAgICAgLy8gU3Vic2NyaWJlIHRvIG9uUmVmcmVzaGVkIG9uIHRoZSBuYXZpZ2F0aW9uIGNvbXBvbmVudFxuICAgICAgICB0aGlzLl9uaWNlVmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50Lm9uUmVmcmVzaGVkLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpXG4gICAgICAgICkuc3Vic2NyaWJlKCgpID0+IHtcblxuICAgICAgICAgICAgLy8gTWFyayBmb3IgY2hlY2tcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbiBkZXN0cm95XG4gICAgICovXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvLyBVbnN1YnNjcmliZSBmcm9tIGFsbCBzdWJzY3JpcHRpb25zXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLm5leHQobnVsbCk7XG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlQWxsLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIFByaXZhdGUgbWV0aG9kc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgZ2l2ZW4gaXRlbSBoYXMgdGhlIGdpdmVuIHVybFxuICAgICAqIGluIG9uZSBvZiBpdHMgY2hpbGRyZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIF9oYXNBY3RpdmVDaGlsZChpdGVtOiBOaWNlTmF2aWdhdGlvbkl0ZW0sIGN1cnJlbnRVcmw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGl0ZW0uY2hpbGRyZW47XG5cbiAgICAgICAgaWYgKCFjaGlsZHJlbikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xuICAgICAgICAgICAgaWYgKGNoaWxkLmNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuX2hhc0FjdGl2ZUNoaWxkKGNoaWxkLCBjdXJyZW50VXJsKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFNraXAgaXRlbXMgb3RoZXIgdGhhbiAnYmFzaWMnXG4gICAgICAgICAgICBpZiAoY2hpbGQudHlwZSAhPT0gXCJiYXNpY1wiKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIENoZWNrIGlmIHRoZSBjaGlsZCBoYXMgYSBsaW5rIGFuZCBpcyBhY3RpdmVcbiAgICAgICAgICAgIGlmIChjaGlsZC5saW5rICYmIHRoaXMuX3JvdXRlci5pc0FjdGl2ZShjaGlsZC5saW5rLCBjaGlsZC5leGFjdE1hdGNoIHx8IGZhbHNlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlY2lkZSBhbmQgbWFyayBpZiB0aGUgaXRlbSBpcyBhY3RpdmVcbiAgICAgKi9cbiAgICBwcml2YXRlIF9tYXJrSWZBY3RpdmUoY3VycmVudFVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBhY3RpdmVJdGVtSWQgaXMgZXF1YWxzIHRvIHRoaXMgaXRlbSBpZFxuICAgICAgICB0aGlzLmFjdGl2ZSA9IHRoaXMuYWN0aXZlSXRlbUlkID09PSB0aGlzLml0ZW0uaWQ7XG5cbiAgICAgICAgLy8gSWYgdGhlIGFzaWRlIGhhcyBhIGNoaWxkcmVuIHRoYXQgaXMgYWN0aXZlLFxuICAgICAgICAvLyBhbHdheXMgbWFyayBpdCBhcyBhY3RpdmVcbiAgICAgICAgaWYgKHRoaXMuX2hhc0FjdGl2ZUNoaWxkKHRoaXMuaXRlbSwgY3VycmVudFVybCkpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1hcmsgZm9yIGNoZWNrXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQCBQdWJsaWMgbWV0aG9kc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvKipcbiAgICAgKiBUcmFjayBieSBmdW5jdGlvbiBmb3IgbmdGb3IgbG9vcHNcbiAgICAgKi9cbiAgICBwdWJsaWMgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSk6IGFueSB7XG4gICAgICAgIHJldHVybiBpdGVtLmlkIHx8IGluZGV4O1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLXdyYXBwZXJcIlxuICAgIFtjbGFzcy5uaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1oYXMtc3VidGl0bGVdPVwiISFpdGVtLnN1YnRpdGxlXCJcbiAgICBbbmdDbGFzc109XCJpdGVtLmNsYXNzZXM/LndyYXBwZXJcIlxuPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICduaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1hY3RpdmUnOiBhY3RpdmUsXG4gICAgICAgICAgICAnbmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tZGlzYWJsZWQnOiBpdGVtLmRpc2FibGVkLFxuICAgICAgICAgICAgJ25pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWFjdGl2ZS1mb3JjZWQnOiBpdGVtLmFjdGl2ZVxuICAgICAgICB9XCJcbiAgICA+XG4gICAgICAgIDwhLS0gSWNvbiAtLT5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1pY29uXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLmNsYXNzZXM/Lmljb25cIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5pY29uICYmIGl0ZW0uaWNvblR5cGUgPT09ICdtYXRlcmlhbCdcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBpdGVtLmljb24gfX1cbiAgICAgICAgPC9tYXQtaWNvbj5cblxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWljb25cIiBbbmdDbGFzc109XCJpdGVtLmljb25cIiAqbmdJZj1cIml0ZW0uaWNvbiAmJiBpdGVtLmljb25UeXBlID09ICdmb250YXdlc29tZSdcIj48L3NwYW4+XG5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1pY29uXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLmNsYXNzZXM/Lmljb25cIlxuICAgICAgICAgICAgICAgIFtzdmdJY29uXT1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmljb24gJiYgaXRlbS5pY29uVHlwZSA9PT0gJ3N2ZydcIlxuICAgICAgICA+PC9tYXQtaWNvbj5cblxuICAgICAgICA8IS0tIFRpdGxlICYgU3VidGl0bGUgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS10aXRsZS13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tdGl0bGVcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJpdGVtLmNsYXNzZXM/LnRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLXN1YnRpdGxlXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uc3VidGl0bGVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8uc3VidGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5zdWJ0aXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIEJhZGdlIC0tPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWJhZGdlXCJcbiAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5iYWRnZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWJhZGdlLWNvbnRlbnRcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uYmFkZ2UuY2xhc3Nlc1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5iYWRnZS50aXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCIhc2tpcENoaWxkcmVuXCI+XG4gICAgPGRpdiBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWNoaWxkcmVuXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbS5jaGlsZHJlbjsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgICAgICA8IS0tIFNraXAgdGhlIGhpZGRlbiBpdGVtcyAtLT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoaXRlbS5oaWRkZW4gJiYgIWl0ZW0uaGlkZGVuKGl0ZW0pKSB8fCAhaXRlbS5oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICA8IS0tIEJhc2ljIC0tPlxuICAgICAgICAgICAgICAgIDxuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24tYmFzaWMtaXRlbVxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ2Jhc2ljJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgICAgICA+PC9uaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24tYmFzaWMtaXRlbT5cblxuICAgICAgICAgICAgICAgIDwhLS0gQ29sbGFwc2FibGUgLS0+XG4gICAgICAgICAgICAgICAgPG5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1jb2xsYXBzYWJsZS1pdGVtXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS50eXBlID09PSAnY29sbGFwc2FibGUnXCJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbYXV0b0NvbGxhcHNlXT1cImF1dG9Db2xsYXBzZVwiXG4gICAgICAgICAgICAgICAgPjwvbmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWNvbGxhcHNhYmxlLWl0ZW0+XG5cbiAgICAgICAgICAgICAgICA8IS0tIERpdmlkZXIgLS0+XG4gICAgICAgICAgICAgICAgPG5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1kaXZpZGVyLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdkaXZpZGVyJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgICAgICA+PC9uaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24tZGl2aWRlci1pdGVtPlxuXG4gICAgICAgICAgICAgICAgPCEtLSBHcm91cCAtLT5cbiAgICAgICAgICAgICAgICA8bmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWdyb3VwLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdncm91cCdcIlxuICAgICAgICAgICAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgPjwvbmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWdyb3VwLWl0ZW0+XG5cbiAgICAgICAgICAgICAgICA8IS0tIFNwYWNlciAtLT5cbiAgICAgICAgICAgICAgICA8bmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLXNwYWNlci1pdGVtXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS50eXBlID09PSAnc3BhY2VyJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgICAgICA+PC9uaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24tc3BhY2VyLWl0ZW0+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vdmVydGljYWwvY29tcG9uZW50cy9hc2lkZS9hc2lkZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi92ZXJ0aWNhbC9jb21wb25lbnRzL2FzaWRlL2FzaWRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUErQyxNQUFNLGVBQWUsQ0FBQztBQUMxSSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBU3BFLE1BQU0sT0FBTyx3Q0FBd0M7SUEwQmpEOztPQUVHO0lBQ0gsWUFDWSxrQkFBcUMsRUFDckMsT0FBZSxFQUNmLHNCQUE2QztRQUY3Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO1FBekJqRCxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFpQnRDLFdBQU0sR0FBRyxLQUFLLENBQUM7SUFVdEIsQ0FBQztJQUVELHdHQUF3RztJQUN4RyxvQkFBb0I7SUFDcEIsd0dBQXdHO0lBRXhHOztPQUVHO0lBQ0ksV0FBVyxDQUFDLE9BQXNCO1FBQ3JDLGlCQUFpQjtRQUNqQixJQUFJLGNBQWMsSUFBSSxPQUFPLEVBQUU7WUFDM0IsaUJBQWlCO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDWCxpQkFBaUI7UUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXJDLCtDQUErQztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU07YUFDZCxJQUFJLENBQ0QsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUEwQixFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxFQUN6RSxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUNsQzthQUNBLFNBQVMsQ0FBQyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtZQUVoQyxpQkFBaUI7WUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztRQUVQLHNDQUFzQztRQUN0QyxJQUFJLENBQUMsZ0NBQWdDLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUYsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUNsRCxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUNsQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFFYixpQkFBaUI7WUFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNkLHFDQUFxQztRQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCx3R0FBd0c7SUFDeEcsb0JBQW9CO0lBQ3BCLHdHQUF3RztJQUV4Rzs7O09BR0c7SUFDSyxlQUFlLENBQUMsSUFBd0IsRUFBRSxVQUFrQjtRQUNoRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRS9CLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDWCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFO1lBQzFCLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDaEIsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsRUFBRTtvQkFDekMsT0FBTyxJQUFJLENBQUM7aUJBQ2Y7YUFDSjtZQUVELGdDQUFnQztZQUNoQyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO2dCQUN4QixTQUFTO2FBQ1o7WUFFRCw4Q0FBOEM7WUFDOUMsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsRUFBRTtnQkFDNUUsT0FBTyxJQUFJLENBQUM7YUFDZjtTQUNKO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVEOztPQUVHO0lBQ0ssYUFBYSxDQUFDLFVBQWtCO1FBQ3BDLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFFakQsOENBQThDO1FBQzlDLDJCQUEyQjtRQUMzQixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRTtZQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztTQUN0QjtRQUVELGlCQUFpQjtRQUNqQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELHdHQUF3RztJQUN4RyxtQkFBbUI7SUFDbkIsd0dBQXdHO0lBRXhHOztPQUVHO0lBQ0ksU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFTO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUM7SUFDNUIsQ0FBQzs7cUlBMUpRLHdDQUF3Qzt5SEFBeEMsd0NBQXdDLGtPQ2RyRCxzK0hBMkdBOzJGRDdGYSx3Q0FBd0M7a0JBTnBELFNBQVM7K0JBQ0kscUNBQXFDLG1CQUc5Qix1QkFBdUIsQ0FBQyxNQUFNO2lLQVl4QyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9jb2VyY2lvblwiO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IE5pY2VOYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9uYXZpZ2F0aW9uLnNlcnZpY2VcIjtcbmltcG9ydCB7IE5pY2VOYXZpZ2F0aW9uSXRlbSB9IGZyb20gXCIuLi8uLi8uLi9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1hc2lkZS1pdGVtXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9hc2lkZS5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlczogW10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTmljZVZlcnRpY2FsTmF2aWdhdGlvbkFzaWRlSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gICAgcHVibGljIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9hdXRvQ29sbGFwc2U6IEJvb2xlYW5JbnB1dDtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6dmFyaWFibGUtbmFtZVxuICAgIHB1YmxpYyBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfc2tpcENoaWxkcmVuOiBCb29sZWFuSW5wdXQ7XG5cbiAgICBwcml2YXRlIF9uaWNlVmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50O1xuICAgIHByaXZhdGUgX3Vuc3Vic2NyaWJlQWxsID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWN0aXZlSXRlbUlkOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhdXRvQ29sbGFwc2U6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpdGVtOiBOaWNlTmF2aWdhdGlvbkl0ZW07XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBza2lwQ2hpbGRyZW46IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgYWN0aXZlID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIF9uaWNlTmF2aWdhdGlvblNlcnZpY2U6IE5pY2VOYXZpZ2F0aW9uU2VydmljZVxuICAgICkge1xuICAgIH1cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQCBMaWZlY3ljbGUgaG9va3NcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLyoqXG4gICAgICogT24gY2hhbmdlc1xuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIC8vIEFjdGl2ZSBpdGVtIGlkXG4gICAgICAgIGlmIChcImFjdGl2ZUl0ZW1JZFwiIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIC8vIE1hcmsgaWYgYWN0aXZlXG4gICAgICAgICAgICB0aGlzLl9tYXJrSWZBY3RpdmUodGhpcy5fcm91dGVyLnVybCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbiBpbml0XG4gICAgICovXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBNYXJrIGlmIGFjdGl2ZVxuICAgICAgICB0aGlzLl9tYXJrSWZBY3RpdmUodGhpcy5fcm91dGVyLnVybCk7XG5cbiAgICAgICAgLy8gQXR0YWNoIGEgbGlzdGVuZXIgdG8gdGhlIE5hdmlnYXRpb25FbmQgZXZlbnRcbiAgICAgICAgdGhpcy5fcm91dGVyLmV2ZW50c1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCk6IGV2ZW50IGlzIE5hdmlnYXRpb25FbmQgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5zdWJzY3JpYmVBbGwpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogTmF2aWdhdGlvbkVuZCkgPT4ge1xuXG4gICAgICAgICAgICAgICAgLy8gTWFyayBpZiBhY3RpdmVcbiAgICAgICAgICAgICAgICB0aGlzLl9tYXJrSWZBY3RpdmUoZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gR2V0IHRoZSBwYXJlbnQgbmF2aWdhdGlvbiBjb21wb25lbnRcbiAgICAgICAgdGhpcy5fbmljZVZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudCA9IHRoaXMuX25pY2VOYXZpZ2F0aW9uU2VydmljZS5nZXRDb21wb25lbnQodGhpcy5uYW1lKTtcblxuICAgICAgICAvLyBTdWJzY3JpYmUgdG8gb25SZWZyZXNoZWQgb24gdGhlIG5hdmlnYXRpb24gY29tcG9uZW50XG4gICAgICAgIHRoaXMuX25pY2VWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQub25SZWZyZXNoZWQucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZUFsbClcbiAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuXG4gICAgICAgICAgICAvLyBNYXJrIGZvciBjaGVja1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGRlc3Ryb3lcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIC8vIFVuc3Vic2NyaWJlIGZyb20gYWxsIHN1YnNjcmlwdGlvbnNcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwubmV4dChudWxsKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEAgUHJpdmF0ZSBtZXRob2RzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGlmIHRoZSBnaXZlbiBpdGVtIGhhcyB0aGUgZ2l2ZW4gdXJsXG4gICAgICogaW4gb25lIG9mIGl0cyBjaGlsZHJlblxuICAgICAqL1xuICAgIHByaXZhdGUgX2hhc0FjdGl2ZUNoaWxkKGl0ZW06IE5pY2VOYXZpZ2F0aW9uSXRlbSwgY3VycmVudFVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gaXRlbS5jaGlsZHJlbjtcblxuICAgICAgICBpZiAoIWNoaWxkcmVuKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XG4gICAgICAgICAgICBpZiAoY2hpbGQuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5faGFzQWN0aXZlQ2hpbGQoY2hpbGQsIGN1cnJlbnRVcmwpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2tpcCBpdGVtcyBvdGhlciB0aGFuICdiYXNpYydcbiAgICAgICAgICAgIGlmIChjaGlsZC50eXBlICE9PSBcImJhc2ljXCIpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGNoaWxkIGhhcyBhIGxpbmsgYW5kIGlzIGFjdGl2ZVxuICAgICAgICAgICAgaWYgKGNoaWxkLmxpbmsgJiYgdGhpcy5fcm91dGVyLmlzQWN0aXZlKGNoaWxkLmxpbmssIGNoaWxkLmV4YWN0TWF0Y2ggfHwgZmFsc2UpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVjaWRlIGFuZCBtYXJrIGlmIHRoZSBpdGVtIGlzIGFjdGl2ZVxuICAgICAqL1xuICAgIHByaXZhdGUgX21hcmtJZkFjdGl2ZShjdXJyZW50VXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGFjdGl2ZUl0ZW1JZCBpcyBlcXVhbHMgdG8gdGhpcyBpdGVtIGlkXG4gICAgICAgIHRoaXMuYWN0aXZlID0gdGhpcy5hY3RpdmVJdGVtSWQgPT09IHRoaXMuaXRlbS5pZDtcblxuICAgICAgICAvLyBJZiB0aGUgYXNpZGUgaGFzIGEgY2hpbGRyZW4gdGhhdCBpcyBhY3RpdmUsXG4gICAgICAgIC8vIGFsd2F5cyBtYXJrIGl0IGFzIGFjdGl2ZVxuICAgICAgICBpZiAodGhpcy5faGFzQWN0aXZlQ2hpbGQodGhpcy5pdGVtLCBjdXJyZW50VXJsKSkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWFyayBmb3IgY2hlY2tcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIFB1YmxpYyBtZXRob2RzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8qKlxuICAgICAqIFRyYWNrIGJ5IGZ1bmN0aW9uIGZvciBuZ0ZvciBsb29wc1xuICAgICAqL1xuICAgIHB1YmxpYyB0cmFja0J5Rm4oaW5kZXg6IG51bWJlciwgaXRlbTogYW55KTogYW55IHtcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQgfHwgaW5kZXg7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0td3JhcHBlclwiXG4gICAgW2NsYXNzLm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWhhcy1zdWJ0aXRsZV09XCIhIWl0ZW0uc3VidGl0bGVcIlxuICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8ud3JhcHBlclwiXG4+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ25pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWFjdGl2ZSc6IGFjdGl2ZSxcbiAgICAgICAgICAgICduaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1kaXNhYmxlZCc6IGl0ZW0uZGlzYWJsZWQsXG4gICAgICAgICAgICAnbmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tYWN0aXZlLWZvcmNlZCc6IGl0ZW0uYWN0aXZlXG4gICAgICAgIH1cIlxuICAgID5cbiAgICAgICAgPCEtLSBJY29uIC0tPlxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWljb25cIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8uaWNvblwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmljb24gJiYgaXRlbS5pY29uVHlwZSA9PT0gJ21hdGVyaWFsJ1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIHt7IGl0ZW0uaWNvbiB9fVxuICAgICAgICA8L21hdC1pY29uPlxuXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0taWNvblwiIFtuZ0NsYXNzXT1cIml0ZW0uaWNvblwiICpuZ0lmPVwiaXRlbS5pY29uICYmIGl0ZW0uaWNvblR5cGUgPT0gJ2ZvbnRhd2Vzb21lJ1wiPjwvc3Bhbj5cblxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWljb25cIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8uaWNvblwiXG4gICAgICAgICAgICAgICAgW3N2Z0ljb25dPVwiaXRlbS5pY29uXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uaWNvbiAmJiBpdGVtLmljb25UeXBlID09PSAnc3ZnJ1wiXG4gICAgICAgID48L21hdC1pY29uPlxuXG4gICAgICAgIDwhLS0gVGl0bGUgJiBTdWJ0aXRsZSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLXRpdGxlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS10aXRsZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8udGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50aXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tc3VidGl0bGVcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5zdWJ0aXRsZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy5zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnN1YnRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gQmFkZ2UgLS0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tYmFkZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmJhZGdlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tYmFkZ2UtY29udGVudFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5iYWRnZS5jbGFzc2VzXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLmJhZGdlLnRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFza2lwQ2hpbGRyZW5cIj5cbiAgICA8ZGl2IGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tY2hpbGRyZW5cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtLmNoaWxkcmVuOyB0cmFja0J5OiB0cmFja0J5Rm5cIj5cbiAgICAgICAgICAgIDwhLS0gU2tpcCB0aGUgaGlkZGVuIGl0ZW1zIC0tPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihpdGVtLmhpZGRlbiAmJiAhaXRlbS5oaWRkZW4oaXRlbSkpIHx8ICFpdGVtLmhpZGRlblwiPlxuICAgICAgICAgICAgICAgIDwhLS0gQmFzaWMgLS0+XG4gICAgICAgICAgICAgICAgPG5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1iYXNpYy1pdGVtXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS50eXBlID09PSAnYmFzaWMnXCJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgID48L25pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1iYXNpYy1pdGVtPlxuXG4gICAgICAgICAgICAgICAgPCEtLSBDb2xsYXBzYWJsZSAtLT5cbiAgICAgICAgICAgICAgICA8bmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWNvbGxhcHNhYmxlLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdjb2xsYXBzYWJsZSdcIlxuICAgICAgICAgICAgICAgICAgICBbaXRlbV09XCJpdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFthdXRvQ29sbGFwc2VdPVwiYXV0b0NvbGxhcHNlXCJcbiAgICAgICAgICAgICAgICA+PC9uaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24tY29sbGFwc2FibGUtaXRlbT5cblxuICAgICAgICAgICAgICAgIDwhLS0gRGl2aWRlciAtLT5cbiAgICAgICAgICAgICAgICA8bmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWRpdmlkZXItaXRlbVxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ2RpdmlkZXInXCJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgID48L25pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1kaXZpZGVyLWl0ZW0+XG5cbiAgICAgICAgICAgICAgICA8IS0tIEdyb3VwIC0tPlxuICAgICAgICAgICAgICAgIDxuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24tZ3JvdXAtaXRlbVxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0udHlwZSA9PT0gJ2dyb3VwJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgICAgICA+PC9uaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24tZ3JvdXAtaXRlbT5cblxuICAgICAgICAgICAgICAgIDwhLS0gU3BhY2VyIC0tPlxuICAgICAgICAgICAgICAgIDxuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24tc3BhY2VyLWl0ZW1cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLnR5cGUgPT09ICdzcGFjZXInXCJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgID48L25pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1zcGFjZXItaXRlbT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -8,9 +8,11 @@ import * as i0 from "@angular/core";
8
8
  import * as i1 from "../../../navigation.service";
9
9
  import * as i2 from "../../../../../providers/utils";
10
10
  import * as i3 from "@angular/router";
11
- import * as i4 from "@angular/material/icon";
12
- import * as i5 from "@angular/common";
13
- import * as i6 from "@ngx-translate/core";
11
+ import * as i4 from "@angular/common";
12
+ import * as i5 from "@angular/material/icon";
13
+ import * as i6 from "../../../directives/show-hint.directive";
14
+ import * as i7 from "@ngx-translate/core";
15
+ import * as i8 from "../../../pipes/should-show-hint.pipe";
14
16
  export class NiceVerticalNavigationBasicItemComponent {
15
17
  /**
16
18
  * Constructor
@@ -54,14 +56,14 @@ export class NiceVerticalNavigationBasicItemComponent {
54
56
  this._unsubscribeAll.complete();
55
57
  }
56
58
  }
57
- NiceVerticalNavigationBasicItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceVerticalNavigationBasicItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NiceNavigationService }, { token: i2.NiceUtilsService }, { token: i3.ActivatedRoute }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
58
- NiceVerticalNavigationBasicItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: NiceVerticalNavigationBasicItemComponent, selector: "nice-vertical-navigation-basic-item", inputs: { item: "item", name: "name" }, ngImport: i0, template: "<!-- Item wrapper -->\n<div\n class=\"nice-vertical-navigation-item-wrapper\"\n [class.nice-vertical-navigation-item-has-subtitle]=\"!!item.subtitle\"\n [ngClass]=\"item.classes?.wrapper\"\n>\n\n <!-- Item with an internal link -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && !item.externalLink && !item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\"\n [routerLink]=\"[item.link]\"\n [routerLinkActive]=\"'nice-vertical-navigation-item-active'\"\n [routerLinkActiveOptions]=\"{exact: item.exactMatch || false}\"\n [queryParams]=\"item?.queryParams\"\n [state]=\"item?.state\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with an external link -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && item.externalLink && !item.function && !item.disabled\"\n [href]=\"item.link\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with a function -->\n <div\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"!item.link && item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\"\n (click)=\"item.function(item)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </div>\n\n <!-- Item with an internal link and function -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && !item.externalLink && item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\"\n [routerLink]=\"[item.link]\"\n [routerLinkActive]=\"'nice-vertical-navigation-item-active'\"\n [routerLinkActiveOptions]=\"{exact: item.exactMatch || false}\"\n (click)=\"item.function(item)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with an external link and function -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && item.externalLink && item.function && !item.disabled\"\n [href]=\"item.link\"\n (click)=\"item.function(item)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with a no link and no function -->\n <div\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"!item.link && !item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </div>\n\n <!-- Item is disabled -->\n <div\n class=\"nice-vertical-navigation-item nice-vertical-navigation-item-disabled\"\n *ngIf=\"item.disabled\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </div>\n\n</div>\n\n<!-- Item template -->\n<ng-template #itemTemplate>\n <!-- Icon -->\n <ng-container *ngIf=\"itemActive$ | async; else notActive\">\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n *ngIf=\"item.icon && item.iconType === 'material'\"\n >\n {{ item.activeIcon || item.icon }}\n </mat-icon>\n\n <i class=\"nice-vertical-navigation-item-icon fontawesome\" [ngClass]=\"item.activeIcon || item.icon\" *ngIf=\"item.icon && item.iconType == 'fontawesome'\"></i>\n\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n [svgIcon]=\"item.activeIcon || item.icon\"\n *ngIf=\"item.icon && item.iconType == 'svg'\"\n ></mat-icon>\n </ng-container>\n\n <ng-template #notActive>\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n *ngIf=\"item.icon && item.iconType === 'material'\"\n >\n {{ item.icon }}\n </mat-icon>\n\n <i class=\"nice-vertical-navigation-item-icon fontawesome\" [ngClass]=\"item.icon\" *ngIf=\"item.icon && item.iconType == 'fontawesome'\"></i>\n\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n [svgIcon]=\"item.icon\"\n *ngIf=\"item.icon && item.iconType == 'svg'\"\n ></mat-icon>\n </ng-template>\n\n <!-- Title & Subtitle -->\n <div class=\"nice-vertical-navigation-item-title-wrapper\">\n <div class=\"nice-vertical-navigation-item-title\">\n <span [ngClass]=\"item.classes?.title\">\n {{ item.title | translate }}\n </span>\n </div>\n <div\n class=\"nice-vertical-navigation-item-subtitle\"\n *ngIf=\"item.subtitle\">\n <span [ngClass]=\"item.classes?.subtitle\">\n {{ item.subtitle | translate }}\n </span>\n </div>\n </div>\n\n <!-- Badge -->\n <div\n class=\"nice-vertical-navigation-item-badge\"\n *ngIf=\"item.badge\">\n <div\n class=\"nice-vertical-navigation-item-badge-content\"\n [ngClass]=\"item.badge.classes\">\n {{ item.badge.title | translate }}\n </div>\n </div>\n\n</ng-template>\n", components: [{ type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i5.AsyncPipe, "translate": i6.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceVerticalNavigationBasicItemComponent, decorators: [{
59
+ NiceVerticalNavigationBasicItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceVerticalNavigationBasicItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NiceNavigationService }, { token: i2.NiceUtilsService }, { token: i3.ActivatedRoute }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component });
60
+ NiceVerticalNavigationBasicItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceVerticalNavigationBasicItemComponent, selector: "nice-vertical-navigation-basic-item", inputs: { item: "item", name: "name" }, ngImport: i0, template: "<!-- Item wrapper -->\n<div\n class=\"nice-vertical-navigation-item-wrapper\"\n [class.nice-vertical-navigation-item-has-subtitle]=\"!!item.subtitle\"\n [ngClass]=\"item.classes?.wrapper\"\n>\n\n <!-- Item with an internal link -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && !item.externalLink && !item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\"\n [routerLink]=\"[item.link]\"\n [routerLinkActive]=\"'nice-vertical-navigation-item-active'\"\n [routerLinkActiveOptions]=\"{exact: item.exactMatch || false}\"\n [queryParams]=\"item?.queryParams\"\n [state]=\"item?.state\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with an external link -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && item.externalLink && !item.function && !item.disabled\"\n [href]=\"item.link\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with a function -->\n <div\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"!item.link && item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\"\n (click)=\"item.function(item)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </div>\n\n <!-- Item with an internal link and function -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && !item.externalLink && item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\"\n [routerLink]=\"[item.link]\"\n [routerLinkActive]=\"'nice-vertical-navigation-item-active'\"\n [routerLinkActiveOptions]=\"{exact: item.exactMatch || false}\"\n (click)=\"item.function(item)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with an external link and function -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && item.externalLink && item.function && !item.disabled\"\n [href]=\"item.link\"\n (click)=\"item.function(item)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with a no link and no function -->\n <div\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"!item.link && !item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </div>\n\n <!-- Item is disabled -->\n <div\n class=\"nice-vertical-navigation-item nice-vertical-navigation-item-disabled\"\n *ngIf=\"item.disabled\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </div>\n\n</div>\n\n<!-- Item template -->\n<ng-template #itemTemplate>\n <ng-container *ngIf=\"{ showHint: item | niceShouldShowHint | async } as ctx\">\n <!-- Icon -->\n <div class=\"nice-vertical-navigation-item-icon-wrapper\">\n <ng-container *ngIf=\"itemActive$ | async; else notActive\">\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n *ngIf=\"item.icon && item.iconType === 'material'\"\n >\n {{ item.activeIcon || item.icon }}\n </mat-icon>\n\n <i class=\"nice-vertical-navigation-item-icon fontawesome\" [ngClass]=\"item.activeIcon || item.icon\" *ngIf=\"item.icon && item.iconType == 'fontawesome'\"></i>\n\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n [svgIcon]=\"item.activeIcon || item.icon\"\n *ngIf=\"item.icon && item.iconType == 'svg'\"\n ></mat-icon>\n </ng-container>\n\n <ng-template #notActive>\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n *ngIf=\"item.icon && item.iconType === 'material'\"\n >\n {{ item.icon }}\n </mat-icon>\n\n <i class=\"nice-vertical-navigation-item-icon fontawesome\" [ngClass]=\"item.icon\" *ngIf=\"item.icon && item.iconType == 'fontawesome'\"></i>\n\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n [svgIcon]=\"item.icon\"\n *ngIf=\"item.icon && item.iconType == 'svg'\"\n ></mat-icon>\n </ng-template>\n\n <div *ngIf=\"ctx.showHint && item.icon\" class=\"nice-vertical-navigation-hint\"></div>\n </div>\n\n <!-- Title & Subtitle -->\n <div class=\"nice-vertical-navigation-item-title-wrapper\">\n <div class=\"nice-vertical-navigation-item-title\" niceShowHint [shouldShow]=\"ctx.showHint\" [item]=\"item\">\n <span [ngClass]=\"item.classes?.title\">\n {{ item.title | translate }}\n </span>\n\n <div *ngIf=\"ctx.showHint\" class=\"nice-vertical-navigation-hint\"></div>\n </div>\n <div\n class=\"nice-vertical-navigation-item-subtitle\"\n *ngIf=\"item.subtitle\"\n >\n <span [ngClass]=\"item.classes?.subtitle\">\n {{ item.subtitle | translate }}\n </span>\n </div>\n </div>\n\n <!-- Badge -->\n <div\n class=\"nice-vertical-navigation-item-badge\"\n *ngIf=\"item.badge\"\n >\n <div\n class=\"nice-vertical-navigation-item-badge-content\"\n [ngClass]=\"item.badge.classes\"\n >\n {{ item.badge.title | translate }}\n </div>\n </div>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.NiceShowHintDirective, selector: "[niceShowHint]", inputs: ["shouldShow", "item"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i8.NiceShouldShowHintPipe, name: "niceShouldShowHint" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceVerticalNavigationBasicItemComponent, decorators: [{
60
62
  type: Component,
61
- args: [{ selector: "nice-vertical-navigation-basic-item", styles: [], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Item wrapper -->\n<div\n class=\"nice-vertical-navigation-item-wrapper\"\n [class.nice-vertical-navigation-item-has-subtitle]=\"!!item.subtitle\"\n [ngClass]=\"item.classes?.wrapper\"\n>\n\n <!-- Item with an internal link -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && !item.externalLink && !item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\"\n [routerLink]=\"[item.link]\"\n [routerLinkActive]=\"'nice-vertical-navigation-item-active'\"\n [routerLinkActiveOptions]=\"{exact: item.exactMatch || false}\"\n [queryParams]=\"item?.queryParams\"\n [state]=\"item?.state\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with an external link -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && item.externalLink && !item.function && !item.disabled\"\n [href]=\"item.link\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with a function -->\n <div\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"!item.link && item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\"\n (click)=\"item.function(item)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </div>\n\n <!-- Item with an internal link and function -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && !item.externalLink && item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\"\n [routerLink]=\"[item.link]\"\n [routerLinkActive]=\"'nice-vertical-navigation-item-active'\"\n [routerLinkActiveOptions]=\"{exact: item.exactMatch || false}\"\n (click)=\"item.function(item)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with an external link and function -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && item.externalLink && item.function && !item.disabled\"\n [href]=\"item.link\"\n (click)=\"item.function(item)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with a no link and no function -->\n <div\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"!item.link && !item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </div>\n\n <!-- Item is disabled -->\n <div\n class=\"nice-vertical-navigation-item nice-vertical-navigation-item-disabled\"\n *ngIf=\"item.disabled\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </div>\n\n</div>\n\n<!-- Item template -->\n<ng-template #itemTemplate>\n <!-- Icon -->\n <ng-container *ngIf=\"itemActive$ | async; else notActive\">\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n *ngIf=\"item.icon && item.iconType === 'material'\"\n >\n {{ item.activeIcon || item.icon }}\n </mat-icon>\n\n <i class=\"nice-vertical-navigation-item-icon fontawesome\" [ngClass]=\"item.activeIcon || item.icon\" *ngIf=\"item.icon && item.iconType == 'fontawesome'\"></i>\n\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n [svgIcon]=\"item.activeIcon || item.icon\"\n *ngIf=\"item.icon && item.iconType == 'svg'\"\n ></mat-icon>\n </ng-container>\n\n <ng-template #notActive>\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n *ngIf=\"item.icon && item.iconType === 'material'\"\n >\n {{ item.icon }}\n </mat-icon>\n\n <i class=\"nice-vertical-navigation-item-icon fontawesome\" [ngClass]=\"item.icon\" *ngIf=\"item.icon && item.iconType == 'fontawesome'\"></i>\n\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n [svgIcon]=\"item.icon\"\n *ngIf=\"item.icon && item.iconType == 'svg'\"\n ></mat-icon>\n </ng-template>\n\n <!-- Title & Subtitle -->\n <div class=\"nice-vertical-navigation-item-title-wrapper\">\n <div class=\"nice-vertical-navigation-item-title\">\n <span [ngClass]=\"item.classes?.title\">\n {{ item.title | translate }}\n </span>\n </div>\n <div\n class=\"nice-vertical-navigation-item-subtitle\"\n *ngIf=\"item.subtitle\">\n <span [ngClass]=\"item.classes?.subtitle\">\n {{ item.subtitle | translate }}\n </span>\n </div>\n </div>\n\n <!-- Badge -->\n <div\n class=\"nice-vertical-navigation-item-badge\"\n *ngIf=\"item.badge\">\n <div\n class=\"nice-vertical-navigation-item-badge-content\"\n [ngClass]=\"item.badge.classes\">\n {{ item.badge.title | translate }}\n </div>\n </div>\n\n</ng-template>\n" }]
63
+ args: [{ selector: "nice-vertical-navigation-basic-item", changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- Item wrapper -->\n<div\n class=\"nice-vertical-navigation-item-wrapper\"\n [class.nice-vertical-navigation-item-has-subtitle]=\"!!item.subtitle\"\n [ngClass]=\"item.classes?.wrapper\"\n>\n\n <!-- Item with an internal link -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && !item.externalLink && !item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\"\n [routerLink]=\"[item.link]\"\n [routerLinkActive]=\"'nice-vertical-navigation-item-active'\"\n [routerLinkActiveOptions]=\"{exact: item.exactMatch || false}\"\n [queryParams]=\"item?.queryParams\"\n [state]=\"item?.state\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with an external link -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && item.externalLink && !item.function && !item.disabled\"\n [href]=\"item.link\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with a function -->\n <div\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"!item.link && item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\"\n (click)=\"item.function(item)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </div>\n\n <!-- Item with an internal link and function -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && !item.externalLink && item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\"\n [routerLink]=\"[item.link]\"\n [routerLinkActive]=\"'nice-vertical-navigation-item-active'\"\n [routerLinkActiveOptions]=\"{exact: item.exactMatch || false}\"\n (click)=\"item.function(item)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with an external link and function -->\n <a\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"item.link && item.externalLink && item.function && !item.disabled\"\n [href]=\"item.link\"\n (click)=\"item.function(item)\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </a>\n\n <!-- Item with a no link and no function -->\n <div\n class=\"nice-vertical-navigation-item\"\n *ngIf=\"!item.link && !item.function && !item.disabled\"\n [ngClass]=\"{'nice-vertical-navigation-item-active-forced': item.active}\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </div>\n\n <!-- Item is disabled -->\n <div\n class=\"nice-vertical-navigation-item nice-vertical-navigation-item-disabled\"\n *ngIf=\"item.disabled\">\n <ng-container *ngTemplateOutlet=\"itemTemplate\"></ng-container>\n </div>\n\n</div>\n\n<!-- Item template -->\n<ng-template #itemTemplate>\n <ng-container *ngIf=\"{ showHint: item | niceShouldShowHint | async } as ctx\">\n <!-- Icon -->\n <div class=\"nice-vertical-navigation-item-icon-wrapper\">\n <ng-container *ngIf=\"itemActive$ | async; else notActive\">\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n *ngIf=\"item.icon && item.iconType === 'material'\"\n >\n {{ item.activeIcon || item.icon }}\n </mat-icon>\n\n <i class=\"nice-vertical-navigation-item-icon fontawesome\" [ngClass]=\"item.activeIcon || item.icon\" *ngIf=\"item.icon && item.iconType == 'fontawesome'\"></i>\n\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n [svgIcon]=\"item.activeIcon || item.icon\"\n *ngIf=\"item.icon && item.iconType == 'svg'\"\n ></mat-icon>\n </ng-container>\n\n <ng-template #notActive>\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n *ngIf=\"item.icon && item.iconType === 'material'\"\n >\n {{ item.icon }}\n </mat-icon>\n\n <i class=\"nice-vertical-navigation-item-icon fontawesome\" [ngClass]=\"item.icon\" *ngIf=\"item.icon && item.iconType == 'fontawesome'\"></i>\n\n <mat-icon\n class=\"nice-vertical-navigation-item-icon\"\n [ngClass]=\"item.classes?.icon\"\n [svgIcon]=\"item.icon\"\n *ngIf=\"item.icon && item.iconType == 'svg'\"\n ></mat-icon>\n </ng-template>\n\n <div *ngIf=\"ctx.showHint && item.icon\" class=\"nice-vertical-navigation-hint\"></div>\n </div>\n\n <!-- Title & Subtitle -->\n <div class=\"nice-vertical-navigation-item-title-wrapper\">\n <div class=\"nice-vertical-navigation-item-title\" niceShowHint [shouldShow]=\"ctx.showHint\" [item]=\"item\">\n <span [ngClass]=\"item.classes?.title\">\n {{ item.title | translate }}\n </span>\n\n <div *ngIf=\"ctx.showHint\" class=\"nice-vertical-navigation-hint\"></div>\n </div>\n <div\n class=\"nice-vertical-navigation-item-subtitle\"\n *ngIf=\"item.subtitle\"\n >\n <span [ngClass]=\"item.classes?.subtitle\">\n {{ item.subtitle | translate }}\n </span>\n </div>\n </div>\n\n <!-- Badge -->\n <div\n class=\"nice-vertical-navigation-item-badge\"\n *ngIf=\"item.badge\"\n >\n <div\n class=\"nice-vertical-navigation-item-badge-content\"\n [ngClass]=\"item.badge.classes\"\n >\n {{ item.badge.title | translate }}\n </div>\n </div>\n </ng-container>\n</ng-template>\n" }]
62
64
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.NiceNavigationService }, { type: i2.NiceUtilsService }, { type: i3.ActivatedRoute }, { type: i3.Router }]; }, propDecorators: { item: [{
63
65
  type: Input
64
66
  }], name: [{
65
67
  type: Input
66
68
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vdmVydGljYWwvY29tcG9uZW50cy9iYXNpYy9iYXNpYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi92ZXJ0aWNhbC9jb21wb25lbnRzL2Jhc2ljL2Jhc2ljLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7QUFTcEUsTUFBTSxPQUFPLHdDQUF3QztJQW9CakQ7O09BRUc7SUFDSCxZQUNZLGtCQUFxQyxFQUNyQyxzQkFBNkMsRUFDN0MsaUJBQW1DLEVBQ25DLE1BQXNCLEVBQ3RCLE9BQWU7UUFKZix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBdUI7UUFDN0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBMUJuQixvQkFBZSxHQUFpQixJQUFJLE9BQU8sRUFBTyxDQUFDO1FBUXBELGdCQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUNyQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ0wsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFFO2dCQUMvQixPQUFPLEdBQUcsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNqQztZQUNELE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ2pGLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFXQyxDQUFDO0lBRUosd0dBQXdHO0lBQ3hHLG9CQUFvQjtJQUNwQix3R0FBd0c7SUFFeEc7O09BRUc7SUFDSSxRQUFRO1FBQ1gsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1Rix1REFBdUQ7UUFDdkQsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ2xELFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQ2xDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUViLGlCQUFpQjtZQUNqQixJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2QscUNBQXFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQzs7cUlBM0RRLHdDQUF3Qzt5SEFBeEMsd0NBQXdDLG1IQ2RyRCx1N0tBZ0pBOzJGRGxJYSx3Q0FBd0M7a0JBTnBELFNBQVM7K0JBQ0kscUNBQXFDLFVBRXZDLEVBQUUsbUJBQ08sdUJBQXVCLENBQUMsTUFBTTs2TkFPeEMsSUFBSTtzQkFEVixLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IE5pY2VVdGlsc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vcHJvdmlkZXJzL3V0aWxzXCI7XG5pbXBvcnQgeyBOaWNlTmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vbmF2aWdhdGlvbi5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOaWNlTmF2aWdhdGlvbkl0ZW0gfSBmcm9tIFwiLi4vLi4vLi4vbmF2aWdhdGlvbi50eXBlc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24tYmFzaWMtaXRlbVwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vYmFzaWMuY29tcG9uZW50Lmh0bWxcIixcbiAgICBzdHlsZXM6IFtdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VWZXJ0aWNhbE5hdmlnYXRpb25CYXNpY0l0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBfbmljZVZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudDtcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZUFsbDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXRlbTogTmljZU5hdmlnYXRpb25JdGVtO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuXG4gICAgcHVibGljIGl0ZW1BY3RpdmUkID0gdGhpcy5fcm91dGUudXJsLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSB0aGlzLl9yb3V0ZXIudXJsLnNwbGl0KFwiP1wiKS5zaGlmdCgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXRlbS5leGFjdE1hdGNoID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVybCA9PT0gdGhpcy5pdGVtLmxpbms7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdXJsLnN0YXJ0c1dpdGgodGhpcy5pdGVtLmxpbmspICYmIHVybC5sZW5ndGggPj0gdGhpcy5pdGVtLmxpbmsubGVuZ3RoO1xuICAgICAgICB9KVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiBDb25zdHJ1Y3RvclxuICAgICAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX25pY2VOYXZpZ2F0aW9uU2VydmljZTogTmljZU5hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9uaWNlVXRpbHNTZXJ2aWNlOiBOaWNlVXRpbHNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9yb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVyXG4gICAgKSB7fVxuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBAIExpZmVjeWNsZSBob29rc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvKipcbiAgICAgKiBPbiBpbml0XG4gICAgICovXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBHZXQgdGhlIHBhcmVudCBuYXZpZ2F0aW9uIGNvbXBvbmVudFxuICAgICAgICB0aGlzLl9uaWNlVmVydGljYWxOYXZpZ2F0aW9uQ29tcG9uZW50ID0gdGhpcy5fbmljZU5hdmlnYXRpb25TZXJ2aWNlLmdldENvbXBvbmVudCh0aGlzLm5hbWUpO1xuXG4gICAgICAgIC8vIFN1YnNjcmliZSB0byBvblJlZnJlc2hlZCBvbiB0aGUgbmF2aWdhdGlvbiBjb21wb25lbnRcbiAgICAgICAgdGhpcy5fbmljZVZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudC5vblJlZnJlc2hlZC5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX3Vuc3Vic2NyaWJlQWxsKVxuICAgICAgICApLnN1YnNjcmliZSgoKSA9PiB7XG5cbiAgICAgICAgICAgIC8vIE1hcmsgZm9yIGNoZWNrXG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT24gZGVzdHJveVxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gVW5zdWJzY3JpYmUgZnJvbSBhbGwgc3Vic2NyaXB0aW9uc1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5uZXh0KG51bGwpO1xuICAgICAgICB0aGlzLl91bnN1YnNjcmliZUFsbC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjwhLS0gSXRlbSB3cmFwcGVyIC0tPlxuPGRpdlxuICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0td3JhcHBlclwiXG4gICAgW2NsYXNzLm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWhhcy1zdWJ0aXRsZV09XCIhIWl0ZW0uc3VidGl0bGVcIlxuICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8ud3JhcHBlclwiXG4+XG5cbiAgICA8IS0tIEl0ZW0gd2l0aCBhbiBpbnRlcm5hbCBsaW5rIC0tPlxuICAgIDxhXG4gICAgICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW1cIlxuICAgICAgICAqbmdJZj1cIml0ZW0ubGluayAmJiAhaXRlbS5leHRlcm5hbExpbmsgJiYgIWl0ZW0uZnVuY3Rpb24gJiYgIWl0ZW0uZGlzYWJsZWRcIlxuICAgICAgICBbbmdDbGFzc109XCJ7J25pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWFjdGl2ZS1mb3JjZWQnOiBpdGVtLmFjdGl2ZX1cIlxuICAgICAgICBbcm91dGVyTGlua109XCJbaXRlbS5saW5rXVwiXG4gICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlXT1cIiduaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1hY3RpdmUnXCJcbiAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDogaXRlbS5leGFjdE1hdGNoIHx8IGZhbHNlfVwiXG4gICAgICAgIFtxdWVyeVBhcmFtc109XCJpdGVtPy5xdWVyeVBhcmFtc1wiXG4gICAgICAgIFtzdGF0ZV09XCJpdGVtPy5zdGF0ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9hPlxuXG4gICAgPCEtLSBJdGVtIHdpdGggYW4gZXh0ZXJuYWwgbGluayAtLT5cbiAgICA8YVxuICAgICAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtXCJcbiAgICAgICAgKm5nSWY9XCJpdGVtLmxpbmsgJiYgaXRlbS5leHRlcm5hbExpbmsgJiYgIWl0ZW0uZnVuY3Rpb24gJiYgIWl0ZW0uZGlzYWJsZWRcIlxuICAgICAgICBbaHJlZl09XCJpdGVtLmxpbmtcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYT5cblxuICAgIDwhLS0gSXRlbSB3aXRoIGEgZnVuY3Rpb24gLS0+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtXCJcbiAgICAgICAgKm5nSWY9XCIhaXRlbS5saW5rICYmIGl0ZW0uZnVuY3Rpb24gJiYgIWl0ZW0uZGlzYWJsZWRcIlxuICAgICAgICBbbmdDbGFzc109XCJ7J25pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWFjdGl2ZS1mb3JjZWQnOiBpdGVtLmFjdGl2ZX1cIlxuICAgICAgICAoY2xpY2spPVwiaXRlbS5mdW5jdGlvbihpdGVtKVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEl0ZW0gd2l0aCBhbiBpbnRlcm5hbCBsaW5rIGFuZCBmdW5jdGlvbiAtLT5cbiAgICA8YVxuICAgICAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtXCJcbiAgICAgICAgKm5nSWY9XCJpdGVtLmxpbmsgJiYgIWl0ZW0uZXh0ZXJuYWxMaW5rICYmIGl0ZW0uZnVuY3Rpb24gJiYgIWl0ZW0uZGlzYWJsZWRcIlxuICAgICAgICBbbmdDbGFzc109XCJ7J25pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWFjdGl2ZS1mb3JjZWQnOiBpdGVtLmFjdGl2ZX1cIlxuICAgICAgICBbcm91dGVyTGlua109XCJbaXRlbS5saW5rXVwiXG4gICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlXT1cIiduaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1hY3RpdmUnXCJcbiAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDogaXRlbS5leGFjdE1hdGNoIHx8IGZhbHNlfVwiXG4gICAgICAgIChjbGljayk9XCJpdGVtLmZ1bmN0aW9uKGl0ZW0pXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2E+XG5cbiAgICA8IS0tIEl0ZW0gd2l0aCBhbiBleHRlcm5hbCBsaW5rIGFuZCBmdW5jdGlvbiAtLT5cbiAgICA8YVxuICAgICAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtXCJcbiAgICAgICAgKm5nSWY9XCJpdGVtLmxpbmsgJiYgaXRlbS5leHRlcm5hbExpbmsgJiYgaXRlbS5mdW5jdGlvbiAmJiAhaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgIFtocmVmXT1cIml0ZW0ubGlua1wiXG4gICAgICAgIChjbGljayk9XCJpdGVtLmZ1bmN0aW9uKGl0ZW0pXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2E+XG5cbiAgICA8IS0tIEl0ZW0gd2l0aCBhIG5vIGxpbmsgYW5kIG5vIGZ1bmN0aW9uIC0tPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbVwiXG4gICAgICAgICpuZ0lmPVwiIWl0ZW0ubGluayAmJiAhaXRlbS5mdW5jdGlvbiAmJiAhaXRlbS5kaXNhYmxlZFwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsnbmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tYWN0aXZlLWZvcmNlZCc6IGl0ZW0uYWN0aXZlfVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEl0ZW0gaXMgZGlzYWJsZWQgLS0+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtIG5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWRpc2FibGVkXCJcbiAgICAgICAgKm5nSWY9XCJpdGVtLmRpc2FibGVkXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cblxuPC9kaXY+XG5cbjwhLS0gSXRlbSB0ZW1wbGF0ZSAtLT5cbjxuZy10ZW1wbGF0ZSAjaXRlbVRlbXBsYXRlPlxuICAgIDwhLS0gSWNvbiAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbUFjdGl2ZSQgfCBhc3luYzsgZWxzZSBub3RBY3RpdmVcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWljb25cIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy5pY29uXCJcbiAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5pY29uICYmIGl0ZW0uaWNvblR5cGUgPT09ICdtYXRlcmlhbCdcIlxuICAgICAgICA+XG4gICAgICAgICAgICB7eyBpdGVtLmFjdGl2ZUljb24gfHwgaXRlbS5pY29uIH19XG4gICAgICAgIDwvbWF0LWljb24+XG5cbiAgICAgICAgPGkgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1pY29uIGZvbnRhd2Vzb21lXCIgW25nQ2xhc3NdPVwiaXRlbS5hY3RpdmVJY29uIHx8IGl0ZW0uaWNvblwiICpuZ0lmPVwiaXRlbS5pY29uICYmIGl0ZW0uaWNvblR5cGUgPT0gJ2ZvbnRhd2Vzb21lJ1wiPjwvaT5cblxuICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWljb25cIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8uaWNvblwiXG4gICAgICAgICAgICAgICAgW3N2Z0ljb25dPVwiaXRlbS5hY3RpdmVJY29uIHx8IGl0ZW0uaWNvblwiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmljb24gJiYgaXRlbS5pY29uVHlwZSA9PSAnc3ZnJ1wiXG4gICAgICAgID48L21hdC1pY29uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNub3RBY3RpdmU+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0taWNvblwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy5pY29uXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uaWNvbiAmJiBpdGVtLmljb25UeXBlID09PSAnbWF0ZXJpYWwnXCJcbiAgICAgICAgPlxuICAgICAgICAgICAge3sgaXRlbS5pY29uIH19XG4gICAgICAgIDwvbWF0LWljb24+XG5cbiAgICAgICAgPGkgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1pY29uIGZvbnRhd2Vzb21lXCIgW25nQ2xhc3NdPVwiaXRlbS5pY29uXCIgKm5nSWY9XCJpdGVtLmljb24gJiYgaXRlbS5pY29uVHlwZSA9PSAnZm9udGF3ZXNvbWUnXCI+PC9pPlxuXG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0taWNvblwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy5pY29uXCJcbiAgICAgICAgICAgICAgICBbc3ZnSWNvbl09XCJpdGVtLmljb25cIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5pY29uICYmIGl0ZW0uaWNvblR5cGUgPT0gJ3N2ZydcIlxuICAgICAgICA+PC9tYXQtaWNvbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPCEtLSBUaXRsZSAmIFN1YnRpdGxlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS10aXRsZS13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS10aXRsZVwiPlxuICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy50aXRsZVwiPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tc3VidGl0bGVcIlxuICAgICAgICAgICAgKm5nSWY9XCJpdGVtLnN1YnRpdGxlXCI+XG4gICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJpdGVtLmNsYXNzZXM/LnN1YnRpdGxlXCI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5zdWJ0aXRsZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQmFkZ2UgLS0+XG4gICAgPGRpdlxuICAgICAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWJhZGdlXCJcbiAgICAgICAgKm5nSWY9XCJpdGVtLmJhZGdlXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tYmFkZ2UtY29udGVudFwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJpdGVtLmJhZGdlLmNsYXNzZXNcIj5cbiAgICAgICAgICAgIHt7IGl0ZW0uYmFkZ2UudGl0bGUgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS11aS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL25hdmlnYXRpb24vdmVydGljYWwvY29tcG9uZW50cy9iYXNpYy9iYXNpYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXVpLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi92ZXJ0aWNhbC9jb21wb25lbnRzL2Jhc2ljL2Jhc2ljLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7OztBQVNwRSxNQUFNLE9BQU8sd0NBQXdDO0lBb0JqRDs7T0FFRztJQUNILFlBQ1ksa0JBQXFDLEVBQ3JDLHNCQUE2QyxFQUM3QyxpQkFBbUMsRUFDbkMsTUFBc0IsRUFDdEIsT0FBZTtRQUpmLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFDckMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF1QjtRQUM3QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUExQm5CLG9CQUFlLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7UUFRcEQsZ0JBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQ3JDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDTCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDaEQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLEVBQUU7Z0JBQy9CLE9BQU8sR0FBRyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2pDO1lBQ0QsT0FBTyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDakYsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQVdDLENBQUM7SUFFSix3R0FBd0c7SUFDeEcsb0JBQW9CO0lBQ3BCLHdHQUF3RztJQUV4Rzs7T0FFRztJQUNJLFFBQVE7UUFDWCxzQ0FBc0M7UUFDdEMsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTVGLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsZ0NBQWdDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDbEQsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FDbEMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBRWIsaUJBQWlCO1lBQ2pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7T0FFRztJQUNJLFdBQVc7UUFDZCxxQ0FBcUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDOztxSUEzRFEsd0NBQXdDO3lIQUF4Qyx3Q0FBd0MsbUhDZHJELHF0TUEwSkE7MkZENUlhLHdDQUF3QztrQkFOcEQsU0FBUzsrQkFDSSxxQ0FBcUMsbUJBRzlCLHVCQUF1QixDQUFDLE1BQU07Nk5BT3hDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBOaWNlVXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL3Byb3ZpZGVycy91dGlsc1wiO1xuaW1wb3J0IHsgTmljZU5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL25hdmlnYXRpb24uc2VydmljZVwiO1xuaW1wb3J0IHsgTmljZU5hdmlnYXRpb25JdGVtIH0gZnJvbSBcIi4uLy4uLy4uL25hdmlnYXRpb24udHlwZXNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWJhc2ljLWl0ZW1cIixcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2Jhc2ljLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVzOiBbXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOaWNlVmVydGljYWxOYXZpZ2F0aW9uQmFzaWNJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgX25pY2VWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQ7XG4gICAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVBbGw6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGl0ZW06IE5pY2VOYXZpZ2F0aW9uSXRlbTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcblxuICAgIHB1YmxpYyBpdGVtQWN0aXZlJCA9IHRoaXMuX3JvdXRlLnVybC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXJsID0gdGhpcy5fcm91dGVyLnVybC5zcGxpdChcIj9cIikuc2hpZnQoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLml0ZW0uZXhhY3RNYXRjaCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB1cmwgPT09IHRoaXMuaXRlbS5saW5rO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHVybC5zdGFydHNXaXRoKHRoaXMuaXRlbS5saW5rKSAmJiB1cmwubGVuZ3RoID49IHRoaXMuaXRlbS5saW5rLmxlbmd0aDtcbiAgICAgICAgfSlcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9uaWNlTmF2aWdhdGlvblNlcnZpY2U6IE5pY2VOYXZpZ2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfbmljZVV0aWxzU2VydmljZTogTmljZVV0aWxzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlclxuICAgICkge31cblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQCBMaWZlY3ljbGUgaG9va3NcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLyoqXG4gICAgICogT24gaW5pdFxuICAgICAqL1xuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgLy8gR2V0IHRoZSBwYXJlbnQgbmF2aWdhdGlvbiBjb21wb25lbnRcbiAgICAgICAgdGhpcy5fbmljZVZlcnRpY2FsTmF2aWdhdGlvbkNvbXBvbmVudCA9IHRoaXMuX25pY2VOYXZpZ2F0aW9uU2VydmljZS5nZXRDb21wb25lbnQodGhpcy5uYW1lKTtcblxuICAgICAgICAvLyBTdWJzY3JpYmUgdG8gb25SZWZyZXNoZWQgb24gdGhlIG5hdmlnYXRpb24gY29tcG9uZW50XG4gICAgICAgIHRoaXMuX25pY2VWZXJ0aWNhbE5hdmlnYXRpb25Db21wb25lbnQub25SZWZyZXNoZWQucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZUFsbClcbiAgICAgICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuXG4gICAgICAgICAgICAvLyBNYXJrIGZvciBjaGVja1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9uIGRlc3Ryb3lcbiAgICAgKi9cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIC8vIFVuc3Vic2NyaWJlIGZyb20gYWxsIHN1YnNjcmlwdGlvbnNcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwubmV4dChudWxsKTtcbiAgICAgICAgdGhpcy5fdW5zdWJzY3JpYmVBbGwuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8IS0tIEl0ZW0gd3JhcHBlciAtLT5cbjxkaXZcbiAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLXdyYXBwZXJcIlxuICAgIFtjbGFzcy5uaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1oYXMtc3VidGl0bGVdPVwiISFpdGVtLnN1YnRpdGxlXCJcbiAgICBbbmdDbGFzc109XCJpdGVtLmNsYXNzZXM/LndyYXBwZXJcIlxuPlxuXG4gICAgPCEtLSBJdGVtIHdpdGggYW4gaW50ZXJuYWwgbGluayAtLT5cbiAgICA8YVxuICAgICAgICBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtXCJcbiAgICAgICAgKm5nSWY9XCJpdGVtLmxpbmsgJiYgIWl0ZW0uZXh0ZXJuYWxMaW5rICYmICFpdGVtLmZ1bmN0aW9uICYmICFpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyduaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1hY3RpdmUtZm9yY2VkJzogaXRlbS5hY3RpdmV9XCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiW2l0ZW0ubGlua11cIlxuICAgICAgICBbcm91dGVyTGlua0FjdGl2ZV09XCInbmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tYWN0aXZlJ1wiXG4gICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7ZXhhY3Q6IGl0ZW0uZXhhY3RNYXRjaCB8fCBmYWxzZX1cIlxuICAgICAgICBbcXVlcnlQYXJhbXNdPVwiaXRlbT8ucXVlcnlQYXJhbXNcIlxuICAgICAgICBbc3RhdGVdPVwiaXRlbT8uc3RhdGVcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvYT5cblxuICAgIDwhLS0gSXRlbSB3aXRoIGFuIGV4dGVybmFsIGxpbmsgLS0+XG4gICAgPGFcbiAgICAgICAgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbVwiXG4gICAgICAgICpuZ0lmPVwiaXRlbS5saW5rICYmIGl0ZW0uZXh0ZXJuYWxMaW5rICYmICFpdGVtLmZ1bmN0aW9uICYmICFpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgW2hyZWZdPVwiaXRlbS5saW5rXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2E+XG5cbiAgICA8IS0tIEl0ZW0gd2l0aCBhIGZ1bmN0aW9uIC0tPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbVwiXG4gICAgICAgICpuZ0lmPVwiIWl0ZW0ubGluayAmJiBpdGVtLmZ1bmN0aW9uICYmICFpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyduaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1hY3RpdmUtZm9yY2VkJzogaXRlbS5hY3RpdmV9XCJcbiAgICAgICAgKGNsaWNrKT1cIml0ZW0uZnVuY3Rpb24oaXRlbSlcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBJdGVtIHdpdGggYW4gaW50ZXJuYWwgbGluayBhbmQgZnVuY3Rpb24gLS0+XG4gICAgPGFcbiAgICAgICAgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbVwiXG4gICAgICAgICpuZ0lmPVwiaXRlbS5saW5rICYmICFpdGVtLmV4dGVybmFsTGluayAmJiBpdGVtLmZ1bmN0aW9uICYmICFpdGVtLmRpc2FibGVkXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyduaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1hY3RpdmUtZm9yY2VkJzogaXRlbS5hY3RpdmV9XCJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiW2l0ZW0ubGlua11cIlxuICAgICAgICBbcm91dGVyTGlua0FjdGl2ZV09XCInbmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tYWN0aXZlJ1wiXG4gICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7ZXhhY3Q6IGl0ZW0uZXhhY3RNYXRjaCB8fCBmYWxzZX1cIlxuICAgICAgICAoY2xpY2spPVwiaXRlbS5mdW5jdGlvbihpdGVtKVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9hPlxuXG4gICAgPCEtLSBJdGVtIHdpdGggYW4gZXh0ZXJuYWwgbGluayBhbmQgZnVuY3Rpb24gLS0+XG4gICAgPGFcbiAgICAgICAgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbVwiXG4gICAgICAgICpuZ0lmPVwiaXRlbS5saW5rICYmIGl0ZW0uZXh0ZXJuYWxMaW5rICYmIGl0ZW0uZnVuY3Rpb24gJiYgIWl0ZW0uZGlzYWJsZWRcIlxuICAgICAgICBbaHJlZl09XCJpdGVtLmxpbmtcIlxuICAgICAgICAoY2xpY2spPVwiaXRlbS5mdW5jdGlvbihpdGVtKVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9hPlxuXG4gICAgPCEtLSBJdGVtIHdpdGggYSBubyBsaW5rIGFuZCBubyBmdW5jdGlvbiAtLT5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW1cIlxuICAgICAgICAqbmdJZj1cIiFpdGVtLmxpbmsgJiYgIWl0ZW0uZnVuY3Rpb24gJiYgIWl0ZW0uZGlzYWJsZWRcIlxuICAgICAgICBbbmdDbGFzc109XCJ7J25pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWFjdGl2ZS1mb3JjZWQnOiBpdGVtLmFjdGl2ZX1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBJdGVtIGlzIGRpc2FibGVkIC0tPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbSBuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1kaXNhYmxlZFwiXG4gICAgICAgICpuZ0lmPVwiaXRlbS5kaXNhYmxlZFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbjwvZGl2PlxuXG48IS0tIEl0ZW0gdGVtcGxhdGUgLS0+XG48bmctdGVtcGxhdGUgI2l0ZW1UZW1wbGF0ZT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwieyBzaG93SGludDogaXRlbSB8IG5pY2VTaG91bGRTaG93SGludCB8IGFzeW5jIH0gYXMgY3R4XCI+XG4gICAgICAgIDwhLS0gSWNvbiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWljb24td3JhcHBlclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1BY3RpdmUkIHwgYXN5bmM7IGVsc2Ugbm90QWN0aXZlXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0taWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5pY29uICYmIGl0ZW0uaWNvblR5cGUgPT09ICdtYXRlcmlhbCdcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgaXRlbS5hY3RpdmVJY29uIHx8IGl0ZW0uaWNvbiB9fVxuICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLWljb24gZm9udGF3ZXNvbWVcIiBbbmdDbGFzc109XCJpdGVtLmFjdGl2ZUljb24gfHwgaXRlbS5pY29uXCIgKm5nSWY9XCJpdGVtLmljb24gJiYgaXRlbS5pY29uVHlwZSA9PSAnZm9udGF3ZXNvbWUnXCI+PC9pPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0taWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtzdmdJY29uXT1cIml0ZW0uYWN0aXZlSWNvbiB8fCBpdGVtLmljb25cIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIml0ZW0uaWNvbiAmJiBpdGVtLmljb25UeXBlID09ICdzdmcnXCJcbiAgICAgICAgICAgICAgICA+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vdEFjdGl2ZT5cbiAgICAgICAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy5pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmljb24gJiYgaXRlbS5pY29uVHlwZSA9PT0gJ21hdGVyaWFsJ1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmljb24gfX1cbiAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuXG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS1pY29uIGZvbnRhd2Vzb21lXCIgW25nQ2xhc3NdPVwiaXRlbS5pY29uXCIgKm5nSWY9XCJpdGVtLmljb24gJiYgaXRlbS5pY29uVHlwZSA9PSAnZm9udGF3ZXNvbWUnXCI+PC9pPlxuXG4gICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0taWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIml0ZW0uY2xhc3Nlcz8uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtzdmdJY29uXT1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5pY29uICYmIGl0ZW0uaWNvblR5cGUgPT0gJ3N2ZydcIlxuICAgICAgICAgICAgICAgID48L21hdC1pY29uPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImN0eC5zaG93SGludCAmJiBpdGVtLmljb25cIiBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1oaW50XCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gVGl0bGUgJiBTdWJ0aXRsZSAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5pY2UtdmVydGljYWwtbmF2aWdhdGlvbi1pdGVtLXRpdGxlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuaWNlLXZlcnRpY2FsLW5hdmlnYXRpb24taXRlbS10aXRsZVwiIG5pY2VTaG93SGludCBbc2hvdWxkU2hvd109XCJjdHguc2hvd0hpbnRcIiBbaXRlbV09XCJpdGVtXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy50aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImN0eC5zaG93SGludFwiIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWhpbnRcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tc3VidGl0bGVcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5zdWJ0aXRsZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiaXRlbS5jbGFzc2VzPy5zdWJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnN1YnRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDwhLS0gQmFkZ2UgLS0+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tYmFkZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJpdGVtLmJhZGdlXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwibmljZS12ZXJ0aWNhbC1uYXZpZ2F0aW9uLWl0ZW0tYmFkZ2UtY29udGVudFwiXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXRlbS5iYWRnZS5jbGFzc2VzXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLmJhZGdlLnRpdGxlIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19