@ethlete/cdk 2.7.0 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (310) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/esm2022/lib/components/accordion/components/accordion/accordion.component.mjs +12 -23
  3. package/esm2022/lib/components/accordion/components/accordion-group/accordion-group.component.mjs +8 -14
  4. package/esm2022/lib/components/accordion/partials/accordion-hint/accordion-hint.directive.mjs +3 -3
  5. package/esm2022/lib/components/accordion/partials/accordion-hint-wrapper/accordion-hint-wrapper.directive.mjs +3 -3
  6. package/esm2022/lib/components/accordion/partials/accordion-label/accordion-label.directive.mjs +3 -3
  7. package/esm2022/lib/components/accordion/partials/accordion-label-wrapper/accordion-label-wrapper.directive.mjs +3 -3
  8. package/esm2022/lib/components/bracket/components/bracket/bracket.component.mjs +3 -3
  9. package/esm2022/lib/components/bracket/directives/bracket-match/bracket-match.directive.mjs +3 -3
  10. package/esm2022/lib/components/bracket/directives/bracket-round/bracket-round.directive.mjs +3 -3
  11. package/esm2022/lib/components/bracket/partials/bracket-match/bracket-match.component.mjs +3 -3
  12. package/esm2022/lib/components/bracket/partials/bracket-round-header/bracket-round-header.component.mjs +3 -3
  13. package/esm2022/lib/components/button/components/button/button.component.mjs +3 -3
  14. package/esm2022/lib/components/button/components/query-button/query-button.component.mjs +3 -3
  15. package/esm2022/lib/components/button/directives/button/button.directive.mjs +7 -8
  16. package/esm2022/lib/components/button/directives/query-button/query-button.directive.mjs +3 -3
  17. package/esm2022/lib/components/forms/components/checkbox/components/checkbox/checkbox.component.mjs +3 -3
  18. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-field/checkbox-field.component.mjs +3 -3
  19. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.mjs +3 -3
  20. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.mjs +3 -3
  21. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.mjs +3 -3
  22. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group/checkbox-group.directive.mjs +3 -3
  23. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.mjs +3 -3
  24. package/esm2022/lib/components/forms/components/error/components/error/error.component.mjs +3 -3
  25. package/esm2022/lib/components/forms/components/input/components/email-input/email-input.component.mjs +3 -3
  26. package/esm2022/lib/components/forms/components/input/components/input-field/input-field.component.mjs +3 -3
  27. package/esm2022/lib/components/forms/components/input/components/number-input/number-input.component.mjs +3 -3
  28. package/esm2022/lib/components/forms/components/input/components/password-input/password-input.component.mjs +3 -3
  29. package/esm2022/lib/components/forms/components/input/components/search-input/search-input.component.mjs +3 -3
  30. package/esm2022/lib/components/forms/components/input/components/text-input/text-input.component.mjs +3 -3
  31. package/esm2022/lib/components/forms/components/input/components/textarea-input/textarea-input.component.mjs +11 -22
  32. package/esm2022/lib/components/forms/components/input/directives/autosize-textarea/autosize-textarea.directive.mjs +3 -3
  33. package/esm2022/lib/components/forms/components/input/directives/email-input/email-input.directive.mjs +3 -3
  34. package/esm2022/lib/components/forms/components/input/directives/number-input/number-input.directive.mjs +3 -3
  35. package/esm2022/lib/components/forms/components/input/directives/password-input/password-input.directive.mjs +3 -3
  36. package/esm2022/lib/components/forms/components/input/directives/search-input/search-input.directive.mjs +3 -3
  37. package/esm2022/lib/components/forms/components/input/directives/text-input/text-input.directive.mjs +3 -3
  38. package/esm2022/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.mjs +3 -3
  39. package/esm2022/lib/components/forms/components/input/partials/password-input-toggle/password-input-toggle.component.mjs +3 -3
  40. package/esm2022/lib/components/forms/components/input/partials/search-input-clear/search-input-clear.component.mjs +3 -3
  41. package/esm2022/lib/components/forms/components/label/components/label/label.component.mjs +3 -3
  42. package/esm2022/lib/components/forms/components/label/directives/label-suffix/label-suffix.directive.mjs +8 -14
  43. package/esm2022/lib/components/forms/components/radio/components/radio/radio.component.mjs +3 -3
  44. package/esm2022/lib/components/forms/components/radio/components/radio-field/radio-field.component.mjs +3 -3
  45. package/esm2022/lib/components/forms/components/radio/components/radio-group/radio-group.component.mjs +3 -3
  46. package/esm2022/lib/components/forms/components/radio/directives/radio/radio.directive.mjs +6 -7
  47. package/esm2022/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.mjs +3 -3
  48. package/esm2022/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.mjs +3 -3
  49. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button/segmented-button.component.mjs +3 -3
  50. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-field/segmented-button-field.component.mjs +3 -3
  51. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-group/segmented-button-group.component.mjs +3 -3
  52. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.mjs +6 -7
  53. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.mjs +3 -3
  54. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.mjs +3 -3
  55. package/esm2022/lib/components/forms/components/select/components/combobox/components/combobox/combobox.component.mjs +9 -10
  56. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.mjs +3 -3
  57. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.mjs +3 -3
  58. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.mjs +3 -3
  59. package/esm2022/lib/components/forms/components/select/components/native-select/components/native-select/native-select.component.mjs +3 -3
  60. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-input/native-select-input.directive.mjs +3 -3
  61. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-option/native-select-option.directive.mjs +11 -22
  62. package/esm2022/lib/components/forms/components/select/components/native-select/partials/native-select-option/native-select-option.component.mjs +3 -3
  63. package/esm2022/lib/components/forms/components/select/components/select/components/select/select.component.mjs +3 -3
  64. package/esm2022/lib/components/forms/components/select/components/select/directives/select/select.directive.mjs +6 -7
  65. package/esm2022/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.mjs +3 -3
  66. package/esm2022/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.mjs +6 -7
  67. package/esm2022/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.mjs +3 -3
  68. package/esm2022/lib/components/forms/components/select/components/select/partials/select-option/select-option.component.mjs +3 -3
  69. package/esm2022/lib/components/forms/components/select/components/select-field/select-field.component.mjs +3 -3
  70. package/esm2022/lib/components/forms/components/select/directives/select-field/select-field.directive.mjs +3 -3
  71. package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle/slide-toggle.component.mjs +3 -3
  72. package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle-field/slide-toggle-field.component.mjs +3 -3
  73. package/esm2022/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.mjs +3 -3
  74. package/esm2022/lib/components/forms/components/slider/components/slider/slider.component.mjs +11 -12
  75. package/esm2022/lib/components/forms/components/slider/components/slider-field/slider-field.component.mjs +3 -3
  76. package/esm2022/lib/components/forms/directives/dynamic-form-field/dynamic-form-field.directive.mjs +6 -7
  77. package/esm2022/lib/components/forms/directives/dynamic-form-group/dynamic-form-group.directive.mjs +6 -7
  78. package/esm2022/lib/components/forms/directives/if-input-empty/if-input-empty.directive.mjs +3 -3
  79. package/esm2022/lib/components/forms/directives/if-input-filled/if-input-filled.directive.mjs +3 -3
  80. package/esm2022/lib/components/forms/directives/input/input.directive.mjs +3 -3
  81. package/esm2022/lib/components/forms/directives/input-prefix/input-prefix.directive.mjs +3 -3
  82. package/esm2022/lib/components/forms/directives/input-suffix/input-suffix.directive.mjs +3 -3
  83. package/esm2022/lib/components/forms/directives/native-input-ref/native-input-ref.directive.mjs +3 -3
  84. package/esm2022/lib/components/forms/directives/static-form-field/static-form-field.directive.mjs +3 -3
  85. package/esm2022/lib/components/forms/directives/static-form-group/static-form-group.directive.mjs +3 -3
  86. package/esm2022/lib/components/forms/directives/writeable-input/writeable-input.directive.mjs +3 -3
  87. package/esm2022/lib/components/forms/services/default-validator-errors.service.mjs +3 -3
  88. package/esm2022/lib/components/forms/services/form-field-state.service.mjs +3 -3
  89. package/esm2022/lib/components/forms/services/form-group-state.service.mjs +3 -3
  90. package/esm2022/lib/components/forms/services/input-state.service.mjs +3 -3
  91. package/esm2022/lib/components/forms/utils/decorated-form-field.base.mjs +3 -3
  92. package/esm2022/lib/components/forms/utils/decorated-input.base.mjs +3 -3
  93. package/esm2022/lib/components/forms/utils/input.base.mjs +3 -3
  94. package/esm2022/lib/components/icons/chevron-icon/chevron-icon.component.mjs +3 -3
  95. package/esm2022/lib/components/masonry/components/masonry/masonry.component.mjs +8 -9
  96. package/esm2022/lib/components/masonry/partials/masonry-item/masonry-item.component.mjs +3 -3
  97. package/esm2022/lib/components/overlay/components/bottom-sheet/components/bottom-sheet-container/bottom-sheet-container.component.mjs +3 -3
  98. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-container-base/bottom-sheet-container-base.component.mjs +3 -3
  99. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-drag-handle/bottom-sheet-drag-handle.component.mjs +3 -3
  100. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-title/bottom-sheet-title.directive.mjs +3 -3
  101. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-base.service.mjs +3 -3
  102. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-swipe-handler.service.mjs +3 -3
  103. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet.service.mjs +3 -3
  104. package/esm2022/lib/components/overlay/components/dialog/components/dialog-container/dialog-container.component.mjs +3 -3
  105. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-close/dialog-close.directive.mjs +3 -3
  106. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-container-base/dialog-container-base.component.mjs +3 -3
  107. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-title/dialog-title.directive.mjs +3 -3
  108. package/esm2022/lib/components/overlay/components/dialog/services/dialog-base.service.mjs +3 -3
  109. package/esm2022/lib/components/overlay/components/dialog/services/dialog.service.mjs +3 -3
  110. package/esm2022/lib/components/overlay/components/toggletip/components/toggletip/toggletip.component.mjs +3 -3
  111. package/esm2022/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.mjs +6 -7
  112. package/esm2022/lib/components/overlay/components/tooltip/components/tooltip/tooltip.component.mjs +3 -3
  113. package/esm2022/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.mjs +3 -3
  114. package/esm2022/lib/components/overlay/services/dynamic-overlay.service.mjs +10 -12
  115. package/esm2022/lib/components/pagination/components/pagination/pagination.component.mjs +9 -9
  116. package/esm2022/lib/components/pagination/partials/pagination-link/pagination-link.directive.mjs +3 -3
  117. package/esm2022/lib/components/pagination/services/pagination-head.service.mjs +3 -3
  118. package/esm2022/lib/components/picture/picture-data.directive.mjs +8 -14
  119. package/esm2022/lib/components/picture/picture.component.mjs +3 -3
  120. package/esm2022/lib/components/progress-spinner/progress-spinner.component.mjs +13 -24
  121. package/esm2022/lib/components/scrollable/components/scrollable/scrollable.component.mjs +92 -51
  122. package/esm2022/lib/components/skeleton/components/skeleton/skeleton.component.mjs +8 -14
  123. package/esm2022/lib/components/skeleton/partials/skeleton-item/skeleton-item.component.mjs +3 -3
  124. package/esm2022/lib/components/sort/components/sort-header/sort-header.component.mjs +24 -49
  125. package/esm2022/lib/components/sort/partials/sort/sort.directive.mjs +18 -36
  126. package/esm2022/lib/components/sort/services/sort-header-intl.mjs +3 -3
  127. package/esm2022/lib/components/table/components/table/table.component.mjs +7 -8
  128. package/esm2022/lib/components/table/partials/cells/cell/cell.directive.mjs +3 -3
  129. package/esm2022/lib/components/table/partials/cells/cell-def/cell-def.directive.mjs +3 -3
  130. package/esm2022/lib/components/table/partials/cells/column-def/column-def.directive.mjs +3 -3
  131. package/esm2022/lib/components/table/partials/cells/footer-cell/footer-cell.directive.mjs +3 -3
  132. package/esm2022/lib/components/table/partials/cells/footer-cell-def/footer-cell-def.directive.mjs +3 -3
  133. package/esm2022/lib/components/table/partials/cells/header-cell/header-cell.directive.mjs +3 -3
  134. package/esm2022/lib/components/table/partials/cells/header-cell-def/header-cell-def.directive.mjs +3 -3
  135. package/esm2022/lib/components/table/partials/cells/text-column/text-column.component.mjs +3 -3
  136. package/esm2022/lib/components/table/partials/rows/footer-row/footer-row.component.mjs +3 -3
  137. package/esm2022/lib/components/table/partials/rows/footer-row-def/footer-row-def.directive.mjs +3 -3
  138. package/esm2022/lib/components/table/partials/rows/header-row/header-row.component.mjs +3 -3
  139. package/esm2022/lib/components/table/partials/rows/header-row-def/header-row-def.directive.mjs +3 -3
  140. package/esm2022/lib/components/table/partials/rows/no-data-row/no-data-row.directive.mjs +3 -3
  141. package/esm2022/lib/components/table/partials/rows/recycle-rows/recycle-rows.directive.mjs +3 -3
  142. package/esm2022/lib/components/table/partials/rows/row/row.component.mjs +3 -3
  143. package/esm2022/lib/components/table/partials/rows/row-def/row-def.directive.mjs +3 -3
  144. package/esm2022/lib/components/table/partials/table-busy/table-busy.directive.mjs +8 -8
  145. package/esm2022/lib/components/table/partials/table-busy-outlet/table-busy-outlet.directive.mjs +9 -9
  146. package/esm2022/lib/components/tabs/components/inline-tabs/inline-tabs.component.mjs +41 -70
  147. package/esm2022/lib/components/tabs/components/nav-tabs/nav-tabs.component.mjs +10 -18
  148. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab/inline-tab.component.mjs +11 -22
  149. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body/inline-tab-body.component.mjs +15 -17
  150. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body-host/inline-tab-body-host.directive.mjs +3 -3
  151. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-content/inline-tab-content.directive.mjs +8 -8
  152. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-header/inline-tab-header.component.mjs +6 -15
  153. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label/inline-tab-label.directive.mjs +3 -3
  154. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label-wrapper/inline-tab-label-wrapper.directive.mjs +11 -17
  155. package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tab-link/nav-tab-link.directive.mjs +24 -43
  156. package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tabs-outlet/nav-tabs-outlet.component.mjs +3 -3
  157. package/esm2022/lib/components/tabs/utils/active-tab-underline.util.mjs +6 -7
  158. package/esm2022/lib/components/tabs/utils/paginated-tab-header.directive.mjs +25 -45
  159. package/esm2022/lib/services/swipe-handler.service.mjs +3 -3
  160. package/fesm2022/ethlete-cdk.mjs +780 -921
  161. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  162. package/lib/components/accordion/components/accordion/accordion.component.d.ts +5 -8
  163. package/lib/components/accordion/components/accordion-group/accordion-group.component.d.ts +3 -5
  164. package/lib/components/accordion/partials/accordion-hint/accordion-hint.directive.d.ts +1 -1
  165. package/lib/components/accordion/partials/accordion-hint-wrapper/accordion-hint-wrapper.directive.d.ts +1 -1
  166. package/lib/components/accordion/partials/accordion-label/accordion-label.directive.d.ts +1 -1
  167. package/lib/components/accordion/partials/accordion-label-wrapper/accordion-label-wrapper.directive.d.ts +1 -1
  168. package/lib/components/bracket/components/bracket/bracket.component.d.ts +1 -1
  169. package/lib/components/bracket/directives/bracket-match/bracket-match.directive.d.ts +1 -1
  170. package/lib/components/bracket/directives/bracket-round/bracket-round.directive.d.ts +1 -1
  171. package/lib/components/bracket/partials/bracket-match/bracket-match.component.d.ts +1 -1
  172. package/lib/components/bracket/partials/bracket-round-header/bracket-round-header.component.d.ts +1 -1
  173. package/lib/components/button/components/button/button.component.d.ts +1 -1
  174. package/lib/components/button/components/query-button/query-button.component.d.ts +1 -1
  175. package/lib/components/button/directives/button/button.directive.d.ts +3 -4
  176. package/lib/components/button/directives/query-button/query-button.directive.d.ts +1 -1
  177. package/lib/components/forms/components/checkbox/components/checkbox/checkbox.component.d.ts +1 -1
  178. package/lib/components/forms/components/checkbox/components/checkbox-field/checkbox-field.component.d.ts +1 -1
  179. package/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.d.ts +1 -1
  180. package/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.d.ts +1 -1
  181. package/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.d.ts +1 -1
  182. package/lib/components/forms/components/checkbox/directives/checkbox-group/checkbox-group.directive.d.ts +1 -1
  183. package/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.d.ts +1 -1
  184. package/lib/components/forms/components/error/components/error/error.component.d.ts +1 -1
  185. package/lib/components/forms/components/input/components/email-input/email-input.component.d.ts +1 -1
  186. package/lib/components/forms/components/input/components/input-field/input-field.component.d.ts +1 -1
  187. package/lib/components/forms/components/input/components/number-input/number-input.component.d.ts +1 -1
  188. package/lib/components/forms/components/input/components/password-input/password-input.component.d.ts +1 -1
  189. package/lib/components/forms/components/input/components/search-input/search-input.component.d.ts +1 -1
  190. package/lib/components/forms/components/input/components/text-input/text-input.component.d.ts +1 -1
  191. package/lib/components/forms/components/input/components/textarea-input/textarea-input.component.d.ts +5 -8
  192. package/lib/components/forms/components/input/directives/autosize-textarea/autosize-textarea.directive.d.ts +1 -1
  193. package/lib/components/forms/components/input/directives/email-input/email-input.directive.d.ts +1 -1
  194. package/lib/components/forms/components/input/directives/number-input/number-input.directive.d.ts +1 -1
  195. package/lib/components/forms/components/input/directives/password-input/password-input.directive.d.ts +1 -1
  196. package/lib/components/forms/components/input/directives/search-input/search-input.directive.d.ts +1 -1
  197. package/lib/components/forms/components/input/directives/text-input/text-input.directive.d.ts +1 -1
  198. package/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.d.ts +1 -1
  199. package/lib/components/forms/components/input/partials/password-input-toggle/password-input-toggle.component.d.ts +1 -1
  200. package/lib/components/forms/components/input/partials/search-input-clear/search-input-clear.component.d.ts +1 -1
  201. package/lib/components/forms/components/label/components/label/label.component.d.ts +1 -1
  202. package/lib/components/forms/components/label/directives/label-suffix/label-suffix.directive.d.ts +3 -5
  203. package/lib/components/forms/components/radio/components/radio/radio.component.d.ts +1 -1
  204. package/lib/components/forms/components/radio/components/radio-field/radio-field.component.d.ts +1 -1
  205. package/lib/components/forms/components/radio/components/radio-group/radio-group.component.d.ts +1 -1
  206. package/lib/components/forms/components/radio/directives/radio/radio.directive.d.ts +2 -3
  207. package/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.d.ts +1 -1
  208. package/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.d.ts +1 -1
  209. package/lib/components/forms/components/segmented-button/components/segmented-button/segmented-button.component.d.ts +1 -1
  210. package/lib/components/forms/components/segmented-button/components/segmented-button-field/segmented-button-field.component.d.ts +1 -1
  211. package/lib/components/forms/components/segmented-button/components/segmented-button-group/segmented-button-group.component.d.ts +1 -1
  212. package/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.d.ts +2 -3
  213. package/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.d.ts +1 -1
  214. package/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.d.ts +1 -1
  215. package/lib/components/forms/components/select/components/combobox/components/combobox/combobox.component.d.ts +5 -6
  216. package/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.d.ts +1 -1
  217. package/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.d.ts +1 -1
  218. package/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.d.ts +1 -1
  219. package/lib/components/forms/components/select/components/native-select/components/native-select/native-select.component.d.ts +1 -1
  220. package/lib/components/forms/components/select/components/native-select/directives/native-select-input/native-select-input.directive.d.ts +1 -1
  221. package/lib/components/forms/components/select/components/native-select/directives/native-select-option/native-select-option.directive.d.ts +5 -8
  222. package/lib/components/forms/components/select/components/native-select/partials/native-select-option/native-select-option.component.d.ts +1 -1
  223. package/lib/components/forms/components/select/components/select/components/select/select.component.d.ts +1 -1
  224. package/lib/components/forms/components/select/components/select/directives/select/select.directive.d.ts +2 -3
  225. package/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.d.ts +1 -1
  226. package/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.d.ts +2 -3
  227. package/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.d.ts +1 -1
  228. package/lib/components/forms/components/select/components/select/partials/select-option/select-option.component.d.ts +1 -1
  229. package/lib/components/forms/components/select/components/select-field/select-field.component.d.ts +1 -1
  230. package/lib/components/forms/components/select/directives/select-field/select-field.directive.d.ts +1 -1
  231. package/lib/components/forms/components/slide-toggle/components/slide-toggle/slide-toggle.component.d.ts +1 -1
  232. package/lib/components/forms/components/slide-toggle/components/slide-toggle-field/slide-toggle-field.component.d.ts +1 -1
  233. package/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.d.ts +1 -1
  234. package/lib/components/forms/components/slider/components/slider/slider.component.d.ts +6 -7
  235. package/lib/components/forms/components/slider/components/slider-field/slider-field.component.d.ts +1 -1
  236. package/lib/components/forms/directives/dynamic-form-field/dynamic-form-field.directive.d.ts +2 -3
  237. package/lib/components/forms/directives/dynamic-form-group/dynamic-form-group.directive.d.ts +2 -3
  238. package/lib/components/forms/directives/if-input-empty/if-input-empty.directive.d.ts +1 -1
  239. package/lib/components/forms/directives/if-input-filled/if-input-filled.directive.d.ts +1 -1
  240. package/lib/components/forms/directives/input/input.directive.d.ts +1 -1
  241. package/lib/components/forms/directives/input-prefix/input-prefix.directive.d.ts +1 -1
  242. package/lib/components/forms/directives/input-suffix/input-suffix.directive.d.ts +1 -1
  243. package/lib/components/forms/directives/native-input-ref/native-input-ref.directive.d.ts +1 -1
  244. package/lib/components/forms/directives/static-form-field/static-form-field.directive.d.ts +1 -1
  245. package/lib/components/forms/directives/static-form-group/static-form-group.directive.d.ts +1 -1
  246. package/lib/components/forms/directives/writeable-input/writeable-input.directive.d.ts +1 -1
  247. package/lib/components/forms/utils/decorated-form-field.base.d.ts +1 -1
  248. package/lib/components/forms/utils/decorated-input.base.d.ts +1 -1
  249. package/lib/components/forms/utils/input.base.d.ts +1 -1
  250. package/lib/components/icons/chevron-icon/chevron-icon.component.d.ts +1 -1
  251. package/lib/components/masonry/components/masonry/masonry.component.d.ts +3 -4
  252. package/lib/components/masonry/partials/masonry-item/masonry-item.component.d.ts +1 -1
  253. package/lib/components/overlay/components/bottom-sheet/components/bottom-sheet-container/bottom-sheet-container.component.d.ts +1 -1
  254. package/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-container-base/bottom-sheet-container-base.component.d.ts +1 -1
  255. package/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-drag-handle/bottom-sheet-drag-handle.component.d.ts +1 -1
  256. package/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-title/bottom-sheet-title.directive.d.ts +1 -1
  257. package/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-base.service.d.ts +1 -1
  258. package/lib/components/overlay/components/dialog/components/dialog-container/dialog-container.component.d.ts +1 -1
  259. package/lib/components/overlay/components/dialog/partials/dialog-close/dialog-close.directive.d.ts +1 -1
  260. package/lib/components/overlay/components/dialog/partials/dialog-container-base/dialog-container-base.component.d.ts +1 -1
  261. package/lib/components/overlay/components/dialog/partials/dialog-title/dialog-title.directive.d.ts +1 -1
  262. package/lib/components/overlay/components/dialog/services/dialog-base.service.d.ts +1 -1
  263. package/lib/components/overlay/components/toggletip/components/toggletip/toggletip.component.d.ts +1 -1
  264. package/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.d.ts +2 -3
  265. package/lib/components/overlay/components/tooltip/components/tooltip/tooltip.component.d.ts +1 -1
  266. package/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.d.ts +1 -1
  267. package/lib/components/overlay/services/dynamic-overlay.service.d.ts +3 -6
  268. package/lib/components/pagination/components/pagination/pagination.component.d.ts +4 -4
  269. package/lib/components/pagination/partials/pagination-link/pagination-link.directive.d.ts +1 -1
  270. package/lib/components/picture/picture-data.directive.d.ts +3 -5
  271. package/lib/components/picture/picture.component.d.ts +1 -1
  272. package/lib/components/progress-spinner/progress-spinner.component.d.ts +7 -10
  273. package/lib/components/scrollable/components/scrollable/scrollable.component.d.ts +7 -3
  274. package/lib/components/skeleton/components/skeleton/skeleton.component.d.ts +3 -5
  275. package/lib/components/skeleton/partials/skeleton-item/skeleton-item.component.d.ts +1 -1
  276. package/lib/components/sort/components/sort-header/sort-header.component.d.ts +18 -22
  277. package/lib/components/sort/partials/sort/sort.directive.d.ts +8 -12
  278. package/lib/components/table/components/table/table.component.d.ts +2 -3
  279. package/lib/components/table/partials/cells/cell/cell.directive.d.ts +1 -1
  280. package/lib/components/table/partials/cells/cell-def/cell-def.directive.d.ts +1 -1
  281. package/lib/components/table/partials/cells/column-def/column-def.directive.d.ts +1 -1
  282. package/lib/components/table/partials/cells/footer-cell/footer-cell.directive.d.ts +1 -1
  283. package/lib/components/table/partials/cells/footer-cell-def/footer-cell-def.directive.d.ts +1 -1
  284. package/lib/components/table/partials/cells/header-cell/header-cell.directive.d.ts +1 -1
  285. package/lib/components/table/partials/cells/header-cell-def/header-cell-def.directive.d.ts +1 -1
  286. package/lib/components/table/partials/cells/text-column/text-column.component.d.ts +1 -1
  287. package/lib/components/table/partials/rows/footer-row/footer-row.component.d.ts +1 -1
  288. package/lib/components/table/partials/rows/footer-row-def/footer-row-def.directive.d.ts +1 -1
  289. package/lib/components/table/partials/rows/header-row/header-row.component.d.ts +1 -1
  290. package/lib/components/table/partials/rows/header-row-def/header-row-def.directive.d.ts +1 -1
  291. package/lib/components/table/partials/rows/no-data-row/no-data-row.directive.d.ts +1 -1
  292. package/lib/components/table/partials/rows/recycle-rows/recycle-rows.directive.d.ts +1 -1
  293. package/lib/components/table/partials/rows/row/row.component.d.ts +1 -1
  294. package/lib/components/table/partials/rows/row-def/row-def.directive.d.ts +1 -1
  295. package/lib/components/table/partials/table-busy/table-busy.directive.d.ts +2 -3
  296. package/lib/components/table/partials/table-busy-outlet/table-busy-outlet.directive.d.ts +2 -3
  297. package/lib/components/tabs/components/inline-tabs/inline-tabs.component.d.ts +15 -24
  298. package/lib/components/tabs/components/nav-tabs/nav-tabs.component.d.ts +3 -8
  299. package/lib/components/tabs/partials/inline-tabs/inline-tab/inline-tab.component.d.ts +5 -8
  300. package/lib/components/tabs/partials/inline-tabs/inline-tab-body/inline-tab-body.component.d.ts +6 -5
  301. package/lib/components/tabs/partials/inline-tabs/inline-tab-body-host/inline-tab-body-host.directive.d.ts +1 -1
  302. package/lib/components/tabs/partials/inline-tabs/inline-tab-content/inline-tab-content.directive.d.ts +2 -3
  303. package/lib/components/tabs/partials/inline-tabs/inline-tab-header/inline-tab-header.component.d.ts +3 -6
  304. package/lib/components/tabs/partials/inline-tabs/inline-tab-label/inline-tab-label.directive.d.ts +1 -1
  305. package/lib/components/tabs/partials/inline-tabs/inline-tab-label-wrapper/inline-tab-label-wrapper.directive.d.ts +4 -7
  306. package/lib/components/tabs/partials/nav-tabs/nav-tab-link/nav-tab-link.directive.d.ts +14 -18
  307. package/lib/components/tabs/partials/nav-tabs/nav-tabs-outlet/nav-tabs-outlet.component.d.ts +1 -1
  308. package/lib/components/tabs/utils/active-tab-underline.util.d.ts +2 -3
  309. package/lib/components/tabs/utils/paginated-tab-header.directive.d.ts +12 -17
  310. package/package.json +4 -5
