@koobiq/components 18.21.0 → 18.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/alert/_alert-theme.scss +4 -0
  2. package/alert/alert-tokens.scss +1 -1
  3. package/alert/alert.component.d.ts +8 -2
  4. package/badge/badge.component.d.ts +0 -1
  5. package/breadcrumbs/breadcrumbs.d.ts +19 -22
  6. package/breadcrumbs/breadcrumbs.scss +13 -4
  7. package/breadcrumbs/breadcrumbs.types.d.ts +22 -0
  8. package/breadcrumbs/public-api.d.ts +1 -0
  9. package/button/button.component.d.ts +11 -16
  10. package/checkbox/checkbox.d.ts +18 -23
  11. package/core/animation/animation.d.ts +5 -2
  12. package/core/common-behaviors/checkbox.d.ts +5 -0
  13. package/core/common-behaviors/color.d.ts +11 -0
  14. package/core/common-behaviors/index.d.ts +2 -1
  15. package/core/option/action.d.ts +5 -7
  16. package/core/option/optgroup.d.ts +6 -7
  17. package/core/pop-up/pop-up-trigger.d.ts +11 -3
  18. package/core/pop-up/pop-up.d.ts +8 -2
  19. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +3 -12
  20. package/core/utils/utils.d.ts +5 -0
  21. package/dropdown/dropdown-item.component.d.ts +6 -8
  22. package/empty-state/_empty-state-theme.scss +15 -5
  23. package/empty-state/empty-state-tokens.scss +12 -2
  24. package/empty-state/empty-state.component.d.ts +7 -2
  25. package/empty-state/empty-state.scss +29 -0
  26. package/esm2022/accordion/accordion-trigger.component.mjs +1 -1
  27. package/esm2022/actions-panel/actions-panel-container.mjs +2 -2
  28. package/esm2022/actions-panel/actions-panel.mjs +1 -1
  29. package/esm2022/alert/alert.component.mjs +11 -5
  30. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +1 -1
  31. package/esm2022/badge/badge.component.mjs +2 -5
  32. package/esm2022/breadcrumbs/breadcrumbs.mjs +55 -22
  33. package/esm2022/breadcrumbs/breadcrumbs.types.mjs +2 -0
  34. package/esm2022/breadcrumbs/public-api.mjs +2 -1
  35. package/esm2022/button/button.component.mjs +23 -27
  36. package/esm2022/button-toggle/button-toggle.component.mjs +4 -3
  37. package/esm2022/checkbox/checkbox.mjs +27 -28
  38. package/esm2022/code-block/code-block-highlight.mjs +1 -1
  39. package/esm2022/code-block/code-block.mjs +2 -2
  40. package/esm2022/core/animation/animation.mjs +4 -1
  41. package/esm2022/core/common-behaviors/checkbox.mjs +2 -0
  42. package/esm2022/core/common-behaviors/color.mjs +35 -1
  43. package/esm2022/core/common-behaviors/disabled.mjs +2 -1
  44. package/esm2022/core/common-behaviors/error-state.mjs +2 -1
  45. package/esm2022/core/common-behaviors/index.mjs +3 -2
  46. package/esm2022/core/common-behaviors/tabindex.mjs +2 -1
  47. package/esm2022/core/formatters/number/formatter.mjs +1 -1
  48. package/esm2022/core/forms/validators.mjs +1 -1
  49. package/esm2022/core/line/line.mjs +1 -1
  50. package/esm2022/core/option/action.mjs +17 -12
  51. package/esm2022/core/option/optgroup.mjs +18 -12
  52. package/esm2022/core/option/option.mjs +1 -1
  53. package/esm2022/core/overlay/overlay-position-map.mjs +1 -1
  54. package/esm2022/core/pop-up/pop-up-trigger.mjs +27 -12
  55. package/esm2022/core/pop-up/pop-up.mjs +18 -5
  56. package/esm2022/core/select/common.mjs +1 -1
  57. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +10 -19
  58. package/esm2022/core/services/measure-scrollbar.service.mjs +1 -1
  59. package/esm2022/core/utils/utils.mjs +11 -1
  60. package/esm2022/core/version.mjs +2 -2
  61. package/esm2022/datepicker/calendar-header.component.mjs +2 -2
  62. package/esm2022/datepicker/datepicker-input.directive.mjs +1 -1
  63. package/esm2022/datepicker/datepicker-toggle.component.mjs +1 -1
  64. package/esm2022/datepicker/datepicker.component.mjs +1 -1
  65. package/esm2022/datepicker/month-view.component.mjs +1 -1
  66. package/esm2022/dropdown/dropdown-item.component.mjs +19 -14
  67. package/esm2022/dropdown/dropdown-trigger.directive.mjs +1 -1
  68. package/esm2022/dropdown/dropdown.component.mjs +1 -1
  69. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +1 -1
  70. package/esm2022/empty-state/empty-state.component.mjs +13 -8
  71. package/esm2022/file-upload/file-drop.mjs +1 -1
  72. package/esm2022/file-upload/file-upload.mjs +1 -1
  73. package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
  74. package/esm2022/file-upload/single-file-upload.component.mjs +2 -2
  75. package/esm2022/filter-bar/filter-bar-button.mjs +2 -1
  76. package/esm2022/filter-bar/filter-bar.mjs +14 -1
  77. package/esm2022/filter-bar/filter-bar.module.mjs +5 -3
  78. package/esm2022/filter-bar/filter-bar.types.mjs +27 -2
  79. package/esm2022/filter-bar/filter-refresher.mjs +2 -2
  80. package/esm2022/filter-bar/filter-reset.mjs +16 -6
  81. package/esm2022/filter-bar/filter-search.mjs +19 -6
  82. package/esm2022/filter-bar/filters.mjs +22 -6
  83. package/esm2022/filter-bar/pipe-add.mjs +11 -2
  84. package/esm2022/filter-bar/pipe.directive.mjs +7 -25
  85. package/esm2022/filter-bar/pipes/base-pipe.mjs +23 -3
  86. package/esm2022/filter-bar/pipes/pipe-button.mjs +12 -6
  87. package/esm2022/filter-bar/pipes/pipe-date.mjs +26 -8
  88. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +27 -8
  89. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +7 -2
  90. package/esm2022/filter-bar/pipes/pipe-select.mjs +7 -2
  91. package/esm2022/filter-bar/pipes/pipe-state.mjs +2 -1
  92. package/esm2022/filter-bar/pipes/pipe-text.mjs +7 -3
  93. package/esm2022/filter-bar/pipes/pipe-title.mjs +2 -1
  94. package/esm2022/form-field/cleaner.mjs +1 -1
  95. package/esm2022/form-field/form-field.mjs +13 -22
  96. package/esm2022/form-field/hint.mjs +10 -18
  97. package/esm2022/form-field/password-hint.mjs +7 -7
  98. package/esm2022/form-field/password-toggle.mjs +1 -1
  99. package/esm2022/form-field/stepper.mjs +1 -1
  100. package/esm2022/form-field/validate.directive.mjs +1 -1
  101. package/esm2022/icon/icon-button.component.mjs +13 -21
  102. package/esm2022/icon/icon-item.component.mjs +8 -15
  103. package/esm2022/icon/icon.component.mjs +15 -27
  104. package/esm2022/input/input-number.mjs +1 -1
  105. package/esm2022/input/input-password.mjs +20 -5
  106. package/esm2022/input/input.mjs +21 -22
  107. package/esm2022/link/link.component.mjs +46 -14
  108. package/esm2022/list/list-selection.component.mjs +19 -15
  109. package/esm2022/loader-overlay/loader-overlay.component.mjs +14 -9
  110. package/esm2022/markdown/markdown.component.mjs +2 -2
  111. package/esm2022/modal/modal.component.mjs +2 -2
  112. package/esm2022/modal/modal.directive.mjs +1 -1
  113. package/esm2022/modal/modal.service.mjs +1 -1
  114. package/esm2022/navbar/navbar-item.component.mjs +2 -2
  115. package/esm2022/navbar/navbar.component.mjs +9 -12
  116. package/esm2022/navbar/vertical-navbar.component.mjs +9 -13
  117. package/esm2022/overflow-items/overflow-items.mjs +1 -1
  118. package/esm2022/popover/popover-confirm.component.mjs +2 -2
  119. package/esm2022/popover/popover.component.mjs +5 -4
  120. package/esm2022/progress-bar/progress-bar.component.mjs +14 -21
  121. package/esm2022/progress-spinner/progress-spinner.component.mjs +17 -24
  122. package/esm2022/radio/radio.component.mjs +26 -36
  123. package/esm2022/scrollbar/scrollbar.component.mjs +1 -1
  124. package/esm2022/scrollbar/scrollbar.directive.mjs +1 -1
  125. package/esm2022/select/select.component.mjs +56 -37
  126. package/esm2022/sidepanel/sidepanel-directives.mjs +2 -2
  127. package/esm2022/sidepanel/sidepanel.service.mjs +1 -1
  128. package/esm2022/splitter/splitter.component.mjs +1 -1
  129. package/esm2022/tabs/paginated-tab-header.mjs +7 -4
  130. package/esm2022/tabs/tab-body.component.mjs +1 -1
  131. package/esm2022/tabs/tab-group.component.mjs +23 -19
  132. package/esm2022/tabs/tab-header.component.mjs +3 -3
  133. package/esm2022/tabs/tab-label-wrapper.directive.mjs +16 -13
  134. package/esm2022/tabs/tab-nav-bar.mjs +2 -2
  135. package/esm2022/tabs/tab.component.mjs +17 -12
  136. package/esm2022/tags/tag-input.mjs +1 -1
  137. package/esm2022/tags/tag-list.component.mjs +27 -22
  138. package/esm2022/tags/tag.component.mjs +7 -14
  139. package/esm2022/textarea/textarea.component.mjs +21 -22
  140. package/esm2022/timepicker/timepicker.directive.mjs +1 -1
  141. package/esm2022/timezone/timezone-select.component.mjs +3 -3
  142. package/esm2022/toast/toast.component.mjs +2 -2
  143. package/esm2022/toggle/toggle.component.mjs +111 -31
  144. package/esm2022/tree/control/base-tree-control.mjs +1 -1
  145. package/esm2022/tree/control/flat-tree-control.filters.mjs +1 -1
  146. package/esm2022/tree/control/nested-tree-control.mjs +1 -1
  147. package/esm2022/tree/data-source/flat-data-source.mjs +1 -1
  148. package/esm2022/tree/padding.directive.mjs +1 -1
  149. package/esm2022/tree/toggle.mjs +19 -14
  150. package/esm2022/tree/tree-base.mjs +1 -1
  151. package/esm2022/tree/tree-option.component.mjs +1 -1
  152. package/esm2022/tree/tree-selection.component.mjs +1 -1
  153. package/esm2022/tree-select/tree-select.component.mjs +58 -38
  154. package/fesm2022/koobiq-components-accordion.mjs +1 -1
  155. package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
  156. package/fesm2022/koobiq-components-actions-panel.mjs +1 -1
  157. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  158. package/fesm2022/koobiq-components-alert.mjs +10 -4
  159. package/fesm2022/koobiq-components-alert.mjs.map +1 -1
  160. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  161. package/fesm2022/koobiq-components-badge.mjs +2 -5
  162. package/fesm2022/koobiq-components-badge.mjs.map +1 -1
  163. package/fesm2022/koobiq-components-breadcrumbs.mjs +54 -21
  164. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  165. package/fesm2022/koobiq-components-button-toggle.mjs +3 -3
  166. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  167. package/fesm2022/koobiq-components-button.mjs +23 -27
  168. package/fesm2022/koobiq-components-button.mjs.map +1 -1
  169. package/fesm2022/koobiq-components-checkbox.mjs +27 -28
  170. package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
  171. package/fesm2022/koobiq-components-code-block.mjs +1 -1
  172. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  173. package/fesm2022/koobiq-components-core.mjs +130 -51
  174. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  175. package/fesm2022/koobiq-components-datepicker.mjs +2 -2
  176. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  177. package/fesm2022/koobiq-components-dropdown.mjs +18 -13
  178. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  179. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  180. package/fesm2022/koobiq-components-empty-state.mjs +12 -7
  181. package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
  182. package/fesm2022/koobiq-components-file-upload.mjs +2 -2
  183. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  184. package/fesm2022/koobiq-components-filter-bar.mjs +1381 -1233
  185. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  186. package/fesm2022/koobiq-components-form-field.mjs +26 -43
  187. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  188. package/fesm2022/koobiq-components-icon.mjs +33 -57
  189. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  190. package/fesm2022/koobiq-components-input.mjs +40 -25
  191. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  192. package/fesm2022/koobiq-components-link.mjs +46 -14
  193. package/fesm2022/koobiq-components-link.mjs.map +1 -1
  194. package/fesm2022/koobiq-components-list.mjs +19 -15
  195. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  196. package/fesm2022/koobiq-components-loader-overlay.mjs +13 -8
  197. package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
  198. package/fesm2022/koobiq-components-markdown.mjs +2 -2
  199. package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
  200. package/fesm2022/koobiq-components-modal.mjs +2 -2
  201. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  202. package/fesm2022/koobiq-components-navbar.mjs +17 -24
  203. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  204. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  205. package/fesm2022/koobiq-components-popover.mjs +5 -4
  206. package/fesm2022/koobiq-components-popover.mjs.map +1 -1
  207. package/fesm2022/koobiq-components-progress-bar.mjs +13 -20
  208. package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
  209. package/fesm2022/koobiq-components-progress-spinner.mjs +16 -23
  210. package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
  211. package/fesm2022/koobiq-components-radio.mjs +26 -36
  212. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  213. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  214. package/fesm2022/koobiq-components-select.mjs +56 -37
  215. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  216. package/fesm2022/koobiq-components-sidepanel.mjs +1 -1
  217. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  218. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  219. package/fesm2022/koobiq-components-tabs.mjs +60 -44
  220. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  221. package/fesm2022/koobiq-components-tags.mjs +32 -34
  222. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  223. package/fesm2022/koobiq-components-textarea.mjs +21 -22
  224. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  225. package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
  226. package/fesm2022/koobiq-components-timezone.mjs +2 -2
  227. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  228. package/fesm2022/koobiq-components-toast.mjs +1 -1
  229. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  230. package/fesm2022/koobiq-components-toggle.mjs +111 -31
  231. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  232. package/fesm2022/koobiq-components-tree-select.mjs +57 -37
  233. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  234. package/fesm2022/koobiq-components-tree.mjs +21 -15
  235. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  236. package/file-upload/multiple-file-upload.component.d.ts +2 -2
  237. package/file-upload/single-file-upload.component.d.ts +2 -2
  238. package/filter-bar/filter-bar-button.d.ts +1 -0
  239. package/filter-bar/filter-bar.d.ts +14 -0
  240. package/filter-bar/filter-bar.types.d.ts +13 -3
  241. package/filter-bar/filter-reset.d.ts +6 -2
  242. package/filter-bar/filter-search.d.ts +17 -10
  243. package/filter-bar/filters.d.ts +26 -11
  244. package/filter-bar/pipe-add.d.ts +10 -0
  245. package/filter-bar/pipe.directive.d.ts +5 -5
  246. package/filter-bar/pipes/base-pipe.d.ts +28 -2
  247. package/filter-bar/pipes/pipe-button.d.ts +6 -1
  248. package/filter-bar/pipes/pipe-date.d.ts +30 -10
  249. package/filter-bar/pipes/pipe-date.scss +29 -27
  250. package/filter-bar/pipes/pipe-datetime.d.ts +31 -10
  251. package/filter-bar/pipes/pipe-multi-select.d.ts +7 -0
  252. package/filter-bar/pipes/pipe-select.d.ts +7 -0
  253. package/filter-bar/pipes/pipe-state.d.ts +1 -0
  254. package/filter-bar/pipes/pipe-text.d.ts +5 -0
  255. package/form-field/form-field.d.ts +4 -12
  256. package/form-field/hint.d.ts +3 -12
  257. package/form-field/password-hint.d.ts +3 -3
  258. package/icon/icon-button.component.d.ts +5 -8
  259. package/icon/icon-item.component.d.ts +3 -7
  260. package/icon/icon.component.d.ts +7 -14
  261. package/input/input-password.d.ts +8 -2
  262. package/input/input.d.ts +9 -18
  263. package/link/_link-theme.scss +31 -8
  264. package/link/link.component.d.ts +13 -9
  265. package/list/list-selection.component.d.ts +8 -10
  266. package/loader-overlay/_loader-overlay-theme.scss +18 -8
  267. package/loader-overlay/loader-overlay-tokens.scss +6 -3
  268. package/loader-overlay/loader-overlay.component.d.ts +7 -2
  269. package/loader-overlay/loader-overlay.scss +19 -5
  270. package/markdown/markdown.scss +0 -4
  271. package/navbar/navbar.component.d.ts +2 -2
  272. package/navbar/vertical-navbar.component.d.ts +3 -3
  273. package/package.json +5 -5
  274. package/prebuilt-themes/dark-theme.css +1 -1
  275. package/prebuilt-themes/light-theme.css +1 -1
  276. package/prebuilt-themes/theme.css +1 -1
  277. package/progress-bar/progress-bar.component.d.ts +4 -12
  278. package/progress-spinner/progress-spinner.component.d.ts +4 -12
  279. package/radio/radio.component.d.ts +11 -25
  280. package/radio/radio.scss +0 -1
  281. package/schematics/collection.json +10 -0
  282. package/schematics/migrations/css-selectors/README.md +19 -0
  283. package/schematics/migrations/deprecated-icons/README.md +21 -0
  284. package/schematics/migrations/empty-state-size-attr/README.md +62 -0
  285. package/schematics/migrations/empty-state-size-attr/index.js +74 -0
  286. package/schematics/migrations/empty-state-size-attr/schema.json +15 -0
  287. package/schematics/migrations/loader-overlay-size-attr/README.md +62 -0
  288. package/schematics/migrations/loader-overlay-size-attr/index.js +74 -0
  289. package/schematics/migrations/loader-overlay-size-attr/schema.json +15 -0
  290. package/schematics/migrations/new-icons-pack/README.md +21 -0
  291. package/schematics/ng-add/index.js +3 -3
  292. package/schematics/utils/angular-parsing.js +153 -0
  293. package/schematics/utils/ast.js +28 -0
  294. package/schematics/utils/package-config.js +46 -0
  295. package/schematics/utils/typescript.js +171 -0
  296. package/select/select.component.d.ts +26 -25
  297. package/tabs/paginated-tab-header.d.ts +2 -1
  298. package/tabs/tab-group.component.d.ts +11 -13
  299. package/tabs/tab-header.component.d.ts +1 -1
  300. package/tabs/tab-label-wrapper.directive.d.ts +6 -8
  301. package/tabs/tab.component.d.ts +7 -8
  302. package/tags/tag-list.component.d.ts +15 -18
  303. package/tags/tag.component.d.ts +3 -10
  304. package/textarea/textarea.component.d.ts +8 -17
  305. package/toggle/_toggle-theme.scss +12 -3
  306. package/toggle/toggle-tokens.scss +2 -2
  307. package/toggle/toggle.component.d.ts +28 -14
  308. package/toggle/toggle.scss +37 -0
  309. package/tree/toggle.d.ts +7 -9
  310. package/tree/tree-selection.component.d.ts +2 -2
  311. package/tree-select/tree-select.component.d.ts +24 -26
@@ -342,4 +342,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
342
342
  type: Inject,
343
343
  args: [KBQ_LOCALE_SERVICE]
344
344
  }] }] });
