@ng-nest/ui 17.0.10 → 17.0.12

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 (488) hide show
  1. package/base-form/base-form.property.d.ts +1 -5
  2. package/esm2022/affix/affix.component.mjs +4 -4
  3. package/esm2022/affix/affix.module.mjs +5 -5
  4. package/esm2022/affix/affix.property.mjs +4 -4
  5. package/esm2022/alert/alert.component.mjs +4 -4
  6. package/esm2022/alert/alert.module.mjs +5 -5
  7. package/esm2022/alert/alert.property.mjs +4 -4
  8. package/esm2022/anchor/anchor-inner.component.mjs +4 -4
  9. package/esm2022/anchor/anchor.component.mjs +4 -4
  10. package/esm2022/anchor/anchor.module.mjs +5 -5
  11. package/esm2022/anchor/anchor.property.mjs +7 -7
  12. package/esm2022/api/api.component.mjs +4 -4
  13. package/esm2022/api/api.module.mjs +5 -5
  14. package/esm2022/auto-complete/auto-complete-portal.component.mjs +4 -4
  15. package/esm2022/auto-complete/auto-complete.component.mjs +4 -4
  16. package/esm2022/auto-complete/auto-complete.module.mjs +5 -5
  17. package/esm2022/auto-complete/auto-complete.property.mjs +4 -4
  18. package/esm2022/avatar/avatar-group.component.mjs +4 -4
  19. package/esm2022/avatar/avatar.component.mjs +4 -4
  20. package/esm2022/avatar/avatar.module.mjs +5 -5
  21. package/esm2022/avatar/avatar.property.mjs +7 -7
  22. package/esm2022/back-top/back-top.component.mjs +4 -4
  23. package/esm2022/back-top/back-top.module.mjs +5 -5
  24. package/esm2022/back-top/back-top.property.mjs +4 -4
  25. package/esm2022/badge/badge.component.mjs +4 -4
  26. package/esm2022/badge/badge.module.mjs +5 -5
  27. package/esm2022/badge/badge.property.mjs +4 -4
  28. package/esm2022/base-form/base-form.component.mjs +4 -4
  29. package/esm2022/base-form/base-form.module.mjs +5 -5
  30. package/esm2022/base-form/base-form.property.mjs +4 -10
  31. package/esm2022/border/border.component.mjs +4 -4
  32. package/esm2022/border/border.module.mjs +5 -5
  33. package/esm2022/button/button.component.mjs +4 -4
  34. package/esm2022/button/button.module.mjs +5 -5
  35. package/esm2022/button/button.property.mjs +7 -7
  36. package/esm2022/button/buttons.component.mjs +4 -4
  37. package/esm2022/calendar/calendar.component.mjs +4 -4
  38. package/esm2022/calendar/calendar.module.mjs +5 -5
  39. package/esm2022/calendar/calendar.property.mjs +4 -4
  40. package/esm2022/card/card.component.mjs +4 -4
  41. package/esm2022/card/card.module.mjs +5 -5
  42. package/esm2022/card/card.property.mjs +4 -4
  43. package/esm2022/carousel/carousel-panel.component.mjs +4 -4
  44. package/esm2022/carousel/carousel.component.mjs +4 -4
  45. package/esm2022/carousel/carousel.module.mjs +5 -5
  46. package/esm2022/carousel/carousel.property.mjs +7 -7
  47. package/esm2022/cascade/cascade-portal.component.mjs +4 -4
  48. package/esm2022/cascade/cascade.component.mjs +4 -4
  49. package/esm2022/cascade/cascade.module.mjs +5 -5
  50. package/esm2022/cascade/cascade.property.mjs +4 -4
  51. package/esm2022/checkbox/checkbox.component.mjs +4 -4
  52. package/esm2022/checkbox/checkbox.module.mjs +5 -5
  53. package/esm2022/checkbox/checkbox.property.mjs +4 -4
  54. package/esm2022/collapse/collapse-panel.component.mjs +4 -4
  55. package/esm2022/collapse/collapse.component.mjs +4 -4
  56. package/esm2022/collapse/collapse.module.mjs +5 -5
  57. package/esm2022/collapse/collapse.property.mjs +7 -7
  58. package/esm2022/color/color.component.mjs +4 -4
  59. package/esm2022/color/color.module.mjs +5 -5
  60. package/esm2022/color/color.property.mjs +4 -4
  61. package/esm2022/color-picker/color-picker-portal.component.mjs +4 -4
  62. package/esm2022/color-picker/color-picker.component.mjs +4 -4
  63. package/esm2022/color-picker/color-picker.module.mjs +5 -5
  64. package/esm2022/color-picker/color-picker.property.mjs +4 -4
  65. package/esm2022/comment/comment-reply.component.mjs +4 -4
  66. package/esm2022/comment/comment.component.mjs +4 -4
  67. package/esm2022/comment/comment.module.mjs +5 -5
  68. package/esm2022/comment/comment.property.mjs +7 -7
  69. package/esm2022/container/aside.component.mjs +4 -4
  70. package/esm2022/container/container.component.mjs +4 -4
  71. package/esm2022/container/container.module.mjs +5 -5
  72. package/esm2022/container/container.property.mjs +13 -13
  73. package/esm2022/container/footer.component.mjs +4 -4
  74. package/esm2022/container/header.component.mjs +4 -4
  75. package/esm2022/container/main.component.mjs +4 -4
  76. package/esm2022/core/config/config.service.mjs +4 -4
  77. package/esm2022/core/services/http.service.mjs +4 -4
  78. package/esm2022/core/services/preloading-strategy.service.mjs +4 -4
  79. package/esm2022/core/services/storage.service.mjs +4 -4
  80. package/esm2022/core/theme/theme.service.mjs +4 -4
  81. package/esm2022/crumb/crumb.component.mjs +4 -4
  82. package/esm2022/crumb/crumb.module.mjs +5 -5
  83. package/esm2022/crumb/crumb.property.mjs +4 -4
  84. package/esm2022/date-picker/date-picker-portal.component.mjs +4 -4
  85. package/esm2022/date-picker/date-picker.component.mjs +4 -4
  86. package/esm2022/date-picker/date-picker.module.mjs +5 -5
  87. package/esm2022/date-picker/date-picker.property.mjs +19 -19
  88. package/esm2022/date-picker/date-quarter.pipe.mjs +4 -4
  89. package/esm2022/date-picker/date-range-portal.component.mjs +4 -4
  90. package/esm2022/date-picker/date-range.component.mjs +4 -4
  91. package/esm2022/date-picker/picker-date.component.mjs +4 -4
  92. package/esm2022/date-picker/picker-month.component.mjs +4 -4
  93. package/esm2022/date-picker/picker-quarter.component.mjs +4 -4
  94. package/esm2022/date-picker/picker-year.component.mjs +4 -4
  95. package/esm2022/description/description-item.component.mjs +4 -4
  96. package/esm2022/description/description.component.mjs +4 -4
  97. package/esm2022/description/description.module.mjs +5 -5
  98. package/esm2022/description/description.property.mjs +7 -7
  99. package/esm2022/dialog/dialog-container.component.mjs +4 -4
  100. package/esm2022/dialog/dialog-portal.component.mjs +4 -4
  101. package/esm2022/dialog/dialog-portal.directives.mjs +19 -19
  102. package/esm2022/dialog/dialog.component.mjs +4 -4
  103. package/esm2022/dialog/dialog.module.mjs +5 -5
  104. package/esm2022/dialog/dialog.property.mjs +7 -7
  105. package/esm2022/dialog/dialog.service.mjs +4 -4
  106. package/esm2022/doc/doc.component.mjs +4 -4
  107. package/esm2022/doc/doc.module.mjs +5 -5
  108. package/esm2022/drag/drag.directive.mjs +4 -4
  109. package/esm2022/drag/drag.module.mjs +5 -5
  110. package/esm2022/drag/drag.property.mjs +4 -4
  111. package/esm2022/drawer/drawer-container.component.mjs +4 -4
  112. package/esm2022/drawer/drawer-portal.component.mjs +4 -4
  113. package/esm2022/drawer/drawer-portal.directives.mjs +10 -10
  114. package/esm2022/drawer/drawer.component.mjs +4 -4
  115. package/esm2022/drawer/drawer.module.mjs +5 -5
  116. package/esm2022/drawer/drawer.property.mjs +7 -7
  117. package/esm2022/drawer/drawer.service.mjs +4 -4
  118. package/esm2022/dropdown/dropdown-portal.component.mjs +4 -4
  119. package/esm2022/dropdown/dropdown.component.mjs +4 -4
  120. package/esm2022/dropdown/dropdown.module.mjs +5 -5
  121. package/esm2022/dropdown/dropdown.property.mjs +4 -4
  122. package/esm2022/empty/empty.component.mjs +4 -4
  123. package/esm2022/empty/empty.module.mjs +5 -5
  124. package/esm2022/empty/empty.property.mjs +4 -4
  125. package/esm2022/examples/examples.component.mjs +4 -4
  126. package/esm2022/examples/examples.module.mjs +5 -5
  127. package/esm2022/find/find.component.mjs +4 -4
  128. package/esm2022/find/find.module.mjs +5 -5
  129. package/esm2022/find/find.property.mjs +4 -4
  130. package/esm2022/form/control.component.mjs +4 -4
  131. package/esm2022/form/form.component.mjs +4 -4
  132. package/esm2022/form/form.module.mjs +5 -5
  133. package/esm2022/form/form.property.mjs +7 -7
  134. package/esm2022/highlight/highlight.component.mjs +4 -4
  135. package/esm2022/highlight/highlight.module.mjs +5 -5
  136. package/esm2022/highlight/highlight.property.mjs +4 -4
  137. package/esm2022/i18n/i18n.directive.mjs +4 -4
  138. package/esm2022/i18n/i18n.module.mjs +5 -5
  139. package/esm2022/i18n/i18n.pipe.mjs +4 -4
  140. package/esm2022/i18n/i18n.service.mjs +4 -4
  141. package/esm2022/icon/icon.component.mjs +4 -4
  142. package/esm2022/icon/icon.module.mjs +5 -5
  143. package/esm2022/icon/icon.property.mjs +4 -4
  144. package/esm2022/icon/icon.service.mjs +4 -4
  145. package/esm2022/image/image-group.component.mjs +4 -4
  146. package/esm2022/image/image-preview.component.mjs +4 -4
  147. package/esm2022/image/image.component.mjs +4 -4
  148. package/esm2022/image/image.module.mjs +5 -5
  149. package/esm2022/image/image.property.mjs +7 -7
  150. package/esm2022/inner/inner.component.mjs +4 -4
  151. package/esm2022/inner/inner.module.mjs +5 -5
  152. package/esm2022/inner/inner.property.mjs +4 -4
  153. package/esm2022/input/input-group.component.mjs +4 -4
  154. package/esm2022/input/input.component.mjs +4 -4
  155. package/esm2022/input/input.module.mjs +5 -5
  156. package/esm2022/input/input.property.mjs +7 -7
  157. package/esm2022/input-number/input-number.component.mjs +4 -4
  158. package/esm2022/input-number/input-number.module.mjs +5 -5
  159. package/esm2022/input-number/input-number.property.mjs +4 -4
  160. package/esm2022/keyword/keyword.directive.mjs +4 -4
  161. package/esm2022/keyword/keyword.module.mjs +5 -5
  162. package/esm2022/keyword/keyword.property.mjs +4 -4
  163. package/esm2022/layout/col.component.mjs +4 -4
  164. package/esm2022/layout/layout.module.mjs +5 -5
  165. package/esm2022/layout/layout.property.mjs +7 -7
  166. package/esm2022/layout/row.component.mjs +4 -4
  167. package/esm2022/link/link.component.mjs +4 -4
  168. package/esm2022/link/link.module.mjs +5 -5
  169. package/esm2022/link/link.property.mjs +4 -4
  170. package/esm2022/list/list-drop-group.directive.mjs +4 -4
  171. package/esm2022/list/list-option.component.mjs +4 -4
  172. package/esm2022/list/list.component.mjs +4 -4
  173. package/esm2022/list/list.module.mjs +5 -5
  174. package/esm2022/list/list.property.mjs +7 -7
  175. package/esm2022/loading/loading.component.mjs +4 -4
  176. package/esm2022/loading/loading.module.mjs +5 -5
  177. package/esm2022/loading/loading.property.mjs +4 -4
  178. package/esm2022/menu/menu-node.component.mjs +4 -4
  179. package/esm2022/menu/menu.component.mjs +4 -4
  180. package/esm2022/menu/menu.module.mjs +5 -5
  181. package/esm2022/menu/menu.property.mjs +7 -7
  182. package/esm2022/message/message.component.mjs +4 -4
  183. package/esm2022/message/message.module.mjs +5 -5
  184. package/esm2022/message/message.service.mjs +4 -4
  185. package/esm2022/message-box/message-box.component.mjs +4 -4
  186. package/esm2022/message-box/message-box.module.mjs +5 -5
  187. package/esm2022/message-box/message-box.service.mjs +4 -4
  188. package/esm2022/notification/notification.component.mjs +4 -4
  189. package/esm2022/notification/notification.module.mjs +5 -5
  190. package/esm2022/notification/notification.service.mjs +4 -4
  191. package/esm2022/outlet/outlet.directive.mjs +4 -4
  192. package/esm2022/outlet/outlet.module.mjs +5 -5
  193. package/esm2022/page-header/page-header.component.mjs +4 -4
  194. package/esm2022/page-header/page-header.module.mjs +5 -5
  195. package/esm2022/page-header/page-header.property.mjs +4 -4
  196. package/esm2022/pagination/pagination.component.mjs +4 -4
  197. package/esm2022/pagination/pagination.module.mjs +5 -5
  198. package/esm2022/pagination/pagination.property.mjs +4 -4
  199. package/esm2022/pattern/pattern.component.mjs +4 -4
  200. package/esm2022/pattern/pattern.module.mjs +5 -5
  201. package/esm2022/popconfirm/popconfirm.component.mjs +4 -4
  202. package/esm2022/popconfirm/popconfirm.module.mjs +5 -5
  203. package/esm2022/popconfirm/popconfirm.property.mjs +4 -4
  204. package/esm2022/popover/popover-portal.component.mjs +4 -4
  205. package/esm2022/popover/popover.directive.mjs +4 -4
  206. package/esm2022/popover/popover.module.mjs +5 -5
  207. package/esm2022/popover/popover.property.mjs +4 -4
  208. package/esm2022/portal/portal.module.mjs +5 -5
  209. package/esm2022/portal/portal.service.mjs +4 -4
  210. package/esm2022/progress/progress.component.mjs +4 -4
  211. package/esm2022/progress/progress.module.mjs +5 -5
  212. package/esm2022/progress/progress.property.mjs +4 -4
  213. package/esm2022/radio/radio.component.mjs +4 -4
  214. package/esm2022/radio/radio.module.mjs +5 -5
  215. package/esm2022/radio/radio.property.mjs +4 -4
  216. package/esm2022/rate/rate.component.mjs +4 -4
  217. package/esm2022/rate/rate.module.mjs +5 -5
  218. package/esm2022/rate/rate.property.mjs +4 -4
  219. package/esm2022/resizable/resizable.directive.mjs +4 -4
  220. package/esm2022/resizable/resizable.module.mjs +5 -5
  221. package/esm2022/resizable/resizable.property.mjs +4 -4
  222. package/esm2022/result/result.component.mjs +4 -4
  223. package/esm2022/result/result.module.mjs +5 -5
  224. package/esm2022/result/result.property.mjs +4 -4
  225. package/esm2022/ripple/ripple.directive.mjs +4 -4
  226. package/esm2022/ripple/ripple.module.mjs +5 -5
  227. package/esm2022/ripple/ripple.property.mjs +4 -4
  228. package/esm2022/select/select-portal.component.mjs +4 -4
  229. package/esm2022/select/select.component.mjs +5 -5
  230. package/esm2022/select/select.module.mjs +5 -5
  231. package/esm2022/select/select.property.mjs +4 -4
  232. package/esm2022/skeleton/skeleton.component.mjs +4 -4
  233. package/esm2022/skeleton/skeleton.module.mjs +5 -5
  234. package/esm2022/skeleton/skeleton.property.mjs +4 -4
  235. package/esm2022/slider/slider.component.mjs +4 -4
  236. package/esm2022/slider/slider.module.mjs +5 -5
  237. package/esm2022/slider/slider.property.mjs +4 -4
  238. package/esm2022/slider-select/slider-select.component.mjs +4 -4
  239. package/esm2022/slider-select/slider-select.module.mjs +5 -5
  240. package/esm2022/slider-select/slider-select.property.mjs +4 -4
  241. package/esm2022/statistic/countdown.component.mjs +4 -4
  242. package/esm2022/statistic/statistic.component.mjs +4 -4
  243. package/esm2022/statistic/statistic.module.mjs +5 -5
  244. package/esm2022/statistic/statistic.property.mjs +7 -7
  245. package/esm2022/steps/steps.component.mjs +4 -4
  246. package/esm2022/steps/steps.module.mjs +5 -5
  247. package/esm2022/steps/steps.property.mjs +4 -4
  248. package/esm2022/switch/switch.component.mjs +4 -4
  249. package/esm2022/switch/switch.module.mjs +5 -5
  250. package/esm2022/switch/switch.property.mjs +4 -4
  251. package/esm2022/table/table-body.component.mjs +4 -4
  252. package/esm2022/table/table-foot.component.mjs +4 -4
  253. package/esm2022/table/table-head.component.mjs +4 -4
  254. package/esm2022/table/table.component.mjs +4 -4
  255. package/esm2022/table/table.module.mjs +5 -5
  256. package/esm2022/table/table.property.mjs +13 -13
  257. package/esm2022/tabs/tab-content.component.mjs +4 -4
  258. package/esm2022/tabs/tab-link.directive.mjs +7 -7
  259. package/esm2022/tabs/tab.component.mjs +4 -4
  260. package/esm2022/tabs/tabs.component.mjs +4 -4
  261. package/esm2022/tabs/tabs.module.mjs +5 -5
  262. package/esm2022/tabs/tabs.property.mjs +7 -7
  263. package/esm2022/tag/tag.component.mjs +4 -4
  264. package/esm2022/tag/tag.module.mjs +5 -5
  265. package/esm2022/tag/tag.property.mjs +4 -4
  266. package/esm2022/text-retract/text-retract.component.mjs +4 -4
  267. package/esm2022/text-retract/text-retract.module.mjs +5 -5
  268. package/esm2022/text-retract/text-retract.property.mjs +4 -4
  269. package/esm2022/textarea/textarea.component.mjs +4 -4
  270. package/esm2022/textarea/textarea.module.mjs +5 -5
  271. package/esm2022/textarea/textarea.property.mjs +9 -4
  272. package/esm2022/theme/theme.component.mjs +4 -4
  273. package/esm2022/theme/theme.module.mjs +5 -5
  274. package/esm2022/theme/theme.property.mjs +4 -4
  275. package/esm2022/time-ago/time-ago.module.mjs +5 -5
  276. package/esm2022/time-ago/time-ago.pipe.mjs +4 -4
  277. package/esm2022/time-picker/time-picker-frame.component.mjs +4 -4
  278. package/esm2022/time-picker/time-picker-portal.component.mjs +4 -4
  279. package/esm2022/time-picker/time-picker.component.mjs +4 -4
  280. package/esm2022/time-picker/time-picker.module.mjs +5 -5
  281. package/esm2022/time-picker/time-picker.property.mjs +4 -4
  282. package/esm2022/time-range/time-range.module.mjs +5 -5
  283. package/esm2022/time-range/time-range.pipe.mjs +4 -4
  284. package/esm2022/timeline/timeline.component.mjs +4 -4
  285. package/esm2022/timeline/timeline.module.mjs +5 -5
  286. package/esm2022/timeline/timeline.property.mjs +4 -4
  287. package/esm2022/tooltip/tooltip-portal.component.mjs +4 -4
  288. package/esm2022/tooltip/tooltip.directive.mjs +4 -4
  289. package/esm2022/tooltip/tooltip.module.mjs +5 -5
  290. package/esm2022/tooltip/tooltip.property.mjs +4 -4
  291. package/esm2022/transfer/transfer.component.mjs +4 -4
  292. package/esm2022/transfer/transfer.module.mjs +5 -5
  293. package/esm2022/transfer/transfer.property.mjs +4 -4
  294. package/esm2022/tree/tree-node.component.mjs +4 -4
  295. package/esm2022/tree/tree.component.mjs +4 -4
  296. package/esm2022/tree/tree.module.mjs +5 -5
  297. package/esm2022/tree/tree.property.mjs +7 -7
  298. package/esm2022/tree/tree.service.mjs +4 -4
  299. package/esm2022/tree-file/tree-file.component.mjs +4 -4
  300. package/esm2022/tree-file/tree-file.module.mjs +5 -5
  301. package/esm2022/tree-file/tree-file.property.mjs +4 -4
  302. package/esm2022/tree-select/tree-select-portal.component.mjs +4 -4
  303. package/esm2022/tree-select/tree-select.component.mjs +5 -5
  304. package/esm2022/tree-select/tree-select.module.mjs +5 -5
  305. package/esm2022/tree-select/tree-select.property.mjs +4 -4
  306. package/esm2022/typography/typography.component.mjs +4 -4
  307. package/esm2022/typography/typography.module.mjs +5 -5
  308. package/esm2022/typography/typography.property.mjs +4 -4
  309. package/esm2022/upload/upload-portal.component.mjs +4 -4
  310. package/esm2022/upload/upload.component.mjs +4 -4
  311. package/esm2022/upload/upload.module.mjs +5 -5
  312. package/esm2022/upload/upload.property.mjs +4 -4
  313. package/fesm2022/ng-nest-ui-affix.mjs +10 -10
  314. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  315. package/fesm2022/ng-nest-ui-alert.mjs +10 -10
  316. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  317. package/fesm2022/ng-nest-ui-anchor.mjs +16 -16
  318. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  319. package/fesm2022/ng-nest-ui-api.mjs +7 -7
  320. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  321. package/fesm2022/ng-nest-ui-auto-complete.mjs +13 -13
  322. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  323. package/fesm2022/ng-nest-ui-avatar.mjs +16 -16
  324. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  325. package/fesm2022/ng-nest-ui-back-top.mjs +10 -10
  326. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  327. package/fesm2022/ng-nest-ui-badge.mjs +10 -10
  328. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  329. package/fesm2022/ng-nest-ui-base-form.mjs +10 -16
  330. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  331. package/fesm2022/ng-nest-ui-border.mjs +7 -7
  332. package/fesm2022/ng-nest-ui-border.mjs.map +1 -1
  333. package/fesm2022/ng-nest-ui-button.mjs +16 -16
  334. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  335. package/fesm2022/ng-nest-ui-calendar.mjs +10 -10
  336. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  337. package/fesm2022/ng-nest-ui-card.mjs +10 -10
  338. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  339. package/fesm2022/ng-nest-ui-carousel.mjs +16 -16
  340. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  341. package/fesm2022/ng-nest-ui-cascade.mjs +13 -13
  342. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  343. package/fesm2022/ng-nest-ui-checkbox.mjs +10 -10
  344. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  345. package/fesm2022/ng-nest-ui-collapse.mjs +16 -16
  346. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  347. package/fesm2022/ng-nest-ui-color-picker.mjs +13 -13
  348. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  349. package/fesm2022/ng-nest-ui-color.mjs +10 -10
  350. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  351. package/fesm2022/ng-nest-ui-comment.mjs +16 -16
  352. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  353. package/fesm2022/ng-nest-ui-container.mjs +31 -31
  354. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  355. package/fesm2022/ng-nest-ui-core.mjs +15 -15
  356. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  357. package/fesm2022/ng-nest-ui-crumb.mjs +10 -10
  358. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  359. package/fesm2022/ng-nest-ui-date-picker.mjs +49 -49
  360. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  361. package/fesm2022/ng-nest-ui-description.mjs +16 -16
  362. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  363. package/fesm2022/ng-nest-ui-dialog.mjs +40 -40
  364. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  365. package/fesm2022/ng-nest-ui-doc.mjs +7 -7
  366. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  367. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  368. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  369. package/fesm2022/ng-nest-ui-drawer.mjs +31 -31
  370. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  371. package/fesm2022/ng-nest-ui-dropdown.mjs +13 -13
  372. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  373. package/fesm2022/ng-nest-ui-empty.mjs +10 -10
  374. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  375. package/fesm2022/ng-nest-ui-examples.mjs +7 -7
  376. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  377. package/fesm2022/ng-nest-ui-find.mjs +10 -10
  378. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  379. package/fesm2022/ng-nest-ui-form.mjs +16 -16
  380. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  381. package/fesm2022/ng-nest-ui-highlight.mjs +10 -10
  382. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  383. package/fesm2022/ng-nest-ui-i18n.mjs +13 -13
  384. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  385. package/fesm2022/ng-nest-ui-icon.mjs +13 -13
  386. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  387. package/fesm2022/ng-nest-ui-image.mjs +19 -19
  388. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  389. package/fesm2022/ng-nest-ui-inner.mjs +10 -10
  390. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  391. package/fesm2022/ng-nest-ui-input-number.mjs +10 -10
  392. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  393. package/fesm2022/ng-nest-ui-input.mjs +16 -16
  394. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  395. package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
  396. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  397. package/fesm2022/ng-nest-ui-layout.mjs +16 -16
  398. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  399. package/fesm2022/ng-nest-ui-link.mjs +10 -10
  400. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  401. package/fesm2022/ng-nest-ui-list.mjs +19 -19
  402. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  403. package/fesm2022/ng-nest-ui-loading.mjs +10 -10
  404. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  405. package/fesm2022/ng-nest-ui-menu.mjs +16 -16
  406. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  407. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  408. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  409. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  410. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  411. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  412. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  413. package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
  414. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  415. package/fesm2022/ng-nest-ui-page-header.mjs +10 -10
  416. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  417. package/fesm2022/ng-nest-ui-pagination.mjs +10 -10
  418. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  419. package/fesm2022/ng-nest-ui-pattern.mjs +7 -7
  420. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  421. package/fesm2022/ng-nest-ui-popconfirm.mjs +10 -10
  422. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  423. package/fesm2022/ng-nest-ui-popover.mjs +13 -13
  424. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  425. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  426. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  427. package/fesm2022/ng-nest-ui-progress.mjs +10 -10
  428. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  429. package/fesm2022/ng-nest-ui-radio.mjs +10 -10
  430. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  431. package/fesm2022/ng-nest-ui-rate.mjs +10 -10
  432. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  433. package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
  434. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  435. package/fesm2022/ng-nest-ui-result.mjs +10 -10
  436. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  437. package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
  438. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  439. package/fesm2022/ng-nest-ui-select.mjs +14 -14
  440. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  441. package/fesm2022/ng-nest-ui-skeleton.mjs +10 -10
  442. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  443. package/fesm2022/ng-nest-ui-slider-select.mjs +10 -10
  444. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  445. package/fesm2022/ng-nest-ui-slider.mjs +10 -10
  446. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  447. package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
  448. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  449. package/fesm2022/ng-nest-ui-steps.mjs +10 -10
  450. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  451. package/fesm2022/ng-nest-ui-switch.mjs +10 -10
  452. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  453. package/fesm2022/ng-nest-ui-table.mjs +28 -28
  454. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  455. package/fesm2022/ng-nest-ui-tabs.mjs +25 -25
  456. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  457. package/fesm2022/ng-nest-ui-tag.mjs +10 -10
  458. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  459. package/fesm2022/ng-nest-ui-text-retract.mjs +10 -10
  460. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  461. package/fesm2022/ng-nest-ui-textarea.mjs +15 -10
  462. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  463. package/fesm2022/ng-nest-ui-theme.mjs +10 -10
  464. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  465. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  466. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  467. package/fesm2022/ng-nest-ui-time-picker.mjs +16 -16
  468. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  469. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  470. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  471. package/fesm2022/ng-nest-ui-timeline.mjs +10 -10
  472. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  473. package/fesm2022/ng-nest-ui-tooltip.mjs +13 -13
  474. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  475. package/fesm2022/ng-nest-ui-transfer.mjs +10 -10
  476. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  477. package/fesm2022/ng-nest-ui-tree-file.mjs +10 -10
  478. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  479. package/fesm2022/ng-nest-ui-tree-select.mjs +14 -14
  480. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  481. package/fesm2022/ng-nest-ui-tree.mjs +19 -19
  482. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  483. package/fesm2022/ng-nest-ui-typography.mjs +10 -10
  484. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  485. package/fesm2022/ng-nest-ui-upload.mjs +13 -13
  486. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  487. package/package.json +113 -113
  488. package/textarea/textarea.property.d.ts +6 -1