@@ -1,5 +1,4 @@
1
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
- import { Directive, ElementRef, InjectionToken, Input, inject, isDevMode } from '@angular/core';
1
+ import { Directive, ElementRef, InjectionToken, Input, booleanAttribute, inject, isDevMode, } from '@angular/core';
3
2
  import { ObserveContentDirective, createReactiveBindings } from '@ethlete/core';
4
3
  import { BehaviorSubject, combineLatest, firstValueFrom, map } from 'rxjs';
5
4
  import { SELECT_TOKEN } from '../select';
@@ -49,7 +48,7 @@ export class SelectOptionDirective {
49
48
  return this._disabled$.value;
50
49
  }
51
50
  set disabled(value) {
52
- this._disabled$.next(coerceBooleanProperty(value));
51
+ this._disabled$.next(booleanAttribute(value));
53
52
  }
54
53
  ngAfterContentInit() {
55
54
  this._updateViewValue();
@@ -83,15 +82,15 @@ export class SelectOptionDirective {
83
82
  _setActive(isActive) {
84
83
  this._isActive$.next(isActive);
85
84
  }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SelectOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
87
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: SelectOptionDirective, isStandalone: true, inputs: { value: "value", disabled: "disabled" }, host: { attributes: { "role": "option" }, listeners: { "click": "setSelectValue()", "etObserveContent": "_updateViewValue()" }, properties: { "attr.id": "id", "attr.aria-disabled": "disabled", "class.et-select-option--disabled": "disabled" } }, providers: [
85
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SelectOptionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
86
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.1", type: SelectOptionDirective, isStandalone: true, inputs: { value: "value", disabled: "disabled" }, host: { attributes: { "role": "option" }, listeners: { "click": "setSelectValue()", "etObserveContent": "_updateViewValue()" }, properties: { "attr.id": "id", "attr.aria-disabled": "disabled", "class.et-select-option--disabled": "disabled" } }, providers: [
88
87
  {
89
88
  provide: SELECT_OPTION_TOKEN,
90
89
  useExisting: SelectOptionDirective,
91
90
  },
92
91
  ], hostDirectives: [{ directive: i1.ObserveContentDirective }], ngImport: i0 }); }
