ngx-tethys 17.0.1 → 17.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/action/action.component.d.ts +3 -0
  3. package/affix/affix.component.d.ts +2 -0
  4. package/alert/alert.component.d.ts +1 -0
  5. package/anchor/anchor.component.d.ts +3 -0
  6. package/arrow-switcher/arrow-switcher.component.d.ts +1 -0
  7. package/autocomplete/autocomplete.component.d.ts +2 -3
  8. package/autocomplete/autocomplete.trigger.directive.d.ts +3 -0
  9. package/avatar/avatar.component.d.ts +4 -0
  10. package/back-top/back-top.component.d.ts +1 -0
  11. package/badge/badge.component.d.ts +5 -0
  12. package/button/button-icon.component.d.ts +2 -0
  13. package/button/button.component.d.ts +2 -0
  14. package/card/card.component.d.ts +3 -0
  15. package/card/content.component.d.ts +2 -1
  16. package/carousel/carousel.component.d.ts +5 -0
  17. package/cascader/cascader-li.component.d.ts +9 -2
  18. package/cascader/cascader-search-option.component.d.ts +7 -2
  19. package/cascader/cascader.component.d.ts +23 -2
  20. package/cascader/styles/cascader.scss +1 -0
  21. package/cascader/types.d.ts +1 -0
  22. package/checkbox/checkbox.component.d.ts +1 -0
  23. package/collapse/collapse-item.component.d.ts +2 -0
  24. package/collapse/collapse.component.d.ts +1 -0
  25. package/color-picker/color-picker-panel.component.d.ts +1 -0
  26. package/color-picker/color-picker.component.d.ts +7 -1
  27. package/copy/copy.directive.d.ts +1 -0
  28. package/core/behaviors/decorators.d.ts +6 -0
  29. package/date-picker/abstract-picker.component.d.ts +8 -1
  30. package/date-picker/abstract-picker.directive.d.ts +4 -0
  31. package/date-picker/base-picker.component.d.ts +2 -0
  32. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -0
  33. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -0
  34. package/date-picker/picker.component.d.ts +1 -0
  35. package/date-range/date-range.component.d.ts +2 -0
  36. package/dialog/body/dialog-body.component.d.ts +2 -1
  37. package/dialog/footer/dialog-footer.component.d.ts +1 -0
  38. package/dialog/header/dialog-header.component.d.ts +1 -0
  39. package/divider/divider.component.d.ts +2 -0
  40. package/drag-drop/drag-handle.directive.d.ts +1 -0
  41. package/drag-drop/drag.directive.d.ts +1 -0
  42. package/drag-drop/drop-container.directive.d.ts +1 -0
  43. package/dropdown/dropdown-menu-item.directive.d.ts +3 -1
  44. package/dropdown/dropdown-menu.component.d.ts +1 -0
  45. package/dropdown/dropdown.directive.d.ts +3 -0
  46. package/empty/empty.component.d.ts +1 -0
  47. package/esm2022/action/action.component.mjs +9 -22
  48. package/esm2022/affix/affix.component.mjs +8 -15
  49. package/esm2022/alert/alert.component.mjs +5 -10
  50. package/esm2022/anchor/anchor.component.mjs +10 -20
  51. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +5 -11
  52. package/esm2022/autocomplete/autocomplete.component.mjs +5 -23
  53. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +9 -20
  54. package/esm2022/avatar/avatar.component.mjs +14 -30
  55. package/esm2022/back-top/back-top.component.mjs +6 -10
  56. package/esm2022/badge/badge.component.mjs +15 -37
  57. package/esm2022/button/button-icon.component.mjs +9 -20
  58. package/esm2022/button/button.component.mjs +7 -16
  59. package/esm2022/card/card.component.mjs +6 -20
  60. package/esm2022/card/content.component.mjs +5 -6
  61. package/esm2022/carousel/carousel.component.mjs +13 -30
  62. package/esm2022/cascader/cascader-li.component.mjs +16 -31
  63. package/esm2022/cascader/cascader-search-option.component.mjs +12 -21
  64. package/esm2022/cascader/cascader.component.mjs +32 -52
  65. package/esm2022/cascader/types.mjs +1 -1
  66. package/esm2022/checkbox/checkbox.component.mjs +7 -13
  67. package/esm2022/collapse/collapse-item.component.mjs +8 -15
  68. package/esm2022/collapse/collapse.component.mjs +5 -10
  69. package/esm2022/color-picker/color-picker-panel.component.mjs +5 -10
  70. package/esm2022/color-picker/color-picker.component.mjs +17 -37
  71. package/esm2022/copy/copy.directive.mjs +5 -10
  72. package/esm2022/core/behaviors/decorators.mjs +7 -44
  73. package/esm2022/date-picker/abstract-picker.component.mjs +21 -45
  74. package/esm2022/date-picker/abstract-picker.directive.mjs +11 -27
  75. package/esm2022/date-picker/base-picker.component.mjs +8 -15
  76. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -10
  77. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +7 -6
  78. package/esm2022/date-picker/picker.component.mjs +6 -10
  79. package/esm2022/date-range/date-range.component.mjs +7 -15
  80. package/esm2022/dialog/body/dialog-body.component.mjs +6 -6
  81. package/esm2022/dialog/footer/dialog-footer.component.mjs +6 -13
  82. package/esm2022/dialog/header/dialog-header.component.mjs +6 -10
  83. package/esm2022/divider/divider.component.mjs +7 -15
  84. package/esm2022/drag-drop/drag-handle.directive.mjs +5 -13
  85. package/esm2022/drag-drop/drag.directive.mjs +5 -11
  86. package/esm2022/drag-drop/drop-container.directive.mjs +5 -10
  87. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +9 -19
  88. package/esm2022/dropdown/dropdown-menu.component.mjs +6 -9
  89. package/esm2022/dropdown/dropdown.directive.mjs +8 -22
  90. package/esm2022/empty/empty.component.mjs +7 -13
  91. package/esm2022/flexible-text/flexible-text.component.mjs +4 -11
  92. package/esm2022/form/form-group-error/form-group-error.component.mjs +5 -10
  93. package/esm2022/form/form-group-label.directive.mjs +6 -6
  94. package/esm2022/form/form-group.component.mjs +13 -17
  95. package/esm2022/icon/icon.component.mjs +6 -20
  96. package/esm2022/image/image.directive.mjs +7 -15
  97. package/esm2022/input/input-search.component.mjs +6 -11
  98. package/esm2022/input/input.component.mjs +7 -15
  99. package/esm2022/input-number/input-number.component.mjs +12 -25
  100. package/esm2022/layout/header.component.mjs +9 -19
  101. package/esm2022/layout/sidebar-header.component.mjs +5 -10
  102. package/esm2022/layout/sidebar.component.mjs +22 -45
  103. package/esm2022/list/list.component.mjs +5 -11
  104. package/esm2022/list/selection/selection-list.mjs +13 -10
  105. package/esm2022/loading/loading.component.mjs +9 -20
  106. package/esm2022/menu/group/menu-group.component.mjs +12 -38
  107. package/esm2022/menu/item/action/menu-item-action.component.mjs +5 -10
  108. package/esm2022/menu/item/name/menu-item-name.component.mjs +5 -10
  109. package/esm2022/menu/menu.component.mjs +5 -10
  110. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +6 -6
  111. package/esm2022/nav/nav-ink-bar.directive.mjs +7 -15
  112. package/esm2022/nav/nav-item.directive.mjs +10 -20
  113. package/esm2022/nav/nav.component.mjs +12 -25
  114. package/esm2022/pagination/pagination.component.mjs +18 -68
  115. package/esm2022/popover/popover.directive.mjs +12 -33
  116. package/esm2022/progress/progress-circle.component.mjs +9 -20
  117. package/esm2022/progress/progress-strip.component.mjs +5 -11
  118. package/esm2022/progress/progress.component.mjs +11 -23
  119. package/esm2022/property/properties.component.mjs +5 -10
  120. package/esm2022/property/property-item.component.mjs +8 -15
  121. package/esm2022/property-operation/property-operation.component.mjs +16 -37
  122. package/esm2022/radio/group/radio-group.component.mjs +6 -21
  123. package/esm2022/rate/rate-item.component.mjs +5 -10
  124. package/esm2022/rate/rate.component.mjs +16 -25
  125. package/esm2022/resizable/resizable.directive.mjs +24 -55
  126. package/esm2022/resizable/resize-handle.component.mjs +6 -10
  127. package/esm2022/resizable/resize-handles.component.mjs +5 -10
  128. package/esm2022/segment/segment-item.component.mjs +5 -10
  129. package/esm2022/segment/segment.component.mjs +7 -16
  130. package/esm2022/select/custom-select/custom-select.component.mjs +30 -65
  131. package/esm2022/select/native-select/native-select.component.mjs +6 -10
  132. package/esm2022/shared/base-form-check.component.mjs +10 -20
  133. package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -15
  134. package/esm2022/shared/directives/thy-scroll.directive.mjs +6 -13
  135. package/esm2022/shared/directives/thy-show.mjs +5 -11
  136. package/esm2022/shared/option/group/option-group.component.mjs +5 -10
  137. package/esm2022/shared/option/list-option/list-option.component.mjs +6 -13
  138. package/esm2022/shared/option/option.component.mjs +5 -11
  139. package/esm2022/shared/select/select-control/select-control.component.mjs +17 -44
  140. package/esm2022/skeleton/skeleton-circle.component.mjs +6 -9
  141. package/esm2022/skeleton/skeleton-rectangle.component.mjs +6 -9
  142. package/esm2022/skeleton/skeleton.component.mjs +5 -10
  143. package/esm2022/skeleton/stylized/bullet-list.component.mjs +6 -9
  144. package/esm2022/skeleton/stylized/list.component.mjs +6 -9
  145. package/esm2022/skeleton/stylized/paragraph.component.mjs +6 -9
  146. package/esm2022/slide/slide-body/slide-body-section.component.mjs +6 -6
  147. package/esm2022/slider/slider.component.mjs +18 -35
  148. package/esm2022/space/space.component.mjs +6 -10
  149. package/esm2022/stepper/step-header.component.mjs +9 -20
  150. package/esm2022/stepper/stepper.component.mjs +7 -16
  151. package/esm2022/switch/switch.component.mjs +12 -17
  152. package/esm2022/table/table-column.component.mjs +9 -31
  153. package/esm2022/table/table-skeleton.component.mjs +8 -14
  154. package/esm2022/table/table.component.mjs +32 -83
  155. package/esm2022/tabs/tab.component.mjs +5 -10
  156. package/esm2022/tabs/tabs.component.mjs +8 -15
  157. package/esm2022/tag/tag.component.mjs +6 -10
  158. package/esm2022/time-picker/time-picker-panel.component.mjs +8 -15
  159. package/esm2022/time-picker/time-picker.component.mjs +20 -46
  160. package/esm2022/timeline/timeline.component.mjs +5 -10
  161. package/esm2022/tooltip/tooltip.directive.mjs +11 -34
  162. package/esm2022/tree/tree-node.component.mjs +17 -40
  163. package/esm2022/tree/tree.component.mjs +19 -47
  164. package/esm2022/tree-select/tree-select.component.mjs +18 -40
  165. package/esm2022/upload/file-select-base.mjs +7 -6
  166. package/esm2022/upload/file-select.component.mjs +11 -26
  167. package/esm2022/version.mjs +2 -2
  168. package/esm2022/vote/vote.component.mjs +11 -33
  169. package/esm2022/watermark/watermark.directive.mjs +6 -10
  170. package/fesm2022/ngx-tethys-action.mjs +9 -21
  171. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  172. package/fesm2022/ngx-tethys-affix.mjs +6 -14
  173. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  174. package/fesm2022/ngx-tethys-alert.mjs +4 -9
  175. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  176. package/fesm2022/ngx-tethys-anchor.mjs +8 -19
  177. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  178. package/fesm2022/ngx-tethys-arrow-switcher.mjs +4 -10
  179. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  180. package/fesm2022/ngx-tethys-autocomplete.mjs +14 -39
  181. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  182. package/fesm2022/ngx-tethys-avatar.mjs +14 -29
  183. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  184. package/fesm2022/ngx-tethys-back-top.mjs +5 -9
  185. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  186. package/fesm2022/ngx-tethys-badge.mjs +14 -36
  187. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  188. package/fesm2022/ngx-tethys-button.mjs +13 -30
  189. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  190. package/fesm2022/ngx-tethys-card.mjs +8 -23
  191. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  192. package/fesm2022/ngx-tethys-carousel.mjs +12 -29
  193. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  194. package/fesm2022/ngx-tethys-cascader.mjs +55 -95
  195. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  196. package/fesm2022/ngx-tethys-checkbox.mjs +5 -12
  197. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  198. package/fesm2022/ngx-tethys-collapse.mjs +10 -20
  199. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  200. package/fesm2022/ngx-tethys-color-picker.mjs +19 -42
  201. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  202. package/fesm2022/ngx-tethys-copy.mjs +4 -9
  203. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  204. package/fesm2022/ngx-tethys-core.mjs +6 -43
  205. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  206. package/fesm2022/ngx-tethys-date-picker.mjs +45 -93
  207. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  208. package/fesm2022/ngx-tethys-date-range.mjs +6 -14
  209. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  210. package/fesm2022/ngx-tethys-dialog.mjs +13 -21
  211. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  212. package/fesm2022/ngx-tethys-divider.mjs +6 -14
  213. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  214. package/fesm2022/ngx-tethys-drag-drop.mjs +10 -25
  215. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  216. package/fesm2022/ngx-tethys-dropdown.mjs +19 -42
  217. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  218. package/fesm2022/ngx-tethys-empty.mjs +5 -12
  219. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  220. package/fesm2022/ngx-tethys-flexible-text.mjs +3 -10
  221. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  222. package/fesm2022/ngx-tethys-form.mjs +19 -25
  223. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  224. package/fesm2022/ngx-tethys-icon.mjs +5 -19
  225. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  226. package/fesm2022/ngx-tethys-image.mjs +7 -14
  227. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  228. package/fesm2022/ngx-tethys-input-number.mjs +11 -24
  229. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  230. package/fesm2022/ngx-tethys-input.mjs +10 -21
  231. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  232. package/fesm2022/ngx-tethys-layout.mjs +31 -64
  233. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  234. package/fesm2022/ngx-tethys-list.mjs +16 -18
  235. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  236. package/fesm2022/ngx-tethys-loading.mjs +8 -19
  237. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  238. package/fesm2022/ngx-tethys-menu.mjs +20 -55
  239. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  240. package/fesm2022/ngx-tethys-nav.mjs +28 -55
  241. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  242. package/fesm2022/ngx-tethys-pagination.mjs +17 -67
  243. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  244. package/fesm2022/ngx-tethys-popover.mjs +11 -32
  245. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  246. package/fesm2022/ngx-tethys-progress.mjs +20 -45
  247. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  248. package/fesm2022/ngx-tethys-property-operation.mjs +14 -36
  249. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  250. package/fesm2022/ngx-tethys-property.mjs +10 -21
  251. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  252. package/fesm2022/ngx-tethys-radio.mjs +5 -19
  253. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  254. package/fesm2022/ngx-tethys-rate.mjs +18 -30
  255. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  256. package/fesm2022/ngx-tethys-resizable.mjs +29 -66
  257. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  258. package/fesm2022/ngx-tethys-segment.mjs +10 -21
  259. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  260. package/fesm2022/ngx-tethys-select.mjs +32 -70
  261. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  262. package/fesm2022/ngx-tethys-shared.mjs +49 -105
  263. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  264. package/fesm2022/ngx-tethys-skeleton.mjs +20 -38
  265. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  266. package/fesm2022/ngx-tethys-slide.mjs +6 -5
  267. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  268. package/fesm2022/ngx-tethys-slider.mjs +17 -34
  269. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  270. package/fesm2022/ngx-tethys-space.mjs +5 -9
  271. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  272. package/fesm2022/ngx-tethys-stepper.mjs +13 -31
  273. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  274. package/fesm2022/ngx-tethys-switch.mjs +11 -16
  275. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  276. package/fesm2022/ngx-tethys-table.mjs +43 -120
  277. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  278. package/fesm2022/ngx-tethys-tabs.mjs +10 -20
  279. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  280. package/fesm2022/ngx-tethys-tag.mjs +5 -9
  281. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  282. package/fesm2022/ngx-tethys-time-picker.mjs +24 -55
  283. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  284. package/fesm2022/ngx-tethys-timeline.mjs +4 -9
  285. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  286. package/fesm2022/ngx-tethys-tooltip.mjs +10 -33
  287. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  288. package/fesm2022/ngx-tethys-tree-select.mjs +17 -39
  289. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  290. package/fesm2022/ngx-tethys-tree.mjs +33 -82
  291. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  292. package/fesm2022/ngx-tethys-upload.mjs +15 -28
  293. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  294. package/fesm2022/ngx-tethys-vote.mjs +10 -32
  295. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  296. package/fesm2022/ngx-tethys-watermark.mjs +5 -9
  297. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  298. package/fesm2022/ngx-tethys.mjs +1 -1
  299. package/fesm2022/ngx-tethys.mjs.map +1 -1
  300. package/flexible-text/flexible-text.component.d.ts +1 -0
  301. package/form/form-group-error/form-group-error.component.d.ts +1 -0
  302. package/form/form-group-label.directive.d.ts +2 -1
  303. package/form/form-group.component.d.ts +5 -2
  304. package/icon/icon.component.d.ts +3 -0
  305. package/image/image.directive.d.ts +2 -0
  306. package/input/input-search.component.d.ts +1 -0
  307. package/input/input.component.d.ts +2 -0
  308. package/input-number/input-number.component.d.ts +4 -0
  309. package/layout/header.component.d.ts +5 -2
  310. package/layout/sidebar-header.component.d.ts +1 -0
  311. package/layout/sidebar.component.d.ts +14 -4
  312. package/list/list.component.d.ts +1 -0
  313. package/list/selection/selection-list.d.ts +4 -1
  314. package/loading/loading.component.d.ts +4 -2
  315. package/menu/group/menu-group.component.d.ts +6 -0
  316. package/menu/item/action/menu-item-action.component.d.ts +1 -0
  317. package/menu/item/name/menu-item-name.component.d.ts +1 -0
  318. package/menu/menu.component.d.ts +1 -0
  319. package/nav/icon-nav/icon-nav-link.directive.d.ts +2 -1
  320. package/nav/nav-ink-bar.directive.d.ts +2 -0
  321. package/nav/nav-item.directive.d.ts +3 -0
  322. package/nav/nav.component.d.ts +4 -0
  323. package/package.json +1 -1
  324. package/pagination/pagination.component.d.ts +11 -0
  325. package/popover/popover.directive.d.ts +5 -0
  326. package/progress/progress-circle.component.d.ts +3 -0
  327. package/progress/progress-strip.component.d.ts +1 -0
  328. package/progress/progress.component.d.ts +3 -0
  329. package/property/properties.component.d.ts +1 -0
  330. package/property/property-item.component.d.ts +2 -0
  331. package/property-operation/property-operation.component.d.ts +5 -0
  332. package/radio/group/radio-group.component.d.ts +2 -2
  333. package/rate/rate-item.component.d.ts +1 -0
  334. package/rate/rate.component.d.ts +5 -1
  335. package/resizable/resizable.directive.d.ts +10 -0
  336. package/resizable/resize-handle.component.d.ts +1 -0
  337. package/resizable/resize-handles.component.d.ts +1 -0
  338. package/schematics/version.d.ts +1 -1
  339. package/schematics/version.js +1 -1
  340. package/segment/segment-item.component.d.ts +1 -0
  341. package/segment/segment.component.d.ts +2 -0
  342. package/select/custom-select/custom-select.component.d.ts +12 -1
  343. package/select/native-select/native-select.component.d.ts +1 -0
  344. package/shared/base-form-check.component.d.ts +2 -0
  345. package/shared/directives/thy-autofocus.directive.d.ts +3 -1
  346. package/shared/directives/thy-scroll.directive.d.ts +1 -0
  347. package/shared/directives/thy-show.d.ts +1 -0
  348. package/shared/option/group/option-group.component.d.ts +1 -0
  349. package/shared/option/list-option/list-option.component.d.ts +1 -0
  350. package/shared/option/option.component.d.ts +1 -0
  351. package/shared/option/styles/select-dropdown.scss +1 -0
  352. package/shared/select/select-control/select-control.component.d.ts +7 -0
  353. package/skeleton/skeleton-circle.component.d.ts +1 -0
  354. package/skeleton/skeleton-rectangle.component.d.ts +1 -0
  355. package/skeleton/skeleton.component.d.ts +1 -0
  356. package/skeleton/stylized/bullet-list.component.d.ts +1 -0
  357. package/skeleton/stylized/list.component.d.ts +1 -0
  358. package/skeleton/stylized/paragraph.component.d.ts +1 -0
  359. package/slide/slide-body/slide-body-section.component.d.ts +2 -1
  360. package/slider/slider.component.d.ts +6 -1
  361. package/space/space.component.d.ts +1 -0
  362. package/stepper/step-header.component.d.ts +3 -0
  363. package/stepper/stepper.component.d.ts +2 -0
  364. package/switch/switch.component.d.ts +3 -1
  365. package/table/table-column.component.d.ts +7 -2
  366. package/table/table-skeleton.component.d.ts +2 -0
  367. package/table/table.component.d.ts +14 -0
  368. package/tabs/tab.component.d.ts +1 -0
  369. package/tabs/tabs.component.d.ts +2 -0
  370. package/tag/tag.component.d.ts +1 -0
  371. package/time-picker/time-picker-panel.component.d.ts +2 -0
  372. package/time-picker/time-picker.component.d.ts +6 -2
  373. package/timeline/timeline.component.d.ts +1 -0
  374. package/tooltip/tooltip.directive.d.ts +5 -0
  375. package/tree/tree-node.component.d.ts +7 -0
  376. package/tree/tree.component.d.ts +8 -0
  377. package/tree-select/tree-select.component.d.ts +7 -0
  378. package/upload/file-select-base.d.ts +1 -0
  379. package/upload/file-select.component.d.ts +3 -0
  380. package/vote/vote.component.d.ts +4 -2
  381. package/watermark/watermark.directive.d.ts +1 -0
