@koobiq/components 16.0.0-beta.9 → 17.0.0-beta.2

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 (427) hide show
  1. package/autocomplete/_autocomplete-theme.scss +3 -10
  2. package/autocomplete/autocomplete-trigger.directive.d.ts +7 -1
  3. package/autocomplete/autocomplete.scss +0 -5
  4. package/badge/_badge-theme.scss +4 -0
  5. package/badge/badge.component.d.ts +1 -0
  6. package/button/_button-base.scss +1 -1
  7. package/button/_button-theme.scss +23 -38
  8. package/button-toggle/_button-toggle-theme.scss +4 -0
  9. package/checkbox/_checkbox-theme.scss +9 -6
  10. package/checkbox/checkbox.scss +6 -9
  11. package/code-block/_code-block-theme.scss +53 -16
  12. package/code-block/actionbar.component.scss +34 -6
  13. package/code-block/code-block.component.d.ts +5 -2
  14. package/code-block/code-block.scss +112 -28
  15. package/core/common-behaviors/index.d.ts +2 -0
  16. package/core/datetime/date-adapter.d.ts +1 -1
  17. package/core/datetime/date-formats.d.ts +1 -1
  18. package/core/formatters/date/formatter.d.ts +2 -2
  19. package/core/formatters/date/formatter.pipe.d.ts +1 -1
  20. package/core/locales/en-US.d.ts +25 -22
  21. package/core/locales/es-LA.d.ts +24 -27
  22. package/core/locales/fa-IR.d.ts +24 -28
  23. package/core/locales/formatters.d.ts +121 -0
  24. package/core/locales/index.d.ts +7 -2
  25. package/core/locales/locale-service.d.ts +146 -32
  26. package/core/locales/pt-BR.d.ts +24 -27
  27. package/core/locales/ru-RU.d.ts +25 -23
  28. package/core/locales/zh-CN.d.ts +25 -27
  29. package/core/option/_option-action-theme.scss +1 -1
  30. package/core/option/_option-theme.scss +5 -5
  31. package/core/option/action.scss +1 -1
  32. package/core/pop-up/pop-up.d.ts +7 -0
  33. package/core/selection/pseudo-checkbox/pseudo-checkbox.scss +4 -15
  34. package/core/styles/_koobiq-theme.scss +3 -1
  35. package/core/styles/_variables.scss +1 -10
  36. package/core/styles/common/_overlay.scss +4 -0
  37. package/core/styles/common/_select.scss +2 -1
  38. package/core/styles/theming/_components-theming.scss +99 -38
  39. package/core/styles/theming/{_scrollbars-theme.scss → _scrollbar-theme.scss} +25 -4
  40. package/core/styles/theming/_theming.scss +1 -0
  41. package/core/styles/typography/_typography.scss +8 -1
  42. package/core/utils/data-size/data-size.pipe.d.ts +1 -1
  43. package/dropdown/_dropdown-theme.scss +1 -2
  44. package/ellipsis-center/ellipsis-center.directive.d.ts +3 -3
  45. package/esm2022/alert/alert.component.mjs +12 -12
  46. package/esm2022/alert/alert.module.mjs +4 -4
  47. package/esm2022/autocomplete/autocomplete-origin.directive.mjs +4 -4
  48. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +18 -6
  49. package/esm2022/autocomplete/autocomplete.component.mjs +8 -8
  50. package/esm2022/autocomplete/autocomplete.module.mjs +4 -4
  51. package/esm2022/badge/badge.component.mjs +13 -12
  52. package/esm2022/badge/badge.module.mjs +4 -4
  53. package/esm2022/button/button.component.mjs +16 -13
  54. package/esm2022/button/button.module.mjs +4 -4
  55. package/esm2022/button-toggle/button-toggle.component.mjs +12 -12
  56. package/esm2022/button-toggle/button-toggle.module.mjs +4 -4
  57. package/esm2022/card/card.component.mjs +5 -5
  58. package/esm2022/card/card.module.mjs +4 -4
  59. package/esm2022/checkbox/checkbox-module.mjs +4 -4
  60. package/esm2022/checkbox/checkbox-required-validator.mjs +3 -3
  61. package/esm2022/checkbox/checkbox.mjs +7 -7
  62. package/esm2022/code-block/actionbar.component.mjs +5 -5
  63. package/esm2022/code-block/code-block.component.mjs +32 -14
  64. package/esm2022/code-block/code-block.module.mjs +8 -8
  65. package/esm2022/core/common-behaviors/color.mjs +1 -1
  66. package/esm2022/core/common-behaviors/common-module.mjs +7 -7
  67. package/esm2022/core/common-behaviors/error-state.mjs +1 -1
  68. package/esm2022/core/common-behaviors/index.mjs +3 -1
  69. package/esm2022/core/datetime/date-adapter.mjs +2 -2
  70. package/esm2022/core/datetime/date-formats.mjs +1 -1
  71. package/esm2022/core/error/error-options.mjs +6 -6
  72. package/esm2022/core/formatters/date/formatter.mjs +9 -9
  73. package/esm2022/core/formatters/date/formatter.pipe.mjs +53 -53
  74. package/esm2022/core/formatters/index.mjs +7 -6
  75. package/esm2022/core/formatters/number/formatter.mjs +19 -19
  76. package/esm2022/core/forms/forms-module.mjs +4 -4
  77. package/esm2022/core/forms/forms.directive.mjs +8 -8
  78. package/esm2022/core/highlight/highlight.pipe.mjs +5 -5
  79. package/esm2022/core/highlight/index.mjs +4 -4
  80. package/esm2022/core/line/line.mjs +8 -8
  81. package/esm2022/core/locales/en-US.mjs +25 -22
  82. package/esm2022/core/locales/es-LA.mjs +24 -29
  83. package/esm2022/core/locales/fa-IR.mjs +24 -28
  84. package/esm2022/core/locales/formatters.mjs +126 -0
  85. package/esm2022/core/locales/index.mjs +8 -3
  86. package/esm2022/core/locales/locale-service.mjs +14 -13
  87. package/esm2022/core/locales/locale-service.module.mjs +4 -4
  88. package/esm2022/core/locales/pt-BR.mjs +24 -27
  89. package/esm2022/core/locales/ru-RU.mjs +25 -25
  90. package/esm2022/core/locales/zh-CN.mjs +25 -27
  91. package/esm2022/core/option/action.mjs +9 -8
  92. package/esm2022/core/option/optgroup.mjs +4 -4
  93. package/esm2022/core/option/option-module.mjs +4 -4
  94. package/esm2022/core/option/option.mjs +8 -8
  95. package/esm2022/core/overlay/overlay-position-map.mjs +1 -1
  96. package/esm2022/core/pop-up/pop-up-trigger.mjs +6 -6
  97. package/esm2022/core/pop-up/pop-up.mjs +12 -5
  98. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +6 -6
  99. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +4 -4
  100. package/esm2022/core/services/measure-scrollbar.service.mjs +6 -6
  101. package/esm2022/core/services/theme.service.mjs +5 -5
  102. package/esm2022/core/utils/data-size/data-size.pipe.mjs +9 -9
  103. package/esm2022/core/utils/data-size/size.mjs +1 -1
  104. package/esm2022/core/version.mjs +2 -2
  105. package/esm2022/datepicker/calendar-body.component.mjs +4 -4
  106. package/esm2022/datepicker/calendar-header.component.mjs +5 -5
  107. package/esm2022/datepicker/calendar.component.mjs +6 -6
  108. package/esm2022/datepicker/datepicker-animations.mjs +1 -1
  109. package/esm2022/datepicker/datepicker-input.directive.mjs +6 -6
  110. package/esm2022/datepicker/datepicker-intl.mjs +3 -3
  111. package/esm2022/datepicker/datepicker-module.mjs +4 -4
  112. package/esm2022/datepicker/datepicker-toggle.component.mjs +8 -8
  113. package/esm2022/datepicker/datepicker.component.mjs +10 -10
  114. package/esm2022/datepicker/month-view.component.mjs +6 -6
  115. package/esm2022/divider/divider.component.mjs +3 -3
  116. package/esm2022/divider/divider.module.mjs +4 -4
  117. package/esm2022/dl/dl.component.mjs +11 -11
  118. package/esm2022/dl/dl.module.mjs +4 -4
  119. package/esm2022/dropdown/dropdown-content.directive.mjs +6 -6
  120. package/esm2022/dropdown/dropdown-item.component.mjs +9 -8
  121. package/esm2022/dropdown/dropdown-trigger.directive.mjs +6 -6
  122. package/esm2022/dropdown/dropdown.component.mjs +6 -6
  123. package/esm2022/dropdown/dropdown.module.mjs +4 -4
  124. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +20 -20
  125. package/esm2022/file-upload/file-drop.mjs +43 -6
  126. package/esm2022/file-upload/file-upload.mjs +1 -1
  127. package/esm2022/file-upload/file-upload.module.mjs +4 -4
  128. package/esm2022/file-upload/multiple-file-upload.component.mjs +47 -26
  129. package/esm2022/file-upload/single-file-upload.component.mjs +39 -16
  130. package/esm2022/form-field/cleaner.mjs +3 -3
  131. package/esm2022/form-field/form-field.mjs +21 -15
  132. package/esm2022/form-field/form-field.module.mjs +4 -4
  133. package/esm2022/form-field/hint.mjs +20 -8
  134. package/esm2022/form-field/password-hint.mjs +24 -21
  135. package/esm2022/form-field/password-toggle.mjs +6 -6
  136. package/esm2022/form-field/prefix.mjs +3 -3
  137. package/esm2022/form-field/stepper.mjs +4 -4
  138. package/esm2022/form-field/suffix.mjs +3 -3
  139. package/esm2022/form-field/validate.directive.mjs +17 -12
  140. package/esm2022/icon/icon-button.component.mjs +7 -6
  141. package/esm2022/icon/icon-item.component.mjs +7 -6
  142. package/esm2022/icon/icon.component.mjs +18 -6
  143. package/esm2022/icon/icon.module.mjs +4 -4
  144. package/esm2022/input/input-number-validators.mjs +7 -7
  145. package/esm2022/input/input-number.mjs +12 -9
  146. package/esm2022/input/input-password.mjs +6 -6
  147. package/esm2022/input/input.mjs +9 -9
  148. package/esm2022/input/input.module.mjs +4 -4
  149. package/esm2022/link/link.component.mjs +5 -5
  150. package/esm2022/link/link.module.mjs +4 -4
  151. package/esm2022/list/list-selection.component.mjs +16 -16
  152. package/esm2022/list/list.component.mjs +9 -9
  153. package/esm2022/list/list.module.mjs +4 -4
  154. package/esm2022/loader-overlay/loader-overlay.component.mjs +15 -15
  155. package/esm2022/loader-overlay/loader-overlay.module.mjs +4 -4
  156. package/esm2022/markdown/markdown.component.mjs +5 -5
  157. package/esm2022/markdown/markdown.module.mjs +4 -4
  158. package/esm2022/markdown/markdown.service.mjs +3 -3
  159. package/esm2022/modal/css-unit.pipe.mjs +3 -3
  160. package/esm2022/modal/modal-control.service.mjs +6 -6
  161. package/esm2022/modal/modal.component.mjs +22 -16
  162. package/esm2022/modal/modal.directive.mjs +12 -12
  163. package/esm2022/modal/modal.module.mjs +4 -4
  164. package/esm2022/modal/modal.service.mjs +5 -5
  165. package/esm2022/modal/modal.type.mjs +1 -1
  166. package/esm2022/navbar/navbar-item.component.mjs +69 -104
  167. package/esm2022/navbar/navbar.component.mjs +28 -17
  168. package/esm2022/navbar/navbar.module.mjs +6 -10
  169. package/esm2022/navbar/vertical-navbar.component.mjs +9 -13
  170. package/esm2022/popover/popover-confirm.component.mjs +11 -13
  171. package/esm2022/popover/popover.component.mjs +16 -11
  172. package/esm2022/popover/popover.module.mjs +4 -4
  173. package/esm2022/progress-bar/progress-bar.component.mjs +11 -11
  174. package/esm2022/progress-bar/progress-bar.module.mjs +4 -4
  175. package/esm2022/progress-spinner/progress-spinner.component.mjs +12 -12
  176. package/esm2022/progress-spinner/progress-spinner.module.mjs +4 -4
  177. package/esm2022/radio/radio.component.mjs +10 -10
  178. package/esm2022/radio/radio.module.mjs +4 -4
  179. package/esm2022/risk-level/risk-level.component.mjs +3 -3
  180. package/esm2022/risk-level/risk-level.module.mjs +4 -4
  181. package/esm2022/scrollbar/index.mjs +2 -0
  182. package/esm2022/scrollbar/koobiq-components-scrollbar.mjs +5 -0
  183. package/esm2022/scrollbar/public-api.mjs +5 -0
  184. package/esm2022/scrollbar/scrollbar.component.mjs +130 -0
  185. package/esm2022/scrollbar/scrollbar.directive.mjs +97 -0
  186. package/esm2022/scrollbar/scrollbar.module.mjs +20 -0
  187. package/esm2022/scrollbar/scrollbar.types.mjs +13 -0
  188. package/esm2022/select/select-option.directive.mjs +6 -6
  189. package/esm2022/select/select.component.mjs +43 -36
  190. package/esm2022/select/select.module.mjs +4 -4
  191. package/esm2022/sidebar/sidebar.component.mjs +11 -11
  192. package/esm2022/sidebar/sidebar.module.mjs +4 -4
  193. package/esm2022/sidepanel/sidepanel-animations.mjs +5 -5
  194. package/esm2022/sidepanel/sidepanel-container.component.mjs +11 -11
  195. package/esm2022/sidepanel/sidepanel-directives.mjs +26 -26
  196. package/esm2022/sidepanel/sidepanel-ref.mjs +1 -1
  197. package/esm2022/sidepanel/sidepanel.module.mjs +4 -4
  198. package/esm2022/sidepanel/sidepanel.service.mjs +6 -6
  199. package/esm2022/splitter/splitter.component.mjs +17 -17
  200. package/esm2022/splitter/splitter.module.mjs +4 -4
  201. package/esm2022/table/table.component.mjs +3 -3
  202. package/esm2022/table/table.module.mjs +4 -4
  203. package/esm2022/tabs/paginated-tab-header.mjs +6 -6
  204. package/esm2022/tabs/tab-body.component.mjs +12 -12
  205. package/esm2022/tabs/tab-content.directive.mjs +4 -4
  206. package/esm2022/tabs/tab-group.component.mjs +21 -21
  207. package/esm2022/tabs/tab-header.component.mjs +7 -7
  208. package/esm2022/tabs/tab-label-wrapper.directive.mjs +6 -5
  209. package/esm2022/tabs/tab-label.directive.mjs +3 -3
  210. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +12 -11
  211. package/esm2022/tabs/tab.component.mjs +5 -5
  212. package/esm2022/tabs/tabs.module.mjs +4 -4
  213. package/esm2022/tags/tag-input.mjs +31 -11
  214. package/esm2022/tags/tag-list.component.mjs +9 -8
  215. package/esm2022/tags/tag.component.mjs +16 -16
  216. package/esm2022/tags/tag.module.mjs +4 -4
  217. package/esm2022/textarea/textarea.component.mjs +36 -25
  218. package/esm2022/textarea/textarea.module.mjs +4 -4
  219. package/esm2022/timepicker/timepicker.directive.mjs +6 -6
  220. package/esm2022/timepicker/timepicker.module.mjs +4 -4
  221. package/esm2022/timezone/cities-by-filter.pipe.mjs +3 -3
  222. package/esm2022/timezone/timezone-option.component.mjs +10 -9
  223. package/esm2022/timezone/timezone-option.directive.mjs +5 -5
  224. package/esm2022/timezone/timezone-select.component.mjs +9 -9
  225. package/esm2022/timezone/timezone.module.mjs +4 -4
  226. package/esm2022/timezone/timezone.utils.mjs +9 -4
  227. package/esm2022/timezone/utc-offset.pipe.mjs +6 -6
  228. package/esm2022/title/title.directive.mjs +6 -6
  229. package/esm2022/title/title.module.mjs +4 -4
  230. package/esm2022/toast/toast-animations.mjs +3 -3
  231. package/esm2022/toast/toast-container.component.mjs +7 -7
  232. package/esm2022/toast/toast.component.mjs +12 -11
  233. package/esm2022/toast/toast.module.mjs +4 -4
  234. package/esm2022/toast/toast.service.mjs +16 -8
  235. package/esm2022/toast/toast.type.mjs +1 -1
  236. package/esm2022/toggle/toggle.component.mjs +5 -5
  237. package/esm2022/toggle/toggle.module.mjs +4 -4
  238. package/esm2022/tooltip/tooltip.component.mjs +24 -24
  239. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  240. package/esm2022/tree/control/base-tree-control.mjs +4 -4
  241. package/esm2022/tree/control/flat-tree-control.filters.mjs +47 -0
  242. package/esm2022/tree/control/flat-tree-control.mjs +27 -45
  243. package/esm2022/tree/control/nested-tree-control.mjs +1 -1
  244. package/esm2022/tree/control/tree-control.mjs +1 -1
  245. package/esm2022/tree/data-source/flat-data-source.mjs +1 -1
  246. package/esm2022/tree/node.mjs +5 -5
  247. package/esm2022/tree/outlet.mjs +4 -4
  248. package/esm2022/tree/padding.directive.mjs +6 -6
  249. package/esm2022/tree/public-api.mjs +2 -1
  250. package/esm2022/tree/toggle.mjs +12 -12
  251. package/esm2022/tree/tree-base.mjs +10 -10
  252. package/esm2022/tree/tree-option.component.mjs +12 -8
  253. package/esm2022/tree/tree-selection.component.mjs +6 -6
  254. package/esm2022/tree/tree.mjs +3 -3
  255. package/esm2022/tree/tree.module.mjs +4 -4
  256. package/esm2022/tree-select/tree-select.component.mjs +29 -19
  257. package/esm2022/tree-select/tree-select.module.mjs +9 -9
  258. package/fesm2022/koobiq-components-alert.mjs +16 -16
  259. package/fesm2022/koobiq-components-autocomplete.mjs +32 -20
  260. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  261. package/fesm2022/koobiq-components-badge.mjs +16 -15
  262. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  263. package/fesm2022/koobiq-components-button-toggle.mjs +15 -15
  264. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  265. package/fesm2022/koobiq-components-button.mjs +19 -16
  266. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  267. package/fesm2022/koobiq-components-card.mjs +8 -8
  268. package/fesm2022/koobiq-components-card.mjs.map +1 -1
  269. package/fesm2022/koobiq-components-checkbox.mjs +13 -13
  270. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  271. package/fesm2022/koobiq-components-code-block.mjs +40 -23
  272. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  273. package/fesm2022/koobiq-components-core.mjs +473 -350
  274. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  275. package/fesm2022/koobiq-components-datepicker.mjs +45 -45
  276. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  277. package/fesm2022/koobiq-components-divider.mjs +7 -7
  278. package/fesm2022/koobiq-components-dl.mjs +14 -14
  279. package/fesm2022/koobiq-components-dl.mjs.map +1 -1
  280. package/fesm2022/koobiq-components-dropdown.mjs +27 -26
  281. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  282. package/fesm2022/koobiq-components-ellipsis-center.mjs +19 -19
  283. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  284. package/fesm2022/koobiq-components-file-upload.mjs +128 -50
  285. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  286. package/fesm2022/koobiq-components-form-field.mjs +97 -72
  287. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  288. package/fesm2022/koobiq-components-icon.mjs +33 -19
  289. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  290. package/fesm2022/koobiq-components-input.mjs +34 -31
  291. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  292. package/fesm2022/koobiq-components-link.mjs +8 -8
  293. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  294. package/fesm2022/koobiq-components-list.mjs +27 -27
  295. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  296. package/fesm2022/koobiq-components-loader-overlay.mjs +18 -18
  297. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  298. package/fesm2022/koobiq-components-markdown.mjs +11 -11
  299. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  300. package/fesm2022/koobiq-components-modal.mjs +49 -43
  301. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  302. package/fesm2022/koobiq-components-navbar.mjs +108 -149
  303. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  304. package/fesm2022/koobiq-components-popover.mjs +30 -26
  305. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  306. package/fesm2022/koobiq-components-progress-bar.mjs +14 -14
  307. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  308. package/fesm2022/koobiq-components-progress-spinner.mjs +15 -15
  309. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  310. package/fesm2022/koobiq-components-radio.mjs +13 -13
  311. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  312. package/fesm2022/koobiq-components-risk-level.mjs +7 -7
  313. package/fesm2022/koobiq-components-scrollbar.mjs +256 -0
  314. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -0
  315. package/fesm2022/koobiq-components-select.mjs +49 -42
  316. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  317. package/fesm2022/koobiq-components-sidebar.mjs +14 -14
  318. package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
  319. package/fesm2022/koobiq-components-sidepanel.mjs +47 -47
  320. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  321. package/fesm2022/koobiq-components-splitter.mjs +20 -20
  322. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  323. package/fesm2022/koobiq-components-table.mjs +7 -7
  324. package/fesm2022/koobiq-components-tabs.mjs +72 -70
  325. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  326. package/fesm2022/koobiq-components-tags.mjs +56 -36
  327. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  328. package/fesm2022/koobiq-components-textarea.mjs +39 -28
  329. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  330. package/fesm2022/koobiq-components-timepicker.mjs +9 -9
  331. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  332. package/fesm2022/koobiq-components-timezone.mjs +42 -37
  333. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  334. package/fesm2022/koobiq-components-title.mjs +9 -9
  335. package/fesm2022/koobiq-components-title.mjs.map +1 -1
  336. package/fesm2022/koobiq-components-toast.mjs +36 -27
  337. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  338. package/fesm2022/koobiq-components-toggle.mjs +8 -8
  339. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  340. package/fesm2022/koobiq-components-tooltip.mjs +27 -27
  341. package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
  342. package/fesm2022/koobiq-components-tree-select.mjs +36 -26
  343. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  344. package/fesm2022/koobiq-components-tree.mjs +132 -100
  345. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  346. package/file-upload/_file-upload-theme.scss +10 -1
  347. package/file-upload/file-drop.d.ts +2 -1
  348. package/file-upload/file-upload.d.ts +4 -1
  349. package/file-upload/multiple-file-upload.component.d.ts +14 -6
  350. package/file-upload/single-file-upload.component.d.ts +12 -6
  351. package/form-field/_form-field-theme.scss +8 -14
  352. package/form-field/form-field.d.ts +2 -0
  353. package/form-field/form-field.scss +12 -1
  354. package/form-field/hint.scss +1 -1
  355. package/form-field/password-hint.d.ts +7 -5
  356. package/icon/icon-button.component.d.ts +1 -0
  357. package/icon/icon-item.component.d.ts +1 -0
  358. package/icon/icon.component.d.ts +3 -0
  359. package/input/input-number.d.ts +3 -2
  360. package/link/_link-theme.scss +1 -0
  361. package/list/_list-theme.scss +1 -2
  362. package/list/list.scss +3 -3
  363. package/loader-overlay/loader-overlay.scss +2 -2
  364. package/modal/_modal-confirm.scss +0 -24
  365. package/modal/modal.component.d.ts +4 -2
  366. package/modal/modal.scss +32 -20
  367. package/modal/modal.type.d.ts +0 -1
  368. package/navbar/_navbar-item_horizontal.scss +97 -0
  369. package/navbar/_navbar-item_vertical.scss +98 -0
  370. package/navbar/_navbar-theme.scss +58 -60
  371. package/navbar/navbar-brand.scss +76 -16
  372. package/navbar/navbar-divider.scss +13 -4
  373. package/navbar/navbar-item.component.d.ts +6 -17
  374. package/navbar/navbar-item.scss +41 -87
  375. package/navbar/navbar.component.d.ts +3 -0
  376. package/navbar/navbar.module.d.ts +1 -1
  377. package/navbar/navbar.scss +13 -1
  378. package/navbar/vertical-navbar.scss +7 -14
  379. package/package.json +28 -20
  380. package/popover/popover-confirm.component.d.ts +0 -2
  381. package/popover/popover.component.d.ts +6 -1
  382. package/popover/popover.scss +4 -9
  383. package/prebuilt-themes/dark-theme.css +1 -1
  384. package/prebuilt-themes/light-theme.css +1 -1
  385. package/progress-spinner/progress-spinner.scss +10 -5
  386. package/scrollbar/_scrollbar-component-theme.scss +52 -0
  387. package/scrollbar/index.d.ts +1 -0
  388. package/scrollbar/public-api.d.ts +4 -0
  389. package/scrollbar/scrollbar.component.d.ts +33 -0
  390. package/scrollbar/scrollbar.component.scss +559 -0
  391. package/scrollbar/scrollbar.directive.d.ts +47 -0
  392. package/scrollbar/scrollbar.module.d.ts +8 -0
  393. package/scrollbar/scrollbar.types.d.ts +32 -0
  394. package/select/select.component.d.ts +4 -3
  395. package/select/select.scss +7 -0
  396. package/sidepanel/sidepanel-animations.d.ts +2 -2
  397. package/sidepanel/sidepanel-directives.d.ts +5 -5
  398. package/splitter/_splitter-theme.scss +5 -4
  399. package/tabs/_tabs-common.scss +1 -1
  400. package/tabs/_tabs-theme.scss +2 -2
  401. package/tags/tag-input.d.ts +9 -4
  402. package/tags/tag-list.scss +4 -0
  403. package/textarea/textarea.component.d.ts +4 -3
  404. package/timezone/_timezone-option-theme.scss +8 -0
  405. package/timezone/timezone-option.component.scss +4 -0
  406. package/timezone/timezone-select.component.scss +13 -0
  407. package/timezone/timezone.utils.d.ts +4 -0
  408. package/timezone/utc-offset.pipe.d.ts +3 -1
  409. package/toast/toast-animations.d.ts +1 -1
  410. package/toast/toast-container.component.scss +1 -9
  411. package/toast/toast.component.scss +0 -4
  412. package/toast/toast.service.d.ts +5 -3
  413. package/toast/toast.type.d.ts +1 -0
  414. package/tooltip/tooltip.component.d.ts +1 -1
  415. package/tooltip/tooltip.scss +0 -3
  416. package/tree/_tree-theme.scss +5 -5
  417. package/tree/control/base-tree-control.d.ts +1 -1
  418. package/tree/control/flat-tree-control.d.ts +5 -3
  419. package/tree/control/flat-tree-control.filters.d.ts +26 -0
  420. package/tree/control/tree-control.d.ts +1 -1
  421. package/tree/public-api.d.ts +1 -0
  422. package/tree/tree-option.scss +4 -4
  423. package/tree-select/tree-select.component.d.ts +8 -4
  424. package/tree-select/tree-select.module.d.ts +1 -1
  425. package/esm2022/navbar/vertical-navbar.animation.mjs +0 -10
  426. package/form-field/password-hint.scss +0 -11
  427. package/navbar/vertical-navbar.animation.d.ts +0 -2