@@ -13,8 +13,8 @@ const X_CONFIG_NAME = 'link';
13
13
  * Link Property
14
14
  */
15
15
  export class XLinkProperty extends XProperty {
16
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XLinkProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
17
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: XLinkProperty, selector: "x-link-property", inputs: { href: "href", icon: "icon", underline: "underline", disabled: "disabled", iconRight: "iconRight", preventDefault: "preventDefault", type: "type", target: "target" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
16
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XLinkProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
17
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: XLinkProperty, selector: "x-link-property", inputs: { href: "href", icon: "icon", underline: "underline", disabled: "disabled", iconRight: "iconRight", preventDefault: "preventDefault", type: "type", target: "target" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
18
18
  }
19
19
  __decorate([
20
20
  XWithConfig(X_CONFIG_NAME, false),
@@ -31,7 +31,7 @@ __decorate([
31
31
  XWithConfig(X_CONFIG_NAME, false),
32
32
  XInputBoolean()
33
33
  ], XLinkProperty.prototype, "preventDefault", void 0);
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XLinkProperty, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XLinkProperty, decorators: [{
35
35
  type: Component,
36
36
  args: [{ selector: `${XLinkPrefix}-property`, template: '' }]
37
37
  }], propDecorators: { href: [{
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
51
51
  }], target: [{
52
52
  type: Input
53
53
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2xpbmsvbGluay5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQVksV0FBVyxFQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDMUYsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRWpEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO0FBQ3BDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQztBQUU3Qjs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFjLFNBQVEsU0FBUztpSUFBL0IsYUFBYTtxSEFBYixhQUFhLDhQQURrQyxFQUFFOztBQWdCVztJQUE3RCxXQUFXLENBQVcsYUFBYSxFQUFFLEtBQUssQ0FBQztJQUFFLGFBQWEsRUFBRTtnREFBc0I7QUFLbEU7SUFBaEIsYUFBYSxFQUFFOytDQUFxQjtBQUt5QjtJQUE3RCxXQUFXLENBQVcsYUFBYSxFQUFFLEtBQUssQ0FBQztJQUFFLGFBQWEsRUFBRTtnREFBc0I7QUFLckI7SUFBN0QsV0FBVyxDQUFXLGFBQWEsRUFBRSxLQUFLLENBQUM7SUFBRSxhQUFhLEVBQUU7cURBQTJCOzJGQTlCdEYsYUFBYTtrQkFEekIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLFdBQVcsV0FBVyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTXJELElBQUk7c0JBQVosS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS2lFLFNBQVM7c0JBQS9FLEtBQUs7Z0JBS29CLFFBQVE7c0JBQWpDLEtBQUs7Z0JBS2lFLFNBQVM7c0JBQS9FLEtBQUs7Z0JBS2lFLGNBQWM7c0JBQXBGLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhQcm9wZXJ0eSwgWElucHV0Qm9vbGVhbiwgWEJvb2xlYW4sIFhXaXRoQ29uZmlnLCBYVHlwZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogTGlua1xyXG4gKiBAc2VsZWN0b3IgeC1saW5rXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWExpbmtQcmVmaXggPSAneC1saW5rJztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICdsaW5rJztcclxuXHJcbi8qKlxyXG4gKiBMaW5rIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hMaW5rUHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWExpbmtQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmTvuaOpVxyXG4gICAqIEBlbl9VUyBMaW5rXHJcbiAgICovXHJcbiAgQElucHV0KCkgaHJlZj86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu+5qCHXHJcbiAgICogQGVuX1VTIEljb25cclxuICAgKi9cclxuICBASW5wdXQoKSBpY29uPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIvliJLnur9cclxuICAgKiBAZW5fVVMgVW5kZXJzY29yZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgdW5kZXJsaW5lPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqFxyXG4gICAqIEBlbl9VUyBEaXNhYmxlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgZGlzYWJsZWQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu+5qCH6Z2g5Y+z5a+56b2QXHJcbiAgICogQGVuX1VTIEljb25zIGFyZSBhbGlnbmVkIHRvIHRoZSByaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgaWNvblJpZ2h0PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmYu+atoui2hemTvuaOpeeahOm7mOiupOihjOS4ulxyXG4gICAqIEBlbl9VUyBCbG9jayB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiBoeXBlcmxpbmtzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBwcmV2ZW50RGVmYXVsdD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpk77mjqXnsbvlnotcclxuICAgKiBAZW5fVVMgTGluayB0eXBlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdHlwZT86IFhMaW5rVHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5omT5byA5pa55byPXHJcbiAgICogQGVuX1VTIE9wZW4gbWV0aG9kXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFyZ2V0Pzogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOmTvuaOpeexu+Wei1xyXG4gKiBAZW5fVVMgTGluayB0eXBlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYTGlua1R5cGUgPSBYVHlwZTtcclxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2xpbmsvbGluay5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQVksV0FBVyxFQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDMUYsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRWpEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO0FBQ3BDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQztBQUU3Qjs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFjLFNBQVEsU0FBUztrSUFBL0IsYUFBYTtzSEFBYixhQUFhLDhQQURrQyxFQUFFOztBQWdCVztJQUE3RCxXQUFXLENBQVcsYUFBYSxFQUFFLEtBQUssQ0FBQztJQUFFLGFBQWEsRUFBRTtnREFBc0I7QUFLbEU7SUFBaEIsYUFBYSxFQUFFOytDQUFxQjtBQUt5QjtJQUE3RCxXQUFXLENBQVcsYUFBYSxFQUFFLEtBQUssQ0FBQztJQUFFLGFBQWEsRUFBRTtnREFBc0I7QUFLckI7SUFBN0QsV0FBVyxDQUFXLGFBQWEsRUFBRSxLQUFLLENBQUM7SUFBRSxhQUFhLEVBQUU7cURBQTJCOzRGQTlCdEYsYUFBYTtrQkFEekIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLFdBQVcsV0FBVyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTXJELElBQUk7c0JBQVosS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS2lFLFNBQVM7c0JBQS9FLEtBQUs7Z0JBS29CLFFBQVE7c0JBQWpDLEtBQUs7Z0JBS2lFLFNBQVM7c0JBQS9FLEtBQUs7Z0JBS2lFLGNBQWM7c0JBQXBGLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFhQcm9wZXJ0eSwgWElucHV0Qm9vbGVhbiwgWEJvb2xlYW4sIFhXaXRoQ29uZmlnLCBYVHlwZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKipcclxuICogTGlua1xyXG4gKiBAc2VsZWN0b3IgeC1saW5rXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWExpbmtQcmVmaXggPSAneC1saW5rJztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICdsaW5rJztcclxuXHJcbi8qKlxyXG4gKiBMaW5rIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hMaW5rUHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWExpbmtQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmTvuaOpVxyXG4gICAqIEBlbl9VUyBMaW5rXHJcbiAgICovXHJcbiAgQElucHV0KCkgaHJlZj86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu+5qCHXHJcbiAgICogQGVuX1VTIEljb25cclxuICAgKi9cclxuICBASW5wdXQoKSBpY29uPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuIvliJLnur9cclxuICAgKiBAZW5fVVMgVW5kZXJzY29yZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgdW5kZXJsaW5lPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqFxyXG4gICAqIEBlbl9VUyBEaXNhYmxlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgZGlzYWJsZWQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu+5qCH6Z2g5Y+z5a+56b2QXHJcbiAgICogQGVuX1VTIEljb25zIGFyZSBhbGlnbmVkIHRvIHRoZSByaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIEBYSW5wdXRCb29sZWFuKCkgaWNvblJpZ2h0PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmYu+atoui2hemTvuaOpeeahOm7mOiupOihjOS4ulxyXG4gICAqIEBlbl9VUyBCbG9jayB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiBoeXBlcmxpbmtzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgQFhJbnB1dEJvb2xlYW4oKSBwcmV2ZW50RGVmYXVsdD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpk77mjqXnsbvlnotcclxuICAgKiBAZW5fVVMgTGluayB0eXBlXHJcbiAgICovXHJcbiAgQElucHV0KCkgdHlwZT86IFhMaW5rVHlwZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5omT5byA5pa55byPXHJcbiAgICogQGVuX1VTIE9wZW4gbWV0aG9kXHJcbiAgICovXHJcbiAgQElucHV0KCkgdGFyZ2V0Pzogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIOmTvuaOpeexu+Wei1xyXG4gKiBAZW5fVVMgTGluayB0eXBlXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYTGlua1R5cGUgPSBYVHlwZTtcclxuIl19
@@ -31,10 +31,10 @@ export class XListDropGroup {
31
31
  ngOnDestroy() {
32
32
  this.dropLists.clear();
33
33
  }
34
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XListDropGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.0", type: XListDropGroup, isStandalone: true, selector: "[xListDropGroup]", inputs: { disabled: ["xListDropGroupDisabled", "disabled"] }, providers: [{ provide: X_LIST_DROP_GROUP, useExisting: XListDropGroup }], ngImport: i0 }); }
34
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XListDropGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.10", type: XListDropGroup, isStandalone: true, selector: "[xListDropGroup]", inputs: { disabled: ["xListDropGroupDisabled", "disabled"] }, providers: [{ provide: X_LIST_DROP_GROUP, useExisting: XListDropGroup }], ngImport: i0 }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XListDropGroup, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XListDropGroup, decorators: [{
38
38
  type: Directive,
39
39
  args: [{
40
40
  selector: '[xListDropGroup]',
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
45
45
  type: Input,
46
46
  args: ['xListDropGroupDisabled']
47
47
  }] } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1kcm9wLWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2xpc3QvbGlzdC1kcm9wLWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpGLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQzs7QUFFNUUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQWlCLGdCQUFnQixDQUFDLENBQUM7QUFPdEYsTUFBTSxPQUFPLGNBQWM7SUFMM0I7UUFNVyxjQUFTLEdBQUcsSUFBSSxHQUFHLEVBQWUsQ0FBQztRQVNwQyxjQUFTLEdBQUcsS0FBSyxDQUFDO0tBb0IzQjtJQTNCQyxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQW1CO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUdELGNBQWM7UUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO29CQUNsQixDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3JCO3FCQUFNO29CQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDM0MsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3BDO2lCQUNGO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO2lJQTdCVSxjQUFjO3FIQUFkLGNBQWMsNkhBRmQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLENBQUM7OzJGQUU3RCxjQUFjO2tCQUwxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLGdCQUFnQixFQUFFLENBQUM7aUJBQ3pFOzhCQUtLLFFBQVE7c0JBRFgsS0FBSzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUFycmF5LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBDZGtEcm9wTGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdGlvblRva2VuLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgY29uc3QgWF9MSVNUX0RST1BfR1JPVVAgPSBuZXcgSW5qZWN0aW9uVG9rZW48WExpc3REcm9wR3JvdXA+KCdYTGlzdERyb3BHcm91cCcpO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbeExpc3REcm9wR3JvdXBdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogWF9MSVNUX0RST1BfR1JPVVAsIHVzZUV4aXN0aW5nOiBYTGlzdERyb3BHcm91cCB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWExpc3REcm9wR3JvdXAgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHJlYWRvbmx5IGRyb3BMaXN0cyA9IG5ldyBTZXQ8Q2RrRHJvcExpc3Q+KCk7XHJcblxyXG4gIEBJbnB1dCgneExpc3REcm9wR3JvdXBEaXNhYmxlZCcpXHJcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xyXG4gIH1cclxuICBzZXQgZGlzYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBzZXRDb25uZWN0ZWRUbygpIHtcclxuICAgIHRoaXMuZHJvcExpc3RzLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgdGhpcy5kcm9wTGlzdHMuZm9yRWFjaCgoeSkgPT4ge1xyXG4gICAgICAgIGlmICgheS5jb25uZWN0ZWRUbykge1xyXG4gICAgICAgICAgeS5jb25uZWN0ZWRUbyA9IFt4XTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKCFjb2VyY2VBcnJheSh5LmNvbm5lY3RlZFRvKS5pbmNsdWRlcyh4KSkge1xyXG4gICAgICAgICAgICBjb2VyY2VBcnJheSh5LmNvbm5lY3RlZFRvKS5wdXNoKHgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuZHJvcExpc3RzKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5kcm9wTGlzdHMuY2xlYXIoKTtcclxuICB9XHJcbn1cclxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1kcm9wLWdyb3VwLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2xpc3QvbGlzdC1kcm9wLWdyb3VwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXpGLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQzs7QUFFNUUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQWlCLGdCQUFnQixDQUFDLENBQUM7QUFPdEYsTUFBTSxPQUFPLGNBQWM7SUFMM0I7UUFNVyxjQUFTLEdBQUcsSUFBSSxHQUFHLEVBQWUsQ0FBQztRQVNwQyxjQUFTLEdBQUcsS0FBSyxDQUFDO0tBb0IzQjtJQTNCQyxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQW1CO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUdELGNBQWM7UUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO29CQUNsQixDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3JCO3FCQUFNO29CQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDM0MsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3BDO2lCQUNGO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO2tJQTdCVSxjQUFjO3NIQUFkLGNBQWMsNkhBRmQsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLENBQUM7OzRGQUU3RCxjQUFjO2tCQUwxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLGdCQUFnQixFQUFFLENBQUM7aUJBQ3pFOzhCQUtLLFFBQVE7c0JBRFgsS0FBSzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUFycmF5LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBDZGtEcm9wTGlzdCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEluamVjdGlvblRva2VuLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgY29uc3QgWF9MSVNUX0RST1BfR1JPVVAgPSBuZXcgSW5qZWN0aW9uVG9rZW48WExpc3REcm9wR3JvdXA+KCdYTGlzdERyb3BHcm91cCcpO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbeExpc3REcm9wR3JvdXBdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogWF9MSVNUX0RST1BfR1JPVVAsIHVzZUV4aXN0aW5nOiBYTGlzdERyb3BHcm91cCB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWExpc3REcm9wR3JvdXAgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHJlYWRvbmx5IGRyb3BMaXN0cyA9IG5ldyBTZXQ8Q2RrRHJvcExpc3Q+KCk7XHJcblxyXG4gIEBJbnB1dCgneExpc3REcm9wR3JvdXBEaXNhYmxlZCcpXHJcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xyXG4gIH1cclxuICBzZXQgZGlzYWJsZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBzZXRDb25uZWN0ZWRUbygpIHtcclxuICAgIHRoaXMuZHJvcExpc3RzLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgdGhpcy5kcm9wTGlzdHMuZm9yRWFjaCgoeSkgPT4ge1xyXG4gICAgICAgIGlmICgheS5jb25uZWN0ZWRUbykge1xyXG4gICAgICAgICAgeS5jb25uZWN0ZWRUbyA9IFt4XTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKCFjb2VyY2VBcnJheSh5LmNvbm5lY3RlZFRvKS5pbmNsdWRlcyh4KSkge1xyXG4gICAgICAgICAgICBjb2VyY2VBcnJheSh5LmNvbm5lY3RlZFRvKS5wdXNoKHgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuZHJvcExpc3RzKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5kcm9wTGlzdHMuY2xlYXIoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -41,14 +41,14 @@ export class XListOptionComponent extends XListOptionProperty {
41
41
  getLabel() {
42
42
  return this.label;
43
43
  }
44
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XListOptionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
45
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: XListOptionComponent, isStandalone: true, selector: "x-list-option", host: { properties: { "attr.role": "this.role" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"x-list-option\"\r\n [ngClass]=\"classMap\"\r\n [class.x-selected]=\"selected\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-open-portal]=\"node?.openPortal\"\r\n [class.x-active]=\"active\"\r\n [class.x-list-icon]=\"icon\"\r\n [class.x-list-divided]=\"divided\"\r\n>\r\n <div class=\"x-list-option-content\">\r\n @if (nodeTpl) {\r\n <ng-template *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-template>\r\n } @else {\r\n @if (icon) {\r\n <x-icon [type]=\"icon\"></x-icon>\r\n }\r\n <span x-keyword [text]=\"keywordText\" [caseSensitive]=\"caseSensitive\">{{ label }}</span>\r\n }\r\n </div>\r\n @if (leaf) {\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\"></x-icon>\r\n }\r\n @if (checked && !leaf && selected) {\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\"></x-icon>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list-option{display:block}.x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-list-option-content{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;display:inline-block}.x-list-option:not(:first-child){margin-top:var(--x-border-width)}.x-list-option:hover:not(.x-disabled),.x-list-option.x-active:not(.x-disabled){background-color:var(--x-background-a200)}.x-list-option.x-list-divided{margin-top:.8125rem}.x-list-option.x-list-divided:before{content:\" \";position:absolute;top:0;left:0;width:100%;margin-top:-.5rem;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-list-option.x-selected:not(.x-disabled){background-color:var(--x-background-a400);color:var(--x-primary)}.x-list-option.x-selected:not(.x-disabled)>x-icon{color:var(--x-primary)}.x-list-option.x-disabled{color:var(--x-text-500);cursor:not-allowed}.x-list-option.x-disabled:hover{background-color:inherit}.x-list-option.x-disabled>span x-icon{color:var(--x-text-500)}.x-list-option-big{padding:0 var(--x-padding-big);height:var(--x-height-big);line-height:var(--x-height-big)}.x-list-option-large{padding:0 var(--x-padding-large);height:var(--x-height-large);line-height:var(--x-height-large)}.x-list-option-medium{padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-list-option-small{padding:0 var(--x-padding-small);height:var(--x-height-small);line-height:var(--x-height-small)}.x-list-option-mini{padding:0 var(--x-padding-mini);height:var(--x-height-mini);line-height:var(--x-height-mini)}body>x-list-option{display:block}body>x-list-option.cdk-drag-preview .x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}body>x-list-option.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XKeywordDirective, selector: "[x-keyword]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
44
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XListOptionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
45
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: XListOptionComponent, isStandalone: true, selector: "x-list-option", host: { properties: { "attr.role": "this.role" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n class=\"x-list-option\"\r\n [ngClass]=\"classMap\"\r\n [class.x-selected]=\"selected\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-open-portal]=\"node?.openPortal\"\r\n [class.x-active]=\"active\"\r\n [class.x-list-icon]=\"icon\"\r\n [class.x-list-divided]=\"divided\"\r\n>\r\n <div class=\"x-list-option-content\">\r\n @if (nodeTpl) {\r\n <ng-template *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-template>\r\n } @else {\r\n @if (icon) {\r\n <x-icon [type]=\"icon\"></x-icon>\r\n }\r\n <span x-keyword [text]=\"keywordText\" [caseSensitive]=\"caseSensitive\">{{ label }}</span>\r\n }\r\n </div>\r\n @if (leaf) {\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\"></x-icon>\r\n }\r\n @if (checked && !leaf && selected) {\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\"></x-icon>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list-option{display:block}.x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-list-option-content{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;display:inline-block}.x-list-option:not(:first-child){margin-top:var(--x-border-width)}.x-list-option:hover:not(.x-disabled),.x-list-option.x-active:not(.x-disabled){background-color:var(--x-background-a200)}.x-list-option.x-list-divided{margin-top:.8125rem}.x-list-option.x-list-divided:before{content:\" \";position:absolute;top:0;left:0;width:100%;margin-top:-.5rem;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-list-option.x-selected:not(.x-disabled){background-color:var(--x-background-a400);color:var(--x-primary)}.x-list-option.x-selected:not(.x-disabled)>x-icon{color:var(--x-primary)}.x-list-option.x-disabled{color:var(--x-text-500);cursor:not-allowed}.x-list-option.x-disabled:hover{background-color:inherit}.x-list-option.x-disabled>span x-icon{color:var(--x-text-500)}.x-list-option-big{padding:0 var(--x-padding-big);height:var(--x-height-big);line-height:var(--x-height-big)}.x-list-option-large{padding:0 var(--x-padding-large);height:var(--x-height-large);line-height:var(--x-height-large)}.x-list-option-medium{padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-list-option-small{padding:0 var(--x-padding-small);height:var(--x-height-small);line-height:var(--x-height-small)}.x-list-option-mini{padding:0 var(--x-padding-mini);height:var(--x-height-mini);line-height:var(--x-height-mini)}body>x-list-option{display:block}body>x-list-option.cdk-drag-preview .x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}body>x-list-option.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XKeywordDirective, selector: "[x-keyword]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XListOptionComponent, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XListOptionComponent, decorators: [{
48
48
  type: Component,
49
49
  args: [{ selector: `${XListOptionPrefix}`, standalone: true, imports: [NgClass, NgTemplateOutlet, XIconComponent, XKeywordDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"x-list-option\"\r\n [ngClass]=\"classMap\"\r\n [class.x-selected]=\"selected\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-open-portal]=\"node?.openPortal\"\r\n [class.x-active]=\"active\"\r\n [class.x-list-icon]=\"icon\"\r\n [class.x-list-divided]=\"divided\"\r\n>\r\n <div class=\"x-list-option-content\">\r\n @if (nodeTpl) {\r\n <ng-template *ngTemplateOutlet=\"nodeTpl; context: { $node: node }\"></ng-template>\r\n } @else {\r\n @if (icon) {\r\n <x-icon [type]=\"icon\"></x-icon>\r\n }\r\n <span x-keyword [text]=\"keywordText\" [caseSensitive]=\"caseSensitive\">{{ label }}</span>\r\n }\r\n </div>\r\n @if (leaf) {\r\n <x-icon class=\"x-list-leaf\" type=\"fto-chevron-right\"></x-icon>\r\n }\r\n @if (checked && !leaf && selected) {\r\n <x-icon class=\"x-list-checked\" type=\"fto-check\"></x-icon>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list-option{display:block}.x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;transition:border-color var(--x-animation-duration-base),background-color var(--x-animation-duration-base),color var(--x-animation-duration-base)}.x-list-option-content{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;display:inline-block}.x-list-option:not(:first-child){margin-top:var(--x-border-width)}.x-list-option:hover:not(.x-disabled),.x-list-option.x-active:not(.x-disabled){background-color:var(--x-background-a200)}.x-list-option.x-list-divided{margin-top:.8125rem}.x-list-option.x-list-divided:before{content:\" \";position:absolute;top:0;left:0;width:100%;margin-top:-.5rem;border-top:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-list-option.x-selected:not(.x-disabled){background-color:var(--x-background-a400);color:var(--x-primary)}.x-list-option.x-selected:not(.x-disabled)>x-icon{color:var(--x-primary)}.x-list-option.x-disabled{color:var(--x-text-500);cursor:not-allowed}.x-list-option.x-disabled:hover{background-color:inherit}.x-list-option.x-disabled>span x-icon{color:var(--x-text-500)}.x-list-option-big{padding:0 var(--x-padding-big);height:var(--x-height-big);line-height:var(--x-height-big)}.x-list-option-large{padding:0 var(--x-padding-large);height:var(--x-height-large);line-height:var(--x-height-large)}.x-list-option-medium{padding:0 var(--x-padding-medium);height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-list-option-small{padding:0 var(--x-padding-small);height:var(--x-height-small);line-height:var(--x-height-small)}.x-list-option-mini{padding:0 var(--x-padding-mini);height:var(--x-height-mini);line-height:var(--x-height-mini)}body>x-list-option{display:block}body>x-list-option.cdk-drag-preview .x-list-option{border-radius:var(--x-border-radius);display:flex;align-items:center;justify-content:space-between;border:.0625rem dashed transparent;border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.9}body>x-list-option.cdk-drag-animating{transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}\n"] }]
50
50
  }], propDecorators: { role: [{
51
51
  type: HostBinding,
52
52
  args: ['attr.role']
53
53
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbGlzdC9saXN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUlYLGlCQUFpQixFQUNqQixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekUsT0FBTyxFQUFhLFdBQVcsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFXNUQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQVQ3RDs7UUFVNEIsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUMxQyxhQUFRLEdBQWMsRUFBRSxDQUFDO1FBQ2pCLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN4QyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0tBaUN4QztJQS9CQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSTtZQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDekIsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsV0FBVztRQUNULFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLGlCQUFpQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBZSxDQUFDO0lBQzlCLENBQUM7aUlBckNVLG9CQUFvQjtxSEFBcEIsb0JBQW9CLHlLQzVCakMsdzRCQTJCQSxrMEVETFksT0FBTyxvRkFBRSxnQkFBZ0Isb0pBQUUsY0FBYyxtREFBRSxpQkFBaUI7OzJGQU0zRCxvQkFBb0I7a0JBVGhDLFNBQVM7K0JBQ0UsR0FBRyxpQkFBaUIsRUFBRSxjQUNwQixJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixDQUFDLGlCQUd4RCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUdyQixJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBpbmplY3RcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWExpc3RPcHRpb25QcmVmaXgsIFhMaXN0T3B0aW9uUHJvcGVydHkgfSBmcm9tICcuL2xpc3QucHJvcGVydHknO1xyXG5pbXBvcnQgeyBIaWdobGlnaHRhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBYQ2xhc3NNYXAsIFhDbGVhckNsYXNzLCBYQ29uZmlnU2VydmljZSwgWElzQ2hhbmdlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhJY29uQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvaWNvbic7XHJcbmltcG9ydCB7IFhLZXl3b3JkRGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkva2V5d29yZCc7XHJcbmltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hMaXN0T3B0aW9uUHJlZml4fWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCwgWEljb25Db21wb25lbnQsIFhLZXl3b3JkRGlyZWN0aXZlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpc3Qtb3B0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWExpc3RPcHRpb25Db21wb25lbnQgZXh0ZW5kcyBYTGlzdE9wdGlvblByb3BlcnR5IGltcGxlbWVudHMgSGlnaGxpZ2h0YWJsZSwgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdvcHRpb24nO1xyXG4gIGNsYXNzTWFwOiBYQ2xhc3NNYXAgPSB7fTtcclxuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcclxuICBjb25maWdTZXJ2aWNlID0gaW5qZWN0KFhDb25maWdTZXJ2aWNlKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5ub2RlKVxyXG4gICAgICB0aGlzLm5vZGUuY2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgc2l6ZSB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShzaXplKSAmJiB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIFhDbGVhckNsYXNzKHRoaXMuY2xhc3NNYXApO1xyXG4gICAgdGhpcy5jbGFzc01hcFtgJHtYTGlzdE9wdGlvblByZWZpeH0tJHt0aGlzLnNpemV9YF0gPSB0aGlzLnNpemUgPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXRBY3RpdmVTdHlsZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLmFjdGl2ZUNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgc2V0SW5hY3RpdmVTdHlsZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5hY3RpdmVDaGFuZ2UuZW1pdCh0aGlzLmFjdGl2ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRMYWJlbCgpIHtcclxuICAgIHJldHVybiB0aGlzLmxhYmVsIGFzIHN0cmluZztcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwieC1saXN0LW9wdGlvblwiXHJcbiAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIlxyXG4gIFtjbGFzcy54LXNlbGVjdGVkXT1cInNlbGVjdGVkXCJcclxuICBbY2xhc3MueC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgW2NsYXNzLngtb3Blbi1wb3J0YWxdPVwibm9kZT8ub3BlblBvcnRhbFwiXHJcbiAgW2NsYXNzLngtYWN0aXZlXT1cImFjdGl2ZVwiXHJcbiAgW2NsYXNzLngtbGlzdC1pY29uXT1cImljb25cIlxyXG4gIFtjbGFzcy54LWxpc3QtZGl2aWRlZF09XCJkaXZpZGVkXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWxpc3Qtb3B0aW9uLWNvbnRlbnRcIj5cclxuICAgIEBpZiAobm9kZVRwbCkge1xyXG4gICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub2RlVHBsOyBjb250ZXh0OiB7ICRub2RlOiBub2RlIH1cIj48L25nLXRlbXBsYXRlPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBpZiAoaWNvbikge1xyXG4gICAgICAgIDx4LWljb24gW3R5cGVdPVwiaWNvblwiPjwveC1pY29uPlxyXG4gICAgICB9XHJcbiAgICAgIDxzcGFuIHgta2V5d29yZCBbdGV4dF09XCJrZXl3b3JkVGV4dFwiIFtjYXNlU2Vuc2l0aXZlXT1cImNhc2VTZW5zaXRpdmVcIj57eyBsYWJlbCB9fTwvc3Bhbj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuICBAaWYgKGxlYWYpIHtcclxuICAgIDx4LWljb24gY2xhc3M9XCJ4LWxpc3QtbGVhZlwiIHR5cGU9XCJmdG8tY2hldnJvbi1yaWdodFwiPjwveC1pY29uPlxyXG4gIH1cclxuICBAaWYgKGNoZWNrZWQgJiYgIWxlYWYgJiYgc2VsZWN0ZWQpIHtcclxuICAgIDx4LWljb24gY2xhc3M9XCJ4LWxpc3QtY2hlY2tlZFwiIHR5cGU9XCJmdG8tY2hlY2tcIj48L3gtaWNvbj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbGlzdC9saXN0LW9wdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3Qtb3B0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUlYLGlCQUFpQixFQUNqQixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekUsT0FBTyxFQUFhLFdBQVcsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFXNUQsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQVQ3RDs7UUFVNEIsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUMxQyxhQUFRLEdBQWMsRUFBRSxDQUFDO1FBQ2pCLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN4QyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0tBaUN4QztJQS9CQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSTtZQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDekIsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsV0FBVztRQUNULFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLGlCQUFpQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUNELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBZSxDQUFDO0lBQzlCLENBQUM7a0lBckNVLG9CQUFvQjtzSEFBcEIsb0JBQW9CLHlLQzVCakMsdzRCQTJCQSxrMEVETFksT0FBTyxvRkFBRSxnQkFBZ0Isb0pBQUUsY0FBYyxtREFBRSxpQkFBaUI7OzRGQU0zRCxvQkFBb0I7a0JBVGhDLFNBQVM7K0JBQ0UsR0FBRyxpQkFBaUIsRUFBRSxjQUNwQixJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixDQUFDLGlCQUd4RCxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUdyQixJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBpbmplY3RcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWExpc3RPcHRpb25QcmVmaXgsIFhMaXN0T3B0aW9uUHJvcGVydHkgfSBmcm9tICcuL2xpc3QucHJvcGVydHknO1xyXG5pbXBvcnQgeyBIaWdobGlnaHRhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBYQ2xhc3NNYXAsIFhDbGVhckNsYXNzLCBYQ29uZmlnU2VydmljZSwgWElzQ2hhbmdlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhJY29uQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvaWNvbic7XHJcbmltcG9ydCB7IFhLZXl3b3JkRGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkva2V5d29yZCc7XHJcbmltcG9ydCB7IE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hMaXN0T3B0aW9uUHJlZml4fWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCwgWEljb25Db21wb25lbnQsIFhLZXl3b3JkRGlyZWN0aXZlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpc3Qtb3B0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWExpc3RPcHRpb25Db21wb25lbnQgZXh0ZW5kcyBYTGlzdE9wdGlvblByb3BlcnR5IGltcGxlbWVudHMgSGlnaGxpZ2h0YWJsZSwgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJykgcm9sZSA9ICdvcHRpb24nO1xyXG4gIGNsYXNzTWFwOiBYQ2xhc3NNYXAgPSB7fTtcclxuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcclxuICBjb25maWdTZXJ2aWNlID0gaW5qZWN0KFhDb25maWdTZXJ2aWNlKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5ub2RlKVxyXG4gICAgICB0aGlzLm5vZGUuY2hhbmdlID0gKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgc2l6ZSB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShzaXplKSAmJiB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIFhDbGVhckNsYXNzKHRoaXMuY2xhc3NNYXApO1xyXG4gICAgdGhpcy5jbGFzc01hcFtgJHtYTGlzdE9wdGlvblByZWZpeH0tJHt0aGlzLnNpemV9YF0gPSB0aGlzLnNpemUgPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXRBY3RpdmVTdHlsZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZSA9IHRydWU7XHJcbiAgICB0aGlzLmFjdGl2ZUNoYW5nZS5lbWl0KHRoaXMuYWN0aXZlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbiAgc2V0SW5hY3RpdmVTdHlsZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5hY3RpdmVDaGFuZ2UuZW1pdCh0aGlzLmFjdGl2ZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRMYWJlbCgpIHtcclxuICAgIHJldHVybiB0aGlzLmxhYmVsIGFzIHN0cmluZztcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIGNsYXNzPVwieC1saXN0LW9wdGlvblwiXHJcbiAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIlxyXG4gIFtjbGFzcy54LXNlbGVjdGVkXT1cInNlbGVjdGVkXCJcclxuICBbY2xhc3MueC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgW2NsYXNzLngtb3Blbi1wb3J0YWxdPVwibm9kZT8ub3BlblBvcnRhbFwiXHJcbiAgW2NsYXNzLngtYWN0aXZlXT1cImFjdGl2ZVwiXHJcbiAgW2NsYXNzLngtbGlzdC1pY29uXT1cImljb25cIlxyXG4gIFtjbGFzcy54LWxpc3QtZGl2aWRlZF09XCJkaXZpZGVkXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWxpc3Qtb3B0aW9uLWNvbnRlbnRcIj5cclxuICAgIEBpZiAobm9kZVRwbCkge1xyXG4gICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub2RlVHBsOyBjb250ZXh0OiB7ICRub2RlOiBub2RlIH1cIj48L25nLXRlbXBsYXRlPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBpZiAoaWNvbikge1xyXG4gICAgICAgIDx4LWljb24gW3R5cGVdPVwiaWNvblwiPjwveC1pY29uPlxyXG4gICAgICB9XHJcbiAgICAgIDxzcGFuIHgta2V5d29yZCBbdGV4dF09XCJrZXl3b3JkVGV4dFwiIFtjYXNlU2Vuc2l0aXZlXT1cImNhc2VTZW5zaXRpdmVcIj57eyBsYWJlbCB9fTwvc3Bhbj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuICBAaWYgKGxlYWYpIHtcclxuICAgIDx4LWljb24gY2xhc3M9XCJ4LWxpc3QtbGVhZlwiIHR5cGU9XCJmdG8tY2hldnJvbi1yaWdodFwiPjwveC1pY29uPlxyXG4gIH1cclxuICBAaWYgKGNoZWNrZWQgJiYgIWxlYWYgJiYgc2VsZWN0ZWQpIHtcclxuICAgIDx4LWljb24gY2xhc3M9XCJ4LWxpc3QtY2hlY2tlZFwiIHR5cGU9XCJmdG8tY2hlY2tcIj48L3gtaWNvbj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
@@ -345,10 +345,10 @@ export class XListComponent extends XListProperty {
345
345
  if (num > -1)
346
346
  this.nodes[num].active = false;
347
347
  }
348
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
349
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.0", type: XListComponent, isStandalone: true, selector: "x-list", host: { listeners: { "keydown": "keydown($event)" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, providers: [XValueAccessor(XListComponent)], viewQueries: [{ propertyName: "headerRef", first: true, predicate: ["headerRef"], descendants: true }, { propertyName: "footerRef", first: true, predicate: ["footerRef"], descendants: true }, { propertyName: "selectAllRef", first: true, predicate: ["selectAllRef"], descendants: true }, { propertyName: "loadMoreRef", first: true, predicate: ["loadMoreRef"], descendants: true }, { propertyName: "virtualBody", first: true, predicate: ["virtualBody"], descendants: true }, { propertyName: "dropList", first: true, predicate: CdkDropList, descendants: true }, { propertyName: "listItems", first: true, predicate: ["listItems"], descendants: true }, { propertyName: "options", predicate: XListOptionComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-list\">\r\n @if (header) {\r\n <div #headerRef class=\"x-list-header\" *xOutlet=\"header\">{{ header }}</div>\r\n }\r\n @if (selectAll && multiple === 0) {\r\n <div #selectAllRef class=\"x-list-select-all\">\r\n <x-list-option\r\n [size]=\"size\"\r\n [label]=\"getSelectAllText\"\r\n [checked]=\"true\"\r\n [selected]=\"isSelectAll\"\r\n (click)=\"onSelectAllNodes()\"\r\n ></x-list-option>\r\n </div>\r\n }\r\n @if (virtualScroll) {\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n [itemSize]=\"getItemSize\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n class=\"x-list-content\"\r\n [style.height.px]=\"getVirtualScrollHeight\"\r\n [hidden]=\"isEmpty\"\r\n >\r\n <x-list-option\r\n *cdkVirtualFor=\"let node of nodes; trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [openPortal]=\"node.openPortal\"\r\n [(active)]=\"node.active\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n [size]=\"size\"\r\n [keywordText]=\"keywordText\"\r\n [caseSensitive]=\"caseSensitive\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n <div\r\n class=\"x-list-content\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListDisabled]=\"!drag\"\r\n [hidden]=\"isEmpty\"\r\n [cdkDropListData]=\"nodes\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n >\r\n @for (node of nodes; track node.id) {\r\n <x-list-option\r\n cdkDrag\r\n [cdkDragDisabled]=\"node.disabled\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [(active)]=\"node.active\"\r\n [openPortal]=\"node.openPortal\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n [size]=\"size\"\r\n [keywordText]=\"keywordText\"\r\n [caseSensitive]=\"caseSensitive\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n }\r\n </div>\r\n }\r\n @if (loadMore && !isEmpty) {\r\n <div #loadMoreRef class=\"x-list-load-more\">\r\n <x-list-option [size]=\"size\" [nodeTpl]=\"loadMoreTpl\" (click)=\"onLoadMore()\"></x-list-option>\r\n </div>\r\n <ng-template #loadMoreTpl>\r\n @if (icon && iconSpin) {\r\n <x-icon [type]=\"icon\" [spin]=\"iconSpin\"></x-icon>\r\n }\r\n {{ icon && iconSpin ? getLoadingMoreText : getLoadMoreText }}\r\n </ng-template>\r\n }\r\n @if (isEmpty) {\r\n <x-empty></x-empty>\r\n }\r\n @if (footer) {\r\n <div #footerRef class=\"x-list-footer\" *xOutlet=\"footer\">{{ footer }}</div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list{width:100%}x-list:focus{outline:none}.x-list{margin:0;padding:0;width:100%}.x-list:focus{outline:none}.x-list-select-all{cursor:pointer;font-weight:700}.x-list-load-more,.x-list-content{cursor:pointer}.x-list-content.cdk-drop-list-dragging x-list-option.cdk-drag-placeholder .x-list-option{border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}.x-list-content.cdk-drop-list-dragging x-list-option:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-list-header,.x-list-footer{padding:0 .4rem;height:calc(var(--x-font-size) + 1rem);line-height:calc(var(--x-font-size) + 1rem);font-weight:700}.x-list-leaf,.x-list-checked{right:0;margin-left:.4rem;color:var(--x-text-400)}.x-list-icon>span x-icon{color:var(--x-text-300);margin-right:.25rem}.x-list>x-empty{margin:1rem;display:block}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "component", type: XEmptyComponent, selector: "x-empty" }, { kind: "component", type: XListOptionComponent, selector: "x-list-option" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
348
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
349
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: XListComponent, isStandalone: true, selector: "x-list", host: { listeners: { "keydown": "keydown($event)" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabindex" } }, providers: [XValueAccessor(XListComponent)], viewQueries: [{ propertyName: "headerRef", first: true, predicate: ["headerRef"], descendants: true }, { propertyName: "footerRef", first: true, predicate: ["footerRef"], descendants: true }, { propertyName: "selectAllRef", first: true, predicate: ["selectAllRef"], descendants: true }, { propertyName: "loadMoreRef", first: true, predicate: ["loadMoreRef"], descendants: true }, { propertyName: "virtualBody", first: true, predicate: ["virtualBody"], descendants: true }, { propertyName: "dropList", first: true, predicate: CdkDropList, descendants: true }, { propertyName: "listItems", first: true, predicate: ["listItems"], descendants: true }, { propertyName: "options", predicate: XListOptionComponent, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-list\">\r\n @if (header) {\r\n <div #headerRef class=\"x-list-header\" *xOutlet=\"header\">{{ header }}</div>\r\n }\r\n @if (selectAll && multiple === 0) {\r\n <div #selectAllRef class=\"x-list-select-all\">\r\n <x-list-option\r\n [size]=\"size\"\r\n [label]=\"getSelectAllText\"\r\n [checked]=\"true\"\r\n [selected]=\"isSelectAll\"\r\n (click)=\"onSelectAllNodes()\"\r\n ></x-list-option>\r\n </div>\r\n }\r\n @if (virtualScroll) {\r\n <cdk-virtual-scroll-viewport\r\n #virtualBody\r\n [itemSize]=\"getItemSize\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n class=\"x-list-content\"\r\n [style.height.px]=\"getVirtualScrollHeight\"\r\n [hidden]=\"isEmpty\"\r\n >\r\n <x-list-option\r\n *cdkVirtualFor=\"let node of nodes; trackBy: trackByNode\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [openPortal]=\"node.openPortal\"\r\n [(active)]=\"node.active\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n [size]=\"size\"\r\n [keywordText]=\"keywordText\"\r\n [caseSensitive]=\"caseSensitive\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n </cdk-virtual-scroll-viewport>\r\n } @else {\r\n <div\r\n class=\"x-list-content\"\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListDisabled]=\"!drag\"\r\n [hidden]=\"isEmpty\"\r\n [cdkDropListData]=\"nodes\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n >\r\n @for (node of nodes; track node.id) {\r\n <x-list-option\r\n cdkDrag\r\n [cdkDragDisabled]=\"node.disabled\"\r\n [node]=\"node\"\r\n [checked]=\"checked\"\r\n [nodeTpl]=\"nodeTpl\"\r\n [selected]=\"node.selected\"\r\n [disabled]=\"node.disabled\"\r\n [(active)]=\"node.active\"\r\n [openPortal]=\"node.openPortal\"\r\n [icon]=\"node.icon\"\r\n [label]=\"node.label\"\r\n [leaf]=\"node.leaf\"\r\n [size]=\"size\"\r\n [keywordText]=\"keywordText\"\r\n [caseSensitive]=\"caseSensitive\"\r\n (click)=\"onNodeClick($event, node)\"\r\n (mouseenter)=\"onMouseenter($event, node)\"\r\n (mouseleave)=\"onMouseleave($event, node)\"\r\n ></x-list-option>\r\n }\r\n </div>\r\n }\r\n @if (loadMore && !isEmpty) {\r\n <div #loadMoreRef class=\"x-list-load-more\">\r\n <x-list-option [size]=\"size\" [nodeTpl]=\"loadMoreTpl\" (click)=\"onLoadMore()\"></x-list-option>\r\n </div>\r\n <ng-template #loadMoreTpl>\r\n @if (icon && iconSpin) {\r\n <x-icon [type]=\"icon\" [spin]=\"iconSpin\"></x-icon>\r\n }\r\n {{ icon && iconSpin ? getLoadingMoreText : getLoadMoreText }}\r\n </ng-template>\r\n }\r\n @if (isEmpty) {\r\n <x-empty></x-empty>\r\n }\r\n @if (footer) {\r\n <div #footerRef class=\"x-list-footer\" *xOutlet=\"footer\">{{ footer }}</div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-list{width:100%}x-list:focus{outline:none}.x-list{margin:0;padding:0;width:100%}.x-list:focus{outline:none}.x-list-select-all{cursor:pointer;font-weight:700}.x-list-load-more,.x-list-content{cursor:pointer}.x-list-content.cdk-drop-list-dragging x-list-option.cdk-drag-placeholder .x-list-option{border-color:var(--x-primary);color:var(--x-primary);background-color:var(--x-background);opacity:.8}.x-list-content.cdk-drop-list-dragging x-list-option:not(.cdk-drag-placeholder){transition:transform var(--x-animation-duration-base) cubic-bezier(0,0,.2,1)}.x-list-header,.x-list-footer{padding:0 .4rem;height:calc(var(--x-font-size) + 1rem);line-height:calc(var(--x-font-size) + 1rem);font-weight:700}.x-list-leaf,.x-list-checked{right:0;margin-left:.4rem;color:var(--x-text-400)}.x-list-icon>span x-icon{color:var(--x-text-300);margin-right:.25rem}.x-list>x-empty{margin:1rem;display:block}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "ngmodule", type: ScrollingModule }, { kind: "directive", type: i1.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i1.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i1.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "component", type: XEmptyComponent, selector: "x-empty" }, { kind: "component", type: XListOptionComponent, selector: "x-list-option" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
350
350
  }
351
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XListComponent, decorators: [{
351
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XListComponent, decorators: [{
352
352
  type: Component,
353
353
  args: [{ selector: `${XListPrefix}`, standalone: true, imports: [
354
354
  FormsModule,
@@ -395,4 +395,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
395
395
  type: HostListener,
396
396
  args: ['keydown', ['$event']]
397
397
  }] } });
398
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUtqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUNOLGdCQUFnQixFQUNoQixXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBYSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFDUixjQUFjLEVBQ2QsUUFBUSxFQUNSLFlBQVksRUFDWixPQUFPLEVBQ1AsT0FBTyxFQUVSLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLE9BQU8sRUFBZSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQWEsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFD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QTNDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgaW5qZWN0LFxyXG4gIEFmdGVyUmVuZGVyUGhhc2UsXHJcbiAgYWZ0ZXJSZW5kZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWExpc3RQcmVmaXgsIFhMaXN0Tm9kZSwgWExpc3RQcm9wZXJ0eSB9IGZyb20gJy4vbGlzdC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7XHJcbiAgWElzQ2hhbmdlLFxyXG4gIFhTZXREYXRhLFxyXG4gIFhDb25maWdTZXJ2aWNlLFxyXG4gIFhJc0VtcHR5LFxyXG4gIFhJc1VuZGVmaW5lZCxcclxuICBYSXNOdWxsLFxyXG4gIFhSZXNpemUsXHJcbiAgWFJlc2l6ZU9ic2VydmVyXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IFhMaXN0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LW9wdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcclxuaW1wb3J0IHsgRU5URVIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBYVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IFhJMThuTGlzdCwgWEkxOG5TZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcbmltcG9ydCB7IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCwgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XHJcbmltcG9ydCB7IFhMaXN0RHJvcEdyb3VwLCBYX0xJU1RfRFJPUF9HUk9VUCB9IGZyb20gJy4vbGlzdC1kcm9wLWdyb3VwLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFhPdXRsZXREaXJlY3RpdmUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5pbXBvcnQgeyBYSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYRW1wdHlDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9lbXB0eSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hMaXN0UHJlZml4fWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBDZGtEcm9wTGlzdCxcclxuICAgIENka0RyYWcsXHJcbiAgICBTY3JvbGxpbmdNb2R1bGUsXHJcbiAgICBYSWNvbkNvbXBvbmVudCxcclxuICAgIFhFbXB0eUNvbXBvbmVudCxcclxuICAgIFhMaXN0T3B0aW9uQ29tcG9uZW50LFxyXG4gICAgWE91dGxldERpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhMaXN0Q29tcG9uZW50KV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhMaXN0Q29tcG9uZW50IGV4dGVuZHMgWExpc3RQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBub2RlczogWExpc3ROb2RlW10gPSBbXTtcclxuICBzZWxlY3RlZE5vZGVzOiBYTGlzdE5vZGVbXSA9IFtdO1xyXG4gIEBWaWV3Q2hpbGQoJ2hlYWRlclJlZicpIGhlYWRlclJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2Zvb3RlclJlZicpIGZvb3RlclJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEFsbFJlZicpIHNlbGVjdEFsbFJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2xvYWRNb3JlUmVmJykgbG9hZE1vcmVSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCd2aXJ0dWFsQm9keScpIHZpcnR1YWxCb2R5ITogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xyXG4gIEBWaWV3Q2hpbGQoQ2RrRHJvcExpc3QpIGRyb3BMaXN0ITogQ2RrRHJvcExpc3Q7XHJcbiAgQFZpZXdDaGlsZCgnbGlzdEl0ZW1zJykgbGlzdEl0ZW1zITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZHJlbihYTGlzdE9wdGlvbkNvbXBvbmVudClcclxuICBvcHRpb25zITogUXVlcnlMaXN0PFhMaXN0T3B0aW9uQ29tcG9uZW50PjtcclxuICBrZXlNYW5hZ2VyITogQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8WExpc3RPcHRpb25Db21wb25lbnQ+O1xyXG4gIGlzU2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgbG9jYWxlOiBYSTE4bkxpc3QgPSB7fTtcclxuICBsb2FkTW9yZUluZGV4ID0gMDtcclxuICBpY29uOiBzdHJpbmcgPSAnJztcclxuICBpY29uU3BpbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyITogWFJlc2l6ZU9ic2VydmVyO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnbGlzdGJveCc7XHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgdGFiaW5kZXggPSAtMTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pIGtleWRvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICB0aGlzLmtleU1hbmFnZXIub25LZXlkb3duKCRldmVudCk7XHJcbiAgICBjb25zdCBhY3RpdmVJbmRleCA9IHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggYXMgbnVtYmVyO1xyXG4gICAgaWYgKCRldmVudC5rZXlDb2RlID09PSBFTlRFUiAmJiAhWElzVW5kZWZpbmVkKGFjdGl2ZUluZGV4KSkge1xyXG4gICAgICB0aGlzLnNldFVuQWN0aXZlKGFjdGl2ZUluZGV4KTtcclxuICAgICAgdGhpcy5vbk5vZGVDbGljaygkZXZlbnQsIHRoaXMubm9kZXNbYWN0aXZlSW5kZXhdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGl0ZW1TaXplTWFwOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge1xyXG4gICAgbWluaTogMjIsXHJcbiAgICBzbWFsbDogMjQsXHJcbiAgICBtZWRpdW06IDI4LFxyXG4gICAgbGFyZ2U6IDMyLFxyXG4gICAgYmlnOiAzNlxyXG4gIH07XHJcblxyXG4gIGdldCBnZXRJdGVtU2l6ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1TaXplTWFwW3RoaXMuc2l6ZV07XHJcbiAgfVxyXG5cclxuICBnZXQgaXNFbXB0eSgpIHtcclxuICAgIHJldHVybiBYSXNFbXB0eSh0aGlzLm5vZGVzKTtcclxuICB9XHJcblxyXG4gIGdldCBnZXRTZWxlY3RBbGxUZXh0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0QWxsVGV4dCB8fCB0aGlzLmxvY2FsZS5zZWxlY3RBbGxUZXh0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldExvYWRNb3JlVGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLmxvYWRNb3JlVGV4dCB8fCB0aGlzLmxvY2FsZS5sb2FkTW9yZVRleHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0TG9hZGluZ01vcmVUZXh0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMubG9hZGluZ01vcmVUZXh0IHx8IHRoaXMubG9jYWxlLmxvYWRpbmdNb3JlVGV4dDtcclxuICB9XHJcblxyXG4gIGdldCBnZXRWaXJ0dWFsU2Nyb2xsSGVpZ2h0KCkge1xyXG4gICAgbGV0IGhlYWRlckggPSAwLFxyXG4gICAgICBmb290ZXJIID0gMCxcclxuICAgICAgc2VsZWN0QWxsSCA9IDAsXHJcbiAgICAgIGxvYWRNb3JlSCA9IDA7XHJcbiAgICBpZiAodGhpcy5oZWFkZXJSZWYpIGhlYWRlckggPSB0aGlzLmhlYWRlclJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgIGlmICh0aGlzLmZvb3RlclJlZikgZm9vdGVySCA9IHRoaXMuZm9vdGVyUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0QWxsUmVmKSBzZWxlY3RBbGxIID0gdGhpcy5zZWxlY3RBbGxSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICBpZiAodGhpcy5sb2FkTW9yZVJlZikgbG9hZE1vcmVIID0gdGhpcy5sb2FkTW9yZVJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuXHJcbiAgICByZXR1cm4gTnVtYmVyKHRoaXMuc2Nyb2xsSGVpZ2h0KSAtIGhlYWRlckggLSBmb290ZXJIIC0gc2VsZWN0QWxsSCAtIGxvYWRNb3JlSDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZXRTZWxlY3RlZCgpO1xyXG4gICAgdGhpcy5zZXRLZXlNYW5hZ2VyKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIG92ZXJyaWRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KFhJMThuU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBncm91cCA9IGluamVjdDxYTGlzdERyb3BHcm91cD4oWF9MSVNUX0RST1BfR1JPVVAsIHsgb3B0aW9uYWw6IHRydWUsIHNraXBTZWxmOiB0cnVlIH0pO1xyXG4gIGNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoWENvbmZpZ1NlcnZpY2UpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICBhZnRlclJlbmRlcihcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnZpcnR1YWxTY3JvbGwgJiYgdGhpcy5zY3JvbGxIZWlnaHQpIHtcclxuICAgICAgICAgIHRoaXMudmlydHVhbEJvZHk/LmNoZWNrVmlld3BvcnRTaXplKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICB7IHBoYXNlOiBBZnRlclJlbmRlclBoYXNlLk1peGVkUmVhZFdyaXRlIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2VcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKCh4KSA9PiB4Lmxpc3QgYXMgWEkxOG5MaXN0KSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLmxvY2FsZSA9IHg7XHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgeyBkYXRhIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGRhdGEpICYmIHRoaXMuc2V0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5pbml0S2V5TWFuYWdlcigpO1xyXG4gICAgaWYgKHRoaXMudmlydHVhbFNjcm9sbCAmJiB0aGlzLmhlaWdodEFkYXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc2V0VmlydHVhbFNjcm9sbEhlaWdodCgpO1xyXG4gICAgICBYUmVzaXplKHRoaXMuaGVpZ2h0QWRhcHRpb24gYXMgSFRNTEVsZW1lbnQpXHJcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwKSwgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSB4LnJlc2l6ZU9ic2VydmVyO1xyXG4gICAgICAgICAgdGhpcy5zZXRWaXJ0dWFsU2Nyb2xsSGVpZ2h0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ncm91cCAmJiB0aGlzLmRyb3BMaXN0KSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuZHJvcExpc3RzLmFkZCh0aGlzLmRyb3BMaXN0KTtcclxuICAgICAgdGhpcy5ncm91cC5zZXRDb25uZWN0ZWRUbygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xyXG4gICAgdGhpcy5ncm91cD8uZHJvcExpc3RzLmRlbGV0ZSh0aGlzLmRyb3BMaXN0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VmlydHVhbFNjcm9sbEhlaWdodCgpIHtcclxuICAgIHRoaXMuc2Nyb2xsSGVpZ2h0ID0gKHRoaXMuaGVpZ2h0QWRhcHRpb24gYXMgSFRNTEVsZW1lbnQpLmNsaWVudEhlaWdodDtcclxuICAgIHRoaXMubWluQnVmZmVyUHggPSB0aGlzLmdldFZpcnR1YWxTY3JvbGxIZWlnaHQ7XHJcbiAgICB0aGlzLm1heEJ1ZmZlclB4ID0gdGhpcy5nZXRWaXJ0dWFsU2Nyb2xsSGVpZ2h0ICogMS4yO1xyXG4gICAgdGhpcy52aXJ0dWFsQm9keVsnX3Njcm9sbFN0cmF0ZWd5J11bJ19taW5CdWZmZXJQeCddID0gdGhpcy5taW5CdWZmZXJQeDtcclxuICAgIHRoaXMudmlydHVhbEJvZHlbJ19zY3JvbGxTdHJhdGVneSddWydfbWF4QnVmZmVyUHgnXSA9IHRoaXMubWF4QnVmZmVyUHg7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERhdGEoKSB7XHJcbiAgICBpZiAodGhpcy5sb2FkTW9yZSkge1xyXG4gICAgICB0aGlzLmljb24gPSAnZnRvLWxvYWRlcic7XHJcbiAgICAgIHRoaXMuaWNvblNwaW4gPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgWFNldERhdGE8WExpc3ROb2RlPih0aGlzLmRhdGEsIHRoaXMuX3VuU3ViamVjdCwgdHJ1ZSwgdGhpcy5sb2FkTW9yZUluZGV4KS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgaWYgKHRoaXMubG9hZE1vcmUpIHtcclxuICAgICAgICB0aGlzLm5vZGVzID0gWy4uLnRoaXMubm9kZXMsIC4uLnhdO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICcnO1xyXG4gICAgICAgIHRoaXMuaWNvblNwaW4gPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm5vZGVzID0geDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNldFNlbGVjdGVkKCk7XHJcbiAgICAgIHRoaXMuc2V0S2V5TWFuYWdlcigpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEtleU1hbmFnZXIoKSB7XHJcbiAgICB0aGlzLmtleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8WExpc3RPcHRpb25Db21wb25lbnQ+KHRoaXMub3B0aW9ucykud2l0aFdyYXAoKTtcclxuXHJcbiAgICB0aGlzLmtleU1hbmFnZXIudGFiT3V0LnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0VW5BY3RpdmUodGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCBhcyBudW1iZXIpO1xyXG4gICAgICB0aGlzLmtleU1hbmFnZXJUYWJPdXQuZW1pdCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5rZXlNYW5hZ2VyLmNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKG51bTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0U2NvcmxsVG9wKG51bSk7XHJcbiAgICAgIHRoaXMua2V5TWFuYWdlckNoYW5nZS5lbWl0KG51bSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldFNjb3JsbFRvcChfbnVtOiBudW1iZXIpIHtcclxuICAgIGlmICghdGhpcy5zY3JvbGxFbGVtZW50IHx8ICF0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbSkgcmV0dXJuO1xyXG4gICAgbGV0IGVsZSA9IHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtIS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBsZXQgbGlzdCA9IHRoaXMuc2Nyb2xsRWxlbWVudDtcclxuICAgIGxldCBtaW4gPSBsaXN0LnNjcm9sbFRvcDtcclxuICAgIGxldCBtYXggPSBsaXN0LnNjcm9sbFRvcCArIGxpc3QuY2xpZW50SGVpZ2h0O1xyXG4gICAgaWYgKGVsZS5vZmZzZXRUb3AgKyBlbGUuY2xpZW50SGVpZ2h0ID4gbWF4KSB7XHJcbiAgICAgIGxldCBzY3JvbGxUb3AgPSBlbGUub2Zmc2V0VG9wICsgZWxlLmNsaWVudEhlaWdodCAtIGxpc3QuY2xpZW50SGVpZ2h0O1xyXG4gICAgICBsaXN0LnNjcm9sbFRvcCA9IHNjcm9sbFRvcDtcclxuICAgIH1cclxuICAgIGlmIChlbGUub2Zmc2V0VG9wIDwgbWluKSB7XHJcbiAgICAgIGxpc3Quc2Nyb2xsVG9wID0gZWxlLm9mZnNldFRvcDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFNlbGVjdGVkKCkge1xyXG4gICAgaWYgKHRoaXMubm9kZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLm5vZGVzXHJcbiAgICAgICAgLmZpbHRlcigoeCkgPT4geC5zZWxlY3RlZClcclxuICAgICAgICAubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgICB4LnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIGxldCB2YWxBcnJ5OiBhbnlbXSA9IFtdO1xyXG4gICAgICBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgdmFsQXJyeSA9IHRoaXMudmFsdWU7XHJcbiAgICAgICAgaWYgKHZhbEFycnkubGVuZ3RoID09PSB0aGlzLm5vZGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy5pc1NlbGVjdEFsbCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHZhbEFycnkgPSBbdGhpcy52YWx1ZV07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxldCBpZHMgPSBbXTtcclxuICAgICAgbGV0IHNlbGVjdGVkTm9kZXMgPSBbXTtcclxuICAgICAgaWYgKHRoaXMub2JqZWN0QXJyYXkpIHtcclxuICAgICAgICBpZHMgPSB2YWxBcnJ5LmZpbHRlcigoeCkgPT4gIVhJc1VuZGVmaW5lZCh4KSAmJiAhWElzTnVsbCh4KSkubWFwKCh4KSA9PiB4LmlkKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZHMgPSB2YWxBcnJ5O1xyXG4gICAgICB9XHJcbiAgICAgIGZvciAobGV0IGlkIG9mIGlkcykge1xyXG4gICAgICAgIGxldCBub2RlID0gdGhpcy5ub2Rlcy5maW5kKCh4KSA9PiB4LmlkID09PSBpZCk7XHJcbiAgICAgICAgaWYgKG5vZGUpIHtcclxuICAgICAgICAgIG5vZGUuc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgc2VsZWN0ZWROb2Rlcy5wdXNoKG5vZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBzZWxlY3RlZE5vZGVzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0S2V5TWFuYWdlcigpIHtcclxuICAgIGlmIChYSXNVbmRlZmluZWQodGhpcy5rZXlNYW5hZ2VyKSB8fCBYSXNVbmRlZmluZWQodGhpcy5ub2RlcykgfHwgdGhpcy5ub2Rlcy5sZW5ndGggPT09IDApIHJldHVybjtcclxuICAgIGxldCBhY3RpdmVJbmRleCA9IDA7XHJcbiAgICBpZiAoWElzRW1wdHkodGhpcy52YWx1ZSkpIHtcclxuICAgICAgdGhpcy5rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oYWN0aXZlSW5kZXgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgdmFsQXJyeTogYW55W10gPSBbXTtcclxuICAgIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgdmFsQXJyeSA9IHRoaXMudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB2YWxBcnJ5ID0gW3RoaXMudmFsdWVdO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZmlyc3QgPSB2YWxBcnJ5WzBdO1xyXG4gICAgaWYgKHRoaXMub2JqZWN0QXJyYXkpIHtcclxuICAgICAgYWN0aXZlSW5kZXggPSB0aGlzLm5vZGVzLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gZmlyc3QuaWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYWN0aXZlSW5kZXggPSB0aGlzLm5vZGVzLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gZmlyc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oYWN0aXZlSW5kZXgpO1xyXG4gICAgdGhpcy5zZXRTY29ybGxUb3AoYWN0aXZlSW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgb25Ob2RlQ2xpY2soZXZlbnQ6IEV2ZW50LCBub2RlOiBYTGlzdE5vZGUpIHtcclxuICAgIGlmIChYSXNVbmRlZmluZWQobm9kZSkgfHwgbm9kZS5kaXNhYmxlZCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIGlmIChub2RlLnNlbGVjdGVkICYmIHRoaXMubXVsdGlwbGUgPT09IDEpIHtcclxuICAgICAgbm9kZS5ldmVudCA9IGV2ZW50O1xyXG4gICAgICB0aGlzLm5vZGVDbGljay5lbWl0KG5vZGUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBzZWxlY3RlZCA9ICFub2RlLnNlbGVjdGVkO1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkTm9kZXMubGVuZ3RoIDwgTnVtYmVyKHRoaXMubXVsdGlwbGUpIHx8IHRoaXMubXVsdGlwbGUgPT09IDApIHtcclxuICAgICAgICBub2RlLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gWy4uLnRoaXMuc2VsZWN0ZWROb2Rlcywgbm9kZV07XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IHRoaXMubm9kZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICB0aGlzLmlzU2VsZWN0QWxsID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMubXVsdGlwbGUgPT09IDEgJiYgdGhpcy5zZWxlY3RlZE5vZGVzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgIG5vZGUuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXNbMF0uc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXNbMF0gPSBub2RlO1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5vZGUuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzLnNwbGljZShcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMuZmluZEluZGV4KCh4KSA9PiB4LmlkID09IG5vZGUuaWQpLFxyXG4gICAgICAgIDFcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5pc1NlbGVjdEFsbCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUgPT09IDEgJiYgdGhpcy5zZWxlY3RlZE5vZGVzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5vYmplY3RBcnJheSA/IHRoaXMuc2VsZWN0ZWROb2Rlc1swXSA6IHRoaXMuc2VsZWN0ZWROb2Rlc1swXS5pZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm9iamVjdEFycmF5ID8gdGhpcy5zZWxlY3RlZE5vZGVzIDogdGhpcy5zZWxlY3RlZE5vZGVzLm1hcCgoeCkgPT4geC5pZCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIG5vZGUuZXZlbnQgPSBldmVudDtcclxuICAgIHRoaXMubm9kZUNsaWNrLmVtaXQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBvbk1vdXNlZW50ZXIoZXZlbnQ6IEV2ZW50LCBub2RlOiBYTGlzdE5vZGUpIHtcclxuICAgIGlmIChub2RlLmRpc2FibGVkKSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBub2RlLmV2ZW50ID0gZXZlbnQ7XHJcbiAgICB0aGlzLm5vZGVNb3VzZWVudGVyLmVtaXQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBvbk1vdXNlbGVhdmUoZXZlbnQ6IEV2ZW50LCBub2RlOiBYTGlzdE5vZGUpIHtcclxuICAgIGlmIChub2RlLmRpc2FibGVkKSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBub2RlLmV2ZW50ID0gZXZlbnQ7XHJcbiAgICB0aGlzLm5vZGVNb3VzZWxlYXZlLmVtaXQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBkcm9wQ2RrKGV2ZW50OiBDZGtEcmFnRHJvcDxYTGlzdE5vZGVbXT4pIHtcclxuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLm5vZGVzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgdGhpcy5kcm9wTGlzdERyb3BwZWQuZW1pdCh7XHJcbiAgICAgIGRhdGE6IHRoaXMubm9kZXMsXHJcbiAgICAgIGN1cnJlbnQ6IHRoaXMubm9kZXNbZXZlbnQuY3VycmVudEluZGV4XSxcclxuICAgICAgY3VycmVudEluZGV4OiBldmVudC5jdXJyZW50SW5kZXgsXHJcbiAgICAgIGV2ZW50OiBldmVudFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcmVkaWNhdGUoX2RyYWc6IENka0RyYWc8WExpc3ROb2RlPiwgX2Ryb3A6IENka0Ryb3BMaXN0PFhMaXN0Tm9kZT4pIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RBbGxOb2RlcygpIHtcclxuICAgIHRoaXMuaXNTZWxlY3RBbGwgPSAhdGhpcy5pc1NlbGVjdEFsbDtcclxuICAgIGlmICh0aGlzLmlzU2VsZWN0QWxsKSB7XHJcbiAgICAgIHRoaXMubm9kZXMubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgeC5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuIHg7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBbLi4udGhpcy5ub2Rlc107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm5vZGVzLm1hcCgoeCkgPT4ge1xyXG4gICAgICAgIHguc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm4geDtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IFtdO1xyXG4gICAgfVxyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMub2JqZWN0QXJyYXkgPyB0aGlzLnNlbGVjdGVkTm9kZXMgOiB0aGlzLnNlbGVjdGVkTm9kZXMubWFwKCh4KSA9PiB4LmlkKTtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5vblNlbGVjdEFsbC5lbWl0KHRoaXMuaXNTZWxlY3RBbGwpO1xyXG4gIH1cclxuXHJcbiAgb25Mb2FkTW9yZSgpIHtcclxuICAgIHRoaXMubG9hZE1vcmVJbmRleCsrO1xyXG4gICAgdGhpcy5zZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Tm9kZShfaW5kZXg6IG51bWJlciwgaXRlbTogWExpc3ROb2RlKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcblxyXG4gIHNldFVuQWN0aXZlKG51bTogbnVtYmVyKSB7XHJcbiAgICBpZiAobnVtID4gLTEpIHRoaXMubm9kZXNbbnVtXS5hY3RpdmUgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtbGlzdFwiPlxyXG4gIEBpZiAoaGVhZGVyKSB7XHJcbiAgICA8ZGl2ICNoZWFkZXJSZWYgY2xhc3M9XCJ4LWxpc3QtaGVhZGVyXCIgKnhPdXRsZXQ9XCJoZWFkZXJcIj57eyBoZWFkZXIgfX08L2Rpdj5cclxuICB9XHJcbiAgQGlmIChzZWxlY3RBbGwgJiYgbXVsdGlwbGUgPT09IDApIHtcclxuICAgIDxkaXYgI3NlbGVjdEFsbFJlZiBjbGFzcz1cIngtbGlzdC1zZWxlY3QtYWxsXCI+XHJcbiAgICAgIDx4LWxpc3Qtb3B0aW9uXHJcbiAgICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgICAgW2xhYmVsXT1cImdldFNlbGVjdEFsbFRleHRcIlxyXG4gICAgICAgIFtjaGVja2VkXT1cInRydWVcIlxyXG4gICAgICAgIFtzZWxlY3RlZF09XCJpc1NlbGVjdEFsbFwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0QWxsTm9kZXMoKVwiXHJcbiAgICAgID48L3gtbGlzdC1vcHRpb24+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgQGlmICh2aXJ0dWFsU2Nyb2xsKSB7XHJcbiAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0XHJcbiAgICAgICN2aXJ0dWFsQm9keVxyXG4gICAgICBbaXRlbVNpemVdPVwiZ2V0SXRlbVNpemVcIlxyXG4gICAgICBbbWluQnVmZmVyUHhdPVwibWluQnVmZmVyUHhcIlxyXG4gICAgICBbbWF4QnVmZmVyUHhdPVwibWF4QnVmZmVyUHhcIlxyXG4gICAgICBjbGFzcz1cIngtbGlzdC1jb250ZW50XCJcclxuICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJnZXRWaXJ0dWFsU2Nyb2xsSGVpZ2h0XCJcclxuICAgICAgW2hpZGRlbl09XCJpc0VtcHR5XCJcclxuICAgID5cclxuICAgICAgPHgtbGlzdC1vcHRpb25cclxuICAgICAgICAqY2RrVmlydHVhbEZvcj1cImxldCBub2RlIG9mIG5vZGVzOyB0cmFja0J5OiB0cmFja0J5Tm9kZVwiXHJcbiAgICAgICAgW25vZGVdPVwibm9kZVwiXHJcbiAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXHJcbiAgICAgICAgW25vZGVUcGxdPVwibm9kZVRwbFwiXHJcbiAgICAgICAgW3NlbGVjdGVkXT1cIm5vZGUuc2VsZWN0ZWRcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCJcclxuICAgICAgICBbb3BlblBvcnRhbF09XCJub2RlLm9wZW5Qb3J0YWxcIlxyXG4gICAgICAgIFsoYWN0aXZlKV09XCJub2RlLmFjdGl2ZVwiXHJcbiAgICAgICAgW2ljb25dPVwibm9kZS5pY29uXCJcclxuICAgICAgICBbbGFiZWxdPVwibm9kZS5sYWJlbFwiXHJcbiAgICAgICAgW2xlYWZdPVwibm9kZS5sZWFmXCJcclxuICAgICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgICBba2V5d29yZFRleHRdPVwia2V5d29yZFRleHRcIlxyXG4gICAgICAgIFtjYXNlU2Vuc2l0aXZlXT1cImNhc2VTZW5zaXRpdmVcIlxyXG4gICAgICAgIChjbGljayk9XCJvbk5vZGVDbGljaygkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlZW50ZXIoJGV2ZW50LCBub2RlKVwiXHJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZWxlYXZlKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICA+PC94LWxpc3Qtb3B0aW9uPlxyXG4gICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwieC1saXN0LWNvbnRlbnRcIlxyXG4gICAgICBjZGtEcm9wTGlzdFxyXG4gICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BDZGsoJGV2ZW50KVwiXHJcbiAgICAgIFtjZGtEcm9wTGlzdERpc2FibGVkXT1cIiFkcmFnXCJcclxuICAgICAgW2hpZGRlbl09XCJpc0VtcHR5XCJcclxuICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJub2Rlc1wiXHJcbiAgICAgIFtjZGtEcm9wTGlzdEVudGVyUHJlZGljYXRlXT1cInByZWRpY2F0ZVwiXHJcbiAgICA+XHJcbiAgICAgIEBmb3IgKG5vZGUgb2Ygbm9kZXM7IHRyYWNrIG5vZGUuaWQpIHtcclxuICAgICAgICA8eC1saXN0LW9wdGlvblxyXG4gICAgICAgICAgY2RrRHJhZ1xyXG4gICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCJcclxuICAgICAgICAgIFtub2RlXT1cIm5vZGVcIlxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXHJcbiAgICAgICAgICBbbm9kZVRwbF09XCJub2RlVHBsXCJcclxuICAgICAgICAgIFtzZWxlY3RlZF09XCJub2RlLnNlbGVjdGVkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCJcclxuICAgICAgICAgIFsoYWN0aXZlKV09XCJub2RlLmFjdGl2ZVwiXHJcbiAgICAgICAgICBbb3BlblBvcnRhbF09XCJub2RlLm9wZW5Qb3J0YWxcIlxyXG4gICAgICAgICAgW2ljb25dPVwibm9kZS5pY29uXCJcclxuICAgICAgICAgIFtsYWJlbF09XCJub2RlLmxhYmVsXCJcclxuICAgICAgICAgIFtsZWFmXT1cIm5vZGUubGVhZlwiXHJcbiAgICAgICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgICAgIFtrZXl3b3JkVGV4dF09XCJrZXl3b3JkVGV4dFwiXHJcbiAgICAgICAgICBbY2FzZVNlbnNpdGl2ZV09XCJjYXNlU2Vuc2l0aXZlXCJcclxuICAgICAgICAgIChjbGljayk9XCJvbk5vZGVDbGljaygkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VlbnRlcigkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VsZWF2ZSgkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgICA+PC94LWxpc3Qtb3B0aW9uPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgQGlmIChsb2FkTW9yZSAmJiAhaXNFbXB0eSkge1xyXG4gICAgPGRpdiAjbG9hZE1vcmVSZWYgY2xhc3M9XCJ4LWxpc3QtbG9hZC1tb3JlXCI+XHJcbiAgICAgIDx4LWxpc3Qtb3B0aW9uIFtzaXplXT1cInNpemVcIiBbbm9kZVRwbF09XCJsb2FkTW9yZVRwbFwiIChjbGljayk9XCJvbkxvYWRNb3JlKClcIj48L3gtbGlzdC1vcHRpb24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbG9hZE1vcmVUcGw+XHJcbiAgICAgIEBpZiAoaWNvbiAmJiBpY29uU3Bpbikge1xyXG4gICAgICAgIDx4LWljb24gW3R5cGVdPVwiaWNvblwiIFtzcGluXT1cImljb25TcGluXCI+PC94LWljb24+XHJcbiAgICAgIH1cclxuICAgICAge3sgaWNvbiAmJiBpY29uU3BpbiA/IGdldExvYWRpbmdNb3JlVGV4dCA6IGdldExvYWRNb3JlVGV4dCB9fVxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICB9XHJcbiAgQGlmIChpc0VtcHR5KSB7XHJcbiAgICA8eC1lbXB0eT48L3gtZW1wdHk+XHJcbiAgfVxyXG4gIEBpZiAoZm9vdGVyKSB7XHJcbiAgICA8ZGl2ICNmb290ZXJSZWYgY2xhc3M9XCJ4LWxpc3QtZm9vdGVyXCIgKnhPdXRsZXQ9XCJmb290ZXJcIj57eyBmb290ZXIgfX08L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
398
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUtqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLFlBQVksRUFDWixZQUFZLEVBQ1osTUFBTSxFQUNOLGdCQUFnQixFQUNoQixXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBYSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFDUixjQUFjLEVBQ2QsUUFBUSxFQUNSLFlBQVksRUFDWixPQUFPLEVBQ1AsT0FBTyxFQUVSLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLE9BQU8sRUFBZSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQWEsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUE0QixlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRixPQUFPLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQXNCbEUsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBdUJWLE9BQU8sQ0FBQyxNQUFxQjtRQUNoRSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGVBQXlCLENBQUM7UUFDOUQsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLEtBQUssSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUMxRCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztTQUNuRDtJQUNILENBQUM7SUFVRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixJQUFJLE9BQU8sR0FBRyxDQUFDLEVBQ2IsT0FBTyxHQUFHLENBQUMsRUFDWCxVQUFVLEdBQUcsQ0FBQyxFQUNkLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDeEUsSUFBSSxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDeEUsSUFBSSxJQUFJLENBQUMsWUFBWTtZQUFFLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDakYsSUFBSSxJQUFJLENBQUMsV0FBVztZQUFFLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFFOUUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsVUFBVSxHQUFHLFNBQVMsQ0FBQztJQUNoRixDQUFDO0lBRVEsVUFBVSxDQUFDLEtBQVU7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFRRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBdEZWLFVBQUssR0FBZ0IsRUFBRSxDQUFDO1FBQ3hCLGtCQUFhLEdBQWdCLEVBQUUsQ0FBQztRQVdoQyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixXQUFNLEdBQWMsRUFBRSxDQUFDO1FBQ3ZCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUdBLFNBQUksR0FBRyxTQUFTLENBQUM7UUFDYixhQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFXNUMsZ0JBQVcsR0FBOEI7WUFDdkMsSUFBSSxFQUFFLEVBQUU7WUFDUixLQUFLLEVBQUUsRUFBRTtZQUNULE1BQU0sRUFBRSxFQUFFO1lBQ1YsS0FBSyxFQUFFLEVBQUU7WUFDVCxHQUFHLEVBQUUsRUFBRTtTQUNSLENBQUM7UUEwQ00sZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pDLFNBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDNUIsVUFBSyxHQUFHLE1BQU0sQ0FBaUIsaUJBQWlCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzlGLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBSXJDLFdBQVcsQ0FDVCxHQUFHLEVBQUU7WUFDSCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDM0MsSUFBSSxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO2FBQ3ZDO1FBQ0gsQ0FBQyxFQUNELEVBQUUsS0FBSyxFQUFFLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxDQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7YUFDbkIsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQWlCLENBQUMsRUFDL0IsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDM0I7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDekIsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUM3QyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixPQUFPLENBQUMsSUFBSSxDQUFDLGNBQTZCLENBQUM7aUJBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDbEQsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDO2dCQUN4QyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztTQUNOO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBSSxJQUFJLENBQUMsY0FBOEIsQ0FBQyxZQUFZLENBQUM7UUFDdEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUM7UUFDL0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEdBQUcsR0FBRyxDQUFDO1FBQ3JELElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUM7WUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDdEI7UUFDRCxRQUFRLENBQVksSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDeEYsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2FBQ3ZCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2FBQ2hCO1lBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLDBCQUEwQixDQUF1QixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFaEcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUF5QixDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRTtZQUNoRixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVk7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVU7WUFBRSxPQUFPO1FBQy9ELElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVyxDQUFDLFVBQVUsQ0FBQyxhQUE0QixDQUFDO1FBQzlFLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDOUIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN6QixJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDN0MsSUFBSSxHQUFHLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxZQUFZLEdBQUcsR0FBRyxFQUFFO1lBQzFDLElBQUksU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ3JFLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxHQUFHLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRTtZQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLO2lCQUNQLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztpQkFDekIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1QsQ0FBQyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7WUFDTCxJQUFJLE9BQU8sR0FBVSxFQUFFLENBQUM7WUFDeEIsSUFBSSxJQUFJLENBQUMsS0FBSyxZQUFZLEtBQUssRUFBRTtnQkFDL0IsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtvQkFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7aUJBQ3pCO2FBQ0Y7aUJBQU07Z0JBQ0wsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3hCO1lBRUQsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxhQUFhLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsR0FBRyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDL0U7aUJBQU07Z0JBQ0wsR0FBRyxHQUFHLE9BQU8sQ0FBQzthQUNmO1lBQ0QsS0FBSyxJQUFJLEVBQUUsSUFBSSxHQUFHLEVBQUU7Z0JBQ2xCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLElBQUksRUFBRTtvQkFDUixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDckIsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDMUI7YUFDRjtZQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTztRQUNqRyxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUMsT0FBTztTQUNSO1FBQ0QsSUFBSSxPQUFPLEdBQVUsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLEtBQUssWUFBWSxLQUFLLEVBQUU7WUFDL0IsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7U0FDdEI7YUFBTTtZQUNMLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN4QjtRQUNELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM5RDthQUFNO1lBQ0wsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxDQUFDO1NBQzNEO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBWSxFQUFFLElBQWU7UUFDdkMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN2QyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLE9BQU87U0FDUjtRQUNELE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNoQyxJQUFJLFFBQVEsRUFBRTtZQUNaLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLENBQUMsRUFBRTtnQkFDNUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ25ELElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7b0JBQ25ELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2lCQUN6QjtnQkFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQzFCO2lCQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUNqRSxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztnQkFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDN0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUMxQjtpQkFBTTtnQkFDTCxPQUFPO2FBQ1I7U0FDRjthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsRUFDcEQsQ0FBQyxDQUNGLENBQUM7WUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztTQUMxQjtRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzFELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDbEY7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMxRjtRQUNELElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBWSxFQUFFLElBQWU7UUFDeEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVksRUFBRSxJQUFlO1FBQ3hDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUErQjtRQUNyQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDaEIsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztZQUN2QyxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDaEMsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBeUIsRUFBRSxLQUE2QjtRQUNoRSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDbkIsQ0FBQyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ2xCLE9BQU8sQ0FBQyxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEM7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ25CLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixPQUFPLENBQUMsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7U0FDekI7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekYsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFjLEVBQUUsSUFBZTtRQUN6QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFXO1FBQ3JCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUMvQyxDQUFDO2tJQTdXVSxjQUFjO3NIQUFkLGNBQWMsd0xBRmQsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsK2dCQVVoQyxXQUFXLHNKQUVSLG9CQUFvQiw0RkMxRXBDLDR6R0FpR0EsdzhCRGpESSxXQUFXLDhCQUNYLG1CQUFtQiwrQkFDbkIsV0FBVywrZEFDWCxPQUFPLHViQUNQLGVBQWUsNGpCQUNmLGNBQWMsbURBQ2QsZUFBZSxvREFDZixvQkFBb0IsMERBQ3BCLGdCQUFnQjs7NEZBUVAsY0FBYztrQkFwQjFCLFNBQVM7K0JBQ0UsR0FBRyxXQUFXLEVBQUUsY0FDZCxJQUFJLFdBQ1A7d0JBQ1AsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGdCQUFnQjtxQkFDakIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGNBQWMsZ0JBQWdCLENBQUM7d0RBS25CLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDRSxTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ0ssWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQUNDLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFDRSxXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWE7Z0JBQ0EsUUFBUTtzQkFBL0IsU0FBUzt1QkFBQyxXQUFXO2dCQUNFLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFFdEIsT0FBTztzQkFETixZQUFZO3VCQUFDLG9CQUFvQjtnQkFVUixJQUFJO3NCQUE3QixXQUFXO3VCQUFDLFdBQVc7Z0JBQ00sUUFBUTtzQkFBckMsV0FBVzt1QkFBQyxlQUFlO2dCQUVTLE9BQU87c0JBQTNDLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkNoYW5nZXMsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgaW5qZWN0LFxyXG4gIEFmdGVyUmVuZGVyUGhhc2UsXHJcbiAgYWZ0ZXJSZW5kZXJcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWExpc3RQcmVmaXgsIFhMaXN0Tm9kZSwgWExpc3RQcm9wZXJ0eSB9IGZyb20gJy4vbGlzdC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7XHJcbiAgWElzQ2hhbmdlLFxyXG4gIFhTZXREYXRhLFxyXG4gIFhDb25maWdTZXJ2aWNlLFxyXG4gIFhJc0VtcHR5LFxyXG4gIFhJc1VuZGVmaW5lZCxcclxuICBYSXNOdWxsLFxyXG4gIFhSZXNpemUsXHJcbiAgWFJlc2l6ZU9ic2VydmVyXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IFhMaXN0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LW9wdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcclxuaW1wb3J0IHsgRU5URVIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBYVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IFhJMThuTGlzdCwgWEkxOG5TZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaTE4bic7XHJcbmltcG9ydCB7IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCwgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XHJcbmltcG9ydCB7IFhMaXN0RHJvcEdyb3VwLCBYX0xJU1RfRFJPUF9HUk9VUCB9IGZyb20gJy4vbGlzdC1kcm9wLWdyb3VwLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFhPdXRsZXREaXJlY3RpdmUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5pbXBvcnQgeyBYSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYRW1wdHlDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9lbXB0eSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hMaXN0UHJlZml4fWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBDZGtEcm9wTGlzdCxcclxuICAgIENka0RyYWcsXHJcbiAgICBTY3JvbGxpbmdNb2R1bGUsXHJcbiAgICBYSWNvbkNvbXBvbmVudCxcclxuICAgIFhFbXB0eUNvbXBvbmVudCxcclxuICAgIFhMaXN0T3B0aW9uQ29tcG9uZW50LFxyXG4gICAgWE91dGxldERpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhMaXN0Q29tcG9uZW50KV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhMaXN0Q29tcG9uZW50IGV4dGVuZHMgWExpc3RQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBub2RlczogWExpc3ROb2RlW10gPSBbXTtcclxuICBzZWxlY3RlZE5vZGVzOiBYTGlzdE5vZGVbXSA9IFtdO1xyXG4gIEBWaWV3Q2hpbGQoJ2hlYWRlclJlZicpIGhlYWRlclJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2Zvb3RlclJlZicpIGZvb3RlclJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEFsbFJlZicpIHNlbGVjdEFsbFJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ2xvYWRNb3JlUmVmJykgbG9hZE1vcmVSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCd2aXJ0dWFsQm9keScpIHZpcnR1YWxCb2R5ITogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xyXG4gIEBWaWV3Q2hpbGQoQ2RrRHJvcExpc3QpIGRyb3BMaXN0ITogQ2RrRHJvcExpc3Q7XHJcbiAgQFZpZXdDaGlsZCgnbGlzdEl0ZW1zJykgbGlzdEl0ZW1zITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZHJlbihYTGlzdE9wdGlvbkNvbXBvbmVudClcclxuICBvcHRpb25zITogUXVlcnlMaXN0PFhMaXN0T3B0aW9uQ29tcG9uZW50PjtcclxuICBrZXlNYW5hZ2VyITogQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8WExpc3RPcHRpb25Db21wb25lbnQ+O1xyXG4gIGlzU2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgbG9jYWxlOiBYSTE4bkxpc3QgPSB7fTtcclxuICBsb2FkTW9yZUluZGV4ID0gMDtcclxuICBpY29uOiBzdHJpbmcgPSAnJztcclxuICBpY29uU3BpbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyITogWFJlc2l6ZU9ic2VydmVyO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGUgPSAnbGlzdGJveCc7XHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JykgdGFiaW5kZXggPSAtMTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pIGtleWRvd24oJGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICB0aGlzLmtleU1hbmFnZXIub25LZXlkb3duKCRldmVudCk7XHJcbiAgICBjb25zdCBhY3RpdmVJbmRleCA9IHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggYXMgbnVtYmVyO1xyXG4gICAgaWYgKCRldmVudC5rZXlDb2RlID09PSBFTlRFUiAmJiAhWElzVW5kZWZpbmVkKGFjdGl2ZUluZGV4KSkge1xyXG4gICAgICB0aGlzLnNldFVuQWN0aXZlKGFjdGl2ZUluZGV4KTtcclxuICAgICAgdGhpcy5vbk5vZGVDbGljaygkZXZlbnQsIHRoaXMubm9kZXNbYWN0aXZlSW5kZXhdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGl0ZW1TaXplTWFwOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge1xyXG4gICAgbWluaTogMjIsXHJcbiAgICBzbWFsbDogMjQsXHJcbiAgICBtZWRpdW06IDI4LFxyXG4gICAgbGFyZ2U6IDMyLFxyXG4gICAgYmlnOiAzNlxyXG4gIH07XHJcblxyXG4gIGdldCBnZXRJdGVtU2l6ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLml0ZW1TaXplTWFwW3RoaXMuc2l6ZV07XHJcbiAgfVxyXG5cclxuICBnZXQgaXNFbXB0eSgpIHtcclxuICAgIHJldHVybiBYSXNFbXB0eSh0aGlzLm5vZGVzKTtcclxuICB9XHJcblxyXG4gIGdldCBnZXRTZWxlY3RBbGxUZXh0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0QWxsVGV4dCB8fCB0aGlzLmxvY2FsZS5zZWxlY3RBbGxUZXh0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldExvYWRNb3JlVGV4dCgpIHtcclxuICAgIHJldHVybiB0aGlzLmxvYWRNb3JlVGV4dCB8fCB0aGlzLmxvY2FsZS5sb2FkTW9yZVRleHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0TG9hZGluZ01vcmVUZXh0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMubG9hZGluZ01vcmVUZXh0IHx8IHRoaXMubG9jYWxlLmxvYWRpbmdNb3JlVGV4dDtcclxuICB9XHJcblxyXG4gIGdldCBnZXRWaXJ0dWFsU2Nyb2xsSGVpZ2h0KCkge1xyXG4gICAgbGV0IGhlYWRlckggPSAwLFxyXG4gICAgICBmb290ZXJIID0gMCxcclxuICAgICAgc2VsZWN0QWxsSCA9IDAsXHJcbiAgICAgIGxvYWRNb3JlSCA9IDA7XHJcbiAgICBpZiAodGhpcy5oZWFkZXJSZWYpIGhlYWRlckggPSB0aGlzLmhlYWRlclJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgIGlmICh0aGlzLmZvb3RlclJlZikgZm9vdGVySCA9IHRoaXMuZm9vdGVyUmVmLm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0QWxsUmVmKSBzZWxlY3RBbGxIID0gdGhpcy5zZWxlY3RBbGxSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICBpZiAodGhpcy5sb2FkTW9yZVJlZikgbG9hZE1vcmVIID0gdGhpcy5sb2FkTW9yZVJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuXHJcbiAgICByZXR1cm4gTnVtYmVyKHRoaXMuc2Nyb2xsSGVpZ2h0KSAtIGhlYWRlckggLSBmb290ZXJIIC0gc2VsZWN0QWxsSCAtIGxvYWRNb3JlSDtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZXRTZWxlY3RlZCgpO1xyXG4gICAgdGhpcy5zZXRLZXlNYW5hZ2VyKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIG92ZXJyaWRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgcHJpdmF0ZSBpMThuID0gaW5qZWN0KFhJMThuU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBncm91cCA9IGluamVjdDxYTGlzdERyb3BHcm91cD4oWF9MSVNUX0RST1BfR1JPVVAsIHsgb3B0aW9uYWw6IHRydWUsIHNraXBTZWxmOiB0cnVlIH0pO1xyXG4gIGNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoWENvbmZpZ1NlcnZpY2UpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICBhZnRlclJlbmRlcihcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLnZpcnR1YWxTY3JvbGwgJiYgdGhpcy5zY3JvbGxIZWlnaHQpIHtcclxuICAgICAgICAgIHRoaXMudmlydHVhbEJvZHk/LmNoZWNrVmlld3BvcnRTaXplKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICB7IHBoYXNlOiBBZnRlclJlbmRlclBoYXNlLk1peGVkUmVhZFdyaXRlIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2VcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKCh4KSA9PiB4Lmxpc3QgYXMgWEkxOG5MaXN0KSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLmxvY2FsZSA9IHg7XHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgeyBkYXRhIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKGRhdGEpICYmIHRoaXMuc2V0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5pbml0S2V5TWFuYWdlcigpO1xyXG4gICAgaWYgKHRoaXMudmlydHVhbFNjcm9sbCAmJiB0aGlzLmhlaWdodEFkYXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc2V0VmlydHVhbFNjcm9sbEhlaWdodCgpO1xyXG4gICAgICBYUmVzaXplKHRoaXMuaGVpZ2h0QWRhcHRpb24gYXMgSFRNTEVsZW1lbnQpXHJcbiAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwKSwgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSB4LnJlc2l6ZU9ic2VydmVyO1xyXG4gICAgICAgICAgdGhpcy5zZXRWaXJ0dWFsU2Nyb2xsSGVpZ2h0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ncm91cCAmJiB0aGlzLmRyb3BMaXN0KSB7XHJcbiAgICAgIHRoaXMuZ3JvdXAuZHJvcExpc3RzLmFkZCh0aGlzLmRyb3BMaXN0KTtcclxuICAgICAgdGhpcy5ncm91cC5zZXRDb25uZWN0ZWRUbygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xyXG4gICAgdGhpcy5ncm91cD8uZHJvcExpc3RzLmRlbGV0ZSh0aGlzLmRyb3BMaXN0KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VmlydHVhbFNjcm9sbEhlaWdodCgpIHtcclxuICAgIHRoaXMuc2Nyb2xsSGVpZ2h0ID0gKHRoaXMuaGVpZ2h0QWRhcHRpb24gYXMgSFRNTEVsZW1lbnQpLmNsaWVudEhlaWdodDtcclxuICAgIHRoaXMubWluQnVmZmVyUHggPSB0aGlzLmdldFZpcnR1YWxTY3JvbGxIZWlnaHQ7XHJcbiAgICB0aGlzLm1heEJ1ZmZlclB4ID0gdGhpcy5nZXRWaXJ0dWFsU2Nyb2xsSGVpZ2h0ICogMS4yO1xyXG4gICAgdGhpcy52aXJ0dWFsQm9keVsnX3Njcm9sbFN0cmF0ZWd5J11bJ19taW5CdWZmZXJQeCddID0gdGhpcy5taW5CdWZmZXJQeDtcclxuICAgIHRoaXMudmlydHVhbEJvZHlbJ19zY3JvbGxTdHJhdGVneSddWydfbWF4QnVmZmVyUHgnXSA9IHRoaXMubWF4QnVmZmVyUHg7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERhdGEoKSB7XHJcbiAgICBpZiAodGhpcy5sb2FkTW9yZSkge1xyXG4gICAgICB0aGlzLmljb24gPSAnZnRvLWxvYWRlcic7XHJcbiAgICAgIHRoaXMuaWNvblNwaW4gPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgWFNldERhdGE8WExpc3ROb2RlPih0aGlzLmRhdGEsIHRoaXMuX3VuU3ViamVjdCwgdHJ1ZSwgdGhpcy5sb2FkTW9yZUluZGV4KS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgaWYgKHRoaXMubG9hZE1vcmUpIHtcclxuICAgICAgICB0aGlzLm5vZGVzID0gWy4uLnRoaXMubm9kZXMsIC4uLnhdO1xyXG4gICAgICAgIHRoaXMuaWNvbiA9ICcnO1xyXG4gICAgICAgIHRoaXMuaWNvblNwaW4gPSBmYWxzZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm5vZGVzID0geDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNldFNlbGVjdGVkKCk7XHJcbiAgICAgIHRoaXMuc2V0S2V5TWFuYWdlcigpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdEtleU1hbmFnZXIoKSB7XHJcbiAgICB0aGlzLmtleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8WExpc3RPcHRpb25Db21wb25lbnQ+KHRoaXMub3B0aW9ucykud2l0aFdyYXAoKTtcclxuXHJcbiAgICB0aGlzLmtleU1hbmFnZXIudGFiT3V0LnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0VW5BY3RpdmUodGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCBhcyBudW1iZXIpO1xyXG4gICAgICB0aGlzLmtleU1hbmFnZXJUYWJPdXQuZW1pdCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5rZXlNYW5hZ2VyLmNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKG51bTogbnVtYmVyKSA9PiB7XHJcbiAgICAgIHRoaXMuc2V0U2NvcmxsVG9wKG51bSk7XHJcbiAgICAgIHRoaXMua2V5TWFuYWdlckNoYW5nZS5lbWl0KG51bSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldFNjb3JsbFRvcChfbnVtOiBudW1iZXIpIHtcclxuICAgIGlmICghdGhpcy5zY3JvbGxFbGVtZW50IHx8ICF0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbSkgcmV0dXJuO1xyXG4gICAgbGV0IGVsZSA9IHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtIS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBsZXQgbGlzdCA9IHRoaXMuc2Nyb2xsRWxlbWVudDtcclxuICAgIGxldCBtaW4gPSBsaXN0LnNjcm9sbFRvcDtcclxuICAgIGxldCBtYXggPSBsaXN0LnNjcm9sbFRvcCArIGxpc3QuY2xpZW50SGVpZ2h0O1xyXG4gICAgaWYgKGVsZS5vZmZzZXRUb3AgKyBlbGUuY2xpZW50SGVpZ2h0ID4gbWF4KSB7XHJcbiAgICAgIGxldCBzY3JvbGxUb3AgPSBlbGUub2Zmc2V0VG9wICsgZWxlLmNsaWVudEhlaWdodCAtIGxpc3QuY2xpZW50SGVpZ2h0O1xyXG4gICAgICBsaXN0LnNjcm9sbFRvcCA9IHNjcm9sbFRvcDtcclxuICAgIH1cclxuICAgIGlmIChlbGUub2Zmc2V0VG9wIDwgbWluKSB7XHJcbiAgICAgIGxpc3Quc2Nyb2xsVG9wID0gZWxlLm9mZnNldFRvcDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFNlbGVjdGVkKCkge1xyXG4gICAgaWYgKHRoaXMubm9kZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLm5vZGVzXHJcbiAgICAgICAgLmZpbHRlcigoeCkgPT4geC5zZWxlY3RlZClcclxuICAgICAgICAubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgICB4LnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIGxldCB2YWxBcnJ5OiBhbnlbXSA9IFtdO1xyXG4gICAgICBpZiAodGhpcy52YWx1ZSBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgICAgdmFsQXJyeSA9IHRoaXMudmFsdWU7XHJcbiAgICAgICAgaWYgKHZhbEFycnkubGVuZ3RoID09PSB0aGlzLm5vZGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgdGhpcy5pc1NlbGVjdEFsbCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHZhbEFycnkgPSBbdGhpcy52YWx1ZV07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxldCBpZHMgPSBbXTtcclxuICAgICAgbGV0IHNlbGVjdGVkTm9kZXMgPSBbXTtcclxuICAgICAgaWYgKHRoaXMub2JqZWN0QXJyYXkpIHtcclxuICAgICAgICBpZHMgPSB2YWxBcnJ5LmZpbHRlcigoeCkgPT4gIVhJc1VuZGVmaW5lZCh4KSAmJiAhWElzTnVsbCh4KSkubWFwKCh4KSA9PiB4LmlkKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZHMgPSB2YWxBcnJ5O1xyXG4gICAgICB9XHJcbiAgICAgIGZvciAobGV0IGlkIG9mIGlkcykge1xyXG4gICAgICAgIGxldCBub2RlID0gdGhpcy5ub2Rlcy5maW5kKCh4KSA9PiB4LmlkID09PSBpZCk7XHJcbiAgICAgICAgaWYgKG5vZGUpIHtcclxuICAgICAgICAgIG5vZGUuc2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgc2VsZWN0ZWROb2Rlcy5wdXNoKG5vZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBzZWxlY3RlZE5vZGVzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0S2V5TWFuYWdlcigpIHtcclxuICAgIGlmIChYSXNVbmRlZmluZWQodGhpcy5rZXlNYW5hZ2VyKSB8fCBYSXNVbmRlZmluZWQodGhpcy5ub2RlcykgfHwgdGhpcy5ub2Rlcy5sZW5ndGggPT09IDApIHJldHVybjtcclxuICAgIGxldCBhY3RpdmVJbmRleCA9IDA7XHJcbiAgICBpZiAoWElzRW1wdHkodGhpcy52YWx1ZSkpIHtcclxuICAgICAgdGhpcy5rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oYWN0aXZlSW5kZXgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgdmFsQXJyeTogYW55W10gPSBbXTtcclxuICAgIGlmICh0aGlzLnZhbHVlIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgdmFsQXJyeSA9IHRoaXMudmFsdWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB2YWxBcnJ5ID0gW3RoaXMudmFsdWVdO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZmlyc3QgPSB2YWxBcnJ5WzBdO1xyXG4gICAgaWYgKHRoaXMub2JqZWN0QXJyYXkpIHtcclxuICAgICAgYWN0aXZlSW5kZXggPSB0aGlzLm5vZGVzLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gZmlyc3QuaWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYWN0aXZlSW5kZXggPSB0aGlzLm5vZGVzLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gZmlyc3QpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0oYWN0aXZlSW5kZXgpO1xyXG4gICAgdGhpcy5zZXRTY29ybGxUb3AoYWN0aXZlSW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgb25Ob2RlQ2xpY2soZXZlbnQ6IEV2ZW50LCBub2RlOiBYTGlzdE5vZGUpIHtcclxuICAgIGlmIChYSXNVbmRlZmluZWQobm9kZSkgfHwgbm9kZS5kaXNhYmxlZCkge1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIGlmIChub2RlLnNlbGVjdGVkICYmIHRoaXMubXVsdGlwbGUgPT09IDEpIHtcclxuICAgICAgbm9kZS5ldmVudCA9IGV2ZW50O1xyXG4gICAgICB0aGlzLm5vZGVDbGljay5lbWl0KG5vZGUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBzZWxlY3RlZCA9ICFub2RlLnNlbGVjdGVkO1xyXG4gICAgaWYgKHNlbGVjdGVkKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkTm9kZXMubGVuZ3RoIDwgTnVtYmVyKHRoaXMubXVsdGlwbGUpIHx8IHRoaXMubXVsdGlwbGUgPT09IDApIHtcclxuICAgICAgICBub2RlLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzID0gWy4uLnRoaXMuc2VsZWN0ZWROb2Rlcywgbm9kZV07XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWROb2Rlcy5sZW5ndGggPT09IHRoaXMubm9kZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICB0aGlzLmlzU2VsZWN0QWxsID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMubXVsdGlwbGUgPT09IDEgJiYgdGhpcy5zZWxlY3RlZE5vZGVzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgIG5vZGUuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXNbMF0uc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXNbMF0gPSBub2RlO1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG5vZGUuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVzLnNwbGljZShcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZXMuZmluZEluZGV4KCh4KSA9PiB4LmlkID09IG5vZGUuaWQpLFxyXG4gICAgICAgIDFcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5pc1NlbGVjdEFsbCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUgPT09IDEgJiYgdGhpcy5zZWxlY3RlZE5vZGVzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5vYmplY3RBcnJheSA/IHRoaXMuc2VsZWN0ZWROb2Rlc1swXSA6IHRoaXMuc2VsZWN0ZWROb2Rlc1swXS5pZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm9iamVjdEFycmF5ID8gdGhpcy5zZWxlY3RlZE5vZGVzIDogdGhpcy5zZWxlY3RlZE5vZGVzLm1hcCgoeCkgPT4geC5pZCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIG5vZGUuZXZlbnQgPSBldmVudDtcclxuICAgIHRoaXMubm9kZUNsaWNrLmVtaXQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBvbk1vdXNlZW50ZXIoZXZlbnQ6IEV2ZW50LCBub2RlOiBYTGlzdE5vZGUpIHtcclxuICAgIGlmIChub2RlLmRpc2FibGVkKSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBub2RlLmV2ZW50ID0gZXZlbnQ7XHJcbiAgICB0aGlzLm5vZGVNb3VzZWVudGVyLmVtaXQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBvbk1vdXNlbGVhdmUoZXZlbnQ6IEV2ZW50LCBub2RlOiBYTGlzdE5vZGUpIHtcclxuICAgIGlmIChub2RlLmRpc2FibGVkKSB7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBub2RlLmV2ZW50ID0gZXZlbnQ7XHJcbiAgICB0aGlzLm5vZGVNb3VzZWxlYXZlLmVtaXQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBkcm9wQ2RrKGV2ZW50OiBDZGtEcmFnRHJvcDxYTGlzdE5vZGVbXT4pIHtcclxuICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLm5vZGVzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xyXG4gICAgdGhpcy5kcm9wTGlzdERyb3BwZWQuZW1pdCh7XHJcbiAgICAgIGRhdGE6IHRoaXMubm9kZXMsXHJcbiAgICAgIGN1cnJlbnQ6IHRoaXMubm9kZXNbZXZlbnQuY3VycmVudEluZGV4XSxcclxuICAgICAgY3VycmVudEluZGV4OiBldmVudC5jdXJyZW50SW5kZXgsXHJcbiAgICAgIGV2ZW50OiBldmVudFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcmVkaWNhdGUoX2RyYWc6IENka0RyYWc8WExpc3ROb2RlPiwgX2Ryb3A6IENka0Ryb3BMaXN0PFhMaXN0Tm9kZT4pIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RBbGxOb2RlcygpIHtcclxuICAgIHRoaXMuaXNTZWxlY3RBbGwgPSAhdGhpcy5pc1NlbGVjdEFsbDtcclxuICAgIGlmICh0aGlzLmlzU2VsZWN0QWxsKSB7XHJcbiAgICAgIHRoaXMubm9kZXMubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgeC5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuIHg7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZXMgPSBbLi4udGhpcy5ub2Rlc107XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm5vZGVzLm1hcCgoeCkgPT4ge1xyXG4gICAgICAgIHguc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm4geDtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlcyA9IFtdO1xyXG4gICAgfVxyXG4gICAgdGhpcy52YWx1ZSA9IHRoaXMub2JqZWN0QXJyYXkgPyB0aGlzLnNlbGVjdGVkTm9kZXMgOiB0aGlzLnNlbGVjdGVkTm9kZXMubWFwKCh4KSA9PiB4LmlkKTtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5vblNlbGVjdEFsbC5lbWl0KHRoaXMuaXNTZWxlY3RBbGwpO1xyXG4gIH1cclxuXHJcbiAgb25Mb2FkTW9yZSgpIHtcclxuICAgIHRoaXMubG9hZE1vcmVJbmRleCsrO1xyXG4gICAgdGhpcy5zZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Tm9kZShfaW5kZXg6IG51bWJlciwgaXRlbTogWExpc3ROb2RlKSB7XHJcbiAgICByZXR1cm4gaXRlbS5pZDtcclxuICB9XHJcblxyXG4gIHNldFVuQWN0aXZlKG51bTogbnVtYmVyKSB7XHJcbiAgICBpZiAobnVtID4gLTEpIHRoaXMubm9kZXNbbnVtXS5hY3RpdmUgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtbGlzdFwiPlxyXG4gIEBpZiAoaGVhZGVyKSB7XHJcbiAgICA8ZGl2ICNoZWFkZXJSZWYgY2xhc3M9XCJ4LWxpc3QtaGVhZGVyXCIgKnhPdXRsZXQ9XCJoZWFkZXJcIj57eyBoZWFkZXIgfX08L2Rpdj5cclxuICB9XHJcbiAgQGlmIChzZWxlY3RBbGwgJiYgbXVsdGlwbGUgPT09IDApIHtcclxuICAgIDxkaXYgI3NlbGVjdEFsbFJlZiBjbGFzcz1cIngtbGlzdC1zZWxlY3QtYWxsXCI+XHJcbiAgICAgIDx4LWxpc3Qtb3B0aW9uXHJcbiAgICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgICAgW2xhYmVsXT1cImdldFNlbGVjdEFsbFRleHRcIlxyXG4gICAgICAgIFtjaGVja2VkXT1cInRydWVcIlxyXG4gICAgICAgIFtzZWxlY3RlZF09XCJpc1NlbGVjdEFsbFwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0QWxsTm9kZXMoKVwiXHJcbiAgICAgID48L3gtbGlzdC1vcHRpb24+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgQGlmICh2aXJ0dWFsU2Nyb2xsKSB7XHJcbiAgICA8Y2RrLXZpcnR1YWwtc2Nyb2xsLXZpZXdwb3J0XHJcbiAgICAgICN2aXJ0dWFsQm9keVxyXG4gICAgICBbaXRlbVNpemVdPVwiZ2V0SXRlbVNpemVcIlxyXG4gICAgICBbbWluQnVmZmVyUHhdPVwibWluQnVmZmVyUHhcIlxyXG4gICAgICBbbWF4QnVmZmVyUHhdPVwibWF4QnVmZmVyUHhcIlxyXG4gICAgICBjbGFzcz1cIngtbGlzdC1jb250ZW50XCJcclxuICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJnZXRWaXJ0dWFsU2Nyb2xsSGVpZ2h0XCJcclxuICAgICAgW2hpZGRlbl09XCJpc0VtcHR5XCJcclxuICAgID5cclxuICAgICAgPHgtbGlzdC1vcHRpb25cclxuICAgICAgICAqY2RrVmlydHVhbEZvcj1cImxldCBub2RlIG9mIG5vZGVzOyB0cmFja0J5OiB0cmFja0J5Tm9kZVwiXHJcbiAgICAgICAgW25vZGVdPVwibm9kZVwiXHJcbiAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXHJcbiAgICAgICAgW25vZGVUcGxdPVwibm9kZVRwbFwiXHJcbiAgICAgICAgW3NlbGVjdGVkXT1cIm5vZGUuc2VsZWN0ZWRcIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCJcclxuICAgICAgICBbb3BlblBvcnRhbF09XCJub2RlLm9wZW5Qb3J0YWxcIlxyXG4gICAgICAgIFsoYWN0aXZlKV09XCJub2RlLmFjdGl2ZVwiXHJcbiAgICAgICAgW2ljb25dPVwibm9kZS5pY29uXCJcclxuICAgICAgICBbbGFiZWxdPVwibm9kZS5sYWJlbFwiXHJcbiAgICAgICAgW2xlYWZdPVwibm9kZS5sZWFmXCJcclxuICAgICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgICBba2V5d29yZFRleHRdPVwia2V5d29yZFRleHRcIlxyXG4gICAgICAgIFtjYXNlU2Vuc2l0aXZlXT1cImNhc2VTZW5zaXRpdmVcIlxyXG4gICAgICAgIChjbGljayk9XCJvbk5vZGVDbGljaygkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlZW50ZXIoJGV2ZW50LCBub2RlKVwiXHJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZWxlYXZlKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICA+PC94LWxpc3Qtb3B0aW9uPlxyXG4gICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XHJcbiAgfSBAZWxzZSB7XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwieC1saXN0LWNvbnRlbnRcIlxyXG4gICAgICBjZGtEcm9wTGlzdFxyXG4gICAgICAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3BDZGsoJGV2ZW50KVwiXHJcbiAgICAgIFtjZGtEcm9wTGlzdERpc2FibGVkXT1cIiFkcmFnXCJcclxuICAgICAgW2hpZGRlbl09XCJpc0VtcHR5XCJcclxuICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJub2Rlc1wiXHJcbiAgICAgIFtjZGtEcm9wTGlzdEVudGVyUHJlZGljYXRlXT1cInByZWRpY2F0ZVwiXHJcbiAgICA+XHJcbiAgICAgIEBmb3IgKG5vZGUgb2Ygbm9kZXM7IHRyYWNrIG5vZGUuaWQpIHtcclxuICAgICAgICA8eC1saXN0LW9wdGlvblxyXG4gICAgICAgICAgY2RrRHJhZ1xyXG4gICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCJcclxuICAgICAgICAgIFtub2RlXT1cIm5vZGVcIlxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXHJcbiAgICAgICAgICBbbm9kZVRwbF09XCJub2RlVHBsXCJcclxuICAgICAgICAgIFtzZWxlY3RlZF09XCJub2RlLnNlbGVjdGVkXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJub2RlLmRpc2FibGVkXCJcclxuICAgICAgICAgIFsoYWN0aXZlKV09XCJub2RlLmFjdGl2ZVwiXHJcbiAgICAgICAgICBbb3BlblBvcnRhbF09XCJub2RlLm9wZW5Qb3J0YWxcIlxyXG4gICAgICAgICAgW2ljb25dPVwibm9kZS5pY29uXCJcclxuICAgICAgICAgIFtsYWJlbF09XCJub2RlLmxhYmVsXCJcclxuICAgICAgICAgIFtsZWFmXT1cIm5vZGUubGVhZlwiXHJcbiAgICAgICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgICAgIFtrZXl3b3JkVGV4dF09XCJrZXl3b3JkVGV4dFwiXHJcbiAgICAgICAgICBbY2FzZVNlbnNpdGl2ZV09XCJjYXNlU2Vuc2l0aXZlXCJcclxuICAgICAgICAgIChjbGljayk9XCJvbk5vZGVDbGljaygkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VlbnRlcigkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VsZWF2ZSgkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgICA+PC94LWxpc3Qtb3B0aW9uPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgQGlmIChsb2FkTW9yZSAmJiAhaXNFbXB0eSkge1xyXG4gICAgPGRpdiAjbG9hZE1vcmVSZWYgY2xhc3M9XCJ4LWxpc3QtbG9hZC1tb3JlXCI+XHJcbiAgICAgIDx4LWxpc3Qtb3B0aW9uIFtzaXplXT1cInNpemVcIiBbbm9kZVRwbF09XCJsb2FkTW9yZVRwbFwiIChjbGljayk9XCJvbkxvYWRNb3JlKClcIj48L3gtbGlzdC1vcHRpb24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbG9hZE1vcmVUcGw+XHJcbiAgICAgIEBpZiAoaWNvbiAmJiBpY29uU3Bpbikge1xyXG4gICAgICAgIDx4LWljb24gW3R5cGVdPVwiaWNvblwiIFtzcGluXT1cImljb25TcGluXCI+PC94LWljb24+XHJcbiAgICAgIH1cclxuICAgICAge3sgaWNvbiAmJiBpY29uU3BpbiA/IGdldExvYWRpbmdNb3JlVGV4dCA6IGdldExvYWRNb3JlVGV4dCB9fVxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICB9XHJcbiAgQGlmIChpc0VtcHR5KSB7XHJcbiAgICA8eC1lbXB0eT48L3gtZW1wdHk+XHJcbiAgfVxyXG4gIEBpZiAoZm9vdGVyKSB7XHJcbiAgICA8ZGl2ICNmb290ZXJSZWYgY2xhc3M9XCJ4LWxpc3QtZm9vdGVyXCIgKnhPdXRsZXQ9XCJmb290ZXJcIj57eyBmb290ZXIgfX08L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
@@ -4,15 +4,15 @@ import { XListOptionComponent } from './list-option.component';
4
4
  import { XListDropGroup } from './list-drop-group.directive';
5
5
  import * as i0 from "@angular/core";
6
6
  export class XListModule {
7
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.0", ngImport: i0, type: XListModule, imports: [XListComponent, XListDropGroup, XListOptionComponent], exports: [XListComponent, XListDropGroup, XListOptionComponent] }); }
9
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XListModule, imports: [XListComponent, XListOptionComponent] }); }
7
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: XListModule, imports: [XListComponent, XListDropGroup, XListOptionComponent], exports: [XListComponent, XListDropGroup, XListOptionComponent] }); }
9
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XListModule, imports: [XListComponent, XListOptionComponent] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XListModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XListModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  exports: [XListComponent, XListDropGroup, XListOptionComponent],
15
15
  imports: [XListComponent, XListDropGroup, XListOptionComponent]
16
16
  }]
17
17
  }] });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFNN0QsTUFBTSxPQUFPLFdBQVc7aUlBQVgsV0FBVztrSUFBWCxXQUFXLFlBRlosY0FBYyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsYUFEcEQsY0FBYyxFQUFFLGNBQWMsRUFBRSxvQkFBb0I7a0lBR25ELFdBQVcsWUFGWixjQUFjLEVBQWtCLG9CQUFvQjs7MkZBRW5ELFdBQVc7a0JBSnZCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsQ0FBQztvQkFDL0QsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsQ0FBQztpQkFDaEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYTGlzdENvbXBvbmVudCB9IGZyb20gJy4vbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYTGlzdE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1vcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgWExpc3REcm9wR3JvdXAgfSBmcm9tICcuL2xpc3QtZHJvcC1ncm91cC5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbWExpc3RDb21wb25lbnQsIFhMaXN0RHJvcEdyb3VwLCBYTGlzdE9wdGlvbkNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1hMaXN0Q29tcG9uZW50LCBYTGlzdERyb3BHcm91cCwgWExpc3RPcHRpb25Db21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYTGlzdE1vZHVsZSB7fVxyXG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9saXN0L2xpc3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFNN0QsTUFBTSxPQUFPLFdBQVc7a0lBQVgsV0FBVzttSUFBWCxXQUFXLFlBRlosY0FBYyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsYUFEcEQsY0FBYyxFQUFFLGNBQWMsRUFBRSxvQkFBb0I7bUlBR25ELFdBQVcsWUFGWixjQUFjLEVBQWtCLG9CQUFvQjs7NEZBRW5ELFdBQVc7a0JBSnZCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsQ0FBQztvQkFDL0QsT0FBTyxFQUFFLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxvQkFBb0IsQ0FBQztpQkFDaEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYTGlzdENvbXBvbmVudCB9IGZyb20gJy4vbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYTGlzdE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1vcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgWExpc3REcm9wR3JvdXAgfSBmcm9tICcuL2xpc3QtZHJvcC1ncm91cC5kaXJlY3RpdmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbWExpc3RDb21wb25lbnQsIFhMaXN0RHJvcEdyb3VwLCBYTGlzdE9wdGlvbkNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1hMaXN0Q29tcG9uZW50LCBYTGlzdERyb3BHcm91cCwgWExpc3RPcHRpb25Db21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYTGlzdE1vZHVsZSB7fVxyXG4iXX0=
@@ -72,8 +72,8 @@ export class XListProperty extends XControlValueAccessor {
72
72
  */
73
73
  this.keyManagerChange = new EventEmitter();
74
74
  }
75
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XListProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
76
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: XListProperty, selector: "x-list-property", inputs: { data: "data", multiple: "multiple", selectAll: "selectAll", selectAllText: "selectAllText", checked: "checked", drag: "drag", objectArray: "objectArray", nodeTpl: "nodeTpl", header: "header", footer: "footer", scrollElement: "scrollElement", size: "size", loadMore: "loadMore", loadMoreText: "loadMoreText", loadingMoreText: "loadingMoreText", virtualScroll: "virtualScroll", scrollHeight: "scrollHeight", heightAdaption: "heightAdaption", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx", keywordText: "keywordText", caseSensitive: "caseSensitive" }, outputs: { onSelectAll: "onSelectAll", nodeMouseenter: "nodeMouseenter", nodeMouseleave: "nodeMouseleave", nodeClick: "nodeClick", dropListDropped: "dropListDropped", keyManagerTabOut: "keyManagerTabOut", keyManagerChange: "keyManagerChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
75
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XListProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
76
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: XListProperty, selector: "x-list-property", inputs: { data: "data", multiple: "multiple", selectAll: "selectAll", selectAllText: "selectAllText", checked: "checked", drag: "drag", objectArray: "objectArray", nodeTpl: "nodeTpl", header: "header", footer: "footer", scrollElement: "scrollElement", size: "size", loadMore: "loadMore", loadMoreText: "loadMoreText", loadingMoreText: "loadingMoreText", virtualScroll: "virtualScroll", scrollHeight: "scrollHeight", heightAdaption: "heightAdaption", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx", keywordText: "keywordText", caseSensitive: "caseSensitive" }, outputs: { onSelectAll: "onSelectAll", nodeMouseenter: "nodeMouseenter", nodeMouseleave: "nodeMouseleave", nodeClick: "nodeClick", dropListDropped: "dropListDropped", keyManagerTabOut: "keyManagerTabOut", keyManagerChange: "keyManagerChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
77
77
  }
78
78
  __decorate([
79
79
  XDataConvert()
@@ -120,7 +120,7 @@ __decorate([
120
120
  XInputBoolean(),
121
121
  XWithConfig(X_CONFIG_NAME, true)
122
122
  ], XListProperty.prototype, "caseSensitive", void 0);
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XListProperty, decorators: [{
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XListProperty, decorators: [{
124
124
  type: Component,
125
125
  args: [{ selector: `${XListPrefix}-property`, template: '' }]
126
126
  }], propDecorators: { data: [{
@@ -199,8 +199,8 @@ export class XListOptionProperty {
199
199
  */
200
200
  this.activeChange = new EventEmitter();
201
201
  }
202
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XListOptionProperty, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
203
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.0", type: XListOptionProperty, selector: "x-list-option-property", inputs: { node: "node", checked: "checked", nodeTpl: "nodeTpl", selected: "selected", disabled: "disabled", active: "active", openPortal: "openPortal", optionClass: "optionClass", icon: "icon", divided: "divided", label: "label", leaf: "leaf", size: "size", keywordText: "keywordText", caseSensitive: "caseSensitive" }, outputs: { activeChange: "activeChange" }, ngImport: i0, template: '', isInline: true }); }
202
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XListOptionProperty, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
203
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: XListOptionProperty, selector: "x-list-option-property", inputs: { node: "node", checked: "checked", nodeTpl: "nodeTpl", selected: "selected", disabled: "disabled", active: "active", openPortal: "openPortal", optionClass: "optionClass", icon: "icon", divided: "divided", label: "label", leaf: "leaf", size: "size", keywordText: "keywordText", caseSensitive: "caseSensitive" }, outputs: { activeChange: "activeChange" }, ngImport: i0, template: '', isInline: true }); }
204
204
  }
205
205
  __decorate([
206
206
  XInputBoolean()
@@ -227,7 +227,7 @@ __decorate([
227
227
  XInputBoolean(),
228
228
  XWithConfig(X_CONFIG_NAME, true)
229
229
  ], XListOptionProperty.prototype, "caseSensitive", void 0);
230
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImport: i0, type: XListOptionProperty, decorators: [{
230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XListOptionProperty, decorators: [{
231
231
  type: Component,
232
232
  args: [{ selector: `${XListOptionPrefix}-property`, template: '' }]
233
233
  }], propDecorators: { node: [{
@@ -263,4 +263,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.0", ngImpor
263
263
  }], activeChange: [{
264
264
  type: Output
265
265
  }] } });
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2xpc3QvbGlzdC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdMLFlBQVksRUFDWixZQUFZLEVBQ1osYUFBYSxFQUliLFdBQVcsRUFFWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUc5RDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQztBQUNwQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUM7QUFFN0I7O0dBRUc7QUFFSCxNQUFNLE9BQU8sYUFBYyxTQUFRLHFCQUEwQjtJQUQ3RDs7UUFFRTs7O1dBR0c7UUFDc0IsU0FBSSxHQUFxQixFQUFFLENBQUM7UUFDckQ7OztXQUdHO1FBQ3NCLGFBQVEsR0FBWSxDQUFDLENBQUM7UUFvRi9DOzs7V0FHRztRQUNNLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBQ25DOzs7V0FHRztRQUNNLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBV25DOzs7V0FHRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNwRDs7O1dBR0c7UUFDTyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDekQ7OztXQUdHO1FBQ08sbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBQ3pEOzs7V0FHRztRQUNPLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBQ3BEOzs7V0FHRztRQUNPLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFDOUQ7OztXQUdHO1FBQ08scUJBQWdCLEdB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QUthO0lBQTVDLFdBQVcsQ0FBUSxhQUFhLEVBQUUsUUFBUSxDQUFDO2lEQUFjO0FBVUc7SUFBNUQsYUFBYSxFQUFFO0lBQUUsV0FBVyxDQUFXLGFBQWEsRUFBRSxJQUFJLENBQUM7MERBQTBCOzJGQTNFcEYsbUJBQW1CO2tCQUQvQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsaUJBQWlCLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU0zRCxJQUFJO3NCQUFaLEtBQUs7Z0JBS29CLE9BQU87c0JBQWhDLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQUtvQixRQUFRO3NCQUFqQyxLQUFLO2dCQUtvQixRQUFRO3NCQUFqQyxLQUFLO2dCQUtvQixNQUFNO3NCQUEvQixLQUFLO2dCQUtvQixVQUFVO3NCQUFuQyxLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS29CLElBQUk7c0JBQTdCLEtBQUs7Z0JBS2dELElBQUk7c0JBQXpELEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLZ0UsYUFBYTtzQkFBbEYsS0FBSztnQkFLSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBYRGF0YSxcclxuICBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYRGF0YUNvbnZlcnQsXHJcbiAgWElucHV0TnVtYmVyLFxyXG4gIFhJbnB1dEJvb2xlYW4sXHJcbiAgWE51bWJlcixcclxuICBYQm9vbGVhbixcclxuICBYVGVtcGxhdGUsXHJcbiAgWFdpdGhDb25maWcsXHJcbiAgWFNpemVcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQsIFRlbXBsYXRlUmVmLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IENka0RyYWdEcm9wIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcblxyXG4vKipcclxuICogTGlzdFxyXG4gKiBAc2VsZWN0b3IgeC1saXN0XHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWExpc3RQcmVmaXggPSAneC1saXN0JztcclxuY29uc3QgWF9DT05GSUdfTkFNRSA9ICdsaXN0JztcclxuXHJcbi8qKlxyXG4gKiBMaXN0IFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hMaXN0UHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWExpc3RQcm9wZXJ0eSBleHRlbmRzIFhDb250cm9sVmFsdWVBY2Nlc3Nvcjxhbnk+IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX6KGo5pWw5o2uXHJcbiAgICogQGVuX1VTIExpc3QgZGF0YVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYRGF0YUNvbnZlcnQoKSBkYXRhOiBYRGF0YTxYTGlzdE5vZGU+ID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieS4quaVsO+8jOiuvue9ruS4ujDvvIzkuI3pmZDliLbpgInmi6nkuKrmlbBcclxuICAgKiBAZW5fVVMgTXVsdGlwbGUgY2hvaWNlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIG11bHRpcGxlOiBYTnVtYmVyID0gMTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5re75Yqg5YWo6YCJ5Yqf6IO977yM6YCC55So5LqOIG11bHRpcGxlPTBcclxuICAgKiBAZW5fVVMgTXVsdGkgY2hvaWNlIHRvIGFkZCBmdWxsIHNlbGVjdGlvbiBmdW5jdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgc2VsZWN0QWxsPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFqOmAieeahOaWh+Wtl1xyXG4gICAqIEBlbl9VUyBTZWxlY3RlZCBhbGwgdGV4dFxyXG4gICAqIEBkZWZhdWx0ICflhajpgIknXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSkgc2VsZWN0QWxsVGV4dD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5LitXHJcbiAgICogQGVuX1VTIFNlbGVjdGVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBjaGVja2VkPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqFxyXG4gICAqIEBlbl9VUyBEcmFnXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBkcmFnPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+W8gOWQr+WkmumAieeahOaXtuWAme+8jG5nTW9kZWwg55qE5YC85Li65a+56LGh5pWw57uEXHJcbiAgICogQGVuX1VTIFdoZW4gbXVsdGlwbGUgc2VsZWN0aW9uIGlzIGVuYWJsZWQsIHRoZSB2YWx1ZSBvZiBuZ21vZGVsIGlzIGFuIGFycmF5IG9mIG9iamVjdHNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG9iamVjdEFycmF5PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaooeadv1xyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgbm9kZVRwbD86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIl+ihqOWktOmDqFxyXG4gICAqIEBlbl9VUyBMaXN0IGhlYWRlclxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGhlYWRlcj86IFhUZW1wbGF0ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX6KGo5bqV6YOoXHJcbiAgICogQGVuX1VTIExpc3QgZm9vdGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgZm9vdGVyPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmu5rliqjljLrln5/lhYPntKBcclxuICAgKiBAZW5fVVMgUm9sbGluZyBhcmVhIGVsZW1lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGxFbGVtZW50PzogSFRNTEVsZW1lbnQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhTaXplPihYX0NPTkZJR19OQU1FLCAnbWVkaXVtJykgb3ZlcnJpZGUgc2l6ZSE6IFhTaXplO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliqDovb3mm7TlpJpcclxuICAgKiBAZW5fVVMgbG9hZCBtb3JlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBsb2FkTW9yZSE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliqDovb3mm7TlpJrnmoTmloflrZdcclxuICAgKiBAZW5fVVMgTG9hZCBtb3JlIHRleHRcclxuICAgKiBAZGVmYXVsdCAn5Yqg6L295pu05aSaJ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxzdHJpbmc+KFhfQ09ORklHX05BTUUpIGxvYWRNb3JlVGV4dD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5q2j5Zyo5Yqg6L295Lit55qE5paH5a2XXHJcbiAgICogQGVuX1VTIExvYWRpbmdcclxuICAgKiBAZGVmYXVsdCAn5q2j5Zyo5Yqg6L295LitJ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxzdHJpbmc+KFhfQ09ORklHX05BTUUpIGxvYWRpbmdNb3JlVGV4dD86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5ZCv6Jma5ouf5rua5Yqo77yM5LiN5pSv5oyB6IqC54K55ouW5Yqo5Yqf6IO9XHJcbiAgICogQGVuX1VTIFR1cm4gb24gdmlydHVhbCBzY3JvbGxpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUpIEBYSW5wdXRCb29sZWFuKCkgdmlydHVhbFNjcm9sbCE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDomZrmi5/mu5rliqjpq5jluqYsIOWunumZheS8muWOu+aOieWktOWwvuOAgeWFqOmAieOAgeabtOWkmueahOmrmOW6plxyXG4gICAqIEBlbl9VUyBUaGUgdmlydHVhbCByb2xsaW5nIGhlaWdodCB3aWxsIGFjdHVhbGx5IHJlbW92ZSB0aGUgaGVhZCBhbmQgZW5kLCB0aGUgZnVsbCBzZWxlY3Rpb24sIG1vcmUgaGVpZ2h0XHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhOdW1iZXI+KFhfQ09ORklHX05BTUUsIDQwMCkgQFhJbnB1dE51bWJlcigpIHNjcm9sbEhlaWdodCE6IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiZmuaLn+a7muWKqOmrmOW6puiHqumAguW6lOaMh+WumuWFg+e0oFxyXG4gICAqIEBlbl9VUyB2aXJ0dWFsIHJvbGxpbmcgaGVpZ2h0IGZvbGxvd3MgdGhlIHNwZWNpZmllZCBvYmplY3RcclxuICAgKi9cclxuICBASW5wdXQoKSBoZWlnaHRBZGFwdGlvbiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgSFRNTEVsZW1lbnQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi2heWHuuWPr+inhueql+WPo+e8k+WGsuWMuueahOacgOWwj+WAvO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsFxyXG4gICAqIEBlbl9VUyBFeGNlZWQgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHZpc2libGUgd2luZG93IGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWluQnVmZmVyUHg6IG51bWJlciA9IDEwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5riy5p+T5paw5pWw5o2u57yT5Yay5Yy655qE5YOP57Sg77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIFJlbmRlciB0aGUgcGl4ZWxzIG9mIHRoZSBuZXcgZGF0YSBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1heEJ1ZmZlclB4OiBudW1iZXIgPSAyMDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFs+mUruWtl+mrmOS6rlxyXG4gICAqIEBlbl9VUyBLZXl3b3JkIGhpZ2hsaWdodGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGtleXdvcmRUZXh0ITogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWMuemFjeWFs+mUruWtl+WMuuWIhuWkp+Wwj+WGmVxyXG4gICAqIEBlbl9VUyBDYXNlLXNlbnNpdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBjYXNlU2Vuc2l0aXZlITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIEZ1bGwgZXZlbnRcclxuICAgKiBAZW5fVVMg5YWo6YCJ5LqL5Lu2XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uU2VsZWN0QWxsID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrkgbW91c2VlbnRlciDkuovku7ZcclxuICAgKiBAZW5fVVMgTm9kZSBtb3VzZWVudGVyIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG5vZGVNb3VzZWVudGVyID0gbmV3IEV2ZW50RW1pdHRlcjxYTGlzdE5vZGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCuSBtb3VzZWxlYXZlIOS6i+S7tlxyXG4gICAqIEBlbl9VUyBOb2RlIG1vdXNlbGVhdmUgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbm9kZU1vdXNlbGVhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPFhMaXN0Tm9kZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K554K55Ye75LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbm9kZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxYTGlzdE5vZGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOe7k+adn+S6i+S7tlxyXG4gICAqIEBlbl9VUyBEcmFnIHRoZSBlbmRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgZHJvcExpc3REcm9wcGVkID0gbmV3IEV2ZW50RW1pdHRlcjxYTGlzdERyYWdEcm9wPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBUYWIgb3V0IOS6i+S7tlxyXG4gICAqIEBlbl9VUyBUYWIgT3V0IGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGtleU1hbmFnZXJUYWJPdXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIFRhYiBvdXQg5LqL5Lu2XHJcbiAgICogQGVuX1VTIFRhYiBPdXQgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkga2V5TWFuYWdlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIExpc3Qg5pWw5o2u5a+56LGhXHJcbiAqIEBlbl9VUyBMaXN0IGRhdGEgb2JqZWN0XHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhMaXN0Tm9kZSBleHRlbmRzIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5PFhMaXN0Tm9kZT4ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm77moIdcclxuICAgKiBAZW5fVVMgSWljb25cclxuICAgKi9cclxuICBpY29uPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliIblibLnur9cclxuICAgKiBAZW5fVVMgU3BsaXQgbGluZVxyXG4gICAqL1xyXG4gIGRpdmlkZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkuovku7ZcclxuICAgKiBAZW5fVVMgRXZlbnRcclxuICAgKi9cclxuICBldmVudD86IEV2ZW50O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmgqzlgZxcclxuICAgKiBAZW5fVVMgSG92ZXJcclxuICAgKi9cclxuICBob3Zlcj86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaJk+W8gOW8ueahhlxyXG4gICAqIEBlbl9VUyBvcGVuIHBvcnRhbFxyXG4gICAqL1xyXG4gIG9wZW5Qb3J0YWw/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmv4DmtLtcclxuICAgKiBAZW5fVVMgQWN0aXZlXHJcbiAgICovXHJcbiAgYWN0aXZlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qOA5p+l5pu05pawXHJcbiAgICogQGVuX1VTIENoZWNrIGZvciB1cGRhdGVzXHJcbiAgICovXHJcbiAgY2hhbmdlPzogRnVuY3Rpb247XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBMaXN0IE9wdGlvblxyXG4gKiBAc2VsZWN0b3IgeC1saXN0LW9wdGlvblxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhMaXN0T3B0aW9uUHJlZml4ID0gJ3gtbGlzdC1vcHRpb24nO1xyXG5cclxuLyoqXHJcbiAqIExpc3QgT3B0aW9uIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgc2VsZWN0b3I6IGAke1hMaXN0T3B0aW9uUHJlZml4fS1wcm9wZXJ0eWAsIHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWExpc3RPcHRpb25Qcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueWPguaVsFxyXG4gICAqIEBlbl9VUyBOb2RlIHBhcmFtXHJcbiAgICovXHJcbiAgQElucHV0KCkgbm9kZT86IFhMaXN0Tm9kZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5LitXHJcbiAgICogQGVuX1VTIFNlbGVjdGVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBjaGVja2VkPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaooeadv1xyXG4gICAqIEBlbl9VUyBOb2RlIHRlbXBsYXRlXHJcbiAgICovXHJcbiAgQElucHV0KCkgbm9kZVRwbD86IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOmAieS4rVxyXG4gICAqIEBlbl9VUyBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgc2VsZWN0ZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDnpoHnlKhcclxuICAgKiBAZW5fVVMgZGlzYWJsZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5r+A5rS7XHJcbiAgICogQGVuX1VTIGFjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgYWN0aXZlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5omT5byA5by55qGGXHJcbiAgICogQGVuX1VTIG9wZW4gcG9ydGFsXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBvcGVuUG9ydGFsPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Ieq5a6a5LmJ5pWw5o2u5a+56LGh5qC35byPXHJcbiAgICogQGVuX1VTIEN1c3RvbWl6ZSBkYXRhIG9iamVjdCBzdHlsZXNcclxuICAgKi9cclxuICBASW5wdXQoKSBvcHRpb25DbGFzcz86IChub2RlOiBYTGlzdE5vZGUpID0+IHsgW2NsYXNzTmFtZTogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm77moIdcclxuICAgKiBAZW5fVVMgaWNvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGljb24/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIhuWJsue6v1xyXG4gICAqIEBlbl9VUyBTcGxpdCBsaW5lXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGl2aWRlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvlxyXG4gICAqIEBlbl9VUyBsYWJlbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmnInlrZDoioLngrlcclxuICAgKiBAZW5fVVMgbGVhZlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbGVhZj86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWwuuWvuFxyXG4gICAqIEBlbl9VUyBTaXplXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhTaXplPihYX0NPTkZJR19OQU1FLCAnbWVkaXVtJykgc2l6ZSE6IFhTaXplO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhbPplK7lrZfpq5jkuq5cclxuICAgKiBAZW5fVVMgS2V5d29yZCBoaWdobGlnaHRpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBrZXl3b3JkVGV4dCE6IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljLnphY3lhbPplK7lrZfljLrliIblpKflsI/lhplcclxuICAgKiBAZW5fVVMgQ2FzZS1zZW5zaXRpdmVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgY2FzZVNlbnNpdGl2ZSE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmnInlrZDoioLngrlcclxuICAgKiBAZW5fVVMgbGVhZlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBhY3RpdmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04g5ouW5Yqo55u45YWz55qE5pWw5o2uXHJcbiAqIEBlbl9VUyBEcmFnIHJlbGF0ZWQgZGF0YVxyXG4gKi9cclxuZXhwb3J0IHR5cGUgWExpc3REcmFnRHJvcCA9IHsgZGF0YTogWExpc3ROb2RlW107IGN1cnJlbnQ6IFhMaXN0Tm9kZTsgY3VycmVudEluZGV4OiBudW1iZXI7IGV2ZW50OiBDZGtEcmFnRHJvcDxYTGlzdE5vZGVbXT4gfTtcclxuIl19
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2xpc3QvbGlzdC5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUdMLFlBQVksRUFDWixZQUFZLEVBQ1osYUFBYSxFQUliLFdBQVcsRUFFWixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQTJCLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUc5RDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQztBQUNwQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUM7QUFFN0I7O0dBRUc7QUFFSCxNQUFNLE9BQU8sYUFBYyxTQUFRLHFCQUEwQjtJQUQ3RDs7UUFFRTs7O1dBR0c7UUFDc0IsU0FBSSxHQUFxQixFQUFFLENBQUM7UUFDckQ7OztXQUdHO1FBQ3NCLGFBQVEsR0FBWSxDQUFDLENBQUM7UUFvRi9DOzs7V0FHRztRQUNNLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBQ25DOzs7V0FHRztRQUNNLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBV25DOzs7V0FHRztRQUNPLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNwRDs7O1dBR0c7UUFDTyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDekQ7OztXQUdHO1FBQ08sbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBQ3pEOzs7V0FHRztRQUNPLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBQ3BEOzs7V0FHRztRQUNPLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFDOUQ7OztXQUdHO1FBQ08scUJBQWdCLEdB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S2E7SUFBNUMsV0FBVyxDQUFRLGFBQWEsRUFBRSxRQUFRLENBQUM7aURBQWM7QUFVRztJQUE1RCxhQUFhLEVBQUU7SUFBRSxXQUFXLENBQVcsYUFBYSxFQUFFLElBQUksQ0FBQzswREFBMEI7NEZBM0VwRixtQkFBbUI7a0JBRC9CLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxpQkFBaUIsV0FBVyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTTNELElBQUk7c0JBQVosS0FBSztnQkFLb0IsT0FBTztzQkFBaEMsS0FBSztnQkFLRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS29CLFFBQVE7c0JBQWpDLEtBQUs7Z0JBS29CLFFBQVE7c0JBQWpDLEtBQUs7Z0JBS29CLE1BQU07c0JBQS9CLEtBQUs7Z0JBS29CLFVBQVU7c0JBQW5DLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLb0IsSUFBSTtzQkFBN0IsS0FBSztnQkFLZ0QsSUFBSTtzQkFBekQsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtnRSxhQUFhO3NCQUFsRixLQUFLO2dCQUtJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIFhEYXRhLFxyXG4gIFhQYXJlbnRJZGVudGl0eVByb3BlcnR5LFxyXG4gIFhEYXRhQ29udmVydCxcclxuICBYSW5wdXROdW1iZXIsXHJcbiAgWElucHV0Qm9vbGVhbixcclxuICBYTnVtYmVyLFxyXG4gIFhCb29sZWFuLFxyXG4gIFhUZW1wbGF0ZSxcclxuICBYV2l0aENvbmZpZyxcclxuICBYU2l6ZVxyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENvbXBvbmVudCwgVGVtcGxhdGVSZWYsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuXHJcbi8qKlxyXG4gKiBMaXN0XHJcbiAqIEBzZWxlY3RvciB4LWxpc3RcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYTGlzdFByZWZpeCA9ICd4LWxpc3QnO1xyXG5jb25zdCBYX0NPTkZJR19OQU1FID0gJ2xpc3QnO1xyXG5cclxuLyoqXHJcbiAqIExpc3QgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WExpc3RQcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYTGlzdFByb3BlcnR5IGV4dGVuZHMgWENvbnRyb2xWYWx1ZUFjY2Vzc29yPGFueT4ge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfooajmlbDmja5cclxuICAgKiBAZW5fVVMgTGlzdCBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhEYXRhQ29udmVydCgpIGRhdGE6IFhEYXRhPFhMaXN0Tm9kZT4gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5Liq5pWw77yM6K6+572u5Li6MO+8jOS4jemZkOWItumAieaLqeS4quaVsFxyXG4gICAqIEBlbl9VUyBNdWx0aXBsZSBjaG9pY2VcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgbXVsdGlwbGU6IFhOdW1iZXIgPSAxO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlpJrpgInmt7vliqDlhajpgInlip/og73vvIzpgILnlKjkuo4gbXVsdGlwbGU9MFxyXG4gICAqIEBlbl9VUyBNdWx0aSBjaG9pY2UgdG8gYWRkIGZ1bGwgc2VsZWN0aW9uIGZ1bmN0aW9uXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBzZWxlY3RBbGw/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWo6YCJ55qE5paH5a2XXHJcbiAgICogQGVuX1VTIFNlbGVjdGVkIGFsbCB0ZXh0XHJcbiAgICogQGRlZmF1bHQgJ+WFqOmAiSdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8c3RyaW5nPihYX0NPTkZJR19OQU1FKSBzZWxlY3RBbGxUZXh0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInkuK1cclxuICAgKiBAZW5fVVMgU2VsZWN0ZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGNoZWNrZWQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ouW5YqoXHJcbiAgICogQGVuX1VTIERyYWdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGRyYWc/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5byA5ZCv5aSa6YCJ55qE5pe25YCZ77yMbmdNb2RlbCDnmoTlgLzkuLrlr7nosaHmlbDnu4RcclxuICAgKiBAZW5fVVMgV2hlbiBtdWx0aXBsZSBzZWxlY3Rpb24gaXMgZW5hYmxlZCwgdGhlIHZhbHVlIG9mIG5nbW9kZWwgaXMgYW4gYXJyYXkgb2Ygb2JqZWN0c1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgb2JqZWN0QXJyYXk/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55qih5p2/XHJcbiAgICogQGVuX1VTIE5vZGUgdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBub2RlVHBsPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiX6KGo5aS06YOoXHJcbiAgICogQGVuX1VTIExpc3QgaGVhZGVyXHJcbiAgICovXHJcbiAgQElucHV0KCkgaGVhZGVyPzogWFRlbXBsYXRlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDliJfooajlupXpg6hcclxuICAgKiBAZW5fVVMgTGlzdCBmb290ZXJcclxuICAgKi9cclxuICBASW5wdXQoKSBmb290ZXI/OiBYVGVtcGxhdGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa7muWKqOWMuuWfn+WFg+e0oFxyXG4gICAqIEBlbl9VUyBSb2xsaW5nIGFyZWEgZWxlbWVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNjcm9sbEVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFNpemU+KFhfQ09ORklHX05BTUUsICdtZWRpdW0nKSBzaXplITogWFNpemU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWKoOi9veabtOWkmlxyXG4gICAqIEBlbl9VUyBsb2FkIG1vcmVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGxvYWRNb3JlITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWKoOi9veabtOWkmueahOaWh+Wtl1xyXG4gICAqIEBlbl9VUyBMb2FkIG1vcmUgdGV4dFxyXG4gICAqIEBkZWZhdWx0ICfliqDovb3mm7TlpJonXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSkgbG9hZE1vcmVUZXh0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmraPlnKjliqDovb3kuK3nmoTmloflrZdcclxuICAgKiBAZW5fVVMgTG9hZGluZ1xyXG4gICAqIEBkZWZhdWx0ICfmraPlnKjliqDovb3kuK0nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPHN0cmluZz4oWF9DT05GSUdfTkFNRSkgbG9hZGluZ01vcmVUZXh0Pzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvIDlkK/omZrmi5/mu5rliqjvvIzkuI3mlK/mjIHoioLngrnmi5bliqjlip/og71cclxuICAgKiBAZW5fVVMgVHVybiBvbiB2aXJ0dWFsIHNjcm9sbGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSkgQFhJbnB1dEJvb2xlYW4oKSB2aXJ0dWFsU2Nyb2xsITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiZmuaLn+a7muWKqOmrmOW6piwg5a6e6ZmF5Lya5Y675o6J5aS05bC+44CB5YWo6YCJ44CB5pu05aSa55qE6auY5bqmXHJcbiAgICogQGVuX1VTIFRoZSB2aXJ0dWFsIHJvbGxpbmcgaGVpZ2h0IHdpbGwgYWN0dWFsbHkgcmVtb3ZlIHRoZSBoZWFkIGFuZCBlbmQsIHRoZSBmdWxsIHNlbGVjdGlvbiwgbW9yZSBoZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WE51bWJlcj4oWF9DT05GSUdfTkFNRSwgNDAwKSBAWElucHV0TnVtYmVyKCkgc2Nyb2xsSGVpZ2h0ITogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6Jma5ouf5rua5Yqo6auY5bqm6Ieq6YCC5bqU5oyH5a6a5YWD57SgXHJcbiAgICogQGVuX1VTIHZpcnR1YWwgcm9sbGluZyBoZWlnaHQgZm9sbG93cyB0aGUgc3BlY2lmaWVkIG9iamVjdFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGhlaWdodEFkYXB0aW9uITogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfCBIVE1MRWxlbWVudDtcclxuICAvKipcclxuICAgKiBAemhfQ04g6LaF5Ye65Y+v6KeG56qX5Y+j57yT5Yay5Yy655qE5pyA5bCP5YC877yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWwXHJcbiAgICogQGVuX1VTIEV4Y2VlZCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgdmlzaWJsZSB3aW5kb3cgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSBtaW5CdWZmZXJQeDogbnVtYmVyID0gMTAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuLLmn5PmlrDmlbDmja7nvJPlhrLljLrnmoTlg4/ntKDvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbBcclxuICAgKiBAZW5fVVMgUmVuZGVyIHRoZSBwaXhlbHMgb2YgdGhlIG5ldyBkYXRhIGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4QnVmZmVyUHg6IG51bWJlciA9IDIwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWz6ZSu5a2X6auY5LquXHJcbiAgICogQGVuX1VTIEtleXdvcmQgaGlnaGxpZ2h0aW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkga2V5d29yZFRleHQhOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Yy56YWN5YWz6ZSu5a2X5Yy65YiG5aSn5bCP5YaZXHJcbiAgICogQGVuX1VTIENhc2Utc2Vuc2l0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIGNhc2VTZW5zaXRpdmUhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gRnVsbCBldmVudFxyXG4gICAqIEBlbl9VUyDlhajpgInkuovku7ZcclxuICAgKi9cclxuICBAT3V0cHV0KCkgb25TZWxlY3RBbGwgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCuSBtb3VzZWVudGVyIOS6i+S7tlxyXG4gICAqIEBlbl9VUyBOb2RlIG1vdXNlZW50ZXIgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbm9kZU1vdXNlZW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPFhMaXN0Tm9kZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K5IG1vdXNlbGVhdmUg5LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgbW91c2VsZWF2ZSBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBub2RlTW91c2VsZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8WExpc3ROb2RlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnngrnlh7vkuovku7ZcclxuICAgKiBAZW5fVVMgTm9kZSBjbGljayBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBub2RlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFhMaXN0Tm9kZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5ouW5Yqo57uT5p2f5LqL5Lu2XHJcbiAgICogQGVuX1VTIERyYWcgdGhlIGVuZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBkcm9wTGlzdERyb3BwZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFhMaXN0RHJhZ0Ryb3A+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIFRhYiBvdXQg5LqL5Lu2XHJcbiAgICogQGVuX1VTIFRhYiBPdXQgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkga2V5TWFuYWdlclRhYk91dCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04gVGFiIG91dCDkuovku7ZcclxuICAgKiBAZW5fVVMgVGFiIE91dCBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBrZXlNYW5hZ2VyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04gTGlzdCDmlbDmja7lr7nosaFcclxuICogQGVuX1VTIExpc3QgZGF0YSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWExpc3ROb2RlIGV4dGVuZHMgWFBhcmVudElkZW50aXR5UHJvcGVydHk8WExpc3ROb2RlPiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbvuagh1xyXG4gICAqIEBlbl9VUyBJaWNvblxyXG4gICAqL1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWIhuWJsue6v1xyXG4gICAqIEBlbl9VUyBTcGxpdCBsaW5lXHJcbiAgICovXHJcbiAgZGl2aWRlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS6i+S7tlxyXG4gICAqIEBlbl9VUyBFdmVudFxyXG4gICAqL1xyXG4gIGV2ZW50PzogRXZlbnQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaCrOWBnFxyXG4gICAqIEBlbl9VUyBIb3ZlclxyXG4gICAqL1xyXG4gIGhvdmVyPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5omT5byA5by55qGGXHJcbiAgICogQGVuX1VTIG9wZW4gcG9ydGFsXHJcbiAgICovXHJcbiAgb3BlblBvcnRhbD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa/gOa0u1xyXG4gICAqIEBlbl9VUyBBY3RpdmVcclxuICAgKi9cclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmo4Dmn6Xmm7TmlrBcclxuICAgKiBAZW5fVVMgQ2hlY2sgZm9yIHVwZGF0ZXNcclxuICAgKi9cclxuICBjaGFuZ2U/OiBGdW5jdGlvbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIExpc3QgT3B0aW9uXHJcbiAqIEBzZWxlY3RvciB4LWxpc3Qtb3B0aW9uXHJcbiAqIEBkZWNvcmF0b3IgY29tcG9uZW50XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWExpc3RPcHRpb25QcmVmaXggPSAneC1saXN0LW9wdGlvbic7XHJcblxyXG4vKipcclxuICogTGlzdCBPcHRpb24gUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyBzZWxlY3RvcjogYCR7WExpc3RPcHRpb25QcmVmaXh9LXByb3BlcnR5YCwgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYTGlzdE9wdGlvblByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55Y+C5pWwXHJcbiAgICogQGVuX1VTIE5vZGUgcGFyYW1cclxuICAgKi9cclxuICBASW5wdXQoKSBub2RlPzogWExpc3ROb2RlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpgInkuK1cclxuICAgKiBAZW5fVVMgU2VsZWN0ZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGNoZWNrZWQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55qih5p2/XHJcbiAgICogQGVuX1VTIE5vZGUgdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBub2RlVHBsPzogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6YCJ5LitXHJcbiAgICogQGVuX1VTIHNlbGVjdGVkXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBzZWxlY3RlZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOemgeeUqFxyXG4gICAqIEBlbl9VUyBkaXNhYmxlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmv4DmtLtcclxuICAgKiBAZW5fVVMgYWN0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBhY3RpdmU/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmiZPlvIDlvLnmoYZcclxuICAgKiBAZW5fVVMgb3BlbiBwb3J0YWxcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG9wZW5Qb3J0YWw/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnmlbDmja7lr7nosaHmoLflvI9cclxuICAgKiBAZW5fVVMgQ3VzdG9taXplIGRhdGEgb2JqZWN0IHN0eWxlc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG9wdGlvbkNsYXNzPzogKG5vZGU6IFhMaXN0Tm9kZSkgPT4geyBbY2xhc3NOYW1lOiBzdHJpbmddOiBib29sZWFuIH07XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWbvuagh1xyXG4gICAqIEBlbl9VUyBpY29uXHJcbiAgICovXHJcbiAgQElucHV0KCkgaWNvbj86IHN0cmluZztcclxuICAvKipcclxuICAgKiBAemhfQ04g5YiG5Ymy57q/XHJcbiAgICogQGVuX1VTIFNwbGl0IGxpbmVcclxuICAgKi9cclxuICBASW5wdXQoKSBkaXZpZGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+XHJcbiAgICogQGVuX1VTIGxhYmVsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbGFiZWw/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOacieWtkOiKgueCuVxyXG4gICAqIEBlbl9VUyBsZWFmXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBsZWFmPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bC65a+4XHJcbiAgICogQGVuX1VTIFNpemVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WFNpemU+KFhfQ09ORklHX05BTUUsICdtZWRpdW0nKSBzaXplITogWFNpemU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWFs+mUruWtl+mrmOS6rlxyXG4gICAqIEBlbl9VUyBLZXl3b3JkIGhpZ2hsaWdodGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGtleXdvcmRUZXh0ITogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWMuemFjeWFs+mUruWtl+WMuuWIhuWkp+Wwj+WGmVxyXG4gICAqIEBlbl9VUyBDYXNlLXNlbnNpdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCB0cnVlKSBjYXNlU2Vuc2l0aXZlITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOacieWtkOiKgueCuVxyXG4gICAqIEBlbl9VUyBsZWFmXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFjdGl2ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiDmi5bliqjnm7jlhbPnmoTmlbDmja5cclxuICogQGVuX1VTIERyYWcgcmVsYXRlZCBkYXRhXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBYTGlzdERyYWdEcm9wID0geyBkYXRhOiBYTGlzdE5vZGVbXTsgY3VycmVudDogWExpc3ROb2RlOyBjdXJyZW50SW5kZXg6IG51bWJlcjsgZXZlbnQ6IENka0RyYWdEcm9wPFhMaXN0Tm9kZVtdPiB9O1xyXG4iXX0=