345
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL2Zvcm1hdHRlcnMvbnVtYmVyL2Zvcm1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRTNHLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLElBQUksY0FBYyxDQUFTLDJCQUEyQixDQUFDLENBQUM7QUFFcEcsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQXFCO0lBQ2xFLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLG9CQUFvQixFQUFFLENBQUM7SUFDdkIscUJBQXFCLEVBQUUsQ0FBQztJQUN4QixxQkFBcUIsRUFBRSxDQUFDO0NBQzNCLENBQUM7QUFFRixTQUFTLE9BQU8sQ0FBQyxLQUFVO0lBQ3ZCLE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUM7QUFDNUQsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEtBQXNCO0lBQ3ZDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pFLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLGtCQUFrQixDQUFD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OzswQkFBSSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNoQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLQlFfREVGQVVMVF9MT0NBTEVfSUQsIEtCUV9MT0NBTEVfSUQsIEtCUV9MT0NBTEVfU0VSVklDRSwgS2JxTG9jYWxlU2VydmljZSB9IGZyb20gJy4uLy4uL2xvY2FsZXMnO1xuXG5leHBvcnQgY29uc3QgS0JRX05VTUJFUl9GT1JNQVRURVJfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdLYnFOdW1iZXJGb3JtYXR0ZXJPcHRpb25zJyk7XG5cbmV4cG9ydCBjb25zdCBLQlFfTlVNQkVSX0ZPUk1BVFRFUl9ERUZBVUxUX09QVElPTlM6IFBhcnNlZERpZ2l0c0luZm8gPSB7XG4gICAgdXNlR3JvdXBpbmc6IHRydWUsXG4gICAgbWluaW11bUludGVnZXJEaWdpdHM6IDEsXG4gICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwLFxuICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogM1xufTtcblxuZnVuY3Rpb24gaXNFbXB0eSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID09IG51bGwgfHwgdmFsdWUgPT09ICcnIHx8IHZhbHVlICE9PSB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gc3RyVG9OdW1iZXIodmFsdWU6IG51bWJlciB8IHN0cmluZyk6IG51bWJlciB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgIWlzTmFOKE51bWJlcih2YWx1ZSkgLSBwYXJzZUZsb2F0KHZhbHVlKSkpIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3ZhbHVlfSBpcyBub3QgYSBudW1iZXJgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBjb25zdCBOVU1CRVJfRk9STUFUX1JFR0VYUCA9IC9eKFxcZCspP1xcLigoXFxkKykoLShcXGQrKSk/KC0odHJ1ZXxmYWxzZSkpPyk/JC87XG5cbmNvbnN0IG1pbkludEdyb3VwUG9zaXRpb24gPSAxO1xuY29uc3QgbWluRnJhY3Rpb25Hcm91cFBvc2l0aW9uID0gMztcbmNvbnN0IG1heEZyYWN0aW9uR3JvdXBQb3NpdGlvbiA9IDU7XG5jb25zdCB1c2VHcm91cGluZ1Bvc2l0aW9uID0gNztcblxuaW50ZXJmYWNlIE51bWJlckZvcm1hdE9wdGlvbnMge1xuICAgIHVzZUdyb3VwaW5nOiBib29sZWFuO1xuXG4gICAgbWluaW11bUludGVnZXJEaWdpdHM6IG51bWJlcjtcbiAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IG51bWJlcjtcbiAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IG51bWJlcjtcbiAgICBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHM6IG51bWJlcjtcbiAgICBtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHM6IG51bWJlcjtcblxuICAgIGxvY2FsZU1hdGNoZXI/OiBzdHJpbmc7XG4gICAgc3R5bGU/OiBzdHJpbmc7XG5cbiAgICBjdXJyZW5jeT86IHN0cmluZztcbiAgICBjdXJyZW5jeURpc3BsYXk/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBSb3VuZERlY2ltYWxPcHRpb25zIHtcbiAgICBzZXBhcmF0b3I6IHN0cmluZztcbiAgICBncm91cFNlcGFyYXRvcjogc3RyaW5nO1xuICAgIHRob3VzYW5kcz86IHN0cmluZztcbiAgICB0ZW5UaG91c2FuZD86IHN0cmluZztcbiAgICBtaWxsaW9uPzogc3RyaW5nO1xuICAgIG9uZUh1bmRyZWRNaWxsaW9ucz86IHN0cmluZztcbiAgICBiaWxsaW9uPzogc3RyaW5nO1xuICAgIHRyaWxsaW9uOiBzdHJpbmc7XG4gICAgcnRsPzogYm9vbGVhbjtcbn1cblxuY29uc3QgUk9VTkRJTkdfVU5JVFMgPSB7XG4gICAgdGhvdXNhbmQ6IDFlMyxcbiAgICB0ZW5UaG91c2FuZDogMTAgKiAxZTMsXG4gICAgbWlsbGlvbjogMWU2LFxuICAgIG9uZUh1bmRyZWRNaWxsaW9uczogMTAwICogMWU2LFxuICAgIGJpbGxpb246IDFlOSxcbiAgICB0cmlsbGlvbjogMWUxMlxufTtcblxuY29uc3QgaW50ZXJ2YWxzQ29uZmlnID0ge1xuICAgIHN1cHBvcnRlZExhbmd1YWdlczogWydydS1SVScsICdlbi1VUycsICdlcy1MQScsICdwdC1CUicsICdmYS1JUiddLFxuICAgIGludGVydmFsczogW1xuICAgICAgICB7IHN0YXJ0UmFuZ2U6IDEsIGVuZFJhbmdlOiBST1VORElOR19VTklUUy50aG91c2FuZCB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLnRob3VzYW5kLCBlbmRSYW5nZTogUk9VTkRJTkdfVU5JVFMudGVuVGhvdXNhbmQsIHByZWNpc2lvbjogMSB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLnRlblRob3VzYW5kLCBlbmRSYW5nZTogUk9VTkRJTkdfVU5JVFMubWlsbGlvbiB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLm1pbGxpb24sIGVuZFJhbmdlOiBST1VORElOR19VTklUUy5taWxsaW9uICogMTAsIHByZWNpc2lvbjogMSB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLm1pbGxpb24gKiAxMCwgZW5kUmFuZ2U6IFJPVU5ESU5HX1VOSVRTLmJpbGxpb24gfVxuICAgIF1cbn07XG5cbmNsYXNzIFBhcnNlZERpZ2l0c0luZm8ge1xuICAgIHVzZUdyb3VwaW5nOiBib29sZWFuO1xuICAgIG1pbmltdW1JbnRlZ2VyRGlnaXRzOiBudW1iZXI7XG4gICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBudW1iZXI7XG4gICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBudW1iZXI7XG59XG5cbmNvbnN0IGRlZmF1bHRWYWx1ZUZvckdyb3VwaW5nSW5SVUxvY2FsZTogbnVtYmVyID0gMTAwMDA7XG5cbmZ1bmN0aW9uIHBhcnNlRGlnaXRzSW5mbyhkaWdpdHNJbmZvOiBzdHJpbmcpOiBQYXJzZWREaWdpdHNJbmZvIHtcbiAgICBjb25zdCBwYXJ0cyA9IGRpZ2l0c0luZm8ubWF0Y2goTlVNQkVSX0ZPUk1BVF9SRUdFWFApO1xuXG4gICAgaWYgKHBhcnRzID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtkaWdpdHNJbmZvfSBpcyBub3QgYSB2YWxpZCBkaWdpdCBpbmZvYCk7XG4gICAgfVxuXG4gICAgY29uc3QgbWluSW50UGFydCA9IHBhcnRzW21pbkludEdyb3VwUG9zaXRpb25dO1xuICAgIGNvbnN0IG1pbkZyYWN0aW9uUGFydCA9IHBhcnRzW21pbkZyYWN0aW9uR3JvdXBQb3NpdGlvbl07XG4gICAgY29uc3QgbWF4RnJhY3Rpb25QYXJ0ID0gcGFydHNbbWF4RnJhY3Rpb25Hcm91cFBvc2l0aW9uXTtcbiAgICBjb25zdCB1c2VHcm91cGluZ1BhcnQgPSBwYXJ0c1t1c2VHcm91cGluZ1Bvc2l0aW9uXTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBQYXJzZWREaWdpdHNJbmZvKCk7XG5cbiAgICBpZiAobWluSW50UGFydCAhPSBudWxsKSB7XG4gICAgICAgIHJlc3VsdC5taW5pbXVtSW50ZWdlckRpZ2l0cyA9IHBhcnNlSW50KG1pbkludFBhcnQpO1xuICAgIH1cblxuICAgIGlmIChtaW5GcmFjdGlvblBhcnQgIT0gbnVsbCkge1xuICAgICAgICByZXN1bHQubWluaW11bUZyYWN0aW9uRGlnaXRzID0gcGFyc2VJbnQobWluRnJhY3Rpb25QYXJ0KTtcbiAgICB9XG5cbiAgICBpZiAobWF4RnJhY3Rpb25QYXJ0ICE9IG51bGwpIHtcbiAgICAgICAgcmVzdWx0Lm1heGltdW1GcmFjdGlvbkRpZ2l0cyA9IHBhcnNlSW50KG1heEZyYWN0aW9uUGFydCk7XG4gICAgfSBlbHNlIGlmIChtaW5GcmFjdGlvblBhcnQgIT0gbnVsbCAmJiByZXN1bHQubWluaW11bUZyYWN0aW9uRGlnaXRzID4gcmVzdWx0Lm1heGltdW1GcmFjdGlvbkRpZ2l0cykge1xuICAgICAgICByZXN1bHQubWF4aW11bUZyYWN0aW9uRGlnaXRzID0gcmVzdWx0Lm1pbmltdW1GcmFjdGlvbkRpZ2l0cztcbiAgICB9XG5cbiAgICBpZiAodXNlR3JvdXBpbmdQYXJ0ICE9IG51bGwpIHtcbiAgICAgICAgcmVzdWx0LnVzZUdyb3VwaW5nID0gdXNlR3JvdXBpbmdQYXJ0ID09PSAndHJ1ZSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbkBQaXBlKHsgbmFtZTogJ2ticU51bWJlcicsIHB1cmU6IGZhbHNlIH0pXG5leHBvcnQgY2xhc3MgS2JxRGVjaW1hbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTE9DQUxFX0lEKSBwcml2YXRlIGlkOiBzdHJpbmcsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoS0JRX0xPQ0FMRV9TRVJWSUNFKSBwcml2YXRlIGxvY2FsZVNlcnZpY2U6IEticUxvY2FsZVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoS0JRX05VTUJFUl9GT1JNQVRURVJfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBQYXJzZWREaWdpdHNJbmZvXG4gICAgKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMub3B0aW9ucyB8fCBLQlFfTlVNQkVSX0ZPUk1BVFRFUl9ERUZBVUxUX09QVElPTlM7XG5cbiAgICAgICAgdGhpcy5sb2NhbGVTZXJ2aWNlPy5jaGFuZ2VzLnN1YnNjcmliZSgobmV3SWQ6IHN0cmluZykgPT4gKHRoaXMuaWQgPSBuZXdJZCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgbnVtYmVyIHRvIGJlIGZvcm1hdHRlZC5cbiAgICAgKiBAcGFyYW0gZGlnaXRzSW5mbyBEZWNpbWFsIHJlcHJlc2VudGF0aW9uIG9wdGlvbnMsIHNwZWNpZmllZCBieSBhIHN0cmluZ1xuICAgICAqIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0Ojxicj5cbiAgICAgKiA8Y29kZT57bWluSW50ZWdlckRpZ2l0c30ue21pbkZyYWN0aW9uRGlnaXRzfS17bWF4RnJhY3Rpb25EaWdpdHN9PC9jb2RlPi5cbiAgICAgKiAgIC0gYG1pbkludGVnZXJEaWdpdHNgOiBUaGUgbWluaW11bSBudW1iZXIgb2YgaW50ZWdlciBkaWdpdHMgYmVmb3JlIHRoZSBkZWNpbWFsIHBvaW50LlxuICAgICAqIERlZmF1bHQgaXMgYDFgLlxuICAgICAqICAgLSBgbWluRnJhY3Rpb25EaWdpdHNgOiBUaGUgbWluaW11bSBudW1iZXIgb2YgZGlnaXRzIGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50LlxuICAgICAqIERlZmF1bHQgaXMgYDBgLlxuICAgICAqICAgLSBgbWF4RnJhY3Rpb25EaWdpdHNgOiBUaGUgbWF4aW11bSBudW1iZXIgb2YgZGlnaXRzIGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50LlxuICAgICAqIERlZmF1bHQgaXMgYDNgLlxuICAgICAqIEBwYXJhbSBsb2NhbGUgQSBsb2NhbGUgY29kZSBmb3IgdGhlIGxvY2FsZSBmb3JtYXQgcnVsZXMgdG8gdXNlLlxuICAgICAqIFdoZW4gbm90IHN1cHBsaWVkLCB1c2VzIHRoZSB2YWx1ZSBvZiBgS0JRX0xPQ0FMRV9JRGAsIHdoaWNoIGlzIGBydWAgYnkgZGVmYXVsdC5cbiAgICAgKi9cbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgZGlnaXRzSW5mbz86IHN0cmluZywgbG9jYWxlPzogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmIChpc0VtcHR5KHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjdXJyZW50TG9jYWxlID0gbG9jYWxlIHx8IHRoaXMuaWQgfHwgS0JRX0RFRkFVTFRfTE9DQUxFX0lEO1xuXG4gICAgICAgIGxldCBwYXJzZWREaWdpdHNJbmZvO1xuXG4gICAgICAgIGlmIChkaWdpdHNJbmZvKSB7XG4gICAgICAgICAgICBwYXJzZWREaWdpdHNJbmZvID0gcGFyc2VEaWdpdHNJbmZvKGRpZ2l0c0luZm8pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uczogTnVtYmVyRm9ybWF0T3B0aW9ucyA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgICAgICAgIC4uLnBhcnNlZERpZ2l0c0luZm9cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5pc1NwZWNpYWxGb3JtYXRGb3JSVUxvY2FsZShjdXJyZW50TG9jYWxlLCB2YWx1ZSwgcGFyc2VkRGlnaXRzSW5mbz8udXNlR3JvdXBpbmcpKSB7XG4gICAgICAgICAgICBvcHRpb25zLnVzZUdyb3VwaW5nID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgbnVtID0gc3RyVG9OdW1iZXIodmFsdWUpO1xuXG4gICAgICAgICAgICAvKiBHdWlkZWxpbmUgcmVxdWlyZXMgZm9yIGdyb3VwIHNlcGFyYXRvciB0byBiZSBgc3BhY2VgLCBhcyBpbiAncnUtUlUnIGxvY2FsZS5cbiAgICAgICAgICAgICAqIEJ1dCBieSBkZWZhdWx0IGluIGVzLUxBIGxvY2FsZSBpcyB1c2VkIGBjb21tYWAuXG4gICAgICAgICAgICAgKiBUbyByZWR1Y2UgZGF0YSBtYW5pcHVsYXRpb24sICdydS1SVScgbG9jYWxlIGlzIHVzZWQuICovXG4gICAgICAgICAgICBpZiAoY3VycmVudExvY2FsZSA9PT0gJ2VzLUxBJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBJbnRsLk51bWJlckZvcm1hdC5jYWxsKHRoaXMsICdydS1SVScsIG9wdGlvbnMpLmZvcm1hdChudW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gSW50bC5OdW1iZXJGb3JtYXQuY2FsbCh0aGlzLCBjdXJyZW50TG9jYWxlLCBvcHRpb25zKS5mb3JtYXQobnVtKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWRQaXBlQXJndW1lbnQ6IEticURlY2ltYWxQaXBlIGZvciBwaXBlICcke0pTT04uc3RyaW5naWZ5KGVycm9yLm1lc3NhZ2UpfSdgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzU3BlY2lhbEZvcm1hdEZvclJVTG9jYWxlKGxvY2FsZTogc3RyaW5nLCB2YWx1ZTogbnVtYmVyLCBncm91cGluZz86IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFsncnUnLCAncnUtUlUnXS5pbmNsdWRlcyhsb2NhbGUpICYmIGdyb3VwaW5nID09PSB1bmRlZmluZWQgJiYgdmFsdWUgPCBkZWZhdWx0VmFsdWVGb3JHcm91cGluZ0luUlVMb2NhbGU7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuQFBpcGUoeyBuYW1lOiAna2JxVGFibGVOdW1iZXInLCBwdXJlOiBmYWxzZSB9KVxuZXhwb3J0IGNsYXNzIEticVRhYmxlTnVtYmVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9MT0NBTEVfSUQpIHByaXZhdGUgaWQ6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTE9DQUxFX1NFUlZJQ0UpIHByaXZhdGUgbG9jYWxlU2VydmljZTogS2JxTG9jYWxlU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTlVNQkVSX0ZPUk1BVFRFUl9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFBhcnNlZERpZ2l0c0luZm9cbiAgICApIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5vcHRpb25zIHx8IEtCUV9OVU1CRVJfRk9STUFUVEVSX0RFRkFVTFRfT1BUSU9OUztcblxuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2U/LmNoYW5nZXMuc3Vic2NyaWJlKChuZXdJZDogc3RyaW5nKSA9PiAodGhpcy5pZCA9IG5ld0lkKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBudW1iZXIgdG8gYmUgZm9ybWF0dGVkLlxuICAgICAqIEBwYXJhbSBkaWdpdHNJbmZvIERlY2ltYWwgcmVwcmVzZW50YXRpb24gb3B0aW9ucywgc3BlY2lmaWVkIGJ5IGEgc3RyaW5nXG4gICAgICogaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6PGJyPlxuICAgICAqIDxjb2RlPnttaW5JbnRlZ2VyRGlnaXRzfS57bWluRnJhY3Rpb25EaWdpdHN9LXttYXhGcmFjdGlvbkRpZ2l0c308L2NvZGU+LlxuICAgICAqICAgLSBgbWluSW50ZWdlckRpZ2l0c2A6IFRoZSBtaW5pbXVtIG51bWJlciBvZiBpbnRlZ2VyIGRpZ2l0cyBiZWZvcmUgdGhlIGRlY2ltYWwgcG9pbnQuXG4gICAgICogRGVmYXVsdCBpcyBgMWAuXG4gICAgICogICAtIGBtaW5GcmFjdGlvbkRpZ2l0c2A6IFRoZSBtaW5pbXVtIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQuXG4gICAgICogRGVmYXVsdCBpcyBgMGAuXG4gICAgICogICAtIGBtYXhGcmFjdGlvbkRpZ2l0c2A6IFRoZSBtYXhpbXVtIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQuXG4gICAgICogRGVmYXVsdCBpcyBgM2AuXG4gICAgICogQHBhcmFtIGxvY2FsZSBBIGxvY2FsZSBjb2RlIGZvciB0aGUgbG9jYWxlIGZvcm1hdCBydWxlcyB0byB1c2UuXG4gICAgICogV2hlbiBub3Qgc3VwcGxpZWQsIHVzZXMgdGhlIHZhbHVlIG9mIGBLQlFfTE9DQUxFX0lEYCwgd2hpY2ggaXMgYHJ1YCBieSBkZWZhdWx0LlxuICAgICAqL1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBkaWdpdHNJbmZvPzogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKGlzRW1wdHkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRMb2NhbGUgPSBsb2NhbGUgfHwgdGhpcy5pZCB8fCBLQlFfREVGQVVMVF9MT0NBTEVfSUQ7XG5cbiAgICAgICAgbGV0IHBhcnNlZERpZ2l0c0luZm87XG5cbiAgICAgICAgaWYgKGRpZ2l0c0luZm8pIHtcbiAgICAgICAgICAgIHBhcnNlZERpZ2l0c0luZm8gPSBwYXJzZURpZ2l0c0luZm8oZGlnaXRzSW5mbyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcHRpb25zOiBOdW1iZXJGb3JtYXRPcHRpb25zID0ge1xuICAgICAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgLi4ucGFyc2VkRGlnaXRzSW5mb1xuICAgICAgICB9O1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBudW0gPSBzdHJUb051bWJlcih2YWx1ZSk7XG5cbiAgICAgICAgICAgIC8qIEd1aWRlbGluZSByZXF1aXJlcyBmb3IgZ3JvdXAgc2VwYXJhdG9yIHRvIGJlIGBzcGFjZWAsIGFzIGluICdydS1SVScgbG9jYWxlLlxuICAgICAgICAgICAgICogQnV0IGJ5IGRlZmF1bHQgaW4gZXMtTEEgbG9jYWxlIGlzIHVzZWQgYGNvbW1hYC5cbiAgICAgICAgICAgICAqIFRvIHJlZHVjZSBkYXRhIG1hbmlwdWxhdGlvbiwgJ3J1LVJVJyBsb2NhbGUgaXMgdXNlZC4gKi9cbiAgICAgICAgICAgIGlmIChjdXJyZW50TG9jYWxlID09PSAnZXMtTEEnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEludGwuTnVtYmVyRm9ybWF0LmNhbGwodGhpcywgJ3J1LVJVJywgb3B0aW9ucykuZm9ybWF0KG51bSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBJbnRsLk51bWJlckZvcm1hdC5jYWxsKHRoaXMsIGN1cnJlbnRMb2NhbGUsIG9wdGlvbnMpLmZvcm1hdChudW0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZFBpcGVBcmd1bWVudDogS2JxVGFibGVOdW1iZXJQaXBlIGZvciBwaXBlICcke0pTT04uc3RyaW5naWZ5KGVycm9yLm1lc3NhZ2UpfSdgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzV2l0aGluKHN0YXJ0UmFuZ2U6IG51bWJlciwgZW5kUmFuZ2U6IG51bWJlciwgdmFsdWVUb0NoZWNrOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3RhcnRSYW5nZSA8PSB2YWx1ZVRvQ2hlY2sgJiYgdmFsdWVUb0NoZWNrIDwgZW5kUmFuZ2U7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5AUGlwZSh7IG5hbWU6ICdrYnFSb3VuZE51bWJlcicsIHB1cmU6IGZhbHNlIH0pXG5leHBvcnQgY2xhc3MgS2JxUm91bmREZWNpbWFsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHJvdW5kaW5nT3B0aW9uczogUm91bmREZWNpbWFsT3B0aW9ucztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9MT0NBTEVfSUQpIHByaXZhdGUgaWQ6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTE9DQUxFX1NFUlZJQ0UpIHByaXZhdGUgbG9jYWxlU2VydmljZTogS2JxTG9jYWxlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2U/LmNoYW5nZXMuc3Vic2NyaWJlKChuZXdJZDogc3RyaW5nKSA9PiAodGhpcy5pZCA9IG5ld0lkKSk7XG4gICAgfVxuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGxvY2FsZT86IHN0cmluZyk6IGFueSB7XG4gICAgICAgIGlmIChpc0VtcHR5KHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjdXJyZW50TG9jYWxlOiBzdHJpbmcgPSBsb2NhbGUgfHwgdGhpcy5pZCB8fCBLQlFfREVGQVVMVF9MT0NBTEVfSUQ7XG4gICAgICAgIHRoaXMucm91bmRpbmdPcHRpb25zID0gdGhpcy5sb2NhbGVTZXJ2aWNlLmxvY2FsZXNbY3VycmVudExvY2FsZV0uZm9ybWF0dGVycy5udW1iZXIucm91bmRpbmc7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IG51bSA9IHN0clRvTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgICAgIGNvbnN0IHVuaXQgPSB0aGlzLmNhbGN1bGF0ZVVuaXQobnVtKTtcbiAgICAgICAgICAgIGlmICghdW5pdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBJbnRsLk51bWJlckZvcm1hdC5jYWxsKHRoaXMsIGN1cnJlbnRMb2NhbGUsIHsgdXNlR3JvdXBpbmc6IGZhbHNlIH0pLmZvcm1hdChudW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgcGFydHM6IHsgbnVtPzogbnVtYmVyOyBmcmFjdGlvbj86IG51bWJlciB9ID0ge307XG5cbiAgICAgICAgICAgIGlmIChpbnRlcnZhbHNDb25maWcuc3VwcG9ydGVkTGFuZ3VhZ2VzLmluY2x1ZGVzKGN1cnJlbnRMb2NhbGUpKSB7XG4gICAgICAgICAgICAgICAgaW50ZXJ2YWxzQ29uZmlnLmludGVydmFscy5maW5kKCh7IHN0YXJ0UmFuZ2UsIGVuZFJhbmdlLCBwcmVjaXNpb24gfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB3aXRoaW4gPSBpc1dpdGhpbihzdGFydFJhbmdlLCBlbmRSYW5nZSwgbnVtKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHdpdGhpbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZWNpc2lvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdCA9PT0gJ3Rob3VzYW5kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmNhbGN1bGF0ZVBhcnRzRm9yVGhvdXNhbmRzKG51bSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtOiBNYXRoLnRydW5jKG51bSAvIFJPVU5ESU5HX1VOSVRTW3VuaXRdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYWN0aW9uOiB0aGlzLmNhbGN1bGF0ZURlY2ltYWwobnVtLCBST1VORElOR19VTklUU1t1bml0XSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydHMgPSB7IG51bTogTWF0aC5yb3VuZChudW0gLyBST1VORElOR19VTklUU1t1bml0XSkgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB3aXRoaW47XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBhcnRzID0gcGFydHMubnVtXG4gICAgICAgICAgICAgICAgPyBwYXJ0c1xuICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgIG51bTogTWF0aC50cnVuYyhudW0gLyBST1VORElOR19VTklUU1t1bml0XSksXG4gICAgICAgICAgICAgICAgICAgICAgZnJhY3Rpb246IHRoaXMuY2FsY3VsYXRlRGVjaW1hbChudW0sIFJPVU5ESU5HX1VOSVRTW3VuaXRdKVxuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHBhcnRzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBwYXJ0c1trZXldID0gSW50bC5OdW1iZXJGb3JtYXQuY2FsbCh0aGlzLCBjdXJyZW50TG9jYWxlLCB7IHVzZUdyb3VwaW5nOiBmYWxzZSB9KS5mb3JtYXQocGFydHNba2V5XSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3QgY2FsY3VsYXRlZFZhbHVlID0gcGFydHMuZnJhY3Rpb25cbiAgICAgICAgICAgICAgICA/IGAke3BhcnRzLm51bX0ke3RoaXMucm91bmRpbmdPcHRpb25zLmdyb3VwU2VwYXJhdG9yfSR7cGFydHMuZnJhY3Rpb259YFxuICAgICAgICAgICAgICAgIDogYCR7cGFydHMubnVtfWA7XG5cbiAgICAgICAgICAgIHJldHVybiBgJHtjYWxjdWxhdGVkVmFsdWV9JHt0aGlzLnJvdW5kaW5nT3B0aW9ucy5zZXBhcmF0b3J9JHt0aGlzLnJvdW5kaW5nT3B0aW9uc1t1bml0XX1gO1xuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZFBpcGVBcmd1bWVudDogS2JxUm91bmREZWNpbWFsUGlwZSBmb3IgcGlwZSAnJHtKU09OLnN0cmluZ2lmeShlcnJvci5tZXNzYWdlKX0nYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZURlY2ltYWwobnVtOiBudW1iZXIsIGRpdmlkZXI6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZCgoKG51bSAvIGRpdmlkZXIpICUgMSkgKiAxMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMiAqIDEwMDAgaXMgYSBudW1iZXIgaW4gdGhlIGludGVydmFsIG9mIFsxNTAwLi4uMjUwMClcbiAgICAgKlxuICAgICAqIDIsMCAqIDEwMDAgaXMgYSBudW1iZXIgaW4gdGhlIGludGVydmFsIG9mIFsxOTUwLi4uMjA1MClcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVBhcnRzRm9yVGhvdXNhbmRzKG51bTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGRpdmlkZWRWYWx1ZSA9IG51bSAvIFJPVU5ESU5HX1VOSVRTLnRob3VzYW5kO1xuICAgICAgICBjb25zdCBkaXYgPSBNYXRoLnJvdW5kKGRpdmlkZWRWYWx1ZSkgKiBST1VORElOR19VTklUUy50aG91c2FuZDtcbiAgICAgICAgY29uc3QgZmlmdHkgPSA1MDtcblxuICAgICAgICByZXR1cm4gaXNXaXRoaW4oZGl2IC0gZmlmdHksIGRpdiArIGZpZnR5LCBudW0pXG4gICAgICAgICAgICA/IHsgbnVtOiBNYXRoLnJvdW5kKGRpdmlkZWRWYWx1ZSksIGZyYWN0aW9uOiAwIH1cbiAgICAgICAgICAgIDogeyBudW06IE1hdGgucm91bmQoZGl2aWRlZFZhbHVlKSB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlVW5pdChudW06IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGxldCBjdXJyZW50VW5pdDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBsb2NhbGl6ZWRPcHRpb25zID0gT2JqZWN0LmtleXModGhpcy5yb3VuZGluZ09wdGlvbnMpO1xuXG4gICAgICAgIE9iamVjdC5rZXlzKFJPVU5ESU5HX1VOSVRTKS5ldmVyeSgoa2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWxvY2FsaXplZE9wdGlvbnMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG51bSAvIFJPVU5ESU5HX1VOSVRTW2tleV0gPj0gMSkge1xuICAgICAgICAgICAgICAgIGN1cnJlbnRVbml0ID0ga2V5O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnRVbml0O1xuICAgIH1cbn1cbiJdfQ==
345
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL2Zvcm1hdHRlcnMvbnVtYmVyL2Zvcm1hdHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRTNHLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLElBQUksY0FBYyxDQUFTLDJCQUEyQixDQUFDLENBQUM7QUFFcEcsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQXFCO0lBQ2xFLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLG9CQUFvQixFQUFFLENBQUM7SUFDdkIscUJBQXFCLEVBQUUsQ0FBQztJQUN4QixxQkFBcUIsRUFBRSxDQUFDO0NBQzNCLENBQUM7QUFFRixTQUFTLE9BQU8sQ0FBQyxLQUFVO0lBQ3ZCLE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxJQUFJLEtBQUssS0FBSyxLQUFLLENBQUM7QUFDNUQsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEtBQXNCO0lBQ3ZDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pFLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLGtCQUFrQixDQUFD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OzswQkFBSSxNQUFNOzJCQUFDLGFBQWE7OzBCQUNoQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLQlFfREVGQVVMVF9MT0NBTEVfSUQsIEtCUV9MT0NBTEVfSUQsIEtCUV9MT0NBTEVfU0VSVklDRSwgS2JxTG9jYWxlU2VydmljZSB9IGZyb20gJy4uLy4uL2xvY2FsZXMnO1xuXG5leHBvcnQgY29uc3QgS0JRX05VTUJFUl9GT1JNQVRURVJfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdLYnFOdW1iZXJGb3JtYXR0ZXJPcHRpb25zJyk7XG5cbmV4cG9ydCBjb25zdCBLQlFfTlVNQkVSX0ZPUk1BVFRFUl9ERUZBVUxUX09QVElPTlM6IFBhcnNlZERpZ2l0c0luZm8gPSB7XG4gICAgdXNlR3JvdXBpbmc6IHRydWUsXG4gICAgbWluaW11bUludGVnZXJEaWdpdHM6IDEsXG4gICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwLFxuICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogM1xufTtcblxuZnVuY3Rpb24gaXNFbXB0eSh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID09IG51bGwgfHwgdmFsdWUgPT09ICcnIHx8IHZhbHVlICE9PSB2YWx1ZTtcbn1cblxuZnVuY3Rpb24gc3RyVG9OdW1iZXIodmFsdWU6IG51bWJlciB8IHN0cmluZyk6IG51bWJlciB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgIWlzTmFOKE51bWJlcih2YWx1ZSkgLSBwYXJzZUZsb2F0KHZhbHVlKSkpIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3ZhbHVlfSBpcyBub3QgYSBudW1iZXJgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBjb25zdCBOVU1CRVJfRk9STUFUX1JFR0VYUCA9IC9eKFxcZCspP1xcLigoXFxkKykoLShcXGQrKSk/KC0odHJ1ZXxmYWxzZSkpPyk/JC87XG5cbmNvbnN0IG1pbkludEdyb3VwUG9zaXRpb24gPSAxO1xuY29uc3QgbWluRnJhY3Rpb25Hcm91cFBvc2l0aW9uID0gMztcbmNvbnN0IG1heEZyYWN0aW9uR3JvdXBQb3NpdGlvbiA9IDU7XG5jb25zdCB1c2VHcm91cGluZ1Bvc2l0aW9uID0gNztcblxuaW50ZXJmYWNlIE51bWJlckZvcm1hdE9wdGlvbnMge1xuICAgIHVzZUdyb3VwaW5nOiBib29sZWFuO1xuXG4gICAgbWluaW11bUludGVnZXJEaWdpdHM6IG51bWJlcjtcbiAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IG51bWJlcjtcbiAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IG51bWJlcjtcbiAgICBtaW5pbXVtU2lnbmlmaWNhbnREaWdpdHM6IG51bWJlcjtcbiAgICBtYXhpbXVtU2lnbmlmaWNhbnREaWdpdHM6IG51bWJlcjtcblxuICAgIGxvY2FsZU1hdGNoZXI/OiBzdHJpbmc7XG4gICAgc3R5bGU/OiBzdHJpbmc7XG5cbiAgICBjdXJyZW5jeT86IHN0cmluZztcbiAgICBjdXJyZW5jeURpc3BsYXk/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBSb3VuZERlY2ltYWxPcHRpb25zIHtcbiAgICBzZXBhcmF0b3I6IHN0cmluZztcbiAgICBncm91cFNlcGFyYXRvcjogc3RyaW5nO1xuICAgIHRob3VzYW5kcz86IHN0cmluZztcbiAgICB0ZW5UaG91c2FuZD86IHN0cmluZztcbiAgICBtaWxsaW9uPzogc3RyaW5nO1xuICAgIG9uZUh1bmRyZWRNaWxsaW9ucz86IHN0cmluZztcbiAgICBiaWxsaW9uPzogc3RyaW5nO1xuICAgIHRyaWxsaW9uOiBzdHJpbmc7XG4gICAgcnRsPzogYm9vbGVhbjtcbn1cblxuY29uc3QgUk9VTkRJTkdfVU5JVFMgPSB7XG4gICAgdGhvdXNhbmQ6IDFlMyxcbiAgICB0ZW5UaG91c2FuZDogMTAgKiAxZTMsXG4gICAgbWlsbGlvbjogMWU2LFxuICAgIG9uZUh1bmRyZWRNaWxsaW9uczogMTAwICogMWU2LFxuICAgIGJpbGxpb246IDFlOSxcbiAgICB0cmlsbGlvbjogMWUxMlxufTtcblxuY29uc3QgaW50ZXJ2YWxzQ29uZmlnID0ge1xuICAgIHN1cHBvcnRlZExhbmd1YWdlczogWydydS1SVScsICdlbi1VUycsICdlcy1MQScsICdwdC1CUicsICdmYS1JUiddLFxuICAgIGludGVydmFsczogW1xuICAgICAgICB7IHN0YXJ0UmFuZ2U6IDEsIGVuZFJhbmdlOiBST1VORElOR19VTklUUy50aG91c2FuZCB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLnRob3VzYW5kLCBlbmRSYW5nZTogUk9VTkRJTkdfVU5JVFMudGVuVGhvdXNhbmQsIHByZWNpc2lvbjogMSB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLnRlblRob3VzYW5kLCBlbmRSYW5nZTogUk9VTkRJTkdfVU5JVFMubWlsbGlvbiB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLm1pbGxpb24sIGVuZFJhbmdlOiBST1VORElOR19VTklUUy5taWxsaW9uICogMTAsIHByZWNpc2lvbjogMSB9LFxuICAgICAgICB7IHN0YXJ0UmFuZ2U6IFJPVU5ESU5HX1VOSVRTLm1pbGxpb24gKiAxMCwgZW5kUmFuZ2U6IFJPVU5ESU5HX1VOSVRTLmJpbGxpb24gfVxuICAgIF1cbn07XG5cbmNsYXNzIFBhcnNlZERpZ2l0c0luZm8ge1xuICAgIHVzZUdyb3VwaW5nOiBib29sZWFuO1xuICAgIG1pbmltdW1JbnRlZ2VyRGlnaXRzOiBudW1iZXI7XG4gICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiBudW1iZXI7XG4gICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBudW1iZXI7XG59XG5cbmNvbnN0IGRlZmF1bHRWYWx1ZUZvckdyb3VwaW5nSW5SVUxvY2FsZTogbnVtYmVyID0gMTAwMDA7XG5cbmZ1bmN0aW9uIHBhcnNlRGlnaXRzSW5mbyhkaWdpdHNJbmZvOiBzdHJpbmcpOiBQYXJzZWREaWdpdHNJbmZvIHtcbiAgICBjb25zdCBwYXJ0cyA9IGRpZ2l0c0luZm8ubWF0Y2goTlVNQkVSX0ZPUk1BVF9SRUdFWFApO1xuXG4gICAgaWYgKHBhcnRzID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtkaWdpdHNJbmZvfSBpcyBub3QgYSB2YWxpZCBkaWdpdCBpbmZvYCk7XG4gICAgfVxuXG4gICAgY29uc3QgbWluSW50UGFydCA9IHBhcnRzW21pbkludEdyb3VwUG9zaXRpb25dO1xuICAgIGNvbnN0IG1pbkZyYWN0aW9uUGFydCA9IHBhcnRzW21pbkZyYWN0aW9uR3JvdXBQb3NpdGlvbl07XG4gICAgY29uc3QgbWF4RnJhY3Rpb25QYXJ0ID0gcGFydHNbbWF4RnJhY3Rpb25Hcm91cFBvc2l0aW9uXTtcbiAgICBjb25zdCB1c2VHcm91cGluZ1BhcnQgPSBwYXJ0c1t1c2VHcm91cGluZ1Bvc2l0aW9uXTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBQYXJzZWREaWdpdHNJbmZvKCk7XG5cbiAgICBpZiAobWluSW50UGFydCAhPSBudWxsKSB7XG4gICAgICAgIHJlc3VsdC5taW5pbXVtSW50ZWdlckRpZ2l0cyA9IHBhcnNlSW50KG1pbkludFBhcnQpO1xuICAgIH1cblxuICAgIGlmIChtaW5GcmFjdGlvblBhcnQgIT0gbnVsbCkge1xuICAgICAgICByZXN1bHQubWluaW11bUZyYWN0aW9uRGlnaXRzID0gcGFyc2VJbnQobWluRnJhY3Rpb25QYXJ0KTtcbiAgICB9XG5cbiAgICBpZiAobWF4RnJhY3Rpb25QYXJ0ICE9IG51bGwpIHtcbiAgICAgICAgcmVzdWx0Lm1heGltdW1GcmFjdGlvbkRpZ2l0cyA9IHBhcnNlSW50KG1heEZyYWN0aW9uUGFydCk7XG4gICAgfSBlbHNlIGlmIChtaW5GcmFjdGlvblBhcnQgIT0gbnVsbCAmJiByZXN1bHQubWluaW11bUZyYWN0aW9uRGlnaXRzID4gcmVzdWx0Lm1heGltdW1GcmFjdGlvbkRpZ2l0cykge1xuICAgICAgICByZXN1bHQubWF4aW11bUZyYWN0aW9uRGlnaXRzID0gcmVzdWx0Lm1pbmltdW1GcmFjdGlvbkRpZ2l0cztcbiAgICB9XG5cbiAgICBpZiAodXNlR3JvdXBpbmdQYXJ0ICE9IG51bGwpIHtcbiAgICAgICAgcmVzdWx0LnVzZUdyb3VwaW5nID0gdXNlR3JvdXBpbmdQYXJ0ID09PSAndHJ1ZSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbkBQaXBlKHsgbmFtZTogJ2ticU51bWJlcicsIHB1cmU6IGZhbHNlIH0pXG5leHBvcnQgY2xhc3MgS2JxRGVjaW1hbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTE9DQUxFX0lEKSBwcml2YXRlIGlkOiBzdHJpbmcsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoS0JRX0xPQ0FMRV9TRVJWSUNFKSBwcml2YXRlIGxvY2FsZVNlcnZpY2U6IEticUxvY2FsZVNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoS0JRX05VTUJFUl9GT1JNQVRURVJfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBQYXJzZWREaWdpdHNJbmZvXG4gICAgKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IHRoaXMub3B0aW9ucyB8fCBLQlFfTlVNQkVSX0ZPUk1BVFRFUl9ERUZBVUxUX09QVElPTlM7XG5cbiAgICAgICAgdGhpcy5sb2NhbGVTZXJ2aWNlPy5jaGFuZ2VzLnN1YnNjcmliZSgobmV3SWQ6IHN0cmluZykgPT4gKHRoaXMuaWQgPSBuZXdJZCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgbnVtYmVyIHRvIGJlIGZvcm1hdHRlZC5cbiAgICAgKiBAcGFyYW0gZGlnaXRzSW5mbyBEZWNpbWFsIHJlcHJlc2VudGF0aW9uIG9wdGlvbnMsIHNwZWNpZmllZCBieSBhIHN0cmluZ1xuICAgICAqIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0Ojxicj5cbiAgICAgKiA8Y29kZT57bWluSW50ZWdlckRpZ2l0c30ue21pbkZyYWN0aW9uRGlnaXRzfS17bWF4RnJhY3Rpb25EaWdpdHN9PC9jb2RlPi5cbiAgICAgKiAgIC0gYG1pbkludGVnZXJEaWdpdHNgOiBUaGUgbWluaW11bSBudW1iZXIgb2YgaW50ZWdlciBkaWdpdHMgYmVmb3JlIHRoZSBkZWNpbWFsIHBvaW50LlxuICAgICAqIERlZmF1bHQgaXMgYDFgLlxuICAgICAqICAgLSBgbWluRnJhY3Rpb25EaWdpdHNgOiBUaGUgbWluaW11bSBudW1iZXIgb2YgZGlnaXRzIGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50LlxuICAgICAqIERlZmF1bHQgaXMgYDBgLlxuICAgICAqICAgLSBgbWF4RnJhY3Rpb25EaWdpdHNgOiBUaGUgbWF4aW11bSBudW1iZXIgb2YgZGlnaXRzIGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50LlxuICAgICAqIERlZmF1bHQgaXMgYDNgLlxuICAgICAqIEBwYXJhbSBsb2NhbGUgQSBsb2NhbGUgY29kZSBmb3IgdGhlIGxvY2FsZSBmb3JtYXQgcnVsZXMgdG8gdXNlLlxuICAgICAqIFdoZW4gbm90IHN1cHBsaWVkLCB1c2VzIHRoZSB2YWx1ZSBvZiBgS0JRX0xPQ0FMRV9JRGAsIHdoaWNoIGlzIGBydWAgYnkgZGVmYXVsdC5cbiAgICAgKi9cbiAgICB0cmFuc2Zvcm0odmFsdWU6IGFueSwgZGlnaXRzSW5mbz86IHN0cmluZywgbG9jYWxlPzogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGlmIChpc0VtcHR5KHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjdXJyZW50TG9jYWxlID0gbG9jYWxlIHx8IHRoaXMuaWQgfHwgS0JRX0RFRkFVTFRfTE9DQUxFX0lEO1xuXG4gICAgICAgIGxldCBwYXJzZWREaWdpdHNJbmZvO1xuXG4gICAgICAgIGlmIChkaWdpdHNJbmZvKSB7XG4gICAgICAgICAgICBwYXJzZWREaWdpdHNJbmZvID0gcGFyc2VEaWdpdHNJbmZvKGRpZ2l0c0luZm8pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3B0aW9uczogTnVtYmVyRm9ybWF0T3B0aW9ucyA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgICAgICAgIC4uLnBhcnNlZERpZ2l0c0luZm9cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5pc1NwZWNpYWxGb3JtYXRGb3JSVUxvY2FsZShjdXJyZW50TG9jYWxlLCB2YWx1ZSwgcGFyc2VkRGlnaXRzSW5mbz8udXNlR3JvdXBpbmcpKSB7XG4gICAgICAgICAgICBvcHRpb25zLnVzZUdyb3VwaW5nID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgbnVtID0gc3RyVG9OdW1iZXIodmFsdWUpO1xuXG4gICAgICAgICAgICAvKiBHdWlkZWxpbmUgcmVxdWlyZXMgZm9yIGdyb3VwIHNlcGFyYXRvciB0byBiZSBgc3BhY2VgLCBhcyBpbiAncnUtUlUnIGxvY2FsZS5cbiAgICAgICAgICAgICAqIEJ1dCBieSBkZWZhdWx0IGluIGVzLUxBIGxvY2FsZSBpcyB1c2VkIGBjb21tYWAuXG4gICAgICAgICAgICAgKiBUbyByZWR1Y2UgZGF0YSBtYW5pcHVsYXRpb24sICdydS1SVScgbG9jYWxlIGlzIHVzZWQuICovXG4gICAgICAgICAgICBpZiAoY3VycmVudExvY2FsZSA9PT0gJ2VzLUxBJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBJbnRsLk51bWJlckZvcm1hdC5jYWxsKHRoaXMsICdydS1SVScsIG9wdGlvbnMpLmZvcm1hdChudW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gSW50bC5OdW1iZXJGb3JtYXQuY2FsbCh0aGlzLCBjdXJyZW50TG9jYWxlLCBvcHRpb25zKS5mb3JtYXQobnVtKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoYEludmFsaWRQaXBlQXJndW1lbnQ6IEticURlY2ltYWxQaXBlIGZvciBwaXBlICcke0pTT04uc3RyaW5naWZ5KGVycm9yLm1lc3NhZ2UpfSdgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzU3BlY2lhbEZvcm1hdEZvclJVTG9jYWxlKGxvY2FsZTogc3RyaW5nLCB2YWx1ZTogbnVtYmVyLCBncm91cGluZz86IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIFsncnUnLCAncnUtUlUnXS5pbmNsdWRlcyhsb2NhbGUpICYmIGdyb3VwaW5nID09PSB1bmRlZmluZWQgJiYgdmFsdWUgPCBkZWZhdWx0VmFsdWVGb3JHcm91cGluZ0luUlVMb2NhbGU7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuQFBpcGUoeyBuYW1lOiAna2JxVGFibGVOdW1iZXInLCBwdXJlOiBmYWxzZSB9KVxuZXhwb3J0IGNsYXNzIEticVRhYmxlTnVtYmVyUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9MT0NBTEVfSUQpIHByaXZhdGUgaWQ6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTE9DQUxFX1NFUlZJQ0UpIHByaXZhdGUgbG9jYWxlU2VydmljZTogS2JxTG9jYWxlU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTlVNQkVSX0ZPUk1BVFRFUl9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFBhcnNlZERpZ2l0c0luZm9cbiAgICApIHtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gdGhpcy5vcHRpb25zIHx8IEtCUV9OVU1CRVJfRk9STUFUVEVSX0RFRkFVTFRfT1BUSU9OUztcblxuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2U/LmNoYW5nZXMuc3Vic2NyaWJlKChuZXdJZDogc3RyaW5nKSA9PiAodGhpcy5pZCA9IG5ld0lkKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBudW1iZXIgdG8gYmUgZm9ybWF0dGVkLlxuICAgICAqIEBwYXJhbSBkaWdpdHNJbmZvIERlY2ltYWwgcmVwcmVzZW50YXRpb24gb3B0aW9ucywgc3BlY2lmaWVkIGJ5IGEgc3RyaW5nXG4gICAgICogaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ6PGJyPlxuICAgICAqIDxjb2RlPnttaW5JbnRlZ2VyRGlnaXRzfS57bWluRnJhY3Rpb25EaWdpdHN9LXttYXhGcmFjdGlvbkRpZ2l0c308L2NvZGU+LlxuICAgICAqICAgLSBgbWluSW50ZWdlckRpZ2l0c2A6IFRoZSBtaW5pbXVtIG51bWJlciBvZiBpbnRlZ2VyIGRpZ2l0cyBiZWZvcmUgdGhlIGRlY2ltYWwgcG9pbnQuXG4gICAgICogRGVmYXVsdCBpcyBgMWAuXG4gICAgICogICAtIGBtaW5GcmFjdGlvbkRpZ2l0c2A6IFRoZSBtaW5pbXVtIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQuXG4gICAgICogRGVmYXVsdCBpcyBgMGAuXG4gICAgICogICAtIGBtYXhGcmFjdGlvbkRpZ2l0c2A6IFRoZSBtYXhpbXVtIG51bWJlciBvZiBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnQuXG4gICAgICogRGVmYXVsdCBpcyBgM2AuXG4gICAgICogQHBhcmFtIGxvY2FsZSBBIGxvY2FsZSBjb2RlIGZvciB0aGUgbG9jYWxlIGZvcm1hdCBydWxlcyB0byB1c2UuXG4gICAgICogV2hlbiBub3Qgc3VwcGxpZWQsIHVzZXMgdGhlIHZhbHVlIG9mIGBLQlFfTE9DQUxFX0lEYCwgd2hpY2ggaXMgYHJ1YCBieSBkZWZhdWx0LlxuICAgICAqL1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogYW55LCBkaWdpdHNJbmZvPzogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgaWYgKGlzRW1wdHkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGN1cnJlbnRMb2NhbGUgPSBsb2NhbGUgfHwgdGhpcy5pZCB8fCBLQlFfREVGQVVMVF9MT0NBTEVfSUQ7XG5cbiAgICAgICAgbGV0IHBhcnNlZERpZ2l0c0luZm87XG5cbiAgICAgICAgaWYgKGRpZ2l0c0luZm8pIHtcbiAgICAgICAgICAgIHBhcnNlZERpZ2l0c0luZm8gPSBwYXJzZURpZ2l0c0luZm8oZGlnaXRzSW5mbyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvcHRpb25zOiBOdW1iZXJGb3JtYXRPcHRpb25zID0ge1xuICAgICAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgLi4ucGFyc2VkRGlnaXRzSW5mb1xuICAgICAgICB9O1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBudW0gPSBzdHJUb051bWJlcih2YWx1ZSk7XG5cbiAgICAgICAgICAgIC8qIEd1aWRlbGluZSByZXF1aXJlcyBmb3IgZ3JvdXAgc2VwYXJhdG9yIHRvIGJlIGBzcGFjZWAsIGFzIGluICdydS1SVScgbG9jYWxlLlxuICAgICAgICAgICAgICogQnV0IGJ5IGRlZmF1bHQgaW4gZXMtTEEgbG9jYWxlIGlzIHVzZWQgYGNvbW1hYC5cbiAgICAgICAgICAgICAqIFRvIHJlZHVjZSBkYXRhIG1hbmlwdWxhdGlvbiwgJ3J1LVJVJyBsb2NhbGUgaXMgdXNlZC4gKi9cbiAgICAgICAgICAgIGlmIChjdXJyZW50TG9jYWxlID09PSAnZXMtTEEnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEludGwuTnVtYmVyRm9ybWF0LmNhbGwodGhpcywgJ3J1LVJVJywgb3B0aW9ucykuZm9ybWF0KG51bSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBJbnRsLk51bWJlckZvcm1hdC5jYWxsKHRoaXMsIGN1cnJlbnRMb2NhbGUsIG9wdGlvbnMpLmZvcm1hdChudW0pO1xuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZFBpcGVBcmd1bWVudDogS2JxVGFibGVOdW1iZXJQaXBlIGZvciBwaXBlICcke0pTT04uc3RyaW5naWZ5KGVycm9yLm1lc3NhZ2UpfSdgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzV2l0aGluKHN0YXJ0UmFuZ2U6IG51bWJlciwgZW5kUmFuZ2U6IG51bWJlciwgdmFsdWVUb0NoZWNrOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3RhcnRSYW5nZSA8PSB2YWx1ZVRvQ2hlY2sgJiYgdmFsdWVUb0NoZWNrIDwgZW5kUmFuZ2U7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5AUGlwZSh7IG5hbWU6ICdrYnFSb3VuZE51bWJlcicsIHB1cmU6IGZhbHNlIH0pXG5leHBvcnQgY2xhc3MgS2JxUm91bmREZWNpbWFsUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHJvdW5kaW5nT3B0aW9uczogUm91bmREZWNpbWFsT3B0aW9ucztcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEtCUV9MT0NBTEVfSUQpIHByaXZhdGUgaWQ6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChLQlFfTE9DQUxFX1NFUlZJQ0UpIHByaXZhdGUgbG9jYWxlU2VydmljZTogS2JxTG9jYWxlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2U/LmNoYW5nZXMuc3Vic2NyaWJlKChuZXdJZDogc3RyaW5nKSA9PiAodGhpcy5pZCA9IG5ld0lkKSk7XG4gICAgfVxuXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBhbnksIGxvY2FsZT86IHN0cmluZyk6IGFueSB7XG4gICAgICAgIGlmIChpc0VtcHR5KHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjdXJyZW50TG9jYWxlOiBzdHJpbmcgPSBsb2NhbGUgfHwgdGhpcy5pZCB8fCBLQlFfREVGQVVMVF9MT0NBTEVfSUQ7XG5cbiAgICAgICAgdGhpcy5yb3VuZGluZ09wdGlvbnMgPSB0aGlzLmxvY2FsZVNlcnZpY2UubG9jYWxlc1tjdXJyZW50TG9jYWxlXS5mb3JtYXR0ZXJzLm51bWJlci5yb3VuZGluZztcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgbnVtID0gc3RyVG9OdW1iZXIodmFsdWUpO1xuICAgICAgICAgICAgY29uc3QgdW5pdCA9IHRoaXMuY2FsY3VsYXRlVW5pdChudW0pO1xuXG4gICAgICAgICAgICBpZiAoIXVuaXQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gSW50bC5OdW1iZXJGb3JtYXQuY2FsbCh0aGlzLCBjdXJyZW50TG9jYWxlLCB7IHVzZUdyb3VwaW5nOiBmYWxzZSB9KS5mb3JtYXQobnVtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IHBhcnRzOiB7IG51bT86IG51bWJlcjsgZnJhY3Rpb24/OiBudW1iZXIgfSA9IHt9O1xuXG4gICAgICAgICAgICBpZiAoaW50ZXJ2YWxzQ29uZmlnLnN1cHBvcnRlZExhbmd1YWdlcy5pbmNsdWRlcyhjdXJyZW50TG9jYWxlKSkge1xuICAgICAgICAgICAgICAgIGludGVydmFsc0NvbmZpZy5pbnRlcnZhbHMuZmluZCgoeyBzdGFydFJhbmdlLCBlbmRSYW5nZSwgcHJlY2lzaW9uIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgd2l0aGluID0gaXNXaXRoaW4oc3RhcnRSYW5nZSwgZW5kUmFuZ2UsIG51bSk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHdpdGhpbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZWNpc2lvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdCA9PT0gJ3Rob3VzYW5kJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0aGlzLmNhbGN1bGF0ZVBhcnRzRm9yVGhvdXNhbmRzKG51bSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtOiBNYXRoLnRydW5jKG51bSAvIFJPVU5ESU5HX1VOSVRTW3VuaXRdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYWN0aW9uOiB0aGlzLmNhbGN1bGF0ZURlY2ltYWwobnVtLCBST1VORElOR19VTklUU1t1bml0XSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydHMgPSB7IG51bTogTWF0aC5yb3VuZChudW0gLyBST1VORElOR19VTklUU1t1bml0XSkgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB3aXRoaW47XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBhcnRzID0gcGFydHMubnVtXG4gICAgICAgICAgICAgICAgPyBwYXJ0c1xuICAgICAgICAgICAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgIG51bTogTWF0aC50cnVuYyhudW0gLyBST1VORElOR19VTklUU1t1bml0XSksXG4gICAgICAgICAgICAgICAgICAgICAgZnJhY3Rpb246IHRoaXMuY2FsY3VsYXRlRGVjaW1hbChudW0sIFJPVU5ESU5HX1VOSVRTW3VuaXRdKVxuICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHBhcnRzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICAgICAgICBwYXJ0c1trZXldID0gSW50bC5OdW1iZXJGb3JtYXQuY2FsbCh0aGlzLCBjdXJyZW50TG9jYWxlLCB7IHVzZUdyb3VwaW5nOiBmYWxzZSB9KS5mb3JtYXQocGFydHNba2V5XSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3QgY2FsY3VsYXRlZFZhbHVlID0gcGFydHMuZnJhY3Rpb25cbiAgICAgICAgICAgICAgICA/IGAke3BhcnRzLm51bX0ke3RoaXMucm91bmRpbmdPcHRpb25zLmdyb3VwU2VwYXJhdG9yfSR7cGFydHMuZnJhY3Rpb259YFxuICAgICAgICAgICAgICAgIDogYCR7cGFydHMubnVtfWA7XG5cbiAgICAgICAgICAgIHJldHVybiBgJHtjYWxjdWxhdGVkVmFsdWV9JHt0aGlzLnJvdW5kaW5nT3B0aW9ucy5zZXBhcmF0b3J9JHt0aGlzLnJvdW5kaW5nT3B0aW9uc1t1bml0XX1gO1xuICAgICAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihgSW52YWxpZFBpcGVBcmd1bWVudDogS2JxUm91bmREZWNpbWFsUGlwZSBmb3IgcGlwZSAnJHtKU09OLnN0cmluZ2lmeShlcnJvci5tZXNzYWdlKX0nYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNhbGN1bGF0ZURlY2ltYWwobnVtOiBudW1iZXIsIGRpdmlkZXI6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZCgoKG51bSAvIGRpdmlkZXIpICUgMSkgKiAxMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMiAqIDEwMDAgaXMgYSBudW1iZXIgaW4gdGhlIGludGVydmFsIG9mIFsxNTAwLi4uMjUwMClcbiAgICAgKlxuICAgICAqIDIsMCAqIDEwMDAgaXMgYSBudW1iZXIgaW4gdGhlIGludGVydmFsIG9mIFsxOTUwLi4uMjA1MClcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbGN1bGF0ZVBhcnRzRm9yVGhvdXNhbmRzKG51bTogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGRpdmlkZWRWYWx1ZSA9IG51bSAvIFJPVU5ESU5HX1VOSVRTLnRob3VzYW5kO1xuICAgICAgICBjb25zdCBkaXYgPSBNYXRoLnJvdW5kKGRpdmlkZWRWYWx1ZSkgKiBST1VORElOR19VTklUUy50aG91c2FuZDtcbiAgICAgICAgY29uc3QgZmlmdHkgPSA1MDtcblxuICAgICAgICByZXR1cm4gaXNXaXRoaW4oZGl2IC0gZmlmdHksIGRpdiArIGZpZnR5LCBudW0pXG4gICAgICAgICAgICA/IHsgbnVtOiBNYXRoLnJvdW5kKGRpdmlkZWRWYWx1ZSksIGZyYWN0aW9uOiAwIH1cbiAgICAgICAgICAgIDogeyBudW06IE1hdGgucm91bmQoZGl2aWRlZFZhbHVlKSB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlVW5pdChudW06IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGxldCBjdXJyZW50VW5pdDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBsb2NhbGl6ZWRPcHRpb25zID0gT2JqZWN0LmtleXModGhpcy5yb3VuZGluZ09wdGlvbnMpO1xuXG4gICAgICAgIE9iamVjdC5rZXlzKFJPVU5ESU5HX1VOSVRTKS5ldmVyeSgoa2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWxvY2FsaXplZE9wdGlvbnMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobnVtIC8gUk9VTkRJTkdfVU5JVFNba2V5XSA+PSAxKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudFVuaXQgPSBrZXk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gY3VycmVudFVuaXQ7XG4gICAgfVxufVxuIl19
@@ -160,4 +160,4 @@ export class FileValidators {
160
160
  };
