cax-design-system 2.8.0 → 2.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1820) hide show
  1. package/README.md +46 -46
  2. package/accordion/index.d.ts +286 -3
  3. package/animate/index.d.ts +41 -3
  4. package/animateonscroll/index.d.ts +75 -3
  5. package/api/index.d.ts +1856 -3
  6. package/autocomplete/index.d.ts +799 -3
  7. package/autofocus/index.d.ts +29 -3
  8. package/avatar/index.d.ts +80 -3
  9. package/avatargroup/index.d.ts +30 -3
  10. package/badge/index.d.ts +67 -5
  11. package/baseicon/index.d.ts +18 -5
  12. package/blockui/index.d.ts +77 -3
  13. package/breadcrumb/index.d.ts +105 -3
  14. package/button/index.d.ts +170 -3
  15. package/buttongroup/index.d.ts +14 -5
  16. package/calendar/index.d.ts +935 -3
  17. package/card/index.d.ts +92 -3
  18. package/carousel/index.d.ts +290 -3
  19. package/cascadeselect/index.d.ts +564 -3
  20. package/cax-design-system-2.8.2.tgz +0 -0
  21. package/chart/index.d.ts +88 -3
  22. package/checkbox/index.d.ts +204 -3
  23. package/chip/index.d.ts +63 -3
  24. package/chips/index.d.ts +305 -3
  25. package/colorpicker/index.d.ts +265 -3
  26. package/commentbox/index.d.ts +138 -5
  27. package/confirmdialog/index.d.ts +336 -3
  28. package/confirmpopup/index.d.ts +148 -3
  29. package/contextmenu/index.d.ts +261 -3
  30. package/dataview/index.d.ts +457 -3
  31. package/defer/index.d.ts +40 -3
  32. package/dialog/index.d.ts +411 -3
  33. package/divider/index.d.ts +56 -3
  34. package/dock/index.d.ts +136 -3
  35. package/dom/index.d.ts +105 -3
  36. package/dragdrop/index.d.ts +120 -3
  37. package/dropdown/index.d.ts +818 -3
  38. package/dynamicdialog/index.d.ts +490 -3
  39. package/editor/index.d.ts +177 -3
  40. package/fesm2022/cax-design-system-accordion.mjs +4 -4
  41. package/fesm2022/cax-design-system-accordion.mjs.map +1 -1
  42. package/fesm2022/cax-design-system-animate.mjs +1 -1
  43. package/fesm2022/cax-design-system-animate.mjs.map +1 -1
  44. package/fesm2022/cax-design-system-animateonscroll.mjs +1 -1
  45. package/fesm2022/cax-design-system-animateonscroll.mjs.map +1 -1
  46. package/fesm2022/cax-design-system-api.mjs +1 -1
  47. package/fesm2022/cax-design-system-api.mjs.map +1 -1
  48. package/fesm2022/cax-design-system-autocomplete.mjs +3 -3
  49. package/fesm2022/cax-design-system-autocomplete.mjs.map +1 -1
  50. package/fesm2022/cax-design-system-autofocus.mjs +1 -1
  51. package/fesm2022/cax-design-system-autofocus.mjs.map +1 -1
  52. package/fesm2022/cax-design-system-avatar.mjs +3 -3
  53. package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
  54. package/fesm2022/cax-design-system-avatargroup.mjs +3 -3
  55. package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
  56. package/fesm2022/cax-design-system-badge.mjs +3 -3
  57. package/fesm2022/cax-design-system-badge.mjs.map +1 -1
  58. package/fesm2022/cax-design-system-baseicon.mjs +1 -1
  59. package/fesm2022/cax-design-system-baseicon.mjs.map +1 -1
  60. package/fesm2022/cax-design-system-blockui.mjs +1 -1
  61. package/fesm2022/cax-design-system-blockui.mjs.map +1 -1
  62. package/fesm2022/cax-design-system-breadcrumb.mjs +3 -3
  63. package/fesm2022/cax-design-system-breadcrumb.mjs.map +1 -1
  64. package/fesm2022/cax-design-system-button.mjs +3 -3
  65. package/fesm2022/cax-design-system-button.mjs.map +1 -1
  66. package/fesm2022/cax-design-system-buttongroup.mjs +1 -1
  67. package/fesm2022/cax-design-system-buttongroup.mjs.map +1 -1
  68. package/fesm2022/cax-design-system-calendar.mjs +5 -5
  69. package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
  70. package/fesm2022/cax-design-system-card.mjs +3 -3
  71. package/fesm2022/cax-design-system-card.mjs.map +1 -1
  72. package/fesm2022/cax-design-system-carousel.mjs +1 -1
  73. package/fesm2022/cax-design-system-carousel.mjs.map +1 -1
  74. package/fesm2022/cax-design-system-cascadeselect.mjs +5 -5
  75. package/fesm2022/cax-design-system-cascadeselect.mjs.map +1 -1
  76. package/fesm2022/cax-design-system-chart.mjs +1 -1
  77. package/fesm2022/cax-design-system-chart.mjs.map +1 -1
  78. package/fesm2022/cax-design-system-checkbox.mjs +3 -3
  79. package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
  80. package/fesm2022/cax-design-system-chip.mjs +3 -3
  81. package/fesm2022/cax-design-system-chip.mjs.map +1 -1
  82. package/fesm2022/cax-design-system-chips.mjs +4 -4
  83. package/fesm2022/cax-design-system-chips.mjs.map +1 -1
  84. package/fesm2022/cax-design-system-colorpicker.mjs +3 -3
  85. package/fesm2022/cax-design-system-colorpicker.mjs.map +1 -1
  86. package/fesm2022/cax-design-system-commentbox.mjs +3 -3
  87. package/fesm2022/cax-design-system-commentbox.mjs.map +1 -1
  88. package/fesm2022/cax-design-system-confirmdialog.mjs +3 -3
  89. package/fesm2022/cax-design-system-confirmdialog.mjs.map +1 -1
  90. package/fesm2022/cax-design-system-confirmpopup.mjs +2 -2
  91. package/fesm2022/cax-design-system-confirmpopup.mjs.map +1 -1
  92. package/fesm2022/cax-design-system-contextmenu.mjs +1 -1
  93. package/fesm2022/cax-design-system-contextmenu.mjs.map +1 -1
  94. package/fesm2022/cax-design-system-dataview.mjs +1 -1
  95. package/fesm2022/cax-design-system-dataview.mjs.map +1 -1
  96. package/fesm2022/cax-design-system-defer.mjs +1 -1
  97. package/fesm2022/cax-design-system-defer.mjs.map +1 -1
  98. package/fesm2022/cax-design-system-dialog.mjs +3 -3
  99. package/fesm2022/cax-design-system-dialog.mjs.map +1 -1
  100. package/fesm2022/cax-design-system-divider.mjs +3 -3
  101. package/fesm2022/cax-design-system-divider.mjs.map +1 -1
  102. package/fesm2022/cax-design-system-dock.mjs +1 -1
  103. package/fesm2022/cax-design-system-dock.mjs.map +1 -1
  104. package/fesm2022/cax-design-system-dom.mjs.map +1 -1
  105. package/fesm2022/cax-design-system-dragdrop.mjs +1 -1
  106. package/fesm2022/cax-design-system-dragdrop.mjs.map +1 -1
  107. package/fesm2022/cax-design-system-dropdown.mjs +6 -6
  108. package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
  109. package/fesm2022/cax-design-system-dynamicdialog.mjs +1 -1
  110. package/fesm2022/cax-design-system-dynamicdialog.mjs.map +1 -1
  111. package/fesm2022/cax-design-system-editor.mjs +3 -3
  112. package/fesm2022/cax-design-system-editor.mjs.map +1 -1
  113. package/fesm2022/cax-design-system-fieldset.mjs +2 -2
  114. package/fesm2022/cax-design-system-fieldset.mjs.map +1 -1
  115. package/fesm2022/cax-design-system-fileupload.mjs +1 -1
  116. package/fesm2022/cax-design-system-fileupload.mjs.map +1 -1
  117. package/fesm2022/cax-design-system-floatlabel.mjs +1 -1
  118. package/fesm2022/cax-design-system-floatlabel.mjs.map +1 -1
  119. package/fesm2022/cax-design-system-focustrap.mjs +1 -1
  120. package/fesm2022/cax-design-system-focustrap.mjs.map +1 -1
  121. package/fesm2022/cax-design-system-galleria.mjs +1 -1
  122. package/fesm2022/cax-design-system-galleria.mjs.map +1 -1
  123. package/fesm2022/cax-design-system-iconfield.mjs +1 -1
  124. package/fesm2022/cax-design-system-iconfield.mjs.map +1 -1
  125. package/fesm2022/cax-design-system-icons-angledoubledown.mjs.map +1 -1
  126. package/fesm2022/cax-design-system-icons-angledoubleleft.mjs.map +1 -1
  127. package/fesm2022/cax-design-system-icons-angledoubleright.mjs.map +1 -1
  128. package/fesm2022/cax-design-system-icons-angledoubleup.mjs.map +1 -1
  129. package/fesm2022/cax-design-system-icons-angledown.mjs.map +1 -1
  130. package/fesm2022/cax-design-system-icons-angleleft.mjs.map +1 -1
  131. package/fesm2022/cax-design-system-icons-angleright.mjs.map +1 -1
  132. package/fesm2022/cax-design-system-icons-angleup.mjs.map +1 -1
  133. package/fesm2022/cax-design-system-icons-arrowdown.mjs.map +1 -1
  134. package/fesm2022/cax-design-system-icons-arrowdownleft.mjs.map +1 -1
  135. package/fesm2022/cax-design-system-icons-arrowdownright.mjs.map +1 -1
  136. package/fesm2022/cax-design-system-icons-arrowleft.mjs.map +1 -1
  137. package/fesm2022/cax-design-system-icons-arrowright.mjs.map +1 -1
  138. package/fesm2022/cax-design-system-icons-arrowup.mjs.map +1 -1
  139. package/fesm2022/cax-design-system-icons-ban.mjs.map +1 -1
  140. package/fesm2022/cax-design-system-icons-bars.mjs.map +1 -1
  141. package/fesm2022/cax-design-system-icons-blank.mjs.map +1 -1
  142. package/fesm2022/cax-design-system-icons-calendar.mjs.map +1 -1
  143. package/fesm2022/cax-design-system-icons-caretleft.mjs.map +1 -1
  144. package/fesm2022/cax-design-system-icons-caretright.mjs.map +1 -1
  145. package/fesm2022/cax-design-system-icons-check.mjs.map +1 -1
  146. package/fesm2022/cax-design-system-icons-chevrondown.mjs.map +1 -1
  147. package/fesm2022/cax-design-system-icons-chevronleft.mjs.map +1 -1
  148. package/fesm2022/cax-design-system-icons-chevronright.mjs.map +1 -1
  149. package/fesm2022/cax-design-system-icons-chevronup.mjs.map +1 -1
  150. package/fesm2022/cax-design-system-icons-exclamationtriangle.mjs.map +1 -1
  151. package/fesm2022/cax-design-system-icons-eye.mjs.map +1 -1
  152. package/fesm2022/cax-design-system-icons-eyeslash.mjs.map +1 -1
  153. package/fesm2022/cax-design-system-icons-filter.mjs.map +1 -1
  154. package/fesm2022/cax-design-system-icons-filterslash.mjs.map +1 -1
  155. package/fesm2022/cax-design-system-icons-home.mjs.map +1 -1
  156. package/fesm2022/cax-design-system-icons-infocircle.mjs.map +1 -1
  157. package/fesm2022/cax-design-system-icons-minus.mjs.map +1 -1
  158. package/fesm2022/cax-design-system-icons-pencil.mjs.map +1 -1
  159. package/fesm2022/cax-design-system-icons-plus.mjs.map +1 -1
  160. package/fesm2022/cax-design-system-icons-refresh.mjs.map +1 -1
  161. package/fesm2022/cax-design-system-icons-search.mjs.map +1 -1
  162. package/fesm2022/cax-design-system-icons-searchminus.mjs.map +1 -1
  163. package/fesm2022/cax-design-system-icons-searchplus.mjs.map +1 -1
  164. package/fesm2022/cax-design-system-icons-sortalt.mjs.map +1 -1
  165. package/fesm2022/cax-design-system-icons-sortamountdown.mjs.map +1 -1
  166. package/fesm2022/cax-design-system-icons-sortamountupalt.mjs.map +1 -1
  167. package/fesm2022/cax-design-system-icons-spinner.mjs.map +1 -1
  168. package/fesm2022/cax-design-system-icons-star.mjs.map +1 -1
  169. package/fesm2022/cax-design-system-icons-starfill.mjs.map +1 -1
  170. package/fesm2022/cax-design-system-icons-thlarge.mjs.map +1 -1
  171. package/fesm2022/cax-design-system-icons-times.mjs.map +1 -1
  172. package/fesm2022/cax-design-system-icons-timescircle.mjs.map +1 -1
  173. package/fesm2022/cax-design-system-icons-trash.mjs.map +1 -1
  174. package/fesm2022/cax-design-system-icons-undo.mjs.map +1 -1
  175. package/fesm2022/cax-design-system-icons-upload.mjs.map +1 -1
  176. package/fesm2022/cax-design-system-icons-windowmaximize.mjs.map +1 -1
  177. package/fesm2022/cax-design-system-icons-windowminimize.mjs.map +1 -1
  178. package/fesm2022/cax-design-system-image.mjs +4 -4
  179. package/fesm2022/cax-design-system-image.mjs.map +1 -1
  180. package/fesm2022/cax-design-system-inplace.mjs +1 -1
  181. package/fesm2022/cax-design-system-inplace.mjs.map +1 -1
  182. package/fesm2022/cax-design-system-inputgroup.mjs +3 -3
  183. package/fesm2022/cax-design-system-inputgroup.mjs.map +1 -1
  184. package/fesm2022/cax-design-system-inputgroupaddon.mjs +3 -3
  185. package/fesm2022/cax-design-system-inputgroupaddon.mjs.map +1 -1
  186. package/fesm2022/cax-design-system-inputicon.mjs +1 -1
  187. package/fesm2022/cax-design-system-inputicon.mjs.map +1 -1
  188. package/fesm2022/cax-design-system-inputmask.mjs +3 -3
  189. package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
  190. package/fesm2022/cax-design-system-inputnumber.mjs +3 -3
  191. package/fesm2022/cax-design-system-inputnumber.mjs.map +1 -1
  192. package/fesm2022/cax-design-system-inputotp.mjs +1 -1
  193. package/fesm2022/cax-design-system-inputotp.mjs.map +1 -1
  194. package/fesm2022/cax-design-system-inputswitch.mjs +1 -1
  195. package/fesm2022/cax-design-system-inputswitch.mjs.map +1 -1
  196. package/fesm2022/cax-design-system-inputtext.mjs +3 -3
  197. package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
  198. package/fesm2022/cax-design-system-inputtextarea.mjs +3 -3
  199. package/fesm2022/cax-design-system-inputtextarea.mjs.map +1 -1
  200. package/fesm2022/cax-design-system-keyfilter.mjs +1 -1
  201. package/fesm2022/cax-design-system-keyfilter.mjs.map +1 -1
  202. package/fesm2022/cax-design-system-knob.mjs +1 -1
  203. package/fesm2022/cax-design-system-knob.mjs.map +1 -1
  204. package/fesm2022/cax-design-system-listbox.mjs +1 -1
  205. package/fesm2022/cax-design-system-listbox.mjs.map +1 -1
  206. package/fesm2022/cax-design-system-logo.mjs +3 -3
  207. package/fesm2022/cax-design-system-logo.mjs.map +1 -1
  208. package/fesm2022/cax-design-system-megamenu.mjs +1 -1
  209. package/fesm2022/cax-design-system-megamenu.mjs.map +1 -1
  210. package/fesm2022/cax-design-system-menu.mjs +5 -5
  211. package/fesm2022/cax-design-system-menu.mjs.map +1 -1
  212. package/fesm2022/cax-design-system-menubar.mjs +1 -1
  213. package/fesm2022/cax-design-system-menubar.mjs.map +1 -1
  214. package/fesm2022/cax-design-system-message.mjs +1 -1
  215. package/fesm2022/cax-design-system-message.mjs.map +1 -1
  216. package/fesm2022/cax-design-system-messages.mjs +4 -4
  217. package/fesm2022/cax-design-system-messages.mjs.map +1 -1
  218. package/fesm2022/cax-design-system-metergroup.mjs +1 -1
  219. package/fesm2022/cax-design-system-metergroup.mjs.map +1 -1
  220. package/fesm2022/cax-design-system-multiselect.mjs +5 -5
  221. package/fesm2022/cax-design-system-multiselect.mjs.map +1 -1
  222. package/fesm2022/cax-design-system-navigation.mjs +3 -3
  223. package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
  224. package/fesm2022/cax-design-system-orderlist.mjs +1 -1
  225. package/fesm2022/cax-design-system-orderlist.mjs.map +1 -1
  226. package/fesm2022/cax-design-system-organizationchart.mjs +2 -2
  227. package/fesm2022/cax-design-system-organizationchart.mjs.map +1 -1
  228. package/fesm2022/cax-design-system-overlay.mjs +4 -4
  229. package/fesm2022/cax-design-system-overlay.mjs.map +1 -1
  230. package/fesm2022/cax-design-system-overlaypanel.mjs +5 -5
  231. package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
  232. package/fesm2022/cax-design-system-paginator.mjs +3 -3
  233. package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
  234. package/fesm2022/cax-design-system-panel.mjs +2 -2
  235. package/fesm2022/cax-design-system-panel.mjs.map +1 -1
  236. package/fesm2022/cax-design-system-panelmenu.mjs +2 -2
  237. package/fesm2022/cax-design-system-panelmenu.mjs.map +1 -1
  238. package/fesm2022/cax-design-system-password.mjs +1 -1
  239. package/fesm2022/cax-design-system-password.mjs.map +1 -1
  240. package/fesm2022/cax-design-system-picklist.mjs +1 -1
  241. package/fesm2022/cax-design-system-picklist.mjs.map +1 -1
  242. package/fesm2022/cax-design-system-progressbar.mjs +3 -3
  243. package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
  244. package/fesm2022/cax-design-system-progressspinner.mjs +3 -3
  245. package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
  246. package/fesm2022/cax-design-system-radiobutton.mjs +3 -3
  247. package/fesm2022/cax-design-system-radiobutton.mjs.map +1 -1
  248. package/fesm2022/cax-design-system-rating.mjs +1 -1
  249. package/fesm2022/cax-design-system-rating.mjs.map +1 -1
  250. package/fesm2022/cax-design-system-ripple.mjs +1 -1
  251. package/fesm2022/cax-design-system-ripple.mjs.map +1 -1
  252. package/fesm2022/cax-design-system-scroller.mjs +4 -4
  253. package/fesm2022/cax-design-system-scroller.mjs.map +1 -1
  254. package/fesm2022/cax-design-system-scrollpanel.mjs +1 -1
  255. package/fesm2022/cax-design-system-scrollpanel.mjs.map +1 -1
  256. package/fesm2022/cax-design-system-scrolltop.mjs +2 -2
  257. package/fesm2022/cax-design-system-scrolltop.mjs.map +1 -1
  258. package/fesm2022/cax-design-system-selectbutton.mjs +3 -3
  259. package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
  260. package/fesm2022/cax-design-system-sidebar.mjs +4 -4
  261. package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
  262. package/fesm2022/cax-design-system-skeleton.mjs +3 -3
  263. package/fesm2022/cax-design-system-skeleton.mjs.map +1 -1
  264. package/fesm2022/cax-design-system-slidemenu.mjs +1 -1
  265. package/fesm2022/cax-design-system-slidemenu.mjs.map +1 -1
  266. package/fesm2022/cax-design-system-slider.mjs +1 -1
  267. package/fesm2022/cax-design-system-slider.mjs.map +1 -1
  268. package/fesm2022/cax-design-system-speeddial.mjs +3 -3
  269. package/fesm2022/cax-design-system-speeddial.mjs.map +1 -1
  270. package/fesm2022/cax-design-system-spinner.mjs +1 -1
  271. package/fesm2022/cax-design-system-spinner.mjs.map +1 -1
  272. package/fesm2022/cax-design-system-splitbutton.mjs +3 -3
  273. package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
  274. package/fesm2022/cax-design-system-splitter.mjs +3 -3
  275. package/fesm2022/cax-design-system-splitter.mjs.map +1 -1
  276. package/fesm2022/cax-design-system-stepper.mjs +2 -2
  277. package/fesm2022/cax-design-system-stepper.mjs.map +1 -1
  278. package/fesm2022/cax-design-system-steps.mjs +3 -3
  279. package/fesm2022/cax-design-system-steps.mjs.map +1 -1
  280. package/fesm2022/cax-design-system-styleclass.mjs +1 -1
  281. package/fesm2022/cax-design-system-styleclass.mjs.map +1 -1
  282. package/fesm2022/cax-design-system-table.mjs +19 -19
  283. package/fesm2022/cax-design-system-table.mjs.map +1 -1
  284. package/fesm2022/cax-design-system-tableconfiguration.mjs +19 -11
  285. package/fesm2022/cax-design-system-tableconfiguration.mjs.map +1 -1
  286. package/fesm2022/cax-design-system-tabmenu.mjs +1 -1
  287. package/fesm2022/cax-design-system-tabmenu.mjs.map +1 -1
  288. package/fesm2022/cax-design-system-tabview.mjs +5 -5
  289. package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
  290. package/fesm2022/cax-design-system-tag.mjs +3 -3
  291. package/fesm2022/cax-design-system-tag.mjs.map +1 -1
  292. package/fesm2022/cax-design-system-terminal.mjs +1 -1
  293. package/fesm2022/cax-design-system-terminal.mjs.map +1 -1
  294. package/fesm2022/cax-design-system-tieredmenu.mjs +1 -1
  295. package/fesm2022/cax-design-system-tieredmenu.mjs.map +1 -1
  296. package/fesm2022/cax-design-system-timeline.mjs +3 -3
  297. package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
  298. package/fesm2022/cax-design-system-toast.mjs +6 -6
  299. package/fesm2022/cax-design-system-toast.mjs.map +1 -1
  300. package/fesm2022/cax-design-system-togglebutton.mjs +1 -1
  301. package/fesm2022/cax-design-system-togglebutton.mjs.map +1 -1
  302. package/fesm2022/cax-design-system-toggleswitch.mjs +3 -3
  303. package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
  304. package/fesm2022/cax-design-system-toolbar.mjs +1 -1
  305. package/fesm2022/cax-design-system-toolbar.mjs.map +1 -1
  306. package/fesm2022/cax-design-system-tooltip.mjs +1 -1
  307. package/fesm2022/cax-design-system-tooltip.mjs.map +1 -1
  308. package/fesm2022/cax-design-system-tree.mjs +5 -5
  309. package/fesm2022/cax-design-system-tree.mjs.map +1 -1
  310. package/fesm2022/cax-design-system-treeselect.mjs +3 -3
  311. package/fesm2022/cax-design-system-treeselect.mjs.map +1 -1
  312. package/fesm2022/cax-design-system-treetable.mjs +1 -1
  313. package/fesm2022/cax-design-system-treetable.mjs.map +1 -1
  314. package/fesm2022/cax-design-system-tristatecheckbox.mjs +4 -4
  315. package/fesm2022/cax-design-system-tristatecheckbox.mjs.map +1 -1
  316. package/fesm2022/cax-design-system-upload.mjs +3 -3
  317. package/fesm2022/cax-design-system-upload.mjs.map +1 -1
  318. package/fesm2022/cax-design-system-utils.mjs.map +1 -1
  319. package/fesm2022/cax-design-system-virtualscroller.mjs +1 -1
  320. package/fesm2022/cax-design-system-virtualscroller.mjs.map +1 -1
  321. package/fieldset/index.d.ts +140 -3
  322. package/fileupload/index.d.ts +606 -3
  323. package/floatlabel/index.d.ts +19 -3
  324. package/focustrap/index.d.ts +35 -3
  325. package/galleria/index.d.ts +502 -3
  326. package/iconfield/index.d.ts +26 -3
  327. package/icons/angledoubledown/index.d.ts +9 -5
  328. package/icons/angledoubleleft/index.d.ts +9 -5
  329. package/icons/angledoubleright/index.d.ts +9 -5
  330. package/icons/angledoubleup/index.d.ts +9 -5
  331. package/icons/angledown/index.d.ts +9 -5
  332. package/icons/angleleft/index.d.ts +9 -5
  333. package/icons/angleright/index.d.ts +9 -5
  334. package/icons/angleup/index.d.ts +9 -5
  335. package/icons/arrowdown/index.d.ts +12 -5
  336. package/icons/arrowdownleft/index.d.ts +9 -5
  337. package/icons/arrowdownright/index.d.ts +9 -5
  338. package/icons/arrowleft/index.d.ts +11 -5
  339. package/icons/arrowright/index.d.ts +9 -5
  340. package/icons/arrowup/index.d.ts +11 -5
  341. package/icons/ban/index.d.ts +11 -5
  342. package/icons/bars/index.d.ts +9 -5
  343. package/icons/blank/index.d.ts +9 -5
  344. package/icons/calendar/index.d.ts +9 -5
  345. package/icons/caretleft/index.d.ts +9 -5
  346. package/icons/caretright/index.d.ts +9 -5
  347. package/icons/check/index.d.ts +9 -5
  348. package/icons/chevrondown/index.d.ts +9 -5
  349. package/icons/chevronleft/index.d.ts +9 -5
  350. package/icons/chevronright/index.d.ts +9 -5
  351. package/icons/chevronup/index.d.ts +9 -5
  352. package/icons/exclamationtriangle/index.d.ts +12 -5
  353. package/icons/eye/index.d.ts +9 -5
  354. package/icons/eyeslash/index.d.ts +11 -5
  355. package/icons/filter/index.d.ts +11 -5
  356. package/icons/filterslash/index.d.ts +11 -5
  357. package/icons/home/index.d.ts +11 -5
  358. package/icons/infocircle/index.d.ts +11 -5
  359. package/icons/minus/index.d.ts +9 -5
  360. package/icons/pencil/index.d.ts +11 -5
  361. package/icons/plus/index.d.ts +11 -5
  362. package/icons/refresh/index.d.ts +11 -5
  363. package/icons/search/index.d.ts +11 -5
  364. package/icons/searchminus/index.d.ts +11 -5
  365. package/icons/searchplus/index.d.ts +11 -5
  366. package/icons/sortalt/index.d.ts +11 -5
  367. package/icons/sortamountdown/index.d.ts +11 -5
  368. package/icons/sortamountupalt/index.d.ts +11 -5
  369. package/icons/spinner/index.d.ts +11 -5
  370. package/icons/star/index.d.ts +11 -5
  371. package/icons/starfill/index.d.ts +11 -5
  372. package/icons/thlarge/index.d.ts +11 -5
  373. package/icons/times/index.d.ts +9 -5
  374. package/icons/timescircle/index.d.ts +11 -5
  375. package/icons/trash/index.d.ts +11 -5
  376. package/icons/undo/index.d.ts +11 -5
  377. package/icons/upload/index.d.ts +11 -5
  378. package/icons/windowmaximize/index.d.ts +11 -5
  379. package/icons/windowminimize/index.d.ts +11 -5
  380. package/image/index.d.ts +228 -3
  381. package/index.d.ts +2 -5
  382. package/inplace/index.d.ts +130 -3
  383. package/inputgroup/index.d.ts +48 -3
  384. package/inputgroupaddon/index.d.ts +35 -3
  385. package/inputicon/index.d.ts +22 -3
  386. package/inputmask/index.d.ts +304 -3
  387. package/inputnumber/index.d.ts +443 -3
  388. package/inputotp/index.d.ts +189 -3
  389. package/inputswitch/index.d.ts +123 -3
  390. package/inputtext/index.d.ts +76 -5
  391. package/inputtextarea/index.d.ts +112 -3
  392. package/keyfilter/index.d.ts +65 -3
  393. package/knob/index.d.ts +179 -3
  394. package/listbox/index.d.ts +620 -3
  395. package/logo/index.d.ts +20 -5
  396. package/megamenu/index.d.ts +230 -3
  397. package/menu/index.d.ts +222 -3
  398. package/menubar/index.d.ts +290 -3
  399. package/message/index.d.ts +53 -3
  400. package/messages/index.d.ts +140 -3
  401. package/metergroup/index.d.ts +224 -3
  402. package/multiselect/index.d.ts +974 -3
  403. package/navigation/index.d.ts +105 -5
  404. package/orderlist/index.d.ts +381 -3
  405. package/organizationchart/index.d.ts +192 -3
  406. package/overlay/index.d.ts +246 -3
  407. package/overlaypanel/index.d.ts +170 -3
  408. package/package.json +270 -610
  409. package/paginator/index.d.ts +249 -3
  410. package/panel/index.d.ts +185 -3
  411. package/panelmenu/index.d.ts +249 -3
  412. package/password/index.d.ts +342 -3
  413. package/picklist/index.d.ts +696 -3
  414. package/progressbar/index.d.ts +61 -3
  415. package/progressspinner/index.d.ts +58 -3
  416. package/radiobutton/index.d.ts +173 -3
  417. package/rating/index.d.ts +181 -3
  418. package/resources/cax.min.scss +1 -1
  419. package/resources/cax.scss +12518 -12518
  420. package/resources/components/accordion/accordion.scss +46 -46
  421. package/resources/components/autocomplete/autocomplete.scss +183 -183
  422. package/resources/components/avatar/avatar.scss +34 -34
  423. package/resources/components/avatargroup/avatargroup.scss +10 -10
  424. package/resources/components/badge/badge.scss +67 -67
  425. package/resources/components/blockui/blockui.css +26 -26
  426. package/resources/components/breadcrumb/breadcrumb.scss +33 -33
  427. package/resources/components/button/button.scss +163 -163
  428. package/resources/components/calendar/calendar.scss +235 -235
  429. package/resources/components/card/card.scss +50 -50
  430. package/resources/components/carousel/carousel.css +71 -71
  431. package/resources/components/cascadeselect/cascadeselect.scss +105 -105
  432. package/resources/components/checkbox/checkbox.scss +30 -30
  433. package/resources/components/chip/chip.scss +6 -6
  434. package/resources/components/chips/chips.scss +205 -205
  435. package/resources/components/colorpicker/colorpicker-images.scss +6 -6
  436. package/resources/components/colorpicker/colorpicker.scss +82 -82
  437. package/resources/components/commentbox/commentbox.scss +611 -611
  438. package/resources/components/common/common.scss +183 -183
  439. package/resources/components/confirmpopup/confirmpopup.css +53 -53
  440. package/resources/components/contextmenu/contextmenu.css +42 -42
  441. package/resources/components/dataview/dataview.css +13 -13
  442. package/resources/components/dialog/dialog.scss +171 -171
  443. package/resources/components/divider/divider.scss +86 -86
  444. package/resources/components/dock/dock.css +107 -107
  445. package/resources/components/dropdown/dropdown.scss +94 -94
  446. package/resources/components/editor/editor.scss +3 -3
  447. package/resources/components/fieldset/fieldset.css +30 -30
  448. package/resources/components/fileupload/fileupload.css +47 -47
  449. package/resources/components/galleria/galleria.css +281 -281
  450. package/resources/components/iconfield/iconfield.css +5 -5
  451. package/resources/components/image/image.scss +92 -92
  452. package/resources/components/inplace/inplace.css +19 -19
  453. package/resources/components/inputicon/inputicon.css +6 -6
  454. package/resources/components/inputmask/inputmask.scss +12 -12
  455. package/resources/components/inputnumber/inputnumber.scss +109 -109
  456. package/resources/components/inputotp/inputotp.css +2 -2
  457. package/resources/components/inputswitch/inputswitch.css +23 -23
  458. package/resources/components/inputtext/inputtext.scss +145 -145
  459. package/resources/components/inputtextarea/inputtextarea.scss +10 -10
  460. package/resources/components/knob/knob.css +20 -20
  461. package/resources/components/listbox/listbox.css +40 -40
  462. package/resources/components/megamenu/megamenu.css +108 -108
  463. package/resources/components/menu/menu.scss +31 -30
  464. package/resources/components/menubar/menubar.css +81 -81
  465. package/resources/components/message/message.css +17 -17
  466. package/resources/components/messages/messages.scss +55 -55
  467. package/resources/components/multiselect/multiselect.scss +132 -132
  468. package/resources/components/navigation/navigation.scss +197 -196
  469. package/resources/components/orderlist/orderlist.css +78 -78
  470. package/resources/components/organizationchart/organizationchart.css +62 -62
  471. package/resources/components/overlay/overlay.scss +80 -80
  472. package/resources/components/overlaypanel/overlaypanel.scss +66 -66
  473. package/resources/components/paginator/paginator.scss +41 -41
  474. package/resources/components/panel/panel.css +29 -29
  475. package/resources/components/panelmenu/panelmenu.css +45 -45
  476. package/resources/components/password/password.css +54 -54
  477. package/resources/components/picklist/picklist.css +60 -60
  478. package/resources/components/progressbar/progressbar.scss +107 -107
  479. package/resources/components/progressspinner/progressspinner.scss +94 -94
  480. package/resources/components/radiobutton/radiobutton.scss +34 -34
  481. package/resources/components/rating/rating.css +15 -15
  482. package/resources/components/ripple/ripple.scss +29 -29
  483. package/resources/components/scroller/scroller.scss +58 -58
  484. package/resources/components/scrollpanel/scrollpanel.css +50 -50
  485. package/resources/components/scrolltop/scrolltop.css +18 -18
  486. package/resources/components/sidebar/sidebar.scss +117 -117
  487. package/resources/components/skeleton/skeleton.scss +24 -24
  488. package/resources/components/slidemenu/slidemenu.css +100 -100
  489. package/resources/components/slider/slider.css +41 -41
  490. package/resources/components/speeddial/speeddial.scss +122 -122
  491. package/resources/components/spinner/spinner.css +63 -63
  492. package/resources/components/splitbutton/splitbutton.scss +53 -53
  493. package/resources/components/splitter/splitter.scss +73 -73
  494. package/resources/components/stepper/stepper.css +9 -9
  495. package/resources/components/steps/steps.scss +50 -50
  496. package/resources/components/table/table.scss +451 -451
  497. package/resources/components/tableconfiguration/tableconfiguration.scss +125 -115
  498. package/resources/components/tabmenu/tabmenu.css +80 -80
  499. package/resources/components/tabview/tabview.scss +198 -198
  500. package/resources/components/tag/tag.scss +23 -23
  501. package/resources/components/terminal/terminal.css +24 -24
  502. package/resources/components/tieredmenu/tieredmenu.scss +55 -55
  503. package/resources/components/timeline/timeline.scss +128 -128
  504. package/resources/components/toast/toast.scss +87 -87
  505. package/resources/components/toggleswitch/toggleswitch.scss +36 -36
  506. package/resources/components/toolbar/toolbar.css +19 -19
  507. package/resources/components/tooltip/tooltip.scss +124 -124
  508. package/resources/components/tree/tree.scss +154 -154
  509. package/resources/components/treeselect/treeselect.scss +114 -114
  510. package/resources/components/treetable/treetable.css +205 -205
  511. package/resources/components/upload/upload.component.scss +145 -145
  512. package/resources/logo/dataX-dark.svg +12 -12
  513. package/resources/logo/dataX-icon-dark.svg +5 -5
  514. package/resources/logo/dataX-icon.svg +5 -5
  515. package/resources/logo/dataX.svg +12 -12
  516. package/resources/styles/colors.scss +397 -397
  517. package/resources/styles/shadow-blur.scss +21 -21
  518. package/resources/styles/space-radius-border.scss +49 -49
  519. package/resources/styles/typography.scss +116 -116
  520. package/ripple/index.d.ts +37 -3
  521. package/scroller/index.d.ts +528 -3
  522. package/scrollpanel/index.d.ts +116 -3
  523. package/scrolltop/index.d.ts +117 -3
  524. package/selectbutton/index.d.ts +184 -3
  525. package/sidebar/index.d.ts +213 -3
  526. package/skeleton/index.d.ts +69 -3
  527. package/slidemenu/index.d.ts +339 -3
  528. package/slider/index.d.ts +214 -3
  529. package/speeddial/index.d.ts +319 -3
  530. package/spinner/index.d.ts +93 -5
  531. package/splitbutton/index.d.ts +264 -3
  532. package/splitter/index.d.ts +201 -3
  533. package/stepper/index.d.ts +145 -3
  534. package/steps/index.d.ts +87 -3
  535. package/styleclass/index.d.ts +109 -3
  536. package/table/index.d.ts +2556 -3
  537. package/tableconfiguration/index.d.ts +25 -5
  538. package/tabmenu/index.d.ts +160 -3
  539. package/tabview/index.d.ts +357 -3
  540. package/tag/index.d.ts +82 -3
  541. package/terminal/index.d.ts +68 -3
  542. package/tieredmenu/index.d.ts +307 -3
  543. package/timeline/index.d.ts +100 -3
  544. package/toast/index.d.ts +202 -3
  545. package/togglebutton/index.d.ts +150 -3
  546. package/toggleswitch/index.d.ts +25 -5
  547. package/toolbar/index.d.ts +64 -3
  548. package/tooltip/index.d.ts +218 -3
  549. package/tree/index.d.ts +673 -3
  550. package/treeselect/index.d.ts +517 -3
  551. package/treetable/index.d.ts +1461 -3
  552. package/tristatecheckbox/index.d.ts +155 -3
  553. package/ts-helpers/index.d.ts +6 -5
  554. package/upload/index.d.ts +81 -5
  555. package/utils/index.d.ts +35 -5
  556. package/virtualscroller/index.d.ts +161 -3
  557. package/accordion/accordion.d.ts +0 -224
  558. package/accordion/accordion.interface.d.ts +0 -49
  559. package/accordion/accordion.module.d.ts +0 -13
  560. package/accordion/public_api.d.ts +0 -3
  561. package/animate/animate.d.ts +0 -40
  562. package/animate/public_api.d.ts +0 -1
  563. package/animateonscroll/animateonscroll.d.ts +0 -75
  564. package/animateonscroll/public_api.d.ts +0 -1
  565. package/api/blockableui.d.ts +0 -10
  566. package/api/caxconfig.d.ts +0 -24
  567. package/api/confirmaeventtype.d.ts +0 -8
  568. package/api/confirmation.d.ts +0 -96
  569. package/api/confirmationservice.d.ts +0 -30
  570. package/api/contextmenuservice.d.ts +0 -11
  571. package/api/filtermatchmode.d.ts +0 -22
  572. package/api/filtermetadata.d.ts +0 -18
  573. package/api/filteroperator.d.ts +0 -4
  574. package/api/filterservice.d.ts +0 -10
  575. package/api/lazyloadevent.d.ts +0 -47
  576. package/api/lazyloadmeta.d.ts +0 -19
  577. package/api/megamenuitem.d.ts +0 -130
  578. package/api/menuitem.d.ts +0 -176
  579. package/api/message.d.ts +0 -30
  580. package/api/messageservice.d.ts +0 -32
  581. package/api/overlayoptions.d.ts +0 -188
  582. package/api/overlayservice.d.ts +0 -9
  583. package/api/primeicons.d.ts +0 -313
  584. package/api/public_api.d.ts +0 -34
  585. package/api/scrolleroptions.d.ts +0 -116
  586. package/api/selectitem.d.ts +0 -12
  587. package/api/selectitemgroup.d.ts +0 -10
  588. package/api/shared.d.ts +0 -24
  589. package/api/sortevent.d.ts +0 -12
  590. package/api/sortmeta.d.ts +0 -8
  591. package/api/tablestate.d.ts +0 -60
  592. package/api/themegeneratorservice.d.ts +0 -12
  593. package/api/tooltipoptions.d.ts +0 -69
  594. package/api/translation.d.ts +0 -135
  595. package/api/translationkeys.d.ts +0 -50
  596. package/api/treedragdropservice.d.ts +0 -12
  597. package/api/treenode.d.ts +0 -91
  598. package/api/treenodedragevent.d.ts +0 -27
  599. package/api/treetablenode.d.ts +0 -36
  600. package/autocomplete/autocomplete.d.ts +0 -616
  601. package/autocomplete/autocomplete.interface.d.ts +0 -164
  602. package/autocomplete/autocomplete.module.d.ts +0 -20
  603. package/autocomplete/public_api.d.ts +0 -3
  604. package/autofocus/autofocus.d.ts +0 -28
  605. package/autofocus/public_api.d.ts +0 -1
  606. package/avatar/avatar.d.ts +0 -73
  607. package/avatar/avatar.module.d.ts +0 -7
  608. package/avatar/public_api.d.ts +0 -2
  609. package/avatargroup/avatargroup.d.ts +0 -21
  610. package/avatargroup/avatargroup.module.d.ts +0 -9
  611. package/avatargroup/public_api.d.ts +0 -2
  612. package/badge/badge.d.ts +0 -21
  613. package/badge/badge.directive.d.ts +0 -35
  614. package/badge/badge.module.d.ts +0 -10
  615. package/badge/public_api.d.ts +0 -3
  616. package/baseicon/baseicon.d.ts +0 -15
  617. package/baseicon/public_api.d.ts +0 -1
  618. package/blockui/blockui.d.ts +0 -64
  619. package/blockui/blockui.interface.d.ts +0 -11
  620. package/blockui/public_api.d.ts +0 -2
  621. package/breadcrumb/breadcrumb.d.ts +0 -55
  622. package/breadcrumb/breadcrumb.interface.d.ts +0 -38
  623. package/breadcrumb/breadcrumb.module.d.ts +0 -13
  624. package/breadcrumb/public_api.d.ts +0 -3
  625. package/button/button.d.ts +0 -85
  626. package/button/button.directive.d.ts +0 -49
  627. package/button/button.interface.d.ts +0 -30
  628. package/button/button.module.d.ts +0 -9
  629. package/button/public_api.d.ts +0 -4
  630. package/buttongroup/buttongroup.d.ts +0 -11
  631. package/buttongroup/public_api.d.ts +0 -1
  632. package/calendar/calendar.d.ts +0 -722
  633. package/calendar/calendar.interface.d.ts +0 -204
  634. package/calendar/calendar.module.d.ts +0 -9
  635. package/calendar/public_api.d.ts +0 -3
  636. package/card/card.d.ts +0 -53
  637. package/card/card.interface.d.ts +0 -27
  638. package/card/card.module.d.ts +0 -11
  639. package/card/public_api.d.ts +0 -3
  640. package/carousel/carousel.d.ts +0 -227
  641. package/carousel/carousel.interface.d.ts +0 -63
  642. package/carousel/public_api.d.ts +0 -2
  643. package/cascadeselect/cascadeselect.d.ts +0 -435
  644. package/cascadeselect/cascadeselect.interface.d.ts +0 -115
  645. package/cascadeselect/cascadeselect.module.d.ts +0 -15
  646. package/cascadeselect/public_api.d.ts +0 -3
  647. package/chart/chart.d.ts +0 -87
  648. package/chart/public_api.d.ts +0 -1
  649. package/checkbox/checkbox.d.ts +0 -168
  650. package/checkbox/checkbox.interface.d.ts +0 -26
  651. package/checkbox/checkbox.module.d.ts +0 -10
  652. package/checkbox/public_api.d.ts +0 -3
  653. package/chip/chip.d.ts +0 -38
  654. package/chip/chip.interface.d.ts +0 -15
  655. package/chip/chip.module.d.ts +0 -10
  656. package/chip/public_api.d.ts +0 -3
  657. package/chips/chips.d.ts +0 -233
  658. package/chips/chips.interface.d.ts +0 -58
  659. package/chips/chips.module.d.ts +0 -14
  660. package/chips/public_api.d.ts +0 -3
  661. package/colorpicker/colorpicker.d.ts +0 -240
  662. package/colorpicker/colorpicker.interface.d.ts +0 -15
  663. package/colorpicker/colorpicker.module.d.ts +0 -9
  664. package/colorpicker/public_api.d.ts +0 -3
  665. package/commentbox/commentbox.d.ts +0 -120
  666. package/commentbox/commentbox.module.d.ts +0 -17
  667. package/commentbox/public_api.d.ts +0 -2
  668. package/confirmdialog/confirmdialog.d.ts +0 -281
  669. package/confirmdialog/confirmdialog.interface.d.ts +0 -39
  670. package/confirmdialog/confirmdialog.module.d.ts +0 -15
  671. package/confirmdialog/public_api.d.ts +0 -3
  672. package/confirmpopup/confirmpopup.d.ts +0 -119
  673. package/confirmpopup/confirmpopup.interface.d.ts +0 -27
  674. package/confirmpopup/public_api.d.ts +0 -2
  675. package/contextmenu/contextmenu.d.ts +0 -260
  676. package/contextmenu/public_api.d.ts +0 -1
  677. package/dataview/dataview.d.ts +0 -274
  678. package/dataview/dataview.interface.d.ts +0 -183
  679. package/dataview/public_api.d.ts +0 -2
  680. package/defer/defer.d.ts +0 -39
  681. package/defer/public_api.d.ts +0 -1
  682. package/dialog/dialog.d.ts +0 -364
  683. package/dialog/dialog.interface.d.ts +0 -31
  684. package/dialog/dialog.module.d.ts +0 -15
  685. package/dialog/public_api.d.ts +0 -3
  686. package/divider/divider.d.ts +0 -49
  687. package/divider/divider.module.d.ts +0 -7
  688. package/divider/public_api.d.ts +0 -2
  689. package/dock/dock.d.ts +0 -115
  690. package/dock/dock.interface.d.ts +0 -19
  691. package/dock/public_api.d.ts +0 -2
  692. package/dom/connectedoverlayscrollhandler.d.ts +0 -9
  693. package/dom/domhandler.d.ts +0 -95
  694. package/dom/public_api.d.ts +0 -2
  695. package/dragdrop/dragdrop.d.ts +0 -112
  696. package/dragdrop/dragdrop.module.d.ts +0 -8
  697. package/dragdrop/public_api.d.ts +0 -2
  698. package/dropdown/dropdown-item.d.ts +0 -30
  699. package/dropdown/dropdown.d.ts +0 -628
  700. package/dropdown/dropdown.interface.d.ts +0 -154
  701. package/dropdown/dropdown.module.d.ts +0 -11
  702. package/dropdown/public_api.d.ts +0 -4
  703. package/dynamicdialog/dialogservice.d.ts +0 -35
  704. package/dynamicdialog/dynamicdialog-config.d.ts +0 -221
  705. package/dynamicdialog/dynamicdialog-injector.d.ts +0 -7
  706. package/dynamicdialog/dynamicdialog-ref.d.ts +0 -101
  707. package/dynamicdialog/dynamicdialog.d.ts +0 -124
  708. package/dynamicdialog/dynamicdialogcontent.d.ts +0 -8
  709. package/dynamicdialog/public_api.d.ts +0 -6
  710. package/editor/editor.d.ts +0 -104
  711. package/editor/editor.interface.d.ts +0 -64
  712. package/editor/editor.module.d.ts +0 -9
  713. package/editor/public_api.d.ts +0 -3
  714. package/esm2022/accordion/accordion.interface.mjs +0 -2
  715. package/esm2022/accordion/accordion.mjs +0 -598
  716. package/esm2022/accordion/accordion.module.mjs +0 -23
  717. package/esm2022/accordion/cax-design-system-accordion.mjs +0 -5
  718. package/esm2022/accordion/public_api.mjs +0 -4
  719. package/esm2022/animate/animate.mjs +0 -101
  720. package/esm2022/animate/cax-design-system-animate.mjs +0 -5
  721. package/esm2022/animate/public_api.mjs +0 -2
  722. package/esm2022/animateonscroll/animateonscroll.mjs +0 -185
  723. package/esm2022/animateonscroll/cax-design-system-animateonscroll.mjs +0 -5
  724. package/esm2022/animateonscroll/public_api.mjs +0 -2
  725. package/esm2022/api/blockableui.mjs +0 -2
  726. package/esm2022/api/cax-design-system-api.mjs +0 -5
  727. package/esm2022/api/caxconfig.mjs +0 -163
  728. package/esm2022/api/confirmaeventtype.mjs +0 -10
  729. package/esm2022/api/confirmation.mjs +0 -2
  730. package/esm2022/api/confirmationservice.mjs +0 -43
  731. package/esm2022/api/contextmenuservice.mjs +0 -22
  732. package/esm2022/api/filtermatchmode.mjs +0 -23
  733. package/esm2022/api/filtermetadata.mjs +0 -2
  734. package/esm2022/api/filteroperator.mjs +0 -5
  735. package/esm2022/api/filterservice.mjs +0 -225
  736. package/esm2022/api/lazyloadevent.mjs +0 -2
  737. package/esm2022/api/lazyloadmeta.mjs +0 -2
  738. package/esm2022/api/megamenuitem.mjs +0 -2
  739. package/esm2022/api/menuitem.mjs +0 -2
  740. package/esm2022/api/message.mjs +0 -2
  741. package/esm2022/api/messageservice.mjs +0 -47
  742. package/esm2022/api/overlayoptions.mjs +0 -2
  743. package/esm2022/api/overlayservice.mjs +0 -19
  744. package/esm2022/api/primeicons.mjs +0 -314
  745. package/esm2022/api/public_api.mjs +0 -35
  746. package/esm2022/api/scrolleroptions.mjs +0 -2
  747. package/esm2022/api/selectitem.mjs +0 -2
  748. package/esm2022/api/selectitemgroup.mjs +0 -2
  749. package/esm2022/api/shared.mjs +0 -65
  750. package/esm2022/api/sortevent.mjs +0 -2
  751. package/esm2022/api/sortmeta.mjs +0 -2
  752. package/esm2022/api/tablestate.mjs +0 -2
  753. package/esm2022/api/themegeneratorservice.mjs +0 -109
  754. package/esm2022/api/tooltipoptions.mjs +0 -2
  755. package/esm2022/api/translation.mjs +0 -2
  756. package/esm2022/api/translationkeys.mjs +0 -51
  757. package/esm2022/api/treedragdropservice.mjs +0 -21
  758. package/esm2022/api/treenode.mjs +0 -2
  759. package/esm2022/api/treenodedragevent.mjs +0 -2
  760. package/esm2022/api/treetablenode.mjs +0 -2
  761. package/esm2022/autocomplete/autocomplete.interface.mjs +0 -2
  762. package/esm2022/autocomplete/autocomplete.mjs +0 -1462
  763. package/esm2022/autocomplete/autocomplete.module.mjs +0 -30
  764. package/esm2022/autocomplete/cax-design-system-autocomplete.mjs +0 -5
  765. package/esm2022/autocomplete/public_api.mjs +0 -4
  766. package/esm2022/autofocus/autofocus.mjs +0 -78
  767. package/esm2022/autofocus/cax-design-system-autofocus.mjs +0 -5
  768. package/esm2022/autofocus/public_api.mjs +0 -2
  769. package/esm2022/avatar/avatar.mjs +0 -104
  770. package/esm2022/avatar/avatar.module.mjs +0 -16
  771. package/esm2022/avatar/cax-design-system-avatar.mjs +0 -5
  772. package/esm2022/avatar/public_api.mjs +0 -3
  773. package/esm2022/avatargroup/avatargroup.mjs +0 -32
  774. package/esm2022/avatargroup/avatargroup.module.mjs +0 -19
  775. package/esm2022/avatargroup/cax-design-system-avatargroup.mjs +0 -5
  776. package/esm2022/avatargroup/public_api.mjs +0 -3
  777. package/esm2022/badge/badge.directive.mjs +0 -193
  778. package/esm2022/badge/badge.mjs +0 -50
  779. package/esm2022/badge/badge.module.mjs +0 -20
  780. package/esm2022/badge/cax-design-system-badge.mjs +0 -5
  781. package/esm2022/badge/public_api.mjs +0 -4
  782. package/esm2022/baseicon/baseicon.mjs +0 -45
  783. package/esm2022/baseicon/cax-design-system-baseicon.mjs +0 -5
  784. package/esm2022/baseicon/public_api.mjs +0 -2
  785. package/esm2022/blockui/blockui.interface.mjs +0 -2
  786. package/esm2022/blockui/blockui.mjs +0 -206
  787. package/esm2022/blockui/cax-design-system-blockui.mjs +0 -5
  788. package/esm2022/blockui/public_api.mjs +0 -3
  789. package/esm2022/breadcrumb/breadcrumb.interface.mjs +0 -2
  790. package/esm2022/breadcrumb/breadcrumb.mjs +0 -120
  791. package/esm2022/breadcrumb/breadcrumb.module.mjs +0 -23
  792. package/esm2022/breadcrumb/cax-design-system-breadcrumb.mjs +0 -5
  793. package/esm2022/breadcrumb/public_api.mjs +0 -4
  794. package/esm2022/button/button.directive.mjs +0 -259
  795. package/esm2022/button/button.interface.mjs +0 -2
  796. package/esm2022/button/button.mjs +0 -190
  797. package/esm2022/button/button.module.mjs +0 -18
  798. package/esm2022/button/cax-design-system-button.mjs +0 -5
  799. package/esm2022/button/public_api.mjs +0 -5
  800. package/esm2022/buttongroup/buttongroup.mjs +0 -38
  801. package/esm2022/buttongroup/cax-design-system-buttongroup.mjs +0 -5
  802. package/esm2022/buttongroup/public_api.mjs +0 -2
  803. package/esm2022/calendar/calendar.interface.mjs +0 -2
  804. package/esm2022/calendar/calendar.mjs +0 -3242
  805. package/esm2022/calendar/calendar.module.mjs +0 -18
  806. package/esm2022/calendar/cax-design-system-calendar.mjs +0 -5
  807. package/esm2022/calendar/public_api.mjs +0 -4
  808. package/esm2022/card/card.interface.mjs +0 -2
  809. package/esm2022/card/card.mjs +0 -117
  810. package/esm2022/card/card.module.mjs +0 -21
  811. package/esm2022/card/cax-design-system-card.mjs +0 -5
  812. package/esm2022/card/public_api.mjs +0 -4
  813. package/esm2022/carousel/carousel.interface.mjs +0 -2
  814. package/esm2022/carousel/carousel.mjs +0 -968
  815. package/esm2022/carousel/cax-design-system-carousel.mjs +0 -5
  816. package/esm2022/carousel/public_api.mjs +0 -3
  817. package/esm2022/cascadeselect/cascadeselect.interface.mjs +0 -2
  818. package/esm2022/cascadeselect/cascadeselect.mjs +0 -1135
  819. package/esm2022/cascadeselect/cascadeselect.module.mjs +0 -25
  820. package/esm2022/cascadeselect/cax-design-system-cascadeselect.mjs +0 -5
  821. package/esm2022/cascadeselect/public_api.mjs +0 -4
  822. package/esm2022/cax-design-system.mjs +0 -5
  823. package/esm2022/chart/cax-design-system-chart.mjs +0 -5
  824. package/esm2022/chart/chart.mjs +0 -236
  825. package/esm2022/chart/public_api.mjs +0 -2
  826. package/esm2022/checkbox/cax-design-system-checkbox.mjs +0 -5
  827. package/esm2022/checkbox/checkbox.interface.mjs +0 -2
  828. package/esm2022/checkbox/checkbox.mjs +0 -318
  829. package/esm2022/checkbox/checkbox.module.mjs +0 -20
  830. package/esm2022/checkbox/public_api.mjs +0 -4
  831. package/esm2022/chip/cax-design-system-chip.mjs +0 -5
  832. package/esm2022/chip/chip.interface.mjs +0 -2
  833. package/esm2022/chip/chip.mjs +0 -90
  834. package/esm2022/chip/chip.module.mjs +0 -20
  835. package/esm2022/chip/public_api.mjs +0 -4
  836. package/esm2022/chips/cax-design-system-chips.mjs +0 -5
  837. package/esm2022/chips/chips.interface.mjs +0 -2
  838. package/esm2022/chips/chips.mjs +0 -610
  839. package/esm2022/chips/chips.module.mjs +0 -23
  840. package/esm2022/chips/public_api.mjs +0 -4
  841. package/esm2022/colorpicker/cax-design-system-colorpicker.mjs +0 -5
  842. package/esm2022/colorpicker/colorpicker.interface.mjs +0 -2
  843. package/esm2022/colorpicker/colorpicker.mjs +0 -715
  844. package/esm2022/colorpicker/colorpicker.module.mjs +0 -19
  845. package/esm2022/colorpicker/public_api.mjs +0 -4
  846. package/esm2022/commentbox/cax-design-system-commentbox.mjs +0 -5
  847. package/esm2022/commentbox/commentbox.mjs +0 -575
  848. package/esm2022/commentbox/commentbox.module.mjs +0 -27
  849. package/esm2022/commentbox/public_api.mjs +0 -3
  850. package/esm2022/confirmdialog/cax-design-system-confirmdialog.mjs +0 -5
  851. package/esm2022/confirmdialog/confirmdialog.interface.mjs +0 -2
  852. package/esm2022/confirmdialog/confirmdialog.mjs +0 -720
  853. package/esm2022/confirmdialog/confirmdialog.module.mjs +0 -25
  854. package/esm2022/confirmdialog/public_api.mjs +0 -4
  855. package/esm2022/confirmpopup/cax-design-system-confirmpopup.mjs +0 -5
  856. package/esm2022/confirmpopup/confirmpopup.interface.mjs +0 -2
  857. package/esm2022/confirmpopup/confirmpopup.mjs +0 -499
  858. package/esm2022/confirmpopup/public_api.mjs +0 -3
  859. package/esm2022/contextmenu/cax-design-system-contextmenu.mjs +0 -5
  860. package/esm2022/contextmenu/contextmenu.mjs +0 -1304
  861. package/esm2022/contextmenu/public_api.mjs +0 -2
  862. package/esm2022/dataview/cax-design-system-dataview.mjs +0 -5
  863. package/esm2022/dataview/dataview.interface.mjs +0 -2
  864. package/esm2022/dataview/dataview.mjs +0 -723
  865. package/esm2022/dataview/public_api.mjs +0 -3
  866. package/esm2022/defer/cax-design-system-defer.mjs +0 -5
  867. package/esm2022/defer/defer.mjs +0 -111
  868. package/esm2022/defer/public_api.mjs +0 -2
  869. package/esm2022/dialog/cax-design-system-dialog.mjs +0 -5
  870. package/esm2022/dialog/dialog.interface.mjs +0 -2
  871. package/esm2022/dialog/dialog.mjs +0 -959
  872. package/esm2022/dialog/dialog.module.mjs +0 -25
  873. package/esm2022/dialog/public_api.mjs +0 -4
  874. package/esm2022/divider/cax-design-system-divider.mjs +0 -5
  875. package/esm2022/divider/divider.mjs +0 -69
  876. package/esm2022/divider/divider.module.mjs +0 -16
  877. package/esm2022/divider/public_api.mjs +0 -3
  878. package/esm2022/dock/cax-design-system-dock.mjs +0 -5
  879. package/esm2022/dock/dock.interface.mjs +0 -2
  880. package/esm2022/dock/dock.mjs +0 -431
  881. package/esm2022/dock/public_api.mjs +0 -3
  882. package/esm2022/dom/cax-design-system-dom.mjs +0 -5
  883. package/esm2022/dom/connectedoverlayscrollhandler.mjs +0 -30
  884. package/esm2022/dom/domhandler.mjs +0 -722
  885. package/esm2022/dom/public_api.mjs +0 -3
  886. package/esm2022/dragdrop/cax-design-system-dragdrop.mjs +0 -5
  887. package/esm2022/dragdrop/dragdrop.mjs +0 -309
  888. package/esm2022/dragdrop/dragdrop.module.mjs +0 -18
  889. package/esm2022/dragdrop/public_api.mjs +0 -3
  890. package/esm2022/dropdown/cax-design-system-dropdown.mjs +0 -5
  891. package/esm2022/dropdown/dropdown-item.mjs +0 -72
  892. package/esm2022/dropdown/dropdown.interface.mjs +0 -2
  893. package/esm2022/dropdown/dropdown.mjs +0 -1599
  894. package/esm2022/dropdown/dropdown.module.mjs +0 -20
  895. package/esm2022/dropdown/public_api.mjs +0 -5
  896. package/esm2022/dynamicdialog/cax-design-system-dynamicdialog.mjs +0 -5
  897. package/esm2022/dynamicdialog/dialogservice.mjs +0 -102
  898. package/esm2022/dynamicdialog/dynamicdialog-config.mjs +0 -187
  899. package/esm2022/dynamicdialog/dynamicdialog-injector.mjs +0 -15
  900. package/esm2022/dynamicdialog/dynamicdialog-ref.mjs +0 -119
  901. package/esm2022/dynamicdialog/dynamicdialog.mjs +0 -696
  902. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +0 -20
  903. package/esm2022/dynamicdialog/public_api.mjs +0 -7
  904. package/esm2022/editor/cax-design-system-editor.mjs +0 -5
  905. package/esm2022/editor/editor.interface.mjs +0 -2
  906. package/esm2022/editor/editor.mjs +0 -281
  907. package/esm2022/editor/editor.module.mjs +0 -19
  908. package/esm2022/editor/public_api.mjs +0 -4
  909. package/esm2022/fieldset/cax-design-system-fieldset.mjs +0 -5
  910. package/esm2022/fieldset/fieldset.interface.mjs +0 -2
  911. package/esm2022/fieldset/fieldset.mjs +0 -297
  912. package/esm2022/fieldset/public_api.mjs +0 -3
  913. package/esm2022/fileupload/cax-design-system-fileupload.mjs +0 -5
  914. package/esm2022/fileupload/fileupload.interface.mjs +0 -2
  915. package/esm2022/fileupload/fileupload.mjs +0 -1188
  916. package/esm2022/fileupload/public_api.mjs +0 -3
  917. package/esm2022/floatlabel/cax-design-system-floatlabel.mjs +0 -5
  918. package/esm2022/floatlabel/floatlabel.mjs +0 -28
  919. package/esm2022/floatlabel/floatlabel.module.mjs +0 -20
  920. package/esm2022/floatlabel/public_api.mjs +0 -3
  921. package/esm2022/focustrap/cax-design-system-focustrap.mjs +0 -5
  922. package/esm2022/focustrap/focustrap.mjs +0 -103
  923. package/esm2022/focustrap/public_api.mjs +0 -2
  924. package/esm2022/galleria/cax-design-system-galleria.mjs +0 -5
  925. package/esm2022/galleria/galleria.interface.mjs +0 -2
  926. package/esm2022/galleria/galleria.mjs +0 -1668
  927. package/esm2022/galleria/public_api.mjs +0 -3
  928. package/esm2022/iconfield/cax-design-system-iconfield.mjs +0 -5
  929. package/esm2022/iconfield/iconfield.mjs +0 -44
  930. package/esm2022/iconfield/public_api.mjs +0 -2
  931. package/esm2022/icons/angledoubledown/angledoubledown.mjs +0 -35
  932. package/esm2022/icons/angledoubledown/cax-design-system-icons-angledoubledown.mjs +0 -5
  933. package/esm2022/icons/angledoubledown/public_api.mjs +0 -2
  934. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +0 -35
  935. package/esm2022/icons/angledoubleleft/cax-design-system-icons-angledoubleleft.mjs +0 -5
  936. package/esm2022/icons/angledoubleleft/public_api.mjs +0 -2
  937. package/esm2022/icons/angledoubleright/angledoubleright.mjs +0 -35
  938. package/esm2022/icons/angledoubleright/cax-design-system-icons-angledoubleright.mjs +0 -5
  939. package/esm2022/icons/angledoubleright/public_api.mjs +0 -2
  940. package/esm2022/icons/angledoubleup/angledoubleup.mjs +0 -35
  941. package/esm2022/icons/angledoubleup/cax-design-system-icons-angledoubleup.mjs +0 -5
  942. package/esm2022/icons/angledoubleup/public_api.mjs +0 -2
  943. package/esm2022/icons/angledown/angledown.mjs +0 -31
  944. package/esm2022/icons/angledown/cax-design-system-icons-angledown.mjs +0 -5
  945. package/esm2022/icons/angledown/public_api.mjs +0 -2
  946. package/esm2022/icons/angleleft/angleleft.mjs +0 -31
  947. package/esm2022/icons/angleleft/cax-design-system-icons-angleleft.mjs +0 -5
  948. package/esm2022/icons/angleleft/public_api.mjs +0 -2
  949. package/esm2022/icons/angleright/angleright.mjs +0 -31
  950. package/esm2022/icons/angleright/cax-design-system-icons-angleright.mjs +0 -5
  951. package/esm2022/icons/angleright/public_api.mjs +0 -2
  952. package/esm2022/icons/angleup/angleup.mjs +0 -31
  953. package/esm2022/icons/angleup/cax-design-system-icons-angleup.mjs +0 -5
  954. package/esm2022/icons/angleup/public_api.mjs +0 -2
  955. package/esm2022/icons/arrowdown/arrowdown.mjs +0 -54
  956. package/esm2022/icons/arrowdown/cax-design-system-icons-arrowdown.mjs +0 -5
  957. package/esm2022/icons/arrowdown/public_api.mjs +0 -2
  958. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +0 -31
  959. package/esm2022/icons/arrowdownleft/cax-design-system-icons-arrowdownleft.mjs +0 -5
  960. package/esm2022/icons/arrowdownleft/public_api.mjs +0 -2
  961. package/esm2022/icons/arrowdownright/arrowdownright.mjs +0 -31
  962. package/esm2022/icons/arrowdownright/cax-design-system-icons-arrowdownright.mjs +0 -5
  963. package/esm2022/icons/arrowdownright/public_api.mjs +0 -2
  964. package/esm2022/icons/arrowleft/arrowleft.mjs +0 -54
  965. package/esm2022/icons/arrowleft/cax-design-system-icons-arrowleft.mjs +0 -5
  966. package/esm2022/icons/arrowleft/public_api.mjs +0 -2
  967. package/esm2022/icons/arrowright/arrowright.mjs +0 -35
  968. package/esm2022/icons/arrowright/cax-design-system-icons-arrowright.mjs +0 -5
  969. package/esm2022/icons/arrowright/public_api.mjs +0 -2
  970. package/esm2022/icons/arrowup/arrowup.mjs +0 -54
  971. package/esm2022/icons/arrowup/cax-design-system-icons-arrowup.mjs +0 -5
  972. package/esm2022/icons/arrowup/public_api.mjs +0 -2
  973. package/esm2022/icons/ban/ban.mjs +0 -50
  974. package/esm2022/icons/ban/cax-design-system-icons-ban.mjs +0 -5
  975. package/esm2022/icons/ban/public_api.mjs +0 -2
  976. package/esm2022/icons/bars/bars.mjs +0 -35
  977. package/esm2022/icons/bars/cax-design-system-icons-bars.mjs +0 -5
  978. package/esm2022/icons/bars/public_api.mjs +0 -2
  979. package/esm2022/icons/blank/blank.mjs +0 -25
  980. package/esm2022/icons/blank/cax-design-system-icons-blank.mjs +0 -5
  981. package/esm2022/icons/blank/public_api.mjs +0 -2
  982. package/esm2022/icons/calendar/calendar.mjs +0 -31
  983. package/esm2022/icons/calendar/cax-design-system-icons-calendar.mjs +0 -5
  984. package/esm2022/icons/calendar/public_api.mjs +0 -2
  985. package/esm2022/icons/caretleft/caretleft.mjs +0 -31
  986. package/esm2022/icons/caretleft/cax-design-system-icons-caretleft.mjs +0 -5
  987. package/esm2022/icons/caretleft/public_api.mjs +0 -2
  988. package/esm2022/icons/caretright/caretright.mjs +0 -31
  989. package/esm2022/icons/caretright/cax-design-system-icons-caretright.mjs +0 -5
  990. package/esm2022/icons/caretright/public_api.mjs +0 -2
  991. package/esm2022/icons/check/cax-design-system-icons-check.mjs +0 -5
  992. package/esm2022/icons/check/check.mjs +0 -31
  993. package/esm2022/icons/check/public_api.mjs +0 -2
  994. package/esm2022/icons/chevrondown/cax-design-system-icons-chevrondown.mjs +0 -5
  995. package/esm2022/icons/chevrondown/chevrondown.mjs +0 -31
  996. package/esm2022/icons/chevrondown/public_api.mjs +0 -2
  997. package/esm2022/icons/chevronleft/cax-design-system-icons-chevronleft.mjs +0 -5
  998. package/esm2022/icons/chevronleft/chevronleft.mjs +0 -31
  999. package/esm2022/icons/chevronleft/public_api.mjs +0 -2
  1000. package/esm2022/icons/chevronright/cax-design-system-icons-chevronright.mjs +0 -5
  1001. package/esm2022/icons/chevronright/chevronright.mjs +0 -31
  1002. package/esm2022/icons/chevronright/public_api.mjs +0 -2
  1003. package/esm2022/icons/chevronup/cax-design-system-icons-chevronup.mjs +0 -5
  1004. package/esm2022/icons/chevronup/chevronup.mjs +0 -31
  1005. package/esm2022/icons/chevronup/public_api.mjs +0 -2
  1006. package/esm2022/icons/exclamationtriangle/cax-design-system-icons-exclamationtriangle.mjs +0 -5
  1007. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +0 -66
  1008. package/esm2022/icons/exclamationtriangle/public_api.mjs +0 -2
  1009. package/esm2022/icons/eye/cax-design-system-icons-eye.mjs +0 -5
  1010. package/esm2022/icons/eye/eye.mjs +0 -35
  1011. package/esm2022/icons/eye/public_api.mjs +0 -2
  1012. package/esm2022/icons/eyeslash/cax-design-system-icons-eyeslash.mjs +0 -5
  1013. package/esm2022/icons/eyeslash/eyeslash.mjs +0 -54
  1014. package/esm2022/icons/eyeslash/public_api.mjs +0 -2
  1015. package/esm2022/icons/filter/cax-design-system-icons-filter.mjs +0 -5
  1016. package/esm2022/icons/filter/filter.mjs +0 -50
  1017. package/esm2022/icons/filter/public_api.mjs +0 -2
  1018. package/esm2022/icons/filterslash/cax-design-system-icons-filterslash.mjs +0 -5
  1019. package/esm2022/icons/filterslash/filterslash.mjs +0 -54
  1020. package/esm2022/icons/filterslash/public_api.mjs +0 -2
  1021. package/esm2022/icons/home/cax-design-system-icons-home.mjs +0 -5
  1022. package/esm2022/icons/home/home.mjs +0 -54
  1023. package/esm2022/icons/home/public_api.mjs +0 -2
  1024. package/esm2022/icons/infocircle/cax-design-system-icons-infocircle.mjs +0 -5
  1025. package/esm2022/icons/infocircle/infocircle.mjs +0 -54
  1026. package/esm2022/icons/infocircle/public_api.mjs +0 -2
  1027. package/esm2022/icons/minus/cax-design-system-icons-minus.mjs +0 -5
  1028. package/esm2022/icons/minus/minus.mjs +0 -32
  1029. package/esm2022/icons/minus/public_api.mjs +0 -2
  1030. package/esm2022/icons/pencil/cax-design-system-icons-pencil.mjs +0 -5
  1031. package/esm2022/icons/pencil/pencil.mjs +0 -50
  1032. package/esm2022/icons/pencil/public_api.mjs +0 -2
  1033. package/esm2022/icons/plus/cax-design-system-icons-plus.mjs +0 -5
  1034. package/esm2022/icons/plus/plus.mjs +0 -50
  1035. package/esm2022/icons/plus/public_api.mjs +0 -2
  1036. package/esm2022/icons/refresh/cax-design-system-icons-refresh.mjs +0 -5
  1037. package/esm2022/icons/refresh/public_api.mjs +0 -2
  1038. package/esm2022/icons/refresh/refresh.mjs +0 -54
  1039. package/esm2022/icons/search/cax-design-system-icons-search.mjs +0 -5
  1040. package/esm2022/icons/search/public_api.mjs +0 -2
  1041. package/esm2022/icons/search/search.mjs +0 -54
  1042. package/esm2022/icons/searchminus/cax-design-system-icons-searchminus.mjs +0 -5
  1043. package/esm2022/icons/searchminus/public_api.mjs +0 -2
  1044. package/esm2022/icons/searchminus/searchminus.mjs +0 -54
  1045. package/esm2022/icons/searchplus/cax-design-system-icons-searchplus.mjs +0 -5
  1046. package/esm2022/icons/searchplus/public_api.mjs +0 -2
  1047. package/esm2022/icons/searchplus/searchplus.mjs +0 -54
  1048. package/esm2022/icons/sortalt/cax-design-system-icons-sortalt.mjs +0 -5
  1049. package/esm2022/icons/sortalt/public_api.mjs +0 -2
  1050. package/esm2022/icons/sortalt/sortalt.mjs +0 -62
  1051. package/esm2022/icons/sortamountdown/cax-design-system-icons-sortamountdown.mjs +0 -5
  1052. package/esm2022/icons/sortamountdown/public_api.mjs +0 -2
  1053. package/esm2022/icons/sortamountdown/sortamountdown.mjs +0 -50
  1054. package/esm2022/icons/sortamountupalt/cax-design-system-icons-sortamountupalt.mjs +0 -5
  1055. package/esm2022/icons/sortamountupalt/public_api.mjs +0 -2
  1056. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +0 -50
  1057. package/esm2022/icons/spinner/cax-design-system-icons-spinner.mjs +0 -5
  1058. package/esm2022/icons/spinner/public_api.mjs +0 -2
  1059. package/esm2022/icons/spinner/spinner.mjs +0 -50
  1060. package/esm2022/icons/star/cax-design-system-icons-star.mjs +0 -5
  1061. package/esm2022/icons/star/public_api.mjs +0 -2
  1062. package/esm2022/icons/star/star.mjs +0 -50
  1063. package/esm2022/icons/starfill/cax-design-system-icons-starfill.mjs +0 -5
  1064. package/esm2022/icons/starfill/public_api.mjs +0 -2
  1065. package/esm2022/icons/starfill/starfill.mjs +0 -50
  1066. package/esm2022/icons/thlarge/cax-design-system-icons-thlarge.mjs +0 -5
  1067. package/esm2022/icons/thlarge/public_api.mjs +0 -2
  1068. package/esm2022/icons/thlarge/thlarge.mjs +0 -54
  1069. package/esm2022/icons/times/cax-design-system-icons-times.mjs +0 -5
  1070. package/esm2022/icons/times/public_api.mjs +0 -2
  1071. package/esm2022/icons/times/times.mjs +0 -31
  1072. package/esm2022/icons/timescircle/cax-design-system-icons-timescircle.mjs +0 -5
  1073. package/esm2022/icons/timescircle/public_api.mjs +0 -2
  1074. package/esm2022/icons/timescircle/timescircle.mjs +0 -54
  1075. package/esm2022/icons/trash/cax-design-system-icons-trash.mjs +0 -5
  1076. package/esm2022/icons/trash/public_api.mjs +0 -2
  1077. package/esm2022/icons/trash/trash.mjs +0 -54
  1078. package/esm2022/icons/undo/cax-design-system-icons-undo.mjs +0 -5
  1079. package/esm2022/icons/undo/public_api.mjs +0 -2
  1080. package/esm2022/icons/undo/undo.mjs +0 -54
  1081. package/esm2022/icons/upload/cax-design-system-icons-upload.mjs +0 -5
  1082. package/esm2022/icons/upload/public_api.mjs +0 -2
  1083. package/esm2022/icons/upload/upload.mjs +0 -54
  1084. package/esm2022/icons/windowmaximize/cax-design-system-icons-windowmaximize.mjs +0 -5
  1085. package/esm2022/icons/windowmaximize/public_api.mjs +0 -2
  1086. package/esm2022/icons/windowmaximize/windowmaximize.mjs +0 -54
  1087. package/esm2022/icons/windowminimize/cax-design-system-icons-windowminimize.mjs +0 -5
  1088. package/esm2022/icons/windowminimize/public_api.mjs +0 -2
  1089. package/esm2022/icons/windowminimize/windowminimize.mjs +0 -54
  1090. package/esm2022/image/cax-design-system-image.mjs +0 -5
  1091. package/esm2022/image/image.interface.mjs +0 -2
  1092. package/esm2022/image/image.mjs +0 -418
  1093. package/esm2022/image/image.module.mjs +0 -17
  1094. package/esm2022/image/public_api.mjs +0 -4
  1095. package/esm2022/inplace/cax-design-system-inplace.mjs +0 -5
  1096. package/esm2022/inplace/inplace.interface.mjs +0 -2
  1097. package/esm2022/inplace/inplace.mjs +0 -243
  1098. package/esm2022/inplace/public_api.mjs +0 -3
  1099. package/esm2022/inputgroup/cax-design-system-inputgroup.mjs +0 -5
  1100. package/esm2022/inputgroup/inputgroup.mjs +0 -55
  1101. package/esm2022/inputgroup/inputgroup.module.mjs +0 -25
  1102. package/esm2022/inputgroup/public_api.mjs +0 -3
  1103. package/esm2022/inputgroupaddon/cax-design-system-inputgroupaddon.mjs +0 -5
  1104. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +0 -32
  1105. package/esm2022/inputgroupaddon/inputgroupaddon.module.mjs +0 -24
  1106. package/esm2022/inputgroupaddon/public_api.mjs +0 -3
  1107. package/esm2022/inputicon/cax-design-system-inputicon.mjs +0 -5
  1108. package/esm2022/inputicon/inputicon.mjs +0 -38
  1109. package/esm2022/inputicon/public_api.mjs +0 -2
  1110. package/esm2022/inputmask/cax-design-system-inputmask.mjs +0 -5
  1111. package/esm2022/inputmask/inputmask.interface.mjs +0 -2
  1112. package/esm2022/inputmask/inputmask.mjs +0 -848
  1113. package/esm2022/inputmask/inputmask.module.mjs +0 -22
  1114. package/esm2022/inputmask/public_api.mjs +0 -4
  1115. package/esm2022/inputnumber/cax-design-system-inputnumber.mjs +0 -5
  1116. package/esm2022/inputnumber/inputnumber.interface.mjs +0 -2
  1117. package/esm2022/inputnumber/inputnumber.mjs +0 -1296
  1118. package/esm2022/inputnumber/inputnumber.module.mjs +0 -17
  1119. package/esm2022/inputnumber/public_api.mjs +0 -4
  1120. package/esm2022/inputotp/cax-design-system-inputotp.mjs +0 -5
  1121. package/esm2022/inputotp/inputotp.interface.mjs +0 -2
  1122. package/esm2022/inputotp/inputotp.mjs +0 -381
  1123. package/esm2022/inputotp/public_api.mjs +0 -3
  1124. package/esm2022/inputswitch/cax-design-system-inputswitch.mjs +0 -5
  1125. package/esm2022/inputswitch/inputswitch.interface.mjs +0 -2
  1126. package/esm2022/inputswitch/inputswitch.mjs +0 -244
  1127. package/esm2022/inputswitch/public_api.mjs +0 -3
  1128. package/esm2022/inputtext/cax-design-system-inputtext.mjs +0 -5
  1129. package/esm2022/inputtext/inputtext.component.mjs +0 -132
  1130. package/esm2022/inputtext/inputtext.directive.mjs +0 -76
  1131. package/esm2022/inputtext/inputtext.module.mjs +0 -20
  1132. package/esm2022/inputtext/public_api.mjs +0 -4
  1133. package/esm2022/inputtextarea/cax-design-system-inputtextarea.mjs +0 -5
  1134. package/esm2022/inputtextarea/inputtextarea.component.mjs +0 -155
  1135. package/esm2022/inputtextarea/inputtextarea.directive.mjs +0 -121
  1136. package/esm2022/inputtextarea/inputtextarea.module.mjs +0 -20
  1137. package/esm2022/inputtextarea/public_api.mjs +0 -4
  1138. package/esm2022/keyfilter/cax-design-system-keyfilter.mjs +0 -5
  1139. package/esm2022/keyfilter/keyfilter.interface.mjs +0 -2
  1140. package/esm2022/keyfilter/keyfilter.mjs +0 -265
  1141. package/esm2022/keyfilter/public_api.mjs +0 -3
  1142. package/esm2022/knob/cax-design-system-knob.mjs +0 -5
  1143. package/esm2022/knob/knob.mjs +0 -464
  1144. package/esm2022/knob/public_api.mjs +0 -2
  1145. package/esm2022/listbox/cax-design-system-listbox.mjs +0 -5
  1146. package/esm2022/listbox/listbox.interface.mjs +0 -2
  1147. package/esm2022/listbox/listbox.mjs +0 -1555
  1148. package/esm2022/listbox/public_api.mjs +0 -3
  1149. package/esm2022/logo/cax-design-system-logo.mjs +0 -5
  1150. package/esm2022/logo/logo.mjs +0 -45
  1151. package/esm2022/logo/logo.module.mjs +0 -16
  1152. package/esm2022/logo/public_api.mjs +0 -3
  1153. package/esm2022/megamenu/cax-design-system-megamenu.mjs +0 -5
  1154. package/esm2022/megamenu/megamenu.interface.mjs +0 -2
  1155. package/esm2022/megamenu/megamenu.mjs +0 -1190
  1156. package/esm2022/megamenu/public_api.mjs +0 -3
  1157. package/esm2022/menu/cax-design-system-menu.mjs +0 -5
  1158. package/esm2022/menu/menu.mjs +0 -626
  1159. package/esm2022/menu/menu.module.mjs +0 -22
  1160. package/esm2022/menu/public_api.mjs +0 -3
  1161. package/esm2022/menubar/cax-design-system-menubar.mjs +0 -5
  1162. package/esm2022/menubar/menubar.interface.mjs +0 -2
  1163. package/esm2022/menubar/menubar.mjs +0 -1249
  1164. package/esm2022/menubar/public_api.mjs +0 -3
  1165. package/esm2022/message/cax-design-system-message.mjs +0 -5
  1166. package/esm2022/message/message.mjs +0 -112
  1167. package/esm2022/message/public_api.mjs +0 -2
  1168. package/esm2022/messages/cax-design-system-messages.mjs +0 -5
  1169. package/esm2022/messages/messages.interface.mjs +0 -2
  1170. package/esm2022/messages/messages.mjs +0 -283
  1171. package/esm2022/messages/messages.module.mjs +0 -17
  1172. package/esm2022/messages/public_api.mjs +0 -4
  1173. package/esm2022/metergroup/cax-design-system-metergroup.mjs +0 -5
  1174. package/esm2022/metergroup/metergroup.interface.mjs +0 -2
  1175. package/esm2022/metergroup/metergroup.mjs +0 -280
  1176. package/esm2022/metergroup/public_api.mjs +0 -3
  1177. package/esm2022/multiselect/cax-design-system-multiselect.mjs +0 -5
  1178. package/esm2022/multiselect/multiselect.interface.mjs +0 -2
  1179. package/esm2022/multiselect/multiselect.mjs +0 -1875
  1180. package/esm2022/multiselect/multiselect.module.mjs +0 -30
  1181. package/esm2022/multiselect/public_api.mjs +0 -4
  1182. package/esm2022/navigation/cax-design-system-navigation.mjs +0 -5
  1183. package/esm2022/navigation/navigation.interface.mjs +0 -2
  1184. package/esm2022/navigation/navigation.mjs +0 -399
  1185. package/esm2022/navigation/navigation.module.mjs +0 -16
  1186. package/esm2022/navigation/public_api.mjs +0 -3
  1187. package/esm2022/orderlist/cax-design-system-orderlist.mjs +0 -5
  1188. package/esm2022/orderlist/orderlist.interface.mjs +0 -2
  1189. package/esm2022/orderlist/orderlist.mjs +0 -993
  1190. package/esm2022/orderlist/public_api.mjs +0 -3
  1191. package/esm2022/organizationchart/cax-design-system-organizationchart.mjs +0 -5
  1192. package/esm2022/organizationchart/organizationchart.interface.mjs +0 -2
  1193. package/esm2022/organizationchart/organizationchart.mjs +0 -416
  1194. package/esm2022/organizationchart/public_api.mjs +0 -3
  1195. package/esm2022/overlay/cax-design-system-overlay.mjs +0 -5
  1196. package/esm2022/overlay/overlay.mjs +0 -579
  1197. package/esm2022/overlay/overlay.module.mjs +0 -17
  1198. package/esm2022/overlay/public_api.mjs +0 -3
  1199. package/esm2022/overlaypanel/cax-design-system-overlaypanel.mjs +0 -5
  1200. package/esm2022/overlaypanel/overlaypanel.mjs +0 -470
  1201. package/esm2022/overlaypanel/overlaypanel.module.mjs +0 -17
  1202. package/esm2022/overlaypanel/public_api.mjs +0 -3
  1203. package/esm2022/paginator/cax-design-system-paginator.mjs +0 -5
  1204. package/esm2022/paginator/paginator.interface.mjs +0 -2
  1205. package/esm2022/paginator/paginator.mjs +0 -437
  1206. package/esm2022/paginator/paginator.module.mjs +0 -27
  1207. package/esm2022/paginator/public_api.mjs +0 -4
  1208. package/esm2022/panel/cax-design-system-panel.mjs +0 -5
  1209. package/esm2022/panel/panel.interface.mjs +0 -2
  1210. package/esm2022/panel/panel.mjs +0 -393
  1211. package/esm2022/panel/public_api.mjs +0 -3
  1212. package/esm2022/panelmenu/cax-design-system-panelmenu.mjs +0 -5
  1213. package/esm2022/panelmenu/panelmenu.interface.mjs +0 -2
  1214. package/esm2022/panelmenu/panelmenu.mjs +0 -1276
  1215. package/esm2022/panelmenu/public_api.mjs +0 -3
  1216. package/esm2022/password/cax-design-system-password.mjs +0 -5
  1217. package/esm2022/password/password.mjs +0 -1017
  1218. package/esm2022/password/public_api.mjs +0 -2
  1219. package/esm2022/picklist/cax-design-system-picklist.mjs +0 -5
  1220. package/esm2022/picklist/picklist.interface.mjs +0 -2
  1221. package/esm2022/picklist/picklist.mjs +0 -1909
  1222. package/esm2022/picklist/public_api.mjs +0 -3
  1223. package/esm2022/progressbar/cax-design-system-progressbar.mjs +0 -5
  1224. package/esm2022/progressbar/progressbar.mjs +0 -86
  1225. package/esm2022/progressbar/progressbar.module.mjs +0 -18
  1226. package/esm2022/progressbar/public_api.mjs +0 -3
  1227. package/esm2022/progressspinner/cax-design-system-progressspinner.mjs +0 -5
  1228. package/esm2022/progressspinner/progressspinner.mjs +0 -112
  1229. package/esm2022/progressspinner/progressspinner.module.mjs +0 -18
  1230. package/esm2022/progressspinner/public_api.mjs +0 -3
  1231. package/esm2022/public_api.mjs +0 -2
  1232. package/esm2022/radiobutton/cax-design-system-radiobutton.mjs +0 -5
  1233. package/esm2022/radiobutton/public_api.mjs +0 -4
  1234. package/esm2022/radiobutton/radiobutton.interface.mjs +0 -2
  1235. package/esm2022/radiobutton/radiobutton.mjs +0 -284
  1236. package/esm2022/radiobutton/radiobutton.module.mjs +0 -16
  1237. package/esm2022/rating/cax-design-system-rating.mjs +0 -5
  1238. package/esm2022/rating/public_api.mjs +0 -3
  1239. package/esm2022/rating/rating.interface.mjs +0 -2
  1240. package/esm2022/rating/rating.mjs +0 -388
  1241. package/esm2022/ripple/cax-design-system-ripple.mjs +0 -5
  1242. package/esm2022/ripple/public_api.mjs +0 -3
  1243. package/esm2022/ripple/ripple.mjs +0 -129
  1244. package/esm2022/ripple/ripple.module.mjs +0 -16
  1245. package/esm2022/scroller/cax-design-system-scroller.mjs +0 -5
  1246. package/esm2022/scroller/public_api.mjs +0 -4
  1247. package/esm2022/scroller/scroller.interface.mjs +0 -2
  1248. package/esm2022/scroller/scroller.mjs +0 -981
  1249. package/esm2022/scroller/scroller.module.mjs +0 -17
  1250. package/esm2022/scrollpanel/cax-design-system-scrollpanel.mjs +0 -5
  1251. package/esm2022/scrollpanel/public_api.mjs +0 -3
  1252. package/esm2022/scrollpanel/scrollpanel.interface.mjs +0 -2
  1253. package/esm2022/scrollpanel/scrollpanel.mjs +0 -501
  1254. package/esm2022/scrolltop/cax-design-system-scrolltop.mjs +0 -5
  1255. package/esm2022/scrolltop/public_api.mjs +0 -3
  1256. package/esm2022/scrolltop/scrolltop.interface.mjs +0 -2
  1257. package/esm2022/scrolltop/scrolltop.mjs +0 -282
  1258. package/esm2022/selectbutton/cax-design-system-selectbutton.mjs +0 -5
  1259. package/esm2022/selectbutton/public_api.mjs +0 -4
  1260. package/esm2022/selectbutton/selectbutton.interface.mjs +0 -2
  1261. package/esm2022/selectbutton/selectbutton.mjs +0 -303
  1262. package/esm2022/selectbutton/selectbutton.module.mjs +0 -21
  1263. package/esm2022/sidebar/cax-design-system-sidebar.mjs +0 -5
  1264. package/esm2022/sidebar/public_api.mjs +0 -4
  1265. package/esm2022/sidebar/sidebar.interface.mjs +0 -2
  1266. package/esm2022/sidebar/sidebar.mjs +0 -488
  1267. package/esm2022/sidebar/sidebar.module.mjs +0 -21
  1268. package/esm2022/skeleton/cax-design-system-skeleton.mjs +0 -5
  1269. package/esm2022/skeleton/public_api.mjs +0 -3
  1270. package/esm2022/skeleton/skeleton.mjs +0 -87
  1271. package/esm2022/skeleton/skeleton.module.mjs +0 -18
  1272. package/esm2022/slidemenu/cax-design-system-slidemenu.mjs +0 -5
  1273. package/esm2022/slidemenu/public_api.mjs +0 -3
  1274. package/esm2022/slidemenu/slidemenu.interface.mjs +0 -2
  1275. package/esm2022/slidemenu/slidemenu.mjs +0 -1501
  1276. package/esm2022/slider/cax-design-system-slider.mjs +0 -5
  1277. package/esm2022/slider/public_api.mjs +0 -3
  1278. package/esm2022/slider/slider.interface.mjs +0 -2
  1279. package/esm2022/slider/slider.mjs +0 -796
  1280. package/esm2022/speeddial/cax-design-system-speeddial.mjs +0 -5
  1281. package/esm2022/speeddial/public_api.mjs +0 -4
  1282. package/esm2022/speeddial/speeddial.interface.mjs +0 -2
  1283. package/esm2022/speeddial/speeddial.mjs +0 -611
  1284. package/esm2022/speeddial/speeddial.module.mjs +0 -24
  1285. package/esm2022/spinner/cax-design-system-spinner.mjs +0 -5
  1286. package/esm2022/spinner/public_api.mjs +0 -2
  1287. package/esm2022/spinner/spinner.mjs +0 -447
  1288. package/esm2022/splitbutton/cax-design-system-splitbutton.mjs +0 -5
  1289. package/esm2022/splitbutton/public_api.mjs +0 -4
  1290. package/esm2022/splitbutton/splitbutton.interface.mjs +0 -2
  1291. package/esm2022/splitbutton/splitbutton.mjs +0 -369
  1292. package/esm2022/splitbutton/splitbutton.module.mjs +0 -23
  1293. package/esm2022/splitter/cax-design-system-splitter.mjs +0 -5
  1294. package/esm2022/splitter/public_api.mjs +0 -4
  1295. package/esm2022/splitter/splitter.interface.mjs +0 -2
  1296. package/esm2022/splitter/splitter.mjs +0 -490
  1297. package/esm2022/splitter/splitter.module.mjs +0 -19
  1298. package/esm2022/stepper/cax-design-system-stepper.mjs +0 -5
  1299. package/esm2022/stepper/public_api.mjs +0 -3
  1300. package/esm2022/stepper/stepper.interface.mjs +0 -2
  1301. package/esm2022/stepper/stepper.mjs +0 -677
  1302. package/esm2022/steps/cax-design-system-steps.mjs +0 -5
  1303. package/esm2022/steps/public_api.mjs +0 -3
  1304. package/esm2022/steps/steps.mjs +0 -207
  1305. package/esm2022/steps/steps.module.mjs +0 -20
  1306. package/esm2022/styleclass/cax-design-system-styleclass.mjs +0 -5
  1307. package/esm2022/styleclass/public_api.mjs +0 -2
  1308. package/esm2022/styleclass/styleclass.mjs +0 -316
  1309. package/esm2022/table/cax-design-system-table.mjs +0 -5
  1310. package/esm2022/table/columnfilter.interface.mjs +0 -2
  1311. package/esm2022/table/components/cell-editor/cell-editor.mjs +0 -52
  1312. package/esm2022/table/components/column-filter/column-filter.mjs +0 -865
  1313. package/esm2022/table/components/column-filter-form-element/column-filter-form-element.mjs +0 -107
  1314. package/esm2022/table/components/sort-icon/sort-icon.mjs +0 -78
  1315. package/esm2022/table/components/table-body/table-body.mjs +0 -152
  1316. package/esm2022/table/components/table-checkbox/table-checkbox.mjs +0 -83
  1317. package/esm2022/table/components/table-header-checkbox/table-header-checkbox.mjs +0 -92
  1318. package/esm2022/table/components/table-radio-button/table-radio-button.mjs +0 -79
  1319. package/esm2022/table/directives/cancel-editable-row.directive.mjs +0 -32
  1320. package/esm2022/table/directives/cell-highlight.directive.mjs +0 -42
  1321. package/esm2022/table/directives/content-menu-row.directive.mjs +0 -70
  1322. package/esm2022/table/directives/dynamic-column-width.directive.mjs +0 -34
  1323. package/esm2022/table/directives/editable-column.directive.mjs +0 -344
  1324. package/esm2022/table/directives/editable-row.directive.mjs +0 -32
  1325. package/esm2022/table/directives/frozen-column.directive.mjs +0 -77
  1326. package/esm2022/table/directives/init-editable-row.directive.mjs +0 -32
  1327. package/esm2022/table/directives/reorderable-column.directive.mjs +0 -115
  1328. package/esm2022/table/directives/reorderable-row-handle.directive.mjs +0 -25
  1329. package/esm2022/table/directives/reorderable-row.directive.mjs +0 -122
  1330. package/esm2022/table/directives/resizable-column.directive.mjs +0 -123
  1331. package/esm2022/table/directives/row-group-header.directive.mjs +0 -26
  1332. package/esm2022/table/directives/row-toggler.directive.mjs +0 -42
  1333. package/esm2022/table/directives/save-editable-row.directive.mjs +0 -32
  1334. package/esm2022/table/directives/selectable-row-double-click.directive.mjs +0 -71
  1335. package/esm2022/table/directives/selectable-row.directive.mjs +0 -243
  1336. package/esm2022/table/directives/sortable-column.directive.mjs +0 -90
  1337. package/esm2022/table/public_api.mjs +0 -31
  1338. package/esm2022/table/table.interface.mjs +0 -2
  1339. package/esm2022/table/table.mjs +0 -2799
  1340. package/esm2022/table/table.module.mjs +0 -157
  1341. package/esm2022/table/table.service.mjs +0 -42
  1342. package/esm2022/tableconfiguration/cax-design-system-tableconfiguration.mjs +0 -5
  1343. package/esm2022/tableconfiguration/public_api.mjs +0 -3
  1344. package/esm2022/tableconfiguration/tableconfiguration.mjs +0 -60
  1345. package/esm2022/tableconfiguration/tableconfiguration.module.mjs +0 -16
  1346. package/esm2022/tabmenu/cax-design-system-tabmenu.mjs +0 -5
  1347. package/esm2022/tabmenu/public_api.mjs +0 -3
  1348. package/esm2022/tabmenu/tabmenu.interface.mjs +0 -2
  1349. package/esm2022/tabmenu/tabmenu.mjs +0 -576
  1350. package/esm2022/tabview/cax-design-system-tabview.mjs +0 -5
  1351. package/esm2022/tabview/public_api.mjs +0 -4
  1352. package/esm2022/tabview/tabview.interface.mjs +0 -2
  1353. package/esm2022/tabview/tabview.mjs +0 -913
  1354. package/esm2022/tabview/tabview.module.mjs +0 -25
  1355. package/esm2022/tag/cax-design-system-tag.mjs +0 -5
  1356. package/esm2022/tag/public_api.mjs +0 -4
  1357. package/esm2022/tag/tag.interface.mjs +0 -2
  1358. package/esm2022/tag/tag.mjs +0 -95
  1359. package/esm2022/tag/tag.module.mjs +0 -19
  1360. package/esm2022/terminal/cax-design-system-terminal.mjs +0 -5
  1361. package/esm2022/terminal/public_api.mjs +0 -3
  1362. package/esm2022/terminal/terminal.mjs +0 -143
  1363. package/esm2022/terminal/terminalservice.mjs +0 -25
  1364. package/esm2022/tieredmenu/cax-design-system-tieredmenu.mjs +0 -5
  1365. package/esm2022/tieredmenu/public_api.mjs +0 -4
  1366. package/esm2022/tieredmenu/tieredmenu.interface.mjs +0 -2
  1367. package/esm2022/tieredmenu/tieredmenu.mjs +0 -1289
  1368. package/esm2022/tieredmenu/tiredmenu.module.mjs +0 -23
  1369. package/esm2022/timeline/cax-design-system-timeline.mjs +0 -5
  1370. package/esm2022/timeline/public_api.mjs +0 -4
  1371. package/esm2022/timeline/timeline.interface.mjs +0 -2
  1372. package/esm2022/timeline/timeline.mjs +0 -83
  1373. package/esm2022/timeline/timeline.module.mjs +0 -19
  1374. package/esm2022/toast/cax-design-system-toast.mjs +0 -5
  1375. package/esm2022/toast/public_api.mjs +0 -4
  1376. package/esm2022/toast/toast.interface.mjs +0 -2
  1377. package/esm2022/toast/toast.mjs +0 -324
  1378. package/esm2022/toast/toast.module.mjs +0 -18
  1379. package/esm2022/toast/toastitem.mjs +0 -170
  1380. package/esm2022/togglebutton/cax-design-system-togglebutton.mjs +0 -5
  1381. package/esm2022/togglebutton/public_api.mjs +0 -3
  1382. package/esm2022/togglebutton/togglebutton.interface.mjs +0 -2
  1383. package/esm2022/togglebutton/togglebutton.mjs +0 -274
  1384. package/esm2022/toggleswitch/cax-design-system-toggleswitch.mjs +0 -5
  1385. package/esm2022/toggleswitch/public_api.mjs +0 -3
  1386. package/esm2022/toggleswitch/toggleswitch.mjs +0 -37
  1387. package/esm2022/toggleswitch/toggleswitch.module.mjs +0 -19
  1388. package/esm2022/toolbar/cax-design-system-toolbar.mjs +0 -5
  1389. package/esm2022/toolbar/public_api.mjs +0 -3
  1390. package/esm2022/toolbar/toolbar.interface.mjs +0 -2
  1391. package/esm2022/toolbar/toolbar.mjs +0 -111
  1392. package/esm2022/tooltip/cax-design-system-tooltip.mjs +0 -5
  1393. package/esm2022/tooltip/public_api.mjs +0 -3
  1394. package/esm2022/tooltip/tooltip.mjs +0 -889
  1395. package/esm2022/tooltip/tooltip.module.mjs +0 -20
  1396. package/esm2022/tree/cax-design-system-tree.mjs +0 -5
  1397. package/esm2022/tree/public_api.mjs +0 -4
  1398. package/esm2022/tree/tree.interface.mjs +0 -2
  1399. package/esm2022/tree/tree.mjs +0 -1544
  1400. package/esm2022/tree/tree.module.mjs +0 -31
  1401. package/esm2022/treeselect/cax-design-system-treeselect.mjs +0 -5
  1402. package/esm2022/treeselect/public_api.mjs +0 -4
  1403. package/esm2022/treeselect/treeselect.interface.mjs +0 -2
  1404. package/esm2022/treeselect/treeselect.mjs +0 -865
  1405. package/esm2022/treeselect/treeselect.module.mjs +0 -26
  1406. package/esm2022/treetable/cax-design-system-treetable.mjs +0 -5
  1407. package/esm2022/treetable/public_api.mjs +0 -3
  1408. package/esm2022/treetable/treetable.interface.mjs +0 -2
  1409. package/esm2022/treetable/treetable.mjs +0 -4111
  1410. package/esm2022/tristatecheckbox/cax-design-system-tristatecheckbox.mjs +0 -5
  1411. package/esm2022/tristatecheckbox/public_api.mjs +0 -4
  1412. package/esm2022/tristatecheckbox/tristatecheckbox.interface.mjs +0 -2
  1413. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +0 -215
  1414. package/esm2022/tristatecheckbox/tristatecheckbox.module.mjs +0 -17
  1415. package/esm2022/ts-helpers/cax-design-system-ts-helpers.mjs +0 -5
  1416. package/esm2022/ts-helpers/public_api.mjs +0 -2
  1417. package/esm2022/ts-helpers/ts-helpers.mjs +0 -2
  1418. package/esm2022/upload/cax-design-system-upload.mjs +0 -5
  1419. package/esm2022/upload/public_api.mjs +0 -3
  1420. package/esm2022/upload/upload.component.mjs +0 -367
  1421. package/esm2022/upload/upload.component.module.mjs +0 -21
  1422. package/esm2022/utils/cax-design-system-utils.mjs +0 -5
  1423. package/esm2022/utils/objectutils.mjs +0 -258
  1424. package/esm2022/utils/public_api.mjs +0 -5
  1425. package/esm2022/utils/uniquecomponentid.mjs +0 -6
  1426. package/esm2022/utils/zindexutils.mjs +0 -35
  1427. package/esm2022/virtualscroller/cax-design-system-virtualscroller.mjs +0 -5
  1428. package/esm2022/virtualscroller/public_api.mjs +0 -3
  1429. package/esm2022/virtualscroller/virtualscroller.interface.mjs +0 -2
  1430. package/esm2022/virtualscroller/virtualscroller.mjs +0 -215
  1431. package/fieldset/fieldset.d.ts +0 -93
  1432. package/fieldset/fieldset.interface.d.ts +0 -46
  1433. package/fieldset/public_api.d.ts +0 -2
  1434. package/fileupload/fileupload.d.ts +0 -380
  1435. package/fileupload/fileupload.interface.d.ts +0 -226
  1436. package/fileupload/public_api.d.ts +0 -2
  1437. package/floatlabel/floatlabel.d.ts +0 -9
  1438. package/floatlabel/floatlabel.module.d.ts +0 -10
  1439. package/floatlabel/public_api.d.ts +0 -2
  1440. package/focustrap/focustrap.d.ts +0 -34
  1441. package/focustrap/public_api.d.ts +0 -1
  1442. package/galleria/galleria.d.ts +0 -404
  1443. package/galleria/galleria.interface.d.ts +0 -97
  1444. package/galleria/public_api.d.ts +0 -2
  1445. package/iconfield/iconfield.d.ts +0 -25
  1446. package/iconfield/public_api.d.ts +0 -1
  1447. package/icons/angledoubledown/angledoubledown.d.ts +0 -6
  1448. package/icons/angledoubledown/public_api.d.ts +0 -1
  1449. package/icons/angledoubleleft/angledoubleleft.d.ts +0 -6
  1450. package/icons/angledoubleleft/public_api.d.ts +0 -1
  1451. package/icons/angledoubleright/angledoubleright.d.ts +0 -6
  1452. package/icons/angledoubleright/public_api.d.ts +0 -1
  1453. package/icons/angledoubleup/angledoubleup.d.ts +0 -6
  1454. package/icons/angledoubleup/public_api.d.ts +0 -1
  1455. package/icons/angledown/angledown.d.ts +0 -6
  1456. package/icons/angledown/public_api.d.ts +0 -1
  1457. package/icons/angleleft/angleleft.d.ts +0 -6
  1458. package/icons/angleleft/public_api.d.ts +0 -1
  1459. package/icons/angleright/angleright.d.ts +0 -6
  1460. package/icons/angleright/public_api.d.ts +0 -1
  1461. package/icons/angleup/angleup.d.ts +0 -6
  1462. package/icons/angleup/public_api.d.ts +0 -1
  1463. package/icons/arrowdown/arrowdown.d.ts +0 -9
  1464. package/icons/arrowdown/public_api.d.ts +0 -1
  1465. package/icons/arrowdownleft/arrowdownleft.d.ts +0 -6
  1466. package/icons/arrowdownleft/public_api.d.ts +0 -1
  1467. package/icons/arrowdownright/arrowdownright.d.ts +0 -6
  1468. package/icons/arrowdownright/public_api.d.ts +0 -1
  1469. package/icons/arrowleft/arrowleft.d.ts +0 -8
  1470. package/icons/arrowleft/public_api.d.ts +0 -1
  1471. package/icons/arrowright/arrowright.d.ts +0 -6
  1472. package/icons/arrowright/public_api.d.ts +0 -1
  1473. package/icons/arrowup/arrowup.d.ts +0 -8
  1474. package/icons/arrowup/public_api.d.ts +0 -1
  1475. package/icons/ban/ban.d.ts +0 -8
  1476. package/icons/ban/public_api.d.ts +0 -1
  1477. package/icons/bars/bars.d.ts +0 -6
  1478. package/icons/bars/public_api.d.ts +0 -1
  1479. package/icons/blank/blank.d.ts +0 -6
  1480. package/icons/blank/public_api.d.ts +0 -1
  1481. package/icons/calendar/calendar.d.ts +0 -6
  1482. package/icons/calendar/public_api.d.ts +0 -1
  1483. package/icons/caretleft/caretleft.d.ts +0 -6
  1484. package/icons/caretleft/public_api.d.ts +0 -1
  1485. package/icons/caretright/caretright.d.ts +0 -6
  1486. package/icons/caretright/public_api.d.ts +0 -1
  1487. package/icons/check/check.d.ts +0 -6
  1488. package/icons/check/public_api.d.ts +0 -1
  1489. package/icons/chevrondown/chevrondown.d.ts +0 -6
  1490. package/icons/chevrondown/public_api.d.ts +0 -1
  1491. package/icons/chevronleft/chevronleft.d.ts +0 -6
  1492. package/icons/chevronleft/public_api.d.ts +0 -1
  1493. package/icons/chevronright/chevronright.d.ts +0 -6
  1494. package/icons/chevronright/public_api.d.ts +0 -1
  1495. package/icons/chevronup/chevronup.d.ts +0 -6
  1496. package/icons/chevronup/public_api.d.ts +0 -1
  1497. package/icons/exclamationtriangle/exclamationtriangle.d.ts +0 -9
  1498. package/icons/exclamationtriangle/public_api.d.ts +0 -1
  1499. package/icons/eye/eye.d.ts +0 -6
  1500. package/icons/eye/public_api.d.ts +0 -1
  1501. package/icons/eyeslash/eyeslash.d.ts +0 -8
  1502. package/icons/eyeslash/public_api.d.ts +0 -1
  1503. package/icons/filter/filter.d.ts +0 -8
  1504. package/icons/filter/public_api.d.ts +0 -1
  1505. package/icons/filterslash/filterslash.d.ts +0 -8
  1506. package/icons/filterslash/public_api.d.ts +0 -1
  1507. package/icons/home/home.d.ts +0 -8
  1508. package/icons/home/public_api.d.ts +0 -1
  1509. package/icons/infocircle/infocircle.d.ts +0 -8
  1510. package/icons/infocircle/public_api.d.ts +0 -1
  1511. package/icons/minus/minus.d.ts +0 -6
  1512. package/icons/minus/public_api.d.ts +0 -1
  1513. package/icons/pencil/pencil.d.ts +0 -8
  1514. package/icons/pencil/public_api.d.ts +0 -1
  1515. package/icons/plus/plus.d.ts +0 -8
  1516. package/icons/plus/public_api.d.ts +0 -1
  1517. package/icons/refresh/public_api.d.ts +0 -1
  1518. package/icons/refresh/refresh.d.ts +0 -8
  1519. package/icons/search/public_api.d.ts +0 -1
  1520. package/icons/search/search.d.ts +0 -8
  1521. package/icons/searchminus/public_api.d.ts +0 -1
  1522. package/icons/searchminus/searchminus.d.ts +0 -8
  1523. package/icons/searchplus/public_api.d.ts +0 -1
  1524. package/icons/searchplus/searchplus.d.ts +0 -8
  1525. package/icons/sortalt/public_api.d.ts +0 -1
  1526. package/icons/sortalt/sortalt.d.ts +0 -8
  1527. package/icons/sortamountdown/public_api.d.ts +0 -1
  1528. package/icons/sortamountdown/sortamountdown.d.ts +0 -8
  1529. package/icons/sortamountupalt/public_api.d.ts +0 -1
  1530. package/icons/sortamountupalt/sortamountupalt.d.ts +0 -8
  1531. package/icons/spinner/public_api.d.ts +0 -1
  1532. package/icons/spinner/spinner.d.ts +0 -8
  1533. package/icons/star/public_api.d.ts +0 -1
  1534. package/icons/star/star.d.ts +0 -8
  1535. package/icons/starfill/public_api.d.ts +0 -1
  1536. package/icons/starfill/starfill.d.ts +0 -8
  1537. package/icons/thlarge/public_api.d.ts +0 -1
  1538. package/icons/thlarge/thlarge.d.ts +0 -8
  1539. package/icons/times/public_api.d.ts +0 -1
  1540. package/icons/times/times.d.ts +0 -6
  1541. package/icons/timescircle/public_api.d.ts +0 -1
  1542. package/icons/timescircle/timescircle.d.ts +0 -8
  1543. package/icons/trash/public_api.d.ts +0 -1
  1544. package/icons/trash/trash.d.ts +0 -8
  1545. package/icons/undo/public_api.d.ts +0 -1
  1546. package/icons/undo/undo.d.ts +0 -8
  1547. package/icons/upload/public_api.d.ts +0 -1
  1548. package/icons/upload/upload.d.ts +0 -8
  1549. package/icons/windowmaximize/public_api.d.ts +0 -1
  1550. package/icons/windowmaximize/windowmaximize.d.ts +0 -8
  1551. package/icons/windowminimize/public_api.d.ts +0 -1
  1552. package/icons/windowminimize/windowminimize.d.ts +0 -8
  1553. package/image/image.d.ts +0 -188
  1554. package/image/image.interface.d.ts +0 -31
  1555. package/image/image.module.d.ts +0 -8
  1556. package/image/public_api.d.ts +0 -3
  1557. package/inplace/inplace.d.ts +0 -109
  1558. package/inplace/inplace.interface.d.ts +0 -19
  1559. package/inplace/public_api.d.ts +0 -2
  1560. package/inputgroup/inputgroup.d.ts +0 -33
  1561. package/inputgroup/inputgroup.module.d.ts +0 -15
  1562. package/inputgroup/public_api.d.ts +0 -2
  1563. package/inputgroupaddon/inputgroupaddon.d.ts +0 -21
  1564. package/inputgroupaddon/inputgroupaddon.module.d.ts +0 -14
  1565. package/inputgroupaddon/public_api.d.ts +0 -2
  1566. package/inputicon/inputicon.d.ts +0 -21
  1567. package/inputicon/public_api.d.ts +0 -1
  1568. package/inputmask/inputmask.d.ts +0 -273
  1569. package/inputmask/inputmask.interface.d.ts +0 -19
  1570. package/inputmask/inputmask.module.d.ts +0 -12
  1571. package/inputmask/public_api.d.ts +0 -3
  1572. package/inputnumber/inputnumber.d.ts +0 -397
  1573. package/inputnumber/inputnumber.interface.d.ts +0 -38
  1574. package/inputnumber/inputnumber.module.d.ts +0 -8
  1575. package/inputnumber/public_api.d.ts +0 -3
  1576. package/inputotp/inputotp.d.ts +0 -123
  1577. package/inputotp/inputotp.interface.d.ts +0 -65
  1578. package/inputotp/public_api.d.ts +0 -2
  1579. package/inputswitch/inputswitch.d.ts +0 -106
  1580. package/inputswitch/inputswitch.interface.d.ts +0 -15
  1581. package/inputswitch/public_api.d.ts +0 -2
  1582. package/inputtext/inputtext.component.d.ts +0 -43
  1583. package/inputtext/inputtext.directive.d.ts +0 -25
  1584. package/inputtext/inputtext.module.d.ts +0 -10
  1585. package/inputtext/public_api.d.ts +0 -3
  1586. package/inputtextarea/inputtextarea.component.d.ts +0 -57
  1587. package/inputtextarea/inputtextarea.directive.d.ts +0 -47
  1588. package/inputtextarea/inputtextarea.module.d.ts +0 -10
  1589. package/inputtextarea/public_api.d.ts +0 -3
  1590. package/keyfilter/keyfilter.d.ts +0 -58
  1591. package/keyfilter/keyfilter.interface.d.ts +0 -5
  1592. package/keyfilter/public_api.d.ts +0 -2
  1593. package/knob/knob.d.ts +0 -178
  1594. package/knob/public_api.d.ts +0 -1
  1595. package/listbox/listbox.d.ts +0 -463
  1596. package/listbox/listbox.interface.d.ts +0 -156
  1597. package/listbox/public_api.d.ts +0 -2
  1598. package/logo/logo.d.ts +0 -11
  1599. package/logo/logo.module.d.ts +0 -7
  1600. package/logo/public_api.d.ts +0 -2
  1601. package/megamenu/megamenu.d.ts +0 -198
  1602. package/megamenu/megamenu.interface.d.ts +0 -31
  1603. package/megamenu/public_api.d.ts +0 -2
  1604. package/menu/menu.d.ts +0 -210
  1605. package/menu/menu.module.d.ts +0 -12
  1606. package/menu/public_api.d.ts +0 -2
  1607. package/menubar/menubar.d.ts +0 -248
  1608. package/menubar/menubar.interface.d.ts +0 -40
  1609. package/menubar/public_api.d.ts +0 -2
  1610. package/message/message.d.ts +0 -52
  1611. package/message/public_api.d.ts +0 -1
  1612. package/messages/messages.d.ts +0 -115
  1613. package/messages/messages.interface.d.ts +0 -18
  1614. package/messages/messages.module.d.ts +0 -8
  1615. package/messages/public_api.d.ts +0 -3
  1616. package/metergroup/metergroup.d.ts +0 -101
  1617. package/metergroup/metergroup.interface.d.ts +0 -122
  1618. package/metergroup/public_api.d.ts +0 -2
  1619. package/multiselect/multiselect.d.ts +0 -710
  1620. package/multiselect/multiselect.interface.d.ts +0 -247
  1621. package/multiselect/multiselect.module.d.ts +0 -20
  1622. package/multiselect/public_api.d.ts +0 -3
  1623. package/navigation/navigation.d.ts +0 -70
  1624. package/navigation/navigation.interface.d.ts +0 -26
  1625. package/navigation/navigation.module.d.ts +0 -7
  1626. package/navigation/public_api.d.ts +0 -2
  1627. package/orderlist/orderlist.d.ts +0 -270
  1628. package/orderlist/orderlist.interface.d.ts +0 -110
  1629. package/orderlist/public_api.d.ts +0 -2
  1630. package/organizationchart/organizationchart.d.ts +0 -132
  1631. package/organizationchart/organizationchart.interface.d.ts +0 -59
  1632. package/organizationchart/public_api.d.ts +0 -2
  1633. package/overlay/overlay.d.ts +0 -238
  1634. package/overlay/overlay.module.d.ts +0 -8
  1635. package/overlay/public_api.d.ts +0 -2
  1636. package/overlaypanel/overlaypanel.d.ts +0 -162
  1637. package/overlaypanel/overlaypanel.module.d.ts +0 -8
  1638. package/overlaypanel/public_api.d.ts +0 -2
  1639. package/paginator/paginator.d.ts +0 -195
  1640. package/paginator/paginator.interface.d.ts +0 -37
  1641. package/paginator/paginator.module.d.ts +0 -17
  1642. package/paginator/public_api.d.ts +0 -3
  1643. package/panel/panel.d.ts +0 -126
  1644. package/panel/panel.interface.d.ts +0 -58
  1645. package/panel/public_api.d.ts +0 -2
  1646. package/panelmenu/panelmenu.d.ts +0 -225
  1647. package/panelmenu/panelmenu.interface.d.ts +0 -23
  1648. package/panelmenu/public_api.d.ts +0 -2
  1649. package/password/password.d.ts +0 -342
  1650. package/password/public_api.d.ts +0 -1
  1651. package/picklist/picklist.d.ts +0 -453
  1652. package/picklist/picklist.interface.d.ts +0 -242
  1653. package/picklist/public_api.d.ts +0 -2
  1654. package/progressbar/progressbar.d.ts +0 -54
  1655. package/progressbar/progressbar.module.d.ts +0 -8
  1656. package/progressbar/public_api.d.ts +0 -2
  1657. package/progressspinner/progressspinner.d.ts +0 -50
  1658. package/progressspinner/progressspinner.module.d.ts +0 -8
  1659. package/progressspinner/public_api.d.ts +0 -2
  1660. package/public_api.d.ts +0 -2
  1661. package/radiobutton/public_api.d.ts +0 -3
  1662. package/radiobutton/radiobutton.d.ts +0 -150
  1663. package/radiobutton/radiobutton.interface.d.ts +0 -15
  1664. package/radiobutton/radiobutton.module.d.ts +0 -7
  1665. package/rating/public_api.d.ts +0 -2
  1666. package/rating/rating.d.ts +0 -146
  1667. package/rating/rating.interface.d.ts +0 -34
  1668. package/ripple/public_api.d.ts +0 -2
  1669. package/ripple/ripple.d.ts +0 -30
  1670. package/ripple/ripple.module.d.ts +0 -7
  1671. package/scroller/public_api.d.ts +0 -3
  1672. package/scroller/scroller.d.ts +0 -343
  1673. package/scroller/scroller.interface.d.ts +0 -177
  1674. package/scroller/scroller.module.d.ts +0 -8
  1675. package/scrollpanel/public_api.d.ts +0 -2
  1676. package/scrollpanel/scrollpanel.d.ts +0 -103
  1677. package/scrollpanel/scrollpanel.interface.d.ts +0 -11
  1678. package/scrolltop/public_api.d.ts +0 -2
  1679. package/scrolltop/scrolltop.d.ts +0 -97
  1680. package/scrolltop/scrolltop.interface.d.ts +0 -18
  1681. package/selectbutton/public_api.d.ts +0 -3
  1682. package/selectbutton/selectbutton.d.ts +0 -128
  1683. package/selectbutton/selectbutton.interface.d.ts +0 -45
  1684. package/selectbutton/selectbutton.module.d.ts +0 -11
  1685. package/sidebar/public_api.d.ts +0 -3
  1686. package/sidebar/sidebar.d.ts +0 -173
  1687. package/sidebar/sidebar.interface.d.ts +0 -27
  1688. package/sidebar/sidebar.module.d.ts +0 -12
  1689. package/skeleton/public_api.d.ts +0 -2
  1690. package/skeleton/skeleton.d.ts +0 -61
  1691. package/skeleton/skeleton.module.d.ts +0 -8
  1692. package/slidemenu/public_api.d.ts +0 -2
  1693. package/slidemenu/slidemenu.d.ts +0 -322
  1694. package/slidemenu/slidemenu.interface.d.ts +0 -15
  1695. package/slider/public_api.d.ts +0 -2
  1696. package/slider/slider.d.ts +0 -174
  1697. package/slider/slider.interface.d.ts +0 -38
  1698. package/speeddial/public_api.d.ts +0 -3
  1699. package/speeddial/speeddial.d.ts +0 -277
  1700. package/speeddial/speeddial.interface.d.ts +0 -28
  1701. package/speeddial/speeddial.module.d.ts +0 -14
  1702. package/spinner/public_api.d.ts +0 -1
  1703. package/spinner/spinner.d.ts +0 -90
  1704. package/splitbutton/public_api.d.ts +0 -3
  1705. package/splitbutton/splitbutton.d.ts +0 -222
  1706. package/splitbutton/splitbutton.interface.d.ts +0 -30
  1707. package/splitbutton/splitbutton.module.d.ts +0 -13
  1708. package/splitter/public_api.d.ts +0 -3
  1709. package/splitter/splitter.d.ts +0 -158
  1710. package/splitter/splitter.interface.d.ts +0 -34
  1711. package/splitter/splitter.module.d.ts +0 -9
  1712. package/stepper/public_api.d.ts +0 -2
  1713. package/stepper/stepper.d.ts +0 -117
  1714. package/stepper/stepper.interface.d.ts +0 -26
  1715. package/steps/public_api.d.ts +0 -2
  1716. package/steps/steps.d.ts +0 -77
  1717. package/steps/steps.module.d.ts +0 -10
  1718. package/styleclass/public_api.d.ts +0 -1
  1719. package/styleclass/styleclass.d.ts +0 -108
  1720. package/table/columnfilter.interface.d.ts +0 -247
  1721. package/table/components/cell-editor/cell-editor.d.ts +0 -20
  1722. package/table/components/column-filter/column-filter.d.ts +0 -291
  1723. package/table/components/column-filter-form-element/column-filter-form-element.d.ts +0 -37
  1724. package/table/components/sort-icon/sort-icon.d.ts +0 -22
  1725. package/table/components/table-body/table-body.d.ts +0 -36
  1726. package/table/components/table-checkbox/table-checkbox.d.ts +0 -32
  1727. package/table/components/table-header-checkbox/table-header-checkbox.d.ts +0 -29
  1728. package/table/components/table-radio-button/table-radio-button.d.ts +0 -29
  1729. package/table/directives/cancel-editable-row.directive.d.ts +0 -11
  1730. package/table/directives/cell-highlight.directive.d.ts +0 -14
  1731. package/table/directives/content-menu-row.directive.d.ts +0 -22
  1732. package/table/directives/dynamic-column-width.directive.d.ts +0 -12
  1733. package/table/directives/editable-column.directive.d.ts +0 -40
  1734. package/table/directives/editable-row.directive.d.ts +0 -12
  1735. package/table/directives/frozen-column.directive.d.ts +0 -16
  1736. package/table/directives/init-editable-row.directive.d.ts +0 -11
  1737. package/table/directives/reorderable-column.directive.d.ts +0 -32
  1738. package/table/directives/reorderable-row-handle.directive.d.ts +0 -9
  1739. package/table/directives/reorderable-row.directive.d.ts +0 -34
  1740. package/table/directives/resizable-column.directive.d.ts +0 -35
  1741. package/table/directives/row-group-header.directive.d.ts +0 -9
  1742. package/table/directives/row-toggler.directive.d.ts +0 -13
  1743. package/table/directives/save-editable-row.directive.d.ts +0 -11
  1744. package/table/directives/selectable-row-double-click.directive.d.ts +0 -22
  1745. package/table/directives/selectable-row.directive.d.ts +0 -37
  1746. package/table/directives/sortable-column.directive.d.ts +0 -24
  1747. package/table/public_api.d.ts +0 -30
  1748. package/table/table.d.ts +0 -871
  1749. package/table/table.interface.d.ts +0 -623
  1750. package/table/table.module.d.ts +0 -34
  1751. package/table/table.service.d.ts +0 -24
  1752. package/tableconfiguration/public_api.d.ts +0 -2
  1753. package/tableconfiguration/tableconfiguration.d.ts +0 -15
  1754. package/tableconfiguration/tableconfiguration.module.d.ts +0 -7
  1755. package/tabmenu/public_api.d.ts +0 -2
  1756. package/tabmenu/tabmenu.d.ts +0 -126
  1757. package/tabmenu/tabmenu.interface.d.ts +0 -32
  1758. package/tabview/public_api.d.ts +0 -3
  1759. package/tabview/tabview.d.ts +0 -293
  1760. package/tabview/tabview.interface.d.ts +0 -49
  1761. package/tabview/tabview.module.d.ts +0 -15
  1762. package/tag/public_api.d.ts +0 -3
  1763. package/tag/tag.d.ts +0 -61
  1764. package/tag/tag.interface.d.ts +0 -11
  1765. package/tag/tag.module.d.ts +0 -9
  1766. package/terminal/public_api.d.ts +0 -2
  1767. package/terminal/terminal.d.ts +0 -56
  1768. package/terminal/terminalservice.d.ts +0 -11
  1769. package/tieredmenu/public_api.d.ts +0 -3
  1770. package/tieredmenu/tieredmenu.d.ts +0 -266
  1771. package/tieredmenu/tieredmenu.interface.d.ts +0 -27
  1772. package/tieredmenu/tiredmenu.module.d.ts +0 -13
  1773. package/timeline/public_api.d.ts +0 -3
  1774. package/timeline/timeline.d.ts +0 -47
  1775. package/timeline/timeline.interface.d.ts +0 -43
  1776. package/timeline/timeline.module.d.ts +0 -9
  1777. package/toast/public_api.d.ts +0 -3
  1778. package/toast/toast.d.ts +0 -142
  1779. package/toast/toast.interface.d.ts +0 -52
  1780. package/toast/toast.module.d.ts +0 -9
  1781. package/toast/toastitem.d.ts +0 -37
  1782. package/togglebutton/public_api.d.ts +0 -2
  1783. package/togglebutton/togglebutton.d.ts +0 -115
  1784. package/togglebutton/togglebutton.interface.d.ts +0 -34
  1785. package/toggleswitch/public_api.d.ts +0 -2
  1786. package/toggleswitch/toggleswitch.d.ts +0 -14
  1787. package/toggleswitch/toggleswitch.module.d.ts +0 -9
  1788. package/toolbar/public_api.d.ts +0 -2
  1789. package/toolbar/toolbar.d.ts +0 -43
  1790. package/toolbar/toolbar.interface.d.ts +0 -19
  1791. package/tooltip/public_api.d.ts +0 -2
  1792. package/tooltip/tooltip.d.ts +0 -208
  1793. package/tooltip/tooltip.module.d.ts +0 -10
  1794. package/tree/public_api.d.ts +0 -3
  1795. package/tree/tree.d.ts +0 -461
  1796. package/tree/tree.interface.d.ts +0 -193
  1797. package/tree/tree.module.d.ts +0 -21
  1798. package/treeselect/public_api.d.ts +0 -3
  1799. package/treeselect/treeselect.d.ts +0 -394
  1800. package/treeselect/treeselect.interface.d.ts +0 -108
  1801. package/treeselect/treeselect.module.d.ts +0 -16
  1802. package/treetable/public_api.d.ts +0 -2
  1803. package/treetable/treetable.d.ts +0 -988
  1804. package/treetable/treetable.interface.d.ts +0 -472
  1805. package/tristatecheckbox/public_api.d.ts +0 -3
  1806. package/tristatecheckbox/tristatecheckbox.d.ts +0 -117
  1807. package/tristatecheckbox/tristatecheckbox.interface.d.ts +0 -30
  1808. package/tristatecheckbox/tristatecheckbox.module.d.ts +0 -8
  1809. package/ts-helpers/public_api.d.ts +0 -1
  1810. package/ts-helpers/ts-helpers.d.ts +0 -4
  1811. package/upload/public_api.d.ts +0 -2
  1812. package/upload/upload.component.d.ts +0 -67
  1813. package/upload/upload.component.module.d.ts +0 -11
  1814. package/utils/objectutils.d.ts +0 -24
  1815. package/utils/public_api.d.ts +0 -4
  1816. package/utils/uniquecomponentid.d.ts +0 -2
  1817. package/utils/zindexutils.d.ts +0 -7
  1818. package/virtualscroller/public_api.d.ts +0 -2
  1819. package/virtualscroller/virtualscroller.d.ts +0 -89
  1820. package/virtualscroller/virtualscroller.interface.d.ts +0 -72