@@ -1,6 +1,4 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, Renderer2, ViewEncapsulation } from '@angular/core';
3
- import { InputBoolean } from 'ngx-tethys/core';
1
+ import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input, Renderer2, ViewEncapsulation, booleanAttribute } from '@angular/core';
4
2
  import { assertIconOnly } from 'ngx-tethys/util';
5
3
  import { useHostRenderer } from '@tethys/cdk/dom';
6
4
  import { ThyIcon } from 'ngx-tethys/icon';
@@ -188,17 +186,8 @@ export class ThyButton {
188
186
  });
189
187
  }
190
188
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyButton, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
191
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyButton, isStandalone: true, selector: "thy-button,[thy-button],[thyButton]", inputs: { thyButton: "thyButton", thyType: "thyType", thyLoading: "thyLoading", thyLoadingText: "thyLoadingText", thySize: "thySize", thyIcon: "thyIcon", thyBlock: "thyBlock" }, host: { properties: { "class.btn-block": "this.thyBlock" }, classAttribute: "thy-btn btn" }, ngImport: i0, template: "<thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\"></thy-icon>\n<ng-template #iconFont>\n <i [ngClass]=\"iconClass\" *ngIf=\"iconClass\"></i>\n</ng-template>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
189
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyButton, isStandalone: true, selector: "thy-button,[thy-button],[thyButton]", inputs: { thyButton: "thyButton", thyType: "thyType", thyLoading: ["thyLoading", "thyLoading", booleanAttribute], thyLoadingText: "thyLoadingText", thySize: "thySize", thyIcon: "thyIcon", thyBlock: ["thyBlock", "thyBlock", booleanAttribute] }, host: { properties: { "class.btn-block": "this.thyBlock" }, classAttribute: "thy-btn btn" }, ngImport: i0, template: "<thy-icon *ngIf=\"svgIconName; else iconFont\" [thyIconName]=\"svgIconName\"></thy-icon>\n<ng-template #iconFont>\n <i [ngClass]=\"iconClass\" *ngIf=\"iconClass\"></i>\n</ng-template>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
192
190
  }