161
161
  }
162
162
  }
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9mb3Jtcy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLCtEQUErRDtBQUMvRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFXO1FBQ3hCLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBbUIsRUFBMkIsRUFBRTtZQUMzRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM1QixPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDckYsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQVc7UUFDeEIsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUEyQixFQUFFO1lBQzNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUNyRixDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQVc7UUFDM0IsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUEyQixFQUFFO1lBQzNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3JELE9BQU8sT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUM5RSxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQVc7UUFDM0IsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUEyQixFQUFFO1lBQzNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3JELE9BQU8sT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUM5RSxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQVc7UUFDeEIsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUEyQixFQUFFO1lBQzNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3BELE9BQU8sT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUMzRSxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQkc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVc7UUFDekIsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUEyQixFQUFFO1lBQzNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBQzFELE9BQU8sT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUM1RSxDQUFDLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFFRCxtRUFBbUU7QUFDbkUsTUFBTSxPQUFPLGNBQWM7SUFDdkI7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQkc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQWU7UUFDOUIsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUEyQixFQUFFO1lBQzNELElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBRXhCLE1BQU0sSUFBSSxHQUFHLEtBQUssWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRWxFLElBQUksSUFBSSxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUNqQixPQUFPLEVBQUUsV0FBVyxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUMzRCxDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqIFByb3ZpZGVzIGEgc2V0IG9mIHZhbGlkYXRvcnMgZm9yIHBhc3N3b3JkIGZvcm0gY29udHJvbHMuICovXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRWYWxpZGF0b3JzIHtcbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgdGhhdCByZXF1aXJlcyB0aGUgY29udHJvbCdzIHZhbHVlIGxlbmd0aCB0byBiZSBhdCBsZWFzdCBgbWluYCBjaGFyYWN0ZXJzLlxuICAgICAqXG4gICAgICogYG1pbmAgLSBudW1iZXIgb2YgY2hhcmFjdGVycy5cbiAgICAgKlxuICAgICAqICMjIFVzYWdlOlxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJ3Bhc3N3b3JkJywgUGFzc3dvcmRWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMCkpO1xuICAgICAqIGNvbnNvbGUubG9nKGNvbnRyb2wuZXJyb3JzKTsgLy8ge21pbkxlbmd0aDoge21pbjogMTAsIGFjdHVhbDogOH19XG4gICAgICogYGBgXG4gICAgICovXG4gICAgc3RhdGljIG1pbkxlbmd0aChtaW46IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuICh7IHZhbHVlIH06IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUubGVuZ3RoID49IG1pbiA/IG51bGwgOiB7IG1pbkxlbmd0aDogeyBtaW4sIGFjdHVhbDogdmFsdWUubGVuZ3RoIH0gfTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgdGhhdCByZXF1aXJlcyB0aGUgY29udHJvbCdzIHZhbHVlIGxlbmd0aCB0byBiZSBhdCBtb3N0IGBtYXhgIGNoYXJhY3RlcnMuXG4gICAgICpcbiAgICAgKiBgbWF4YCAtIG51bWJlciBvZiBjaGFyYWN0ZXJzLlxuICAgICAqXG4gICAgICogIyMgVXNhZ2U6XG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJ3Bhc3N3b3JkJywgUGFzc3dvcmRWYWxpZGF0b3JzLm1heExlbmd0aCg2KSk7XG4gICAgICogY29uc29sZS5sb2coY29udHJvbC5lcnJvcnMpOyAvLyB7bWF4TGVuZ3RoOiB7bWF4OiA2LCBhY3R1YWw6IDh9fVxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHN0YXRpYyBtYXhMZW5ndGgobWF4OiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiAoeyB2YWx1ZSB9OiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA8PSBtYXggPyBudWxsIDogeyBtYXhMZW5ndGg6IHsgbWF4LCBhY3R1YWw6IHZhbHVlLmxlbmd0aCB9IH07XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yIHRoYXQgcmVxdWlyZXMgdGhlIGNvbnRyb2wncyB2YWx1ZSB0byBiZSBhdCBsZWFzdCBgbWluYCB1cHBlcmNhc2UgY2hhcmFjdGVycy5cbiAgICAgKlxuICAgICAqIGBtaW5gIC0gbnVtYmVyIG9mIHVwcGVyY2FzZSBjaGFyYWN0ZXJzLlxuICAgICAqXG4gICAgICogIyMjIFVzYWdlOlxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJ1Bhc3N3b3JkJywgUGFzc3dvcmRWYWxpZGF0b3JzLm1pblVwcGVyY2FzZSgyKSk7XG4gICAgICogY29uc29sZS5sb2coY29udHJvbC5lcnJvcnMpOyAvLyB7bWluVXBwZXJjYXNlOiB7bWluOiAyLCBhY3R1YWw6IDF9fVxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHN0YXRpYyBtaW5VcHBlcmNhc2UobWluOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiAoeyB2YWx1ZSB9OiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9ICh2YWx1ZS5tYXRjaCgvW0EtWl0vZykgfHwgW10pLmxlbmd0aDtcbiAgICAgICAgICAgIHJldHVybiBtYXRjaGVzID49IG1pbiA/IG51bGwgOiB7IG1pblVwcGVyY2FzZTogeyBtaW4sIGFjdHVhbDogbWF0Y2hlcyB9IH07XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yIHRoYXQgcmVxdWlyZXMgdGhlIGNvbnRyb2wncyB2YWx1ZSB0byBiZSBhdCBsZWFzdCBgbWluYCBsb3dlcmNhc2UgY2hhcmFjdGVycy5cbiAgICAgKlxuICAgICAqIGBtaW5gIC0gbnVtYmVyIG9mIGxvd2VyY2FzZSBjaGFyYWN0ZXJzLlxuICAgICAqXG4gICAgICogIyMjIFVzYWdlOlxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJ1BBU1NXT1JEJywgUGFzc3dvcmRWYWxpZGF0b3JzLm1pbkxvd2VyY2FzZSgpKTtcbiAgICAgKiBjb25zb2xlLmxvZyhjb250cm9sLmVycm9ycyk7IC8vIHttaW5Mb3dlcmNhc2U6IHttaW46IDEsIGFjdHVhbDogMH19XG4gICAgICogYGBgXG4gICAgICovXG4gICAgc3RhdGljIG1pbkxvd2VyY2FzZShtaW46IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuICh7IHZhbHVlIH06IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBtYXRjaGVzID0gKHZhbHVlLm1hdGNoKC9bYS16XS9nKSB8fCBbXSkubGVuZ3RoO1xuICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXMgPj0gbWluID8gbnVsbCA6IHsgbWluTG93ZXJjYXNlOiB7IG1pbiwgYWN0dWFsOiBtYXRjaGVzIH0gfTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgdGhhdCByZXF1aXJlcyB0aGUgY29udHJvbCdzIHZhbHVlIHRvIGJlIGF0IGxlYXN0IGBtaW5gIG51bWJlciBjaGFyYWN0ZXJzLlxuICAgICAqXG4gICAgICogYG1pbmAgLSBudW1iZXIgb2YgbnVtYmVyIGNoYXJhY3RlcnMuXG4gICAgICpcbiAgICAgKiAjIyMgVXNhZ2U6XG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogY29uc3QgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgncGFzc3cwcmQnLCBQYXNzd29yZFZhbGlkYXRvcnMubWluTnVtYmVyKDIpKTtcbiAgICAgKiBjb25zb2xlLmxvZyhjb250cm9sLmVycm9ycyk7IC8vIHttaW5OdW1iZXI6IHttaW46IDIsIGFjdHVhbDogMX19XG4gICAgICogYGBgXG4gICAgICovXG4gICAgc3RhdGljIG1pbk51bWJlcihtaW46IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuICh7IHZhbHVlIH06IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBtYXRjaGVzID0gKHZhbHVlLm1hdGNoKC9bXFxkXS9nKSB8fCBbXSkubGVuZ3RoO1xuICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXMgPj0gbWluID8gbnVsbCA6IHsgbWluTnVtYmVyOiB7IG1pbiwgYWN0dWFsOiBtYXRjaGVzIH0gfTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgdGhhdCByZXF1aXJlcyB0aGUgY29udHJvbCdzIHZhbHVlIHRvIGJlIGF0IGxlYXN0IGBtaW5gIHNwZWNpYWwgY2hhcmFjdGVycy5cbiAgICAgKlxuICAgICAqIGBtaW5gIC0gbnVtYmVyIG9mIHNwZWNpYWwgY2hhcmFjdGVycy5cbiAgICAgKlxuICAgICAqICMjIyBTcGVjaWFsIGNoYXJhY3RlcnM6XG4gICAgICogYGBganNcbiAgICAgKiBbJyEnLCdAJywnIycsJyQnLCclJywnXicsJyYnLCcqJ11cbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqICMjIyBVc2FnZTpcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBjb25zdCBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKCdwYSRzd29yZCcsIFBhc3N3b3JkVmFsaWRhdG9ycy5taW5TcGVjaWFsKDIpKTtcbiAgICAgKiBjb25zb2xlLmxvZyhjb250cm9sLmVycm9ycyk7IC8vIHttaW5TcGVjaWFsOiB7bWluOiAyLCBhY3R1YWw6IDF9fVxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHN0YXRpYyBtaW5TcGVjaWFsKG1pbjogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gKHsgdmFsdWUgfTogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1hdGNoZXMgPSAodmFsdWUubWF0Y2goL1shQCMkJV4mKl0vZykgfHwgW10pLmxlbmd0aDtcbiAgICAgICAgICAgIHJldHVybiBtYXRjaGVzID49IG1pbiA/IG51bGwgOiB7IG1pblNwZWNpYWw6IHsgbWluLCBhY3R1YWw6IG1hdGNoZXMgfSB9O1xuICAgICAgICB9O1xuICAgIH1cbn1cblxuLyoqIFByb3ZpZGVzIGEgc2V0IG9mIHZhbGlkYXRvcnMgZm9yIGZpbGUtcmVsYXRlZCBmb3JtIGNvbnRyb2xzLiAqL1xuZXhwb3J0IGNsYXNzIEZpbGVWYWxpZGF0b3JzIHtcbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgdGhhdCBjaGVja3MgaWYgdGhlIGZpbGUgc2l6ZSBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHByb3ZpZGVkIGBtYXhTaXplYC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBtYXhTaXplIC0gVGhlIG1heGltdW0gYWxsb3dlZCBmaWxlIHNpemUgaW4gYnl0ZXMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBIFZhbGlkYXRvckZuIGZ1bmN0aW9uIHRoYXQgY2hlY2tzIHRoZSBmaWxlIHNpemUuXG4gICAgICpcbiAgICAgKiAjIyBVc2FnZTpcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBjb25zdCBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKG51bGwsIFtGaWxlVmFsaWRhdG9ycy5tYXhGaWxlU2l6ZSgxMDI0ICogMTAyNCldKTsgLy8gMU1CXG4gICAgICogY29udHJvbC5zZXRWYWx1ZShGSUxFX0xFU1NfT1JfRVFVQUxfVEhBTl8xTUIpO1xuICAgICAqIGNvbnNvbGUubG9nKGNvbnRyb2wuZXJyb3JzKTsgLy8gbnVsbFxuICAgICAqIGNvbnRyb2wuc2V0VmFsdWUoRklMRV9NT1JFX1RIQU5fMU1CKTtcbiAgICAgKiBjb25zb2xlLmxvZyhjb250cm9sLmVycm9ycyk7IC8vIHttYXhGaWxlU2l6ZTogeyBtYXg6IDEwNDg1NzYsIGFjdHVhbDogRklMRV9NT1JFX1RIQU5fMU1CLnNpemUgfX1cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBzdGF0aWMgbWF4RmlsZVNpemUobWF4U2l6ZTogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gKHsgdmFsdWUgfTogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICAgICAgaWYgKCF2YWx1ZSkgcmV0dXJuIG51bGw7XG5cbiAgICAgICAgICAgIGNvbnN0IHNpemUgPSB2YWx1ZSBpbnN0YW5jZW9mIEZpbGUgPyB2YWx1ZS5zaXplIDogdmFsdWUuZmlsZS5zaXplO1xuXG4gICAgICAgICAgICBpZiAoc2l6ZSA+IG1heFNpemUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4geyBtYXhGaWxlU2l6ZTogeyBtYXg6IG1heFNpemUsIGFjdHVhbDogc2l6ZSB9IH07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9mb3Jtcy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLCtEQUErRDtBQUMvRCxNQUFNLE9BQU8sa0JBQWtCO0lBQzNCOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFXO1FBQ3hCLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBbUIsRUFBMkIsRUFBRTtZQUMzRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM1QixPQUFPLElBQUksQ0FBQztZQUNoQixDQUFDO1lBRUQsT0FBTyxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDckYsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQVc7UUFDeEIsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUEyQixFQUFFO1lBQzNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFFRCxPQUFPLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUNyRixDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQVc7UUFDM0IsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUEyQixFQUFFO1lBQzNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFFRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBRXJELE9BQU8sT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUM5RSxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQVc7UUFDM0IsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUEyQixFQUFFO1lBQzNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFFRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBRXJELE9BQU8sT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUM5RSxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQVc7UUFDeEIsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUEyQixFQUFFO1lBQzNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFFRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBRXBELE9BQU8sT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUMzRSxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQkc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVc7UUFDekIsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUEyQixFQUFFO1lBQzNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzVCLE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUM7WUFFRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1lBRTFELE9BQU8sT0FBTyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztRQUM1RSxDQUFDLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFFRCxtRUFBbUU7QUFDbkUsTUFBTSxPQUFPLGNBQWM7SUFDdkI7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQkc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQWU7UUFDOUIsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFtQixFQUEyQixFQUFFO1lBQzNELElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBRXhCLE1BQU0sSUFBSSxHQUFHLEtBQUssWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBRWxFLElBQUksSUFBSSxHQUFHLE9BQU8sRUFBRSxDQUFDO2dCQUNqQixPQUFPLEVBQUUsV0FBVyxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUMzRCxDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqIFByb3ZpZGVzIGEgc2V0IG9mIHZhbGlkYXRvcnMgZm9yIHBhc3N3b3JkIGZvcm0gY29udHJvbHMuICovXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRWYWxpZGF0b3JzIHtcbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgdGhhdCByZXF1aXJlcyB0aGUgY29udHJvbCdzIHZhbHVlIGxlbmd0aCB0byBiZSBhdCBsZWFzdCBgbWluYCBjaGFyYWN0ZXJzLlxuICAgICAqXG4gICAgICogYG1pbmAgLSBudW1iZXIgb2YgY2hhcmFjdGVycy5cbiAgICAgKlxuICAgICAqICMjIFVzYWdlOlxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJ3Bhc3N3b3JkJywgUGFzc3dvcmRWYWxpZGF0b3JzLm1pbkxlbmd0aCgxMCkpO1xuICAgICAqIGNvbnNvbGUubG9nKGNvbnRyb2wuZXJyb3JzKTsgLy8ge21pbkxlbmd0aDoge21pbjogMTAsIGFjdHVhbDogOH19XG4gICAgICogYGBgXG4gICAgICovXG4gICAgc3RhdGljIG1pbkxlbmd0aChtaW46IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuICh7IHZhbHVlIH06IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPj0gbWluID8gbnVsbCA6IHsgbWluTGVuZ3RoOiB7IG1pbiwgYWN0dWFsOiB2YWx1ZS5sZW5ndGggfSB9O1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRvciB0aGF0IHJlcXVpcmVzIHRoZSBjb250cm9sJ3MgdmFsdWUgbGVuZ3RoIHRvIGJlIGF0IG1vc3QgYG1heGAgY2hhcmFjdGVycy5cbiAgICAgKlxuICAgICAqIGBtYXhgIC0gbnVtYmVyIG9mIGNoYXJhY3RlcnMuXG4gICAgICpcbiAgICAgKiAjIyBVc2FnZTpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogY29uc3QgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgncGFzc3dvcmQnLCBQYXNzd29yZFZhbGlkYXRvcnMubWF4TGVuZ3RoKDYpKTtcbiAgICAgKiBjb25zb2xlLmxvZyhjb250cm9sLmVycm9ycyk7IC8vIHttYXhMZW5ndGg6IHttYXg6IDYsIGFjdHVhbDogOH19XG4gICAgICogYGBgXG4gICAgICovXG4gICAgc3RhdGljIG1heExlbmd0aChtYXg6IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuICh7IHZhbHVlIH06IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPD0gbWF4ID8gbnVsbCA6IHsgbWF4TGVuZ3RoOiB7IG1heCwgYWN0dWFsOiB2YWx1ZS5sZW5ndGggfSB9O1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFZhbGlkYXRvciB0aGF0IHJlcXVpcmVzIHRoZSBjb250cm9sJ3MgdmFsdWUgdG8gYmUgYXQgbGVhc3QgYG1pbmAgdXBwZXJjYXNlIGNoYXJhY3RlcnMuXG4gICAgICpcbiAgICAgKiBgbWluYCAtIG51bWJlciBvZiB1cHBlcmNhc2UgY2hhcmFjdGVycy5cbiAgICAgKlxuICAgICAqICMjIyBVc2FnZTpcbiAgICAgKlxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBjb25zdCBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKCdQYXNzd29yZCcsIFBhc3N3b3JkVmFsaWRhdG9ycy5taW5VcHBlcmNhc2UoMikpO1xuICAgICAqIGNvbnNvbGUubG9nKGNvbnRyb2wuZXJyb3JzKTsgLy8ge21pblVwcGVyY2FzZToge21pbjogMiwgYWN0dWFsOiAxfX1cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBzdGF0aWMgbWluVXBwZXJjYXNlKG1pbjogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gKHsgdmFsdWUgfTogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9ICh2YWx1ZS5tYXRjaCgvW0EtWl0vZykgfHwgW10pLmxlbmd0aDtcblxuICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXMgPj0gbWluID8gbnVsbCA6IHsgbWluVXBwZXJjYXNlOiB7IG1pbiwgYWN0dWFsOiBtYXRjaGVzIH0gfTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgdGhhdCByZXF1aXJlcyB0aGUgY29udHJvbCdzIHZhbHVlIHRvIGJlIGF0IGxlYXN0IGBtaW5gIGxvd2VyY2FzZSBjaGFyYWN0ZXJzLlxuICAgICAqXG4gICAgICogYG1pbmAgLSBudW1iZXIgb2YgbG93ZXJjYXNlIGNoYXJhY3RlcnMuXG4gICAgICpcbiAgICAgKiAjIyMgVXNhZ2U6XG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogY29uc3QgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnUEFTU1dPUkQnLCBQYXNzd29yZFZhbGlkYXRvcnMubWluTG93ZXJjYXNlKCkpO1xuICAgICAqIGNvbnNvbGUubG9nKGNvbnRyb2wuZXJyb3JzKTsgLy8ge21pbkxvd2VyY2FzZToge21pbjogMSwgYWN0dWFsOiAwfX1cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBzdGF0aWMgbWluTG93ZXJjYXNlKG1pbjogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xuICAgICAgICByZXR1cm4gKHsgdmFsdWUgfTogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9ICh2YWx1ZS5tYXRjaCgvW2Etel0vZykgfHwgW10pLmxlbmd0aDtcblxuICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXMgPj0gbWluID8gbnVsbCA6IHsgbWluTG93ZXJjYXNlOiB7IG1pbiwgYWN0dWFsOiBtYXRjaGVzIH0gfTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBWYWxpZGF0b3IgdGhhdCByZXF1aXJlcyB0aGUgY29udHJvbCdzIHZhbHVlIHRvIGJlIGF0IGxlYXN0IGBtaW5gIG51bWJlciBjaGFyYWN0ZXJzLlxuICAgICAqXG4gICAgICogYG1pbmAgLSBudW1iZXIgb2YgbnVtYmVyIGNoYXJhY3RlcnMuXG4gICAgICpcbiAgICAgKiAjIyMgVXNhZ2U6XG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogY29uc3QgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgncGFzc3cwcmQnLCBQYXNzd29yZFZhbGlkYXRvcnMubWluTnVtYmVyKDIpKTtcbiAgICAgKiBjb25zb2xlLmxvZyhjb250cm9sLmVycm9ycyk7IC8vIHttaW5OdW1iZXI6IHttaW46IDIsIGFjdHVhbDogMX19XG4gICAgICogYGBgXG4gICAgICovXG4gICAgc3RhdGljIG1pbk51bWJlcihtaW46IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuICh7IHZhbHVlIH06IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IG1hdGNoZXMgPSAodmFsdWUubWF0Y2goL1tcXGRdL2cpIHx8IFtdKS5sZW5ndGg7XG5cbiAgICAgICAgICAgIHJldHVybiBtYXRjaGVzID49IG1pbiA/IG51bGwgOiB7IG1pbk51bWJlcjogeyBtaW4sIGFjdHVhbDogbWF0Y2hlcyB9IH07XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdG9yIHRoYXQgcmVxdWlyZXMgdGhlIGNvbnRyb2wncyB2YWx1ZSB0byBiZSBhdCBsZWFzdCBgbWluYCBzcGVjaWFsIGNoYXJhY3RlcnMuXG4gICAgICpcbiAgICAgKiBgbWluYCAtIG51bWJlciBvZiBzcGVjaWFsIGNoYXJhY3RlcnMuXG4gICAgICpcbiAgICAgKiAjIyMgU3BlY2lhbCBjaGFyYWN0ZXJzOlxuICAgICAqIGBgYGpzXG4gICAgICogWychJywnQCcsJyMnLCckJywnJScsJ14nLCcmJywnKiddXG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiAjIyMgVXNhZ2U6XG4gICAgICpcbiAgICAgKiBgYGB0eXBlc2NyaXB0XG4gICAgICogY29uc3QgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgncGEkc3dvcmQnLCBQYXNzd29yZFZhbGlkYXRvcnMubWluU3BlY2lhbCgyKSk7XG4gICAgICogY29uc29sZS5sb2coY29udHJvbC5lcnJvcnMpOyAvLyB7bWluU3BlY2lhbDoge21pbjogMiwgYWN0dWFsOiAxfX1cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBzdGF0aWMgbWluU3BlY2lhbChtaW46IG51bWJlcik6IFZhbGlkYXRvckZuIHtcbiAgICAgICAgcmV0dXJuICh7IHZhbHVlIH06IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IG1hdGNoZXMgPSAodmFsdWUubWF0Y2goL1shQCMkJV4mKl0vZykgfHwgW10pLmxlbmd0aDtcblxuICAgICAgICAgICAgcmV0dXJuIG1hdGNoZXMgPj0gbWluID8gbnVsbCA6IHsgbWluU3BlY2lhbDogeyBtaW4sIGFjdHVhbDogbWF0Y2hlcyB9IH07XG4gICAgICAgIH07XG4gICAgfVxufVxuXG4vKiogUHJvdmlkZXMgYSBzZXQgb2YgdmFsaWRhdG9ycyBmb3IgZmlsZS1yZWxhdGVkIGZvcm0gY29udHJvbHMuICovXG5leHBvcnQgY2xhc3MgRmlsZVZhbGlkYXRvcnMge1xuICAgIC8qKlxuICAgICAqIFZhbGlkYXRvciB0aGF0IGNoZWNrcyBpZiB0aGUgZmlsZSBzaXplIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgcHJvdmlkZWQgYG1heFNpemVgLlxuICAgICAqXG4gICAgICogQHBhcmFtIG1heFNpemUgLSBUaGUgbWF4aW11bSBhbGxvd2VkIGZpbGUgc2l6ZSBpbiBieXRlcy5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEEgVmFsaWRhdG9yRm4gZnVuY3Rpb24gdGhhdCBjaGVja3MgdGhlIGZpbGUgc2l6ZS5cbiAgICAgKlxuICAgICAqICMjIFVzYWdlOlxuICAgICAqXG4gICAgICogYGBgdHlwZXNjcmlwdFxuICAgICAqIGNvbnN0IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW0ZpbGVWYWxpZGF0b3JzLm1heEZpbGVTaXplKDEwMjQgKiAxMDI0KV0pOyAvLyAxTUJcbiAgICAgKiBjb250cm9sLnNldFZhbHVlKEZJTEVfTEVTU19PUl9FUVVBTF9USEFOXzFNQik7XG4gICAgICogY29uc29sZS5sb2coY29udHJvbC5lcnJvcnMpOyAvLyBudWxsXG4gICAgICogY29udHJvbC5zZXRWYWx1ZShGSUxFX01PUkVfVEhBTl8xTUIpO1xuICAgICAqIGNvbnNvbGUubG9nKGNvbnRyb2wuZXJyb3JzKTsgLy8ge21heEZpbGVTaXplOiB7IG1heDogMTA0ODU3NiwgYWN0dWFsOiBGSUxFX01PUkVfVEhBTl8xTUIuc2l6ZSB9fVxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHN0YXRpYyBtYXhGaWxlU2l6ZShtYXhTaXplOiBudW1iZXIpOiBWYWxpZGF0b3JGbiB7XG4gICAgICAgIHJldHVybiAoeyB2YWx1ZSB9OiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm4gbnVsbDtcblxuICAgICAgICAgICAgY29uc3Qgc2l6ZSA9IHZhbHVlIGluc3RhbmNlb2YgRmlsZSA/IHZhbHVlLnNpemUgOiB2YWx1ZS5maWxlLnNpemU7XG5cbiAgICAgICAgICAgIGlmIChzaXplID4gbWF4U2l6ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7IG1heEZpbGVTaXplOiB7IG1heDogbWF4U2l6ZSwgYWN0dWFsOiBzaXplIH0gfTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
67
67
  declarations: [KbqLine]
