primeng 19.1.3 → 20.0.0-rc.1

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 (1097) hide show
  1. package/accordion/index.d.ts +255 -3
  2. package/animateonscroll/index.d.ts +69 -3
  3. package/api/index.d.ts +1818 -3
  4. package/autocomplete/index.d.ts +922 -3
  5. package/autofocus/index.d.ts +29 -3
  6. package/avatar/index.d.ts +113 -3
  7. package/avatargroup/index.d.ts +58 -3
  8. package/badge/index.d.ts +154 -3
  9. package/base/index.d.ts +63 -5
  10. package/basecomponent/index.d.ts +54 -5
  11. package/baseeditableholder/index.d.ts +36 -0
  12. package/baseinput/index.d.ts +73 -0
  13. package/blockui/index.d.ts +112 -3
  14. package/breadcrumb/index.d.ts +177 -3
  15. package/button/index.d.ts +479 -3
  16. package/buttongroup/index.d.ts +41 -3
  17. package/card/index.d.ts +152 -3
  18. package/carousel/index.d.ts +441 -3
  19. package/cascadeselect/index.d.ts +725 -3
  20. package/chart/index.d.ts +125 -3
  21. package/checkbox/index.d.ts +244 -3
  22. package/chip/index.d.ts +163 -3
  23. package/colorpicker/index.d.ts +326 -3
  24. package/config/index.d.ts +89 -5
  25. package/confirmdialog/index.d.ts +356 -3
  26. package/confirmpopup/index.d.ts +216 -3
  27. package/contextmenu/index.d.ts +354 -3
  28. package/dataview/index.d.ts +537 -3
  29. package/datepicker/index.d.ts +1188 -3
  30. package/dialog/index.d.ts +528 -3
  31. package/divider/index.d.ts +112 -3
  32. package/dock/index.d.ts +199 -3
  33. package/dom/index.d.ts +107 -3
  34. package/dragdrop/index.d.ts +119 -3
  35. package/drawer/index.d.ts +307 -3
  36. package/dynamicdialog/index.d.ts +542 -3
  37. package/editor/index.d.ts +224 -3
  38. package/fesm2022/primeng-accordion.mjs +85 -748
  39. package/fesm2022/primeng-accordion.mjs.map +1 -1
  40. package/fesm2022/primeng-animateonscroll.mjs +10 -10
  41. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  42. package/fesm2022/primeng-api.mjs +31 -31
  43. package/fesm2022/primeng-api.mjs.map +1 -1
  44. package/fesm2022/primeng-autocomplete.mjs +562 -915
  45. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  46. package/fesm2022/primeng-autofocus.mjs +9 -18
  47. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  48. package/fesm2022/primeng-avatar.mjs +25 -123
  49. package/fesm2022/primeng-avatar.mjs.map +1 -1
  50. package/fesm2022/primeng-avatargroup.mjs +10 -10
  51. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  52. package/fesm2022/primeng-badge.mjs +45 -154
  53. package/fesm2022/primeng-badge.mjs.map +1 -1
  54. package/fesm2022/primeng-base.mjs +9 -9
  55. package/fesm2022/primeng-base.mjs.map +1 -1
  56. package/fesm2022/primeng-basecomponent.mjs +20 -27
  57. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  58. package/fesm2022/primeng-baseeditableholder.mjs +49 -0
  59. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -0
  60. package/fesm2022/primeng-baseinput.mjs +85 -0
  61. package/fesm2022/primeng-baseinput.mjs.map +1 -0
  62. package/fesm2022/primeng-blockui.mjs +47 -73
  63. package/fesm2022/primeng-blockui.mjs.map +1 -1
  64. package/fesm2022/primeng-breadcrumb.mjs +137 -213
  65. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  66. package/fesm2022/primeng-button.mjs +71 -748
  67. package/fesm2022/primeng-button.mjs.map +1 -1
  68. package/fesm2022/primeng-buttongroup.mjs +39 -96
  69. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  70. package/fesm2022/primeng-card.mjs +63 -84
  71. package/fesm2022/primeng-card.mjs.map +1 -1
  72. package/fesm2022/primeng-carousel.mjs +162 -339
  73. package/fesm2022/primeng-carousel.mjs.map +1 -1
  74. package/fesm2022/primeng-cascadeselect.mjs +144 -451
  75. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  76. package/fesm2022/primeng-chart.mjs +59 -58
  77. package/fesm2022/primeng-chart.mjs.map +1 -1
  78. package/fesm2022/primeng-checkbox.mjs +106 -276
  79. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  80. package/fesm2022/primeng-chip.mjs +27 -94
  81. package/fesm2022/primeng-chip.mjs.map +1 -1
  82. package/fesm2022/primeng-colorpicker.mjs +128 -315
  83. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  84. package/fesm2022/primeng-config.mjs +14 -7
  85. package/fesm2022/primeng-config.mjs.map +1 -1
  86. package/fesm2022/primeng-confirmdialog.mjs +22 -42
  87. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  88. package/fesm2022/primeng-confirmpopup.mjs +51 -160
  89. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  90. package/fesm2022/primeng-contextmenu.mjs +84 -267
  91. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  92. package/fesm2022/primeng-dataview.mjs +211 -253
  93. package/fesm2022/primeng-dataview.mjs.map +1 -1
  94. package/fesm2022/primeng-datepicker.mjs +861 -1445
  95. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  96. package/fesm2022/primeng-dialog.mjs +84 -337
  97. package/fesm2022/primeng-dialog.mjs.map +1 -1
  98. package/fesm2022/primeng-divider.mjs +34 -139
  99. package/fesm2022/primeng-divider.mjs.map +1 -1
  100. package/fesm2022/primeng-dock.mjs +195 -315
  101. package/fesm2022/primeng-dock.mjs.map +1 -1
  102. package/fesm2022/primeng-dom.mjs +11 -1
  103. package/fesm2022/primeng-dom.mjs.map +1 -1
  104. package/fesm2022/primeng-dragdrop.mjs +10 -10
  105. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  106. package/fesm2022/primeng-drawer.mjs +102 -258
  107. package/fesm2022/primeng-drawer.mjs.map +1 -1
  108. package/fesm2022/primeng-dynamicdialog.mjs +16 -16
  109. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  110. package/fesm2022/primeng-editor.mjs +113 -1075
  111. package/fesm2022/primeng-editor.mjs.map +1 -1
  112. package/fesm2022/primeng-fieldset.mjs +48 -138
  113. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  114. package/fesm2022/primeng-fileupload.mjs +310 -286
  115. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  116. package/fesm2022/primeng-floatlabel.mjs +23 -109
  117. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  118. package/fesm2022/primeng-fluid.mjs +13 -17
  119. package/fesm2022/primeng-fluid.mjs.map +1 -1
  120. package/fesm2022/primeng-focustrap.mjs +7 -7
  121. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  122. package/fesm2022/primeng-galleria.mjs +119 -674
  123. package/fesm2022/primeng-galleria.mjs.map +1 -1
  124. package/fesm2022/primeng-iconfield.mjs +22 -66
  125. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  126. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  127. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  128. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  129. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  130. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  131. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  132. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  133. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  134. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  135. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  136. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  137. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  138. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  139. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  140. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  141. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  142. package/fesm2022/primeng-icons-arrowdown.mjs +3 -3
  143. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  144. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  145. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  146. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  147. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  148. package/fesm2022/primeng-icons-arrowleft.mjs +3 -3
  149. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  150. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  151. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  152. package/fesm2022/primeng-icons-arrowup.mjs +3 -3
  153. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  154. package/fesm2022/primeng-icons-ban.mjs +3 -3
  155. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  156. package/fesm2022/primeng-icons-bars.mjs +3 -3
  157. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  158. package/fesm2022/primeng-icons-baseicon.mjs +6 -6
  159. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  160. package/fesm2022/primeng-icons-blank.mjs +3 -3
  161. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  162. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  163. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  164. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  165. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  166. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  167. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  168. package/fesm2022/primeng-icons-check.mjs +3 -3
  169. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  170. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  171. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  172. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  173. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  174. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  175. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  176. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  177. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  178. package/fesm2022/primeng-icons-exclamationtriangle.mjs +3 -3
  179. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  180. package/fesm2022/primeng-icons-eye.mjs +3 -3
  181. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  182. package/fesm2022/primeng-icons-eyeslash.mjs +3 -3
  183. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  184. package/fesm2022/primeng-icons-filter.mjs +3 -3
  185. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  186. package/fesm2022/primeng-icons-filterfill.mjs +37 -0
  187. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -0
  188. package/fesm2022/primeng-icons-filterslash.mjs +3 -3
  189. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  190. package/fesm2022/primeng-icons-home.mjs +3 -3
  191. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  192. package/fesm2022/primeng-icons-infocircle.mjs +3 -3
  193. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  194. package/fesm2022/primeng-icons-minus.mjs +3 -3
  195. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  196. package/fesm2022/primeng-icons-pencil.mjs +3 -3
  197. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  198. package/fesm2022/primeng-icons-plus.mjs +3 -3
  199. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  200. package/fesm2022/primeng-icons-refresh.mjs +3 -3
  201. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  202. package/fesm2022/primeng-icons-search.mjs +3 -3
  203. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  204. package/fesm2022/primeng-icons-searchminus.mjs +3 -3
  205. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  206. package/fesm2022/primeng-icons-searchplus.mjs +3 -3
  207. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  208. package/fesm2022/primeng-icons-sortalt.mjs +3 -3
  209. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  210. package/fesm2022/primeng-icons-sortamountdown.mjs +3 -3
  211. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  212. package/fesm2022/primeng-icons-sortamountupalt.mjs +3 -3
  213. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  214. package/fesm2022/primeng-icons-spinner.mjs +3 -3
  215. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  216. package/fesm2022/primeng-icons-star.mjs +3 -3
  217. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  218. package/fesm2022/primeng-icons-starfill.mjs +3 -3
  219. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  220. package/fesm2022/primeng-icons-thlarge.mjs +3 -3
  221. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  222. package/fesm2022/primeng-icons-times.mjs +3 -3
  223. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  224. package/fesm2022/primeng-icons-timescircle.mjs +3 -3
  225. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  226. package/fesm2022/primeng-icons-trash.mjs +3 -3
  227. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  228. package/fesm2022/primeng-icons-undo.mjs +3 -3
  229. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  230. package/fesm2022/primeng-icons-upload.mjs +3 -3
  231. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  232. package/fesm2022/primeng-icons-windowmaximize.mjs +3 -3
  233. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  234. package/fesm2022/primeng-icons-windowminimize.mjs +3 -3
  235. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  236. package/fesm2022/primeng-iftalabel.mjs +19 -78
  237. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  238. package/fesm2022/primeng-image.mjs +153 -284
  239. package/fesm2022/primeng-image.mjs.map +1 -1
  240. package/fesm2022/primeng-imagecompare.mjs +14 -99
  241. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  242. package/fesm2022/primeng-inplace.mjs +56 -86
  243. package/fesm2022/primeng-inplace.mjs.map +1 -1
  244. package/fesm2022/primeng-inputgroup.mjs +48 -130
  245. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  246. package/fesm2022/primeng-inputgroupaddon.mjs +10 -10
  247. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  248. package/fesm2022/primeng-inputicon.mjs +13 -19
  249. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  250. package/fesm2022/primeng-inputmask.mjs +93 -142
  251. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  252. package/fesm2022/primeng-inputnumber.mjs +152 -438
  253. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  254. package/fesm2022/primeng-inputotp.mjs +58 -87
  255. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  256. package/fesm2022/primeng-inputtext.mjs +52 -136
  257. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  258. package/fesm2022/primeng-keyfilter.mjs +7 -7
  259. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  260. package/fesm2022/primeng-knob.mjs +93 -152
  261. package/fesm2022/primeng-knob.mjs.map +1 -1
  262. package/fesm2022/primeng-listbox.mjs +518 -625
  263. package/fesm2022/primeng-listbox.mjs.map +1 -1
  264. package/fesm2022/primeng-megamenu.mjs +174 -587
  265. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  266. package/fesm2022/primeng-menu.mjs +171 -296
  267. package/fesm2022/primeng-menu.mjs.map +1 -1
  268. package/fesm2022/primeng-menubar.mjs +386 -694
  269. package/fesm2022/primeng-menubar.mjs.map +1 -1
  270. package/fesm2022/primeng-message.mjs +32 -336
  271. package/fesm2022/primeng-message.mjs.map +1 -1
  272. package/fesm2022/primeng-metergroup.mjs +106 -212
  273. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  274. package/fesm2022/primeng-multiselect.mjs +247 -696
  275. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  276. package/fesm2022/primeng-orderlist.mjs +156 -417
  277. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  278. package/fesm2022/primeng-organizationchart.mjs +66 -198
  279. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  280. package/fesm2022/primeng-overlay.mjs +25 -30
  281. package/fesm2022/primeng-overlay.mjs.map +1 -1
  282. package/fesm2022/primeng-overlaybadge.mjs +11 -11
  283. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  284. package/fesm2022/primeng-paginator.mjs +199 -338
  285. package/fesm2022/primeng-paginator.mjs.map +1 -1
  286. package/fesm2022/primeng-panel.mjs +182 -262
  287. package/fesm2022/primeng-panel.mjs.map +1 -1
  288. package/fesm2022/primeng-panelmenu.mjs +291 -450
  289. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  290. package/fesm2022/primeng-password.mjs +260 -389
  291. package/fesm2022/primeng-password.mjs.map +1 -1
  292. package/fesm2022/primeng-picklist.mjs +44 -272
  293. package/fesm2022/primeng-picklist.mjs.map +1 -1
  294. package/fesm2022/primeng-popover.mjs +15 -17
  295. package/fesm2022/primeng-popover.mjs.map +1 -1
  296. package/fesm2022/primeng-progressbar.mjs +36 -186
  297. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  298. package/fesm2022/primeng-progressspinner.mjs +30 -104
  299. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  300. package/fesm2022/primeng-radiobutton.mjs +101 -307
  301. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  302. package/fesm2022/primeng-rating.mjs +115 -196
  303. package/fesm2022/primeng-rating.mjs.map +1 -1
  304. package/fesm2022/primeng-ripple.mjs +27 -36
  305. package/fesm2022/primeng-ripple.mjs.map +1 -1
  306. package/fesm2022/primeng-scroller.mjs +41 -51
  307. package/fesm2022/primeng-scroller.mjs.map +1 -1
  308. package/fesm2022/primeng-scrollpanel.mjs +97 -165
  309. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  310. package/fesm2022/primeng-scrolltop.mjs +27 -68
  311. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  312. package/fesm2022/primeng-select.mjs +152 -587
  313. package/fesm2022/primeng-select.mjs.map +1 -1
  314. package/fesm2022/primeng-selectbutton.mjs +52 -87
  315. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  316. package/fesm2022/primeng-skeleton.mjs +27 -83
  317. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  318. package/fesm2022/primeng-slider.mjs +229 -353
  319. package/fesm2022/primeng-slider.mjs.map +1 -1
  320. package/fesm2022/primeng-speeddial.mjs +43 -142
  321. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  322. package/fesm2022/primeng-splitbutton.mjs +172 -241
  323. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  324. package/fesm2022/primeng-splitter.mjs +92 -243
  325. package/fesm2022/primeng-splitter.mjs.map +1 -1
  326. package/fesm2022/primeng-stepper.mjs +259 -261
  327. package/fesm2022/primeng-stepper.mjs.map +1 -1
  328. package/fesm2022/primeng-steps.mjs +40 -162
  329. package/fesm2022/primeng-steps.mjs.map +1 -1
  330. package/fesm2022/primeng-styleclass.mjs +15 -43
  331. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  332. package/fesm2022/primeng-table.mjs +804 -1266
  333. package/fesm2022/primeng-table.mjs.map +1 -1
  334. package/fesm2022/primeng-tabs.mjs +213 -196
  335. package/fesm2022/primeng-tabs.mjs.map +1 -1
  336. package/fesm2022/primeng-tag.mjs +29 -109
  337. package/fesm2022/primeng-tag.mjs.map +1 -1
  338. package/fesm2022/primeng-terminal.mjs +53 -89
  339. package/fesm2022/primeng-terminal.mjs.map +1 -1
  340. package/fesm2022/primeng-textarea.mjs +53 -150
  341. package/fesm2022/primeng-textarea.mjs.map +1 -1
  342. package/fesm2022/primeng-tieredmenu.mjs +75 -230
  343. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  344. package/fesm2022/primeng-timeline.mjs +28 -202
  345. package/fesm2022/primeng-timeline.mjs.map +1 -1
  346. package/fesm2022/primeng-toast.mjs +88 -350
  347. package/fesm2022/primeng-toast.mjs.map +1 -1
  348. package/fesm2022/primeng-togglebutton.mjs +71 -202
  349. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  350. package/fesm2022/primeng-toggleswitch.mjs +108 -220
  351. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  352. package/fesm2022/primeng-toolbar.mjs +42 -65
  353. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  354. package/fesm2022/primeng-tooltip.mjs +50 -89
  355. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  356. package/fesm2022/primeng-tree.mjs +286 -501
  357. package/fesm2022/primeng-tree.mjs.map +1 -1
  358. package/fesm2022/primeng-treeselect.mjs +351 -562
  359. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  360. package/fesm2022/primeng-treetable.mjs +619 -483
  361. package/fesm2022/primeng-treetable.mjs.map +1 -1
  362. package/fesm2022/primeng-usestyle.mjs +3 -3
  363. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  364. package/fesm2022/primeng-utils.mjs.map +1 -1
  365. package/fieldset/index.d.ts +215 -3
  366. package/fileupload/index.d.ts +784 -3
  367. package/floatlabel/index.d.ts +57 -3
  368. package/fluid/index.d.ts +46 -3
  369. package/focustrap/index.d.ts +34 -3
  370. package/galleria/index.d.ts +708 -3
  371. package/iconfield/index.d.ts +62 -3
  372. package/icons/angledoubledown/index.d.ts +9 -5
  373. package/icons/angledoubleleft/index.d.ts +9 -5
  374. package/icons/angledoubleright/index.d.ts +9 -5
  375. package/icons/angledoubleup/index.d.ts +9 -5
  376. package/icons/angledown/index.d.ts +9 -5
  377. package/icons/angleleft/index.d.ts +9 -5
  378. package/icons/angleright/index.d.ts +9 -5
  379. package/icons/angleup/index.d.ts +9 -5
  380. package/icons/arrowdown/index.d.ts +12 -5
  381. package/icons/arrowdownleft/index.d.ts +9 -5
  382. package/icons/arrowdownright/index.d.ts +9 -5
  383. package/icons/arrowleft/index.d.ts +11 -5
  384. package/icons/arrowright/index.d.ts +9 -5
  385. package/icons/arrowup/index.d.ts +11 -5
  386. package/icons/ban/index.d.ts +11 -5
  387. package/icons/bars/index.d.ts +9 -5
  388. package/icons/baseicon/index.d.ts +38 -3
  389. package/icons/blank/index.d.ts +9 -5
  390. package/icons/calendar/index.d.ts +9 -5
  391. package/icons/caretleft/index.d.ts +9 -5
  392. package/icons/caretright/index.d.ts +9 -5
  393. package/icons/check/index.d.ts +9 -5
  394. package/icons/chevrondown/index.d.ts +9 -5
  395. package/icons/chevronleft/index.d.ts +9 -5
  396. package/icons/chevronright/index.d.ts +9 -5
  397. package/icons/chevronup/index.d.ts +9 -5
  398. package/icons/exclamationtriangle/index.d.ts +12 -5
  399. package/icons/eye/index.d.ts +9 -5
  400. package/icons/eyeslash/index.d.ts +11 -5
  401. package/icons/filter/index.d.ts +11 -5
  402. package/icons/filterfill/index.d.ts +9 -0
  403. package/icons/filterslash/index.d.ts +11 -5
  404. package/icons/home/index.d.ts +11 -5
  405. package/icons/index.d.ts +53 -5
  406. package/icons/infocircle/index.d.ts +11 -5
  407. package/icons/minus/index.d.ts +9 -5
  408. package/icons/pencil/index.d.ts +11 -5
  409. package/icons/plus/index.d.ts +11 -5
  410. package/icons/refresh/index.d.ts +11 -5
  411. package/icons/search/index.d.ts +11 -5
  412. package/icons/searchminus/index.d.ts +11 -5
  413. package/icons/searchplus/index.d.ts +11 -5
  414. package/icons/sortalt/index.d.ts +11 -5
  415. package/icons/sortamountdown/index.d.ts +11 -5
  416. package/icons/sortamountupalt/index.d.ts +11 -5
  417. package/icons/spinner/index.d.ts +11 -5
  418. package/icons/star/index.d.ts +11 -5
  419. package/icons/starfill/index.d.ts +11 -5
  420. package/icons/thlarge/index.d.ts +11 -5
  421. package/icons/times/index.d.ts +9 -5
  422. package/icons/timescircle/index.d.ts +11 -5
  423. package/icons/trash/index.d.ts +11 -5
  424. package/icons/undo/index.d.ts +11 -5
  425. package/icons/upload/index.d.ts +11 -5
  426. package/icons/windowmaximize/index.d.ts +11 -5
  427. package/icons/windowminimize/index.d.ts +11 -5
  428. package/iftalabel/index.d.ts +48 -3
  429. package/image/index.d.ts +374 -3
  430. package/imagecompare/index.d.ts +91 -3
  431. package/index.d.ts +2 -5
  432. package/inplace/index.d.ts +180 -3
  433. package/inputgroup/index.d.ts +56 -3
  434. package/inputgroupaddon/index.d.ts +43 -3
  435. package/inputicon/index.d.ts +34 -3
  436. package/inputmask/index.d.ts +281 -3
  437. package/inputnumber/index.d.ts +463 -3
  438. package/inputotp/index.d.ts +205 -3
  439. package/inputtext/index.d.ts +81 -3
  440. package/keyfilter/index.d.ts +64 -3
  441. package/knob/index.d.ts +202 -3
  442. package/listbox/index.d.ts +801 -3
  443. package/megamenu/index.d.ts +406 -3
  444. package/menu/index.d.ts +338 -3
  445. package/menubar/index.d.ts +418 -3
  446. package/message/index.d.ts +193 -3
  447. package/metergroup/index.d.ts +289 -3
  448. package/multiselect/index.d.ts +1057 -3
  449. package/orderlist/index.d.ts +462 -3
  450. package/organizationchart/index.d.ts +283 -3
  451. package/overlay/index.d.ts +255 -3
  452. package/overlaybadge/index.d.ts +73 -3
  453. package/package.json +179 -210
  454. package/paginator/index.d.ts +391 -3
  455. package/panel/index.d.ts +264 -3
  456. package/panelmenu/index.d.ts +378 -3
  457. package/password/index.d.ts +432 -3
  458. package/picklist/index.d.ts +894 -3
  459. package/popover/index.d.ts +176 -3
  460. package/progressbar/index.d.ts +110 -3
  461. package/progressspinner/index.d.ts +83 -3
  462. package/radiobutton/index.d.ts +197 -3
  463. package/rating/index.d.ts +215 -3
  464. package/ripple/index.d.ts +62 -3
  465. package/scroller/index.d.ts +610 -3
  466. package/scrollpanel/index.d.ts +159 -3
  467. package/scrolltop/index.d.ts +156 -3
  468. package/select/index.d.ts +920 -3
  469. package/selectbutton/index.d.ts +218 -3
  470. package/skeleton/index.d.ts +94 -3
  471. package/slider/index.d.ts +252 -3
  472. package/speeddial/index.d.ts +452 -3
  473. package/splitbutton/index.d.ts +304 -3
  474. package/splitter/index.d.ts +237 -3
  475. package/stepper/index.d.ts +291 -3
  476. package/steps/index.d.ts +150 -3
  477. package/styleclass/index.d.ts +94 -3
  478. package/table/index.d.ts +2919 -3
  479. package/tabs/index.d.ts +323 -3
  480. package/tag/index.d.ts +112 -3
  481. package/terminal/index.d.ts +132 -3
  482. package/textarea/index.d.ts +102 -3
  483. package/tieredmenu/index.d.ts +424 -3
  484. package/timeline/index.d.ts +168 -3
  485. package/toast/index.d.ts +318 -3
  486. package/togglebutton/index.d.ts +240 -3
  487. package/toggleswitch/index.d.ts +184 -3
  488. package/toolbar/index.d.ts +116 -3
  489. package/tooltip/index.d.ts +245 -3
  490. package/tree/index.d.ts +845 -3
  491. package/treeselect/index.d.ts +646 -3
  492. package/treetable/index.d.ts +1727 -3
  493. package/ts-helpers/index.d.ts +6 -5
  494. package/usestyle/index.d.ts +15 -5
  495. package/utils/index.d.ts +43 -5
  496. package/accordion/accordion.d.ts +0 -368
  497. package/accordion/public_api.d.ts +0 -2
  498. package/accordion/style/accordionstyle.d.ts +0 -50
  499. package/animateonscroll/animateonscroll.d.ts +0 -69
  500. package/animateonscroll/public_api.d.ts +0 -1
  501. package/api/blockableui.d.ts +0 -10
  502. package/api/confirmaeventtype.d.ts +0 -8
  503. package/api/confirmation.d.ts +0 -96
  504. package/api/confirmationservice.d.ts +0 -30
  505. package/api/contextmenuservice.d.ts +0 -11
  506. package/api/filtermatchmode.d.ts +0 -22
  507. package/api/filtermetadata.d.ts +0 -18
  508. package/api/filteroperator.d.ts +0 -4
  509. package/api/filterservice.d.ts +0 -10
  510. package/api/lazyloadevent.d.ts +0 -47
  511. package/api/lazyloadmeta.d.ts +0 -19
  512. package/api/megamenuitem.d.ts +0 -130
  513. package/api/menuitem.d.ts +0 -176
  514. package/api/messageservice.d.ts +0 -32
  515. package/api/overlayoptions.d.ts +0 -188
  516. package/api/overlayservice.d.ts +0 -8
  517. package/api/primeicons.d.ts +0 -313
  518. package/api/public_api.d.ts +0 -32
  519. package/api/scrolleroptions.d.ts +0 -126
  520. package/api/selectitem.d.ts +0 -12
  521. package/api/selectitemgroup.d.ts +0 -10
  522. package/api/shared.d.ts +0 -25
  523. package/api/sortevent.d.ts +0 -12
  524. package/api/sortmeta.d.ts +0 -8
  525. package/api/tablestate.d.ts +0 -60
  526. package/api/toastmessage.d.ts +0 -20
  527. package/api/tooltipoptions.d.ts +0 -69
  528. package/api/translation.d.ts +0 -137
  529. package/api/translationkeys.d.ts +0 -50
  530. package/api/treedragdropservice.d.ts +0 -12
  531. package/api/treenode.d.ts +0 -82
  532. package/api/treenodedragevent.d.ts +0 -27
  533. package/api/treetablenode.d.ts +0 -36
  534. package/autocomplete/autocomplete.d.ts +0 -688
  535. package/autocomplete/autocomplete.interface.d.ts +0 -181
  536. package/autocomplete/public_api.d.ts +0 -3
  537. package/autocomplete/style/autocompletestyle.d.ts +0 -131
  538. package/autofocus/autofocus.d.ts +0 -35
  539. package/autofocus/public_api.d.ts +0 -1
  540. package/avatar/avatar.d.ts +0 -74
  541. package/avatar/public_api.d.ts +0 -2
  542. package/avatar/style/avatarstyle.d.ts +0 -47
  543. package/avatargroup/avatargroup.d.ts +0 -34
  544. package/avatargroup/public_api.d.ts +0 -2
  545. package/avatargroup/style/avatargroupstyle.d.ts +0 -24
  546. package/badge/badge.d.ts +0 -123
  547. package/badge/public_api.d.ts +0 -2
  548. package/badge/style/badgestyle.d.ts +0 -45
  549. package/base/base.d.ts +0 -9
  550. package/base/public_api.d.ts +0 -2
  551. package/base/style/basestyle.d.ts +0 -51
  552. package/basecomponent/basecomponent.d.ts +0 -43
  553. package/basecomponent/public_api.d.ts +0 -2
  554. package/basecomponent/style/basecomponentstyle.d.ts +0 -7
  555. package/blockui/blockui.d.ts +0 -67
  556. package/blockui/blockui.interface.d.ts +0 -11
  557. package/blockui/public_api.d.ts +0 -3
  558. package/blockui/style/blockuistyle.d.ts +0 -30
  559. package/breadcrumb/breadcrumb.d.ts +0 -72
  560. package/breadcrumb/breadcrumb.interface.d.ts +0 -38
  561. package/breadcrumb/public_api.d.ts +0 -3
  562. package/breadcrumb/style/breadcrumbstyle.d.ts +0 -69
  563. package/button/button.d.ts +0 -372
  564. package/button/button.interface.d.ts +0 -60
  565. package/button/public_api.d.ts +0 -3
  566. package/button/style/buttonstyle.d.ts +0 -66
  567. package/buttongroup/buttongroup.d.ts +0 -13
  568. package/buttongroup/public_api.d.ts +0 -2
  569. package/buttongroup/style/buttongroupstyle.d.ts +0 -30
  570. package/calendar/calendar.d.ts +0 -792
  571. package/calendar/calendar.interface.d.ts +0 -204
  572. package/calendar/index.d.ts +0 -5
  573. package/calendar/public_api.d.ts +0 -3
  574. package/calendar/style/calendarstyle.d.ts +0 -100
  575. package/card/card.d.ts +0 -60
  576. package/card/card.interface.d.ts +0 -27
  577. package/card/public_api.d.ts +0 -3
  578. package/card/style/cardstyle.d.ts +0 -65
  579. package/carousel/carousel.d.ts +0 -254
  580. package/carousel/carousel.interface.d.ts +0 -63
  581. package/carousel/public_api.d.ts +0 -3
  582. package/carousel/style/carouselstyle.d.ts +0 -129
  583. package/cascadeselect/cascadeselect.d.ts +0 -526
  584. package/cascadeselect/cascadeselect.interface.d.ts +0 -115
  585. package/cascadeselect/public_api.d.ts +0 -3
  586. package/cascadeselect/style/cascadeselectstyle.d.ts +0 -130
  587. package/chart/chart.d.ts +0 -87
  588. package/chart/public_api.d.ts +0 -2
  589. package/chart/style/chartstyle.d.ts +0 -32
  590. package/checkbox/checkbox.d.ts +0 -196
  591. package/checkbox/checkbox.interface.d.ts +0 -26
  592. package/checkbox/public_api.d.ts +0 -3
  593. package/checkbox/style/checkboxstyle.d.ts +0 -53
  594. package/chip/chip.d.ts +0 -94
  595. package/chip/chip.interface.d.ts +0 -27
  596. package/chip/public_api.d.ts +0 -3
  597. package/chip/style/chipstyle.d.ts +0 -50
  598. package/chips/chips.d.ts +0 -237
  599. package/chips/chips.interface.d.ts +0 -66
  600. package/chips/index.d.ts +0 -5
  601. package/chips/public_api.d.ts +0 -2
  602. package/chips/style/chipsstyle.d.ts +0 -69
  603. package/colorpicker/colorpicker.d.ts +0 -243
  604. package/colorpicker/colorpicker.interface.d.ts +0 -15
  605. package/colorpicker/public_api.d.ts +0 -3
  606. package/colorpicker/style/colorpickerstyle.d.ts +0 -75
  607. package/config/primeng.d.ts +0 -45
  608. package/config/provideprimeng.d.ts +0 -4
  609. package/config/public_api.d.ts +0 -3
  610. package/config/themeprovider.d.ts +0 -28
  611. package/confirmdialog/confirmdialog.d.ts +0 -268
  612. package/confirmdialog/confirmdialog.interface.d.ts +0 -39
  613. package/confirmdialog/public_api.d.ts +0 -3
  614. package/confirmdialog/style/confirmdialogstyle.d.ts +0 -50
  615. package/confirmpopup/confirmpopup.d.ts +0 -126
  616. package/confirmpopup/confirmpopup.interface.d.ts +0 -27
  617. package/confirmpopup/public_api.d.ts +0 -3
  618. package/confirmpopup/style/confirmpopupstyle.d.ts +0 -60
  619. package/contextmenu/contextmenu.d.ts +0 -267
  620. package/contextmenu/public_api.d.ts +0 -2
  621. package/contextmenu/style/contextmenustyle.d.ts +0 -83
  622. package/dataview/dataview.d.ts +0 -294
  623. package/dataview/dataview.interface.d.ts +0 -173
  624. package/dataview/public_api.d.ts +0 -3
  625. package/dataview/style/dataviewstyle.d.ts +0 -62
  626. package/datepicker/datepicker.d.ts +0 -802
  627. package/datepicker/datepicker.interface.d.ts +0 -204
  628. package/datepicker/public_api.d.ts +0 -3
  629. package/datepicker/style/datepickerstyle.d.ts +0 -266
  630. package/defer/defer.d.ts +0 -34
  631. package/defer/index.d.ts +0 -5
  632. package/defer/public_api.d.ts +0 -1
  633. package/dialog/dialog.d.ts +0 -424
  634. package/dialog/dialog.interface.d.ts +0 -31
  635. package/dialog/public_api.d.ts +0 -3
  636. package/dialog/style/dialogstyle.d.ts +0 -102
  637. package/divider/divider.d.ts +0 -45
  638. package/divider/public_api.d.ts +0 -2
  639. package/divider/style/dividerstyle.d.ts +0 -75
  640. package/dock/dock.d.ts +0 -110
  641. package/dock/dock.interface.d.ts +0 -19
  642. package/dock/public_api.d.ts +0 -3
  643. package/dock/style/dockstyle.d.ts +0 -72
  644. package/dom/connectedoverlayscrollhandler.d.ts +0 -9
  645. package/dom/domhandler.d.ts +0 -95
  646. package/dom/public_api.d.ts +0 -2
  647. package/dragdrop/dragdrop.d.ts +0 -118
  648. package/dragdrop/public_api.d.ts +0 -1
  649. package/drawer/drawer.d.ts +0 -212
  650. package/drawer/drawer.interface.d.ts +0 -27
  651. package/drawer/public_api.d.ts +0 -3
  652. package/drawer/style/drawerstyle.d.ts +0 -83
  653. package/dropdown/dropdown.d.ts +0 -649
  654. package/dropdown/dropdown.interface.d.ts +0 -154
  655. package/dropdown/index.d.ts +0 -5
  656. package/dropdown/public_api.d.ts +0 -3
  657. package/dropdown/style/dropdownstyle.d.ts +0 -72
  658. package/dynamicdialog/dialogservice.d.ts +0 -35
  659. package/dynamicdialog/dynamicdialog-config.d.ts +0 -221
  660. package/dynamicdialog/dynamicdialog-injector.d.ts +0 -7
  661. package/dynamicdialog/dynamicdialog-ref.d.ts +0 -101
  662. package/dynamicdialog/dynamicdialog.d.ts +0 -120
  663. package/dynamicdialog/dynamicdialogcontent.d.ts +0 -8
  664. package/dynamicdialog/public_api.d.ts +0 -7
  665. package/dynamicdialog/style/dynamicdialogstyle.d.ts +0 -56
  666. package/editor/editor.d.ts +0 -116
  667. package/editor/editor.interface.d.ts +0 -64
  668. package/editor/public_api.d.ts +0 -3
  669. package/editor/style/editorstyle.d.ts +0 -40
  670. package/fesm2022/primeng-calendar.mjs +0 -4647
  671. package/fesm2022/primeng-calendar.mjs.map +0 -1
  672. package/fesm2022/primeng-chips.mjs +0 -930
  673. package/fesm2022/primeng-chips.mjs.map +0 -1
  674. package/fesm2022/primeng-defer.mjs +0 -101
  675. package/fesm2022/primeng-defer.mjs.map +0 -1
  676. package/fesm2022/primeng-dropdown.mjs +0 -2429
  677. package/fesm2022/primeng-dropdown.mjs.map +0 -1
  678. package/fesm2022/primeng-inputswitch.mjs +0 -370
  679. package/fesm2022/primeng-inputswitch.mjs.map +0 -1
  680. package/fesm2022/primeng-inputtextarea.mjs +0 -262
  681. package/fesm2022/primeng-inputtextarea.mjs.map +0 -1
  682. package/fesm2022/primeng-messages.mjs +0 -655
  683. package/fesm2022/primeng-messages.mjs.map +0 -1
  684. package/fesm2022/primeng-overlaypanel.mjs +0 -657
  685. package/fesm2022/primeng-overlaypanel.mjs.map +0 -1
  686. package/fesm2022/primeng-sidebar.mjs +0 -690
  687. package/fesm2022/primeng-sidebar.mjs.map +0 -1
  688. package/fesm2022/primeng-tabmenu.mjs +0 -807
  689. package/fesm2022/primeng-tabmenu.mjs.map +0 -1
  690. package/fesm2022/primeng-tabview.mjs +0 -1184
  691. package/fesm2022/primeng-tabview.mjs.map +0 -1
  692. package/fieldset/fieldset.d.ts +0 -110
  693. package/fieldset/fieldset.interface.d.ts +0 -46
  694. package/fieldset/public_api.d.ts +0 -3
  695. package/fieldset/style/fieldsetstyle.d.ts +0 -60
  696. package/fileupload/fileupload.d.ts +0 -428
  697. package/fileupload/fileupload.interface.d.ts +0 -235
  698. package/fileupload/public_api.d.ts +0 -3
  699. package/fileupload/style/fileuploadstyle.d.ts +0 -102
  700. package/floatlabel/floatlabel.d.ts +0 -23
  701. package/floatlabel/public_api.d.ts +0 -2
  702. package/floatlabel/style/floatlabelstyle.d.ts +0 -37
  703. package/fluid/fluid.d.ts +0 -17
  704. package/fluid/public_api.d.ts +0 -2
  705. package/fluid/style/fluidstyle.d.ts +0 -30
  706. package/focustrap/focustrap.d.ts +0 -33
  707. package/focustrap/public_api.d.ts +0 -1
  708. package/galleria/galleria.d.ts +0 -417
  709. package/galleria/galleria.interface.d.ts +0 -97
  710. package/galleria/public_api.d.ts +0 -3
  711. package/galleria/style/galleriastyle.d.ts +0 -197
  712. package/iconfield/iconfield.d.ts +0 -28
  713. package/iconfield/public_api.d.ts +0 -2
  714. package/iconfield/style/iconfieldstyle.d.ts +0 -30
  715. package/icons/angledoubledown/angledoubledown.d.ts +0 -6
  716. package/icons/angledoubledown/public_api.d.ts +0 -1
  717. package/icons/angledoubleleft/angledoubleleft.d.ts +0 -6
  718. package/icons/angledoubleleft/public_api.d.ts +0 -1
  719. package/icons/angledoubleright/angledoubleright.d.ts +0 -6
  720. package/icons/angledoubleright/public_api.d.ts +0 -1
  721. package/icons/angledoubleup/angledoubleup.d.ts +0 -6
  722. package/icons/angledoubleup/public_api.d.ts +0 -1
  723. package/icons/angledown/angledown.d.ts +0 -6
  724. package/icons/angledown/public_api.d.ts +0 -1
  725. package/icons/angleleft/angleleft.d.ts +0 -6
  726. package/icons/angleleft/public_api.d.ts +0 -1
  727. package/icons/angleright/angleright.d.ts +0 -6
  728. package/icons/angleright/public_api.d.ts +0 -1
  729. package/icons/angleup/angleup.d.ts +0 -6
  730. package/icons/angleup/public_api.d.ts +0 -1
  731. package/icons/arrowdown/arrowdown.d.ts +0 -9
  732. package/icons/arrowdown/public_api.d.ts +0 -1
  733. package/icons/arrowdownleft/arrowdownleft.d.ts +0 -6
  734. package/icons/arrowdownleft/public_api.d.ts +0 -1
  735. package/icons/arrowdownright/arrowdownright.d.ts +0 -6
  736. package/icons/arrowdownright/public_api.d.ts +0 -1
  737. package/icons/arrowleft/arrowleft.d.ts +0 -8
  738. package/icons/arrowleft/public_api.d.ts +0 -1
  739. package/icons/arrowright/arrowright.d.ts +0 -6
  740. package/icons/arrowright/public_api.d.ts +0 -1
  741. package/icons/arrowup/arrowup.d.ts +0 -8
  742. package/icons/arrowup/public_api.d.ts +0 -1
  743. package/icons/ban/ban.d.ts +0 -8
  744. package/icons/ban/public_api.d.ts +0 -1
  745. package/icons/bars/bars.d.ts +0 -6
  746. package/icons/bars/public_api.d.ts +0 -1
  747. package/icons/baseicon/baseicon.d.ts +0 -17
  748. package/icons/baseicon/public_api.d.ts +0 -2
  749. package/icons/baseicon/style/baseiconstyle.d.ts +0 -20
  750. package/icons/blank/blank.d.ts +0 -6
  751. package/icons/blank/public_api.d.ts +0 -1
  752. package/icons/calendar/calendar.d.ts +0 -6
  753. package/icons/calendar/public_api.d.ts +0 -1
  754. package/icons/caretleft/caretleft.d.ts +0 -6
  755. package/icons/caretleft/public_api.d.ts +0 -1
  756. package/icons/caretright/caretright.d.ts +0 -6
  757. package/icons/caretright/public_api.d.ts +0 -1
  758. package/icons/check/check.d.ts +0 -6
  759. package/icons/check/public_api.d.ts +0 -1
  760. package/icons/chevrondown/chevrondown.d.ts +0 -6
  761. package/icons/chevrondown/public_api.d.ts +0 -1
  762. package/icons/chevronleft/chevronleft.d.ts +0 -6
  763. package/icons/chevronleft/public_api.d.ts +0 -1
  764. package/icons/chevronright/chevronright.d.ts +0 -6
  765. package/icons/chevronright/public_api.d.ts +0 -1
  766. package/icons/chevronup/chevronup.d.ts +0 -6
  767. package/icons/chevronup/public_api.d.ts +0 -1
  768. package/icons/exclamationtriangle/exclamationtriangle.d.ts +0 -9
  769. package/icons/exclamationtriangle/public_api.d.ts +0 -1
  770. package/icons/eye/eye.d.ts +0 -6
  771. package/icons/eye/public_api.d.ts +0 -1
  772. package/icons/eyeslash/eyeslash.d.ts +0 -8
  773. package/icons/eyeslash/public_api.d.ts +0 -1
  774. package/icons/filter/filter.d.ts +0 -8
  775. package/icons/filter/public_api.d.ts +0 -1
  776. package/icons/filterslash/filterslash.d.ts +0 -8
  777. package/icons/filterslash/public_api.d.ts +0 -1
  778. package/icons/home/home.d.ts +0 -8
  779. package/icons/home/public_api.d.ts +0 -1
  780. package/icons/infocircle/infocircle.d.ts +0 -8
  781. package/icons/infocircle/public_api.d.ts +0 -1
  782. package/icons/minus/minus.d.ts +0 -6
  783. package/icons/minus/public_api.d.ts +0 -1
  784. package/icons/pencil/pencil.d.ts +0 -8
  785. package/icons/pencil/public_api.d.ts +0 -1
  786. package/icons/plus/plus.d.ts +0 -8
  787. package/icons/plus/public_api.d.ts +0 -1
  788. package/icons/public_api.d.ts +0 -57
  789. package/icons/refresh/public_api.d.ts +0 -1
  790. package/icons/refresh/refresh.d.ts +0 -8
  791. package/icons/search/public_api.d.ts +0 -1
  792. package/icons/search/search.d.ts +0 -8
  793. package/icons/searchminus/public_api.d.ts +0 -1
  794. package/icons/searchminus/searchminus.d.ts +0 -8
  795. package/icons/searchplus/public_api.d.ts +0 -1
  796. package/icons/searchplus/searchplus.d.ts +0 -8
  797. package/icons/sortalt/public_api.d.ts +0 -1
  798. package/icons/sortalt/sortalt.d.ts +0 -8
  799. package/icons/sortamountdown/public_api.d.ts +0 -1
  800. package/icons/sortamountdown/sortamountdown.d.ts +0 -8
  801. package/icons/sortamountupalt/public_api.d.ts +0 -1
  802. package/icons/sortamountupalt/sortamountupalt.d.ts +0 -8
  803. package/icons/spinner/public_api.d.ts +0 -1
  804. package/icons/spinner/spinner.d.ts +0 -8
  805. package/icons/star/public_api.d.ts +0 -1
  806. package/icons/star/star.d.ts +0 -8
  807. package/icons/starfill/public_api.d.ts +0 -1
  808. package/icons/starfill/starfill.d.ts +0 -8
  809. package/icons/thlarge/public_api.d.ts +0 -1
  810. package/icons/thlarge/thlarge.d.ts +0 -8
  811. package/icons/times/public_api.d.ts +0 -1
  812. package/icons/times/times.d.ts +0 -6
  813. package/icons/timescircle/public_api.d.ts +0 -1
  814. package/icons/timescircle/timescircle.d.ts +0 -8
  815. package/icons/trash/public_api.d.ts +0 -1
  816. package/icons/trash/trash.d.ts +0 -8
  817. package/icons/undo/public_api.d.ts +0 -1
  818. package/icons/undo/undo.d.ts +0 -8
  819. package/icons/upload/public_api.d.ts +0 -1
  820. package/icons/upload/upload.d.ts +0 -8
  821. package/icons/windowmaximize/public_api.d.ts +0 -1
  822. package/icons/windowmaximize/windowmaximize.d.ts +0 -8
  823. package/icons/windowminimize/public_api.d.ts +0 -1
  824. package/icons/windowminimize/windowminimize.d.ts +0 -8
  825. package/iftalabel/iftalabel.d.ts +0 -20
  826. package/iftalabel/public_api.d.ts +0 -2
  827. package/iftalabel/style/iftalabelstyle.d.ts +0 -30
  828. package/image/image.d.ts +0 -227
  829. package/image/image.interface.d.ts +0 -63
  830. package/image/public_api.d.ts +0 -3
  831. package/image/style/imagestyle.d.ts +0 -92
  832. package/imagecompare/imagecompare.d.ts +0 -57
  833. package/imagecompare/public_api.d.ts +0 -2
  834. package/imagecompare/style/imagecomparestyle.d.ts +0 -35
  835. package/inplace/inplace.d.ts +0 -122
  836. package/inplace/inplace.interface.d.ts +0 -19
  837. package/inplace/public_api.d.ts +0 -3
  838. package/inplace/style/inplacestyle.d.ts +0 -44
  839. package/inputgroup/inputgroup.d.ts +0 -30
  840. package/inputgroup/public_api.d.ts +0 -2
  841. package/inputgroup/style/inputgroupstyle.d.ts +0 -34
  842. package/inputgroupaddon/inputgroupaddon.d.ts +0 -33
  843. package/inputgroupaddon/public_api.d.ts +0 -2
  844. package/inputgroupaddon/style/inputgroupaddonstyle.d.ts +0 -10
  845. package/inputicon/inputicon.d.ts +0 -24
  846. package/inputicon/public_api.d.ts +0 -2
  847. package/inputicon/style/inputiconstyle.d.ts +0 -10
  848. package/inputmask/inputmask.d.ts +0 -270
  849. package/inputmask/inputmask.interface.d.ts +0 -19
  850. package/inputmask/public_api.d.ts +0 -3
  851. package/inputmask/style/inputmaskstyle.d.ts +0 -35
  852. package/inputnumber/inputnumber.d.ts +0 -440
  853. package/inputnumber/inputnumber.interface.d.ts +0 -38
  854. package/inputnumber/public_api.d.ts +0 -3
  855. package/inputnumber/style/inputnumberstyle.d.ts +0 -70
  856. package/inputotp/inputotp.d.ts +0 -176
  857. package/inputotp/public_api.d.ts +0 -2
  858. package/inputotp/style/inputotpstyle.d.ts +0 -35
  859. package/inputswitch/index.d.ts +0 -5
  860. package/inputswitch/inputswitch.d.ts +0 -106
  861. package/inputswitch/inputswitch.interface.d.ts +0 -15
  862. package/inputswitch/public_api.d.ts +0 -3
  863. package/inputswitch/style/inputswitchstyle.d.ts +0 -27
  864. package/inputtext/inputtext.d.ts +0 -44
  865. package/inputtext/public_api.d.ts +0 -2
  866. package/inputtext/style/inputtextstyle.d.ts +0 -40
  867. package/inputtextarea/index.d.ts +0 -5
  868. package/inputtextarea/inputtextarea.d.ts +0 -59
  869. package/inputtextarea/public_api.d.ts +0 -2
  870. package/inputtextarea/style/textareastyle.d.ts +0 -39
  871. package/keyfilter/keyfilter.d.ts +0 -57
  872. package/keyfilter/keyfilter.interface.d.ts +0 -5
  873. package/keyfilter/public_api.d.ts +0 -2
  874. package/knob/knob.d.ts +0 -176
  875. package/knob/public_api.d.ts +0 -2
  876. package/knob/style/knobstyle.d.ts +0 -49
  877. package/listbox/listbox.d.ts +0 -556
  878. package/listbox/listbox.interface.d.ts +0 -167
  879. package/listbox/public_api.d.ts +0 -3
  880. package/listbox/style/listboxstyle.d.ts +0 -91
  881. package/megamenu/megamenu.d.ts +0 -250
  882. package/megamenu/megamenu.interface.d.ts +0 -31
  883. package/megamenu/public_api.d.ts +0 -3
  884. package/megamenu/style/megamenustyle.d.ts +0 -132
  885. package/menu/menu.d.ts +0 -239
  886. package/menu/public_api.d.ts +0 -2
  887. package/menu/style/menustyle.d.ts +0 -89
  888. package/menubar/menubar.d.ts +0 -275
  889. package/menubar/menubar.interface.d.ts +0 -40
  890. package/menubar/public_api.d.ts +0 -3
  891. package/menubar/style/menubarstyle.d.ts +0 -102
  892. package/message/message.d.ts +0 -134
  893. package/message/public_api.d.ts +0 -2
  894. package/message/style/messagestyle.d.ts +0 -59
  895. package/messages/index.d.ts +0 -5
  896. package/messages/messages.d.ts +0 -110
  897. package/messages/messages.interface.d.ts +0 -11
  898. package/messages/public_api.d.ts +0 -3
  899. package/messages/style/messagesstyle.d.ts +0 -23
  900. package/metergroup/metergroup.d.ts +0 -107
  901. package/metergroup/metergroup.interface.d.ts +0 -122
  902. package/metergroup/public_api.d.ts +0 -3
  903. package/metergroup/style/metergroupstyle.d.ts +0 -75
  904. package/multiselect/multiselect.d.ts +0 -750
  905. package/multiselect/multiselect.interface.d.ts +0 -247
  906. package/multiselect/public_api.d.ts +0 -3
  907. package/multiselect/style/multiselectstyle.d.ts +0 -153
  908. package/orderlist/orderlist.d.ts +0 -346
  909. package/orderlist/orderlist.interface.d.ts +0 -110
  910. package/orderlist/public_api.d.ts +0 -3
  911. package/orderlist/style/orderliststyle.d.ts +0 -35
  912. package/organizationchart/organizationchart.d.ts +0 -136
  913. package/organizationchart/organizationchart.interface.d.ts +0 -59
  914. package/organizationchart/public_api.d.ts +0 -3
  915. package/organizationchart/style/organizationchartstyle.d.ts +0 -89
  916. package/overlay/overlay.d.ts +0 -245
  917. package/overlay/public_api.d.ts +0 -2
  918. package/overlay/style/overlaystyle.d.ts +0 -10
  919. package/overlaybadge/overlaybadge.d.ts +0 -60
  920. package/overlaybadge/public_api.d.ts +0 -2
  921. package/overlaybadge/style/overlaybadgestyle.d.ts +0 -13
  922. package/overlaypanel/index.d.ts +0 -5
  923. package/overlaypanel/overlaypanel.d.ts +0 -170
  924. package/overlaypanel/public_api.d.ts +0 -2
  925. package/overlaypanel/style/popoverstyle.d.ts +0 -35
  926. package/paginator/paginator.d.ts +0 -223
  927. package/paginator/paginator.interface.d.ts +0 -37
  928. package/paginator/public_api.d.ts +0 -3
  929. package/paginator/style/paginatorstyle.d.ts +0 -138
  930. package/panel/panel.d.ts +0 -204
  931. package/panel/public_api.d.ts +0 -2
  932. package/panel/style/panelstyle.d.ts +0 -67
  933. package/panelmenu/panelmenu.d.ts +0 -226
  934. package/panelmenu/panelmenu.interface.d.ts +0 -23
  935. package/panelmenu/public_api.d.ts +0 -3
  936. package/panelmenu/style/panelmenustyle.d.ts +0 -124
  937. package/password/password.d.ts +0 -372
  938. package/password/public_api.d.ts +0 -2
  939. package/password/style/passwordstyle.d.ts +0 -83
  940. package/picklist/picklist.d.ts +0 -616
  941. package/picklist/picklist.interface.d.ts +0 -242
  942. package/picklist/public_api.d.ts +0 -3
  943. package/picklist/style/pickliststyle.d.ts +0 -55
  944. package/popover/popover.d.ts +0 -162
  945. package/popover/public_api.d.ts +0 -2
  946. package/popover/style/popoverstyle.d.ts +0 -14
  947. package/progressbar/progressbar.d.ts +0 -72
  948. package/progressbar/public_api.d.ts +0 -2
  949. package/progressbar/style/progressbarstyle.d.ts +0 -45
  950. package/progressspinner/progressspinner.d.ts +0 -50
  951. package/progressspinner/public_api.d.ts +0 -2
  952. package/progressspinner/style/progressspinnerstyle.d.ts +0 -40
  953. package/public_api.d.ts +0 -2
  954. package/radiobutton/public_api.d.ts +0 -3
  955. package/radiobutton/radiobutton.d.ts +0 -151
  956. package/radiobutton/radiobutton.interface.d.ts +0 -15
  957. package/radiobutton/style/radiobuttonstyle.d.ts +0 -53
  958. package/rating/public_api.d.ts +0 -3
  959. package/rating/rating.d.ts +0 -137
  960. package/rating/rating.interface.d.ts +0 -34
  961. package/rating/style/ratingstyle.d.ts +0 -57
  962. package/ripple/public_api.d.ts +0 -2
  963. package/ripple/ripple.d.ts +0 -32
  964. package/ripple/style/ripplestyle.d.ts +0 -30
  965. package/scroller/public_api.d.ts +0 -3
  966. package/scroller/scroller.d.ts +0 -373
  967. package/scroller/scroller.interface.d.ts +0 -177
  968. package/scroller/style/scrollerstyle.d.ts +0 -43
  969. package/scrollpanel/public_api.d.ts +0 -3
  970. package/scrollpanel/scrollpanel.d.ts +0 -106
  971. package/scrollpanel/scrollpanel.interface.d.ts +0 -11
  972. package/scrollpanel/style/scrollpanelstyle.d.ts +0 -50
  973. package/scrolltop/public_api.d.ts +0 -3
  974. package/scrolltop/scrolltop.d.ts +0 -100
  975. package/scrolltop/scrolltop.interface.d.ts +0 -18
  976. package/scrolltop/style/scrolltopstyle.d.ts +0 -39
  977. package/select/public_api.d.ts +0 -3
  978. package/select/select.d.ts +0 -749
  979. package/select/select.interface.d.ts +0 -154
  980. package/select/style/selectstyle.d.ts +0 -143
  981. package/selectbutton/public_api.d.ts +0 -3
  982. package/selectbutton/selectbutton.d.ts +0 -145
  983. package/selectbutton/selectbutton.interface.d.ts +0 -45
  984. package/selectbutton/style/selectbuttonstyle.d.ts +0 -34
  985. package/sidebar/index.d.ts +0 -5
  986. package/sidebar/public_api.d.ts +0 -3
  987. package/sidebar/sidebar.d.ts +0 -189
  988. package/sidebar/sidebar.interface.d.ts +0 -27
  989. package/sidebar/style/drawerstyle.d.ts +0 -46
  990. package/skeleton/public_api.d.ts +0 -2
  991. package/skeleton/skeleton.d.ts +0 -66
  992. package/skeleton/style/skeletonstyle.d.ts +0 -40
  993. package/slider/public_api.d.ts +0 -3
  994. package/slider/slider.d.ts +0 -170
  995. package/slider/slider.interface.d.ts +0 -38
  996. package/slider/style/sliderstyle.d.ts +0 -54
  997. package/speeddial/public_api.d.ts +0 -3
  998. package/speeddial/speeddial.d.ts +0 -322
  999. package/speeddial/speeddial.interface.d.ts +0 -44
  1000. package/speeddial/style/speeddialstyle.d.ts +0 -89
  1001. package/splitbutton/public_api.d.ts +0 -3
  1002. package/splitbutton/splitbutton.d.ts +0 -243
  1003. package/splitbutton/splitbutton.interface.d.ts +0 -30
  1004. package/splitbutton/style/splitbuttonstyle.d.ts +0 -46
  1005. package/splitter/public_api.d.ts +0 -3
  1006. package/splitter/splitter.d.ts +0 -166
  1007. package/splitter/splitter.interface.d.ts +0 -34
  1008. package/splitter/style/splitterstyle.d.ts +0 -42
  1009. package/stepper/public_api.d.ts +0 -2
  1010. package/stepper/stepper.d.ts +0 -175
  1011. package/stepper/style/stepperstyle.d.ts +0 -39
  1012. package/steps/public_api.d.ts +0 -2
  1013. package/steps/steps.d.ts +0 -84
  1014. package/steps/style/stepsstyle.d.ts +0 -66
  1015. package/styleclass/public_api.d.ts +0 -1
  1016. package/styleclass/styleclass.d.ts +0 -107
  1017. package/table/columnfilter.interface.d.ts +0 -247
  1018. package/table/public_api.d.ts +0 -4
  1019. package/table/style/tablestyle.d.ts +0 -327
  1020. package/table/table.d.ts +0 -1662
  1021. package/table/table.interface.d.ts +0 -671
  1022. package/tabmenu/index.d.ts +0 -5
  1023. package/tabmenu/public_api.d.ts +0 -3
  1024. package/tabmenu/style/tabmenustyle.d.ts +0 -51
  1025. package/tabmenu/tabmenu.d.ts +0 -136
  1026. package/tabmenu/tabmenu.interface.d.ts +0 -32
  1027. package/tabs/public_api.d.ts +0 -6
  1028. package/tabs/style/tabsstyle.d.ts +0 -66
  1029. package/tabs/tab.d.ts +0 -54
  1030. package/tabs/tablist.d.ts +0 -53
  1031. package/tabs/tabpanel.d.ts +0 -20
  1032. package/tabs/tabpanels.d.ts +0 -10
  1033. package/tabs/tabs.d.ts +0 -64
  1034. package/tabview/index.d.ts +0 -5
  1035. package/tabview/public_api.d.ts +0 -3
  1036. package/tabview/style/tabsstyle.d.ts +0 -66
  1037. package/tabview/tabview.d.ts +0 -278
  1038. package/tabview/tabview.interface.d.ts +0 -49
  1039. package/tag/public_api.d.ts +0 -3
  1040. package/tag/style/tagstyle.d.ts +0 -50
  1041. package/tag/tag.d.ts +0 -64
  1042. package/tag/tag.interface.d.ts +0 -11
  1043. package/terminal/public_api.d.ts +0 -3
  1044. package/terminal/style/terminalstyle.d.ts +0 -70
  1045. package/terminal/terminal.d.ts +0 -56
  1046. package/terminal/terminalservice.d.ts +0 -11
  1047. package/textarea/public_api.d.ts +0 -2
  1048. package/textarea/style/textareastyle.d.ts +0 -39
  1049. package/textarea/textarea.d.ts +0 -64
  1050. package/tieredmenu/public_api.d.ts +0 -3
  1051. package/tieredmenu/style/tieredmenustyle.d.ts +0 -97
  1052. package/tieredmenu/tieredmenu.d.ts +0 -292
  1053. package/tieredmenu/tieredmenu.interface.d.ts +0 -27
  1054. package/timeline/public_api.d.ts +0 -3
  1055. package/timeline/style/timelinestyle.d.ts +0 -62
  1056. package/timeline/timeline.d.ts +0 -70
  1057. package/timeline/timeline.interface.d.ts +0 -43
  1058. package/toast/public_api.d.ts +0 -3
  1059. package/toast/style/toaststyle.d.ts +0 -106
  1060. package/toast/toast.d.ts +0 -172
  1061. package/toast/toast.interface.d.ts +0 -52
  1062. package/togglebutton/public_api.d.ts +0 -3
  1063. package/togglebutton/style/togglebuttonstyle.d.ts +0 -49
  1064. package/togglebutton/togglebutton.d.ts +0 -137
  1065. package/togglebutton/togglebutton.interface.d.ts +0 -51
  1066. package/toggleswitch/public_api.d.ts +0 -3
  1067. package/toggleswitch/style/toggleswitchstyle.d.ts +0 -53
  1068. package/toggleswitch/toggleswitch.d.ts +0 -129
  1069. package/toggleswitch/toggleswitch.interface.d.ts +0 -15
  1070. package/toolbar/public_api.d.ts +0 -3
  1071. package/toolbar/style/toolbarstyle.d.ts +0 -45
  1072. package/toolbar/toolbar.d.ts +0 -58
  1073. package/toolbar/toolbar.interface.d.ts +0 -19
  1074. package/tooltip/public_api.d.ts +0 -2
  1075. package/tooltip/style/tooltipstyle.d.ts +0 -40
  1076. package/tooltip/tooltip.d.ts +0 -203
  1077. package/tree/public_api.d.ts +0 -3
  1078. package/tree/style/treestyle.d.ts +0 -116
  1079. package/tree/tree.d.ts +0 -541
  1080. package/tree/tree.interface.d.ts +0 -200
  1081. package/treeselect/public_api.d.ts +0 -3
  1082. package/treeselect/style/treeselectstyle.d.ts +0 -104
  1083. package/treeselect/treeselect.d.ts +0 -482
  1084. package/treeselect/treeselect.interface.d.ts +0 -108
  1085. package/treetable/public_api.d.ts +0 -3
  1086. package/treetable/style/treetablestyle.d.ts +0 -194
  1087. package/treetable/treetable.d.ts +0 -1006
  1088. package/treetable/treetable.interface.d.ts +0 -472
  1089. package/ts-helpers/public_api.d.ts +0 -1
  1090. package/ts-helpers/ts-helpers.d.ts +0 -4
  1091. package/usestyle/public_api.d.ts +0 -1
  1092. package/usestyle/usestyle.d.ts +0 -12
  1093. package/utils/inpututils.d.ts +0 -2
  1094. package/utils/objectutils.d.ts +0 -27
  1095. package/utils/public_api.d.ts +0 -5
  1096. package/utils/uniquecomponentid.d.ts +0 -2
  1097. package/utils/zindexutils.d.ts +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-autocomplete.mjs","sources":["../../src/autocomplete/style/autocompletestyle.ts","../../src/autocomplete/autocomplete.ts","../../src/autocomplete/primeng-autocomplete.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-autocomplete {\n display: inline-flex;\n}\n\n.p-autocomplete-loader {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n inset-inline-end: ${dt('autocomplete.padding.x')};\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-loader {\n inset-inline-end: calc(${dt('autocomplete.dropdown.width')} + ${dt('autocomplete.padding.x')});\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input {\n flex: 1 1 auto;\n width: 1%;\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input,\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input-multiple {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n}\n\n.p-autocomplete-dropdown {\n cursor: pointer;\n display: inline-flex;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: ${dt('autocomplete.dropdown.width')};\n border-start-end-radius: ${dt('autocomplete.dropdown.border.radius')};\n border-end-end-radius: ${dt('autocomplete.dropdown.border.radius')};\n background: ${dt('autocomplete.dropdown.background')};\n border: 1px solid ${dt('autocomplete.dropdown.border.color')};\n border-inline-start: 0 none;\n color: ${dt('autocomplete.dropdown.color')};\n transition: background ${dt('autocomplete.transition.duration')}, color ${dt('autocomplete.transition.duration')}, border-color ${dt('autocomplete.transition.duration')}, outline-color ${dt('autocomplete.transition.duration')}, box-shadow ${dt(\n 'autocomplete.transition.duration'\n )};\n outline-color: transparent;\n}\n\n.p-autocomplete-dropdown:not(:disabled):hover {\n background: ${dt('autocomplete.dropdown.hover.background')};\n border-color: ${dt('autocomplete.dropdown.hover.border.color')};\n color: ${dt('autocomplete.dropdown.hover.color')};\n}\n\n.p-autocomplete-dropdown:not(:disabled):active {\n background: ${dt('autocomplete.dropdown.active.background')};\n border-color: ${dt('autocomplete.dropdown.active.border.color')};\n color: ${dt('autocomplete.dropdown.active.color')};\n}\n\n.p-autocomplete-dropdown:focus-visible {\n box-shadow: ${dt('autocomplete.dropdown.focus.ring.shadow')};\n outline: ${dt('autocomplete.dropdown.focus.ring.width')} ${dt('autocomplete.dropdown.focus.ring.style')} ${dt('autocomplete.dropdown.focus.ring.color')};\n outline-offset: ${dt('autocomplete.dropdown.focus.ring.offset')};\n}\n\n.p-autocomplete .p-autocomplete-overlay {\n min-width: 100%;\n}\n\n.p-autocomplete-overlay {\n background: ${dt('autocomplete.overlay.background')};\n color: ${dt('autocomplete.overlay.color')};\n border: 1px solid ${dt('autocomplete.overlay.border.color')};\n border-radius: ${dt('autocomplete.overlay.border.radius')};\n box-shadow: ${dt('autocomplete.overlay.shadow')};\n}\n\n.p-autocomplete-list-container {\n overflow: auto;\n}\n\n.p-autocomplete-list {\n margin: 0;\n list-style-type: none;\n display: flex;\n flex-direction: column;\n gap: ${dt('autocomplete.list.gap')};\n padding: ${dt('autocomplete.list.padding')};\n}\n\n.p-autocomplete-option {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: ${dt('autocomplete.option.padding')};\n border: 0 none;\n color: ${dt('autocomplete.option.color')};\n background: transparent;\n transition: background ${dt('autocomplete.transition.duration')}, color ${dt('autocomplete.transition.duration')}, border-color ${dt('autocomplete.transition.duration')};\n border-radius: ${dt('autocomplete.option.border.radius')};\n}\n\n.p-autocomplete-option:not(.p-autocomplete-option-selected):not(.p-disabled).p-focus {\n background: ${dt('autocomplete.option.focus.background')};\n color: ${dt('autocomplete.option.focus.color')};\n}\n\n.p-autocomplete-option-selected {\n background: ${dt('autocomplete.option.selected.background')};\n color: ${dt('autocomplete.option.selected.color')};\n}\n\n.p-autocomplete-option-selected.p-focus {\n background: ${dt('autocomplete.option.selected.focus.background')};\n color: ${dt('autocomplete.option.selected.focus.color')};\n}\n\n.p-autocomplete-option-group {\n margin: 0;\n padding: ${dt('autocomplete.option.group.padding')};\n color: ${dt('autocomplete.option.group.color')};\n background: ${dt('autocomplete.option.group.background')};\n font-weight: ${dt('autocomplete.option.group.font.weight')};\n}\n\n.p-autocomplete-input-multiple {\n margin: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n padding: calc(${dt('autocomplete.padding.y')} / 2) ${dt('autocomplete.padding.x')};\n gap: calc(${dt('autocomplete.padding.y')} / 2);\n color: ${dt('autocomplete.color')};\n background: ${dt('autocomplete.background')};\n border: 1px solid ${dt('autocomplete.border.color')};\n border-radius: ${dt('autocomplete.border.radius')};\n width: 100%;\n transition: background ${dt('autocomplete.transition.duration')}, color ${dt('autocomplete.transition.duration')}, border-color ${dt('autocomplete.transition.duration')}, outline-color ${dt('autocomplete.transition.duration')}, box-shadow ${dt(\n 'autocomplete.transition.duration'\n )};\n outline-color: transparent;\n box-shadow: ${dt('autocomplete.shadow')};\n}\n\n.p-autocomplete:not(.p-disabled):hover .p-autocomplete-input-multiple {\n border-color: ${dt('autocomplete.hover.border.color')};\n}\n\n.p-autocomplete:not(.p-disabled).p-focus .p-autocomplete-input-multiple {\n border-color: ${dt('autocomplete.focus.border.color')};\n box-shadow: ${dt('autocomplete.focus.ring.shadow')};\n outline: ${dt('autocomplete.focus.ring.width')} ${dt('autocomplete.focus.ring.style')} ${dt('autocomplete.focus.ring.color')};\n outline-offset: ${dt('autocomplete.focus.ring.offset')};\n}\n\n.p-autocomplete.p-invalid .p-autocomplete-input-multiple {\n border-color: ${dt('autocomplete.invalid.border.color')};\n}\n\n.p-variant-filled.p-autocomplete-input-multiple {\n background: ${dt('autocomplete.filled.background')};\n}\n\n.p-autocomplete:not(.p-disabled):hover .p-variant-filled.p-autocomplete-input-multiple {\n background: ${dt('autocomplete.filled.hover.background')};\n}\n\n.p-autocomplete:not(.p-disabled).p-focus .p-variant-filled.p-autocomplete-input-multiple {\n background: ${dt('autocomplete.filled.focus.background')};\n}\n\n.p-autocomplete.p-disabled {\n opacity: 1;\n}\n\n.p-autocomplete.p-disabled .p-autocomplete-input-multiple {\n opacity: 1;\n background: ${dt('autocomplete.disabled.background')};\n color: ${dt('autocomplete.disabled.color')};\n}\n\n.p-autocomplete-chip.p-chip {\n padding-block-start: calc(${dt('autocomplete.padding.y')} / 2);\n padding-block-end: calc(${dt('autocomplete.padding.y')} / 2);\n border-radius: ${dt('autocomplete.chip.border.radius')};\n}\n\n.p-autocomplete-input-multiple:has(.p-autocomplete-chip) {\n padding-inline-start: calc(${dt('autocomplete.padding.y')} / 2);\n padding-inline-end: calc(${dt('autocomplete.padding.y')} / 2);\n}\n\n.p-autocomplete-chip-item.p-focus .p-autocomplete-chip {\n background: ${dt('autocomplete.chip.focus.background')};\n color: ${dt('autocomplete.chip.focus.color')};\n}\n\n.p-autocomplete-input-chip {\n flex: 1 1 auto;\n display: inline-flex;\n padding-block-start: calc(${dt('autocomplete.padding.y')} / 2);\n padding-block-end: calc(${dt('autocomplete.padding.y')} / 2);\n}\n\n.p-autocomplete-input-chip input {\n border: 0 none;\n outline: 0 none;\n background: transparent;\n margin: 0;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: inherit;\n}\n\n.p-autocomplete-input-chip input::placeholder {\n color: ${dt('autocomplete.placeholder.color')};\n}\n\n.p-autocomplete-empty-message {\n padding: ${dt('autocomplete.empty.message.padding')};\n}\n\n.p-autocomplete-fluid {\n display: flex;\n}\n\n.p-autocomplete-fluid:has(.p-autocomplete-dropdown) .p-autocomplete-input {\n width: 1%;\n}\n\n.p-autocomplete:has(.p-inputtext-sm) .p-autocomplete-dropdown {\n width: ${dt('autocomplete.dropdown.sm.width')};\n}\n\n.p-autocomplete:has(.p-inputtext-sm) .p-autocomplete-dropdown .p-icon {\n font-size: ${dt('form.field.sm.font.size')};\n width: ${dt('form.field.sm.font.size')};\n height: ${dt('form.field.sm.font.size')};\n}\n\n.p-autocomplete:has(.p-inputtext-lg) .p-autocomplete-dropdown {\n width: ${dt('autocomplete.dropdown.lg.width')};\n}\n\n.p-autocomplete:has(.p-inputtext-lg) .p-autocomplete-dropdown .p-icon {\n font-size: ${dt('form.field.lg.font.size')};\n width: ${dt('form.field.lg.font.size')};\n height: ${dt('form.field.lg.font.size')};\n}\n\n.p-autocomplete-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n cursor: pointer;\n right: ${dt('autocomplete.padding.x')};\n color: ${dt('autocomplete.dropdown.color')};\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-clear-icon {\n right: calc(${dt('autocomplete.padding.x')} + ${dt('autocomplete.dropdown.width')});\n}\np-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input,\np-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input-multiple,\np-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input,\np-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input-multiple\np-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input,\np-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input-multiple {\n border-color: ${dt('autocomplete.invalid.border.color')};\n}\np-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input:enabled:focus,\np-autoComplete.ng-invalid.ng-dirty:not(.p-disabled).p-focus .p-autocomplete-input-multiple,\np-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input:enabled:focus,\np-auto-complete.ng-invalid.ng-dirty:not(.p-disabled).p-focus .p-autocomplete-input-multiple,\np-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input:enabled:focus,\np-autocomplete.ng-invalid.ng-dirty:not(.p-disabled).p-focus .p-autocomplete-input-multiple {\n border-color: ${dt('autocomplete.focus.border.color')};\n}\np-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input-chip input::placeholder,\np-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input-chip input::placeholder,\np-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input-chip input::placeholder {\n color: ${dt('autocomplete.invalid.placeholder.color')};\n}\n\np-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input::placeholder,\np-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input::placeholder,\np-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input::placeholder {\n color: ${dt('autocomplete.invalid.placeholder.color')};\n}`;\n\nconst inlineStyles = {\n root: { position: 'relative' }\n};\n\nconst classes = {\n root: ({ instance }) => ({\n 'p-autocomplete p-component p-inputwrapper': true,\n 'p-disabled': instance.disabled,\n 'p-focus': instance.focused,\n 'p-inputwrapper-filled': instance.filled,\n 'p-inputwrapper-focus': (instance.focused && !instance.disabled) || instance.autofocus || instance.overlayVisible,\n 'p-autocomplete-open': instance.overlayVisible,\n 'p-autocomplete-clearable': instance.showClear && !instance.disabled,\n // 'p-invalid': instance.invalid,\n 'p-autocomplete-fluid': instance.hasFluid\n }),\n pcInput: 'p-autocomplete-input',\n inputMultiple: ({ instance }) => ({\n 'p-autocomplete-input-multiple': true,\n 'p-variant-filled': (instance.variant ?? (instance.config.inputStyle() || instance.config.inputVariant())) === 'filled'\n }),\n chipItem: ({ instance, i }) => [\n 'p-autocomplete-chip-item',\n {\n 'p-focus': instance.focusedMultipleOptionIndex === i\n }\n ],\n pcChip: 'p-autocomplete-chip',\n chipIcon: 'p-autocomplete-chip-icon',\n inputChip: 'p-autocomplete-input-chip',\n loader: 'p-autocomplete-loader',\n dropdown: 'p-autocomplete-dropdown',\n overlay: 'p-autocomplete-overlay p-component',\n list: 'p-autocomplete-list',\n optionGroup: 'p-autocomplete-option-group',\n option: ({ instance, option, i, getItemOptions }) => ({\n 'p-autocomplete-option': true,\n 'p-autocomplete-option-selected': instance.isSelected(option),\n 'p-focus': instance.focusedOptionIndex === instance.getOptionIndex(i, getItemOptions),\n 'p-disabled': instance.isOptionDisabled(option)\n }),\n emptyMessage: 'p-autocomplete-empty-message'\n};\n\n@Injectable()\nexport class AutoCompleteStyle extends BaseStyle {\n name = 'autocomplete';\n\n theme = theme;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * AutoComplete is an input component that provides real-time suggestions while being typed.\n *\n * [Live Demo](https://www.primeng.org/autocomplete/)\n *\n * @module autocompletestyle\n *\n */\nexport enum AutoCompleteClasses {\n /**\n * Class name of the root element\n */\n root = 'p-autocomplete',\n /**\n * Class name of the input element\n */\n pcInput = 'p-autocomplete-input',\n /**\n * Class name of the input multiple element\n */\n inputMultiple = 'p-autocomplete-input-multiple',\n /**\n * Class name of the chip item element\n */\n chipItem = 'p-autocomplete-chip-item',\n /**\n * Class name of the chip element\n */\n pcChip = 'p-autocomplete-chip',\n /**\n * Class name of the chip icon element\n */\n chipIcon = 'p-autocomplete-chip-icon',\n /**\n * Class name of the input chip element\n */\n inputChip = 'p-autocomplete-input-chip',\n /**\n * Class name of the loader element\n */\n loader = 'p-autocomplete-loader',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'p-autocomplete-dropdown',\n /**\n * Class name of the panel element\n */\n panel = 'p-autocomplete-overlay',\n /**\n * Class name of the list element\n */\n list = 'p-autocomplete-list',\n /**\n * Class name of the option group element\n */\n optionGroup = 'p-autocomplete-option-group',\n /**\n * Class name of the option element\n */\n option = 'p-autocomplete-option',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-autocomplete-empty-message'\n}\n\nexport interface AutoCompleteStyle extends BaseStyle {}\n","import { AnimationEvent } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n effect,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Input,\n NgModule,\n NgZone,\n numberAttribute,\n OnDestroy,\n Output,\n QueryList,\n signal,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { equals, findLastIndex, findSingle, focus, isEmpty, isNotEmpty, resolveFieldData, uuid } from '@primeuix/utils';\nimport { OverlayOptions, OverlayService, PrimeTemplate, ScrollerOptions, SharedModule, TranslationKeys } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Chip } from 'primeng/chip';\nimport { PrimeNG } from 'primeng/config';\nimport { ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { ChevronDownIcon, SpinnerIcon, TimesCircleIcon, TimesIcon } from 'primeng/icons';\nimport { InputText } from 'primeng/inputtext';\nimport { Overlay } from 'primeng/overlay';\nimport { Ripple } from 'primeng/ripple';\nimport { Scroller } from 'primeng/scroller';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { AutoCompleteCompleteEvent, AutoCompleteDropdownClickEvent, AutoCompleteLazyLoadEvent, AutoCompleteSelectEvent, AutoCompleteUnselectEvent } from './autocomplete.interface';\nimport { AutoCompleteStyle } from './style/autocompletestyle';\n\nexport const AUTOCOMPLETE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutoComplete),\n multi: true\n};\n/**\n * AutoComplete is an input component that provides real-time suggestions when being typed.\n * @group Components\n */\n@Component({\n selector: 'p-autoComplete, p-autocomplete, p-auto-complete',\n standalone: true,\n imports: [CommonModule, Overlay, InputText, Ripple, Scroller, AutoFocus, TimesCircleIcon, SpinnerIcon, TimesIcon, ChevronDownIcon, Chip, SharedModule],\n template: `\n <div #container [ngClass]=\"rootClass\" [ngStyle]=\"style\" style=\"position: relative;\" [class]=\"styleClass\" (click)=\"onContainerClick($event)\">\n <input\n *ngIf=\"!multiple\"\n #focusInput\n [pAutoFocus]=\"autofocus\"\n pInputText\n [ngClass]=\"'p-autocomplete-input'\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n [type]=\"type\"\n [attr.value]=\"inputValue()\"\n [variant]=\"variant\"\n [attr.id]=\"inputId\"\n [autocomplete]=\"autocomplete\"\n [required]=\"required\"\n [name]=\"name\"\n aria-autocomplete=\"list\"\n role=\"combobox\"\n [attr.placeholder]=\"placeholder\"\n [pSize]=\"size\"\n [attr.maxlength]=\"maxlength\"\n [tabindex]=\"!disabled ? tabindex : -1\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id + '_list' : null\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onInputPaste($event)\"\n (keyup)=\"onInputKeyUp($event)\"\n [fluid]=\"hasFluid\"\n />\n <ng-container *ngIf=\"filled && !disabled && showClear && !loading\">\n <TimesIcon *ngIf=\"!clearIconTemplate && !_clearIconTemplate\" [styleClass]=\"'p-autocomplete-clear-icon'\" (click)=\"clear()\" [attr.aria-hidden]=\"true\" />\n <span *ngIf=\"clearIconTemplate || _clearIconTemplate\" class=\"p-autocomplete-clear-icon\" (click)=\"clear()\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate || _clearIconTemplate\"></ng-template>\n </span>\n </ng-container>\n\n <ul\n *ngIf=\"multiple\"\n #multiContainer\n [ngClass]=\"inputMultipleClass\"\n [tabindex]=\"-1\"\n role=\"listbox\"\n [attr.aria-orientation]=\"'horizontal'\"\n [attr.aria-activedescendant]=\"focused ? focusedMultipleOptionId : undefined\"\n (focus)=\"onMultipleContainerFocus($event)\"\n (blur)=\"onMultipleContainerBlur($event)\"\n (keydown)=\"onMultipleContainerKeyDown($event)\"\n >\n <li\n #token\n *ngFor=\"let option of modelValue(); let i = index\"\n [ngClass]=\"{ 'p-autocomplete-chip-item': true, 'p-focus': focusedMultipleOptionIndex() === i }\"\n [attr.id]=\"id + '_multiple_option_' + i\"\n role=\"option\"\n [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-setsize]=\"modelValue().length\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-selected]=\"true\"\n >\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate || _selectedItemTemplate; context: { $implicit: option }\"></ng-container>\n <p-chip styleClass=\"p-autocomplete-chip\" *ngIf=\"!selectedItemTemplate && !_selectedItemTemplate\" [label]=\"getOptionLabel(option)\" [removable]=\"true\" (onRemove)=\"!readonly ? removeOption($event, i) : ''\">\n <ng-container *ngIf=\"!removeIconTemplate && !_removeIconTemplate\">\n <ng-template #removeicon>\n <span class=\"p-autocomplete-chip-icon\" (click)=\"!readonly ? removeOption($event, i) : ''\">\n <TimesCircleIcon [styleClass]=\"'p-autocomplete-chip-icon'\" [attr.aria-hidden]=\"true\" />\n </span>\n </ng-template>\n </ng-container>\n </p-chip>\n <span *ngIf=\"removeIconTemplate || _removeIconTemplate\">\n <ng-template *ngTemplateOutlet=\"removeIconTemplate || _removeIconTemplate; context: { class: 'p-autocomplete-chip-icon', removeCallback: removeOption.bind(this), index: i }\"></ng-template>\n </span>\n </li>\n <li class=\"p-autocomplete-input-chip\" role=\"option\">\n <input\n #focusInput\n [pAutoFocus]=\"autofocus\"\n [ngClass]=\"inputClass\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n [attr.type]=\"type\"\n [attr.id]=\"inputId\"\n [autocomplete]=\"autocomplete\"\n [required]=\"required\"\n [attr.name]=\"name\"\n role=\"combobox\"\n [attr.placeholder]=\"!filled ? placeholder : null\"\n aria-autocomplete=\"list\"\n [attr.maxlength]=\"maxlength\"\n [tabindex]=\"!disabled ? tabindex : -1\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id + '_list' : null\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onInputPaste($event)\"\n (keyup)=\"onInputKeyUp($event)\"\n />\n </li>\n </ul>\n <ng-container *ngIf=\"loading\">\n <SpinnerIcon *ngIf=\"!loadingIconTemplate && !_loadingIconTemplate\" [styleClass]=\"'p-autocomplete-loader'\" [spin]=\"true\" [attr.aria-hidden]=\"true\" />\n <span *ngIf=\"loadingIconTemplate || _loadingIconTemplate\" class=\"p-autocomplete-loader pi-spin \" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate || _loadingIconTemplate\"></ng-template>\n </span>\n </ng-container>\n <button #ddBtn type=\"button\" [attr.aria-label]=\"dropdownAriaLabel\" class=\"p-autocomplete-dropdown\" [disabled]=\"disabled\" pRipple (click)=\"handleDropdownClick($event)\" *ngIf=\"dropdown\" [attr.tabindex]=\"tabindex\">\n <span *ngIf=\"dropdownIcon\" [ngClass]=\"dropdownIcon\" [attr.aria-hidden]=\"true\"></span>\n <ng-container *ngIf=\"!dropdownIcon\">\n <ChevronDownIcon *ngIf=\"!dropdownIconTemplate && !_dropdownIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate || _dropdownIconTemplate\"></ng-template>\n </ng-container>\n </button>\n <p-overlay\n #overlay\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions\"\n [target]=\"'@parent'\"\n [appendTo]=\"appendTo\"\n [showTransitionOptions]=\"showTransitionOptions\"\n [hideTransitionOptions]=\"hideTransitionOptions\"\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template #content>\n <div [ngClass]=\"panelClass\" [ngStyle]=\"panelStyle\" [class]=\"panelStyleClass\">\n <ng-container *ngTemplateOutlet=\"headerTemplate || _headerTemplate\"></ng-container>\n <div class=\"p-autocomplete-list-container\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight\">\n <p-scroller\n *ngIf=\"virtualScroll\"\n #scroller\n [items]=\"visibleOptions()\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize || _itemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"loaderTemplate || _loaderTemplate\">\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate || _loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n </ng-container>\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: visibleOptions(), options: {} }\"></ng-container>\n </ng-container>\n </div>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items class=\"p-autocomplete-list\" [ngClass]=\"scrollerOptions.contentStyleClass\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\" [attr.id]=\"id + '_list'\" [attr.aria-label]=\"listLabel\">\n <ng-template ngFor let-option [ngForOf]=\"items\" let-i=\"index\">\n <ng-container *ngIf=\"isOptionGroup(option)\">\n <li [attr.id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\" class=\"p-autocomplete-option-group\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n </ng-container>\n <ng-container *ngIf=\"!isOptionGroup(option)\">\n <li\n pRipple\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n [ngClass]=\"optionClass(option, i, scrollerOptions)\"\n [attr.id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\"\n role=\"option\"\n [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-selected]=\"isSelected(option)\"\n [attr.aria-disabled]=\"isOptionDisabled(option)\"\n [attr.data-p-focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\n [attr.aria-setsize]=\"ariaSetSize\"\n [attr.aria-posinset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n (click)=\"onOptionSelect($event, option)\"\n (mouseenter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n >\n <span *ngIf=\"!itemTemplate && !_itemTemplate\">{{ getOptionLabel(option) }}</span>\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate || _itemTemplate;\n context: {\n $implicit: option,\n index: scrollerOptions.getOptions ? scrollerOptions.getOptions(i) : i\n }\n \"\n ></ng-container>\n </li>\n </ng-container>\n </ng-template>\n <li *ngIf=\"!items || (items && items.length === 0 && showEmptyMessage)\" class=\"p-autocomplete-empty-message\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n <ng-container *ngIf=\"!emptyTemplate && !_emptyTemplate; else empty\">\n {{ searchResultMessageText }}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate || _emptyTemplate\"></ng-container>\n </li>\n </ul>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"footerTemplate || _footerTemplate\"></ng-container>\n </div>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\">\n {{ selectedMessageText }}\n </span>\n </ng-template>\n </p-overlay>\n </div>\n `,\n providers: [AUTOCOMPLETE_VALUE_ACCESSOR, AutoCompleteStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class AutoComplete extends BaseComponent implements AfterViewChecked, AfterContentInit, OnDestroy, ControlValueAccessor {\n /**\n * Minimum number of characters to initiate a search.\n * @group Props\n */\n @Input({ transform: numberAttribute }) minLength: number = 1;\n /**\n * Delay between keystrokes to wait before sending a query.\n * @group Props\n */\n @Input({ transform: numberAttribute }) delay: number = 300;\n /**\n * Inline style of the component.\n * @group Props\n */\n @Input() style: { [klass: string]: any } | null | undefined;\n /**\n * Inline style of the overlay panel element.\n * @group Props\n */\n @Input() panelStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n @Input() panelStyleClass: string | undefined;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() inputStyle: { [klass: string]: any } | null | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() inputStyleClass: string | undefined;\n /**\n * Hint text for the input field.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * When present, it specifies that the input cannot be typed.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * When present, it specifies that the component should be disabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) disabled: boolean | undefined;\n /**\n * Maximum height of the suggestions panel.\n * @group Props\n */\n @Input() scrollHeight: string = '200px';\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) lazy: boolean = false;\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) virtualScroll: boolean | undefined;\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n @Input({ transform: numberAttribute }) virtualScrollItemSize: number | undefined;\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n @Input() virtualScrollOptions: ScrollerOptions | undefined;\n /**\n * Maximum number of character allows in the input field.\n * @group Props\n */\n @Input({ transform: (value: unknown) => numberAttribute(value, null) }) maxlength: number | undefined;\n /**\n * Name of the input element.\n * @group Props\n */\n @Input() name: string | undefined;\n /**\n * When present, it specifies that an input field must be filled out before submitting the form.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) required: boolean | undefined;\n /**\n * Defines the size of the component.\n * @group Props\n */\n @Input() size: 'large' | 'small';\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n /**\n * When enabled, highlights the first item in the list by default.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoHighlight: boolean | undefined;\n /**\n * When present, autocomplete clears the manual input if it does not match of the suggestions to force only accepting values from the suggestions.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) forceSelection: boolean | undefined;\n /**\n * Type of the input, defaults to \"text\".\n * @group Props\n */\n @Input() type: string = 'text';\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Defines a string that labels the dropdown button for accessibility.\n * @group Props\n */\n @Input() dropdownAriaLabel: string | undefined;\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Icon class of the dropdown icon.\n * @group Props\n */\n @Input() dropdownIcon: string | undefined;\n /**\n * Ensures uniqueness of selected items on multiple mode.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) unique: boolean = true;\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) group: boolean | undefined;\n /**\n * Whether to run a query when input receives focus.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) completeOnFocus: boolean = false;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showClear: boolean = false;\n /**\n * Field of a suggested object to resolve and display.\n * @group Props\n * @deprecated use optionLabel property instead\n */\n @Input() field: string | undefined;\n /**\n * Displays a button next to the input field when enabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dropdown: boolean | undefined;\n /**\n * Whether to show the empty message or not.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showEmptyMessage: boolean | undefined = true;\n /**\n * Specifies the behavior dropdown button. Default \"blank\" mode sends an empty string and \"current\" mode sends the input value.\n * @group Props\n */\n @Input() dropdownMode: string = 'blank';\n /**\n * Specifies if multiple values can be selected.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) multiple: boolean | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: string | undefined;\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n @Input() emptyMessage: string | undefined;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n @Input() autocomplete: string = 'off';\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n @Input() optionGroupChildren: string | undefined = 'items';\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n @Input() optionGroupLabel: string | undefined = 'label';\n /**\n * Options for the overlay element.\n * @group Props\n */\n @Input() overlayOptions: OverlayOptions | undefined;\n /**\n * An array of suggestions to display.\n * @group Props\n */\n @Input() get suggestions(): any[] {\n return this._suggestions();\n }\n set suggestions(value: any[]) {\n this._suggestions.set(value);\n this.handleSuggestionsChange();\n }\n /**\n * Element dimensions of option for virtual scrolling.\n * @group Props\n * @deprecated use virtualScrollItemSize property instead.\n */\n @Input() get itemSize(): number {\n return this._itemSize as number;\n }\n set itemSize(val: number) {\n this._itemSize = val;\n console.log('The itemSize property is deprecated, use virtualScrollItemSize property instead.');\n }\n /**\n * Property name or getter function to use as the label of an option.\n * @group Props\n */\n @Input() optionLabel: string | ((item: any) => string) | undefined;\n /**\n * Property name or getter function to use as the value of an option.\n * @group Props\n */\n @Input() optionValue: string | ((item: any) => string) | undefined;\n /**\n * Unique identifier of the component.\n * @group Props\n */\n @Input() id: string | undefined;\n /**\n * Text to display when the search is active. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} results are available'\n */\n @Input() searchMessage: string | undefined;\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue 'No selected item'\n */\n @Input() emptySelectionMessage: string | undefined;\n /**\n * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} items selected'\n */\n @Input() selectionMessage: string | undefined;\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoOptionFocus: boolean | undefined = false;\n /**\n * When enabled, the focused option is selected.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) selectOnFocus: boolean | undefined;\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) searchLocale: boolean | undefined;\n /**\n * Property name or getter function to use as the disabled flag of an option, defaults to false when not defined.\n * @group Props\n */\n @Input() optionDisabled: string | ((item: any) => string) | undefined;\n /**\n * When enabled, the hovered option will be focused.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) focusOnHover: boolean | undefined = true;\n /**\n * Whether typeahead is active or not.\n * @defaultValue true\n * @group Props\n */\n @Input({ transform: booleanAttribute }) typeahead: boolean = true;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n @Input() variant: 'filled' | 'outlined';\n /**\n * Spans 100% width of the container when enabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) fluid: boolean = false;\n /**\n * Callback to invoke to search for suggestions.\n * @param {AutoCompleteCompleteEvent} event - Custom complete event.\n * @group Emits\n */\n @Output() completeMethod: EventEmitter<AutoCompleteCompleteEvent> = new EventEmitter<AutoCompleteCompleteEvent>();\n /**\n * Callback to invoke when a suggestion is selected.\n * @param {AutoCompleteSelectEvent} event - custom select event.\n * @group Emits\n */\n @Output() onSelect: EventEmitter<AutoCompleteSelectEvent> = new EventEmitter<AutoCompleteSelectEvent>();\n /**\n * Callback to invoke when a selected value is removed.\n * @param {AutoCompleteUnselectEvent} event - custom unselect event.\n * @group Emits\n */\n @Output() onUnselect: EventEmitter<AutoCompleteUnselectEvent> = new EventEmitter<AutoCompleteUnselectEvent>();\n /**\n * Callback to invoke when the component receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter();\n /**\n * Callback to invoke when the component loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter();\n /**\n * Callback to invoke to when dropdown button is clicked.\n * @param {AutoCompleteDropdownClickEvent} event - custom dropdown click event.\n * @group Emits\n */\n @Output() onDropdownClick: EventEmitter<AutoCompleteDropdownClickEvent> = new EventEmitter<AutoCompleteDropdownClickEvent>();\n /**\n * Callback to invoke when clear button is clicked.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onClear: EventEmitter<Event | undefined> = new EventEmitter<Event | undefined>();\n /**\n * Callback to invoke on input key up.\n * @param {KeyboardEvent} event - Keyboard event.\n * @group Emits\n */\n @Output() onKeyUp: EventEmitter<KeyboardEvent> = new EventEmitter();\n /**\n * Callback to invoke on overlay is shown.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onShow: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on overlay is hidden.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onHide: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on lazy load data.\n * @param {AutoCompleteLazyLoadEvent} event - Lazy load event.\n * @group Emits\n */\n @Output() onLazyLoad: EventEmitter<AutoCompleteLazyLoadEvent> = new EventEmitter<AutoCompleteLazyLoadEvent>();\n\n @ViewChild('container') containerEL: Nullable<ElementRef>;\n\n @ViewChild('focusInput') inputEL: Nullable<ElementRef>;\n\n @ViewChild('multiIn') multiInputEl: Nullable<ElementRef>;\n\n @ViewChild('multiContainer') multiContainerEL: Nullable<ElementRef>;\n\n @ViewChild('ddBtn') dropdownButton: Nullable<ElementRef>;\n\n @ViewChild('items') itemsViewChild: Nullable<ElementRef>;\n\n @ViewChild('scroller') scroller: Nullable<Scroller>;\n\n @ViewChild('overlay') overlayViewChild!: Overlay;\n\n _itemSize: Nullable<number>;\n\n itemsWrapper: Nullable<HTMLDivElement>;\n\n /**\n * Custom item template.\n * @group Templates\n */\n @ContentChild('item') itemTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n @ContentChild('empty') emptyTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom header template.\n * @group Templates\n */\n @ContentChild('header') headerTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom footer template.\n * @group Templates\n */\n @ContentChild('footer') footerTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom selected item template.\n * @group Templates\n */\n @ContentChild('selecteditem') selectedItemTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom group item template.\n * @group Templates\n */\n @ContentChild('group') groupTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom loader template.\n * @group Templates\n */\n @ContentChild('loader') loaderTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom remove icon template.\n * @group Templates\n */\n @ContentChild('removeicon') removeIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom loading icon template.\n * @group Templates\n */\n @ContentChild('loadingicon') loadingIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n @ContentChild('clearicon') clearIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n @ContentChild('dropdownicon') dropdownIconTemplate: Nullable<TemplateRef<any>>;\n\n private primeng = inject(PrimeNG);\n\n value: string | any;\n\n _suggestions = signal<any>(null);\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n timeout: Nullable<any>;\n\n overlayVisible: boolean | undefined;\n\n suggestionsUpdated: Nullable<boolean>;\n\n highlightOption: any;\n\n highlightOptionChanged: Nullable<boolean>;\n\n focused: boolean = false;\n\n _filled: boolean;\n\n get filled() {\n return this._filled;\n }\n set filled(value: any) {\n this._filled = value;\n }\n\n loading: Nullable<boolean>;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n listId: string | undefined;\n\n searchTimeout: any;\n\n dirty: boolean = false;\n\n _itemTemplate: TemplateRef<any>;\n\n _groupTemplate: TemplateRef<any>;\n\n _selectedItemTemplate: TemplateRef<any>;\n\n _headerTemplate: TemplateRef<any>;\n\n _emptyTemplate: TemplateRef<any>;\n\n _footerTemplate: TemplateRef<any>;\n\n _loaderTemplate: TemplateRef<any>;\n\n _removeIconTemplate: TemplateRef<any>;\n\n _loadingIconTemplate: TemplateRef<any>;\n\n _clearIconTemplate: TemplateRef<any>;\n\n _dropdownIconTemplate: TemplateRef<any>;\n\n modelValue = signal<any>(null);\n\n focusedMultipleOptionIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n _componentStyle = inject(AutoCompleteStyle);\n\n visibleOptions = computed(() => {\n return this.group ? this.flatOptions(this._suggestions()) : this._suggestions() || [];\n });\n\n inputValue = computed(() => {\n const modelValue = this.modelValue();\n const selectedOption = this.optionValueSelected ? (this.suggestions || []).find((item: any) => resolveFieldData(item, this.optionValue) === modelValue) : modelValue;\n\n if (isNotEmpty(modelValue)) {\n if (typeof modelValue === 'object' || this.optionValueSelected) {\n const label = this.getOptionLabel(selectedOption);\n\n return label != null ? label : modelValue;\n } else {\n return modelValue;\n }\n } else {\n return '';\n }\n });\n\n get focusedMultipleOptionId() {\n return this.focusedMultipleOptionIndex() !== -1 ? `${this.id}_multiple_option_${this.focusedMultipleOptionIndex()}` : null;\n }\n\n get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.id}_${this.focusedOptionIndex()}` : null;\n }\n\n get rootClass() {\n return this._componentStyle.classes.root({ instance: this });\n }\n\n get inputMultipleClass() {\n return this._componentStyle.classes.inputMultiple({ instance: this });\n }\n\n get panelClass() {\n return {\n 'p-autocomplete-overlay p-component': true,\n 'p-input-filled': this.config.inputStyle() === 'filled' || this.config.inputVariant() === 'filled',\n 'p-ripple-disabled': this.config.ripple() === false\n };\n }\n\n get inputClass() {\n return {\n 'p-autocomplete-input': !this.multiple,\n 'p-autocomplete-dd-input': this.dropdown\n };\n }\n\n get searchResultMessageText() {\n return isNotEmpty(this.visibleOptions()) && this.overlayVisible ? this.searchMessageText.replaceAll('{0}', this.visibleOptions().length) : this.emptySearchMessageText;\n }\n\n get searchMessageText() {\n return this.searchMessage || this.config.translation.searchMessage || '';\n }\n\n get emptySearchMessageText() {\n return this.emptyMessage || this.config.translation.emptySearchMessage || '';\n }\n\n get selectionMessageText() {\n return this.selectionMessage || this.config.translation.selectionMessage || '';\n }\n\n get emptySelectionMessageText() {\n return this.emptySelectionMessage || this.config.translation.emptySelectionMessage || '';\n }\n\n get selectedMessageText() {\n return this.hasSelectedOption() ? this.selectionMessageText.replaceAll('{0}', this.multiple ? this.modelValue().length : '1') : this.emptySelectionMessageText;\n }\n\n get ariaSetSize() {\n return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;\n }\n\n get listLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];\n }\n\n get virtualScrollerDisabled() {\n return !this.virtualScroll;\n }\n\n get optionValueSelected() {\n return typeof this.modelValue() === 'string' && this.optionValue;\n }\n\n chipItemClass(index) {\n return this._componentStyle.classes.chipItem({ instance: this, i: index });\n }\n\n optionClass(option, i, scrollerOptions) {\n return {\n 'p-autocomplete-option': true,\n 'p-autocomplete-option-selected': this.isSelected(option),\n 'p-focus': this.focusedOptionIndex() === this.getOptionIndex(i, scrollerOptions),\n 'p-disabled': this.isOptionDisabled(option)\n };\n }\n\n constructor(\n public overlayService: OverlayService,\n private zone: NgZone\n ) {\n super();\n effect(() => {\n this.filled = isNotEmpty(this.modelValue());\n });\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.id = this.id || uuid('pn_id_');\n this.cd.detectChanges();\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this._itemTemplate = item.template;\n break;\n\n case 'group':\n this._groupTemplate = item.template;\n break;\n\n case 'selecteditem':\n this._selectedItemTemplate = item.template;\n break;\n\n case 'selectedItem':\n this._selectedItemTemplate = item.template;\n break;\n\n case 'header':\n this._headerTemplate = item.template;\n break;\n\n case 'empty':\n this._emptyTemplate = item.template;\n break;\n\n case 'footer':\n this._footerTemplate = item.template;\n break;\n\n case 'loader':\n this._loaderTemplate = item.template;\n break;\n\n case 'removetokenicon':\n this._removeIconTemplate = item.template;\n break;\n\n case 'loadingicon':\n this._loadingIconTemplate = item.template;\n break;\n\n case 'clearicon':\n this._clearIconTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this._dropdownIconTemplate = item.template;\n break;\n\n default:\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewChecked() {\n //Use timeouts as since Angular 4.2, AfterViewChecked is broken and not called after panel is updated\n if (this.suggestionsUpdated && this.overlayViewChild) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n if (this.overlayViewChild) {\n this.overlayViewChild.alignOverlay();\n }\n }, 1);\n this.suggestionsUpdated = false;\n });\n }\n }\n\n handleSuggestionsChange() {\n if (this.loading) {\n this._suggestions()?.length > 0 || this.showEmptyMessage || !!this.emptyTemplate ? this.show() : this.hide();\n const focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.suggestionsUpdated = true;\n this.loading = false;\n this.cd.markForCheck();\n }\n }\n\n flatOptions(options) {\n return (options || []).reduce((result, option, index) => {\n result.push({ optionGroup: option, group: true, index });\n\n const optionGroupChildren = this.getOptionGroupChildren(option);\n\n optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n\n return result;\n }, []);\n }\n\n isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextOptionIndex(index) {\n const matchedOptionIndex =\n index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n }\n\n isSelected(option) {\n if (this.multiple) {\n return this.unique ? this.modelValue()?.find((model) => equals(model, this.getOptionValue(option), this.equalityKey())) : false;\n }\n return equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());\n }\n\n isOptionMatched(option, value) {\n return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale) === value.toLocaleLowerCase(this.searchLocale);\n }\n\n isInputClicked(event) {\n return event.target === this.inputEL.nativeElement;\n }\n isDropdownClicked(event) {\n return this.dropdownButton?.nativeElement ? event.target === this.dropdownButton.nativeElement || this.dropdownButton.nativeElement.contains(event.target) : false;\n }\n equalityKey() {\n return this.dataKey; // TODO: The 'optionValue' properties can be added.\n }\n\n onContainerClick(event) {\n if (this.disabled || this.loading || this.isInputClicked(event) || this.isDropdownClicked(event)) {\n return;\n }\n\n if (!this.overlayViewChild || !this.overlayViewChild.overlayViewChild?.nativeElement.contains(event.target)) {\n focus(this.inputEL.nativeElement);\n }\n }\n\n handleDropdownClick(event) {\n let query = undefined;\n\n if (this.overlayVisible) {\n this.hide(true);\n } else {\n focus(this.inputEL.nativeElement);\n query = this.inputEL.nativeElement.value;\n\n if (this.dropdownMode === 'blank') this.search(event, '', 'dropdown');\n else if (this.dropdownMode === 'current') this.search(event, query, 'dropdown');\n }\n\n this.onDropdownClick.emit({ originalEvent: event, query });\n }\n\n onInput(event) {\n if (this.typeahead) {\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n let query = event.target.value;\n if (this.maxlength !== null) {\n query = query.split('').slice(0, this.maxlength).join('');\n }\n\n if (!this.multiple && !this.forceSelection) {\n this.updateModel(query);\n }\n\n if (query.length === 0 && !this.multiple) {\n this.onClear.emit();\n\n setTimeout(() => {\n this.hide();\n }, this.delay / 2);\n } else {\n if (query.length >= this.minLength) {\n this.focusedOptionIndex.set(-1);\n\n this.searchTimeout = setTimeout(() => {\n this.search(event, query, 'input');\n }, this.delay);\n } else {\n this.hide();\n }\n }\n }\n }\n\n onInputChange(event) {\n if (this.forceSelection) {\n let valid = false;\n\n if (this.visibleOptions()) {\n const matchedValue = this.visibleOptions().find((option) => this.isOptionMatched(option, this.inputEL.nativeElement.value || ''));\n\n if (matchedValue !== undefined) {\n valid = true;\n !this.isSelected(matchedValue) && this.onOptionSelect(event, matchedValue);\n }\n }\n\n if (!valid) {\n this.inputEL.nativeElement.value = '';\n !this.multiple && this.updateModel(null);\n }\n }\n }\n\n onInputFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n\n if (!this.dirty && this.completeOnFocus) {\n this.search(event, event.target.value, 'focus');\n }\n this.dirty = true;\n this.focused = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.overlayVisible && this.scrollInView(this.focusedOptionIndex());\n this.onFocus.emit(event);\n }\n\n onMultipleContainerFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n }\n\n onMultipleContainerBlur(event) {\n this.focusedMultipleOptionIndex.set(-1);\n this.focused = false;\n }\n\n onMultipleContainerKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOnMultiple(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOnMultiple(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOnMultiple(event);\n break;\n\n default:\n break;\n }\n }\n\n onInputBlur(event) {\n this.dirty = false;\n this.focused = false;\n this.focusedOptionIndex.set(-1);\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onInputPaste(event) {\n this.onKeyDown(event);\n }\n\n onInputKeyUp(event) {\n this.onKeyUp.emit(event);\n }\n\n onKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKey(event);\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n break;\n }\n }\n\n onArrowDownKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n onArrowUpKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n if (event.altKey) {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n get hasFluid() {\n const nativeElement = this.el.nativeElement;\n const fluidComponent = nativeElement.closest('p-fluid');\n return this.fluid || !!fluidComponent;\n }\n\n onArrowLeftKey(event) {\n const target = event.currentTarget;\n this.focusedOptionIndex.set(-1);\n if (this.multiple) {\n if (isEmpty(target.value) && this.hasSelectedOption()) {\n focus(this.multiContainerEL.nativeElement);\n this.focusedMultipleOptionIndex.set(this.modelValue().length);\n } else {\n event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method\n }\n }\n }\n\n onArrowRightKey(event) {\n this.focusedOptionIndex.set(-1);\n\n this.multiple && event.stopPropagation(); // To prevent onArrowRightKeyOnMultiple method\n }\n\n onHomeKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onEndKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onPageDownKey(event) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onEnterKey(event) {\n if (!this.typeahead) {\n if (this.multiple) {\n this.updateModel([...(this.modelValue() || []), event.target.value]);\n this.inputEL.nativeElement.value = '';\n }\n }\n if (!this.overlayVisible) {\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.hide();\n }\n\n event.preventDefault();\n }\n\n onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n }\n\n onTabKey(event) {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.overlayVisible && this.hide();\n }\n\n onBackspaceKey(event) {\n if (this.multiple) {\n if (isNotEmpty(this.modelValue()) && !this.inputEL.nativeElement.value) {\n const removedValue = this.modelValue()[this.modelValue().length - 1];\n const newValue = this.modelValue().slice(0, -1);\n this.updateModel(newValue);\n this.onUnselect.emit({ originalEvent: event, value: removedValue });\n }\n\n event.stopPropagation(); // To prevent onBackspaceKeyOnMultiple method\n }\n\n if (!this.multiple && this.showClear && this.findSelectedOptionIndex() != -1) {\n this.clear();\n }\n }\n\n onArrowLeftKeyOnMultiple(event) {\n const optionIndex = this.focusedMultipleOptionIndex() < 1 ? 0 : this.focusedMultipleOptionIndex() - 1;\n this.focusedMultipleOptionIndex.set(optionIndex);\n }\n\n onArrowRightKeyOnMultiple(event) {\n let optionIndex = this.focusedMultipleOptionIndex();\n optionIndex++;\n\n this.focusedMultipleOptionIndex.set(optionIndex);\n if (optionIndex > this.modelValue().length - 1) {\n this.focusedMultipleOptionIndex.set(-1);\n focus(this.inputEL.nativeElement);\n }\n }\n\n onBackspaceKeyOnMultiple(event) {\n if (this.focusedMultipleOptionIndex() !== -1) {\n this.removeOption(event, this.focusedMultipleOptionIndex());\n }\n }\n\n onOptionSelect(event, option, isHide = true) {\n const value = this.getOptionValue(option);\n\n if (this.multiple) {\n this.inputEL.nativeElement.value = '';\n\n if (!this.isSelected(option)) {\n this.updateModel([...(this.modelValue() || []), value]);\n }\n } else {\n this.updateModel(value);\n }\n\n this.onSelect.emit({ originalEvent: event, value: option });\n\n isHide && this.hide(true);\n }\n\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n search(event, query, source) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n }\n\n //do not search blank values on input change\n if (source === 'input' && query.trim().length === 0) {\n return;\n }\n this.loading = true;\n this.completeMethod.emit({ originalEvent: event, query });\n }\n\n removeOption(event, index) {\n event.stopPropagation();\n\n const removedOption = this.modelValue()[index];\n const value = this.modelValue().filter((_, i) => i !== index);\n\n this.updateModel(value);\n this.onUnselect.emit({ originalEvent: event, value: removedOption });\n focus(this.inputEL.nativeElement);\n }\n\n updateModel(value) {\n this.value = value;\n this.modelValue.set(value);\n this.onModelChange(value);\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n updateInputValue() {\n if (this.inputEL && this.inputEL.nativeElement) {\n if (!this.multiple) {\n this.inputEL.nativeElement.value = this.inputValue();\n } else {\n this.inputEL.nativeElement.value = '';\n }\n }\n }\n\n autoUpdateModel() {\n if ((this.selectOnFocus || this.autoHighlight) && this.autoOptionFocus && !this.hasSelectedOption()) {\n const focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);\n }\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;\n if (this.itemsViewChild && this.itemsViewChild.nativeElement) {\n const element = findSingle(this.itemsViewChild.nativeElement, `li[id=\"${id}\"]`);\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n setTimeout(() => {\n this.virtualScroll && this.scroller?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }, 0);\n }\n }\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n\n if (this.selectOnFocus) {\n this.onOptionSelect(event, this.visibleOptions()[index], false);\n }\n }\n }\n\n show(isFocus = false) {\n this.dirty = true;\n this.overlayVisible = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n isFocus && focus(this.inputEL.nativeElement);\n if (isFocus) {\n focus(this.inputEL.nativeElement);\n }\n this.onShow.emit();\n this.cd.markForCheck();\n }\n\n hide(isFocus = false) {\n const _hide = () => {\n this.dirty = isFocus;\n this.overlayVisible = false;\n this.focusedOptionIndex.set(-1);\n isFocus && focus(this.inputEL.nativeElement);\n this.onHide.emit();\n this.cd.markForCheck();\n };\n\n setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n }\n\n clear() {\n this.updateModel(null);\n this.inputEL.nativeElement.value = '';\n this.onClear.emit();\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.modelValue.set(value);\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n hasSelectedOption() {\n return isNotEmpty(this.modelValue());\n }\n\n getAriaPosInset(index) {\n return (\n (this.optionGroupLabel\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1\n );\n }\n\n getOptionLabel(option: any) {\n return this.field || this.optionLabel ? resolveFieldData(option, this.field || this.optionLabel) : option && option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : option && option.value != undefined ? option.value : option;\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel ? resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label != undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren ? resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n if (event.toState === 'visible') {\n this.itemsWrapper = <any>findSingle(this.overlayViewChild.overlayViewChild?.nativeElement, this.virtualScroll ? '.p-scroller' : '.p-autocomplete-panel');\n\n if (this.virtualScroll) {\n this.scroller?.setContentEl(this.itemsViewChild?.nativeElement);\n this.scroller.viewInit();\n }\n if (this.visibleOptions() && this.visibleOptions().length) {\n if (this.virtualScroll) {\n const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;\n\n if (selectedIndex !== -1) {\n this.scroller?.scrollToIndex(selectedIndex);\n }\n } else {\n let selectedListItem = findSingle(this.itemsWrapper, '.p-autocomplete-item.p-highlight');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'center' });\n }\n }\n }\n }\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n super.ngOnDestroy();\n }\n}\n\n@NgModule({\n imports: [AutoComplete],\n exports: [AutoComplete, SharedModule]\n})\nexport class AutoCompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primeng-autocomplete.mjs","sources":["../../src/autocomplete/style/autocompletestyle.ts","../../src/autocomplete/autocomplete.ts","../../src/autocomplete/primeng-autocomplete.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { css, dt } from '@primeuix/styled';\nimport { style } from '@primeuix/styles/autocomplete';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = css`\n ${style}\n\n /* For PrimeNG */\n p-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input,\n p-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input-multiple,\n p-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input,\n p-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input-multiple p-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input,\n p-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input-multiple {\n border-color: ${dt('autocomplete.invalid.border.color')};\n }\n\n p-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input:enabled:focus,\n p-autoComplete.ng-invalid.ng-dirty:not(.p-disabled).p-focus .p-autocomplete-input-multiple,\n p-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input:enabled:focus,\n p-auto-complete.ng-invalid.ng-dirty:not(.p-disabled).p-focus .p-autocomplete-input-multiple,\n p-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input:enabled:focus,\n p-autocomplete.ng-invalid.ng-dirty:not(.p-disabled).p-focus .p-autocomplete-input-multiple {\n border-color: ${dt('autocomplete.focus.border.color')};\n }\n\n p-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input-chip input::placeholder,\n p-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input-chip input::placeholder,\n p-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input-chip input::placeholder {\n color: ${dt('autocomplete.invalid.placeholder.color')};\n }\n\n p-autoComplete.ng-invalid.ng-dirty .p-autocomplete-input::placeholder,\n p-auto-complete.ng-invalid.ng-dirty .p-autocomplete-input::placeholder,\n p-autocomplete.ng-invalid.ng-dirty .p-autocomplete-input::placeholder {\n color: ${dt('autocomplete.invalid.placeholder.color')};\n }\n`;\n\nconst inlineStyles = {\n root: { position: 'relative' }\n};\n\nconst classes = {\n root: ({ instance }) => [\n 'p-autocomplete p-component p-inputwrapper',\n {\n 'p-invalid': instance.invalid(),\n 'p-focus': instance.focused,\n 'p-inputwrapper-filled': instance.$filled(),\n 'p-inputwrapper-focus': (instance.focused && !instance.disabled()) || instance.autofocus || instance.overlayVisible,\n 'p-autocomplete-open': instance.overlayVisible,\n 'p-autocomplete-clearable': instance.showClear && !instance.disabled(),\n 'p-autocomplete-fluid': instance.hasFluid\n }\n ],\n pcInputText: 'p-autocomplete-input',\n inputMultiple: ({ instance }) => [\n 'p-autocomplete-input-multiple',\n {\n 'p-disabled': instance.disabled(),\n 'p-variant-filled': instance.$variant() === 'filled'\n }\n ],\n chipItem: ({ instance, i }) => [\n 'p-autocomplete-chip-item',\n {\n 'p-focus': instance.focusedMultipleOptionIndex() === i\n }\n ],\n pcChip: 'p-autocomplete-chip',\n chipIcon: 'p-autocomplete-chip-icon',\n inputChip: 'p-autocomplete-input-chip',\n loader: 'p-autocomplete-loader',\n dropdown: 'p-autocomplete-dropdown',\n overlay: ({ instance }) => ['p-autocomplete-overlay p-component', { 'p-input-filled': instance.$variant() === 'filled', 'p-ripple-disabled': instance.config.ripple() === false }],\n listContainer: 'p-autocomplete-list-container',\n list: 'p-autocomplete-list',\n optionGroup: 'p-autocomplete-option-group',\n option: ({ instance, option, i, scrollerOptions }) => ({\n 'p-autocomplete-option': true,\n 'p-autocomplete-option-selected': instance.isSelected(option),\n 'p-focus': instance.focusedOptionIndex() === instance.getOptionIndex(i, scrollerOptions),\n 'p-disabled': instance.isOptionDisabled(option)\n }),\n emptyMessage: 'p-autocomplete-empty-message',\n clearIcon: 'p-autocomplete-clear-icon'\n};\n\n@Injectable()\nexport class AutoCompleteStyle extends BaseStyle {\n name = 'autocomplete';\n\n theme = theme;\n\n classes = classes;\n\n inlineStyles = inlineStyles;\n}\n\n/**\n *\n * AutoComplete is an input component that provides real-time suggestions while being typed.\n *\n * [Live Demo](https://www.primeng.org/autocomplete/)\n *\n * @module autocompletestyle\n *\n */\nexport enum AutoCompleteClasses {\n /**\n * Class name of the root element\n */\n root = 'p-autocomplete',\n /**\n * Class name of the input element\n */\n pcInputText = 'p-autocomplete-input',\n /**\n * Class name of the input multiple element\n */\n inputMultiple = 'p-autocomplete-input-multiple',\n /**\n * Class name of the chip item element\n */\n chipItem = 'p-autocomplete-chip-item',\n /**\n * Class name of the chip element\n */\n pcChip = 'p-autocomplete-chip',\n /**\n * Class name of the chip icon element\n */\n chipIcon = 'p-autocomplete-chip-icon',\n /**\n * Class name of the input chip element\n */\n inputChip = 'p-autocomplete-input-chip',\n /**\n * Class name of the loader element\n */\n loader = 'p-autocomplete-loader',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'p-autocomplete-dropdown',\n /**\n * Class name of the panel element\n */\n panel = 'p-autocomplete-overlay',\n /**\n * Class name of the list element\n */\n list = 'p-autocomplete-list',\n /**\n * Class name of the option group element\n */\n optionGroup = 'p-autocomplete-option-group',\n /**\n * Class name of the option element\n */\n option = 'p-autocomplete-option',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-autocomplete-empty-message',\n /**\n * Class name of the clear icon\n */\n clearIcon = 'p-autocomplete-clear-icon'\n}\n\nexport interface AutoCompleteStyle extends BaseStyle {}\n","import { AnimationEvent } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewChecked,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n inject,\n input,\n Input,\n NgModule,\n NgZone,\n numberAttribute,\n OnDestroy,\n Output,\n QueryList,\n signal,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { equals, findLastIndex, findSingle, focus, isEmpty, isNotEmpty, resolveFieldData, uuid } from '@primeuix/utils';\nimport { OverlayOptions, OverlayService, PrimeTemplate, ScrollerOptions, SharedModule, TranslationKeys } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseInput } from 'primeng/baseinput';\nimport { Chip } from 'primeng/chip';\nimport { PrimeNG } from 'primeng/config';\nimport { ConnectedOverlayScrollHandler } from 'primeng/dom';\nimport { ChevronDownIcon, SpinnerIcon, TimesCircleIcon, TimesIcon } from 'primeng/icons';\nimport { InputText } from 'primeng/inputtext';\nimport { Overlay } from 'primeng/overlay';\nimport { Ripple } from 'primeng/ripple';\nimport { Scroller } from 'primeng/scroller';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { AutoCompleteCompleteEvent, AutoCompleteDropdownClickEvent, AutoCompleteLazyLoadEvent, AutoCompleteSelectEvent, AutoCompleteUnselectEvent } from './autocomplete.interface';\nimport { AutoCompleteStyle } from './style/autocompletestyle';\n\nexport const AUTOCOMPLETE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => AutoComplete),\n multi: true\n};\n/**\n * AutoComplete is an input component that provides real-time suggestions when being typed.\n * @group Components\n */\n@Component({\n selector: 'p-autoComplete, p-autocomplete, p-auto-complete',\n standalone: true,\n imports: [CommonModule, Overlay, InputText, Ripple, Scroller, AutoFocus, TimesCircleIcon, SpinnerIcon, TimesIcon, ChevronDownIcon, Chip, SharedModule],\n template: `\n <input\n *ngIf=\"!multiple\"\n #focusInput\n [pAutoFocus]=\"autofocus\"\n pInputText\n [class]=\"cn(cx('pcInputText'), inputStyleClass)\"\n [ngStyle]=\"inputStyle\"\n [attr.type]=\"type\"\n [attr.value]=\"inputValue()\"\n [variant]=\"$variant()\"\n [invalid]=\"invalid()\"\n [attr.id]=\"inputId\"\n [attr.autocomplete]=\"autocomplete\"\n aria-autocomplete=\"list\"\n role=\"combobox\"\n [attr.placeholder]=\"placeholder\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [pSize]=\"size()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"pattern()\"\n [attr.size]=\"inputSize()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.tabindex]=\"!disabled() ? tabindex : -1\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly ? '' : undefined\"\n [attr.disabled]=\"disabled() ? '' : undefined\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required()\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id + '_list' : null\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onInputPaste($event)\"\n (keyup)=\"onInputKeyUp($event)\"\n [fluid]=\"hasFluid\"\n />\n <ng-container *ngIf=\"$filled() && !disabled() && showClear && !loading\">\n <TimesIcon *ngIf=\"!clearIconTemplate && !_clearIconTemplate\" [styleClass]=\"cx('clearIcon')\" (click)=\"clear()\" [attr.aria-hidden]=\"true\" />\n <span *ngIf=\"clearIconTemplate || _clearIconTemplate\" [class]=\"cx('clearIcon')\" (click)=\"clear()\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate || _clearIconTemplate\"></ng-template>\n </span>\n </ng-container>\n\n <ul\n *ngIf=\"multiple\"\n #multiContainer\n [class]=\"cx('inputMultiple')\"\n [tabindex]=\"-1\"\n role=\"listbox\"\n [attr.aria-orientation]=\"'horizontal'\"\n [attr.aria-activedescendant]=\"focused ? focusedMultipleOptionId : undefined\"\n (focus)=\"onMultipleContainerFocus($event)\"\n (blur)=\"onMultipleContainerBlur($event)\"\n (keydown)=\"onMultipleContainerKeyDown($event)\"\n >\n <li\n #token\n *ngFor=\"let option of modelValue(); let i = index\"\n [class]=\"cx('chipItem', { i })\"\n [attr.id]=\"id + '_multiple_option_' + i\"\n role=\"option\"\n [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-setsize]=\"modelValue().length\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-selected]=\"true\"\n >\n <p-chip [class]=\"cx('pcChip')\" [label]=\"!selectedItemTemplate && !_selectedItemTemplate && getOptionLabel(option)\" [removable]=\"true\" (onRemove)=\"!readonly ? removeOption($event, i) : ''\">\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate || _selectedItemTemplate; context: { $implicit: option }\"></ng-container>\n <ng-template #removeicon>\n <span *ngIf=\"!removeIconTemplate && !_removeIconTemplate\" [class]=\"cx('chipIcon')\" (click)=\"!readonly ? removeOption($event, i) : ''\">\n <TimesCircleIcon [styleClass]=\"cx('chipIcon')\" [attr.aria-hidden]=\"true\" />\n </span>\n <span *ngIf=\"removeIconTemplate || _removeIconTemplate\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"removeIconTemplate || _removeIconTemplate; context: { removeCallback: removeOption.bind(this), index: i, class: cx('chipIcon') }\"></ng-template>\n </span>\n </ng-template>\n </p-chip>\n </li>\n <li [class]=\"cx('inputChip')\" role=\"option\">\n <input\n #focusInput\n [pAutoFocus]=\"autofocus\"\n [class]=\"cx('pcInputText')\"\n [ngStyle]=\"inputStyle\"\n [attr.type]=\"type\"\n [attr.id]=\"inputId\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.size]=\"size()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"pattern()\"\n role=\"combobox\"\n [attr.placeholder]=\"!$filled() ? placeholder : null\"\n aria-autocomplete=\"list\"\n [attr.tabindex]=\"!disabled() ? tabindex : -1\"\n [attr.required]=\"required() ? '' : undefined\"\n [attr.readonly]=\"readonly ? '' : undefined\"\n [attr.disabled]=\"disabled() ? '' : undefined\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-required]=\"required()\"\n [attr.aria-expanded]=\"overlayVisible ?? false\"\n [attr.aria-controls]=\"overlayVisible ? id + '_list' : null\"\n [attr.aria-activedescendant]=\"focused ? focusedOptionId : undefined\"\n (input)=\"onInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n (change)=\"onInputChange($event)\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (paste)=\"onInputPaste($event)\"\n (keyup)=\"onInputKeyUp($event)\"\n />\n </li>\n </ul>\n <ng-container *ngIf=\"loading\">\n <SpinnerIcon *ngIf=\"!loadingIconTemplate && !_loadingIconTemplate\" [styleClass]=\"cx('loader')\" [spin]=\"true\" [attr.aria-hidden]=\"true\" />\n <span *ngIf=\"loadingIconTemplate || _loadingIconTemplate\" [class]=\"cx('loader')\" [attr.aria-hidden]=\"true\">\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate || _loadingIconTemplate\"></ng-template>\n </span>\n </ng-container>\n <button #ddBtn type=\"button\" [attr.aria-label]=\"dropdownAriaLabel\" [class]=\"cx('dropdown')\" [disabled]=\"disabled()\" pRipple (click)=\"handleDropdownClick($event)\" *ngIf=\"dropdown\" [attr.tabindex]=\"tabindex\">\n <span *ngIf=\"dropdownIcon\" [ngClass]=\"dropdownIcon\" [attr.aria-hidden]=\"true\"></span>\n <ng-container *ngIf=\"!dropdownIcon\">\n <ChevronDownIcon *ngIf=\"!dropdownIconTemplate && !_dropdownIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate || _dropdownIconTemplate\"></ng-template>\n </ng-container>\n </button>\n <p-overlay\n #overlay\n [hostAttrSelector]=\"attrSelector\"\n [(visible)]=\"overlayVisible\"\n [options]=\"overlayOptions\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n [showTransitionOptions]=\"showTransitionOptions\"\n [hideTransitionOptions]=\"hideTransitionOptions\"\n (onAnimationStart)=\"onOverlayAnimationStart($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template #content>\n <div [class]=\"cn(cx('overlay'), panelStyleClass)\" [ngStyle]=\"panelStyle\">\n <ng-container *ngTemplateOutlet=\"headerTemplate || _headerTemplate\"></ng-container>\n <div [class]=\"cx('listContainer')\" [style.max-height]=\"virtualScroll ? 'auto' : scrollHeight\">\n <p-scroller\n *ngIf=\"virtualScroll\"\n #scroller\n [items]=\"visibleOptions()\"\n [style]=\"{ height: scrollHeight }\"\n [itemSize]=\"virtualScrollItemSize\"\n [autoSize]=\"true\"\n [lazy]=\"lazy\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"loaderTemplate || _loaderTemplate\">\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate || _loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n </ng-container>\n </p-scroller>\n <ng-container *ngIf=\"!virtualScroll\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: visibleOptions(), options: {} }\"></ng-container>\n </ng-container>\n </div>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [class]=\"cn(cx('list'), scrollerOptions.contentStyleClass)\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\" [attr.id]=\"id + '_list'\" [attr.aria-label]=\"listLabel\">\n <ng-template ngFor let-option [ngForOf]=\"items\" let-i=\"index\">\n <ng-container *ngIf=\"isOptionGroup(option)\">\n <li [attr.id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\" [class]=\"cx('optionGroup')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n <span *ngIf=\"!groupTemplate\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n <ng-container *ngTemplateOutlet=\"groupTemplate; context: { $implicit: option.optionGroup }\"></ng-container>\n </li>\n </ng-container>\n <ng-container *ngIf=\"!isOptionGroup(option)\">\n <li\n pRipple\n [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\"\n [class]=\"cx('option', { option, i, scrollerOptions })\"\n [attr.id]=\"id + '_' + getOptionIndex(i, scrollerOptions)\"\n role=\"option\"\n [attr.aria-label]=\"getOptionLabel(option)\"\n [attr.aria-selected]=\"isSelected(option)\"\n [attr.aria-disabled]=\"isOptionDisabled(option)\"\n [attr.data-p-focused]=\"focusedOptionIndex() === getOptionIndex(i, scrollerOptions)\"\n [attr.aria-setsize]=\"ariaSetSize\"\n [attr.aria-posinset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n (click)=\"onOptionSelect($event, option)\"\n (mouseenter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n >\n <span *ngIf=\"!itemTemplate && !_itemTemplate\">{{ getOptionLabel(option) }}</span>\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate || _itemTemplate;\n context: {\n $implicit: option,\n index: scrollerOptions.getOptions ? scrollerOptions.getOptions(i) : i\n }\n \"\n ></ng-container>\n </li>\n </ng-container>\n </ng-template>\n <li *ngIf=\"!items || (items && items.length === 0 && showEmptyMessage)\" [class]=\"cx('emptyMessage')\" [ngStyle]=\"{ height: scrollerOptions.itemSize + 'px' }\" role=\"option\">\n <ng-container *ngIf=\"!emptyTemplate && !_emptyTemplate; else empty\">\n {{ searchResultMessageText }}\n </ng-container>\n <ng-container #empty *ngTemplateOutlet=\"emptyTemplate || _emptyTemplate\"></ng-container>\n </li>\n </ul>\n </ng-template>\n <ng-container *ngTemplateOutlet=\"footerTemplate || _footerTemplate\"></ng-container>\n </div>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\">\n {{ selectedMessageText }}\n </span>\n </ng-template>\n </p-overlay>\n `,\n providers: [AUTOCOMPLETE_VALUE_ACCESSOR, AutoCompleteStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': \"cn(cx('root'), styleClass)\",\n '[style]': \"sx('root')\"\n }\n})\nexport class AutoComplete extends BaseInput implements AfterViewChecked, AfterContentInit, OnDestroy, ControlValueAccessor {\n /**\n * Minimum number of characters to initiate a search.\n * @deprecated since v20.0.0, use `minQueryLength` instead.\n * @group Props\n */\n @Input({ transform: numberAttribute }) minLength: number = 1;\n /**\n * Minimum number of characters to initiate a search.\n * @group Props\n */\n @Input({ transform: numberAttribute }) minQueryLength: number | undefined;\n /**\n * Delay between keystrokes to wait before sending a query.\n * @group Props\n */\n @Input({ transform: numberAttribute }) delay: number = 300;\n /**\n * Inline style of the overlay panel element.\n * @group Props\n */\n @Input() panelStyle: { [klass: string]: any } | null | undefined;\n /**\n * Style class of the component.\n * @deprecated since v20.0.0, use `class` instead.\n * @group Props\n */\n @Input() styleClass: string | undefined;\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n @Input() panelStyleClass: string | undefined;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() inputStyle: { [klass: string]: any } | null | undefined;\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n @Input() inputId: string | undefined;\n /**\n * Inline style of the input field.\n * @group Props\n */\n @Input() inputStyleClass: string | undefined;\n /**\n * Hint text for the input field.\n * @group Props\n */\n @Input() placeholder: string | undefined;\n /**\n * When present, it specifies that the input cannot be typed.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) readonly: boolean | undefined;\n /**\n * Maximum height of the suggestions panel.\n * @group Props\n */\n @Input() scrollHeight: string = '200px';\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) lazy: boolean = false;\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) virtualScroll: boolean | undefined;\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n @Input({ transform: numberAttribute }) virtualScrollItemSize: number | undefined;\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n @Input() virtualScrollOptions: ScrollerOptions | undefined;\n /**\n * When enabled, highlights the first item in the list by default.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoHighlight: boolean | undefined;\n /**\n * When present, autocomplete clears the manual input if it does not match of the suggestions to force only accepting values from the suggestions.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) forceSelection: boolean | undefined;\n /**\n * Type of the input, defaults to \"text\".\n * @group Props\n */\n @Input() type: string = 'text';\n /**\n * Whether to automatically manage layering.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoZIndex: boolean = true;\n /**\n * Base zIndex value to use in layering.\n * @group Props\n */\n @Input({ transform: numberAttribute }) baseZIndex: number = 0;\n /**\n * Defines a string that labels the input for accessibility.\n * @group Props\n */\n @Input() ariaLabel: string | undefined;\n /**\n * Defines a string that labels the dropdown button for accessibility.\n * @group Props\n */\n @Input() dropdownAriaLabel: string | undefined;\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n @Input() ariaLabelledBy: string | undefined;\n /**\n * Icon class of the dropdown icon.\n * @group Props\n */\n @Input() dropdownIcon: string | undefined;\n /**\n * Ensures uniqueness of selected items on multiple mode.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) unique: boolean = true;\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) group: boolean | undefined;\n /**\n * Whether to run a query when input receives focus.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) completeOnFocus: boolean = false;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showClear: boolean = false;\n /**\n * Displays a button next to the input field when enabled.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) dropdown: boolean | undefined;\n /**\n * Whether to show the empty message or not.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) showEmptyMessage: boolean | undefined = true;\n /**\n * Specifies the behavior dropdown button. Default \"blank\" mode sends an empty string and \"current\" mode sends the input value.\n * @group Props\n */\n @Input() dropdownMode: string = 'blank';\n /**\n * Specifies if multiple values can be selected.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) multiple: boolean | undefined;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n @Input({ transform: numberAttribute }) tabindex: number | undefined;\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n @Input() dataKey: string | undefined;\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n @Input() emptyMessage: string | undefined;\n /**\n * Transition options of the show animation.\n * @group Props\n */\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n /**\n * Transition options of the hide animation.\n * @group Props\n */\n @Input() hideTransitionOptions: string = '.1s linear';\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autofocus: boolean | undefined;\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n @Input() autocomplete: string = 'off';\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n @Input() optionGroupChildren: string | undefined = 'items';\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n @Input() optionGroupLabel: string | undefined = 'label';\n /**\n * Options for the overlay element.\n * @group Props\n */\n @Input() overlayOptions: OverlayOptions | undefined;\n /**\n * An array of suggestions to display.\n * @group Props\n */\n @Input() get suggestions(): any[] {\n return this._suggestions();\n }\n set suggestions(value: any[]) {\n this._suggestions.set(value);\n this.handleSuggestionsChange();\n }\n /**\n * Property name or getter function to use as the label of an option.\n * @group Props\n */\n @Input() optionLabel: string | ((item: any) => string) | undefined;\n /**\n * Property name or getter function to use as the value of an option.\n * @group Props\n */\n @Input() optionValue: string | ((item: any) => string) | undefined;\n /**\n * Unique identifier of the component.\n * @group Props\n */\n @Input() id: string | undefined;\n /**\n * Text to display when the search is active. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} results are available'\n */\n @Input() searchMessage: string | undefined;\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue 'No selected item'\n */\n @Input() emptySelectionMessage: string | undefined;\n /**\n * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.\n * @group Props\n * @defaultValue '{0} items selected'\n */\n @Input() selectionMessage: string | undefined;\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) autoOptionFocus: boolean | undefined = false;\n /**\n * When enabled, the focused option is selected.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) selectOnFocus: boolean | undefined;\n /**\n * Locale to use in searching. The default locale is the host environment's current locale.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) searchLocale: boolean | undefined;\n /**\n * Property name or getter function to use as the disabled flag of an option, defaults to false when not defined.\n * @group Props\n */\n @Input() optionDisabled: string | ((item: any) => string) | undefined;\n /**\n * When enabled, the hovered option will be focused.\n * @group Props\n */\n @Input({ transform: booleanAttribute }) focusOnHover: boolean | undefined = true;\n /**\n * Whether typeahead is active or not.\n * @defaultValue true\n * @group Props\n */\n @Input({ transform: booleanAttribute }) typeahead: boolean = true;\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<HTMLElement | ElementRef | TemplateRef<any> | 'self' | 'body' | null | undefined | any>(undefined);\n /**\n * Callback to invoke to search for suggestions.\n * @param {AutoCompleteCompleteEvent} event - Custom complete event.\n * @group Emits\n */\n @Output() completeMethod: EventEmitter<AutoCompleteCompleteEvent> = new EventEmitter<AutoCompleteCompleteEvent>();\n /**\n * Callback to invoke when a suggestion is selected.\n * @param {AutoCompleteSelectEvent} event - custom select event.\n * @group Emits\n */\n @Output() onSelect: EventEmitter<AutoCompleteSelectEvent> = new EventEmitter<AutoCompleteSelectEvent>();\n /**\n * Callback to invoke when a selected value is removed.\n * @param {AutoCompleteUnselectEvent} event - custom unselect event.\n * @group Emits\n */\n @Output() onUnselect: EventEmitter<AutoCompleteUnselectEvent> = new EventEmitter<AutoCompleteUnselectEvent>();\n /**\n * Callback to invoke when the component receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onFocus: EventEmitter<Event> = new EventEmitter();\n /**\n * Callback to invoke when the component loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onBlur: EventEmitter<Event> = new EventEmitter();\n /**\n * Callback to invoke to when dropdown button is clicked.\n * @param {AutoCompleteDropdownClickEvent} event - custom dropdown click event.\n * @group Emits\n */\n @Output() onDropdownClick: EventEmitter<AutoCompleteDropdownClickEvent> = new EventEmitter<AutoCompleteDropdownClickEvent>();\n /**\n * Callback to invoke when clear button is clicked.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onClear: EventEmitter<Event | undefined> = new EventEmitter<Event | undefined>();\n /**\n * Callback to invoke on input key up.\n * @param {KeyboardEvent} event - Keyboard event.\n * @group Emits\n */\n @Output() onKeyUp: EventEmitter<KeyboardEvent> = new EventEmitter();\n /**\n * Callback to invoke on overlay is shown.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onShow: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on overlay is hidden.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n @Output() onHide: EventEmitter<Event> = new EventEmitter<Event>();\n /**\n * Callback to invoke on lazy load data.\n * @param {AutoCompleteLazyLoadEvent} event - Lazy load event.\n * @group Emits\n */\n @Output() onLazyLoad: EventEmitter<AutoCompleteLazyLoadEvent> = new EventEmitter<AutoCompleteLazyLoadEvent>();\n\n @ViewChild('focusInput') inputEL: Nullable<ElementRef>;\n\n @ViewChild('multiIn') multiInputEl: Nullable<ElementRef>;\n\n @ViewChild('multiContainer') multiContainerEL: Nullable<ElementRef>;\n\n @ViewChild('ddBtn') dropdownButton: Nullable<ElementRef>;\n\n @ViewChild('items') itemsViewChild: Nullable<ElementRef>;\n\n @ViewChild('scroller') scroller: Nullable<Scroller>;\n\n @ViewChild('overlay') overlayViewChild!: Overlay;\n\n itemsWrapper: Nullable<HTMLDivElement>;\n\n /**\n * Custom item template.\n * @group Templates\n */\n @ContentChild('item') itemTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom empty message template.\n * @group Templates\n */\n @ContentChild('empty') emptyTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom header template.\n * @group Templates\n */\n @ContentChild('header') headerTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom footer template.\n * @group Templates\n */\n @ContentChild('footer') footerTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom selected item template.\n * @group Templates\n */\n @ContentChild('selecteditem') selectedItemTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom group item template.\n * @group Templates\n */\n @ContentChild('group') groupTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom loader template.\n * @group Templates\n */\n @ContentChild('loader') loaderTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom remove icon template.\n * @group Templates\n */\n @ContentChild('removeicon') removeIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom loading icon template.\n * @group Templates\n */\n @ContentChild('loadingicon') loadingIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n @ContentChild('clearicon') clearIconTemplate: Nullable<TemplateRef<any>>;\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n @ContentChild('dropdownicon') dropdownIconTemplate: Nullable<TemplateRef<any>>;\n\n @HostListener('click', ['$event'])\n onHostClick(event: MouseEvent) {\n this.onContainerClick(event);\n }\n\n private primeng = inject(PrimeNG);\n\n value: string | any;\n\n _suggestions = signal<any>(null);\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n timeout: Nullable<any>;\n\n overlayVisible: boolean | undefined;\n\n suggestionsUpdated: Nullable<boolean>;\n\n highlightOption: any;\n\n highlightOptionChanged: Nullable<boolean>;\n\n focused: boolean = false;\n\n loading: Nullable<boolean>;\n\n scrollHandler: Nullable<ConnectedOverlayScrollHandler>;\n\n listId: string | undefined;\n\n searchTimeout: any;\n\n dirty: boolean = false;\n\n _itemTemplate: TemplateRef<any>;\n\n _groupTemplate: TemplateRef<any>;\n\n _selectedItemTemplate: TemplateRef<any>;\n\n _headerTemplate: TemplateRef<any>;\n\n _emptyTemplate: TemplateRef<any>;\n\n _footerTemplate: TemplateRef<any>;\n\n _loaderTemplate: TemplateRef<any>;\n\n _removeIconTemplate: TemplateRef<any>;\n\n _loadingIconTemplate: TemplateRef<any>;\n\n _clearIconTemplate: TemplateRef<any>;\n\n _dropdownIconTemplate: TemplateRef<any>;\n\n focusedMultipleOptionIndex = signal<number>(-1);\n\n focusedOptionIndex = signal<number>(-1);\n\n _componentStyle = inject(AutoCompleteStyle);\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n visibleOptions = computed(() => {\n return this.group ? this.flatOptions(this._suggestions()) : this._suggestions() || [];\n });\n\n inputValue = computed(() => {\n const modelValue = this.modelValue();\n const selectedOption = this.optionValueSelected ? (this.suggestions || []).find((item: any) => resolveFieldData(item, this.optionValue) === modelValue) : modelValue;\n\n if (isNotEmpty(modelValue)) {\n if (typeof modelValue === 'object' || this.optionValueSelected) {\n const label = this.getOptionLabel(selectedOption);\n\n return label != null ? label : modelValue;\n } else {\n return modelValue;\n }\n } else {\n return '';\n }\n });\n\n get focusedMultipleOptionId() {\n return this.focusedMultipleOptionIndex() !== -1 ? `${this.id}_multiple_option_${this.focusedMultipleOptionIndex()}` : null;\n }\n\n get focusedOptionId() {\n return this.focusedOptionIndex() !== -1 ? `${this.id}_${this.focusedOptionIndex()}` : null;\n }\n\n get searchResultMessageText() {\n return isNotEmpty(this.visibleOptions()) && this.overlayVisible ? this.searchMessageText.replaceAll('{0}', this.visibleOptions().length) : this.emptySearchMessageText;\n }\n\n get searchMessageText() {\n return this.searchMessage || this.config.translation.searchMessage || '';\n }\n\n get emptySearchMessageText() {\n return this.emptyMessage || this.config.translation.emptySearchMessage || '';\n }\n\n get selectionMessageText() {\n return this.selectionMessage || this.config.translation.selectionMessage || '';\n }\n\n get emptySelectionMessageText() {\n return this.emptySelectionMessage || this.config.translation.emptySelectionMessage || '';\n }\n\n get selectedMessageText() {\n return this.hasSelectedOption() ? this.selectionMessageText.replaceAll('{0}', this.multiple ? this.modelValue()?.length : '1') : this.emptySelectionMessageText;\n }\n\n get ariaSetSize() {\n return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;\n }\n\n get listLabel(): string {\n return this.config.getTranslation(TranslationKeys.ARIA)['listLabel'];\n }\n\n get virtualScrollerDisabled() {\n return !this.virtualScroll;\n }\n\n get optionValueSelected() {\n return typeof this.modelValue() === 'string' && this.optionValue;\n }\n\n chipItemClass(index) {\n return this._componentStyle.classes.chipItem({ instance: this, i: index });\n }\n\n constructor(\n public overlayService: OverlayService,\n private zone: NgZone\n ) {\n super();\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.id = this.id || uuid('pn_id_');\n this.cd.detectChanges();\n }\n\n @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n ngAfterContentInit() {\n (this.templates as QueryList<PrimeTemplate>).forEach((item) => {\n switch (item.getType()) {\n case 'item':\n this._itemTemplate = item.template;\n break;\n\n case 'group':\n this._groupTemplate = item.template;\n break;\n\n case 'selecteditem':\n this._selectedItemTemplate = item.template;\n break;\n\n case 'selectedItem':\n this._selectedItemTemplate = item.template;\n break;\n\n case 'header':\n this._headerTemplate = item.template;\n break;\n\n case 'empty':\n this._emptyTemplate = item.template;\n break;\n\n case 'footer':\n this._footerTemplate = item.template;\n break;\n\n case 'loader':\n this._loaderTemplate = item.template;\n break;\n\n case 'removetokenicon':\n this._removeIconTemplate = item.template;\n break;\n\n case 'loadingicon':\n this._loadingIconTemplate = item.template;\n break;\n\n case 'clearicon':\n this._clearIconTemplate = item.template;\n break;\n\n case 'dropdownicon':\n this._dropdownIconTemplate = item.template;\n break;\n\n default:\n this._itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngAfterViewChecked() {\n //Use timeouts as since Angular 4.2, AfterViewChecked is broken and not called after panel is updated\n if (this.suggestionsUpdated && this.overlayViewChild) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n if (this.overlayViewChild) {\n this.overlayViewChild.alignOverlay();\n }\n }, 1);\n this.suggestionsUpdated = false;\n });\n }\n }\n\n handleSuggestionsChange() {\n if (this.loading) {\n this._suggestions()?.length > 0 || this.showEmptyMessage || !!this.emptyTemplate ? this.show() : this.hide();\n const focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.suggestionsUpdated = true;\n this.loading = false;\n this.cd.markForCheck();\n }\n }\n\n flatOptions(options) {\n return (options || []).reduce((result, option, index) => {\n result.push({ optionGroup: option, group: true, index });\n\n const optionGroupChildren = this.getOptionGroupChildren(option);\n\n optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n\n return result;\n }, []);\n }\n\n isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n findSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextOptionIndex(index) {\n const matchedOptionIndex =\n index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n isValidOption(option) {\n return option && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n }\n\n isSelected(option) {\n if (this.multiple) {\n return this.unique ? (this.modelValue() as string[])?.find((model) => equals(model, this.getOptionValue(option), this.equalityKey())) : false;\n }\n return equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());\n }\n\n isOptionMatched(option, value) {\n return this.isValidOption(option) && this.getOptionLabel(option).toLocaleLowerCase(this.searchLocale) === value.toLocaleLowerCase(this.searchLocale);\n }\n\n isInputClicked(event) {\n return event.target === this.inputEL.nativeElement;\n }\n isDropdownClicked(event) {\n return this.dropdownButton?.nativeElement ? event.target === this.dropdownButton.nativeElement || this.dropdownButton.nativeElement.contains(event.target) : false;\n }\n equalityKey() {\n return this.dataKey; // TODO: The 'optionValue' properties can be added.\n }\n\n onContainerClick(event) {\n if (this.disabled() || this.loading || this.isInputClicked(event) || this.isDropdownClicked(event)) {\n return;\n }\n\n if (!this.overlayViewChild || !this.overlayViewChild.overlayViewChild?.nativeElement.contains(event.target)) {\n focus(this.inputEL.nativeElement);\n }\n }\n\n handleDropdownClick(event) {\n let query = undefined;\n\n if (this.overlayVisible) {\n this.hide(true);\n } else {\n focus(this.inputEL.nativeElement);\n query = this.inputEL.nativeElement.value;\n\n if (this.dropdownMode === 'blank') this.search(event, '', 'dropdown');\n else if (this.dropdownMode === 'current') this.search(event, query, 'dropdown');\n }\n\n this.onDropdownClick.emit({ originalEvent: event, query });\n }\n\n onInput(event) {\n if (this.typeahead) {\n const _minLength = this.minQueryLength || this.minLength;\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n let query = event.target.value;\n if (this.maxlength() !== null) {\n query = query.split('').slice(0, this.maxlength()).join('');\n }\n\n if (!this.multiple && !this.forceSelection) {\n this.updateModel(query);\n }\n\n if (query.length === 0 && !this.multiple) {\n this.onClear.emit();\n\n setTimeout(() => {\n this.hide();\n }, this.delay / 2);\n } else {\n if (query.length >= _minLength) {\n this.focusedOptionIndex.set(-1);\n\n this.searchTimeout = setTimeout(() => {\n this.search(event, query, 'input');\n }, this.delay);\n } else {\n this.hide();\n }\n }\n }\n }\n\n onInputChange(event) {\n if (this.forceSelection) {\n let valid = false;\n\n if (this.visibleOptions()) {\n const matchedValue = this.visibleOptions().find((option) => this.isOptionMatched(option, this.inputEL.nativeElement.value || ''));\n\n if (matchedValue !== undefined) {\n valid = true;\n !this.isSelected(matchedValue) && this.onOptionSelect(event, matchedValue);\n }\n }\n\n if (!valid) {\n this.inputEL.nativeElement.value = '';\n !this.multiple && this.updateModel(null);\n }\n }\n }\n\n onInputFocus(event) {\n if (this.disabled()) {\n // For ScreenReaders\n return;\n }\n\n if (!this.dirty && this.completeOnFocus) {\n this.search(event, event.target.value, 'focus');\n }\n this.dirty = true;\n this.focused = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.overlayVisible && this.scrollInView(this.focusedOptionIndex());\n this.onFocus.emit(event);\n }\n\n onMultipleContainerFocus(event) {\n if (this.disabled()) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n }\n\n onMultipleContainerBlur(event) {\n this.focusedMultipleOptionIndex.set(-1);\n this.focused = false;\n }\n\n onMultipleContainerKeyDown(event) {\n if (this.disabled()) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOnMultiple(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKeyOnMultiple(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKeyOnMultiple(event);\n break;\n\n default:\n break;\n }\n }\n\n onInputBlur(event) {\n this.dirty = false;\n this.focused = false;\n this.focusedOptionIndex.set(-1);\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n\n onInputPaste(event) {\n this.onKeyDown(event);\n }\n\n onInputKeyUp(event) {\n this.onKeyUp.emit(event);\n }\n\n onKeyDown(event) {\n if (this.disabled()) {\n event.preventDefault();\n\n return;\n }\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKey(event);\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n break;\n }\n }\n\n onArrowDownKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n onArrowUpKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n\n if (event.altKey) {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.findLastFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n onArrowLeftKey(event) {\n const target = event.currentTarget;\n this.focusedOptionIndex.set(-1);\n if (this.multiple) {\n if (isEmpty(target.value) && this.hasSelectedOption()) {\n focus(this.multiContainerEL.nativeElement);\n this.focusedMultipleOptionIndex.set(this.modelValue().length);\n } else {\n event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method\n }\n }\n }\n\n onArrowRightKey(event) {\n this.focusedOptionIndex.set(-1);\n\n this.multiple && event.stopPropagation(); // To prevent onArrowRightKeyOnMultiple method\n }\n\n onHomeKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onEndKey(event) {\n const { currentTarget } = event;\n const len = currentTarget.value.length;\n\n currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);\n this.focusedOptionIndex.set(-1);\n\n event.preventDefault();\n }\n\n onPageDownKey(event) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onEnterKey(event) {\n if (!this.typeahead) {\n if (this.multiple) {\n this.updateModel([...(this.modelValue() || []), event.target.value]);\n this.inputEL.nativeElement.value = '';\n }\n }\n if (!this.overlayVisible) {\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.hide();\n }\n\n event.preventDefault();\n }\n\n onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n }\n\n onTabKey(event) {\n if (this.focusedOptionIndex() !== -1) {\n this.onOptionSelect(event, this.visibleOptions()[this.focusedOptionIndex()]);\n }\n\n this.overlayVisible && this.hide();\n }\n\n onBackspaceKey(event) {\n if (this.multiple) {\n if (isNotEmpty(this.modelValue()) && !this.inputEL.nativeElement.value) {\n const removedValue = this.modelValue()[this.modelValue().length - 1];\n const newValue = this.modelValue().slice(0, -1);\n this.updateModel(newValue);\n this.onUnselect.emit({ originalEvent: event, value: removedValue });\n }\n\n event.stopPropagation(); // To prevent onBackspaceKeyOnMultiple method\n }\n\n if (!this.multiple && this.showClear && this.findSelectedOptionIndex() != -1) {\n this.clear();\n }\n }\n\n onArrowLeftKeyOnMultiple(event) {\n const optionIndex = this.focusedMultipleOptionIndex() < 1 ? 0 : this.focusedMultipleOptionIndex() - 1;\n this.focusedMultipleOptionIndex.set(optionIndex);\n }\n\n onArrowRightKeyOnMultiple(event) {\n let optionIndex = this.focusedMultipleOptionIndex();\n optionIndex++;\n\n this.focusedMultipleOptionIndex.set(optionIndex);\n if (optionIndex > this.modelValue().length - 1) {\n this.focusedMultipleOptionIndex.set(-1);\n focus(this.inputEL.nativeElement);\n }\n }\n\n onBackspaceKeyOnMultiple(event) {\n if (this.focusedMultipleOptionIndex() !== -1) {\n this.removeOption(event, this.focusedMultipleOptionIndex());\n }\n }\n\n onOptionSelect(event, option, isHide = true) {\n const value = this.getOptionValue(option);\n\n if (this.multiple) {\n this.inputEL.nativeElement.value = '';\n\n if (!this.isSelected(option)) {\n this.updateModel([...(this.modelValue() || []), value]);\n }\n } else {\n this.updateModel(value);\n }\n\n this.onSelect.emit({ originalEvent: event, value: option });\n\n isHide && this.hide(true);\n }\n\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n search(event, query, source) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n }\n\n //do not search blank values on input change\n if (source === 'input' && query.trim().length === 0) {\n return;\n }\n this.loading = true;\n this.completeMethod.emit({ originalEvent: event, query });\n }\n\n removeOption(event, index) {\n event.stopPropagation();\n\n const removedOption = this.modelValue()[index];\n const value = (this.modelValue() as string[]).filter((_, i) => i !== index);\n\n this.updateModel(value);\n this.onUnselect.emit({ originalEvent: event, value: removedOption });\n focus(this.inputEL.nativeElement);\n }\n\n updateModel(value) {\n this.value = value;\n this.writeModelValue(value);\n this.onModelChange(value);\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n updateInputValue() {\n if (this.inputEL && this.inputEL.nativeElement) {\n if (!this.multiple) {\n this.inputEL.nativeElement.value = this.inputValue();\n } else {\n this.inputEL.nativeElement.value = '';\n }\n }\n }\n\n autoUpdateModel() {\n if ((this.selectOnFocus || this.autoHighlight) && this.autoOptionFocus && !this.hasSelectedOption()) {\n const focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.focusedOptionIndex.set(focusedOptionIndex);\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);\n }\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;\n if (this.itemsViewChild && this.itemsViewChild.nativeElement) {\n const element = findSingle(this.itemsViewChild.nativeElement, `li[id=\"${id}\"]`);\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n setTimeout(() => {\n this.virtualScroll && this.scroller?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }, 0);\n }\n }\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n\n if (this.selectOnFocus) {\n this.onOptionSelect(event, this.visibleOptions()[index], false);\n }\n }\n }\n\n show(isFocus = false) {\n this.dirty = true;\n this.overlayVisible = true;\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.focusedOptionIndex.set(focusedOptionIndex);\n isFocus && focus(this.inputEL.nativeElement);\n if (isFocus) {\n focus(this.inputEL.nativeElement);\n }\n this.onShow.emit();\n this.cd.markForCheck();\n }\n\n hide(isFocus = false) {\n const _hide = () => {\n this.dirty = isFocus;\n this.overlayVisible = false;\n this.focusedOptionIndex.set(-1);\n isFocus && focus(this.inputEL.nativeElement);\n this.onHide.emit();\n this.cd.markForCheck();\n };\n\n setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n }\n\n clear() {\n this.updateModel(null);\n this.inputEL.nativeElement.value = '';\n this.onClear.emit();\n }\n\n writeValue(value: any): void {\n this.value = value;\n this.writeModelValue(value);\n this.updateInputValue();\n this.cd.markForCheck();\n }\n\n hasSelectedOption() {\n return isNotEmpty(this.modelValue());\n }\n\n getAriaPosInset(index) {\n return (\n (this.optionGroupLabel\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1\n );\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option && option.label != undefined ? option.label : option;\n }\n\n getOptionValue(option) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : option && option.value != undefined ? option.value : option;\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel ? resolveFieldData(optionGroup, this.optionGroupLabel) : optionGroup && optionGroup.label != undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren ? resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n if (event.toState === 'visible') {\n this.itemsWrapper = <any>findSingle(this.overlayViewChild.overlayViewChild?.nativeElement, this.virtualScroll ? '.p-scroller' : '.p-autocomplete-panel');\n\n if (this.virtualScroll) {\n this.scroller?.setContentEl(this.itemsViewChild?.nativeElement);\n this.scroller.viewInit();\n }\n if (this.visibleOptions() && this.visibleOptions().length) {\n if (this.virtualScroll) {\n const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;\n\n if (selectedIndex !== -1) {\n this.scroller?.scrollToIndex(selectedIndex);\n }\n } else {\n let selectedListItem = findSingle(this.itemsWrapper, '.p-autocomplete-item.p-highlight');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'center' });\n }\n }\n }\n }\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n super.ngOnDestroy();\n }\n}\n\n@NgModule({\n imports: [AutoComplete],\n exports: [AutoComplete, SharedModule]\n})\nexport class AutoCompleteModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAKA,MAAM,KAAK,GAAG,GAAG,CAAA;MACX,KAAK;;;;;;;;wBAQa,EAAE,CAAC,mCAAmC,CAAC,CAAA;;;;;;;;;wBASvC,EAAE,CAAC,iCAAiC,CAAC,CAAA;;;;;;iBAM5C,EAAE,CAAC,wCAAwC,CAAC,CAAA;;;;;;iBAM5C,EAAE,CAAC,wCAAwC,CAAC,CAAA;;CAE5D;AAED,MAAM,YAAY,GAAG;AACjB,IAAA,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU;CAC/B;AAED,MAAM,OAAO,GAAG;AACZ,IAAA,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK;QACpB,2CAA2C;AAC3C,QAAA;AACI,YAAA,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE;YAC/B,SAAS,EAAE,QAAQ,CAAC,OAAO;AAC3B,YAAA,uBAAuB,EAAE,QAAQ,CAAC,OAAO,EAAE;AAC3C,YAAA,sBAAsB,EAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,cAAc;YACnH,qBAAqB,EAAE,QAAQ,CAAC,cAAc;YAC9C,0BAA0B,EAAE,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtE,sBAAsB,EAAE,QAAQ,CAAC;AACpC;AACJ,KAAA;AACD,IAAA,WAAW,EAAE,sBAAsB;AACnC,IAAA,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK;QAC7B,+BAA+B;AAC/B,QAAA;AACI,YAAA,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE;AACjC,YAAA,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK;AAC/C;AACJ,KAAA;IACD,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK;QAC3B,0BAA0B;AAC1B,QAAA;AACI,YAAA,SAAS,EAAE,QAAQ,CAAC,0BAA0B,EAAE,KAAK;AACxD;AACJ,KAAA;AACD,IAAA,MAAM,EAAE,qBAAqB;AAC7B,IAAA,QAAQ,EAAE,0BAA0B;AACpC,IAAA,SAAS,EAAE,2BAA2B;AACtC,IAAA,MAAM,EAAE,uBAAuB;AAC/B,IAAA,QAAQ,EAAE,yBAAyB;AACnC,IAAA,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,oCAAoC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,KAAK,EAAE,CAAC;AAClL,IAAA,aAAa,EAAE,+BAA+B;AAC9C,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,WAAW,EAAE,6BAA6B;AAC1C,IAAA,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,MAAM;AACnD,QAAA,uBAAuB,EAAE,IAAI;AAC7B,QAAA,gCAAgC,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;AAC7D,QAAA,SAAS,EAAE,QAAQ,CAAC,kBAAkB,EAAE,KAAK,QAAQ,CAAC,cAAc,CAAC,CAAC,EAAE,eAAe,CAAC;AACxF,QAAA,YAAY,EAAE,QAAQ,CAAC,gBAAgB,CAAC,MAAM;KACjD,CAAC;AACF,IAAA,YAAY,EAAE,8BAA8B;AAC5C,IAAA,SAAS,EAAE;CACd;AAGK,MAAO,iBAAkB,SAAQ,SAAS,CAAA;IAC5C,IAAI,GAAG,cAAc;IAErB,KAAK,GAAG,KAAK;IAEb,OAAO,GAAG,OAAO;IAEjB,YAAY,GAAG,YAAY;uGAPlB,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAjB,iBAAiB,EAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B;;AAWD;;;;;;;;AAQG;IACS;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC3B;;AAEG;AACH,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,gBAAuB;AACvB;;AAEG;AACH,IAAA,mBAAA,CAAA,aAAA,CAAA,GAAA,sBAAoC;AACpC;;AAEG;AACH,IAAA,mBAAA,CAAA,eAAA,CAAA,GAAA,+BAA+C;AAC/C;;AAEG;AACH,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,0BAAqC;AACrC;;AAEG;AACH,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,qBAA8B;AAC9B;;AAEG;AACH,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,0BAAqC;AACrC;;AAEG;AACH,IAAA,mBAAA,CAAA,WAAA,CAAA,GAAA,2BAAuC;AACvC;;AAEG;AACH,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,uBAAgC;AAChC;;AAEG;AACH,IAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,yBAAoC;AACpC;;AAEG;AACH,IAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,wBAAgC;AAChC;;AAEG;AACH,IAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,qBAA4B;AAC5B;;AAEG;AACH,IAAA,mBAAA,CAAA,aAAA,CAAA,GAAA,6BAA2C;AAC3C;;AAEG;AACH,IAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,uBAAgC;AAChC;;AAEG;AACH,IAAA,mBAAA,CAAA,cAAA,CAAA,GAAA,8BAA6C;AAC7C;;AAEG;AACH,IAAA,mBAAA,CAAA,WAAA,CAAA,GAAA,2BAAuC;AAC3C,CAAC,EA7DW,mBAAmB,KAAnB,mBAAmB,GAAA,EAAA,CAAA,CAAA;;AC/DxB,MAAM,2BAA2B,GAAQ;AAC5C,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,YAAY,CAAC;AAC3C,IAAA,KAAK,EAAE;;AAEX;;;AAGG;AAsPG,MAAO,YAAa,SAAQ,SAAS,CAAA;AA6kB5B,IAAA,cAAA;AACC,IAAA,IAAA;AA7kBZ;;;;AAIG;IACoC,SAAS,GAAW,CAAC;AAC5D;;;AAGG;AACoC,IAAA,cAAc;AACrD;;;AAGG;IACoC,KAAK,GAAW,GAAG;AAC1D;;;AAGG;AACM,IAAA,UAAU;AACnB;;;;AAIG;AACM,IAAA,UAAU;AACnB;;;AAGG;AACM,IAAA,eAAe;AACxB;;;AAGG;AACM,IAAA,UAAU;AACnB;;;AAGG;AACM,IAAA,OAAO;AAChB;;;AAGG;AACM,IAAA,eAAe;AACxB;;;AAGG;AACM,IAAA,WAAW;AACpB;;;AAGG;AACqC,IAAA,QAAQ;AAChD;;;AAGG;IACM,YAAY,GAAW,OAAO;AACvC;;;AAGG;IACqC,IAAI,GAAY,KAAK;AAC7D;;;AAGG;AACqC,IAAA,aAAa;AACrD;;;AAGG;AACoC,IAAA,qBAAqB;AAC5D;;;AAGG;AACM,IAAA,oBAAoB;AAC7B;;;AAGG;AACqC,IAAA,aAAa;AACrD;;;AAGG;AACqC,IAAA,cAAc;AACtD;;;AAGG;IACM,IAAI,GAAW,MAAM;AAC9B;;;AAGG;IACqC,UAAU,GAAY,IAAI;AAClE;;;AAGG;IACoC,UAAU,GAAW,CAAC;AAC7D;;;AAGG;AACM,IAAA,SAAS;AAClB;;;AAGG;AACM,IAAA,iBAAiB;AAC1B;;;AAGG;AACM,IAAA,cAAc;AACvB;;;AAGG;AACM,IAAA,YAAY;AACrB;;;AAGG;IACqC,MAAM,GAAY,IAAI;AAC9D;;;AAGG;AACqC,IAAA,KAAK;AAC7C;;;AAGG;IACqC,eAAe,GAAY,KAAK;AACxE;;;AAGG;IACqC,SAAS,GAAY,KAAK;AAClE;;;AAGG;AACqC,IAAA,QAAQ;AAChD;;;AAGG;IACqC,gBAAgB,GAAwB,IAAI;AACpF;;;AAGG;IACM,YAAY,GAAW,OAAO;AACvC;;;AAGG;AACqC,IAAA,QAAQ;AAChD;;;AAGG;AACoC,IAAA,QAAQ;AAC/C;;;AAGG;AACM,IAAA,OAAO;AAChB;;;AAGG;AACM,IAAA,YAAY;AACrB;;;AAGG;IACM,qBAAqB,GAAW,iCAAiC;AAC1E;;;AAGG;IACM,qBAAqB,GAAW,YAAY;AACrD;;;AAGG;AACqC,IAAA,SAAS;AACjD;;;AAGG;IACM,YAAY,GAAW,KAAK;AACrC;;;AAGG;IACM,mBAAmB,GAAuB,OAAO;AAC1D;;;AAGG;IACM,gBAAgB,GAAuB,OAAO;AACvD;;;AAGG;AACM,IAAA,cAAc;AACvB;;;AAGG;AACH,IAAA,IAAa,WAAW,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE;;IAE9B,IAAI,WAAW,CAAC,KAAY,EAAA;AACxB,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,uBAAuB,EAAE;;AAElC;;;AAGG;AACM,IAAA,WAAW;AACpB;;;AAGG;AACM,IAAA,WAAW;AACpB;;;AAGG;AACM,IAAA,EAAE;AACX;;;;AAIG;AACM,IAAA,aAAa;AACtB;;;;AAIG;AACM,IAAA,qBAAqB;AAC9B;;;;AAIG;AACM,IAAA,gBAAgB;AACzB;;;AAGG;IACqC,eAAe,GAAwB,KAAK;AACpF;;;AAGG;AACqC,IAAA,aAAa;AACrD;;;AAGG;AACqC,IAAA,YAAY;AACpD;;;AAGG;AACM,IAAA,cAAc;AACvB;;;AAGG;IACqC,YAAY,GAAwB,IAAI;AAChF;;;;AAIG;IACqC,SAAS,GAAY,IAAI;AACjE;;;;AAIG;AACH,IAAA,QAAQ,GAAG,KAAK,CAAyF,SAAS,CAAC;AACnH;;;;AAIG;AACO,IAAA,cAAc,GAA4C,IAAI,YAAY,EAA6B;AACjH;;;;AAIG;AACO,IAAA,QAAQ,GAA0C,IAAI,YAAY,EAA2B;AACvG;;;;AAIG;AACO,IAAA,UAAU,GAA4C,IAAI,YAAY,EAA6B;AAC7G;;;;AAIG;AACO,IAAA,OAAO,GAAwB,IAAI,YAAY,EAAE;AAC3D;;;;AAIG;AACO,IAAA,MAAM,GAAwB,IAAI,YAAY,EAAE;AAC1D;;;;AAIG;AACO,IAAA,eAAe,GAAiD,IAAI,YAAY,EAAkC;AAC5H;;;;AAIG;AACO,IAAA,OAAO,GAAoC,IAAI,YAAY,EAAqB;AAC1F;;;;AAIG;AACO,IAAA,OAAO,GAAgC,IAAI,YAAY,EAAE;AACnE;;;;AAIG;AACO,IAAA,MAAM,GAAwB,IAAI,YAAY,EAAS;AACjE;;;;AAIG;AACO,IAAA,MAAM,GAAwB,IAAI,YAAY,EAAS;AACjE;;;;AAIG;AACO,IAAA,UAAU,GAA4C,IAAI,YAAY,EAA6B;AAEpF,IAAA,OAAO;AAEV,IAAA,YAAY;AAEL,IAAA,gBAAgB;AAEzB,IAAA,cAAc;AAEd,IAAA,cAAc;AAEX,IAAA,QAAQ;AAET,IAAA,gBAAgB;AAEtC,IAAA,YAAY;AAEZ;;;AAGG;AACmB,IAAA,YAAY;AAElC;;;AAGG;AACoB,IAAA,aAAa;AAEpC;;;AAGG;AACqB,IAAA,cAAc;AAEtC;;;AAGG;AACqB,IAAA,cAAc;AAEtC;;;AAGG;AAC2B,IAAA,oBAAoB;AAElD;;;AAGG;AACoB,IAAA,aAAa;AAEpC;;;AAGG;AACqB,IAAA,cAAc;AAEtC;;;AAGG;AACyB,IAAA,kBAAkB;AAE9C;;;AAGG;AAC0B,IAAA,mBAAmB;AAEhD;;;AAGG;AACwB,IAAA,iBAAiB;AAE5C;;;AAGG;AAC2B,IAAA,oBAAoB;AAGlD,IAAA,WAAW,CAAC,KAAiB,EAAA;AACzB,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;;AAGxB,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AAEjC,IAAA,KAAK;AAEL,IAAA,YAAY,GAAG,MAAM,CAAM,IAAI,CAAC;AAEhC,IAAA,aAAa,GAAa,MAAK,GAAG;AAElC,IAAA,cAAc,GAAa,MAAK,GAAG;AAEnC,IAAA,OAAO;AAEP,IAAA,cAAc;AAEd,IAAA,kBAAkB;AAElB,IAAA,eAAe;AAEf,IAAA,sBAAsB;IAEtB,OAAO,GAAY,KAAK;AAExB,IAAA,OAAO;AAEP,IAAA,aAAa;AAEb,IAAA,MAAM;AAEN,IAAA,aAAa;IAEb,KAAK,GAAY,KAAK;AAEtB,IAAA,aAAa;AAEb,IAAA,cAAc;AAEd,IAAA,qBAAqB;AAErB,IAAA,eAAe;AAEf,IAAA,cAAc;AAEd,IAAA,eAAe;AAEf,IAAA,eAAe;AAEf,IAAA,mBAAmB;AAEnB,IAAA,oBAAoB;AAEpB,IAAA,kBAAkB;AAElB,IAAA,qBAAqB;AAErB,IAAA,0BAA0B,GAAG,MAAM,CAAS,CAAC,CAAC,CAAC;AAE/C,IAAA,kBAAkB,GAAG,MAAM,CAAS,CAAC,CAAC,CAAC;AAEvC,IAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAE3C,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;AAE5E,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;QAC3B,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE;AACzF,KAAC,CAAC;AAEF,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AACvB,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,IAAS,KAAK,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,UAAU,CAAC,GAAG,UAAU;AAEpK,QAAA,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE;YACxB,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;gBAEjD,OAAO,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,UAAU;;iBACtC;AACH,gBAAA,OAAO,UAAU;;;aAElB;AACH,YAAA,OAAO,EAAE;;AAEjB,KAAC,CAAC;AAEF,IAAA,IAAI,uBAAuB,GAAA;QACvB,OAAO,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC,GAAG,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,iBAAA,EAAoB,IAAI,CAAC,0BAA0B,EAAE,EAAE,GAAG,IAAI;;AAG9H,IAAA,IAAI,eAAe,GAAA;QACf,OAAO,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,GAAG,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAA,EAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,GAAG,IAAI;;AAG9F,IAAA,IAAI,uBAAuB,GAAA;AACvB,QAAA,OAAO,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,sBAAsB;;AAG1K,IAAA,IAAI,iBAAiB,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,IAAI,EAAE;;AAG5E,IAAA,IAAI,sBAAsB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,IAAI,EAAE;;AAGhF,IAAA,IAAI,oBAAoB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,IAAI,EAAE;;AAGlF,IAAA,IAAI,yBAAyB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,IAAI,EAAE;;AAG5F,IAAA,IAAI,mBAAmB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,yBAAyB;;AAGnK,IAAA,IAAI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;;AAGvF,IAAA,IAAI,SAAS,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;AAGxE,IAAA,IAAI,uBAAuB,GAAA;AACvB,QAAA,OAAO,CAAC,IAAI,CAAC,aAAa;;AAG9B,IAAA,IAAI,mBAAmB,GAAA;QACnB,OAAO,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW;;AAGpE,IAAA,aAAa,CAAC,KAAK,EAAA;AACf,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;;IAG9E,WAAA,CACW,cAA8B,EAC7B,IAAY,EAAA;AAEpB,QAAA,KAAK,EAAE;QAHA,IAAA,CAAA,cAAc,GAAd,cAAc;QACb,IAAA,CAAA,IAAI,GAAJ,IAAI;;IAKhB,QAAQ,GAAA;QACJ,KAAK,CAAC,QAAQ,EAAE;QAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC;AACnC,QAAA,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE;;AAGK,IAAA,SAAS;IAEzC,kBAAkB,GAAA;QACb,IAAI,CAAC,SAAsC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC1D,YAAA,QAAQ,IAAI,CAAC,OAAO,EAAE;AAClB,gBAAA,KAAK,MAAM;AACP,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ;oBAClC;AAEJ,gBAAA,KAAK,OAAO;AACR,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ;oBACnC;AAEJ,gBAAA,KAAK,cAAc;AACf,oBAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ;oBAC1C;AAEJ,gBAAA,KAAK,cAAc;AACf,oBAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ;oBAC1C;AAEJ,gBAAA,KAAK,QAAQ;AACT,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ;oBACpC;AAEJ,gBAAA,KAAK,OAAO;AACR,oBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ;oBACnC;AAEJ,gBAAA,KAAK,QAAQ;AACT,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ;oBACpC;AAEJ,gBAAA,KAAK,QAAQ;AACT,oBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ;oBACpC;AAEJ,gBAAA,KAAK,iBAAiB;AAClB,oBAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ;oBACxC;AAEJ,gBAAA,KAAK,aAAa;AACd,oBAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ;oBACzC;AAEJ,gBAAA,KAAK,WAAW;AACZ,oBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ;oBACvC;AAEJ,gBAAA,KAAK,cAAc;AACf,oBAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ;oBAC1C;AAEJ,gBAAA;AACI,oBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ;oBAClC;;AAEZ,SAAC,CAAC;;IAGN,kBAAkB,GAAA;;QAEd,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAClD,YAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAK;gBAC7B,UAAU,CAAC,MAAK;AACZ,oBAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvB,wBAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE;;iBAE3C,EAAE,CAAC,CAAC;AACL,gBAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;AACnC,aAAC,CAAC;;;IAIV,uBAAuB,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACd,YAAA,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;YAC5G,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;AAChH,YAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAC/C,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;AAC9B,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;;AAI9B,IAAA,WAAW,CAAC,OAAO,EAAA;AACf,QAAA,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,KAAI;AACpD,YAAA,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAExD,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC;AAE/D,YAAA,mBAAmB,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEzE,YAAA,OAAO,MAAM;SAChB,EAAE,EAAE,CAAC;;AAGV,IAAA,aAAa,CAAC,MAAM,EAAA;QAChB,OAAO,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK;;IAGtE,oBAAoB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;;IAGlF,mBAAmB,GAAA;AACf,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;;IAGvF,2BAA2B,GAAA;AACvB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE;AAEpD,QAAA,OAAO,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE,GAAG,aAAa;;IAG1E,0BAA0B,GAAA;AACtB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE;AAEpD,QAAA,OAAO,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,aAAa;;IAGzE,uBAAuB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;;AAG1H,IAAA,mBAAmB,CAAC,KAAK,EAAA;QACrB,MAAM,kBAAkB,GACpB,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG;AACnC,cAAE,IAAI,CAAC,cAAc;AACd,iBAAA,KAAK,CAAC,KAAK,GAAG,CAAC;AACf,iBAAA,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;cACrD,CAAC,CAAC;AAEZ,QAAA,OAAO,kBAAkB,GAAG,CAAC,CAAC,GAAG,kBAAkB,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK;;AAG3E,IAAA,mBAAmB,CAAC,KAAK,EAAA;AACrB,QAAA,MAAM,kBAAkB,GAAG,KAAK,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;AAExI,QAAA,OAAO,kBAAkB,GAAG,CAAC,CAAC,GAAG,kBAAkB,GAAG,KAAK;;AAG/D,IAAA,qBAAqB,CAAC,MAAM,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;;AAGhE,IAAA,aAAa,CAAC,MAAM,EAAA;AAChB,QAAA,OAAO,MAAM,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;;AAGnF,IAAA,gBAAgB,CAAC,MAAM,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK;;AAGtF,IAAA,UAAU,CAAC,MAAM,EAAA;AACb,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,OAAO,IAAI,CAAC,MAAM,GAAI,IAAI,CAAC,UAAU,EAAe,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,KAAK;;AAEjJ,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;;IAGrF,eAAe,CAAC,MAAM,EAAE,KAAK,EAAA;AACzB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC;;AAGxJ,IAAA,cAAc,CAAC,KAAK,EAAA;QAChB,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,aAAa;;AAEtD,IAAA,iBAAiB,CAAC,KAAK,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,cAAc,EAAE,aAAa,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK;;IAEtK,WAAW,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC;;AAGxB,IAAA,gBAAgB,CAAC,KAAK,EAAA;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;YAChG;;QAGJ,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACzG,YAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;;;AAIzC,IAAA,mBAAmB,CAAC,KAAK,EAAA;QACrB,IAAI,KAAK,GAAG,SAAS;AAErB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;;aACZ;AACH,YAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;YACjC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK;AAExC,YAAA,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO;gBAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,CAAC;AAChE,iBAAA,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;gBAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC;;AAGnF,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;;AAG9D,IAAA,OAAO,CAAC,KAAK,EAAA;AACT,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS;AAExD,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,gBAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;;AAGpC,YAAA,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;AAC9B,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;gBAC3B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;;YAG/D,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACxC,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;;YAG3B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AACtC,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBAEnB,UAAU,CAAC,MAAK;oBACZ,IAAI,CAAC,IAAI,EAAE;AACf,iBAAC,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;;iBACf;AACH,gBAAA,IAAI,KAAK,CAAC,MAAM,IAAI,UAAU,EAAE;oBAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE/B,oBAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,MAAK;wBACjC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;AACtC,qBAAC,EAAE,IAAI,CAAC,KAAK,CAAC;;qBACX;oBACH,IAAI,CAAC,IAAI,EAAE;;;;;AAM3B,IAAA,aAAa,CAAC,KAAK,EAAA;AACf,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,KAAK,GAAG,KAAK;AAEjB,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AACvB,gBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AAEjI,gBAAA,IAAI,YAAY,KAAK,SAAS,EAAE;oBAC5B,KAAK,GAAG,IAAI;AACZ,oBAAA,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC;;;YAIlF,IAAI,CAAC,KAAK,EAAE;gBACR,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE;gBACrC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;;;;AAKpD,IAAA,YAAY,CAAC,KAAK,EAAA;AACd,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;;YAEjB;;QAGJ,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE;AACrC,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;;AAEnD,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;AAC/K,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAC/C,QAAA,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACnE,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;;AAG5B,IAAA,wBAAwB,CAAC,KAAK,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;;YAEjB;;AAGJ,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;;AAGvB,IAAA,uBAAuB,CAAC,KAAK,EAAA;QACzB,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvC,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;AAGxB,IAAA,0BAA0B,CAAC,KAAK,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACjB,KAAK,CAAC,cAAc,EAAE;YAEtB;;AAGJ,QAAA,QAAQ,KAAK,CAAC,IAAI;AACd,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;gBACpC;AAEJ,YAAA,KAAK,YAAY;AACb,gBAAA,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;gBACrC;AAEJ,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;gBACpC;AAEJ,YAAA;gBACI;;;AAIZ,IAAA,WAAW,CAAC,KAAK,EAAA;AACb,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QACpB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,EAAE;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;;AAG3B,IAAA,YAAY,CAAC,KAAK,EAAA;AACd,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;;AAGzB,IAAA,YAAY,CAAC,KAAK,EAAA;AACd,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;;AAG5B,IAAA,SAAS,CAAC,KAAK,EAAA;AACX,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACjB,KAAK,CAAC,cAAc,EAAE;YAEtB;;AAGJ,QAAA,QAAQ,KAAK,CAAC,IAAI;AACd,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;gBAC1B;AAEJ,YAAA,KAAK,SAAS;AACV,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;gBACxB;AAEJ,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;gBAC1B;AAEJ,YAAA,KAAK,YAAY;AACb,gBAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;gBAC3B;AAEJ,YAAA,KAAK,MAAM;AACP,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;gBACrB;AAEJ,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACpB;AAEJ,YAAA,KAAK,UAAU;AACX,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;gBACzB;AAEJ,YAAA,KAAK,QAAQ;AACT,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBACvB;AAEJ,YAAA,KAAK,OAAO;AACZ,YAAA,KAAK,aAAa;AACd,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACtB;AAEJ,YAAA,KAAK,QAAQ;AACT,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBACvB;AAEJ,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACpB;AAEJ,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;gBAC1B;AAEJ,YAAA,KAAK,WAAW;AAChB,YAAA,KAAK,YAAY;;gBAEb;AAEJ,YAAA;gBACI;;;AAIZ,IAAA,cAAc,CAAC,KAAK,EAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB;;AAGJ,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,2BAA2B,EAAE;AAE/I,QAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC;QAEjD,KAAK,CAAC,cAAc,EAAE;QACtB,KAAK,CAAC,eAAe,EAAE;;AAG3B,IAAA,YAAY,CAAC,KAAK,EAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB;;AAGJ,QAAA,IAAI,KAAK,CAAC,MAAM,EAAE;YACd,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE;AAClC,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;;AAGhF,YAAA,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE;YAClC,KAAK,CAAC,cAAc,EAAE;;aACnB;AACH,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,0BAA0B,EAAE;AAE9I,YAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC;YAEjD,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,eAAe,EAAE;;;AAI/B,IAAA,cAAc,CAAC,KAAK,EAAA;AAChB,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa;QAClC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;AACnD,gBAAA,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;AAC1C,gBAAA,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC;;iBAC1D;AACH,gBAAA,KAAK,CAAC,eAAe,EAAE,CAAC;;;;AAKpC,IAAA,eAAe,CAAC,KAAK,EAAA;QACjB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE/B,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;;AAG7C,IAAA,SAAS,CAAC,KAAK,EAAA;AACX,QAAA,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK;AAC/B,QAAA,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM;AAEtC,QAAA,aAAa,CAAC,iBAAiB,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,CAAC;QAC5D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE/B,KAAK,CAAC,cAAc,EAAE;;AAG1B,IAAA,QAAQ,CAAC,KAAK,EAAA;AACV,QAAA,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK;AAC/B,QAAA,MAAM,GAAG,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM;AAEtC,QAAA,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC;QAC9D,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAE/B,KAAK,CAAC,cAAc,EAAE;;AAG1B,IAAA,aAAa,CAAC,KAAK,EAAA;AACf,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACnD,KAAK,CAAC,cAAc,EAAE;;AAG1B,IAAA,WAAW,CAAC,KAAK,EAAA;AACb,QAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACpB,KAAK,CAAC,cAAc,EAAE;;AAG1B,IAAA,UAAU,CAAC,KAAK,EAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACjB,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE;;;AAG7C,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;;aACvB;YACH,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE;AAClC,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;;YAGhF,IAAI,CAAC,IAAI,EAAE;;QAGf,KAAK,CAAC,cAAc,EAAE;;AAG1B,IAAA,WAAW,CAAC,KAAK,EAAA;QACb,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACtC,KAAK,CAAC,cAAc,EAAE;;AAG1B,IAAA,QAAQ,CAAC,KAAK,EAAA;QACV,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE;AAClC,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;;AAGhF,QAAA,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE;;AAGtC,IAAA,cAAc,CAAC,KAAK,EAAA;AAChB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACf,YAAA,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE;AACpE,gBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACpE,gBAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/C,gBAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;AAC1B,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;;AAGvE,YAAA,KAAK,CAAC,eAAe,EAAE,CAAC;;AAG5B,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC,EAAE;YAC1E,IAAI,CAAC,KAAK,EAAE;;;AAIpB,IAAA,wBAAwB,CAAC,KAAK,EAAA;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,0BAA0B,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,0BAA0B,EAAE,GAAG,CAAC;AACrG,QAAA,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC;;AAGpD,IAAA,yBAAyB,CAAC,KAAK,EAAA;AAC3B,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,0BAA0B,EAAE;AACnD,QAAA,WAAW,EAAE;AAEb,QAAA,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC;QAChD,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YAC5C,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvC,YAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;;;AAIzC,IAAA,wBAAwB,CAAC,KAAK,EAAA;QAC1B,IAAI,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC,EAAE;YAC1C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,0BAA0B,EAAE,CAAC;;;AAInE,IAAA,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAA;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;AAEzC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE;YAErC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAC1B,gBAAA,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;;;aAExD;AACH,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;;AAG3B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAE3D,QAAA,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;;IAG7B,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC;;;AAInD,IAAA,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAA;;QAEvB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YACvC;;;AAIJ,QAAA,IAAI,MAAM,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;YACjD;;AAEJ,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;;IAG7D,YAAY,CAAC,KAAK,EAAE,KAAK,EAAA;QACrB,KAAK,CAAC,eAAe,EAAE;QAEvB,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC;QAC9C,MAAM,KAAK,GAAI,IAAI,CAAC,UAAU,EAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;AAE3E,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AACpE,QAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;;AAGrC,IAAA,WAAW,CAAC,KAAK,EAAA;AACb,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,gBAAgB,EAAE;AACvB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;IAG1B,gBAAgB,GAAA;QACZ,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;AAC5C,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE;;iBACjD;gBACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE;;;;IAKjD,eAAe,GAAA;QACX,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE;AACjG,YAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,2BAA2B,EAAE;AAC7D,YAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAC/C,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,KAAK,CAAC;;;AAI1F,IAAA,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,EAAA;QACnB,MAAM,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,GAAG,CAAA,EAAG,IAAI,CAAC,EAAE,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,GAAG,IAAI,CAAC,eAAe;QACtE,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;AAC1D,YAAA,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAA,OAAA,EAAU,EAAE,CAAA,EAAA,CAAI,CAAC;YAC/E,IAAI,OAAO,EAAE;AACT,gBAAA,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;;AACtF,iBAAA,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACtC,UAAU,CAAC,MAAK;oBACZ,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;iBACvG,EAAE,CAAC,CAAC;;;;IAKjB,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAA;AACjC,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,KAAK,EAAE;AACrC,YAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;YAClC,IAAI,CAAC,YAAY,EAAE;AAEnB,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;;;;IAK3E,IAAI,CAAC,OAAO,GAAG,KAAK,EAAA;AAChB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI;AAC1B,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;AACxJ,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC/C,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAC5C,IAAI,OAAO,EAAE;AACT,YAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;;AAErC,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAClB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;IAG1B,IAAI,CAAC,OAAO,GAAG,KAAK,EAAA;QAChB,MAAM,KAAK,GAAG,MAAK;AACf,YAAA,IAAI,CAAC,KAAK,GAAG,OAAO;AACpB,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;YAC3B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/B,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;AAC5C,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAClB,YAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AAC1B,SAAC;QAED,UAAU,CAAC,MAAK;AACZ,YAAA,KAAK,EAAE;AACX,SAAC,EAAE,CAAC,CAAC,CAAC;;IAGV,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE;AACrC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;;AAGvB,IAAA,UAAU,CAAC,KAAU,EAAA;AACjB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,gBAAgB,EAAE;AACvB,QAAA,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;;IAG1B,iBAAiB,GAAA;AACb,QAAA,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;;AAGxC,IAAA,eAAe,CAAC,KAAK,EAAA;AACjB,QAAA,QACI,CAAC,IAAI,CAAC;AACF,cAAE,KAAK;gBACL,IAAI,CAAC,cAAc;AACd,qBAAA,KAAK,CAAC,CAAC,EAAE,KAAK;AACd,qBAAA,MAAM,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,cAAE,KAAK,IAAI,CAAC;;AAIxB,IAAA,cAAc,CAAC,MAAW,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM;;AAGtI,IAAA,cAAc,CAAC,MAAM,EAAA;AACjB,QAAA,OAAO,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM;;IAGtI,cAAc,CAAC,KAAK,EAAE,eAAe,EAAA;QACjC,OAAO,IAAI,CAAC,uBAAuB,GAAG,KAAK,GAAG,eAAe,IAAI,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;;AAGnH,IAAA,mBAAmB,CAAC,WAAgB,EAAA;AAChC,QAAA,OAAO,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,WAAW,IAAI,WAAW,CAAC,KAAK,IAAI,SAAS,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW;;AAGzK,IAAA,sBAAsB,CAAC,WAAgB,EAAA;QACnC,OAAO,IAAI,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,WAAW,CAAC,KAAK;;AAGjH,IAAA,gBAAgB,CAAC,EAAY,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE;;AAG3B,IAAA,iBAAiB,CAAC,EAAY,EAAA;AAC1B,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;;AAG5B,IAAA,uBAAuB,CAAC,KAAqB,EAAA;AACzC,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE;YAC7B,IAAI,CAAC,YAAY,GAAQ,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,GAAG,aAAa,GAAG,uBAAuB,CAAC;AAExJ,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC;AAC/D,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;;AAE5B,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE;AACvD,gBAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,oBAAA,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;AAExE,oBAAA,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;AACtB,wBAAA,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,aAAa,CAAC;;;qBAE5C;oBACH,IAAI,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,kCAAkC,CAAC;oBAExF,IAAI,gBAAgB,EAAE;AAClB,wBAAA,gBAAgB,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;;;;;;IAO3F,WAAW,GAAA;AACP,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;AAC5B,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;;QAG7B,KAAK,CAAC,WAAW,EAAE;;uGA11Cd,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iDAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAMD,eAAe,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKf,eAAe,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKf,eAAe,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAyCf,gBAAgB,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAUhB,gBAAgB,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKhB,gBAAgB,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKhB,eAAe,EAAA,EAAA,oBAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAUf,gBAAgB,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKhB,gBAAgB,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAUhB,gBAAgB,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKhB,eAAe,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAyBf,gBAAgB,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKhB,gBAAgB,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKhB,gBAAgB,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKhB,gBAAgB,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKhB,gBAAgB,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKhB,gBAAgB,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAUhB,gBAAgB,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKhB,eAAe,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAyBf,gBAAgB,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,mBAAA,EAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAqEhB,gBAAgB,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKhB,gBAAgB,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAKhB,gBAAgB,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAUhB,gBAAgB,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAMhB,gBAAgB,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,qBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,4BAAA,EAAA,OAAA,EAAA,YAAA,EAAA,EAAA,EAAA,SAAA,EA5SzB,CAAC,2BAA2B,EAAE,iBAAiB,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAimB1C,aAAa,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA10BpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwOT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAzOS,YAAY,0lBAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,UAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,cAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,MAAM,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,QAAQ,EAAA,QAAA,EAAA,sEAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,YAAA,EAAA,UAAA,EAAA,OAAA,EAAA,UAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,YAAA,EAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,iFAAE,eAAe,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,WAAW,EAAA,QAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,sDAAE,eAAe,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,OAAA,EAAA,KAAA,EAAA,YAAA,EAAA,WAAA,EAAA,YAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAkP5I,YAAY,EAAA,UAAA,EAAA,CAAA;kBArPxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iDAAiD;AAC3D,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,CAAC;AACtJ,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwOT,IAAA,CAAA;AACD,oBAAA,SAAS,EAAE,CAAC,2BAA2B,EAAE,iBAAiB,CAAC;oBAC3D,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,4BAA4B;AACvC,wBAAA,SAAS,EAAE;AACd;AACJ,iBAAA;wGAO0C,SAAS,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBAKE,cAAc,EAAA,CAAA;sBAApD,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBAKE,KAAK,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBAK5B,UAAU,EAAA,CAAA;sBAAlB;gBAMQ,UAAU,EAAA,CAAA;sBAAlB;gBAKQ,eAAe,EAAA,CAAA;sBAAvB;gBAKQ,UAAU,EAAA,CAAA;sBAAlB;gBAKQ,OAAO,EAAA,CAAA;sBAAf;gBAKQ,eAAe,EAAA,CAAA;sBAAvB;gBAKQ,WAAW,EAAA,CAAA;sBAAnB;gBAKuC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAK7B,YAAY,EAAA,CAAA;sBAApB;gBAKuC,IAAI,EAAA,CAAA;sBAA3C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,aAAa,EAAA,CAAA;sBAApD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKC,qBAAqB,EAAA,CAAA;sBAA3D,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBAK5B,oBAAoB,EAAA,CAAA;sBAA5B;gBAKuC,aAAa,EAAA,CAAA;sBAApD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,cAAc,EAAA,CAAA;sBAArD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAK7B,IAAI,EAAA,CAAA;sBAAZ;gBAKuC,UAAU,EAAA,CAAA;sBAAjD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKC,UAAU,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBAK5B,SAAS,EAAA,CAAA;sBAAjB;gBAKQ,iBAAiB,EAAA,CAAA;sBAAzB;gBAKQ,cAAc,EAAA,CAAA;sBAAtB;gBAKQ,YAAY,EAAA,CAAA;sBAApB;gBAKuC,MAAM,EAAA,CAAA;sBAA7C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,KAAK,EAAA,CAAA;sBAA5C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,eAAe,EAAA,CAAA;sBAAtD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,gBAAgB,EAAA,CAAA;sBAAvD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAK7B,YAAY,EAAA,CAAA;sBAApB;gBAKuC,QAAQ,EAAA,CAAA;sBAA/C,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKC,QAAQ,EAAA,CAAA;sBAA9C,KAAK;uBAAC,EAAE,SAAS,EAAE,eAAe,EAAE;gBAK5B,OAAO,EAAA,CAAA;sBAAf;gBAKQ,YAAY,EAAA,CAAA;sBAApB;gBAKQ,qBAAqB,EAAA,CAAA;sBAA7B;gBAKQ,qBAAqB,EAAA,CAAA;sBAA7B;gBAKuC,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAK7B,YAAY,EAAA,CAAA;sBAApB;gBAKQ,mBAAmB,EAAA,CAAA;sBAA3B;gBAKQ,gBAAgB,EAAA,CAAA;sBAAxB;gBAKQ,cAAc,EAAA,CAAA;sBAAtB;gBAKY,WAAW,EAAA,CAAA;sBAAvB;gBAWQ,WAAW,EAAA,CAAA;sBAAnB;gBAKQ,WAAW,EAAA,CAAA;sBAAnB;gBAKQ,EAAE,EAAA,CAAA;sBAAV;gBAMQ,aAAa,EAAA,CAAA;sBAArB;gBAMQ,qBAAqB,EAAA,CAAA;sBAA7B;gBAMQ,gBAAgB,EAAA,CAAA;sBAAxB;gBAKuC,eAAe,EAAA,CAAA;sBAAtD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,aAAa,EAAA,CAAA;sBAApD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAKE,YAAY,EAAA,CAAA;sBAAnD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAK7B,cAAc,EAAA,CAAA;sBAAtB;gBAKuC,YAAY,EAAA,CAAA;sBAAnD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAME,SAAS,EAAA,CAAA;sBAAhD,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;gBAY5B,cAAc,EAAA,CAAA;sBAAvB;gBAMS,QAAQ,EAAA,CAAA;sBAAjB;gBAMS,UAAU,EAAA,CAAA;sBAAnB;gBAMS,OAAO,EAAA,CAAA;sBAAhB;gBAMS,MAAM,EAAA,CAAA;sBAAf;gBAMS,eAAe,EAAA,CAAA;sBAAxB;gBAMS,OAAO,EAAA,CAAA;sBAAhB;gBAMS,OAAO,EAAA,CAAA;sBAAhB;gBAMS,MAAM,EAAA,CAAA;sBAAf;gBAMS,MAAM,EAAA,CAAA;sBAAf;gBAMS,UAAU,EAAA,CAAA;sBAAnB;gBAEwB,OAAO,EAAA,CAAA;sBAA/B,SAAS;uBAAC,YAAY;gBAED,YAAY,EAAA,CAAA;sBAAjC,SAAS;uBAAC,SAAS;gBAES,gBAAgB,EAAA,CAAA;sBAA5C,SAAS;uBAAC,gBAAgB;gBAEP,cAAc,EAAA,CAAA;sBAAjC,SAAS;uBAAC,OAAO;gBAEE,cAAc,EAAA,CAAA;sBAAjC,SAAS;uBAAC,OAAO;gBAEK,QAAQ,EAAA,CAAA;sBAA9B,SAAS;uBAAC,UAAU;gBAEC,gBAAgB,EAAA,CAAA;sBAArC,SAAS;uBAAC,SAAS;gBAQE,YAAY,EAAA,CAAA;sBAAjC,YAAY;uBAAC,MAAM;gBAMG,aAAa,EAAA,CAAA;sBAAnC,YAAY;uBAAC,OAAO;gBAMG,cAAc,EAAA,CAAA;sBAArC,YAAY;uBAAC,QAAQ;gBAME,cAAc,EAAA,CAAA;sBAArC,YAAY;uBAAC,QAAQ;gBAMQ,oBAAoB,EAAA,CAAA;sBAAjD,YAAY;uBAAC,cAAc;gBAML,aAAa,EAAA,CAAA;sBAAnC,YAAY;uBAAC,OAAO;gBAMG,cAAc,EAAA,CAAA;sBAArC,YAAY;uBAAC,QAAQ;gBAMM,kBAAkB,EAAA,CAAA;sBAA7C,YAAY;uBAAC,YAAY;gBAMG,mBAAmB,EAAA,CAAA;sBAA/C,YAAY;uBAAC,aAAa;gBAMA,iBAAiB,EAAA,CAAA;sBAA3C,YAAY;uBAAC,WAAW;gBAMK,oBAAoB,EAAA,CAAA;sBAAjD,YAAY;uBAAC,cAAc;gBAG5B,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;gBAyJD,SAAS,EAAA,CAAA;sBAAxC,eAAe;uBAAC,aAAa;;MAywBrB,kBAAkB,CAAA;uGAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,OAAA,EAAA,CAl2ClB,YAAY,CAAA,EAAA,OAAA,EAAA,CAAZ,YAAY,EAg2CG,YAAY,CAAA,EAAA,CAAA;wGAE3B,kBAAkB,EAAA,OAAA,EAAA,CAHjB,YAAY,EACE,YAAY,CAAA,EAAA,CAAA;;2FAE3B,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,YAAY,CAAC;AACvB,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY;AACvC,iBAAA;;;AC7oDD;;AAEG;;;;"}