193
- __decorate([
194
- InputBoolean(),
195
- __metadata("design:type", Boolean),
196
- __metadata("design:paramtypes", [Boolean])
197
- ], ThyButton.prototype, "thyLoading", null);
198
- __decorate([
199
- InputBoolean(),
200
- __metadata("design:type", Boolean)
201
- ], ThyButton.prototype, "thyBlock", void 0);
202
191
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyButton, decorators: [{
203
192
  type: Component,
204
193
  args: [{ selector: 'thy-button,[thy-button],[thyButton]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
@@ -209,7 +198,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
209
198
  }], thyType: [{
210
199
  type: Input
211
200
  }], thyLoading: [{
212
- type: Input
201
+ type: Input,
202
+ args: [{ transform: booleanAttribute }]
213
203
  }], thyLoadingText: [{
214
204
  type: Input
215
205
  }], thySize: [{
@@ -220,6 +210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
220
210
  type: HostBinding,
221
211
  args: [`class.btn-block`]
222
212
  }, {
223
- type: Input
213
+ type: Input,
214
+ args: [{ transform: booleanAttribute }]
224
215
  }] } });
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFFTCxTQUFTLEVBQ1QsaUJBQWlCLEVBRXBCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQXFCaEQsTUFBTSxpQkFBaUIsR0FBRztJQUN0QixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDeEIsU0FBUyxFQUFFLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQztJQUNwQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDbEIsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3hCLE1BQU0sRUFBRSxDQUFDLFlBQVksQ0FBQztJQUN0QixpQkFBaUIsRUFBRSxDQUFDLHFCQUFxQixDQUFDO0lBQzFDLGlCQUFpQixFQUFFLENBQUMscUJBQXFCLENBQUM7SUFDMUMsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTztJQUMzQixXQUFXLEVBQUUsQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDLEVBQUUsU0FBUztJQUNyRCxnQkFBZ0IsRUFBRSxDQUFDLFVBQVUsRUFB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OzsyQ0FDRzsyRkF6SFQsU0FBUztrQkFYckIsU0FBUzsrQkFDSSxxQ0FBcUMsaUJBRWhDLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLGFBQWE7cUJBQ3ZCLGNBQ1csSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7dUdBb0M3QixTQUFTO3NCQURaLEtBQUs7Z0JBVUYsT0FBTztzQkFEVixLQUFLO2dCQVdGLFVBQVU7c0JBRmIsS0FBSztnQkFrQkYsY0FBYztzQkFEakIsS0FBSztnQkFnQkYsT0FBTztzQkFEVixLQUFLO2dCQVlGLE9BQU87c0JBRFYsS0FBSztnQkEyQk4sUUFBUTtzQkFIUCxXQUFXO3VCQUFDLGlCQUFpQjs7c0JBQzdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBSZW5kZXJlcjIsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQWZ0ZXJWaWV3SW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IGFzc2VydEljb25Pbmx5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nSWYsIE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5leHBvcnQgdHlwZSBUaHlCdXR0b25UeXBlID1cbiAgICB8ICdwcmltYXJ5J1xuICAgIHwgJ3NlY29uZGFyeSdcbiAgICB8ICdpbmZvJ1xuICAgIHwgJ291dGxpbmUtcHJpbWFyeSdcbiAgICB8ICdvdXRsaW5lLWRlZmF1bHQnXG4gICAgfCAnZGFuZ2VyJ1xuICAgIHwgJ2xpbmsnXG4gICAgfCAnbGluay1zZWNvbmRhcnknXG4gICAgfCAnd2FybmluZydcbiAgICB8ICdvdXRsaW5lLXdhcm5pbmcnXG4gICAgfCAnc3VjY2VzcydcbiAgICB8ICdvdXRsaW5lLXN1Y2Nlc3MnXG4gICAgfCAnb3V0bGluZS1pbmZvJ1xuICAgIHwgJ291dGxpbmUtZGFuZ2VyJ1xuICAgIHwgJ2xpbmstZGFuZ2VyLXdlYWsnXG4gICAgfCAnbGluay1kYW5nZXInXG4gICAgfCAnbGluay1zdWNjZXNzJztcblxuY29uc3QgYnRuVHlwZUNsYXNzZXNNYXAgPSB7XG4gICAgcHJpbWFyeTogWydidG4tcHJpbWFyeSddLFxuICAgIHNlY29uZGFyeTogWydidG4tcHJpbWFyeScsICdidG4tbWQnXSxcbiAgICBpbmZvOiBbJ2J0bi1pbmZvJ10sXG4gICAgd2FybmluZzogWydidG4td2FybmluZyddLFxuICAgIGRhbmdlcjogWydidG4tZGFuZ2VyJ10sXG4gICAgJ291dGxpbmUtcHJpbWFyeSc6IFsnYnRuLW91dGxpbmUtcHJpbWFyeSddLFxuICAgICdvdXRsaW5lLWRlZmF1bHQnOiBbJ2J0bi1vdXRsaW5lLWRlZmF1bHQnXSxcbiAgICBsaW5rOiBbJ2J0bi1saW5rJ10sIC8vIOmTvuaOpeaMiemSrlxuICAgICdsaW5rLWluZm8nOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLWluZm8nXSwgLy8g5bm954G16ZO+5o6l5oyJ6ZKuXG4gICAgJ2xpbmstc2Vjb25kYXJ5JzogWydidG4tbGluaycsICdidG4tbGluay1wcmltYXJ5LXdlYWsnXSwgLy8g5bm954G16ZO+5o6l5oyJ6ZKuXG4gICAgJ2xpbmstZGFuZ2VyLXdlYWsnOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLWRhbmdlci13ZWFrJ10sIC8vIOW5veeBteWNsemZqeaMiemSrlxuICAgICdsaW5rLWRhbmdlcic6IFsnYnRuLWxpbmsnLCAnYnRuLWxpbmstZGFuZ2VyJ10sIC8vIOWNsemZqeaMiemSrlxuICAgICdsaW5rLXN1Y2Nlc3MnOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLXN1Y2Nlc3MnXSAvLyDmiJDlip/mjInpkq5cbn07XG5cbmNvbnN0IGljb25Pbmx5Q2xhc3MgPSAndGh5LWJ0bi1pY29uLW9ubHknO1xuXG4vKipcbiAqIOaTjeS9nOaMiemSru+8jOaUr+aMgee7hOS7tmB0aHktYnV0dG9uYOWSjGB0aHlCdXR0b25g5oyH5Luk5Lik56eN5b2i5byPXG4gKiBAbmFtZSB0aHktYnV0dG9uLFt0aHktYnV0dG9uXSxbdGh5QnV0dG9uXVxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWJ1dHRvbixbdGh5LWJ1dHRvbl0sW3RoeUJ1dHRvbl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1idG4gYnRuJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVGh5SWNvbiwgTmdDbGFzc11cbn0pXG5leHBvcnQgY2xhc3MgVGh5QnV0dG9uIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBwcml2YXRlIF9pbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBfb3JpZ2luYWxUZXh0OiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF90eXBlOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF9zaXplOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF9pY29uOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIF9sb2FkaW5nOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBfbG9hZGluZ1RleHQ6IHN0cmluZztcblxuICAgIC8vIOWchuinkuaWueW9olxuICAgIF9pc1JhZGl1c1NxdWFyZSA9IGZhbHNlO1xuXG4gICAgaWNvbkNsYXNzOiBzdHJpbmdbXTtcblxuICAgIHN2Z0ljb25OYW1lOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIGdldCBuYXRpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICAvKipcbiAgICAgKiDmjInpkq7nsbvlnovvvIzmlK/mjIHmt7vliqDliY3nvIBgb3V0bGluZS1g5a6e546w57q/5qGG5oyJ6ZKu77yM5pSv5oyB5re75Yqg5YmN57yAYGxpbmstYOWunueOsOaMiemSrumTvuaOpVxuICAgICAqIEB0eXBlIHByaW1hcnkgfCBpbmZvIHwgd2FybmluZyB8IGRhbmdlciB8IHN1Y2Nlc3NcbiAgICAgKiBAZGVmYXVsdCBwcmltYXJ5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5QnV0dG9uKHZhbHVlOiBUaHlCdXR0b25UeXBlKSB7XG4gICAgICAgIHRoaXMuc2V0QnRuVHlwZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5ZKMYHRoeUJ1dHRvbmDlj4LmlbDkuIDmoLfvvIzkuIDoiKzkvb/nlKhgdGh5QnV0dG9uYO+8jOS4uuS6huWHj+WwkeWPguaVsOi+k+WFpSwg5b2T6YCa6L+HYHRoeS1idXR0b25g5L2/55So5pe277yM5Y+q6IO95L2/55So6K+l5Y+C5pWw5o6n5Yi257G75Z6LXG4gICAgICogQGRlZmF1bHQgcHJpbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVR5cGUodmFsdWU6IFRoeUJ1dHRvblR5cGUpIHtcbiAgICAgICAgdGhpcy5zZXRCdG5UeXBlKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDliqDovb3nirbmgIFcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgc2V0IHRoeUxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKCF0aGlzLl9sb2FkaW5nICYmIHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XG4gICAgICAgICAgICBjb25zdCB0ZXh0RWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzcGFuJyk7XG4gICAgICAgICAgICB0aGlzLl9vcmlnaW5hbFRleHQgPSB0ZXh0RWxlbWVudCA/IHRleHRFbGVtZW50LmlubmVyVGV4dCA6ICcnO1xuICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nU3RhdHVzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnNldExvYWRpbmdTdGF0dXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWKoOi9veeKtuaAgeaXtuaYvuekuueahOaWh+ahiFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxvYWRpbmdUZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuX2xvYWRpbmdUZXh0ICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fbG9hZGluZ1RleHQgPSB2YWx1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nVGV4dCh0aGlzLl9sb2FkaW5nVGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmjInpkq7lpKflsI9cbiAgICAgKiBAdHlwZSB4cyB8IHNtIHwgbWQgfCBkZWZhdWx0IHwgbGdcbiAgICAgKiBAZGVmYXVsdCBkZWZhdWx0XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2l6ZShzaXplOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2l6ZSA9IHNpemU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmjInpkq7kuK3mmL7npLrnmoTlm77moIfvvIzmlK/mjIFTVkflm77moIflkI3np7DvvIzmr5TlpoJgYW5nbGUtbGVmdGDvvIzkuZ/mlK/mjIHkvKDkuYvliY3nmoQgd3RmIOWtl+S9k++8jOavlOWmgjogd3RmLXBsdXNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlJY29uKGljb246IHN0cmluZykge1xuICAgICAgICB0aGlzLl9pY29uID0gaWNvbjtcbiAgICAgICAgaWYgKHRoaXMuX2ljb24pIHtcbiAgICAgICAgICAgIGlmIChpY29uLmluY2x1ZGVzKCd3dGYnKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLl9pY29uLnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgICAgaWYgKGNsYXNzZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXMudW5zaGlmdCgnd3RmJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbkNsYXNzID0gY2xhc3NlcztcbiAgICAgICAgICAgICAgICB0aGlzLnN2Z0ljb25OYW1lID0gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdmdJY29uTmFtZSA9IGljb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmljb25DbGFzcyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnN2Z0ljb25OYW1lID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaMiemSruaVtOWdl+WxleekulxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5idG4tYmxvY2tgKVxuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgdGh5QmxvY2s6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIHNldEJ0blR5cGUodmFsdWU6IFRoeUJ1dHRvblR5cGUpIHtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodmFsdWUuaW5jbHVkZXMoJy1zcXVhcmUnKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3R5cGUgPSB2YWx1ZS5yZXBsYWNlKCctc3F1YXJlJywgJycpO1xuICAgICAgICAgICAgICAgIHRoaXMuX2lzUmFkaXVzU3F1YXJlID0gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5fdHlwZSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TG9hZGluZ1RleHQodGV4dDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHNwYW5FbGVtZW50ID0gdGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4nKTtcbiAgICAgICAgaWYgKHNwYW5FbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHNwYW5FbGVtZW50LCAnaW5uZXJUZXh0JywgdGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldExvYWRpbmdTdGF0dXMoKSB7XG4gICAgICAgIGNvbnN0IGlubmVyVGV4dCA9IHRoaXMuX2xvYWRpbmcgPyB0aGlzLl9sb2FkaW5nVGV4dCA6IHRoaXMuX29yaWdpbmFsVGV4dDtcbiAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgIGlmIChpbm5lclRleHQpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0TG9hZGluZ1RleHQoaW5uZXJUZXh0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQ2xhc3NlcygpIHtcbiAgICAgICAgbGV0IGNsYXNzTmFtZXM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGlmIChidG5UeXBlQ2xhc3Nlc01hcFt0aGlzLl90eXBlXSkge1xuICAgICAgICAgICAgY2xhc3NOYW1lcyA9IFsuLi5idG5UeXBlQ2xhc3Nlc01hcFt0aGlzLl90eXBlXV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fdHlwZSkge1xuICAgICAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaChgYnRuLSR7dGhpcy5fdHlwZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fc2l6ZSkge1xuICAgICAgICAgICAgY2xhc3NOYW1lcy5wdXNoKGBidG4tJHt0aGlzLl9zaXplfWApO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9pc1JhZGl1c1NxdWFyZSkge1xuICAgICAgICAgICAgY2xhc3NOYW1lcy5wdXNoKCdidG4tc3F1YXJlJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2xvYWRpbmcpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaCgnbG9hZGluZycpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKGNsYXNzTmFtZXMpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAoYXNzZXJ0SWNvbk9ubHkodGhpcy5uYXRpdmVFbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIuYWRkQ2xhc3MoaWNvbk9ubHlDbGFzcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci5yZW1vdmVDbGFzcyhpY29uT25seUNsYXNzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLndyYXBTcGFuRm9yVGV4dCh0aGlzLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3cmFwU3BhbkZvclRleHQobm9kZXM6IE5vZGVMaXN0KTogdm9pZCB7XG4gICAgICAgIG5vZGVzLmZvckVhY2gobm9kZSA9PiB7XG4gICAgICAgICAgICBpZiAobm9kZS5ub2RlTmFtZSA9PT0gJyN0ZXh0Jykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNwYW4gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLnJlbmRlcmVyLnBhcmVudE5vZGUobm9kZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhzcGFuLCAndGh5LWJ0bi13cmFwLXNwYW4nKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShwYXJlbnQsIHNwYW4sIG5vZGUpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoc3Bhbiwgbm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjx0aHktaWNvbiAqbmdJZj1cInN2Z0ljb25OYW1lOyBlbHNlIGljb25Gb250XCIgW3RoeUljb25OYW1lXT1cInN2Z0ljb25OYW1lXCI+PC90aHktaWNvbj5cbjxuZy10ZW1wbGF0ZSAjaWNvbkZvbnQ+XG4gIDxpIFtuZ0NsYXNzXT1cImljb25DbGFzc1wiICpuZ0lmPVwiaWNvbkNsYXNzXCI+PC9pPlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFFakIsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBcUJoRCxNQUFNLGlCQUFpQixHQUFHO0lBQ3RCLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztJQUN4QixTQUFTLEVBQUUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDO0lBQ3BDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUNsQixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDeEIsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQ3RCLGlCQUFpQixFQUFFLENBQUMscUJBQXFCLENBQUM7SUFDMUMsaUJBQWlCLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztJQUMxQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPO0lBQzNCLFdBQVcsRUFBRSxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsRUFBRSxTQUFTO0lBQ3JELGdCQUFnQixFQUFFLENBQUMsVUFBVSxFQUFFLHVCQUF1QixDQUFDLEVBQUUsU0FBUztJQUNsRSxrQkFBa0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxzQkFBc0IsQ0FBQyxFQUFFLFNBQVM7SUFDbkUsYUFBYSxFQUFFLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLEVBQUUsT0FBTztJQUN2RCxjQUFjLEVBQUUsQ0FBQyxVQUFVLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxPQUFPO0NBQzNELENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUUxQzs7OztHQUlHO0FBWUgsTUFBTSxPQUFPLFNBQVM7SUFzQmxCLElBQVksYUFBYTtRQUNyQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3pDLENBQUM7SUFJRDs7OztPQUlHO0lBQ0gsSUFDSSxTQUFTLENBQUMsS0FBb0I7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDSSxPQUFPLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFDSSxVQUFVLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzlELElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksY0FBYyxDQUFDLEtBQWE7UUFDNUIsSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBQzFCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMzQyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFDSSxPQUFPLENBQUMsSUFBWTtRQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksT0FBTyxDQUFDLElBQVk7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDdkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztnQkFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztnQkFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDNUIsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQzVCLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQzVCLENBQUM7SUFDTCxDQUFDO0lBVU8sVUFBVSxDQUFDLEtBQW9CO1FBQ25DLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDaEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFZO1FBQy9CLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdELElBQUksV0FBVyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlELENBQUM7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDekUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksU0FBUyxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ25DLENBQUM7SUFDTCxDQUFDO0lBRU8sYUFBYTtRQUNqQixJQUFJLFVBQVUsR0FBYSxFQUFFLENBQUM7UUFDOUIsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoQyxVQUFVLEdBQUcsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2IsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxZQUFvQixVQUFzQixFQUFVLFFBQW1CO1FBQW5ELGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBM0svRCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQWM3QixPQUFPO1FBQ1Asb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFVaEIsaUJBQVksR0FBRyxlQUFlLEVBQUUsQ0FBQztJQWtKaUMsQ0FBQztJQUUzRSxRQUFRO1FBQ0osSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTyxlQUFlLENBQUMsS0FBZTtRQUNuQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2pELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBdE1RLFNBQVM7a0dBQVQsU0FBUyxzS0FtREUsZ0JBQWdCLGdIQW1FaEIsZ0JBQWdCLDBIQzdMeEMsdU5BS0EsNENEZ0VjLElBQUksNkZBQUUsT0FBTyxzTUFBRSxPQUFPOzsyRkFFdkIsU0FBUztrQkFYckIsU0FBUzsrQkFDSSxxQ0FBcUMsaUJBRWhDLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0YsS0FBSyxFQUFFLGFBQWE7cUJBQ3ZCLGNBQ1csSUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUM7dUdBb0M3QixTQUFTO3NCQURaLEtBQUs7Z0JBVUYsT0FBTztzQkFEVixLQUFLO2dCQVVGLFVBQVU7c0JBRGIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFpQmxDLGNBQWM7c0JBRGpCLEtBQUs7Z0JBZ0JGLE9BQU87c0JBRFYsS0FBSztnQkFZRixPQUFPO3NCQURWLEtBQUs7Z0JBMEJOLFFBQVE7c0JBRlAsV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUM3QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgYXNzZXJ0SWNvbk9ubHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgTmdJZiwgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCB0eXBlIFRoeUJ1dHRvblR5cGUgPVxuICAgIHwgJ3ByaW1hcnknXG4gICAgfCAnc2Vjb25kYXJ5J1xuICAgIHwgJ2luZm8nXG4gICAgfCAnb3V0bGluZS1wcmltYXJ5J1xuICAgIHwgJ291dGxpbmUtZGVmYXVsdCdcbiAgICB8ICdkYW5nZXInXG4gICAgfCAnbGluaydcbiAgICB8ICdsaW5rLXNlY29uZGFyeSdcbiAgICB8ICd3YXJuaW5nJ1xuICAgIHwgJ291dGxpbmUtd2FybmluZydcbiAgICB8ICdzdWNjZXNzJ1xuICAgIHwgJ291dGxpbmUtc3VjY2VzcydcbiAgICB8ICdvdXRsaW5lLWluZm8nXG4gICAgfCAnb3V0bGluZS1kYW5nZXInXG4gICAgfCAnbGluay1kYW5nZXItd2VhaydcbiAgICB8ICdsaW5rLWRhbmdlcidcbiAgICB8ICdsaW5rLXN1Y2Nlc3MnO1xuXG5jb25zdCBidG5UeXBlQ2xhc3Nlc01hcCA9IHtcbiAgICBwcmltYXJ5OiBbJ2J0bi1wcmltYXJ5J10sXG4gICAgc2Vjb25kYXJ5OiBbJ2J0bi1wcmltYXJ5JywgJ2J0bi1tZCddLFxuICAgIGluZm86IFsnYnRuLWluZm8nXSxcbiAgICB3YXJuaW5nOiBbJ2J0bi13YXJuaW5nJ10sXG4gICAgZGFuZ2VyOiBbJ2J0bi1kYW5nZXInXSxcbiAgICAnb3V0bGluZS1wcmltYXJ5JzogWydidG4tb3V0bGluZS1wcmltYXJ5J10sXG4gICAgJ291dGxpbmUtZGVmYXVsdCc6IFsnYnRuLW91dGxpbmUtZGVmYXVsdCddLFxuICAgIGxpbms6IFsnYnRuLWxpbmsnXSwgLy8g6ZO+5o6l5oyJ6ZKuXG4gICAgJ2xpbmstaW5mbyc6IFsnYnRuLWxpbmsnLCAnYnRuLWxpbmstaW5mbyddLCAvLyDlub3ngbXpk77mjqXmjInpkq5cbiAgICAnbGluay1zZWNvbmRhcnknOiBbJ2J0bi1saW5rJywgJ2J0bi1saW5rLXByaW1hcnktd2VhayddLCAvLyDlub3ngbXpk77mjqXmjInpkq5cbiAgICAnbGluay1kYW5nZXItd2Vhayc6IFsnYnRuLWxpbmsnLCAnYnRuLWxpbmstZGFuZ2VyLXdlYWsnXSwgLy8g5bm954G15Y2x6Zmp5oyJ6ZKuXG4gICAgJ2xpbmstZGFuZ2VyJzogWydidG4tbGluaycsICdidG4tbGluay1kYW5nZXInXSwgLy8g5Y2x6Zmp5oyJ6ZKuXG4gICAgJ2xpbmstc3VjY2Vzcyc6IFsnYnRuLWxpbmsnLCAnYnRuLWxpbmstc3VjY2VzcyddIC8vIOaIkOWKn+aMiemSrlxufTtcblxuY29uc3QgaWNvbk9ubHlDbGFzcyA9ICd0aHktYnRuLWljb24tb25seSc7XG5cbi8qKlxuICog5pON5L2c5oyJ6ZKu77yM5pSv5oyB57uE5Lu2YHRoeS1idXR0b25g5ZKMYHRoeUJ1dHRvbmDmjIfku6TkuKTnp43lvaLlvI9cbiAqIEBuYW1lIHRoeS1idXR0b24sW3RoeS1idXR0b25dLFt0aHlCdXR0b25dXG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktYnV0dG9uLFt0aHktYnV0dG9uXSxbdGh5QnV0dG9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWJ0biBidG4nXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBUaHlJY29uLCBOZ0NsYXNzXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlCdXR0b24gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICAgIHByaXZhdGUgX2luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIF9vcmlnaW5hbFRleHQ6IHN0cmluZztcblxuICAgIHByaXZhdGUgX3R5cGU6IHN0cmluZztcblxuICAgIHByaXZhdGUgX3NpemU6IHN0cmluZztcblxuICAgIHByaXZhdGUgX2ljb246IHN0cmluZztcblxuICAgIHByaXZhdGUgX2xvYWRpbmc6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIF9sb2FkaW5nVGV4dDogc3RyaW5nO1xuXG4gICAgLy8g5ZyG6KeS5pa55b2iXG4gICAgX2lzUmFkaXVzU3F1YXJlID0gZmFsc2U7XG5cbiAgICBpY29uQ2xhc3M6IHN0cmluZ1tdO1xuXG4gICAgc3ZnSWNvbk5hbWU6IHN0cmluZztcblxuICAgIHByaXZhdGUgZ2V0IG5hdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIC8qKlxuICAgICAqIOaMiemSruexu+Wei++8jOaUr+aMgea3u+WKoOWJjee8gGBvdXRsaW5lLWDlrp7njrDnur/moYbmjInpkq7vvIzmlK/mjIHmt7vliqDliY3nvIBgbGluay1g5a6e546w5oyJ6ZKu6ZO+5o6lXG4gICAgICogQHR5cGUgcHJpbWFyeSB8IGluZm8gfCB3YXJuaW5nIHwgZGFuZ2VyIHwgc3VjY2Vzc1xuICAgICAqIEBkZWZhdWx0IHByaW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlCdXR0b24odmFsdWU6IFRoeUJ1dHRvblR5cGUpIHtcbiAgICAgICAgdGhpcy5zZXRCdG5UeXBlKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDlkoxgdGh5QnV0dG9uYOWPguaVsOS4gOagt++8jOS4gOiIrOS9v+eUqGB0aHlCdXR0b25g77yM5Li65LqG5YeP5bCR5Y+C5pWw6L6T5YWlLCDlvZPpgJrov4dgdGh5LWJ1dHRvbmDkvb/nlKjml7bvvIzlj6rog73kvb/nlKjor6Xlj4LmlbDmjqfliLbnsbvlnotcbiAgICAgKiBAZGVmYXVsdCBwcmltYXJ5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VHlwZSh2YWx1ZTogVGh5QnV0dG9uVHlwZSkge1xuICAgICAgICB0aGlzLnNldEJ0blR5cGUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWKoOi9veeKtuaAgVxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeUxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKCF0aGlzLl9sb2FkaW5nICYmIHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XG4gICAgICAgICAgICBjb25zdCB0ZXh0RWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzcGFuJyk7XG4gICAgICAgICAgICB0aGlzLl9vcmlnaW5hbFRleHQgPSB0ZXh0RWxlbWVudCA/IHRleHRFbGVtZW50LmlubmVyVGV4dCA6ICcnO1xuICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nU3RhdHVzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnNldExvYWRpbmdTdGF0dXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWKoOi9veeKtuaAgeaXtuaYvuekuueahOaWh+ahiFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUxvYWRpbmdUZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuX2xvYWRpbmdUZXh0ICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fbG9hZGluZ1RleHQgPSB2YWx1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRMb2FkaW5nVGV4dCh0aGlzLl9sb2FkaW5nVGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmjInpkq7lpKflsI9cbiAgICAgKiBAdHlwZSB4cyB8IHNtIHwgbWQgfCBkZWZhdWx0IHwgbGdcbiAgICAgKiBAZGVmYXVsdCBkZWZhdWx0XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5U2l6ZShzaXplOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fc2l6ZSA9IHNpemU7XG4gICAgICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmjInpkq7kuK3mmL7npLrnmoTlm77moIfvvIzmlK/mjIFTVkflm77moIflkI3np7DvvIzmr5TlpoJgYW5nbGUtbGVmdGDvvIzkuZ/mlK/mjIHkvKDkuYvliY3nmoQgd3RmIOWtl+S9k++8jOavlOWmgjogd3RmLXBsdXNcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlJY29uKGljb246IHN0cmluZykge1xuICAgICAgICB0aGlzLl9pY29uID0gaWNvbjtcbiAgICAgICAgaWYgKHRoaXMuX2ljb24pIHtcbiAgICAgICAgICAgIGlmIChpY29uLmluY2x1ZGVzKCd3dGYnKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLl9pY29uLnNwbGl0KCcgJyk7XG4gICAgICAgICAgICAgICAgaWYgKGNsYXNzZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzZXMudW5zaGlmdCgnd3RmJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuaWNvbkNsYXNzID0gY2xhc3NlcztcbiAgICAgICAgICAgICAgICB0aGlzLnN2Z0ljb25OYW1lID0gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdmdJY29uTmFtZSA9IGljb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmljb25DbGFzcyA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnN2Z0ljb25OYW1lID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaMiemSruaVtOWdl+WxleekulxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5idG4tYmxvY2tgKVxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHRoeUJsb2NrOiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBzZXRCdG5UeXBlKHZhbHVlOiBUaHlCdXR0b25UeXBlKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHZhbHVlLmluY2x1ZGVzKCctc3F1YXJlJykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl90eXBlID0gdmFsdWUucmVwbGFjZSgnLXNxdWFyZScsICcnKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9pc1JhZGl1c1NxdWFyZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDbGFzc2VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldExvYWRpbmdUZXh0KHRleHQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCBzcGFuRWxlbWVudCA9IHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdzcGFuJyk7XG4gICAgICAgIGlmIChzcGFuRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShzcGFuRWxlbWVudCwgJ2lubmVyVGV4dCcsIHRleHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMb2FkaW5nU3RhdHVzKCkge1xuICAgICAgICBjb25zdCBpbm5lclRleHQgPSB0aGlzLl9sb2FkaW5nID8gdGhpcy5fbG9hZGluZ1RleHQgOiB0aGlzLl9vcmlnaW5hbFRleHQ7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICBpZiAoaW5uZXJUZXh0KSB7XG4gICAgICAgICAgICB0aGlzLnNldExvYWRpbmdUZXh0KGlubmVyVGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzZXMoKSB7XG4gICAgICAgIGxldCBjbGFzc05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBpZiAoYnRuVHlwZUNsYXNzZXNNYXBbdGhpcy5fdHlwZV0pIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMgPSBbLi4uYnRuVHlwZUNsYXNzZXNNYXBbdGhpcy5fdHlwZV1dO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuX3R5cGUpIHtcbiAgICAgICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goYGJ0bi0ke3RoaXMuX3R5cGV9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX3NpemUpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaChgYnRuLSR7dGhpcy5fc2l6ZX1gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5faXNSYWRpdXNTcXVhcmUpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaCgnYnRuLXNxdWFyZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9sb2FkaW5nKSB7XG4gICAgICAgICAgICBjbGFzc05hbWVzLnB1c2goJ2xvYWRpbmcnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc05hbWVzKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKGFzc2VydEljb25Pbmx5KHRoaXMubmF0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLmFkZENsYXNzKGljb25Pbmx5Q2xhc3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIucmVtb3ZlQ2xhc3MoaWNvbk9ubHlDbGFzcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53cmFwU3BhbkZvclRleHQodGhpcy5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgd3JhcFNwYW5Gb3JUZXh0KG5vZGVzOiBOb2RlTGlzdCk6IHZvaWQge1xuICAgICAgICBub2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT09ICcjdGV4dCcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzcGFuID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKG5vZGUpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Moc3BhbiwgJ3RoeS1idG4td3JhcC1zcGFuJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50LCBzcGFuLCBub2RlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHNwYW4sIG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8dGh5LWljb24gKm5nSWY9XCJzdmdJY29uTmFtZTsgZWxzZSBpY29uRm9udFwiIFt0aHlJY29uTmFtZV09XCJzdmdJY29uTmFtZVwiPjwvdGh5LWljb24+XG48bmctdGVtcGxhdGUgI2ljb25Gb250PlxuICA8aSBbbmdDbGFzc109XCJpY29uQ2xhc3NcIiAqbmdJZj1cImljb25DbGFzc1wiPjwvaT5cbjwvbmctdGVtcGxhdGU+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -1,6 +1,4 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
3
- import { InputBoolean } from 'ngx-tethys/core';
1
+ import { Component, Input, ChangeDetectionStrategy, booleanAttribute } from '@angular/core';
4
2
  import * as i0 from "@angular/core";
