@leanix/components 0.4.21 → 0.4.22

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 (231) hide show
  1. package/{esm2020 → esm2022}/lib/core-ui/components/badge/badge.component.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/core-ui/components/button/button.component.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/core-ui/components/button-group/button-group.component.mjs +4 -4
  4. package/{esm2020 → esm2022}/lib/core-ui/components/card/card.component.mjs +4 -4
  5. package/{esm2020 → esm2022}/lib/core-ui/components/collapsible/collapsible.component.mjs +4 -4
  6. package/{esm2020 → esm2022}/lib/core-ui/components/colored-label/colored-label.component.mjs +4 -4
  7. package/esm2022/lib/core-ui/components/ellipsis/ellipsis.component.mjs +139 -0
  8. package/{esm2020 → esm2022}/lib/core-ui/components/file-download-button/file-download-button.component.mjs +4 -4
  9. package/{esm2020 → esm2022}/lib/core-ui/components/icon-scale/icon-scale.component.mjs +4 -4
  10. package/{esm2020 → esm2022}/lib/core-ui/components/spinner/spinner.component.mjs +4 -4
  11. package/{esm2020 → esm2022}/lib/core-ui/components/table/table-header/table-header.component.mjs +4 -4
  12. package/{esm2020 → esm2022}/lib/core-ui/components/table/table.component.mjs +4 -4
  13. package/{esm2020 → esm2022}/lib/core-ui/components/tiny-spinner/tiny-spinner.component.mjs +4 -4
  14. package/{esm2020 → esm2022}/lib/core-ui/core-ui.module.mjs +72 -72
  15. package/{esm2020 → esm2022}/lib/core-ui/directives/after-view-init.directive.mjs +4 -4
  16. package/{esm2020 → esm2022}/lib/core-ui/directives/autoclose-group.service.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/core-ui/directives/autoclose.directive.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/core-ui/directives/autofocus.directive.mjs +4 -4
  19. package/{esm2020 → esm2022}/lib/core-ui/directives/html.directive.mjs +4 -4
  20. package/esm2022/lib/core-ui/linkify/linkify.pipe.mjs +144 -0
  21. package/{esm2020 → esm2022}/lib/core-ui/linkify/unlinkify.pipe.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/core-ui/pipes/br.pipe.mjs +4 -4
  23. package/{esm2020 → esm2022}/lib/core-ui/pipes/contrast-color.pipe.mjs +4 -4
  24. package/{esm2020 → esm2022}/lib/core-ui/pipes/custom-date.pipe.mjs +4 -4
  25. package/{esm2020 → esm2022}/lib/core-ui/pipes/highlight-range.pipe.mjs +4 -4
  26. package/{esm2020 → esm2022}/lib/core-ui/pipes/highlight-term.pipe.mjs +4 -4
  27. package/{esm2020 → esm2022}/lib/core-ui/pipes/lx-is-uuid.pipe.mjs +4 -4
  28. package/{esm2020 → esm2022}/lib/core-ui/pipes/lx-time-ago.pipe.mjs +4 -4
  29. package/{esm2020 → esm2022}/lib/core-ui/pipes/lx-translate.pipe.mjs +5 -5
  30. package/{esm2020 → esm2022}/lib/core-ui/pipes/markdown.pipe.mjs +4 -4
  31. package/{esm2020 → esm2022}/lib/core-ui/pipes/nbsp.pipe.mjs +4 -4
  32. package/{esm2020 → esm2022}/lib/core-ui/pipes/sort.pipe.mjs +4 -4
  33. package/{esm2020 → esm2022}/lib/core-ui/pipes/translation-after.pipe.mjs +4 -4
  34. package/{esm2020 → esm2022}/lib/core-ui/pipes/translation-before.pipe.mjs +4 -4
  35. package/{esm2020 → esm2022}/lib/core-ui/pipes/translation-between.pipe.mjs +4 -4
  36. package/{esm2020 → esm2022}/lib/core-ui/pipes/unescape-curly-braces.pipe.mjs +4 -4
  37. package/{esm2020 → esm2022}/lib/core-ui/services/resize-observer.service.mjs +4 -4
  38. package/{esm2020 → esm2022}/lib/core-ui/tooltip/tooltip.component.mjs +4 -4
  39. package/esm2022/lib/core-ui/tooltip/tooltip.directive.mjs +105 -0
  40. package/{esm2020 → esm2022}/lib/core-ui/tooltip/tooltip.module.mjs +5 -5
  41. package/esm2022/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.mjs +120 -0
  42. package/{esm2020 → esm2022}/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.mjs +4 -4
  43. package/{esm2020 → esm2022}/lib/forms-ui/components/breadcrumb/breadcrumb.component.mjs +4 -4
  44. package/esm2022/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.mjs +216 -0
  45. package/{esm2020 → esm2022}/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.mjs +4 -4
  46. package/{esm2020 → esm2022}/lib/forms-ui/components/copy-button/copy-button.component.mjs +4 -4
  47. package/esm2022/lib/forms-ui/components/currency/currency-input.component.mjs +145 -0
  48. package/{esm2020 → esm2022}/lib/forms-ui/components/currency/currency-symbol.component.mjs +4 -4
  49. package/{esm2020 → esm2022}/lib/forms-ui/components/date-input/date-input.component.mjs +7 -7
  50. package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.mjs +6 -6
  51. package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker-ui.module.mjs +27 -0
  52. package/esm2022/lib/forms-ui/components/date-picker-ui/datepicker.component.mjs +205 -0
  53. package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/datepicker.config.mjs +4 -4
  54. package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/daypicker.component.mjs +6 -6
  55. package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/monthpicker.component.mjs +6 -6
  56. package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/yearpicker.component.mjs +6 -6
  57. package/esm2022/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.mjs +49 -0
  58. package/{esm2020 → esm2022}/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.mjs +4 -4
  59. package/{esm2020 → esm2022}/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.module.mjs +5 -5
  60. package/esm2022/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.mjs +134 -0
  61. package/{esm2020 → esm2022}/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.mjs +4 -4
  62. package/{esm2020 → esm2022}/lib/forms-ui/components/error-message/error-message.component.mjs +7 -7
  63. package/{esm2020 → esm2022}/lib/forms-ui/components/expanded-dropdown/expanded-dropdown.component.mjs +4 -4
  64. package/{esm2020 → esm2022}/lib/forms-ui/components/form-error/form-error.component.mjs +4 -4
  65. package/{esm2020 → esm2022}/lib/forms-ui/components/icon/icon.component.mjs +4 -4
  66. package/{esm2020 → esm2022}/lib/forms-ui/components/input/input.component.mjs +4 -4
  67. package/{esm2020 → esm2022}/lib/forms-ui/components/keyboard-select.directive.mjs +4 -4
  68. package/esm2022/lib/forms-ui/components/multi-select/multi-select.component.mjs +255 -0
  69. package/esm2022/lib/forms-ui/components/option/option.component.mjs +84 -0
  70. package/{esm2020 → esm2022}/lib/forms-ui/components/option-group/option-group.component.mjs +4 -4
  71. package/{esm2020 → esm2022}/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.mjs +4 -4
  72. package/esm2022/lib/forms-ui/components/options-dropdown/options-dropdown.component.mjs +185 -0
  73. package/{esm2020 → esm2022}/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.mjs +4 -4
  74. package/{esm2020 → esm2022}/lib/forms-ui/components/picker/picker-trigger.directive.mjs +7 -7
  75. package/{esm2020 → esm2022}/lib/forms-ui/components/picker/picker.component.mjs +19 -19
  76. package/esm2022/lib/forms-ui/components/picker-option/picker-option.component.mjs +118 -0
  77. package/{esm2020 → esm2022}/lib/forms-ui/components/pill-item/pill-item.component.mjs +4 -4
  78. package/{esm2020 → esm2022}/lib/forms-ui/components/pill-list/pill-list.component.mjs +4 -4
  79. package/esm2022/lib/forms-ui/components/responsive-input/responsive-input.component.mjs +100 -0
  80. package/{esm2020 → esm2022}/lib/forms-ui/components/select-list/select-list.component.mjs +4 -4
  81. package/esm2022/lib/forms-ui/components/single-select/single-select.component.mjs +279 -0
  82. package/{esm2020 → esm2022}/lib/forms-ui/components/slider-toggle/slider-toggle.component.mjs +4 -4
  83. package/{esm2020 → esm2022}/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.mjs +4 -4
  84. package/{esm2020 → esm2022}/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.mjs +4 -4
  85. package/esm2022/lib/forms-ui/directives/contenteditable.directive.mjs +129 -0
  86. package/esm2022/lib/forms-ui/directives/form-error.directive.mjs +109 -0
  87. package/{esm2020 → esm2022}/lib/forms-ui/directives/form-submit.directive.mjs +4 -4
  88. package/{esm2020 → esm2022}/lib/forms-ui/directives/keyboard-action-source.directive.mjs +4 -4
  89. package/{esm2020 → esm2022}/lib/forms-ui/directives/mark-invalid.directive.mjs +4 -4
  90. package/{esm2020 → esm2022}/lib/forms-ui/directives/select-dropdown.directive.mjs +4 -4
  91. package/{esm2020 → esm2022}/lib/forms-ui/directives/selectable-item.directive.mjs +7 -7
  92. package/{esm2020 → esm2022}/lib/forms-ui/directives/selected-option.directive.mjs +4 -4
  93. package/{esm2020 → esm2022}/lib/forms-ui/forms-ui.module.mjs +102 -102
  94. package/{esm2020 → esm2022}/lib/forms-ui/models/base-select.directive.mjs +4 -4
  95. package/{esm2020 → esm2022}/lib/forms-ui/pipes/filter-selection.pipe.mjs +4 -4
  96. package/{esm2020 → esm2022}/lib/forms-ui/pipes/filter-term.pipe.mjs +4 -4
  97. package/{esm2020 → esm2022}/lib/forms-ui/pipes/format-number.pipe.mjs +4 -4
  98. package/esm2022/lib/modal-ui/components/modal/modal.component.mjs +213 -0
  99. package/{esm2020 → esm2022}/lib/modal-ui/components/modal-footer/modal-footer.component.mjs +4 -4
  100. package/{esm2020 → esm2022}/lib/modal-ui/components/modal-header/modal-header.component.mjs +4 -4
  101. package/{esm2020 → esm2022}/lib/modal-ui/directives/modal-content.directive.mjs +4 -4
  102. package/{esm2020 → esm2022}/lib/modal-ui/modal.module.mjs +5 -5
  103. package/{esm2020 → esm2022}/lib/popover-ui/components/popover/popover.component.mjs +4 -4
  104. package/{esm2020 → esm2022}/lib/popover-ui/directives/popover-click.directive.mjs +4 -4
  105. package/{esm2020 → esm2022}/lib/popover-ui/directives/popover-content.directive.mjs +4 -4
  106. package/esm2022/lib/popover-ui/directives/popover-hover.directive.mjs +87 -0
  107. package/{esm2020 → esm2022}/lib/popover-ui/popover-ui.module.mjs +5 -5
  108. package/{esm2020 → esm2022}/lib/tab-ui/components/tab/tab.component.mjs +14 -14
  109. package/esm2022/lib/tab-ui/components/tab-group/tab-group.component.mjs +71 -0
  110. package/{esm2020 → esm2022}/lib/tab-ui/tab-ui.module.mjs +5 -5
  111. package/{fesm2020 → fesm2022}/leanix-components.mjs +767 -768
  112. package/fesm2022/leanix-components.mjs.map +1 -0
  113. package/lib/core-ui/components/badge/badge.component.d.ts +1 -1
  114. package/lib/core-ui/components/button/button.component.d.ts +1 -1
  115. package/lib/core-ui/components/button-group/button-group.component.d.ts +1 -1
  116. package/lib/core-ui/components/card/card.component.d.ts +1 -1
  117. package/lib/core-ui/components/collapsible/collapsible.component.d.ts +1 -1
  118. package/lib/core-ui/components/colored-label/colored-label.component.d.ts +1 -1
  119. package/lib/core-ui/components/ellipsis/ellipsis.component.d.ts +1 -1
  120. package/lib/core-ui/components/file-download-button/file-download-button.component.d.ts +1 -1
  121. package/lib/core-ui/components/icon-scale/icon-scale.component.d.ts +1 -1
  122. package/lib/core-ui/components/spinner/spinner.component.d.ts +1 -1
  123. package/lib/core-ui/components/table/table-header/table-header.component.d.ts +1 -1
  124. package/lib/core-ui/components/table/table.component.d.ts +1 -1
  125. package/lib/core-ui/directives/autoclose.directive.d.ts +1 -1
  126. package/lib/core-ui/directives/autofocus.directive.d.ts +1 -1
  127. package/lib/core-ui/directives/html.directive.d.ts +1 -1
  128. package/lib/core-ui/pipes/sort.pipe.d.ts +1 -1
  129. package/lib/core-ui/services/resize-observer.service.d.ts +1 -1
  130. package/lib/core-ui/tooltip/tooltip.component.d.ts +1 -1
  131. package/lib/core-ui/tooltip/tooltip.directive.d.ts +1 -1
  132. package/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.d.ts +1 -1
  133. package/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.d.ts +1 -1
  134. package/lib/forms-ui/components/breadcrumb/breadcrumb.component.d.ts +2 -2
  135. package/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.d.ts +1 -1
  136. package/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.d.ts +1 -1
  137. package/lib/forms-ui/components/copy-button/copy-button.component.d.ts +1 -1
  138. package/lib/forms-ui/components/currency/currency-input.component.d.ts +4 -4
  139. package/lib/forms-ui/components/currency/currency-symbol.component.d.ts +1 -1
  140. package/lib/forms-ui/components/date-input/date-input.component.d.ts +2 -2
  141. package/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.d.ts +1 -1
  142. package/lib/forms-ui/components/date-picker-ui/datepicker.component.d.ts +1 -1
  143. package/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.d.ts +1 -1
  144. package/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.d.ts +1 -1
  145. package/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.d.ts +1 -1
  146. package/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-list/keyboard-sortable-list.directive.d.ts +1 -1
  147. package/lib/forms-ui/components/error-message/error-message.component.d.ts +1 -1
  148. package/lib/forms-ui/components/expanded-dropdown/expanded-dropdown.component.d.ts +1 -1
  149. package/lib/forms-ui/components/form-error/form-error.component.d.ts +1 -1
  150. package/lib/forms-ui/components/icon/icon.component.d.ts +2 -2
  151. package/lib/forms-ui/components/input/input.component.d.ts +1 -1
  152. package/lib/forms-ui/components/keyboard-select.directive.d.ts +1 -1
  153. package/lib/forms-ui/components/multi-select/multi-select.component.d.ts +3 -3
  154. package/lib/forms-ui/components/option/option.component.d.ts +1 -1
  155. package/lib/forms-ui/components/option-group/option-group.component.d.ts +1 -1
  156. package/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.d.ts +3 -3
  157. package/lib/forms-ui/components/options-dropdown/options-dropdown.component.d.ts +1 -1
  158. package/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.d.ts +1 -1
  159. package/lib/forms-ui/components/picker/picker.component.d.ts +1 -1
  160. package/lib/forms-ui/components/picker-option/picker-option.component.d.ts +1 -1
  161. package/lib/forms-ui/components/pill-item/pill-item.component.d.ts +1 -1
  162. package/lib/forms-ui/components/pill-list/pill-list.component.d.ts +1 -1
  163. package/lib/forms-ui/components/select-list/select-list.component.d.ts +1 -1
  164. package/lib/forms-ui/components/single-select/single-select.component.d.ts +2 -2
  165. package/lib/forms-ui/components/slider-toggle/slider-toggle.component.d.ts +1 -1
  166. package/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.d.ts +1 -1
  167. package/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.d.ts +1 -1
  168. package/lib/forms-ui/directives/contenteditable.directive.d.ts +2 -2
  169. package/lib/forms-ui/directives/form-error.directive.d.ts +2 -2
  170. package/lib/forms-ui/directives/mark-invalid.directive.d.ts +1 -1
  171. package/lib/forms-ui/directives/selectable-item.directive.d.ts +1 -1
  172. package/lib/forms-ui/models/base-select.directive.d.ts +1 -1
  173. package/lib/forms-ui/models/single-select-padding.interface.d.ts +1 -1
  174. package/lib/forms-ui/models/sorting.interface.d.ts +1 -1
  175. package/lib/modal-ui/components/modal/modal.component.d.ts +1 -1
  176. package/lib/modal-ui/components/modal-footer/modal-footer.component.d.ts +1 -1
  177. package/lib/modal-ui/components/modal-header/modal-header.component.d.ts +1 -1
  178. package/lib/popover-ui/components/popover/popover.component.d.ts +1 -1
  179. package/lib/popover-ui/directives/popover-click.directive.d.ts +1 -1
  180. package/lib/popover-ui/directives/popover-hover.directive.d.ts +1 -1
  181. package/lib/tab-ui/components/tab/tab.component.d.ts +1 -1
  182. package/lib/tab-ui/components/tab-group/tab-group.component.d.ts +1 -1
  183. package/package.json +13 -19
  184. package/esm2020/lib/core-ui/components/ellipsis/ellipsis.component.mjs +0 -139
  185. package/esm2020/lib/core-ui/linkify/linkify.pipe.mjs +0 -144
  186. package/esm2020/lib/core-ui/tooltip/tooltip.directive.mjs +0 -105
  187. package/esm2020/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.mjs +0 -120
  188. package/esm2020/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.mjs +0 -216
  189. package/esm2020/lib/forms-ui/components/currency/currency-input.component.mjs +0 -145
  190. package/esm2020/lib/forms-ui/components/date-picker-ui/datepicker-ui.module.mjs +0 -28
  191. package/esm2020/lib/forms-ui/components/date-picker-ui/datepicker.component.mjs +0 -205
  192. package/esm2020/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.mjs +0 -49
  193. package/esm2020/lib/forms-ui/components/drag-and-drop-list/keyboard-sortable-item/keyboard-sortable-item.directive.mjs +0 -134
  194. package/esm2020/lib/forms-ui/components/multi-select/multi-select.component.mjs +0 -255
  195. package/esm2020/lib/forms-ui/components/option/option.component.mjs +0 -84
  196. package/esm2020/lib/forms-ui/components/options-dropdown/options-dropdown.component.mjs +0 -185
  197. package/esm2020/lib/forms-ui/components/picker-option/picker-option.component.mjs +0 -118
  198. package/esm2020/lib/forms-ui/components/responsive-input/responsive-input.component.mjs +0 -100
  199. package/esm2020/lib/forms-ui/components/single-select/single-select.component.mjs +0 -279
  200. package/esm2020/lib/forms-ui/directives/contenteditable.directive.mjs +0 -129
  201. package/esm2020/lib/forms-ui/directives/form-error.directive.mjs +0 -109
  202. package/esm2020/lib/modal-ui/components/modal/modal.component.mjs +0 -213
  203. package/esm2020/lib/popover-ui/directives/popover-hover.directive.mjs +0 -87
  204. package/esm2020/lib/tab-ui/components/tab-group/tab-group.component.mjs +0 -71
  205. package/fesm2015/leanix-components.mjs +0 -8448
  206. package/fesm2015/leanix-components.mjs.map +0 -1
  207. package/fesm2020/leanix-components.mjs.map +0 -1
  208. package/src/lib/forms-ui/components/date-picker-ui/README.md +0 -8
  209. /package/{esm2020 → esm2022}/index.mjs +0 -0
  210. /package/{esm2020 → esm2022}/leanix-components.mjs +0 -0
  211. /package/{esm2020 → esm2022}/lib/core-ui/annotations/required.mjs +0 -0
  212. /package/{esm2020 → esm2022}/lib/core-ui/core-ui.constants.mjs +0 -0
  213. /package/{esm2020 → esm2022}/lib/core-ui/functions/core-css.helpers.mjs +0 -0
  214. /package/{esm2020 → esm2022}/lib/core-ui/tooltip/to-cdk-position.function.mjs +0 -0
  215. /package/{esm2020 → esm2022}/lib/core-ui/tooltip/tooltip-position.interface.mjs +0 -0
  216. /package/{esm2020 → esm2022}/lib/forms-ui/components/currency/currency-symbol-map.constant.mjs +0 -0
  217. /package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/date-formatter.mjs +0 -0
  218. /package/{esm2020 → esm2022}/lib/forms-ui/components/date-picker-ui/isBs3.mjs +0 -0
  219. /package/{esm2020 → esm2022}/lib/forms-ui/components/drag-and-drop-list/constants.mjs +0 -0
  220. /package/{esm2020 → esm2022}/lib/forms-ui/helpers/key-codes.constants.mjs +0 -0
  221. /package/{esm2020 → esm2022}/lib/forms-ui/helpers/keyboard-navigation.helpers.mjs +0 -0
  222. /package/{esm2020 → esm2022}/lib/forms-ui/models/dropdown-item.interface.mjs +0 -0
  223. /package/{esm2020 → esm2022}/lib/forms-ui/models/single-select-padding.interface.mjs +0 -0
  224. /package/{esm2020 → esm2022}/lib/forms-ui/models/sorting.interface.mjs +0 -0
  225. /package/{esm2020 → esm2022}/lib/forms-ui/validators/date-in-foreseeable-future.validator.mjs +0 -0
  226. /package/{esm2020 → esm2022}/lib/forms-ui/validators/string-not-in-array.validator.mjs +0 -0
  227. /package/{esm2020 → esm2022}/lib/modal-ui/modal.constants.mjs +0 -0
  228. /package/{esm2020 → esm2022}/lib/shared/date-helpers.mjs +0 -0
  229. /package/{esm2020 → esm2022}/lib/shared/html-helpers.function.mjs +0 -0
  230. /package/{esm2020 → esm2022}/lib/shared/misc-helpers.mjs +0 -0
  231. /package/{esm2020 → esm2022}/lib/shared/observe.mjs +0 -0