68
68
  }]
69
69
  }] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9saW5lL2xpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxRQUFRLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBRTNFOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sT0FBTztpSUFBUCxPQUFPO3FIQUFQLE9BQU87OzJGQUFQLE9BQU87a0JBSm5CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtpQkFDOUI7O0FBR0Q7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFDdEIsWUFDWSxNQUEwQixFQUMxQixRQUFvQjtRQURwQixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFZO1FBRTVCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBYTtRQUM5QixNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUM3QixNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxLQUFLLEtBQUssa0JBQWtCLElBQUksS0FBSyxLQUFLLGtCQUFrQixFQUFFLENBQUM7WUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEtBQUssT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUM7YUFBTSxJQUFJLEtBQUssR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLFFBQVEsQ0FBQyxTQUFpQixFQUFFLEtBQWM7UUFDOUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFPRCxNQUFNLE9BQU8sYUFBYTtpSUFBYixhQUFhO2tJQUFiLGFBQWEsaUJBakRiLE9BQU8sYUFBUCxPQUFPO2tJQWlEUCxhQUFhOzsyRkFBYixhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsWUFBWSxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgTmdNb2R1bGUsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFNoYXJlZCBkaXJlY3RpdmUgdG8gY291bnQgbGluZXMgaW5zaWRlIGEgdGV4dCBhcmVhLCBzdWNoIGFzIGEgbGlzdCBpdGVtLlxuICogTGluZSBlbGVtZW50cyBjYW4gYmUgZXh0cmFjdGVkIHdpdGggYSBAQ29udGVudENoaWxkcmVuKEticUxpbmUpIHF1ZXJ5LCB0aGVuXG4gKiBjb3VudGVkIGJ5IGNoZWNraW5nIHRoZSBxdWVyeSBsaXN0J3MgbGVuZ3RoLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1trYnEtbGluZV0sIFttY0xpbmVdJyxcbiAgICBob3N0OiB7IGNsYXNzOiAna2JxLWxpbmUnIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxTGluZSB7fVxuXG4vKipcbiAqIEhlbHBlciB0aGF0IHRha2VzIGEgcXVlcnkgbGlzdCBvZiBsaW5lcyBhbmQgc2V0cyB0aGUgY29ycmVjdCBjbGFzcyBvbiB0aGUgaG9zdC5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIEticUxpbmVTZXR0ZXIge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9saW5lczogUXVlcnlMaXN0PEticUxpbmU+LFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc2V0TGluZUNsYXNzKHRoaXMuX2xpbmVzLmxlbmd0aCk7XG5cbiAgICAgICAgdGhpcy5fbGluZXMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRMaW5lQ2xhc3ModGhpcy5fbGluZXMubGVuZ3RoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMaW5lQ2xhc3MoY291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBtaW5MaW5lQ2xhc3NOdW1iZXIgPSAyO1xuICAgICAgICBjb25zdCBtYXhMaW5lQ2xhc3NOdW1iZXIgPSAzO1xuICAgICAgICB0aGlzLnJlc2V0Q2xhc3NlcygpO1xuICAgICAgICBpZiAoY291bnQgPT09IG1pbkxpbmVDbGFzc051bWJlciB8fCBjb3VudCA9PT0gbWF4TGluZUNsYXNzTnVtYmVyKSB7XG4gICAgICAgICAgICB0aGlzLnNldENsYXNzKGBrYnEtJHtjb3VudH0tbGluZWAsIHRydWUpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvdW50ID4gbWF4TGluZUNsYXNzTnVtYmVyKSB7XG4gICAgICAgICAgICB0aGlzLnNldENsYXNzKGBrYnEtbXVsdGktbGluZWAsIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldENsYXNzZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0Q2xhc3MoJ2ticS0yLWxpbmUnLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuc2V0Q2xhc3MoJ2ticS0zLWxpbmUnLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuc2V0Q2xhc3MoJ2ticS1tdWx0aS1saW5lJywgZmFsc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q2xhc3MoY2xhc3NOYW1lOiBzdHJpbmcsIGlzQWRkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChpc0FkZCkge1xuICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW10sXG4gICAgZXhwb3J0czogW0ticUxpbmVdLFxuICAgIGRlY2xhcmF0aW9uczogW0ticUxpbmVdXG59KVxuZXhwb3J0IGNsYXNzIEticUxpbmVNb2R1bGUge31cbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9saW5lL2xpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxRQUFRLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBRTNFOzs7O0dBSUc7QUFLSCxNQUFNLE9BQU8sT0FBTztpSUFBUCxPQUFPO3FIQUFQLE9BQU87OzJGQUFQLE9BQU87a0JBSm5CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRTtpQkFDOUI7O0FBR0Q7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGFBQWE7SUFDdEIsWUFDWSxNQUEwQixFQUMxQixRQUFvQjtRQURwQixXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFZO1FBRTVCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxZQUFZLENBQUMsS0FBYTtRQUM5QixNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUM3QixNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUU3QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEIsSUFBSSxLQUFLLEtBQUssa0JBQWtCLElBQUksS0FBSyxLQUFLLGtCQUFrQixFQUFFLENBQUM7WUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEtBQUssT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUM7YUFBTSxJQUFJLEtBQUssR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLFFBQVEsQ0FBQyxTQUFpQixFQUFFLEtBQWM7UUFDOUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFPRCxNQUFNLE9BQU8sYUFBYTtpSUFBYixhQUFhO2tJQUFiLGFBQWEsaUJBbkRiLE9BQU8sYUFBUCxPQUFPO2tJQW1EUCxhQUFhOzsyRkFBYixhQUFhO2tCQUx6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxFQUFFO29CQUNYLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsWUFBWSxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgTmdNb2R1bGUsIFF1ZXJ5TGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFNoYXJlZCBkaXJlY3RpdmUgdG8gY291bnQgbGluZXMgaW5zaWRlIGEgdGV4dCBhcmVhLCBzdWNoIGFzIGEgbGlzdCBpdGVtLlxuICogTGluZSBlbGVtZW50cyBjYW4gYmUgZXh0cmFjdGVkIHdpdGggYSBAQ29udGVudENoaWxkcmVuKEticUxpbmUpIHF1ZXJ5LCB0aGVuXG4gKiBjb3VudGVkIGJ5IGNoZWNraW5nIHRoZSBxdWVyeSBsaXN0J3MgbGVuZ3RoLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1trYnEtbGluZV0sIFttY0xpbmVdJyxcbiAgICBob3N0OiB7IGNsYXNzOiAna2JxLWxpbmUnIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxTGluZSB7fVxuXG4vKipcbiAqIEhlbHBlciB0aGF0IHRha2VzIGEgcXVlcnkgbGlzdCBvZiBsaW5lcyBhbmQgc2V0cyB0aGUgY29ycmVjdCBjbGFzcyBvbiB0aGUgaG9zdC5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGNsYXNzIEticUxpbmVTZXR0ZXIge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9saW5lczogUXVlcnlMaXN0PEticUxpbmU+LFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc2V0TGluZUNsYXNzKHRoaXMuX2xpbmVzLmxlbmd0aCk7XG5cbiAgICAgICAgdGhpcy5fbGluZXMuY2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRMaW5lQ2xhc3ModGhpcy5fbGluZXMubGVuZ3RoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMaW5lQ2xhc3MoY291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBtaW5MaW5lQ2xhc3NOdW1iZXIgPSAyO1xuICAgICAgICBjb25zdCBtYXhMaW5lQ2xhc3NOdW1iZXIgPSAzO1xuXG4gICAgICAgIHRoaXMucmVzZXRDbGFzc2VzKCk7XG5cbiAgICAgICAgaWYgKGNvdW50ID09PSBtaW5MaW5lQ2xhc3NOdW1iZXIgfHwgY291bnQgPT09IG1heExpbmVDbGFzc051bWJlcikge1xuICAgICAgICAgICAgdGhpcy5zZXRDbGFzcyhga2JxLSR7Y291bnR9LWxpbmVgLCB0cnVlKTtcbiAgICAgICAgfSBlbHNlIGlmIChjb3VudCA+IG1heExpbmVDbGFzc051bWJlcikge1xuICAgICAgICAgICAgdGhpcy5zZXRDbGFzcyhga2JxLW11bHRpLWxpbmVgLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVzZXRDbGFzc2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldENsYXNzKCdrYnEtMi1saW5lJywgZmFsc2UpO1xuICAgICAgICB0aGlzLnNldENsYXNzKCdrYnEtMy1saW5lJywgZmFsc2UpO1xuICAgICAgICB0aGlzLnNldENsYXNzKCdrYnEtbXVsdGktbGluZScsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENsYXNzKGNsYXNzTmFtZTogc3RyaW5nLCBpc0FkZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoaXNBZGQpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjbGFzc05hbWUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtdLFxuICAgIGV4cG9ydHM6IFtLYnFMaW5lXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtLYnFMaW5lXVxufSlcbmV4cG9ydCBjbGFzcyBLYnFMaW5lTW9kdWxlIHt9XG4iXX0=