5
3
  /**
6
4
  * 卡片组件
@@ -16,20 +14,8 @@ export class ThyCard {
16
14
  this.thyHasLeftRightPadding = true;
17
15
  }
18
16
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyCard, isStandalone: true, selector: "thy-card", inputs: { thyHasLeftRightPadding: "thyHasLeftRightPadding", thyDivided: "thyDivided", thyBordered: "thyBordered", thySize: "thySize" }, host: { properties: { "class.thy-card--divided": "!!thyDivided", "class.thy-card--bordered": "!!thyBordered", "class.thy-card--clear-left-right-padding": "!thyHasLeftRightPadding", "class.thy-card-sm": "thySize === \"sm\"", "class.thy-card-lg": "thySize === \"lg\"" }, classAttribute: "thy-card" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyCard, isStandalone: true, selector: "thy-card", inputs: { thyHasLeftRightPadding: ["thyHasLeftRightPadding", "thyHasLeftRightPadding", booleanAttribute], thyDivided: ["thyDivided", "thyDivided", booleanAttribute], thyBordered: ["thyBordered", "thyBordered", booleanAttribute], thySize: "thySize" }, host: { properties: { "class.thy-card--divided": "!!thyDivided", "class.thy-card--bordered": "!!thyBordered", "class.thy-card--clear-left-right-padding": "!thyHasLeftRightPadding", "class.thy-card-sm": "thySize === \"sm\"", "class.thy-card-lg": "thySize === \"lg\"" }, classAttribute: "thy-card" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
18
  }
21
- __decorate([
22
- InputBoolean(),
23
- __metadata("design:type", Object)
24
- ], ThyCard.prototype, "thyHasLeftRightPadding", void 0);
25
- __decorate([
26
- InputBoolean(),
27
- __metadata("design:type", Object)
28
- ], ThyCard.prototype, "thyDivided", void 0);
29
- __decorate([
30
- InputBoolean(),
31
- __metadata("design:type", Object)
32
- ], ThyCard.prototype, "thyBordered", void 0);
33
19
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCard, decorators: [{
34
20
  type: Component,
35
21
  args: [{
@@ -48,14 +34,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
48
34
  }]
49
35
  }], propDecorators: { thyHasLeftRightPadding: [{
50
36
  type: Input,
51
- args: ['thyHasLeftRightPadding']
37
+ args: [{ transform: booleanAttribute }]
52
38
  }], thyDivided: [{
53
39
  type: Input,
54
- args: ['thyDivided']
40
+ args: [{ transform: booleanAttribute }]
55
41
  }], thyBordered: [{
56
42
  type: Input,
57
- args: ['thyBordered']
43
+ args: [{ transform: booleanAttribute }]
58
44
  }], thySize: [{
59
45
  type: Input
60
46
  }] } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2FyZC9jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUUvQzs7OztHQUlHO0FBZUgsTUFBTSxPQUFPLE9BQU87SUFkcEI7UUFlSTs7O1dBR0c7UUFHSCwyQkFBc0IsR0FBcUIsSUFBSSxDQUFDO0tBeUJuRDs4R0FoQ1ksT0FBTztrR0FBUCxPQUFPLHVmQVpOLDZCQUE2Qjs7QUFtQnZDO0lBREMsWUFBWSxFQUFFOzt1REFDaUM7QUFRaEQ7SUFEQyxZQUFZLEVBQUU7OzJDQUNjO0FBUTdCO0lBREMsWUFBWSxFQUFFOzs0Q0FDZTsyRkF2QnJCLE9BQU87a0JBZG5CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0YsS0FBSyxFQUFFLFVBQVU7d0JBQ2pCLDJCQUEyQixFQUFFLGNBQWM7d0JBQzNDLDRCQUE0QixFQUFFLGVBQWU7d0JBQzdDLDRDQUE0QyxFQUFFLHlCQUF5Qjt3QkFDdkUscUJBQXFCLEVBQUUsa0JBQWtCO3dCQUN6QyxxQkFBcUIsRUFBRSxrQkFBa0I7cUJBQzVDO29CQUNELFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFRRyxzQkFBc0I7c0JBRnJCLEtBQUs7dUJBQUMsd0JBQXdCO2dCQVUvQixVQUFVO3NCQUZULEtBQUs7dUJBQUMsWUFBWTtnQkFVbkIsV0FBVztzQkFGVixLQUFLO3VCQUFDLGFBQWE7Z0JBVXBCLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4gfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuXG4vKipcbiAqIOWNoeeJh+e7hOS7tlxuICogQG5hbWUgdGh5LWNhcmRcbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1jYXJkJyxcbiAgICB0ZW1wbGF0ZTogYCA8bmctY29udGVudD48L25nLWNvbnRlbnQ+IGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1jYXJkJyxcbiAgICAgICAgJ1tjbGFzcy50aHktY2FyZC0tZGl2aWRlZF0nOiAnISF0aHlEaXZpZGVkJyxcbiAgICAgICAgJ1tjbGFzcy50aHktY2FyZC0tYm9yZGVyZWRdJzogJyEhdGh5Qm9yZGVyZWQnLFxuICAgICAgICAnW2NsYXNzLnRoeS1jYXJkLS1jbGVhci1sZWZ0LXJpZ2h0LXBhZGRpbmddJzogJyF0aHlIYXNMZWZ0UmlnaHRQYWRkaW5nJyxcbiAgICAgICAgJ1tjbGFzcy50aHktY2FyZC1zbV0nOiAndGh5U2l6ZSA9PT0gXCJzbVwiJyxcbiAgICAgICAgJ1tjbGFzcy50aHktY2FyZC1sZ10nOiAndGh5U2l6ZSA9PT0gXCJsZ1wiJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlDYXJkIHtcbiAgICAvKipcbiAgICAgKiDlt6blj7PmmK/lkKbmnInlhoXovrnot53vvIzlt7Llup/lvIPvvIzlpoLpnIDphY3nva7pl7Tot53kvb/nlKggc3BhY2luZyDlt6XlhbfmoLflvI/opobnm5bpu5jorqTpl7Tot51cbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5SGFzTGVmdFJpZ2h0UGFkZGluZycpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgdGh5SGFzTGVmdFJpZ2h0UGFkZGluZzogYm9vbGVhbiB8IHN0cmluZyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmK/liIblibLmqKHlvI/vvIzliIblibLmqKHlvI/lpLTpg6jlkozlhoXlrrnljLrkuYvpl7TmnInkuIDmnaHliIblibLnur9cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5RGl2aWRlZCcpXG4gICAgQElucHV0Qm9vbGVhbigpXG4gICAgdGh5RGl2aWRlZDogYm9vbGVhbiB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaciei+ueahhu+8jOi+ueahhuminOiJsuS4uiNlZWVcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5Qm9yZGVyZWQnKVxuICAgIEBJbnB1dEJvb2xlYW4oKVxuICAgIHRoeUJvcmRlcmVkOiBib29sZWFuIHwgc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5aSn5bCPXG4gICAgICogQHR5cGUgc20gfCBtZCB8IGxnXG4gICAgICogQGRlZmF1bHQgbWRcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHRoeVNpemU6ICdtZCcgfCAnc20nIHwgJ2xnJztcbn1cbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2FyZC9jYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFNUY7Ozs7R0FJRztBQWVILE1BQU0sT0FBTyxPQUFPO0lBZHBCO1FBZUk7OztXQUdHO1FBRUgsMkJBQXNCLEdBQXFCLElBQUksQ0FBQztLQXVCbkQ7OEdBN0JZLE9BQU87a0dBQVAsT0FBTyxtSUFLSSxnQkFBZ0IsNENBT2hCLGdCQUFnQiwrQ0FPaEIsZ0JBQWdCLDRWQS9CMUIsNkJBQTZCOzsyRkFZOUIsT0FBTztrQkFkbkIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsVUFBVTt3QkFDakIsMkJBQTJCLEVBQUUsY0FBYzt3QkFDM0MsNEJBQTRCLEVBQUUsZUFBZTt3QkFDN0MsNENBQTRDLEVBQUUseUJBQXlCO3dCQUN2RSxxQkFBcUIsRUFBRSxrQkFBa0I7d0JBQ3pDLHFCQUFxQixFQUFFLGtCQUFrQjtxQkFDNUM7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQU9HLHNCQUFzQjtzQkFEckIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFRdEMsVUFBVTtzQkFEVCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVF0QyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBU3RDLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBib29sZWFuQXR0cmlidXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICog5Y2h54mH57uE5Lu2XG4gKiBAbmFtZSB0aHktY2FyZFxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWNhcmQnLFxuICAgIHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWNhcmQnLFxuICAgICAgICAnW2NsYXNzLnRoeS1jYXJkLS1kaXZpZGVkXSc6ICchIXRoeURpdmlkZWQnLFxuICAgICAgICAnW2NsYXNzLnRoeS1jYXJkLS1ib3JkZXJlZF0nOiAnISF0aHlCb3JkZXJlZCcsXG4gICAgICAgICdbY2xhc3MudGh5LWNhcmQtLWNsZWFyLWxlZnQtcmlnaHQtcGFkZGluZ10nOiAnIXRoeUhhc0xlZnRSaWdodFBhZGRpbmcnLFxuICAgICAgICAnW2NsYXNzLnRoeS1jYXJkLXNtXSc6ICd0aHlTaXplID09PSBcInNtXCInLFxuICAgICAgICAnW2NsYXNzLnRoeS1jYXJkLWxnXSc6ICd0aHlTaXplID09PSBcImxnXCInXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNhcmQge1xuICAgIC8qKlxuICAgICAqIOW3puWPs+aYr+WQpuacieWGhei+uei3ne+8jOW3suW6n+W8g++8jOWmgumcgOmFjee9rumXtOi3neS9v+eUqCBzcGFjaW5nIOW3peWFt+agt+W8j+imhueblum7mOiupOmXtOi3nVxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgdGh5SGFzTGVmdFJpZ2h0UGFkZGluZzogYm9vbGVhbiB8IHN0cmluZyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmK/liIblibLmqKHlvI/vvIzliIblibLmqKHlvI/lpLTpg6jlkozlhoXlrrnljLrkuYvpl7TmnInkuIDmnaHliIblibLnur9cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHRoeURpdmlkZWQ6IGJvb2xlYW4gfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmnInovrnmoYbvvIzovrnmoYbpopzoibLkuLojZWVlXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICB0aHlCb3JkZXJlZDogYm9vbGVhbiB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWkp+Wwj1xuICAgICAqIEB0eXBlIHNtIHwgbWQgfCBsZ1xuICAgICAqIEBkZWZhdWx0IG1kXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB0aHlTaXplOiAnbWQnIHwgJ3NtJyB8ICdsZyc7XG59XG4iXX0=
@@ -1,5 +1,4 @@
1
- import { coerceBooleanProperty } from 'ngx-tethys/util';
2
- import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, HostBinding, Input, booleanAttribute } from '@angular/core';
3
2
  import * as i0 from "@angular/core";
4
3
  /**
5
4
  * 卡片内容组件
@@ -16,7 +15,7 @@ export class ThyCardContent {
16
15
  * @default false
17
16
  */