@@ -35,13 +35,13 @@ export class BreadcrumbComponent {
35
35
  isEllipsedBreadcrumb(breadcrumb) {
36
36
  return !!breadcrumb.breadcrumbs;
37
37
  }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: BreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: BreadcrumbComponent, selector: "lx-breadcrumb", inputs: { breadcrumbs: "breadcrumbs" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"breadcrumbs\">\n <ng-container *ngFor=\"let breadcrumb of viewBreadcrumbs\">\n <ng-container *ngIf=\"isEllipsedBreadcrumb(breadcrumb)\">\n <lx-cdk-options-dropdown [align]=\"'right'\" class=\"dropdownContainer\">\n <a class=\"step\" href=\"\" lxKeyboardActionSource (click)=\"(false)\">...</a>\n <lx-option\n *ngFor=\"let ellipsedBreadcrumbs of breadcrumb.breadcrumbs\"\n [hasSelectedState]=\"false\"\n (select)=\"ellipsedBreadcrumbs.onClick?.(ellipsedBreadcrumbs)\"\n >\n {{ ellipsedBreadcrumbs.label }}\n </lx-option>\n </lx-cdk-options-dropdown>\n <span class=\"arrow\">&gt;</span>\n </ng-container>\n <ng-container *ngIf=\"!isEllipsedBreadcrumb(breadcrumb)\">\n <a class=\"step\" href=\"\" (click)=\"breadcrumb.onClick?.(breadcrumb); false\">{{ breadcrumb.label }}</a>\n <span class=\"arrow\">&gt;</span>\n </ng-container>\n </ng-container>\n</div>\n", styles: [".breadcrumbs{line-height:20px;font-weight:500}.breadcrumbs .step{color:var(--01-ui-colors-dark-gray);cursor:pointer}.breadcrumbs .arrow{margin:0 12px;color:var(--01-ui-colors-dark-gray)}.breadcrumbs .arrow:last-child{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.KeyboardActionSourceDirective, selector: "[lxKeyboardActionSource]", exportAs: ["keyboardActionSource"] }, { kind: "component", type: i3.OptionComponent, selector: "lx-option", inputs: ["selected", "isHighlighted", "disabled", "value", "hasSelectedState", "selectIcon"], outputs: ["select", "highlight", "selectedClick"] }, { kind: "component", type: i4.CdkOptionsDropdownComponent, selector: "lx-cdk-options-dropdown", inputs: ["align", "closeOnScroll", "disabled", "maxHeight"] }] }); }
38
40
  }
39
- BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
- BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: BreadcrumbComponent, selector: "lx-breadcrumb", inputs: { breadcrumbs: "breadcrumbs" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"breadcrumbs\">\n <ng-container *ngFor=\"let breadcrumb of viewBreadcrumbs\">\n <ng-container *ngIf=\"isEllipsedBreadcrumb(breadcrumb)\">\n <lx-cdk-options-dropdown [align]=\"'right'\" class=\"dropdownContainer\">\n <a class=\"step\" href=\"\" lxKeyboardActionSource (click)=\"(false)\">...</a>\n <lx-option\n *ngFor=\"let ellipsedBreadcrumbs of breadcrumb.breadcrumbs\"\n [hasSelectedState]=\"false\"\n (select)=\"ellipsedBreadcrumbs.onClick?.(ellipsedBreadcrumbs)\"\n >\n {{ ellipsedBreadcrumbs.label }}\n </lx-option>\n </lx-cdk-options-dropdown>\n <span class=\"arrow\">&gt;</span>\n </ng-container>\n <ng-container *ngIf=\"!isEllipsedBreadcrumb(breadcrumb)\">\n <a class=\"step\" href=\"\" (click)=\"breadcrumb.onClick?.(breadcrumb); false\">{{ breadcrumb.label }}</a>\n <span class=\"arrow\">&gt;</span>\n </ng-container>\n </ng-container>\n</div>\n", styles: [".breadcrumbs{line-height:20px;font-weight:500}.breadcrumbs .step{color:var(--01-ui-colors-dark-gray);cursor:pointer}.breadcrumbs .arrow{margin:0 12px;color:var(--01-ui-colors-dark-gray)}.breadcrumbs .arrow:last-child{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.KeyboardActionSourceDirective, selector: "[lxKeyboardActionSource]", exportAs: ["keyboardActionSource"] }, { kind: "component", type: i3.OptionComponent, selector: "lx-option", inputs: ["selected", "isHighlighted", "disabled", "value", "hasSelectedState", "selectIcon"], outputs: ["select", "highlight", "selectedClick"] }, { kind: "component", type: i4.CdkOptionsDropdownComponent, selector: "lx-cdk-options-dropdown", inputs: ["align", "closeOnScroll", "disabled", "maxHeight"] }] });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: BreadcrumbComponent, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: BreadcrumbComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{ selector: 'lx-breadcrumb', template: "<div class=\"breadcrumbs\">\n <ng-container *ngFor=\"let breadcrumb of viewBreadcrumbs\">\n <ng-container *ngIf=\"isEllipsedBreadcrumb(breadcrumb)\">\n <lx-cdk-options-dropdown [align]=\"'right'\" class=\"dropdownContainer\">\n <a class=\"step\" href=\"\" lxKeyboardActionSource (click)=\"(false)\">...</a>\n <lx-option\n *ngFor=\"let ellipsedBreadcrumbs of breadcrumb.breadcrumbs\"\n [hasSelectedState]=\"false\"\n (select)=\"ellipsedBreadcrumbs.onClick?.(ellipsedBreadcrumbs)\"\n >\n {{ ellipsedBreadcrumbs.label }}\n </lx-option>\n </lx-cdk-options-dropdown>\n <span class=\"arrow\">&gt;</span>\n </ng-container>\n <ng-container *ngIf=\"!isEllipsedBreadcrumb(breadcrumb)\">\n <a class=\"step\" href=\"\" (click)=\"breadcrumb.onClick?.(breadcrumb); false\">{{ breadcrumb.label }}</a>\n <span class=\"arrow\">&gt;</span>\n </ng-container>\n </ng-container>\n</div>\n", styles: [".breadcrumbs{line-height:20px;font-weight:500}.breadcrumbs .step{color:var(--01-ui-colors-dark-gray);cursor:pointer}.breadcrumbs .arrow{margin:0 12px;color:var(--01-ui-colors-dark-gray)}.breadcrumbs .arrow:last-child{display:none}\n"] }]
44
44
  }], propDecorators: { breadcrumbs: [{
45
45
  type: Input
46
46
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7Ozs7OztBQW1CM0UsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU1XLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUV4QyxvQkFBZSxHQUFxQixFQUFFLENBQUM7S0EyQnhDO0lBekJDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSxFQUFFO2dCQUM3RSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDeEIsZ0VBQWdFO29CQUNoRSxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUNsQztxQkFBTTtvQkFDTCxvRkFBb0Y7b0JBQ3BGLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNuRSxJQUFJLGNBQWMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLEVBQUU7d0JBQy9ELGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3FCQUM3Qzt5QkFBTTt3QkFDTCxlQUFlLENBQUMsSUFBSSxDQUFDOzRCQUNuQixXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUM7eUJBQzFCLENBQUMsQ0FBQztxQkFDSjtpQkFDRjtnQkFDRCxPQUFPLGVBQWUsQ0FBQztZQUN6QixDQUFDLEVBQUUsRUFBc0IsQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLFVBQTBCO1FBQzdDLE9BQU8sQ0FBQyxDQUFFLFVBQWlDLENBQUMsV0FBVyxDQUFDO0lBQzFELENBQUM7O2dIQTdCVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixrSENuQmhDLDQ4QkFxQkE7MkZERmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGVBQWU7OEJBS2hCLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBCcmVhZGNydW1iIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgZWxsaXBzZWQ/OiBib29sZWFuO1xuICBvbkNsaWNrPzogKGJyZWFkY3J1bWI6IEJyZWFkY3J1bWIpID0+IHZvaWQ7XG59XG5cbmludGVyZmFjZSBFbGxpcHNlZEJyZWFkY3J1bWIge1xuICBicmVhZGNydW1iczogQnJlYWRjcnVtYltdO1xufVxuXG50eXBlIFZpZXdCcmVhZGNydW1iID0gQnJlYWRjcnVtYiB8IEVsbGlwc2VkQnJlYWRjcnVtYjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtYnJlYWRjcnVtYicsXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBicmVhZGNydW1iczogQnJlYWRjcnVtYltdID0gW107XG5cbiAgdmlld0JyZWFkY3J1bWJzOiBWaWV3QnJlYWRjcnVtYltdID0gW107XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydicmVhZGNydW1icyddKSB7XG4gICAgICB0aGlzLnZpZXdCcmVhZGNydW1icyA9IHRoaXMuYnJlYWRjcnVtYnMucmVkdWNlKCh2aWV3QnJlYWRjcnVtYnMsIGJyZWFkY3J1bWIpID0+IHtcbiAgICAgICAgaWYgKCFicmVhZGNydW1iLmVsbGlwc2VkKSB7XG4gICAgICAgICAgLy8gQXBwZW5kIG5vcm1hbCBicmVhZGNydW1icyB0byB0aGUgZW5kIG9mIHZpZXcgYnJlYWRjcnVtYiBhcnJheVxuICAgICAgICAgIHZpZXdCcmVhZGNydW1icy5wdXNoKGJyZWFkY3J1bWIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFJlZHVjZSBjb25zZWN1dGl2ZSBlbGxpcHNlZCBicmVhZGNydW1icyBpbnRvIG9uZSBlbnRyeSBhbmQgc2hvdyBkcm9wZG93biBvZiB0aGVzZVxuICAgICAgICAgIGNvbnN0IGxhc3RCcmVhZGNydW1iID0gdmlld0JyZWFkY3J1bWJzW3ZpZXdCcmVhZGNydW1icy5sZW5ndGggLSAxXTtcbiAgICAgICAgICBpZiAobGFzdEJyZWFkY3J1bWIgJiYgdGhpcy5pc0VsbGlwc2VkQnJlYWRjcnVtYihsYXN0QnJlYWRjcnVtYikpIHtcbiAgICAgICAgICAgIGxhc3RCcmVhZGNydW1iLmJyZWFkY3J1bWJzLnB1c2goYnJlYWRjcnVtYik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZpZXdCcmVhZGNydW1icy5wdXNoKHtcbiAgICAgICAgICAgICAgYnJlYWRjcnVtYnM6IFticmVhZGNydW1iXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2aWV3QnJlYWRjcnVtYnM7XG4gICAgICB9LCBbXSBhcyBWaWV3QnJlYWRjcnVtYltdKTtcbiAgICB9XG4gIH1cblxuICBpc0VsbGlwc2VkQnJlYWRjcnVtYihicmVhZGNydW1iOiBWaWV3QnJlYWRjcnVtYik6IGJyZWFkY3J1bWIgaXMgRWxsaXBzZWRCcmVhZGNydW1iIHtcbiAgICByZXR1cm4gISEoYnJlYWRjcnVtYiBhcyBFbGxpcHNlZEJyZWFkY3J1bWIpLmJyZWFkY3J1bWJzO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYnJlYWRjcnVtYnNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnJlYWRjcnVtYiBvZiB2aWV3QnJlYWRjcnVtYnNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFbGxpcHNlZEJyZWFkY3J1bWIoYnJlYWRjcnVtYilcIj5cbiAgICAgIDxseC1jZGstb3B0aW9ucy1kcm9wZG93biBbYWxpZ25dPVwiJ3JpZ2h0J1wiIGNsYXNzPVwiZHJvcGRvd25Db250YWluZXJcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJzdGVwXCIgaHJlZj1cIlwiIGx4S2V5Ym9hcmRBY3Rpb25Tb3VyY2UgKGNsaWNrKT1cIihmYWxzZSlcIj4uLi48L2E+XG4gICAgICAgIDxseC1vcHRpb25cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZWxsaXBzZWRCcmVhZGNydW1icyBvZiBicmVhZGNydW1iLmJyZWFkY3J1bWJzXCJcbiAgICAgICAgICBbaGFzU2VsZWN0ZWRTdGF0ZV09XCJmYWxzZVwiXG4gICAgICAgICAgKHNlbGVjdCk9XCJlbGxpcHNlZEJyZWFkY3J1bWJzLm9uQ2xpY2s/LihlbGxpcHNlZEJyZWFkY3J1bWJzKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBlbGxpcHNlZEJyZWFkY3J1bWJzLmxhYmVsIH19XG4gICAgICAgIDwvbHgtb3B0aW9uPlxuICAgICAgPC9seC1jZGstb3B0aW9ucy1kcm9wZG93bj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3dcIj4mZ3Q7PC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNFbGxpcHNlZEJyZWFkY3J1bWIoYnJlYWRjcnVtYilcIj5cbiAgICAgIDxhIGNsYXNzPVwic3RlcFwiIGhyZWY9XCJcIiAoY2xpY2spPVwiYnJlYWRjcnVtYi5vbkNsaWNrPy4oYnJlYWRjcnVtYik7IGZhbHNlXCI+e3sgYnJlYWRjcnVtYi5sYWJlbCB9fTwvYT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3dcIj4mZ3Q7PC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7Ozs7OztBQW1CM0UsTUFBTSxPQUFPLG1CQUFtQjtJQUxoQztRQU1XLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUV4QyxvQkFBZSxHQUFxQixFQUFFLENBQUM7S0EyQnhDO0lBekJDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZSxFQUFFLFVBQVUsRUFBRSxFQUFFO2dCQUM3RSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtvQkFDeEIsZ0VBQWdFO29CQUNoRSxlQUFlLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUNsQztxQkFBTTtvQkFDTCxvRkFBb0Y7b0JBQ3BGLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNuRSxJQUFJLGNBQWMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLEVBQUU7d0JBQy9ELGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3FCQUM3Qzt5QkFBTTt3QkFDTCxlQUFlLENBQUMsSUFBSSxDQUFDOzRCQUNuQixXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUM7eUJBQzFCLENBQUMsQ0FBQztxQkFDSjtpQkFDRjtnQkFDRCxPQUFPLGVBQWUsQ0FBQztZQUN6QixDQUFDLEVBQUUsRUFBc0IsQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELG9CQUFvQixDQUFDLFVBQTBCO1FBQzdDLE9BQU8sQ0FBQyxDQUFFLFVBQWlDLENBQUMsV0FBVyxDQUFDO0lBQzFELENBQUM7OEdBN0JVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLGtIQ25CaEMsNDhCQXFCQTs7MkZERmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGVBQWU7OEJBS2hCLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBCcmVhZGNydW1iIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgZWxsaXBzZWQ/OiBib29sZWFuO1xuICBvbkNsaWNrPzogKGJyZWFkY3J1bWI6IEJyZWFkY3J1bWIpID0+IHZvaWQ7XG59XG5cbmludGVyZmFjZSBFbGxpcHNlZEJyZWFkY3J1bWIge1xuICBicmVhZGNydW1iczogQnJlYWRjcnVtYltdO1xufVxuXG50eXBlIFZpZXdCcmVhZGNydW1iID0gQnJlYWRjcnVtYiB8IEVsbGlwc2VkQnJlYWRjcnVtYjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbHgtYnJlYWRjcnVtYicsXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBicmVhZGNydW1iczogQnJlYWRjcnVtYltdID0gW107XG5cbiAgdmlld0JyZWFkY3J1bWJzOiBWaWV3QnJlYWRjcnVtYltdID0gW107XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydicmVhZGNydW1icyddKSB7XG4gICAgICB0aGlzLnZpZXdCcmVhZGNydW1icyA9IHRoaXMuYnJlYWRjcnVtYnMucmVkdWNlKCh2aWV3QnJlYWRjcnVtYnMsIGJyZWFkY3J1bWIpID0+IHtcbiAgICAgICAgaWYgKCFicmVhZGNydW1iLmVsbGlwc2VkKSB7XG4gICAgICAgICAgLy8gQXBwZW5kIG5vcm1hbCBicmVhZGNydW1icyB0byB0aGUgZW5kIG9mIHZpZXcgYnJlYWRjcnVtYiBhcnJheVxuICAgICAgICAgIHZpZXdCcmVhZGNydW1icy5wdXNoKGJyZWFkY3J1bWIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFJlZHVjZSBjb25zZWN1dGl2ZSBlbGxpcHNlZCBicmVhZGNydW1icyBpbnRvIG9uZSBlbnRyeSBhbmQgc2hvdyBkcm9wZG93biBvZiB0aGVzZVxuICAgICAgICAgIGNvbnN0IGxhc3RCcmVhZGNydW1iID0gdmlld0JyZWFkY3J1bWJzW3ZpZXdCcmVhZGNydW1icy5sZW5ndGggLSAxXTtcbiAgICAgICAgICBpZiAobGFzdEJyZWFkY3J1bWIgJiYgdGhpcy5pc0VsbGlwc2VkQnJlYWRjcnVtYihsYXN0QnJlYWRjcnVtYikpIHtcbiAgICAgICAgICAgIGxhc3RCcmVhZGNydW1iLmJyZWFkY3J1bWJzLnB1c2goYnJlYWRjcnVtYik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZpZXdCcmVhZGNydW1icy5wdXNoKHtcbiAgICAgICAgICAgICAgYnJlYWRjcnVtYnM6IFticmVhZGNydW1iXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2aWV3QnJlYWRjcnVtYnM7XG4gICAgICB9LCBbXSBhcyBWaWV3QnJlYWRjcnVtYltdKTtcbiAgICB9XG4gIH1cblxuICBpc0VsbGlwc2VkQnJlYWRjcnVtYihicmVhZGNydW1iOiBWaWV3QnJlYWRjcnVtYik6IGJyZWFkY3J1bWIgaXMgRWxsaXBzZWRCcmVhZGNydW1iIHtcbiAgICByZXR1cm4gISEoYnJlYWRjcnVtYiBhcyBFbGxpcHNlZEJyZWFkY3J1bWIpLmJyZWFkY3J1bWJzO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYnJlYWRjcnVtYnNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnJlYWRjcnVtYiBvZiB2aWV3QnJlYWRjcnVtYnNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNFbGxpcHNlZEJyZWFkY3J1bWIoYnJlYWRjcnVtYilcIj5cbiAgICAgIDxseC1jZGstb3B0aW9ucy1kcm9wZG93biBbYWxpZ25dPVwiJ3JpZ2h0J1wiIGNsYXNzPVwiZHJvcGRvd25Db250YWluZXJcIj5cbiAgICAgICAgPGEgY2xhc3M9XCJzdGVwXCIgaHJlZj1cIlwiIGx4S2V5Ym9hcmRBY3Rpb25Tb3VyY2UgKGNsaWNrKT1cIihmYWxzZSlcIj4uLi48L2E+XG4gICAgICAgIDxseC1vcHRpb25cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZWxsaXBzZWRCcmVhZGNydW1icyBvZiBicmVhZGNydW1iLmJyZWFkY3J1bWJzXCJcbiAgICAgICAgICBbaGFzU2VsZWN0ZWRTdGF0ZV09XCJmYWxzZVwiXG4gICAgICAgICAgKHNlbGVjdCk9XCJlbGxpcHNlZEJyZWFkY3J1bWJzLm9uQ2xpY2s/LihlbGxpcHNlZEJyZWFkY3J1bWJzKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBlbGxpcHNlZEJyZWFkY3J1bWJzLmxhYmVsIH19XG4gICAgICAgIDwvbHgtb3B0aW9uPlxuICAgICAgPC9seC1jZGstb3B0aW9ucy1kcm9wZG93bj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3dcIj4mZ3Q7PC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNFbGxpcHNlZEJyZWFkY3J1bWIoYnJlYWRjcnVtYilcIj5cbiAgICAgIDxhIGNsYXNzPVwic3RlcFwiIGhyZWY9XCJcIiAoY2xpY2spPVwiYnJlYWRjcnVtYi5vbkNsaWNrPy4oYnJlYWRjcnVtYik7IGZhbHNlXCI+e3sgYnJlYWRjcnVtYi5sYWJlbCB9fTwvYT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYXJyb3dcIj4mZ3Q7PC9zcGFuPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,216 @@
1
+ import { CdkConnectedOverlay } from '@angular/cdk/overlay';
2
+ import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, Input, ViewChild } from '@angular/core';
3
+ import { BehaviorSubject, combineLatest, fromEvent, merge, Subject } from 'rxjs';
4
+ import { debounceTime, delay, distinctUntilChanged, filter, map, startWith, switchMap, takeUntil, withLatestFrom } from 'rxjs/operators';
5
+ import { TooltipDirective } from '../../../core-ui/tooltip/tooltip.directive';
6
+ import { KeyboardActionSourceDirective } from '../../directives/keyboard-action-source.directive';
7
+ import { KeyboardSelectAction } from '../keyboard-select.directive';
8
+ import { OptionComponent } from '../option/option.component';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/cdk/overlay";
11
+ const BOTTOM_LEFT_POSITION = {
12
+ originX: 'end',
13
+ overlayX: 'end',
14
+ originY: 'bottom',
15
+ overlayY: 'top'
16
+ };
17
+ const BOTTOM_RIGHT_POSITION = {
18
+ originX: 'start',
19
+ overlayX: 'start',
20
+ originY: 'bottom',
21
+ overlayY: 'top'
22
+ };
23
+ const TOP_LEFT_POSITION = {
24
+ originX: 'end',
25
+ overlayX: 'end',
26
+ originY: 'top',
27
+ overlayY: 'bottom'
28
+ };
29
+ const TOP_RIGHT_POSITION = {
30
+ originX: 'start',
31
+ overlayX: 'start',
32
+ originY: 'top',
33
+ overlayY: 'bottom'
34
+ };
35
+ const LEFT_ALIGN_POSITIONS = [BOTTOM_LEFT_POSITION, TOP_LEFT_POSITION, BOTTOM_RIGHT_POSITION, TOP_RIGHT_POSITION];
36
+ const RIGHT_ALIGN_POSITIONS = [BOTTOM_RIGHT_POSITION, TOP_RIGHT_POSITION, BOTTOM_LEFT_POSITION, TOP_LEFT_POSITION];
37
+ export class CdkOptionsDropdownComponent {
38
+ set open(value) {
39
+ if (this.disabled) {
40
+ return;
41
+ }
42
+ this._open = value;
43
+ if (this.trigger) {
44
+ // Don't emit keyboard actions while the dropdown is not open yet.
45
+ this.trigger.dontEmit = !this.open;
46
+ }
47
+ if (this.open) {
48
+ this.isSubdropdownExpanded = false;
49
+ this.setInitialHighlightingIndex();
50
+ }
51
+ this.reloadOverlayPosition(this.open);
52
+ }
53
+ get open() {
54
+ return this._open;
55
+ }
56
+ get options() {
57
+ return this._options.toArray();
58
+ }
59
+ constructor(changeDetection) {
60
+ this.changeDetection = changeDetection;
61
+ this.align = 'right';
62
+ this.closeOnScroll = false;
63
+ this.disabled = false;
64
+ this.maxHeight = 'none';
65
+ this.highlightedOptionIndex$ = new BehaviorSubject(0);
66
+ this._open = false;
67
+ this.isSubdropdownExpanded = false;
68
+ this.destroyed$ = new Subject();
69
+ this.isPositionComputed = true;
70
+ }
71
+ ngAfterViewInit() {
72
+ this.trigger.dontEmit = !this.open;
73
+ this.overlay.positions = this.align === 'left' ? LEFT_ALIGN_POSITIONS : RIGHT_ALIGN_POSITIONS;
74
+ const optionsChanges$ = this._options.changes.pipe(startWith(this._options), map((options) => options.toArray()));
75
+ this.trigger.keyboardActions$
76
+ .pipe(filter((keyboardSelectAction) => keyboardSelectAction === KeyboardSelectAction.NEXT), withLatestFrom(this.highlightedOptionIndex$, optionsChanges$, (_, index, options) => this.next(index, options)))
77
+ .subscribe(this.highlightedOptionIndex$);
78
+ this.trigger.keyboardActions$
79
+ .pipe(filter((keyboardSelectAction) => keyboardSelectAction === KeyboardSelectAction.PREV), withLatestFrom(this.highlightedOptionIndex$, optionsChanges$, (_, index, options) => this.prev(index, options)))
80
+ .subscribe(this.highlightedOptionIndex$);
81
+ this.trigger.keyboardActions$
82
+ .pipe(filter((keyboardSelectAction) => keyboardSelectAction === KeyboardSelectAction.LEFT), withLatestFrom(this.highlightedOptionIndex$, optionsChanges$, (_, index, options) => this.isSubdropdownExpanded ? this.collapse(index, options) : this.expand(index, options)))
83
+ .subscribe(this.highlightedOptionIndex$);
84
+ this.trigger.keyboardActions$
85
+ .pipe(filter((keyboardSelectAction) => keyboardSelectAction === KeyboardSelectAction.RIGHT), withLatestFrom(this.highlightedOptionIndex$, optionsChanges$, (_, index, options) => this.isSubdropdownExpanded ? this.collapse(index, options) : this.expand(index, options)))
86
+ .subscribe(this.highlightedOptionIndex$);
87
+ this.trigger.keyboardActions$
88
+ .pipe(filter((keyboardSelectAction) => keyboardSelectAction === KeyboardSelectAction.CLOSE))
89
+ .subscribe(() => this.closeDropdown());
90
+ this.trigger.keyboardActions$
91
+ .pipe(filter((keyboardSelectAction) => keyboardSelectAction === KeyboardSelectAction.EXECUTE), withLatestFrom(this.highlightedOptionIndex$, (_, index) => index))
92
+ .subscribe((index) => {
93
+ this.options[index]?.selectOption();
94
+ });
95
+ /** Combined stream of all of the child options' select outputs. */
96
+ this._options.changes
97
+ .pipe(startWith(this._options), switchMap(() => merge(...this._options.map((option) => option.select), ...this._options.map((option) => option.selectedClick))), delay(0), takeUntil(this.destroyed$))
98
+ .subscribe((_value) => {
99
+ this.closeDropdown();
100
+ });
101
+ combineLatest([optionsChanges$, this.highlightedOptionIndex$])
102
+ .pipe(delay(0), map(([options, index]) => options[index]), distinctUntilChanged(), takeUntil(this.destroyed$))
103
+ .subscribe((optionToBeHighlighted) => {
104
+ this.options.forEach((option) => option.setHighlighted(optionToBeHighlighted === option));
105
+ this.changeDetection.markForCheck();
106
+ });
107
+ if (this.closeOnScroll) {
108
+ fromEvent(window, 'scroll')
109
+ .pipe(debounceTime(100), takeUntil(this.destroyed$))
110
+ .subscribe(() => {
111
+ this.open = false;
112
+ this.trigger.blur();
113
+ });
114
+ }
115
+ }
116
+ ngOnDestroy() {
117
+ this.destroyed$.next();
118
+ }
119
+ closeDropdown() {
120
+ this.tooltips.toArray().forEach((tooltip) => tooltip.hide());
121
+ this.open = false;
122
+ }
123
+ setInitialHighlightingIndex() {
124
+ const firstAvailableIndex = this.options.map((option) => !this.optionIsHighlightable(option)).indexOf(false, 0);
125
+ this.highlightedOptionIndex$.next(firstAvailableIndex);
126
+ }
127
+ prev(currentIndex, items) {
128
+ if (currentIndex > 0) {
129
+ const prevEnabledIndex = items.map((option) => !this.optionIsHighlightable(option)).lastIndexOf(false, currentIndex - 1);
130
+ return prevEnabledIndex !== -1 ? prevEnabledIndex : currentIndex;
131
+ }
132
+ else {
133
+ return currentIndex;
134
+ }
135
+ }
136
+ next(currentIndex, items) {
137
+ if (currentIndex < items.length) {
138
+ const nextEnabledIndex = items.map((option) => !this.optionIsHighlightable(option)).indexOf(false, currentIndex + 1);
139
+ return nextEnabledIndex !== -1 ? nextEnabledIndex : currentIndex;
140
+ }
141
+ else {
142
+ return currentIndex;
143
+ }
144
+ }
145
+ expand(currentIndex, items) {
146
+ if (items[currentIndex]?.hasSubdropdown) {
147
+ this.isSubdropdownExpanded = true;
148
+ return this.next(currentIndex, items);
149
+ }
150
+ else {
151
+ return currentIndex;
152
+ }
153
+ }
154
+ collapse(currentIndex, items) {
155
+ if (this.isSubdropdownExpanded) {
156
+ this.isSubdropdownExpanded = false;
157
+ return this.prev(currentIndex, items);
158
+ }
159
+ else {
160
+ return currentIndex;
161
+ }
162
+ }
163
+ optionIsHighlightable(option) {
164
+ const isToplevelOptionAndAllowed = !option.isSuboption && !this.isSubdropdownExpanded;
165
+ const isSecondlevelOptionAndAllowed = option.isSuboption && this.isSubdropdownExpanded;
166
+ return !option.disabled && (isToplevelOptionAndAllowed || isSecondlevelOptionAndAllowed);
167
+ }
168
+ reloadOverlayPosition(open) {
169
+ if (open) {
170
+ this.isPositionComputed = false;
171
+ setTimeout(() => {
172
+ const dropdownElement = this.dropdownContainer.nativeElement;
173
+ this.overlay.overlayRef.updateSize({
174
+ height: dropdownElement.offsetHeight,
175
+ width: dropdownElement.offsetWidth
176
+ });
177
+ this.overlay.overlayRef.updatePosition();
178
+ this.isPositionComputed = true;
179
+ this.changeDetection.markForCheck();
180
+ }, 0);
181
+ }
182
+ else {
183
+ this.changeDetection.markForCheck();
184
+ }
185
+ }
186
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CdkOptionsDropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
187
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: CdkOptionsDropdownComponent, selector: "lx-cdk-options-dropdown", inputs: { align: "align", closeOnScroll: "closeOnScroll", disabled: "disabled", maxHeight: "maxHeight" }, queries: [{ propertyName: "trigger", first: true, predicate: KeyboardActionSourceDirective, descendants: true }, { propertyName: "_options", predicate: OptionComponent, descendants: true }, { propertyName: "tooltips", predicate: TooltipDirective, descendants: true }], viewQueries: [{ propertyName: "dropdownContainer", first: true, predicate: ["dropdown"], descendants: true }, { propertyName: "overlay", first: true, predicate: CdkConnectedOverlay, descendants: true }], ngImport: i0, template: "<div (click)=\"open = !open\" class=\"triggerContainer\" cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\n <ng-content select=\"[lxKeyboardActionSource]\"></ng-content>\n</div>\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"open\"\n (overlayOutsideClick)=\"closeDropdown()\"\n>\n <ul\n #dropdown\n [class.showScrollbar]=\"maxHeight !== 'none'\"\n [style.max-height]=\"maxHeight\"\n [style.visibility]=\"isPositionComputed ? null : 'hidden'\"\n >\n <ng-content></ng-content>\n </ul>\n</ng-template>\n", styles: [":host{display:inline-block;position:relative}ul{position:absolute;background-color:#fff;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;border:solid 1px #e1e5eb;text-align:left;list-style:none;margin:0;padding-left:0;z-index:20;white-space:nowrap}ul::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}ul::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}ul::-webkit-scrollbar-track-piece{background-color:transparent}ul.left{right:0;padding-right:0}ul.showScrollbar{overflow-y:auto}.triggerContainer{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
188
+ }
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CdkOptionsDropdownComponent, decorators: [{
190
+ type: Component,
191
+ args: [{ selector: 'lx-cdk-options-dropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div (click)=\"open = !open\" class=\"triggerContainer\" cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\">\n <ng-content select=\"[lxKeyboardActionSource]\"></ng-content>\n</div>\n<ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"open\"\n (overlayOutsideClick)=\"closeDropdown()\"\n>\n <ul\n #dropdown\n [class.showScrollbar]=\"maxHeight !== 'none'\"\n [style.max-height]=\"maxHeight\"\n [style.visibility]=\"isPositionComputed ? null : 'hidden'\"\n >\n <ng-content></ng-content>\n </ul>\n</ng-template>\n", styles: [":host{display:inline-block;position:relative}ul{position:absolute;background-color:#fff;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;border:solid 1px #e1e5eb;text-align:left;list-style:none;margin:0;padding-left:0;z-index:20;white-space:nowrap}ul::-webkit-scrollbar{width:.5em;height:.5em;background-color:transparent}ul::-webkit-scrollbar-thumb{background-color:#c2c9d6;border-radius:6px}ul::-webkit-scrollbar-track-piece{background-color:transparent}ul.left{right:0;padding-right:0}ul.showScrollbar{overflow-y:auto}.triggerContainer{display:inline-block}\n"] }]
192
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { dropdownContainer: [{
193
+ type: ViewChild,
194
+ args: ['dropdown']
195
+ }], align: [{
196
+ type: Input
197
+ }], closeOnScroll: [{
198
+ type: Input
199
+ }], disabled: [{
200
+ type: Input
201
+ }], maxHeight: [{
202
+ type: Input
203
+ }], trigger: [{
204
+ type: ContentChild,
205
+ args: [KeyboardActionSourceDirective]
206
+ }], overlay: [{
207
+ type: ViewChild,
208
+ args: [CdkConnectedOverlay]
209
+ }], _options: [{
210
+ type: ContentChildren,
211
+ args: [OptionComponent, { descendants: true }]
212
+ }], tooltips: [{
213
+ type: ContentChildren,
214
+ args: [TooltipDirective, { descendants: true }]
215
+ }] } });
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLW9wdGlvbnMtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9jZGstb3B0aW9ucy1kcm9wZG93bi9jZGstb3B0aW9ucy1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2Nkay1vcHRpb25zLWRyb3Bkb3duL2Nkay1vcHRpb25zLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBcUIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUVmLEtBQUssRUFHTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6SSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUU3RCxNQUFNLG9CQUFvQixHQUFzQjtJQUM5QyxPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBRSxLQUFLO0lBQ2YsT0FBTyxFQUFFLFFBQVE7SUFDakIsUUFBUSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQztBQUVGLE1BQU0scUJBQXFCLEdBQXNCO0lBQy9DLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFFBQVEsRUFBRSxPQUFPO0lBQ2pCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFFBQVEsRUFBRSxLQUFLO0NBQ2hCLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFzQjtJQUMzQyxPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBRSxLQUFLO0lBQ2YsT0FBTyxFQUFFLEtBQUs7SUFDZCxRQUFRLEVBQUUsUUFBUTtDQUNuQixDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBc0I7SUFDNUMsT0FBTyxFQUFFLE9BQU87SUFDaEIsUUFBUSxFQUFFLE9BQU87SUFDakIsT0FBTyxFQUFFLEtBQUs7SUFDZCxRQUFRLEVBQUUsUUFBUTtDQUNuQixDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBd0IsQ0FBQyxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3ZJLE1BQU0scUJBQXFCLEdBQXdCLENBQUMscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQVF4SSxNQUFNLE9BQU8sMkJBQTJCO0lBUXRDLElBQUksSUFBSSxDQUFDLEtBQUs7UUFDWixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLGtFQUFrRTtZQUNsRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDcEM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1lBQ25DLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFXRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQVVELFlBQW9CLGVBQWtDO1FBQWxDLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQTlDN0MsVUFBSyxHQUFxQixPQUFPLENBQUM7UUFDbEMsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFDL0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixjQUFTLEdBQVcsTUFBTSxDQUFDO1FBbUNuQiw0QkFBdUIsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUNsRSxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBRXJCLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRWxELHVCQUFrQixHQUFHLElBQUksQ0FBQztJQUUrQixDQUFDO0lBRTFELGVBQWU7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQztRQUU5RixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2hELFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLEdBQUcsQ0FBQyxDQUFDLE9BQW1DLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUNoRSxDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0I7YUFDMUIsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsS0FBSyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFDcEYsY0FBYyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FDaEg7YUFDQSxTQUFTLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0I7YUFDMUIsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsS0FBSyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFDcEYsY0FBYyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FDaEg7YUFDQSxTQUFTLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFFM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0I7YUFDMUIsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsS0FBSyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsRUFDcEYsY0FBYyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQ2xGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUN6RixDQUNGO2FBQ0EsU0FBUyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCO2FBQzFCLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLENBQUMsb0JBQW9CLEtBQUssb0JBQW9CLENBQUMsS0FBSyxDQUFDLEVBQ3JGLGNBQWMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUNsRixJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FDekYsQ0FDRjthQUNBLFNBQVMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUUzQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQjthQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixLQUFLLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzNGLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQjthQUMxQixJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixLQUFLLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUN2RixjQUFjLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQ2xFO2FBQ0EsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUVMLG1FQUFtRTtRQUNuRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87YUFDbEIsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQy9ILEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDUixTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUMzQjthQUNBLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUVMLGFBQWEsQ0FBQyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQzthQUMzRCxJQUFJLENBQ0gsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUNSLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBOEIsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ3RFLG9CQUFvQixFQUFFLEVBQ3RCLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQzNCO2FBQ0EsU0FBUyxDQUFDLENBQUMscUJBQXFCLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzFGLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7aUJBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDbkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztnQkFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN0QixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFTywyQkFBMkI7UUFDakMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hILElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sSUFBSSxDQUFDLFlBQW9CLEVBQUUsS0FBd0I7UUFDekQsSUFBSSxZQUFZLEdBQUcsQ0FBQyxFQUFFO1lBQ3BCLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN6SCxPQUFPLGdCQUFnQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1NBQ2xFO2FBQU07WUFDTCxPQUFPLFlBQVksQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFTyxJQUFJLENBQUMsWUFBb0IsRUFBRSxLQUF3QjtRQUN6RCxJQUFJLFlBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQy9CLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNySCxPQUFPLGdCQUFnQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO1NBQ2xFO2FBQU07WUFDTCxPQUFPLFlBQVksQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFTyxNQUFNLENBQUMsWUFBb0IsRUFBRSxLQUF3QjtRQUMzRCxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBRSxjQUFjLEVBQUU7WUFDdkMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztZQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxPQUFPLFlBQVksQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsWUFBb0IsRUFBRSxLQUF3QjtRQUM3RCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM5QixJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1lBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDdkM7YUFBTTtZQUNMLE9BQU8sWUFBWSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQixDQUFDLE1BQXVCO1FBQ25ELE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQ3RGLE1BQU0sNkJBQTZCLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMscUJBQXFCLENBQUM7UUFDdkYsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQywwQkFBMEIsSUFBSSw2QkFBNkIsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxJQUFhO1FBQ3pDLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztZQUNoQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7Z0JBRTdELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztvQkFDakMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxZQUFZO29CQUNwQyxLQUFLLEVBQUUsZUFBZSxDQUFDLFdBQVc7aUJBQ25DLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFFekMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDthQUFNO1lBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNyQztJQUNILENBQUM7OEdBdE5VLDJCQUEyQjtrR0FBM0IsMkJBQTJCLDhNQTRCeEIsNkJBQTZCLDhEQUcxQixlQUFlLDhEQUdmLGdCQUFnQix5TEFMdEIsbUJBQW1CLGdEQ3ZGaEMseWtCQWtCQTs7MkZEd0NhLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDRSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU07d0dBR3hCLGlCQUFpQjtzQkFBdkMsU0FBUzt1QkFBQyxVQUFVO2dCQUVaLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFzQnVDLE9BQU87c0JBQW5ELFlBQVk7dUJBQUMsNkJBQTZCO2dCQUNYLE9BQU87c0JBQXRDLFNBQVM7dUJBQUMsbUJBQW1CO2dCQUc5QixRQUFRO3NCQURQLGVBQWU7dUJBQUMsZUFBZSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFJdkQsUUFBUTtzQkFEUCxlQUFlO3VCQUFDLGdCQUFnQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0Nvbm5lY3RlZE92ZXJsYXksIENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgZnJvbUV2ZW50LCBtZXJnZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkZWxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9jb3JlLXVpL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgS2V5Ym9hcmRBY3Rpb25Tb3VyY2VEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2tleWJvYXJkLWFjdGlvbi1zb3VyY2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEtleWJvYXJkU2VsZWN0QWN0aW9uIH0gZnJvbSAnLi4va2V5Ym9hcmQtc2VsZWN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLi9vcHRpb24vb3B0aW9uLmNvbXBvbmVudCc7XG5cbmNvbnN0IEJPVFRPTV9MRUZUX1BPU0lUSU9OOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgb3JpZ2luWDogJ2VuZCcsXG4gIG92ZXJsYXlYOiAnZW5kJyxcbiAgb3JpZ2luWTogJ2JvdHRvbScsXG4gIG92ZXJsYXlZOiAndG9wJ1xufTtcblxuY29uc3QgQk9UVE9NX1JJR0hUX1BPU0lUSU9OOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgb3ZlcmxheVg6ICdzdGFydCcsXG4gIG9yaWdpblk6ICdib3R0b20nLFxuICBvdmVybGF5WTogJ3RvcCdcbn07XG5cbmNvbnN0IFRPUF9MRUZUX1BPU0lUSU9OOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgb3JpZ2luWDogJ2VuZCcsXG4gIG92ZXJsYXlYOiAnZW5kJyxcbiAgb3JpZ2luWTogJ3RvcCcsXG4gIG92ZXJsYXlZOiAnYm90dG9tJ1xufTtcblxuY29uc3QgVE9QX1JJR0hUX1BPU0lUSU9OOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgb3ZlcmxheVg6ICdzdGFydCcsXG4gIG9yaWdpblk6ICd0b3AnLFxuICBvdmVybGF5WTogJ2JvdHRvbSdcbn07XG5cbmNvbnN0IExFRlRfQUxJR05fUE9TSVRJT05TOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW0JPVFRPTV9MRUZUX1BPU0lUSU9OLCBUT1BfTEVGVF9QT1NJVElPTiwgQk9UVE9NX1JJR0hUX1BPU0lUSU9OLCBUT1BfUklHSFRfUE9TSVRJT05dO1xuY29uc3QgUklHSFRfQUxJR05fUE9TSVRJT05TOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW0JPVFRPTV9SSUdIVF9QT1NJVElPTiwgVE9QX1JJR0hUX1BPU0lUSU9OLCBCT1RUT01fTEVGVF9QT1NJVElPTiwgVE9QX0xFRlRfUE9TSVRJT05dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1jZGstb3B0aW9ucy1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnY2RrLW9wdGlvbnMtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnY2RrLW9wdGlvbnMtZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQ2RrT3B0aW9uc0Ryb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nKSBkcm9wZG93bkNvbnRhaW5lciE6IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KCkgYWxpZ246ICdyaWdodCcgfCAnbGVmdCcgPSAncmlnaHQnO1xuICBASW5wdXQoKSBjbG9zZU9uU2Nyb2xsOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIG1heEhlaWdodDogc3RyaW5nID0gJ25vbmUnO1xuXG4gIHNldCBvcGVuKHZhbHVlKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9vcGVuID0gdmFsdWU7XG4gICAgaWYgKHRoaXMudHJpZ2dlcikge1xuICAgICAgLy8gRG9uJ3QgZW1pdCBrZXlib2FyZCBhY3Rpb25zIHdoaWxlIHRoZSBkcm9wZG93biBpcyBub3Qgb3BlbiB5ZXQuXG4gICAgICB0aGlzLnRyaWdnZXIuZG9udEVtaXQgPSAhdGhpcy5vcGVuO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICB0aGlzLmlzU3ViZHJvcGRvd25FeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5zZXRJbml0aWFsSGlnaGxpZ2h0aW5nSW5kZXgoKTtcbiAgICB9XG4gICAgdGhpcy5yZWxvYWRPdmVybGF5UG9zaXRpb24odGhpcy5vcGVuKTtcbiAgfVxuICBnZXQgb3BlbigpIHtcbiAgICByZXR1cm4gdGhpcy5fb3BlbjtcbiAgfVxuXG4gIEBDb250ZW50Q2hpbGQoS2V5Ym9hcmRBY3Rpb25Tb3VyY2VEaXJlY3RpdmUpIHRyaWdnZXIhOiBLZXlib2FyZEFjdGlvblNvdXJjZURpcmVjdGl2ZTtcbiAgQFZpZXdDaGlsZChDZGtDb25uZWN0ZWRPdmVybGF5KSBvdmVybGF5ITogQ2RrQ29ubmVjdGVkT3ZlcmxheTtcblxuICBAQ29udGVudENoaWxkcmVuKE9wdGlvbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBfb3B0aW9ucyE6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oVG9vbHRpcERpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICB0b29sdGlwcyE6IFF1ZXJ5TGlzdDxUb29sdGlwRGlyZWN0aXZlPjtcblxuICBnZXQgb3B0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucy50b0FycmF5KCk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGhpZ2hsaWdodGVkT3B0aW9uSW5kZXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICBwcml2YXRlIF9vcGVuID0gZmFsc2U7XG4gIHByaXZhdGUgaXNTdWJkcm9wZG93bkV4cGFuZGVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBpc1Bvc2l0aW9uQ29tcHV0ZWQgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy50cmlnZ2VyLmRvbnRFbWl0ID0gIXRoaXMub3BlbjtcblxuICAgIHRoaXMub3ZlcmxheS5wb3NpdGlvbnMgPSB0aGlzLmFsaWduID09PSAnbGVmdCcgPyBMRUZUX0FMSUdOX1BPU0lUSU9OUyA6IFJJR0hUX0FMSUdOX1BPU0lUSU9OUztcblxuICAgIGNvbnN0IG9wdGlvbnNDaGFuZ2VzJCA9IHRoaXMuX29wdGlvbnMuY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMuX29wdGlvbnMpLFxuICAgICAgbWFwKChvcHRpb25zOiBRdWVyeUxpc3Q8T3B0aW9uQ29tcG9uZW50PikgPT4gb3B0aW9ucy50b0FycmF5KCkpXG4gICAgKTtcblxuICAgIHRoaXMudHJpZ2dlci5rZXlib2FyZEFjdGlvbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChrZXlib2FyZFNlbGVjdEFjdGlvbikgPT4ga2V5Ym9hcmRTZWxlY3RBY3Rpb24gPT09IEtleWJvYXJkU2VsZWN0QWN0aW9uLk5FWFQpLFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLmhpZ2hsaWdodGVkT3B0aW9uSW5kZXgkLCBvcHRpb25zQ2hhbmdlcyQsIChfLCBpbmRleCwgb3B0aW9ucykgPT4gdGhpcy5uZXh0KGluZGV4LCBvcHRpb25zKSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUodGhpcy5oaWdobGlnaHRlZE9wdGlvbkluZGV4JCk7XG5cbiAgICB0aGlzLnRyaWdnZXIua2V5Ym9hcmRBY3Rpb25zJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoa2V5Ym9hcmRTZWxlY3RBY3Rpb24pID0+IGtleWJvYXJkU2VsZWN0QWN0aW9uID09PSBLZXlib2FyZFNlbGVjdEFjdGlvbi5QUkVWKSxcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5oaWdobGlnaHRlZE9wdGlvbkluZGV4JCwgb3B0aW9uc0NoYW5nZXMkLCAoXywgaW5kZXgsIG9wdGlvbnMpID0+IHRoaXMucHJldihpbmRleCwgb3B0aW9ucykpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuaGlnaGxpZ2h0ZWRPcHRpb25JbmRleCQpO1xuXG4gICAgdGhpcy50cmlnZ2VyLmtleWJvYXJkQWN0aW9ucyRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGtleWJvYXJkU2VsZWN0QWN0aW9uKSA9PiBrZXlib2FyZFNlbGVjdEFjdGlvbiA9PT0gS2V5Ym9hcmRTZWxlY3RBY3Rpb24uTEVGVCksXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuaGlnaGxpZ2h0ZWRPcHRpb25JbmRleCQsIG9wdGlvbnNDaGFuZ2VzJCwgKF8sIGluZGV4LCBvcHRpb25zKSA9PlxuICAgICAgICAgIHRoaXMuaXNTdWJkcm9wZG93bkV4cGFuZGVkID8gdGhpcy5jb2xsYXBzZShpbmRleCwgb3B0aW9ucykgOiB0aGlzLmV4cGFuZChpbmRleCwgb3B0aW9ucylcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLmhpZ2hsaWdodGVkT3B0aW9uSW5kZXgkKTtcblxuICAgIHRoaXMudHJpZ2dlci5rZXlib2FyZEFjdGlvbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChrZXlib2FyZFNlbGVjdEFjdGlvbikgPT4ga2V5Ym9hcmRTZWxlY3RBY3Rpb24gPT09IEtleWJvYXJkU2VsZWN0QWN0aW9uLlJJR0hUKSxcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5oaWdobGlnaHRlZE9wdGlvbkluZGV4JCwgb3B0aW9uc0NoYW5nZXMkLCAoXywgaW5kZXgsIG9wdGlvbnMpID0+XG4gICAgICAgICAgdGhpcy5pc1N1YmRyb3Bkb3duRXhwYW5kZWQgPyB0aGlzLmNvbGxhcHNlKGluZGV4LCBvcHRpb25zKSA6IHRoaXMuZXhwYW5kKGluZGV4LCBvcHRpb25zKVxuICAgICAgICApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuaGlnaGxpZ2h0ZWRPcHRpb25JbmRleCQpO1xuXG4gICAgdGhpcy50cmlnZ2VyLmtleWJvYXJkQWN0aW9ucyRcbiAgICAgIC5waXBlKGZpbHRlcigoa2V5Ym9hcmRTZWxlY3RBY3Rpb24pID0+IGtleWJvYXJkU2VsZWN0QWN0aW9uID09PSBLZXlib2FyZFNlbGVjdEFjdGlvbi5DTE9TRSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2VEcm9wZG93bigpKTtcblxuICAgIHRoaXMudHJpZ2dlci5rZXlib2FyZEFjdGlvbnMkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChrZXlib2FyZFNlbGVjdEFjdGlvbikgPT4ga2V5Ym9hcmRTZWxlY3RBY3Rpb24gPT09IEtleWJvYXJkU2VsZWN0QWN0aW9uLkVYRUNVVEUpLFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLmhpZ2hsaWdodGVkT3B0aW9uSW5kZXgkLCAoXywgaW5kZXgpID0+IGluZGV4KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoaW5kZXgpID0+IHtcbiAgICAgICAgdGhpcy5vcHRpb25zW2luZGV4XT8uc2VsZWN0T3B0aW9uKCk7XG4gICAgICB9KTtcblxuICAgIC8qKiBDb21iaW5lZCBzdHJlYW0gb2YgYWxsIG9mIHRoZSBjaGlsZCBvcHRpb25zJyBzZWxlY3Qgb3V0cHV0cy4gKi9cbiAgICB0aGlzLl9vcHRpb25zLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5fb3B0aW9ucyksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiBtZXJnZSguLi50aGlzLl9vcHRpb25zLm1hcCgob3B0aW9uKSA9PiBvcHRpb24uc2VsZWN0KSwgLi4udGhpcy5fb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLnNlbGVjdGVkQ2xpY2spKSksXG4gICAgICAgIGRlbGF5KDApLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoX3ZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfSk7XG5cbiAgICBjb21iaW5lTGF0ZXN0KFtvcHRpb25zQ2hhbmdlcyQsIHRoaXMuaGlnaGxpZ2h0ZWRPcHRpb25JbmRleCRdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlbGF5KDApLFxuICAgICAgICBtYXAoKFtvcHRpb25zLCBpbmRleF06IFtPcHRpb25Db21wb25lbnRbXSwgbnVtYmVyXSkgPT4gb3B0aW9uc1tpbmRleF0pLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgob3B0aW9uVG9CZUhpZ2hsaWdodGVkKSA9PiB7XG4gICAgICAgIHRoaXMub3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IG9wdGlvbi5zZXRIaWdobGlnaHRlZChvcHRpb25Ub0JlSGlnaGxpZ2h0ZWQgPT09IG9wdGlvbikpO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdGlvbi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuY2xvc2VPblNjcm9sbCkge1xuICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Njcm9sbCcpXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApLCB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSlcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy50cmlnZ2VyLmJsdXIoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgfVxuXG4gIGNsb3NlRHJvcGRvd24oKSB7XG4gICAgdGhpcy50b29sdGlwcy50b0FycmF5KCkuZm9yRWFjaCgodG9vbHRpcCkgPT4gdG9vbHRpcC5oaWRlKCkpO1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRJbml0aWFsSGlnaGxpZ2h0aW5nSW5kZXgoKSB7XG4gICAgY29uc3QgZmlyc3RBdmFpbGFibGVJbmRleCA9IHRoaXMub3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gIXRoaXMub3B0aW9uSXNIaWdobGlnaHRhYmxlKG9wdGlvbikpLmluZGV4T2YoZmFsc2UsIDApO1xuICAgIHRoaXMuaGlnaGxpZ2h0ZWRPcHRpb25JbmRleCQubmV4dChmaXJzdEF2YWlsYWJsZUluZGV4KTtcbiAgfVxuXG4gIHByaXZhdGUgcHJldihjdXJyZW50SW5kZXg6IG51bWJlciwgaXRlbXM6IE9wdGlvbkNvbXBvbmVudFtdKTogbnVtYmVyIHtcbiAgICBpZiAoY3VycmVudEluZGV4ID4gMCkge1xuICAgICAgY29uc3QgcHJldkVuYWJsZWRJbmRleCA9IGl0ZW1zLm1hcCgob3B0aW9uKSA9PiAhdGhpcy5vcHRpb25Jc0hpZ2hsaWdodGFibGUob3B0aW9uKSkubGFzdEluZGV4T2YoZmFsc2UsIGN1cnJlbnRJbmRleCAtIDEpO1xuICAgICAgcmV0dXJuIHByZXZFbmFibGVkSW5kZXggIT09IC0xID8gcHJldkVuYWJsZWRJbmRleCA6IGN1cnJlbnRJbmRleDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGN1cnJlbnRJbmRleDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG5leHQoY3VycmVudEluZGV4OiBudW1iZXIsIGl0ZW1zOiBPcHRpb25Db21wb25lbnRbXSk6IG51bWJlciB7XG4gICAgaWYgKGN1cnJlbnRJbmRleCA8IGl0ZW1zLmxlbmd0aCkge1xuICAgICAgY29uc3QgbmV4dEVuYWJsZWRJbmRleCA9IGl0ZW1zLm1hcCgob3B0aW9uKSA9PiAhdGhpcy5vcHRpb25Jc0hpZ2hsaWdodGFibGUob3B0aW9uKSkuaW5kZXhPZihmYWxzZSwgY3VycmVudEluZGV4ICsgMSk7XG4gICAgICByZXR1cm4gbmV4dEVuYWJsZWRJbmRleCAhPT0gLTEgPyBuZXh0RW5hYmxlZEluZGV4IDogY3VycmVudEluZGV4O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY3VycmVudEluZGV4O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXhwYW5kKGN1cnJlbnRJbmRleDogbnVtYmVyLCBpdGVtczogT3B0aW9uQ29tcG9uZW50W10pIHtcbiAgICBpZiAoaXRlbXNbY3VycmVudEluZGV4XT8uaGFzU3ViZHJvcGRvd24pIHtcbiAgICAgIHRoaXMuaXNTdWJkcm9wZG93bkV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0aGlzLm5leHQoY3VycmVudEluZGV4LCBpdGVtcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjdXJyZW50SW5kZXg7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjb2xsYXBzZShjdXJyZW50SW5kZXg6IG51bWJlciwgaXRlbXM6IE9wdGlvbkNvbXBvbmVudFtdKSB7XG4gICAgaWYgKHRoaXMuaXNTdWJkcm9wZG93bkV4cGFuZGVkKSB7XG4gICAgICB0aGlzLmlzU3ViZHJvcGRvd25FeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgcmV0dXJuIHRoaXMucHJldihjdXJyZW50SW5kZXgsIGl0ZW1zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGN1cnJlbnRJbmRleDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wdGlvbklzSGlnaGxpZ2h0YWJsZShvcHRpb246IE9wdGlvbkNvbXBvbmVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzVG9wbGV2ZWxPcHRpb25BbmRBbGxvd2VkID0gIW9wdGlvbi5pc1N1Ym9wdGlvbiAmJiAhdGhpcy5pc1N1YmRyb3Bkb3duRXhwYW5kZWQ7XG4gICAgY29uc3QgaXNTZWNvbmRsZXZlbE9wdGlvbkFuZEFsbG93ZWQgPSBvcHRpb24uaXNTdWJvcHRpb24gJiYgdGhpcy5pc1N1YmRyb3Bkb3duRXhwYW5kZWQ7XG4gICAgcmV0dXJuICFvcHRpb24uZGlzYWJsZWQgJiYgKGlzVG9wbGV2ZWxPcHRpb25BbmRBbGxvd2VkIHx8IGlzU2Vjb25kbGV2ZWxPcHRpb25BbmRBbGxvd2VkKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVsb2FkT3ZlcmxheVBvc2l0aW9uKG9wZW46IGJvb2xlYW4pIHtcbiAgICBpZiAob3Blbikge1xuICAgICAgdGhpcy5pc1Bvc2l0aW9uQ29tcHV0ZWQgPSBmYWxzZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zdCBkcm9wZG93bkVsZW1lbnQgPSB0aGlzLmRyb3Bkb3duQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy5vdmVybGF5Lm92ZXJsYXlSZWYudXBkYXRlU2l6ZSh7XG4gICAgICAgICAgaGVpZ2h0OiBkcm9wZG93bkVsZW1lbnQub2Zmc2V0SGVpZ2h0LFxuICAgICAgICAgIHdpZHRoOiBkcm9wZG93bkVsZW1lbnQub2Zmc2V0V2lkdGhcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMub3ZlcmxheS5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5pc1Bvc2l0aW9uQ29tcHV0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdGlvbi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0sIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdGlvbi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgKGNsaWNrKT1cIm9wZW4gPSAhb3BlblwiIGNsYXNzPVwidHJpZ2dlckNvbnRhaW5lclwiIGNka092ZXJsYXlPcmlnaW4gI3RyaWdnZXI9XCJjZGtPdmVybGF5T3JpZ2luXCI+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIltseEtleWJvYXJkQWN0aW9uU291cmNlXVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlXG4gIGNka0Nvbm5lY3RlZE92ZXJsYXlcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJvcGVuXCJcbiAgKG92ZXJsYXlPdXRzaWRlQ2xpY2spPVwiY2xvc2VEcm9wZG93bigpXCJcbj5cbiAgPHVsXG4gICAgI2Ryb3Bkb3duXG4gICAgW2NsYXNzLnNob3dTY3JvbGxiYXJdPVwibWF4SGVpZ2h0ICE9PSAnbm9uZSdcIlxuICAgIFtzdHlsZS5tYXgtaGVpZ2h0XT1cIm1heEhlaWdodFwiXG4gICAgW3N0eWxlLnZpc2liaWxpdHldPVwiaXNQb3NpdGlvbkNvbXB1dGVkID8gbnVsbCA6ICdoaWRkZW4nXCJcbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC91bD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -113,10 +113,10 @@ export class CdkOptionsSubDropdownComponent {
113
113
  this.open = false;
114
114
  this.mouseInside$.next(false);
115
115
  }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CdkOptionsSubDropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
117
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: CdkOptionsSubDropdownComponent, selector: "lx-cdk-options-sub-dropdown", inputs: { trigger: "trigger", align: "align" }, queries: [{ propertyName: "options", predicate: OptionComponent, descendants: true }], viewQueries: [{ propertyName: "overlay", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "dropdownContainer", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "<ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger.elementRef\" [cdkConnectedOverlayOpen]=\"open\">\n <ul\n (mouseenter)=\"mouseenter()\"\n (mouseleave)=\"mouseleave()\"\n class=\"sub-dropdown\"\n [style.visibility]=\"isPositionComputed ? '' : 'hidden'\"\n lxAutoclose\n (autoclose)=\"closeDropdown()\"\n #dropdown\n >\n <ng-content></ng-content>\n </ul>\n</ng-template>\n", styles: [".sub-dropdown{height:100%;padding:0;margin:0;background-color:#fff;border:solid 1px #e1e5eb;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;text-align:left;list-style:none;max-height:50vh;overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.AutocloseDirective, selector: "[lxAutoclose]", inputs: ["autocloseGroup"], outputs: ["autoclose"] }] }); }
116
118
  }
117
- CdkOptionsSubDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CdkOptionsSubDropdownComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
118
- CdkOptionsSubDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: CdkOptionsSubDropdownComponent, selector: "lx-cdk-options-sub-dropdown", inputs: { trigger: "trigger", align: "align" }, queries: [{ propertyName: "options", predicate: OptionComponent, descendants: true }], viewQueries: [{ propertyName: "overlay", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "dropdownContainer", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: "<ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger.elementRef\" [cdkConnectedOverlayOpen]=\"open\">\n <ul\n (mouseenter)=\"mouseenter()\"\n (mouseleave)=\"mouseleave()\"\n class=\"sub-dropdown\"\n [style.visibility]=\"isPositionComputed ? '' : 'hidden'\"\n lxAutoclose\n (autoclose)=\"closeDropdown()\"\n #dropdown\n >\n <ng-content></ng-content>\n </ul>\n</ng-template>\n", styles: [".sub-dropdown{height:100%;padding:0;margin:0;background-color:#fff;border:solid 1px #e1e5eb;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;text-align:left;list-style:none;max-height:50vh;overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.AutocloseDirective, selector: "[lxAutoclose]", inputs: ["autocloseGroup"], outputs: ["autoclose"] }] });
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CdkOptionsSubDropdownComponent, decorators: [{
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CdkOptionsSubDropdownComponent, decorators: [{
120
120
  type: Component,
121
121
  args: [{ selector: 'lx-cdk-options-sub-dropdown', template: "<ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger.elementRef\" [cdkConnectedOverlayOpen]=\"open\">\n <ul\n (mouseenter)=\"mouseenter()\"\n (mouseleave)=\"mouseleave()\"\n class=\"sub-dropdown\"\n [style.visibility]=\"isPositionComputed ? '' : 'hidden'\"\n lxAutoclose\n (autoclose)=\"closeDropdown()\"\n #dropdown\n >\n <ng-content></ng-content>\n </ul>\n</ng-template>\n", styles: [".sub-dropdown{height:100%;padding:0;margin:0;background-color:#fff;border:solid 1px #e1e5eb;border-radius:3px;box-shadow:0 8px 12px 2px #00000026;text-align:left;list-style:none;max-height:50vh;overflow-y:auto}\n"] }]
122
122
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { trigger: [{
@@ -133,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
133
133
  type: ViewChild,
134
134
  args: ['dropdown']
135
135
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLW9wdGlvbnMtc3ViLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvY2RrLW9wdGlvbnMtc3ViLWRyb3Bkb3duL2Nkay1vcHRpb25zLXN1Yi1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2Nkay1vcHRpb25zLXN1Yi1kcm9wZG93bi9jZGstb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQzlFLE9BQU8sRUFHTCxTQUFTLEVBQ1QsZUFBZSxFQUVmLEtBQUssRUFHTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFFN0QsTUFBTSxvQkFBb0IsR0FBc0I7SUFDOUMsT0FBTyxFQUFFLE9BQU87SUFDaEIsUUFBUSxFQUFFLEtBQUs7SUFDZixPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBRSxLQUFLO0lBQ2YsT0FBTyxFQUFFLENBQUMsQ0FBQztDQUNaLENB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ZSxDQUFDLFdBQVc7aUJBQ25DLENBQUMsQ0FBQztnQkFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDekMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUNqQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs7MkhBL0dVLDhCQUE4QjsrR0FBOUIsOEJBQThCLDJJQUl4QixlQUFlLHlGQUNyQixtQkFBbUIsZ0pDOURoQyxxYUFhQTsyRkQ0Q2EsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLDZCQUE2Qjt3R0FLOUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFbUQsT0FBTztzQkFBL0QsZUFBZTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUN2QixPQUFPO3NCQUF0QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFDUCxpQkFBaUI7c0JBQXZDLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0Nvbm5lY3RlZE92ZXJsYXksIENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGZyb21FdmVudCwgbWVyZ2UsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGVsYXksIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBleGVjdXRlT25OZXh0VGljayB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9taXNjLWhlbHBlcnMnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuXG5jb25zdCBCT1RUT01fTEVGVF9QT1NJVElPTjogQ29ubmVjdGVkUG9zaXRpb24gPSB7XG4gIG9yaWdpblg6ICdzdGFydCcsXG4gIG92ZXJsYXlYOiAnZW5kJyxcbiAgb3JpZ2luWTogJ3RvcCcsXG4gIG92ZXJsYXlZOiAndG9wJyxcbiAgb2Zmc2V0WDogLTRcbn07XG5cbmNvbnN0IEJPVFRPTV9SSUdIVF9QT1NJVElPTjogQ29ubmVjdGVkUG9zaXRpb24gPSB7XG4gIG9yaWdpblg6ICdlbmQnLFxuICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgb3JpZ2luWTogJ3RvcCcsXG4gIG92ZXJsYXlZOiAndG9wJyxcbiAgb2Zmc2V0WDogNFxufTtcblxuY29uc3QgVE9QX0xFRlRfUE9TSVRJT046IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICBvcmlnaW5YOiAnc3RhcnQnLFxuICBvdmVybGF5WDogJ2VuZCcsXG4gIG9yaWdpblk6ICdib3R0b20nLFxuICBvdmVybGF5WTogJ2JvdHRvbScsXG4gIG9mZnNldFg6IC00XG59O1xuXG5jb25zdCBUT1BfUklHSFRfUE9TSVRJT046IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICBvcmlnaW5YOiAnZW5kJyxcbiAgb3ZlcmxheVg6ICdzdGFydCcsXG4gIG9yaWdpblk6ICdib3R0b20nLFxuICBvdmVybGF5WTogJ2JvdHRvbScsXG4gIG9mZnNldFg6IDRcbn07XG5cbmNvbnN0IExFRlRfQUxJR05fUE9TSVRJT05TOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW0JPVFRPTV9MRUZUX1BPU0lUSU9OLCBUT1BfTEVGVF9QT1NJVElPTiwgQk9UVE9NX1JJR0hUX1BPU0lUSU9OLCBUT1BfUklHSFRfUE9TSVRJT05dO1xuY29uc3QgUklHSFRfQUxJR05fUE9TSVRJT05TOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW0JPVFRPTV9SSUdIVF9QT1NJVElPTiwgVE9QX1JJR0hUX1BPU0lUSU9OLCBCT1RUT01fTEVGVF9QT1NJVElPTiwgVE9QX0xFRlRfUE9TSVRJT05dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1jZGstb3B0aW9ucy1zdWItZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJ2Nkay1vcHRpb25zLXN1Yi1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydjZGstb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDZGtPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB0cmlnZ2VyITogT3B0aW9uQ29tcG9uZW50O1xuICBASW5wdXQoKSBhbGlnbjogJ3JpZ2h0JyB8ICdsZWZ0JyA9ICdyaWdodCc7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihPcHRpb25Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgb3B0aW9ucyE6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ+O1xuICBAVmlld0NoaWxkKENka0Nvbm5lY3RlZE92ZXJsYXkpIG92ZXJsYXkhOiBDZGtDb25uZWN0ZWRPdmVybGF5O1xuICBAVmlld0NoaWxkKCdkcm9wZG93bicpIGRyb3Bkb3duQ29udGFpbmVyITogRWxlbWVudFJlZjtcblxuICBvcGVuID0gZmFsc2U7XG4gIGlzUG9zaXRpb25Db21wdXRlZCA9IHRydWU7XG5cbiAgcHJpdmF0ZSBtb3VzZUluc2lkZSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIHJlYWRvbmx5IGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBtb3VzZWVudGVyKCkge1xuICAgIHRoaXMubW91c2VJbnNpZGUkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBtb3VzZWxlYXZlKCkge1xuICAgIHRoaXMubW91c2VJbnNpZGUkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBUbyBhdm9pZCBgRXhwcmVzc2lvbiBoYXMgY2hhbmdlZCBhZnRlciBpdCB3YXMgY2hlY2tlZGBcbiAgICBleGVjdXRlT25OZXh0VGljaygoKSA9PiB7XG4gICAgICB0aGlzLnRyaWdnZXIuaGFzU3ViZHJvcGRvd24gPSB0cnVlO1xuICAgICAgdGhpcy5vdmVybGF5LnBvc2l0aW9ucyA9IHRoaXMuYWxpZ24gPT09ICdsZWZ0JyA/IExFRlRfQUxJR05fUE9TSVRJT05TIDogUklHSFRfQUxJR05fUE9TSVRJT05TO1xuICAgIH0pO1xuXG4gICAgbWVyZ2UodGhpcy5zaG93QnlNb3VzZSgpLCB0aGlzLnNob3dCeUtleWJvYXJkKCkpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNob3cpID0+IHtcbiAgICAgICAgdGhpcy5vcGVuID0gc2hvdztcbiAgICAgICAgdGhpcy5yZWxvYWRPdmVybGF5UG9zaXRpb24odGhpcy5vcGVuKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5vcHRpb25zLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5vcHRpb25zKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IG1lcmdlKC4uLnRoaXMub3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLnNlbGVjdCksIC4uLnRoaXMub3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLnNlbGVjdGVkQ2xpY2spKSksXG4gICAgICAgIGRlbGF5KDApLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNob3dCeUtleWJvYXJkKCkge1xuICAgIGNvbnN0IG9wdGlvbkNoYW5nZSQgPSB0aGlzLm9wdGlvbnMuY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMub3B0aW9ucyksXG4gICAgICBtYXAoKG9wdGlvbnM6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ+KSA9PiBvcHRpb25zLnRvQXJyYXkoKSksXG4gICAgICBtYXAoKG9wdGlvbnMpID0+XG4gICAgICAgIG9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICBvcHRpb24uaXNTdWJvcHRpb24gPSB0cnVlO1xuICAgICAgICAgIHJldHVybiBvcHRpb247XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcblxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLnRyaWdnZXIuaGlnaGxpZ2h0LmFzT2JzZXJ2YWJsZSgpLCBvcHRpb25DaGFuZ2UkXSkucGlwZShcbiAgICAgIGRlbGF5KDApLCAvLyBOZWVkIHRpY2sgZGVsYXkgdG8gZ2V0IG9wdGlvbiBoaWdobGlnaHRlZCBhbmQgZmlsdGVyIGl0IG91dCBhZnRlclxuICAgICAgbWFwKChbaXNIaWdobGlnaHRlZCwgb3B0aW9uc10pID0+IGlzSGlnaGxpZ2h0ZWQgfHwgb3B0aW9ucy5zb21lKChvcHRpb24pID0+IG9wdGlvbi5pc0hpZ2hsaWdodGVkKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93QnlNb3VzZSgpIHtcbiAgICBjb25zdCBtb3VzZUVudGVyVHJpZ2dlciQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy50cmlnZ2VyLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlZW50ZXInKTtcbiAgICBjb25zdCBtb3VzZUxlYXZlVHJpZ2dlciQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy50cmlnZ2VyLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlbGVhdmUnKTtcblxuICAgIGNvbnN0IHNob3dPbkVudGVyTW91c2UkID0gbW91c2VFbnRlclRyaWdnZXIkLnBpcGUobWFwKCgpID0+IHRydWUpKTtcbiAgICBjb25zdCBoaWRlT25MZWF2ZU1vdXNlJCA9IG1vdXNlTGVhdmVUcmlnZ2VyJC5waXBlKG1hcCgoKSA9PiBmYWxzZSkpO1xuXG4gICAgLy8gcmVhY3QgdG8gdHJpZ2dlciBtb3VzZSBsZWF2ZSBldmVudHMsIGFuZCBtb3VzZSBlbnRlciBldmVudHMgaW4gdGhlIHN1Yi1kcm9wZG93bi4gV2UnbGwgdXNlIGEgMzAwbXNcbiAgICAvLyBkZWJvdW5jZSwgc28gdGhhdCB3aGlsZSBuYXZpZ2F0aW5nIGZyb20gdGhlIHRyaWdnZXIgdG8gdGhlIHN1Yi1kcm9wZG93biwgYWxsIHRoZSBpbnRlcm1lZGlhdGUgZXZlbnRzXG4gICAgLy8gYXJlIGlnbm9yZWQuXG4gICAgY29uc3Qgc2hvd1N1YmRyb3Bkb3duJCA9IG1lcmdlKGhpZGVPbkxlYXZlTW91c2UkLCB0aGlzLm1vdXNlSW5zaWRlJCkucGlwZShkZWJvdW5jZVRpbWUoMzAwKSk7XG5cbiAgICBjb25zdCBzaG93T25FbnRlclN1YmRyb3Bkb3duJCA9IG1vdXNlRW50ZXJUcmlnZ2VyJC5waXBlKHN3aXRjaE1hcCgoKSA9PiBzaG93U3ViZHJvcGRvd24kKSk7XG5cbiAgICByZXR1cm4gbWVyZ2Uoc2hvd09uRW50ZXJNb3VzZSQsIHNob3dPbkVudGVyU3ViZHJvcGRvd24kKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVsb2FkT3ZlcmxheVBvc2l0aW9uKG9wZW46IGJvb2xlYW4pIHtcbiAgICAvLyBmb3JjZSBhIHJlbmRlcmluZyBzbyB0aGF0IHRoZSBkcm9wZG93biBjb250YWluZXIncyBkaW1lbnNpb25zIGFyZSBjb21wdXRlZC5cbiAgICB0aGlzLmNoYW5nZURldGVjdGlvbi5tYXJrRm9yQ2hlY2soKTtcbiAgICBpZiAob3BlbiAmJiB0aGlzLmRyb3Bkb3duQ29udGFpbmVyKSB7XG4gICAgICB0aGlzLmlzUG9zaXRpb25Db21wdXRlZCA9IGZhbHNlO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRyb3Bkb3duRWxlbWVudCA9IHRoaXMuZHJvcGRvd25Db250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5vdmVybGF5Lm92ZXJsYXlSZWYudXBkYXRlU2l6ZSh7XG4gICAgICAgICAgaGVpZ2h0OiBkcm9wZG93bkVsZW1lbnQub2Zmc2V0SGVpZ2h0LFxuICAgICAgICAgIHdpZHRoOiBkcm9wZG93bkVsZW1lbnQub2Zmc2V0V2lkdGhcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vdmVybGF5Lm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5pc1Bvc2l0aW9uQ29tcHV0ZWQgPSB0cnVlO1xuICAgICAgfSwgMCk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2VEcm9wZG93bigpIHtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLm1vdXNlSW5zaWRlJC5uZXh0KGZhbHNlKTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlIGNka0Nvbm5lY3RlZE92ZXJsYXkgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlci5lbGVtZW50UmVmXCIgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cIm9wZW5cIj5cbiAgPHVsXG4gICAgKG1vdXNlZW50ZXIpPVwibW91c2VlbnRlcigpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJtb3VzZWxlYXZlKClcIlxuICAgIGNsYXNzPVwic3ViLWRyb3Bkb3duXCJcbiAgICBbc3R5bGUudmlzaWJpbGl0eV09XCJpc1Bvc2l0aW9uQ29tcHV0ZWQgPyAnJyA6ICdoaWRkZW4nXCJcbiAgICBseEF1dG9jbG9zZVxuICAgIChhdXRvY2xvc2UpPVwiY2xvc2VEcm9wZG93bigpXCJcbiAgICAjZHJvcGRvd25cbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC91bD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLW9wdGlvbnMtc3ViLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9zcmMvbGliL2Zvcm1zLXVpL2NvbXBvbmVudHMvY2RrLW9wdGlvbnMtc3ViLWRyb3Bkb3duL2Nkay1vcHRpb25zLXN1Yi1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2Nkay1vcHRpb25zLXN1Yi1kcm9wZG93bi9jZGstb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLHNCQUFzQixDQUFDO0FBQzlFLE9BQU8sRUFHTCxTQUFTLEVBQ1QsZUFBZSxFQUVmLEtBQUssRUFHTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFFN0QsTUFBTSxvQkFBb0IsR0FBc0I7SUFDOUMsT0FBTyxFQUFFLE9BQU87SUFDaEIsUUFBUSxFQUFFLEtBQUs7SUFDZixPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBRSxLQUFLO0lBQ2YsT0FBTyxFQUFFLENBQUMsQ0FBQztDQUNaLENB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ZSxDQUFDLFdBQVc7aUJBQ25DLENBQUMsQ0FBQztnQkFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDekMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztZQUNqQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0EvR1UsOEJBQThCO2tHQUE5Qiw4QkFBOEIsMklBSXhCLGVBQWUseUZBQ3JCLG1CQUFtQixnSkM5RGhDLHFhQWFBOzsyRkQ0Q2EsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLDZCQUE2Qjt3R0FLOUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFbUQsT0FBTztzQkFBL0QsZUFBZTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUN2QixPQUFPO3NCQUF0QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFDUCxpQkFBaUI7c0JBQXZDLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0Nvbm5lY3RlZE92ZXJsYXksIENvbm5lY3RlZFBvc2l0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGZyb21FdmVudCwgbWVyZ2UsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGVsYXksIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBleGVjdXRlT25OZXh0VGljayB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9taXNjLWhlbHBlcnMnO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uL29wdGlvbi5jb21wb25lbnQnO1xuXG5jb25zdCBCT1RUT01fTEVGVF9QT1NJVElPTjogQ29ubmVjdGVkUG9zaXRpb24gPSB7XG4gIG9yaWdpblg6ICdzdGFydCcsXG4gIG92ZXJsYXlYOiAnZW5kJyxcbiAgb3JpZ2luWTogJ3RvcCcsXG4gIG92ZXJsYXlZOiAndG9wJyxcbiAgb2Zmc2V0WDogLTRcbn07XG5cbmNvbnN0IEJPVFRPTV9SSUdIVF9QT1NJVElPTjogQ29ubmVjdGVkUG9zaXRpb24gPSB7XG4gIG9yaWdpblg6ICdlbmQnLFxuICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgb3JpZ2luWTogJ3RvcCcsXG4gIG92ZXJsYXlZOiAndG9wJyxcbiAgb2Zmc2V0WDogNFxufTtcblxuY29uc3QgVE9QX0xFRlRfUE9TSVRJT046IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICBvcmlnaW5YOiAnc3RhcnQnLFxuICBvdmVybGF5WDogJ2VuZCcsXG4gIG9yaWdpblk6ICdib3R0b20nLFxuICBvdmVybGF5WTogJ2JvdHRvbScsXG4gIG9mZnNldFg6IC00XG59O1xuXG5jb25zdCBUT1BfUklHSFRfUE9TSVRJT046IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICBvcmlnaW5YOiAnZW5kJyxcbiAgb3ZlcmxheVg6ICdzdGFydCcsXG4gIG9yaWdpblk6ICdib3R0b20nLFxuICBvdmVybGF5WTogJ2JvdHRvbScsXG4gIG9mZnNldFg6IDRcbn07XG5cbmNvbnN0IExFRlRfQUxJR05fUE9TSVRJT05TOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW0JPVFRPTV9MRUZUX1BPU0lUSU9OLCBUT1BfTEVGVF9QT1NJVElPTiwgQk9UVE9NX1JJR0hUX1BPU0lUSU9OLCBUT1BfUklHSFRfUE9TSVRJT05dO1xuY29uc3QgUklHSFRfQUxJR05fUE9TSVRJT05TOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW0JPVFRPTV9SSUdIVF9QT1NJVElPTiwgVE9QX1JJR0hUX1BPU0lUSU9OLCBCT1RUT01fTEVGVF9QT1NJVElPTiwgVE9QX0xFRlRfUE9TSVRJT05dO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdseC1jZGstb3B0aW9ucy1zdWItZHJvcGRvd24nLFxuICB0ZW1wbGF0ZVVybDogJ2Nkay1vcHRpb25zLXN1Yi1kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydjZGstb3B0aW9ucy1zdWItZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDZGtPcHRpb25zU3ViRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSB0cmlnZ2VyITogT3B0aW9uQ29tcG9uZW50O1xuICBASW5wdXQoKSBhbGlnbjogJ3JpZ2h0JyB8ICdsZWZ0JyA9ICdyaWdodCc7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihPcHRpb25Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgb3B0aW9ucyE6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ+O1xuICBAVmlld0NoaWxkKENka0Nvbm5lY3RlZE92ZXJsYXkpIG92ZXJsYXkhOiBDZGtDb25uZWN0ZWRPdmVybGF5O1xuICBAVmlld0NoaWxkKCdkcm9wZG93bicpIGRyb3Bkb3duQ29udGFpbmVyITogRWxlbWVudFJlZjtcblxuICBvcGVuID0gZmFsc2U7XG4gIGlzUG9zaXRpb25Db21wdXRlZCA9IHRydWU7XG5cbiAgcHJpdmF0ZSBtb3VzZUluc2lkZSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIHJlYWRvbmx5IGRlc3Ryb3llZCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBtb3VzZWVudGVyKCkge1xuICAgIHRoaXMubW91c2VJbnNpZGUkLm5leHQodHJ1ZSk7XG4gIH1cblxuICBtb3VzZWxlYXZlKCkge1xuICAgIHRoaXMubW91c2VJbnNpZGUkLm5leHQoZmFsc2UpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBUbyBhdm9pZCBgRXhwcmVzc2lvbiBoYXMgY2hhbmdlZCBhZnRlciBpdCB3YXMgY2hlY2tlZGBcbiAgICBleGVjdXRlT25OZXh0VGljaygoKSA9PiB7XG4gICAgICB0aGlzLnRyaWdnZXIuaGFzU3ViZHJvcGRvd24gPSB0cnVlO1xuICAgICAgdGhpcy5vdmVybGF5LnBvc2l0aW9ucyA9IHRoaXMuYWxpZ24gPT09ICdsZWZ0JyA/IExFRlRfQUxJR05fUE9TSVRJT05TIDogUklHSFRfQUxJR05fUE9TSVRJT05TO1xuICAgIH0pO1xuXG4gICAgbWVyZ2UodGhpcy5zaG93QnlNb3VzZSgpLCB0aGlzLnNob3dCeUtleWJvYXJkKCkpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNob3cpID0+IHtcbiAgICAgICAgdGhpcy5vcGVuID0gc2hvdztcbiAgICAgICAgdGhpcy5yZWxvYWRPdmVybGF5UG9zaXRpb24odGhpcy5vcGVuKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5vcHRpb25zLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5vcHRpb25zKSxcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IG1lcmdlKC4uLnRoaXMub3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLnNlbGVjdCksIC4uLnRoaXMub3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLnNlbGVjdGVkQ2xpY2spKSksXG4gICAgICAgIGRlbGF5KDApLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNob3dCeUtleWJvYXJkKCkge1xuICAgIGNvbnN0IG9wdGlvbkNoYW5nZSQgPSB0aGlzLm9wdGlvbnMuY2hhbmdlcy5waXBlKFxuICAgICAgc3RhcnRXaXRoKHRoaXMub3B0aW9ucyksXG4gICAgICBtYXAoKG9wdGlvbnM6IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ+KSA9PiBvcHRpb25zLnRvQXJyYXkoKSksXG4gICAgICBtYXAoKG9wdGlvbnMpID0+XG4gICAgICAgIG9wdGlvbnMubWFwKChvcHRpb24pID0+IHtcbiAgICAgICAgICBvcHRpb24uaXNTdWJvcHRpb24gPSB0cnVlO1xuICAgICAgICAgIHJldHVybiBvcHRpb247XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgKTtcblxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLnRyaWdnZXIuaGlnaGxpZ2h0LmFzT2JzZXJ2YWJsZSgpLCBvcHRpb25DaGFuZ2UkXSkucGlwZShcbiAgICAgIGRlbGF5KDApLCAvLyBOZWVkIHRpY2sgZGVsYXkgdG8gZ2V0IG9wdGlvbiBoaWdobGlnaHRlZCBhbmQgZmlsdGVyIGl0IG91dCBhZnRlclxuICAgICAgbWFwKChbaXNIaWdobGlnaHRlZCwgb3B0aW9uc10pID0+IGlzSGlnaGxpZ2h0ZWQgfHwgb3B0aW9ucy5zb21lKChvcHRpb24pID0+IG9wdGlvbi5pc0hpZ2hsaWdodGVkKSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG93QnlNb3VzZSgpIHtcbiAgICBjb25zdCBtb3VzZUVudGVyVHJpZ2dlciQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy50cmlnZ2VyLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlZW50ZXInKTtcbiAgICBjb25zdCBtb3VzZUxlYXZlVHJpZ2dlciQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy50cmlnZ2VyLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlbGVhdmUnKTtcblxuICAgIGNvbnN0IHNob3dPbkVudGVyTW91c2UkID0gbW91c2VFbnRlclRyaWdnZXIkLnBpcGUobWFwKCgpID0+IHRydWUpKTtcbiAgICBjb25zdCBoaWRlT25MZWF2ZU1vdXNlJCA9IG1vdXNlTGVhdmVUcmlnZ2VyJC5waXBlKG1hcCgoKSA9PiBmYWxzZSkpO1xuXG4gICAgLy8gcmVhY3QgdG8gdHJpZ2dlciBtb3VzZSBsZWF2ZSBldmVudHMsIGFuZCBtb3VzZSBlbnRlciBldmVudHMgaW4gdGhlIHN1Yi1kcm9wZG93bi4gV2UnbGwgdXNlIGEgMzAwbXNcbiAgICAvLyBkZWJvdW5jZSwgc28gdGhhdCB3aGlsZSBuYXZpZ2F0aW5nIGZyb20gdGhlIHRyaWdnZXIgdG8gdGhlIHN1Yi1kcm9wZG93biwgYWxsIHRoZSBpbnRlcm1lZGlhdGUgZXZlbnRzXG4gICAgLy8gYXJlIGlnbm9yZWQuXG4gICAgY29uc3Qgc2hvd1N1YmRyb3Bkb3duJCA9IG1lcmdlKGhpZGVPbkxlYXZlTW91c2UkLCB0aGlzLm1vdXNlSW5zaWRlJCkucGlwZShkZWJvdW5jZVRpbWUoMzAwKSk7XG5cbiAgICBjb25zdCBzaG93T25FbnRlclN1YmRyb3Bkb3duJCA9IG1vdXNlRW50ZXJUcmlnZ2VyJC5waXBlKHN3aXRjaE1hcCgoKSA9PiBzaG93U3ViZHJvcGRvd24kKSk7XG5cbiAgICByZXR1cm4gbWVyZ2Uoc2hvd09uRW50ZXJNb3VzZSQsIHNob3dPbkVudGVyU3ViZHJvcGRvd24kKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVsb2FkT3ZlcmxheVBvc2l0aW9uKG9wZW46IGJvb2xlYW4pIHtcbiAgICAvLyBmb3JjZSBhIHJlbmRlcmluZyBzbyB0aGF0IHRoZSBkcm9wZG93biBjb250YWluZXIncyBkaW1lbnNpb25zIGFyZSBjb21wdXRlZC5cbiAgICB0aGlzLmNoYW5nZURldGVjdGlvbi5tYXJrRm9yQ2hlY2soKTtcbiAgICBpZiAob3BlbiAmJiB0aGlzLmRyb3Bkb3duQ29udGFpbmVyKSB7XG4gICAgICB0aGlzLmlzUG9zaXRpb25Db21wdXRlZCA9IGZhbHNlO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRyb3Bkb3duRWxlbWVudCA9IHRoaXMuZHJvcGRvd25Db250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5vdmVybGF5Lm92ZXJsYXlSZWYudXBkYXRlU2l6ZSh7XG4gICAgICAgICAgaGVpZ2h0OiBkcm9wZG93bkVsZW1lbnQub2Zmc2V0SGVpZ2h0LFxuICAgICAgICAgIHdpZHRoOiBkcm9wZG93bkVsZW1lbnQub2Zmc2V0V2lkdGhcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5vdmVybGF5Lm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgdGhpcy5pc1Bvc2l0aW9uQ29tcHV0ZWQgPSB0cnVlO1xuICAgICAgfSwgMCk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2VEcm9wZG93bigpIHtcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLm1vdXNlSW5zaWRlJC5uZXh0KGZhbHNlKTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlIGNka0Nvbm5lY3RlZE92ZXJsYXkgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlci5lbGVtZW50UmVmXCIgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cIm9wZW5cIj5cbiAgPHVsXG4gICAgKG1vdXNlZW50ZXIpPVwibW91c2VlbnRlcigpXCJcbiAgICAobW91c2VsZWF2ZSk9XCJtb3VzZWxlYXZlKClcIlxuICAgIGNsYXNzPVwic3ViLWRyb3Bkb3duXCJcbiAgICBbc3R5bGUudmlzaWJpbGl0eV09XCJpc1Bvc2l0aW9uQ29tcHV0ZWQgPyAnJyA6ICdoaWRkZW4nXCJcbiAgICBseEF1dG9jbG9zZVxuICAgIChhdXRvY2xvc2UpPVwiY2xvc2VEcm9wZG93bigpXCJcbiAgICAjZHJvcGRvd25cbiAgPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC91bD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -33,10 +33,10 @@ export class CopyButtonComponent {
33
33
  getStringData() {
34
34
  return isString(this.data) ? this.data : JSON.stringify(this.data, null, '\t');
35
35
  }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CopyButtonComponent, deps: [{ token: i1.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: CopyButtonComponent, selector: "lx-copy-button", inputs: { data: "data", dataDescription: "dataDescription", btn: "btn" }, outputs: { success: "success", error: "error" }, ngImport: i0, template: "<button (click)=\"copy()\" class=\"btn btn-{{ btn }} btnCopyJson\">\n <i class=\"far fa-copy\"></i>\n <span>\n {{ 'buttons.copy' | translate }}\n </span>\n</button>\n", dependencies: [{ kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
36
38
  }
37
- CopyButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CopyButtonComponent, deps: [{ token: i1.Clipboard }], target: i0.ɵɵFactoryTarget.Component });
38
- CopyButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: CopyButtonComponent, selector: "lx-copy-button", inputs: { data: "data", dataDescription: "dataDescription", btn: "btn" }, outputs: { success: "success", error: "error" }, ngImport: i0, template: "<button (click)=\"copy()\" class=\"btn btn-{{ btn }} btnCopyJson\">\n <i class=\"far fa-copy\"></i>\n <span>\n {{ 'buttons.copy' | translate }}\n </span>\n</button>\n", dependencies: [{ kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CopyButtonComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CopyButtonComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{ selector: 'lx-copy-button', template: "<button (click)=\"copy()\" class=\"btn btn-{{ btn }} btnCopyJson\">\n <i class=\"far fa-copy\"></i>\n <span>\n {{ 'buttons.copy' | translate }}\n </span>\n</button>\n" }]
42
42
  }], ctorParameters: function () { return [{ type: i1.Clipboard }]; }, propDecorators: { data: [{
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
50
50
  }], error: [{
51
51
  type: Output
52
52
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9jb3B5LWJ1dHRvbi9jb3B5LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2NvcHktYnV0dG9uL2NvcHktYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQU1yQyxNQUFNLE9BQU8sbUJBQW1CO0lBYTlCLFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFaeEMsdURBQXVEO1FBQzlDLFNBQUksR0FBcUMsRUFBRSxDQUFDO1FBR3JELDBFQUEwRTtRQUNqRSxRQUFHLEdBQTRDLFNBQVMsQ0FBQztRQUV4RCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQStFLENBQUM7UUFDMUcsVUFBSyxHQUFHLElBQUksWUFBWSxFQUErRSxDQUFDO1FBRXpHLFNBQUksR0FBRyxxQkFBcUIsQ0FBQztJQUVLLENBQUM7SUFFNUMsS0FBSyxDQUFDLElBQUk7UUFDUixJQUFJO1lBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoQixVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxjQUFjO2dCQUM5RixlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTthQUNoRCxDQUFDLENBQUM7U0FDSjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ2QsVUFBVSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksY0FBYztnQkFDOUYsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7YUFDaEQsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakYsQ0FBQzs7Z0hBakNVLG1CQUFtQjtvR0FBbkIsbUJBQW1CLGlMQ1JoQyw4S0FNQTsyRkRFYSxtQkFBbUI7a0JBSi9CLFNBQVM7K0JBQ0UsZ0JBQWdCO2dHQUtqQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGlwYm9hcmQgfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x4LWNvcHktYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICdjb3B5LWJ1dHRvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ29weUJ1dHRvbkNvbXBvbmVudCB7XG4gIC8qKiBKU09OIHN0cmluZyBvciBvYmplY3QgdG8gYmUgc2F2ZWQvY29waWVkIGFzIEpTT04gKi9cbiAgQElucHV0KCkgZGF0YTogc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSAnJztcbiAgLyoqIExhYmVsIHRvIGJlIHVzZWQgZm9yIGRhdGEgaW4gdG9hc3RyIG1lc3NhZ2VzICovXG4gIEBJbnB1dCgpIGRhdGFEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqIERldGVybWluZSBjb3B5IGJ1dHRvbiBCb290c3RyYXAgY2xhc3MgJiBjb2xvciBvciBoaWRlIGl0IGFsdG9nZXRoZXIgKi9cbiAgQElucHV0KCkgYnRuOiAnZGVmYXVsdCcgfCAncHJpbWFyeScgfCAnaW5mbycgfCAnaGlkZScgPSAnZGVmYXVsdCc7XG5cbiAgQE91dHB1dCgpIHN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbWVzc2FnZUtleTogc3RyaW5nOyB0cmFuc2xhdGVQYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD4gfT4oKTtcbiAgQE91dHB1dCgpIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1lc3NhZ2VLZXk6IHN0cmluZzsgdHJhbnNsYXRlUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+IH0+KCk7XG5cbiAgcmVhZG9ubHkgTkFNRSA9ICdDb3B5QnV0dG9uQ29tcG9uZW50JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNsaXBib2FyZDogQ2xpcGJvYXJkKSB7fVxuXG4gIGFzeW5jIGNvcHkoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGpzb24gPSB0aGlzLmdldFN0cmluZ0RhdGEoKTtcbiAgICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkoanNvbik7XG4gICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh7XG4gICAgICAgIG1lc3NhZ2VLZXk6IHRoaXMuZGF0YURlc2NyaXB0aW9uID8gYCR7dGhpcy5OQU1FfS5kYXRhQ29weVN1Y2Nlc3NgIDogYCR7dGhpcy5OQU1FfS5jb3B5U3VjY2Vzc2AsXG4gICAgICAgIHRyYW5zbGF0ZVBhcmFtczogeyBkYXRhOiB0aGlzLmRhdGFEZXNjcmlwdGlvbiB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZXJyb3IuZW1pdCh7XG4gICAgICAgIG1lc3NhZ2VLZXk6IHRoaXMuZGF0YURlc2NyaXB0aW9uID8gYCR7dGhpcy5OQU1FfS5kYXRhQ29weUZhaWx1cmVgIDogYCR7dGhpcy5OQU1FfS5jb3B5RmFpbHVyZWAsXG4gICAgICAgIHRyYW5zbGF0ZVBhcmFtczogeyBkYXRhOiB0aGlzLmRhdGFEZXNjcmlwdGlvbiB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFN0cmluZ0RhdGEoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXNTdHJpbmcodGhpcy5kYXRhKSA/IHRoaXMuZGF0YSA6IEpTT04uc3RyaW5naWZ5KHRoaXMuZGF0YSwgbnVsbCwgJ1xcdCcpO1xuICB9XG59XG4iLCI8YnV0dG9uIChjbGljayk9XCJjb3B5KClcIiBjbGFzcz1cImJ0biBidG4te3sgYnRuIH19IGJ0bkNvcHlKc29uXCI+XG4gIDxpIGNsYXNzPVwiZmFyIGZhLWNvcHlcIj48L2k+XG4gIDxzcGFuPlxuICAgIHt7ICdidXR0b25zLmNvcHknIHwgdHJhbnNsYXRlIH19XG4gIDwvc3Bhbj5cbjwvYnV0dG9uPlxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvZm9ybXMtdWkvY29tcG9uZW50cy9jb3B5LWJ1dHRvbi9jb3B5LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9mb3Jtcy11aS9jb21wb25lbnRzL2NvcHktYnV0dG9uL2NvcHktYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7OztBQU1yQyxNQUFNLE9BQU8sbUJBQW1CO0lBYTlCLFlBQW9CLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFaeEMsdURBQXVEO1FBQzlDLFNBQUksR0FBcUMsRUFBRSxDQUFDO1FBR3JELDBFQUEwRTtRQUNqRSxRQUFHLEdBQTRDLFNBQVMsQ0FBQztRQUV4RCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQStFLENBQUM7UUFDMUcsVUFBSyxHQUFHLElBQUksWUFBWSxFQUErRSxDQUFDO1FBRXpHLFNBQUksR0FBRyxxQkFBcUIsQ0FBQztJQUVLLENBQUM7SUFFNUMsS0FBSyxDQUFDLElBQUk7UUFDUixJQUFJO1lBQ0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoQixVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxjQUFjO2dCQUM5RixlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTthQUNoRCxDQUFDLENBQUM7U0FDSjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ2QsVUFBVSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksY0FBYztnQkFDOUYsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7YUFDaEQsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakYsQ0FBQzs4R0FqQ1UsbUJBQW1CO2tHQUFuQixtQkFBbUIsaUxDUmhDLDhLQU1BOzsyRkRFYSxtQkFBbUI7a0JBSi9CLFNBQVM7K0JBQ0UsZ0JBQWdCO2dHQUtqQixJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRUksT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGlwYm9hcmQgfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2x4LWNvcHktYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICdjb3B5LWJ1dHRvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQ29weUJ1dHRvbkNvbXBvbmVudCB7XG4gIC8qKiBKU09OIHN0cmluZyBvciBvYmplY3QgdG8gYmUgc2F2ZWQvY29waWVkIGFzIEpTT04gKi9cbiAgQElucHV0KCkgZGF0YTogc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSAnJztcbiAgLyoqIExhYmVsIHRvIGJlIHVzZWQgZm9yIGRhdGEgaW4gdG9hc3RyIG1lc3NhZ2VzICovXG4gIEBJbnB1dCgpIGRhdGFEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqIERldGVybWluZSBjb3B5IGJ1dHRvbiBCb290c3RyYXAgY2xhc3MgJiBjb2xvciBvciBoaWRlIGl0IGFsdG9nZXRoZXIgKi9cbiAgQElucHV0KCkgYnRuOiAnZGVmYXVsdCcgfCAncHJpbWFyeScgfCAnaW5mbycgfCAnaGlkZScgPSAnZGVmYXVsdCc7XG5cbiAgQE91dHB1dCgpIHN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbWVzc2FnZUtleTogc3RyaW5nOyB0cmFuc2xhdGVQYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD4gfT4oKTtcbiAgQE91dHB1dCgpIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1lc3NhZ2VLZXk6IHN0cmluZzsgdHJhbnNsYXRlUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+IH0+KCk7XG5cbiAgcmVhZG9ubHkgTkFNRSA9ICdDb3B5QnV0dG9uQ29tcG9uZW50JztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNsaXBib2FyZDogQ2xpcGJvYXJkKSB7fVxuXG4gIGFzeW5jIGNvcHkoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGpzb24gPSB0aGlzLmdldFN0cmluZ0RhdGEoKTtcbiAgICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkoanNvbik7XG4gICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh7XG4gICAgICAgIG1lc3NhZ2VLZXk6IHRoaXMuZGF0YURlc2NyaXB0aW9uID8gYCR7dGhpcy5OQU1FfS5kYXRhQ29weVN1Y2Nlc3NgIDogYCR7dGhpcy5OQU1FfS5jb3B5U3VjY2Vzc2AsXG4gICAgICAgIHRyYW5zbGF0ZVBhcmFtczogeyBkYXRhOiB0aGlzLmRhdGFEZXNjcmlwdGlvbiB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRoaXMuZXJyb3IuZW1pdCh7XG4gICAgICAgIG1lc3NhZ2VLZXk6IHRoaXMuZGF0YURlc2NyaXB0aW9uID8gYCR7dGhpcy5OQU1FfS5kYXRhQ29weUZhaWx1cmVgIDogYCR7dGhpcy5OQU1FfS5jb3B5RmFpbHVyZWAsXG4gICAgICAgIHRyYW5zbGF0ZVBhcmFtczogeyBkYXRhOiB0aGlzLmRhdGFEZXNjcmlwdGlvbiB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFN0cmluZ0RhdGEoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXNTdHJpbmcodGhpcy5kYXRhKSA/IHRoaXMuZGF0YSA6IEpTT04uc3RyaW5naWZ5KHRoaXMuZGF0YSwgbnVsbCwgJ1xcdCcpO1xuICB9XG59XG4iLCI8YnV0dG9uIChjbGljayk9XCJjb3B5KClcIiBjbGFzcz1cImJ0biBidG4te3sgYnRuIH19IGJ0bkNvcHlKc29uXCI+XG4gIDxpIGNsYXNzPVwiZmFyIGZhLWNvcHlcIj48L2k+XG4gIDxzcGFuPlxuICAgIHt7ICdidXR0b25zLmNvcHknIHwgdHJhbnNsYXRlIH19XG4gIDwvc3Bhbj5cbjwvYnV0dG9uPlxuIl19