@@ -103,22 +103,22 @@ export class KbqFocusableComponent {
103
103
  hasFocusedItem() {
104
104
  return this.focusableItems.some((item) => item.hasFocus);
105
105
  }
106
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqFocusableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive }); }
107
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqFocusableComponent, inputs: { tabIndex: "tabIndex" }, queries: [{ propertyName: "focusableItems", predicate: i0.forwardRef(function () { return KbqNavbarFocusableItem; }), descendants: true }], ngImport: i0 }); }
106
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqFocusableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive }); }
107
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: KbqFocusableComponent, inputs: { tabIndex: "tabIndex" }, queries: [{ propertyName: "focusableItems", predicate: i0.forwardRef(() => KbqNavbarFocusableItem), descendants: true }], ngImport: i0 }); }
108
108
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqFocusableComponent, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqFocusableComponent, decorators: [{
110
110
  type: Directive
111
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.FocusMonitor }]; }, propDecorators: { focusableItems: [{
111
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.FocusMonitor }], propDecorators: { focusableItems: [{
112
112
  type: ContentChildren,
113
113
  args: [forwardRef(() => KbqNavbarFocusableItem), { descendants: true }]
114
114
  }], tabIndex: [{
115
115
  type: Input
116
116
  }] } });
117
117
  export class KbqNavbarContainer {
118
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqNavbarContainer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
119
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.5", type: KbqNavbarContainer, selector: "kbq-navbar-container", host: { classAttribute: "kbq-navbar-container" }, ngImport: i0 }); }
118
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqNavbarContainer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
119
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.0", type: KbqNavbarContainer, selector: "kbq-navbar-container", host: { classAttribute: "kbq-navbar-container" }, ngImport: i0 }); }
120
120
  }
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqNavbarContainer, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqNavbarContainer, decorators: [{
122
122
  type: Directive,
123
123
  args: [{
124
124
  selector: 'kbq-navbar-container',
@@ -185,23 +185,34 @@ export class KbqNavbar extends KbqFocusableComponent {
185
185
  onKeyDown(event) {
186
186
  // tslint:disable-next-line: deprecation
187
187
  const keyCode = event.keyCode;
188
- if (isVerticalMovement(event) || isHorizontalMovement(event)) {
188
+ if (!this.eventFromInput(event) && (isVerticalMovement(event) || isHorizontalMovement(event))) {
189
189
  event.preventDefault();
190
190
  }
191
191
  if (keyCode === TAB) {
192
192
  this.keyManager.tabOut.next();
193
193
  return;
194
194
  }
195
- else if (keyCode === RIGHT_ARROW) {
195
+ else if (this.eventFromInput(event) && this.cursorOnLastPosition(event) && keyCode === RIGHT_ARROW) {
196
196
  this.keyManager.setNextItemActive();
197
197
  }
198
- else if (keyCode === LEFT_ARROW) {
198
+ else if (this.eventFromInput(event) && this.cursorOnFirstPosition(event) && keyCode === LEFT_ARROW) {
199
199
  this.keyManager.setPreviousItemActive();
200
200
  }
201
- else {
201
+ else if (!this.eventFromInput(event)) {
202
202
  this.keyManager.onKeydown(event);
203
203
  }
204
204
  }
205
+ eventFromInput(event) {
206
+ return !!event.target.attributes.getNamedItem('kbqinput');
207
+ }
208
+ cursorOnFirstPosition(event) {
209
+ const input = event.target;
210
+ return input.selectionStart === 0;
211
+ }
212
+ cursorOnLastPosition(event) {
213
+ const input = event.target;
214
+ return input.selectionEnd === input.value.length;
215
+ }
205
216
  collapseItems(collapseDelta) {
206
217
  let delta = collapseDelta;
207
218
  const unCollapsedItems = this.collapsableItems
@@ -225,10 +236,10 @@ export class KbqNavbar extends KbqFocusableComponent {
225
236
  }
226
237
  });
227
238
  }
228
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqNavbar, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
229
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqNavbar, selector: "kbq-navbar", host: { listeners: { "focus": "focus()", "blur": "blur()", "keydown": "onKeyDown($event)", "window:resize": "resizeStream.next($event)" }, properties: { "attr.tabindex": "tabIndex" }, classAttribute: "kbq-navbar" }, queries: [{ propertyName: "rectangleElements", predicate: i0.forwardRef(function () { return KbqNavbarRectangleElement; }), descendants: true }, { propertyName: "navbarItems", predicate: i0.forwardRef(function () { return KbqNavbarItem; }), descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-content select="[kbq-navbar-container], kbq-navbar-container"></ng-content>`, isInline: true, styles: [".kbq-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.kbq-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}\n", ".kbq-navbar-title,.kbq-navbar-subtitle{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;padding-left:var(--kbq-navbar-item-size-padding, 16px);padding-right:var(--kbq-navbar-item-size-padding, 16px)}.kbq-navbar-item .kbq-badge{position:absolute}.kbq-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.kbq-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.kbq-navbar-item__container .kbq-icon{align-self:center}.kbq-navbar-item.kbq-horizontal{height:var(--kbq-navbar-item-size-height, 48px)}.kbq-navbar-item.kbq-horizontal .kbq-icon{min-width:16px;min-height:16px}.kbq-navbar-item.kbq-horizontal .kbq-navbar-item__title+.kbq-icon{margin-left:var(--kbq-navbar-size-right-icon-margin, 2px)}.kbq-navbar-item.kbq-horizontal .kbq-icon+.kbq-navbar-item__container{margin-left:var(--kbq-navbar-size-icon-margin, 6px)}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_collapsed .kbq-navbar-item__container{display:none}.kbq-navbar-item.kbq-horizontal .kbq-badge{top:8px;right:8px}.kbq-navbar-item.kbq-vertical{height:var(--kbq-navbar-item-size-height-vertical, 56px)}.kbq-navbar-item.kbq-vertical>.kbq-icon{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:24px}.kbq-navbar-item.kbq-vertical .kbq-navbar-item__title,.kbq-navbar-item.kbq-vertical .kbq-icon+.kbq-navbar-item__title,.kbq-navbar-item.kbq-vertical .kbq-navbar-item__title+.kbq-icon{padding-left:var(--kbq-vertical-navbar-size-icon-margin, 16px)}.kbq-navbar-item.kbq-vertical.kbq-navbar-item_button{padding-left:12px;padding-right:12px}.kbq-navbar-item.kbq-vertical.kbq-expanded .kbq-badge{top:16px;right:16px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-badge{top:4px;right:4px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-navbar-item__title{display:none}.kbq-navbar-item.kbq-navbar-item_button .kbq-button{flex:1}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper{justify-content:center}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_left{margin-left:unset}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_right{margin-right:unset}a.kbq-navbar-item,a.kbq-navbar-title{text-decoration:none}.kbq-navbar-item .kbq-navbar-item__overlay,.kbq-navbar-brand .kbq-navbar-item__overlay,.kbq-navbar-toggle .kbq-navbar-item__overlay{position:absolute;inset:0}.kbq-navbar-item [kbq-button],.kbq-navbar-brand [kbq-button],.kbq-navbar-toggle [kbq-button]{z-index:1}\n", ".kbq-navbar-logo{display:flex}.kbq-navbar-brand{position:relative;display:flex;align-items:center}.kbq-navbar-brand .kbq-navbar-title{cursor:pointer}a.kbq-navbar-brand{text-decoration:none}.kbq-navbar-brand.kbq-horizontal{height:var(--kbq-navbar-item-size-height, 48px);padding-right:var(--kbq-navbar-brand-size-margin-right, 24px)}.kbq-navbar-brand.kbq-horizontal .kbq-navbar-title{padding-left:var(--kbq-navbar-brand-size-padding, 12px);padding-right:0}.kbq-navbar-brand.kbq-vertical .kbq-navbar-logo{flex-direction:column;justify-content:center;align-items:center;min-height:var(--kbq-navbar-item-size-height-vertical, 56px);min-width:var(--kbq-vertical-navbar-size-states-collapsed-width, 56px)}.kbq-navbar-brand.kbq-vertical .kbq-navbar-title{display:flex;align-items:center;height:var(--kbq-navbar-item-size-height-vertical, 56px);padding-left:0}.kbq-navbar-brand.kbq-vertical.kbq-expanded{align-items:unset}.kbq-navbar-brand.kbq-vertical.kbq-collapsed .kbq-navbar-title{display:none}\n", ".kbq-navbar-divider{display:block}.kbq-navbar-divider.kbq-vertical{height:1px;margin:8px 12px}.kbq-navbar-divider.kbq-horizontal{width:1px;height:28px;margin-left:8px;margin-right:8px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
239
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqNavbar, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
240
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqNavbar, selector: "kbq-navbar", host: { listeners: { "focus": "focus()", "blur": "blur()", "keydown": "onKeyDown($event)", "window:resize": "resizeStream.next($event)" }, properties: { "attr.tabindex": "tabIndex" }, classAttribute: "kbq-navbar" }, queries: [{ propertyName: "rectangleElements", predicate: i0.forwardRef(() => KbqNavbarRectangleElement), descendants: true }, { propertyName: "navbarItems", predicate: i0.forwardRef(() => KbqNavbarItem), descendants: true }], usesInheritance: true, ngImport: i0, template: `<ng-content select="[kbq-navbar-container], kbq-navbar-container"></ng-content>`, isInline: true, styles: [".kbq-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.kbq-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.kbq-navbar .kbq-navbar-container+.kbq-navbar-container{margin-left:24px}\n", ".kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-navbar-item.kbq-vertical{align-items:flex-start}.kbq-navbar-item.kbq-vertical .kbq-navbar-item__container{gap:12px}.kbq-navbar-item.kbq-vertical.kbq-expanded{height:48px;padding:16px 20px;gap:12px}.kbq-navbar-item.kbq-vertical.kbq-expanded:after{inset:4px 8px}.kbq-navbar-item.kbq-vertical.kbq-expanded.kbq-navbar-bento{position:absolute;display:flex;justify-content:center;align-items:center;top:4px;right:4px;z-index:1;padding:8px;height:48px;width:48px}.kbq-navbar-item.kbq-vertical.kbq-expanded.kbq-navbar-bento:after{inset:8px}.kbq-navbar-item.kbq-vertical.kbq-expanded.kbq-navbar-item_has-nested{align-items:center;padding:0 12px}.kbq-navbar-item.kbq-vertical.kbq-collapsed{height:48px;width:48px;padding:16px;justify-content:center}.kbq-navbar-item.kbq-vertical.kbq-collapsed:after{inset:8px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-badge{position:absolute;z-index:1;top:6px;right:6px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-navbar-item__container{display:none}.kbq-navbar-item.kbq-vertical>.kbq-icon{display:flex;justify-content:center;align-items:center}.kbq-navbar-item.kbq-horizontal{position:relative;flex-direction:row;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:48px;min-width:48px;padding:8px;justify-content:center}.kbq-navbar-item.kbq-horizontal:after{inset:8px}.kbq-navbar-item.kbq-horizontal .kbq-navbar-item__title{padding-left:4px;padding-right:4px}.kbq-navbar-item.kbq-horizontal .kbq-navbar-item__arrow-icon{padding-left:4px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_with-title:not(.kbq-navbar-item_collapsed){padding:16px 12px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_with-title:not(.kbq-navbar-item_collapsed):after{inset:8px 0}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_with-title:not(.kbq-navbar-item_collapsed)>.kbq-icon{padding-right:4px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-bento{min-width:44px;justify-content:center;padding-right:4px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-bento:after{inset:8px 4px 8px 8px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_collapsed{justify-content:center;padding:8px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_collapsed .kbq-navbar-item__container{display:none}.kbq-navbar-item.kbq-horizontal .kbq-badge{position:absolute;z-index:1;top:6px;right:6px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_has-nested{padding:0 12px}.kbq-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;border-radius:var(--kbq-navbar-item-size-content-border-radius, 8px)}.kbq-navbar-item .kbq-icon{min-width:16px;min-height:16px}.kbq-navbar-item:after{position:absolute;content:\"\";display:none;border-radius:var(--kbq-navbar-item-size-content-border-radius, 8px)}.kbq-navbar-title{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.kbq-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.kbq-navbar-item__container .kbq-icon{align-self:center}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button{flex:1}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button .kbq-button-wrapper{justify-content:center}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_left{margin-left:unset}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_right{margin-right:unset}a.kbq-navbar-item,a.kbq-navbar-title{text-decoration:none}.kbq-navbar-item [kbq-button],.kbq-navbar-brand [kbq-button],.kbq-navbar-toggle [kbq-button]{z-index:1}\n", ".kbq-navbar-logo{display:flex}.kbq-navbar-brand{position:relative;display:flex;border-radius:8px}.kbq-navbar-brand:after{position:absolute;content:\"\";display:none;border-radius:var(--kbq-navbar-item-size-content-border-radius, 8px)}.kbq-navbar-brand .kbq-navbar-title{cursor:pointer}a.kbq-navbar-brand{text-decoration:none}.kbq-navbar-brand.kbq-horizontal{padding:8px 6px 8px 4px;align-items:center;gap:8px}.kbq-navbar-brand.kbq-horizontal:after{inset:4px 4px 4px 0}.kbq-navbar-brand.kbq-horizontal .kbq-navbar-title{padding-right:12px}.kbq-navbar-brand.kbq-vertical .kbq-navbar-logo{align-items:center}.kbq-navbar-brand.kbq-vertical .kbq-navbar-title{display:block;align-items:center;padding-top:4px;padding-bottom:4px;height:32px;padding-left:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-brand.kbq-vertical.kbq-expanded{position:relative;height:40px;width:40px;margin:16px 16px 40px;flex-direction:column}.kbq-navbar-brand.kbq-vertical.kbq-expanded:after{inset:0}.kbq-navbar-brand.kbq-vertical.kbq-expanded .kbq-navbar-logo{min-height:40px;justify-content:center}.kbq-navbar-brand.kbq-vertical.kbq-expanded .kbq-navbar-title{position:absolute;left:4px;bottom:-40px;max-width:200px}.kbq-navbar-brand.kbq-vertical.kbq-collapsed{height:48px;width:48px;justify-content:center}.kbq-navbar-brand.kbq-vertical.kbq-collapsed:after{inset:4px}.kbq-navbar-brand.kbq-vertical.kbq-collapsed .kbq-navbar-title{display:none}\n", ".kbq-navbar-divider{display:block}.kbq-navbar-divider.kbq-vertical{height:1px;margin:8px 16px}.kbq-navbar-divider.kbq-horizontal{width:1px;height:12px;margin-left:12px;margin-right:12px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
230
241
  }
231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqNavbar, decorators: [{
242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqNavbar, decorators: [{
232
243
  type: Component,
233
244
  args: [{ selector: 'kbq-navbar', template: `<ng-content select="[kbq-navbar-container], kbq-navbar-container"></ng-content>`, host: {
234
245
  class: 'kbq-navbar',
@@ -237,12 +248,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
237
248
  '(blur)': 'blur()',
238
249
  '(keydown)': 'onKeyDown($event)',
239
250
  '(window:resize)': 'resizeStream.next($event)'
240
- }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".kbq-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.kbq-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}\n", ".kbq-navbar-title,.kbq-navbar-subtitle{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;padding-left:var(--kbq-navbar-item-size-padding, 16px);padding-right:var(--kbq-navbar-item-size-padding, 16px)}.kbq-navbar-item .kbq-badge{position:absolute}.kbq-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.kbq-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.kbq-navbar-item__container .kbq-icon{align-self:center}.kbq-navbar-item.kbq-horizontal{height:var(--kbq-navbar-item-size-height, 48px)}.kbq-navbar-item.kbq-horizontal .kbq-icon{min-width:16px;min-height:16px}.kbq-navbar-item.kbq-horizontal .kbq-navbar-item__title+.kbq-icon{margin-left:var(--kbq-navbar-size-right-icon-margin, 2px)}.kbq-navbar-item.kbq-horizontal .kbq-icon+.kbq-navbar-item__container{margin-left:var(--kbq-navbar-size-icon-margin, 6px)}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_collapsed .kbq-navbar-item__container{display:none}.kbq-navbar-item.kbq-horizontal .kbq-badge{top:8px;right:8px}.kbq-navbar-item.kbq-vertical{height:var(--kbq-navbar-item-size-height-vertical, 56px)}.kbq-navbar-item.kbq-vertical>.kbq-icon{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:24px}.kbq-navbar-item.kbq-vertical .kbq-navbar-item__title,.kbq-navbar-item.kbq-vertical .kbq-icon+.kbq-navbar-item__title,.kbq-navbar-item.kbq-vertical .kbq-navbar-item__title+.kbq-icon{padding-left:var(--kbq-vertical-navbar-size-icon-margin, 16px)}.kbq-navbar-item.kbq-vertical.kbq-navbar-item_button{padding-left:12px;padding-right:12px}.kbq-navbar-item.kbq-vertical.kbq-expanded .kbq-badge{top:16px;right:16px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-badge{top:4px;right:4px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-navbar-item__title{display:none}.kbq-navbar-item.kbq-navbar-item_button .kbq-button{flex:1}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper{justify-content:center}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_left{margin-left:unset}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_right{margin-right:unset}a.kbq-navbar-item,a.kbq-navbar-title{text-decoration:none}.kbq-navbar-item .kbq-navbar-item__overlay,.kbq-navbar-brand .kbq-navbar-item__overlay,.kbq-navbar-toggle .kbq-navbar-item__overlay{position:absolute;inset:0}.kbq-navbar-item [kbq-button],.kbq-navbar-brand [kbq-button],.kbq-navbar-toggle [kbq-button]{z-index:1}\n", ".kbq-navbar-logo{display:flex}.kbq-navbar-brand{position:relative;display:flex;align-items:center}.kbq-navbar-brand .kbq-navbar-title{cursor:pointer}a.kbq-navbar-brand{text-decoration:none}.kbq-navbar-brand.kbq-horizontal{height:var(--kbq-navbar-item-size-height, 48px);padding-right:var(--kbq-navbar-brand-size-margin-right, 24px)}.kbq-navbar-brand.kbq-horizontal .kbq-navbar-title{padding-left:var(--kbq-navbar-brand-size-padding, 12px);padding-right:0}.kbq-navbar-brand.kbq-vertical .kbq-navbar-logo{flex-direction:column;justify-content:center;align-items:center;min-height:var(--kbq-navbar-item-size-height-vertical, 56px);min-width:var(--kbq-vertical-navbar-size-states-collapsed-width, 56px)}.kbq-navbar-brand.kbq-vertical .kbq-navbar-title{display:flex;align-items:center;height:var(--kbq-navbar-item-size-height-vertical, 56px);padding-left:0}.kbq-navbar-brand.kbq-vertical.kbq-expanded{align-items:unset}.kbq-navbar-brand.kbq-vertical.kbq-collapsed .kbq-navbar-title{display:none}\n", ".kbq-navbar-divider{display:block}.kbq-navbar-divider.kbq-vertical{height:1px;margin:8px 12px}.kbq-navbar-divider.kbq-horizontal{width:1px;height:28px;margin-left:8px;margin-right:8px}\n"] }]
241
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }]; }, propDecorators: { rectangleElements: [{
251
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".kbq-navbar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.kbq-navbar-container{display:flex;flex-shrink:0;flex-direction:row;justify-content:space-between;align-items:center;position:relative}.kbq-navbar .kbq-navbar-container+.kbq-navbar-container{margin-left:24px}\n", ".kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-navbar-item.kbq-vertical{align-items:flex-start}.kbq-navbar-item.kbq-vertical .kbq-navbar-item__container{gap:12px}.kbq-navbar-item.kbq-vertical.kbq-expanded{height:48px;padding:16px 20px;gap:12px}.kbq-navbar-item.kbq-vertical.kbq-expanded:after{inset:4px 8px}.kbq-navbar-item.kbq-vertical.kbq-expanded.kbq-navbar-bento{position:absolute;display:flex;justify-content:center;align-items:center;top:4px;right:4px;z-index:1;padding:8px;height:48px;width:48px}.kbq-navbar-item.kbq-vertical.kbq-expanded.kbq-navbar-bento:after{inset:8px}.kbq-navbar-item.kbq-vertical.kbq-expanded.kbq-navbar-item_has-nested{align-items:center;padding:0 12px}.kbq-navbar-item.kbq-vertical.kbq-collapsed{height:48px;width:48px;padding:16px;justify-content:center}.kbq-navbar-item.kbq-vertical.kbq-collapsed:after{inset:8px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-badge{position:absolute;z-index:1;top:6px;right:6px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-navbar-item__container{display:none}.kbq-navbar-item.kbq-vertical>.kbq-icon{display:flex;justify-content:center;align-items:center}.kbq-navbar-item.kbq-horizontal{position:relative;flex-direction:row;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:48px;min-width:48px;padding:8px;justify-content:center}.kbq-navbar-item.kbq-horizontal:after{inset:8px}.kbq-navbar-item.kbq-horizontal .kbq-navbar-item__title{padding-left:4px;padding-right:4px}.kbq-navbar-item.kbq-horizontal .kbq-navbar-item__arrow-icon{padding-left:4px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_with-title:not(.kbq-navbar-item_collapsed){padding:16px 12px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_with-title:not(.kbq-navbar-item_collapsed):after{inset:8px 0}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_with-title:not(.kbq-navbar-item_collapsed)>.kbq-icon{padding-right:4px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-bento{min-width:44px;justify-content:center;padding-right:4px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-bento:after{inset:8px 4px 8px 8px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_collapsed{justify-content:center;padding:8px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_collapsed .kbq-navbar-item__container{display:none}.kbq-navbar-item.kbq-horizontal .kbq-badge{position:absolute;z-index:1;top:6px;right:6px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_has-nested{padding:0 12px}.kbq-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;border-radius:var(--kbq-navbar-item-size-content-border-radius, 8px)}.kbq-navbar-item .kbq-icon{min-width:16px;min-height:16px}.kbq-navbar-item:after{position:absolute;content:\"\";display:none;border-radius:var(--kbq-navbar-item-size-content-border-radius, 8px)}.kbq-navbar-title{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.kbq-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.kbq-navbar-item__container .kbq-icon{align-self:center}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button{flex:1}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button .kbq-button-wrapper{justify-content:center}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_left{margin-left:unset}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_right{margin-right:unset}a.kbq-navbar-item,a.kbq-navbar-title{text-decoration:none}.kbq-navbar-item [kbq-button],.kbq-navbar-brand [kbq-button],.kbq-navbar-toggle [kbq-button]{z-index:1}\n", ".kbq-navbar-logo{display:flex}.kbq-navbar-brand{position:relative;display:flex;border-radius:8px}.kbq-navbar-brand:after{position:absolute;content:\"\";display:none;border-radius:var(--kbq-navbar-item-size-content-border-radius, 8px)}.kbq-navbar-brand .kbq-navbar-title{cursor:pointer}a.kbq-navbar-brand{text-decoration:none}.kbq-navbar-brand.kbq-horizontal{padding:8px 6px 8px 4px;align-items:center;gap:8px}.kbq-navbar-brand.kbq-horizontal:after{inset:4px 4px 4px 0}.kbq-navbar-brand.kbq-horizontal .kbq-navbar-title{padding-right:12px}.kbq-navbar-brand.kbq-vertical .kbq-navbar-logo{align-items:center}.kbq-navbar-brand.kbq-vertical .kbq-navbar-title{display:block;align-items:center;padding-top:4px;padding-bottom:4px;height:32px;padding-left:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-brand.kbq-vertical.kbq-expanded{position:relative;height:40px;width:40px;margin:16px 16px 40px;flex-direction:column}.kbq-navbar-brand.kbq-vertical.kbq-expanded:after{inset:0}.kbq-navbar-brand.kbq-vertical.kbq-expanded .kbq-navbar-logo{min-height:40px;justify-content:center}.kbq-navbar-brand.kbq-vertical.kbq-expanded .kbq-navbar-title{position:absolute;left:4px;bottom:-40px;max-width:200px}.kbq-navbar-brand.kbq-vertical.kbq-collapsed{height:48px;width:48px;justify-content:center}.kbq-navbar-brand.kbq-vertical.kbq-collapsed:after{inset:4px}.kbq-navbar-brand.kbq-vertical.kbq-collapsed .kbq-navbar-title{display:none}\n", ".kbq-navbar-divider{display:block}.kbq-navbar-divider.kbq-vertical{height:1px;margin:8px 16px}.kbq-navbar-divider.kbq-horizontal{width:1px;height:12px;margin-left:12px;margin-right:12px}\n"] }]
252
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }], propDecorators: { rectangleElements: [{
242
253
  type: ContentChildren,
243
254
  args: [forwardRef(() => KbqNavbarRectangleElement), { descendants: true }]
244
255
  }], navbarItems: [{
245
256
  type: ContentChildren,
246
257
  args: [forwardRef(() => KbqNavbarItem), { descendants: true }]
247
258
  }] } });
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFHSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFDSCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEdBQUcsRUFDSCxvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ3JCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFDSCxzQkFBc0IsRUFFdEIsYUFBYSxFQUNiLHlCQUF5QixFQUM1QixNQUFNLHlCQUF5QixDQUFDOzs7QUFPakMsTUFBTSxPQUFPLHFCQUFxQjtJQU05QixJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUlELElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxD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QXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs0SkFJckMsaUJBQWlCO3NCQURoQixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFHVixXQUFXO3NCQUFuRixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvY3VzS2V5TWFuYWdlciB9IGZyb20gJ0Brb29iaXEvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgICBMRUZUX0FSUk9XLFxuICAgIFJJR0hUX0FSUk9XLFxuICAgIFRBQixcbiAgICBpc0hvcml6b250YWxNb3ZlbWVudCxcbiAgICBpc1ZlcnRpY2FsTW92ZW1lbnRcbn0gZnJvbSAnQGtvb2JpcS9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgbWVyZ2UsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBLYnFOYXZiYXJGb2N1c2FibGVJdGVtLFxuICAgIEticU5hdmJhckZvY3VzYWJsZUl0ZW1FdmVudCxcbiAgICBLYnFOYXZiYXJJdGVtLFxuICAgIEticU5hdmJhclJlY3RhbmdsZUVsZW1lbnRcbn0gZnJvbSAnLi9uYXZiYXItaXRlbS5jb21wb25lbnQnO1xuXG5cbmV4cG9ydCB0eXBlIEticU5hdmJhckNvbnRhaW5lclBvc2l0aW9uVHlwZSA9ICdsZWZ0JyB8ICdyaWdodCc7XG5cblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgS2JxRm9jdXNhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gS2JxTmF2YmFyRm9jdXNhYmxlSXRlbSksIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBmb2N1c2FibGVJdGVtczogUXVlcnlMaXN0PEticU5hdmJhckZvY3VzYWJsZUl0ZW0+O1xuXG4gICAga2V5TWFuYWdlcjogRm9jdXNLZXlNYW5hZ2VyPEticU5hdmJhckZvY3VzYWJsZUl0ZW0+O1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgdGFiSW5kZXgoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYkluZGV4O1xuICAgIH1cblxuICAgIHNldCB0YWJJbmRleCh2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuX3RhYkluZGV4ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdGFiSW5kZXggPSAwO1xuXG4gICAgZ2V0IG9wdGlvbkZvY3VzQ2hhbmdlcygpOiBPYnNlcnZhYmxlPEticU5hdmJhckZvY3VzYWJsZUl0ZW1FdmVudD4ge1xuICAgICAgICByZXR1cm4gbWVyZ2UoLi4udGhpcy5mb2N1c2FibGVJdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0ub25Gb2N1cykpO1xuICAgIH1cblxuICAgIGdldCBvcHRpb25CbHVyQ2hhbmdlcygpOiBPYnNlcnZhYmxlPEticU5hdmJhckZvY3VzYWJsZUl0ZW1FdmVudD4ge1xuICAgICAgICByZXR1cm4gbWVyZ2UoLi4udGhpcy5mb2N1c2FibGVJdGVtcy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLm9uQmx1cikpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSBvcHRpb25Gb2N1c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbDtcbiAgICBwcml2YXRlIG9wdGlvbkJsdXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGw7XG4gICAgcHJpdmF0ZSBmb2N1c01vbml0b3JTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvclxuICAgICkge1xuICAgICAgICB0aGlzLmZvY3VzTW9uaXRvclN1YnNjcmlwdGlvbiA9IHRoaXMuZm9jdXNNb25pdG9yLm1vbml0b3IoZWxlbWVudFJlZikuc3Vic2NyaWJlKChmb2N1c09yaWdpbikgPT4ge1xuICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0Rm9jdXNPcmlnaW4oZm9jdXNPcmlnaW4pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMua2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXI8S2JxTmF2YmFyRm9jdXNhYmxlSXRlbT4odGhpcy5mb2N1c2FibGVJdGVtcylcbiAgICAgICAgLndpdGhUeXBlQWhlYWQoKTtcblxuICAgICAgICB0aGlzLmtleU1hbmFnZXIudGFiT3V0XG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50YWJJbmRleCA9IC0xO1xuXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFiSW5kZXggPSAwO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5mb2N1c2FibGVJdGVtcy5jaGFuZ2VzXG4gICAgICAgICAgICAucGlwZShzdGFydFdpdGgobnVsbCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0T3B0aW9ucygpO1xuXG4gICAgICAgICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHdlIG5lZWQgdG8gdXBkYXRlIG91ciB0YWIgaW5kZXhcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRhYkluZGV4KCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuXG4gICAgICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZm9jdXNNb25pdG9yU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzTW9uaXRvclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5mb2N1c01vbml0b3JTdWJzY3JpcHRpb24gPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvY3VzYWJsZUl0ZW1zLmxlbmd0aCA9PT0gMCkgeyByZXR1cm47IH1cblxuICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0Rmlyc3RJdGVtQWN0aXZlKCk7XG4gICAgfVxuXG4gICAgYmx1cigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc0ZvY3VzZWRJdGVtKCkpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHJlc2V0T3B0aW9ucygpIHtcbiAgICAgICAgdGhpcy5kcm9wU3Vic2NyaXB0aW9ucygpO1xuICAgICAgICB0aGlzLmxpc3RlblRvT3B0aW9uc0ZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRyb3BTdWJzY3JpcHRpb25zKCkge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25Gb2N1c1N1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25Gb2N1c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy5vcHRpb25Gb2N1c1N1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcHRpb25CbHVyU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbkJsdXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uQmx1clN1YnNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGxpc3RlblRvT3B0aW9uc0ZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9wdGlvbkZvY3VzU3Vic2NyaXB0aW9uID0gdGhpcy5vcHRpb25Gb2N1c0NoYW5nZXNcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHRoaXMuZm9jdXNhYmxlSXRlbXMudG9BcnJheSgpLmluZGV4T2YoZXZlbnQuaXRlbSk7XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1ZhbGlkSW5kZXgoaW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGluZGV4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLm9wdGlvbkJsdXJTdWJzY3JpcHRpb24gPSB0aGlzLm9wdGlvbkJsdXJDaGFuZ2VzXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuYmx1cigpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVRhYkluZGV4KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYkluZGV4ID0gdGhpcy5mb2N1c2FibGVJdGVtcy5sZW5ndGggPT09IDAgPyAtMSA6IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1ZhbGlkSW5kZXgoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaW5kZXggPj0gMCAmJiBpbmRleCA8IHRoaXMuZm9jdXNhYmxlSXRlbXMubGVuZ3RoO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzRm9jdXNlZEl0ZW0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZUl0ZW1zLnNvbWUoKGl0ZW0pID0+IGl0ZW0uaGFzRm9jdXMpO1xuICAgIH1cbn1cblxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2ticS1uYXZiYXItY29udGFpbmVyJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLW5hdmJhci1jb250YWluZXInXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBLYnFOYXZiYXJDb250YWluZXIge31cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtbmF2YmFyJyxcbiAgICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50IHNlbGVjdD1cIltrYnEtbmF2YmFyLWNvbnRhaW5lcl0sIGticS1uYXZiYXItY29udGFpbmVyXCI+PC9uZy1jb250ZW50PmAsXG4gICAgc3R5bGVVcmxzOiBbXG4gICAgICAgICcuL25hdmJhci5zY3NzJyxcbiAgICAgICAgJy4vbmF2YmFyLWl0ZW0uc2NzcycsXG4gICAgICAgICcuL25hdmJhci1icmFuZC5zY3NzJyxcbiAgICAgICAgJy4vbmF2YmFyLWRpdmlkZXIuc2NzcydcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtbmF2YmFyJyxcblxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ3RhYkluZGV4JyxcblxuICAgICAgICAnKGZvY3VzKSc6ICdmb2N1cygpJyxcbiAgICAgICAgJyhibHVyKSc6ICdibHVyKCknLFxuXG4gICAgICAgICcoa2V5ZG93biknOiAnb25LZXlEb3duKCRldmVudCknLFxuXG4gICAgICAgICcod2luZG93OnJlc2l6ZSknOiAncmVzaXplU3RyZWFtLm5leHQoJGV2ZW50KSdcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgS2JxTmF2YmFyIGV4dGVuZHMgS2JxRm9jdXNhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gS2JxTmF2YmFyUmVjdGFuZ2xlRWxlbWVudCksIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICByZWN0YW5nbGVFbGVtZW50czogUXVlcnlMaXN0PEticU5hdmJhclJlY3RhbmdsZUVsZW1lbnQ+O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEticU5hdmJhckl0ZW0pLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIG5hdmJhckl0ZW1zOiBRdWVyeUxpc3Q8S2JxTmF2YmFySXRlbT47XG5cbiAgICByZWFkb25seSByZXNpemVTdHJlYW0gPSBuZXcgU3ViamVjdDxFdmVudD4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzaXplRGVib3VuY2VJbnRlcnZhbDogbnVtYmVyID0gMTAwO1xuXG4gICAgcHJpdmF0ZSBnZXQgd2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHRvdGFsSXRlbXNXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWN0YW5nbGVFbGVtZW50c1xuICAgICAgICAgICAgLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiBhY2MgKyBpdGVtLmdldE91dGVyRWxlbWVudFdpZHRoKCksIDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNvbGxhcHNhYmxlSXRlbXMoKTogS2JxTmF2YmFySXRlbVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF2YmFySXRlbXNcbiAgICAgICAgICAgIC50b0FycmF5KClcbiAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaWNvbiAmJiBpdGVtLnRpdGxlICYmIGl0ZW0uY29sbGFwc2FibGUpXG4gICAgICAgICAgICAucmV2ZXJzZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzaXplU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNoYW5nZURldGVjdG9yUmVmLCBlbGVtZW50UmVmLCBmb2N1c01vbml0b3IpO1xuXG4gICAgICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uID0gdGhpcy5yZXNpemVTdHJlYW1cbiAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSh0aGlzLnJlc2l6ZURlYm91bmNlSW50ZXJ2YWwpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLnVwZGF0ZUV4cGFuZGVkU3RhdGVGb3JJdGVtcyk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEl0ZW1zU3RhdGUoKTtcblxuICAgICAgICB0aGlzLnJlY3RhbmdsZUVsZW1lbnRzLmNoYW5nZXNcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5zZXRJdGVtc1N0YXRlKTtcblxuICAgICAgICBzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcblxuICAgICAgICB0aGlzLmtleU1hbmFnZXJcbiAgICAgICAgICAgIC53aXRoVmVydGljYWxPcmllbnRhdGlvbihmYWxzZSlcbiAgICAgICAgICAgIC53aXRoSG9yaXpvbnRhbE9yaWVudGF0aW9uKCdsdHInKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIE5vdGU6IHRoaXMgd2FpdCBpcyByZXF1aXJlZCBmb3IgbG9hZGluZyBhbmQgcmVuZGVyaW5nIGZvbnRzIGZvciBpY29ucztcbiAgICAgICAgLy8gdW5mb3J0dW5hdGVseSB3ZSBjYW5ub3QgY29udHJvbCBmb250IHJlbmRlcmluZ1xuICAgICAgICBzZXRUaW1lb3V0KHRoaXMudXBkYXRlRXhwYW5kZWRTdGF0ZUZvckl0ZW1zKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5yZXNpemVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cblxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRlcHJlY2F0aW9uXG4gICAgICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5rZXlDb2RlO1xuXG4gICAgICAgIGlmIChpc1ZlcnRpY2FsTW92ZW1lbnQoZXZlbnQpIHx8IGlzSG9yaXpvbnRhbE1vdmVtZW50KGV2ZW50KSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChrZXlDb2RlID09PSBUQUIpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci50YWJPdXQubmV4dCgpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSBpZiAoa2V5Q29kZSA9PT0gUklHSFRfQVJST1cpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXROZXh0SXRlbUFjdGl2ZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKGtleUNvZGUgPT09IExFRlRfQVJST1cpIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5zZXRQcmV2aW91c0l0ZW1BY3RpdmUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMua2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlRXhwYW5kZWRTdGF0ZUZvckl0ZW1zID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBjb2xsYXBzZURlbHRhID0gdGhpcy50b3RhbEl0ZW1zV2lkdGggLSB0aGlzLndpZHRoO1xuXG4gICAgICAgIGNvbnN0IG5lZWRDb2xsYXBzZSA9IGNvbGxhcHNlRGVsdGEgPiAwO1xuXG4gICAgICAgIGlmIChuZWVkQ29sbGFwc2UpIHtcbiAgICAgICAgICAgIHRoaXMuY29sbGFwc2VJdGVtcyhjb2xsYXBzZURlbHRhKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kSXRlbXMoY29sbGFwc2VEZWx0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbGxhcHNlSXRlbXMoY29sbGFwc2VEZWx0YTogbnVtYmVyKSB7XG4gICAgICAgIGxldCBkZWx0YSA9IGNvbGxhcHNlRGVsdGE7XG5cbiAgICAgICAgY29uc3QgdW5Db2xsYXBzZWRJdGVtcyA9IHRoaXMuY29sbGFwc2FibGVJdGVtc1xuICAgICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0uY29sbGFwc2VkKTtcblxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdW5Db2xsYXBzZWRJdGVtcykge1xuICAgICAgICAgICAgaXRlbS5jb2xsYXBzZWQgPSB0cnVlO1xuICAgICAgICAgICAgZGVsdGEgLT0gaXRlbS5nZXRUaXRsZVdpZHRoKCk7XG5cbiAgICAgICAgICAgIGlmIChkZWx0YSA8IDApIHsgYnJlYWs7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZXhwYW5kSXRlbXMoY29sbGFwc2VEZWx0YTogbnVtYmVyKSB7XG4gICAgICAgIGxldCBkZWx0YSA9IGNvbGxhcHNlRGVsdGE7XG5cbiAgICAgICAgdGhpcy5jb2xsYXBzYWJsZUl0ZW1zXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmNvbGxhcHNlZClcbiAgICAgICAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRlbHRhICsgaXRlbS5nZXRUaXRsZVdpZHRoKCkgPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uY29sbGFwc2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhICs9IGl0ZW0uZ2V0VGl0bGVXaWR0aCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SXRlbXNTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMucmVjdGFuZ2xlRWxlbWVudHM/LmZvckVhY2goKGl0ZW0pID0+IGl0ZW0uaG9yaXpvbnRhbCA9IHRydWUpKTtcbiAgICB9XG59XG4iXX0=
259
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFHSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25ELE9BQU8sRUFDSCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEdBQUcsRUFDSCxvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ3JCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFDSCxzQkFBc0IsRUFFdEIsYUFBYSxFQUNiLHlCQUF5QixFQUM1QixNQUFNLHlCQUF5QixDQUFDOzs7QUFPakMsTUFBTSxPQUFPLHFCQUFxQjtJQU05QixJQUNJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksUUFBUSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUlELElBQUksa0JBQWtCO1FBQ2xCLE9BQU8sS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBUUQsWUFDYyxpQkFBb0MsRUFDOUMsVUFBc0IsRUFDZCxZQUEwQjtRQUZ4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBRXRDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBbkI5QixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBVUgsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFXL0MsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQzdGLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxlQUFlLENBQXlCLElBQUksQ0FBQyxjQUFjLENBQUM7YUFDakYsYUFBYSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNO2FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQy9CLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRW5CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO1FBRVAsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPO2FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNoRCxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBRXBCLGtEQUFrRDtZQUNsRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUUxQixJQUFJLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDO1FBQ3pDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFBQyxPQUFPO1FBQUMsQ0FBQztRQUVqRCxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFUyxZQUFZO1FBQ2xCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFUyxpQkFBaUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsdUJBQXVCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQztRQUN4QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQztRQUN2QyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQjthQUNqRCxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqQixNQUFNLEtBQUssR0FBVyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFeEUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRVAsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxpQkFBaUI7YUFDL0MsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxjQUFjO1FBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTyxZQUFZLENBQUMsS0FBYTtRQUM5QixPQUFPLEtBQUssSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQzVELENBQUM7SUFFTyxjQUFjO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3RCxDQUFDO2lJQXBJUSxxQkFBcUI7cUhBQXJCLHFCQUFxQiwrR0FDSSxzQkFBc0I7OzJGQUQvQyxxQkFBcUI7a0JBRGpDLFNBQVM7MElBR04sY0FBYztzQkFEYixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFNNUUsUUFBUTtzQkFEWCxLQUFLOztBQXdJVixNQUFNLE9BQU8sa0JBQWtCO2lJQUFsQixrQkFBa0I7cUhBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFOOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLHNCQUFzQjtxQkFDaEM7aUJBQ0o7O0FBMkJELE1BQU0sT0FBTyxTQUFVLFNBQVEscUJBQXFCO0lBVWhELElBQVksS0FBSztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUM7SUFDdkUsQ0FBQztJQUVELElBQVksZUFBZTtRQUN2QixPQUFPLElBQUksQ0FBQyxpQkFBaUI7YUFDeEIsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxJQUFZLGdCQUFnQjtRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXO2FBQ2xCLE9BQU8sRUFBRTthQUNULE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDN0QsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUlELFlBQ1ksVUFBc0IsRUFDOUIsaUJBQW9DLEVBQ3BDLFlBQTBCO1FBRTFCLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFKM0MsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXZCekIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUyxDQUFDO1FBRTVCLDJCQUFzQixHQUFXLEdBQUcsQ0FBQztRQThFdEQsZ0NBQTJCLEdBQUcsR0FBRyxFQUFFO1lBQy9CLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUV4RCxNQUFNLFlBQVksR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1lBRXZDLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN0QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNwQyxDQUFDO1FBQ0wsQ0FBQyxDQUFBO1FBNkNPLGtCQUFhLEdBQUcsR0FBRyxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxPQUFPLEVBQUU7aUJBQ1osSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RixDQUFDLENBQUE7UUE3R0csSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZO2FBQ3RDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7YUFDL0MsU0FBUyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU87YUFDekIsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVuQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsVUFBVTthQUNWLHVCQUF1QixDQUFDLEtBQUssQ0FBQzthQUM5Qix5QkFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsZUFBZTtRQUNYLHlFQUF5RTtRQUN6RSxpREFBaUQ7UUFDakQsVUFBVSxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXRDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQW9CO1FBQzFCLHdDQUF3QztRQUN4QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBRTlCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLElBQUksb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzVGLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxPQUFPLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFOUIsT0FBTztRQUNYLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNuRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDeEMsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ25HLElBQUksQ0FBQyxVQUFVLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM1QyxDQUFDO2FBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0wsQ0FBQztJQWNPLGNBQWMsQ0FBQyxLQUFvQjtRQUN2QyxPQUFPLENBQUMsQ0FBRSxLQUFLLENBQUMsTUFBc0IsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxLQUFvQjtRQUM5QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBMEIsQ0FBQztRQUUvQyxPQUFPLEtBQUssQ0FBQyxjQUFjLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxLQUFvQjtRQUM3QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBMEIsQ0FBQztRQUUvQyxPQUFPLEtBQUssQ0FBQyxZQUFZLEtBQUssS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDckQsQ0FBQztJQUVPLGFBQWEsQ0FBQyxhQUFxQjtRQUN2QyxJQUFJLEtBQUssR0FBRyxhQUFhLENBQUM7UUFFMUIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCO2FBQ3pDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdkMsS0FBSyxNQUFNLElBQUksSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLEtBQUssSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFFOUIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQUMsTUFBTTtZQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXLENBQUMsYUFBcUI7UUFDckMsSUFBSSxLQUFLLEdBQUcsYUFBYSxDQUFDO1FBRTFCLElBQUksQ0FBQyxnQkFBZ0I7YUFDaEIsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ2hDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2QsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNsQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO2lJQTNJUSxTQUFTO3FIQUFULFNBQVMsZ1VBQ2dCLHlCQUF5QixzRkFHekIsYUFBYSx3RUExQnJDLGlGQUFpRjs7MkZBc0JsRixTQUFTO2tCQXhCckIsU0FBUzsrQkFDSSxZQUFZLFlBQ1osaUZBQWlGLFFBT3JGO3dCQUNGLEtBQUssRUFBRSxZQUFZO3dCQUVuQixpQkFBaUIsRUFBRSxVQUFVO3dCQUU3QixTQUFTLEVBQUUsU0FBUzt3QkFDcEIsUUFBUSxFQUFFLFFBQVE7d0JBRWxCLFdBQVcsRUFBRSxtQkFBbUI7d0JBRWhDLGlCQUFpQixFQUFFLDJCQUEyQjtxQkFDakQsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7MElBSXJDLGlCQUFpQjtzQkFEaEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBR1YsV0FBVztzQkFBbkYsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIgfSBmcm9tICdAa29vYmlxL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gICAgTEVGVF9BUlJPVyxcbiAgICBSSUdIVF9BUlJPVyxcbiAgICBUQUIsXG4gICAgaXNIb3Jpem9udGFsTW92ZW1lbnQsXG4gICAgaXNWZXJ0aWNhbE1vdmVtZW50XG59IGZyb20gJ0Brb29iaXEvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgc3RhcnRXaXRoLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gICAgS2JxTmF2YmFyRm9jdXNhYmxlSXRlbSxcbiAgICBLYnFOYXZiYXJGb2N1c2FibGVJdGVtRXZlbnQsXG4gICAgS2JxTmF2YmFySXRlbSxcbiAgICBLYnFOYXZiYXJSZWN0YW5nbGVFbGVtZW50XG59IGZyb20gJy4vbmF2YmFyLWl0ZW0uY29tcG9uZW50JztcblxuXG5leHBvcnQgdHlwZSBLYnFOYXZiYXJDb250YWluZXJQb3NpdGlvblR5cGUgPSAnbGVmdCcgfCAncmlnaHQnO1xuXG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIEticUZvY3VzYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEticU5hdmJhckZvY3VzYWJsZUl0ZW0pLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgZm9jdXNhYmxlSXRlbXM6IFF1ZXJ5TGlzdDxLYnFOYXZiYXJGb2N1c2FibGVJdGVtPjtcblxuICAgIGtleU1hbmFnZXI6IEZvY3VzS2V5TWFuYWdlcjxLYnFOYXZiYXJGb2N1c2FibGVJdGVtPjtcblxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHRhYkluZGV4KCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJJbmRleDtcbiAgICB9XG5cbiAgICBzZXQgdGFiSW5kZXgodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl90YWJJbmRleCA9IHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3RhYkluZGV4ID0gMDtcblxuICAgIGdldCBvcHRpb25Gb2N1c0NoYW5nZXMoKTogT2JzZXJ2YWJsZTxLYnFOYXZiYXJGb2N1c2FibGVJdGVtRXZlbnQ+IHtcbiAgICAgICAgcmV0dXJuIG1lcmdlKC4uLnRoaXMuZm9jdXNhYmxlSXRlbXMubWFwKChpdGVtKSA9PiBpdGVtLm9uRm9jdXMpKTtcbiAgICB9XG5cbiAgICBnZXQgb3B0aW9uQmx1ckNoYW5nZXMoKTogT2JzZXJ2YWJsZTxLYnFOYXZiYXJGb2N1c2FibGVJdGVtRXZlbnQ+IHtcbiAgICAgICAgcmV0dXJuIG1lcmdlKC4uLnRoaXMuZm9jdXNhYmxlSXRlbXMubWFwKChvcHRpb24pID0+IG9wdGlvbi5vbkJsdXIpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHByaXZhdGUgb3B0aW9uRm9jdXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGw7XG4gICAgcHJpdmF0ZSBvcHRpb25CbHVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsO1xuICAgIHByaXZhdGUgZm9jdXNNb25pdG9yU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3JcbiAgICApIHtcbiAgICAgICAgdGhpcy5mb2N1c01vbml0b3JTdWJzY3JpcHRpb24gPSB0aGlzLmZvY3VzTW9uaXRvci5tb25pdG9yKGVsZW1lbnRSZWYpLnN1YnNjcmliZSgoZm9jdXNPcmlnaW4pID0+IHtcbiAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldEZvY3VzT3JpZ2luKGZvY3VzT3JpZ2luKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmtleU1hbmFnZXIgPSBuZXcgRm9jdXNLZXlNYW5hZ2VyPEticU5hdmJhckZvY3VzYWJsZUl0ZW0+KHRoaXMuZm9jdXNhYmxlSXRlbXMpXG4gICAgICAgIC53aXRoVHlwZUFoZWFkKCk7XG5cbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnRhYk91dFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudGFiSW5kZXggPSAtMTtcblxuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYkluZGV4ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZm9jdXNhYmxlSXRlbXMuY2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoc3RhcnRXaXRoKG51bGwpLCB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZXNldE9wdGlvbnMoKTtcblxuICAgICAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB3ZSBuZWVkIHRvIHVwZGF0ZSBvdXIgdGFiIGluZGV4XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVUYWJJbmRleCgpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcblxuICAgICAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuXG4gICAgICAgIGlmICh0aGlzLmZvY3VzTW9uaXRvclN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5mb2N1c01vbml0b3JTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNNb25pdG9yU3Vic2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5mb2N1c2FibGVJdGVtcy5sZW5ndGggPT09IDApIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldEZpcnN0SXRlbUFjdGl2ZSgpO1xuICAgIH1cblxuICAgIGJsdXIoKSB7XG4gICAgICAgIGlmICghdGhpcy5oYXNGb2N1c2VkSXRlbSgpKSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSgtMSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZXNldE9wdGlvbnMoKSB7XG4gICAgICAgIHRoaXMuZHJvcFN1YnNjcmlwdGlvbnMoKTtcbiAgICAgICAgdGhpcy5saXN0ZW5Ub09wdGlvbnNGb2N1cygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBkcm9wU3Vic2NyaXB0aW9ucygpIHtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9uRm9jdXNTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uRm9jdXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uRm9jdXNTdWJzY3JpcHRpb24gPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMub3B0aW9uQmx1clN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25CbHVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbkJsdXJTdWJzY3JpcHRpb24gPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsaXN0ZW5Ub09wdGlvbnNGb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcHRpb25Gb2N1c1N1YnNjcmlwdGlvbiA9IHRoaXMub3B0aW9uRm9jdXNDaGFuZ2VzXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB0aGlzLmZvY3VzYWJsZUl0ZW1zLnRvQXJyYXkoKS5pbmRleE9mKGV2ZW50Lml0ZW0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNWYWxpZEluZGV4KGluZGV4KSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIudXBkYXRlQWN0aXZlSXRlbShpbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vcHRpb25CbHVyU3Vic2NyaXB0aW9uID0gdGhpcy5vcHRpb25CbHVyQ2hhbmdlc1xuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmJsdXIoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUYWJJbmRleCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJJbmRleCA9IHRoaXMuZm9jdXNhYmxlSXRlbXMubGVuZ3RoID09PSAwID8gLTEgOiAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNWYWxpZEluZGV4KGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLmZvY3VzYWJsZUl0ZW1zLmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc0ZvY3VzZWRJdGVtKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGVJdGVtcy5zb21lKChpdGVtKSA9PiBpdGVtLmhhc0ZvY3VzKTtcbiAgICB9XG59XG5cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdrYnEtbmF2YmFyLWNvbnRhaW5lcicsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1uYXZiYXItY29udGFpbmVyJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxTmF2YmFyQ29udGFpbmVyIHt9XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2JxLW5hdmJhcicsXG4gICAgdGVtcGxhdGU6IGA8bmctY29udGVudCBzZWxlY3Q9XCJba2JxLW5hdmJhci1jb250YWluZXJdLCBrYnEtbmF2YmFyLWNvbnRhaW5lclwiPjwvbmctY29udGVudD5gLFxuICAgIHN0eWxlVXJsczogW1xuICAgICAgICAnLi9uYXZiYXIuc2NzcycsXG4gICAgICAgICcuL25hdmJhci1pdGVtLnNjc3MnLFxuICAgICAgICAnLi9uYXZiYXItYnJhbmQuc2NzcycsXG4gICAgICAgICcuL25hdmJhci1kaXZpZGVyLnNjc3MnXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLW5hdmJhcicsXG5cbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICd0YWJJbmRleCcsXG5cbiAgICAgICAgJyhmb2N1cyknOiAnZm9jdXMoKScsXG4gICAgICAgICcoYmx1ciknOiAnYmx1cigpJyxcblxuICAgICAgICAnKGtleWRvd24pJzogJ29uS2V5RG93bigkZXZlbnQpJyxcblxuICAgICAgICAnKHdpbmRvdzpyZXNpemUpJzogJ3Jlc2l6ZVN0cmVhbS5uZXh0KCRldmVudCknXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEticU5hdmJhciBleHRlbmRzIEticUZvY3VzYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEticU5hdmJhclJlY3RhbmdsZUVsZW1lbnQpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgcmVjdGFuZ2xlRWxlbWVudHM6IFF1ZXJ5TGlzdDxLYnFOYXZiYXJSZWN0YW5nbGVFbGVtZW50PjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBLYnFOYXZiYXJJdGVtKSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBuYXZiYXJJdGVtczogUXVlcnlMaXN0PEticU5hdmJhckl0ZW0+O1xuXG4gICAgcmVhZG9ubHkgcmVzaXplU3RyZWFtID0gbmV3IFN1YmplY3Q8RXZlbnQ+KCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc2l6ZURlYm91bmNlSW50ZXJ2YWw6IG51bWJlciA9IDEwMDtcblxuICAgIHByaXZhdGUgZ2V0IHdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCB0b3RhbEl0ZW1zV2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVjdGFuZ2xlRWxlbWVudHNcbiAgICAgICAgICAgIC5yZWR1Y2UoKGFjYywgaXRlbSkgPT4gYWNjICsgaXRlbS5nZXRPdXRlckVsZW1lbnRXaWR0aCgpLCAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjb2xsYXBzYWJsZUl0ZW1zKCk6IEticU5hdmJhckl0ZW1bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdmJhckl0ZW1zXG4gICAgICAgICAgICAudG9BcnJheSgpXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmljb24gJiYgaXRlbS50aXRsZSAmJiBpdGVtLmNvbGxhcHNhYmxlKVxuICAgICAgICAgICAgLnJldmVyc2UoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2l6ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvclxuICAgICkge1xuICAgICAgICBzdXBlcihjaGFuZ2VEZXRlY3RvclJlZiwgZWxlbWVudFJlZiwgZm9jdXNNb25pdG9yKTtcblxuICAgICAgICB0aGlzLnJlc2l6ZVN1YnNjcmlwdGlvbiA9IHRoaXMucmVzaXplU3RyZWFtXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUodGhpcy5yZXNpemVEZWJvdW5jZUludGVydmFsKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy51cGRhdGVFeHBhbmRlZFN0YXRlRm9ySXRlbXMpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRJdGVtc1N0YXRlKCk7XG5cbiAgICAgICAgdGhpcy5yZWN0YW5nbGVFbGVtZW50cy5jaGFuZ2VzXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMuc2V0SXRlbXNTdGF0ZSk7XG5cbiAgICAgICAgc3VwZXIubmdBZnRlckNvbnRlbnRJbml0KCk7XG5cbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyXG4gICAgICAgICAgICAud2l0aFZlcnRpY2FsT3JpZW50YXRpb24oZmFsc2UpXG4gICAgICAgICAgICAud2l0aEhvcml6b250YWxPcmllbnRhdGlvbignbHRyJyk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBOb3RlOiB0aGlzIHdhaXQgaXMgcmVxdWlyZWQgZm9yIGxvYWRpbmcgYW5kIHJlbmRlcmluZyBmb250cyBmb3IgaWNvbnM7XG4gICAgICAgIC8vIHVuZm9ydHVuYXRlbHkgd2UgY2Fubm90IGNvbnRyb2wgZm9udCByZW5kZXJpbmdcbiAgICAgICAgc2V0VGltZW91dCh0aGlzLnVwZGF0ZUV4cGFuZGVkU3RhdGVGb3JJdGVtcyk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMucmVzaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkZXByZWNhdGlvblxuICAgICAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcblxuICAgICAgICBpZiAoIXRoaXMuZXZlbnRGcm9tSW5wdXQoZXZlbnQpICYmIChpc1ZlcnRpY2FsTW92ZW1lbnQoZXZlbnQpIHx8IGlzSG9yaXpvbnRhbE1vdmVtZW50KGV2ZW50KSkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoa2V5Q29kZSA9PT0gVEFCKSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIudGFiT3V0Lm5leHQoKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZXZlbnRGcm9tSW5wdXQoZXZlbnQpICYmIHRoaXMuY3Vyc29yT25MYXN0UG9zaXRpb24oZXZlbnQpICYmIGtleUNvZGUgPT09IFJJR0hUX0FSUk9XKSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0TmV4dEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmV2ZW50RnJvbUlucHV0KGV2ZW50KSAmJiB0aGlzLmN1cnNvck9uRmlyc3RQb3NpdGlvbihldmVudCkgJiYga2V5Q29kZSA9PT0gTEVGVF9BUlJPVykge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldFByZXZpb3VzSXRlbUFjdGl2ZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLmV2ZW50RnJvbUlucHV0KGV2ZW50KSkge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVFeHBhbmRlZFN0YXRlRm9ySXRlbXMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbGxhcHNlRGVsdGEgPSB0aGlzLnRvdGFsSXRlbXNXaWR0aCAtIHRoaXMud2lkdGg7XG5cbiAgICAgICAgY29uc3QgbmVlZENvbGxhcHNlID0gY29sbGFwc2VEZWx0YSA+IDA7XG5cbiAgICAgICAgaWYgKG5lZWRDb2xsYXBzZSkge1xuICAgICAgICAgICAgdGhpcy5jb2xsYXBzZUl0ZW1zKGNvbGxhcHNlRGVsdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5leHBhbmRJdGVtcyhjb2xsYXBzZURlbHRhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZXZlbnRGcm9tSW5wdXQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oJ2ticWlucHV0Jyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjdXJzb3JPbkZpcnN0UG9zaXRpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcblxuICAgICAgICByZXR1cm4gaW5wdXQuc2VsZWN0aW9uU3RhcnQgPT09IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjdXJzb3JPbkxhc3RQb3NpdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBpbnB1dCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgICAgIHJldHVybiBpbnB1dC5zZWxlY3Rpb25FbmQgPT09IGlucHV0LnZhbHVlLmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbGxhcHNlSXRlbXMoY29sbGFwc2VEZWx0YTogbnVtYmVyKSB7XG4gICAgICAgIGxldCBkZWx0YSA9IGNvbGxhcHNlRGVsdGE7XG5cbiAgICAgICAgY29uc3QgdW5Db2xsYXBzZWRJdGVtcyA9IHRoaXMuY29sbGFwc2FibGVJdGVtc1xuICAgICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0uY29sbGFwc2VkKTtcblxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdW5Db2xsYXBzZWRJdGVtcykge1xuICAgICAgICAgICAgaXRlbS5jb2xsYXBzZWQgPSB0cnVlO1xuICAgICAgICAgICAgZGVsdGEgLT0gaXRlbS5nZXRUaXRsZVdpZHRoKCk7XG5cbiAgICAgICAgICAgIGlmIChkZWx0YSA8IDApIHsgYnJlYWs7IH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZXhwYW5kSXRlbXMoY29sbGFwc2VEZWx0YTogbnVtYmVyKSB7XG4gICAgICAgIGxldCBkZWx0YSA9IGNvbGxhcHNlRGVsdGE7XG5cbiAgICAgICAgdGhpcy5jb2xsYXBzYWJsZUl0ZW1zXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmNvbGxhcHNlZClcbiAgICAgICAgICAgIC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRlbHRhICsgaXRlbS5nZXRUaXRsZVdpZHRoKCkgPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uY29sbGFwc2VkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhICs9IGl0ZW0uZ2V0VGl0bGVXaWR0aCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SXRlbXNTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMucmVjdGFuZ2xlRWxlbWVudHM/LmZvckVhY2goKGl0ZW0pID0+IGl0ZW0uaG9yaXpvbnRhbCA9IHRydWUpKTtcbiAgICB9XG59XG4iXX0=
@@ -4,13 +4,13 @@ import { CommonModule } from '@angular/common';
4
4
  import { NgModule } from '@angular/core';
5
5
  import { KbqIconModule } from '@koobiq/components/icon';
6
6
  import { KbqToolTipModule } from '@koobiq/components/tooltip';
7
- import { KbqNavbarFocusableItem, KbqNavbarBrand, KbqNavbarDivider, KbqNavbarItem, KbqNavbarLogo, KbqNavbarTitle, KbqNavbarRectangleElement, KbqNavbarToggle, KbqNavbarSubTitle, KbqNavbarBento } from './navbar-item.component';
7
+ import { KbqNavbarFocusableItem, KbqNavbarBrand, KbqNavbarDivider, KbqNavbarItem, KbqNavbarLogo, KbqNavbarTitle, KbqNavbarRectangleElement, KbqNavbarToggle, KbqNavbarBento } from './navbar-item.component';
8
8
  import { KbqNavbar, KbqNavbarContainer } from './navbar.component';
9
9
  import { KbqVerticalNavbar } from './vertical-navbar.component';
10
10
  import * as i0 from "@angular/core";
11
11
  export class KbqNavbarModule {
12
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqNavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: KbqNavbarModule, declarations: [KbqNavbar,
12
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqNavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
13
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.0", ngImport: i0, type: KbqNavbarModule, declarations: [KbqNavbar,
14
14
  KbqNavbarContainer,
15
15
  KbqNavbarTitle,
16
16
  KbqNavbarItem,
@@ -21,7 +21,6 @@ export class KbqNavbarModule {
21
21
  KbqNavbarDivider,
22
22
  KbqNavbarFocusableItem,
23
23
  KbqNavbarRectangleElement,
24
- KbqNavbarSubTitle,
25
24
  KbqNavbarBento], imports: [CommonModule,
26
25
  A11yModule,
27
26
  PlatformModule,
@@ -37,15 +36,14 @@ export class KbqNavbarModule {
37
36
  KbqNavbarDivider,
38
37
  KbqNavbarFocusableItem,
39
38
  KbqNavbarRectangleElement,
40
- KbqNavbarSubTitle,
41
39
  KbqNavbarBento] }); }
42
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqNavbarModule, imports: [CommonModule,
40
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqNavbarModule, imports: [CommonModule,
43
41
  A11yModule,
44
42
  PlatformModule,
45
43
  KbqIconModule,
46
44
  KbqToolTipModule] }); }
47
45
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqNavbarModule, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqNavbarModule, decorators: [{
49
47
  type: NgModule,
50
48
  args: [{
51
49
  imports: [
@@ -67,7 +65,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
67
65
  KbqNavbarDivider,
68
66
  KbqNavbarFocusableItem,
69
67
  KbqNavbarRectangleElement,
70
- KbqNavbarSubTitle,
71
68
  KbqNavbarBento
72
69
  ],
73
70
  declarations: [
@@ -82,9 +79,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
82
79
  KbqNavbarDivider,
83
80
  KbqNavbarFocusableItem,
84
81
  KbqNavbarRectangleElement,
85
- KbqNavbarSubTitle,
86
82
  KbqNavbarBento
87
83
  ]
88
84
  }]
89
85
  }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUQsT0FBTyxFQUNILHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixhQUFhLEVBQ2IsY0FBYyxFQUNkLHlCQUF5QixFQUN6QixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDakIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBMENoRSxNQUFNLE9BQU8sZUFBZTtpSUFBZixlQUFlO2tJQUFmLGVBQWUsaUJBZnBCLFNBQVM7WUFDVCxrQkFBa0I7WUFDbEIsY0FBYztZQUNkLGFBQWE7WUFDYixjQUFjO1lBQ2QsYUFBYTtZQUNiLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLHNCQUFzQjtZQUN0Qix5QkFBeUI7WUFDekIsaUJBQWlCO1lBQ2pCLGNBQWMsYUFsQ2QsWUFBWTtZQUNaLFVBQVU7WUFDVixjQUFjO1lBQ2QsYUFBYTtZQUNiLGdCQUFnQixhQUdoQixTQUFTO1lBQ1Qsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxhQUFhO1lBQ2IsY0FBYztZQUNkLGFBQWE7WUFDYixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixzQkFBc0I7WUFDdEIseUJBQXlCO1lBQ3pCLGlCQUFpQjtZQUNqQixjQUFjO2tJQWtCVCxlQUFlLFlBckNwQixZQUFZO1lBQ1osVUFBVTtZQUNWLGNBQWM7WUFDZCxhQUFhO1lBQ2IsZ0JBQWdCOzsyRkFpQ1gsZUFBZTtrQkF2QzNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsU0FBUzt3QkFDVCxrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0Qix5QkFBeUI7d0JBQ3pCLGlCQUFpQjt3QkFDakIsY0FBYztxQkFDakI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLFNBQVM7d0JBQ1Qsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLHNCQUFzQjt3QkFDdEIseUJBQXlCO3dCQUN6QixpQkFBaUI7d0JBQ2pCLGNBQWM7cUJBQ2pCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQTExeU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFBsYXRmb3JtTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2JxSWNvbk1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy9pY29uJztcbmltcG9ydCB7IEticVRvb2xUaXBNb2R1bGUgfSBmcm9tICdAa29vYmlxL2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbmltcG9ydCB7XG4gICAgS2JxTmF2YmFyRm9jdXNhYmxlSXRlbSxcbiAgICBLYnFOYXZiYXJCcmFuZCxcbiAgICBLYnFOYXZiYXJEaXZpZGVyLFxuICAgIEticU5hdmJhckl0ZW0sXG4gICAgS2JxTmF2YmFyTG9nbyxcbiAgICBLYnFOYXZiYXJUaXRsZSxcbiAgICBLYnFOYXZiYXJSZWN0YW5nbGVFbGVtZW50LFxuICAgIEticU5hdmJhclRvZ2dsZSxcbiAgICBLYnFOYXZiYXJTdWJUaXRsZSxcbiAgICBLYnFOYXZiYXJCZW50b1xufSBmcm9tICcuL25hdmJhci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLYnFOYXZiYXIsIEticU5hdmJhckNvbnRhaW5lciB9IGZyb20gJy4vbmF2YmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBLYnFWZXJ0aWNhbE5hdmJhciB9IGZyb20gJy4vdmVydGljYWwtbmF2YmFyLmNvbXBvbmVudCc7XG5cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQTExeU1vZHVsZSxcbiAgICAgICAgUGxhdGZvcm1Nb2R1bGUsXG4gICAgICAgIEticUljb25Nb2R1bGUsXG4gICAgICAgIEticVRvb2xUaXBNb2R1bGVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgS2JxTmF2YmFyLFxuICAgICAgICBLYnFOYXZiYXJDb250YWluZXIsXG4gICAgICAgIEticU5hdmJhclRpdGxlLFxuICAgICAgICBLYnFOYXZiYXJJdGVtLFxuICAgICAgICBLYnFOYXZiYXJCcmFuZCxcbiAgICAgICAgS2JxTmF2YmFyTG9nbyxcbiAgICAgICAgS2JxTmF2YmFyVG9nZ2xlLFxuICAgICAgICBLYnFWZXJ0aWNhbE5hdmJhcixcbiAgICAgICAgS2JxTmF2YmFyRGl2aWRlcixcbiAgICAgICAgS2JxTmF2YmFyRm9jdXNhYmxlSXRlbSxcbiAgICAgICAgS2JxTmF2YmFyUmVjdGFuZ2xlRWxlbWVudCxcbiAgICAgICAgS2JxTmF2YmFyU3ViVGl0bGUsXG4gICAgICAgIEticU5hdmJhckJlbnRvXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgS2JxTmF2YmFyLFxuICAgICAgICBLYnFOYXZiYXJDb250YWluZXIsXG4gICAgICAgIEticU5hdmJhclRpdGxlLFxuICAgICAgICBLYnFOYXZiYXJJdGVtLFxuICAgICAgICBLYnFOYXZiYXJCcmFuZCxcbiAgICAgICAgS2JxTmF2YmFyTG9nbyxcbiAgICAgICAgS2JxTmF2YmFyVG9nZ2xlLFxuICAgICAgICBLYnFWZXJ0aWNhbE5hdmJhcixcbiAgICAgICAgS2JxTmF2YmFyRGl2aWRlcixcbiAgICAgICAgS2JxTmF2YmFyRm9jdXNhYmxlSXRlbSxcbiAgICAgICAgS2JxTmF2YmFyUmVjdGFuZ2xlRWxlbWVudCxcbiAgICAgICAgS2JxTmF2YmFyU3ViVGl0bGUsXG4gICAgICAgIEticU5hdmJhckJlbnRvXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBLYnFOYXZiYXJNb2R1bGUge31cbiJdfQ==
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUQsT0FBTyxFQUNILHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYixhQUFhLEVBQ2IsY0FBYyxFQUNkLHlCQUF5QixFQUN6QixlQUFlLEVBQ2YsY0FBYyxFQUNqQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUF3Q2hFLE1BQU0sT0FBTyxlQUFlO2lJQUFmLGVBQWU7a0lBQWYsZUFBZSxpQkFkcEIsU0FBUztZQUNULGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsYUFBYTtZQUNiLGNBQWM7WUFDZCxhQUFhO1lBQ2IsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsc0JBQXNCO1lBQ3RCLHlCQUF5QjtZQUN6QixjQUFjLGFBaENkLFlBQVk7WUFDWixVQUFVO1lBQ1YsY0FBYztZQUNkLGFBQWE7WUFDYixnQkFBZ0IsYUFHaEIsU0FBUztZQUNULGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsYUFBYTtZQUNiLGNBQWM7WUFDZCxhQUFhO1lBQ2IsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsc0JBQXNCO1lBQ3RCLHlCQUF5QjtZQUN6QixjQUFjO2tJQWlCVCxlQUFlLFlBbkNwQixZQUFZO1lBQ1osVUFBVTtZQUNWLGNBQWM7WUFDZCxhQUFhO1lBQ2IsZ0JBQWdCOzsyRkErQlgsZUFBZTtrQkFyQzNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osVUFBVTt3QkFDVixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsU0FBUzt3QkFDVCxrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGdCQUFnQjt3QkFDaEIsc0JBQXNCO3dCQUN0Qix5QkFBeUI7d0JBQ3pCLGNBQWM7cUJBQ2pCO29CQUNELFlBQVksRUFBRTt3QkFDVixTQUFTO3dCQUNULGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLHlCQUF5Qjt3QkFDekIsY0FBYztxQkFDakI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgUGxhdGZvcm1Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLYnFJY29uTW9kdWxlIH0gZnJvbSAnQGtvb2JpcS9jb21wb25lbnRzL2ljb24nO1xuaW1wb3J0IHsgS2JxVG9vbFRpcE1vZHVsZSB9IGZyb20gJ0Brb29iaXEvY29tcG9uZW50cy90b29sdGlwJztcblxuaW1wb3J0IHtcbiAgICBLYnFOYXZiYXJGb2N1c2FibGVJdGVtLFxuICAgIEticU5hdmJhckJyYW5kLFxuICAgIEticU5hdmJhckRpdmlkZXIsXG4gICAgS2JxTmF2YmFySXRlbSxcbiAgICBLYnFOYXZiYXJMb2dvLFxuICAgIEticU5hdmJhclRpdGxlLFxuICAgIEticU5hdmJhclJlY3RhbmdsZUVsZW1lbnQsXG4gICAgS2JxTmF2YmFyVG9nZ2xlLFxuICAgIEticU5hdmJhckJlbnRvXG59IGZyb20gJy4vbmF2YmFyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEticU5hdmJhciwgS2JxTmF2YmFyQ29udGFpbmVyIH0gZnJvbSAnLi9uYXZiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEticVZlcnRpY2FsTmF2YmFyIH0gZnJvbSAnLi92ZXJ0aWNhbC1uYXZiYXIuY29tcG9uZW50JztcblxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBBMTF5TW9kdWxlLFxuICAgICAgICBQbGF0Zm9ybU1vZHVsZSxcbiAgICAgICAgS2JxSWNvbk1vZHVsZSxcbiAgICAgICAgS2JxVG9vbFRpcE1vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBLYnFOYXZiYXIsXG4gICAgICAgIEticU5hdmJhckNvbnRhaW5lcixcbiAgICAgICAgS2JxTmF2YmFyVGl0bGUsXG4gICAgICAgIEticU5hdmJhckl0ZW0sXG4gICAgICAgIEticU5hdmJhckJyYW5kLFxuICAgICAgICBLYnFOYXZiYXJMb2dvLFxuICAgICAgICBLYnFOYXZiYXJUb2dnbGUsXG4gICAgICAgIEticVZlcnRpY2FsTmF2YmFyLFxuICAgICAgICBLYnFOYXZiYXJEaXZpZGVyLFxuICAgICAgICBLYnFOYXZiYXJGb2N1c2FibGVJdGVtLFxuICAgICAgICBLYnFOYXZiYXJSZWN0YW5nbGVFbGVtZW50LFxuICAgICAgICBLYnFOYXZiYXJCZW50b1xuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEticU5hdmJhcixcbiAgICAgICAgS2JxTmF2YmFyQ29udGFpbmVyLFxuICAgICAgICBLYnFOYXZiYXJUaXRsZSxcbiAgICAgICAgS2JxTmF2YmFySXRlbSxcbiAgICAgICAgS2JxTmF2YmFyQnJhbmQsXG4gICAgICAgIEticU5hdmJhckxvZ28sXG4gICAgICAgIEticU5hdmJhclRvZ2dsZSxcbiAgICAgICAgS2JxVmVydGljYWxOYXZiYXIsXG4gICAgICAgIEticU5hdmJhckRpdmlkZXIsXG4gICAgICAgIEticU5hdmJhckZvY3VzYWJsZUl0ZW0sXG4gICAgICAgIEticU5hdmJhclJlY3RhbmdsZUVsZW1lbnQsXG4gICAgICAgIEticU5hdmJhckJlbnRvXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBLYnFOYXZiYXJNb2R1bGUge31cbiJdfQ==
@@ -5,7 +5,6 @@ import { DOWN_ARROW, UP_ARROW, TAB, isVerticalMovement, isHorizontalMovement } f
5
5
  import { Subject } from 'rxjs';
6
6
  import { KbqNavbarBento, KbqNavbarItem, KbqNavbarRectangleElement } from './navbar-item.component';
7
7
  import { KbqFocusableComponent } from './navbar.component';
8
- import { toggleVerticalNavbarAnimation } from './vertical-navbar.animation';
9
8
  import * as i0 from "@angular/core";
10
9
  import * as i1 from "@angular/cdk/a11y";
11
10
  export class KbqVerticalNavbar extends KbqFocusableComponent {
@@ -53,7 +52,8 @@ export class KbqVerticalNavbar extends KbqFocusableComponent {
53
52
  onKeyDown(event) {
54
53
  // tslint:disable-next-line: deprecation
55
54
  const keyCode = event.keyCode;
56
- if (isVerticalMovement(event) || isHorizontalMovement(event)) {
55
+ if (!event.target.attributes.getNamedItem('kbqinput') &&
56
+ (isVerticalMovement(event) || isHorizontalMovement(event))) {
57
57
  event.preventDefault();
58
58
  }
59
59
  if (keyCode === TAB) {
@@ -70,25 +70,21 @@ export class KbqVerticalNavbar extends KbqFocusableComponent {
70
70
  this.keyManager.onKeydown(event);
71
71
  }
72
72
  }
73
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqVerticalNavbar, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
74
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: KbqVerticalNavbar, selector: "kbq-vertical-navbar", inputs: { expanded: "expanded" }, host: { listeners: { "focus": "focus()", "blur": "blur()", "keydown": "onKeyDown($event)" }, properties: { "attr.tabindex": "tabIndex" }, classAttribute: "kbq-vertical-navbar" }, queries: [{ propertyName: "bento", first: true, predicate: i0.forwardRef(function () { return KbqNavbarBento; }), descendants: true }, { propertyName: "rectangleElements", predicate: i0.forwardRef(function () { return KbqNavbarRectangleElement; }), descendants: true }, { propertyName: "items", predicate: i0.forwardRef(function () { return KbqNavbarItem; }), descendants: true }], exportAs: ["KbqVerticalNavbar"], usesInheritance: true, ngImport: i0, template: `
73
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqVerticalNavbar, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
74
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.0", type: KbqVerticalNavbar, selector: "kbq-vertical-navbar", inputs: { expanded: "expanded" }, host: { listeners: { "focus": "focus()", "blur": "blur()", "keydown": "onKeyDown($event)" }, properties: { "attr.tabindex": "tabIndex" }, classAttribute: "kbq-vertical-navbar" }, queries: [{ propertyName: "bento", first: true, predicate: i0.forwardRef(() => KbqNavbarBento), descendants: true }, { propertyName: "rectangleElements", predicate: i0.forwardRef(() => KbqNavbarRectangleElement), descendants: true }, { propertyName: "items", predicate: i0.forwardRef(() => KbqNavbarItem), descendants: true }], exportAs: ["KbqVerticalNavbar"], usesInheritance: true, ngImport: i0, template: `
75
75
  <div class="kbq-vertical-navbar__container"
76
- [@toggle]="expanded"
77
- (@toggle.done)="animationDone.next()"
78
76
  [class.kbq-collapsed]="!expanded"
79
77
  [class.kbq-expanded]="expanded">
80
78
 
81
79
  <ng-content select="[kbq-navbar-container], kbq-navbar-container"></ng-content>
82
80
  <ng-content select="[kbq-navbar-toggle], kbq-navbar-toggle"></ng-content>
83
81
  </div>
84
- `, isInline: true, styles: [".kbq-vertical-navbar{position:relative;min-width:var(--kbq-vertical-navbar-size-states-collapsed-width, 56px);height:100%}.kbq-vertical-navbar .kbq-navbar-container{flex-direction:column;align-items:unset}.kbq-vertical-navbar .kbq-vertical-navbar__container{display:flex;flex-direction:column;justify-content:space-between;position:absolute;z-index:998;height:100%}.kbq-vertical-navbar .kbq-vertical-navbar__container.kbq-collapsed{width:var(--kbq-vertical-navbar-size-states-collapsed-width, 56px)}.kbq-vertical-navbar .kbq-vertical-navbar__container.kbq-expanded{width:var(--kbq-vertical-navbar-size-states-expanded-width, 240px)}\n", ".kbq-navbar-title,.kbq-navbar-subtitle{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;padding-left:var(--kbq-navbar-item-size-padding, 16px);padding-right:var(--kbq-navbar-item-size-padding, 16px)}.kbq-navbar-item .kbq-badge{position:absolute}.kbq-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.kbq-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.kbq-navbar-item__container .kbq-icon{align-self:center}.kbq-navbar-item.kbq-horizontal{height:var(--kbq-navbar-item-size-height, 48px)}.kbq-navbar-item.kbq-horizontal .kbq-icon{min-width:16px;min-height:16px}.kbq-navbar-item.kbq-horizontal .kbq-navbar-item__title+.kbq-icon{margin-left:var(--kbq-navbar-size-right-icon-margin, 2px)}.kbq-navbar-item.kbq-horizontal .kbq-icon+.kbq-navbar-item__container{margin-left:var(--kbq-navbar-size-icon-margin, 6px)}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_collapsed .kbq-navbar-item__container{display:none}.kbq-navbar-item.kbq-horizontal .kbq-badge{top:8px;right:8px}.kbq-navbar-item.kbq-vertical{height:var(--kbq-navbar-item-size-height-vertical, 56px)}.kbq-navbar-item.kbq-vertical>.kbq-icon{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:24px}.kbq-navbar-item.kbq-vertical .kbq-navbar-item__title,.kbq-navbar-item.kbq-vertical .kbq-icon+.kbq-navbar-item__title,.kbq-navbar-item.kbq-vertical .kbq-navbar-item__title+.kbq-icon{padding-left:var(--kbq-vertical-navbar-size-icon-margin, 16px)}.kbq-navbar-item.kbq-vertical.kbq-navbar-item_button{padding-left:12px;padding-right:12px}.kbq-navbar-item.kbq-vertical.kbq-expanded .kbq-badge{top:16px;right:16px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-badge{top:4px;right:4px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-navbar-item__title{display:none}.kbq-navbar-item.kbq-navbar-item_button .kbq-button{flex:1}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper{justify-content:center}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_left{margin-left:unset}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_right{margin-right:unset}a.kbq-navbar-item,a.kbq-navbar-title{text-decoration:none}.kbq-navbar-item .kbq-navbar-item__overlay,.kbq-navbar-brand .kbq-navbar-item__overlay,.kbq-navbar-toggle .kbq-navbar-item__overlay{position:absolute;inset:0}.kbq-navbar-item [kbq-button],.kbq-navbar-brand [kbq-button],.kbq-navbar-toggle [kbq-button]{z-index:1}\n", ".kbq-navbar-logo{display:flex}.kbq-navbar-brand{position:relative;display:flex;align-items:center}.kbq-navbar-brand .kbq-navbar-title{cursor:pointer}a.kbq-navbar-brand{text-decoration:none}.kbq-navbar-brand.kbq-horizontal{height:var(--kbq-navbar-item-size-height, 48px);padding-right:var(--kbq-navbar-brand-size-margin-right, 24px)}.kbq-navbar-brand.kbq-horizontal .kbq-navbar-title{padding-left:var(--kbq-navbar-brand-size-padding, 12px);padding-right:0}.kbq-navbar-brand.kbq-vertical .kbq-navbar-logo{flex-direction:column;justify-content:center;align-items:center;min-height:var(--kbq-navbar-item-size-height-vertical, 56px);min-width:var(--kbq-vertical-navbar-size-states-collapsed-width, 56px)}.kbq-navbar-brand.kbq-vertical .kbq-navbar-title{display:flex;align-items:center;height:var(--kbq-navbar-item-size-height-vertical, 56px);padding-left:0}.kbq-navbar-brand.kbq-vertical.kbq-expanded{align-items:unset}.kbq-navbar-brand.kbq-vertical.kbq-collapsed .kbq-navbar-title{display:none}\n", ".kbq-navbar-divider{display:block}.kbq-navbar-divider.kbq-vertical{height:1px;margin:8px 12px}.kbq-navbar-divider.kbq-horizontal{width:1px;height:28px;margin-left:8px;margin-right:8px}\n"], animations: [toggleVerticalNavbarAnimation()], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
82
+ `, isInline: true, styles: [".kbq-vertical-navbar{position:relative;min-width:48px;height:100%}.kbq-vertical-navbar .kbq-navbar-container{flex-direction:column;align-items:unset}.kbq-vertical-navbar .kbq-navbar-container+.kbq-navbar-container{padding-top:24px}.kbq-vertical-navbar .kbq-vertical-navbar__container{display:flex;flex-direction:column;justify-content:space-between;position:absolute;z-index:998}.kbq-vertical-navbar .kbq-vertical-navbar__container.kbq-collapsed{width:48px}.kbq-vertical-navbar .kbq-vertical-navbar__container.kbq-expanded{width:240px}\n", ".kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-navbar-item.kbq-vertical{align-items:flex-start}.kbq-navbar-item.kbq-vertical .kbq-navbar-item__container{gap:12px}.kbq-navbar-item.kbq-vertical.kbq-expanded{height:48px;padding:16px 20px;gap:12px}.kbq-navbar-item.kbq-vertical.kbq-expanded:after{inset:4px 8px}.kbq-navbar-item.kbq-vertical.kbq-expanded.kbq-navbar-bento{position:absolute;display:flex;justify-content:center;align-items:center;top:4px;right:4px;z-index:1;padding:8px;height:48px;width:48px}.kbq-navbar-item.kbq-vertical.kbq-expanded.kbq-navbar-bento:after{inset:8px}.kbq-navbar-item.kbq-vertical.kbq-expanded.kbq-navbar-item_has-nested{align-items:center;padding:0 12px}.kbq-navbar-item.kbq-vertical.kbq-collapsed{height:48px;width:48px;padding:16px;justify-content:center}.kbq-navbar-item.kbq-vertical.kbq-collapsed:after{inset:8px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-badge{position:absolute;z-index:1;top:6px;right:6px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-navbar-item__container{display:none}.kbq-navbar-item.kbq-vertical>.kbq-icon{display:flex;justify-content:center;align-items:center}.kbq-navbar-item.kbq-horizontal{position:relative;flex-direction:row;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:48px;min-width:48px;padding:8px;justify-content:center}.kbq-navbar-item.kbq-horizontal:after{inset:8px}.kbq-navbar-item.kbq-horizontal .kbq-navbar-item__title{padding-left:4px;padding-right:4px}.kbq-navbar-item.kbq-horizontal .kbq-navbar-item__arrow-icon{padding-left:4px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_with-title:not(.kbq-navbar-item_collapsed){padding:16px 12px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_with-title:not(.kbq-navbar-item_collapsed):after{inset:8px 0}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_with-title:not(.kbq-navbar-item_collapsed)>.kbq-icon{padding-right:4px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-bento{min-width:44px;justify-content:center;padding-right:4px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-bento:after{inset:8px 4px 8px 8px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_collapsed{justify-content:center;padding:8px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_collapsed .kbq-navbar-item__container{display:none}.kbq-navbar-item.kbq-horizontal .kbq-badge{position:absolute;z-index:1;top:6px;right:6px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_has-nested{padding:0 12px}.kbq-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;border-radius:var(--kbq-navbar-item-size-content-border-radius, 8px)}.kbq-navbar-item .kbq-icon{min-width:16px;min-height:16px}.kbq-navbar-item:after{position:absolute;content:\"\";display:none;border-radius:var(--kbq-navbar-item-size-content-border-radius, 8px)}.kbq-navbar-title{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.kbq-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.kbq-navbar-item__container .kbq-icon{align-self:center}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button{flex:1}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button .kbq-button-wrapper{justify-content:center}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_left{margin-left:unset}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_right{margin-right:unset}a.kbq-navbar-item,a.kbq-navbar-title{text-decoration:none}.kbq-navbar-item [kbq-button],.kbq-navbar-brand [kbq-button],.kbq-navbar-toggle [kbq-button]{z-index:1}\n", ".kbq-navbar-logo{display:flex}.kbq-navbar-brand{position:relative;display:flex;border-radius:8px}.kbq-navbar-brand:after{position:absolute;content:\"\";display:none;border-radius:var(--kbq-navbar-item-size-content-border-radius, 8px)}.kbq-navbar-brand .kbq-navbar-title{cursor:pointer}a.kbq-navbar-brand{text-decoration:none}.kbq-navbar-brand.kbq-horizontal{padding:8px 6px 8px 4px;align-items:center;gap:8px}.kbq-navbar-brand.kbq-horizontal:after{inset:4px 4px 4px 0}.kbq-navbar-brand.kbq-horizontal .kbq-navbar-title{padding-right:12px}.kbq-navbar-brand.kbq-vertical .kbq-navbar-logo{align-items:center}.kbq-navbar-brand.kbq-vertical .kbq-navbar-title{display:block;align-items:center;padding-top:4px;padding-bottom:4px;height:32px;padding-left:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-brand.kbq-vertical.kbq-expanded{position:relative;height:40px;width:40px;margin:16px 16px 40px;flex-direction:column}.kbq-navbar-brand.kbq-vertical.kbq-expanded:after{inset:0}.kbq-navbar-brand.kbq-vertical.kbq-expanded .kbq-navbar-logo{min-height:40px;justify-content:center}.kbq-navbar-brand.kbq-vertical.kbq-expanded .kbq-navbar-title{position:absolute;left:4px;bottom:-40px;max-width:200px}.kbq-navbar-brand.kbq-vertical.kbq-collapsed{height:48px;width:48px;justify-content:center}.kbq-navbar-brand.kbq-vertical.kbq-collapsed:after{inset:4px}.kbq-navbar-brand.kbq-vertical.kbq-collapsed .kbq-navbar-title{display:none}\n", ".kbq-navbar-divider{display:block}.kbq-navbar-divider.kbq-vertical{height:1px;margin:8px 16px}.kbq-navbar-divider.kbq-horizontal{width:1px;height:12px;margin-left:12px;margin-right:12px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
85
83
  }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: KbqVerticalNavbar, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.0", ngImport: i0, type: KbqVerticalNavbar, decorators: [{
87
85
  type: Component,
88
86
  args: [{ selector: 'kbq-vertical-navbar', exportAs: 'KbqVerticalNavbar', template: `
89
87
  <div class="kbq-vertical-navbar__container"
90
- [@toggle]="expanded"
91
- (@toggle.done)="animationDone.next()"
92
88
  [class.kbq-collapsed]="!expanded"
93
89
  [class.kbq-expanded]="expanded">
94
90
 
@@ -101,8 +97,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
101
97
  '(focus)': 'focus()',
102
98
  '(blur)': 'blur()',
103
99
  '(keydown)': 'onKeyDown($event)'
104
- }, animations: [toggleVerticalNavbarAnimation()], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".kbq-vertical-navbar{position:relative;min-width:var(--kbq-vertical-navbar-size-states-collapsed-width, 56px);height:100%}.kbq-vertical-navbar .kbq-navbar-container{flex-direction:column;align-items:unset}.kbq-vertical-navbar .kbq-vertical-navbar__container{display:flex;flex-direction:column;justify-content:space-between;position:absolute;z-index:998;height:100%}.kbq-vertical-navbar .kbq-vertical-navbar__container.kbq-collapsed{width:var(--kbq-vertical-navbar-size-states-collapsed-width, 56px)}.kbq-vertical-navbar .kbq-vertical-navbar__container.kbq-expanded{width:var(--kbq-vertical-navbar-size-states-expanded-width, 240px)}\n", ".kbq-navbar-title,.kbq-navbar-subtitle{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;padding-left:var(--kbq-navbar-item-size-padding, 16px);padding-right:var(--kbq-navbar-item-size-padding, 16px)}.kbq-navbar-item .kbq-badge{position:absolute}.kbq-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.kbq-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.kbq-navbar-item__container .kbq-icon{align-self:center}.kbq-navbar-item.kbq-horizontal{height:var(--kbq-navbar-item-size-height, 48px)}.kbq-navbar-item.kbq-horizontal .kbq-icon{min-width:16px;min-height:16px}.kbq-navbar-item.kbq-horizontal .kbq-navbar-item__title+.kbq-icon{margin-left:var(--kbq-navbar-size-right-icon-margin, 2px)}.kbq-navbar-item.kbq-horizontal .kbq-icon+.kbq-navbar-item__container{margin-left:var(--kbq-navbar-size-icon-margin, 6px)}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_collapsed .kbq-navbar-item__container{display:none}.kbq-navbar-item.kbq-horizontal .kbq-badge{top:8px;right:8px}.kbq-navbar-item.kbq-vertical{height:var(--kbq-navbar-item-size-height-vertical, 56px)}.kbq-navbar-item.kbq-vertical>.kbq-icon{display:flex;justify-content:center;align-items:center;min-width:24px;min-height:24px}.kbq-navbar-item.kbq-vertical .kbq-navbar-item__title,.kbq-navbar-item.kbq-vertical .kbq-icon+.kbq-navbar-item__title,.kbq-navbar-item.kbq-vertical .kbq-navbar-item__title+.kbq-icon{padding-left:var(--kbq-vertical-navbar-size-icon-margin, 16px)}.kbq-navbar-item.kbq-vertical.kbq-navbar-item_button{padding-left:12px;padding-right:12px}.kbq-navbar-item.kbq-vertical.kbq-expanded .kbq-badge{top:16px;right:16px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-badge{top:4px;right:4px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-navbar-item__title{display:none}.kbq-navbar-item.kbq-navbar-item_button .kbq-button{flex:1}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper{justify-content:center}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_left{margin-left:unset}.kbq-navbar-item.kbq-navbar-item_button .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_right{margin-right:unset}a.kbq-navbar-item,a.kbq-navbar-title{text-decoration:none}.kbq-navbar-item .kbq-navbar-item__overlay,.kbq-navbar-brand .kbq-navbar-item__overlay,.kbq-navbar-toggle .kbq-navbar-item__overlay{position:absolute;inset:0}.kbq-navbar-item [kbq-button],.kbq-navbar-brand [kbq-button],.kbq-navbar-toggle [kbq-button]{z-index:1}\n", ".kbq-navbar-logo{display:flex}.kbq-navbar-brand{position:relative;display:flex;align-items:center}.kbq-navbar-brand .kbq-navbar-title{cursor:pointer}a.kbq-navbar-brand{text-decoration:none}.kbq-navbar-brand.kbq-horizontal{height:var(--kbq-navbar-item-size-height, 48px);padding-right:var(--kbq-navbar-brand-size-margin-right, 24px)}.kbq-navbar-brand.kbq-horizontal .kbq-navbar-title{padding-left:var(--kbq-navbar-brand-size-padding, 12px);padding-right:0}.kbq-navbar-brand.kbq-vertical .kbq-navbar-logo{flex-direction:column;justify-content:center;align-items:center;min-height:var(--kbq-navbar-item-size-height-vertical, 56px);min-width:var(--kbq-vertical-navbar-size-states-collapsed-width, 56px)}.kbq-navbar-brand.kbq-vertical .kbq-navbar-title{display:flex;align-items:center;height:var(--kbq-navbar-item-size-height-vertical, 56px);padding-left:0}.kbq-navbar-brand.kbq-vertical.kbq-expanded{align-items:unset}.kbq-navbar-brand.kbq-vertical.kbq-collapsed .kbq-navbar-title{display:none}\n", ".kbq-navbar-divider{display:block}.kbq-navbar-divider.kbq-vertical{height:1px;margin:8px 12px}.kbq-navbar-divider.kbq-horizontal{width:1px;height:28px;margin-left:8px;margin-right:8px}\n"] }]
105
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }]; }, propDecorators: { rectangleElements: [{
100
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, styles: [".kbq-vertical-navbar{position:relative;min-width:48px;height:100%}.kbq-vertical-navbar .kbq-navbar-container{flex-direction:column;align-items:unset}.kbq-vertical-navbar .kbq-navbar-container+.kbq-navbar-container{padding-top:24px}.kbq-vertical-navbar .kbq-vertical-navbar__container{display:flex;flex-direction:column;justify-content:space-between;position:absolute;z-index:998}.kbq-vertical-navbar .kbq-vertical-navbar__container.kbq-collapsed{width:48px}.kbq-vertical-navbar .kbq-vertical-navbar__container.kbq-expanded{width:240px}\n", ".kbq-no-select{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-navbar-item.kbq-vertical{align-items:flex-start}.kbq-navbar-item.kbq-vertical .kbq-navbar-item__container{gap:12px}.kbq-navbar-item.kbq-vertical.kbq-expanded{height:48px;padding:16px 20px;gap:12px}.kbq-navbar-item.kbq-vertical.kbq-expanded:after{inset:4px 8px}.kbq-navbar-item.kbq-vertical.kbq-expanded.kbq-navbar-bento{position:absolute;display:flex;justify-content:center;align-items:center;top:4px;right:4px;z-index:1;padding:8px;height:48px;width:48px}.kbq-navbar-item.kbq-vertical.kbq-expanded.kbq-navbar-bento:after{inset:8px}.kbq-navbar-item.kbq-vertical.kbq-expanded.kbq-navbar-item_has-nested{align-items:center;padding:0 12px}.kbq-navbar-item.kbq-vertical.kbq-collapsed{height:48px;width:48px;padding:16px;justify-content:center}.kbq-navbar-item.kbq-vertical.kbq-collapsed:after{inset:8px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-badge{position:absolute;z-index:1;top:6px;right:6px}.kbq-navbar-item.kbq-vertical.kbq-collapsed .kbq-navbar-item__container{display:none}.kbq-navbar-item.kbq-vertical>.kbq-icon{display:flex;justify-content:center;align-items:center}.kbq-navbar-item.kbq-horizontal{position:relative;flex-direction:row;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:48px;min-width:48px;padding:8px;justify-content:center}.kbq-navbar-item.kbq-horizontal:after{inset:8px}.kbq-navbar-item.kbq-horizontal .kbq-navbar-item__title{padding-left:4px;padding-right:4px}.kbq-navbar-item.kbq-horizontal .kbq-navbar-item__arrow-icon{padding-left:4px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_with-title:not(.kbq-navbar-item_collapsed){padding:16px 12px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_with-title:not(.kbq-navbar-item_collapsed):after{inset:8px 0}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_with-title:not(.kbq-navbar-item_collapsed)>.kbq-icon{padding-right:4px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-bento{min-width:44px;justify-content:center;padding-right:4px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-bento:after{inset:8px 4px 8px 8px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_collapsed{justify-content:center;padding:8px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_collapsed .kbq-navbar-item__container{display:none}.kbq-navbar-item.kbq-horizontal .kbq-badge{position:absolute;z-index:1;top:6px;right:6px}.kbq-navbar-item.kbq-horizontal.kbq-navbar-item_has-nested{padding:0 12px}.kbq-navbar-item{box-sizing:border-box;position:relative;display:flex;align-items:center;border-radius:var(--kbq-navbar-item-size-content-border-radius, 8px)}.kbq-navbar-item .kbq-icon{min-width:16px;min-height:16px}.kbq-navbar-item:after{position:absolute;content:\"\";display:none;border-radius:var(--kbq-navbar-item-size-content-border-radius, 8px)}.kbq-navbar-title{display:inline-block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-item__title{display:flex;flex-direction:column;align-self:center;min-width:0}.kbq-navbar-item__container{display:flex;flex-direction:row;flex:1 1 auto;justify-content:space-between;min-width:0}.kbq-navbar-item__container .kbq-icon{align-self:center}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button{flex:1}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button .kbq-button-wrapper{justify-content:center}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_left{margin-left:unset}.kbq-navbar-item.kbq-navbar-item_has-nested .kbq-button .kbq-button-wrapper .kbq-icon.kbq-icon_right{margin-right:unset}a.kbq-navbar-item,a.kbq-navbar-title{text-decoration:none}.kbq-navbar-item [kbq-button],.kbq-navbar-brand [kbq-button],.kbq-navbar-toggle [kbq-button]{z-index:1}\n", ".kbq-navbar-logo{display:flex}.kbq-navbar-brand{position:relative;display:flex;border-radius:8px}.kbq-navbar-brand:after{position:absolute;content:\"\";display:none;border-radius:var(--kbq-navbar-item-size-content-border-radius, 8px)}.kbq-navbar-brand .kbq-navbar-title{cursor:pointer}a.kbq-navbar-brand{text-decoration:none}.kbq-navbar-brand.kbq-horizontal{padding:8px 6px 8px 4px;align-items:center;gap:8px}.kbq-navbar-brand.kbq-horizontal:after{inset:4px 4px 4px 0}.kbq-navbar-brand.kbq-horizontal .kbq-navbar-title{padding-right:12px}.kbq-navbar-brand.kbq-vertical .kbq-navbar-logo{align-items:center}.kbq-navbar-brand.kbq-vertical .kbq-navbar-title{display:block;align-items:center;padding-top:4px;padding-bottom:4px;height:32px;padding-left:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kbq-navbar-brand.kbq-vertical.kbq-expanded{position:relative;height:40px;width:40px;margin:16px 16px 40px;flex-direction:column}.kbq-navbar-brand.kbq-vertical.kbq-expanded:after{inset:0}.kbq-navbar-brand.kbq-vertical.kbq-expanded .kbq-navbar-logo{min-height:40px;justify-content:center}.kbq-navbar-brand.kbq-vertical.kbq-expanded .kbq-navbar-title{position:absolute;left:4px;bottom:-40px;max-width:200px}.kbq-navbar-brand.kbq-vertical.kbq-collapsed{height:48px;width:48px;justify-content:center}.kbq-navbar-brand.kbq-vertical.kbq-collapsed:after{inset:4px}.kbq-navbar-brand.kbq-vertical.kbq-collapsed .kbq-navbar-title{display:none}\n", ".kbq-navbar-divider{display:block}.kbq-navbar-divider.kbq-vertical{height:1px;margin:8px 16px}.kbq-navbar-divider.kbq-horizontal{width:1px;height:12px;margin-left:12px;margin-right:12px}\n"] }]
101
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }], propDecorators: { rectangleElements: [{
106
102
  type: ContentChildren,
107
103
  args: [forwardRef(() => KbqNavbarRectangleElement), { descendants: true }]
108
104
  }], items: [{
@@ -114,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
114
110
  }], expanded: [{
115
111
  type: Input
116
112
  }] } });
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtbmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbmF2YmFyL3ZlcnRpY2FsLW5hdmJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUFFLFVBQVUsRUFDM0IsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsUUFBUSxFQUNSLEdBQUcsRUFDSCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3ZCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQ0gsY0FBYyxFQUNkLGFBQWEsRUFDYix5QkFBeUIsRUFDNUIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBb0M1RSxNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBVXhELElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO0lBQ3ZDLENB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LDRHQWxDckM7Ozs7Ozs7Ozs7S0FVVCxxN0lBZ0JXLENBQUMsNkJBQTZCLEVBQUUsQ0FBQzs7MkZBSXBDLGlCQUFpQjtrQkFqQzdCLFNBQVM7K0JBQ0kscUJBQXFCLFlBQ3JCLG1CQUFtQixZQUNuQjs7Ozs7Ozs7OztLQVVULFFBT0s7d0JBQ0YsS0FBSyxFQUFFLHFCQUFxQjt3QkFDNUIsaUJBQWlCLEVBQUUsVUFBVTt3QkFFN0IsU0FBUyxFQUFFLFNBQVM7d0JBQ3BCLFFBQVEsRUFBRSxRQUFRO3dCQUVsQixXQUFXLEVBQUUsbUJBQW1CO3FCQUNuQyxjQUNXLENBQUMsNkJBQTZCLEVBQUUsQ0FBQyxtQkFDNUIsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTs0SkFJckMsaUJBQWlCO3NCQURoQixlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFHVixLQUFLO3NCQUE3RSxlQUFlO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBRXZCLEtBQUs7c0JBQXBELFlBQVk7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQztnQkFLMUMsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIElucHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRE9XTl9BUlJPVyxcbiAgICBVUF9BUlJPVyxcbiAgICBUQUIsXG4gICAgaXNWZXJ0aWNhbE1vdmVtZW50LFxuICAgIGlzSG9yaXpvbnRhbE1vdmVtZW50XG59IGZyb20gJ0Brb29iaXEvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBLYnFOYXZiYXJCZW50byxcbiAgICBLYnFOYXZiYXJJdGVtLFxuICAgIEticU5hdmJhclJlY3RhbmdsZUVsZW1lbnRcbn0gZnJvbSAnLi9uYXZiYXItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgS2JxRm9jdXNhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IHRvZ2dsZVZlcnRpY2FsTmF2YmFyQW5pbWF0aW9uIH0gZnJvbSAnLi92ZXJ0aWNhbC1uYXZiYXIuYW5pbWF0aW9uJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS12ZXJ0aWNhbC1uYXZiYXInLFxuICAgIGV4cG9ydEFzOiAnS2JxVmVydGljYWxOYXZiYXInLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJrYnEtdmVydGljYWwtbmF2YmFyX19jb250YWluZXJcIlxuICAgICAgICAgICAgIFtAdG9nZ2xlXT1cImV4cGFuZGVkXCJcbiAgICAgICAgICAgICAoQHRvZ2dsZS5kb25lKT1cImFuaW1hdGlvbkRvbmUubmV4dCgpXCJcbiAgICAgICAgICAgICBbY2xhc3Mua2JxLWNvbGxhcHNlZF09XCIhZXhwYW5kZWRcIlxuICAgICAgICAgICAgIFtjbGFzcy5rYnEtZXhwYW5kZWRdPVwiZXhwYW5kZWRcIj5cblxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ticS1uYXZiYXItY29udGFpbmVyXSwga2JxLW5hdmJhci1jb250YWluZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJba2JxLW5hdmJhci10b2dnbGVdLCBrYnEtbmF2YmFyLXRvZ2dsZVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFtcbiAgICAgICAgJy4vdmVydGljYWwtbmF2YmFyLnNjc3MnLFxuICAgICAgICAnLi9uYXZiYXItaXRlbS5zY3NzJyxcbiAgICAgICAgJy4vbmF2YmFyLWJyYW5kLnNjc3MnLFxuICAgICAgICAnLi9uYXZiYXItZGl2aWRlci5zY3NzJ1xuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS12ZXJ0aWNhbC1uYXZiYXInLFxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ3RhYkluZGV4JyxcblxuICAgICAgICAnKGZvY3VzKSc6ICdmb2N1cygpJyxcbiAgICAgICAgJyhibHVyKSc6ICdibHVyKCknLFxuXG4gICAgICAgICcoa2V5ZG93biknOiAnb25LZXlEb3duKCRldmVudCknXG4gICAgfSxcbiAgICBhbmltYXRpb25zOiBbdG9nZ2xlVmVydGljYWxOYXZiYXJBbmltYXRpb24oKV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBLYnFWZXJ0aWNhbE5hdmJhciBleHRlbmRzIEticUZvY3VzYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBLYnFOYXZiYXJSZWN0YW5nbGVFbGVtZW50KSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIHJlY3RhbmdsZUVsZW1lbnRzOiBRdWVyeUxpc3Q8S2JxTmF2YmFyUmVjdGFuZ2xlRWxlbWVudD47XG5cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gS2JxTmF2YmFySXRlbSksIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgaXRlbXM6IFF1ZXJ5TGlzdDxLYnFOYXZiYXJJdGVtPjtcblxuICAgIEBDb250ZW50Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBLYnFOYXZiYXJCZW50bykpIGJlbnRvOiBLYnFOYXZiYXJCZW50bztcblxuICAgIHJlYWRvbmx5IGFuaW1hdGlvbkRvbmU6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgZXhwYW5kZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leHBhbmRlZDtcbiAgICB9XG5cbiAgICBzZXQgZXhwYW5kZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZXhwYW5kZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuXG4gICAgICAgIHRoaXMudXBkYXRlRXhwYW5kZWRTdGF0ZUZvckl0ZW1zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBmb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvclxuICAgICkge1xuICAgICAgICBzdXBlcihjaGFuZ2VEZXRlY3RvclJlZiwgZWxlbWVudFJlZiwgZm9jdXNNb25pdG9yKTtcblxuICAgICAgICB0aGlzLmFuaW1hdGlvbkRvbmVcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy51cGRhdGVUb29sdGlwRm9ySXRlbXMpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRJdGVtc1N0YXRlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlRXhwYW5kZWRTdGF0ZUZvckl0ZW1zKCk7XG4gICAgICAgIHRoaXMudXBkYXRlVG9vbHRpcEZvckl0ZW1zKCk7XG5cbiAgICAgICAgdGhpcy5yZWN0YW5nbGVFbGVtZW50cy5jaGFuZ2VzXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHRoaXMuc2V0SXRlbXNTdGF0ZSk7XG5cbiAgICAgICAgc3VwZXIubmdBZnRlckNvbnRlbnRJbml0KCk7XG5cbiAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLndpdGhWZXJ0aWNhbE9yaWVudGF0aW9uKHRydWUpO1xuICAgIH1cblxuICAgIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogZGVwcmVjYXRpb25cbiAgICAgICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmtleUNvZGU7XG5cbiAgICAgICAgaWYgKGlzVmVydGljYWxNb3ZlbWVudChldmVudCkgfHwgaXNIb3Jpem9udGFsTW92ZW1lbnQoZXZlbnQpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGtleUNvZGUgPT09IFRBQikge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnRhYk91dC5uZXh0KCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSBET1dOX0FSUk9XKSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0TmV4dEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSBVUF9BUlJPVykge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldFByZXZpb3VzSXRlbUFjdGl2ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUV4cGFuZGVkU3RhdGVGb3JJdGVtcyA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5yZWN0YW5nbGVFbGVtZW50cz8uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5jb2xsYXBzZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gaXRlbS5idXR0b24/LnVwZGF0ZUNsYXNzTW9kaWZpZXJGb3JJY29ucygpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUb29sdGlwRm9ySXRlbXMgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4gaXRlbS51cGRhdGVUb29sdGlwKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SXRlbXNTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMucmVjdGFuZ2xlRWxlbWVudHM/LmZvckVhY2goKGl0ZW0pID0+IGl0ZW0udmVydGljYWwgPSB0cnVlKSk7XG4gICAgfVxufVxuIl19
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVydGljYWwtbmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvbmF2YmFyL3ZlcnRpY2FsLW5hdmJhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUFFLFVBQVUsRUFDM0IsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsUUFBUSxFQUNSLEdBQUcsRUFDSCxrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3ZCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQ0gsY0FBYyxFQUNkLGFBQWEsRUFDYix5QkFBeUIsRUFDNUIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBaUMzRCxNQUFNLE9BQU8saUJBQWtCLFNBQVEscUJBQXFCO0lBVXhELElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFJRCxZQUNjLFVBQXNCLEVBQ2hDLGlCQUFvQyxFQUNwQyxZQUEwQjtR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QUFDO0lBQ0wsQ0FBQztpSUEzRVEsaUJBQWlCO3FIQUFqQixpQkFBaUIsdVVBTUssY0FBYyw0RkFMWCx5QkFBeUIsZ0ZBR3pCLGFBQWEseUdBL0JyQzs7Ozs7Ozs7S0FRVDs7MkZBbUJRLGlCQUFpQjtrQkE5QjdCLFNBQVM7K0JBQ0kscUJBQXFCLFlBQ3JCLG1CQUFtQixZQUNuQjs7Ozs7Ozs7S0FRVCxRQU9LO3dCQUNGLEtBQUssRUFBRSxxQkFBcUI7d0JBQzVCLGlCQUFpQixFQUFFLFVBQVU7d0JBRTdCLFNBQVMsRUFBRSxTQUFTO3dCQUNwQixRQUFRLEVBQUUsUUFBUTt3QkFFbEIsV0FBVyxFQUFFLG1CQUFtQjtxQkFDbkMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUk7MElBSXJDLGlCQUFpQjtzQkFEaEIsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMseUJBQXlCLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBR1YsS0FBSztzQkFBN0UsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUV2QixLQUFLO3NCQUFwRCxZQUFZO3VCQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7Z0JBSzFDLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIERPV05fQVJST1csXG4gICAgVVBfQVJST1csXG4gICAgVEFCLFxuICAgIGlzVmVydGljYWxNb3ZlbWVudCxcbiAgICBpc0hvcml6b250YWxNb3ZlbWVudFxufSBmcm9tICdAa29vYmlxL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgS2JxTmF2YmFyQmVudG8sXG4gICAgS2JxTmF2YmFySXRlbSxcbiAgICBLYnFOYXZiYXJSZWN0YW5nbGVFbGVtZW50XG59IGZyb20gJy4vbmF2YmFyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEticUZvY3VzYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vbmF2YmFyLmNvbXBvbmVudCc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtdmVydGljYWwtbmF2YmFyJyxcbiAgICBleHBvcnRBczogJ0ticVZlcnRpY2FsTmF2YmFyJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IGNsYXNzPVwia2JxLXZlcnRpY2FsLW5hdmJhcl9fY29udGFpbmVyXCJcbiAgICAgICAgICAgICBbY2xhc3Mua2JxLWNvbGxhcHNlZF09XCIhZXhwYW5kZWRcIlxuICAgICAgICAgICAgIFtjbGFzcy5rYnEtZXhwYW5kZWRdPVwiZXhwYW5kZWRcIj5cblxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ticS1uYXZiYXItY29udGFpbmVyXSwga2JxLW5hdmJhci1jb250YWluZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJba2JxLW5hdmJhci10b2dnbGVdLCBrYnEtbmF2YmFyLXRvZ2dsZVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFtcbiAgICAgICAgJy4vdmVydGljYWwtbmF2YmFyLnNjc3MnLFxuICAgICAgICAnLi9uYXZiYXItaXRlbS5zY3NzJyxcbiAgICAgICAgJy4vbmF2YmFyLWJyYW5kLnNjc3MnLFxuICAgICAgICAnLi9uYXZiYXItZGl2aWRlci5zY3NzJ1xuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS12ZXJ0aWNhbC1uYXZiYXInLFxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ3RhYkluZGV4JyxcblxuICAgICAgICAnKGZvY3VzKSc6ICdmb2N1cygpJyxcbiAgICAgICAgJyhibHVyKSc6ICdibHVyKCknLFxuXG4gICAgICAgICcoa2V5ZG93biknOiAnb25LZXlEb3duKCRldmVudCknXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEticVZlcnRpY2FsTmF2YmFyIGV4dGVuZHMgS2JxRm9jdXNhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IEticU5hdmJhclJlY3RhbmdsZUVsZW1lbnQpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgcmVjdGFuZ2xlRWxlbWVudHM6IFF1ZXJ5TGlzdDxLYnFOYXZiYXJSZWN0YW5nbGVFbGVtZW50PjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBLYnFOYXZiYXJJdGVtKSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBpdGVtczogUXVlcnlMaXN0PEticU5hdmJhckl0ZW0+O1xuXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IEticU5hdmJhckJlbnRvKSkgYmVudG86IEticU5hdmJhckJlbnRvO1xuXG4gICAgcmVhZG9ubHkgYW5pbWF0aW9uRG9uZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBASW5wdXQoKVxuICAgIGdldCBleHBhbmRlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkO1xuICAgIH1cblxuICAgIHNldCBleHBhbmRlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9leHBhbmRlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICAgICAgdGhpcy51cGRhdGVFeHBhbmRlZFN0YXRlRm9ySXRlbXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9leHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIGZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNoYW5nZURldGVjdG9yUmVmLCBlbGVtZW50UmVmLCBmb2N1c01vbml0b3IpO1xuXG4gICAgICAgIHRoaXMuYW5pbWF0aW9uRG9uZVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0aGlzLnVwZGF0ZVRvb2x0aXBGb3JJdGVtcyk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEl0ZW1zU3RhdGUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVFeHBhbmRlZFN0YXRlRm9ySXRlbXMoKTtcbiAgICAgICAgdGhpcy51cGRhdGVUb29sdGlwRm9ySXRlbXMoKTtcblxuICAgICAgICB0aGlzLnJlY3RhbmdsZUVsZW1lbnRzLmNoYW5nZXNcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodGhpcy5zZXRJdGVtc1N0YXRlKTtcblxuICAgICAgICBzdXBlci5uZ0FmdGVyQ29udGVudEluaXQoKTtcblxuICAgICAgICB0aGlzLmtleU1hbmFnZXIud2l0aFZlcnRpY2FsT3JpZW50YXRpb24odHJ1ZSk7XG4gICAgfVxuXG4gICAgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkZXByZWNhdGlvblxuICAgICAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuYXR0cmlidXRlcy5nZXROYW1lZEl0ZW0oJ2ticWlucHV0JykgJiZcbiAgICAgICAgICAgIChpc1ZlcnRpY2FsTW92ZW1lbnQoZXZlbnQpIHx8IGlzSG9yaXpvbnRhbE1vdmVtZW50KGV2ZW50KSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGtleUNvZGUgPT09IFRBQikge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnRhYk91dC5uZXh0KCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSBET1dOX0FSUk9XKSB7XG4gICAgICAgICAgICB0aGlzLmtleU1hbmFnZXIuc2V0TmV4dEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSBVUF9BUlJPVykge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLnNldFByZXZpb3VzSXRlbUFjdGl2ZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5rZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUV4cGFuZGVkU3RhdGVGb3JJdGVtcyA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5yZWN0YW5nbGVFbGVtZW50cz8uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgaXRlbS5jb2xsYXBzZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gaXRlbS5idXR0b24/LnVwZGF0ZUNsYXNzTW9kaWZpZXJGb3JJY29ucygpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUb29sdGlwRm9ySXRlbXMgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4gaXRlbS51cGRhdGVUb29sdGlwKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SXRlbXNTdGF0ZSA9ICgpID0+IHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHRoaXMucmVjdGFuZ2xlRWxlbWVudHM/LmZvckVhY2goKGl0ZW0pID0+IGl0ZW0udmVydGljYWwgPSB0cnVlKSk7XG4gICAgfVxufVxuIl19