@@ -1,1188 +0,0 @@
1
- import { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';
2
- import { HttpEventType } from '@angular/common/http';
3
- import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Inject, Input, NgModule, Output, PLATFORM_ID, ViewChild, ViewEncapsulation, booleanAttribute, numberAttribute } from '@angular/core';
4
- import { CaxTemplate, SharedModule, TranslationKeys } from 'cax-design-system/api';
5
- import { ButtonModule } from 'cax-design-system/button';
6
- import { DomHandler } from 'cax-design-system/dom';
7
- import { PlusIcon } from 'cax-design-system/icons/plus';
8
- import { TimesIcon } from 'cax-design-system/icons/times';
9
- import { UploadIcon } from 'cax-design-system/icons/upload';
10
- import { MessagesModule } from 'cax-design-system/messages';
11
- import { ProgressBarModule } from 'cax-design-system/progressbar';
12
- import { RippleModule } from 'cax-design-system/ripple';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/platform-browser";
15
- import * as i2 from "@angular/common/http";
16
- import * as i3 from "cax-design-system/api";
17
- import * as i4 from "@angular/common";
18
- /**
19
- * FileUpload is an advanced uploader with dragdrop support, multi file uploads, auto uploading, progress tracking and validations.
20
- * @group Components
21
- */
22
- export class FileUpload {
23
- document;
24
- platformId;
25
- renderer;
26
- el;
27
- sanitizer;
28
- zone;
29
- http;
30
- cd;
31
- config;
32
- /**
33
- * Name of the request parameter to identify the files at backend.
34
- * @group Props
35
- */
36
- name;
37
- /**
38
- * Remote url to upload the files.
39
- * @group Props
40
- */
41
- url;
42
- /**
43
- * HTTP method to send the files to the url such as "post" and "put".
44
- * @group Props
45
- */
46
- method = 'post';
47
- /**
48
- * Used to select multiple files at once from file dialog.
49
- * @group Props
50
- */
51
- multiple;
52
- /**
53
- * Comma-separated list of pattern to restrict the allowed file types. Can be any combination of either the MIME types (such as "image/*") or the file extensions (such as ".jpg").
54
- * @group Props
55
- */
56
- accept;
57
- /**
58
- * Disables the upload functionality.
59
- * @group Props
60
- */
61
- disabled;
62
- /**
63
- * When enabled, upload begins automatically after selection is completed.
64
- * @group Props
65
- */
66
- auto;
67
- /**
68
- * Cross-site Access-Control requests should be made using credentials such as cookies, authorization headers or TLS client certificates.
69
- * @group Props
70
- */
71
- withCredentials;
72
- /**
73
- * Maximum file size allowed in bytes.
74
- * @group Props
75
- */
76
- maxFileSize;
77
- /**
78
- * Summary message of the invalid file size.
79
- * @group Props
80
- */
81
- invalidFileSizeMessageSummary = '{0}: Invalid file size, ';
82
- /**
83
- * Detail message of the invalid file size.
84
- * @group Props
85
- */
86
- invalidFileSizeMessageDetail = 'maximum upload size is {0}.';
87
- /**
88
- * Summary message of the invalid file type.
89
- * @group Props
90
- */
91
- invalidFileTypeMessageSummary = '{0}: Invalid file type, ';
92
- /**
93
- * Detail message of the invalid file type.
94
- * @group Props
95
- */
96
- invalidFileTypeMessageDetail = 'allowed file types: {0}.';
97
- /**
98
- * Detail message of the invalid file type.
99
- * @group Props
100
- */
101
- invalidFileLimitMessageDetail = 'limit is {0} at most.';
102
- /**
103
- * Summary message of the invalid file type.
104
- * @group Props
105
- */
106
- invalidFileLimitMessageSummary = 'Maximum number of files exceeded, ';
107
- /**
108
- * Inline style of the element.
109
- * @group Props
110
- */
111
- style;
112
- /**
113
- * Class of the element.
114
- * @group Props
115
- */
116
- styleClass;
117
- /**
118
- * Width of the image thumbnail in pixels.
119
- * @group Props
120
- */
121
- previewWidth = 50;
122
- /**
123
- * Label of the choose button. Defaults to cax Locale configuration.
124
- * @group Props
125
- */
126
- chooseLabel;
127
- /**
128
- * Label of the upload button. Defaults to cax Locale configuration.
129
- * @group Props
130
- */
131
- uploadLabel;
132
- /**
133
- * Label of the cancel button. Defaults to cax Locale configuration.
134
- * @group Props
135
- */
136
- cancelLabel;
137
- /**
138
- * Icon of the choose button.
139
- * @group Props
140
- */
141
- chooseIcon;
142
- /**
143
- * Icon of the upload button.
144
- * @group Props
145
- */
146
- uploadIcon;
147
- /**
148
- * Icon of the cancel button.
149
- * @group Props
150
- */
151
- cancelIcon;
152
- /**
153
- * Whether to show the upload button.
154
- * @group Props
155
- */
156
- showUploadButton = true;
157
- /**
158
- * Whether to show the cancel button.
159
- * @group Props
160
- */
161
- showCancelButton = true;
162
- /**
163
- * Defines the UI of the component.
164
- * @group Props
165
- */
166
- mode = 'advanced';
167
- /**
168
- * HttpHeaders class represents the header configuration options for an HTTP request.
169
- * @group Props
170
- */
171
- headers;
172
- /**
173
- * Whether to use the default upload or a manual implementation defined in uploadHandler callback. Defaults to cax Locale configuration.
174
- * @group Props
175
- */
176
- customUpload;
177
- /**
178
- * Maximum number of files that can be uploaded.
179
- * @group Props
180
- */
181
- fileLimit;
182
- /**
183
- * Style class of the upload button.
184
- * @group Props
185
- */
186
- uploadStyleClass;
187
- /**
188
- * Style class of the cancel button.
189
- * @group Props
190
- */
191
- cancelStyleClass;
192
- /**
193
- * Style class of the remove button.
194
- * @group Props
195
- */
196
- removeStyleClass;
197
- /**
198
- * Style class of the choose button.
199
- * @group Props
200
- */
201
- chooseStyleClass;
202
- /**
203
- * Callback to invoke before file upload is initialized.
204
- * @param {FileBeforeUploadEvent} event - Custom upload event.
205
- * @group Emits
206
- */
207
- onBeforeUpload = new EventEmitter();
208
- /**
209
- * An event indicating that the request was sent to the server. Useful when a request may be retried multiple times, to distinguish between retries on the final event stream.
210
- * @param {FileSendEvent} event - Custom send event.
211
- * @group Emits
212
- */
213
- onSend = new EventEmitter();
214
- /**
215
- * Callback to invoke when file upload is complete.
216
- * @param {FileUploadEvent} event - Custom upload event.
217
- * @group Emits
218
- */
219
- onUpload = new EventEmitter();
220
- /**
221
- * Callback to invoke if file upload fails.
222
- * @param {FileUploadErrorEvent} event - Custom error event.
223
- * @group Emits
224
- */
225
- onError = new EventEmitter();
226
- /**
227
- * Callback to invoke when files in queue are removed without uploading using clear all button.
228
- * @param {Event} event - Browser event.
229
- * @group Emits
230
- */
231
- onClear = new EventEmitter();
232
- /**
233
- * Callback to invoke when a file is removed without uploading using clear button of a file.
234
- * @param {FileRemoveEvent} event - Remove event.
235
- * @group Emits
236
- */
237
- onRemove = new EventEmitter();
238
- /**
239
- * Callback to invoke when files are selected.
240
- * @param {FileSelectEvent} event - Select event.
241
- * @group Emits
242
- */
243
- onSelect = new EventEmitter();
244
- /**
245
- * Callback to invoke when files are being uploaded.
246
- * @param {FileProgressEvent} event - Progress event.
247
- * @group Emits
248
- */
249
- onProgress = new EventEmitter();
250
- /**
251
- * Callback to invoke in custom upload mode to upload the files manually.
252
- * @param {FileUploadHandlerEvent} event - Upload handler event.
253
- * @group Emits
254
- */
255
- uploadHandler = new EventEmitter();
256
- /**
257
- * This event is triggered if an error occurs while loading an image file.
258
- * @param {Event} event - Browser event.
259
- * @group Emits
260
- */
261
- onImageError = new EventEmitter();
262
- /**
263
- * This event is triggered if an error occurs while removing an uploaded file.
264
- * @param {RemoveUploadedFileEvent} event - Remove event.
265
- * @group Emits
266
- */
267
- onRemoveUploadedFile = new EventEmitter();
268
- templates;
269
- advancedFileInput;
270
- basicFileInput;
271
- content;
272
- set files(files) {
273
- this._files = [];
274
- for (let i = 0; i < files.length; i++) {
275
- let file = files[i];
276
- if (this.validate(file)) {
277
- if (this.isImage(file)) {
278
- file.objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(files[i]));
279
- }
280
- this._files.push(files[i]);
281
- }
282
- }
283
- }
284
- get files() {
285
- return this._files;
286
- }
287
- get basicButtonLabel() {
288
- if (this.auto || !this.hasFiles()) {
289
- return this.chooseLabel;
290
- }
291
- return this.uploadLabel ?? this.files[0].name;
292
- }
293
- _files = [];
294
- progress = 0;
295
- dragHighlight;
296
- msgs;
297
- fileTemplate;
298
- headerTemplate;
299
- contentTemplate;
300
- toolbarTemplate;
301
- chooseIconTemplate;
302
- uploadIconTemplate;
303
- cancelIconTemplate;
304
- emptyTemplate;
305
- uploadedFileCount = 0;
306
- focus;
307
- uploading;
308
- duplicateIEEvent; // flag to recognize duplicate onchange event for file input
309
- translationSubscription;
310
- dragOverListener;
311
- uploadedFiles = [];
312
- fileUploadSubcription;
313
- constructor(document, platformId, renderer, el, sanitizer, zone, http, cd, config) {
314
- this.document = document;
315
- this.platformId = platformId;
316
- this.renderer = renderer;
317
- this.el = el;
318
- this.sanitizer = sanitizer;
319
- this.zone = zone;
320
- this.http = http;
321
- this.cd = cd;
322
- this.config = config;
323
- }
324
- ngAfterContentInit() {
325
- this.templates?.forEach((item) => {
326
- switch (item.getType()) {
327
- case 'header':
328
- this.headerTemplate = item.template;
329
- break;
330
- case 'file':
331
- this.fileTemplate = item.template;
332
- break;
333
- case 'content':
334
- this.contentTemplate = item.template;
335
- break;
336
- case 'toolbar':
337
- this.toolbarTemplate = item.template;
338
- break;
339
- case 'chooseicon':
340
- this.chooseIconTemplate = item.template;
341
- break;
342
- case 'uploadicon':
343
- this.uploadIconTemplate = item.template;
344
- break;
345
- case 'cancelicon':
346
- this.cancelIconTemplate = item.template;
347
- break;
348
- case 'empty':
349
- this.emptyTemplate = item.template;
350
- break;
351
- default:
352
- this.fileTemplate = item.template;
353
- break;
354
- }
355
- });
356
- }
357
- ngOnInit() {
358
- this.translationSubscription = this.config.translationObserver.subscribe(() => {
359
- this.cd.markForCheck();
360
- });
361
- }
362
- ngAfterViewInit() {
363
- if (isPlatformBrowser(this.platformId)) {
364
- if (this.mode === 'advanced') {
365
- this.zone.runOutsideAngular(() => {
366
- if (this.content) {
367
- this.dragOverListener = this.renderer.listen(this.content.nativeElement, 'dragover', this.onDragOver.bind(this));
368
- }
369
- });
370
- }
371
- }
372
- }
373
- getTranslation(option) {
374
- return this.config.getTranslation(option);
375
- }
376
- choose() {
377
- this.advancedFileInput?.nativeElement.click();
378
- }
379
- onFileSelect(event) {
380
- if (event.type !== 'drop' && this.isIE11() && this.duplicateIEEvent) {
381
- this.duplicateIEEvent = false;
382
- return;
383
- }
384
- this.msgs = [];
385
- if (!this.multiple) {
386
- this.files = [];
387
- }
388
- let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;
389
- for (let i = 0; i < files.length; i++) {
390
- let file = files[i];
391
- if (!this.isFileSelected(file)) {
392
- if (this.validate(file)) {
393
- if (this.isImage(file)) {
394
- file.objectURL = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(files[i]));
395
- }
396
- this.files.push(files[i]);
397
- }
398
- }
399
- }
400
- this.onSelect.emit({ originalEvent: event, files: files, currentFiles: this.files });
401
- // this will check the fileLimit with the uploaded files
402
- this.checkFileLimit(files);
403
- if (this.hasFiles() && this.auto && (this.mode !== 'advanced' || !this.isFileLimitExceeded())) {
404
- this.upload();
405
- }
406
- if (event.type !== 'drop' && this.isIE11()) {
407
- this.clearIEInput();
408
- }
409
- else {
410
- this.clearInputElement();
411
- }
412
- }
413
- isFileSelected(file) {
414
- for (let sFile of this.files) {
415
- if (sFile.name + sFile.type + sFile.size === file.name + file.type + file.size) {
416
- return true;
417
- }
418
- }
419
- return false;
420
- }
421
- isIE11() {
422
- if (isPlatformBrowser(this.platformId)) {
423
- return !!this.document.defaultView['MSInputMethodContext'] && !!this.document['documentMode'];
424
- }
425
- }
426
- validate(file) {
427
- this.msgs = this.msgs || [];
428
- if (this.accept && !this.isFileTypeValid(file)) {
429
- this.msgs.push({
430
- severity: 'error',
431
- summary: this.invalidFileTypeMessageSummary.replace('{0}', file.name),
432
- detail: this.invalidFileTypeMessageDetail.replace('{0}', this.accept)
433
- });
434
- return false;
435
- }
436
- if (this.maxFileSize && file.size > this.maxFileSize) {
437
- this.msgs.push({
438
- severity: 'error',
439
- summary: this.invalidFileSizeMessageSummary.replace('{0}', file.name),
440
- detail: this.invalidFileSizeMessageDetail.replace('{0}', this.formatSize(this.maxFileSize))
441
- });
442
- return false;
443
- }
444
- return true;
445
- }
446
- isFileTypeValid(file) {
447
- let acceptableTypes = this.accept?.split(',').map((type) => type.trim());
448
- for (let type of acceptableTypes) {
449
- let acceptable = this.isWildcard(type) ? this.getTypeClass(file.type) === this.getTypeClass(type) : file.type == type || this.getFileExtension(file).toLowerCase() === type.toLowerCase();
450
- if (acceptable) {
451
- return true;
452
- }
453
- }
454
- return false;
455
- }
456
- getTypeClass(fileType) {
457
- return fileType.substring(0, fileType.indexOf('/'));
458
- }
459
- isWildcard(fileType) {
460
- return fileType.indexOf('*') !== -1;
461
- }
462
- getFileExtension(file) {
463
- return '.' + file.name.split('.').pop();
464
- }
465
- isImage(file) {
466
- return /^image\//.test(file.type);
467
- }
468
- onImageLoad(img) {
469
- window.URL.revokeObjectURL(img.src);
470
- }
471
- /**
472
- * Uploads the selected files.
473
- * @group Method
474
- */
475
- upload() {
476
- if (this.customUpload) {
477
- if (this.fileLimit) {
478
- this.uploadedFileCount += this.files.length;
479
- }
480
- this.uploadHandler.emit({
481
- files: this.files
482
- });
483
- this.cd.markForCheck();
484
- }
485
- else {
486
- this.uploading = true;
487
- this.msgs = [];
488
- let formData = new FormData();
489
- this.onBeforeUpload.emit({
490
- formData: formData
491
- });
492
- for (let i = 0; i < this.files.length; i++) {
493
- formData.append(this.name, this.files[i], this.files[i].name);
494
- }
495
- // If the previous upload hasn't been finished, it is aborted.
496
- this.cancelUploadRequest();
497
- this.fileUploadSubcription = this.http
498
- .request(this.method, this.url, {
499
- body: formData,
500
- headers: this.headers,
501
- reportProgress: true,
502
- observe: 'events',
503
- withCredentials: this.withCredentials
504
- })
505
- .subscribe((event) => {
506
- switch (event.type) {
507
- case HttpEventType.Sent:
508
- this.onSend.emit({
509
- originalEvent: event,
510
- formData: formData
511
- });
512
- break;
513
- case HttpEventType.Response:
514
- this.uploading = false;
515
- this.progress = 0;
516
- if (event['status'] >= 200 && event['status'] < 300) {
517
- if (this.fileLimit) {
518
- this.uploadedFileCount += this.files.length;
519
- }
520
- this.onUpload.emit({ originalEvent: event, files: this.files });
521
- }
522
- else {
523
- this.onError.emit({ files: this.files });
524
- }
525
- this.uploadedFiles.push(...this.files);
526
- this.clear();
527
- break;
528
- case HttpEventType.UploadProgress: {
529
- if (event['loaded']) {
530
- this.progress = Math.round((event['loaded'] * 100) / event['total']);
531
- }
532
- this.onProgress.emit({ originalEvent: event, progress: this.progress });
533
- break;
534
- }
535
- }
536
- this.cd.markForCheck();
537
- }, (error) => {
538
- this.uploading = false;
539
- this.onError.emit({ files: this.files, error: error });
540
- });
541
- }
542
- }
543
- /**
544
- * Clears the files list.
545
- * @group Method
546
- */
547
- clear() {
548
- this.files = [];
549
- this.uploadedFileCount = 0;
550
- this.cancelUploadRequest();
551
- this.onClear.emit();
552
- this.clearInputElement();
553
- this.cd.markForCheck();
554
- }
555
- /**
556
- * Removes a single file.
557
- * @param {Event} event - Browser event.
558
- * @param {Number} index - Index of the file.
559
- * @group Method
560
- */
561
- remove(event, index) {
562
- this.cancelUploadRequest();
563
- this.clearInputElement();
564
- this.onRemove.emit({ originalEvent: event, file: this.files[index] });
565
- this.files.splice(index, 1);
566
- this.checkFileLimit(this.files);
567
- }
568
- /**
569
- * Removes uploaded file.
570
- * @param {Number} index - Index of the file to be removed.
571
- * @group Method
572
- */
573
- removeUploadedFile(index) {
574
- let removedFile = this.uploadedFiles.splice(index, 1)[0];
575
- this.uploadedFiles = [...this.uploadedFiles];
576
- this.onRemoveUploadedFile.emit({ file: removedFile, files: this.uploadedFiles });
577
- }
578
- /**
579
- * Cancel upload file request.
580
- * */
581
- cancelUploadRequest() {
582
- if (this.fileUploadSubcription) {
583
- this.fileUploadSubcription.unsubscribe();
584
- this.fileUploadSubcription = undefined;
585
- }
586
- }
587
- isFileLimitExceeded() {
588
- const isAutoMode = this.auto;
589
- const totalFileCount = isAutoMode ? this.files.length : this.files.length + this.uploadedFileCount;
590
- if (this.fileLimit && this.fileLimit <= totalFileCount && this.focus) {
591
- this.focus = false;
592
- }
593
- return this.fileLimit && this.fileLimit < totalFileCount;
594
- }
595
- isChooseDisabled() {
596
- if (this.auto) {
597
- return this.fileLimit && this.fileLimit <= this.files.length;
598
- }
599
- else {
600
- return this.fileLimit && this.fileLimit <= this.files.length + this.uploadedFileCount;
601
- }
602
- }
603
- checkFileLimit(files) {
604
- this.msgs ??= [];
605
- const hasExistingValidationMessages = this.msgs.length > 0 && this.fileLimit < files.length;
606
- if (this.isFileLimitExceeded() || hasExistingValidationMessages) {
607
- this.msgs.push({
608
- severity: 'error',
609
- summary: this.invalidFileLimitMessageSummary.replace('{0}', this.fileLimit.toString()),
610
- detail: this.invalidFileLimitMessageDetail.replace('{0}', this.fileLimit.toString())
611
- });
612
- }
613
- }
614
- clearInputElement() {
615
- if (this.advancedFileInput && this.advancedFileInput.nativeElement) {
616
- this.advancedFileInput.nativeElement.value = '';
617
- }
618
- if (this.basicFileInput && this.basicFileInput.nativeElement) {
619
- this.basicFileInput.nativeElement.value = '';
620
- }
621
- }
622
- clearIEInput() {
623
- if (this.advancedFileInput && this.advancedFileInput.nativeElement) {
624
- this.duplicateIEEvent = true; //IE11 fix to prevent onFileChange trigger again
625
- this.advancedFileInput.nativeElement.value = '';
626
- }
627
- }
628
- hasFiles() {
629
- return this.files && this.files.length > 0;
630
- }
631
- hasUploadedFiles() {
632
- return this.uploadedFiles && this.uploadedFiles.length > 0;
633
- }
634
- onDragEnter(e) {
635
- if (!this.disabled) {
636
- e.stopPropagation();
637
- e.preventDefault();
638
- }
639
- }
640
- onDragOver(e) {
641
- if (!this.disabled) {
642
- DomHandler.addClass(this.content?.nativeElement, 'p-fileupload-highlight');
643
- this.dragHighlight = true;
644
- e.stopPropagation();
645
- e.preventDefault();
646
- }
647
- }
648
- onDragLeave(event) {
649
- if (!this.disabled) {
650
- DomHandler.removeClass(this.content?.nativeElement, 'p-fileupload-highlight');
651
- }
652
- }
653
- onDrop(event) {
654
- if (!this.disabled) {
655
- DomHandler.removeClass(this.content?.nativeElement, 'p-fileupload-highlight');
656
- event.stopPropagation();
657
- event.preventDefault();
658
- let files = event.dataTransfer ? event.dataTransfer.files : event.target.files;
659
- let allowDrop = this.multiple || (files && files.length === 1);
660
- if (allowDrop) {
661
- this.onFileSelect(event);
662
- }
663
- }
664
- }
665
- onFocus() {
666
- this.focus = true;
667
- }
668
- onBlur() {
669
- this.focus = false;
670
- }
671
- formatSize(bytes) {
672
- const k = 1024;
673
- const dm = 3;
674
- const sizes = this.getTranslation(TranslationKeys.FILE_SIZE_TYPES);
675
- if (bytes === 0) {
676
- return `0 ${sizes[0]}`;
677
- }
678
- const i = Math.floor(Math.log(bytes) / Math.log(k));
679
- const formattedSize = (bytes / Math.pow(k, i)).toFixed(dm);
680
- return `${formattedSize} ${sizes[i]}`;
681
- }
682
- onBasicUploaderClick() {
683
- if (this.hasFiles())
684
- this.upload();
685
- else
686
- this.basicFileInput?.nativeElement.click();
687
- }
688
- onBasicKeydown(event) {
689
- switch (event.code) {
690
- case 'Space':
691
- case 'Enter':
692
- this.onBasicUploaderClick();
693
- event.preventDefault();
694
- break;
695
- }
696
- }
697
- imageError(event) {
698
- this.onImageError.emit(event);
699
- }
700
- getBlockableElement() {
701
- return this.el.nativeElement.children[0];
702
- }
703
- get chooseButtonLabel() {
704
- return this.chooseLabel || this.config.getTranslation(TranslationKeys.CHOOSE);
705
- }
706
- get uploadButtonLabel() {
707
- return this.uploadLabel || this.config.getTranslation(TranslationKeys.UPLOAD);
708
- }
709
- get cancelButtonLabel() {
710
- return this.cancelLabel || this.config.getTranslation(TranslationKeys.CANCEL);
711
- }
712
- get browseFilesLabel() {
713
- return this.config.getTranslation(TranslationKeys.ARIA)[TranslationKeys.BROWSE_FILES];
714
- }
715
- ngOnDestroy() {
716
- if (this.content && this.content.nativeElement) {
717
- if (this.dragOverListener) {
718
- this.dragOverListener();
719
- this.dragOverListener = null;
720
- }
721
- }
722
- if (this.translationSubscription) {
723
- this.translationSubscription.unsubscribe();
724
- }
725
- }
726
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FileUpload, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i0.NgZone }, { token: i2.HttpClient }, { token: i0.ChangeDetectorRef }, { token: i3.caxConfig }], target: i0.ɵɵFactoryTarget.Component });
727
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: FileUpload, selector: "p-fileUpload", inputs: { name: "name", url: "url", method: "method", multiple: ["multiple", "multiple", booleanAttribute], accept: "accept", disabled: ["disabled", "disabled", booleanAttribute], auto: ["auto", "auto", booleanAttribute], withCredentials: ["withCredentials", "withCredentials", booleanAttribute], maxFileSize: ["maxFileSize", "maxFileSize", numberAttribute], invalidFileSizeMessageSummary: "invalidFileSizeMessageSummary", invalidFileSizeMessageDetail: "invalidFileSizeMessageDetail", invalidFileTypeMessageSummary: "invalidFileTypeMessageSummary", invalidFileTypeMessageDetail: "invalidFileTypeMessageDetail", invalidFileLimitMessageDetail: "invalidFileLimitMessageDetail", invalidFileLimitMessageSummary: "invalidFileLimitMessageSummary", style: "style", styleClass: "styleClass", previewWidth: ["previewWidth", "previewWidth", numberAttribute], chooseLabel: "chooseLabel", uploadLabel: "uploadLabel", cancelLabel: "cancelLabel", chooseIcon: "chooseIcon", uploadIcon: "uploadIcon", cancelIcon: "cancelIcon", showUploadButton: ["showUploadButton", "showUploadButton", booleanAttribute], showCancelButton: ["showCancelButton", "showCancelButton", booleanAttribute], mode: "mode", headers: "headers", customUpload: ["customUpload", "customUpload", booleanAttribute], fileLimit: ["fileLimit", "fileLimit", (value) => numberAttribute(value, null)], uploadStyleClass: "uploadStyleClass", cancelStyleClass: "cancelStyleClass", removeStyleClass: "removeStyleClass", chooseStyleClass: "chooseStyleClass", files: "files" }, outputs: { onBeforeUpload: "onBeforeUpload", onSend: "onSend", onUpload: "onUpload", onError: "onError", onClear: "onClear", onRemove: "onRemove", onSelect: "onSelect", onProgress: "onProgress", uploadHandler: "uploadHandler", onImageError: "onImageError", onRemoveUploadedFile: "onRemoveUploadedFile" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "advancedFileInput", first: true, predicate: ["advancedfileinput"], descendants: true }, { propertyName: "basicFileInput", first: true, predicate: ["basicfileinput"], descendants: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: `
728
- <div [ngClass]="'p-fileupload p-fileupload-advanced p-component'" [ngStyle]="style" [class]="styleClass" *ngIf="mode === 'advanced'" [attr.data-pc-name]="'fileupload'" [attr.data-pc-section]="'root'">
729
- <input
730
- [attr.aria-label]="browseFilesLabel"
731
- #advancedfileinput
732
- type="file"
733
- (change)="onFileSelect($event)"
734
- [multiple]="multiple"
735
- [accept]="accept"
736
- [disabled]="disabled || isChooseDisabled()"
737
- [attr.title]="''"
738
- [attr.data-pc-section]="'input'"
739
- [style.display]="'none'"
740
- />
741
- <div class="p-fileupload-buttonbar" [attr.data-pc-section]="'buttonbar'">
742
- <ng-container *ngIf="!headerTemplate">
743
- <span
744
- class="p-button p-component p-fileupload-choose"
745
- [ngClass]="{ 'p-focus': focus, 'p-disabled': disabled || isChooseDisabled() }"
746
- (focus)="onFocus()"
747
- (blur)="onBlur()"
748
- pRipple
749
- (click)="choose()"
750
- (keydown.enter)="choose()"
751
- tabindex="0"
752
- [class]="chooseStyleClass"
753
- [attr.data-pc-section]="'choosebutton'"
754
- >
755
- <input
756
- [attr.aria-label]="browseFilesLabel"
757
- #advancedfileinput
758
- type="file"
759
- (change)="onFileSelect($event)"
760
- [multiple]="multiple"
761
- [accept]="accept"
762
- [disabled]="disabled || isChooseDisabled()"
763
- [attr.title]="''"
764
- [attr.data-pc-section]="'input'"
765
- />
766
- <span *ngIf="chooseIcon" [ngClass]="'p-button-icon p-button-icon-left'" [class]="chooseIcon" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'"></span>
767
- <ng-container *ngIf="!chooseIcon">
768
- <PlusIcon *ngIf="!chooseIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'" />
769
- <span *ngIf="chooseIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'">
770
- <ng-template *ngTemplateOutlet="chooseIconTemplate"></ng-template>
771
- </span>
772
- </ng-container>
773
- <span class="p-button-label" [attr.data-pc-section]="'choosebuttonlabel'">{{ chooseButtonLabel }}</span>
774
- </span>
775
-
776
- <p-button *ngIf="!auto && showUploadButton" type="button" [label]="uploadButtonLabel" (onClick)="upload()" [disabled]="!hasFiles() || isFileLimitExceeded()" [styleClass]="uploadStyleClass">
777
- <span *ngIf="uploadIcon" [ngClass]="uploadIcon" [attr.aria-hidden]="true" class="p-button-icon p-button-icon-left"></span>
778
- <ng-container *ngIf="!uploadIcon">
779
- <UploadIcon *ngIf="!uploadIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" />
780
- <span *ngIf="uploadIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
781
- <ng-template *ngTemplateOutlet="uploadIconTemplate"></ng-template>
782
- </span>
783
- </ng-container>
784
- </p-button>
785
- <p-button *ngIf="!auto && showCancelButton" type="button" [label]="cancelButtonLabel" (onClick)="clear()" [disabled]="!hasFiles() || uploading" [styleClass]="cancelStyleClass">
786
- <span *ngIf="cancelIcon" [ngClass]="cancelIcon" class="p-button-icon p-button-icon-left"></span>
787
- <ng-container *ngIf="!cancelIcon">
788
- <TimesIcon *ngIf="!cancelIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-hidden]="true" />
789
- <span *ngIf="cancelIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
790
- <ng-template *ngTemplateOutlet="cancelIconTemplate"></ng-template>
791
- </span>
792
- </ng-container>
793
- </p-button>
794
- </ng-container>
795
- <ng-container *ngTemplateOutlet="headerTemplate; context: { $implicit: files, uploadedFiles: uploadedFiles, chooseCallback: choose.bind(this), clearCallback: clear.bind(this), uploadCallback: upload.bind(this) }"></ng-container>
796
- <ng-container *ngTemplateOutlet="toolbarTemplate"></ng-container>
797
- </div>
798
- <div #content class="p-fileupload-content" (dragenter)="onDragEnter($event)" (dragleave)="onDragLeave($event)" (drop)="onDrop($event)" [attr.data-pc-section]="'content'">
799
- <p-progressBar [value]="progress" [showValue]="false" *ngIf="hasFiles()"></p-progressBar>
800
-
801
- <p-messages [value]="msgs" [enableService]="false"></p-messages>
802
-
803
- <div class="p-fileupload-files" *ngIf="hasFiles()">
804
- <div *ngIf="!fileTemplate">
805
- <div class="p-fileupload-row" *ngFor="let file of files; let i = index">
806
- <div *ngIf="isImage(file)"><img [src]="file.objectURL" [width]="previewWidth" (error)="imageError($event)" /></div>
807
- <div class="p-fileupload-filename">{{ file.name }}</div>
808
- <div>{{ formatSize(file.size) }}</div>
809
- <div>
810
- <button type="button" pButton (click)="remove($event, i)" [disabled]="uploading" class="p-button-icon-only" [class]="removeStyleClass">
811
- <TimesIcon *ngIf="!cancelIconTemplate" />
812
- <ng-template *ngTemplateOutlet="cancelIconTemplate"></ng-template>
813
- </button>
814
- </div>
815
- </div>
816
- </div>
817
- <div *ngIf="fileTemplate">
818
- <ng-template ngFor [ngForOf]="files" [ngForTemplate]="fileTemplate"></ng-template>
819
- </div>
820
- </div>
821
- <ng-container
822
- *ngTemplateOutlet="
823
- contentTemplate;
824
- context: {
825
- $implicit: files,
826
- uploadedFiles: uploadedFiles,
827
- chooseCallback: choose.bind(this),
828
- clearCallback: clear.bind(this),
829
- removeUploadedFileCallback: removeUploadedFile.bind(this),
830
- removeFileCallback: remove.bind(this),
831
- progress: progress,
832
- messages: msgs
833
- }
834
- "
835
- ></ng-container>
836
- <div *ngIf="emptyTemplate && !hasFiles() && !hasUploadedFiles()" class="p-fileupload-empty">
837
- <ng-container *ngTemplateOutlet="emptyTemplate"></ng-container>
838
- </div>
839
- </div>
840
- </div>
841
- <div class="p-fileupload p-fileupload-basic p-component" *ngIf="mode === 'basic'" [attr.data-pc-name]="'fileupload'">
842
- <p-messages [value]="msgs" [enableService]="false"></p-messages>
843
- <span
844
- [ngClass]="{ 'p-button p-component p-fileupload-choose': true, 'p-button-icon-only': !basicButtonLabel, 'p-fileupload-choose-selected': hasFiles(), 'p-focus': focus, 'p-disabled': disabled }"
845
- [ngStyle]="style"
846
- [class]="styleClass"
847
- (click)="onBasicUploaderClick()"
848
- (keydown)="onBasicKeydown($event)"
849
- tabindex="0"
850
- pRipple
851
- [attr.data-pc-section]="'choosebutton'"
852
- >
853
- <ng-container *ngIf="hasFiles() && !auto; else chooseSection">
854
- <span *ngIf="uploadIcon" class="p-button-icon p-button-icon-left" [ngClass]="uploadIcon"></span>
855
- <ng-container *ngIf="!uploadIcon">
856
- <UploadIcon *ngIf="!uploadIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" />
857
- <span *ngIf="uploadIconTemplate" class="p-button-icon p-button-icon-left">
858
- <ng-template *ngTemplateOutlet="uploadIconTemplate"></ng-template>
859
- </span>
860
- </ng-container>
861
- </ng-container>
862
- <ng-template #chooseSection>
863
- <span *ngIf="chooseIcon" class="p-button-icon p-button-icon-left pi" [ngClass]="chooseIcon"></span>
864
- <ng-container *ngIf="!chooseIcon">
865
- <PlusIcon [styleClass]="'p-button-icon p-button-icon-left pi'" *ngIf="!chooseIconTemplate" [attr.aria-hidden]="true" [attr.data-pc-section]="'uploadicon'" />
866
- <span *ngIf="chooseIconTemplate" class="p-button-icon p-button-icon-left pi" [attr.aria-hidden]="true" [attr.data-pc-section]="'uploadicon'">
867
- <ng-template *ngTemplateOutlet="chooseIconTemplate"></ng-template>
868
- </span>
869
- </ng-container>
870
- </ng-template>
871
- <span *ngIf="basicButtonLabel" class="p-button-label" [attr.data-pc-section]="'label'">{{ basicButtonLabel }}</span>
872
- <input
873
- [attr.aria-label]="browseFilesLabel"
874
- #basicfileinput
875
- type="file"
876
- [accept]="accept"
877
- [multiple]="multiple"
878
- [disabled]="disabled"
879
- (change)="onFileSelect($event)"
880
- *ngIf="!hasFiles()"
881
- (focus)="onFocus()"
882
- (blur)="onBlur()"
883
- [attr.data-pc-section]="'input'"
884
- />
885
- </span>
886
- </div>
887
- `, isInline: true, styles: ["@layer cax{.p-fileupload-content{position:relative}.p-fileupload-row{display:flex;align-items:center}.p-fileupload-row>div{flex:1 1 auto;width:25%}.p-fileupload-row>div:last-child{text-align:right}.p-fileupload-content .p-progressbar{width:100%;position:absolute;top:0;left:0}.p-button.p-fileupload-choose{position:relative;overflow:hidden}.p-button.p-fileupload-choose input[type=file],.p-fileupload-choose.p-fileupload-choose-selected input[type=file]{display:none}.p-fluid .p-fileupload .p-button{width:auto}.p-fileupload-filename{word-break:break-all}}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(() => i4.NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgForOf), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgIf), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgTemplateOutlet), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(() => i4.NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(() => PlusIcon), selector: "PlusIcon" }, { kind: "component", type: i0.forwardRef(() => UploadIcon), selector: "UploadIcon" }, { kind: "component", type: i0.forwardRef(() => TimesIcon), selector: "TimesIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
888
- }
889
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FileUpload, decorators: [{
890
- type: Component,
891
- args: [{ selector: 'p-fileUpload', template: `
892
- <div [ngClass]="'p-fileupload p-fileupload-advanced p-component'" [ngStyle]="style" [class]="styleClass" *ngIf="mode === 'advanced'" [attr.data-pc-name]="'fileupload'" [attr.data-pc-section]="'root'">
893
- <input
894
- [attr.aria-label]="browseFilesLabel"
895
- #advancedfileinput
896
- type="file"
897
- (change)="onFileSelect($event)"
898
- [multiple]="multiple"
899
- [accept]="accept"
900
- [disabled]="disabled || isChooseDisabled()"
901
- [attr.title]="''"
902
- [attr.data-pc-section]="'input'"
903
- [style.display]="'none'"
904
- />
905
- <div class="p-fileupload-buttonbar" [attr.data-pc-section]="'buttonbar'">
906
- <ng-container *ngIf="!headerTemplate">
907
- <span
908
- class="p-button p-component p-fileupload-choose"
909
- [ngClass]="{ 'p-focus': focus, 'p-disabled': disabled || isChooseDisabled() }"
910
- (focus)="onFocus()"
911
- (blur)="onBlur()"
912
- pRipple
913
- (click)="choose()"
914
- (keydown.enter)="choose()"
915
- tabindex="0"
916
- [class]="chooseStyleClass"
917
- [attr.data-pc-section]="'choosebutton'"
918
- >
919
- <input
920
- [attr.aria-label]="browseFilesLabel"
921
- #advancedfileinput
922
- type="file"
923
- (change)="onFileSelect($event)"
924
- [multiple]="multiple"
925
- [accept]="accept"
926
- [disabled]="disabled || isChooseDisabled()"
927
- [attr.title]="''"
928
- [attr.data-pc-section]="'input'"
929
- />
930
- <span *ngIf="chooseIcon" [ngClass]="'p-button-icon p-button-icon-left'" [class]="chooseIcon" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'"></span>
931
- <ng-container *ngIf="!chooseIcon">
932
- <PlusIcon *ngIf="!chooseIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'" />
933
- <span *ngIf="chooseIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-label]="true" [attr.data-pc-section]="'chooseicon'">
934
- <ng-template *ngTemplateOutlet="chooseIconTemplate"></ng-template>
935
- </span>
936
- </ng-container>
937
- <span class="p-button-label" [attr.data-pc-section]="'choosebuttonlabel'">{{ chooseButtonLabel }}</span>
938
- </span>
939
-
940
- <p-button *ngIf="!auto && showUploadButton" type="button" [label]="uploadButtonLabel" (onClick)="upload()" [disabled]="!hasFiles() || isFileLimitExceeded()" [styleClass]="uploadStyleClass">
941
- <span *ngIf="uploadIcon" [ngClass]="uploadIcon" [attr.aria-hidden]="true" class="p-button-icon p-button-icon-left"></span>
942
- <ng-container *ngIf="!uploadIcon">
943
- <UploadIcon *ngIf="!uploadIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" />
944
- <span *ngIf="uploadIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
945
- <ng-template *ngTemplateOutlet="uploadIconTemplate"></ng-template>
946
- </span>
947
- </ng-container>
948
- </p-button>
949
- <p-button *ngIf="!auto && showCancelButton" type="button" [label]="cancelButtonLabel" (onClick)="clear()" [disabled]="!hasFiles() || uploading" [styleClass]="cancelStyleClass">
950
- <span *ngIf="cancelIcon" [ngClass]="cancelIcon" class="p-button-icon p-button-icon-left"></span>
951
- <ng-container *ngIf="!cancelIcon">
952
- <TimesIcon *ngIf="!cancelIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" [attr.aria-hidden]="true" />
953
- <span *ngIf="cancelIconTemplate" class="p-button-icon p-button-icon-left" [attr.aria-hidden]="true">
954
- <ng-template *ngTemplateOutlet="cancelIconTemplate"></ng-template>
955
- </span>
956
- </ng-container>
957
- </p-button>
958
- </ng-container>
959
- <ng-container *ngTemplateOutlet="headerTemplate; context: { $implicit: files, uploadedFiles: uploadedFiles, chooseCallback: choose.bind(this), clearCallback: clear.bind(this), uploadCallback: upload.bind(this) }"></ng-container>
960
- <ng-container *ngTemplateOutlet="toolbarTemplate"></ng-container>
961
- </div>
962
- <div #content class="p-fileupload-content" (dragenter)="onDragEnter($event)" (dragleave)="onDragLeave($event)" (drop)="onDrop($event)" [attr.data-pc-section]="'content'">
963
- <p-progressBar [value]="progress" [showValue]="false" *ngIf="hasFiles()"></p-progressBar>
964
-
965
- <p-messages [value]="msgs" [enableService]="false"></p-messages>
966
-
967
- <div class="p-fileupload-files" *ngIf="hasFiles()">
968
- <div *ngIf="!fileTemplate">
969
- <div class="p-fileupload-row" *ngFor="let file of files; let i = index">
970
- <div *ngIf="isImage(file)"><img [src]="file.objectURL" [width]="previewWidth" (error)="imageError($event)" /></div>
971
- <div class="p-fileupload-filename">{{ file.name }}</div>
972
- <div>{{ formatSize(file.size) }}</div>
973
- <div>
974
- <button type="button" pButton (click)="remove($event, i)" [disabled]="uploading" class="p-button-icon-only" [class]="removeStyleClass">
975
- <TimesIcon *ngIf="!cancelIconTemplate" />
976
- <ng-template *ngTemplateOutlet="cancelIconTemplate"></ng-template>
977
- </button>
978
- </div>
979
- </div>
980
- </div>
981
- <div *ngIf="fileTemplate">
982
- <ng-template ngFor [ngForOf]="files" [ngForTemplate]="fileTemplate"></ng-template>
983
- </div>
984
- </div>
985
- <ng-container
986
- *ngTemplateOutlet="
987
- contentTemplate;
988
- context: {
989
- $implicit: files,
990
- uploadedFiles: uploadedFiles,
991
- chooseCallback: choose.bind(this),
992
- clearCallback: clear.bind(this),
993
- removeUploadedFileCallback: removeUploadedFile.bind(this),
994
- removeFileCallback: remove.bind(this),
995
- progress: progress,
996
- messages: msgs
997
- }
998
- "
999
- ></ng-container>
1000
- <div *ngIf="emptyTemplate && !hasFiles() && !hasUploadedFiles()" class="p-fileupload-empty">
1001
- <ng-container *ngTemplateOutlet="emptyTemplate"></ng-container>
1002
- </div>
1003
- </div>
1004
- </div>
1005
- <div class="p-fileupload p-fileupload-basic p-component" *ngIf="mode === 'basic'" [attr.data-pc-name]="'fileupload'">
1006
- <p-messages [value]="msgs" [enableService]="false"></p-messages>
1007
- <span
1008
- [ngClass]="{ 'p-button p-component p-fileupload-choose': true, 'p-button-icon-only': !basicButtonLabel, 'p-fileupload-choose-selected': hasFiles(), 'p-focus': focus, 'p-disabled': disabled }"
1009
- [ngStyle]="style"
1010
- [class]="styleClass"
1011
- (click)="onBasicUploaderClick()"
1012
- (keydown)="onBasicKeydown($event)"
1013
- tabindex="0"
1014
- pRipple
1015
- [attr.data-pc-section]="'choosebutton'"
1016
- >
1017
- <ng-container *ngIf="hasFiles() && !auto; else chooseSection">
1018
- <span *ngIf="uploadIcon" class="p-button-icon p-button-icon-left" [ngClass]="uploadIcon"></span>
1019
- <ng-container *ngIf="!uploadIcon">
1020
- <UploadIcon *ngIf="!uploadIconTemplate" [styleClass]="'p-button-icon p-button-icon-left'" />
1021
- <span *ngIf="uploadIconTemplate" class="p-button-icon p-button-icon-left">
1022
- <ng-template *ngTemplateOutlet="uploadIconTemplate"></ng-template>
1023
- </span>
1024
- </ng-container>
1025
- </ng-container>
1026
- <ng-template #chooseSection>
1027
- <span *ngIf="chooseIcon" class="p-button-icon p-button-icon-left pi" [ngClass]="chooseIcon"></span>
1028
- <ng-container *ngIf="!chooseIcon">
1029
- <PlusIcon [styleClass]="'p-button-icon p-button-icon-left pi'" *ngIf="!chooseIconTemplate" [attr.aria-hidden]="true" [attr.data-pc-section]="'uploadicon'" />
1030
- <span *ngIf="chooseIconTemplate" class="p-button-icon p-button-icon-left pi" [attr.aria-hidden]="true" [attr.data-pc-section]="'uploadicon'">
1031
- <ng-template *ngTemplateOutlet="chooseIconTemplate"></ng-template>
1032
- </span>
1033
- </ng-container>
1034
- </ng-template>
1035
- <span *ngIf="basicButtonLabel" class="p-button-label" [attr.data-pc-section]="'label'">{{ basicButtonLabel }}</span>
1036
- <input
1037
- [attr.aria-label]="browseFilesLabel"
1038
- #basicfileinput
1039
- type="file"
1040
- [accept]="accept"
1041
- [multiple]="multiple"
1042
- [disabled]="disabled"
1043
- (change)="onFileSelect($event)"
1044
- *ngIf="!hasFiles()"
1045
- (focus)="onFocus()"
1046
- (blur)="onBlur()"
1047
- [attr.data-pc-section]="'input'"
1048
- />
1049
- </span>
1050
- </div>
1051
- `, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
1052
- class: 'cax-element'
1053
- }, styles: ["@layer cax{.p-fileupload-content{position:relative}.p-fileupload-row{display:flex;align-items:center}.p-fileupload-row>div{flex:1 1 auto;width:25%}.p-fileupload-row>div:last-child{text-align:right}.p-fileupload-content .p-progressbar{width:100%;position:absolute;top:0;left:0}.p-button.p-fileupload-choose{position:relative;overflow:hidden}.p-button.p-fileupload-choose input[type=file],.p-fileupload-choose.p-fileupload-choose-selected input[type=file]{display:none}.p-fluid .p-fileupload .p-button{width:auto}.p-fileupload-filename{word-break:break-all}}\n"] }]
1054
- }], ctorParameters: () => [{ type: Document, decorators: [{
1055
- type: Inject,
1056
- args: [DOCUMENT]
1057
- }] }, { type: undefined, decorators: [{
1058
- type: Inject,
1059
- args: [PLATFORM_ID]
1060
- }] }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: i0.NgZone }, { type: i2.HttpClient }, { type: i0.ChangeDetectorRef }, { type: i3.caxConfig }], propDecorators: { name: [{
1061
- type: Input
1062
- }], url: [{
1063
- type: Input
1064
- }], method: [{
1065
- type: Input
1066
- }], multiple: [{
1067
- type: Input,
1068
- args: [{ transform: booleanAttribute }]
1069
- }], accept: [{
1070
- type: Input
1071
- }], disabled: [{
1072
- type: Input,
1073
- args: [{ transform: booleanAttribute }]
1074
- }], auto: [{
1075
- type: Input,
1076
- args: [{ transform: booleanAttribute }]
1077
- }], withCredentials: [{
1078
- type: Input,
1079
- args: [{ transform: booleanAttribute }]
1080
- }], maxFileSize: [{
1081
- type: Input,
1082
- args: [{ transform: numberAttribute }]
1083
- }], invalidFileSizeMessageSummary: [{
1084
- type: Input
1085
- }], invalidFileSizeMessageDetail: [{
1086
- type: Input
1087
- }], invalidFileTypeMessageSummary: [{
1088
- type: Input
1089
- }], invalidFileTypeMessageDetail: [{
1090
- type: Input
1091
- }], invalidFileLimitMessageDetail: [{
1092
- type: Input
1093
- }], invalidFileLimitMessageSummary: [{
1094
- type: Input
1095
- }], style: [{
1096
- type: Input
1097
- }], styleClass: [{
1098
- type: Input
1099
- }], previewWidth: [{
1100
- type: Input,
1101
- args: [{ transform: numberAttribute }]
1102
- }], chooseLabel: [{
1103
- type: Input
1104
- }], uploadLabel: [{
1105
- type: Input
1106
- }], cancelLabel: [{
1107
- type: Input
1108
- }], chooseIcon: [{
1109
- type: Input
1110
- }], uploadIcon: [{
1111
- type: Input
1112
- }], cancelIcon: [{
1113
- type: Input
1114
- }], showUploadButton: [{
1115
- type: Input,
1116
- args: [{ transform: booleanAttribute }]
1117
- }], showCancelButton: [{
1118
- type: Input,
1119
- args: [{ transform: booleanAttribute }]
1120
- }], mode: [{
1121
- type: Input
1122
- }], headers: [{
1123
- type: Input
1124
- }], customUpload: [{
1125
- type: Input,
1126
- args: [{ transform: booleanAttribute }]
1127
- }], fileLimit: [{
1128
- type: Input,
1129
- args: [{ transform: (value) => numberAttribute(value, null) }]
1130
- }], uploadStyleClass: [{
1131
- type: Input
1132
- }], cancelStyleClass: [{
1133
- type: Input
1134
- }], removeStyleClass: [{
1135
- type: Input
1136
- }], chooseStyleClass: [{
1137
- type: Input
1138
- }], onBeforeUpload: [{
1139
- type: Output
1140
- }], onSend: [{
1141
- type: Output
1142
- }], onUpload: [{
1143
- type: Output
1144
- }], onError: [{
1145
- type: Output
1146
- }], onClear: [{
1147
- type: Output
1148
- }], onRemove: [{
1149
- type: Output
1150
- }], onSelect: [{
1151
- type: Output
1152
- }], onProgress: [{
1153
- type: Output
1154
- }], uploadHandler: [{
1155
- type: Output
1156
- }], onImageError: [{
1157
- type: Output
1158
- }], onRemoveUploadedFile: [{
1159
- type: Output
1160
- }], templates: [{
1161
- type: ContentChildren,
1162
- args: [CaxTemplate]
1163
- }], advancedFileInput: [{
1164
- type: ViewChild,
1165
- args: ['advancedfileinput']
1166
- }], basicFileInput: [{
1167
- type: ViewChild,
1168
- args: ['basicfileinput']
1169
- }], content: [{
1170
- type: ViewChild,
1171
- args: ['content']
1172
- }], files: [{
1173
- type: Input
1174
- }] } });
1175
- export class FileUploadModule {
1176
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1177
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.9", ngImport: i0, type: FileUploadModule, declarations: [FileUpload], imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule, PlusIcon, UploadIcon, TimesIcon], exports: [FileUpload, SharedModule, ButtonModule, ProgressBarModule, MessagesModule] });
1178
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FileUploadModule, imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule, PlusIcon, UploadIcon, TimesIcon, SharedModule, ButtonModule, ProgressBarModule, MessagesModule] });
1179
- }
1180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: FileUploadModule, decorators: [{
1181
- type: NgModule,
1182
- args: [{
1183
- imports: [CommonModule, SharedModule, ButtonModule, ProgressBarModule, MessagesModule, RippleModule, PlusIcon, UploadIcon, TimesIcon],
1184
- exports: [FileUpload, SharedModule, ButtonModule, ProgressBarModule, MessagesModule],
1185
- declarations: [FileUpload]
1186
- }]
1187
- }] });
1188
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXVwbG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWxldXBsb2FkL2ZpbGV1cGxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RSxPQUFPLEVBQXlCLGFBQWEsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFHSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBSVIsTUFBTSxFQUNOLFdBQVcsRUFJWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixlQUFlLEVBRWxCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBbUMsV0FBVyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQUl4RDs7O0dBR0c7QUEyS0gsTUFBTSxPQUFPLFVBQVU7SUEyVFc7SUFDRztJQUNyQjtJQUNBO0lBQ0Q7SUFD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T0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFNBQVMsQ0FBQztvQkFDckksT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxDQUFDO29CQUNwRixZQUFZLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBET0NVTUVOVCwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEV2ZW50LCBIdHRwRXZlbnRUeXBlLCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nTW9kdWxlLFxuICAgIE5nWm9uZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBQTEFURk9STV9JRCxcbiAgICBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEJsb2NrYWJsZVVJLCBNZXNzYWdlLCBjYXhDb25maWcsIENheFRlbXBsYXRlLCBTaGFyZWRNb2R1bGUsIFRyYW5zbGF0aW9uS2V5cyB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL2FwaSc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdjYXgtZGVzaWduLXN5c3RlbS9idXR0b24nO1xuaW1wb3J0IHsgRG9tSGFuZGxlciB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL2RvbSc7XG5pbXBvcnQgeyBQbHVzSWNvbiB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL2ljb25zL3BsdXMnO1xuaW1wb3J0IHsgVGltZXNJY29uIH0gZnJvbSAnY2F4LWRlc2lnbi1zeXN0ZW0vaWNvbnMvdGltZXMnO1xuaW1wb3J0IHsgVXBsb2FkSWNvbiB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL2ljb25zL3VwbG9hZCc7XG5pbXBvcnQgeyBNZXNzYWdlc01vZHVsZSB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL21lc3NhZ2VzJztcbmltcG9ydCB7IFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAnY2F4LWRlc2lnbi1zeXN0ZW0vcHJvZ3Jlc3NiYXInO1xuaW1wb3J0IHsgUmlwcGxlTW9kdWxlIH0gZnJvbSAnY2F4LWRlc2lnbi1zeXN0ZW0vcmlwcGxlJztcbmltcG9ydCB7IFZvaWRMaXN0ZW5lciB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL3RzLWhlbHBlcnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWxlQmVmb3JlVXBsb2FkRXZlbnQsIEZpbGVQcm9ncmVzc0V2ZW50LCBGaWxlUmVtb3ZlRXZlbnQsIEZpbGVTZWxlY3RFdmVudCwgRmlsZVNlbmRFdmVudCwgRmlsZVVwbG9hZEVycm9yRXZlbnQsIEZpbGVVcGxvYWRFdmVudCwgRmlsZVVwbG9hZEhhbmRsZXJFdmVudCwgUmVtb3ZlVXBsb2FkZWRGaWxlRXZlbnQgfSBmcm9tICcuL2ZpbGV1cGxvYWQuaW50ZXJmYWNlJztcbi8qKlxuICogRmlsZVVwbG9hZCBpcyBhbiBhZHZhbmNlZCB1cGxvYWRlciB3aXRoIGRyYWdkcm9wIHN1cHBvcnQsIG11bHRpIGZpbGUgdXBsb2FkcywgYXV0byB1cGxvYWRpbmcsIHByb2dyZXNzIHRyYWNraW5nIGFuZCB2YWxpZGF0aW9ucy5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1maWxlVXBsb2FkJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cIidwLWZpbGV1cGxvYWQgcC1maWxldXBsb2FkLWFkdmFuY2VkIHAtY29tcG9uZW50J1wiIFtuZ1N0eWxlXT1cInN0eWxlXCIgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIiAqbmdJZj1cIm1vZGUgPT09ICdhZHZhbmNlZCdcIiBbYXR0ci5kYXRhLXBjLW5hbWVdPVwiJ2ZpbGV1cGxvYWQnXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidyb290J1wiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJicm93c2VGaWxlc0xhYmVsXCJcbiAgICAgICAgICAgICAgICAjYWR2YW5jZWRmaWxlaW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAgICAgICAgICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGlzQ2hvb3NlRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwiJydcIlxuICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInaW5wdXQnXCJcbiAgICAgICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZpbGV1cGxvYWQtYnV0dG9uYmFyXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIididXR0b25iYXInXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFoZWFkZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwLWJ1dHRvbiBwLWNvbXBvbmVudCBwLWZpbGV1cGxvYWQtY2hvb3NlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtZm9jdXMnOiBmb2N1cywgJ3AtZGlzYWJsZWQnOiBkaXNhYmxlZCB8fCBpc0Nob29zZURpc2FibGVkKCkgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBSaXBwbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjaG9vc2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJjaG9vc2UoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzXT1cImNob29zZVN0eWxlQ2xhc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidjaG9vc2VidXR0b24nXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJicm93c2VGaWxlc0xhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYWR2YW5jZWRmaWxlaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkIHx8IGlzQ2hvb3NlRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIudGl0bGVdPVwiJydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtcGMtc2VjdGlvbl09XCInaW5wdXQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNob29zZUljb25cIiBbbmdDbGFzc109XCIncC1idXR0b24taWNvbiBwLWJ1dHRvbi1pY29uLWxlZnQnXCIgW2NsYXNzXT1cImNob29zZUljb25cIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRydWVcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2Nob29zZWljb24nXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjaG9vc2VJY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBsdXNJY29uICpuZ0lmPVwiIWNob29zZUljb25UZW1wbGF0ZVwiIFtzdHlsZUNsYXNzXT1cIidwLWJ1dHRvbi1pY29uIHAtYnV0dG9uLWljb24tbGVmdCdcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRydWVcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2Nob29zZWljb24nXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNob29zZUljb25UZW1wbGF0ZVwiIGNsYXNzPVwicC1idXR0b24taWNvbiBwLWJ1dHRvbi1pY29uLWxlZnRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cInRydWVcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2Nob29zZWljb24nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImNob29zZUljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtYnV0dG9uLWxhYmVsXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidjaG9vc2VidXR0b25sYWJlbCdcIj57eyBjaG9vc2VCdXR0b25MYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgICAgIDxwLWJ1dHRvbiAqbmdJZj1cIiFhdXRvICYmIHNob3dVcGxvYWRCdXR0b25cIiB0eXBlPVwiYnV0dG9uXCIgW2xhYmVsXT1cInVwbG9hZEJ1dHRvbkxhYmVsXCIgKG9uQ2xpY2spPVwidXBsb2FkKClcIiBbZGlzYWJsZWRdPVwiIWhhc0ZpbGVzKCkgfHwgaXNGaWxlTGltaXRFeGNlZWRlZCgpXCIgW3N0eWxlQ2xhc3NdPVwidXBsb2FkU3R5bGVDbGFzc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1cGxvYWRJY29uXCIgW25nQ2xhc3NdPVwidXBsb2FkSWNvblwiIFthdHRyLmFyaWEtaGlkZGVuXT1cInRydWVcIiBjbGFzcz1cInAtYnV0dG9uLWljb24gcC1idXR0b24taWNvbi1sZWZ0XCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF1cGxvYWRJY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVwbG9hZEljb24gKm5nSWY9XCIhdXBsb2FkSWNvblRlbXBsYXRlXCIgW3N0eWxlQ2xhc3NdPVwiJ3AtYnV0dG9uLWljb24gcC1idXR0b24taWNvbi1sZWZ0J1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1cGxvYWRJY29uVGVtcGxhdGVcIiBjbGFzcz1cInAtYnV0dG9uLWljb24gcC1idXR0b24taWNvbi1sZWZ0XCIgW2F0dHIuYXJpYS1oaWRkZW5dPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ1cGxvYWRJY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L3AtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8cC1idXR0b24gKm5nSWY9XCIhYXV0byAmJiBzaG93Q2FuY2VsQnV0dG9uXCIgdHlwZT1cImJ1dHRvblwiIFtsYWJlbF09XCJjYW5jZWxCdXR0b25MYWJlbFwiIChvbkNsaWNrKT1cImNsZWFyKClcIiBbZGlzYWJsZWRdPVwiIWhhc0ZpbGVzKCkgfHwgdXBsb2FkaW5nXCIgW3N0eWxlQ2xhc3NdPVwiY2FuY2VsU3R5bGVDbGFzc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjYW5jZWxJY29uXCIgW25nQ2xhc3NdPVwiY2FuY2VsSWNvblwiIGNsYXNzPVwicC1idXR0b24taWNvbiBwLWJ1dHRvbi1pY29uLWxlZnRcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNhbmNlbEljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGltZXNJY29uICpuZ0lmPVwiIWNhbmNlbEljb25UZW1wbGF0ZVwiIFtzdHlsZUNsYXNzXT1cIidwLWJ1dHRvbi1pY29uIHAtYnV0dG9uLWljb24tbGVmdCdcIiBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNhbmNlbEljb25UZW1wbGF0ZVwiIGNsYXNzPVwicC1idXR0b24taWNvbiBwLWJ1dHRvbi1pY29uLWxlZnRcIiBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImNhbmNlbEljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvcC1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogZmlsZXMsIHVwbG9hZGVkRmlsZXM6IHVwbG9hZGVkRmlsZXMsIGNob29zZUNhbGxiYWNrOiBjaG9vc2UuYmluZCh0aGlzKSwgY2xlYXJDYWxsYmFjazogY2xlYXIuYmluZCh0aGlzKSwgdXBsb2FkQ2FsbGJhY2s6IHVwbG9hZC5iaW5kKHRoaXMpIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidG9vbGJhclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgI2NvbnRlbnQgY2xhc3M9XCJwLWZpbGV1cGxvYWQtY29udGVudFwiIChkcmFnZW50ZXIpPVwib25EcmFnRW50ZXIoJGV2ZW50KVwiIChkcmFnbGVhdmUpPVwib25EcmFnTGVhdmUoJGV2ZW50KVwiIChkcm9wKT1cIm9uRHJvcCgkZXZlbnQpXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidjb250ZW50J1wiPlxuICAgICAgICAgICAgICAgIDxwLXByb2dyZXNzQmFyIFt2YWx1ZV09XCJwcm9ncmVzc1wiIFtzaG93VmFsdWVdPVwiZmFsc2VcIiAqbmdJZj1cImhhc0ZpbGVzKClcIj48L3AtcHJvZ3Jlc3NCYXI+XG5cbiAgICAgICAgICAgICAgICA8cC1tZXNzYWdlcyBbdmFsdWVdPVwibXNnc1wiIFtlbmFibGVTZXJ2aWNlXT1cImZhbHNlXCI+PC9wLW1lc3NhZ2VzPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZmlsZXVwbG9hZC1maWxlc1wiICpuZ0lmPVwiaGFzRmlsZXMoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWZpbGVUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZmlsZXVwbG9hZC1yb3dcIiAqbmdGb3I9XCJsZXQgZmlsZSBvZiBmaWxlczsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0ltYWdlKGZpbGUpXCI+PGltZyBbc3JjXT1cImZpbGUub2JqZWN0VVJMXCIgW3dpZHRoXT1cInByZXZpZXdXaWR0aFwiIChlcnJvcik9XCJpbWFnZUVycm9yKCRldmVudClcIiAvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZpbGV1cGxvYWQtZmlsZW5hbWVcIj57eyBmaWxlLm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7IGZvcm1hdFNpemUoZmlsZS5zaXplKSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIHBCdXR0b24gKGNsaWNrKT1cInJlbW92ZSgkZXZlbnQsIGkpXCIgW2Rpc2FibGVkXT1cInVwbG9hZGluZ1wiIGNsYXNzPVwicC1idXR0b24taWNvbi1vbmx5XCIgW2NsYXNzXT1cInJlbW92ZVN0eWxlQ2xhc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUaW1lc0ljb24gKm5nSWY9XCIhY2FuY2VsSWNvblRlbXBsYXRlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cImNhbmNlbEljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZmlsZVRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgW25nRm9yT2ZdPVwiZmlsZXNcIiBbbmdGb3JUZW1wbGF0ZV09XCJmaWxlVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50VGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxpY2l0OiBmaWxlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGxvYWRlZEZpbGVzOiB1cGxvYWRlZEZpbGVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNob29zZUNhbGxiYWNrOiBjaG9vc2UuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGVhckNhbGxiYWNrOiBjbGVhci5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZVVwbG9hZGVkRmlsZUNhbGxiYWNrOiByZW1vdmVVcGxvYWRlZEZpbGUuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW1vdmVGaWxlQ2FsbGJhY2s6IHJlbW92ZS5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2dyZXNzOiBwcm9ncmVzcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlczogbXNnc1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZW1wdHlUZW1wbGF0ZSAmJiAhaGFzRmlsZXMoKSAmJiAhaGFzVXBsb2FkZWRGaWxlcygpXCIgY2xhc3M9XCJwLWZpbGV1cGxvYWQtZW1wdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVtcHR5VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtZmlsZXVwbG9hZCBwLWZpbGV1cGxvYWQtYmFzaWMgcC1jb21wb25lbnRcIiAqbmdJZj1cIm1vZGUgPT09ICdiYXNpYydcIiBbYXR0ci5kYXRhLXBjLW5hbWVdPVwiJ2ZpbGV1cGxvYWQnXCI+XG4gICAgICAgICAgICA8cC1tZXNzYWdlcyBbdmFsdWVdPVwibXNnc1wiIFtlbmFibGVTZXJ2aWNlXT1cImZhbHNlXCI+PC9wLW1lc3NhZ2VzPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdwLWJ1dHRvbiBwLWNvbXBvbmVudCBwLWZpbGV1cGxvYWQtY2hvb3NlJzogdHJ1ZSwgJ3AtYnV0dG9uLWljb24tb25seSc6ICFiYXNpY0J1dHRvbkxhYmVsLCAncC1maWxldXBsb2FkLWNob29zZS1zZWxlY3RlZCc6IGhhc0ZpbGVzKCksICdwLWZvY3VzJzogZm9jdXMsICdwLWRpc2FibGVkJzogZGlzYWJsZWQgfVwiXG4gICAgICAgICAgICAgICAgW25nU3R5bGVdPVwic3R5bGVcIlxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJzdHlsZUNsYXNzXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib25CYXNpY1VwbG9hZGVyQ2xpY2soKVwiXG4gICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25CYXNpY0tleWRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgICAgICBwUmlwcGxlXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidjaG9vc2VidXR0b24nXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGFzRmlsZXMoKSAmJiAhYXV0bzsgZWxzZSBjaG9vc2VTZWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidXBsb2FkSWNvblwiIGNsYXNzPVwicC1idXR0b24taWNvbiBwLWJ1dHRvbi1pY29uLWxlZnRcIiBbbmdDbGFzc109XCJ1cGxvYWRJY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXVwbG9hZEljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxVcGxvYWRJY29uICpuZ0lmPVwiIXVwbG9hZEljb25UZW1wbGF0ZVwiIFtzdHlsZUNsYXNzXT1cIidwLWJ1dHRvbi1pY29uIHAtYnV0dG9uLWljb24tbGVmdCdcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1cGxvYWRJY29uVGVtcGxhdGVcIiBjbGFzcz1cInAtYnV0dG9uLWljb24gcC1idXR0b24taWNvbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwidXBsb2FkSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjaG9vc2VTZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNob29zZUljb25cIiBjbGFzcz1cInAtYnV0dG9uLWljb24gcC1idXR0b24taWNvbi1sZWZ0IHBpXCIgW25nQ2xhc3NdPVwiY2hvb3NlSWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjaG9vc2VJY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8UGx1c0ljb24gW3N0eWxlQ2xhc3NdPVwiJ3AtYnV0dG9uLWljb24gcC1idXR0b24taWNvbi1sZWZ0IHBpJ1wiICpuZ0lmPVwiIWNob29zZUljb25UZW1wbGF0ZVwiIFthdHRyLmFyaWEtaGlkZGVuXT1cInRydWVcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3VwbG9hZGljb24nXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2hvb3NlSWNvblRlbXBsYXRlXCIgY2xhc3M9XCJwLWJ1dHRvbi1pY29uIHAtYnV0dG9uLWljb24tbGVmdCBwaVwiIFthdHRyLmFyaWEtaGlkZGVuXT1cInRydWVcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ3VwbG9hZGljb24nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2hvb3NlSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImJhc2ljQnV0dG9uTGFiZWxcIiBjbGFzcz1cInAtYnV0dG9uLWxhYmVsXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidsYWJlbCdcIj57eyBiYXNpY0J1dHRvbkxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJyb3dzZUZpbGVzTGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAjYmFzaWNmaWxlaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICAgICAgICAgICAgICBbYWNjZXB0XT1cImFjY2VwdFwiXG4gICAgICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25GaWxlU2VsZWN0KCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFoYXNGaWxlcygpXCJcbiAgICAgICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXG4gICAgICAgICAgICAgICAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidpbnB1dCdcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdHlsZVVybHM6IFsnLi9maWxldXBsb2FkLmNzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdjYXgtZWxlbWVudCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkluaXQsIE9uRGVzdHJveSwgQmxvY2thYmxlVUkge1xuICAgIC8qKlxuICAgICAqIE5hbWUgb2YgdGhlIHJlcXVlc3QgcGFyYW1ldGVyIHRvIGlkZW50aWZ5IHRoZSBmaWxlcyBhdCBiYWNrZW5kLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBSZW1vdGUgdXJsIHRvIHVwbG9hZCB0aGUgZmlsZXMuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgdXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSFRUUCBtZXRob2QgdG8gc2VuZCB0aGUgZmlsZXMgdG8gdGhlIHVybCBzdWNoIGFzIFwicG9zdFwiIGFuZCBcInB1dFwiLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG1ldGhvZDogJ3Bvc3QnIHwgJ3B1dCcgfCB1bmRlZmluZWQgPSAncG9zdCc7XG4gICAgLyoqXG4gICAgICogVXNlZCB0byBzZWxlY3QgbXVsdGlwbGUgZmlsZXMgYXQgb25jZSBmcm9tIGZpbGUgZGlhbG9nLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBtdWx0aXBsZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBDb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwYXR0ZXJuIHRvIHJlc3RyaWN0IHRoZSBhbGxvd2VkIGZpbGUgdHlwZXMuIENhbiBiZSBhbnkgY29tYmluYXRpb24gb2YgZWl0aGVyIHRoZSBNSU1FIHR5cGVzIChzdWNoIGFzIFwiaW1hZ2UvKlwiKSBvciB0aGUgZmlsZSBleHRlbnNpb25zIChzdWNoIGFzIFwiLmpwZ1wiKS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBhY2NlcHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBEaXNhYmxlcyB0aGUgdXBsb2FkIGZ1bmN0aW9uYWxpdHkuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFdoZW4gZW5hYmxlZCwgdXBsb2FkIGJlZ2lucyBhdXRvbWF0aWNhbGx5IGFmdGVyIHNlbGVjdGlvbiBpcyBjb21wbGV0ZWQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogQ3Jvc3Mtc2l0ZSBBY2Nlc3MtQ29udHJvbCByZXF1ZXN0cyBzaG91bGQgYmUgbWFkZSB1c2luZyBjcmVkZW50aWFscyBzdWNoIGFzIGNvb2tpZXMsIGF1dGhvcml6YXRpb24gaGVhZGVycyBvciBUTFMgY2xpZW50IGNlcnRpZmljYXRlcy5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgd2l0aENyZWRlbnRpYWxzOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIE1heGltdW0gZmlsZSBzaXplIGFsbG93ZWQgaW4gYnl0ZXMuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgbWF4RmlsZVNpemU6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTdW1tYXJ5IG1lc3NhZ2Ugb2YgdGhlIGludmFsaWQgZmlsZSBzaXplLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGludmFsaWRGaWxlU2l6ZU1lc3NhZ2VTdW1tYXJ5OiBzdHJpbmcgPSAnezB9OiBJbnZhbGlkIGZpbGUgc2l6ZSwgJztcbiAgICAvKipcbiAgICAgKiBEZXRhaWwgbWVzc2FnZSBvZiB0aGUgaW52YWxpZCBmaWxlIHNpemUuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgaW52YWxpZEZpbGVTaXplTWVzc2FnZURldGFpbDogc3RyaW5nID0gJ21heGltdW0gdXBsb2FkIHNpemUgaXMgezB9Lic7XG4gICAgLyoqXG4gICAgICogU3VtbWFyeSBtZXNzYWdlIG9mIHRoZSBpbnZhbGlkIGZpbGUgdHlwZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBpbnZhbGlkRmlsZVR5cGVNZXNzYWdlU3VtbWFyeTogc3RyaW5nID0gJ3swfTogSW52YWxpZCBmaWxlIHR5cGUsICc7XG4gICAgLyoqXG4gICAgICogRGV0YWlsIG1lc3NhZ2Ugb2YgdGhlIGludmFsaWQgZmlsZSB0eXBlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGludmFsaWRGaWxlVHlwZU1lc3NhZ2VEZXRhaWw6IHN0cmluZyA9ICdhbGxvd2VkIGZpbGUgdHlwZXM6IHswfS4nO1xuICAgIC8qKlxuICAgICAqIERldGFpbCBtZXNzYWdlIG9mIHRoZSBpbnZhbGlkIGZpbGUgdHlwZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBpbnZhbGlkRmlsZUxpbWl0TWVzc2FnZURldGFpbDogc3RyaW5nID0gJ2xpbWl0IGlzIHswfSBhdCBtb3N0Lic7XG4gICAgLyoqXG4gICAgICogU3VtbWFyeSBtZXNzYWdlIG9mIHRoZSBpbnZhbGlkIGZpbGUgdHlwZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBpbnZhbGlkRmlsZUxpbWl0TWVzc2FnZVN1bW1hcnk6IHN0cmluZyA9ICdNYXhpbXVtIG51bWJlciBvZiBmaWxlcyBleGNlZWRlZCwgJztcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogQ2xhc3Mgb2YgdGhlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFdpZHRoIG9mIHRoZSBpbWFnZSB0aHVtYm5haWwgaW4gcGl4ZWxzLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIHByZXZpZXdXaWR0aDogbnVtYmVyID0gNTA7XG4gICAgLyoqXG4gICAgICogTGFiZWwgb2YgdGhlIGNob29zZSBidXR0b24uIERlZmF1bHRzIHRvIGNheCBMb2NhbGUgY29uZmlndXJhdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBjaG9vc2VMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIExhYmVsIG9mIHRoZSB1cGxvYWQgYnV0dG9uLiBEZWZhdWx0cyB0byBjYXggTG9jYWxlIGNvbmZpZ3VyYXRpb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgdXBsb2FkTGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBMYWJlbCBvZiB0aGUgY2FuY2VsIGJ1dHRvbi4gRGVmYXVsdHMgdG8gY2F4IExvY2FsZSBjb25maWd1cmF0aW9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGNhbmNlbExhYmVsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSWNvbiBvZiB0aGUgY2hvb3NlIGJ1dHRvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBjaG9vc2VJY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSWNvbiBvZiB0aGUgdXBsb2FkIGJ1dHRvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB1cGxvYWRJY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSWNvbiBvZiB0aGUgY2FuY2VsIGJ1dHRvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBjYW5jZWxJY29uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBzaG93IHRoZSB1cGxvYWQgYnV0dG9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93VXBsb2FkQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgdGhlIGNhbmNlbCBidXR0b24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dDYW5jZWxCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgdGhlIFVJIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgbW9kZTogJ2FkdmFuY2VkJyB8ICdiYXNpYycgfCB1bmRlZmluZWQgPSAnYWR2YW5jZWQnO1xuICAgIC8qKlxuICAgICAqIEh0dHBIZWFkZXJzIGNsYXNzIHJlcHJlc2VudHMgdGhlIGhlYWRlciBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGFuIEhUVFAgcmVxdWVzdC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBoZWFkZXJzOiBIdHRwSGVhZGVycyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHVzZSB0aGUgZGVmYXVsdCB1cGxvYWQgb3IgYSBtYW51YWwgaW1wbGVtZW50YXRpb24gZGVmaW5lZCBpbiB1cGxvYWRIYW5kbGVyIGNhbGxiYWNrLiBEZWZhdWx0cyB0byBjYXggTG9jYWxlIGNvbmZpZ3VyYXRpb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGN1c3RvbVVwbG9hZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBNYXhpbXVtIG51bWJlciBvZiBmaWxlcyB0aGF0IGNhbiBiZSB1cGxvYWRlZC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06ICh2YWx1ZTogdW5rbm93bikgPT4gbnVtYmVyQXR0cmlidXRlKHZhbHVlLCBudWxsKSB9KSBmaWxlTGltaXQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgdXBsb2FkIGJ1dHRvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB1cGxvYWRTdHlsZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogU3R5bGUgY2xhc3Mgb2YgdGhlIGNhbmNlbCBidXR0b24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgY2FuY2VsU3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFN0eWxlIGNsYXNzIG9mIHRoZSByZW1vdmUgYnV0dG9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHJlbW92ZVN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgY2hvb3NlIGJ1dHRvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBjaG9vc2VTdHlsZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIGJlZm9yZSBmaWxlIHVwbG9hZCBpcyBpbml0aWFsaXplZC5cbiAgICAgKiBAcGFyYW0ge0ZpbGVCZWZvcmVVcGxvYWRFdmVudH0gZXZlbnQgLSBDdXN0b20gdXBsb2FkIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkJlZm9yZVVwbG9hZDogRXZlbnRFbWl0dGVyPEZpbGVCZWZvcmVVcGxvYWRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVCZWZvcmVVcGxvYWRFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBBbiBldmVudCBpbmRpY2F0aW5nIHRoYXQgdGhlIHJlcXVlc3Qgd2FzIHNlbnQgdG8gdGhlIHNlcnZlci4gVXNlZnVsIHdoZW4gYSByZXF1ZXN0IG1heSBiZSByZXRyaWVkIG11bHRpcGxlIHRpbWVzLCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHJldHJpZXMgb24gdGhlIGZpbmFsIGV2ZW50IHN0cmVhbS5cbiAgICAgKiBAcGFyYW0ge0ZpbGVTZW5kRXZlbnR9IGV2ZW50IC0gQ3VzdG9tIHNlbmQgZXZlbnQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uU2VuZDogRXZlbnRFbWl0dGVyPEZpbGVTZW5kRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlU2VuZEV2ZW50PigpO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGZpbGUgdXBsb2FkIGlzIGNvbXBsZXRlLlxuICAgICAqIEBwYXJhbSB7RmlsZVVwbG9hZEV2ZW50fSBldmVudCAtIEN1c3RvbSB1cGxvYWQgZXZlbnQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uVXBsb2FkOiBFdmVudEVtaXR0ZXI8RmlsZVVwbG9hZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVVwbG9hZEV2ZW50PigpO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSBpZiBmaWxlIHVwbG9hZCBmYWlscy5cbiAgICAgKiBAcGFyYW0ge0ZpbGVVcGxvYWRFcnJvckV2ZW50fSBldmVudCAtIEN1c3RvbSBlcnJvciBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25FcnJvcjogRXZlbnRFbWl0dGVyPEZpbGVVcGxvYWRFcnJvckV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVVwbG9hZEVycm9yRXZlbnQ+KCk7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gZmlsZXMgaW4gcXVldWUgYXJlIHJlbW92ZWQgd2l0aG91dCB1cGxvYWRpbmcgdXNpbmcgY2xlYXIgYWxsIGJ1dHRvbi5cbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIEJyb3dzZXIgZXZlbnQuXG4gICAgICogQGdyb3VwIEVtaXRzXG4gICAgICovXG4gICAgQE91dHB1dCgpIG9uQ2xlYXI6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHRvIGludm9rZSB3aGVuIGEgZmlsZSBpcyByZW1vdmVkIHdpdGhvdXQgdXBsb2FkaW5nIHVzaW5nIGNsZWFyIGJ1dHRvbiBvZiBhIGZpbGUuXG4gICAgICogQHBhcmFtIHtGaWxlUmVtb3ZlRXZlbnR9IGV2ZW50IC0gUmVtb3ZlIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvblJlbW92ZTogRXZlbnRFbWl0dGVyPEZpbGVSZW1vdmVFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVSZW1vdmVFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBmaWxlcyBhcmUgc2VsZWN0ZWQuXG4gICAgICogQHBhcmFtIHtGaWxlU2VsZWN0RXZlbnR9IGV2ZW50IC0gU2VsZWN0IGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvblNlbGVjdDogRXZlbnRFbWl0dGVyPEZpbGVTZWxlY3RFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVTZWxlY3RFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBmaWxlcyBhcmUgYmVpbmcgdXBsb2FkZWQuXG4gICAgICogQHBhcmFtIHtGaWxlUHJvZ3Jlc3NFdmVudH0gZXZlbnQgLSBQcm9ncmVzcyBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25Qcm9ncmVzczogRXZlbnRFbWl0dGVyPEZpbGVQcm9ncmVzc0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVByb2dyZXNzRXZlbnQ+KCk7XG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdG8gaW52b2tlIGluIGN1c3RvbSB1cGxvYWQgbW9kZSB0byB1cGxvYWQgdGhlIGZpbGVzIG1hbnVhbGx5LlxuICAgICAqIEBwYXJhbSB7RmlsZVVwbG9hZEhhbmRsZXJFdmVudH0gZXZlbnQgLSBVcGxvYWQgaGFuZGxlciBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdXBsb2FkSGFuZGxlcjogRXZlbnRFbWl0dGVyPEZpbGVVcGxvYWRIYW5kbGVyRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlVXBsb2FkSGFuZGxlckV2ZW50PigpO1xuICAgIC8qKlxuICAgICAqIFRoaXMgZXZlbnQgaXMgdHJpZ2dlcmVkIGlmIGFuIGVycm9yIG9jY3VycyB3aGlsZSBsb2FkaW5nIGFuIGltYWdlIGZpbGUuXG4gICAgICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBCcm93c2VyIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkltYWdlRXJyb3I6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICAgIC8qKlxuICAgICAqIFRoaXMgZXZlbnQgaXMgdHJpZ2dlcmVkIGlmIGFuIGVycm9yIG9jY3VycyB3aGlsZSByZW1vdmluZyBhbiB1cGxvYWRlZCBmaWxlLlxuICAgICAqIEBwYXJhbSB7UmVtb3ZlVXBsb2FkZWRGaWxlRXZlbnR9IGV2ZW50IC0gUmVtb3ZlIGV2ZW50LlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvblJlbW92ZVVwbG9hZGVkRmlsZTogRXZlbnRFbWl0dGVyPFJlbW92ZVVwbG9hZGVkRmlsZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVtb3ZlVXBsb2FkZWRGaWxlRXZlbnQ+KCk7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKENheFRlbXBsYXRlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxDYXhUZW1wbGF0ZT4gfCB1bmRlZmluZWQ7XG5cbiAgICBAVmlld0NoaWxkKCdhZHZhbmNlZGZpbGVpbnB1dCcpIGFkdmFuY2VkRmlsZUlucHV0OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkIHwgYW55O1xuXG4gICAgQFZpZXdDaGlsZCgnYmFzaWNmaWxlaW5wdXQnKSBiYXNpY0ZpbGVJbnB1dDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnKSBjb250ZW50OiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICAgQElucHV0KCkgc2V0IGZpbGVzKGZpbGVzKSB7XG4gICAgICAgIHRoaXMuX2ZpbGVzID0gW107XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgbGV0IGZpbGUgPSBmaWxlc1tpXTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudmFsaWRhdGUoZmlsZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0ltYWdlKGZpbGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICg8YW55PmZpbGUpLm9iamVjdFVSTCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwod2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZXNbaV0pKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9maWxlcy5wdXNoKGZpbGVzW2ldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBmaWxlcygpOiBGaWxlW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZXM7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBiYXNpY0J1dHRvbkxhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmF1dG8gfHwgIXRoaXMuaGFzRmlsZXMoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2hvb3NlTGFiZWwgYXMgc3RyaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMudXBsb2FkTGFiZWwgPz8gdGhpcy5maWxlc1swXS5uYW1lO1xuICAgIH1cblxuICAgIHB1YmxpYyBfZmlsZXM6IEZpbGVbXSA9IFtdO1xuXG4gICAgcHVibGljIHByb2dyZXNzOiBudW1iZXIgPSAwO1xuXG4gICAgcHVibGljIGRyYWdIaWdobGlnaHQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgICBwdWJsaWMgbXNnczogTWVzc2FnZVtdIHwgdW5kZWZpbmVkO1xuXG4gICAgcHVibGljIGZpbGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIHB1YmxpYyBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIHB1YmxpYyBjb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBwdWJsaWMgdG9vbGJhclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgY2hvb3NlSWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgdXBsb2FkSWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgY2FuY2VsSWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgZW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIHB1YmxpYyB1cGxvYWRlZEZpbGVDb3VudDogbnVtYmVyID0gMDtcblxuICAgIGZvY3VzOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gICAgdXBsb2FkaW5nOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gICAgZHVwbGljYXRlSUVFdmVudDogYm9vbGVhbiB8IHVuZGVmaW5lZDsgLy8gZmxhZyB0byByZWNvZ25pemUgZHVwbGljYXRlIG9uY2hhbmdlIGV2ZW50IGZvciBmaWxlIGlucHV0XG5cbiAgICB0cmFuc2xhdGlvblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICAgZHJhZ092ZXJMaXN0ZW5lcjogVm9pZExpc3RlbmVyO1xuXG4gICAgcHVibGljIHVwbG9hZGVkRmlsZXMgPSBbXTtcblxuICAgIHByaXZhdGUgZmlsZVVwbG9hZFN1YmNyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogYW55LFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICAgICAgcHVibGljIHpvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBwdWJsaWMgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwdWJsaWMgY29uZmlnOiBjYXhDb25maWdcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzPy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnaGVhZGVyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnZmlsZSc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdjb250ZW50JzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3Rvb2xiYXInOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRvb2xiYXJUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnY2hvb3NlaWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hvb3NlSWNvblRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICd1cGxvYWRpY29uJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGxvYWRJY29uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2NhbmNlbGljb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhbmNlbEljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnZW1wdHknOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVtcHR5VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uID0gdGhpcy5jb25maWcudHJhbnNsYXRpb25PYnNlcnZlci5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMubW9kZSA9PT0gJ2FkdmFuY2VkJykge1xuICAgICAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZHJhZ092ZXJMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50LCAnZHJhZ292ZXInLCB0aGlzLm9uRHJhZ092ZXIuYmluZCh0aGlzKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFRyYW5zbGF0aW9uKG9wdGlvbjogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5nZXRUcmFuc2xhdGlvbihvcHRpb24pO1xuICAgIH1cblxuICAgIGNob29zZSgpIHtcbiAgICAgICAgdGhpcy5hZHZhbmNlZEZpbGVJbnB1dD8ubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgIH1cblxuICAgIG9uRmlsZVNlbGVjdChldmVudDogYW55KSB7XG4gICAgICAgIGlmIChldmVudC50eXBlICE9PSAnZHJvcCcgJiYgdGhpcy5pc0lFMTEoKSAmJiB0aGlzLmR1cGxpY2F0ZUlFRXZlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZHVwbGljYXRlSUVFdmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5tc2dzID0gW107XG4gICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgdGhpcy5maWxlcyA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyID8gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzIDogZXZlbnQudGFyZ2V0LmZpbGVzO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBsZXQgZmlsZSA9IGZpbGVzW2ldO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNGaWxlU2VsZWN0ZWQoZmlsZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy52YWxpZGF0ZShmaWxlKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0ltYWdlKGZpbGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLm9iamVjdFVSTCA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwod2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZXNbaV0pKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZXMucHVzaChmaWxlc1tpXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vblNlbGVjdC5lbWl0KHsgb3JpZ2luYWxFdmVudDogZXZlbnQsIGZpbGVzOiBmaWxlcywgY3VycmVudEZpbGVzOiB0aGlzLmZpbGVzIH0pO1xuXG4gICAgICAgIC8vIHRoaXMgd2lsbCBjaGVjayB0aGUgZmlsZUxpbWl0IHdpdGggdGhlIHVwbG9hZGVkIGZpbGVzXG4gICAgICAgIHRoaXMuY2hlY2tGaWxlTGltaXQoZmlsZXMpO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc0ZpbGVzKCkgJiYgdGhpcy5hdXRvICYmICh0aGlzLm1vZGUgIT09ICdhZHZhbmNlZCcgfHwgIXRoaXMuaXNGaWxlTGltaXRFeGNlZWRlZCgpKSkge1xuICAgICAgICAgICAgdGhpcy51cGxvYWQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudC50eXBlICE9PSAnZHJvcCcgJiYgdGhpcy5pc0lFMTEoKSkge1xuICAgICAgICAgICAgdGhpcy5jbGVhcklFSW5wdXQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJJbnB1dEVsZW1lbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlzRmlsZVNlbGVjdGVkKGZpbGU6IEZpbGUpOiBib29sZWFuIHtcbiAgICAgICAgZm9yIChsZXQgc0ZpbGUgb2YgdGhpcy5maWxlcykge1xuICAgICAgICAgICAgaWYgKHNGaWxlLm5hbWUgKyBzRmlsZS50eXBlICsgc0ZpbGUuc2l6ZSA9PT0gZmlsZS5uYW1lICsgZmlsZS50eXBlICsgZmlsZS5zaXplKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaXNJRTExKCkge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuICEhKHRoaXMuZG9jdW1lbnQuZGVmYXVsdFZpZXcgYXMgYW55KVsnTVNJbnB1dE1ldGhvZENvbnRleHQnXSAmJiAhISh0aGlzLmRvY3VtZW50IGFzIGFueSlbJ2RvY3VtZW50TW9kZSddO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdmFsaWRhdGUoZmlsZTogRmlsZSk6IGJvb2xlYW4ge1xuICAgICAgICB0aGlzLm1zZ3MgPSB0aGlzLm1zZ3MgfHwgW107XG4gICAgICAgIGlmICh0aGlzLmFjY2VwdCAmJiAhdGhpcy5pc0ZpbGVUeXBlVmFsaWQoZmlsZSkpIHtcbiAgICAgICAgICAgIHRoaXMubXNncy5wdXNoKHtcbiAgICAgICAgICAgICAgICBzZXZlcml0eTogJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLmludmFsaWRGaWxlVHlwZU1lc3NhZ2VTdW1tYXJ5LnJlcGxhY2UoJ3swfScsIGZpbGUubmFtZSksXG4gICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLmludmFsaWRGaWxlVHlwZU1lc3NhZ2VEZXRhaWwucmVwbGFjZSgnezB9JywgdGhpcy5hY2NlcHQpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm1heEZpbGVTaXplICYmIGZpbGUuc2l6ZSA+IHRoaXMubWF4RmlsZVNpemUpIHtcbiAgICAgICAgICAgIHRoaXMubXNncy5wdXNoKHtcbiAgICAgICAgICAgICAgICBzZXZlcml0eTogJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLmludmFsaWRGaWxlU2l6ZU1lc3NhZ2VTdW1tYXJ5LnJlcGxhY2UoJ3swfScsIGZpbGUubmFtZSksXG4gICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLmludmFsaWRGaWxlU2l6ZU1lc3NhZ2VEZXRhaWwucmVwbGFjZSgnezB9JywgdGhpcy5mb3JtYXRTaXplKHRoaXMubWF4RmlsZVNpemUpKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzRmlsZVR5cGVWYWxpZChmaWxlOiBGaWxlKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCBhY2NlcHRhYmxlVHlwZXMgPSB0aGlzLmFjY2VwdD8uc3BsaXQoJywnKS5tYXAoKHR5cGUpID0+IHR5cGUudHJpbSgpKTtcbiAgICAgICAgZm9yIChsZXQgdHlwZSBvZiBhY2NlcHRhYmxlVHlwZXMhKSB7XG4gICAgICAgICAgICBsZXQgYWNjZXB0YWJsZSA9IHRoaXMuaXNXaWxkY2FyZCh0eXBlKSA/IHRoaXMuZ2V0VHlwZUNsYXNzKGZpbGUudHlwZSkgPT09IHRoaXMuZ2V0VHlwZUNsYXNzKHR5cGUpIDogZmlsZS50eXBlID09IHR5cGUgfHwgdGhpcy5nZXRGaWxlRXh0ZW5zaW9uKGZpbGUpLnRvTG93ZXJDYXNlKCkgPT09IHR5cGUudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAgICAgaWYgKGFjY2VwdGFibGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBnZXRUeXBlQ2xhc3MoZmlsZVR5cGU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBmaWxlVHlwZS5zdWJzdHJpbmcoMCwgZmlsZVR5cGUuaW5kZXhPZignLycpKTtcbiAgICB9XG5cbiAgICBpc1dpbGRjYXJkKGZpbGVUeXBlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZpbGVUeXBlLmluZGV4T2YoJyonKSAhPT0gLTE7XG4gICAgfVxuXG4gICAgZ2V0RmlsZUV4dGVuc2lvbihmaWxlOiBGaWxlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICcuJyArIGZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpO1xuICAgIH1cblxuICAgIGlzSW1hZ2UoZmlsZTogRmlsZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gL15pbWFnZVxcLy8udGVzdChmaWxlLnR5cGUpO1xuICAgIH1cblxuICAgIG9uSW1hZ2VMb2FkKGltZzogYW55KSB7XG4gICAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKGltZy5zcmMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBVcGxvYWRzIHRoZSBzZWxlY3RlZCBmaWxlcy5cbiAgICAgKiBAZ3JvdXAgTWV0aG9kXG4gICAgICovXG4gICAgdXBsb2FkKCkge1xuICAgICAgICBpZiAodGhpcy5jdXN0b21VcGxvYWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmZpbGVMaW1pdCkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkZWRGaWxlQ291bnQgKz0gdGhpcy5maWxlcy5sZW5ndGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudXBsb2FkSGFuZGxlci5lbWl0KHtcbiAgICAgICAgICAgICAgICBmaWxlczogdGhpcy5maWxlc1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLm1zZ3MgPSBbXTtcbiAgICAgICAgICAgIGxldCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuXG4gICAgICAgICAgICB0aGlzLm9uQmVmb3JlVXBsb2FkLmVtaXQoe1xuICAgICAgICAgICAgICAgIGZvcm1EYXRhOiBmb3JtRGF0YVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5maWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCh0aGlzLm5hbWUhLCB0aGlzLmZpbGVzW2ldLCB0aGlzLmZpbGVzW2ldLm5hbWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBJZiB0aGUgcHJldmlvdXMgdXBsb2FkIGhhc24ndCBiZWVuIGZpbmlzaGVkLCBpdCBpcyBhYm9ydGVkLlxuICAgICAgICAgICAgdGhpcy5jYW5jZWxVcGxvYWRSZXF1ZXN0KCk7XG5cbiAgICAgICAgICAgIHRoaXMuZmlsZVVwbG9hZFN1YmNyaXB0aW9uID0gdGhpcy5odHRwXG4gICAgICAgICAgICAgICAgLnJlcXVlc3QoPHN0cmluZz50aGlzLm1ldGhvZCwgdGhpcy51cmwgYXMgc3RyaW5nLCB7XG4gICAgICAgICAgICAgICAgICAgIGJvZHk6IGZvcm1EYXRhLFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB0aGlzLmhlYWRlcnMsXG4gICAgICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlOiAnZXZlbnRzJyxcbiAgICAgICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLndpdGhDcmVkZW50aWFsc1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAgICAgKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlNlbnQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25TZW5kLmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtRGF0YTogZm9ybURhdGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9ncmVzcyA9IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50WydzdGF0dXMnXSA+PSAyMDAgJiYgZXZlbnRbJ3N0YXR1cyddIDwgMzAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5maWxlTGltaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZGVkRmlsZUNvdW50ICs9IHRoaXMuZmlsZXMubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uVXBsb2FkLmVtaXQoeyBvcmlnaW5hbEV2ZW50OiBldmVudCwgZmlsZXM6IHRoaXMuZmlsZXMgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IuZW1pdCh7IGZpbGVzOiB0aGlzLmZpbGVzIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkZWRGaWxlcy5wdXNoKC4uLnRoaXMuZmlsZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnRbJ2xvYWRlZCddKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnByb2dyZXNzID0gTWF0aC5yb3VuZCgoZXZlbnRbJ2xvYWRlZCddICogMTAwKSAvIGV2ZW50Wyd0b3RhbCddISk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uUHJvZ3Jlc3MuZW1pdCh7IG9yaWdpbmFsRXZlbnQ6IGV2ZW50LCBwcm9ncmVzczogdGhpcy5wcm9ncmVzcyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAoZXJyb3I6IEVycm9yRXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudXBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IuZW1pdCh7IGZpbGVzOiB0aGlzLmZpbGVzLCBlcnJvcjogZXJyb3IgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENsZWFycyB0aGUgZmlsZXMgbGlzdC5cbiAgICAgKiBAZ3JvdXAgTWV0aG9kXG4gICAgICovXG4gICAgY2xlYXIoKSB7XG4gICAgICAgIHRoaXMuZmlsZXMgPSBbXTtcbiAgICAgICAgdGhpcy51cGxvYWRlZEZpbGVDb3VudCA9IDA7XG4gICAgICAgIHRoaXMuY2FuY2VsVXBsb2FkUmVxdWVzdCgpO1xuICAgICAgICB0aGlzLm9uQ2xlYXIuZW1pdCgpO1xuICAgICAgICB0aGlzLmNsZWFySW5wdXRFbGVtZW50KCk7XG4gICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYSBzaW5nbGUgZmlsZS5cbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIEJyb3dzZXIgZXZlbnQuXG4gICAgICogQHBhcmFtIHtOdW1iZXJ9IGluZGV4IC0gSW5kZXggb2YgdGhlIGZpbGUuXG4gICAgICogQGdyb3VwIE1ldGhvZFxuICAgICAqL1xuICAgIHJlbW92ZShldmVudDogRXZlbnQsIGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5jYW5jZWxVcGxvYWRSZXF1ZXN0KCk7XG4gICAgICAgIHRoaXMuY2xlYXJJbnB1dEVsZW1lbnQoKTtcbiAgICAgICAgdGhpcy5vblJlbW92ZS5lbWl0KHsgb3JpZ2luYWxFdmVudDogZXZlbnQsIGZpbGU6IHRoaXMuZmlsZXNbaW5kZXhdIH0pO1xuICAgICAgICB0aGlzLmZpbGVzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIHRoaXMuY2hlY2tGaWxlTGltaXQodGhpcy5maWxlcyk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgdXBsb2FkZWQgZmlsZS5cbiAgICAgKiBAcGFyYW0ge051bWJlcn0gaW5kZXggLSBJbmRleCBvZiB0aGUgZmlsZSB0byBiZSByZW1vdmVkLlxuICAgICAqIEBncm91cCBNZXRob2RcbiAgICAgKi9cbiAgICByZW1vdmVVcGxvYWRlZEZpbGUoaW5kZXgpIHtcbiAgICAgICAgbGV0IHJlbW92ZWRGaWxlID0gdGhpcy51cGxvYWRlZEZpbGVzLnNwbGljZShpbmRleCwgMSlbMF07XG4gICAgICAgIHRoaXMudXBsb2FkZWRGaWxlcyA9IFsuLi50aGlzLnVwbG9hZGVkRmlsZXNdO1xuICAgICAgICB0aGlzLm9uUmVtb3ZlVXBsb2FkZWRGaWxlLmVtaXQoeyBmaWxlOiByZW1vdmVkRmlsZSwgZmlsZXM6IHRoaXMudXBsb2FkZWRGaWxlcyB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYW5jZWwgdXBsb2FkIGZpbGUgcmVxdWVzdC5cbiAgICAgKiAqL1xuICAgIGNhbmNlbFVwbG9hZFJlcXVlc3QoKSB7XG4gICAgICAgIGlmICh0aGlzLmZpbGVVcGxvYWRTdWJjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5maWxlVXBsb2FkU3ViY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuZmlsZVVwbG9hZFN1YmNyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNGaWxlTGltaXRFeGNlZWRlZCgpIHtcbiAgICAgICAgY29uc3QgaXNBdXRvTW9kZSA9IHRoaXMuYXV0bztcbiAgICAgICAgY29uc3QgdG90YWxGaWxlQ291bnQgPSBpc0F1dG9Nb2RlID8gdGhpcy5maWxlcy5sZW5ndGggOiB0aGlzLmZpbGVzLmxlbmd0aCArIHRoaXMudXBsb2FkZWRGaWxlQ291bnQ7XG5cbiAgICAgICAgaWYgKHRoaXMuZmlsZUxpbWl0ICYmIHRoaXMuZmlsZUxpbWl0IDw9IHRvdGFsRmlsZUNvdW50ICYmIHRoaXMuZm9jdXMpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXMgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmZpbGVMaW1pdCAmJiB0aGlzLmZpbGVMaW1pdCA8IHRvdGFsRmlsZUNvdW50O1xuICAgIH1cblxuICAgIGlzQ2hvb3NlRGlzYWJsZWQoKSB7XG4gICAgICAgIGlmICh0aGlzLmF1dG8pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbGVMaW1pdCAmJiB0aGlzLmZpbGVMaW1pdCA8PSB0aGlzLmZpbGVzLmxlbmd0aDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbGVMaW1pdCAmJiB0aGlzLmZpbGVMaW1pdCA8PSB0aGlzLmZpbGVzLmxlbmd0aCArIHRoaXMudXBsb2FkZWRGaWxlQ291bnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja0ZpbGVMaW1pdChmaWxlczogRmlsZVtdKSB7XG4gICAgICAgIHRoaXMubXNncyA/Pz0gW107XG4gICAgICAgIGNvbnN0IGhhc0V4aXN0aW5nVmFsaWRhdGlvbk1lc3NhZ2VzID0gdGhpcy5tc2dzLmxlbmd0aCA+IDAgJiYgdGhpcy5maWxlTGltaXQgPCBmaWxlcy5sZW5ndGg7XG4gICAgICAgIGlmICh0aGlzLmlzRmlsZUxpbWl0RXhjZWVkZWQoKSB8fCBoYXNFeGlzdGluZ1ZhbGlkYXRpb25NZXNzYWdlcykge1xuICAgICAgICAgICAgdGhpcy5tc2dzLnB1c2goe1xuICAgICAgICAgICAgICAgIHNldmVyaXR5OiAnZXJyb3InLFxuICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMuaW52YWxpZEZpbGVMaW1pdE1lc3NhZ2VTdW1tYXJ5LnJlcGxhY2UoJ3swfScsICh0aGlzLmZpbGVMaW1pdCBhcyBudW1iZXIpLnRvU3RyaW5nKCkpLFxuICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy5pbnZhbGlkRmlsZUxpbWl0TWVzc2FnZURldGFpbC5yZXBsYWNlKCd7MH0nLCAodGhpcy5maWxlTGltaXQgYXMgbnVtYmVyKS50b1N0cmluZygpKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhcklucHV0RWxlbWVudCgpIHtcbiAgICAgICAgaWYgKHRoaXMuYWR2YW5jZWRGaWxlSW5wdXQgJiYgdGhpcy5hZHZhbmNlZEZpbGVJbnB1dC5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmFkdmFuY2VkRmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmJhc2ljRmlsZUlucHV0ICYmIHRoaXMuYmFzaWNGaWxlSW5wdXQubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5iYXNpY0ZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhcklFSW5wdXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmFkdmFuY2VkRmlsZUlucHV0ICYmIHRoaXMuYWR2YW5jZWRGaWxlSW5wdXQubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5kdXBsaWNhdGVJRUV2ZW50ID0gdHJ1ZTsgLy9JRTExIGZpeCB0byBwcmV2ZW50IG9uRmlsZUNoYW5nZSB0cmlnZ2VyIGFnYWluXG4gICAgICAgICAgICB0aGlzLmFkdmFuY2VkRmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhc0ZpbGVzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5maWxlcyAmJiB0aGlzLmZpbGVzLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgaGFzVXBsb2FkZWRGaWxlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXBsb2FkZWRGaWxlcyAmJiB0aGlzLnVwbG9hZGVkRmlsZXMubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBvbkRyYWdFbnRlcihlOiBEcmFnRXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EcmFnT3ZlcihlOiBEcmFnRXZlbnQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBEb21IYW5kbGVyLmFkZENsYXNzKHRoaXMuY29udGVudD8ubmF0aXZlRWxlbWVudCwgJ3AtZmlsZXVwbG9hZC1oaWdobGlnaHQnKTtcbiAgICAgICAgICAgIHRoaXMuZHJhZ0hpZ2hsaWdodCA9IHRydWU7XG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIERvbUhhbmRsZXIucmVtb3ZlQ2xhc3ModGhpcy5jb250ZW50Py5uYXRpdmVFbGVtZW50LCAncC1maWxldXBsb2FkLWhpZ2hsaWdodCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Ecm9wKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBEb21IYW5kbGVyLnJlbW92ZUNsYXNzKHRoaXMuY29udGVudD8ubmF0aXZlRWxlbWVudCwgJ3AtZmlsZXVwbG9hZC1oaWdobGlnaHQnKTtcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgbGV0IGZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyID8gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzIDogZXZlbnQudGFyZ2V0LmZpbGVzO1xuICAgICAgICAgICAgbGV0IGFsbG93RHJvcCA9IHRoaXMubXVsdGlwbGUgfHwgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCA9PT0gMSk7XG5cbiAgICAgICAgICAgIGlmIChhbGxvd0Ryb3ApIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uRmlsZVNlbGVjdChldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkZvY3VzKCkge1xuICAgICAgICB0aGlzLmZvY3VzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbkJsdXIoKSB7XG4gICAgICAgIHRoaXMuZm9jdXMgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBmb3JtYXRTaXplKGJ5dGVzOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgayA9IDEwMjQ7XG4gICAgICAgIGNvbnN0IGRtID0gMztcbiAgICAgICAgY29uc3Qgc2l6ZXMgPSB0aGlzLmdldFRyYW5zbGF0aW9uKFRyYW5zbGF0aW9uS2V5cy5GSUxFX1NJWkVfVFlQRVMpO1xuXG4gICAgICAgIGlmIChieXRlcyA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGAwICR7c2l6ZXNbMF19YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGkgPSBNYXRoLmZsb29yKE1hdGgubG9nKGJ5dGVzKSAvIE1hdGgubG9nKGspKTtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkU2l6ZSA9IChieXRlcyAvIE1hdGgucG93KGssIGkpKS50b0ZpeGVkKGRtKTtcblxuICAgICAgICByZXR1cm4gYCR7Zm9ybWF0dGVkU2l6ZX0gJHtzaXplc1tpXX1gO1xuICAgIH1cblxuICAgIG9uQmFzaWNVcGxvYWRlckNsaWNrKCkge1xuICAgICAgICBpZiAodGhpcy5oYXNGaWxlcygpKSB0aGlzLnVwbG9hZCgpO1xuICAgICAgICBlbHNlIHRoaXMuYmFzaWNGaWxlSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG5cbiAgICBvbkJhc2ljS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBzd2l0Y2ggKGV2ZW50LmNvZGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ1NwYWNlJzpcbiAgICAgICAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uQmFzaWNVcGxvYWRlckNsaWNrKCk7XG5cbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1hZ2VFcnJvcihldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5vbkltYWdlRXJyb3IuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgZ2V0QmxvY2thYmxlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF07XG4gICAgfVxuXG4gICAgZ2V0IGNob29zZUJ1dHRvbkxhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNob29zZUxhYmVsIHx8IHRoaXMuY29uZmlnLmdldFRyYW5zbGF0aW9uKFRyYW5zbGF0aW9uS2V5cy5DSE9PU0UpO1xuICAgIH1cblxuICAgIGdldCB1cGxvYWRCdXR0b25MYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy51cGxvYWRMYWJlbCB8fCB0aGlzLmNvbmZpZy5nZXRUcmFuc2xhdGlvbihUcmFuc2xhdGlvbktleXMuVVBMT0FEKTtcbiAgICB9XG5cbiAgICBnZXQgY2FuY2VsQnV0dG9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FuY2VsTGFiZWwgfHwgdGhpcy5jb25maWcuZ2V0VHJhbnNsYXRpb24oVHJhbnNsYXRpb25LZXlzLkNBTkNFTCk7XG4gICAgfVxuXG4gICAgZ2V0IGJyb3dzZUZpbGVzTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmdldFRyYW5zbGF0aW9uKFRyYW5zbGF0aW9uS2V5cy5BUklBKVtUcmFuc2xhdGlvbktleXMuQlJPV1NFX0ZJTEVTXTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudCAmJiB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZHJhZ092ZXJMaXN0ZW5lcikge1xuICAgICAgICAgICAgICAgIHRoaXMuZHJhZ092ZXJMaXN0ZW5lcigpO1xuICAgICAgICAgICAgICAgIHRoaXMuZHJhZ092ZXJMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50cmFuc2xhdGlvblN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGlvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNoYXJlZE1vZHVsZSwgQnV0dG9uTW9kdWxlLCBQcm9ncmVzc0Jhck1vZHVsZSwgTWVzc2FnZXNNb2R1bGUsIFJpcHBsZU1vZHVsZSwgUGx1c0ljb24sIFVwbG9hZEljb24sIFRpbWVzSWNvbl0sXG4gICAgZXhwb3J0czogW0ZpbGVVcGxvYWQsIFNoYXJlZE1vZHVsZSwgQnV0dG9uTW9kdWxlLCBQcm9ncmVzc0Jhck1vZHVsZSwgTWVzc2FnZXNNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW0ZpbGVVcGxvYWRdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRNb2R1bGUge31cbiJdfQ==