93
92
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SelectOptionDirective, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SelectOptionDirective, decorators: [{
95
94
  type: Directive,
96
95
  args: [{
97
96
  standalone: true,
@@ -117,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
117
116
  }], disabled: [{
118
117
  type: Input
119
118
  }] } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9zZWxlY3QvY29tcG9uZW50cy9zZWxlY3QvZGlyZWN0aXZlcy9zZWxlY3Qtb3B0aW9uL3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUV6QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLGNBQWMsQ0FBd0Isd0JBQXdCLENBQUMsQ0FBQztBQUV2RyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFvQmpCLE1BQU0sT0FBTyxxQkFBcUI7SUFsQmxDO1FBbUJtQixZQUFPLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9CLGdCQUFXLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUMxRCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNwRyxlQUFVLEdBQUcs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RSxvQkFBb0I7d0JBQzFDLElBQUksRUFBRSxRQUFRO3FCQUNmO29CQUNELGNBQWMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUMxQzs4QkFVSyxLQUFLO3NCQURSLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQVVyQixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdGlvblRva2VuLCBJbnB1dCwgaW5qZWN0LCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmVDb250ZW50RGlyZWN0aXZlLCBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpcnN0VmFsdWVGcm9tLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNFTEVDVF9UT0tFTiB9IGZyb20gJy4uL3NlbGVjdCc7XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RfT1BUSU9OX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFNlbGVjdE9wdGlvbkRpcmVjdGl2ZT4oJ0VUX1NFTEVDVF9PUFRJT05fVE9LRU4nKTtcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNFTEVDVF9PUFRJT05fVE9LRU4sXG4gICAgICB1c2VFeGlzdGluZzogU2VsZWN0T3B0aW9uRGlyZWN0aXZlLFxuICAgIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbY2xhc3MuZXQtc2VsZWN0LW9wdGlvbi0tZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnKGNsaWNrKSc6ICdzZXRTZWxlY3RWYWx1ZSgpJyxcbiAgICAnKGV0T2JzZXJ2ZUNvbnRlbnQpJzogJ191cGRhdGVWaWV3VmFsdWUoKScsXG4gICAgcm9sZTogJ29wdGlvbicsXG4gIH0sXG4gIGhvc3REaXJlY3RpdmVzOiBbT2JzZXJ2ZUNvbnRlbnREaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RPcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VsZWN0ID0gaW5qZWN0KFNFTEVDVF9UT0tFTik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF92aWV3VmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudD8udHJpbSgpID8/ICcnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaXNBY3RpdmUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgaWQgPSBgZXQtc2VsZWN0LW9wdGlvbi0ke3VuaXF1ZUlkKyt9YDtcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlJC52YWx1ZTtcbiAgfVxuICBzZXQgdmFsdWUodmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLl92YWx1ZSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx1bmtub3duPihudWxsKTtcblxuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkJC52YWx1ZTtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuX2Rpc2FibGVkJC5uZXh0KGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpO1xuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGlzU2VsZWN0ZWQkID0gY29tYmluZUxhdGVzdChbdGhpcy5fc2VsZWN0LmlucHV0LnZhbHVlJCwgdGhpcy5fdmFsdWUkXSkucGlwZShcbiAgICBtYXAoKFtzZWxlY3RWYWx1ZSwgb3B0aW9uVmFsdWVdKSA9PiB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShzZWxlY3RWYWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdFZhbHVlLmluY2x1ZGVzKG9wdGlvblZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHNlbGVjdFZhbHVlID09PSBvcHRpb25WYWx1ZTtcbiAgICB9KSxcbiAgKTtcblxuICByZWFkb25seSB2aWV3VmFsdWUkID0gdGhpcy5fdmlld1ZhbHVlJC5hc09ic2VydmFibGUoKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQkID0gdGhpcy5fZGlzYWJsZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICByZWFkb25seSBpc0FjdGl2ZSQgPSB0aGlzLl9pc0FjdGl2ZSQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcmVhZG9ubHkgX2JpbmRpbmdzID0gY3JlYXRlUmVhY3RpdmVCaW5kaW5ncyhcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdjbGFzcy5ldC1zZWxlY3Qtb3B0aW9uLS1zZWxlY3RlZCcsXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLmlzU2VsZWN0ZWQkLFxuICAgIH0sXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnY2xhc3MuZXQtc2VsZWN0LW9wdGlvbi0tYWN0aXZlJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2lzQWN0aXZlJCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2FyaWEtc2VsZWN0ZWQnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5pc1NlbGVjdGVkJC5waXBlKFxuICAgICAgICBtYXAoKHNlbGVjdGVkKSA9PiAoe1xuICAgICAgICAgIHJlbmRlcjogdHJ1ZSxcbiAgICAgICAgICB2YWx1ZTogc2VsZWN0ZWQsXG4gICAgICAgIH0pKSxcbiAgICAgICksXG4gICAgfSxcbiAgKTtcblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlVmlld1ZhbHVlKCk7XG4gIH1cblxuICBhc3luYyBzZXRTZWxlY3RWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuXG4gICAgaWYgKHRoaXMuX3NlbGVjdC5tdWx0aXBsZSkge1xuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHRoaXMuX3NlbGVjdC5pbnB1dC52YWx1ZSkpIHtcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdTZWxlY3QgbXVsdGlwbGUgaXMgZW5hYmxlZCBidXQgdGhlIHZhbHVlIGlzIG5vdCBhbiBhcnJheScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpc1NlbGVjdGVkID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5pc1NlbGVjdGVkJCk7XG5cbiAgICAgIGlmIChpc1NlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdC5zZXRWYWx1ZSh0aGlzLl9zZWxlY3QuaW5wdXQudmFsdWUuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT09IHRoaXMudmFsdWUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdC5zZXRWYWx1ZShbLi4udGhpcy5fc2VsZWN0LmlucHV0LnZhbHVlLCB0aGlzLnZhbHVlXSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NlbGVjdC5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuX3NlbGVjdC51bm1vdW50U2VsZWN0Qm9keSgpO1xuICAgIH1cbiAgfVxuXG4gIF91cGRhdGVWaWV3VmFsdWUoKSB7XG4gICAgdGhpcy5fdmlld1ZhbHVlJC5uZXh0KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudD8udHJpbSgpID8/ICcnKTtcbiAgfVxuXG4gIF9zZXRBY3RpdmUoaXNBY3RpdmU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pc0FjdGl2ZSQubmV4dChpc0FjdGl2ZSk7XG4gIH1cbn1cbiJdfQ==
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LW9wdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY29tcG9uZW50cy9zZWxlY3QvY29tcG9uZW50cy9zZWxlY3QvZGlyZWN0aXZlcy9zZWxlY3Qtb3B0aW9uL3NlbGVjdC1vcHRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLGNBQWMsRUFDZCxLQUFLLEVBQ0wsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBRXpDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUF3Qix3QkFBd0IsQ0FBQyxDQUFDO0FBRXZHLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQW9CakIsTUFBTSxPQUFPLHFCQUFxQjtJQWxCbEM7UUFtQm1CLFlBQU8sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO1FBQzFELGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3BHLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVo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ZjtvQkFDRCxjQUFjLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDMUM7OEJBVUssS0FBSztzQkFEUixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFVckIsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGluamVjdCxcbiAgaXNEZXZNb2RlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmVDb250ZW50RGlyZWN0aXZlLCBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGZpcnN0VmFsdWVGcm9tLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNFTEVDVF9UT0tFTiB9IGZyb20gJy4uL3NlbGVjdCc7XG5cbmV4cG9ydCBjb25zdCBTRUxFQ1RfT1BUSU9OX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFNlbGVjdE9wdGlvbkRpcmVjdGl2ZT4oJ0VUX1NFTEVDVF9PUFRJT05fVE9LRU4nKTtcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNFTEVDVF9PUFRJT05fVE9LRU4sXG4gICAgICB1c2VFeGlzdGluZzogU2VsZWN0T3B0aW9uRGlyZWN0aXZlLFxuICAgIH0sXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2lkJyxcbiAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICdbY2xhc3MuZXQtc2VsZWN0LW9wdGlvbi0tZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnKGNsaWNrKSc6ICdzZXRTZWxlY3RWYWx1ZSgpJyxcbiAgICAnKGV0T2JzZXJ2ZUNvbnRlbnQpJzogJ191cGRhdGVWaWV3VmFsdWUoKScsXG4gICAgcm9sZTogJ29wdGlvbicsXG4gIH0sXG4gIGhvc3REaXJlY3RpdmVzOiBbT2JzZXJ2ZUNvbnRlbnREaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RPcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2VsZWN0ID0gaW5qZWN0KFNFTEVDVF9UT0tFTik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF92aWV3VmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudD8udHJpbSgpID8/ICcnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaXNBY3RpdmUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgaWQgPSBgZXQtc2VsZWN0LW9wdGlvbi0ke3VuaXF1ZUlkKyt9YDtcblxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBnZXQgdmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlJC52YWx1ZTtcbiAgfVxuICBzZXQgdmFsdWUodmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLl92YWx1ZSQubmV4dCh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDx1bmtub3duPihudWxsKTtcblxuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkJC52YWx1ZTtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCQubmV4dChib29sZWFuQXR0cmlidXRlKHZhbHVlKSk7XG4gIH1cbiAgcHJpdmF0ZSBfZGlzYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcmVhZG9ubHkgaXNTZWxlY3RlZCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9zZWxlY3QuaW5wdXQudmFsdWUkLCB0aGlzLl92YWx1ZSRdKS5waXBlKFxuICAgIG1hcCgoW3NlbGVjdFZhbHVlLCBvcHRpb25WYWx1ZV0pID0+IHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHNlbGVjdFZhbHVlKSkge1xuICAgICAgICByZXR1cm4gc2VsZWN0VmFsdWUuaW5jbHVkZXMob3B0aW9uVmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc2VsZWN0VmFsdWUgPT09IG9wdGlvblZhbHVlO1xuICAgIH0pLFxuICApO1xuXG4gIHJlYWRvbmx5IHZpZXdWYWx1ZSQgPSB0aGlzLl92aWV3VmFsdWUkLmFzT2JzZXJ2YWJsZSgpO1xuICByZWFkb25seSBkaXNhYmxlZCQgPSB0aGlzLl9kaXNhYmxlZCQuYXNPYnNlcnZhYmxlKCk7XG4gIHJlYWRvbmx5IGlzQWN0aXZlJCA9IHRoaXMuX2lzQWN0aXZlJC5hc09ic2VydmFibGUoKTtcblxuICByZWFkb25seSBfYmluZGluZ3MgPSBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzKFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LXNlbGVjdC1vcHRpb24tLXNlbGVjdGVkJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuaXNTZWxlY3RlZCQsXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdjbGFzcy5ldC1zZWxlY3Qtb3B0aW9uLS1hY3RpdmUnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5faXNBY3RpdmUkLFxuICAgIH0sXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnYXJpYS1zZWxlY3RlZCcsXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLmlzU2VsZWN0ZWQkLnBpcGUoXG4gICAgICAgIG1hcCgoc2VsZWN0ZWQpID0+ICh7XG4gICAgICAgICAgcmVuZGVyOiB0cnVlLFxuICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZCxcbiAgICAgICAgfSkpLFxuICAgICAgKSxcbiAgICB9LFxuICApO1xuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl91cGRhdGVWaWV3VmFsdWUoKTtcbiAgfVxuXG4gIGFzeW5jIHNldFNlbGVjdFZhbHVlKCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy5fc2VsZWN0Lm11bHRpcGxlKSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodGhpcy5fc2VsZWN0LmlucHV0LnZhbHVlKSkge1xuICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oJ1NlbGVjdCBtdWx0aXBsZSBpcyBlbmFibGVkIGJ1dCB0aGUgdmFsdWUgaXMgbm90IGFuIGFycmF5Jyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmlzU2VsZWN0ZWQkKTtcblxuICAgICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0LnNldFZhbHVlKHRoaXMuX3NlbGVjdC5pbnB1dC52YWx1ZS5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAhPT0gdGhpcy52YWx1ZSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0LnNldFZhbHVlKFsuLi50aGlzLl9zZWxlY3QuaW5wdXQudmFsdWUsIHRoaXMudmFsdWVdKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2VsZWN0LnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5fc2VsZWN0LnVubW91bnRTZWxlY3RCb2R5KCk7XG4gICAgfVxuICB9XG5cbiAgX3VwZGF0ZVZpZXdWYWx1ZSgpIHtcbiAgICB0aGlzLl92aWV3VmFsdWUkLm5leHQodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50Py50cmltKCkgPz8gJycpO1xuICB9XG5cbiAgX3NldEFjdGl2ZShpc0FjdGl2ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzQWN0aXZlJC5uZXh0KGlzQWN0aXZlKTtcbiAgfVxufVxuIl19
@@ -9,14 +9,14 @@ export class SelectBodyComponent {
9
9
  this.selectBody = inject(SELECT_BODY_TOKEN);
10
10
  this._bodyTemplate = null;
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SelectBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SelectBodyComponent, isStandalone: true, selector: "et-select-body", host: { classAttribute: "et-select-body et-with-default-animation" }, viewQueries: [{ propertyName: "_animatedLifecycle", first: true, predicate: ANIMATED_LIFECYCLE_TOKEN, descendants: true, static: true }], hostDirectives: [{ directive: i1.SelectBodyDirective }], ngImport: i0, template: `
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SelectBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: SelectBodyComponent, isStandalone: true, selector: "et-select-body", host: { classAttribute: "et-select-body et-with-default-animation" }, viewQueries: [{ propertyName: "_animatedLifecycle", first: true, predicate: ANIMATED_LIFECYCLE_TOKEN, descendants: true, static: true }], hostDirectives: [{ directive: i1.SelectBodyDirective }], ngImport: i0, template: `
14
14
  <div class="et-select-body-container" etAnimatedLifecycle>
15
15
  <ng-container [ngTemplateOutlet]="_bodyTemplate" />
16
16
  </div>
17
17
  `, isInline: true, styles: [".et-select-body.et-with-default-animation .et-select-body-container.et-animation-enter-from,.et-select-body.et-with-default-animation .et-select-body-container.et-animation-leave-to{opacity:0;transform:scaleY(0)}.et-select-body.et-with-default-animation .et-select-body-container.et-animation-enter-active{transition:transform 125ms var(--ease-out-5),opacity 125ms var(--ease-out-5)}.et-select-body.et-with-default-animation .et-select-body-container.et-animation-leave-active{transition:transform 50ms var(--ease-in-5),opacity 50ms var(--ease-in-5)}.et-select-body.et-with-default-animation[data-popper-placement^=top] .et-select-body-container{transform-origin:bottom}.et-select-body.et-with-default-animation[data-popper-placement^=bottom] .et-select-body-container{transform-origin:top}.et-select-body-container{display:block;background-color:#3d3d3d;color:#fff;max-height:300px;overflow:auto}@supports (overflow: overlay){.et-select-body-container{overflow:overlay}}.et-select-body{width:100%;display:grid}\n"], dependencies: [{ kind: "directive", type: AnimatedLifecycleDirective, selector: "[etAnimatedLifecycle]", exportAs: ["etAnimatedLifecycle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SelectBodyComponent, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SelectBodyComponent, decorators: [{
20
20
  type: Component,
21
21
  args: [{ selector: 'et-select-body', template: `
22
22
  <div class="et-select-body-container" etAnimatedLifecycle>
@@ -7,10 +7,10 @@ export class SelectOptionComponent {
7
7
  constructor() {
8
8
  this.selectOption = inject(SELECT_OPTION_TOKEN);
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SelectOptionComponent, isStandalone: true, selector: "et-select-option", host: { classAttribute: "et-select-option" }, hostDirectives: [{ directive: i1.SelectOptionDirective, inputs: ["value", "value", "disabled", "disabled"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: SelectOptionComponent, isStandalone: true, selector: "et-select-option", host: { classAttribute: "et-select-option" }, hostDirectives: [{ directive: i1.SelectOptionDirective, inputs: ["value", "value", "disabled", "disabled"] }], ngImport: i0, template: ` <ng-content /> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SelectOptionComponent, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SelectOptionComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{
16
16
  selector: 'et-select-option',
@@ -15,8 +15,8 @@ export class SelectFieldComponent extends DecoratedFormFieldBase {
15
15
  super(...arguments);
16
16
  this.inputState = inject(InputStateService);
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SelectFieldComponent, isStandalone: true, selector: "et-select-field", host: { classAttribute: "et-form-field et-select-field" }, usesInheritance: true, hostDirectives: [{ directive: i1.SelectFieldDirective }, { directive: i2.StaticFormFieldDirective }, { directive: i3.WriteableInputDirective }, { directive: i0.forwardRef(function () { return i4.DynamicFormFieldDirective; }), inputs: ["hideErrorMessage", "hideErrorMessage"] }], ngImport: i0, template: `
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: SelectFieldComponent, isStandalone: true, selector: "et-select-field", host: { classAttribute: "et-form-field et-select-field" }, usesInheritance: true, hostDirectives: [{ directive: i1.SelectFieldDirective }, { directive: i2.StaticFormFieldDirective }, { directive: i3.WriteableInputDirective }, { directive: i0.forwardRef(function () { return i4.DynamicFormFieldDirective; }), inputs: ["hideErrorMessage", "hideErrorMessage"] }], ngImport: i0, template: `
20
20
  <ng-content select="et-label" />
21
21
  <div class="et-select-field-input">
22
22
  <ng-content />
@@ -24,7 +24,7 @@ export class SelectFieldComponent extends DecoratedFormFieldBase {
24
24
  <et-error [errors]="inputState.errors$ | async" />
25
25
  `, isInline: true, dependencies: [{ kind: "component", type: ErrorComponent, selector: "et-error", inputs: ["errors"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SelectFieldComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SelectFieldComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{
30
30
  selector: 'et-select-field',
@@ -6,10 +6,10 @@ export class SelectFieldDirective {
6
6
  constructor() {
7
7
  this._bindings = createReactiveBindings();
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SelectFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: SelectFieldDirective, isStandalone: true, providers: [{ provide: SELECT_FIELD_TOKEN, useExisting: SelectFieldDirective }], exportAs: ["etSelectField"], ngImport: i0 }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SelectFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.1", type: SelectFieldDirective, isStandalone: true, providers: [{ provide: SELECT_FIELD_TOKEN, useExisting: SelectFieldDirective }], exportAs: ["etSelectField"], ngImport: i0 }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SelectFieldDirective, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SelectFieldDirective, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  standalone: true,
@@ -11,10 +11,10 @@ export class SlideToggleComponent extends InputBase {
11
11
  super(...arguments);
12
12
  this.slideToggle = inject(SLIDE_TOGGLE_TOKEN);
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SlideToggleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SlideToggleComponent, isStandalone: true, selector: "et-slide-toggle", host: { classAttribute: "et-slide-toggle" }, usesInheritance: true, hostDirectives: [{ directive: i1.SlideToggleDirective }, { directive: i2.InputDirective }], ngImport: i0, template: "<button\n [attr.tabindex]=\"(input.disabled$ | async) ? -1 : 0\"\n [attr.aria-checked]=\"slideToggle.checked$ | async\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.id]=\"input.id\"\n (click)=\"slideToggle._onInputInteraction($event)\"\n (blur)=\"slideToggle._controlTouched()\"\n class=\"et-slide-toggle-button\"\n role=\"switch\"\n type=\"button\"\n etNativeInputRef\n>\n <div class=\"et-slide-toggle-handle\"></div>\n</button>\n", styles: [":where(.et-slide-toggle-button){--et-slide-toggle-button-inline-size: 42px;--et-slide-toggle-button-block-size: 22px;--et-slide-toggle-button-border-radius: 9999px;--et-slide-toggle-border-size: 1px;--et-slide-toggle-border-style: solid;--et-slide-toggle-track-unchecked-color: #e0e0e0;--et-slide-toggle-track-checked-color: #ff8686;--et-slide-toggle-border-unchecked-color: var(--et-slide-toggle-track-unchecked-color);--et-slide-toggle-border-checked-color: var(--et-slide-toggle-track-checked-color);--et-slide-toggle-thumb-size: calc( var(--et-slide-toggle-button-block-size) - (var(--et-slide-toggle-thumb-spacing) * 2) );--et-slide-toggle-thumb-spacing: 3px;--et-slide-toggle-border-radius: 9999px;--et-slide-toggle-thumb-unchecked-color: #525252;--et-slide-toggle-thumb-checked-color: var(--et-slide-toggle-thumb-unchecked-color)}:where(.et-slide-toggle){display:inline-block}.et-slide-toggle-button{position:relative;display:block;box-sizing:border-box;inline-size:var(--et-slide-toggle-button-inline-size);block-size:var(--et-slide-toggle-button-block-size);border-radius:var(--et-slide-toggle-button-border-radius);background-color:var(--et-slide-toggle-track-unchecked-color);border:var(--et-slide-toggle-border-size) var(--et-slide-toggle-border-style) var(--et-slide-toggle-border-unchecked-color);padding:0;transition:background-color .2s var(--ease-5),border-color .2s var(--ease-5)}.et-slide-toggle-button:not(:disabled){cursor:pointer}.et-slide-toggle-handle{position:absolute;inset-block-start:calc(var(--et-slide-toggle-thumb-spacing) - var(--et-slide-toggle-border-size));inset-inline-start:calc(var(--et-slide-toggle-thumb-spacing) - var(--et-slide-toggle-border-size));inline-size:var(--et-slide-toggle-thumb-size);block-size:var(--et-slide-toggle-thumb-size);border-radius:var(--et-slide-toggle-border-radius);background-color:var(--et-slide-toggle-thumb-unchecked-color);transition:transform .2s var(--ease-5),background-color .2s var(--ease-5)}.et-slide-toggle--checked .et-slide-toggle-button{background-color:var(--et-slide-toggle-track-checked-color);border-color:var(--et-slide-toggle-border-checked-color)}.et-slide-toggle--checked .et-slide-toggle-handle{transform:translate(calc(var(--et-slide-toggle-button-inline-size) - var(--et-slide-toggle-thumb-size) - var(--et-slide-toggle-thumb-spacing) * 2));background-color:var(--et-slide-toggle-thumb-checked-color)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SlideToggleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: SlideToggleComponent, isStandalone: true, selector: "et-slide-toggle", host: { classAttribute: "et-slide-toggle" }, usesInheritance: true, hostDirectives: [{ directive: i1.SlideToggleDirective }, { directive: i2.InputDirective }], ngImport: i0, template: "<button\n [attr.tabindex]=\"(input.disabled$ | async) ? -1 : 0\"\n [attr.aria-checked]=\"slideToggle.checked$ | async\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [disabled]=\"input.disabled$ | async\"\n [attr.id]=\"input.id\"\n (click)=\"slideToggle._onInputInteraction($event)\"\n (blur)=\"slideToggle._controlTouched()\"\n class=\"et-slide-toggle-button\"\n role=\"switch\"\n type=\"button\"\n etNativeInputRef\n>\n <div class=\"et-slide-toggle-handle\"></div>\n</button>\n", styles: [":where(.et-slide-toggle-button){--et-slide-toggle-button-inline-size: 42px;--et-slide-toggle-button-block-size: 22px;--et-slide-toggle-button-border-radius: 9999px;--et-slide-toggle-border-size: 1px;--et-slide-toggle-border-style: solid;--et-slide-toggle-track-unchecked-color: #e0e0e0;--et-slide-toggle-track-checked-color: #ff8686;--et-slide-toggle-border-unchecked-color: var(--et-slide-toggle-track-unchecked-color);--et-slide-toggle-border-checked-color: var(--et-slide-toggle-track-checked-color);--et-slide-toggle-thumb-size: calc( var(--et-slide-toggle-button-block-size) - (var(--et-slide-toggle-thumb-spacing) * 2) );--et-slide-toggle-thumb-spacing: 3px;--et-slide-toggle-border-radius: 9999px;--et-slide-toggle-thumb-unchecked-color: #525252;--et-slide-toggle-thumb-checked-color: var(--et-slide-toggle-thumb-unchecked-color)}:where(.et-slide-toggle){display:inline-block}.et-slide-toggle-button{position:relative;display:block;box-sizing:border-box;inline-size:var(--et-slide-toggle-button-inline-size);block-size:var(--et-slide-toggle-button-block-size);border-radius:var(--et-slide-toggle-button-border-radius);background-color:var(--et-slide-toggle-track-unchecked-color);border:var(--et-slide-toggle-border-size) var(--et-slide-toggle-border-style) var(--et-slide-toggle-border-unchecked-color);padding:0;transition:background-color .2s var(--ease-5),border-color .2s var(--ease-5)}.et-slide-toggle-button:not(:disabled){cursor:pointer}.et-slide-toggle-handle{position:absolute;inset-block-start:calc(var(--et-slide-toggle-thumb-spacing) - var(--et-slide-toggle-border-size));inset-inline-start:calc(var(--et-slide-toggle-thumb-spacing) - var(--et-slide-toggle-border-size));inline-size:var(--et-slide-toggle-thumb-size);block-size:var(--et-slide-toggle-thumb-size);border-radius:var(--et-slide-toggle-border-radius);background-color:var(--et-slide-toggle-thumb-unchecked-color);transition:transform .2s var(--ease-5),background-color .2s var(--ease-5)}.et-slide-toggle--checked .et-slide-toggle-button{background-color:var(--et-slide-toggle-track-checked-color);border-color:var(--et-slide-toggle-border-checked-color)}.et-slide-toggle--checked .et-slide-toggle-handle{transform:translate(calc(var(--et-slide-toggle-button-inline-size) - var(--et-slide-toggle-thumb-size) - var(--et-slide-toggle-thumb-spacing) * 2));background-color:var(--et-slide-toggle-thumb-checked-color)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SlideToggleComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SlideToggleComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'et-slide-toggle', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
20
20
  class: 'et-slide-toggle',
@@ -11,8 +11,8 @@ export class SlideToggleFieldComponent {
11
11
  constructor() {
12
12
  this.inputState = inject(InputStateService);
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SlideToggleFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SlideToggleFieldComponent, isStandalone: true, selector: "et-slide-toggle-field", host: { classAttribute: "et-form-field et-slide-toggle-field" }, hostDirectives: [{ directive: i1.StaticFormFieldDirective }, { directive: i2.WriteableInputDirective }, { directive: i0.forwardRef(function () { return i3.DynamicFormFieldDirective; }), inputs: ["hideErrorMessage", "hideErrorMessage"] }], ngImport: i0, template: `
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SlideToggleFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: SlideToggleFieldComponent, isStandalone: true, selector: "et-slide-toggle-field", host: { classAttribute: "et-form-field et-slide-toggle-field" }, hostDirectives: [{ directive: i1.StaticFormFieldDirective }, { directive: i2.WriteableInputDirective }, { directive: i0.forwardRef(function () { return i3.DynamicFormFieldDirective; }), inputs: ["hideErrorMessage", "hideErrorMessage"] }], ngImport: i0, template: `
16
16
  <div class="et-slide-toggle-field-container">
17
17
  <ng-content select="et-slide-toggle" />
18
18
  <ng-content select="et-label" />
@@ -20,7 +20,7 @@ export class SlideToggleFieldComponent {
20
20
  <et-error [errors]="inputState.errors$ | async" />
21
21
  `, isInline: true, dependencies: [{ kind: "component", type: ErrorComponent, selector: "et-error", inputs: ["errors"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SlideToggleFieldComponent, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SlideToggleFieldComponent, decorators: [{
24
24
  type: Component,
25
25
  args: [{
26
26
  selector: 'et-slide-toggle-field',
@@ -26,10 +26,10 @@ export class SlideToggleDirective {
26
26
  this.input._markAsTouched();
27
27
  this.input._setShouldDisplayError(true);
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SlideToggleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.0", type: SlideToggleDirective, isStandalone: true, providers: [{ provide: SLIDE_TOGGLE_TOKEN, useExisting: SlideToggleDirective }], exportAs: ["etSlideToggle"], ngImport: i0 }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SlideToggleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.1", type: SlideToggleDirective, isStandalone: true, providers: [{ provide: SLIDE_TOGGLE_TOKEN, useExisting: SlideToggleDirective }], exportAs: ["etSlideToggle"], ngImport: i0 }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SlideToggleDirective, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SlideToggleDirective, decorators: [{
33
33
  type: Directive,
34
34
  args: [{
35
35
  standalone: true,
@@ -1,8 +1,7 @@
1
1
  import { Directionality } from '@angular/cdk/bidi';
2
- import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
3
2
  import { AsyncPipe, DOCUMENT, NgIf } from '@angular/common';
4
- import { ChangeDetectionStrategy, Component, ElementRef, inject, Input, ViewEncapsulation, } from '@angular/core';
5
- import { clamp, createDestroy, createReactiveBindings, LetDirective } from '@ethlete/core';
3
+ import { ChangeDetectionStrategy, Component, ElementRef, Input, ViewEncapsulation, booleanAttribute, inject, numberAttribute, } from '@angular/core';
4
+ import { LetDirective, clamp, createDestroy, createReactiveBindings } from '@ethlete/core';
6
5
  import { BehaviorSubject, combineLatest, filter, fromEvent, map, merge, of, startWith, switchMap, take, takeUntil, tap, withLatestFrom, } from 'rxjs';
7
6
  import { INPUT_TOKEN, InputDirective } from '../../../../directives';
8
7
  import { FormFieldStateService } from '../../../../services';
@@ -172,31 +171,31 @@ export class SliderComponent {
172
171
  return this._min$.value;
173
172
  }
174
173
  set min(value) {
175
- this._min$.next(coerceNumberProperty(value));
174
+ this._min$.next(numberAttribute(value, 0));
176
175
  }
177
176
  get max() {
178
177
  return this._max$.value;
179
178
  }
180
179
  set max(value) {
181
- this._max$.next(coerceNumberProperty(value));
180
+ this._max$.next(numberAttribute(value, 100));
182
181
  }
183
182
  get step() {
184
183
  return this._step$.value;
185
184
  }
186
185
  set step(value) {
187
- this._step$.next(coerceNumberProperty(value));
186
+ this._step$.next(numberAttribute(value, 1));
188
187
  }
189
188
  get vertical() {
190
189
  return this._vertical$.value;
191
190
  }
192
191
  set vertical(value) {
193
- this._vertical$.next(coerceBooleanProperty(value));
192
+ this._vertical$.next(booleanAttribute(value));
194
193
  }
195
194
  get inverted() {
196
195
  return this._inverted$.value;
197
196
  }
198
197
  set inverted(value) {
199
- this._inverted$.next(coerceBooleanProperty(value));
198
+ this._inverted$.next(booleanAttribute(value));
200
199
  }
201
200
  ngOnInit() {
202
201
  merge(this._mouseDown$, this._touchStart$)
@@ -318,10 +317,10 @@ export class SliderComponent {
318
317
  this._sliderDimensions$.next(this._elementRef.nativeElement.getBoundingClientRect());
319
318
  return this._sliderDimensions$;
320
319
  }
321
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
322
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SliderComponent, isStandalone: true, selector: "et-slider", inputs: { min: "min", max: "max", step: "step", vertical: "vertical", inverted: "inverted" }, host: { attributes: { "role": "slider" }, properties: { "id": "_input.id" }, classAttribute: "et-slider" }, hostDirectives: [{ directive: i1.InputDirective, inputs: ["autocomplete", "autocomplete"] }], ngImport: i0, template: "<div class=\"et-slider-track-container\">\n <div\n *ngIf=\"trackBackgroundStyles$ | async as trackBackgroundStyles\"\n [style.transform]=\"trackBackgroundStyles.transform\"\n class=\"et-slider-track-background\"\n ></div>\n <div\n *ngIf=\"trackFillStyles$ | async as trackFillStyles\"\n [style.transform]=\"trackFillStyles.transform\"\n [style.display]=\"trackFillStyles.display\"\n class=\"et-slider-track-fill\"\n ></div>\n</div>\n\n<div\n *ngIf=\"thumbContainerStyles$ | async as thumbContainerStyles\"\n [style.transform]=\"thumbContainerStyles.transform\"\n class=\"et-slider-thumb-container\"\n>\n <div class=\"et-slider-thumb\"></div>\n</div>\n", styles: [":where(.et-slider){--et-slider-track-block-size: 2px;--et-slider-track-border-radius: 0;--et-slider-inactive-track-color: #646464;--et-slider-active-track-color: #ffffff;--et-slider-block-size: 32px;--et-slider-min-inline-size: 112px;--et-slider-thumb-target-size: 32px;--et-slider-thumb-size: 12px;--et-slider-thumb-border-radius: 9999px;--et-slider-thumb-color: #ffffff;--et-slider-transition-duration: 80ms;outline:none}.et-slider{position:relative;display:block}.et-slider.et-slider--disable-animations{--et-slider-transition-duration: 0ms}.et-slider[aria-orientation=horizontal]{block-size:var(--et-slider-block-size);min-inline-size:var(--et-slider-min-inline-size)}.et-slider[aria-orientation=horizontal] .et-slider-track-container{inset-block-start:calc(50% - var(--et-slider-track-block-size) / 2);inset-inline-start:0;block-size:var(--et-slider-track-block-size);inline-size:100%}.et-slider[aria-orientation=horizontal] .et-slider-track-fill{block-size:var(--et-slider-track-block-size);inline-size:100%;transform-origin:0 0}.et-slider[aria-orientation=horizontal] .et-slider-track-background{block-size:var(--et-slider-track-block-size);inline-size:100%;transform-origin:100% 100%}.et-slider[aria-orientation=horizontal] .et-slider-thumb-container{inline-size:100%;block-size:0;inset-block-start:50%}.et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-fill{transform-origin:100% 100%}.et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-background{transform-origin:0 0}.et-slider[aria-orientation=vertical]{inline-size:var(--et-slider-block-size);min-block-size:var(--et-slider-min-inline-size)}.et-slider[aria-orientation=vertical] .et-slider-track-container{inset-block-start:0;inset-inline-start:calc(50% - var(--et-slider-track-block-size) / 2);block-size:100%;inline-size:var(--et-slider-track-block-size)}.et-slider[aria-orientation=vertical] .et-slider-track-fill{inline-size:var(--et-slider-track-block-size);block-size:100%;transform-origin:100% 100%}.et-slider[aria-orientation=vertical] .et-slider-track-background{inline-size:var(--et-slider-track-block-size);block-size:100%;transform-origin:0 0}.et-slider[aria-orientation=vertical] .et-slider-thumb-container{inline-size:0;block-size:100%;inset-inline-start:50%}.et-slider[aria-orientation=vertical].et-slider--inverted .et-slider-track-fill{transform-origin:0 0}.et-slider[aria-orientation=vertical].et-slider--inverted .et-slider-track-background,[dir=rtl] .et-slider[aria-orientation=horizontal] .et-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .et-slider[aria-orientation=horizontal] .et-slider-track-background,[dir=rtl] .et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-fill{transform-origin:0 0}[dir=rtl] .et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-background{transform-origin:100% 100%}.et-slider .et-slider-track-container{position:absolute;overflow:hidden}.et-slider .et-slider-track-fill{position:absolute;transition:transform var(--et-slider-transition-duration);background-color:var(--et-slider-active-track-color)}.et-slider .et-slider-track-background{position:absolute;transition:transform var(--et-slider-transition-duration);background-color:var(--et-slider-inactive-track-color)}.et-slider .et-slider-thumb-container{position:absolute;z-index:1;transition:transform var(--et-slider-transition-duration)}.et-slider .et-slider-thumb{position:absolute;inset-inline-end:calc(var(--et-slider-thumb-target-size) / 2 * -1);inset-block-end:calc(var(--et-slider-thumb-target-size) / 2 * -1);inline-size:var(--et-slider-thumb-target-size);block-size:var(--et-slider-thumb-target-size);transition:transform var(--et-slider-transition-duration);display:flex;justify-content:center;align-items:center}.et-slider .et-slider-thumb:after{content:\"\";position:relative;inline-size:var(--et-slider-thumb-size);block-size:var(--et-slider-thumb-size);background-color:var(--et-slider-thumb-color);border-radius:var(--et-slider-thumb-border-radius);cursor:grab}.et-slider.et-slider--is-sliding .et-slider-thumb:after{cursor:grabbing}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
320
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
321
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: SliderComponent, isStandalone: true, selector: "et-slider", inputs: { min: "min", max: "max", step: "step", vertical: "vertical", inverted: "inverted" }, host: { attributes: { "role": "slider" }, properties: { "id": "_input.id" }, classAttribute: "et-slider" }, hostDirectives: [{ directive: i1.InputDirective, inputs: ["autocomplete", "autocomplete"] }], ngImport: i0, template: "<div class=\"et-slider-track-container\">\n <div\n *ngIf=\"trackBackgroundStyles$ | async as trackBackgroundStyles\"\n [style.transform]=\"trackBackgroundStyles.transform\"\n class=\"et-slider-track-background\"\n ></div>\n <div\n *ngIf=\"trackFillStyles$ | async as trackFillStyles\"\n [style.transform]=\"trackFillStyles.transform\"\n [style.display]=\"trackFillStyles.display\"\n class=\"et-slider-track-fill\"\n ></div>\n</div>\n\n<div\n *ngIf=\"thumbContainerStyles$ | async as thumbContainerStyles\"\n [style.transform]=\"thumbContainerStyles.transform\"\n class=\"et-slider-thumb-container\"\n>\n <div class=\"et-slider-thumb\"></div>\n</div>\n", styles: [":where(.et-slider){--et-slider-track-block-size: 2px;--et-slider-track-border-radius: 0;--et-slider-inactive-track-color: #646464;--et-slider-active-track-color: #ffffff;--et-slider-block-size: 32px;--et-slider-min-inline-size: 112px;--et-slider-thumb-target-size: 32px;--et-slider-thumb-size: 12px;--et-slider-thumb-border-radius: 9999px;--et-slider-thumb-color: #ffffff;--et-slider-transition-duration: 80ms;outline:none}.et-slider{position:relative;display:block}.et-slider.et-slider--disable-animations{--et-slider-transition-duration: 0ms}.et-slider[aria-orientation=horizontal]{block-size:var(--et-slider-block-size);min-inline-size:var(--et-slider-min-inline-size)}.et-slider[aria-orientation=horizontal] .et-slider-track-container{inset-block-start:calc(50% - var(--et-slider-track-block-size) / 2);inset-inline-start:0;block-size:var(--et-slider-track-block-size);inline-size:100%}.et-slider[aria-orientation=horizontal] .et-slider-track-fill{block-size:var(--et-slider-track-block-size);inline-size:100%;transform-origin:0 0}.et-slider[aria-orientation=horizontal] .et-slider-track-background{block-size:var(--et-slider-track-block-size);inline-size:100%;transform-origin:100% 100%}.et-slider[aria-orientation=horizontal] .et-slider-thumb-container{inline-size:100%;block-size:0;inset-block-start:50%}.et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-fill{transform-origin:100% 100%}.et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-background{transform-origin:0 0}.et-slider[aria-orientation=vertical]{inline-size:var(--et-slider-block-size);min-block-size:var(--et-slider-min-inline-size)}.et-slider[aria-orientation=vertical] .et-slider-track-container{inset-block-start:0;inset-inline-start:calc(50% - var(--et-slider-track-block-size) / 2);block-size:100%;inline-size:var(--et-slider-track-block-size)}.et-slider[aria-orientation=vertical] .et-slider-track-fill{inline-size:var(--et-slider-track-block-size);block-size:100%;transform-origin:100% 100%}.et-slider[aria-orientation=vertical] .et-slider-track-background{inline-size:var(--et-slider-track-block-size);block-size:100%;transform-origin:0 0}.et-slider[aria-orientation=vertical] .et-slider-thumb-container{inline-size:0;block-size:100%;inset-inline-start:50%}.et-slider[aria-orientation=vertical].et-slider--inverted .et-slider-track-fill{transform-origin:0 0}.et-slider[aria-orientation=vertical].et-slider--inverted .et-slider-track-background,[dir=rtl] .et-slider[aria-orientation=horizontal] .et-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .et-slider[aria-orientation=horizontal] .et-slider-track-background,[dir=rtl] .et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-fill{transform-origin:0 0}[dir=rtl] .et-slider[aria-orientation=horizontal].et-slider--inverted .et-slider-track-background{transform-origin:100% 100%}.et-slider .et-slider-track-container{position:absolute;overflow:hidden}.et-slider .et-slider-track-fill{position:absolute;transition:transform var(--et-slider-transition-duration);background-color:var(--et-slider-active-track-color)}.et-slider .et-slider-track-background{position:absolute;transition:transform var(--et-slider-transition-duration);background-color:var(--et-slider-inactive-track-color)}.et-slider .et-slider-thumb-container{position:absolute;z-index:1;transition:transform var(--et-slider-transition-duration)}.et-slider .et-slider-thumb{position:absolute;inset-inline-end:calc(var(--et-slider-thumb-target-size) / 2 * -1);inset-block-end:calc(var(--et-slider-thumb-target-size) / 2 * -1);inline-size:var(--et-slider-thumb-target-size);block-size:var(--et-slider-thumb-target-size);transition:transform var(--et-slider-transition-duration);display:flex;justify-content:center;align-items:center}.et-slider .et-slider-thumb:after{content:\"\";position:relative;inline-size:var(--et-slider-thumb-size);block-size:var(--et-slider-thumb-size);background-color:var(--et-slider-thumb-color);border-radius:var(--et-slider-thumb-border-radius);cursor:grab}.et-slider.et-slider--is-sliding .et-slider-thumb:after{cursor:grabbing}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
323
322
  }
324
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SliderComponent, decorators: [{
323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SliderComponent, decorators: [{
325
324
  type: Component,
326
325
  args: [{ selector: 'et-slider', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
327
326
  class: 'et-slider',
@@ -339,4 +338,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
339
338
  }], inverted: [{
340
339
  type: Input
341
340
  }] } });
342
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9jb21wb25lbnRzL3NsaWRlci9jb21wb25lbnRzL3NsaWRlci9zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvc2xpZGVyL2NvbXBvbmVudHMvc2xpZGVyL3NsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFnQixxQkFBcUIsRUFBRSxvQkFBb0IsRUFBZSxNQUFNLHVCQUF1QixDQUFDO0FBQy9HLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUNMLGVBQWUsRUFDZixhQUFhLEVBQ2IsTUFBTSxFQUNOLFNBQVMsRUFDVCxHQUFHLEVBQ0gsS0FBSyxFQUNMLEVBQUUsRUFDRixTQUFTLEVBQ1QsU0FBUyxFQUNULElBQUksRUFDSixTQUFTLEVBQ1QsR0FBRyxFQUNILGNBQWMsR0FDZixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckUsT0FB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SztnQkFVRixJQUFJO3NCQURQLEtBQUs7Z0JBVUYsUUFBUTtzQkFEWCxLQUFLO2dCQVVGLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5LCBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBBc3luY1BpcGUsIERPQ1VNRU5ULCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xhbXAsIGNyZWF0ZURlc3Ryb3ksIGNyZWF0ZVJlYWN0aXZlQmluZGluZ3MsIExldERpcmVjdGl2ZSB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBmaWx0ZXIsXG4gIGZyb21FdmVudCxcbiAgbWFwLFxuICBtZXJnZSxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbiAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSU5QVVRfVE9LRU4sIElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBGb3JtRmllbGRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbmNvbnN0IGlzVG91Y2hFdmVudCA9IChldmVudDogRXZlbnQpOiBldmVudCBpcyBUb3VjaEV2ZW50ID0+IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGVbMF0gPT09ICd0Jztcbn07XG5cbmNvbnN0IGdldFRvdWNoSWRGb3JTbGlkZXIgPSAoZXZlbnQ6IFRvdWNoRXZlbnQsIHNsaWRlcjogSFRNTEVsZW1lbnQpID0+IHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBldmVudC50b3VjaGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudG91Y2hlc1tpXS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoc2xpZGVyID09PSB0YXJnZXQgfHwgc2xpZGVyLmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgIHJldHVybiBldmVudC50b3VjaGVzW2ldLmlkZW50aWZpZXI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59O1xuXG5jb25zdCBmaW5kTWF0Y2hpbmdUb3VjaCA9ICh0b3VjaGVzOiBUb3VjaExpc3QsIGlkOiBudW1iZXIpID0+IHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB0b3VjaGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHRvdWNoZXNbaV0uaWRlbnRpZmllciA9PT0gaWQpIHtcbiAgICAgIHJldHVybiB0b3VjaGVzW2ldO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufTtcblxuY29uc3QgZ2V0UG9pbnRlclBvc2l0aW9uT25QYWdlID0gKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCwgaWQ6IG51bWJlciB8IG51bGwpID0+IHtcbiAgbGV0IHBvaW50OiB7IGNsaWVudFg6IG51bWJlcjsgY2xpZW50WTogbnVtYmVyIH0gfCBudWxsO1xuXG4gIGlmIChpc1RvdWNoRXZlbnQoZXZlbnQpKSB7XG4gICAgaWYgKHR5cGVvZiBpZCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHBvaW50ID0gZmluZE1hdGNoaW5nVG91Y2goZXZlbnQudG91Y2hlcywgaWQpIHx8IGZpbmRNYXRjaGluZ1RvdWNoKGV2ZW50LmNoYW5nZWRUb3VjaGVzLCBpZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBvaW50ID0gZXZlbnQudG91Y2hlc1swXSB8fCBldmVudC5jaGFuZ2VkVG91Y2hlc1swXTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcG9pbnQgPSBldmVudDtcbiAgfVxuXG4gIHJldHVybiBwb2ludCA/IHsgeDogcG9pbnQuY2xpZW50WCwgeTogcG9pbnQuY2xpZW50WSB9IDogbnVsbDtcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LXNsaWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LXNsaWRlcicsXG4gICAgcm9sZTogJ3NsaWRlcicsXG4gICAgJ1tpZF0nOiAnX2lucHV0LmlkJyxcbiAgfSxcbiAgaW1wb3J0czogW0xldERpcmVjdGl2ZSwgQXN5bmNQaXBlLCBOZ0lmXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFt7IGRpcmVjdGl2ZTogSW5wdXREaXJlY3RpdmUsIGlucHV0czogWydhdXRvY29tcGxldGUnXSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgU2xpZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RpclNlcnZpY2UgPSBpbmplY3QoRGlyZWN0aW9uYWxpdHkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gY3JlYXRlRGVzdHJveSgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21vdXNlRG93biQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJywgeyBwYXNzaXZlOiBmYWxzZSB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdG91Y2hTdGFydCQgPSBmcm9tRXZlbnQ8VG91Y2hFdmVudD4odGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG91Y2hzdGFydCcsIHtcbiAgICBwYXNzaXZlOiBmYWxzZSxcbiAgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2tleURvd24kID0gZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2tleWRvd24nLCB7IHBhc3NpdmU6IGZhbHNlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9rZXlVcCQgPSBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4odGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAna2V5dXAnLCB7IHBhc3NpdmU6IGZhbHNlIH0pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lucHV0ID0gaW5qZWN0PElucHV0RGlyZWN0aXZlPG51bWJlcj4+KElOUFVUX1RPS0VOKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybUZpZWxkU3RhdGVTZXJ2aWNlID0gaW5qZWN0KEZvcm1GaWVsZFN0YXRlU2VydmljZSk7XG5cbiAgQElucHV0KClcbiAgZ2V0IG1pbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9taW4kLnZhbHVlO1xuICB9XG4gIHNldCBtaW4odmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgdGhpcy5fbWluJC5uZXh0KGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKSk7XG4gIH1cbiAgcHJpdmF0ZSBfbWluJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMCk7XG5cbiAgQElucHV0KClcbiAgZ2V0IG1heCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tYXgkLnZhbHVlO1xuICB9XG4gIHNldCBtYXgodmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgdGhpcy5fbWF4JC5uZXh0KGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKSk7XG4gIH1cbiAgcHJpdmF0ZSBfbWF4JCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMTAwKTtcblxuICBASW5wdXQoKVxuICBnZXQgc3RlcCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zdGVwJC52YWx1ZTtcbiAgfVxuICBzZXQgc3RlcCh2YWx1ZTogTnVtYmVySW5wdXQpIHtcbiAgICB0aGlzLl9zdGVwJC5uZXh0KGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKSk7XG4gIH1cbiAgcHJpdmF0ZSBfc3RlcCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KDEpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCB2ZXJ0aWNhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmVydGljYWwkLnZhbHVlO1xuICB9XG4gIHNldCB2ZXJ0aWNhbCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fdmVydGljYWwkLm5leHQoY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKSk7XG4gIH1cbiAgcHJpdmF0ZSBfdmVydGljYWwkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgQElucHV0KClcbiAgZ2V0IGludmVydGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pbnZlcnRlZCQudmFsdWU7XG4gIH1cbiAgc2V0IGludmVydGVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl9pbnZlcnRlZCQubmV4dChjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpKTtcbiAgfVxuICBwcml2YXRlIF9pbnZlcnRlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kaXIkID0gdGhpcy5fZGlyU2VydmljZS5jaGFuZ2UucGlwZShzdGFydFdpdGgodGhpcy5fZGlyU2VydmljZS52YWx1ZSkpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZhbHVlJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2lucHV0LnZhbHVlJCwgdGhpcy5fbWluJCwgdGhpcy5fbWF4JF0pLnBpcGUoXG4gICAgbWFwKChbdmFsdWUsIG1pbiwgbWF4XSkgPT4gY2xhbXAodmFsdWUgPz8gMCwgbWluLCBtYXgpKSxcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9yb3VuZFRvRGVjaW1hbCQgPSB0aGlzLl9zdGVwJC5waXBlKG1hcCgoc3RlcCkgPT4gTWF0aC5yb3VuZChNYXRoLmxvZzEwKHN0ZXApKSAqIC0xKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZhbHVlVGV4dCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl92YWx1ZSQsIHRoaXMuX3JvdW5kVG9EZWNpbWFsJF0pLnBpcGUoXG4gICAgbWFwKChbdmFsdWUsIHJvdW5kVG9EZWNpbWFsXSkgPT4gdmFsdWUudG9GaXhlZChyb3VuZFRvRGVjaW1hbCkpLFxuICApO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wZXJjZW50JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX3ZhbHVlJCwgdGhpcy5fbWluJCwgdGhpcy5fbWF4JF0pLnBpcGUoXG4gICAgbWFwKChbdmFsdWUsIG1pbiwgbWF4XSkgPT4gKHZhbHVlIC0gbWluKSAvIChtYXggLSBtaW4pKSxcbiAgKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2hvdWxkSW52ZXJ0QXhpcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl92ZXJ0aWNhbCQsIHRoaXMuX2ludmVydGVkJF0pLnBpcGUoXG4gICAgbWFwKChbdmVydGljYWwsIGludmVydGVkXSkgPT4gKHZlcnRpY2FsID8gIWludmVydGVkIDogaW52ZXJ0ZWQpKSxcbiAgKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2hvdWxkSW52ZXJ0TW91c2VDb29yZHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fdmVydGljYWwkLFxuICAgIHRoaXMuX3Nob3VsZEludmVydEF4aXMkLFxuICAgIHRoaXMuX2RpciQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbdmVydGljYWwsIHNob3VsZEludmVydEF4aXMsIGRpcl0pID0+IChkaXIgPT09ICdydGwnICYmICF2ZXJ0aWNhbCA/ICFzaG91bGRJbnZlcnRBeGlzIDogc2hvdWxkSW52ZXJ0QXhpcykpLFxuICApO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zbGlkZXJEaW1lbnNpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhY2tCYWNrZ3JvdW5kU3R5bGVzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX3BlcmNlbnQkLCB0aGlzLl92ZXJ0aWNhbCRdKS5waXBlKFxuICAgIG1hcCgoW3BlcmNlbnQsIHZlcnRpY2FsXSkgPT4ge1xuICAgICAgY29uc3Qgc2NhbGUgPSB2ZXJ0aWNhbCA/IGAxLCAkezEgLSBwZXJjZW50fSwgMWAgOiBgJHsxIC0gcGVyY2VudH0sIDEsIDFgO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0cmFuc2Zvcm06IGBzY2FsZTNkKCR7c2NhbGV9KWAsXG4gICAgICB9O1xuICAgIH0pLFxuICApO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFja0ZpbGxTdHlsZXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5fcGVyY2VudCQsIHRoaXMuX3ZlcnRpY2FsJF0pLnBpcGUoXG4gICAgbWFwKChbcGVyY2VudCwgdmVydGljYWxdKSA9PiB7XG4gICAgICBjb25zdCBzY2FsZSA9IHZlcnRpY2FsID8gYDEsICR7cGVyY2VudH0sIDFgIDogYCR7cGVyY2VudH0sIDEsIDFgO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0cmFuc2Zvcm06IGBzY2FsZTNkKCR7c2NhbGV9KWAsXG4gICAgICAgIGRpc3BsYXk6IHBlcmNlbnQgPT09IDAgPyAnbm9uZScgOiAnJyxcbiAgICAgIH07XG4gICAgfSksXG4gICk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRodW1iQ29udGFpbmVyU3R5bGVzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX3BlcmNlbnQkLFxuICAgIHRoaXMuX3Nob3VsZEludmVydE1vdXNlQ29vcmRzJCxcbiAgICB0aGlzLl92ZXJ0aWNhbCQsXG4gICAgdGhpcy5fZGlyJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtwZXJjZW50LCBzaG91bGRJbnZlcnRNb3VzZUNvb3JkcywgdmVydGljYWwsIGRpcl0pID0+IHtcbiAgICAgIGNvbnN0IGF4aXMgPSB2ZXJ0aWNhbCA/ICdZJyA6ICdYJztcbiAgICAgIGNvbnN0IGludmVydE9mZnNldCA9IGRpciA9PT0gJ3J0bCcgJiYgIXZlcnRpY2FsID8gIXNob3VsZEludmVydE1vdXNlQ29vcmRzIDogc2hvdWxkSW52ZXJ0TW91c2VDb29yZHM7XG4gICAgICBjb25zdCBvZmZzZXQgPSAoaW52ZXJ0T2Zmc2V0ID8gcGVyY2VudCA6IDEgLSBwZXJjZW50KSAqIDEwMDtcbiAgICAgIGNvbnN0IHNpZ24gPSB2ZXJ0aWNhbCA/ICctJyA6IGRpciA9PT0gJ3J0bCcgPyAnJyA6ICctJztcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlJHtheGlzfSgke3NpZ259JHtvZmZzZXR9JSlgLFxuICAgICAgfTtcbiAgICB9KSxcbiAgKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNTbGlkaW5nVmlhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8J2tleWJvYXJkJyB8ICdwb2ludGVyJyB8IG51bGw+KG51bGwpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlzYWJsZUFuaW1hdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSB0b3VjaElkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBsYXN0UG9pbnRlckV2ZW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TW91c2VFdmVudCB8IFRvdWNoRXZlbnQgfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSBfYmluZGluZ3MgPSBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzKFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2FyaWEtb3JpZW50YXRpb24nLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5fdmVydGljYWwkLnBpcGUoXG4gICAgICAgIG1hcCgodmVydGljYWwpID0+ICh7XG4gICAgICAgICAgcmVuZGVyOiB0cnVlLFxuICAgICAgICAgIHZhbHVlOiB2ZXJ0aWNhbCA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCcsXG4gICAgICAgIH0pKSxcbiAgICAgICksXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdhcmlhLWRpc2FibGVkJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2lucHV0LmRpc2FibGVkJCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2FyaWEtdmFsdWVub3cnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5fdmFsdWUkLnBpcGUobWFwKCh2YWx1ZSkgPT4gKHsgcmVuZGVyOiB0cnVlLCB2YWx1ZSB9KSkpLFxuICAgIH0sXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnYXJpYS12YWx1ZW1pbicsXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLl9taW4kLnBpcGUobWFwKCh2YWx1ZSkgPT4gKHsgcmVuZGVyOiB0cnVlLCB2YWx1ZSB9KSkpLFxuICAgIH0sXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnYXJpYS12YWx1ZW1heCcsXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLl9tYXgkLnBpcGUobWFwKCh2YWx1ZSkgPT4gKHsgcmVuZGVyOiB0cnVlLCB2YWx1ZSB9KSkpLFxuICAgIH0sXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnYXJpYS12YWx1ZXRleHQnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5fdmFsdWVUZXh0JC5waXBlKG1hcCgodmFsdWUpID0+ICh7IHJlbmRlcjogdHJ1ZSwgdmFsdWUgfSkpKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ3RhYmluZGV4JyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2lucHV0LmRpc2FibGVkJC5waXBlKG1hcCgoZGlzYWJsZWQpID0+ICh7IHJlbmRlcjogdHJ1ZSwgdmFsdWU6IGRpc2FibGVkID8gLTEgOiAwIH0pKSksXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdjbGFzcy5ldC1zbGlkZXItLWlzLXNsaWRpbmcnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5pc1NsaWRpbmdWaWEkLnBpcGUobWFwKChpc1NsaWRpbmdWaWEpID0+ICEhaXNTbGlkaW5nVmlhKSksXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdjbGFzcy5ldC1zbGlkZXItLWludmVydGVkJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2ludmVydGVkJCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LXNsaWRlci0tZGlzYWJsZS1hbmltYXRpb25zJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuZGlzYWJsZUFuaW1hdGlvbnMkLFxuICAgIH0sXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnYXJpYS1sYWJlbGVkYnknLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmxhYmVsSWQkLnBpcGUoXG4gICAgICAgIG1hcCgobGFiZWxJZCkgPT4gKHsgcmVuZGVyOiAhIWxhYmVsSWQsIHZhbHVlOiBsYWJlbElkID8/ICcnIH0pKSxcbiAgICAgICksXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdhcmlhLWRlc2NyaWJlZGJ5JyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2Zvcm1GaWVsZFN0YXRlU2VydmljZS5kZXNjcmliZWRCeSQucGlwZShcbiAgICAgICAgbWFwKChkZXNjcmliZWRCeSkgPT4gKHsgcmVuZGVyOiAhIWRlc2NyaWJlZEJ5LCB2YWx1ZTogZGVzY3JpYmVkQnkgPz8gJycgfSkpLFxuICAgICAgKSxcbiAgICB9LFxuICApO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIG1lcmdlKHRoaXMuX21vdXNlRG93biQsIHRoaXMuX3RvdWNoU3RhcnQkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBpc0Rpc2FibGVkID0gdGhpcy5faW5wdXQuZGlzYWJsZWQ7XG4gICAgICAgICAgY29uc3QgaXNTbGlkaW5nID0gISF0aGlzLmlzU2xpZGluZ1ZpYSQudmFsdWU7XG4gICAgICAgICAgY29uc3QgaXNJbnZhbGlkTW91c2VCdXR0b24gPSAhaXNUb3VjaEV2ZW50KGV2ZW50KSAmJiBldmVudC5idXR0b24gIT09IDA7XG5cbiAgICAgICAgICByZXR1cm4gIWlzRGlzYWJsZWQgJiYgIWlzU2xpZGluZyAmJiAhaXNJbnZhbGlkTW91c2VCdXR0b247XG4gICAgICAgIH0pLFxuICAgICAgICBzd2l0Y2hNYXAoKGV2ZW50KSA9PlxuICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW29mKGV2ZW50KSwgdGhpcy5fZnJlc2hTbGlkZXJEaW1lbnNpb25zKCksIHRoaXMuX3Nob3VsZEludmVydE1vdXNlQ29vcmRzJF0pLnBpcGUoXG4gICAgICAgICAgICB0YXAoKFtldmVudCwgc2xpZGVyRGltZW5zaW9ucywgc2hvdWxkSW52ZXJ0TW91c2VDb29yZHNdKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgICAgICAgICAgIHRoaXMuX2luaXRpYWxpemVTbGlkZShldmVudCwgc2xpZGVyRGltZW5zaW9ucywgc2hvdWxkSW52ZXJ0TW91c2VDb29yZHMpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX2tleURvd24kXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGlzRGlzYWJsZWQgPSB0aGlzLl9pbnB1dC5kaXNhYmxlZDtcbiAgICAgICAgICBjb25zdCBpc1NsaWRpbmcgPSB0aGlzLmlzU2xpZGluZ1ZpYSQudmFsdWUgJiYgdGhpcy5pc1NsaWRpbmdWaWEkLnZhbHVlICE9PSAna2V5Ym9hcmQnO1xuICAgICAgICAgIGNvbnN0IGlzTW9kaWZpZXJQcmVzc2VkID0gZXZlbnQuYWx0S2V5IHx8IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSB8fCBldmVudC5zaGlmdEtleSB8fCBldmVudC5tZXRhS2V5O1xuXG4gICAgICAgICAgcmV0dXJuICFpc0Rpc2FibGVkICYmICFpc1NsaWRpbmcgJiYgIWlzTW9kaWZpZXJQcmVzc2VkO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5fZGlyJCksXG4gICAgICAgIHRhcCgoW2V2ZW50LCBkaXJdKSA9PiB0aGlzLl91cGRhdGVTbGlkZXJWaWFLZXlib2FyZChldmVudCwgZGlyKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9rZXlVcCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5pc1NsaWRpbmdWaWEkLnZhbHVlID09PSAna2V5Ym9hcmQnKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuaXNTbGlkaW5nVmlhJC5uZXh0KG51bGwpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdibHVyJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2lucHV0Ll9tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgICAgdGhpcy5faW5wdXQuX3NldFNob3VsZERpc3BsYXlFcnJvcih0cnVlKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsaXplU2xpZGUoXG4gICAgZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50LFxuICAgIHNsaWRlckRpbWVuc2lvbnM6IERPTVJlY3QsXG4gICAgc2hvdWxkSW52ZXJ0TW91c2VDb29yZHM6IGJvb2xlYW4sXG4gICkge1xuICAgIGlmIChpc1RvdWNoRXZlbnQoZXZlbnQpKSB7XG4gICAgICB0aGlzLnRvdWNoSWQkLm5leHQoZ2V0VG91Y2hJZEZvclNsaWRlcihldmVudCwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSk7XG4gICAgfVxuXG4gICAgY29uc3QgcG9pbnRlclBvc2l0aW9uID0gZ2V0UG9pbnRlclBvc2l0aW9uT25QYWdlKGV2ZW50LCB0aGlzLnRvdWNoSWQkLnZhbHVlKTtcblxuICAgIGlmICghcG9pbnRlclBvc2l0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc1NsaWRpbmdWaWEkLm5leHQoJ3BvaW50ZXInKTtcblxuICAgIHRoaXMuX2JpbmRHbG9iYWxFdmVudHMoZXZlbnQpO1xuICAgIHRoaXMuX3VwZGF0ZVZhbHVlRnJvbVBvc2l0aW9uKHBvaW50ZXJQb3NpdGlvbiwgc2xpZGVyRGltZW5zaW9ucywgc2hvdWxkSW52ZXJ0TW91c2VDb29yZHMpO1xuICAgIHRoaXMuX2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5jdXJzb3IgPSAnZ3JhYmJpbmcnO1xuXG4gICAgaWYgKGV2ZW50LmNhbmNlbGFibGUpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfYmluZEdsb2JhbEV2ZW50cyhldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpIHtcbiAgICBjb25zdCBpc1RvdWNoID0gaXNUb3VjaEV2ZW50KGV2ZW50KTtcbiAgICBjb25zdCBtb3ZlRXZlbnROYW1lID0gaXNUb3VjaCA/ICd0b3VjaG1vdmUnIDogJ21vdXNlbW92ZSc7XG4gICAgY29uc3QgZW5kRXZlbnROYW1lID0gaXNUb3VjaCA/ICd0b3VjaGVuZCcgOiAnbW91c2V1cCc7XG5cbiAgICBjb25zdCBldmVudENvbmZpZyA9IHsgcGFzc2l2ZTogZmFsc2UgfTtcblxuICAgIGNvbnN0IHBvaW50ZXJVcCQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudCB8IFRvdWNoRXZlbnQ+KHdpbmRvdywgZW5kRXZlbnROYW1lLCBldmVudENvbmZpZyk7XG4gICAgY29uc3QgdG91Y2hDYW5jZWwkID0gZnJvbUV2ZW50PFRvdWNoRXZlbnQ+KHdpbmRvdywgJ3RvdWNoY2FuY2VsJywgZXZlbnRDb25maWcpO1xuICAgIGNvbnN0IHdpbmRvd0JsdXIkID0gZnJvbUV2ZW50PEZvY3VzRXZlbnQ+KHdpbmRvdywgJ2JsdXInKTtcblxuICAgIGNvbnN0IHNsaWRlRW5kJCA9IG1lcmdlKHBvaW50ZXJVcCQsIHRvdWNoQ2FuY2VsJCwgd2luZG93Qmx1ciQpO1xuXG4gICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50Pih3aW5kb3csIG1vdmVFdmVudE5hbWUsIGV2ZW50Q29uZmlnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbChzbGlkZUVuZCQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLl9zbGlkZXJEaW1lbnNpb25zJCwgdGhpcy5fc2hvdWxkSW52ZXJ0TW91c2VDb29yZHMkKSxcbiAgICAgICAgdGFwKChbZXZlbnQsIHNsaWRlckRpbWVuc2lvbnMsIHNob3VsZEludmVydE1vdXNlQ29vcmRzXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBvaW50ZXJQb3NpdGlvbiA9IGdldFBvaW50ZXJQb3NpdGlvbk9uUGFnZShldmVudCwgdGhpcy50b3VjaElkJC52YWx1ZSk7XG5cbiAgICAgICAgICBpZiAoIXBvaW50ZXJQb3NpdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlQW5pbWF0aW9ucyQudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZUFuaW1hdGlvbnMkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5fdXBkYXRlVmFsdWVGcm9tUG9zaXRpb24ocG9pbnRlclBvc2l0aW9uLCBzbGlkZXJEaW1lbnNpb25zLCBzaG91bGRJbnZlcnRNb3VzZUNvb3Jkcyk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgc2xpZGVFbmQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgdGFwKChldmVudCkgPT4ge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgdGhpcy5pc1NsaWRpbmdWaWEkLm5leHQobnVsbCk7XG4gICAgICAgICAgdGhpcy50b3VjaElkJC5uZXh0KG51bGwpO1xuICAgICAgICAgIHRoaXMuX2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5jdXJzb3IgPSAnJztcbiAgICAgICAgICB0aGlzLmRpc2FibGVBbmltYXRpb25zJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWYWx1ZUZyb21Qb3NpdGlvbiA9IChcbiAgICBwb3M6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSxcbiAgICBzbGlkZXJEaW1lbnNpb25zOiBET01SZWN0LFxuICAgIHNob3VsZEludmVydE1vdXNlQ29vcmRzOiBib29sZWFuLFxuICApID0+IHtcbiAgICBjb25zdCBvZmZzZXQgPSB0aGlzLnZlcnRpY2FsID8gc2xpZGVyRGltZW5zaW9ucy50b3AgOiBzbGlkZXJEaW1lbnNpb25zLmxlZnQ7XG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMudmVydGljYWwgPyBzbGlkZXJEaW1lbnNpb25zLmhlaWdodCA6IHNsaWRlckRpbWVuc2lvbnMud2lkdGg7XG4gICAgY29uc3QgcG9zQ29tcG9uZW50ID0gdGhpcy52ZXJ0aWNhbCA/IHBvcy55IDogcG9zLng7XG5cbiAgICBsZXQgcGVyY2VudCA9IGNsYW1wKChwb3NDb21wb25lbnQgLSBvZmZzZXQpIC8gc2l6ZSwgMCwgMSk7XG5cbiAgICBpZiAoc2hvdWxkSW52ZXJ0TW91c2VDb29yZHMpIHtcbiAgICAgIHBlcmNlbnQgPSAxIC0gcGVyY2VudDtcbiAgICB9XG5cbiAgICBpZiAocGVyY2VudCA9PT0gMCkge1xuICAgICAgdGhpcy5faW5wdXQuX3VwZGF0ZVZhbHVlKHRoaXMubWluKTtcbiAgICB9IGVsc2UgaWYgKHBlcmNlbnQgPT09IDEpIHtcbiAgICAgIHRoaXMuX2lucHV0Ll91cGRhdGVWYWx1ZSh0aGlzLm1heCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGV4YWN0VmFsdWUgPSBwZXJjZW50ICogKHRoaXMubWF4IC0gdGhpcy5taW4pICsgdGhpcy5taW47XG4gICAgICBjb25zdCBjbG9zZXN0VmFsdWUgPSBNYXRoLnJvdW5kKChleGFjdFZhbHVlIC0gdGhpcy5taW4pIC8gdGhpcy5zdGVwKSAqIHRoaXMuc3RlcCArIHRoaXMubWluO1xuICAgICAgdGhpcy5faW5wdXQuX3VwZGF0ZVZhbHVlKGNsYW1wKGNsb3Nlc3RWYWx1ZSwgdGhpcy5taW4sIHRoaXMubWF4KSk7XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXQuX21hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLl9pbnB1dC5fc2V0U2hvdWxkRGlzcGxheUVycm9yKHRydWUpO1xuICB9O1xuXG4gIHByaXZhdGUgX3VwZGF0ZVNsaWRlclZpYUtleWJvYXJkKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBkaXI6IHN0cmluZykge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdQYWdlVXAnOlxuICAgICAgICB0aGlzLl91cGRhdGVTbGlkZXJWYWx1ZUJ5KDEwKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdQYWdlRG93bic6XG4gICAgICAgIHRoaXMuX3VwZGF0ZVNsaWRlclZhbHVlQnkoLTEwKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbmQnOlxuICAgICAgICB0aGlzLl9pbnB1dC5fdXBkYXRlVmFsdWUodGhpcy5tYXgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0hvbWUnOlxuICAgICAgICB0aGlzLl9pbnB1dC5fdXBkYXRlVmFsdWUodGhpcy5taW4pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgIHRoaXMuX3VwZGF0ZVNsaWRlclZhbHVlQnkoZGlyID09PSAncnRsJyA/IDEgOiAtMSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIHRoaXMuX3VwZGF0ZVNsaWRlclZhbHVlQnkoMSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICAgIHRoaXMuX3VwZGF0ZVNsaWRlclZhbHVlQnkoZGlyID09PSAncnRsJyA/IC0xIDogMSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgdGhpcy5fdXBkYXRlU2xpZGVyVmFsdWVCeSgtMSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5pc1NsaWRpbmdWaWEkLm5leHQoJ2tleWJvYXJkJyk7XG5cbiAgICB0aGlzLl9pbnB1dC5fbWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuX2lucHV0Ll9zZXRTaG91bGREaXNwbGF5RXJyb3IodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF91cGRhdGVTbGlkZXJWYWx1ZUJ5KG9mZnNldDogbnVtYmVyKSB7XG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5faW5wdXQudmFsdWUgfHwgMDtcbiAgICBjb25zdCB2YWx1ZSA9IGNsYW1wKGN1cnJlbnRWYWx1ZSArIHRoaXMuc3RlcCAqIG9mZnNldCwgdGhpcy5taW4sIHRoaXMubWF4KTtcblxuICAgIHRoaXMuX2lucHV0Ll91cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9mcmVzaFNsaWRlckRpbWVuc2lvbnMoKSB7XG4gICAgdGhpcy5fc2xpZGVyRGltZW5zaW9ucyQubmV4dCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpO1xuXG4gICAgcmV0dXJuIHRoaXMuX3NsaWRlckRpbWVuc2lvbnMkO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZXQtc2xpZGVyLXRyYWNrLWNvbnRhaW5lclwiPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJ0cmFja0JhY2tncm91bmRTdHlsZXMkIHwgYXN5bmMgYXMgdHJhY2tCYWNrZ3JvdW5kU3R5bGVzXCJcbiAgICBbc3R5bGUudHJhbnNmb3JtXT1cInRyYWNrQmFja2dyb3VuZFN0eWxlcy50cmFuc2Zvcm1cIlxuICAgIGNsYXNzPVwiZXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmRcIlxuICA+PC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cInRyYWNrRmlsbFN0eWxlcyQgfCBhc3luYyBhcyB0cmFja0ZpbGxTdHlsZXNcIlxuICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwidHJhY2tGaWxsU3R5bGVzLnRyYW5zZm9ybVwiXG4gICAgW3N0eWxlLmRpc3BsYXldPVwidHJhY2tGaWxsU3R5bGVzLmRpc3BsYXlcIlxuICAgIGNsYXNzPVwiZXQtc2xpZGVyLXRyYWNrLWZpbGxcIlxuICA+PC9kaXY+XG48L2Rpdj5cblxuPGRpdlxuICAqbmdJZj1cInRodW1iQ29udGFpbmVyU3R5bGVzJCB8IGFzeW5jIGFzIHRodW1iQ29udGFpbmVyU3R5bGVzXCJcbiAgW3N0eWxlLnRyYW5zZm9ybV09XCJ0aHVtYkNvbnRhaW5lclN0eWxlcy50cmFuc2Zvcm1cIlxuICBjbGFzcz1cImV0LXNsaWRlci10aHVtYi1jb250YWluZXJcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZXQtc2xpZGVyLXRodW1iXCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
341
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9mb3Jtcy9jb21wb25lbnRzL3NsaWRlci9jb21wb25lbnRzL3NsaWRlci9zbGlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm1zL2NvbXBvbmVudHMvc2xpZGVyL2NvbXBvbmVudHMvc2xpZGVyL3NsaWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFFTCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLE1BQU0sRUFDTixlQUFlLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixNQUFNLEVBQ04sU0FBUyxFQUNULEdBQUcsRUFDSCxLQUFLLEVBQ0wsRUFBRSxFQUNGLFNBQVMsRUFDVCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxHQUFHLEVBQ0gsY0FBYyxHQUNmLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBRTdELE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBWSxFQUF1QixFQUFFO0lBQ3pELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBRUYsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsTUFBbUIsRUFBRSxFQUFFO0lBQ3JFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUM3QyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQXFCLENBQUM7UUFFdEQsSUFBSSxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDaEQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztTQUNwQztLQUNGO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLENBQUMsT0FBa0IsRUFBRSxFQUFVLEVBQUUsRUFBRTtJQUMzRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssRUFBRSxFQUFFO1lBQ2hDLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25CO0tBQ0Y7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxLQUE4QixFQUFFLEVBQWlCLEVBQUUsRUFBRTtJQUNyRixJQUFJLEtBQWtELENBQUM7SUFFdkQsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDdkIsSUFBSSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQUU7WUFDMUIsS0FBSyxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksaUJBQWlCLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUM3RjthQUFNO1lBQ0wsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRDtLQUNGO1NBQU07UUFDTCxLQUFLLEdBQUcsS0FBSyxDQUFDO0tBQ2Y7SUFFRCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDL0QsQ0FBQyxDQUFDO0FBaUJGLE1BQU0sT0FBTyxlQUFlO0lBZjVCO1FBZ0JtQixnQkFBVyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFDMUQsZ0JBQVcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QixjQUFTLEdBQUcsYUFBYSxFQUFFLENBQUM7UUFFNUIsZ0JBQVcsR0FBRyxTQUFTLENBQWEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckcsaUJBQVksR0FBRyxTQUFTLENBQWEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFO1lBQ2xHLE9BQU8sRUFBRSxLQUFLO1NBQ2YsQ0FBQyxDQUFDO1FBQ2MsY0FBUyxHQUFHLFNBQVMsQ0FBZ0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDcEcsWUFBTyxHQUFHLFNBQVMsQ0FBZ0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFaEcsV0FBTSxHQUFHLE1BQU0sQ0FBeUIsV0FBVyxDQUFDLENBQUM7UUFDckQsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFTaEUsVUFBSyxHQUFHLElBQUksZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBUy9CLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQVNqQyxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFTaEMsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBU3hDLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvQixVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFeEUsWUFBTyxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN6RixHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUN4RCxDQUFDO1FBRWUscUJBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEYsZ0JBQVcsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN0RixHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUNoRSxDQUFDO1FBQ2UsY0FBUyxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3JGLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FDeEQsQ0FBQztRQUNlLHVCQUFrQixHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMxRixHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUNqRSxDQUFDO1FBQ2UsOEJBQXlCLEdBQUcsYUFBYSxDQUFDO1lBQ3pELElBQUksQ0FBQyxVQUFVO1lBQ2YsSUFBSSxDQUFDLGtCQUFrQjtZQUN2QixJQUFJLENBQUMsS0FBSztTQUNYLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUNoSCxDQUFDO1FBQ2UsdUJBQWtCLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBRS9GLDJCQUFzQixHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUMvRixHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQzFCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sUUFBUSxDQUFDO1lBRXpFLE9BQU87Z0JBQ0wsU0FBUyxFQUFFLFdBQVcsS0FBSyxHQUFHO2FBQy9CLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRWlCLHFCQUFnQixHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUN6RixHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFO1lBQzFCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLFFBQVEsQ0FBQztZQUVqRSxPQUFPO2dCQUNMLFNBQVMsRUFBRSxXQUFXLEtBQUssR0FBRztnQkFDOUIsT0FBTyxFQUFFLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTthQUNyQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVpQiwwQkFBcUIsR0FBRyxhQUFhLENBQUM7WUFDdkQsSUFBSSxDQUFDLFNBQVM7WUFDZCxJQUFJLENBQUMseUJBQXlCO1lBQzlCLElBQUksQ0FBQyxVQUFVO1lBQ2YsSUFBSSxDQUFDLEtBQUs7U0FDWCxDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFO1lBQ3hELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDbEMsTUFBTSxZQUFZLEdBQUcsR0FBRyxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUM7WUFDckcsTUFBTSxNQUFNLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUM1RCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFFdkQsT0FBTztnQkFDTCxTQUFTLEVBQUUsWUFBWSxJQUFJLElBQUksSUFBSSxHQUFHLE1BQU0sSUFBSTthQUNqRCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVpQixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFnQyxJQUFJLENBQUMsQ0FBQztRQUN6RSx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBQ3BELHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFpQyxJQUFJLENBQUMsQ0FBQztRQUV4RixjQUFTLEdBQUcsc0JBQXNCLENBQ3pDO1lBQ0UsU0FBUyxFQUFFLGtCQUFrQjtZQUM3QixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQzlCLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDakIsTUFBTSxFQUFFLElBQUk7Z0JBQ1osS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZO2FBQzVDLENBQUMsQ0FBQyxDQUNKO1NBQ0YsRUFDRDtZQUNFLFNBQVMsRUFBRSxlQUFlO1lBQzFCLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVM7U0FDbEMsRUFDRDtZQUNFLFNBQVMsRUFBRSxlQUFlO1lBQzFCLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN6RSxFQUNEO1lBQ0UsU0FBUyxFQUFFLGVBQWU7WUFDMUIsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3ZFLEVBQ0Q7WUFDRSxTQUFTLEVBQUUsZUFBZTtZQUMxQixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDdkUsRUFDRDtZQUNFLFNBQVMsRUFBRSxnQkFBZ0I7WUFDM0IsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzdFLEVBQ0Q7WUFDRSxTQUFTLEVBQUUsVUFBVTtZQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN4RyxFQUNEO1lBQ0UsU0FBUyxFQUFFLDZCQUE2QjtZQUN4QyxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDM0UsRUFDRDtZQUNFLFNBQVMsRUFBRSwyQkFBMkI7WUFDdEMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzVCLEVBQ0Q7WUFDRSxTQUFTLEVBQUUscUNBQXFDO1lBQ2hELFVBQVUsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1NBQ3BDLEVBQ0Q7WUFDRSxTQUFTLEVBQUUsZ0JBQWdCO1lBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDbkQsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQ2hFO1NBQ0YsRUFDRDtZQUNFLFNBQVMsRUFBRSxrQkFBa0I7WUFDN0IsVUFBVSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN2RCxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsV0FBVyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDNUU7U0FDRixDQUNGLENBQUM7UUF1SU0sNkJBQXdCLEdBQUcsQ0FDakMsR0FBNkIsRUFDN0IsZ0JBQXlCLEVBQ3pCLHVCQUFnQyxFQUNoQyxFQUFFO1lBQ0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7WUFDNUUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7WUFDOUUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUVuRCxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUUxRCxJQUFJLHVCQUF1QixFQUFFO2dCQUMzQixPQUFPLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQzthQUN2QjtZQUVELElBQUksT0FBTyxLQUFLLENBQUMsRUFBRTtnQkFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3BDO2lCQUFNLElBQUksT0FBTyxLQUFLLENBQUMsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3BDO2lCQUFNO2dCQUNMLE1BQU0sVUFBVSxHQUFHLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQzlELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQzVGLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUNuRTtZQUVELElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUM7S0FtREg7SUFqWUMsSUFDSSxHQUFHO1FBQ0wsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBQ0QsSUFBSSxHQUFHLENBQUMsS0FBYztRQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUdELElBQ0ksR0FBRztRQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksR0FBRyxDQUFDLEtBQWM7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFHRCxJQUNJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUFjO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBR0QsSUFDSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFHRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFjO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQW9JRCxRQUFRO1FBQ04sS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUN2QyxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDZixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUN4QyxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7WUFDN0MsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztZQUV4RSxPQUFPLENBQUMsVUFBVSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsb0JBQW9CLENBQUM7UUFDNUQsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDbEIsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUM1RixHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQyxFQUFFLEVBQUU7WUFDekQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7WUFFdkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQzFFLENBQUMsQ0FBQyxDQUNILENBQ0YsRUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsRUFBRSxDQUFDO1FBRWYsSUFBSSxDQUFDLFNBQVM7YUFDWCxJQUFJLENBQ0gsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDZixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUN4QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUM7WUFDdEYsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFFNUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQ3pELENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQ3pCLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQzFCLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQ2pFO2FBQ0EsU0FBUyxFQUFFLENBQUM7UUFFZixJQUFJLENBQUMsT0FBTzthQUNULElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUN6QixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFDLEVBQ3JELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN6QzthQUNBLFNBQVMsRUFBRSxDQUFDO1FBRWYsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQzthQUM5QyxJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFDekIsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsRUFDRixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1I7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU8sZ0JBQWdCLENBQ3RCLEtBQThCLEVBQzlCLGdCQUF5QixFQUN6Qix1QkFBZ0M7UUFFaEMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztTQUNoRjtRQUVELE1BQU0sZUFBZSxHQUFHLHdCQUF3QixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdFLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDcEIsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztRQUV6RCxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDcEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQThCO1FBQ3RELE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBQzFELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFdEQsTUFBTSxXQUFXLEdBQUcsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFFdkMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUEwQixNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3pGLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBYSxNQUFNLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBYSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFMUQsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFL0QsU0FBUyxDQUEwQixNQUFNLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQzthQUNuRSxJQUFJLENBQ0gsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUNwQixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUN6QixjQUFjLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxFQUN2RSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQyxFQUFFLEVBQUU7WUFDekQsTUFBTSxlQUFlLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFN0UsSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDcEIsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDcEM7WUFFRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixDQUFDLENBQUM7UUFDNUYsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztRQUVmLFNBQVM7YUFDTixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFDekIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1osS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBK0JPLHdCQUF3QixDQUFDLEtBQW9CLEVBQUUsR0FBVztRQUNoRSxRQUFRLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDakIsS0FBSyxRQUFRO2dCQUNYLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDOUIsTUFBTTtZQUNSLEtBQUssVUFBVTtnQkFDYixJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDL0IsTUFBTTtZQUNSLEtBQUssS0FBSztnQkFDUixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ25DLE1BQU07WUFDUixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQyxNQUFNO1lBQ1IsS0FBSyxXQUFXO2dCQUNkLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xELE1BQU07WUFDUixLQUFLLFNBQVM7Z0JBQ1osSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3QixNQUFNO1lBQ1IsS0FBSyxZQUFZO2dCQUNmLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xELE1BQU07WUFDUixLQUFLLFdBQVc7Z0JBQ2QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzlCLE1BQU07WUFDUjtnQkFDRSxPQUFPO1NBQ1Y7UUFFRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFTyxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBYztRQUMvQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDNUMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUzRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBRXJGLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7OEdBaFpVLGVBQWU7a0dBQWYsZUFBZSw2V0N6RjVCLDBxQkFxQkEsc2xJRGlFMEIsU0FBUyw4Q0FBRSxJQUFJOzsyRkFHNUIsZUFBZTtrQkFmM0IsU0FBUzsrQkFDRSxXQUFXLGNBR1QsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxXQUFXO3dCQUNsQixJQUFJLEVBQUUsUUFBUTt3QkFDZCxNQUFNLEVBQUUsV0FBVztxQkFDcEIsV0FDUSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGtCQUN4QixDQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDOzhCQW1CckUsR0FBRztzQkFETixLQUFLO2dCQVVGLEdBQUc7c0JBRE4sS0FBSztnQkFVRixJQUFJO3NCQURQLEtBQUs7Z0JBVUYsUUFBUTtzQkFEWCxLQUFLO2dCQVVGLFFBQVE7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgQXN5bmNQaXBlLCBET0NVTUVOVCwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgaW5qZWN0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGV0RGlyZWN0aXZlLCBjbGFtcCwgY3JlYXRlRGVzdHJveSwgY3JlYXRlUmVhY3RpdmVCaW5kaW5ncyB9IGZyb20gJ0BldGhsZXRlL2NvcmUnO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBmaWx0ZXIsXG4gIGZyb21FdmVudCxcbiAgbWFwLFxuICBtZXJnZSxcbiAgb2YsXG4gIHN0YXJ0V2l0aCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbiAgd2l0aExhdGVzdEZyb20sXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSU5QVVRfVE9LRU4sIElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBGb3JtRmllbGRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbmNvbnN0IGlzVG91Y2hFdmVudCA9IChldmVudDogRXZlbnQpOiBldmVudCBpcyBUb3VjaEV2ZW50ID0+IHtcbiAgcmV0dXJuIGV2ZW50LnR5cGVbMF0gPT09ICd0Jztcbn07XG5cbmNvbnN0IGdldFRvdWNoSWRGb3JTbGlkZXIgPSAoZXZlbnQ6IFRvdWNoRXZlbnQsIHNsaWRlcjogSFRNTEVsZW1lbnQpID0+IHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBldmVudC50b3VjaGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudG91Y2hlc1tpXS50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoc2xpZGVyID09PSB0YXJnZXQgfHwgc2xpZGVyLmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgIHJldHVybiBldmVudC50b3VjaGVzW2ldLmlkZW50aWZpZXI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59O1xuXG5jb25zdCBmaW5kTWF0Y2hpbmdUb3VjaCA9ICh0b3VjaGVzOiBUb3VjaExpc3QsIGlkOiBudW1iZXIpID0+IHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB0b3VjaGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHRvdWNoZXNbaV0uaWRlbnRpZmllciA9PT0gaWQpIHtcbiAgICAgIHJldHVybiB0b3VjaGVzW2ldO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufTtcblxuY29uc3QgZ2V0UG9pbnRlclBvc2l0aW9uT25QYWdlID0gKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCwgaWQ6IG51bWJlciB8IG51bGwpID0+IHtcbiAgbGV0IHBvaW50OiB7IGNsaWVudFg6IG51bWJlcjsgY2xpZW50WTogbnVtYmVyIH0gfCBudWxsO1xuXG4gIGlmIChpc1RvdWNoRXZlbnQoZXZlbnQpKSB7XG4gICAgaWYgKHR5cGVvZiBpZCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHBvaW50ID0gZmluZE1hdGNoaW5nVG91Y2goZXZlbnQudG91Y2hlcywgaWQpIHx8IGZpbmRNYXRjaGluZ1RvdWNoKGV2ZW50LmNoYW5nZWRUb3VjaGVzLCBpZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBvaW50ID0gZXZlbnQudG91Y2hlc1swXSB8fCBldmVudC5jaGFuZ2VkVG91Y2hlc1swXTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcG9pbnQgPSBldmVudDtcbiAgfVxuXG4gIHJldHVybiBwb2ludCA/IHsgeDogcG9pbnQuY2xpZW50WCwgeTogcG9pbnQuY2xpZW50WSB9IDogbnVsbDtcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V0LXNsaWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LXNsaWRlcicsXG4gICAgcm9sZTogJ3NsaWRlcicsXG4gICAgJ1tpZF0nOiAnX2lucHV0LmlkJyxcbiAgfSxcbiAgaW1wb3J0czogW0xldERpcmVjdGl2ZSwgQXN5bmNQaXBlLCBOZ0lmXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFt7IGRpcmVjdGl2ZTogSW5wdXREaXJlY3RpdmUsIGlucHV0czogWydhdXRvY29tcGxldGUnXSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgU2xpZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RpclNlcnZpY2UgPSBpbmplY3QoRGlyZWN0aW9uYWxpdHkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kkID0gY3JlYXRlRGVzdHJveSgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21vdXNlRG93biQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnbW91c2Vkb3duJywgeyBwYXNzaXZlOiBmYWxzZSB9KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfdG91Y2hTdGFydCQgPSBmcm9tRXZlbnQ8VG91Y2hFdmVudD4odGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG91Y2hzdGFydCcsIHtcbiAgICBwYXNzaXZlOiBmYWxzZSxcbiAgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2tleURvd24kID0gZnJvbUV2ZW50PEtleWJvYXJkRXZlbnQ+KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2tleWRvd24nLCB7IHBhc3NpdmU6IGZhbHNlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9rZXlVcCQgPSBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4odGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAna2V5dXAnLCB7IHBhc3NpdmU6IGZhbHNlIH0pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lucHV0ID0gaW5qZWN0PElucHV0RGlyZWN0aXZlPG51bWJlcj4+KElOUFVUX1RPS0VOKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZm9ybUZpZWxkU3RhdGVTZXJ2aWNlID0gaW5qZWN0KEZvcm1GaWVsZFN0YXRlU2VydmljZSk7XG5cbiAgQElucHV0KClcbiAgZ2V0IG1pbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9taW4kLnZhbHVlO1xuICB9XG4gIHNldCBtaW4odmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLl9taW4kLm5leHQobnVtYmVyQXR0cmlidXRlKHZhbHVlLCAwKSk7XG4gIH1cbiAgcHJpdmF0ZSBfbWluJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMCk7XG5cbiAgQElucHV0KClcbiAgZ2V0IG1heCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9tYXgkLnZhbHVlO1xuICB9XG4gIHNldCBtYXgodmFsdWU6IHVua25vd24pIHtcbiAgICB0aGlzLl9tYXgkLm5leHQobnVtYmVyQXR0cmlidXRlKHZhbHVlLCAxMDApKTtcbiAgfVxuICBwcml2YXRlIF9tYXgkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgxMDApO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBzdGVwKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3N0ZXAkLnZhbHVlO1xuICB9XG4gIHNldCBzdGVwKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fc3RlcCQubmV4dChudW1iZXJBdHRyaWJ1dGUodmFsdWUsIDEpKTtcbiAgfVxuICBwcml2YXRlIF9zdGVwJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMSk7XG5cbiAgQElucHV0KClcbiAgZ2V0IHZlcnRpY2FsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl92ZXJ0aWNhbCQudmFsdWU7XG4gIH1cbiAgc2V0IHZlcnRpY2FsKHZhbHVlOiB1bmtub3duKSB7XG4gICAgdGhpcy5fdmVydGljYWwkLm5leHQoYm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZSkpO1xuICB9XG4gIHByaXZhdGUgX3ZlcnRpY2FsJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBpbnZlcnRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faW52ZXJ0ZWQkLnZhbHVlO1xuICB9XG4gIHNldCBpbnZlcnRlZCh2YWx1ZTogdW5rbm93bikge1xuICAgIHRoaXMuX2ludmVydGVkJC5uZXh0KGJvb2xlYW5BdHRyaWJ1dGUodmFsdWUpKTtcbiAgfVxuICBwcml2YXRlIF9pbnZlcnRlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kaXIkID0gdGhpcy5fZGlyU2VydmljZS5jaGFuZ2UucGlwZShzdGFydFdpdGgodGhpcy5fZGlyU2VydmljZS52YWx1ZSkpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZhbHVlJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2lucHV0LnZhbHVlJCwgdGhpcy5fbWluJCwgdGhpcy5fbWF4JF0pLnBpcGUoXG4gICAgbWFwKChbdmFsdWUsIG1pbiwgbWF4XSkgPT4gY2xhbXAodmFsdWUgPz8gMCwgbWluLCBtYXgpKSxcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9yb3VuZFRvRGVjaW1hbCQgPSB0aGlzLl9zdGVwJC5waXBlKG1hcCgoc3RlcCkgPT4gTWF0aC5yb3VuZChNYXRoLmxvZzEwKHN0ZXApKSAqIC0xKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZhbHVlVGV4dCQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl92YWx1ZSQsIHRoaXMuX3JvdW5kVG9EZWNpbWFsJF0pLnBpcGUoXG4gICAgbWFwKChbdmFsdWUsIHJvdW5kVG9EZWNpbWFsXSkgPT4gdmFsdWUudG9GaXhlZChyb3VuZFRvRGVjaW1hbCkpLFxuICApO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wZXJjZW50JCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX3ZhbHVlJCwgdGhpcy5fbWluJCwgdGhpcy5fbWF4JF0pLnBpcGUoXG4gICAgbWFwKChbdmFsdWUsIG1pbiwgbWF4XSkgPT4gKHZhbHVlIC0gbWluKSAvIChtYXggLSBtaW4pKSxcbiAgKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2hvdWxkSW52ZXJ0QXhpcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl92ZXJ0aWNhbCQsIHRoaXMuX2ludmVydGVkJF0pLnBpcGUoXG4gICAgbWFwKChbdmVydGljYWwsIGludmVydGVkXSkgPT4gKHZlcnRpY2FsID8gIWludmVydGVkIDogaW52ZXJ0ZWQpKSxcbiAgKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc2hvdWxkSW52ZXJ0TW91c2VDb29yZHMkID0gY29tYmluZUxhdGVzdChbXG4gICAgdGhpcy5fdmVydGljYWwkLFxuICAgIHRoaXMuX3Nob3VsZEludmVydEF4aXMkLFxuICAgIHRoaXMuX2RpciQsXG4gIF0pLnBpcGUoXG4gICAgbWFwKChbdmVydGljYWwsIHNob3VsZEludmVydEF4aXMsIGRpcl0pID0+IChkaXIgPT09ICdydGwnICYmICF2ZXJ0aWNhbCA/ICFzaG91bGRJbnZlcnRBeGlzIDogc2hvdWxkSW52ZXJ0QXhpcykpLFxuICApO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zbGlkZXJEaW1lbnNpb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhY2tCYWNrZ3JvdW5kU3R5bGVzJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX3BlcmNlbnQkLCB0aGlzLl92ZXJ0aWNhbCRdKS5waXBlKFxuICAgIG1hcCgoW3BlcmNlbnQsIHZlcnRpY2FsXSkgPT4ge1xuICAgICAgY29uc3Qgc2NhbGUgPSB2ZXJ0aWNhbCA/IGAxLCAkezEgLSBwZXJjZW50fSwgMWAgOiBgJHsxIC0gcGVyY2VudH0sIDEsIDFgO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0cmFuc2Zvcm06IGBzY2FsZTNkKCR7c2NhbGV9KWAsXG4gICAgICB9O1xuICAgIH0pLFxuICApO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB0cmFja0ZpbGxTdHlsZXMkID0gY29tYmluZUxhdGVzdChbdGhpcy5fcGVyY2VudCQsIHRoaXMuX3ZlcnRpY2FsJF0pLnBpcGUoXG4gICAgbWFwKChbcGVyY2VudCwgdmVydGljYWxdKSA9PiB7XG4gICAgICBjb25zdCBzY2FsZSA9IHZlcnRpY2FsID8gYDEsICR7cGVyY2VudH0sIDFgIDogYCR7cGVyY2VudH0sIDEsIDFgO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICB0cmFuc2Zvcm06IGBzY2FsZTNkKCR7c2NhbGV9KWAsXG4gICAgICAgIGRpc3BsYXk6IHBlcmNlbnQgPT09IDAgPyAnbm9uZScgOiAnJyxcbiAgICAgIH07XG4gICAgfSksXG4gICk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRodW1iQ29udGFpbmVyU3R5bGVzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX3BlcmNlbnQkLFxuICAgIHRoaXMuX3Nob3VsZEludmVydE1vdXNlQ29vcmRzJCxcbiAgICB0aGlzLl92ZXJ0aWNhbCQsXG4gICAgdGhpcy5fZGlyJCxcbiAgXSkucGlwZShcbiAgICBtYXAoKFtwZXJjZW50LCBzaG91bGRJbnZlcnRNb3VzZUNvb3JkcywgdmVydGljYWwsIGRpcl0pID0+IHtcbiAgICAgIGNvbnN0IGF4aXMgPSB2ZXJ0aWNhbCA/ICdZJyA6ICdYJztcbiAgICAgIGNvbnN0IGludmVydE9mZnNldCA9IGRpciA9PT0gJ3J0bCcgJiYgIXZlcnRpY2FsID8gIXNob3VsZEludmVydE1vdXNlQ29vcmRzIDogc2hvdWxkSW52ZXJ0TW91c2VDb29yZHM7XG4gICAgICBjb25zdCBvZmZzZXQgPSAoaW52ZXJ0T2Zmc2V0ID8gcGVyY2VudCA6IDEgLSBwZXJjZW50KSAqIDEwMDtcbiAgICAgIGNvbnN0IHNpZ24gPSB2ZXJ0aWNhbCA/ICctJyA6IGRpciA9PT0gJ3J0bCcgPyAnJyA6ICctJztcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHJhbnNmb3JtOiBgdHJhbnNsYXRlJHtheGlzfSgke3NpZ259JHtvZmZzZXR9JSlgLFxuICAgICAgfTtcbiAgICB9KSxcbiAgKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNTbGlkaW5nVmlhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8J2tleWJvYXJkJyB8ICdwb2ludGVyJyB8IG51bGw+KG51bGwpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGlzYWJsZUFuaW1hdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSB0b3VjaElkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBsYXN0UG9pbnRlckV2ZW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TW91c2VFdmVudCB8IFRvdWNoRXZlbnQgfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSBfYmluZGluZ3MgPSBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzKFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2FyaWEtb3JpZW50YXRpb24nLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5fdmVydGljYWwkLnBpcGUoXG4gICAgICAgIG1hcCgodmVydGljYWwpID0+ICh7XG4gICAgICAgICAgcmVuZGVyOiB0cnVlLFxuICAgICAgICAgIHZhbHVlOiB2ZXJ0aWNhbCA/ICd2ZXJ0aWNhbCcgOiAnaG9yaXpvbnRhbCcsXG4gICAgICAgIH0pKSxcbiAgICAgICksXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdhcmlhLWRpc2FibGVkJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2lucHV0LmRpc2FibGVkJCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2FyaWEtdmFsdWVub3cnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5fdmFsdWUkLnBpcGUobWFwKCh2YWx1ZSkgPT4gKHsgcmVuZGVyOiB0cnVlLCB2YWx1ZSB9KSkpLFxuICAgIH0sXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnYXJpYS12YWx1ZW1pbicsXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLl9taW4kLnBpcGUobWFwKCh2YWx1ZSkgPT4gKHsgcmVuZGVyOiB0cnVlLCB2YWx1ZSB9KSkpLFxuICAgIH0sXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnYXJpYS12YWx1ZW1heCcsXG4gICAgICBvYnNlcnZhYmxlOiB0aGlzLl9tYXgkLnBpcGUobWFwKCh2YWx1ZSkgPT4gKHsgcmVuZGVyOiB0cnVlLCB2YWx1ZSB9KSkpLFxuICAgIH0sXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnYXJpYS12YWx1ZXRleHQnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5fdmFsdWVUZXh0JC5waXBlKG1hcCgodmFsdWUpID0+ICh7IHJlbmRlcjogdHJ1ZSwgdmFsdWUgfSkpKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ3RhYmluZGV4JyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2lucHV0LmRpc2FibGVkJC5waXBlKG1hcCgoZGlzYWJsZWQpID0+ICh7IHJlbmRlcjogdHJ1ZSwgdmFsdWU6IGRpc2FibGVkID8gLTEgOiAwIH0pKSksXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdjbGFzcy5ldC1zbGlkZXItLWlzLXNsaWRpbmcnLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5pc1NsaWRpbmdWaWEkLnBpcGUobWFwKChpc1NsaWRpbmdWaWEpID0+ICEhaXNTbGlkaW5nVmlhKSksXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdjbGFzcy5ldC1zbGlkZXItLWludmVydGVkJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2ludmVydGVkJCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogJ2NsYXNzLmV0LXNsaWRlci0tZGlzYWJsZS1hbmltYXRpb25zJyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuZGlzYWJsZUFuaW1hdGlvbnMkLFxuICAgIH0sXG4gICAge1xuICAgICAgYXR0cmlidXRlOiAnYXJpYS1sYWJlbGVkYnknLFxuICAgICAgb2JzZXJ2YWJsZTogdGhpcy5fZm9ybUZpZWxkU3RhdGVTZXJ2aWNlLmxhYmVsSWQkLnBpcGUoXG4gICAgICAgIG1hcCgobGFiZWxJZCkgPT4gKHsgcmVuZGVyOiAhIWxhYmVsSWQsIHZhbHVlOiBsYWJlbElkID8/ICcnIH0pKSxcbiAgICAgICksXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6ICdhcmlhLWRlc2NyaWJlZGJ5JyxcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuX2Zvcm1GaWVsZFN0YXRlU2VydmljZS5kZXNjcmliZWRCeSQucGlwZShcbiAgICAgICAgbWFwKChkZXNjcmliZWRCeSkgPT4gKHsgcmVuZGVyOiAhIWRlc2NyaWJlZEJ5LCB2YWx1ZTogZGVzY3JpYmVkQnkgPz8gJycgfSkpLFxuICAgICAgKSxcbiAgICB9LFxuICApO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIG1lcmdlKHRoaXMuX21vdXNlRG93biQsIHRoaXMuX3RvdWNoU3RhcnQkKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IHtcbiAgICAgICAgICBjb25zdCBpc0Rpc2FibGVkID0gdGhpcy5faW5wdXQuZGlzYWJsZWQ7XG4gICAgICAgICAgY29uc3QgaXNTbGlkaW5nID0gISF0aGlzLmlzU2xpZGluZ1ZpYSQudmFsdWU7XG4gICAgICAgICAgY29uc3QgaXNJbnZhbGlkTW91c2VCdXR0b24gPSAhaXNUb3VjaEV2ZW50KGV2ZW50KSAmJiBldmVudC5idXR0b24gIT09IDA7XG5cbiAgICAgICAgICByZXR1cm4gIWlzRGlzYWJsZWQgJiYgIWlzU2xpZGluZyAmJiAhaXNJbnZhbGlkTW91c2VCdXR0b247XG4gICAgICAgIH0pLFxuICAgICAgICBzd2l0Y2hNYXAoKGV2ZW50KSA9PlxuICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW29mKGV2ZW50KSwgdGhpcy5fZnJlc2hTbGlkZXJEaW1lbnNpb25zKCksIHRoaXMuX3Nob3VsZEludmVydE1vdXNlQ29vcmRzJF0pLnBpcGUoXG4gICAgICAgICAgICB0YXAoKFtldmVudCwgc2xpZGVyRGltZW5zaW9ucywgc2hvdWxkSW52ZXJ0TW91c2VDb29yZHNdKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXG4gICAgICAgICAgICAgIHRoaXMuX2luaXRpYWxpemVTbGlkZShldmVudCwgc2xpZGVyRGltZW5zaW9ucywgc2hvdWxkSW52ZXJ0TW91c2VDb29yZHMpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIHRoaXMuX2tleURvd24kXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGlzRGlzYWJsZWQgPSB0aGlzLl9pbnB1dC5kaXNhYmxlZDtcbiAgICAgICAgICBjb25zdCBpc1NsaWRpbmcgPSB0aGlzLmlzU2xpZGluZ1ZpYSQudmFsdWUgJiYgdGhpcy5pc1NsaWRpbmdWaWEkLnZhbHVlICE9PSAna2V5Ym9hcmQnO1xuICAgICAgICAgIGNvbnN0IGlzTW9kaWZpZXJQcmVzc2VkID0gZXZlbnQuYWx0S2V5IHx8IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSB8fCBldmVudC5zaGlmdEtleSB8fCBldmVudC5tZXRhS2V5O1xuXG4gICAgICAgICAgcmV0dXJuICFpc0Rpc2FibGVkICYmICFpc1NsaWRpbmcgJiYgIWlzTW9kaWZpZXJQcmVzc2VkO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5fZGlyJCksXG4gICAgICAgIHRhcCgoW2V2ZW50LCBkaXJdKSA9PiB0aGlzLl91cGRhdGVTbGlkZXJWaWFLZXlib2FyZChldmVudCwgZGlyKSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLl9rZXlVcCRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5pc1NsaWRpbmdWaWEkLnZhbHVlID09PSAna2V5Ym9hcmQnKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuaXNTbGlkaW5nVmlhJC5uZXh0KG51bGwpKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgIGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdibHVyJylcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2lucHV0Ll9tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgICAgdGhpcy5faW5wdXQuX3NldFNob3VsZERpc3BsYXlFcnJvcih0cnVlKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0aWFsaXplU2xpZGUoXG4gICAgZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50LFxuICAgIHNsaWRlckRpbWVuc2lvbnM6IERPTVJlY3QsXG4gICAgc2hvdWxkSW52ZXJ0TW91c2VDb29yZHM6IGJvb2xlYW4sXG4gICkge1xuICAgIGlmIChpc1RvdWNoRXZlbnQoZXZlbnQpKSB7XG4gICAgICB0aGlzLnRvdWNoSWQkLm5leHQoZ2V0VG91Y2hJZEZvclNsaWRlcihldmVudCwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSk7XG4gICAgfVxuXG4gICAgY29uc3QgcG9pbnRlclBvc2l0aW9uID0gZ2V0UG9pbnRlclBvc2l0aW9uT25QYWdlKGV2ZW50LCB0aGlzLnRvdWNoSWQkLnZhbHVlKTtcblxuICAgIGlmICghcG9pbnRlclBvc2l0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc1NsaWRpbmdWaWEkLm5leHQoJ3BvaW50ZXInKTtcblxuICAgIHRoaXMuX2JpbmRHbG9iYWxFdmVudHMoZXZlbnQpO1xuICAgIHRoaXMuX3VwZGF0ZVZhbHVlRnJvbVBvc2l0aW9uKHBvaW50ZXJQb3NpdGlvbiwgc2xpZGVyRGltZW5zaW9ucywgc2hvdWxkSW52ZXJ0TW91c2VDb29yZHMpO1xuICAgIHRoaXMuX2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5jdXJzb3IgPSAnZ3JhYmJpbmcnO1xuXG4gICAgaWYgKGV2ZW50LmNhbmNlbGFibGUpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfYmluZEdsb2JhbEV2ZW50cyhldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpIHtcbiAgICBjb25zdCBpc1RvdWNoID0gaXNUb3VjaEV2ZW50KGV2ZW50KTtcbiAgICBjb25zdCBtb3ZlRXZlbnROYW1lID0gaXNUb3VjaCA/ICd0b3VjaG1vdmUnIDogJ21vdXNlbW92ZSc7XG4gICAgY29uc3QgZW5kRXZlbnROYW1lID0gaXNUb3VjaCA/ICd0b3VjaGVuZCcgOiAnbW91c2V1cCc7XG5cbiAgICBjb25zdCBldmVudENvbmZpZyA9IHsgcGFzc2l2ZTogZmFsc2UgfTtcblxuICAgIGNvbnN0IHBvaW50ZXJVcCQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudCB8IFRvdWNoRXZlbnQ+KHdpbmRvdywgZW5kRXZlbnROYW1lLCBldmVudENvbmZpZyk7XG4gICAgY29uc3QgdG91Y2hDYW5jZWwkID0gZnJvbUV2ZW50PFRvdWNoRXZlbnQ+KHdpbmRvdywgJ3RvdWNoY2FuY2VsJywgZXZlbnRDb25maWcpO1xuICAgIGNvbnN0IHdpbmRvd0JsdXIkID0gZnJvbUV2ZW50PEZvY3VzRXZlbnQ+KHdpbmRvdywgJ2JsdXInKTtcblxuICAgIGNvbnN0IHNsaWRlRW5kJCA9IG1lcmdlKHBvaW50ZXJVcCQsIHRvdWNoQ2FuY2VsJCwgd2luZG93Qmx1ciQpO1xuXG4gICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50Pih3aW5kb3csIG1vdmVFdmVudE5hbWUsIGV2ZW50Q29uZmlnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbChzbGlkZUVuZCQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgICB3aXRoTGF0ZXN0RnJvbSh0aGlzLl9zbGlkZXJEaW1lbnNpb25zJCwgdGhpcy5fc2hvdWxkSW52ZXJ0TW91c2VDb29yZHMkKSxcbiAgICAgICAgdGFwKChbZXZlbnQsIHNsaWRlckRpbWVuc2lvbnMsIHNob3VsZEludmVydE1vdXNlQ29vcmRzXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHBvaW50ZXJQb3NpdGlvbiA9IGdldFBvaW50ZXJQb3NpdGlvbk9uUGFnZShldmVudCwgdGhpcy50b3VjaElkJC52YWx1ZSk7XG5cbiAgICAgICAgICBpZiAoIXBvaW50ZXJQb3NpdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghdGhpcy5kaXNhYmxlQW5pbWF0aW9ucyQudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZUFuaW1hdGlvbnMkLm5leHQodHJ1ZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5fdXBkYXRlVmFsdWVGcm9tUG9zaXRpb24ocG9pbnRlclBvc2l0aW9uLCBzbGlkZXJEaW1lbnNpb25zLCBzaG91bGRJbnZlcnRNb3VzZUNvb3Jkcyk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgc2xpZGVFbmQkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgdGFwKChldmVudCkgPT4ge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgdGhpcy5pc1NsaWRpbmdWaWEkLm5leHQobnVsbCk7XG4gICAgICAgICAgdGhpcy50b3VjaElkJC5uZXh0KG51bGwpO1xuICAgICAgICAgIHRoaXMuX2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5jdXJzb3IgPSAnJztcbiAgICAgICAgICB0aGlzLmRpc2FibGVBbmltYXRpb25zJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWYWx1ZUZyb21Qb3NpdGlvbiA9IChcbiAgICBwb3M6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSxcbiAgICBzbGlkZXJEaW1lbnNpb25zOiBET01SZWN0LFxuICAgIHNob3VsZEludmVydE1vdXNlQ29vcmRzOiBib29sZWFuLFxuICApID0+IHtcbiAgICBjb25zdCBvZmZzZXQgPSB0aGlzLnZlcnRpY2FsID8gc2xpZGVyRGltZW5zaW9ucy50b3AgOiBzbGlkZXJEaW1lbnNpb25zLmxlZnQ7XG4gICAgY29uc3Qgc2l6ZSA9IHRoaXMudmVydGljYWwgPyBzbGlkZXJEaW1lbnNpb25zLmhlaWdodCA6IHNsaWRlckRpbWVuc2lvbnMud2lkdGg7XG4gICAgY29uc3QgcG9zQ29tcG9uZW50ID0gdGhpcy52ZXJ0aWNhbCA/IHBvcy55IDogcG9zLng7XG5cbiAgICBsZXQgcGVyY2VudCA9IGNsYW1wKChwb3NDb21wb25lbnQgLSBvZmZzZXQpIC8gc2l6ZSwgMCwgMSk7XG5cbiAgICBpZiAoc2hvdWxkSW52ZXJ0TW91c2VDb29yZHMpIHtcbiAgICAgIHBlcmNlbnQgPSAxIC0gcGVyY2VudDtcbiAgICB9XG5cbiAgICBpZiAocGVyY2VudCA9PT0gMCkge1xuICAgICAgdGhpcy5faW5wdXQuX3VwZGF0ZVZhbHVlKHRoaXMubWluKTtcbiAgICB9IGVsc2UgaWYgKHBlcmNlbnQgPT09IDEpIHtcbiAgICAgIHRoaXMuX2lucHV0Ll91cGRhdGVWYWx1ZSh0aGlzLm1heCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGV4YWN0VmFsdWUgPSBwZXJjZW50ICogKHRoaXMubWF4IC0gdGhpcy5taW4pICsgdGhpcy5taW47XG4gICAgICBjb25zdCBjbG9zZXN0VmFsdWUgPSBNYXRoLnJvdW5kKChleGFjdFZhbHVlIC0gdGhpcy5taW4pIC8gdGhpcy5zdGVwKSAqIHRoaXMuc3RlcCArIHRoaXMubWluO1xuICAgICAgdGhpcy5faW5wdXQuX3VwZGF0ZVZhbHVlKGNsYW1wKGNsb3Nlc3RWYWx1ZSwgdGhpcy5taW4sIHRoaXMubWF4KSk7XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXQuX21hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLl9pbnB1dC5fc2V0U2hvdWxkRGlzcGxheUVycm9yKHRydWUpO1xuICB9O1xuXG4gIHByaXZhdGUgX3VwZGF0ZVNsaWRlclZpYUtleWJvYXJkKGV2ZW50OiBLZXlib2FyZEV2ZW50LCBkaXI6IHN0cmluZykge1xuICAgIHN3aXRjaCAoZXZlbnQua2V5KSB7XG4gICAgICBjYXNlICdQYWdlVXAnOlxuICAgICAgICB0aGlzLl91cGRhdGVTbGlkZXJWYWx1ZUJ5KDEwKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdQYWdlRG93bic6XG4gICAgICAgIHRoaXMuX3VwZGF0ZVNsaWRlclZhbHVlQnkoLTEwKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdFbmQnOlxuICAgICAgICB0aGlzLl9pbnB1dC5fdXBkYXRlVmFsdWUodGhpcy5tYXgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0hvbWUnOlxuICAgICAgICB0aGlzLl9pbnB1dC5fdXBkYXRlVmFsdWUodGhpcy5taW4pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgIHRoaXMuX3VwZGF0ZVNsaWRlclZhbHVlQnkoZGlyID09PSAncnRsJyA/IDEgOiAtMSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIHRoaXMuX3VwZGF0ZVNsaWRlclZhbHVlQnkoMSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dSaWdodCc6XG4gICAgICAgIHRoaXMuX3VwZGF0ZVNsaWRlclZhbHVlQnkoZGlyID09PSAncnRsJyA/IC0xIDogMSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgICAgdGhpcy5fdXBkYXRlU2xpZGVyVmFsdWVCeSgtMSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5pc1NsaWRpbmdWaWEkLm5leHQoJ2tleWJvYXJkJyk7XG5cbiAgICB0aGlzLl9pbnB1dC5fbWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuX2lucHV0Ll9zZXRTaG91bGREaXNwbGF5RXJyb3IodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF91cGRhdGVTbGlkZXJWYWx1ZUJ5KG9mZnNldDogbnVtYmVyKSB7XG4gICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5faW5wdXQudmFsdWUgfHwgMDtcbiAgICBjb25zdCB2YWx1ZSA9IGNsYW1wKGN1cnJlbnRWYWx1ZSArIHRoaXMuc3RlcCAqIG9mZnNldCwgdGhpcy5taW4sIHRoaXMubWF4KTtcblxuICAgIHRoaXMuX2lucHV0Ll91cGRhdGVWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9mcmVzaFNsaWRlckRpbWVuc2lvbnMoKSB7XG4gICAgdGhpcy5fc2xpZGVyRGltZW5zaW9ucyQubmV4dCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpO1xuXG4gICAgcmV0dXJuIHRoaXMuX3NsaWRlckRpbWVuc2lvbnMkO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZXQtc2xpZGVyLXRyYWNrLWNvbnRhaW5lclwiPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJ0cmFja0JhY2tncm91bmRTdHlsZXMkIHwgYXN5bmMgYXMgdHJhY2tCYWNrZ3JvdW5kU3R5bGVzXCJcbiAgICBbc3R5bGUudHJhbnNmb3JtXT1cInRyYWNrQmFja2dyb3VuZFN0eWxlcy50cmFuc2Zvcm1cIlxuICAgIGNsYXNzPVwiZXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmRcIlxuICA+PC9kaXY+XG4gIDxkaXZcbiAgICAqbmdJZj1cInRyYWNrRmlsbFN0eWxlcyQgfCBhc3luYyBhcyB0cmFja0ZpbGxTdHlsZXNcIlxuICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwidHJhY2tGaWxsU3R5bGVzLnRyYW5zZm9ybVwiXG4gICAgW3N0eWxlLmRpc3BsYXldPVwidHJhY2tGaWxsU3R5bGVzLmRpc3BsYXlcIlxuICAgIGNsYXNzPVwiZXQtc2xpZGVyLXRyYWNrLWZpbGxcIlxuICA+PC9kaXY+XG48L2Rpdj5cblxuPGRpdlxuICAqbmdJZj1cInRodW1iQ29udGFpbmVyU3R5bGVzJCB8IGFzeW5jIGFzIHRodW1iQ29udGFpbmVyU3R5bGVzXCJcbiAgW3N0eWxlLnRyYW5zZm9ybV09XCJ0aHVtYkNvbnRhaW5lclN0eWxlcy50cmFuc2Zvcm1cIlxuICBjbGFzcz1cImV0LXNsaWRlci10aHVtYi1jb250YWluZXJcIlxuPlxuICA8ZGl2IGNsYXNzPVwiZXQtc2xpZGVyLXRodW1iXCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -11,8 +11,8 @@ export class SliderFieldComponent {
11
11
  constructor() {
12
12
  this.inputState = inject(InputStateService);
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SliderFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: SliderFieldComponent, isStandalone: true, selector: "et-slider-field", host: { classAttribute: "et-form-field et-slider-field" }, hostDirectives: [{ directive: i1.StaticFormFieldDirective }, { directive: i2.WriteableInputDirective }, { directive: i0.forwardRef(function () { return i3.DynamicFormFieldDirective; }), inputs: ["hideErrorMessage", "hideErrorMessage"] }], ngImport: i0, template: `
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SliderFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.1", type: SliderFieldComponent, isStandalone: true, selector: "et-slider-field", host: { classAttribute: "et-form-field et-slider-field" }, hostDirectives: [{ directive: i1.StaticFormFieldDirective }, { directive: i2.WriteableInputDirective }, { directive: i0.forwardRef(function () { return i3.DynamicFormFieldDirective; }), inputs: ["hideErrorMessage", "hideErrorMessage"] }], ngImport: i0, template: `
16
16
  <ng-content select="et-label" />
17
17
  <div class="et-slider-field-container">
18
18
  <ng-content select="et-slider" />
@@ -20,7 +20,7 @@ export class SliderFieldComponent {
20
20
  <et-error [errors]="inputState.errors$ | async" />
21
21
  `, isInline: true, dependencies: [{ kind: "component", type: ErrorComponent, selector: "et-error", inputs: ["errors"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: SliderFieldComponent, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.1", ngImport: i0, type: SliderFieldComponent, decorators: [{
24
24
  type: Component,
25
25
  args: [{
26
26
  selector: 'et-slider-field',