18
17
  set thyScroll(value) {
19
- this.scrollClassName = coerceBooleanProperty(value);
18
+ this.scrollClassName = value;
20
19
  }
21
20
  /**
22
21
  * 已废弃,Content 大小,sm 时 padding-top 间距变小
@@ -28,7 +27,7 @@ export class ThyCardContent {
28
27
  }
29
28
  ngOnInit() { }
30
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCardContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyCardContent, isStandalone: true, selector: "thy-card-content", inputs: { thyScroll: "thyScroll", thySize: "thySize" }, host: { properties: { "class.thy-card-content--scroll": "this.scrollClassName", "class.thy-card-content--sm": "this._thySizeSm" }, classAttribute: "thy-card-content" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyCardContent, isStandalone: true, selector: "thy-card-content", inputs: { thyScroll: ["thyScroll", "thyScroll", booleanAttribute], thySize: "thySize" }, host: { properties: { "class.thy-card-content--scroll": "this.scrollClassName", "class.thy-card-content--sm": "this._thySizeSm" }, classAttribute: "thy-card-content" }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
31
  }
33
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCardContent, decorators: [{
34
33
  type: Component,
@@ -47,7 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
47
46
  args: ['class.thy-card-content--scroll']
48
47
  }], thyScroll: [{
49
48
  type: Input,
50
- args: ['thyScroll']
49
+ args: [{ transform: booleanAttribute }]
51
50
  }], _thySizeSm: [{
52
51
  type: HostBinding,
53
52
  args: ['class.thy-card-content--sm']
@@ -55,4 +54,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
55
54
  type: Input,
56
55
  args: ['thySize']
57
56
  }] } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2FyZC9jb250ZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBRS9GOzs7O0dBSUc7QUFXSCxNQUFNLE9BQU8sY0FBYztJQVYzQjtRQVdtRCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQVc1QixlQUFVLEdBQUcsS0FBSyxDQUFDO0tBYWpFO0lBdEJHOzs7T0FHRztJQUNILElBQ0ksU0FBUyxDQUFDLEtBQVU7UUFDcEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBSUQ7Ozs7T0FJRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQWE7UUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLEtBQUssSUFBSSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxRQUFRLEtBQUksQ0FBQzs4R0F4QkosY0FBYztrR0FBZCxjQUFjLDZTQVBiLDZCQUE2Qjs7MkZBTzlCLGNBQWM7a0JBVjFCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsbUJBQW1CLEVBQUUsS0FBSztvQkFDMUIsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsa0JBQWtCO3FCQUM1QjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBRWtELGVBQWU7c0JBQTdELFdBQVc7dUJBQUMsZ0NBQWdDO2dCQU96QyxTQUFTO3NCQURaLEtBQUs7dUJBQUMsV0FBVztnQkFLeUIsVUFBVTtzQkFBcEQsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBUXJDLE9BQU87c0JBRFYsS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiDljaHniYflhoXlrrnnu4Tku7ZcbiAqIEBuYW1lIHRoeS1jYXJkLWNvbnRlbnRcbiAqIEBvcmRlciAzMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1jYXJkLWNvbnRlbnQnLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWNhcmQtY29udGVudCdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5Q2FyZENvbnRlbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LWNhcmQtY29udGVudC0tc2Nyb2xsJykgc2Nyb2xsQ2xhc3NOYW1lID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDlhoXlrrnljLrvvIzmu5rliqhcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5U2Nyb2xsJylcbiAgICBzZXQgdGh5U2Nyb2xsKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5zY3JvbGxDbGFzc05hbWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LWNhcmQtY29udGVudC0tc20nKSBfdGh5U2l6ZVNtID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDlt7Llup/lvIPvvIxDb250ZW50IOWkp+Wwj++8jHNtIOaXtiBwYWRkaW5nLXRvcCDpl7Tot53lj5jlsI9cbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqIEBkZWZhdWx0IG1kXG4gICAgICovXG4gICAgQElucHV0KCd0aHlTaXplJylcbiAgICBzZXQgdGh5U2l6ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3RoeVNpemVTbSA9IHZhbHVlID09PSAnc20nO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge31cbn1cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2FyZC9jb250ZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRWpIOzs7O0dBSUc7QUFXSCxNQUFNLE9BQU8sY0FBYztJQVYzQjtRQVdtRCxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQVc1QixlQUFVLEdBQUcsS0FBSyxDQUFDO0tBYWpFO0lBdEJHOzs7T0FHRztJQUNILElBQ0ksU0FBUyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUlEOzs7O09BSUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFhO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxLQUFLLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBRUQsUUFBUSxLQUFJLENBQUM7OEdBeEJKLGNBQWM7a0dBQWQsY0FBYyxvR0FPSCxnQkFBZ0IsME5BZDFCLDZCQUE2Qjs7MkZBTzlCLGNBQWM7a0JBVjFCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsbUJBQW1CLEVBQUUsS0FBSztvQkFDMUIsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsa0JBQWtCO3FCQUM1QjtvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBRWtELGVBQWU7c0JBQTdELFdBQVc7dUJBQUMsZ0NBQWdDO2dCQU96QyxTQUFTO3NCQURaLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS0ssVUFBVTtzQkFBcEQsV0FBVzt1QkFBQyw0QkFBNEI7Z0JBUXJDLE9BQU87c0JBRFYsS0FBSzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiDljaHniYflhoXlrrnnu4Tku7ZcbiAqIEBuYW1lIHRoeS1jYXJkLWNvbnRlbnRcbiAqIEBvcmRlciAzMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1jYXJkLWNvbnRlbnQnLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWNhcmQtY29udGVudCdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5Q2FyZENvbnRlbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LWNhcmQtY29udGVudC0tc2Nyb2xsJykgc2Nyb2xsQ2xhc3NOYW1lID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDlhoXlrrnljLrvvIzmu5rliqhcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHNldCB0aHlTY3JvbGwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zY3JvbGxDbGFzc05hbWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1jYXJkLWNvbnRlbnQtLXNtJykgX3RoeVNpemVTbSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5bey5bqf5byD77yMQ29udGVudCDlpKflsI/vvIxzbSDml7YgcGFkZGluZy10b3Ag6Ze06Led5Y+Y5bCPXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKiBAZGVmYXVsdCBtZFxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5U2l6ZScpXG4gICAgc2V0IHRoeVNpemUodmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLl90aHlTaXplU20gPSB2YWx1ZSA9PT0gJ3NtJztcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHt9XG59XG4iXX0=
@@ -1,7 +1,5 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, Output, QueryList, Renderer2, ViewChild, TemplateRef, ViewEncapsulation, NgZone } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, Input, Output, QueryList, Renderer2, ViewChild, TemplateRef, ViewEncapsulation, NgZone, booleanAttribute, numberAttribute } from '@angular/core';
3
2
  import { Platform } from '@angular/cdk/platform';
4
- import { InputBoolean, InputNumber } from 'ngx-tethys/core';
5
3
  import { ThyCarouselItemDirective } from './carousel-item.directive';
6
4
  import { ThyCarouselSlideEngine, ThyCarouselNoopEngine, ThyCarouselFadeEngine } from './engine';
7
5
  import { fromEvent, Subject } from 'rxjs';
@@ -245,28 +243,8 @@ export class ThyCarousel {
245
243
  this._destroy$.complete();
246
244
  }
247
245
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCarousel, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.ThyCarouselService }, { token: i2.Platform }], target: i0.ɵɵFactoryTarget.Component }); }
248
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ThyCarousel, isStandalone: true, selector: "thy-carousel", inputs: { thyAutoPlay: "thyAutoPlay", thyAutoPlayInterval: "thyAutoPlayInterval", thyEffect: "thyEffect", thyIndicators: "thyIndicators", thyIndicatorRender: "thyIndicatorRender", thyControls: "thyControls", thyControlPrev: "thyControlPrev", thyControlNext: "thyControlNext", thyTouchable: "thyTouchable", thyTrigger: "thyTrigger", thyPause: "thyPause" }, outputs: { thyBeforeChange: "thyBeforeChange", thyAfterChange: "thyAfterChange" }, host: { classAttribute: "thy-carousel" }, queries: [{ propertyName: "carouselItems", predicate: ThyCarouselItemDirective }], viewQueries: [{ propertyName: "carouselWrapper", first: true, predicate: ["carouselWrapper"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-carousel thy-carousel-initialized thy-carousel-point-events\">\n <div #carouselWrapper class=\"thy-carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"thyControls && carouselItems.length > 1\">\n <div class=\"thy-carousel-control-pre-wrapper\" (click)=\"pre()\">\n <ng-container *ngTemplateOutlet=\"thyControlPrev || defaultControlPrev\"></ng-container>\n </div>\n <div class=\"thy-carousel-control-next-wrapper\" (click)=\"next()\">\n <ng-container *ngTemplateOutlet=\"thyControlNext || defaultControlNext\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"thyIndicators\">\n <div class=\"thy-carousel-indicators\">\n <span\n *ngFor=\"let content of carouselItems; let i = index\"\n class=\"thy-carousel-indicator\"\n (mouseenter)=\"indicatorHandleTrigger(i)\"\n (mouseleave)=\"indicatorHandleLeave()\"\n (click)=\"indicatorHandleClick(i)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"thyIndicatorRender || defaultIndicatorRender\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"\n ></ng-template>\n </span>\n </div>\n </ng-container>\n</div>\n\n<ng-template #defaultIndicatorRender let-active>\n <thy-dot thyColor=\"#fff\" [class.active]=\"active\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultControlPrev>\n <div class=\"thy-carousel-control thy-carousel-control-pre\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n</ng-template>\n\n<ng-template #defaultControlNext>\n <div class=\"thy-carousel-control thy-carousel-control-next\">\n <thy-icon thyIconName=\"angle-right-bold\"></thy-icon>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyDot, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
246
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.2.3", type: ThyCarousel, isStandalone: true, selector: "thy-carousel", inputs: { thyAutoPlay: ["thyAutoPlay", "thyAutoPlay", booleanAttribute], thyAutoPlayInterval: ["thyAutoPlayInterval", "thyAutoPlayInterval", numberAttribute], thyEffect: "thyEffect", thyIndicators: ["thyIndicators", "thyIndicators", booleanAttribute], thyIndicatorRender: "thyIndicatorRender", thyControls: ["thyControls", "thyControls", booleanAttribute], thyControlPrev: "thyControlPrev", thyControlNext: "thyControlNext", thyTouchable: ["thyTouchable", "thyTouchable", booleanAttribute], thyTrigger: "thyTrigger", thyPause: "thyPause" }, outputs: { thyBeforeChange: "thyBeforeChange", thyAfterChange: "thyAfterChange" }, host: { classAttribute: "thy-carousel" }, queries: [{ propertyName: "carouselItems", predicate: ThyCarouselItemDirective }], viewQueries: [{ propertyName: "carouselWrapper", first: true, predicate: ["carouselWrapper"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-carousel thy-carousel-initialized thy-carousel-point-events\">\n <div #carouselWrapper class=\"thy-carousel-wrapper\" (mousedown)=\"onDrag($event)\" (touchstart)=\"onDrag($event)\">\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"thyControls && carouselItems.length > 1\">\n <div class=\"thy-carousel-control-pre-wrapper\" (click)=\"pre()\">\n <ng-container *ngTemplateOutlet=\"thyControlPrev || defaultControlPrev\"></ng-container>\n </div>\n <div class=\"thy-carousel-control-next-wrapper\" (click)=\"next()\">\n <ng-container *ngTemplateOutlet=\"thyControlNext || defaultControlNext\"></ng-container>\n </div>\n </ng-container>\n <ng-container *ngIf=\"thyIndicators\">\n <div class=\"thy-carousel-indicators\">\n <span\n *ngFor=\"let content of carouselItems; let i = index\"\n class=\"thy-carousel-indicator\"\n (mouseenter)=\"indicatorHandleTrigger(i)\"\n (mouseleave)=\"indicatorHandleLeave()\"\n (click)=\"indicatorHandleClick(i)\"\n >\n <ng-template\n [ngTemplateOutlet]=\"thyIndicatorRender || defaultIndicatorRender\"\n [ngTemplateOutletContext]=\"{ $implicit: i === activeIndex }\"\n ></ng-template>\n </span>\n </div>\n </ng-container>\n</div>\n\n<ng-template #defaultIndicatorRender let-active>\n <thy-dot thyColor=\"#fff\" [class.active]=\"active\"></thy-dot>\n</ng-template>\n\n<ng-template #defaultControlPrev>\n <div class=\"thy-carousel-control thy-carousel-control-pre\">\n <thy-icon thyIconName=\"angle-left-bold\"></thy-icon>\n </div>\n</ng-template>\n\n<ng-template #defaultControlNext>\n <div class=\"thy-carousel-control thy-carousel-control-next\">\n <thy-icon thyIconName=\"angle-right-bold\"></thy-icon>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ThyDot, selector: "thy-dot,[thy-dot],[thyDot]", inputs: ["thyColor", "thySize", "thyTheme", "thyShape"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
249
247
  }
250
- __decorate([
251
- InputBoolean(),
252
- __metadata("design:type", Boolean)
253
- ], ThyCarousel.prototype, "thyAutoPlay", void 0);
254
- __decorate([
255
- InputNumber(),
256
- __metadata("design:type", Number)
257
- ], ThyCarousel.prototype, "thyAutoPlayInterval", void 0);
258
- __decorate([
259
- InputBoolean(),
260
- __metadata("design:type", Object)
261
- ], ThyCarousel.prototype, "thyIndicators", void 0);
262
- __decorate([
263
- InputBoolean(),
264
- __metadata("design:type", Object)
265
- ], ThyCarousel.prototype, "thyControls", void 0);
266
- __decorate([
267
- InputBoolean(),
268
- __metadata("design:type", Object)
269
- ], ThyCarousel.prototype, "thyTouchable", void 0);
270
248
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ThyCarousel, decorators: [{
271
249
  type: Component,
272
250
  args: [{ selector: 'thy-carousel', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, host: {
@@ -279,23 +257,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
279
257
  type: ViewChild,
280
258
  args: ['carouselWrapper', { static: true }]
281
259
  }], thyAutoPlay: [{
282
- type: Input
260
+ type: Input,
261
+ args: [{ transform: booleanAttribute }]
283
262
  }], thyAutoPlayInterval: [{
284
- type: Input
263
+ type: Input,
264
+ args: [{ transform: numberAttribute }]
285
265
  }], thyEffect: [{
286
266
  type: Input
287
267
  }], thyIndicators: [{
288
- type: Input
268
+ type: Input,
269
+ args: [{ transform: booleanAttribute }]
289
270
  }], thyIndicatorRender: [{
290
271
  type: Input
291
272
  }], thyControls: [{
292
- type: Input
273
+ type: Input,
274
+ args: [{ transform: booleanAttribute }]
293
275
  }], thyControlPrev: [{
294
276
  type: Input
295
277
  }], thyControlNext: [{
296
278
  type: Input
297
279
  }], thyTouchable: [{
298
- type: Input
280
+ type: Input,
281
+ args: [{ transform: booleanAttribute }]
299
282
  }], thyTrigger: [{
300
283
  type: Input
301
284
  }], thyPause: [{
@@ -305,4 +288,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
305
288
  }], thyAfterChange: [{
306
289
  type: Output
307
290
  }] } });
308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLEVBQ1QsV0FBVyxFQUNYLGlCQUFpQixFQUlqQixNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFTckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRWhFOzs7R0FHRztB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LEVBQUU7O3dEQUFvQztBQVdsQztJQUFmLFlBQVksRUFBRTs7a0RBQXNCO0FBVXJCO0lBQWYsWUFBWSxFQUFFOztnREFBb0I7QUFlbkI7SUFBZixZQUFZLEVBQUU7O2lEQUFxQjsyRkF2RHBDLFdBQVc7a0JBWnZCLFNBQVM7K0JBQ0ksY0FBYyxtQkFFUCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLHVCQUNoQixLQUFLLFFBQ3BCO3dCQUNGLEtBQUssRUFBRSxjQUFjO3FCQUN4QixjQUNXLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQzsyTEFNZCxhQUFhO3NCQUF2RCxlQUFlO3VCQUFDLHdCQUF3QjtnQkFLTyxlQUFlO3NCQUE5RCxTQUFTO3VCQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFLckIsV0FBVztzQkFBbkMsS0FBSztnQkFLa0IsbUJBQW1CO3NCQUExQyxLQUFLO2dCQU1HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS21CLGFBQWE7c0JBQXJDLEtBQUs7Z0JBS0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUttQixXQUFXO3NCQUFuQyxLQUFLO2dCQUtHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFLbUIsWUFBWTtzQkFBcEMsS0FBSztnQkFNRyxVQUFVO3NCQUFsQixLQUFLO2dCQU1HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS2EsZUFBZTtzQkFBakMsTUFBTTtnQkFLWSxjQUFjO3NCQUFoQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxuICAgIFZpZXdDaGlsZCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBJbnB1dEJvb2xlYW4sIElucHV0TnVtYmVyIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeUNhcm91c2VsSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vY2Fyb3VzZWwtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBUaHlDYXJvdXNlbEVuZ2luZSxcbiAgICBUaHlEaXN0YW5jZVZlY3RvcixcbiAgICBUaHlDYXJvdXNlbFN3aXRjaERhdGEsXG4gICAgVGh5Q2Fyb3VzZWxFZmZlY3QsXG4gICAgVGh5Q2Fyb3VzZWxUcmlnZ2VyLFxuICAgIFRoeUNhcm91c2VsUGF1c2Vcbn0gZnJvbSAnLi90eXBpbmdzJztcbmltcG9ydCB7IFRoeUNhcm91c2VsU2xpZGVFbmdpbmUsIFRoeUNhcm91c2VsTm9vcEVuZ2luZSwgVGh5Q2Fyb3VzZWxGYWRlRW5naW5lIH0gZnJvbSAnLi9lbmdpbmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRoeUNhcm91c2VsU2VydmljZSB9IGZyb20gJy4vY2Fyb3VzZWwuc2VydmljZSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IFRoeURvdCB9IGZyb20gJ25neC10ZXRoeXMvZG90JztcbmltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIE5nRm9yIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiDotbDpqaznga/nu4Tku7ZcbiAqIEBuYW1lIHRoeS1jYXJvdXNlbFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1jYXJvdXNlbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Nhcm91c2VsLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktY2Fyb3VzZWwnXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBOZ0ZvciwgVGh5RG90LCBUaHlJY29uXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlDYXJvdXNlbCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmUpIGNhcm91c2VsSXRlbXMhOiBRdWVyeUxpc3Q8VGh5Q2Fyb3VzZWxJdGVtRGlyZWN0aXZlPjtcblxuICAgIC8qKlxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgnY2Fyb3VzZWxXcmFwcGVyJywgeyBzdGF0aWM6IHRydWUgfSkgY2Fyb3VzZWxXcmFwcGVyOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuiHquWKqOWIh+aNou+8jOm7mOiupCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIEBJbnB1dEJvb2xlYW4oKSB0aHlBdXRvUGxheTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog6Ieq5Yqo5YiH5o2i5pe26Ze06Ze06ZqUKOavq+enkilcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXROdW1iZXIoKSB0aHlBdXRvUGxheUludGVydmFsOiBudW1iZXIgPSAzMDAwO1xuXG4gICAgLyoqXG4gICAgICog5YiH5o2i5Yqo55S75qC35byPXG4gICAgICogQHR5cGUgc2xpZGUgfCBmYWRlIHwgbm9vcFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUVmZmVjdDogVGh5Q2Fyb3VzZWxFZmZlY3QgPSAnc2xpZGUnO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pi+56S65YiH5o2i5oyH56S65ZmoXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeUluZGljYXRvcnMgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5oyH56S65ZmoIEl0ZW0g55qE5riy5p+T5qih5p2/XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5SW5kaWNhdG9yUmVuZGVyPzogVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IGJvb2xlYW4gfT47XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLrlt6blj7PliIfmjaJcbiAgICAgKi9cbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKCkgdGh5Q29udHJvbHMgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5LiK5LiA5Liq5o6n5Yi25Zmo5riy5p+T5qih5p2/XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q29udHJvbFByZXY/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICog5LiL5LiA5Liq5o6n5Yi25Zmo5riy5p+T5qih5p2/XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q29udHJvbE5leHQ/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pSv5oyB5omL5Yq/5ruR5YqoXG4gICAgICovXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIHRoeVRvdWNoYWJsZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDmjIfnpLrngrnliIfmjaLnmoTop6blj5HmnaHku7ZcbiAgICAgKiBAdHlwZSBjbGljayB8IGhvdmVyXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5VHJpZ2dlcjogVGh5Q2Fyb3VzZWxUcmlnZ2VyID0gJ2NsaWNrJztcblxuICAgIC8qKlxuICAgICAqIOm8oOagh+enu+WKqOWIsOaMh+ekuuWZqOaXtuaYr+WQpuaaguWBnOaSreaUvlxuICAgICAqIEB0eXBlIGZhbHNlIHwgaG92ZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQYXVzZTogVGh5Q2Fyb3VzZWxQYXVzZSA9ICdob3Zlcic7XG5cbiAgICAvKipcbiAgICAgKiDop6blj5HliIfmjaLluKfkuYvliY3vvIzov5Tlm54gYHtmcm9tOiBudW1iZXIsIHRvOiBudW1iZXJ9YFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSB0aHlCZWZvcmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRoeUNhcm91c2VsU3dpdGNoRGF0YT4oKTtcblxuICAgIC8qKlxuICAgICAqIOWIh+aNouW4p+S5i+WQjueahOWbnuiwg++8jOi/lOWbnuW9k+WJjeW4p+e0ouW8lVxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSB0aHlBZnRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgcHJpdmF0ZSBpc0RyYWdnaW5nID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGlzVHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBwb2ludGVyVmVjdG9yOiBUaHlEaXN0YW5jZVZlY3RvciA9IHsgeDogMCwgeTogMCB9O1xuXG4gICAgcHJpdmF0ZSBlbmdpbmU6IFRoeUNhcm91c2VsRW5naW5lO1xuXG4gICAgcHJpdmF0ZSBfdHJpZ2dlciQgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG5cbiAgICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICB3cmFwcGVyRG9tUmVjdDogRE9NUmVjdDtcblxuICAgIGFjdGl2ZUluZGV4ID0gMDtcblxuICAgIHdyYXBwZXJFbDogSFRNTEVsZW1lbnQ7XG5cbiAgICB0cmFuc2l0aW9uVGltZXI6IGFueSA9IG51bGw7XG5cbiAgICBwbGF5VGltZTogbnVtYmVyID0gNDAwO1xuXG4gICAgaXNQYXVzZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgY2Fyb3VzZWxTZXJ2aWNlOiBUaHlDYXJvdXNlbFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm06IFBsYXRmb3JtXG4gICAgKSB7fVxuXG4gICAgcHJpdmF0ZSBtb3ZlVG8oaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jYXJvdXNlbEl0ZW1zICYmIHRoaXMuY2Fyb3VzZWxJdGVtcy5sZW5ndGggJiYgIXRoaXMuaXNUcmFuc2l0aW9uaW5nKSB7XG4gICAgICAgICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICAgICAgY29uc3QgbGVuID0gdGhpcy5jYXJvdXNlbEl0ZW1zLmxlbmd0aDtcbiAgICAgICAgICAgIGNvbnN0IGZyb20gPSB0aGlzLmFjdGl2ZUluZGV4O1xuICAgICAgICAgICAgY29uc3QgdG8gPSAoaW5kZXggKyBsZW4pICUgbGVuO1xuICAgICAgICAgICAgdGhpcy50aHlCZWZvcmVDaGFuZ2UuZW1pdCh7IGZyb20sIHRvIH0pO1xuICAgICAgICAgICAgdGhpcy5pc1RyYW5zaXRpb25pbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5lbmdpbmU/LnN3aXRjaChpbmRleCwgdGhpcy5hY3RpdmVJbmRleCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IHRvO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcmtDb250ZW50QWN0aXZlKHRoaXMuYWN0aXZlSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNjaGVkdWxlTmV4dFRyYW5zaXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aHlBZnRlckNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlSW5kZXgpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4ge30sXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzVHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc3dpdGNoRW5naW5lKCk6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKHRoaXMudGh5RWZmZWN0KSB7XG4gICAgICAgICAgICBjYXNlICdzbGlkZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5lbmdpbmUgPSBuZXcgVGh5Q2Fyb3VzZWxTbGlkZUVuZ2luZSh0aGlzLCB0aGlzLmNkciwgdGhpcy5yZW5kZXJlciwgdGhpcy5wbGF0Zm9ybSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdmYWRlJzpcbiAgICAgICAgICAgICAgICB0aGlzLmVuZ2luZSA9IG5ldyBUaHlDYXJvdXNlbEZhZGVFbmdpbmUodGhpcywgdGhpcy5jZHIsIHRoaXMucmVuZGVyZXIsIHRoaXMucGxhdGZvcm0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aGlzLmVuZ2luZSA9IG5ldyBUaHlDYXJvdXNlbE5vb3BFbmdpbmUodGhpcywgdGhpcy5jZHIsIHRoaXMucmVuZGVyZXIsIHRoaXMucGxhdGZvcm0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtYXJrQ29udGVudEFjdGl2ZShpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy5jYXJvdXNlbEl0ZW1zLmZvckVhY2goKGNhcm91c2VsQ29udGVudDogVGh5Q2Fyb3VzZWxJdGVtRGlyZWN0aXZlLCBpOiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgIGNhcm91c2VsQ29udGVudC5pc0FjdGl2ZSA9IGluZGV4ID09PSBpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SW5pdGlhbFZhbHVlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5lbmdpbmUpIHtcbiAgICAgICAgICAgIHRoaXMuZW5naW5lLmluaXRpYWxpemVDYXJvdXNlbENvbnRlbnRzKHRoaXMuY2Fyb3VzZWxJdGVtcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNjaGVkdWxlTmV4dFRyYW5zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgIGlmICh0aGlzLnRoeUF1dG9QbGF5ICYmICF0aGlzLmlzUGF1c2UpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvblRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5hY3RpdmVJbmRleCArIDEpO1xuICAgICAgICAgICAgfSwgdGhpcy50aHlBdXRvUGxheUludGVydmFsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50cmFuc2l0aW9uVGltZXIpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRyYW5zaXRpb25UaW1lcik7XG4gICAgICAgICAgICB0aGlzLnRyYW5zaXRpb25UaW1lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRyYWcoZXZlbnQ6IFRvdWNoRXZlbnQgfCBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc0RyYWdnaW5nICYmICF0aGlzLmlzVHJhbnNpdGlvbmluZyAmJiB0aGlzLnRoeVRvdWNoYWJsZSkge1xuICAgICAgICAgICAgY29uc3QgbW91c2VEb3duVGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICAgICAgbGV0IG1vdXNlVXBUaW1lOiBudW1iZXI7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2NoZWR1bGVkVHJhbnNpdGlvbigpO1xuICAgICAgICAgICAgdGhpcy53cmFwcGVyRG9tUmVjdCA9IHRoaXMud3JhcHBlckVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgdGhpcy5jYXJvdXNlbFNlcnZpY2UucmVnaXN0ZXJEcmFnKGV2ZW50KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgcG9pbnRlclZlY3RvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy53cmFwcGVyRWwsICdjdXJzb3InLCAnZ3JhYmJpbmcnKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb2ludGVyVmVjdG9yID0gcG9pbnRlclZlY3RvcjtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0RyYWdnaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmdpbmU/LmRyYWdnaW5nKHRoaXMucG9pbnRlclZlY3RvciwgdGhpcy53cmFwcGVyRG9tUmVjdCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzRHJhZ2dpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1vdXNlVXBUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBob2xkRG93blRpbWUgPSBtb3VzZVVwVGltZSAtIG1vdXNlRG93blRpbWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBGYXN0IGVub3VnaCB0byBzd2l0Y2ggdG8gdGhlIG5leHQgZnJhbWVcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgcG9pbnRlclZlY3RvciBpcyBtb3JlIHRoYW4gb25lIHRoaXJkIHN3aXRjaCB0byB0aGUgbmV4dCBmcmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hdGguYWJzKHRoaXMucG9pbnRlclZlY3Rvci54KSA+IHRoaXMud3JhcHBlckRvbVJlY3Qud2lkdGggLyAzIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5hYnModGhpcy5wb2ludGVyVmVjdG9yLngpIC8gaG9sZERvd25UaW1lID49IDFcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZVRvKHRoaXMucG9pbnRlclZlY3Rvci54ID4gMCA/IHRoaXMuYWN0aXZlSW5kZXggLSAxIDogdGhpcy5hY3RpdmVJbmRleCArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1vdmVUbyh0aGlzLmFjdGl2ZUluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXJFbCwgJ2N1cnNvcicsICdncmFiJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluZGljYXRvckhhbmRsZUNsaWNrKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGh5VHJpZ2dlciA9PT0gJ2NsaWNrJykge1xuICAgICAgICAgICAgdGhpcy5tb3ZlVG8oaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5kaWNhdG9ySGFuZGxlVHJpZ2dlcihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRoeVBhdXNlID09PSAnaG92ZXInKSB7XG4gICAgICAgICAgICB0aGlzLmlzUGF1c2UgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5jbGVhclNjaGVkdWxlZFRyYW5zaXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy50aHlUcmlnZ2VyID09PSAnaG92ZXInKSB7XG4gICAgICAgICAgICB0aGlzLl90cmlnZ2VyJC5uZXh0KGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluZGljYXRvckhhbmRsZUxlYXZlKCkge1xuICAgICAgICBpZiAodGhpcy50aHlQYXVzZSA9PT0gJ2hvdmVyJykge1xuICAgICAgICAgICAgdGhpcy5pc1BhdXNlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnNjaGVkdWxlTmV4dFRyYW5zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5leHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW92ZVRvKHRoaXMuYWN0aXZlSW5kZXggKyAxKTtcbiAgICB9XG5cbiAgICBwcmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW92ZVRvKHRoaXMuYWN0aXZlSW5kZXggLSAxKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy53cmFwcGVyRWwgPSB0aGlzLmNhcm91c2VsV3JhcHBlciEubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSwgZGVib3VuY2VUaW1lKDEwMCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZW5naW5lPy5jb3JyZWN0aW9uT2Zmc2V0KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGNvbnN0IHsgdGh5RWZmZWN0LCB0aHlUb3VjaGFibGUgfSA9IGNoYW5nZXM7XG4gICAgICAgIGlmICh0aHlFZmZlY3QgJiYgIXRoeUVmZmVjdC5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc3dpdGNoRW5naW5lKCk7XG4gICAgICAgICAgICB0aGlzLm1hcmtDb250ZW50QWN0aXZlKDApO1xuICAgICAgICAgICAgdGhpcy5zZXRJbml0aWFsVmFsdWUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aHlUb3VjaGFibGUgJiYgIXRoeVRvdWNoYWJsZS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy53cmFwcGVyRWwsICdjdXJzb3InLCB0aHlUb3VjaGFibGUuY3VycmVudFZhbHVlID8gJ2dyYWInIDogJ2RlZmF1bHQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy50aHlBdXRvUGxheSB8fCAhdGhpcy50aHlBdXRvUGxheUludGVydmFsKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2NoZWR1bGVkVHJhbnNpdGlvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zY2hlZHVsZU5leHRUcmFuc2l0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2Fyb3VzZWxJdGVtcy5jaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm1hcmtDb250ZW50QWN0aXZlKDApO1xuICAgICAgICAgICAgdGhpcy5zZXRJbml0aWFsVmFsdWUoKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3dpdGNoRW5naW5lKCk7XG4gICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUoMCk7XG4gICAgICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlKCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLnRoeVRvdWNoYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXJFbCwgJ2N1cnNvcicsICdkZWZhdWx0Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMuX3RyaWdnZXIkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSwgZGVib3VuY2VUaW1lKHRoaXMucGxheVRpbWUpKS5zdWJzY3JpYmUoaW5kZXggPT4ge1xuICAgICAgICAgICAgaWYgKCFpc05hTihpbmRleCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVUbyhpbmRleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmNsZWFyU2NoZWR1bGVkVHJhbnNpdGlvbigpO1xuICAgICAgICB0aGlzLl90cmlnZ2VyJC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX3RyaWdnZXIkLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGh5LWNhcm91c2VsIHRoeS1jYXJvdXNlbC1pbml0aWFsaXplZCB0aHktY2Fyb3VzZWwtcG9pbnQtZXZlbnRzXCI+XG4gIDxkaXYgI2Nhcm91c2VsV3JhcHBlciBjbGFzcz1cInRoeS1jYXJvdXNlbC13cmFwcGVyXCIgKG1vdXNlZG93bik9XCJvbkRyYWcoJGV2ZW50KVwiICh0b3VjaHN0YXJ0KT1cIm9uRHJhZygkZXZlbnQpXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRoeUNvbnRyb2xzICYmIGNhcm91c2VsSXRlbXMubGVuZ3RoID4gMVwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0aHktY2Fyb3VzZWwtY29udHJvbC1wcmUtd3JhcHBlclwiIChjbGljayk9XCJwcmUoKVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRoeUNvbnRyb2xQcmV2IHx8IGRlZmF1bHRDb250cm9sUHJldlwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0aHktY2Fyb3VzZWwtY29udHJvbC1uZXh0LXdyYXBwZXJcIiAoY2xpY2spPVwibmV4dCgpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGh5Q29udHJvbE5leHQgfHwgZGVmYXVsdENvbnRyb2xOZXh0XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidGh5SW5kaWNhdG9yc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ0aHktY2Fyb3VzZWwtaW5kaWNhdG9yc1wiPlxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nRm9yPVwibGV0IGNvbnRlbnQgb2YgY2Fyb3VzZWxJdGVtczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIGNsYXNzPVwidGh5LWNhcm91c2VsLWluZGljYXRvclwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cImluZGljYXRvckhhbmRsZVRyaWdnZXIoaSlcIlxuICAgICAgICAobW91c2VsZWF2ZSk9XCJpbmRpY2F0b3JIYW5kbGVMZWF2ZSgpXCJcbiAgICAgICAgKGNsaWNrKT1cImluZGljYXRvckhhbmRsZUNsaWNrKGkpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGh5SW5kaWNhdG9yUmVuZGVyIHx8IGRlZmF1bHRJbmRpY2F0b3JSZW5kZXJcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaSA9PT0gYWN0aXZlSW5kZXggfVwiXG4gICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRJbmRpY2F0b3JSZW5kZXIgbGV0LWFjdGl2ZT5cbiAgPHRoeS1kb3QgdGh5Q29sb3I9XCIjZmZmXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVcIj48L3RoeS1kb3Q+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRDb250cm9sUHJldj5cbiAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sIHRoeS1jYXJvdXNlbC1jb250cm9sLXByZVwiPlxuICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImFuZ2xlLWxlZnQtYm9sZFwiPjwvdGh5LWljb24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0Q29udHJvbE5leHQ+XG4gIDxkaXYgY2xhc3M9XCJ0aHktY2Fyb3VzZWwtY29udHJvbCB0aHktY2Fyb3VzZWwtY29udHJvbC1uZXh0XCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYW5nbGUtcmlnaHQtYm9sZFwiPjwvdGh5LWljb24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
291
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2Nhcm91c2VsL2Nhcm91c2VsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9jYXJvdXNlbC9jYXJvdXNlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxXQUFXLEVBQ1gsaUJBQWlCLEVBSWpCLE1BQU0sRUFFTixnQkFBZ0IsRUFDaEIsZUFBZSxFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFTckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRWhFOzs7R0FHRztBQWFILE1BQU0sT0FBTyxXQUFXO0lBdUdwQixZQUNj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QUFXO2tCQVp2QixTQUFTOytCQUNJLGNBQWMsbUJBRVAsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSx1QkFDaEIsS0FBSyxRQUNwQjt3QkFDRixLQUFLLEVBQUUsY0FBYztxQkFDeEIsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUM7MkxBTWQsYUFBYTtzQkFBdkQsZUFBZTt1QkFBQyx3QkFBd0I7Z0JBS08sZUFBZTtzQkFBOUQsU0FBUzt1QkFBQyxpQkFBaUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBS04sV0FBVztzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLQyxtQkFBbUI7c0JBQXpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQU01QixTQUFTO3NCQUFqQixLQUFLO2dCQUtrQyxhQUFhO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUs3QixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBS2tDLFdBQVc7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSzdCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFLa0MsWUFBWTtzQkFBbkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFNN0IsVUFBVTtzQkFBbEIsS0FBSztnQkFNRyxRQUFRO3NCQUFoQixLQUFLO2dCQUthLGVBQWU7c0JBQWpDLE1BQU07Z0JBS1ksY0FBYztzQkFBaEMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgbnVtYmVyQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgVGh5Q2Fyb3VzZWxJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9jYXJvdXNlbC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICAgIFRoeUNhcm91c2VsRW5naW5lLFxuICAgIFRoeURpc3RhbmNlVmVjdG9yLFxuICAgIFRoeUNhcm91c2VsU3dpdGNoRGF0YSxcbiAgICBUaHlDYXJvdXNlbEVmZmVjdCxcbiAgICBUaHlDYXJvdXNlbFRyaWdnZXIsXG4gICAgVGh5Q2Fyb3VzZWxQYXVzZVxufSBmcm9tICcuL3R5cGluZ3MnO1xuaW1wb3J0IHsgVGh5Q2Fyb3VzZWxTbGlkZUVuZ2luZSwgVGh5Q2Fyb3VzZWxOb29wRW5naW5lLCBUaHlDYXJvdXNlbEZhZGVFbmdpbmUgfSBmcm9tICcuL2VuZ2luZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGh5Q2Fyb3VzZWxTZXJ2aWNlIH0gZnJvbSAnLi9jYXJvdXNlbC5zZXJ2aWNlJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5RG90IH0gZnJvbSAnbmd4LXRldGh5cy9kb3QnO1xuaW1wb3J0IHsgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIOi1sOmprOeBr+e7hOS7tlxuICogQG5hbWUgdGh5LWNhcm91c2VsXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWNhcm91c2VsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1jYXJvdXNlbCdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIE5nVGVtcGxhdGVPdXRsZXQsIE5nRm9yLCBUaHlEb3QsIFRoeUljb25dXG59KVxuZXhwb3J0IGNsYXNzIFRoeUNhcm91c2VsIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKFRoeUNhcm91c2VsSXRlbURpcmVjdGl2ZSkgY2Fyb3VzZWxJdGVtcyE6IFF1ZXJ5TGlzdDxUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKCdjYXJvdXNlbFdyYXBwZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBjYXJvdXNlbFdyYXBwZXI6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm6Ieq5Yqo5YiH5o2i77yM6buY6K6kIGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRoeUF1dG9QbGF5OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDoh6rliqjliIfmjaLml7bpl7Tpl7TpmpQo5q+r56eSKVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHRoeUF1dG9QbGF5SW50ZXJ2YWw6IG51bWJlciA9IDMwMDA7XG5cbiAgICAvKipcbiAgICAgKiDliIfmjaLliqjnlLvmoLflvI9cbiAgICAgKiBAdHlwZSBzbGlkZSB8IGZhZGUgfCBub29wXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5RWZmZWN0OiBUaHlDYXJvdXNlbEVmZmVjdCA9ICdzbGlkZSc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmmL7npLrliIfmjaLmjIfnpLrlmahcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGh5SW5kaWNhdG9ycyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDmjIfnpLrlmaggSXRlbSDnmoTmuLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlJbmRpY2F0b3JSZW5kZXI/OiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogYm9vbGVhbiB9PjtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuuW3puWPs+WIh+aNolxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB0aHlDb250cm9scyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDkuIrkuIDkuKrmjqfliLblmajmuLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlDb250cm9sUHJldj86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDkuIvkuIDkuKrmjqfliLblmajmuLLmn5PmqKHmnb9cbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlDb250cm9sTmV4dD86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbmlK/mjIHmiYvlir/mu5HliqhcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGh5VG91Y2hhYmxlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIOaMh+ekuueCueWIh+aNoueahOinpuWPkeadoeS7tlxuICAgICAqIEB0eXBlIGNsaWNrIHwgaG92ZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlUcmlnZ2VyOiBUaHlDYXJvdXNlbFRyaWdnZXIgPSAnY2xpY2snO1xuXG4gICAgLyoqXG4gICAgICog6byg5qCH56e75Yqo5Yiw5oyH56S65Zmo5pe25piv5ZCm5pqC5YGc5pKt5pS+XG4gICAgICogQHR5cGUgZmFsc2UgfCBob3ZlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVBhdXNlOiBUaHlDYXJvdXNlbFBhdXNlID0gJ2hvdmVyJztcblxuICAgIC8qKlxuICAgICAqIOinpuWPkeWIh+aNouW4p+S5i+WJje+8jOi/lOWbniBge2Zyb206IG51bWJlciwgdG86IG51bWJlcn1gXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeUJlZm9yZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8VGh5Q2Fyb3VzZWxTd2l0Y2hEYXRhPigpO1xuXG4gICAgLyoqXG4gICAgICog5YiH5o2i5bin5LmL5ZCO55qE5Zue6LCD77yM6L+U5Zue5b2T5YmN5bin57Si5byVXG4gICAgICovXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IHRoeUFmdGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBwcml2YXRlIGlzRHJhZ2dpbmcgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgaXNUcmFuc2l0aW9uaW5nID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHBvaW50ZXJWZWN0b3I6IFRoeURpc3RhbmNlVmVjdG9yID0geyB4OiAwLCB5OiAwIH07XG5cbiAgICBwcml2YXRlIGVuZ2luZTogVGh5Q2Fyb3VzZWxFbmdpbmU7XG5cbiAgICBwcml2YXRlIF90cmlnZ2VyJCA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcblxuICAgIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHdyYXBwZXJEb21SZWN0OiBET01SZWN0O1xuXG4gICAgYWN0aXZlSW5kZXggPSAwO1xuXG4gICAgd3JhcHBlckVsOiBIVE1MRWxlbWVudDtcblxuICAgIHRyYW5zaXRpb25UaW1lcjogYW55ID0gbnVsbDtcblxuICAgIHBsYXlUaW1lOiBudW1iZXIgPSA0MDA7XG5cbiAgICBpc1BhdXNlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjYXJvdXNlbFNlcnZpY2U6IFRoeUNhcm91c2VsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybTogUGxhdGZvcm1cbiAgICApIHt9XG5cbiAgICBwcml2YXRlIG1vdmVUbyhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNhcm91c2VsSXRlbXMgJiYgdGhpcy5jYXJvdXNlbEl0ZW1zLmxlbmd0aCAmJiAhdGhpcy5pc1RyYW5zaXRpb25pbmcpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0SW5pdGlhbFZhbHVlKCk7XG4gICAgICAgICAgICBjb25zdCBsZW4gPSB0aGlzLmNhcm91c2VsSXRlbXMubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3QgZnJvbSA9IHRoaXMuYWN0aXZlSW5kZXg7XG4gICAgICAgICAgICBjb25zdCB0byA9IChpbmRleCArIGxlbikgJSBsZW47XG4gICAgICAgICAgICB0aGlzLnRoeUJlZm9yZUNoYW5nZS5lbWl0KHsgZnJvbSwgdG8gfSk7XG4gICAgICAgICAgICB0aGlzLmlzVHJhbnNpdGlvbmluZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmVuZ2luZT8uc3dpdGNoKGluZGV4LCB0aGlzLmFjdGl2ZUluZGV4KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gdG87XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUodGhpcy5hY3RpdmVJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVOZXh0VHJhbnNpdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRoeUFmdGVyQ2hhbmdlLmVtaXQodGhpcy5hY3RpdmVJbmRleCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7fSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNUcmFuc2l0aW9uaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzd2l0Y2hFbmdpbmUoKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50aHlFZmZlY3QpIHtcbiAgICAgICAgICAgIGNhc2UgJ3NsaWRlJzpcbiAgICAgICAgICAgICAgICB0aGlzLmVuZ2luZSA9IG5ldyBUaHlDYXJvdXNlbFNsaWRlRW5naW5lKHRoaXMsIHRoaXMuY2RyLCB0aGlzLnJlbmRlcmVyLCB0aGlzLnBsYXRmb3JtKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2ZhZGUnOlxuICAgICAgICAgICAgICAgIHRoaXMuZW5naW5lID0gbmV3IFRoeUNhcm91c2VsRmFkZUVuZ2luZSh0aGlzLCB0aGlzLmNkciwgdGhpcy5yZW5kZXJlciwgdGhpcy5wbGF0Zm9ybSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHRoaXMuZW5naW5lID0gbmV3IFRoeUNhcm91c2VsTm9vcEVuZ2luZSh0aGlzLCB0aGlzLmNkciwgdGhpcy5yZW5kZXJlciwgdGhpcy5wbGF0Zm9ybSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG1hcmtDb250ZW50QWN0aXZlKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmNhcm91c2VsSXRlbXMuZm9yRWFjaCgoY2Fyb3VzZWxDb250ZW50OiBUaHlDYXJvdXNlbEl0ZW1EaXJlY3RpdmUsIGk6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY2Fyb3VzZWxDb250ZW50LmlzQWN0aXZlID0gaW5kZXggPT09IGk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbml0aWFsVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmVuZ2luZSkge1xuICAgICAgICAgICAgdGhpcy5lbmdpbmUuaW5pdGlhbGl6ZUNhcm91c2VsQ29udGVudHModGhpcy5jYXJvdXNlbEl0ZW1zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2NoZWR1bGVOZXh0VHJhbnNpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGVhclNjaGVkdWxlZFRyYW5zaXRpb24oKTtcbiAgICAgICAgaWYgKHRoaXMudGh5QXV0b1BsYXkgJiYgIXRoaXMuaXNQYXVzZSkge1xuICAgICAgICAgICAgdGhpcy50cmFuc2l0aW9uVGltZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vdmVUbyh0aGlzLmFjdGl2ZUluZGV4ICsgMSk7XG4gICAgICAgICAgICB9LCB0aGlzLnRoeUF1dG9QbGF5SW50ZXJ2YWwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhclNjaGVkdWxlZFRyYW5zaXRpb24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRyYW5zaXRpb25UaW1lcikge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudHJhbnNpdGlvblRpbWVyKTtcbiAgICAgICAgICAgIHRoaXMudHJhbnNpdGlvblRpbWVyID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRHJhZyhldmVudDogVG91Y2hFdmVudCB8IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzRHJhZ2dpbmcgJiYgIXRoaXMuaXNUcmFuc2l0aW9uaW5nICYmIHRoaXMudGh5VG91Y2hhYmxlKSB7XG4gICAgICAgICAgICBjb25zdCBtb3VzZURvd25UaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgICAgICBsZXQgbW91c2VVcFRpbWU6IG51bWJlcjtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgICAgICB0aGlzLndyYXBwZXJEb21SZWN0ID0gdGhpcy53cmFwcGVyRWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICB0aGlzLmNhcm91c2VsU2VydmljZS5yZWdpc3RlckRyYWcoZXZlbnQpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICBwb2ludGVyVmVjdG9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXJFbCwgJ2N1cnNvcicsICdncmFiYmluZycpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvaW50ZXJWZWN0b3IgPSBwb2ludGVyVmVjdG9yO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmcgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVuZ2luZT8uZHJhZ2dpbmcodGhpcy5wb2ludGVyVmVjdG9yLCB0aGlzLndyYXBwZXJEb21SZWN0KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICgpID0+IHt9LFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNEcmFnZ2luZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW91c2VVcFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGhvbGREb3duVGltZSA9IG1vdXNlVXBUaW1lIC0gbW91c2VEb3duVGltZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZhc3QgZW5vdWdoIHRvIHN3aXRjaCB0byB0aGUgbmV4dCBmcmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb3JcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBwb2ludGVyVmVjdG9yIGlzIG1vcmUgdGhhbiBvbmUgdGhpcmQgc3dpdGNoIHRvIHRoZSBuZXh0IGZyYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF0aC5hYnModGhpcy5wb2ludGVyVmVjdG9yLngpID4gdGhpcy53cmFwcGVyRG9tUmVjdC53aWR0aCAvIDMgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXRoLmFicyh0aGlzLnBvaW50ZXJWZWN0b3IueCkgLyBob2xkRG93blRpbWUgPj0gMVxuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5wb2ludGVyVmVjdG9yLnggPiAwID8gdGhpcy5hY3RpdmVJbmRleCAtIDEgOiB0aGlzLmFjdGl2ZUluZGV4ICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW92ZVRvKHRoaXMuYWN0aXZlSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNEcmFnZ2luZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlckVsLCAnY3Vyc29yJywgJ2dyYWInKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5kaWNhdG9ySGFuZGxlQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aHlUcmlnZ2VyID09PSAnY2xpY2snKSB7XG4gICAgICAgICAgICB0aGlzLm1vdmVUbyhpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbmRpY2F0b3JIYW5kbGVUcmlnZ2VyKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGh5UGF1c2UgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIHRoaXMuaXNQYXVzZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU2NoZWR1bGVkVHJhbnNpdGlvbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnRoeVRyaWdnZXIgPT09ICdob3ZlcicpIHtcbiAgICAgICAgICAgIHRoaXMuX3RyaWdnZXIkLm5leHQoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5kaWNhdG9ySGFuZGxlTGVhdmUoKSB7XG4gICAgICAgIGlmICh0aGlzLnRoeVBhdXNlID09PSAnaG92ZXInKSB7XG4gICAgICAgICAgICB0aGlzLmlzUGF1c2UgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuc2NoZWR1bGVOZXh0VHJhbnNpdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmV4dCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5hY3RpdmVJbmRleCArIDEpO1xuICAgIH1cblxuICAgIHByZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tb3ZlVG8odGhpcy5hY3RpdmVJbmRleCAtIDEpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyYXBwZXJFbCA9IHRoaXMuY2Fyb3VzZWxXcmFwcGVyIS5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMTAwKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbmdpbmU/LmNvcnJlY3Rpb25PZmZzZXQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgY29uc3QgeyB0aHlFZmZlY3QsIHRoeVRvdWNoYWJsZSB9ID0gY2hhbmdlcztcbiAgICAgICAgaWYgKHRoeUVmZmVjdCAmJiAhdGh5RWZmZWN0LmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5zd2l0Y2hFbmdpbmUoKTtcbiAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUoMCk7XG4gICAgICAgICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoeVRvdWNoYWJsZSAmJiAhdGh5VG91Y2hhYmxlLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXJFbCwgJ2N1cnNvcicsIHRoeVRvdWNoYWJsZS5jdXJyZW50VmFsdWUgPyAnZ3JhYicgOiAnZGVmYXVsdCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLnRoeUF1dG9QbGF5IHx8ICF0aGlzLnRoeUF1dG9QbGF5SW50ZXJ2YWwpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNjaGVkdWxlTmV4dFRyYW5zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXJvdXNlbEl0ZW1zLmNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubWFya0NvbnRlbnRBY3RpdmUoMCk7XG4gICAgICAgICAgICB0aGlzLnNldEluaXRpYWxWYWx1ZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zd2l0Y2hFbmdpbmUoKTtcbiAgICAgICAgdGhpcy5tYXJrQ29udGVudEFjdGl2ZSgwKTtcbiAgICAgICAgdGhpcy5zZXRJbml0aWFsVmFsdWUoKTtcblxuICAgICAgICBpZiAoIXRoaXMudGh5VG91Y2hhYmxlKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlckVsLCAnY3Vyc29yJywgJ2RlZmF1bHQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5fdHJpZ2dlciQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUodGhpcy5wbGF5VGltZSkpLnN1YnNjcmliZShpbmRleCA9PiB7XG4gICAgICAgICAgICBpZiAoIWlzTmFOKGluZGV4KSkge1xuICAgICAgICAgICAgICAgIHRoaXMubW92ZVRvKGluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuY2xlYXJTY2hlZHVsZWRUcmFuc2l0aW9uKCk7XG4gICAgICAgIHRoaXMuX3RyaWdnZXIkLm5leHQoKTtcbiAgICAgICAgdGhpcy5fdHJpZ2dlciQuY29tcGxldGUoKTtcbiAgICAgICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktY2Fyb3VzZWwgdGh5LWNhcm91c2VsLWluaXRpYWxpemVkIHRoeS1jYXJvdXNlbC1wb2ludC1ldmVudHNcIj5cbiAgPGRpdiAjY2Fyb3VzZWxXcmFwcGVyIGNsYXNzPVwidGh5LWNhcm91c2VsLXdyYXBwZXJcIiAobW91c2Vkb3duKT1cIm9uRHJhZygkZXZlbnQpXCIgKHRvdWNoc3RhcnQpPVwib25EcmFnKCRldmVudClcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidGh5Q29udHJvbHMgJiYgY2Fyb3VzZWxJdGVtcy5sZW5ndGggPiAxXCI+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sLXByZS13cmFwcGVyXCIgKGNsaWNrKT1cInByZSgpXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGh5Q29udHJvbFByZXYgfHwgZGVmYXVsdENvbnRyb2xQcmV2XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sLW5leHQtd3JhcHBlclwiIChjbGljayk9XCJuZXh0KClcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0aHlDb250cm9sTmV4dCB8fCBkZWZhdWx0Q29udHJvbE5leHRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0aHlJbmRpY2F0b3JzXCI+XG4gICAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1pbmRpY2F0b3JzXCI+XG4gICAgICA8c3BhblxuICAgICAgICAqbmdGb3I9XCJsZXQgY29udGVudCBvZiBjYXJvdXNlbEl0ZW1zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgY2xhc3M9XCJ0aHktY2Fyb3VzZWwtaW5kaWNhdG9yXCJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwiaW5kaWNhdG9ySGFuZGxlVHJpZ2dlcihpKVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cImluZGljYXRvckhhbmRsZUxlYXZlKClcIlxuICAgICAgICAoY2xpY2spPVwiaW5kaWNhdG9ySGFuZGxlQ2xpY2soaSlcIlxuICAgICAgPlxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0aHlJbmRpY2F0b3JSZW5kZXIgfHwgZGVmYXVsdEluZGljYXRvclJlbmRlclwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpID09PSBhY3RpdmVJbmRleCB9XCJcbiAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEluZGljYXRvclJlbmRlciBsZXQtYWN0aXZlPlxuICA8dGh5LWRvdCB0aHlDb2xvcj1cIiNmZmZcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZVwiPjwvdGh5LWRvdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdENvbnRyb2xQcmV2PlxuICA8ZGl2IGNsYXNzPVwidGh5LWNhcm91c2VsLWNvbnRyb2wgdGh5LWNhcm91c2VsLWNvbnRyb2wtcHJlXCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYW5nbGUtbGVmdC1ib2xkXCI+PC90aHktaWNvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRDb250cm9sTmV4dD5cbiAgPGRpdiBjbGFzcz1cInRoeS1jYXJvdXNlbC1jb250cm9sIHRoeS1jYXJvdXNlbC1jb250cm9sLW5leHRcIj5cbiAgICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJhbmdsZS1yaWdodC1ib2xkXCI+PC90aHktaWNvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19