@@ -1,25 +1,27 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
- import { ChangeDetectionStrategy, Component, ContentChild, DestroyRef, ElementRef, inject, Inject, InjectionToken, ViewEncapsulation } from '@angular/core';
2
+ import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, DestroyRef, ElementRef, inject, Inject, InjectionToken, Input, ViewEncapsulation } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { ENTER, SPACE, TAB } from '@koobiq/cdk/keycodes';
5
- import { mixinDisabled, mixinTabIndex } from '../common-behaviors';
6
5
  import * as i0 from "@angular/core";
7
6
  import * as i1 from "@angular/cdk/a11y";
8
7
  export const KBQ_OPTION_ACTION_PARENT = new InjectionToken('KBQ_OPTION_ACTION_PARENT');
9
- /** @docs-private */
10
- export class KbqOptionActionBase {
11
- }
12
- /** @docs-private */
13
- export const KbqOptionActionMixinBase = mixinTabIndex(mixinDisabled(KbqOptionActionBase));
14
- export class KbqOptionActionComponent extends KbqOptionActionMixinBase {
8
+ export class KbqOptionActionComponent {
9
+ get disabled() {
10
+ return this._disabled;
11
+ }
12
+ set disabled(value) {
13
+ if (value !== this.disabled) {
14
+ this._disabled = value;
15
+ }
16
+ }
15
17
  get active() {
16
18
  return this.hasFocus || !!this.option.dropdownTrigger?.opened;
17
19
  }
18
20
  constructor(elementRef, focusMonitor, option) {
19
- super();
20
21
  this.elementRef = elementRef;
21
22
  this.focusMonitor = focusMonitor;
22
23
  this.option = option;
24
+ this._disabled = false;
23
25
  this.hasFocus = false;
24
26
  this.destroyRef = inject(DestroyRef);
25
27
  }
@@ -79,7 +81,7 @@ export class KbqOptionActionComponent extends KbqOptionActionMixinBase {
79
81
  setTimeout(() => (this.option.tooltipTrigger.disabled = false));
80
82
  }
81
83
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqOptionActionComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: KBQ_OPTION_ACTION_PARENT }], target: i0.ɵɵFactoryTarget.Component }); }
82
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqOptionActionComponent, selector: "kbq-option-action", inputs: { disabled: "disabled" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur()", "click": "onClick($event)", "keydown": "onKeyDown($event)" }, properties: { "class.kbq-expanded": "false", "class.kbq-disabled": "disabled", "attr.disabled": "disabled || null", "attr.tabIndex": "-1" }, classAttribute: "kbq-option-action" }, queries: [{ propertyName: "customIcon", first: true, predicate: ["customIcon"], descendants: true }], exportAs: ["kbqOptionAction"], usesInheritance: true, ngImport: i0, template: `
84
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: KbqOptionActionComponent, selector: "kbq-option-action", inputs: { disabled: ["disabled", "disabled", booleanAttribute] }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur()", "click": "onClick($event)", "keydown": "onKeyDown($event)" }, properties: { "class.kbq-expanded": "false", "class.kbq-disabled": "disabled", "attr.disabled": "disabled || null", "attr.tabIndex": "-1" }, classAttribute: "kbq-option-action" }, queries: [{ propertyName: "customIcon", first: true, predicate: ["customIcon"], descendants: true }], exportAs: ["kbqOptionAction"], ngImport: i0, template: `
83
85
  @if (!!customIcon) {
84
86
  <ng-content select="[kbq-icon]" />
85
87
  } @else {
@@ -105,12 +107,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
105
107
  '(blur)': 'onBlur()',
106
108
  '(click)': 'onClick($event)',
107
109
  '(keydown)': 'onKeyDown($event)'
108
- }, inputs: ['disabled'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".kbq-option-action{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:-2px;width:var(--kbq-typography-text-normal-line-height);height:var(--kbq-typography-text-normal-line-height);cursor:pointer;outline:none;border:var(--kbq-size-3xs) solid transparent;background:transparent}.kbq-option-action.kbq-disabled{cursor:default}.kbq-option-action.cdk-keyboard-focused{border-color:var(--kbq-states-line-focus-theme)}.kbq-option-action:active,.kbq-option-action.kbq-pressed{background-color:var(--kbq-background-transparent)}.kbq-option-action:active .kbq-icon,.kbq-option-action.kbq-pressed .kbq-icon{color:var(--kbq-states-icon-contrast-fade-active)}.kbq-option-action:hover .kbq-icon{color:var(--kbq-states-icon-contrast-fade-hover)}.kbq-option-action.kbq-disabled{background-color:var(--kbq-background-transparent)}.kbq-option-action.kbq-disabled .kbq-icon{color:var(--kbq-states-icon-disabled)}\n"] }]
110
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".kbq-option-action{box-sizing:border-box;position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:-2px;width:var(--kbq-typography-text-normal-line-height);height:var(--kbq-typography-text-normal-line-height);cursor:pointer;outline:none;border:var(--kbq-size-3xs) solid transparent;background:transparent}.kbq-option-action.kbq-disabled{cursor:default}.kbq-option-action.cdk-keyboard-focused{border-color:var(--kbq-states-line-focus-theme)}.kbq-option-action:active,.kbq-option-action.kbq-pressed{background-color:var(--kbq-background-transparent)}.kbq-option-action:active .kbq-icon,.kbq-option-action.kbq-pressed .kbq-icon{color:var(--kbq-states-icon-contrast-fade-active)}.kbq-option-action:hover .kbq-icon{color:var(--kbq-states-icon-contrast-fade-hover)}.kbq-option-action.kbq-disabled{background-color:var(--kbq-background-transparent)}.kbq-option-action.kbq-disabled .kbq-icon{color:var(--kbq-states-icon-disabled)}\n"] }]
109
111
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: undefined, decorators: [{
110
112
  type: Inject,
111
113
  args: [KBQ_OPTION_ACTION_PARENT]
112
114
  }] }], propDecorators: { customIcon: [{
113
115
  type: ContentChild,
114
116
  args: ['customIcon']
117
+ }], disabled: [{
118
+ type: Input,
119
+ args: [{ transform: booleanAttribute }]
115
120
  }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL29wdGlvbi9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBQzlELE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsVUFBVSxFQUVWLE1BQU0sRUFDTixNQUFNLEVBQ04sY0FBYyxFQUVkLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQW1DLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBaUJwRyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBd0IsMEJBQTBCLENBQUMsQ0FBQztBQUU5RyxvQkFBb0I7QUFDcEIsTUFBTSxPQUFPLG1CQUFtQjtDQUFHO0FBRW5DLG9CQUFvQjtBQUNwQixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBa0UsYUFBYSxDQUNoSCxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FDckMsQ0FBQztBQThCRixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsd0JBQXdCO0lBS2xFLElBQUksTUFBTTtRQUNOLE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDO0lBQ2xFLENBQUM7SUFJRCxZQUNZLFVBQXNCLEVBQ3RCLFlBQTBCLEVBQ1EsTUFBNkI7UUFFdkUsS0FBSyxFQUFFLENBQUM7UUFKQSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ1EsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFYM0UsYUFBUSxHQUFZLEtBQUssQ0FBQztRQU1ULGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFRakQsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXpELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWU7WUFBRSxPQUFPO1FBRXpDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFFakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2hHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBRTdCLE1BQU0sYUFBYSxHQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLGlCQUFpQixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFFekYsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsS0FBSyxDQUFDLE1BQW9CLEVBQUUsT0FBc0I7UUFDOUMsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvRSxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzFDLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQU07UUFDVixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQU07UUFDVixNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFNO1FBQ1osSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztZQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN6QyxDQUFDO2FBQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFFdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QixDQUFDO2FBQU0sSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2hDLE9BQU87UUFDWCxDQUFDO1FBRUQsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8scUJBQXFCO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzlCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUUzQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO2lJQXhGUSx3QkFBd0Isd0VBY3JCLHdCQUF3QjtxSEFkM0Isd0JBQXdCLDhpQkF6QnZCOzs7Ozs7S0FNVDs7MkZBbUJRLHdCQUF3QjtrQkE1QnBDLFNBQVM7K0JBQ0ksbUJBQW1CLFlBQ25CLGlCQUFpQixZQUNqQjs7Ozs7O0tBTVQsUUFFSzt3QkFDRixLQUFLLEVBQUUsbUJBQW1CO3dCQUMxQixzQkFBc0IsRUFBRSxPQUFPO3dCQUMvQixzQkFBc0IsRUFBRSxVQUFVO3dCQUVsQyxpQkFBaUIsRUFBRSxrQkFBa0I7d0JBQ3JDLGlCQUFpQixFQUFFLElBQUk7d0JBRXZCLFNBQVMsRUFBRSxpQkFBaUI7d0JBQzVCLFFBQVEsRUFBRSxVQUFVO3dCQUNwQixTQUFTLEVBQUUsaUJBQWlCO3dCQUM1QixXQUFXLEVBQUUsbUJBQW1CO3FCQUNuQyxVQUNPLENBQUMsVUFBVSxDQUFDLGlCQUNMLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07OzBCQWdCMUMsTUFBTTsyQkFBQyx3QkFBd0I7eUNBYlIsVUFBVTtzQkFBckMsWUFBWTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yLCBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBPbkRlc3Ryb3ksXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBFTlRFUiwgU1BBQ0UsIFRBQiB9IGZyb20gJ0Brb29iaXEvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IENhbkRpc2FibGVDdG9yLCBIYXNUYWJJbmRleEN0b3IsIG1peGluRGlzYWJsZWQsIG1peGluVGFiSW5kZXggfSBmcm9tICcuLi9jb21tb24tYmVoYXZpb3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBLYnFPcHRpb25BY3Rpb25QYXJlbnQge1xuICAgIGRyb3Bkb3duVHJpZ2dlcjoge1xuICAgICAgICBvcGVuZWQ6IGJvb2xlYW47XG4gICAgICAgIHJlc3RvcmVGb2N1czogYm9vbGVhbjtcbiAgICAgICAgZHJvcGRvd25DbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPjtcbiAgICAgICAgbGFzdERlc3Ryb3lSZWFzb246IHZvaWQgfCAnY2xpY2snIHwgJ2tleWRvd24nIHwgJ3RhYic7XG4gICAgICAgIG9wZW5lZEJ5OiBFeGNsdWRlPEZvY3VzT3JpZ2luLCAncHJvZ3JhbScgfCBudWxsPiB8IHVuZGVmaW5lZDtcbiAgICAgICAgdG9nZ2xlKCk6IHZvaWQ7XG4gICAgfTtcbiAgICB0b29sdGlwVHJpZ2dlcjoge1xuICAgICAgICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICB9O1xuICAgIGZvY3VzKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBLQlFfT1BUSU9OX0FDVElPTl9QQVJFTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48S2JxT3B0aW9uQWN0aW9uUGFyZW50PignS0JRX09QVElPTl9BQ1RJT05fUEFSRU5UJyk7XG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5leHBvcnQgY2xhc3MgS2JxT3B0aW9uQWN0aW9uQmFzZSB7fVxuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNvbnN0IEticU9wdGlvbkFjdGlvbk1peGluQmFzZTogSGFzVGFiSW5kZXhDdG9yICYgQ2FuRGlzYWJsZUN0b3IgJiB0eXBlb2YgS2JxT3B0aW9uQWN0aW9uQmFzZSA9IG1peGluVGFiSW5kZXgoXG4gICAgbWl4aW5EaXNhYmxlZChLYnFPcHRpb25BY3Rpb25CYXNlKVxuKTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtb3B0aW9uLWFjdGlvbicsXG4gICAgZXhwb3J0QXM6ICdrYnFPcHRpb25BY3Rpb24nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBpZiAoISFjdXN0b21JY29uKSB7XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJba2JxLWljb25dXCIgLz5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8aSBjbGFzcz1cImticSBrYnEtaWNvbiBrYnEtZWxsaXBzaXMtdmVydGljYWxfMTZcIj48L2k+XG4gICAgICAgIH1cbiAgICBgLFxuICAgIHN0eWxlVXJsczogWycuL2FjdGlvbi5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1vcHRpb24tYWN0aW9uJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtZXhwYW5kZWRdJzogJ2ZhbHNlJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcblxuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkIHx8IG51bGwnLFxuICAgICAgICAnW2F0dHIudGFiSW5kZXhdJzogJy0xJyxcblxuICAgICAgICAnKGZvY3VzKSc6ICdvbkZvY3VzKCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ29uQmx1cigpJyxcbiAgICAgICAgJyhjbGljayknOiAnb25DbGljaygkZXZlbnQpJyxcbiAgICAgICAgJyhrZXlkb3duKSc6ICdvbktleURvd24oJGV2ZW50KSdcbiAgICB9LFxuICAgIGlucHV0czogWydkaXNhYmxlZCddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgS2JxT3B0aW9uQWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgS2JxT3B0aW9uQWN0aW9uTWl4aW5CYXNlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBAQ29udGVudENoaWxkKCdjdXN0b21JY29uJykgY3VzdG9tSWNvbjogRWxlbWVudFJlZjtcblxuICAgIGhhc0ZvY3VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNGb2N1cyB8fCAhIXRoaXMub3B0aW9uLmRyb3Bkb3duVHJpZ2dlcj8ub3BlbmVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgICAgIEBJbmplY3QoS0JRX09QVElPTl9BQ1RJT05fUEFSRU5UKSBwcml2YXRlIG9wdGlvbjogS2JxT3B0aW9uQWN0aW9uUGFyZW50XG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICBpZiAoIXRoaXMub3B0aW9uLmRyb3Bkb3duVHJpZ2dlcikgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMub3B0aW9uLmRyb3Bkb3duVHJpZ2dlci5yZXN0b3JlRm9jdXMgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLm9wdGlvbi5kcm9wZG93blRyaWdnZXIuZHJvcGRvd25DbG9zZWQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJldmVudFNob3dpbmdUb29sdGlwKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGRlc3Ryb3lSZWFzb246IEZvY3VzT3JpZ2luID1cbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbi5kcm9wZG93blRyaWdnZXIubGFzdERlc3Ryb3lSZWFzb24gPT09ICdrZXlkb3duJyA/ICdrZXlib2FyZCcgOiAncHJvZ3JhbSc7XG5cbiAgICAgICAgICAgIHRoaXMuZm9jdXMoZGVzdHJveVJlYXNvbik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZm9jdXMob3JpZ2luPzogRm9jdXNPcmlnaW4sIG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNNb25pdG9yICYmIG9yaWdpbikge1xuICAgICAgICAgICAgdGhpcy5mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIG9yaWdpbiwgb3B0aW9ucyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5oYXNGb2N1cyA9IHRydWU7XG4gICAgfVxuXG4gICAgb25Gb2N1cygkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHRoaXMuaGFzRm9jdXMgPSB0cnVlO1xuICAgIH1cblxuICAgIG9uQmx1cigpIHtcbiAgICAgICAgdGhpcy5oYXNGb2N1cyA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uQ2xpY2soJGV2ZW50KSB7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBvbktleURvd24oJGV2ZW50KSB7XG4gICAgICAgIGlmIChbU1BBQ0UsIEVOVEVSXS5pbmNsdWRlcygkZXZlbnQua2V5Q29kZSkgJiYgdGhpcy5vcHRpb24uZHJvcGRvd25UcmlnZ2VyKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbi5kcm9wZG93blRyaWdnZXIub3BlbmVkQnkgPSAna2V5Ym9hcmQnO1xuICAgICAgICAgICAgdGhpcy5vcHRpb24uZHJvcGRvd25UcmlnZ2VyLnRvZ2dsZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKCRldmVudC5zaGlmdEtleSAmJiAkZXZlbnQua2V5Q29kZSA9PT0gVEFCKSB7XG4gICAgICAgICAgICB0aGlzLmhhc0ZvY3VzID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHRoaXMub3B0aW9uLmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoJGV2ZW50LmtleUNvZGUgPT09IFRBQikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByZXZlbnRTaG93aW5nVG9vbHRpcCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbi50b29sdGlwVHJpZ2dlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcHRpb24udG9vbHRpcFRyaWdnZXIuZGlzYWJsZWQgPSB0cnVlO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMub3B0aW9uLnRvb2x0aXBUcmlnZ2VyLmRpc2FibGVkID0gZmFsc2UpKTtcbiAgICB9XG59XG4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL29wdGlvbi9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBQzlELE9BQU8sRUFFSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFVBQVUsRUFFVixNQUFNLEVBQ04sTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBRUwsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFpQnpELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUF3QiwwQkFBMEIsQ0FBQyxDQUFDO0FBNkI5RyxNQUFNLE9BQU8sd0JBQXdCO0lBR2pDLElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN2QixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFNRCxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQztJQUNsRSxDQUFDO0lBSUQsWUFDWSxVQUFzQixFQUN0QixZQUEwQixFQUNRLE1BQTZCO1FBRi9ELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsaUJB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SUFDN0IsQ0FBQztJQUVPLHFCQUFxQjtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM5QixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFFM0MsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztpSUFuR1Esd0JBQXdCLHdFQTJCckIsd0JBQXdCO3FIQTNCM0Isd0JBQXdCLDhFQUdiLGdCQUFnQix5ZEEzQjFCOzs7Ozs7S0FNVDs7MkZBa0JRLHdCQUF3QjtrQkEzQnBDLFNBQVM7K0JBQ0ksbUJBQW1CLFlBQ25CLGlCQUFpQixZQUNqQjs7Ozs7O0tBTVQsUUFFSzt3QkFDRixLQUFLLEVBQUUsbUJBQW1CO3dCQUMxQixzQkFBc0IsRUFBRSxPQUFPO3dCQUMvQixzQkFBc0IsRUFBRSxVQUFVO3dCQUVsQyxpQkFBaUIsRUFBRSxrQkFBa0I7d0JBQ3JDLGlCQUFpQixFQUFFLElBQUk7d0JBRXZCLFNBQVMsRUFBRSxpQkFBaUI7d0JBQzVCLFFBQVEsRUFBRSxVQUFVO3dCQUNwQixTQUFTLEVBQUUsaUJBQWlCO3dCQUM1QixXQUFXLEVBQUUsbUJBQW1CO3FCQUNuQyxpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkE2QjFDLE1BQU07MkJBQUMsd0JBQXdCO3lDQTFCUixVQUFVO3NCQUFyQyxZQUFZO3VCQUFDLFlBQVk7Z0JBR3RCLFFBQVE7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBFTlRFUiwgU1BBQ0UsIFRBQiB9IGZyb20gJ0Brb29iaXEvY2RrL2tleWNvZGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBLYnFPcHRpb25BY3Rpb25QYXJlbnQge1xuICAgIGRyb3Bkb3duVHJpZ2dlcjoge1xuICAgICAgICBvcGVuZWQ6IGJvb2xlYW47XG4gICAgICAgIHJlc3RvcmVGb2N1czogYm9vbGVhbjtcbiAgICAgICAgZHJvcGRvd25DbG9zZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPjtcbiAgICAgICAgbGFzdERlc3Ryb3lSZWFzb246IHZvaWQgfCAnY2xpY2snIHwgJ2tleWRvd24nIHwgJ3RhYic7XG4gICAgICAgIG9wZW5lZEJ5OiBFeGNsdWRlPEZvY3VzT3JpZ2luLCAncHJvZ3JhbScgfCBudWxsPiB8IHVuZGVmaW5lZDtcbiAgICAgICAgdG9nZ2xlKCk6IHZvaWQ7XG4gICAgfTtcbiAgICB0b29sdGlwVHJpZ2dlcjoge1xuICAgICAgICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICB9O1xuICAgIGZvY3VzKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBLQlFfT1BUSU9OX0FDVElPTl9QQVJFTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48S2JxT3B0aW9uQWN0aW9uUGFyZW50PignS0JRX09QVElPTl9BQ1RJT05fUEFSRU5UJyk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna2JxLW9wdGlvbi1hY3Rpb24nLFxuICAgIGV4cG9ydEFzOiAna2JxT3B0aW9uQWN0aW9uJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICBAaWYgKCEhY3VzdG9tSWNvbikge1xuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ticS1pY29uXVwiIC8+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGkgY2xhc3M9XCJrYnEga2JxLWljb24ga2JxLWVsbGlwc2lzLXZlcnRpY2FsXzE2XCI+PC9pPlxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdHlsZVVybHM6IFsnLi9hY3Rpb24uc2NzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdrYnEtb3B0aW9uLWFjdGlvbicsXG4gICAgICAgICdbY2xhc3Mua2JxLWV4cGFuZGVkXSc6ICdmYWxzZScsXG4gICAgICAgICdbY2xhc3Mua2JxLWRpc2FibGVkXSc6ICdkaXNhYmxlZCcsXG5cbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6ICdkaXNhYmxlZCB8fCBudWxsJyxcbiAgICAgICAgJ1thdHRyLnRhYkluZGV4XSc6ICctMScsXG5cbiAgICAgICAgJyhmb2N1cyknOiAnb25Gb2N1cygkZXZlbnQpJyxcbiAgICAgICAgJyhibHVyKSc6ICdvbkJsdXIoKScsXG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soJGV2ZW50KScsXG4gICAgICAgICcoa2V5ZG93biknOiAnb25LZXlEb3duKCRldmVudCknXG4gICAgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEticU9wdGlvbkFjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgQENvbnRlbnRDaGlsZCgnY3VzdG9tSWNvbicpIGN1c3RvbUljb246IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGhhc0ZvY3VzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBnZXQgYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNGb2N1cyB8fCAhIXRoaXMub3B0aW9uLmRyb3Bkb3duVHJpZ2dlcj8ub3BlbmVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXG4gICAgICAgIEBJbmplY3QoS0JRX09QVElPTl9BQ1RJT05fUEFSRU5UKSBwcml2YXRlIG9wdGlvbjogS2JxT3B0aW9uQWN0aW9uUGFyZW50XG4gICAgKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICBpZiAoIXRoaXMub3B0aW9uLmRyb3Bkb3duVHJpZ2dlcikgcmV0dXJuO1xuXG4gICAgICAgIHRoaXMub3B0aW9uLmRyb3Bkb3duVHJpZ2dlci5yZXN0b3JlRm9jdXMgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLm9wdGlvbi5kcm9wZG93blRyaWdnZXIuZHJvcGRvd25DbG9zZWQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJldmVudFNob3dpbmdUb29sdGlwKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGRlc3Ryb3lSZWFzb246IEZvY3VzT3JpZ2luID1cbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbi5kcm9wZG93blRyaWdnZXIubGFzdERlc3Ryb3lSZWFzb24gPT09ICdrZXlkb3duJyA/ICdrZXlib2FyZCcgOiAncHJvZ3JhbSc7XG5cbiAgICAgICAgICAgIHRoaXMuZm9jdXMoZGVzdHJveVJlYXNvbik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZm9jdXMob3JpZ2luPzogRm9jdXNPcmlnaW4sIG9wdGlvbnM/OiBGb2N1c09wdGlvbnMpIHtcbiAgICAgICAgaWYgKHRoaXMuZm9jdXNNb25pdG9yICYmIG9yaWdpbikge1xuICAgICAgICAgICAgdGhpcy5mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIG9yaWdpbiwgb3B0aW9ucyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5oYXNGb2N1cyA9IHRydWU7XG4gICAgfVxuXG4gICAgb25Gb2N1cygkZXZlbnQpIHtcbiAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgIHRoaXMuaGFzRm9jdXMgPSB0cnVlO1xuICAgIH1cblxuICAgIG9uQmx1cigpIHtcbiAgICAgICAgdGhpcy5oYXNGb2N1cyA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uQ2xpY2soJGV2ZW50KSB7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBvbktleURvd24oJGV2ZW50KSB7XG4gICAgICAgIGlmIChbU1BBQ0UsIEVOVEVSXS5pbmNsdWRlcygkZXZlbnQua2V5Q29kZSkgJiYgdGhpcy5vcHRpb24uZHJvcGRvd25UcmlnZ2VyKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbi5kcm9wZG93blRyaWdnZXIub3BlbmVkQnkgPSAna2V5Ym9hcmQnO1xuICAgICAgICAgICAgdGhpcy5vcHRpb24uZHJvcGRvd25UcmlnZ2VyLnRvZ2dsZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKCRldmVudC5zaGlmdEtleSAmJiAkZXZlbnQua2V5Q29kZSA9PT0gVEFCKSB7XG4gICAgICAgICAgICB0aGlzLmhhc0ZvY3VzID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHRoaXMub3B0aW9uLmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoJGV2ZW50LmtleUNvZGUgPT09IFRBQikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByZXZlbnRTaG93aW5nVG9vbHRpcCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbi50b29sdGlwVHJpZ2dlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcHRpb24udG9vbHRpcFRyaWdnZXIuZGlzYWJsZWQgPSB0cnVlO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMub3B0aW9uLnRvb2x0aXBUcmlnZ2VyLmRpc2FibGVkID0gZmFsc2UpKTtcbiAgICB9XG59XG4iXX0=
@@ -1,31 +1,37 @@
1
- import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
2
- import { mixinDisabled } from '../common-behaviors';
1
+ import { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
3
2
  import * as i0 from "@angular/core";
4
- /** @docs-private */
5
- export class KbqOptgroupBase {
6
- }
7
- export const KbqOptgroupMixinBase = mixinDisabled(KbqOptgroupBase);
8
3
  let uniqueOptgroupIdCounter = 0;
9
4
  /**
10
5
  * Component that is used to group instances of `kbq-option`.
11
6
  * When options aren't provided as `ng-content`, used as a Group Header with styling.
12
7
  */
13
- export class KbqOptgroup extends KbqOptgroupMixinBase {
8
+ export class KbqOptgroup {
14
9
  constructor() {
15
- super(...arguments);
10
+ this._disabled = false;
16
11
  /** Unique id for the underlying label. */
17
12
  this.labelId = `kbq-optgroup-label-${uniqueOptgroupIdCounter++}`;
18
13
  }
19
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqOptgroup, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.6", type: KbqOptgroup, selector: "kbq-optgroup", inputs: { disabled: "disabled", label: "label" }, host: { properties: { "class.kbq-disabled": "disabled" }, classAttribute: "kbq-optgroup" }, exportAs: ["kbqOptgroup"], usesInheritance: true, ngImport: i0, template: "<label class=\"kbq-optgroup-label\" [id]=\"labelId\">\n {{ label }}\n</label>\n<ng-content select=\"kbq-option, kbq-list-option, kbq-timezone-option, ng-container\" />\n", styles: [".kbq-optgroup-label{display:flex;align-items:center;box-sizing:border-box;padding:var(--kbq-size-s) var(--kbq-size-l) var(--kbq-size-s) var(--kbq-size-m);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-optgroup-label{--kbq-optgroup-label-color: var(--kbq-foreground-contrast-secondary);color:var(--kbq-optgroup-label-color)}.kbq-disabled .kbq-optgroup-label{--kbq-optgroup-label-color: var(--kbq-states-foreground-disabled)}.kbq-optgroup-label{font-size:var(--kbq-typography-caps-compact-strong-font-size);font-weight:var(--kbq-typography-caps-compact-strong-font-weight);line-height:var(--kbq-typography-caps-compact-strong-line-height);font-family:var(--kbq-typography-caps-compact-strong-font-family);text-transform:var(--kbq-typography-caps-compact-strong-text-transform);font-feature-settings:var(--kbq-typography-caps-compact-strong-font-feature-settings);letter-spacing:var(--kbq-typography-caps-compact-strong-letter-spacing)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14
+ get disabled() {
15
+ return this._disabled;
16
+ }
17
+ set disabled(value) {
18
+ if (value !== this.disabled) {
19
+ this._disabled = value;
20
+ }
21
+ }
22
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqOptgroup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.6", type: KbqOptgroup, selector: "kbq-optgroup", inputs: { label: "label", disabled: ["disabled", "disabled", booleanAttribute] }, host: { properties: { "class.kbq-disabled": "disabled" }, classAttribute: "kbq-optgroup" }, exportAs: ["kbqOptgroup"], ngImport: i0, template: "<label class=\"kbq-optgroup-label\" [id]=\"labelId\">\n {{ label }}\n</label>\n<ng-content select=\"kbq-option, kbq-list-option, kbq-timezone-option, ng-container\" />\n", styles: [".kbq-optgroup-label{display:flex;align-items:center;box-sizing:border-box;padding:var(--kbq-size-s) var(--kbq-size-l) var(--kbq-size-s) var(--kbq-size-m);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-optgroup-label{--kbq-optgroup-label-color: var(--kbq-foreground-contrast-secondary);color:var(--kbq-optgroup-label-color)}.kbq-disabled .kbq-optgroup-label{--kbq-optgroup-label-color: var(--kbq-states-foreground-disabled)}.kbq-optgroup-label{font-size:var(--kbq-typography-caps-compact-strong-font-size);font-weight:var(--kbq-typography-caps-compact-strong-font-weight);line-height:var(--kbq-typography-caps-compact-strong-line-height);font-family:var(--kbq-typography-caps-compact-strong-font-family);text-transform:var(--kbq-typography-caps-compact-strong-text-transform);font-feature-settings:var(--kbq-typography-caps-compact-strong-font-feature-settings);letter-spacing:var(--kbq-typography-caps-compact-strong-letter-spacing)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
21
24
  }
22
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqOptgroup, decorators: [{
23
26
  type: Component,
24
- args: [{ selector: 'kbq-optgroup', exportAs: 'kbqOptgroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['disabled'], host: {
27
+ args: [{ selector: 'kbq-optgroup', exportAs: 'kbqOptgroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
25
28
  class: 'kbq-optgroup',
26
29
  '[class.kbq-disabled]': 'disabled'
27
30
  }, template: "<label class=\"kbq-optgroup-label\" [id]=\"labelId\">\n {{ label }}\n</label>\n<ng-content select=\"kbq-option, kbq-list-option, kbq-timezone-option, ng-container\" />\n", styles: [".kbq-optgroup-label{display:flex;align-items:center;box-sizing:border-box;padding:var(--kbq-size-s) var(--kbq-size-l) var(--kbq-size-s) var(--kbq-size-m);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default}.kbq-optgroup-label{--kbq-optgroup-label-color: var(--kbq-foreground-contrast-secondary);color:var(--kbq-optgroup-label-color)}.kbq-disabled .kbq-optgroup-label{--kbq-optgroup-label-color: var(--kbq-states-foreground-disabled)}.kbq-optgroup-label{font-size:var(--kbq-typography-caps-compact-strong-font-size);font-weight:var(--kbq-typography-caps-compact-strong-font-weight);line-height:var(--kbq-typography-caps-compact-strong-line-height);font-family:var(--kbq-typography-caps-compact-strong-font-family);text-transform:var(--kbq-typography-caps-compact-strong-text-transform);font-feature-settings:var(--kbq-typography-caps-compact-strong-font-feature-settings);letter-spacing:var(--kbq-typography-caps-compact-strong-letter-spacing)}\n"] }]
28
31
  }], propDecorators: { label: [{
29
32
  type: Input
33
+ }], disabled: [{
34
+ type: Input,
35
+ args: [{ transform: booleanAttribute }]
30
36
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvb3B0aW9uL29wdGdyb3VwLnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL29wdGlvbi9vcHRncm91cC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBOEIsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRWhGLG9CQUFvQjtBQUNwQixNQUFNLE9BQU8sZUFBZTtDQUFHO0FBRS9CLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUE0QyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFNUcsSUFBSSx1QkFBdUIsR0FBRyxDQUFDLENBQUM7QUFFaEM7OztHQUdHO0FBY0gsTUFBTSxPQUFPLFdBQVksU0FBUSxvQkFBb0I7SUFickQ7O1FBZ0JJLDBDQUEwQztRQUMxQyxZQUFPLEdBQVcsc0JBQXNCLHVCQUF1QixFQUFFLEVBQUUsQ0FBQztLQUN2RTtpSUFMWSxXQUFXO3FIQUFYLFdBQVcsb1BDM0J4Qiw4S0FJQTs7MkZEdUJhLFdBQVc7a0JBYnZCLFNBQVM7K0JBQ0ksY0FBYyxZQUNkLGFBQWEsaUJBR1IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxVQUN2QyxDQUFDLFVBQVUsQ0FBQyxRQUNkO3dCQUNGLEtBQUssRUFBRSxjQUFjO3dCQUNyQixzQkFBc0IsRUFBRSxVQUFVO3FCQUNyQzs4QkFHUSxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbkRpc2FibGUsIENhbkRpc2FibGVDdG9yLCBtaXhpbkRpc2FibGVkIH0gZnJvbSAnLi4vY29tbW9uLWJlaGF2aW9ycyc7XG5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5leHBvcnQgY2xhc3MgS2JxT3B0Z3JvdXBCYXNlIHt9XG5cbmV4cG9ydCBjb25zdCBLYnFPcHRncm91cE1peGluQmFzZTogQ2FuRGlzYWJsZUN0b3IgJiB0eXBlb2YgS2JxT3B0Z3JvdXBCYXNlID0gbWl4aW5EaXNhYmxlZChLYnFPcHRncm91cEJhc2UpO1xuXG5sZXQgdW5pcXVlT3B0Z3JvdXBJZENvdW50ZXIgPSAwO1xuXG4vKipcbiAqIENvbXBvbmVudCB0aGF0IGlzIHVzZWQgdG8gZ3JvdXAgaW5zdGFuY2VzIG9mIGBrYnEtb3B0aW9uYC5cbiAqIFdoZW4gb3B0aW9ucyBhcmVuJ3QgcHJvdmlkZWQgYXMgYG5nLWNvbnRlbnRgLCB1c2VkIGFzIGEgR3JvdXAgSGVhZGVyIHdpdGggc3R5bGluZy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrYnEtb3B0Z3JvdXAnLFxuICAgIGV4cG9ydEFzOiAna2JxT3B0Z3JvdXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnb3B0Z3JvdXAuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vb3B0Z3JvdXAuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW5wdXRzOiBbJ2Rpc2FibGVkJ10sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2ticS1vcHRncm91cCcsXG4gICAgICAgICdbY2xhc3Mua2JxLWRpc2FibGVkXSc6ICdkaXNhYmxlZCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEticU9wdGdyb3VwIGV4dGVuZHMgS2JxT3B0Z3JvdXBNaXhpbkJhc2UgaW1wbGVtZW50cyBDYW5EaXNhYmxlIHtcbiAgICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqIFVuaXF1ZSBpZCBmb3IgdGhlIHVuZGVybHlpbmcgbGFiZWwuICovXG4gICAgbGFiZWxJZDogc3RyaW5nID0gYGticS1vcHRncm91cC1sYWJlbC0ke3VuaXF1ZU9wdGdyb3VwSWRDb3VudGVyKyt9YDtcbn1cbiIsIjxsYWJlbCBjbGFzcz1cImticS1vcHRncm91cC1sYWJlbFwiIFtpZF09XCJsYWJlbElkXCI+XG4gICAge3sgbGFiZWwgfX1cbjwvbGFiZWw+XG48bmctY29udGVudCBzZWxlY3Q9XCJrYnEtb3B0aW9uLCBrYnEtbGlzdC1vcHRpb24sIGticS10aW1lem9uZS1vcHRpb24sIG5nLWNvbnRhaW5lclwiIC8+XG4iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0Z3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvb3B0aW9uL29wdGdyb3VwLnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL29wdGlvbi9vcHRncm91cC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUUvRyxJQUFJLHVCQUF1QixHQUFHLENBQUMsQ0FBQztBQUVoQzs7O0dBR0c7QUFhSCxNQUFNLE9BQU8sV0FBVztJQVp4QjtRQTBCWSxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRW5DLDBDQUEwQztRQUMxQyxZQUFPLEdBQVcsc0JBQXNCLHVCQUF1QixFQUFFLEVBQUUsQ0FBQztLQUN2RTtJQWZHLElBQ0ksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN2QixJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7aUlBWlEsV0FBVztxSEFBWCxXQUFXLHlGQUdBLGdCQUFnQixvSkN2QnhDLDhLQUlBOzsyRkRnQmEsV0FBVztrQkFadkIsU0FBUzsrQkFDSSxjQUFjLFlBQ2QsYUFBYSxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxjQUFjO3dCQUNyQixzQkFBc0IsRUFBRSxVQUFVO3FCQUNyQzs4QkFHUSxLQUFLO3NCQUFiLEtBQUs7Z0JBR0YsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmxldCB1bmlxdWVPcHRncm91cElkQ291bnRlciA9IDA7XG5cbi8qKlxuICogQ29tcG9uZW50IHRoYXQgaXMgdXNlZCB0byBncm91cCBpbnN0YW5jZXMgb2YgYGticS1vcHRpb25gLlxuICogV2hlbiBvcHRpb25zIGFyZW4ndCBwcm92aWRlZCBhcyBgbmctY29udGVudGAsIHVzZWQgYXMgYSBHcm91cCBIZWFkZXIgd2l0aCBzdHlsaW5nLlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ticS1vcHRncm91cCcsXG4gICAgZXhwb3J0QXM6ICdrYnFPcHRncm91cCcsXG4gICAgdGVtcGxhdGVVcmw6ICdvcHRncm91cC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9vcHRncm91cC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAna2JxLW9wdGdyb3VwJyxcbiAgICAgICAgJ1tjbGFzcy5rYnEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgS2JxT3B0Z3JvdXAge1xuICAgIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBVbmlxdWUgaWQgZm9yIHRoZSB1bmRlcmx5aW5nIGxhYmVsLiAqL1xuICAgIGxhYmVsSWQ6IHN0cmluZyA9IGBrYnEtb3B0Z3JvdXAtbGFiZWwtJHt1bmlxdWVPcHRncm91cElkQ291bnRlcisrfWA7XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJrYnEtb3B0Z3JvdXAtbGFiZWxcIiBbaWRdPVwibGFiZWxJZFwiPlxuICAgIHt7IGxhYmVsIH19XG48L2xhYmVsPlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwia2JxLW9wdGlvbiwga2JxLWxpc3Qtb3B0aW9uLCBrYnEtdGltZXpvbmUtb3B0aW9uLCBuZy1jb250YWluZXJcIiAvPlxuIl19
@@ -224,7 +224,7 @@ export class KbqOption extends KbqOptionBase {
224
224
  provide: KBQ_TITLE_TEXT_REF,
225
225
  useExisting: KbqOption
226
226
  }
227
- ], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["kbqTitleText"], descendants: true }], exportAs: ["kbqOption"], usesInheritance: true, ngImport: i0, template: "@if (showCheckbox) {\n <kbq-pseudo-checkbox [disabled]=\"disabled\" [state]=\"selected ? 'checked' : 'unchecked'\" />\n}\n\n<span #kbqTitleText class=\"kbq-option-text\">\n <ng-content />\n</span>\n", styles: [".kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-option{position:relative;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:32px;gap:var(--kbq-size-s);border:var(--kbq-size-3xs) solid transparent;padding:var(--kbq-size-xxs) calc(var(--kbq-size-m) - var(--kbq-size-3xs));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:var(--kbq-option-border-radius)}.kbq-option .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option .kbq-list-text:empty{display:none}.kbq-option .kbq-list-option-caption{padding-top:var(--kbq-size-3xs)}.kbq-option:not(.kbq-disabled){cursor:pointer}.kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option-text:empty{display:none}.kbq-option{background:var(--kbq-list-default-container-background)}.kbq-option .kbq-option-text{color:var(--kbq-list-default-text-color)}.kbq-option .kbq-option-action .kbq-icon{color:var(--kbq-list-default-icon-button-color)}.kbq-option .kbq-option-caption{color:var(--kbq-list-default-caption-color)}.kbq-option:hover:not(.kbq-disabled){background:var(--kbq-list-states-hover-container-background)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-hover-text-color)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-action .kbq-icon{color:var(--kbq-list-states-hover-icon-button-color)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-hover-caption-color)}.kbq-option.kbq-selected{background:var(--kbq-list-states-selected-container-background)}.kbq-option.kbq-selected .kbq-option-text{color:var(--kbq-list-states-selected-text-color)}.kbq-option.kbq-selected .kbq-option-action .kbq-icon{color:var(--kbq-list-states-selected-icon-button-color)}.kbq-option.kbq-selected .kbq-option-caption{color:var(--kbq-list-states-selected-caption-color)}.kbq-option.kbq-selected:hover:not(.kbq-disabled){background:var(--kbq-list-states-selected-hover-container-background)}.kbq-option.kbq-selected:hover:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-selected-hover-text-color)}.kbq-option.kbq-selected:hover:not(.kbq-disabled) .kbq-option-action .kbq-icon{color:var(--kbq-list-states-selected-hover-icon-button-color)}.kbq-option.kbq-selected:hover:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-selected-hover-caption-color)}.kbq-option.kbq-disabled{background:var(--kbq-list-states-disabled-container-background)}.kbq-option.kbq-disabled .kbq-option-text{color:var(--kbq-list-states-disabled-text-color)}.kbq-option.kbq-disabled .kbq-option-action .kbq-icon{color:var(--kbq-list-states-disabled-icon-button-color)}.kbq-option.kbq-disabled .kbq-option-caption{color:var(--kbq-list-states-disabled-caption-color)}.kbq-option:is(.kbq-selected,.kbq-focused,.kbq-active):has(+:is(.kbq-selected,.kbq-focused,.kbq-active)){border-bottom-left-radius:0;border-bottom-right-radius:0}.kbq-option:is(.kbq-selected,.kbq-focused,.kbq-active)+:is(.kbq-selected,.kbq-focused,.kbq-active){border-top-left-radius:0;border-top-right-radius:0}.cdk-keyboard-focused .kbq-option.kbq-focused,.cdk-keyboard-focused .kbq-option.kbq-active{border-color:var(--kbq-list-states-focused-focus-outline-color)}.kbq-option{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-list-option-caption{font-size:var(--kbq-typography-text-compact-font-size);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-list,.kbq-list-selection{--kbq-list-size-container-padding-left: var(--kbq-size-m);--kbq-list-size-container-padding-right: var(--kbq-size-m);--kbq-list-size-container-padding-vertical: var(--kbq-size-xs);--kbq-list-size-container-content-gap-horizontal: var(--kbq-size-s);--kbq-list-size-container-content-gap-vertical: var(--kbq-size-3xs);--kbq-list-size-container-focus-outline-width: var(--kbq-size-3xs);--kbq-list-size-header-padding-top: var(--kbq-size-s);--kbq-list-size-header-padding-bottom: var(--kbq-size-xxs);--kbq-list-size-header-padding-horizontal: var(--kbq-size-m);--kbq-list-size-subheading-padding-top: var(--kbq-size-m);--kbq-list-size-subheading-padding-bottom: var(--kbq-size-xxs);--kbq-list-size-subheading-padding-horizontal: var(--kbq-size-m);--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: var(--kbq-foreground-contrast);--kbq-list-default-icon-color: var(--kbq-icon-contrast);--kbq-list-default-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-default-caption-color: var(--kbq-foreground-contrast-secondary);--kbq-list-states-hover-container-background: var(--kbq-states-background-transparent-hover);--kbq-list-states-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-container-background: var(--kbq-background-theme-less);--kbq-list-states-selected-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-hover-container-background: var(--kbq-states-background-theme-less-hover);--kbq-list-states-selected-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-list-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-caption-color: var(--kbq-states-foreground-disabled)}.kbq-option{--kbq-option-size-horizontal-padding: var(--kbq-size-m);--kbq-option-size-height: var(--kbq-size-3xl);--kbq-option-size-border-width: 2px;--kbq-option-border-radius: var(--kbq-size-xs)}.kbq-option{--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: var(--kbq-foreground-contrast);--kbq-list-default-icon-color: var(--kbq-icon-contrast);--kbq-list-default-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-default-caption-color: var(--kbq-foreground-contrast-secondary);--kbq-list-states-hover-container-background: var(--kbq-states-background-transparent-hover);--kbq-list-states-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-container-background: var(--kbq-background-theme-less);--kbq-list-states-selected-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-hover-container-background: var(--kbq-states-background-theme-less-hover);--kbq-list-states-selected-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-list-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-caption-color: var(--kbq-states-foreground-disabled)}\n"], dependencies: [{ kind: "component", type: i2.KbqPseudoCheckbox, selector: "kbq-pseudo-checkbox", inputs: ["color", "big", "state", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
227
+ ], viewQueries: [{ propertyName: "textElement", first: true, predicate: ["kbqTitleText"], descendants: true }], exportAs: ["kbqOption"], usesInheritance: true, ngImport: i0, template: "@if (showCheckbox) {\n <kbq-pseudo-checkbox [disabled]=\"disabled\" [state]=\"selected ? 'checked' : 'unchecked'\" />\n}\n\n<span #kbqTitleText class=\"kbq-option-text\">\n <ng-content />\n</span>\n", styles: [".kbq-truncate-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-no-select{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.kbq-option{position:relative;display:flex;flex-direction:row;align-items:center;box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent;min-height:32px;gap:var(--kbq-size-s);border:var(--kbq-size-3xs) solid transparent;padding:var(--kbq-size-xxs) calc(var(--kbq-size-m) - var(--kbq-size-3xs));-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:var(--kbq-option-border-radius)}.kbq-option .kbq-list-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option .kbq-list-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option .kbq-list-text:empty{display:none}.kbq-option .kbq-list-option-caption{padding-top:var(--kbq-size-3xs)}.kbq-option:not(.kbq-disabled){cursor:pointer}.kbq-option-text{display:flex;flex-direction:column;width:100%;box-sizing:content-box;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kbq-option-text>*{margin:0;padding:0;font-weight:400;font-size:inherit}.kbq-option-text:empty{display:none}.kbq-option{background:var(--kbq-list-default-container-background)}.kbq-option .kbq-option-text{color:var(--kbq-list-default-text-color)}.kbq-option .kbq-option-action .kbq-icon{color:var(--kbq-list-default-icon-button-color)}.kbq-option .kbq-option-caption{color:var(--kbq-list-default-caption-color)}.kbq-option:hover:not(.kbq-disabled){background:var(--kbq-list-states-hover-container-background)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-hover-text-color)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-action .kbq-icon{color:var(--kbq-list-states-hover-icon-button-color)}.kbq-option:hover:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-hover-caption-color)}.kbq-option.kbq-selected{background:var(--kbq-list-states-selected-container-background)}.kbq-option.kbq-selected .kbq-option-text{color:var(--kbq-list-states-selected-text-color)}.kbq-option.kbq-selected .kbq-option-action .kbq-icon{color:var(--kbq-list-states-selected-icon-button-color)}.kbq-option.kbq-selected .kbq-option-caption{color:var(--kbq-list-states-selected-caption-color)}.kbq-option.kbq-selected:hover:not(.kbq-disabled){background:var(--kbq-list-states-selected-hover-container-background)}.kbq-option.kbq-selected:hover:not(.kbq-disabled) .kbq-option-text{color:var(--kbq-list-states-selected-hover-text-color)}.kbq-option.kbq-selected:hover:not(.kbq-disabled) .kbq-option-action .kbq-icon{color:var(--kbq-list-states-selected-hover-icon-button-color)}.kbq-option.kbq-selected:hover:not(.kbq-disabled) .kbq-option-caption{color:var(--kbq-list-states-selected-hover-caption-color)}.kbq-option.kbq-disabled{background:var(--kbq-list-states-disabled-container-background)}.kbq-option.kbq-disabled .kbq-option-text{color:var(--kbq-list-states-disabled-text-color)}.kbq-option.kbq-disabled .kbq-option-action .kbq-icon{color:var(--kbq-list-states-disabled-icon-button-color)}.kbq-option.kbq-disabled .kbq-option-caption{color:var(--kbq-list-states-disabled-caption-color)}.kbq-option:is(.kbq-selected,.kbq-focused,.kbq-active):has(+:is(.kbq-selected,.kbq-focused,.kbq-active)){border-bottom-left-radius:0;border-bottom-right-radius:0}.kbq-option:is(.kbq-selected,.kbq-focused,.kbq-active)+:is(.kbq-selected,.kbq-focused,.kbq-active){border-top-left-radius:0;border-top-right-radius:0}.cdk-keyboard-focused .kbq-option.kbq-focused,.cdk-keyboard-focused .kbq-option.kbq-active{border-color:var(--kbq-list-states-focused-focus-outline-color)}.kbq-option{font-size:var(--kbq-typography-text-normal-font-size);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-list-option-caption{font-size:var(--kbq-typography-text-compact-font-size);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ".kbq-list,.kbq-list-selection{--kbq-list-size-container-padding-left: var(--kbq-size-m);--kbq-list-size-container-padding-right: var(--kbq-size-m);--kbq-list-size-container-padding-vertical: var(--kbq-size-xs);--kbq-list-size-container-content-gap-horizontal: var(--kbq-size-s);--kbq-list-size-container-content-gap-vertical: var(--kbq-size-3xs);--kbq-list-size-container-focus-outline-width: var(--kbq-size-3xs);--kbq-list-size-header-padding-top: var(--kbq-size-s);--kbq-list-size-header-padding-bottom: var(--kbq-size-xxs);--kbq-list-size-header-padding-horizontal: var(--kbq-size-m);--kbq-list-size-subheading-padding-top: var(--kbq-size-m);--kbq-list-size-subheading-padding-bottom: var(--kbq-size-xxs);--kbq-list-size-subheading-padding-horizontal: var(--kbq-size-m);--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: var(--kbq-foreground-contrast);--kbq-list-default-icon-color: var(--kbq-icon-contrast);--kbq-list-default-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-default-caption-color: var(--kbq-foreground-contrast-secondary);--kbq-list-states-hover-container-background: var(--kbq-states-background-transparent-hover);--kbq-list-states-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-container-background: var(--kbq-background-theme-less);--kbq-list-states-selected-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-hover-container-background: var(--kbq-states-background-theme-less-hover);--kbq-list-states-selected-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-list-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-caption-color: var(--kbq-states-foreground-disabled)}.kbq-option{--kbq-option-size-horizontal-padding: var(--kbq-size-m);--kbq-option-size-height: var(--kbq-size-3xl);--kbq-option-size-border-width: 2px;--kbq-option-border-radius: var(--kbq-size-xs)}.kbq-option{--kbq-list-default-container-background: transparent;--kbq-list-default-text-color: var(--kbq-foreground-contrast);--kbq-list-default-icon-color: var(--kbq-icon-contrast);--kbq-list-default-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-default-caption-color: var(--kbq-foreground-contrast-secondary);--kbq-list-states-hover-container-background: var(--kbq-states-background-transparent-hover);--kbq-list-states-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-container-background: var(--kbq-background-theme-less);--kbq-list-states-selected-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-selected-hover-container-background: var(--kbq-states-background-theme-less-hover);--kbq-list-states-selected-hover-text-color: var(--kbq-foreground-contrast);--kbq-list-states-selected-hover-icon-color: var(--kbq-icon-contrast);--kbq-list-states-selected-hover-icon-button-color: var(--kbq-icon-contrast-fade);--kbq-list-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme);--kbq-list-states-disabled-container-background: transparent;--kbq-list-states-disabled-text-color: var(--kbq-states-foreground-disabled);--kbq-list-states-disabled-icon-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-list-states-disabled-caption-color: var(--kbq-states-foreground-disabled)}\n"], dependencies: [{ kind: "component", type: i2.KbqPseudoCheckbox, selector: "kbq-pseudo-checkbox", inputs: ["big", "state", "disabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
228
228
  }
229
229
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: KbqOption, decorators: [{
230
230
  type: Component,
@@ -248,4 +248,4 @@ function baseValues(object, props) {
248
248
  function objectValues(object) {
249
249
  return object === null ? [] : baseValues(object, Object.keys(object));
250
250
  }
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1wb3NpdGlvbi1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvb3ZlcmxheS9vdmVybGF5LXBvc2l0aW9uLW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBCLE9BQU8sRUFBa0IsTUFBTSxzQkFBc0IsQ0FBQztBQUd2RixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQThDO0lBQ25FLEdBQUcsRUFBRTtRQUNELE9BQU8sRUFBRSxRQUFRO1FBQ2pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsUUFBUSxFQUFFLFFBQVE7S0FDckI7SUFDRCxTQUFTLEVBQUU7UUFDUCxPQUFPLEVBQUUsUUFBUTtRQUNqQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFFBQVEsRUFBRSxRQUFRO0tBQ3JCO0lBQ0QsT0FBTyxFQUFFO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsT0FBTztRQUNqQixRQUFRLEVBQUUsUUFBUTtLQUNyQjtJQUNELFFBQVEsRUFBRTtRQUNOLE9BQU8sRUFBRSxLQUFLO1FBQ2QsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsS0FBSztRQUNmLFFBQVEsRUFBRSxRQUFRO0tBQ3JCO0lBQ0QsS0FBSyxFQUFFO1FBQ0gsT0FBTyxFQUFFLEtBQUs7UUFDZCxPQUFPLEVBQUUsUUFBUTtRQUNqQixRQUFRLEVBQUUsT0FBTztRQUNqQixRQUFRLEVBQUUsUUFBUTtLQUNyQjtJQUNELFFBQVEsRUFBRTtRQUNOLE9BQU8sRUFBRSxLQUFLO1FBQ2QsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsT0FBTztRQUNqQixRQUFRLEVBQUUsS0FBSztLQUNsQjtJQUNELFdBQVcsRUFBRTtRQUNULE9BQU8sRUFBRSxLQUFLO1FB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LENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFDRCxTQUFTLFVBQVUsQ0FBSSxNQUFXLEVBQUUsS0FBZTtJQUMvQyxPQUFPLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFDRCxTQUFTLFlBQVksQ0FBSSxNQUFXO0lBQ2hDLE9BQU8sTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUMxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvblBvc2l0aW9uUGFpciwgT3ZlcmxheSwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgUE9TSVRJT05fTUFQOiB7IFtrZXk6IHN0cmluZ106IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIgfSA9IHtcbiAgICB0b3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgIH0sXG4gICAgdG9wQ2VudGVyOiB7XG4gICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIHRvcExlZnQ6IHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIHRvcFJpZ2h0OiB7XG4gICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIHJpZ2h0OiB7XG4gICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJ1xuICAgIH0sXG4gICAgcmlnaHRUb3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICByaWdodEJvdHRvbToge1xuICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIGJvdHRvbToge1xuICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICBib3R0b21DZW50ZXI6IHtcbiAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgYm90dG9tTGVmdDoge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgYm90dG9tUmlnaHQ6IHtcbiAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgbGVmdDoge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICBvdmVybGF5WTogJ2NlbnRlcidcbiAgICB9LFxuICAgIGxlZnRUb3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICBsZWZ0Qm90dG9tOiB7XG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBFWFRFTkRFRF9PVkVSTEFZX1BPU0lUSU9OUyA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLnRvcCxcbiAgICBQT1NJVElPTl9NQVAudG9wTGVmdCxcbiAgICBQT1NJVElPTl9NQVAudG9wUmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcCxcbiAgICBQT1NJVElPTl9NQVAucmlnaHRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tTGVmdCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRUb3AsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b21cbl0pO1xuXG5leHBvcnQgY29uc3QgVE9QX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAudG9wLFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b20sXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAubGVmdEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tTGVmdCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHRcbl0pO1xuXG5leHBvcnQgY29uc3QgQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC50b3AsXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLnRvcFJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAubGVmdEJvdHRvbVxuXSk7XG5cbmV4cG9ydCBjb25zdCBSSUdIVF9QT1NJVElPTl9QUklPUklUWSA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0LFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0Qm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC50b3AsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVxuXSk7XG5cbmV4cG9ydCBjb25zdCBMRUZUX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAubGVmdCxcbiAgICBQT1NJVElPTl9NQVAucmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAudG9wLFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b21cbl0pO1xuXG5leHBvcnQgY29uc3QgUklHSFRfVE9QX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAucmlnaHRUb3AsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRUb3AsXG4gICAgUE9TSVRJT05fTUFQLmxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnRcbl0pO1xuXG5leHBvcnQgY29uc3QgUklHSFRfQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAucmlnaHRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRUb3AsXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnRcbl0pO1xuXG5leHBvcnQgY29uc3QgTEVGVF9UT1BfUE9TSVRJT05fUFJJT1JJVFkgPSBvYmplY3RWYWx1ZXMoW1xuICAgIFBPU0lUSU9OX01BUC5sZWZ0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcCxcbiAgICBQT1NJVElPTl9NQVAucmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0Qm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHRcbl0pO1xuXG5leHBvcnQgY29uc3QgTEVGVF9CT1RUT01fUE9TSVRJT05fUFJJT1JJVFkgPSBvYmplY3RWYWx1ZXMoW1xuICAgIFBPU0lUSU9OX01BUC5sZWZ0Qm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAucmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0VG9wLFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHRcbl0pO1xuXG5leHBvcnQgY29uc3QgVE9QX0xFRlRfUE9TSVRJT05fUFJJT1JJVFkgPSBvYmplY3RWYWx1ZXMoW1xuICAgIFBPU0lUSU9OX01BUC50b3BMZWZ0LFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tTGVmdCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b21SaWdodCxcbiAgICBQT1NJVElPTl9NQVAubGVmdEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAucmlnaHRCb3R0b21cbl0pO1xuXG5leHBvcnQgY29uc3QgVE9QX1JJR0hUX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAudG9wUmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0Qm90dG9tXG5dKTtcblxuZXhwb3J0IGNvbnN0IEJPVFRPTV9SSUdIVF9QT1NJVElPTl9QUklPUklUWSA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b21MZWZ0LFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAudG9wLFxuICAgIFBPU0lUSU9OX01BUC50b3BMZWZ0LFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcFxuXSk7XG5cbmV4cG9ydCBjb25zdCBCT1RUT01fTEVGVF9QT1NJVElPTl9QUklPUklUWSA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC50b3BMZWZ0LFxuICAgIFBPU0lUSU9OX01BUC50b3AsXG4gICAgUE9TSVRJT05fTUFQLnRvcFJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcCxcbiAgICBQT1NJVElPTl9NQVAubGVmdFRvcFxuXSk7XG5cbmV4cG9ydCBjb25zdCBQT1NJVElPTl9QUklPUklUWV9TVFJBVEVHWSA9IHtcbiAgICB0b3A6IFRPUF9QT1NJVElPTl9QUklPUklUWSxcbiAgICB0b3BMZWZ0OiBUT1BfTEVGVF9QT1NJVElPTl9QUklPUklUWSxcbiAgICB0b3BSaWdodDogVE9QX1JJR0hUX1BPU0lUSU9OX1BSSU9SSVRZLFxuICAgIGJvdHRvbTogQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZLFxuICAgIGJvdHRvbUxlZnQ6IEJPVFRPTV9MRUZUX1BPU0lUSU9OX1BSSU9SSVRZLFxuICAgIGJvdHRvbVJpZ2h0OiBCT1RUT01fUklHSFRfUE9TSVRJT05fUFJJT1JJVFksXG4gICAgbGVmdDogTEVGVF9QT1NJVElPTl9QUklPUklUWSxcbiAgICBsZWZ0VG9wOiBMRUZUX1RPUF9QT1NJVElPTl9QUklPUklUWSxcbiAgICBsZWZ0Qm90dG9tOiBMRUZUX0JPVFRPTV9QT1NJVElPTl9QUklPUklUWSxcbiAgICByaWdodDogUklHSFRfUE9TSVRJT05fUFJJT1JJVFksXG4gICAgcmlnaHRUb3A6IFJJR0hUX1RPUF9QT1NJVElPTl9QUklPUklUWSxcbiAgICByaWdodEJvdHRvbTogUklHSFRfQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZXG59O1xuXG5leHBvcnQgY29uc3QgUE9TSVRJT05fVE9fQ1NTX01BUDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICB0b3A6ICd0b3AnLFxuICAgIHRvcExlZnQ6ICd0b3AtbGVmdCcsXG4gICAgdG9wUmlnaHQ6ICd0b3AtcmlnaHQnLFxuICAgIHJpZ2h0OiAncmlnaHQnLFxuICAgIHJpZ2h0VG9wOiAncmlnaHQtdG9wJyxcbiAgICByaWdodEJvdHRvbTogJ3JpZ2h0LWJvdHRvbScsXG4gICAgbGVmdDogJ2xlZnQnLFxuICAgIGxlZnRUb3A6ICdsZWZ0LXRvcCcsXG4gICAgbGVmdEJvdHRvbTogJ2xlZnQtYm90dG9tJyxcbiAgICBib3R0b206ICdib3R0b20nLFxuICAgIGJvdHRvbUxlZnQ6ICdib3R0b20tbGVmdCcsXG4gICAgYm90dG9tUmlnaHQ6ICdib3R0b20tcmlnaHQnXG59O1xuXG5leHBvcnQgY29uc3QgS0JRX0NVU1RPTV9TQ1JPTExfU1RSQVRFR1lfUFJPVklERVIgPSA8VD4oXG4gICAgdG9rZW46IEluamVjdGlvblRva2VuPFQ+LFxuICAgIGZhY3Rvcnk6IChvdmVybGF5OiBPdmVybGF5KSA9PiAoKSA9PiBTY3JvbGxTdHJhdGVneVxuKSA9PiAoe1xuICAgIHByb3ZpZGU6IHRva2VuLFxuICAgIGRlcHM6IFtPdmVybGF5XSxcbiAgICB1c2VGYWN0b3J5OiBmYWN0b3J5XG59KTtcblxuZnVuY3Rpb24gYXJyYXlNYXA8VCwgUz4oYXJyYXk6IFRbXSwgaXRlcmF0ZWU6IChpdGVtOiBULCBpbmRleDogbnVtYmVyLCBhcnI6IFRbXSkgPT4gUyk6IFNbXSB7XG4gICAgbGV0IGluZGV4ID0gLTE7XG4gICAgY29uc3QgbGVuZ3RoID0gYXJyYXkgPT09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgIGNvbnN0IHJlc3VsdCA9IEFycmF5KGxlbmd0aCk7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICByZXN1bHRbaW5kZXhdID0gaXRlcmF0ZWUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBiYXNlVmFsdWVzPFQ+KG9iamVjdDogVFtdLCBwcm9wczogc3RyaW5nW10pOiBUW10ge1xuICAgIHJldHVybiBhcnJheU1hcChwcm9wcywgKGtleSkgPT4gb2JqZWN0W2tleV0pO1xufVxuZnVuY3Rpb24gb2JqZWN0VmFsdWVzPFQ+KG9iamVjdDogVFtdKTogVFtdIHtcbiAgICByZXR1cm4gb2JqZWN0ID09PSBudWxsID8gW10gOiBiYXNlVmFsdWVzKG9iamVjdCwgT2JqZWN0LmtleXMob2JqZWN0KSk7XG59XG4iXX0=
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1wb3NpdGlvbi1tYXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvb3ZlcmxheS9vdmVybGF5LXBvc2l0aW9uLW1hcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBCLE9BQU8sRUFBa0IsTUFBTSxzQkFBc0IsQ0FBQztBQUd2RixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQThDO0lBQ25FLEdBQUcsRUFBRTtRQUNELE9BQU8sRUFBRSxRQUFRO1FBQ2pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsUUFBUSxFQUFFLFFBQVE7UUFDbEIsUUFBUSxFQUFFLFFBQVE7S0FDckI7SUFDRCxTQUFTLEVBQUU7UUFDUCxPQUFPLEVBQUUsUUFBUTtRQUNqQixPQUFPLEVBQUUsS0FBSztRQUNkLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFFBQVEsRUFBRSxRQUFRO0tBQ3JCO0lBQ0QsT0FBTyxFQUFFO1FBQ0wsT0FBTyxFQUFFLE9BQU87UUFDaEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsT0FBTztRQUNqQixRQUFRLEVBQUUsUUFBUTtLQUNyQjtJQUNELFFBQVEsRUFBRTtRQUNOLE9BQU8sRUFBRSxLQUFLO1FBQ2QsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsS0FBSztRQUNmLFFBQVEsRUFBRSxRQUFRO0tBQ3JCO0lBQ0QsS0FBSyxFQUFFO1FBQ0gsT0FBTyxFQUFFLEtBQUs7UUFDZCxPQUFPLEVBQUUsUUFBUTtRQUNqQixRQUFRLEVBQUUsT0FBTztRQUNqQixRQUFRLEVBQUUsUUFBUTtLQUNyQjtJQUNELFFBQVEsRUFBRTtRQUNOLE9BQU8sRUFBRSxLQUFLO1FBQ2QsT0FBTyxFQUFFLEtBQUs7UUFDZCxRQUFRLEVBQUUsT0FBTztRQUNqQixRQUFRLEVBQUUsS0FBSztLQUNsQjtJQUNELFdBQVcsRUFBRTtRQUNULE9BQU8sRUFBRSxLQUFLO1FB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LENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBSSxNQUFXLEVBQUUsS0FBZTtJQUMvQyxPQUFPLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2pELENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBSSxNQUFXO0lBQ2hDLE9BQU8sTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUMxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvblBvc2l0aW9uUGFpciwgT3ZlcmxheSwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgUE9TSVRJT05fTUFQOiB7IFtrZXk6IHN0cmluZ106IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIgfSA9IHtcbiAgICB0b3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgIH0sXG4gICAgdG9wQ2VudGVyOiB7XG4gICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIHRvcExlZnQ6IHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIHRvcFJpZ2h0OiB7XG4gICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIHJpZ2h0OiB7XG4gICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJ1xuICAgIH0sXG4gICAgcmlnaHRUb3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICByaWdodEJvdHRvbToge1xuICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICB9LFxuICAgIGJvdHRvbToge1xuICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICBib3R0b21DZW50ZXI6IHtcbiAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgYm90dG9tTGVmdDoge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgYm90dG9tUmlnaHQ6IHtcbiAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgIH0sXG4gICAgbGVmdDoge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICBvdmVybGF5WTogJ2NlbnRlcidcbiAgICB9LFxuICAgIGxlZnRUb3A6IHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgfSxcbiAgICBsZWZ0Qm90dG9tOiB7XG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBFWFRFTkRFRF9PVkVSTEFZX1BPU0lUSU9OUyA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLnRvcCxcbiAgICBQT1NJVElPTl9NQVAudG9wTGVmdCxcbiAgICBQT1NJVElPTl9NQVAudG9wUmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcCxcbiAgICBQT1NJVElPTl9NQVAucmlnaHRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tTGVmdCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRUb3AsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b21cbl0pO1xuXG5leHBvcnQgY29uc3QgVE9QX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAudG9wLFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b20sXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAubGVmdEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tTGVmdCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHRcbl0pO1xuXG5leHBvcnQgY29uc3QgQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC50b3AsXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLnRvcFJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAubGVmdEJvdHRvbVxuXSk7XG5cbmV4cG9ydCBjb25zdCBSSUdIVF9QT1NJVElPTl9QUklPUklUWSA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0LFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0Qm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC50b3AsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVxuXSk7XG5cbmV4cG9ydCBjb25zdCBMRUZUX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAubGVmdCxcbiAgICBQT1NJVElPTl9NQVAucmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAudG9wLFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b21cbl0pO1xuXG5leHBvcnQgY29uc3QgUklHSFRfVE9QX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAucmlnaHRUb3AsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRUb3AsXG4gICAgUE9TSVRJT05fTUFQLmxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnRcbl0pO1xuXG5leHBvcnQgY29uc3QgUklHSFRfQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAucmlnaHRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRUb3AsXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnRcbl0pO1xuXG5leHBvcnQgY29uc3QgTEVGVF9UT1BfUE9TSVRJT05fUFJJT1JJVFkgPSBvYmplY3RWYWx1ZXMoW1xuICAgIFBPU0lUSU9OX01BUC5sZWZ0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcCxcbiAgICBQT1NJVElPTl9NQVAucmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0Qm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHRcbl0pO1xuXG5leHBvcnQgY29uc3QgTEVGVF9CT1RUT01fUE9TSVRJT05fUFJJT1JJVFkgPSBvYmplY3RWYWx1ZXMoW1xuICAgIFBPU0lUSU9OX01BUC5sZWZ0Qm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAucmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0VG9wLFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tUmlnaHRcbl0pO1xuXG5leHBvcnQgY29uc3QgVE9QX0xFRlRfUE9TSVRJT05fUFJJT1JJVFkgPSBvYmplY3RWYWx1ZXMoW1xuICAgIFBPU0lUSU9OX01BUC50b3BMZWZ0LFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tTGVmdCxcbiAgICBQT1NJVElPTl9NQVAuYm90dG9tLFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b21SaWdodCxcbiAgICBQT1NJVElPTl9NQVAubGVmdEJvdHRvbSxcbiAgICBQT1NJVElPTl9NQVAucmlnaHRCb3R0b21cbl0pO1xuXG5leHBvcnQgY29uc3QgVE9QX1JJR0hUX1BPU0lUSU9OX1BSSU9SSVRZID0gb2JqZWN0VmFsdWVzKFtcbiAgICBQT1NJVElPTl9NQVAudG9wUmlnaHQsXG4gICAgUE9TSVRJT05fTUFQLnRvcExlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b20sXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmxlZnRCb3R0b20sXG4gICAgUE9TSVRJT05fTUFQLnJpZ2h0Qm90dG9tXG5dKTtcblxuZXhwb3J0IGNvbnN0IEJPVFRPTV9SSUdIVF9QT1NJVElPTl9QUklPUklUWSA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5ib3R0b21MZWZ0LFxuICAgIFBPU0lUSU9OX01BUC50b3BSaWdodCxcbiAgICBQT1NJVElPTl9NQVAudG9wLFxuICAgIFBPU0lUSU9OX01BUC50b3BMZWZ0LFxuICAgIFBPU0lUSU9OX01BUC5sZWZ0VG9wLFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcFxuXSk7XG5cbmV4cG9ydCBjb25zdCBCT1RUT01fTEVGVF9QT1NJVElPTl9QUklPUklUWSA9IG9iamVjdFZhbHVlcyhbXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbUxlZnQsXG4gICAgUE9TSVRJT05fTUFQLmJvdHRvbVJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC50b3BMZWZ0LFxuICAgIFBPU0lUSU9OX01BUC50b3AsXG4gICAgUE9TSVRJT05fTUFQLnRvcFJpZ2h0LFxuICAgIFBPU0lUSU9OX01BUC5yaWdodFRvcCxcbiAgICBQT1NJVElPTl9NQVAubGVmdFRvcFxuXSk7XG5cbmV4cG9ydCBjb25zdCBQT1NJVElPTl9QUklPUklUWV9TVFJBVEVHWSA9IHtcbiAgICB0b3A6IFRPUF9QT1NJVElPTl9QUklPUklUWSxcbiAgICB0b3BMZWZ0OiBUT1BfTEVGVF9QT1NJVElPTl9QUklPUklUWSxcbiAgICB0b3BSaWdodDogVE9QX1JJR0hUX1BPU0lUSU9OX1BSSU9SSVRZLFxuICAgIGJvdHRvbTogQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZLFxuICAgIGJvdHRvbUxlZnQ6IEJPVFRPTV9MRUZUX1BPU0lUSU9OX1BSSU9SSVRZLFxuICAgIGJvdHRvbVJpZ2h0OiBCT1RUT01fUklHSFRfUE9TSVRJT05fUFJJT1JJVFksXG4gICAgbGVmdDogTEVGVF9QT1NJVElPTl9QUklPUklUWSxcbiAgICBsZWZ0VG9wOiBMRUZUX1RPUF9QT1NJVElPTl9QUklPUklUWSxcbiAgICBsZWZ0Qm90dG9tOiBMRUZUX0JPVFRPTV9QT1NJVElPTl9QUklPUklUWSxcbiAgICByaWdodDogUklHSFRfUE9TSVRJT05fUFJJT1JJVFksXG4gICAgcmlnaHRUb3A6IFJJR0hUX1RPUF9QT1NJVElPTl9QUklPUklUWSxcbiAgICByaWdodEJvdHRvbTogUklHSFRfQk9UVE9NX1BPU0lUSU9OX1BSSU9SSVRZXG59O1xuXG5leHBvcnQgY29uc3QgUE9TSVRJT05fVE9fQ1NTX01BUDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICB0b3A6ICd0b3AnLFxuICAgIHRvcExlZnQ6ICd0b3AtbGVmdCcsXG4gICAgdG9wUmlnaHQ6ICd0b3AtcmlnaHQnLFxuICAgIHJpZ2h0OiAncmlnaHQnLFxuICAgIHJpZ2h0VG9wOiAncmlnaHQtdG9wJyxcbiAgICByaWdodEJvdHRvbTogJ3JpZ2h0LWJvdHRvbScsXG4gICAgbGVmdDogJ2xlZnQnLFxuICAgIGxlZnRUb3A6ICdsZWZ0LXRvcCcsXG4gICAgbGVmdEJvdHRvbTogJ2xlZnQtYm90dG9tJyxcbiAgICBib3R0b206ICdib3R0b20nLFxuICAgIGJvdHRvbUxlZnQ6ICdib3R0b20tbGVmdCcsXG4gICAgYm90dG9tUmlnaHQ6ICdib3R0b20tcmlnaHQnXG59O1xuXG5leHBvcnQgY29uc3QgS0JRX0NVU1RPTV9TQ1JPTExfU1RSQVRFR1lfUFJPVklERVIgPSA8VD4oXG4gICAgdG9rZW46IEluamVjdGlvblRva2VuPFQ+LFxuICAgIGZhY3Rvcnk6IChvdmVybGF5OiBPdmVybGF5KSA9PiAoKSA9PiBTY3JvbGxTdHJhdGVneVxuKSA9PiAoe1xuICAgIHByb3ZpZGU6IHRva2VuLFxuICAgIGRlcHM6IFtPdmVybGF5XSxcbiAgICB1c2VGYWN0b3J5OiBmYWN0b3J5XG59KTtcblxuZnVuY3Rpb24gYXJyYXlNYXA8VCwgUz4oYXJyYXk6IFRbXSwgaXRlcmF0ZWU6IChpdGVtOiBULCBpbmRleDogbnVtYmVyLCBhcnI6IFRbXSkgPT4gUyk6IFNbXSB7XG4gICAgbGV0IGluZGV4ID0gLTE7XG4gICAgY29uc3QgbGVuZ3RoID0gYXJyYXkgPT09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgIGNvbnN0IHJlc3VsdCA9IEFycmF5KGxlbmd0aCk7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICByZXN1bHRbaW5kZXhdID0gaXRlcmF0ZWUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGJhc2VWYWx1ZXM8VD4ob2JqZWN0OiBUW10sIHByb3BzOiBzdHJpbmdbXSk6IFRbXSB7XG4gICAgcmV0dXJuIGFycmF5TWFwKHByb3BzLCAoa2V5KSA9PiBvYmplY3Rba2V5XSk7XG59XG5cbmZ1bmN0aW9uIG9iamVjdFZhbHVlczxUPihvYmplY3Q6IFRbXSk6IFRbXSB7XG4gICAgcmV0dXJuIG9iamVjdCA9PT0gbnVsbCA/IFtdIDogYmFzZVZhbHVlcyhvYmplY3QsIE9iamVjdC5rZXlzKG9iamVjdCkpO1xufVxuIl19