@coveo/atomic 3.35.0-pre.df6792920f → 3.35.0-pre.e757e0d8ec

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 (1146) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/components/_index.js +19 -19
  3. package/dist/atomic/components/atomic-breadbox.js +18 -0
  4. package/dist/atomic/components/atomic-breadbox.js.map +1 -1
  5. package/dist/atomic/components/atomic-category-facet.js +27 -0
  6. package/dist/atomic/components/atomic-category-facet.js.map +1 -1
  7. package/dist/atomic/components/atomic-color-facet.js +3 -0
  8. package/dist/atomic/components/atomic-color-facet.js.map +1 -1
  9. package/dist/atomic/components/atomic-did-you-mean.js +12 -1
  10. package/dist/atomic/components/atomic-did-you-mean.js.map +1 -1
  11. package/dist/atomic/components/atomic-facet.js +6 -0
  12. package/dist/atomic/components/atomic-facet.js.map +1 -1
  13. package/dist/atomic/components/atomic-field-condition.js +1 -1
  14. package/dist/atomic/components/atomic-field-condition.js.map +1 -1
  15. package/dist/atomic/components/atomic-generated-answer.js +1 -1
  16. package/dist/atomic/components/atomic-generated-answer.js.map +1 -1
  17. package/dist/atomic/components/atomic-insight-generated-answer.js +1 -1
  18. package/dist/atomic/components/atomic-insight-generated-answer.js.map +1 -1
  19. package/dist/atomic/components/atomic-insight-pager.js +5 -5
  20. package/dist/atomic/components/atomic-insight-pager.js.map +1 -1
  21. package/dist/atomic/components/atomic-insight-query-summary.js +9 -0
  22. package/dist/atomic/components/atomic-insight-query-summary.js.map +1 -1
  23. package/dist/atomic/components/atomic-insight-result-action.js +2 -2
  24. package/dist/atomic/components/atomic-insight-result-action.js.map +1 -1
  25. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +2 -2
  26. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js.map +1 -1
  27. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +2 -2
  28. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js.map +1 -1
  29. package/dist/atomic/components/atomic-insight-result-quickview-action.js +2 -2
  30. package/dist/atomic/components/atomic-insight-result-quickview-action.js.map +1 -1
  31. package/dist/atomic/components/atomic-insight-user-actions-session2.js +3 -0
  32. package/dist/atomic/components/atomic-insight-user-actions-session2.js.map +1 -1
  33. package/dist/atomic/components/atomic-ipx-result-link.js +2 -2
  34. package/dist/atomic/components/atomic-ipx-result-link.js.map +1 -1
  35. package/dist/atomic/components/atomic-load-more-results.js +13 -1
  36. package/dist/atomic/components/atomic-load-more-results.js.map +1 -1
  37. package/dist/atomic/components/atomic-no-results.js +3 -0
  38. package/dist/atomic/components/atomic-no-results.js.map +1 -1
  39. package/dist/atomic/components/atomic-quickview-modal2.js +4 -1
  40. package/dist/atomic/components/atomic-quickview-modal2.js.map +1 -1
  41. package/dist/atomic/components/atomic-quickview.js +2 -2
  42. package/dist/atomic/components/atomic-quickview.js.map +1 -1
  43. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  44. package/dist/atomic/components/atomic-refine-modal2.js +12 -0
  45. package/dist/atomic/components/atomic-refine-modal2.js.map +1 -1
  46. package/dist/atomic/components/atomic-refine-toggle.js +6 -0
  47. package/dist/atomic/components/atomic-refine-toggle.js.map +1 -1
  48. package/dist/atomic/components/atomic-result-badge.js +1 -1
  49. package/dist/atomic/components/atomic-result-badge.js.map +1 -1
  50. package/dist/atomic/components/atomic-result-children.js +2 -2
  51. package/dist/atomic/components/atomic-result-children.js.map +1 -1
  52. package/dist/atomic/components/atomic-result-date.js +1 -1
  53. package/dist/atomic/components/atomic-result-date.js.map +1 -1
  54. package/dist/atomic/components/atomic-result-fields-list.js +2 -2
  55. package/dist/atomic/components/atomic-result-fields-list.js.map +1 -1
  56. package/dist/atomic/components/atomic-result-html.js +1 -1
  57. package/dist/atomic/components/atomic-result-html.js.map +1 -1
  58. package/dist/atomic/components/atomic-result-icon.js +1 -1
  59. package/dist/atomic/components/atomic-result-icon.js.map +1 -1
  60. package/dist/atomic/components/atomic-result-image.js +1 -1
  61. package/dist/atomic/components/atomic-result-image.js.map +1 -1
  62. package/dist/atomic/components/atomic-result-link.js +2 -2
  63. package/dist/atomic/components/atomic-result-link.js.map +1 -1
  64. package/dist/atomic/components/atomic-result-list.js +12 -0
  65. package/dist/atomic/components/atomic-result-list.js.map +1 -1
  66. package/dist/atomic/components/atomic-result-localized-text.js +1 -1
  67. package/dist/atomic/components/atomic-result-localized-text.js.map +1 -1
  68. package/dist/atomic/components/atomic-result-multi-value-text.js +1 -1
  69. package/dist/atomic/components/atomic-result-multi-value-text.js.map +1 -1
  70. package/dist/atomic/components/atomic-result-number.js +1 -1
  71. package/dist/atomic/components/atomic-result-number.js.map +1 -1
  72. package/dist/atomic/components/atomic-result-printable-uri.js +1 -1
  73. package/dist/atomic/components/atomic-result-printable-uri.js.map +1 -1
  74. package/dist/atomic/components/atomic-result-rating.js +1 -1
  75. package/dist/atomic/components/atomic-result-rating.js.map +1 -1
  76. package/dist/atomic/components/atomic-result-text2.js +7 -1
  77. package/dist/atomic/components/atomic-result-text2.js.map +1 -1
  78. package/dist/atomic/components/atomic-result-timespan.js +1 -1
  79. package/dist/atomic/components/atomic-result-timespan.js.map +1 -1
  80. package/dist/atomic/components/atomic-result2.js.map +1 -1
  81. package/dist/atomic/components/atomic-search-box-instant-results.js +9 -0
  82. package/dist/atomic/components/atomic-search-box-instant-results.js.map +1 -1
  83. package/dist/atomic/components/atomic-search-box.js +3 -0
  84. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  85. package/dist/atomic/components/atomic-segmented-facet.js +3 -0
  86. package/dist/atomic/components/atomic-segmented-facet.js.map +1 -1
  87. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  88. package/dist/atomic/components/atomic-smart-snippet-source2.js.map +1 -1
  89. package/dist/atomic/components/atomic-sort-dropdown.js +15 -0
  90. package/dist/atomic/components/atomic-sort-dropdown.js.map +1 -1
  91. package/dist/atomic/components/components/commerce/atomic-product-children/atomic-product-children.js +1 -1
  92. package/dist/atomic/components/components/commerce/atomic-product-description/atomic-product-description.js +1 -1
  93. package/dist/atomic/components/components/commerce/atomic-product-excerpt/atomic-product-excerpt.js +1 -1
  94. package/dist/atomic/components/components/commerce/atomic-product-field-condition/atomic-product-field-condition.js +1 -1
  95. package/dist/atomic/components/components/commerce/atomic-product-image/atomic-product-image.js +1 -1
  96. package/dist/atomic/components/components/commerce/atomic-product-link/atomic-product-link.js +2 -1
  97. package/dist/atomic/components/components/commerce/atomic-product-multi-value-text/atomic-product-multi-value-text.js +1 -1
  98. package/dist/atomic/components/components/commerce/atomic-product-numeric-field-value/atomic-product-numeric-field-value.js +1 -1
  99. package/dist/atomic/components/components/commerce/atomic-product-price/atomic-product-price.js +1 -1
  100. package/dist/atomic/components/components/commerce/atomic-product-rating/atomic-product-rating.js +1 -1
  101. package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js +1 -1
  102. package/dist/atomic/components/components/commerce/product-template-component-utils/context/interactive-product-context-controller.js +25 -0
  103. package/dist/atomic/components/components/commerce/product-template-component-utils/context/product-context-controller.js +29 -0
  104. package/dist/atomic/components/facet-guard.js +3 -0
  105. package/dist/atomic/components/facet-guard.js.map +1 -1
  106. package/dist/atomic/components/facet-placeholder.js +3 -0
  107. package/dist/atomic/components/facet-placeholder.js.map +1 -1
  108. package/dist/atomic/components/generated-answer-common.js +27 -0
  109. package/dist/atomic/components/generated-answer-common.js.map +1 -1
  110. package/dist/atomic/components/global/environment.js +1 -1
  111. package/dist/atomic/components/index.js.map +1 -1
  112. package/dist/atomic/components/item-list-guard.js +3 -0
  113. package/dist/atomic/components/item-list-guard.js.map +1 -1
  114. package/dist/atomic/components/show-hide-button.js +12 -0
  115. package/dist/atomic/components/show-hide-button.js.map +1 -1
  116. package/dist/atomic/components/smart-snippet-common.js +15 -0
  117. package/dist/atomic/components/smart-snippet-common.js.map +1 -1
  118. package/dist/atomic/components/smart-snippet-feedback-modal-common.js +21 -0
  119. package/dist/atomic/components/smart-snippet-feedback-modal-common.js.map +1 -1
  120. package/dist/atomic/components/smart-snippet-suggestions-common.js +18 -0
  121. package/dist/atomic/components/smart-snippet-suggestions-common.js.map +1 -1
  122. package/dist/atomic/components/stencil-button.js +1 -1
  123. package/dist/atomic/components/stencil-button.js.map +1 -1
  124. package/dist/atomic/components/stencil-carousel.js +3 -0
  125. package/dist/atomic/components/stencil-carousel.js.map +1 -1
  126. package/dist/atomic/components/stencil-checkbox.js +1 -1
  127. package/dist/atomic/components/stencil-checkbox.js.map +1 -1
  128. package/dist/atomic/components/stencil-display-grid.js +3 -0
  129. package/dist/atomic/components/stencil-display-grid.js.map +1 -1
  130. package/dist/atomic/components/stencil-display-wrapper.js +6 -0
  131. package/dist/atomic/components/stencil-display-wrapper.js.map +1 -1
  132. package/dist/atomic/components/stencil-facet-header.js +6 -0
  133. package/dist/atomic/components/stencil-facet-header.js.map +1 -1
  134. package/dist/atomic/components/stencil-facet-search-matches.js +6 -0
  135. package/dist/atomic/components/stencil-facet-search-matches.js.map +1 -1
  136. package/dist/atomic/components/stencil-facet-show-more-less.js +3 -0
  137. package/dist/atomic/components/stencil-facet-show-more-less.js.map +1 -1
  138. package/dist/atomic/components/stencil-facet-value-box.js +3 -0
  139. package/dist/atomic/components/stencil-facet-value-box.js.map +1 -1
  140. package/dist/atomic/components/stencil-facet-value-checkbox.js +7 -2
  141. package/dist/atomic/components/stencil-facet-value-checkbox.js.map +1 -1
  142. package/dist/atomic/components/stencil-facet-value-label-highlight.js +3 -0
  143. package/dist/atomic/components/stencil-facet-value-label-highlight.js.map +1 -1
  144. package/dist/atomic/components/stencil-facet-value-link.js +3 -0
  145. package/dist/atomic/components/stencil-facet-value-link.js.map +1 -1
  146. package/dist/atomic/components/stencil-facet-value.js +3 -0
  147. package/dist/atomic/components/stencil-facet-value.js.map +1 -1
  148. package/dist/atomic/components/stencil-facet-values-group.js +3 -0
  149. package/dist/atomic/components/stencil-facet-values-group.js.map +1 -1
  150. package/dist/atomic/components/stencil-fieldset-group.js +3 -0
  151. package/dist/atomic/components/stencil-fieldset-group.js.map +1 -1
  152. package/dist/atomic/components/stencil-heading.js +1 -1
  153. package/dist/atomic/components/stencil-heading.js.map +1 -1
  154. package/dist/atomic/components/stencil-iconButton.js +3 -0
  155. package/dist/atomic/components/stencil-iconButton.js.map +1 -1
  156. package/dist/atomic/components/stencil-item-link.js +3 -0
  157. package/dist/atomic/components/stencil-item-link.js.map +1 -1
  158. package/dist/atomic/components/stencil-link.js +24 -1
  159. package/dist/atomic/components/stencil-link.js.map +1 -1
  160. package/dist/atomic/components/stencil-magnifying-glass.js +6 -0
  161. package/dist/atomic/components/stencil-magnifying-glass.js.map +1 -1
  162. package/dist/atomic/components/stencil-modal.js +3 -0
  163. package/dist/atomic/components/stencil-modal.js.map +1 -1
  164. package/dist/atomic/components/stencil-placeholders.js +6 -0
  165. package/dist/atomic/components/stencil-placeholders.js.map +1 -1
  166. package/dist/atomic/components/stencil-query-suggestions.js +12 -0
  167. package/dist/atomic/components/stencil-query-suggestions.js.map +1 -1
  168. package/dist/atomic/components/stencil-radio-button.js +1 -1
  169. package/dist/atomic/components/stencil-radio-button.js.map +1 -1
  170. package/dist/atomic/components/stencil-rating.js +5 -2
  171. package/dist/atomic/components/stencil-rating.js.map +1 -1
  172. package/dist/atomic/components/{result-template-decorators.js → stencil-result-template-decorators.js} +6 -2
  173. package/dist/atomic/components/stencil-result-template-decorators.js.map +1 -0
  174. package/dist/atomic/components/stencil-suggestion-manager.js +9 -0
  175. package/dist/atomic/components/stencil-suggestion-manager.js.map +1 -1
  176. package/dist/atomic/components/stencil-tips.js +9 -0
  177. package/dist/atomic/components/stencil-tips.js.map +1 -1
  178. package/dist/atomic/components/stencil-values-container.js +6 -0
  179. package/dist/atomic/components/stencil-values-container.js.map +1 -1
  180. package/dist/atomic/index.esm.js +1 -1
  181. package/dist/atomic/index.esm.js.map +1 -1
  182. package/dist/atomic/{p-851b9735.entry.js → p-030c0435.entry.js} +2 -2
  183. package/dist/atomic/p-030c0435.entry.js.map +1 -0
  184. package/dist/atomic/{p-5606819d.entry.js → p-039bd7df.entry.js} +2 -2
  185. package/dist/atomic/{p-448091f7.entry.js → p-06463927.entry.js} +2 -2
  186. package/dist/atomic/p-06463927.entry.js.map +1 -0
  187. package/dist/atomic/{p-187193bb.js → p-0ed25035.js} +1 -1
  188. package/dist/atomic/p-0ed25035.js.map +1 -0
  189. package/dist/atomic/{p-66166975.entry.js → p-12be5e47.entry.js} +2 -2
  190. package/dist/atomic/p-12be5e47.entry.js.map +1 -0
  191. package/dist/atomic/{p-22b76c96.entry.js → p-13ac0c72.entry.js} +2 -2
  192. package/dist/atomic/{p-77d00da1.entry.js → p-15697c4b.entry.js} +2 -2
  193. package/dist/atomic/{p-b93ccff9.js → p-1a093634.js} +1 -1
  194. package/dist/atomic/p-1a093634.js.map +1 -0
  195. package/dist/atomic/{p-a5bac939.js → p-1b11f219.js} +1 -1
  196. package/dist/atomic/p-1b11f219.js.map +1 -0
  197. package/dist/atomic/{p-14bad769.entry.js → p-1d6d0186.entry.js} +2 -2
  198. package/dist/atomic/{p-48bab1a6.entry.js → p-1f903f31.entry.js} +2 -2
  199. package/dist/atomic/{p-db3b11ca.entry.js → p-2033533c.entry.js} +2 -2
  200. package/dist/atomic/{p-db3b11ca.entry.js.map → p-2033533c.entry.js.map} +1 -1
  201. package/dist/atomic/{p-d2e8a2d4.js → p-21dd38ad.js} +2 -2
  202. package/dist/atomic/p-21dd38ad.js.map +1 -0
  203. package/dist/atomic/{p-47b41b27.entry.js → p-24bb7b3d.entry.js} +2 -2
  204. package/dist/atomic/p-254846bb.js +2 -0
  205. package/dist/atomic/p-254846bb.js.map +1 -0
  206. package/dist/atomic/{p-4069d801.entry.js → p-268ce7ca.entry.js} +2 -2
  207. package/dist/atomic/p-268ce7ca.entry.js.map +1 -0
  208. package/dist/atomic/{p-6439156c.entry.js → p-2ab385b8.entry.js} +2 -2
  209. package/dist/atomic/p-2ab385b8.entry.js.map +1 -0
  210. package/dist/atomic/{p-6698d5e9.entry.js → p-2e9ecdf5.entry.js} +2 -2
  211. package/dist/atomic/{p-76c14d82.entry.js → p-32544f8a.entry.js} +2 -2
  212. package/dist/atomic/{p-e988f378.js → p-3881d7ec.js} +1 -1
  213. package/dist/atomic/p-3881d7ec.js.map +1 -0
  214. package/dist/atomic/{p-a6dde0f6.entry.js → p-390deb3d.entry.js} +2 -2
  215. package/dist/atomic/{p-2f437b47.entry.js → p-3b632123.entry.js} +2 -2
  216. package/dist/atomic/{p-7da7b187.js → p-3c2b932c.js} +1 -1
  217. package/dist/atomic/p-3c2b932c.js.map +1 -0
  218. package/dist/atomic/{p-21ab7750.entry.js → p-3e1b3a6d.entry.js} +2 -2
  219. package/dist/atomic/{p-21ab7750.entry.js.map → p-3e1b3a6d.entry.js.map} +1 -1
  220. package/dist/atomic/{p-e9dc8e90.entry.js → p-3ec45f9c.entry.js} +2 -2
  221. package/dist/atomic/p-3ec45f9c.entry.js.map +1 -0
  222. package/dist/atomic/{p-16f4ce98.js → p-40345c70.js} +2 -2
  223. package/dist/atomic/p-40345c70.js.map +1 -0
  224. package/dist/atomic/{p-18684d4c.js → p-4080f740.js} +1 -1
  225. package/dist/atomic/p-4080f740.js.map +1 -0
  226. package/dist/atomic/{p-3a01a398.entry.js → p-43fc38fb.entry.js} +2 -2
  227. package/dist/atomic/{p-dd24c66a.entry.js → p-443f3422.entry.js} +2 -2
  228. package/dist/atomic/{p-b29d121c.js → p-4651cceb.js} +2 -2
  229. package/dist/atomic/{p-400c28b6.entry.js → p-498771d3.entry.js} +2 -2
  230. package/dist/atomic/{p-f8b608ba.js → p-4a73e01b.js} +2 -2
  231. package/dist/atomic/p-4a73e01b.js.map +1 -0
  232. package/dist/atomic/{p-190ddaca.entry.js → p-4cf97b0a.entry.js} +2 -2
  233. package/dist/atomic/p-4cf97b0a.entry.js.map +1 -0
  234. package/dist/atomic/{p-15547bd5.entry.js → p-52663c66.entry.js} +2 -2
  235. package/dist/atomic/p-52663c66.entry.js.map +1 -0
  236. package/dist/atomic/{p-558f2191.entry.js → p-52878b95.entry.js} +2 -2
  237. package/dist/atomic/{p-c8190eb9.entry.js → p-5a644e15.entry.js} +2 -2
  238. package/dist/atomic/{p-78427c6a.entry.js → p-5a9460ab.entry.js} +2 -2
  239. package/dist/atomic/p-5a9460ab.entry.js.map +1 -0
  240. package/dist/atomic/{p-dea22a8d.entry.js → p-5b65473e.entry.js} +2 -2
  241. package/dist/atomic/p-5b65473e.entry.js.map +1 -0
  242. package/dist/atomic/{p-479cb38a.entry.js → p-5d4e9821.entry.js} +2 -2
  243. package/dist/atomic/p-5e6efd8e.js +2 -0
  244. package/dist/atomic/p-5e6efd8e.js.map +1 -0
  245. package/dist/atomic/{p-82cd6398.entry.js → p-5e6ff8f8.entry.js} +2 -2
  246. package/dist/atomic/{p-82cd6398.entry.js.map → p-5e6ff8f8.entry.js.map} +1 -1
  247. package/dist/atomic/{p-2c6f895f.js → p-64dfda2d.js} +2 -2
  248. package/dist/atomic/p-64dfda2d.js.map +1 -0
  249. package/dist/atomic/{p-af93b44c.js → p-659bddc4.js} +1 -1
  250. package/dist/atomic/p-659bddc4.js.map +1 -0
  251. package/dist/atomic/{p-955092ed.entry.js → p-67f62282.entry.js} +2 -2
  252. package/dist/atomic/p-67f62282.entry.js.map +1 -0
  253. package/dist/atomic/{p-1ff7a9da.entry.js → p-6a3b139f.entry.js} +2 -2
  254. package/dist/atomic/p-6a3b139f.entry.js.map +1 -0
  255. package/dist/atomic/p-6d0e9fad.entry.js.map +1 -1
  256. package/dist/atomic/{p-b84108f3.entry.js → p-6d323b9a.entry.js} +2 -2
  257. package/dist/atomic/{p-088d634c.entry.js → p-733a8082.entry.js} +2 -2
  258. package/dist/atomic/{p-b1b583a0.entry.js → p-74380cbc.entry.js} +2 -2
  259. package/dist/atomic/{p-35c2ee5f.entry.js → p-752f4533.entry.js} +2 -2
  260. package/dist/atomic/{p-bd2703e9.js → p-7a7ce0d5.js} +1 -1
  261. package/dist/atomic/p-7a7ce0d5.js.map +1 -0
  262. package/dist/atomic/{p-ef8f2239.entry.js → p-7afa3c6a.entry.js} +2 -2
  263. package/dist/atomic/{p-db2d92c5.entry.js → p-7b8607e0.entry.js} +2 -2
  264. package/dist/atomic/{p-7741124a.entry.js → p-7c87512d.entry.js} +2 -2
  265. package/dist/atomic/{p-f0c657f4.entry.js → p-84a6ee68.entry.js} +2 -2
  266. package/dist/atomic/p-84a6ee68.entry.js.map +1 -0
  267. package/dist/atomic/{p-8d5228da.entry.js → p-850fa320.entry.js} +2 -2
  268. package/dist/atomic/p-850fa320.entry.js.map +1 -0
  269. package/dist/atomic/{p-33245038.entry.js → p-86bba9db.entry.js} +2 -2
  270. package/dist/atomic/{p-5d0a3045.js → p-8aec7860.js} +2 -2
  271. package/dist/atomic/p-8aec7860.js.map +1 -0
  272. package/dist/atomic/{p-e49ad083.entry.js → p-8b1b1784.entry.js} +2 -2
  273. package/dist/atomic/p-8b1b1784.entry.js.map +1 -0
  274. package/dist/atomic/{p-b3f6561d.entry.js → p-8e964890.entry.js} +2 -2
  275. package/dist/atomic/p-8e964890.entry.js.map +1 -0
  276. package/dist/atomic/{p-bd01acd5.entry.js → p-93b392fa.entry.js} +2 -2
  277. package/dist/atomic/p-93b392fa.entry.js.map +1 -0
  278. package/dist/atomic/{p-318c96f5.entry.js → p-9519e656.entry.js} +2 -2
  279. package/dist/atomic/{p-70747efa.entry.js → p-951bdd73.entry.js} +2 -2
  280. package/dist/atomic/{p-81bdbd07.entry.js → p-953fe202.entry.js} +2 -2
  281. package/dist/atomic/p-953fe202.entry.js.map +1 -0
  282. package/dist/atomic/{p-5a83b7e5.entry.js → p-99bb5042.entry.js} +2 -2
  283. package/dist/atomic/{p-fc71835d.entry.js → p-99d0c865.entry.js} +2 -2
  284. package/dist/atomic/p-9aad555a.entry.js.map +1 -1
  285. package/dist/atomic/{p-5c73ebc4.js → p-9b447b7d.js} +2 -2
  286. package/dist/atomic/p-9b447b7d.js.map +1 -0
  287. package/dist/atomic/{p-b628ed03.entry.js → p-9c97d77d.entry.js} +2 -2
  288. package/dist/atomic/p-9c97d77d.entry.js.map +1 -0
  289. package/dist/atomic/{p-82398f4a.js → p-9ce62a67.js} +2 -2
  290. package/dist/atomic/p-9ce62a67.js.map +1 -0
  291. package/dist/atomic/{p-80290dd3.entry.js → p-9d492524.entry.js} +2 -2
  292. package/dist/atomic/{p-4b1dc787.js → p-a24a63d6.js} +1 -1
  293. package/dist/atomic/p-a24a63d6.js.map +1 -0
  294. package/dist/atomic/{p-8a488991.js → p-aa0139e0.js} +2 -2
  295. package/dist/atomic/p-aa0139e0.js.map +1 -0
  296. package/dist/atomic/p-ac03c9a7.js +2 -0
  297. package/dist/atomic/{p-5a2ef889.js.map → p-ac03c9a7.js.map} +1 -1
  298. package/dist/atomic/{p-d0ab0125.entry.js → p-b0a20358.entry.js} +2 -2
  299. package/dist/atomic/{p-0ee7cab8.entry.js → p-b0f6a52e.entry.js} +2 -2
  300. package/dist/atomic/{p-c619df9b.js → p-b58c1424.js} +2 -2
  301. package/dist/atomic/p-b58c1424.js.map +1 -0
  302. package/dist/atomic/{p-1a5ff6af.entry.js → p-b72d3af6.entry.js} +2 -2
  303. package/dist/atomic/p-b85c2c46.entry.js.map +1 -1
  304. package/dist/atomic/{p-66d48d1a.js → p-b8e66e99.js} +1 -1
  305. package/dist/atomic/p-b8e66e99.js.map +1 -0
  306. package/dist/atomic/{p-037eee11.js → p-baebeae3.js} +2 -2
  307. package/dist/atomic/p-baebeae3.js.map +1 -0
  308. package/dist/atomic/{p-a428960a.js → p-bca5b379.js} +2 -2
  309. package/dist/atomic/p-bca5b379.js.map +1 -0
  310. package/dist/atomic/{p-e6871a3f.entry.js → p-bef3a536.entry.js} +2 -2
  311. package/dist/atomic/{p-7fe23afc.entry.js → p-bf0a780e.entry.js} +2 -2
  312. package/dist/atomic/{p-9b2561e8.entry.js → p-bfb2e085.entry.js} +2 -2
  313. package/dist/atomic/{p-f1241140.entry.js → p-c0491e26.entry.js} +2 -2
  314. package/dist/atomic/{p-e276c7e0.entry.js → p-c1cd0a45.entry.js} +2 -2
  315. package/dist/atomic/{p-1f059522.js → p-c3451367.js} +1 -1
  316. package/dist/atomic/p-c3451367.js.map +1 -0
  317. package/dist/atomic/{p-852cc16d.entry.js → p-c402cc93.entry.js} +2 -2
  318. package/dist/atomic/p-c402cc93.entry.js.map +1 -0
  319. package/dist/atomic/{p-c2a5dac0.entry.js → p-c51d050f.entry.js} +2 -2
  320. package/dist/atomic/p-c51d050f.entry.js.map +1 -0
  321. package/dist/atomic/{p-1910eb7f.entry.js → p-c52c9e67.entry.js} +2 -2
  322. package/dist/atomic/{p-5cab535b.entry.js → p-c5bd7f8d.entry.js} +2 -2
  323. package/dist/atomic/p-c5bd7f8d.entry.js.map +1 -0
  324. package/dist/atomic/{p-7cb0050f.js → p-c727ec2d.js} +1 -1
  325. package/dist/atomic/p-c727ec2d.js.map +1 -0
  326. package/dist/atomic/{p-ae69f519.entry.js → p-cc963c10.entry.js} +2 -2
  327. package/dist/atomic/{p-ae69f519.entry.js.map → p-cc963c10.entry.js.map} +1 -1
  328. package/dist/atomic/p-ccb5ae69.js +2 -0
  329. package/dist/atomic/p-ccb5ae69.js.map +1 -0
  330. package/dist/atomic/{p-df8d38ca.entry.js → p-cd021c46.entry.js} +2 -2
  331. package/dist/atomic/p-cd021c46.entry.js.map +1 -0
  332. package/dist/atomic/{p-e455330c.entry.js → p-cd4394fe.entry.js} +2 -2
  333. package/dist/atomic/{p-c5164dbf.entry.js → p-cee86cff.entry.js} +2 -2
  334. package/dist/atomic/p-cee86cff.entry.js.map +1 -0
  335. package/dist/atomic/{p-4cb91ee7.entry.js → p-d5402772.entry.js} +2 -2
  336. package/dist/atomic/p-d5402772.entry.js.map +1 -0
  337. package/dist/atomic/{p-f37dea9e.entry.js → p-d5f4597b.entry.js} +2 -2
  338. package/dist/atomic/{p-307e7fd5.js → p-d72be8c2.js} +1 -1
  339. package/dist/atomic/p-d72be8c2.js.map +1 -0
  340. package/dist/atomic/p-d8caa4d8.entry.js.map +1 -1
  341. package/dist/atomic/{p-3bd8469f.entry.js → p-d944704c.entry.js} +2 -2
  342. package/dist/atomic/p-d944704c.entry.js.map +1 -0
  343. package/dist/atomic/{p-e6dc9de7.entry.js → p-da141605.entry.js} +2 -2
  344. package/dist/atomic/p-da141605.entry.js.map +1 -0
  345. package/dist/atomic/{p-8e5e00b4.js → p-da3fdf6d.js} +1 -1
  346. package/dist/atomic/p-da3fdf6d.js.map +1 -0
  347. package/dist/atomic/{p-57049cd2.entry.js → p-dbfd92ab.entry.js} +2 -2
  348. package/dist/atomic/p-dbfd92ab.entry.js.map +1 -0
  349. package/dist/atomic/{p-a1798150.entry.js → p-dd258eaa.entry.js} +2 -2
  350. package/dist/atomic/p-dd258eaa.entry.js.map +1 -0
  351. package/dist/atomic/{p-74862002.js → p-ddfbc97a.js} +2 -2
  352. package/dist/atomic/p-ddfbc97a.js.map +1 -0
  353. package/dist/atomic/{p-d4c2b7c0.js → p-defc2481.js} +1 -1
  354. package/dist/atomic/{p-d4c2b7c0.js.map → p-defc2481.js.map} +1 -1
  355. package/dist/atomic/{p-7242b46e.entry.js → p-e1052201.entry.js} +2 -2
  356. package/dist/atomic/{p-945ddd53.entry.js → p-e1dbe31d.entry.js} +2 -2
  357. package/dist/atomic/p-e1dbe31d.entry.js.map +1 -0
  358. package/dist/atomic/{p-dbc09018.js → p-e2fdbbd9.js} +2 -2
  359. package/dist/atomic/p-e2fdbbd9.js.map +1 -0
  360. package/dist/atomic/{p-874f0a4c.entry.js → p-e46e05cb.entry.js} +2 -2
  361. package/dist/atomic/{p-be5d3c54.js → p-e5e2aa64.js} +1 -1
  362. package/dist/atomic/p-e5e2aa64.js.map +1 -0
  363. package/dist/atomic/{p-182f9112.entry.js → p-e809b959.entry.js} +2 -2
  364. package/dist/atomic/p-e809b959.entry.js.map +1 -0
  365. package/dist/atomic/{p-0535b93d.entry.js → p-eca826bd.entry.js} +2 -2
  366. package/dist/atomic/p-eca826bd.entry.js.map +1 -0
  367. package/dist/atomic/{p-a54f3f24.entry.js → p-ee19b388.entry.js} +2 -2
  368. package/dist/atomic/{p-baff6c43.js → p-efd33bd9.js} +2 -2
  369. package/dist/atomic/p-efd33bd9.js.map +1 -0
  370. package/dist/atomic/{p-20cbcfb9.js → p-f0e695ab.js} +2 -2
  371. package/dist/atomic/p-f0e695ab.js.map +1 -0
  372. package/dist/atomic/{p-7045745d.entry.js → p-f25c9582.entry.js} +2 -2
  373. package/dist/atomic/{p-ca1425cc.entry.js → p-f3eaea67.entry.js} +2 -2
  374. package/dist/atomic/{p-ef78082a.js → p-f56b1fd6.js} +2 -2
  375. package/dist/atomic/p-f56b1fd6.js.map +1 -0
  376. package/dist/atomic/{p-e8176ac8.entry.js → p-f77a5952.entry.js} +2 -2
  377. package/dist/atomic/{p-8b0d881e.entry.js → p-f7b4ce31.entry.js} +2 -2
  378. package/dist/atomic/p-f7b4ce31.entry.js.map +1 -0
  379. package/dist/atomic/p-f800678c.entry.js.map +1 -1
  380. package/dist/atomic/{p-36ff2bc3.entry.js → p-f8f80cbe.entry.js} +2 -2
  381. package/dist/atomic/p-f8f80cbe.entry.js.map +1 -0
  382. package/dist/atomic/{p-99d4c4bf.entry.js → p-fdaf9f6c.entry.js} +2 -2
  383. package/dist/atomic/{p-fd1ef9e3.entry.js → p-fdd6264f.entry.js} +2 -2
  384. package/dist/atomic/{p-2f517a54.entry.js → p-ff263c5e.entry.js} +2 -2
  385. package/dist/atomic/p-ff263c5e.entry.js.map +1 -0
  386. package/dist/cjs/_index.cjs.js +20 -20
  387. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +8 -8
  388. package/dist/cjs/atomic-breadbox.cjs.entry.js +19 -1
  389. package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
  390. package/dist/cjs/atomic-category-facet.cjs.entry.js +37 -10
  391. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  392. package/dist/cjs/atomic-citation.cjs.entry.js +2 -2
  393. package/dist/cjs/atomic-color-facet.cjs.entry.js +12 -9
  394. package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
  395. package/dist/cjs/atomic-did-you-mean.cjs.entry.js +12 -1
  396. package/dist/cjs/atomic-did-you-mean.cjs.entry.js.map +1 -1
  397. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +1 -1
  398. package/dist/cjs/atomic-facet.cjs.entry.js +20 -14
  399. package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -1
  400. package/dist/cjs/atomic-field-condition.cjs.entry.js +2 -2
  401. package/dist/cjs/atomic-field-condition.cjs.entry.js.map +1 -1
  402. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +3 -3
  403. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +4 -4
  404. package/dist/cjs/atomic-generated-answer.cjs.entry.js +4 -4
  405. package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
  406. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +2 -2
  407. package/dist/cjs/atomic-insight-facet.cjs.entry.js +13 -13
  408. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +3 -3
  409. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +2 -2
  410. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +4 -4
  411. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
  412. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +2 -2
  413. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +2 -2
  414. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +11 -11
  415. package/dist/cjs/atomic-insight-pager.cjs.entry.js +7 -7
  416. package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
  417. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +2 -2
  418. package/dist/cjs/atomic-insight-query-summary.cjs.entry.js +9 -0
  419. package/dist/cjs/atomic-insight-query-summary.cjs.entry.js.map +1 -1
  420. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  421. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +2 -2
  422. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +5 -5
  423. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
  424. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +5 -5
  425. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
  426. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +3 -3
  427. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js.map +1 -1
  428. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +3 -3
  429. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +3 -3
  430. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +5 -5
  431. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
  432. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +3 -3
  433. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  434. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +3 -3
  435. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +4 -4
  436. package/dist/cjs/atomic-insight-tab.cjs.entry.js +1 -1
  437. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +8 -8
  438. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +1 -1
  439. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +5 -2
  440. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js.map +1 -1
  441. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +2 -2
  442. package/dist/cjs/atomic-ipx-button.cjs.entry.js +1 -1
  443. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +6 -6
  444. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +2 -2
  445. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +2 -2
  446. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +5 -5
  447. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js.map +1 -1
  448. package/dist/cjs/atomic-ipx-tab.cjs.entry.js +1 -1
  449. package/dist/cjs/atomic-load-more-results.cjs.entry.js +14 -2
  450. package/dist/cjs/atomic-load-more-results.cjs.entry.js.map +1 -1
  451. package/dist/cjs/atomic-no-results.cjs.entry.js +6 -3
  452. package/dist/cjs/atomic-no-results.cjs.entry.js.map +1 -1
  453. package/dist/cjs/atomic-notifications.cjs.entry.js +1 -1
  454. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +11 -11
  455. package/dist/cjs/atomic-popover.cjs.entry.js +1 -1
  456. package/dist/cjs/atomic-query-error.cjs.entry.js +2 -2
  457. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +9 -6
  458. package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
  459. package/dist/cjs/atomic-quickview.cjs.entry.js +4 -4
  460. package/dist/cjs/atomic-quickview.cjs.entry.js.map +1 -1
  461. package/dist/cjs/atomic-rating-facet.cjs.entry.js +9 -9
  462. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +7 -7
  463. package/dist/cjs/atomic-recs-error.cjs.entry.js +2 -2
  464. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  465. package/dist/cjs/atomic-recs-list.cjs.entry.js +6 -6
  466. package/dist/cjs/atomic-refine-modal.cjs.entry.js +14 -2
  467. package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
  468. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +7 -1
  469. package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
  470. package/dist/cjs/atomic-result-badge.cjs.entry.js +2 -2
  471. package/dist/cjs/atomic-result-badge.cjs.entry.js.map +1 -1
  472. package/dist/cjs/atomic-result-children.cjs.entry.js +6 -6
  473. package/dist/cjs/atomic-result-children.cjs.entry.js.map +1 -1
  474. package/dist/cjs/atomic-result-date.cjs.entry.js +2 -2
  475. package/dist/cjs/atomic-result-date.cjs.entry.js.map +1 -1
  476. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +3 -3
  477. package/dist/cjs/atomic-result-fields-list.cjs.entry.js.map +1 -1
  478. package/dist/cjs/atomic-result-html.cjs.entry.js +2 -2
  479. package/dist/cjs/atomic-result-html.cjs.entry.js.map +1 -1
  480. package/dist/cjs/atomic-result-icon.cjs.entry.js +2 -2
  481. package/dist/cjs/atomic-result-icon.cjs.entry.js.map +1 -1
  482. package/dist/cjs/atomic-result-image.cjs.entry.js +2 -2
  483. package/dist/cjs/atomic-result-image.cjs.entry.js.map +1 -1
  484. package/dist/cjs/atomic-result-link.cjs.entry.js +5 -5
  485. package/dist/cjs/atomic-result-link.cjs.entry.js.map +1 -1
  486. package/dist/cjs/atomic-result-list.cjs.entry.js +16 -4
  487. package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
  488. package/dist/cjs/atomic-result-localized-text.cjs.entry.js +3 -3
  489. package/dist/cjs/atomic-result-localized-text.cjs.entry.js.map +1 -1
  490. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js +2 -2
  491. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js.map +1 -1
  492. package/dist/cjs/atomic-result-number.cjs.entry.js +2 -2
  493. package/dist/cjs/atomic-result-number.cjs.entry.js.map +1 -1
  494. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +3 -3
  495. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js.map +1 -1
  496. package/dist/cjs/atomic-result-rating.cjs.entry.js +3 -3
  497. package/dist/cjs/atomic-result-rating.cjs.entry.js.map +1 -1
  498. package/dist/cjs/atomic-result-text_2.cjs.entry.js +8 -2
  499. package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
  500. package/dist/cjs/atomic-result-timespan.cjs.entry.js +2 -2
  501. package/dist/cjs/atomic-result-timespan.cjs.entry.js.map +1 -1
  502. package/dist/cjs/atomic-result.cjs.entry.js.map +1 -1
  503. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +9 -0
  504. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js.map +1 -1
  505. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js +1 -1
  506. package/dist/cjs/atomic-search-box.cjs.entry.js +5 -2
  507. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  508. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +1 -1
  509. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +6 -3
  510. package/dist/cjs/atomic-segmented-facet.cjs.entry.js.map +1 -1
  511. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  512. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js.map +1 -1
  513. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  514. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +3 -3
  515. package/dist/cjs/atomic-smart-snippet.cjs.entry.js +4 -4
  516. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +15 -0
  517. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js.map +1 -1
  518. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +1 -1
  519. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  520. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  521. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +8 -8
  522. package/dist/cjs/{facet-guard-328b588d.js → facet-guard-0e8cbe50.js} +4 -1
  523. package/dist/cjs/facet-guard-0e8cbe50.js.map +1 -0
  524. package/dist/cjs/{facet-placeholder-22074f05.js → facet-placeholder-5beb1e14.js} +12 -3
  525. package/dist/cjs/facet-placeholder-5beb1e14.js.map +1 -0
  526. package/dist/cjs/{generated-answer-common-3c400311.js → generated-answer-common-51e5b253.js} +30 -3
  527. package/dist/cjs/generated-answer-common-51e5b253.js.map +1 -0
  528. package/dist/cjs/index.cjs.js.map +1 -1
  529. package/dist/cjs/{item-list-guard-506b695a.js → item-list-guard-71a3f994.js} +4 -1
  530. package/dist/cjs/item-list-guard-71a3f994.js.map +1 -0
  531. package/dist/cjs/{show-hide-button-c4717f52.js → show-hide-button-cbf030a3.js} +15 -3
  532. package/dist/cjs/show-hide-button-cbf030a3.js.map +1 -0
  533. package/dist/cjs/{smart-snippet-common-1fd0dad5.js → smart-snippet-common-6a18743b.js} +19 -4
  534. package/dist/cjs/smart-snippet-common-6a18743b.js.map +1 -0
  535. package/dist/cjs/{smart-snippet-feedback-modal-common-9721e3c4.js → smart-snippet-feedback-modal-common-6048b7af.js} +23 -2
  536. package/dist/cjs/smart-snippet-feedback-modal-common-6048b7af.js.map +1 -0
  537. package/dist/cjs/{smart-snippet-suggestions-common-024c89b7.js → smart-snippet-suggestions-common-0a7adbfa.js} +21 -3
  538. package/dist/cjs/smart-snippet-suggestions-common-0a7adbfa.js.map +1 -0
  539. package/dist/cjs/{stencil-button-94b89acc.js → stencil-button-62b500e4.js} +2 -2
  540. package/dist/cjs/{stencil-button-94b89acc.js.map → stencil-button-62b500e4.js.map} +1 -1
  541. package/dist/cjs/{stencil-carousel-a8df6f3c.js → stencil-carousel-a605d26f.js} +5 -2
  542. package/dist/cjs/stencil-carousel-a605d26f.js.map +1 -0
  543. package/dist/cjs/{stencil-checkbox-81c51bbd.js → stencil-checkbox-6a2ad8d3.js} +2 -2
  544. package/dist/cjs/stencil-checkbox-6a2ad8d3.js.map +1 -0
  545. package/dist/cjs/{stencil-display-grid-93c5802a.js → stencil-display-grid-1f4e15ba.js} +4 -1
  546. package/dist/cjs/stencil-display-grid-1f4e15ba.js.map +1 -0
  547. package/dist/cjs/{stencil-display-wrapper-498de571.js → stencil-display-wrapper-b5c56fe9.js} +7 -1
  548. package/dist/cjs/stencil-display-wrapper-b5c56fe9.js.map +1 -0
  549. package/dist/cjs/{stencil-facet-search-matches-101e0ede.js → stencil-facet-search-matches-61418287.js} +9 -3
  550. package/dist/cjs/stencil-facet-search-matches-61418287.js.map +1 -0
  551. package/dist/cjs/{stencil-facet-show-more-less-70f4d20d.js → stencil-facet-show-more-less-8da6af80.js} +6 -3
  552. package/dist/cjs/stencil-facet-show-more-less-8da6af80.js.map +1 -0
  553. package/dist/cjs/{stencil-facet-value-box-11aa05dd.js → stencil-facet-value-box-dc7013fa.js} +5 -2
  554. package/dist/cjs/stencil-facet-value-box-dc7013fa.js.map +1 -0
  555. package/dist/cjs/{stencil-facet-value-5957b403.js → stencil-facet-value-c8a1fe99.js} +8 -5
  556. package/dist/cjs/stencil-facet-value-c8a1fe99.js.map +1 -0
  557. package/dist/cjs/{stencil-facet-value-checkbox-fed178ad.js → stencil-facet-value-checkbox-58251c1b.js} +10 -5
  558. package/dist/cjs/stencil-facet-value-checkbox-58251c1b.js.map +1 -0
  559. package/dist/cjs/{stencil-facet-value-label-highlight-c2421e8f.js → stencil-facet-value-label-highlight-16ea0e83.js} +4 -1
  560. package/dist/cjs/stencil-facet-value-label-highlight-16ea0e83.js.map +1 -0
  561. package/dist/cjs/{stencil-facet-value-link-8a095034.js → stencil-facet-value-link-8587369b.js} +5 -2
  562. package/dist/cjs/stencil-facet-value-link-8587369b.js.map +1 -0
  563. package/dist/cjs/{stencil-facet-values-group-07b50fc0.js → stencil-facet-values-group-332a2362.js} +5 -2
  564. package/dist/cjs/stencil-facet-values-group-332a2362.js.map +1 -0
  565. package/dist/cjs/{stencil-fieldset-group-3b25c138.js → stencil-fieldset-group-cc350109.js} +4 -1
  566. package/dist/cjs/stencil-fieldset-group-cc350109.js.map +1 -0
  567. package/dist/cjs/{stencil-heading-2faee1f7.js → stencil-heading-7e57d2eb.js} +2 -2
  568. package/dist/cjs/stencil-heading-7e57d2eb.js.map +1 -0
  569. package/dist/cjs/{stencil-iconButton-738b1548.js → stencil-iconButton-0f5e02fb.js} +5 -2
  570. package/dist/cjs/stencil-iconButton-0f5e02fb.js.map +1 -0
  571. package/dist/cjs/{stencil-item-link-9feaef61.js → stencil-item-link-3f38d5be.js} +4 -1
  572. package/dist/cjs/stencil-item-link-3f38d5be.js.map +1 -0
  573. package/dist/cjs/{stencil-link-9336b8c1.js → stencil-link-e392d9fa.js} +26 -3
  574. package/dist/cjs/stencil-link-e392d9fa.js.map +1 -0
  575. package/dist/cjs/{stencil-magnifying-glass-c1d386a1.js → stencil-magnifying-glass-e09449a3.js} +7 -1
  576. package/dist/cjs/stencil-magnifying-glass-e09449a3.js.map +1 -0
  577. package/dist/cjs/{stencil-modal-9035ea2a.js → stencil-modal-0c2539a2.js} +5 -2
  578. package/dist/cjs/stencil-modal-0c2539a2.js.map +1 -0
  579. package/dist/cjs/{stencil-placeholders-b8c896fa.js → stencil-placeholders-17e73823.js} +7 -1
  580. package/dist/cjs/stencil-placeholders-17e73823.js.map +1 -0
  581. package/dist/cjs/{stencil-query-suggestions-03268ecc.js → stencil-query-suggestions-6c623e4a.js} +13 -1
  582. package/dist/cjs/stencil-query-suggestions-6c623e4a.js.map +1 -0
  583. package/dist/cjs/{stencil-radio-button-ea7e71d3.js → stencil-radio-button-4f4ddc4d.js} +3 -3
  584. package/dist/cjs/stencil-radio-button-4f4ddc4d.js.map +1 -0
  585. package/dist/cjs/{stencil-rating-a40e50dd.js → stencil-rating-2b9b6345.js} +6 -3
  586. package/dist/cjs/stencil-rating-2b9b6345.js.map +1 -0
  587. package/dist/cjs/{result-template-decorators-432d11a9.js → stencil-result-template-decorators-28b05aaf.js} +6 -2
  588. package/dist/cjs/stencil-result-template-decorators-28b05aaf.js.map +1 -0
  589. package/dist/cjs/{stencil-suggestion-manager-2cba6d69.js → stencil-suggestion-manager-df2e5c45.js} +11 -2
  590. package/dist/cjs/stencil-suggestion-manager-df2e5c45.js.map +1 -0
  591. package/dist/cjs/{stencil-tips-e913f891.js → stencil-tips-ecad2e9f.js} +10 -1
  592. package/dist/cjs/stencil-tips-ecad2e9f.js.map +1 -0
  593. package/dist/cjs/{stencil-values-container-d20f9b28.js → stencil-values-container-239826f6.js} +11 -5
  594. package/dist/cjs/stencil-values-container-239826f6.js.map +1 -0
  595. package/dist/cjs/{timeframe-facet-common-4ea96ccb.js → timeframe-facet-common-cbd1b4c6.js} +5 -5
  596. package/dist/cjs/{timeframe-facet-common-4ea96ccb.js.map → timeframe-facet-common-cbd1b4c6.js.map} +1 -1
  597. package/dist/cjs/version.cjs.js +1 -1
  598. package/dist/esm/_index.js +19 -19
  599. package/dist/esm/atomic-automatic-facet_2.entry.js +8 -8
  600. package/dist/esm/atomic-breadbox.entry.js +19 -1
  601. package/dist/esm/atomic-breadbox.entry.js.map +1 -1
  602. package/dist/esm/atomic-category-facet.entry.js +37 -10
  603. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  604. package/dist/esm/atomic-citation.entry.js +2 -2
  605. package/dist/esm/atomic-color-facet.entry.js +12 -9
  606. package/dist/esm/atomic-color-facet.entry.js.map +1 -1
  607. package/dist/esm/atomic-did-you-mean.entry.js +12 -1
  608. package/dist/esm/atomic-did-you-mean.entry.js.map +1 -1
  609. package/dist/esm/atomic-facet-number-input.entry.js +1 -1
  610. package/dist/esm/atomic-facet.entry.js +20 -14
  611. package/dist/esm/atomic-facet.entry.js.map +1 -1
  612. package/dist/esm/atomic-field-condition.entry.js +1 -1
  613. package/dist/esm/atomic-field-condition.entry.js.map +1 -1
  614. package/dist/esm/atomic-folded-result-list.entry.js +3 -3
  615. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +4 -4
  616. package/dist/esm/atomic-generated-answer.entry.js +4 -4
  617. package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
  618. package/dist/esm/atomic-insight-edit-toggle.entry.js +2 -2
  619. package/dist/esm/atomic-insight-facet.entry.js +13 -13
  620. package/dist/esm/atomic-insight-folded-result-list.entry.js +3 -3
  621. package/dist/esm/atomic-insight-full-search-button.entry.js +2 -2
  622. package/dist/esm/atomic-insight-generated-answer.entry.js +4 -4
  623. package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
  624. package/dist/esm/atomic-insight-history-toggle.entry.js +2 -2
  625. package/dist/esm/atomic-insight-no-results.entry.js +2 -2
  626. package/dist/esm/atomic-insight-numeric-facet.entry.js +11 -11
  627. package/dist/esm/atomic-insight-pager.entry.js +7 -7
  628. package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
  629. package/dist/esm/atomic-insight-query-error.entry.js +2 -2
  630. package/dist/esm/atomic-insight-query-summary.entry.js +9 -0
  631. package/dist/esm/atomic-insight-query-summary.entry.js.map +1 -1
  632. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  633. package/dist/esm/atomic-insight-refine-toggle.entry.js +2 -2
  634. package/dist/esm/atomic-insight-result-action.entry.js +4 -4
  635. package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
  636. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +4 -4
  637. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
  638. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +2 -2
  639. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js.map +1 -1
  640. package/dist/esm/atomic-insight-result-children.entry.js +3 -3
  641. package/dist/esm/atomic-insight-result-list.entry.js +3 -3
  642. package/dist/esm/atomic-insight-result-quickview-action.entry.js +4 -4
  643. package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
  644. package/dist/esm/atomic-insight-search-box.entry.js +3 -3
  645. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  646. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +3 -3
  647. package/dist/esm/atomic-insight-smart-snippet.entry.js +4 -4
  648. package/dist/esm/atomic-insight-tab.entry.js +1 -1
  649. package/dist/esm/atomic-insight-timeframe-facet.entry.js +8 -8
  650. package/dist/esm/atomic-insight-user-actions-modal.entry.js +1 -1
  651. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +5 -2
  652. package/dist/esm/atomic-insight-user-actions-session_2.entry.js.map +1 -1
  653. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +2 -2
  654. package/dist/esm/atomic-ipx-button.entry.js +1 -1
  655. package/dist/esm/atomic-ipx-recs-list.entry.js +6 -6
  656. package/dist/esm/atomic-ipx-refine-modal.entry.js +2 -2
  657. package/dist/esm/atomic-ipx-refine-toggle.entry.js +2 -2
  658. package/dist/esm/atomic-ipx-result-link.entry.js +3 -3
  659. package/dist/esm/atomic-ipx-result-link.entry.js.map +1 -1
  660. package/dist/esm/atomic-ipx-tab.entry.js +1 -1
  661. package/dist/esm/atomic-load-more-results.entry.js +14 -2
  662. package/dist/esm/atomic-load-more-results.entry.js.map +1 -1
  663. package/dist/esm/atomic-no-results.entry.js +6 -3
  664. package/dist/esm/atomic-no-results.entry.js.map +1 -1
  665. package/dist/esm/atomic-notifications.entry.js +1 -1
  666. package/dist/esm/atomic-numeric-facet.entry.js +11 -11
  667. package/dist/esm/atomic-popover.entry.js +1 -1
  668. package/dist/esm/atomic-query-error.entry.js +2 -2
  669. package/dist/esm/atomic-quickview-modal.entry.js +9 -6
  670. package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
  671. package/dist/esm/atomic-quickview.entry.js +3 -3
  672. package/dist/esm/atomic-quickview.entry.js.map +1 -1
  673. package/dist/esm/atomic-rating-facet.entry.js +9 -9
  674. package/dist/esm/atomic-rating-range-facet.entry.js +7 -7
  675. package/dist/esm/atomic-recs-error.entry.js +2 -2
  676. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  677. package/dist/esm/atomic-recs-list.entry.js +6 -6
  678. package/dist/esm/atomic-refine-modal.entry.js +14 -2
  679. package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
  680. package/dist/esm/atomic-refine-toggle.entry.js +7 -1
  681. package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
  682. package/dist/esm/atomic-result-badge.entry.js +1 -1
  683. package/dist/esm/atomic-result-badge.entry.js.map +1 -1
  684. package/dist/esm/atomic-result-children.entry.js +5 -5
  685. package/dist/esm/atomic-result-children.entry.js.map +1 -1
  686. package/dist/esm/atomic-result-date.entry.js +1 -1
  687. package/dist/esm/atomic-result-date.entry.js.map +1 -1
  688. package/dist/esm/atomic-result-fields-list.entry.js +2 -2
  689. package/dist/esm/atomic-result-fields-list.entry.js.map +1 -1
  690. package/dist/esm/atomic-result-html.entry.js +1 -1
  691. package/dist/esm/atomic-result-html.entry.js.map +1 -1
  692. package/dist/esm/atomic-result-icon.entry.js +1 -1
  693. package/dist/esm/atomic-result-icon.entry.js.map +1 -1
  694. package/dist/esm/atomic-result-image.entry.js +1 -1
  695. package/dist/esm/atomic-result-image.entry.js.map +1 -1
  696. package/dist/esm/atomic-result-link.entry.js +3 -3
  697. package/dist/esm/atomic-result-link.entry.js.map +1 -1
  698. package/dist/esm/atomic-result-list.entry.js +16 -4
  699. package/dist/esm/atomic-result-list.entry.js.map +1 -1
  700. package/dist/esm/atomic-result-localized-text.entry.js +2 -2
  701. package/dist/esm/atomic-result-localized-text.entry.js.map +1 -1
  702. package/dist/esm/atomic-result-multi-value-text.entry.js +1 -1
  703. package/dist/esm/atomic-result-multi-value-text.entry.js.map +1 -1
  704. package/dist/esm/atomic-result-number.entry.js +1 -1
  705. package/dist/esm/atomic-result-number.entry.js.map +1 -1
  706. package/dist/esm/atomic-result-printable-uri.entry.js +2 -2
  707. package/dist/esm/atomic-result-printable-uri.entry.js.map +1 -1
  708. package/dist/esm/atomic-result-rating.entry.js +2 -2
  709. package/dist/esm/atomic-result-rating.entry.js.map +1 -1
  710. package/dist/esm/atomic-result-text_2.entry.js +7 -1
  711. package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
  712. package/dist/esm/atomic-result-timespan.entry.js +1 -1
  713. package/dist/esm/atomic-result-timespan.entry.js.map +1 -1
  714. package/dist/esm/atomic-result.entry.js.map +1 -1
  715. package/dist/esm/atomic-search-box-instant-results.entry.js +9 -0
  716. package/dist/esm/atomic-search-box-instant-results.entry.js.map +1 -1
  717. package/dist/esm/atomic-search-box-query-suggestions.entry.js +1 -1
  718. package/dist/esm/atomic-search-box.entry.js +5 -2
  719. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  720. package/dist/esm/atomic-segmented-facet-scrollable.entry.js +1 -1
  721. package/dist/esm/atomic-segmented-facet.entry.js +6 -3
  722. package/dist/esm/atomic-segmented-facet.entry.js.map +1 -1
  723. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  724. package/dist/esm/atomic-smart-snippet-answer_2.entry.js.map +1 -1
  725. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  726. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +3 -3
  727. package/dist/esm/atomic-smart-snippet.entry.js +4 -4
  728. package/dist/esm/atomic-sort-dropdown.entry.js +15 -0
  729. package/dist/esm/atomic-sort-dropdown.entry.js.map +1 -1
  730. package/dist/esm/atomic-stencil-facet-date-input.entry.js +1 -1
  731. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  732. package/dist/esm/atomic-tab-button.entry.js +1 -1
  733. package/dist/esm/atomic-timeframe-facet.entry.js +8 -8
  734. package/dist/esm/{facet-guard-4b795e90.js → facet-guard-3bb4a306.js} +4 -1
  735. package/dist/esm/facet-guard-3bb4a306.js.map +1 -0
  736. package/dist/esm/{facet-placeholder-4959a92a.js → facet-placeholder-a4a46474.js} +12 -3
  737. package/dist/esm/facet-placeholder-a4a46474.js.map +1 -0
  738. package/dist/esm/{generated-answer-common-9d0c5ada.js → generated-answer-common-d5cc6e86.js} +30 -3
  739. package/dist/esm/generated-answer-common-d5cc6e86.js.map +1 -0
  740. package/dist/esm/index.js.map +1 -1
  741. package/dist/esm/{item-list-guard-22b0711a.js → item-list-guard-8cd62b09.js} +4 -1
  742. package/dist/esm/item-list-guard-8cd62b09.js.map +1 -0
  743. package/dist/esm/{show-hide-button-35eb419d.js → show-hide-button-8ed8d405.js} +15 -3
  744. package/dist/esm/show-hide-button-8ed8d405.js.map +1 -0
  745. package/dist/esm/{smart-snippet-common-5ed4bdfa.js → smart-snippet-common-f2a5e84f.js} +19 -4
  746. package/dist/esm/smart-snippet-common-f2a5e84f.js.map +1 -0
  747. package/dist/esm/{smart-snippet-feedback-modal-common-835aa607.js → smart-snippet-feedback-modal-common-63373ffc.js} +23 -2
  748. package/dist/esm/smart-snippet-feedback-modal-common-63373ffc.js.map +1 -0
  749. package/dist/esm/{smart-snippet-suggestions-common-10bd1697.js → smart-snippet-suggestions-common-eff6fbfa.js} +21 -3
  750. package/dist/esm/smart-snippet-suggestions-common-eff6fbfa.js.map +1 -0
  751. package/dist/esm/{stencil-button-1a29a5df.js → stencil-button-e72b213d.js} +2 -2
  752. package/dist/esm/{stencil-button-1a29a5df.js.map → stencil-button-e72b213d.js.map} +1 -1
  753. package/dist/esm/{stencil-carousel-e1f25f7c.js → stencil-carousel-ae19a5d0.js} +5 -2
  754. package/dist/esm/stencil-carousel-ae19a5d0.js.map +1 -0
  755. package/dist/esm/{stencil-checkbox-9d8fe5f6.js → stencil-checkbox-d165d303.js} +2 -2
  756. package/dist/esm/stencil-checkbox-d165d303.js.map +1 -0
  757. package/dist/esm/{stencil-display-grid-b9eb7397.js → stencil-display-grid-ebbdd169.js} +4 -1
  758. package/dist/esm/stencil-display-grid-ebbdd169.js.map +1 -0
  759. package/dist/esm/{stencil-display-wrapper-5b32e77c.js → stencil-display-wrapper-8cb4e48e.js} +7 -1
  760. package/dist/esm/stencil-display-wrapper-8cb4e48e.js.map +1 -0
  761. package/dist/esm/{stencil-facet-search-matches-872d94d2.js → stencil-facet-search-matches-b639b93f.js} +9 -3
  762. package/dist/esm/stencil-facet-search-matches-b639b93f.js.map +1 -0
  763. package/dist/esm/{stencil-facet-show-more-less-e575f20f.js → stencil-facet-show-more-less-4932bd9f.js} +6 -3
  764. package/dist/esm/stencil-facet-show-more-less-4932bd9f.js.map +1 -0
  765. package/dist/esm/{stencil-facet-value-9deafe8e.js → stencil-facet-value-6e80b694.js} +8 -5
  766. package/dist/esm/stencil-facet-value-6e80b694.js.map +1 -0
  767. package/dist/esm/{stencil-facet-value-box-b0dc7e73.js → stencil-facet-value-box-b26edef5.js} +5 -2
  768. package/dist/esm/stencil-facet-value-box-b26edef5.js.map +1 -0
  769. package/dist/esm/{stencil-facet-value-checkbox-c0df7c4e.js → stencil-facet-value-checkbox-f9dbff9d.js} +10 -5
  770. package/dist/esm/stencil-facet-value-checkbox-f9dbff9d.js.map +1 -0
  771. package/dist/esm/{stencil-facet-value-label-highlight-b4083ffd.js → stencil-facet-value-label-highlight-f4518687.js} +4 -1
  772. package/dist/esm/stencil-facet-value-label-highlight-f4518687.js.map +1 -0
  773. package/dist/esm/{stencil-facet-value-link-88512e29.js → stencil-facet-value-link-bef908e3.js} +5 -2
  774. package/dist/esm/stencil-facet-value-link-bef908e3.js.map +1 -0
  775. package/dist/esm/{stencil-facet-values-group-1108573d.js → stencil-facet-values-group-fefc8abb.js} +5 -2
  776. package/dist/esm/stencil-facet-values-group-fefc8abb.js.map +1 -0
  777. package/dist/esm/{stencil-fieldset-group-5fa357cd.js → stencil-fieldset-group-e02988dc.js} +4 -1
  778. package/dist/esm/stencil-fieldset-group-e02988dc.js.map +1 -0
  779. package/dist/esm/{stencil-heading-2b28a9b9.js → stencil-heading-c701a05a.js} +2 -2
  780. package/dist/esm/stencil-heading-c701a05a.js.map +1 -0
  781. package/dist/esm/{stencil-iconButton-ba40899c.js → stencil-iconButton-b4568792.js} +5 -2
  782. package/dist/esm/stencil-iconButton-b4568792.js.map +1 -0
  783. package/dist/esm/{stencil-item-link-5a3f8f23.js → stencil-item-link-0183987b.js} +4 -1
  784. package/dist/esm/stencil-item-link-0183987b.js.map +1 -0
  785. package/dist/esm/{stencil-link-b676e261.js → stencil-link-78fd0a0d.js} +26 -3
  786. package/dist/esm/stencil-link-78fd0a0d.js.map +1 -0
  787. package/dist/esm/{stencil-magnifying-glass-041294b6.js → stencil-magnifying-glass-f6e9c08b.js} +7 -1
  788. package/dist/esm/stencil-magnifying-glass-f6e9c08b.js.map +1 -0
  789. package/dist/esm/{stencil-modal-467f7f33.js → stencil-modal-47c54d0e.js} +5 -2
  790. package/dist/esm/stencil-modal-47c54d0e.js.map +1 -0
  791. package/dist/esm/{stencil-placeholders-58a0c818.js → stencil-placeholders-43360a82.js} +7 -1
  792. package/dist/esm/stencil-placeholders-43360a82.js.map +1 -0
  793. package/dist/esm/{stencil-query-suggestions-5d6a46d7.js → stencil-query-suggestions-4810c05e.js} +13 -1
  794. package/dist/esm/stencil-query-suggestions-4810c05e.js.map +1 -0
  795. package/dist/esm/{stencil-radio-button-cae5f40a.js → stencil-radio-button-a5c62a36.js} +3 -3
  796. package/dist/esm/stencil-radio-button-a5c62a36.js.map +1 -0
  797. package/dist/esm/{stencil-rating-2d6963a3.js → stencil-rating-8e6bcc27.js} +6 -3
  798. package/dist/esm/stencil-rating-8e6bcc27.js.map +1 -0
  799. package/dist/esm/{result-template-decorators-2ed76ea9.js → stencil-result-template-decorators-f989bc6b.js} +6 -2
  800. package/dist/esm/stencil-result-template-decorators-f989bc6b.js.map +1 -0
  801. package/dist/esm/{stencil-suggestion-manager-376f83e8.js → stencil-suggestion-manager-b192ac22.js} +11 -2
  802. package/dist/esm/stencil-suggestion-manager-b192ac22.js.map +1 -0
  803. package/dist/esm/{stencil-tips-be95482d.js → stencil-tips-3b4426a3.js} +10 -1
  804. package/dist/esm/stencil-tips-3b4426a3.js.map +1 -0
  805. package/dist/esm/{stencil-values-container-9b9cd73f.js → stencil-values-container-6a1e9ed6.js} +11 -5
  806. package/dist/esm/stencil-values-container-6a1e9ed6.js.map +1 -0
  807. package/dist/esm/{timeframe-facet-common-55fc72f3.js → timeframe-facet-common-cee99a11.js} +5 -5
  808. package/dist/esm/{timeframe-facet-common-55fc72f3.js.map → timeframe-facet-common-cee99a11.js.map} +1 -1
  809. package/dist/esm/version.js +1 -1
  810. package/dist/types/components/commerce/atomic-product/atomic-product.d.ts +1 -1
  811. package/dist/types/components/commerce/product-template-component-utils/context/fetch-product-context.d.ts +12 -0
  812. package/dist/types/components/commerce/product-template-component-utils/context/interactive-product-context-controller.d.ts +27 -0
  813. package/dist/types/components/commerce/product-template-component-utils/context/product-context-controller.d.ts +33 -0
  814. package/dist/types/components/commerce/product-template-component-utils/{stencil-product-template-decorators.d.ts → context/stencil-product-template-decorators.d.ts} +1 -1
  815. package/dist/types/components/common/atomic-rating/stencil-rating.d.ts +5 -2
  816. package/dist/types/components/common/atomic-result-placeholder/stencil-placeholders.d.ts +6 -0
  817. package/dist/types/components/common/breadbox/stencil-breadcrumb-button.d.ts +5 -1
  818. package/dist/types/components/common/breadbox/stencil-breadcrumb-clear-all.d.ts +5 -1
  819. package/dist/types/components/common/breadbox/stencil-breadcrumb-container.d.ts +5 -1
  820. package/dist/types/components/common/breadbox/stencil-breadcrumb-content.d.ts +5 -1
  821. package/dist/types/components/common/breadbox/stencil-breadcrumb-show-less.d.ts +5 -1
  822. package/dist/types/components/common/breadbox/stencil-breadcrumb-show-more.d.ts +5 -1
  823. package/dist/types/components/common/facets/category-facet/stencil-child-value-link.d.ts +3 -0
  824. package/dist/types/components/common/facets/category-facet/stencil-children-as-tree-container.d.ts +3 -0
  825. package/dist/types/components/common/facets/category-facet/stencil-parent-as-tree-container.d.ts +5 -1
  826. package/dist/types/components/common/facets/category-facet/stencil-parent-button.d.ts +3 -0
  827. package/dist/types/components/common/facets/category-facet/stencil-parent-value-link.d.ts +3 -0
  828. package/dist/types/components/common/facets/category-facet/stencil-search-results-container.d.ts +3 -0
  829. package/dist/types/components/common/facets/category-facet/stencil-search-value.d.ts +3 -0
  830. package/dist/types/components/common/facets/category-facet/stencil-value-as-tree-container.d.ts +3 -0
  831. package/dist/types/components/common/facets/category-facet/stencil-value-link.d.ts +6 -0
  832. package/dist/types/components/common/facets/facet-container/stencil-facet-container.d.ts +3 -0
  833. package/dist/types/components/common/facets/facet-guard.d.ts +3 -0
  834. package/dist/types/components/common/facets/facet-header/stencil-facet-header.d.ts +5 -1
  835. package/dist/types/components/common/facets/facet-placeholder/facet-placeholder.d.ts +5 -1
  836. package/dist/types/components/common/facets/facet-search/stencil-facet-search-input-guard.d.ts +3 -0
  837. package/dist/types/components/common/facets/facet-search/stencil-facet-search-input.d.ts +3 -0
  838. package/dist/types/components/common/facets/facet-search/stencil-facet-search-matches.d.ts +3 -0
  839. package/dist/types/components/common/facets/facet-search/stencil-facet-search-value.d.ts +3 -0
  840. package/dist/types/components/common/facets/facet-show-more-less/stencil-facet-show-more-less.d.ts +3 -0
  841. package/dist/types/components/common/facets/facet-value/stencil-facet-value.d.ts +6 -0
  842. package/dist/types/components/common/facets/facet-value-box/stencil-facet-value-box.d.ts +3 -0
  843. package/dist/types/components/common/facets/facet-value-checkbox/stencil-facet-value-checkbox.d.ts +3 -0
  844. package/dist/types/components/common/facets/facet-value-exclude/stencil-facet-value-exclude.d.ts +5 -1
  845. package/dist/types/components/common/facets/facet-value-label-highlight/stencil-facet-value-label-highlight.d.ts +3 -0
  846. package/dist/types/components/common/facets/facet-value-link/stencil-facet-value-link.d.ts +5 -1
  847. package/dist/types/components/common/facets/facet-values-group/stencil-facet-values-group.d.ts +5 -1
  848. package/dist/types/components/common/facets/numeric-facet/stencil-value-link.d.ts +3 -0
  849. package/dist/types/components/common/facets/numeric-facet/stencil-values-container.d.ts +3 -0
  850. package/dist/types/components/common/generated-answer/copy-button.d.ts +3 -0
  851. package/dist/types/components/common/generated-answer/feedback-button.d.ts +3 -0
  852. package/dist/types/components/common/generated-answer/generated-content/generated-markdown-content.d.ts +3 -0
  853. package/dist/types/components/common/generated-answer/generated-content/generated-text-content.d.ts +3 -0
  854. package/dist/types/components/common/generated-answer/generated-content-container.d.ts +3 -0
  855. package/dist/types/components/common/generated-answer/retry-prompt.d.ts +3 -0
  856. package/dist/types/components/common/generated-answer/show-button.d.ts +3 -0
  857. package/dist/types/components/common/generated-answer/source-citations.d.ts +3 -0
  858. package/dist/types/components/common/item-link/stencil-item-link.d.ts +4 -1
  859. package/dist/types/components/common/item-list/item-display-guard.d.ts +5 -1
  860. package/dist/types/components/common/item-list/item-list-guard.d.ts +5 -1
  861. package/dist/types/components/common/item-list/stencil-display-grid.d.ts +5 -1
  862. package/dist/types/components/common/item-list/stencil-display-table.d.ts +12 -3
  863. package/dist/types/components/common/item-list/stencil-display-wrapper.d.ts +5 -1
  864. package/dist/types/components/common/item-text/stencil-item-text-fallback.d.ts +5 -1
  865. package/dist/types/components/common/item-text/stencil-item-text-highlighted.d.ts +5 -1
  866. package/dist/types/components/common/load-more/guard.d.ts +5 -1
  867. package/dist/types/components/common/load-more/stencil-button.d.ts +1 -4
  868. package/dist/types/components/common/load-more/stencil-container.d.ts +3 -0
  869. package/dist/types/components/common/load-more/stencil-progress-bar.d.ts +3 -0
  870. package/dist/types/components/common/load-more/stencil-summary.d.ts +3 -0
  871. package/dist/types/components/common/no-items/cancel.d.ts +3 -0
  872. package/dist/types/components/common/no-items/stencil-container.d.ts +3 -0
  873. package/dist/types/components/common/no-items/stencil-guard.d.ts +3 -0
  874. package/dist/types/components/common/no-items/stencil-magnifying-glass.d.ts +3 -0
  875. package/dist/types/components/common/no-items/stencil-no-items.d.ts +3 -0
  876. package/dist/types/components/common/no-items/stencil-tips.d.ts +3 -0
  877. package/dist/types/components/common/pager/stencil-pager-buttons.d.ts +8 -16
  878. package/dist/types/components/common/pager/stencil-pager-navigation.d.ts +3 -5
  879. package/dist/types/components/common/query-correction/stencil-auto-correction.d.ts +3 -0
  880. package/dist/types/components/common/query-correction/stencil-correction.d.ts +3 -0
  881. package/dist/types/components/common/query-correction/stencil-guard.d.ts +3 -0
  882. package/dist/types/components/common/query-correction/stencil-trigger-correction.d.ts +3 -0
  883. package/dist/types/components/common/query-error/stencil-container.d.ts +3 -0
  884. package/dist/types/components/common/query-error/stencil-description.d.ts +3 -0
  885. package/dist/types/components/common/query-error/stencil-details.d.ts +3 -0
  886. package/dist/types/components/common/query-error/stencil-guard.d.ts +3 -0
  887. package/dist/types/components/common/query-error/stencil-icon.d.ts +3 -0
  888. package/dist/types/components/common/query-error/stencil-link.d.ts +3 -0
  889. package/dist/types/components/common/query-error/stencil-show-more.d.ts +3 -0
  890. package/dist/types/components/common/query-error/stencil-title.d.ts +3 -0
  891. package/dist/types/components/common/query-summary/stencil-container.d.ts +3 -0
  892. package/dist/types/components/common/query-summary/stencil-guard.d.ts +3 -0
  893. package/dist/types/components/common/query-summary/stencil-utils.d.ts +3 -10
  894. package/dist/types/components/common/refine-modal/stencil-body.d.ts +3 -0
  895. package/dist/types/components/common/refine-modal/stencil-button.d.ts +3 -0
  896. package/dist/types/components/common/refine-modal/stencil-filters.d.ts +6 -0
  897. package/dist/types/components/common/refine-modal/stencil-guard.d.ts +3 -0
  898. package/dist/types/components/common/refine-modal/stencil-modal.d.ts +3 -0
  899. package/dist/types/components/common/refine-modal/stencil-sort.d.ts +3 -0
  900. package/dist/types/components/common/result-children/children-wrapper.d.ts +3 -0
  901. package/dist/types/components/common/result-children/collection-guard.d.ts +3 -0
  902. package/dist/types/components/common/result-children/guard.d.ts +3 -0
  903. package/dist/types/components/common/result-children/show-hide-button.d.ts +3 -0
  904. package/dist/types/components/common/search-box/stencil-search-box-wrapper.d.ts +3 -0
  905. package/dist/types/components/common/search-box/stencil-search-text-area.d.ts +3 -0
  906. package/dist/types/components/common/search-box/stencil-submit-button.d.ts +3 -0
  907. package/dist/types/components/common/search-box/stencil-text-area-clear-button.d.ts +3 -0
  908. package/dist/types/components/common/smart-snippets/atomic-smart-snippet/smart-snippet-common.d.ts +16 -6
  909. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-feedback-banner.d.ts +3 -0
  910. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-feedback-modal/smart-snippet-feedback-modal-common.d.ts +21 -0
  911. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-source.d.ts +1 -1
  912. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-suggestions/smart-snippet-suggestions-common.d.ts +18 -0
  913. package/dist/types/components/common/sort/container.d.ts +3 -0
  914. package/dist/types/components/common/sort/stencil-guard.d.ts +3 -0
  915. package/dist/types/components/common/sort/stencil-label.d.ts +3 -0
  916. package/dist/types/components/common/sort/stencil-option.d.ts +5 -1
  917. package/dist/types/components/common/sort/stencil-select.d.ts +3 -0
  918. package/dist/types/components/common/stencil-button.d.ts +2 -2
  919. package/dist/types/components/common/stencil-carousel.d.ts +5 -1
  920. package/dist/types/components/common/stencil-checkbox.d.ts +2 -2
  921. package/dist/types/components/common/stencil-fieldset-group.d.ts +5 -1
  922. package/dist/types/components/common/stencil-heading.d.ts +1 -1
  923. package/dist/types/components/common/stencil-iconButton.d.ts +5 -1
  924. package/dist/types/components/common/stencil-radio-button.d.ts +2 -2
  925. package/dist/types/components/common/stencil-triStateCheckbox.d.ts +3 -3
  926. package/dist/types/components/common/suggestions/stencil-instant-item.d.ts +9 -0
  927. package/dist/types/components/common/suggestions/stencil-query-suggestions.d.ts +12 -0
  928. package/dist/types/components/common/switch.d.ts +5 -1
  929. package/dist/types/components/common/tabs/tab-guard.d.ts +3 -0
  930. package/dist/types/components/insight/user-actions/atomic-insight-user-actions-session/user-action.d.ts +3 -0
  931. package/dist/types/components/search/atomic-result/atomic-result.d.ts +1 -1
  932. package/dist/types/components/search/facets/color-facet-checkbox/color-facet-checkbox.d.ts +3 -0
  933. package/dist/types/components/search/facets/facet-segmented-value/facet-segmented-value.d.ts +3 -0
  934. package/dist/types/components/search/result-template-component-utils/context/fetch-result-context.d.ts +8 -0
  935. package/dist/types/components/search/result-template-component-utils/context/interactive-result-context-controller.d.ts +12 -0
  936. package/dist/types/components/search/result-template-component-utils/context/result-context-controller.d.ts +18 -0
  937. package/dist/types/components/search/{result-template-components/result-template-decorators.d.ts → result-template-component-utils/context/stencil-result-template-decorators.d.ts} +6 -2
  938. package/dist/types/components/search/result-template-components/atomic-quickview-sidebar/atomic-quickview-sidebar.d.ts +2 -1
  939. package/dist/types/components/search/result-template-components/quickview-iframe/quickview-iframe.d.ts +3 -0
  940. package/dist/types/index.d.ts +3 -3
  941. package/docs/atomic-docs.json +1 -1
  942. package/package.json +3 -6
  943. package/dist/atomic/components/components/common/item-list/fetch-item-context.js +0 -15
  944. package/dist/atomic/components/decorators/commerce/product-template-decorators.js +0 -68
  945. package/dist/atomic/components/result-template-decorators.js.map +0 -1
  946. package/dist/atomic/p-037eee11.js.map +0 -1
  947. package/dist/atomic/p-0535b93d.entry.js.map +0 -1
  948. package/dist/atomic/p-15547bd5.entry.js.map +0 -1
  949. package/dist/atomic/p-16f4ce98.js.map +0 -1
  950. package/dist/atomic/p-182f9112.entry.js.map +0 -1
  951. package/dist/atomic/p-18684d4c.js.map +0 -1
  952. package/dist/atomic/p-187193bb.js.map +0 -1
  953. package/dist/atomic/p-190ddaca.entry.js.map +0 -1
  954. package/dist/atomic/p-1f059522.js.map +0 -1
  955. package/dist/atomic/p-1ff7a9da.entry.js.map +0 -1
  956. package/dist/atomic/p-20cbcfb9.js.map +0 -1
  957. package/dist/atomic/p-2a02812b.js +0 -2
  958. package/dist/atomic/p-2a02812b.js.map +0 -1
  959. package/dist/atomic/p-2c6f895f.js.map +0 -1
  960. package/dist/atomic/p-2f517a54.entry.js.map +0 -1
  961. package/dist/atomic/p-307e7fd5.js.map +0 -1
  962. package/dist/atomic/p-36ff2bc3.entry.js.map +0 -1
  963. package/dist/atomic/p-3bd8469f.entry.js.map +0 -1
  964. package/dist/atomic/p-4069d801.entry.js.map +0 -1
  965. package/dist/atomic/p-448091f7.entry.js.map +0 -1
  966. package/dist/atomic/p-4b1dc787.js.map +0 -1
  967. package/dist/atomic/p-4cb91ee7.entry.js.map +0 -1
  968. package/dist/atomic/p-57049cd2.entry.js.map +0 -1
  969. package/dist/atomic/p-5a2ef889.js +0 -2
  970. package/dist/atomic/p-5c73ebc4.js.map +0 -1
  971. package/dist/atomic/p-5cab535b.entry.js.map +0 -1
  972. package/dist/atomic/p-5d0a3045.js.map +0 -1
  973. package/dist/atomic/p-60498b8e.js +0 -2
  974. package/dist/atomic/p-60498b8e.js.map +0 -1
  975. package/dist/atomic/p-6439156c.entry.js.map +0 -1
  976. package/dist/atomic/p-66166975.entry.js.map +0 -1
  977. package/dist/atomic/p-66d48d1a.js.map +0 -1
  978. package/dist/atomic/p-74862002.js.map +0 -1
  979. package/dist/atomic/p-78427c6a.entry.js.map +0 -1
  980. package/dist/atomic/p-7cb0050f.js.map +0 -1
  981. package/dist/atomic/p-7da7b187.js.map +0 -1
  982. package/dist/atomic/p-81bdbd07.entry.js.map +0 -1
  983. package/dist/atomic/p-82398f4a.js.map +0 -1
  984. package/dist/atomic/p-851b9735.entry.js.map +0 -1
  985. package/dist/atomic/p-852cc16d.entry.js.map +0 -1
  986. package/dist/atomic/p-8a488991.js.map +0 -1
  987. package/dist/atomic/p-8b0d881e.entry.js.map +0 -1
  988. package/dist/atomic/p-8d5228da.entry.js.map +0 -1
  989. package/dist/atomic/p-8e5e00b4.js.map +0 -1
  990. package/dist/atomic/p-945ddd53.entry.js.map +0 -1
  991. package/dist/atomic/p-955092ed.entry.js.map +0 -1
  992. package/dist/atomic/p-a1798150.entry.js.map +0 -1
  993. package/dist/atomic/p-a428960a.js.map +0 -1
  994. package/dist/atomic/p-a5bac939.js.map +0 -1
  995. package/dist/atomic/p-af93b44c.js.map +0 -1
  996. package/dist/atomic/p-b3f6561d.entry.js.map +0 -1
  997. package/dist/atomic/p-b628ed03.entry.js.map +0 -1
  998. package/dist/atomic/p-b93ccff9.js.map +0 -1
  999. package/dist/atomic/p-baff6c43.js.map +0 -1
  1000. package/dist/atomic/p-bd01acd5.entry.js.map +0 -1
  1001. package/dist/atomic/p-bd2703e9.js.map +0 -1
  1002. package/dist/atomic/p-be5d3c54.js.map +0 -1
  1003. package/dist/atomic/p-c2a5dac0.entry.js.map +0 -1
  1004. package/dist/atomic/p-c5164dbf.entry.js.map +0 -1
  1005. package/dist/atomic/p-c619df9b.js.map +0 -1
  1006. package/dist/atomic/p-ca37969c.js +0 -2
  1007. package/dist/atomic/p-ca37969c.js.map +0 -1
  1008. package/dist/atomic/p-d2e8a2d4.js.map +0 -1
  1009. package/dist/atomic/p-dbc09018.js.map +0 -1
  1010. package/dist/atomic/p-dea22a8d.entry.js.map +0 -1
  1011. package/dist/atomic/p-df8d38ca.entry.js.map +0 -1
  1012. package/dist/atomic/p-e49ad083.entry.js.map +0 -1
  1013. package/dist/atomic/p-e6dc9de7.entry.js.map +0 -1
  1014. package/dist/atomic/p-e988f378.js.map +0 -1
  1015. package/dist/atomic/p-e9dc8e90.entry.js.map +0 -1
  1016. package/dist/atomic/p-ef78082a.js.map +0 -1
  1017. package/dist/atomic/p-f0c657f4.entry.js.map +0 -1
  1018. package/dist/atomic/p-f8b608ba.js.map +0 -1
  1019. package/dist/cjs/facet-guard-328b588d.js.map +0 -1
  1020. package/dist/cjs/facet-placeholder-22074f05.js.map +0 -1
  1021. package/dist/cjs/generated-answer-common-3c400311.js.map +0 -1
  1022. package/dist/cjs/item-list-guard-506b695a.js.map +0 -1
  1023. package/dist/cjs/result-template-decorators-432d11a9.js.map +0 -1
  1024. package/dist/cjs/show-hide-button-c4717f52.js.map +0 -1
  1025. package/dist/cjs/smart-snippet-common-1fd0dad5.js.map +0 -1
  1026. package/dist/cjs/smart-snippet-feedback-modal-common-9721e3c4.js.map +0 -1
  1027. package/dist/cjs/smart-snippet-suggestions-common-024c89b7.js.map +0 -1
  1028. package/dist/cjs/stencil-carousel-a8df6f3c.js.map +0 -1
  1029. package/dist/cjs/stencil-checkbox-81c51bbd.js.map +0 -1
  1030. package/dist/cjs/stencil-display-grid-93c5802a.js.map +0 -1
  1031. package/dist/cjs/stencil-display-wrapper-498de571.js.map +0 -1
  1032. package/dist/cjs/stencil-facet-search-matches-101e0ede.js.map +0 -1
  1033. package/dist/cjs/stencil-facet-show-more-less-70f4d20d.js.map +0 -1
  1034. package/dist/cjs/stencil-facet-value-5957b403.js.map +0 -1
  1035. package/dist/cjs/stencil-facet-value-box-11aa05dd.js.map +0 -1
  1036. package/dist/cjs/stencil-facet-value-checkbox-fed178ad.js.map +0 -1
  1037. package/dist/cjs/stencil-facet-value-label-highlight-c2421e8f.js.map +0 -1
  1038. package/dist/cjs/stencil-facet-value-link-8a095034.js.map +0 -1
  1039. package/dist/cjs/stencil-facet-values-group-07b50fc0.js.map +0 -1
  1040. package/dist/cjs/stencil-fieldset-group-3b25c138.js.map +0 -1
  1041. package/dist/cjs/stencil-heading-2faee1f7.js.map +0 -1
  1042. package/dist/cjs/stencil-iconButton-738b1548.js.map +0 -1
  1043. package/dist/cjs/stencil-item-link-9feaef61.js.map +0 -1
  1044. package/dist/cjs/stencil-link-9336b8c1.js.map +0 -1
  1045. package/dist/cjs/stencil-magnifying-glass-c1d386a1.js.map +0 -1
  1046. package/dist/cjs/stencil-modal-9035ea2a.js.map +0 -1
  1047. package/dist/cjs/stencil-placeholders-b8c896fa.js.map +0 -1
  1048. package/dist/cjs/stencil-query-suggestions-03268ecc.js.map +0 -1
  1049. package/dist/cjs/stencil-radio-button-ea7e71d3.js.map +0 -1
  1050. package/dist/cjs/stencil-rating-a40e50dd.js.map +0 -1
  1051. package/dist/cjs/stencil-suggestion-manager-2cba6d69.js.map +0 -1
  1052. package/dist/cjs/stencil-tips-e913f891.js.map +0 -1
  1053. package/dist/cjs/stencil-values-container-d20f9b28.js.map +0 -1
  1054. package/dist/esm/facet-guard-4b795e90.js.map +0 -1
  1055. package/dist/esm/facet-placeholder-4959a92a.js.map +0 -1
  1056. package/dist/esm/generated-answer-common-9d0c5ada.js.map +0 -1
  1057. package/dist/esm/item-list-guard-22b0711a.js.map +0 -1
  1058. package/dist/esm/result-template-decorators-2ed76ea9.js.map +0 -1
  1059. package/dist/esm/show-hide-button-35eb419d.js.map +0 -1
  1060. package/dist/esm/smart-snippet-common-5ed4bdfa.js.map +0 -1
  1061. package/dist/esm/smart-snippet-feedback-modal-common-835aa607.js.map +0 -1
  1062. package/dist/esm/smart-snippet-suggestions-common-10bd1697.js.map +0 -1
  1063. package/dist/esm/stencil-carousel-e1f25f7c.js.map +0 -1
  1064. package/dist/esm/stencil-checkbox-9d8fe5f6.js.map +0 -1
  1065. package/dist/esm/stencil-display-grid-b9eb7397.js.map +0 -1
  1066. package/dist/esm/stencil-display-wrapper-5b32e77c.js.map +0 -1
  1067. package/dist/esm/stencil-facet-search-matches-872d94d2.js.map +0 -1
  1068. package/dist/esm/stencil-facet-show-more-less-e575f20f.js.map +0 -1
  1069. package/dist/esm/stencil-facet-value-9deafe8e.js.map +0 -1
  1070. package/dist/esm/stencil-facet-value-box-b0dc7e73.js.map +0 -1
  1071. package/dist/esm/stencil-facet-value-checkbox-c0df7c4e.js.map +0 -1
  1072. package/dist/esm/stencil-facet-value-label-highlight-b4083ffd.js.map +0 -1
  1073. package/dist/esm/stencil-facet-value-link-88512e29.js.map +0 -1
  1074. package/dist/esm/stencil-facet-values-group-1108573d.js.map +0 -1
  1075. package/dist/esm/stencil-fieldset-group-5fa357cd.js.map +0 -1
  1076. package/dist/esm/stencil-heading-2b28a9b9.js.map +0 -1
  1077. package/dist/esm/stencil-iconButton-ba40899c.js.map +0 -1
  1078. package/dist/esm/stencil-item-link-5a3f8f23.js.map +0 -1
  1079. package/dist/esm/stencil-link-b676e261.js.map +0 -1
  1080. package/dist/esm/stencil-magnifying-glass-041294b6.js.map +0 -1
  1081. package/dist/esm/stencil-modal-467f7f33.js.map +0 -1
  1082. package/dist/esm/stencil-placeholders-58a0c818.js.map +0 -1
  1083. package/dist/esm/stencil-query-suggestions-5d6a46d7.js.map +0 -1
  1084. package/dist/esm/stencil-radio-button-cae5f40a.js.map +0 -1
  1085. package/dist/esm/stencil-rating-2d6963a3.js.map +0 -1
  1086. package/dist/esm/stencil-suggestion-manager-376f83e8.js.map +0 -1
  1087. package/dist/esm/stencil-tips-be95482d.js.map +0 -1
  1088. package/dist/esm/stencil-values-container-9b9cd73f.js.map +0 -1
  1089. package/dist/types/components/common/expandable-text/stencil-expandable-text.d.ts +0 -13
  1090. package/dist/types/components/common/generated-answer/typing-loader.d.ts +0 -2
  1091. package/dist/types/components/common/image-carousel/stencil-image-carousel-indicators.d.ts +0 -12
  1092. package/dist/types/components/common/image-carousel/stencil-image-carousel.d.ts +0 -15
  1093. package/dist/types/components/common/items-per-page/stencil-choices.d.ts +0 -14
  1094. package/dist/types/components/common/items-per-page/stencil-label.d.ts +0 -2
  1095. package/dist/types/components/common/pager/stencil-pager-guard.d.ts +0 -13
  1096. package/dist/types/components/common/suggestions/stencil-recent-queries.d.ts +0 -20
  1097. package/dist/types/decorators/commerce/product-template-decorators.d.ts +0 -68
  1098. /package/dist/atomic/{p-5606819d.entry.js.map → p-039bd7df.entry.js.map} +0 -0
  1099. /package/dist/atomic/{p-22b76c96.entry.js.map → p-13ac0c72.entry.js.map} +0 -0
  1100. /package/dist/atomic/{p-77d00da1.entry.js.map → p-15697c4b.entry.js.map} +0 -0
  1101. /package/dist/atomic/{p-14bad769.entry.js.map → p-1d6d0186.entry.js.map} +0 -0
  1102. /package/dist/atomic/{p-48bab1a6.entry.js.map → p-1f903f31.entry.js.map} +0 -0
  1103. /package/dist/atomic/{p-47b41b27.entry.js.map → p-24bb7b3d.entry.js.map} +0 -0
  1104. /package/dist/atomic/{p-6698d5e9.entry.js.map → p-2e9ecdf5.entry.js.map} +0 -0
  1105. /package/dist/atomic/{p-76c14d82.entry.js.map → p-32544f8a.entry.js.map} +0 -0
  1106. /package/dist/atomic/{p-a6dde0f6.entry.js.map → p-390deb3d.entry.js.map} +0 -0
  1107. /package/dist/atomic/{p-2f437b47.entry.js.map → p-3b632123.entry.js.map} +0 -0
  1108. /package/dist/atomic/{p-3a01a398.entry.js.map → p-43fc38fb.entry.js.map} +0 -0
  1109. /package/dist/atomic/{p-dd24c66a.entry.js.map → p-443f3422.entry.js.map} +0 -0
  1110. /package/dist/atomic/{p-b29d121c.js.map → p-4651cceb.js.map} +0 -0
  1111. /package/dist/atomic/{p-400c28b6.entry.js.map → p-498771d3.entry.js.map} +0 -0
  1112. /package/dist/atomic/{p-558f2191.entry.js.map → p-52878b95.entry.js.map} +0 -0
  1113. /package/dist/atomic/{p-c8190eb9.entry.js.map → p-5a644e15.entry.js.map} +0 -0
  1114. /package/dist/atomic/{p-479cb38a.entry.js.map → p-5d4e9821.entry.js.map} +0 -0
  1115. /package/dist/atomic/{p-b84108f3.entry.js.map → p-6d323b9a.entry.js.map} +0 -0
  1116. /package/dist/atomic/{p-088d634c.entry.js.map → p-733a8082.entry.js.map} +0 -0
  1117. /package/dist/atomic/{p-b1b583a0.entry.js.map → p-74380cbc.entry.js.map} +0 -0
  1118. /package/dist/atomic/{p-35c2ee5f.entry.js.map → p-752f4533.entry.js.map} +0 -0
  1119. /package/dist/atomic/{p-ef8f2239.entry.js.map → p-7afa3c6a.entry.js.map} +0 -0
  1120. /package/dist/atomic/{p-db2d92c5.entry.js.map → p-7b8607e0.entry.js.map} +0 -0
  1121. /package/dist/atomic/{p-7741124a.entry.js.map → p-7c87512d.entry.js.map} +0 -0
  1122. /package/dist/atomic/{p-33245038.entry.js.map → p-86bba9db.entry.js.map} +0 -0
  1123. /package/dist/atomic/{p-318c96f5.entry.js.map → p-9519e656.entry.js.map} +0 -0
  1124. /package/dist/atomic/{p-70747efa.entry.js.map → p-951bdd73.entry.js.map} +0 -0
  1125. /package/dist/atomic/{p-5a83b7e5.entry.js.map → p-99bb5042.entry.js.map} +0 -0
  1126. /package/dist/atomic/{p-fc71835d.entry.js.map → p-99d0c865.entry.js.map} +0 -0
  1127. /package/dist/atomic/{p-80290dd3.entry.js.map → p-9d492524.entry.js.map} +0 -0
  1128. /package/dist/atomic/{p-d0ab0125.entry.js.map → p-b0a20358.entry.js.map} +0 -0
  1129. /package/dist/atomic/{p-0ee7cab8.entry.js.map → p-b0f6a52e.entry.js.map} +0 -0
  1130. /package/dist/atomic/{p-1a5ff6af.entry.js.map → p-b72d3af6.entry.js.map} +0 -0
  1131. /package/dist/atomic/{p-e6871a3f.entry.js.map → p-bef3a536.entry.js.map} +0 -0
  1132. /package/dist/atomic/{p-7fe23afc.entry.js.map → p-bf0a780e.entry.js.map} +0 -0
  1133. /package/dist/atomic/{p-9b2561e8.entry.js.map → p-bfb2e085.entry.js.map} +0 -0
  1134. /package/dist/atomic/{p-f1241140.entry.js.map → p-c0491e26.entry.js.map} +0 -0
  1135. /package/dist/atomic/{p-e276c7e0.entry.js.map → p-c1cd0a45.entry.js.map} +0 -0
  1136. /package/dist/atomic/{p-1910eb7f.entry.js.map → p-c52c9e67.entry.js.map} +0 -0
  1137. /package/dist/atomic/{p-e455330c.entry.js.map → p-cd4394fe.entry.js.map} +0 -0
  1138. /package/dist/atomic/{p-f37dea9e.entry.js.map → p-d5f4597b.entry.js.map} +0 -0
  1139. /package/dist/atomic/{p-7242b46e.entry.js.map → p-e1052201.entry.js.map} +0 -0
  1140. /package/dist/atomic/{p-874f0a4c.entry.js.map → p-e46e05cb.entry.js.map} +0 -0
  1141. /package/dist/atomic/{p-a54f3f24.entry.js.map → p-ee19b388.entry.js.map} +0 -0
  1142. /package/dist/atomic/{p-7045745d.entry.js.map → p-f25c9582.entry.js.map} +0 -0
  1143. /package/dist/atomic/{p-ca1425cc.entry.js.map → p-f3eaea67.entry.js.map} +0 -0
  1144. /package/dist/atomic/{p-e8176ac8.entry.js.map → p-f77a5952.entry.js.map} +0 -0
  1145. /package/dist/atomic/{p-99d4c4bf.entry.js.map → p-fdaf9f6c.entry.js.map} +0 -0
  1146. /package/dist/atomic/{p-fd1ef9e3.entry.js.map → p-fdd6264f.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["Switch","props","attributes","onClick","onToggle","checked","ariaLabel","String","part","tabIndex","title","containerClasses","join","handleClasses","buttonClasses","withToggle","h","role","class","CopyButton","Button","style","isCopied","error","icon","CopyIcon","FeedbackButton","variant","active","ariaPressed","Thumbs","global","factory","exports","this","_getDefaults","async","breaks","extensions","gfm","hooks","pedantic","renderer","silent","tokenizer","walkTokens","defaults","changeDefaults","newDefaults","escapeTest","escapeReplace","RegExp","source","escapeTestNoEncode","escapeReplaceNoEncode","escapeReplacements","getEscapeReplacement","ch","escape$1","html","encode","test","replace","unescapeTest","unescape","_","n","toLowerCase","charAt","fromCharCode","parseInt","substring","caret","edit","regex","opt","obj","name","val","valSource","getRegex","cleanUrl","href","encodeURI","e","noopTest","exec","splitCells","tableRow","count","row","match","offset","str","escaped","curr","cells","split","i","trim","shift","length","pop","splice","push","rtrim","c","invert","l","suffLen","currChar","slice","findClosingBracket","b","indexOf","level","outputLink","cap","link","raw","lexer","text","state","inLink","token","type","tokens","inlineTokens","indentCodeCompensation","matchIndentToCode","indentToCode","map","node","matchIndentInNode","indentInNode","_Tokenizer","options","rules","constructor","space","src","block","newline","code","codeBlockStyle","fences","lang","inline","anyPunctuation","heading","trimmed","depth","hr","blockquote","top","blockTokens","list","bull","isordered","ordered","start","loose","items","itemRegex","itemContents","endsWithBlankLine","endEarly","line","t","repeat","nextLine","indent","trimStart","search","blankLine","nextBulletRegex","Math","min","hrRegex","fencesBeginRegex","headingBeginRegex","rawLine","istask","ischecked","task","trimEnd","spacers","filter","hasMultipleLineBreaks","some","pre","def","tag","table","headers","aligns","rows","item","header","align","cell","lheading","paragraph","escape","inRawBlock","trimmedUrl","rtrimSlash","lastParenIndex","linkLen","reflink","links","nolink","linkString","emStrong","maskedSrc","prevChar","emStrongLDelim","nextChar","punctuation","lLength","rDelim","rLength","delimTotal","midDelimTotal","endReg","emStrongRDelimAst","emStrongRDelimUnd","lastIndex","lastCharLength","index","codespan","hasNonSpaceChars","hasSpaceCharsOnBothEnds","br","del","autolink","url","prevCapZero","_backpedal","inlineText","blockCode","bullet","_paragraph","blockText","_blockLabel","_tag","_comment","blockNormal","gfmTable","blockGfm","blockPedantic","inlineCode","_punctuation","blockSkip","_inlineComment","_inlineLabel","reflinkSearch","inlineNormal","inlinePedantic","inlineGfm","inlineBreaks","normal","_Lexer","inlineQueue","Object","create","lex","lexInline","next","leading","tabs","lastToken","cutSrc","lastParagraphClipped","extTokenizer","call","startBlock","startIndex","Infinity","tempSrc","tempStart","forEach","getStartIndex","errMsg","charCodeAt","console","Error","keepPrevChar","keys","includes","lastIndexOf","startInline","_Renderer","infostring","quote","body","startatt","listitem","checkbox","tablerow","content","tablecell","flags","strong","em","cleanHref","out","image","_TextRenderer","_Parser","textRenderer","parse","parser","parseInline","renderers","genericToken","ret","headingToken","codeToken","tableToken","j","k","blockquoteToken","listToken","itemBody","unshift","htmlToken","paragraphToken","textToken","escapeToken","tagToken","linkToken","imageToken","strongToken","emToken","codespanToken","delToken","_Hooks","static","Set","preprocess","markdown","postprocess","processAllTokens","Marked","setOptions","parseMarkdown","Parser","Renderer","TextRenderer","Lexer","Tokenizer","Hooks","args","use","callback","values","concat","childTokens","flat","pack","opts","ext","prevRenderer","apply","extLevel","prop","rendererProp","rendererFunc","tokenizerProp","tokenizerFunc","prevTokenizer","hooksProp","hooksFunc","prevHook","passThroughHooks","has","arg","Promise","resolve","then","packWalktokens","origOpt","warn","throwError","onError","prototype","toString","all","catch","message","msg","reject","markedInstance","marked","getDefaults","toInlinePlainText","textWithHtml","withoutHtmlTags","withCollapsedWhitespaces","unclosedElement","completeUnclosedElement","symbol","replacements","escapeHtml","customRenderer","plainText","unwrappedText","withClosedElement","transformMarkdownToHtml","GeneratedMarkdownContent","answerAsHtml","DOMPurify","sanitize","answer","ADD_ATTR","isStreaming","innerHTML","GeneratedTextContent","GeneratedContentContainer","children","answerContentFormat","RetryPrompt","buttonLabel","ShowButton","isCollapsed","i18n","ArrowBottomIcon","ArrowTopIcon","SourceCitations","isVisible","label","GeneratedAnswerCommon","storage","SafeStorage","_data","readStoredData","insertFeedbackModal","modalRef","document","createElement","generatedAnswer","getGeneratedAnswer","host","insertAdjacentElement","storedData","getParsedJSON","StorageItems","GENERATED_ANSWER_DATA","writeStoredData","data","setJSON","newData","getGeneratedAnswerStatus","isHidden","getGeneratedAnswerState","isGenerating","hasAnswer","hasError","getBindings","hasRetryableError","getSearchStatusState","isRetryable","hasNoAnswerGenerated","citations","undefined","isAnswerVisible","toggleTooltip","key","hasClipboard","navigator","clipboard","writeText","copyToClipboardTooltip","getCopyError","getCopied","hasCustomNoAnswerMessage","slot","getNamedSlotFromHost","copyToClipboard","setCopied","logCopyToClipboard","setCopyError","engine","logger","setTimeout","clickOnShowButton","expanded","collapse","expand","getCitation","citation","renderCitations","buildInteractiveCitation","disableCitationAnchoring","logCitationHover","interactiveCitation","id","sendHoverEndEvent","citationHoverTimeMs","exportparts","renderFeedbackAndCopyButtons","liked","disliked","clickLike","clickDislike","setIsAnswerHelpful","isAnswerHelpful","helpful","openFeedbackModal","feedbackSubmitted","isOpen","dislike","like","renderDisclaimer","renderShowButton","collapsible","canRender","renderGeneratingAnswerLabel","renderContent","Heading","show","hide","retry","renderCustomNoAnswerMessage","render","cannotAnswer","contentClasses"],"sources":["src/components/common/switch.tsx","src/components/common/generated-answer/copy-button.tsx","src/components/common/generated-answer/feedback-button.tsx","../../node_modules/marked/lib/marked.umd.js","src/components/common/generated-answer/generated-content/markdown-utils.ts","src/components/common/generated-answer/generated-content/generated-markdown-content.tsx","src/components/common/generated-answer/generated-content/generated-text-content.tsx","src/components/common/generated-answer/generated-content-container.tsx","src/components/common/generated-answer/retry-prompt.tsx","src/components/common/generated-answer/show-button.tsx","src/components/common/generated-answer/source-citations.tsx","src/components/common/generated-answer/generated-answer-common.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\n\nexport interface SwitchProps {\n checked?: boolean;\n onToggle?(checked: boolean): void;\n ariaLabel?: string;\n part?: string;\n tabIndex?: number;\n title?: string;\n withToggle?: boolean;\n}\n\nexport const Switch: FunctionalComponent<SwitchProps> = (props) => {\n const attributes = {\n onClick: () => props.onToggle?.(!props.checked),\n 'arial-label': props.ariaLabel,\n 'aria-checked': String(!!props.checked),\n part: props.part,\n tabIndex: props.tabIndex,\n title: props.title,\n };\n\n const containerClasses = [\n 'w-12',\n 'h-6',\n 'p-1',\n 'rounded-full',\n props.checked ? 'bg-primary' : 'bg-neutral',\n ].join(' ');\n\n const handleClasses = [\n 'w-4',\n 'h-4',\n 'rounded-full',\n 'bg-white',\n props.checked ? 'ml-6' : '',\n ].join(' ');\n\n const buttonClasses = [\n 'rounded-full',\n 'btn-outline-neutral',\n props.withToggle ? 'flex' : 'hidden',\n ].join(' ');\n\n return (\n <button role=\"switch\" {...attributes} class={buttonClasses}>\n <div class={containerClasses}>\n <div class={handleClasses}></div>\n </div>\n </button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport CopyIcon from '../../../images/copy.svg';\nimport {Button} from '../stencil-button';\n\ninterface CopyButtonProps {\n title: string;\n isCopied: boolean;\n error: boolean;\n onClick: () => void;\n}\n\nexport const CopyButton: FunctionalComponent<CopyButtonProps> = (props) => {\n return (\n <Button\n title={props.title}\n part=\"copy-button\"\n style={'text-transparent'}\n class={`rounded-md p-2 ${props.isCopied ? 'copied' : ''} ${\n props.error ? 'error' : ''\n }`}\n onClick={props.onClick}\n >\n <div class=\"icon-container text-neutral-dark\">\n <atomic-icon class=\"w-5\" icon={CopyIcon}></atomic-icon>\n </div>\n </Button>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport Thumbs from '../../../images/thumbs.svg';\nimport {Button} from '../stencil-button';\n\ntype FeedbackVariant = 'like' | 'dislike';\n\ninterface FeedbackButtonProps {\n title: string;\n variant: FeedbackVariant;\n active: boolean;\n onClick: () => void;\n}\n\nexport const FeedbackButton: FunctionalComponent<FeedbackButtonProps> = (\n props\n) => {\n return (\n <Button\n title={props.title}\n style=\"text-transparent\"\n part=\"feedback-button\"\n class={`feedback-button rounded-md p-2 ${props.variant} ${\n props.active ? 'active' : ''\n }`}\n onClick={props.onClick}\n ariaPressed={`${props.active}`}\n >\n <atomic-icon class=\"w-5\" icon={Thumbs}></atomic-icon>\n </Button>\n );\n};\n","/**\n * marked v12.0.2 - a markdown parser\n * Copyright (c) 2011-2024, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n/**\n * DO NOT EDIT THIS FILE\n * The code in this file is generated from files in ./src/\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.marked = {}));\n})(this, (function (exports) { 'use strict';\n\n /**\n * Gets the original marked default options.\n */\n function _getDefaults() {\n return {\n async: false,\n breaks: false,\n extensions: null,\n gfm: true,\n hooks: null,\n pedantic: false,\n renderer: null,\n silent: false,\n tokenizer: null,\n walkTokens: null\n };\n }\n exports.defaults = _getDefaults();\n function changeDefaults(newDefaults) {\n exports.defaults = newDefaults;\n }\n\n /**\n * Helpers\n */\n const escapeTest = /[&<>\"']/;\n const escapeReplace = new RegExp(escapeTest.source, 'g');\n const escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\n const escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');\n const escapeReplacements = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;'\n };\n const getEscapeReplacement = (ch) => escapeReplacements[ch];\n function escape$1(html, encode) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n }\n else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n return html;\n }\n const unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n function unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon')\n return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n }\n const caret = /(^|[^\\[])\\^/g;\n function edit(regex, opt) {\n let source = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n const obj = {\n replace: (name, val) => {\n let valSource = typeof val === 'string' ? val : val.source;\n valSource = valSource.replace(caret, '$1');\n source = source.replace(name, valSource);\n return obj;\n },\n getRegex: () => {\n return new RegExp(source, opt);\n }\n };\n return obj;\n }\n function cleanUrl(href) {\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n }\n catch (e) {\n return null;\n }\n return href;\n }\n const noopTest = { exec: () => null };\n function splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n const row = tableRow.replace(/\\|/g, (match, offset, str) => {\n let escaped = false;\n let curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\')\n escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n }\n else {\n // add space before unescaped |\n return ' |';\n }\n }), cells = row.split(/ \\|/);\n let i = 0;\n // First/last cell in a row cannot be empty if it has no leading/trailing pipe\n if (!cells[0].trim()) {\n cells.shift();\n }\n if (cells.length > 0 && !cells[cells.length - 1].trim()) {\n cells.pop();\n }\n if (count) {\n if (cells.length > count) {\n cells.splice(count);\n }\n else {\n while (cells.length < count)\n cells.push('');\n }\n }\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n }\n /**\n * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n * /c*$/ is vulnerable to REDOS.\n *\n * @param str\n * @param c\n * @param invert Remove suffix of non-c chars instead. Default falsey.\n */\n function rtrim(str, c, invert) {\n const l = str.length;\n if (l === 0) {\n return '';\n }\n // Length of suffix matching the invert condition.\n let suffLen = 0;\n // Step left until we fail to match the invert condition.\n while (suffLen < l) {\n const currChar = str.charAt(l - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n }\n else if (currChar !== c && invert) {\n suffLen++;\n }\n else {\n break;\n }\n }\n return str.slice(0, l - suffLen);\n }\n function findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n let level = 0;\n for (let i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n }\n else if (str[i] === b[0]) {\n level++;\n }\n else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n }\n\n function outputLink(cap, link, raw, lexer) {\n const href = link.href;\n const title = link.title ? escape$1(link.title) : null;\n const text = cap[1].replace(/\\\\([\\[\\]])/g, '$1');\n if (cap[0].charAt(0) !== '!') {\n lexer.state.inLink = true;\n const token = {\n type: 'link',\n raw,\n href,\n title,\n text,\n tokens: lexer.inlineTokens(text)\n };\n lexer.state.inLink = false;\n return token;\n }\n return {\n type: 'image',\n raw,\n href,\n title,\n text: escape$1(text)\n };\n }\n function indentCodeCompensation(raw, text) {\n const matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n if (matchIndentToCode === null) {\n return text;\n }\n const indentToCode = matchIndentToCode[1];\n return text\n .split('\\n')\n .map(node => {\n const matchIndentInNode = node.match(/^\\s+/);\n if (matchIndentInNode === null) {\n return node;\n }\n const [indentInNode] = matchIndentInNode;\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n return node;\n })\n .join('\\n');\n }\n /**\n * Tokenizer\n */\n class _Tokenizer {\n options;\n rules; // set by the lexer\n lexer; // set by the lexer\n constructor(options) {\n this.options = options || exports.defaults;\n }\n space(src) {\n const cap = this.rules.block.newline.exec(src);\n if (cap && cap[0].length > 0) {\n return {\n type: 'space',\n raw: cap[0]\n };\n }\n }\n code(src) {\n const cap = this.rules.block.code.exec(src);\n if (cap) {\n const text = cap[0].replace(/^ {1,4}/gm, '');\n return {\n type: 'code',\n raw: cap[0],\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(text, '\\n')\n : text\n };\n }\n }\n fences(src) {\n const cap = this.rules.block.fences.exec(src);\n if (cap) {\n const raw = cap[0];\n const text = indentCodeCompensation(raw, cap[3] || '');\n return {\n type: 'code',\n raw,\n lang: cap[2] ? cap[2].trim().replace(this.rules.inline.anyPunctuation, '$1') : cap[2],\n text\n };\n }\n }\n heading(src) {\n const cap = this.rules.block.heading.exec(src);\n if (cap) {\n let text = cap[2].trim();\n // remove trailing #s\n if (/#$/.test(text)) {\n const trimmed = rtrim(text, '#');\n if (this.options.pedantic) {\n text = trimmed.trim();\n }\n else if (!trimmed || / $/.test(trimmed)) {\n // CommonMark requires space before trailing #s\n text = trimmed.trim();\n }\n }\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[1].length,\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n hr(src) {\n const cap = this.rules.block.hr.exec(src);\n if (cap) {\n return {\n type: 'hr',\n raw: cap[0]\n };\n }\n }\n blockquote(src) {\n const cap = this.rules.block.blockquote.exec(src);\n if (cap) {\n // precede setext continuation with 4 spaces so it isn't a setext\n let text = cap[0].replace(/\\n {0,3}((?:=+|-+) *)(?=\\n|$)/g, '\\n $1');\n text = rtrim(text.replace(/^ *>[ \\t]?/gm, ''), '\\n');\n const top = this.lexer.state.top;\n this.lexer.state.top = true;\n const tokens = this.lexer.blockTokens(text);\n this.lexer.state.top = top;\n return {\n type: 'blockquote',\n raw: cap[0],\n tokens,\n text\n };\n }\n }\n list(src) {\n let cap = this.rules.block.list.exec(src);\n if (cap) {\n let bull = cap[1].trim();\n const isordered = bull.length > 1;\n const list = {\n type: 'list',\n raw: '',\n ordered: isordered,\n start: isordered ? +bull.slice(0, -1) : '',\n loose: false,\n items: []\n };\n bull = isordered ? `\\\\d{1,9}\\\\${bull.slice(-1)}` : `\\\\${bull}`;\n if (this.options.pedantic) {\n bull = isordered ? bull : '[*+-]';\n }\n // Get next list item\n const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\\t ][^\\\\n]*)?(?:\\\\n|$))`);\n let raw = '';\n let itemContents = '';\n let endsWithBlankLine = false;\n // Check if current bullet point can start a new List Item\n while (src) {\n let endEarly = false;\n if (!(cap = itemRegex.exec(src))) {\n break;\n }\n if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)\n break;\n }\n raw = cap[0];\n src = src.substring(raw.length);\n let line = cap[2].split('\\n', 1)[0].replace(/^\\t+/, (t) => ' '.repeat(3 * t.length));\n let nextLine = src.split('\\n', 1)[0];\n let indent = 0;\n if (this.options.pedantic) {\n indent = 2;\n itemContents = line.trimStart();\n }\n else {\n indent = cap[2].search(/[^ ]/); // Find first non-space char\n indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent\n itemContents = line.slice(indent);\n indent += cap[1].length;\n }\n let blankLine = false;\n if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line\n raw += nextLine + '\\n';\n src = src.substring(nextLine.length + 1);\n endEarly = true;\n }\n if (!endEarly) {\n const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\\\d{1,9}[.)])((?:[ \\t][^\\\\n]*)?(?:\\\\n|$))`);\n const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$)`);\n const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\\`\\`\\`|~~~)`);\n const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);\n // Check if following lines should be included in List Item\n while (src) {\n const rawLine = src.split('\\n', 1)[0];\n nextLine = rawLine;\n // Re-align to follow commonmark nesting rules\n if (this.options.pedantic) {\n nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');\n }\n // End list item if found code fences\n if (fencesBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new heading\n if (headingBeginRegex.test(nextLine)) {\n break;\n }\n // End list item if found start of new bullet\n if (nextBulletRegex.test(nextLine)) {\n break;\n }\n // Horizontal rule found\n if (hrRegex.test(src)) {\n break;\n }\n if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) { // Dedent if possible\n itemContents += '\\n' + nextLine.slice(indent);\n }\n else {\n // not enough indentation\n if (blankLine) {\n break;\n }\n // paragraph continuation unless last line was a different block level element\n if (line.search(/[^ ]/) >= 4) { // indented code block\n break;\n }\n if (fencesBeginRegex.test(line)) {\n break;\n }\n if (headingBeginRegex.test(line)) {\n break;\n }\n if (hrRegex.test(line)) {\n break;\n }\n itemContents += '\\n' + nextLine;\n }\n if (!blankLine && !nextLine.trim()) { // Check if current line is blank\n blankLine = true;\n }\n raw += rawLine + '\\n';\n src = src.substring(rawLine.length + 1);\n line = nextLine.slice(indent);\n }\n }\n if (!list.loose) {\n // If the previous item ended with a blank line, the list is loose\n if (endsWithBlankLine) {\n list.loose = true;\n }\n else if (/\\n *\\n *$/.test(raw)) {\n endsWithBlankLine = true;\n }\n }\n let istask = null;\n let ischecked;\n // Check for task list items\n if (this.options.gfm) {\n istask = /^\\[[ xX]\\] /.exec(itemContents);\n if (istask) {\n ischecked = istask[0] !== '[ ] ';\n itemContents = itemContents.replace(/^\\[[ xX]\\] +/, '');\n }\n }\n list.items.push({\n type: 'list_item',\n raw,\n task: !!istask,\n checked: ischecked,\n loose: false,\n text: itemContents,\n tokens: []\n });\n list.raw += raw;\n }\n // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic\n list.items[list.items.length - 1].raw = raw.trimEnd();\n (list.items[list.items.length - 1]).text = itemContents.trimEnd();\n list.raw = list.raw.trimEnd();\n // Item child tokens handled here at end because we needed to have the final item to trim it first\n for (let i = 0; i < list.items.length; i++) {\n this.lexer.state.top = false;\n list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);\n if (!list.loose) {\n // Check if list should be loose\n const spacers = list.items[i].tokens.filter(t => t.type === 'space');\n const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => /\\n.*\\n/.test(t.raw));\n list.loose = hasMultipleLineBreaks;\n }\n }\n // Set all items to loose if list is loose\n if (list.loose) {\n for (let i = 0; i < list.items.length; i++) {\n list.items[i].loose = true;\n }\n }\n return list;\n }\n }\n html(src) {\n const cap = this.rules.block.html.exec(src);\n if (cap) {\n const token = {\n type: 'html',\n block: true,\n raw: cap[0],\n pre: cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style',\n text: cap[0]\n };\n return token;\n }\n }\n def(src) {\n const cap = this.rules.block.def.exec(src);\n if (cap) {\n const tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n const href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline.anyPunctuation, '$1') : '';\n const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline.anyPunctuation, '$1') : cap[3];\n return {\n type: 'def',\n tag,\n raw: cap[0],\n href,\n title\n };\n }\n }\n table(src) {\n const cap = this.rules.block.table.exec(src);\n if (!cap) {\n return;\n }\n if (!/[:|]/.test(cap[2])) {\n // delimiter row must have a pipe (|) or colon (:) otherwise it is a setext heading\n return;\n }\n const headers = splitCells(cap[1]);\n const aligns = cap[2].replace(/^\\||\\| *$/g, '').split('|');\n const rows = cap[3] && cap[3].trim() ? cap[3].replace(/\\n[ \\t]*$/, '').split('\\n') : [];\n const item = {\n type: 'table',\n raw: cap[0],\n header: [],\n align: [],\n rows: []\n };\n if (headers.length !== aligns.length) {\n // header and align columns must be equal, rows can be different.\n return;\n }\n for (const align of aligns) {\n if (/^ *-+: *$/.test(align)) {\n item.align.push('right');\n }\n else if (/^ *:-+: *$/.test(align)) {\n item.align.push('center');\n }\n else if (/^ *:-+ *$/.test(align)) {\n item.align.push('left');\n }\n else {\n item.align.push(null);\n }\n }\n for (const header of headers) {\n item.header.push({\n text: header,\n tokens: this.lexer.inline(header)\n });\n }\n for (const row of rows) {\n item.rows.push(splitCells(row, item.header.length).map(cell => {\n return {\n text: cell,\n tokens: this.lexer.inline(cell)\n };\n }));\n }\n return item;\n }\n lheading(src) {\n const cap = this.rules.block.lheading.exec(src);\n if (cap) {\n return {\n type: 'heading',\n raw: cap[0],\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1],\n tokens: this.lexer.inline(cap[1])\n };\n }\n }\n paragraph(src) {\n const cap = this.rules.block.paragraph.exec(src);\n if (cap) {\n const text = cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1];\n return {\n type: 'paragraph',\n raw: cap[0],\n text,\n tokens: this.lexer.inline(text)\n };\n }\n }\n text(src) {\n const cap = this.rules.block.text.exec(src);\n if (cap) {\n return {\n type: 'text',\n raw: cap[0],\n text: cap[0],\n tokens: this.lexer.inline(cap[0])\n };\n }\n }\n escape(src) {\n const cap = this.rules.inline.escape.exec(src);\n if (cap) {\n return {\n type: 'escape',\n raw: cap[0],\n text: escape$1(cap[1])\n };\n }\n }\n tag(src) {\n const cap = this.rules.inline.tag.exec(src);\n if (cap) {\n if (!this.lexer.state.inLink && /^<a /i.test(cap[0])) {\n this.lexer.state.inLink = true;\n }\n else if (this.lexer.state.inLink && /^<\\/a>/i.test(cap[0])) {\n this.lexer.state.inLink = false;\n }\n if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = true;\n }\n else if (this.lexer.state.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.lexer.state.inRawBlock = false;\n }\n return {\n type: 'html',\n raw: cap[0],\n inLink: this.lexer.state.inLink,\n inRawBlock: this.lexer.state.inRawBlock,\n block: false,\n text: cap[0]\n };\n }\n }\n link(src) {\n const cap = this.rules.inline.link.exec(src);\n if (cap) {\n const trimmedUrl = cap[2].trim();\n if (!this.options.pedantic && /^</.test(trimmedUrl)) {\n // commonmark requires matching angle brackets\n if (!(/>$/.test(trimmedUrl))) {\n return;\n }\n // ending angle bracket cannot be escaped\n const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\\\');\n if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {\n return;\n }\n }\n else {\n // find closing parenthesis\n const lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n const start = cap[0].indexOf('!') === 0 ? 5 : 4;\n const linkLen = start + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n }\n let href = cap[2];\n let title = '';\n if (this.options.pedantic) {\n // split pedantic href and title\n const link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n if (link) {\n href = link[1];\n title = link[3];\n }\n }\n else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim();\n if (/^</.test(href)) {\n if (this.options.pedantic && !(/>$/.test(trimmedUrl))) {\n // pedantic allows starting angle bracket without ending angle bracket\n href = href.slice(1);\n }\n else {\n href = href.slice(1, -1);\n }\n }\n return outputLink(cap, {\n href: href ? href.replace(this.rules.inline.anyPunctuation, '$1') : href,\n title: title ? title.replace(this.rules.inline.anyPunctuation, '$1') : title\n }, cap[0], this.lexer);\n }\n }\n reflink(src, links) {\n let cap;\n if ((cap = this.rules.inline.reflink.exec(src))\n || (cap = this.rules.inline.nolink.exec(src))) {\n const linkString = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n const link = links[linkString.toLowerCase()];\n if (!link) {\n const text = cap[0].charAt(0);\n return {\n type: 'text',\n raw: text,\n text\n };\n }\n return outputLink(cap, link, cap[0], this.lexer);\n }\n }\n emStrong(src, maskedSrc, prevChar = '') {\n let match = this.rules.inline.emStrongLDelim.exec(src);\n if (!match)\n return;\n // _ can't be between two alphanumerics. \\p{L}\\p{N} includes non-english alphabet/numbers as well\n if (match[3] && prevChar.match(/[\\p{L}\\p{N}]/u))\n return;\n const nextChar = match[1] || match[2] || '';\n if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {\n // unicode Regex counts emoji as 1 char; spread into array for proper count (used multiple times below)\n const lLength = [...match[0]].length - 1;\n let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;\n const endReg = match[0][0] === '*' ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;\n endReg.lastIndex = 0;\n // Clip maskedSrc to same section of string as src (move to lexer?)\n maskedSrc = maskedSrc.slice(-1 * src.length + lLength);\n while ((match = endReg.exec(maskedSrc)) != null) {\n rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];\n if (!rDelim)\n continue; // skip single * in __abc*abc__\n rLength = [...rDelim].length;\n if (match[3] || match[4]) { // found another Left Delim\n delimTotal += rLength;\n continue;\n }\n else if (match[5] || match[6]) { // either Left or Right Delim\n if (lLength % 3 && !((lLength + rLength) % 3)) {\n midDelimTotal += rLength;\n continue; // CommonMark Emphasis Rules 9-10\n }\n }\n delimTotal -= rLength;\n if (delimTotal > 0)\n continue; // Haven't found enough closing delimiters\n // Remove extra characters. *a*** -> *a*\n rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);\n // char length can be >1 for unicode characters;\n const lastCharLength = [...match[0]][0].length;\n const raw = src.slice(0, lLength + match.index + lastCharLength + rLength);\n // Create `em` if smallest delimiter has odd char count. *a***\n if (Math.min(lLength, rLength) % 2) {\n const text = raw.slice(1, -1);\n return {\n type: 'em',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n // Create 'strong' if smallest delimiter has even char count. **a***\n const text = raw.slice(2, -2);\n return {\n type: 'strong',\n raw,\n text,\n tokens: this.lexer.inlineTokens(text)\n };\n }\n }\n }\n codespan(src) {\n const cap = this.rules.inline.code.exec(src);\n if (cap) {\n let text = cap[2].replace(/\\n/g, ' ');\n const hasNonSpaceChars = /[^ ]/.test(text);\n const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);\n if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {\n text = text.substring(1, text.length - 1);\n }\n text = escape$1(text, true);\n return {\n type: 'codespan',\n raw: cap[0],\n text\n };\n }\n }\n br(src) {\n const cap = this.rules.inline.br.exec(src);\n if (cap) {\n return {\n type: 'br',\n raw: cap[0]\n };\n }\n }\n del(src) {\n const cap = this.rules.inline.del.exec(src);\n if (cap) {\n return {\n type: 'del',\n raw: cap[0],\n text: cap[2],\n tokens: this.lexer.inlineTokens(cap[2])\n };\n }\n }\n autolink(src) {\n const cap = this.rules.inline.autolink.exec(src);\n if (cap) {\n let text, href;\n if (cap[2] === '@') {\n text = escape$1(cap[1]);\n href = 'mailto:' + text;\n }\n else {\n text = escape$1(cap[1]);\n href = text;\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n url(src) {\n let cap;\n if (cap = this.rules.inline.url.exec(src)) {\n let text, href;\n if (cap[2] === '@') {\n text = escape$1(cap[0]);\n href = 'mailto:' + text;\n }\n else {\n // do extended autolink path validation\n let prevCapZero;\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules.inline._backpedal.exec(cap[0])?.[0] ?? '';\n } while (prevCapZero !== cap[0]);\n text = escape$1(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + cap[0];\n }\n else {\n href = cap[0];\n }\n }\n return {\n type: 'link',\n raw: cap[0],\n text,\n href,\n tokens: [\n {\n type: 'text',\n raw: text,\n text\n }\n ]\n };\n }\n }\n inlineText(src) {\n const cap = this.rules.inline.text.exec(src);\n if (cap) {\n let text;\n if (this.lexer.state.inRawBlock) {\n text = cap[0];\n }\n else {\n text = escape$1(cap[0]);\n }\n return {\n type: 'text',\n raw: cap[0],\n text\n };\n }\n }\n }\n\n /**\n * Block-Level Grammar\n */\n const newline = /^(?: *(?:\\n|$))+/;\n const blockCode = /^( {4}[^\\n]+(?:\\n(?: *(?:\\n|$))*)?)+/;\n const fences = /^ {0,3}(`{3,}(?=[^`\\n]*(?:\\n|$))|~{3,})([^\\n]*)(?:\\n|$)(?:|([\\s\\S]*?)(?:\\n|$))(?: {0,3}\\1[~`]* *(?=\\n|$)|$)/;\n const hr = /^ {0,3}((?:-[\\t ]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})(?:\\n+|$)/;\n const heading = /^ {0,3}(#{1,6})(?=\\s|$)(.*)(?:\\n+|$)/;\n const bullet = /(?:[*+-]|\\d{1,9}[.)])/;\n const lheading = edit(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\\n(?!\\s*?\\n|bull |blockCode|fences|blockquote|heading|html))+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/)\n .replace(/bull/g, bullet) // lists can interrupt\n .replace(/blockCode/g, / {4}/) // indented code blocks can interrupt\n .replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/) // fenced code blocks can interrupt\n .replace(/blockquote/g, / {0,3}>/) // blockquote can interrupt\n .replace(/heading/g, / {0,3}#{1,6}/) // ATX heading can interrupt\n .replace(/html/g, / {0,3}<[^\\n>]+>\\n/) // block html can interrupt\n .getRegex();\n const _paragraph = /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\\n)[^\\n]+)*)/;\n const blockText = /^[^\\n]+/;\n const _blockLabel = /(?!\\s*\\])(?:\\\\.|[^\\[\\]\\\\])+/;\n const def = edit(/^ {0,3}\\[(label)\\]: *(?:\\n *)?([^<\\s][^\\s]*|<.*?>)(?:(?: +(?:\\n *)?| *\\n *)(title))? *(?:\\n+|$)/)\n .replace('label', _blockLabel)\n .replace('title', /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/)\n .getRegex();\n const list = edit(/^( {0,3}bull)([ \\t][^\\n]+?)?(?:\\n|$)/)\n .replace(/bull/g, bullet)\n .getRegex();\n const _tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title'\n + '|tr|track|ul';\n const _comment = /<!--(?:-?>|[\\s\\S]*?(?:-->|$))/;\n const html = edit('^ {0,3}(?:' // optional indentation\n + '<(script|pre|style|textarea)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?(?:\\\\?>\\\\n*|$)' // (3)\n + '|<![A-Z][\\\\s\\\\S]*?(?:>\\\\n*|$)' // (4)\n + '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?(?:\\\\]\\\\]>\\\\n*|$)' // (5)\n + '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (6)\n + '|<(?!script|pre|style|textarea)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) open tag\n + '|</(?!script|pre|style|textarea)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:(?:\\\\n *)+\\\\n|$)' // (7) closing tag\n + ')', 'i')\n .replace('comment', _comment)\n .replace('tag', _tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n const paragraph = edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n const blockquote = edit(/^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/)\n .replace('paragraph', paragraph)\n .getRegex();\n /**\n * Normal Block Grammar\n */\n const blockNormal = {\n blockquote,\n code: blockCode,\n def,\n fences,\n heading,\n hr,\n html,\n lheading,\n list,\n newline,\n paragraph,\n table: noopTest,\n text: blockText\n };\n /**\n * GFM Block Grammar\n */\n const gfmTable = edit('^ *([^\\\\n ].*)\\\\n' // Header\n + ' {0,3}((?:\\\\| *)?:?-+:? *(?:\\\\| *:?-+:? *)*(?:\\\\| *)?)' // Align\n + '(?:\\\\n((?:(?! *\\\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\\\n|$))*)\\\\n*|$)') // Cells\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('blockquote', ' {0,3}>')\n .replace('code', ' {4}[^\\\\n]')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // tables can be interrupted by type (6) html blocks\n .getRegex();\n const blockGfm = {\n ...blockNormal,\n table: gfmTable,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' {0,3}#{1,6}(?:\\\\s|$)')\n .replace('|lheading', '') // setext headings don't interrupt commonmark paragraphs\n .replace('table', gfmTable) // interrupt paragraphs with table\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\\\n]*\\\\n)|~{3,})[^\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|textarea|!--)')\n .replace('tag', _tag) // pars can be interrupted by type (6) html blocks\n .getRegex()\n };\n /**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n const blockPedantic = {\n ...blockNormal,\n html: edit('^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', _comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^(#{1,6})(.*)(?:\\n+|$)/,\n fences: noopTest, // fences not supported\n lheading: /^(.+?)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n paragraph: edit(_paragraph)\n .replace('hr', hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', lheading)\n .replace('|table', '')\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .replace('|tag', '')\n .getRegex()\n };\n /**\n * Inline-Level Grammar\n */\n const escape = /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/;\n const inlineCode = /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/;\n const br = /^( {2,}|\\\\)\\n(?!\\s*$)/;\n const inlineText = /^(`+|[^`])(?:(?= {2,}\\n)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*_]|\\b_|$)|[^ ](?= {2,}\\n)))/;\n // list of unicode punctuation marks, plus any missing characters from CommonMark spec\n const _punctuation = '\\\\p{P}\\\\p{S}';\n const punctuation = edit(/^((?![*_])[\\spunctuation])/, 'u')\n .replace(/punctuation/g, _punctuation).getRegex();\n // sequences em should skip over [title](link), `code`, <html>\n const blockSkip = /\\[[^[\\]]*?\\]\\([^\\(\\)]*?\\)|`[^`]*?`|<[^<>]*?>/g;\n const emStrongLDelim = edit(/^(?:\\*+(?:((?!\\*)[punct])|[^\\s*]))|^_+(?:((?!_)[punct])|([^\\s_]))/, 'u')\n .replace(/punct/g, _punctuation)\n .getRegex();\n const emStrongRDelimAst = edit('^[^_*]*?__[^_*]*?\\\\*[^_*]*?(?=__)' // Skip orphan inside strong\n + '|[^*]+(?=[^*])' // Consume to delim\n + '|(?!\\\\*)[punct](\\\\*+)(?=[\\\\s]|$)' // (1) #*** can only be a Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?!\\\\*)(?=[punct\\\\s]|$)' // (2) a***#, a*** can only be a Right Delimiter\n + '|(?!\\\\*)[punct\\\\s](\\\\*+)(?=[^punct\\\\s])' // (3) #***a, ***a can only be Left Delimiter\n + '|[\\\\s](\\\\*+)(?!\\\\*)(?=[punct])' // (4) ***# can only be Left Delimiter\n + '|(?!\\\\*)[punct](\\\\*+)(?!\\\\*)(?=[punct])' // (5) #***# can be either Left or Right Delimiter\n + '|[^punct\\\\s](\\\\*+)(?=[^punct\\\\s])', 'gu') // (6) a***a can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\n // (6) Not allowed for _\n const emStrongRDelimUnd = edit('^[^_*]*?\\\\*\\\\*[^_*]*?_[^_*]*?(?=\\\\*\\\\*)' // Skip orphan inside strong\n + '|[^_]+(?=[^_])' // Consume to delim\n + '|(?!_)[punct](_+)(?=[\\\\s]|$)' // (1) #___ can only be a Right Delimiter\n + '|[^punct\\\\s](_+)(?!_)(?=[punct\\\\s]|$)' // (2) a___#, a___ can only be a Right Delimiter\n + '|(?!_)[punct\\\\s](_+)(?=[^punct\\\\s])' // (3) #___a, ___a can only be Left Delimiter\n + '|[\\\\s](_+)(?!_)(?=[punct])' // (4) ___# can only be Left Delimiter\n + '|(?!_)[punct](_+)(?!_)(?=[punct])', 'gu') // (5) #___# can be either Left or Right Delimiter\n .replace(/punct/g, _punctuation)\n .getRegex();\n const anyPunctuation = edit(/\\\\([punct])/, 'gu')\n .replace(/punct/g, _punctuation)\n .getRegex();\n const autolink = edit(/^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/)\n .replace('scheme', /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/)\n .replace('email', /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/)\n .getRegex();\n const _inlineComment = edit(_comment).replace('(?:-->|$)', '-->').getRegex();\n const tag = edit('^comment'\n + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>') // CDATA section\n .replace('comment', _inlineComment)\n .replace('attribute', /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/)\n .getRegex();\n const _inlineLabel = /(?:\\[(?:\\\\.|[^\\[\\]\\\\])*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\n const link = edit(/^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/)\n .replace('label', _inlineLabel)\n .replace('href', /<(?:\\\\.|[^\\n<>\\\\])+>|[^\\s\\x00-\\x1f]*/)\n .replace('title', /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/)\n .getRegex();\n const reflink = edit(/^!?\\[(label)\\]\\[(ref)\\]/)\n .replace('label', _inlineLabel)\n .replace('ref', _blockLabel)\n .getRegex();\n const nolink = edit(/^!?\\[(ref)\\](?:\\[\\])?/)\n .replace('ref', _blockLabel)\n .getRegex();\n const reflinkSearch = edit('reflink|nolink(?!\\\\()', 'g')\n .replace('reflink', reflink)\n .replace('nolink', nolink)\n .getRegex();\n /**\n * Normal Inline Grammar\n */\n const inlineNormal = {\n _backpedal: noopTest, // only used for GFM url\n anyPunctuation,\n autolink,\n blockSkip,\n br,\n code: inlineCode,\n del: noopTest,\n emStrongLDelim,\n emStrongRDelimAst,\n emStrongRDelimUnd,\n escape,\n link,\n nolink,\n punctuation,\n reflink,\n reflinkSearch,\n tag,\n text: inlineText,\n url: noopTest\n };\n /**\n * Pedantic Inline Grammar\n */\n const inlinePedantic = {\n ...inlineNormal,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', _inlineLabel)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', _inlineLabel)\n .getRegex()\n };\n /**\n * GFM Inline Grammar\n */\n const inlineGfm = {\n ...inlineNormal,\n escape: edit(escape).replace('])', '~|])').getRegex(),\n url: edit(/^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/, 'i')\n .replace('email', /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/)\n .getRegex(),\n _backpedal: /(?:[^?!.,:;*_'\"~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'\"~)]+(?!$))+/,\n del: /^(~~?)(?=[^\\s~])([\\s\\S]*?[^\\s~])\\1(?=[^~]|$)/,\n text: /^([`~]+|[^`~])(?:(?= {2,}\\n)|(?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)|[\\s\\S]*?(?:(?=[\\\\<!\\[`*~_]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@)))/\n };\n /**\n * GFM + Line Breaks Inline Grammar\n */\n const inlineBreaks = {\n ...inlineGfm,\n br: edit(br).replace('{2,}', '*').getRegex(),\n text: edit(inlineGfm.text)\n .replace('\\\\b_', '\\\\b_| {2,}\\\\n')\n .replace(/\\{2,\\}/g, '*')\n .getRegex()\n };\n /**\n * exports\n */\n const block = {\n normal: blockNormal,\n gfm: blockGfm,\n pedantic: blockPedantic\n };\n const inline = {\n normal: inlineNormal,\n gfm: inlineGfm,\n breaks: inlineBreaks,\n pedantic: inlinePedantic\n };\n\n /**\n * Block Lexer\n */\n class _Lexer {\n tokens;\n options;\n state;\n tokenizer;\n inlineQueue;\n constructor(options) {\n // TokenList cannot be created in one go\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || exports.defaults;\n this.options.tokenizer = this.options.tokenizer || new _Tokenizer();\n this.tokenizer = this.options.tokenizer;\n this.tokenizer.options = this.options;\n this.tokenizer.lexer = this;\n this.inlineQueue = [];\n this.state = {\n inLink: false,\n inRawBlock: false,\n top: true\n };\n const rules = {\n block: block.normal,\n inline: inline.normal\n };\n if (this.options.pedantic) {\n rules.block = block.pedantic;\n rules.inline = inline.pedantic;\n }\n else if (this.options.gfm) {\n rules.block = block.gfm;\n if (this.options.breaks) {\n rules.inline = inline.breaks;\n }\n else {\n rules.inline = inline.gfm;\n }\n }\n this.tokenizer.rules = rules;\n }\n /**\n * Expose Rules\n */\n static get rules() {\n return {\n block,\n inline\n };\n }\n /**\n * Static Lex Method\n */\n static lex(src, options) {\n const lexer = new _Lexer(options);\n return lexer.lex(src);\n }\n /**\n * Static Lex Inline Method\n */\n static lexInline(src, options) {\n const lexer = new _Lexer(options);\n return lexer.inlineTokens(src);\n }\n /**\n * Preprocessing\n */\n lex(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n');\n this.blockTokens(src, this.tokens);\n for (let i = 0; i < this.inlineQueue.length; i++) {\n const next = this.inlineQueue[i];\n this.inlineTokens(next.src, next.tokens);\n }\n this.inlineQueue = [];\n return this.tokens;\n }\n blockTokens(src, tokens = []) {\n if (this.options.pedantic) {\n src = src.replace(/\\t/g, ' ').replace(/^ +$/gm, '');\n }\n else {\n src = src.replace(/^( *)(\\t+)/gm, (_, leading, tabs) => {\n return leading + ' '.repeat(tabs.length);\n });\n }\n let token;\n let lastToken;\n let cutSrc;\n let lastParagraphClipped;\n while (src) {\n if (this.options.extensions\n && this.options.extensions.block\n && this.options.extensions.block.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // newline\n if (token = this.tokenizer.space(src)) {\n src = src.substring(token.raw.length);\n if (token.raw.length === 1 && tokens.length > 0) {\n // if there's a single \\n as a spacer, it's terminating the last line,\n // so move it there so that we don't get unnecessary paragraph tags\n tokens[tokens.length - 1].raw += '\\n';\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // code\n if (token = this.tokenizer.code(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // fences\n if (token = this.tokenizer.fences(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // heading\n if (token = this.tokenizer.heading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // hr\n if (token = this.tokenizer.hr(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // blockquote\n if (token = this.tokenizer.blockquote(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // list\n if (token = this.tokenizer.list(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // html\n if (token = this.tokenizer.html(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // def\n if (token = this.tokenizer.def(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.raw;\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else if (!this.tokens.links[token.tag]) {\n this.tokens.links[token.tag] = {\n href: token.href,\n title: token.title\n };\n }\n continue;\n }\n // table (gfm)\n if (token = this.tokenizer.table(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // lheading\n if (token = this.tokenizer.lheading(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // top-level paragraph\n // prevent paragraph consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startBlock) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startBlock.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {\n lastToken = tokens[tokens.length - 1];\n if (lastParagraphClipped && lastToken.type === 'paragraph') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n lastParagraphClipped = (cutSrc.length !== src.length);\n src = src.substring(token.raw.length);\n continue;\n }\n // text\n if (token = this.tokenizer.text(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += '\\n' + token.raw;\n lastToken.text += '\\n' + token.text;\n this.inlineQueue.pop();\n this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n this.state.top = true;\n return tokens;\n }\n inline(src, tokens = []) {\n this.inlineQueue.push({ src, tokens });\n return tokens;\n }\n /**\n * Lexing/Compiling\n */\n inlineTokens(src, tokens = []) {\n let token, lastToken, cutSrc;\n // String with links masked to avoid interference with em and strong\n let maskedSrc = src;\n let match;\n let keepPrevChar, prevChar;\n // Mask out reflinks\n if (this.tokens.links) {\n const links = Object.keys(this.tokens.links);\n if (links.length > 0) {\n while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {\n if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);\n }\n }\n }\n }\n // Mask out other blocks\n while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);\n }\n // Mask out escaped characters\n while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {\n maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);\n }\n while (src) {\n if (!keepPrevChar) {\n prevChar = '';\n }\n keepPrevChar = false;\n // extensions\n if (this.options.extensions\n && this.options.extensions.inline\n && this.options.extensions.inline.some((extTokenizer) => {\n if (token = extTokenizer.call({ lexer: this }, src, tokens)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n return true;\n }\n return false;\n })) {\n continue;\n }\n // escape\n if (token = this.tokenizer.escape(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // tag\n if (token = this.tokenizer.tag(src)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // link\n if (token = this.tokenizer.link(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // reflink, nolink\n if (token = this.tokenizer.reflink(src, this.tokens.links)) {\n src = src.substring(token.raw.length);\n lastToken = tokens[tokens.length - 1];\n if (lastToken && token.type === 'text' && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n // em & strong\n if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // code\n if (token = this.tokenizer.codespan(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // br\n if (token = this.tokenizer.br(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // del (gfm)\n if (token = this.tokenizer.del(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // autolink\n if (token = this.tokenizer.autolink(src)) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // url (gfm)\n if (!this.state.inLink && (token = this.tokenizer.url(src))) {\n src = src.substring(token.raw.length);\n tokens.push(token);\n continue;\n }\n // text\n // prevent inlineText consuming extensions by clipping 'src' to extension start\n cutSrc = src;\n if (this.options.extensions && this.options.extensions.startInline) {\n let startIndex = Infinity;\n const tempSrc = src.slice(1);\n let tempStart;\n this.options.extensions.startInline.forEach((getStartIndex) => {\n tempStart = getStartIndex.call({ lexer: this }, tempSrc);\n if (typeof tempStart === 'number' && tempStart >= 0) {\n startIndex = Math.min(startIndex, tempStart);\n }\n });\n if (startIndex < Infinity && startIndex >= 0) {\n cutSrc = src.substring(0, startIndex + 1);\n }\n }\n if (token = this.tokenizer.inlineText(cutSrc)) {\n src = src.substring(token.raw.length);\n if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started\n prevChar = token.raw.slice(-1);\n }\n keepPrevChar = true;\n lastToken = tokens[tokens.length - 1];\n if (lastToken && lastToken.type === 'text') {\n lastToken.raw += token.raw;\n lastToken.text += token.text;\n }\n else {\n tokens.push(token);\n }\n continue;\n }\n if (src) {\n const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);\n if (this.options.silent) {\n console.error(errMsg);\n break;\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n return tokens;\n }\n }\n\n /**\n * Renderer\n */\n class _Renderer {\n options;\n constructor(options) {\n this.options = options || exports.defaults;\n }\n code(code, infostring, escaped) {\n const lang = (infostring || '').match(/^\\S*/)?.[0];\n code = code.replace(/\\n$/, '') + '\\n';\n if (!lang) {\n return '<pre><code>'\n + (escaped ? code : escape$1(code, true))\n + '</code></pre>\\n';\n }\n return '<pre><code class=\"language-'\n + escape$1(lang)\n + '\">'\n + (escaped ? code : escape$1(code, true))\n + '</code></pre>\\n';\n }\n blockquote(quote) {\n return `<blockquote>\\n${quote}</blockquote>\\n`;\n }\n html(html, block) {\n return html;\n }\n heading(text, level, raw) {\n // ignore IDs\n return `<h${level}>${text}</h${level}>\\n`;\n }\n hr() {\n return '<hr>\\n';\n }\n list(body, ordered, start) {\n const type = ordered ? 'ol' : 'ul';\n const startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '</' + type + '>\\n';\n }\n listitem(text, task, checked) {\n return `<li>${text}</li>\\n`;\n }\n checkbox(checked) {\n return '<input '\n + (checked ? 'checked=\"\" ' : '')\n + 'disabled=\"\" type=\"checkbox\">';\n }\n paragraph(text) {\n return `<p>${text}</p>\\n`;\n }\n table(header, body) {\n if (body)\n body = `<tbody>${body}</tbody>`;\n return '<table>\\n'\n + '<thead>\\n'\n + header\n + '</thead>\\n'\n + body\n + '</table>\\n';\n }\n tablerow(content) {\n return `<tr>\\n${content}</tr>\\n`;\n }\n tablecell(content, flags) {\n const type = flags.header ? 'th' : 'td';\n const tag = flags.align\n ? `<${type} align=\"${flags.align}\">`\n : `<${type}>`;\n return tag + content + `</${type}>\\n`;\n }\n /**\n * span level renderer\n */\n strong(text) {\n return `<strong>${text}</strong>`;\n }\n em(text) {\n return `<em>${text}</em>`;\n }\n codespan(text) {\n return `<code>${text}</code>`;\n }\n br() {\n return '<br>';\n }\n del(text) {\n return `<del>${text}</del>`;\n }\n link(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = '<a href=\"' + href + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += '>' + text + '</a>';\n return out;\n }\n image(href, title, text) {\n const cleanHref = cleanUrl(href);\n if (cleanHref === null) {\n return text;\n }\n href = cleanHref;\n let out = `<img src=\"${href}\" alt=\"${text}\"`;\n if (title) {\n out += ` title=\"${title}\"`;\n }\n out += '>';\n return out;\n }\n text(text) {\n return text;\n }\n }\n\n /**\n * TextRenderer\n * returns only the textual part of the token\n */\n class _TextRenderer {\n // no need for block level renderers\n strong(text) {\n return text;\n }\n em(text) {\n return text;\n }\n codespan(text) {\n return text;\n }\n del(text) {\n return text;\n }\n html(text) {\n return text;\n }\n text(text) {\n return text;\n }\n link(href, title, text) {\n return '' + text;\n }\n image(href, title, text) {\n return '' + text;\n }\n br() {\n return '';\n }\n }\n\n /**\n * Parsing & Compiling\n */\n class _Parser {\n options;\n renderer;\n textRenderer;\n constructor(options) {\n this.options = options || exports.defaults;\n this.options.renderer = this.options.renderer || new _Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.textRenderer = new _TextRenderer();\n }\n /**\n * Static Parse Method\n */\n static parse(tokens, options) {\n const parser = new _Parser(options);\n return parser.parse(tokens);\n }\n /**\n * Static Parse Inline Method\n */\n static parseInline(tokens, options) {\n const parser = new _Parser(options);\n return parser.parseInline(tokens);\n }\n /**\n * Parse Loop\n */\n parse(tokens, top = true) {\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const genericToken = token;\n const ret = this.options.extensions.renderers[genericToken.type].call({ parser: this }, genericToken);\n if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(genericToken.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'space': {\n continue;\n }\n case 'hr': {\n out += this.renderer.hr();\n continue;\n }\n case 'heading': {\n const headingToken = token;\n out += this.renderer.heading(this.parseInline(headingToken.tokens), headingToken.depth, unescape(this.parseInline(headingToken.tokens, this.textRenderer)));\n continue;\n }\n case 'code': {\n const codeToken = token;\n out += this.renderer.code(codeToken.text, codeToken.lang, !!codeToken.escaped);\n continue;\n }\n case 'table': {\n const tableToken = token;\n let header = '';\n // header\n let cell = '';\n for (let j = 0; j < tableToken.header.length; j++) {\n cell += this.renderer.tablecell(this.parseInline(tableToken.header[j].tokens), { header: true, align: tableToken.align[j] });\n }\n header += this.renderer.tablerow(cell);\n let body = '';\n for (let j = 0; j < tableToken.rows.length; j++) {\n const row = tableToken.rows[j];\n cell = '';\n for (let k = 0; k < row.length; k++) {\n cell += this.renderer.tablecell(this.parseInline(row[k].tokens), { header: false, align: tableToken.align[k] });\n }\n body += this.renderer.tablerow(cell);\n }\n out += this.renderer.table(header, body);\n continue;\n }\n case 'blockquote': {\n const blockquoteToken = token;\n const body = this.parse(blockquoteToken.tokens);\n out += this.renderer.blockquote(body);\n continue;\n }\n case 'list': {\n const listToken = token;\n const ordered = listToken.ordered;\n const start = listToken.start;\n const loose = listToken.loose;\n let body = '';\n for (let j = 0; j < listToken.items.length; j++) {\n const item = listToken.items[j];\n const checked = item.checked;\n const task = item.task;\n let itemBody = '';\n if (item.task) {\n const checkbox = this.renderer.checkbox(!!checked);\n if (loose) {\n if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {\n item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;\n if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {\n item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;\n }\n }\n else {\n item.tokens.unshift({\n type: 'text',\n text: checkbox + ' '\n });\n }\n }\n else {\n itemBody += checkbox + ' ';\n }\n }\n itemBody += this.parse(item.tokens, loose);\n body += this.renderer.listitem(itemBody, task, !!checked);\n }\n out += this.renderer.list(body, ordered, start);\n continue;\n }\n case 'html': {\n const htmlToken = token;\n out += this.renderer.html(htmlToken.text, htmlToken.block);\n continue;\n }\n case 'paragraph': {\n const paragraphToken = token;\n out += this.renderer.paragraph(this.parseInline(paragraphToken.tokens));\n continue;\n }\n case 'text': {\n let textToken = token;\n let body = textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text;\n while (i + 1 < tokens.length && tokens[i + 1].type === 'text') {\n textToken = tokens[++i];\n body += '\\n' + (textToken.tokens ? this.parseInline(textToken.tokens) : textToken.text);\n }\n out += top ? this.renderer.paragraph(body) : body;\n continue;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n /**\n * Parse Inline Tokens\n */\n parseInline(tokens, renderer) {\n renderer = renderer || this.renderer;\n let out = '';\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i];\n // Run any renderer extensions\n if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {\n const ret = this.options.extensions.renderers[token.type].call({ parser: this }, token);\n if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {\n out += ret || '';\n continue;\n }\n }\n switch (token.type) {\n case 'escape': {\n const escapeToken = token;\n out += renderer.text(escapeToken.text);\n break;\n }\n case 'html': {\n const tagToken = token;\n out += renderer.html(tagToken.text);\n break;\n }\n case 'link': {\n const linkToken = token;\n out += renderer.link(linkToken.href, linkToken.title, this.parseInline(linkToken.tokens, renderer));\n break;\n }\n case 'image': {\n const imageToken = token;\n out += renderer.image(imageToken.href, imageToken.title, imageToken.text);\n break;\n }\n case 'strong': {\n const strongToken = token;\n out += renderer.strong(this.parseInline(strongToken.tokens, renderer));\n break;\n }\n case 'em': {\n const emToken = token;\n out += renderer.em(this.parseInline(emToken.tokens, renderer));\n break;\n }\n case 'codespan': {\n const codespanToken = token;\n out += renderer.codespan(codespanToken.text);\n break;\n }\n case 'br': {\n out += renderer.br();\n break;\n }\n case 'del': {\n const delToken = token;\n out += renderer.del(this.parseInline(delToken.tokens, renderer));\n break;\n }\n case 'text': {\n const textToken = token;\n out += renderer.text(textToken.text);\n break;\n }\n default: {\n const errMsg = 'Token with \"' + token.type + '\" type was not found.';\n if (this.options.silent) {\n console.error(errMsg);\n return '';\n }\n else {\n throw new Error(errMsg);\n }\n }\n }\n }\n return out;\n }\n }\n\n class _Hooks {\n options;\n constructor(options) {\n this.options = options || exports.defaults;\n }\n static passThroughHooks = new Set([\n 'preprocess',\n 'postprocess',\n 'processAllTokens'\n ]);\n /**\n * Process markdown before marked\n */\n preprocess(markdown) {\n return markdown;\n }\n /**\n * Process HTML after marked is finished\n */\n postprocess(html) {\n return html;\n }\n /**\n * Process all tokens before walk tokens\n */\n processAllTokens(tokens) {\n return tokens;\n }\n }\n\n class Marked {\n defaults = _getDefaults();\n options = this.setOptions;\n parse = this.#parseMarkdown(_Lexer.lex, _Parser.parse);\n parseInline = this.#parseMarkdown(_Lexer.lexInline, _Parser.parseInline);\n Parser = _Parser;\n Renderer = _Renderer;\n TextRenderer = _TextRenderer;\n Lexer = _Lexer;\n Tokenizer = _Tokenizer;\n Hooks = _Hooks;\n constructor(...args) {\n this.use(...args);\n }\n /**\n * Run callback for every token\n */\n walkTokens(tokens, callback) {\n let values = [];\n for (const token of tokens) {\n values = values.concat(callback.call(this, token));\n switch (token.type) {\n case 'table': {\n const tableToken = token;\n for (const cell of tableToken.header) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n for (const row of tableToken.rows) {\n for (const cell of row) {\n values = values.concat(this.walkTokens(cell.tokens, callback));\n }\n }\n break;\n }\n case 'list': {\n const listToken = token;\n values = values.concat(this.walkTokens(listToken.items, callback));\n break;\n }\n default: {\n const genericToken = token;\n if (this.defaults.extensions?.childTokens?.[genericToken.type]) {\n this.defaults.extensions.childTokens[genericToken.type].forEach((childTokens) => {\n const tokens = genericToken[childTokens].flat(Infinity);\n values = values.concat(this.walkTokens(tokens, callback));\n });\n }\n else if (genericToken.tokens) {\n values = values.concat(this.walkTokens(genericToken.tokens, callback));\n }\n }\n }\n }\n return values;\n }\n use(...args) {\n const extensions = this.defaults.extensions || { renderers: {}, childTokens: {} };\n args.forEach((pack) => {\n // copy options to new object\n const opts = { ...pack };\n // set async to true if it was set to true before\n opts.async = this.defaults.async || opts.async || false;\n // ==-- Parse \"addon\" extensions --== //\n if (pack.extensions) {\n pack.extensions.forEach((ext) => {\n if (!ext.name) {\n throw new Error('extension name required');\n }\n if ('renderer' in ext) { // Renderer extensions\n const prevRenderer = extensions.renderers[ext.name];\n if (prevRenderer) {\n // Replace extension with func to run new extension but fall back if false\n extensions.renderers[ext.name] = function (...args) {\n let ret = ext.renderer.apply(this, args);\n if (ret === false) {\n ret = prevRenderer.apply(this, args);\n }\n return ret;\n };\n }\n else {\n extensions.renderers[ext.name] = ext.renderer;\n }\n }\n if ('tokenizer' in ext) { // Tokenizer Extensions\n if (!ext.level || (ext.level !== 'block' && ext.level !== 'inline')) {\n throw new Error(\"extension level must be 'block' or 'inline'\");\n }\n const extLevel = extensions[ext.level];\n if (extLevel) {\n extLevel.unshift(ext.tokenizer);\n }\n else {\n extensions[ext.level] = [ext.tokenizer];\n }\n if (ext.start) { // Function to check for start of token\n if (ext.level === 'block') {\n if (extensions.startBlock) {\n extensions.startBlock.push(ext.start);\n }\n else {\n extensions.startBlock = [ext.start];\n }\n }\n else if (ext.level === 'inline') {\n if (extensions.startInline) {\n extensions.startInline.push(ext.start);\n }\n else {\n extensions.startInline = [ext.start];\n }\n }\n }\n }\n if ('childTokens' in ext && ext.childTokens) { // Child tokens to be visited by walkTokens\n extensions.childTokens[ext.name] = ext.childTokens;\n }\n });\n opts.extensions = extensions;\n }\n // ==-- Parse \"overwrite\" extensions --== //\n if (pack.renderer) {\n const renderer = this.defaults.renderer || new _Renderer(this.defaults);\n for (const prop in pack.renderer) {\n if (!(prop in renderer)) {\n throw new Error(`renderer '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const rendererProp = prop;\n const rendererFunc = pack.renderer[rendererProp];\n const prevRenderer = renderer[rendererProp];\n // Replace renderer with func to run extension, but fall back if false\n renderer[rendererProp] = (...args) => {\n let ret = rendererFunc.apply(renderer, args);\n if (ret === false) {\n ret = prevRenderer.apply(renderer, args);\n }\n return ret || '';\n };\n }\n opts.renderer = renderer;\n }\n if (pack.tokenizer) {\n const tokenizer = this.defaults.tokenizer || new _Tokenizer(this.defaults);\n for (const prop in pack.tokenizer) {\n if (!(prop in tokenizer)) {\n throw new Error(`tokenizer '${prop}' does not exist`);\n }\n if (['options', 'rules', 'lexer'].includes(prop)) {\n // ignore options, rules, and lexer properties\n continue;\n }\n const tokenizerProp = prop;\n const tokenizerFunc = pack.tokenizer[tokenizerProp];\n const prevTokenizer = tokenizer[tokenizerProp];\n // Replace tokenizer with func to run extension, but fall back if false\n // @ts-expect-error cannot type tokenizer function dynamically\n tokenizer[tokenizerProp] = (...args) => {\n let ret = tokenizerFunc.apply(tokenizer, args);\n if (ret === false) {\n ret = prevTokenizer.apply(tokenizer, args);\n }\n return ret;\n };\n }\n opts.tokenizer = tokenizer;\n }\n // ==-- Parse Hooks extensions --== //\n if (pack.hooks) {\n const hooks = this.defaults.hooks || new _Hooks();\n for (const prop in pack.hooks) {\n if (!(prop in hooks)) {\n throw new Error(`hook '${prop}' does not exist`);\n }\n if (prop === 'options') {\n // ignore options property\n continue;\n }\n const hooksProp = prop;\n const hooksFunc = pack.hooks[hooksProp];\n const prevHook = hooks[hooksProp];\n if (_Hooks.passThroughHooks.has(prop)) {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (arg) => {\n if (this.defaults.async) {\n return Promise.resolve(hooksFunc.call(hooks, arg)).then(ret => {\n return prevHook.call(hooks, ret);\n });\n }\n const ret = hooksFunc.call(hooks, arg);\n return prevHook.call(hooks, ret);\n };\n }\n else {\n // @ts-expect-error cannot type hook function dynamically\n hooks[hooksProp] = (...args) => {\n let ret = hooksFunc.apply(hooks, args);\n if (ret === false) {\n ret = prevHook.apply(hooks, args);\n }\n return ret;\n };\n }\n }\n opts.hooks = hooks;\n }\n // ==-- Parse WalkTokens extensions --== //\n if (pack.walkTokens) {\n const walkTokens = this.defaults.walkTokens;\n const packWalktokens = pack.walkTokens;\n opts.walkTokens = function (token) {\n let values = [];\n values.push(packWalktokens.call(this, token));\n if (walkTokens) {\n values = values.concat(walkTokens.call(this, token));\n }\n return values;\n };\n }\n this.defaults = { ...this.defaults, ...opts };\n });\n return this;\n }\n setOptions(opt) {\n this.defaults = { ...this.defaults, ...opt };\n return this;\n }\n lexer(src, options) {\n return _Lexer.lex(src, options ?? this.defaults);\n }\n parser(tokens, options) {\n return _Parser.parse(tokens, options ?? this.defaults);\n }\n #parseMarkdown(lexer, parser) {\n return (src, options) => {\n const origOpt = { ...options };\n const opt = { ...this.defaults, ...origOpt };\n // Show warning if an extension set async to true but the parse was called with async: false\n if (this.defaults.async === true && origOpt.async === false) {\n if (!opt.silent) {\n console.warn('marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored.');\n }\n opt.async = true;\n }\n const throwError = this.#onError(!!opt.silent, !!opt.async);\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n return throwError(new Error('marked(): input parameter is undefined or null'));\n }\n if (typeof src !== 'string') {\n return throwError(new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected'));\n }\n if (opt.hooks) {\n opt.hooks.options = opt;\n }\n if (opt.async) {\n return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src)\n .then(src => lexer(src, opt))\n .then(tokens => opt.hooks ? opt.hooks.processAllTokens(tokens) : tokens)\n .then(tokens => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens)\n .then(tokens => parser(tokens, opt))\n .then(html => opt.hooks ? opt.hooks.postprocess(html) : html)\n .catch(throwError);\n }\n try {\n if (opt.hooks) {\n src = opt.hooks.preprocess(src);\n }\n let tokens = lexer(src, opt);\n if (opt.hooks) {\n tokens = opt.hooks.processAllTokens(tokens);\n }\n if (opt.walkTokens) {\n this.walkTokens(tokens, opt.walkTokens);\n }\n let html = parser(tokens, opt);\n if (opt.hooks) {\n html = opt.hooks.postprocess(html);\n }\n return html;\n }\n catch (e) {\n return throwError(e);\n }\n };\n }\n #onError(silent, async) {\n return (e) => {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if (silent) {\n const msg = '<p>An error occurred:</p><pre>'\n + escape$1(e.message + '', true)\n + '</pre>';\n if (async) {\n return Promise.resolve(msg);\n }\n return msg;\n }\n if (async) {\n return Promise.reject(e);\n }\n throw e;\n };\n }\n }\n\n const markedInstance = new Marked();\n function marked(src, opt) {\n return markedInstance.parse(src, opt);\n }\n /**\n * Sets the default options.\n *\n * @param options Hash of options\n */\n marked.options =\n marked.setOptions = function (options) {\n markedInstance.setOptions(options);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n /**\n * Gets the original marked default options.\n */\n marked.getDefaults = _getDefaults;\n marked.defaults = exports.defaults;\n /**\n * Use Extension\n */\n marked.use = function (...args) {\n markedInstance.use(...args);\n marked.defaults = markedInstance.defaults;\n changeDefaults(marked.defaults);\n return marked;\n };\n /**\n * Run callback for every token\n */\n marked.walkTokens = function (tokens, callback) {\n return markedInstance.walkTokens(tokens, callback);\n };\n /**\n * Compiles markdown to HTML without enclosing `p` tag.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options\n * @return String of compiled HTML\n */\n marked.parseInline = markedInstance.parseInline;\n /**\n * Expose\n */\n marked.Parser = _Parser;\n marked.parser = _Parser.parse;\n marked.Renderer = _Renderer;\n marked.TextRenderer = _TextRenderer;\n marked.Lexer = _Lexer;\n marked.lexer = _Lexer.lex;\n marked.Tokenizer = _Tokenizer;\n marked.Hooks = _Hooks;\n marked.parse = marked;\n const options = marked.options;\n const setOptions = marked.setOptions;\n const use = marked.use;\n const walkTokens = marked.walkTokens;\n const parseInline = marked.parseInline;\n const parse = marked;\n const parser = _Parser.parse;\n const lexer = _Lexer.lex;\n\n exports.Hooks = _Hooks;\n exports.Lexer = _Lexer;\n exports.Marked = Marked;\n exports.Parser = _Parser;\n exports.Renderer = _Renderer;\n exports.TextRenderer = _TextRenderer;\n exports.Tokenizer = _Tokenizer;\n exports.getDefaults = _getDefaults;\n exports.lexer = lexer;\n exports.marked = marked;\n exports.options = options;\n exports.parse = parse;\n exports.parseInline = parseInline;\n exports.parser = parser;\n exports.setOptions = setOptions;\n exports.use = use;\n exports.walkTokens = walkTokens;\n\n}));\n//# sourceMappingURL=marked.umd.js.map\n","import {marked} from 'marked';\n\nconst toInlinePlainText = (textWithHtml: string): string => {\n const withoutHtmlTags = textWithHtml.replace(/<[^>]*>/g, ' ');\n const withCollapsedWhitespaces = withoutHtmlTags.replace(/\\s{2,}/g, ' ');\n\n return withCollapsedWhitespaces.trim();\n};\n\nconst unclosedElement = /(\\*{1,3}|`)($|\\w[\\w\\s]*$)/;\n\nconst completeUnclosedElement = (text: string) => {\n const match = unclosedElement.exec(text);\n if (match) {\n const symbol = match[1];\n\n const replacements: Record<string, string> = {\n '***':\n '<strong part=\"answer-strong\"><em part=\"answer-emphasis\">$2</em></strong>',\n '**': '<strong part=\"answer-strong\">$2</strong>',\n '*': '<em part=\"answer-emphasis\">$2</em>',\n '`': '<code part=\"answer-inline-code\">$2</code>',\n };\n\n return text.replace(unclosedElement, replacements[symbol]);\n }\n\n return text;\n};\n\nconst escapeHtml = (text: string) => {\n return text\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n .replace(/\"/g, '&quot;')\n .replace(/'/g, '&#39;');\n};\n\nconst customRenderer = {\n blockquote(quote: string) {\n return `<blockquote part=\"answer-quote-block\">${quote}</blockquote>`;\n },\n\n code(code: string) {\n return `<pre part=\"answer-code-block\"><code>${escapeHtml(code)}</code></pre>`;\n },\n\n codespan(text: string) {\n return `<code part=\"answer-inline-code\">${text}</code>`;\n },\n\n em(text: string) {\n return `<em part=\"answer-emphasis\">${text}</em>`;\n },\n\n heading(text: string, level: number) {\n const plainText = toInlinePlainText(text);\n\n return `<div part=\"answer-heading-${level}\" aria-label=\"${plainText}\">${text}</div>`;\n },\n\n html(text: string) {\n return escapeHtml(text);\n },\n\n list(body: string, ordered: boolean, start: number | '') {\n const type = ordered ? 'ol' : 'ul';\n const part = ordered ? 'answer-ordered-list' : 'answer-unordered-list';\n\n const tag =\n ordered && start !== 1\n ? `<${type} part=\"${part}\" start=\"${start}\">`\n : `<${type} part=\"${part}\">`;\n\n return `${tag}${body}</${type}>`;\n },\n\n /**\n * Custom Marked renderer to remove wrapping `<p>` element around list item content.\n * @param text The element text content.\n * @returns The list item element to render.\n */\n listitem(text: string) {\n const unwrappedText = text\n .replace(/^<p[^>]*>/, '')\n .replace(/<\\/p>\\n?$/, '');\n const withClosedElement = completeUnclosedElement(unwrappedText);\n return `<li part=\"answer-list-item\">${withClosedElement}</li>`;\n },\n\n paragraph(text: string) {\n return `<p part=\"answer-paragraph\">${text}</p>`;\n },\n\n strong(text: string) {\n return `<strong part=\"answer-strong\">${text}</strong>`;\n },\n\n /**\n * Custom Marked renderer to wrap `<table>` element in a scrolling container.\n * @param header The table header content.\n * @param body The table body content.\n * @returns The element to render.\n */\n table(header: string, body: string) {\n return `<div part=\"answer-table-container\" class=\"scrollable-table\"><table part=\"answer-table\"><thead>${header}</thead><tbody>${body}</tbody></table></div>`;\n },\n\n tablecell(\n content: string,\n flags: {header: boolean; align: 'center' | 'left' | 'right' | null}\n ) {\n const type = flags.header ? 'th' : 'td';\n const part = flags.header ? 'answer-table-header' : 'answer-table-content';\n const tag = flags.align\n ? `<${type} part=\"${part}\" align=\"${flags.align}\">`\n : `<${type} part=\"${part}\">`;\n\n return `${tag}${content}</${type}>`;\n },\n\n /**\n * Custom Marked renderer to complete unclosed inline elements such as bold, italic, and code.\n * @param text The text content.\n * @returns The corrected text content.\n */\n text(text: string) {\n return completeUnclosedElement(text);\n },\n};\n\nexport const transformMarkdownToHtml = (text: string): string => {\n return marked.use({renderer: customRenderer}).parse(text) as string;\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport DOMPurify from 'dompurify';\nimport {transformMarkdownToHtml} from './markdown-utils';\n\ninterface GeneratedMarkdownContentProps {\n answer?: string;\n isStreaming: boolean;\n}\n\nexport const GeneratedMarkdownContent: FunctionalComponent<\n GeneratedMarkdownContentProps\n> = (props) => {\n const answerAsHtml = DOMPurify.sanitize(\n transformMarkdownToHtml(props.answer ?? ''),\n {ADD_ATTR: ['part']}\n );\n\n return (\n <div\n part=\"generated-text\"\n class={`text-on-background mb-0 ${props.isStreaming ? 'cursor' : ''}`}\n innerHTML={answerAsHtml}\n />\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface GeneratedTextContentProps {\n answer?: string;\n isStreaming: boolean;\n}\n\nexport const GeneratedTextContent: FunctionalComponent<\n GeneratedTextContentProps\n> = (props) => {\n return (\n <p\n part=\"generated-text\"\n class={`text-on-background mb-0 whitespace-pre-wrap ${\n props.isStreaming ? 'cursor' : ''\n }`}\n >\n {props.answer}\n </p>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {GeneratedMarkdownContent} from './generated-content/generated-markdown-content';\nimport {GeneratedTextContent} from './generated-content/generated-text-content';\n\ninterface GeneratedContentContainerProps {\n answer?: string;\n answerContentFormat?: string;\n isStreaming: boolean;\n}\n\nexport const GeneratedContentContainer: FunctionalComponent<\n GeneratedContentContainerProps\n> = (props, children) => {\n return (\n <div part=\"generated-container\" class=\"mt-6\">\n {props.answerContentFormat === 'text/markdown' ? (\n <GeneratedMarkdownContent\n answer={props.answer}\n isStreaming={props.isStreaming}\n />\n ) : (\n <GeneratedTextContent\n answer={props.answer}\n isStreaming={props.isStreaming}\n />\n )}\n <div class=\"footer mt-6\">{children}</div>\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {Button} from '../stencil-button';\n\ninterface RetryPromptProps {\n message: string;\n buttonLabel: string;\n onClick: () => void;\n}\n\nexport const RetryPrompt: FunctionalComponent<RetryPromptProps> = (props) => (\n <div part=\"retry-container\" class=\"mt-4\">\n <div class=\"text-neutral-dark mx-auto text-center\">{props.message}</div>\n <Button\n class=\"mx-auto mt-4 block px-4 py-2\"\n style=\"outline-primary\"\n onClick={props.onClick}\n >\n {props.buttonLabel}\n </Button>\n </div>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport ArrowBottomIcon from '../../../images/arrow-bottom-rounded.svg';\nimport ArrowTopIcon from '../../../images/arrow-top-rounded.svg';\nimport {Button} from '../stencil-button';\n\ninterface ShowButtonProps {\n i18n: i18n;\n isCollapsed: boolean;\n onClick: () => void;\n}\n\nexport const ShowButton: FunctionalComponent<ShowButtonProps> = (props) => (\n <Button\n style=\"text-primary\"\n part=\"answer-show-button\"\n class=\"hidden items-center hover:bg-transparent\"\n onClick={() => props.onClick()}\n >\n <div class=\"text-base font-light\">\n {props.isCollapsed\n ? props.i18n.t('show-more')\n : props.i18n.t('show-less')}\n </div>\n <atomic-icon\n part=\"answer-show-icon\"\n class=\"ml-2 w-3.5\"\n icon={props.isCollapsed ? ArrowBottomIcon : ArrowTopIcon}\n ></atomic-icon>\n </Button>\n);\n","import {FunctionalComponent, h} from '@stencil/core';\n\ninterface SourceCitationsProps {\n label: string;\n isVisible: boolean;\n}\n\nexport const SourceCitations: FunctionalComponent<SourceCitationsProps> = (\n props,\n children\n) =>\n props.isVisible ? (\n <div class=\"source-citations\">\n <p part=\"citations-label\" class=\"text-neutral-dark mb-2 shrink-0\">\n {props.label}\n </p>\n <ol class=\"citations-container flex list-none flex-wrap items-center gap-2\">\n {children}\n </ol>\n </div>\n ) : null;\n","import {\n GeneratedAnswer,\n GeneratedAnswerCitation,\n GeneratedAnswerState,\n InteractiveCitation,\n InteractiveCitationProps,\n SearchStatusState,\n} from '@coveo/headless';\nimport {h} from '@stencil/core';\nimport {\n GeneratedAnswerData,\n SafeStorage,\n StorageItems,\n} from '../../../utils/local-storage-utils';\nimport {getNamedSlotFromHost} from '../../../utils/slot-utils';\nimport {AnyBindings} from '../interface/bindings';\nimport {Heading} from '../stencil-heading';\nimport {Switch} from '../switch';\nimport {CopyButton} from './copy-button';\nimport {FeedbackButton} from './feedback-button';\nimport {GeneratedContentContainer} from './generated-content-container';\nimport {RetryPrompt} from './retry-prompt';\nimport {ShowButton} from './show-button';\nimport {SourceCitations} from './source-citations';\n\ninterface GeneratedAnswerCommonOptions {\n host: HTMLElement;\n withToggle?: boolean;\n collapsible?: boolean;\n disableCitationAnchoring?: boolean;\n getGeneratedAnswer: () => GeneratedAnswer | undefined;\n getGeneratedAnswerState: () => GeneratedAnswerState | undefined;\n getSearchStatusState: () => SearchStatusState | undefined;\n getBindings: () => AnyBindings;\n getCopied: () => boolean;\n setCopied: (isCopied: boolean) => void;\n getCopyError: () => boolean;\n setCopyError: (copyError: boolean) => void;\n setAriaMessage: (message: string) => void;\n buildInteractiveCitation: (\n props: InteractiveCitationProps\n ) => InteractiveCitation;\n}\n\nexport class GeneratedAnswerCommon {\n private storage: SafeStorage = new SafeStorage();\n private _data: GeneratedAnswerData;\n private modalRef?: HTMLAtomicGeneratedAnswerFeedbackModalElement;\n\n constructor(private props: GeneratedAnswerCommonOptions) {\n this._data = this.readStoredData();\n }\n\n public insertFeedbackModal() {\n this.modalRef = document.createElement(\n 'atomic-generated-answer-feedback-modal'\n );\n this.modalRef.generatedAnswer = this.props.getGeneratedAnswer()!;\n this.props.host.insertAdjacentElement('beforebegin', this.modalRef);\n }\n\n public readStoredData(): GeneratedAnswerData {\n const {withToggle} = this.props;\n const storedData = this.storage.getParsedJSON<GeneratedAnswerData>(\n StorageItems.GENERATED_ANSWER_DATA,\n {isVisible: true}\n );\n\n // This check ensures that the answer is visible when the toggle is hidden and visible is set to false in the local storage.\n return {isVisible: (withToggle && storedData.isVisible) || !withToggle};\n }\n\n public writeStoredData(data: GeneratedAnswerData) {\n this.storage.setJSON(StorageItems.GENERATED_ANSWER_DATA, data);\n }\n\n get data() {\n return this._data;\n }\n\n set data(newData: GeneratedAnswerData) {\n this._data = newData;\n }\n\n public getGeneratedAnswerStatus() {\n const isHidden = !this.props.getGeneratedAnswerState()?.isVisible;\n const isGenerating = !!this.props.getGeneratedAnswerState()?.isStreaming;\n const hasAnswer = !!this.props.getGeneratedAnswerState()?.answer;\n const hasError = !!this.props.getGeneratedAnswerState()?.error;\n\n if (isHidden) {\n return this.props.getBindings().i18n.t('generated-answer-hidden');\n }\n\n if (isGenerating) {\n return this.props.getBindings().i18n.t('generating-answer');\n }\n\n if (hasError) {\n return this.props.getBindings().i18n.t('answer-could-not-be-generated');\n }\n\n if (hasAnswer) {\n return this.props.getBindings().i18n.t('answer-generated', {\n answer: this.props.getGeneratedAnswerState()?.answer,\n });\n }\n\n return '';\n }\n\n private get hasRetryableError() {\n return (\n !this.props.getSearchStatusState()?.hasError &&\n this.props.getGeneratedAnswerState()?.error?.isRetryable\n );\n }\n\n private get hasNoAnswerGenerated() {\n const {answer, citations} = this.props.getGeneratedAnswerState() ?? {};\n return (\n answer === undefined && !citations?.length && !this.hasRetryableError\n );\n }\n\n private get isAnswerVisible() {\n return this.props.getGeneratedAnswerState()?.isVisible;\n }\n\n private get toggleTooltip() {\n const key = this.isAnswerVisible\n ? 'generated-answer-toggle-on'\n : 'generated-answer-toggle-off';\n return this.props.getBindings().i18n.t(key);\n }\n\n private get hasClipboard() {\n return !!navigator?.clipboard?.writeText;\n }\n\n private get copyToClipboardTooltip() {\n if (this.props.getCopyError()) {\n return this.props.getBindings().i18n.t('failed-to-copy-generated-answer');\n }\n\n return !this.props.getCopied()\n ? this.props.getBindings().i18n.t('copy-generated-answer')\n : this.props.getBindings().i18n.t('generated-answer-copied');\n }\n\n private get hasCustomNoAnswerMessage() {\n const slot = getNamedSlotFromHost(this.props.host, 'no-answer-message');\n return !!slot;\n }\n\n private async copyToClipboard(answer: string) {\n try {\n await navigator.clipboard.writeText(answer);\n this.props.setCopied(true);\n this.props.getGeneratedAnswer()?.logCopyToClipboard();\n } catch (error) {\n this.props.setCopyError(true);\n this.props\n .getBindings()\n .engine.logger.error(`Failed to copy to clipboard: ${error}`);\n }\n\n setTimeout(() => {\n this.props.setCopied(false);\n this.props.setCopyError(false);\n }, 2000);\n }\n\n private clickOnShowButton() {\n if (this.props.getGeneratedAnswerState()?.expanded) {\n this.props.getGeneratedAnswer()?.collapse();\n } else {\n this.props.getGeneratedAnswer()?.expand();\n }\n }\n\n private getCitation(citation: GeneratedAnswerCitation) {\n const {title} = citation;\n const {i18n} = this.props.getBindings();\n\n return title.trim() !== ''\n ? citation\n : {...citation, title: i18n.t('no-title')};\n }\n\n private renderCitations() {\n const {\n getGeneratedAnswerState,\n buildInteractiveCitation,\n getGeneratedAnswer,\n disableCitationAnchoring,\n } = this.props;\n const {citations} = getGeneratedAnswerState() ?? {};\n const {logCitationHover} = getGeneratedAnswer() ?? {};\n\n return citations?.map(\n (citation: GeneratedAnswerCitation, index: number) => {\n const interactiveCitation = buildInteractiveCitation({\n options: {\n citation,\n },\n });\n return (\n <li key={citation.id} class=\"max-w-full\">\n <atomic-citation\n citation={this.getCitation(citation)}\n index={index}\n sendHoverEndEvent={(citationHoverTimeMs: number) => {\n logCitationHover?.(citation.id, citationHoverTimeMs);\n }}\n interactiveCitation={interactiveCitation}\n disableCitationAnchoring={disableCitationAnchoring}\n exportparts=\"citation,citation-popover\"\n />\n </li>\n );\n }\n );\n }\n\n private renderFeedbackAndCopyButtons() {\n const {getGeneratedAnswerState, getBindings, getCopied, getCopyError} =\n this.props;\n const {i18n} = getBindings();\n const {liked, disliked, answer, isStreaming} =\n getGeneratedAnswerState() ?? {};\n\n const containerClasses = [\n 'feedback-buttons',\n 'flex',\n 'h-9',\n 'absolute',\n 'top-6',\n 'shrink-0',\n 'gap-2',\n this.props.withToggle ? 'right-20' : 'right-6',\n ].join(' ');\n\n if (isStreaming) {\n return null;\n }\n\n return (\n <div class={containerClasses}>\n <FeedbackButton\n title={i18n.t('this-answer-was-helpful')}\n variant=\"like\"\n active={!!liked}\n onClick={() => this.clickLike()}\n />\n <FeedbackButton\n title={i18n.t('this-answer-was-not-helpful')}\n variant=\"dislike\"\n active={!!disliked}\n onClick={() => this.clickDislike()}\n />\n {this.hasClipboard ? (\n <CopyButton\n title={this.copyToClipboardTooltip}\n isCopied={getCopied()}\n error={getCopyError()}\n onClick={async () => {\n if (answer) {\n await this.copyToClipboard(answer);\n }\n }}\n />\n ) : null}\n </div>\n );\n }\n\n private setIsAnswerHelpful(isAnswerHelpful: boolean) {\n if (this.modalRef) {\n this.modalRef.helpful = isAnswerHelpful;\n }\n }\n\n private openFeedbackModal() {\n if (\n this.modalRef &&\n !this.props.getGeneratedAnswerState()?.feedbackSubmitted\n ) {\n this.modalRef.isOpen = true;\n }\n }\n\n private clickDislike() {\n this.setIsAnswerHelpful(false);\n this.props.getGeneratedAnswer()?.dislike();\n this.openFeedbackModal();\n }\n\n private clickLike() {\n this.setIsAnswerHelpful(true);\n this.props.getGeneratedAnswer()?.like();\n this.openFeedbackModal();\n }\n\n private renderDisclaimer() {\n const {getGeneratedAnswerState, getBindings} = this.props;\n const {i18n} = getBindings();\n const {isStreaming} = getGeneratedAnswerState() ?? {};\n\n if (isStreaming) {\n return null;\n }\n return (\n <div class=\"text-neutral-dark text-xs/[1rem]\">\n <slot name=\"disclaimer\" slot=\"disclaimer\">\n {i18n.t('generated-answer-disclaimer')}\n </slot>\n </div>\n );\n }\n\n private renderShowButton() {\n const {getGeneratedAnswerState, getBindings, collapsible} = this.props;\n const {i18n} = getBindings();\n const {expanded, isStreaming} = getGeneratedAnswerState() ?? {};\n const canRender = collapsible && !isStreaming;\n\n if (!canRender) {\n return null;\n }\n return (\n <ShowButton\n i18n={i18n}\n onClick={() => this.clickOnShowButton()}\n isCollapsed={!expanded}\n ></ShowButton>\n );\n }\n\n private renderGeneratingAnswerLabel() {\n const {getGeneratedAnswerState, getBindings, collapsible} = this.props;\n const {i18n} = getBindings();\n const {isStreaming} = getGeneratedAnswerState() ?? {};\n\n const canRender = collapsible && isStreaming;\n\n if (!canRender) {\n return null;\n }\n return (\n <div\n part=\"is-generating\"\n class=\"text-primary hidden text-base font-light\"\n >\n {i18n.t('generating-answer')}...\n </div>\n );\n }\n\n private renderContent() {\n const {getGeneratedAnswerState, getBindings, getGeneratedAnswer} =\n this.props;\n const {i18n} = getBindings();\n const {isStreaming, answer, citations, answerContentFormat} =\n getGeneratedAnswerState() ?? {};\n\n return (\n <div part=\"generated-content\">\n <div class=\"flex items-center\">\n <Heading\n level={0}\n part=\"header-label\"\n class=\"text-primary bg-primary-background inline-block rounded-md px-2.5 py-2 font-medium\"\n >\n {i18n.t('generated-answer-title')}\n </Heading>\n <div class=\"ml-auto flex h-9 items-center\">\n <Switch\n part=\"toggle\"\n checked={this.isAnswerVisible}\n onToggle={(checked) => {\n checked\n ? getGeneratedAnswer()?.show()\n : getGeneratedAnswer()?.hide();\n }}\n ariaLabel={i18n.t('generated-answer-title')}\n title={this.toggleTooltip}\n withToggle={this.props.withToggle}\n ></Switch>\n </div>\n </div>\n {this.hasRetryableError && this.isAnswerVisible ? (\n <RetryPrompt\n onClick={() => getGeneratedAnswer()?.retry()}\n buttonLabel={i18n.t('retry')}\n message={i18n.t('retry-stream-message')}\n />\n ) : null}\n\n {!this.hasRetryableError && this.isAnswerVisible ? (\n <GeneratedContentContainer\n answer={answer}\n answerContentFormat={answerContentFormat}\n isStreaming={!!isStreaming}\n >\n {this.renderFeedbackAndCopyButtons()}\n <SourceCitations\n label={i18n.t('citations')}\n isVisible={!!citations?.length}\n >\n {this.renderCitations()}\n </SourceCitations>\n </GeneratedContentContainer>\n ) : null}\n\n {!this.hasRetryableError && this.isAnswerVisible && (\n <div part=\"generated-answer-footer\" class=\"mt-6 flex justify-end\">\n {this.renderGeneratingAnswerLabel()}\n {this.renderShowButton()}\n {this.renderDisclaimer()}\n </div>\n )}\n </div>\n );\n }\n\n private renderCustomNoAnswerMessage() {\n const {getBindings} = this.props;\n const {i18n} = getBindings();\n\n return (\n <div part=\"generated-content\">\n <div class=\"flex items-center\">\n <Heading\n level={0}\n part=\"header-label\"\n class=\"text-primary bg-primary-background inline-block rounded-md px-2.5 py-2 font-medium\"\n >\n {i18n.t('generated-answer-title')}\n </Heading>\n </div>\n <div part=\"generated-container\" class=\"mt-6 break-words\">\n <slot name=\"no-answer-message\"></slot>\n </div>\n </div>\n );\n }\n\n public render() {\n const {getGeneratedAnswerState} = this.props;\n const {cannotAnswer} = getGeneratedAnswerState() ?? {};\n const contentClasses =\n 'mx-auto mt-0 mb-4 border border-neutral shadow-lg p-6 bg-background rounded-lg p-6 text-on-background';\n\n if (this.hasNoAnswerGenerated) {\n return cannotAnswer && this.hasCustomNoAnswerMessage ? (\n <div>\n <aside class={contentClasses} part=\"container\">\n <article>{this.renderCustomNoAnswerMessage()}</article>\n </aside>\n </div>\n ) : null;\n }\n\n return (\n <div>\n <aside class={contentClasses} part=\"container\">\n <article>{this.renderContent()}</article>\n </aside>\n </div>\n );\n }\n}\n"],"mappings":"2UAYO,MAAMA,EAA4CC,IACvD,MAAMC,EAAa,CACjBC,QAAS,IAAMF,EAAMG,YAAYH,EAAMI,SACvC,cAAeJ,EAAMK,UACrB,eAAgBC,SAASN,EAAMI,SAC/BG,KAAMP,EAAMO,KACZC,SAAUR,EAAMQ,SAChBC,MAAOT,EAAMS,OAGf,MAAMC,EAAmB,CACvB,OACA,MACA,MACA,eACAV,EAAMI,QAAU,aAAe,cAC/BO,KAAK,KAEP,MAAMC,EAAgB,CACpB,MACA,MACA,eACA,WACAZ,EAAMI,QAAU,OAAS,IACzBO,KAAK,KAEP,MAAME,EAAgB,CACpB,eACA,sBACAb,EAAMc,WAAa,OAAS,UAC5BH,KAAK,KAEP,OACEI,EAAA,UAAQC,KAAK,YAAaf,EAAYgB,MAAOJ,GAC3CE,EAAA,OAAKE,MAAOP,GACVK,EAAA,OAAKE,MAAOL,KAEP,E,kkBCtCN,MAAMM,EAAoDlB,GAE7De,EAACI,EAAM,CACLV,MAAOT,EAAMS,MACbF,KAAK,cACLa,MAAO,mBACPH,MAAO,kBAAkBjB,EAAMqB,SAAW,SAAW,MACnDrB,EAAMsB,MAAQ,QAAU,KAE1BpB,QAASF,EAAME,SAEfa,EAAA,OAAKE,MAAM,oCACTF,EAAA,eAAaE,MAAM,MAAMM,KAAMC,M,8qCCVhC,MAAMC,EACXzB,GAGEe,EAACI,EAAM,CACLV,MAAOT,EAAMS,MACbW,MAAM,mBACNb,KAAK,kBACLU,MAAO,kCAAkCjB,EAAM0B,WAC7C1B,EAAM2B,OAAS,SAAW,KAE5BzB,QAASF,EAAME,QACf0B,YAAa,GAAG5B,EAAM2B,UAEtBZ,EAAA,eAAaE,MAAM,MAAMM,KAAMM,K,mCChBrC,SAAWC,EAAQC,GACgDA,EAAQC,EAG1E,EAJD,CAIGC,GAAI,SAAaD,GAKhB,SAASE,IACL,MAAO,CACHC,MAAO,MACPC,OAAQ,MACRC,WAAY,KACZC,IAAK,KACLC,MAAO,KACPC,SAAU,MACVC,SAAU,KACVC,OAAQ,MACRC,UAAW,KACXC,WAAY,KAExB,CACIZ,EAAQa,SAAWX,IACnB,SAASY,EAAeC,GACpBf,EAAQa,SAAWE,CAC3B,CAKI,MAAMC,EAAa,UACnB,MAAMC,EAAgB,IAAIC,OAAOF,EAAWG,OAAQ,KACpD,MAAMC,EAAqB,oDAC3B,MAAMC,EAAwB,IAAIH,OAAOE,EAAmBD,OAAQ,KACpE,MAAMG,EAAqB,CACvB,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,SACL,IAAK,SAET,MAAMC,EAAwBC,GAAOF,EAAmBE,GACxD,SAASC,EAASC,EAAMC,GACpB,GAAIA,EAAQ,CACR,GAAIX,EAAWY,KAAKF,GAAO,CACvB,OAAOA,EAAKG,QAAQZ,EAAeM,EACnD,CACA,KACa,CACD,GAAIH,EAAmBQ,KAAKF,GAAO,CAC/B,OAAOA,EAAKG,QAAQR,EAAuBE,EAC3D,CACA,CACQ,OAAOG,CACf,CACI,MAAMI,EAAe,6CACrB,SAASC,EAASL,GAEd,OAAOA,EAAKG,QAAQC,GAAc,CAACE,EAAGC,KAClCA,EAAIA,EAAEC,cACN,GAAID,IAAM,QACN,MAAO,IACX,GAAIA,EAAEE,OAAO,KAAO,IAAK,CACrB,OAAOF,EAAEE,OAAO,KAAO,IACjB7D,OAAO8D,aAAaC,SAASJ,EAAEK,UAAU,GAAI,KAC7ChE,OAAO8D,cAAcH,EAAEK,UAAU,GACvD,CACY,MAAO,EAAE,GAErB,CACI,MAAMC,EAAQ,eACd,SAASC,EAAKC,EAAOC,GACjB,IAAIvB,SAAgBsB,IAAU,SAAWA,EAAQA,EAAMtB,OACvDuB,EAAMA,GAAO,GACb,MAAMC,EAAM,CACRd,QAAS,CAACe,EAAMC,KACZ,IAAIC,SAAmBD,IAAQ,SAAWA,EAAMA,EAAI1B,OACpD2B,EAAYA,EAAUjB,QAAQU,EAAO,MACrCpB,EAASA,EAAOU,QAAQe,EAAME,GAC9B,OAAOH,CAAG,EAEdI,SAAU,IACC,IAAI7B,OAAOC,EAAQuB,IAGlC,OAAOC,CACf,CACI,SAASK,EAASC,GACd,IACIA,EAAOC,UAAUD,GAAMpB,QAAQ,OAAQ,IACnD,CACQ,MAAOsB,GACH,OAAO,IACnB,CACQ,OAAOF,CACf,CACI,MAAMG,EAAW,CAAEC,KAAM,IAAM,MAC/B,SAASC,EAAWC,EAAUC,GAG1B,MAAMC,EAAMF,EAAS1B,QAAQ,OAAO,CAAC6B,EAAOC,EAAQC,KAChD,IAAIC,EAAU,MACd,IAAIC,EAAOH,EACX,QAASG,GAAQ,GAAKF,EAAIE,KAAU,KAChCD,GAAWA,EACf,GAAIA,EAAS,CAGT,MAAO,GACvB,KACiB,CAED,MAAO,IACvB,KACYE,EAAQN,EAAIO,MAAM,OACtB,IAAIC,EAAI,EAER,IAAKF,EAAM,GAAGG,OAAQ,CAClBH,EAAMI,OAClB,CACQ,GAAIJ,EAAMK,OAAS,IAAML,EAAMA,EAAMK,OAAS,GAAGF,OAAQ,CACrDH,EAAMM,KAClB,CACQ,GAAIb,EAAO,CACP,GAAIO,EAAMK,OAASZ,EAAO,CACtBO,EAAMO,OAAOd,EAC7B,KACiB,CACD,MAAOO,EAAMK,OAASZ,EAClBO,EAAMQ,KAAK,GAC/B,CACA,CACQ,KAAON,EAAIF,EAAMK,OAAQH,IAAK,CAE1BF,EAAME,GAAKF,EAAME,GAAGC,OAAOrC,QAAQ,QAAS,IACxD,CACQ,OAAOkC,CACf,CASI,SAASS,EAAMZ,EAAKa,EAAGC,GACnB,MAAMC,EAAIf,EAAIQ,OACd,GAAIO,IAAM,EAAG,CACT,MAAO,EACnB,CAEQ,IAAIC,EAAU,EAEd,MAAOA,EAAUD,EAAG,CAChB,MAAME,EAAWjB,EAAIzB,OAAOwC,EAAIC,EAAU,GAC1C,GAAIC,IAAaJ,IAAMC,EAAQ,CAC3BE,GAChB,MACiB,GAAIC,IAAaJ,GAAKC,EAAQ,CAC/BE,GAChB,KACiB,CACD,KAChB,CACA,CACQ,OAAOhB,EAAIkB,MAAM,EAAGH,EAAIC,EAChC,CACI,SAASG,EAAmBnB,EAAKoB,GAC7B,GAAIpB,EAAIqB,QAAQD,EAAE,OAAS,EAAG,CAC1B,OAAQ,CACpB,CACQ,IAAIE,EAAQ,EACZ,IAAK,IAAIjB,EAAI,EAAGA,EAAIL,EAAIQ,OAAQH,IAAK,CACjC,GAAIL,EAAIK,KAAO,KAAM,CACjBA,GAChB,MACiB,GAAIL,EAAIK,KAAOe,EAAE,GAAI,CACtBE,GAChB,MACiB,GAAItB,EAAIK,KAAOe,EAAE,GAAI,CACtBE,IACA,GAAIA,EAAQ,EAAG,CACX,OAAOjB,CAC3B,CACA,CACA,CACQ,OAAQ,CAChB,CAEI,SAASkB,EAAWC,EAAKC,EAAMC,EAAKC,GAChC,MAAMtC,EAAOoC,EAAKpC,KAClB,MAAMxE,EAAQ4G,EAAK5G,MAAQgD,EAAS4D,EAAK5G,OAAS,KAClD,MAAM+G,EAAOJ,EAAI,GAAGvD,QAAQ,cAAe,MAC3C,GAAIuD,EAAI,GAAGjD,OAAO,KAAO,IAAK,CAC1BoD,EAAME,MAAMC,OAAS,KACrB,MAAMC,EAAQ,CACVC,KAAM,OACNN,MACArC,OACAxE,QACA+G,OACAK,OAAQN,EAAMO,aAAaN,IAE/BD,EAAME,MAAMC,OAAS,MACrB,OAAOC,CACnB,CACQ,MAAO,CACHC,KAAM,QACNN,MACArC,OACAxE,QACA+G,KAAM/D,EAAS+D,GAE3B,CACI,SAASO,EAAuBT,EAAKE,GACjC,MAAMQ,EAAoBV,EAAI5B,MAAM,iBACpC,GAAIsC,IAAsB,KAAM,CAC5B,OAAOR,CACnB,CACQ,MAAMS,EAAeD,EAAkB,GACvC,OAAOR,EACFxB,MAAM,MACNkC,KAAIC,IACL,MAAMC,EAAoBD,EAAKzC,MAAM,QACrC,GAAI0C,IAAsB,KAAM,CAC5B,OAAOD,CACvB,CACY,MAAOE,GAAgBD,EACvB,GAAIC,EAAajC,QAAU6B,EAAa7B,OAAQ,CAC5C,OAAO+B,EAAKrB,MAAMmB,EAAa7B,OAC/C,CACY,OAAO+B,CAAI,IAEVxH,KAAK,KAClB,CAII,MAAM2H,EACFC,QACAC,MACAjB,MACA,WAAAkB,CAAYF,GACRtG,KAAKsG,QAAUA,GAAWvG,EAAQa,QAC9C,CACQ,KAAA6F,CAAMC,GACF,MAAMvB,EAAMnF,KAAKuG,MAAMI,MAAMC,QAAQxD,KAAKsD,GAC1C,GAAIvB,GAAOA,EAAI,GAAGhB,OAAS,EAAG,CAC1B,MAAO,CACHwB,KAAM,QACNN,IAAKF,EAAI,GAE7B,CACA,CACQ,IAAA0B,CAAKH,GACD,MAAMvB,EAAMnF,KAAKuG,MAAMI,MAAME,KAAKzD,KAAKsD,GACvC,GAAIvB,EAAK,CACL,MAAMI,EAAOJ,EAAI,GAAGvD,QAAQ,YAAa,IACzC,MAAO,CACH+D,KAAM,OACNN,IAAKF,EAAI,GACT2B,eAAgB,WAChBvB,MAAOvF,KAAKsG,QAAQ/F,SACdgE,EAAMgB,EAAM,MACZA,EAE1B,CACA,CACQ,MAAAwB,CAAOL,GACH,MAAMvB,EAAMnF,KAAKuG,MAAMI,MAAMI,OAAO3D,KAAKsD,GACzC,GAAIvB,EAAK,CACL,MAAME,EAAMF,EAAI,GAChB,MAAMI,EAAOO,EAAuBT,EAAKF,EAAI,IAAM,IACnD,MAAO,CACHQ,KAAM,OACNN,MACA2B,KAAM7B,EAAI,GAAKA,EAAI,GAAGlB,OAAOrC,QAAQ5B,KAAKuG,MAAMU,OAAOC,eAAgB,MAAQ/B,EAAI,GACnFI,OAEpB,CACA,CACQ,OAAA4B,CAAQT,GACJ,MAAMvB,EAAMnF,KAAKuG,MAAMI,MAAMQ,QAAQ/D,KAAKsD,GAC1C,GAAIvB,EAAK,CACL,IAAII,EAAOJ,EAAI,GAAGlB,OAElB,GAAI,KAAKtC,KAAK4D,GAAO,CACjB,MAAM6B,EAAU7C,EAAMgB,EAAM,KAC5B,GAAIvF,KAAKsG,QAAQ/F,SAAU,CACvBgF,EAAO6B,EAAQnD,MACvC,MACyB,IAAKmD,GAAW,KAAKzF,KAAKyF,GAAU,CAErC7B,EAAO6B,EAAQnD,MACvC,CACA,CACgB,MAAO,CACH0B,KAAM,UACNN,IAAKF,EAAI,GACTkC,MAAOlC,EAAI,GAAGhB,OACdoB,OACAK,OAAQ5F,KAAKsF,MAAM2B,OAAO1B,GAE9C,CACA,CACQ,EAAA+B,CAAGZ,GACC,MAAMvB,EAAMnF,KAAKuG,MAAMI,MAAMW,GAAGlE,KAAKsD,GACrC,GAAIvB,EAAK,CACL,MAAO,CACHQ,KAAM,KACNN,IAAKF,EAAI,GAE7B,CACA,CACQ,UAAAoC,CAAWb,GACP,MAAMvB,EAAMnF,KAAKuG,MAAMI,MAAMY,WAAWnE,KAAKsD,GAC7C,GAAIvB,EAAK,CAEL,IAAII,EAAOJ,EAAI,GAAGvD,QAAQ,iCAAkC,YAC5D2D,EAAOhB,EAAMgB,EAAK3D,QAAQ,eAAgB,IAAK,MAC/C,MAAM4F,EAAMxH,KAAKsF,MAAME,MAAMgC,IAC7BxH,KAAKsF,MAAME,MAAMgC,IAAM,KACvB,MAAM5B,EAAS5F,KAAKsF,MAAMmC,YAAYlC,GACtCvF,KAAKsF,MAAME,MAAMgC,IAAMA,EACvB,MAAO,CACH7B,KAAM,aACNN,IAAKF,EAAI,GACTS,SACAL,OAEpB,CACA,CACQ,IAAAmC,CAAKhB,GACD,IAAIvB,EAAMnF,KAAKuG,MAAMI,MAAMe,KAAKtE,KAAKsD,GACrC,GAAIvB,EAAK,CACL,IAAIwC,EAAOxC,EAAI,GAAGlB,OAClB,MAAM2D,EAAYD,EAAKxD,OAAS,EAChC,MAAMuD,EAAO,CACT/B,KAAM,OACNN,IAAK,GACLwC,QAASD,EACTE,MAAOF,GAAaD,EAAK9C,MAAM,GAAI,GAAK,GACxCkD,MAAO,MACPC,MAAO,IAEXL,EAAOC,EAAY,aAAaD,EAAK9C,OAAO,KAAO,KAAK8C,IACxD,GAAI3H,KAAKsG,QAAQ/F,SAAU,CACvBoH,EAAOC,EAAYD,EAAO,OAC9C,CAEgB,MAAMM,EAAY,IAAIhH,OAAO,WAAW0G,kCACxC,IAAItC,EAAM,GACV,IAAI6C,EAAe,GACnB,IAAIC,EAAoB,MAExB,MAAOzB,EAAK,CACR,IAAI0B,EAAW,MACf,KAAMjD,EAAM8C,EAAU7E,KAAKsD,IAAO,CAC9B,KACxB,CACoB,GAAI1G,KAAKuG,MAAMI,MAAMW,GAAG3F,KAAK+E,GAAM,CAC/B,KACxB,CACoBrB,EAAMF,EAAI,GACVuB,EAAMA,EAAIrE,UAAUgD,EAAIlB,QACxB,IAAIkE,EAAOlD,EAAI,GAAGpB,MAAM,KAAM,GAAG,GAAGnC,QAAQ,QAAS0G,GAAM,IAAIC,OAAO,EAAID,EAAEnE,UAC5E,IAAIqE,EAAW9B,EAAI3C,MAAM,KAAM,GAAG,GAClC,IAAI0E,EAAS,EACb,GAAIzI,KAAKsG,QAAQ/F,SAAU,CACvBkI,EAAS,EACTP,EAAeG,EAAKK,WAC5C,KACyB,CACDD,EAAStD,EAAI,GAAGwD,OAAO,QACvBF,EAASA,EAAS,EAAI,EAAIA,EAC1BP,EAAeG,EAAKxD,MAAM4D,GAC1BA,GAAUtD,EAAI,GAAGhB,MACzC,CACoB,IAAIyE,EAAY,MAChB,IAAKP,GAAQ,OAAO1G,KAAK6G,GAAW,CAChCnD,GAAOmD,EAAW,KAClB9B,EAAMA,EAAIrE,UAAUmG,EAASrE,OAAS,GACtCiE,EAAW,IACnC,CACoB,IAAKA,EAAU,CACX,MAAMS,EAAkB,IAAI5H,OAAO,QAAQ6H,KAAKC,IAAI,EAAGN,EAAS,yDAChE,MAAMO,EAAU,IAAI/H,OAAO,QAAQ6H,KAAKC,IAAI,EAAGN,EAAS,wDACxD,MAAMQ,EAAmB,IAAIhI,OAAO,QAAQ6H,KAAKC,IAAI,EAAGN,EAAS,qBACjE,MAAMS,EAAoB,IAAIjI,OAAO,QAAQ6H,KAAKC,IAAI,EAAGN,EAAS,QAElE,MAAO/B,EAAK,CACR,MAAMyC,EAAUzC,EAAI3C,MAAM,KAAM,GAAG,GACnCyE,EAAWW,EAEX,GAAInJ,KAAKsG,QAAQ/F,SAAU,CACvBiI,EAAWA,EAAS5G,QAAQ,0BAA2B,KACvF,CAE4B,GAAIqH,EAAiBtH,KAAK6G,GAAW,CACjC,KAChC,CAE4B,GAAIU,EAAkBvH,KAAK6G,GAAW,CAClC,KAChC,CAE4B,GAAIK,EAAgBlH,KAAK6G,GAAW,CAChC,KAChC,CAE4B,GAAIQ,EAAQrH,KAAK+E,GAAM,CACnB,KAChC,CAC4B,GAAI8B,EAASG,OAAO,SAAWF,IAAWD,EAASvE,OAAQ,CACvDiE,GAAgB,KAAOM,EAAS3D,MAAM4D,EACtE,KACiC,CAED,GAAIG,EAAW,CACX,KACpC,CAEgC,GAAIP,EAAKM,OAAO,SAAW,EAAG,CAC1B,KACpC,CACgC,GAAIM,EAAiBtH,KAAK0G,GAAO,CAC7B,KACpC,CACgC,GAAIa,EAAkBvH,KAAK0G,GAAO,CAC9B,KACpC,CACgC,GAAIW,EAAQrH,KAAK0G,GAAO,CACpB,KACpC,CACgCH,GAAgB,KAAOM,CACvD,CAC4B,IAAKI,IAAcJ,EAASvE,OAAQ,CAChC2E,EAAY,IAC5C,CAC4BvD,GAAO8D,EAAU,KACjBzC,EAAMA,EAAIrE,UAAU8G,EAAQhF,OAAS,GACrCkE,EAAOG,EAAS3D,MAAM4D,EAClD,CACA,CACoB,IAAKf,EAAKK,MAAO,CAEb,GAAII,EAAmB,CACnBT,EAAKK,MAAQ,IACzC,MAC6B,GAAI,YAAYpG,KAAK0D,GAAM,CAC5B8C,EAAoB,IAChD,CACA,CACoB,IAAIiB,EAAS,KACb,IAAIC,EAEJ,GAAIrJ,KAAKsG,QAAQjG,IAAK,CAClB+I,EAAS,cAAchG,KAAK8E,GAC5B,GAAIkB,EAAQ,CACRC,EAAYD,EAAO,KAAO,OAC1BlB,EAAeA,EAAatG,QAAQ,eAAgB,GAChF,CACA,CACoB8F,EAAKM,MAAM1D,KAAK,CACZqB,KAAM,YACNN,MACAiE,OAAQF,EACRjL,QAASkL,EACTtB,MAAO,MACPxC,KAAM2C,EACNtC,OAAQ,KAEZ8B,EAAKrC,KAAOA,CAChC,CAEgBqC,EAAKM,MAAMN,EAAKM,MAAM7D,OAAS,GAAGkB,IAAMA,EAAIkE,UAC3C7B,EAAKM,MAAMN,EAAKM,MAAM7D,OAAS,GAAIoB,KAAO2C,EAAaqB,UACxD7B,EAAKrC,IAAMqC,EAAKrC,IAAIkE,UAEpB,IAAK,IAAIvF,EAAI,EAAGA,EAAI0D,EAAKM,MAAM7D,OAAQH,IAAK,CACxChE,KAAKsF,MAAME,MAAMgC,IAAM,MACvBE,EAAKM,MAAMhE,GAAG4B,OAAS5F,KAAKsF,MAAMmC,YAAYC,EAAKM,MAAMhE,GAAGuB,KAAM,IAClE,IAAKmC,EAAKK,MAAO,CAEb,MAAMyB,EAAU9B,EAAKM,MAAMhE,GAAG4B,OAAO6D,QAAOnB,GAAKA,EAAE3C,OAAS,UAC5D,MAAM+D,EAAwBF,EAAQrF,OAAS,GAAKqF,EAAQG,MAAKrB,GAAK,SAAS3G,KAAK2G,EAAEjD,OACtFqC,EAAKK,MAAQ2B,CACrC,CACA,CAEgB,GAAIhC,EAAKK,MAAO,CACZ,IAAK,IAAI/D,EAAI,EAAGA,EAAI0D,EAAKM,MAAM7D,OAAQH,IAAK,CACxC0D,EAAKM,MAAMhE,GAAG+D,MAAQ,IAC9C,CACA,CACgB,OAAOL,CACvB,CACA,CACQ,IAAAjG,CAAKiF,GACD,MAAMvB,EAAMnF,KAAKuG,MAAMI,MAAMlF,KAAK2B,KAAKsD,GACvC,GAAIvB,EAAK,CACL,MAAMO,EAAQ,CACVC,KAAM,OACNgB,MAAO,KACPtB,IAAKF,EAAI,GACTyE,IAAKzE,EAAI,KAAO,OAASA,EAAI,KAAO,UAAYA,EAAI,KAAO,QAC3DI,KAAMJ,EAAI,IAEd,OAAOO,CACvB,CACA,CACQ,GAAAmE,CAAInD,GACA,MAAMvB,EAAMnF,KAAKuG,MAAMI,MAAMkD,IAAIzG,KAAKsD,GACtC,GAAIvB,EAAK,CACL,MAAM2E,EAAM3E,EAAI,GAAGlD,cAAcL,QAAQ,OAAQ,KACjD,MAAMoB,EAAOmC,EAAI,GAAKA,EAAI,GAAGvD,QAAQ,WAAY,MAAMA,QAAQ5B,KAAKuG,MAAMU,OAAOC,eAAgB,MAAQ,GACzG,MAAM1I,EAAQ2G,EAAI,GAAKA,EAAI,GAAG9C,UAAU,EAAG8C,EAAI,GAAGhB,OAAS,GAAGvC,QAAQ5B,KAAKuG,MAAMU,OAAOC,eAAgB,MAAQ/B,EAAI,GACpH,MAAO,CACHQ,KAAM,MACNmE,MACAzE,IAAKF,EAAI,GACTnC,OACAxE,QAEpB,CACA,CACQ,KAAAuL,CAAMrD,GACF,MAAMvB,EAAMnF,KAAKuG,MAAMI,MAAMoD,MAAM3G,KAAKsD,GACxC,IAAKvB,EAAK,CACN,MAChB,CACY,IAAK,OAAOxD,KAAKwD,EAAI,IAAK,CAEtB,MAChB,CACY,MAAM6E,EAAU3G,EAAW8B,EAAI,IAC/B,MAAM8E,EAAS9E,EAAI,GAAGvD,QAAQ,aAAc,IAAImC,MAAM,KACtD,MAAMmG,EAAO/E,EAAI,IAAMA,EAAI,GAAGlB,OAASkB,EAAI,GAAGvD,QAAQ,YAAa,IAAImC,MAAM,MAAQ,GACrF,MAAMoG,EAAO,CACTxE,KAAM,QACNN,IAAKF,EAAI,GACTiF,OAAQ,GACRC,MAAO,GACPH,KAAM,IAEV,GAAIF,EAAQ7F,SAAW8F,EAAO9F,OAAQ,CAElC,MAChB,CACY,IAAK,MAAMkG,KAASJ,EAAQ,CACxB,GAAI,YAAYtI,KAAK0I,GAAQ,CACzBF,EAAKE,MAAM/F,KAAK,QACpC,MACqB,GAAI,aAAa3C,KAAK0I,GAAQ,CAC/BF,EAAKE,MAAM/F,KAAK,SACpC,MACqB,GAAI,YAAY3C,KAAK0I,GAAQ,CAC9BF,EAAKE,MAAM/F,KAAK,OACpC,KACqB,CACD6F,EAAKE,MAAM/F,KAAK,KACpC,CACA,CACY,IAAK,MAAM8F,KAAUJ,EAAS,CAC1BG,EAAKC,OAAO9F,KAAK,CACbiB,KAAM6E,EACNxE,OAAQ5F,KAAKsF,MAAM2B,OAAOmD,IAE9C,CACY,IAAK,MAAM5G,KAAO0G,EAAM,CACpBC,EAAKD,KAAK5F,KAAKjB,EAAWG,EAAK2G,EAAKC,OAAOjG,QAAQ8B,KAAIqE,IAC5C,CACH/E,KAAM+E,EACN1E,OAAQ5F,KAAKsF,MAAM2B,OAAOqD,OAGlD,CACY,OAAOH,CACnB,CACQ,QAAAI,CAAS7D,GACL,MAAMvB,EAAMnF,KAAKuG,MAAMI,MAAM4D,SAASnH,KAAKsD,GAC3C,GAAIvB,EAAK,CACL,MAAO,CACHQ,KAAM,UACNN,IAAKF,EAAI,GACTkC,MAAOlC,EAAI,GAAGjD,OAAO,KAAO,IAAM,EAAI,EACtCqD,KAAMJ,EAAI,GACVS,OAAQ5F,KAAKsF,MAAM2B,OAAO9B,EAAI,IAElD,CACA,CACQ,SAAAqF,CAAU9D,GACN,MAAMvB,EAAMnF,KAAKuG,MAAMI,MAAM6D,UAAUpH,KAAKsD,GAC5C,GAAIvB,EAAK,CACL,MAAMI,EAAOJ,EAAI,GAAGjD,OAAOiD,EAAI,GAAGhB,OAAS,KAAO,KAC5CgB,EAAI,GAAGN,MAAM,GAAI,GACjBM,EAAI,GACV,MAAO,CACHQ,KAAM,YACNN,IAAKF,EAAI,GACTI,OACAK,OAAQ5F,KAAKsF,MAAM2B,OAAO1B,GAE9C,CACA,CACQ,IAAAA,CAAKmB,GACD,MAAMvB,EAAMnF,KAAKuG,MAAMI,MAAMpB,KAAKnC,KAAKsD,GACvC,GAAIvB,EAAK,CACL,MAAO,CACHQ,KAAM,OACNN,IAAKF,EAAI,GACTI,KAAMJ,EAAI,GACVS,OAAQ5F,KAAKsF,MAAM2B,OAAO9B,EAAI,IAElD,CACA,CACQ,MAAAsF,CAAO/D,GACH,MAAMvB,EAAMnF,KAAKuG,MAAMU,OAAOwD,OAAOrH,KAAKsD,GAC1C,GAAIvB,EAAK,CACL,MAAO,CACHQ,KAAM,SACNN,IAAKF,EAAI,GACTI,KAAM/D,EAAS2D,EAAI,IAEvC,CACA,CACQ,GAAA2E,CAAIpD,GACA,MAAMvB,EAAMnF,KAAKuG,MAAMU,OAAO6C,IAAI1G,KAAKsD,GACvC,GAAIvB,EAAK,CACL,IAAKnF,KAAKsF,MAAME,MAAMC,QAAU,QAAQ9D,KAAKwD,EAAI,IAAK,CAClDnF,KAAKsF,MAAME,MAAMC,OAAS,IAC9C,MACqB,GAAIzF,KAAKsF,MAAME,MAAMC,QAAU,UAAU9D,KAAKwD,EAAI,IAAK,CACxDnF,KAAKsF,MAAME,MAAMC,OAAS,KAC9C,CACgB,IAAKzF,KAAKsF,MAAME,MAAMkF,YAAc,iCAAiC/I,KAAKwD,EAAI,IAAK,CAC/EnF,KAAKsF,MAAME,MAAMkF,WAAa,IAClD,MACqB,GAAI1K,KAAKsF,MAAME,MAAMkF,YAAc,mCAAmC/I,KAAKwD,EAAI,IAAK,CACrFnF,KAAKsF,MAAME,MAAMkF,WAAa,KAClD,CACgB,MAAO,CACH/E,KAAM,OACNN,IAAKF,EAAI,GACTM,OAAQzF,KAAKsF,MAAME,MAAMC,OACzBiF,WAAY1K,KAAKsF,MAAME,MAAMkF,WAC7B/D,MAAO,MACPpB,KAAMJ,EAAI,GAE9B,CACA,CACQ,IAAAC,CAAKsB,GACD,MAAMvB,EAAMnF,KAAKuG,MAAMU,OAAO7B,KAAKhC,KAAKsD,GACxC,GAAIvB,EAAK,CACL,MAAMwF,EAAaxF,EAAI,GAAGlB,OAC1B,IAAKjE,KAAKsG,QAAQ/F,UAAY,KAAKoB,KAAKgJ,GAAa,CAEjD,IAAM,KAAKhJ,KAAKgJ,GAAc,CAC1B,MACxB,CAEoB,MAAMC,EAAarG,EAAMoG,EAAW9F,MAAM,GAAI,GAAI,MAClD,IAAK8F,EAAWxG,OAASyG,EAAWzG,QAAU,IAAM,EAAG,CACnD,MACxB,CACA,KACqB,CAED,MAAM0G,EAAiB/F,EAAmBK,EAAI,GAAI,MAClD,GAAI0F,GAAkB,EAAG,CACrB,MAAM/C,EAAQ3C,EAAI,GAAGH,QAAQ,OAAS,EAAI,EAAI,EAC9C,MAAM8F,EAAUhD,EAAQ3C,EAAI,GAAGhB,OAAS0G,EACxC1F,EAAI,GAAKA,EAAI,GAAG9C,UAAU,EAAGwI,GAC7B1F,EAAI,GAAKA,EAAI,GAAG9C,UAAU,EAAGyI,GAAS7G,OACtCkB,EAAI,GAAK,EACjC,CACA,CACgB,IAAInC,EAAOmC,EAAI,GACf,IAAI3G,EAAQ,GACZ,GAAIwB,KAAKsG,QAAQ/F,SAAU,CAEvB,MAAM6E,EAAO,gCAAgChC,KAAKJ,GAClD,GAAIoC,EAAM,CACNpC,EAAOoC,EAAK,GACZ5G,EAAQ4G,EAAK,EACrC,CACA,KACqB,CACD5G,EAAQ2G,EAAI,GAAKA,EAAI,GAAGN,MAAM,GAAI,GAAK,EAC3D,CACgB7B,EAAOA,EAAKiB,OACZ,GAAI,KAAKtC,KAAKqB,GAAO,CACjB,GAAIhD,KAAKsG,QAAQ/F,WAAc,KAAKoB,KAAKgJ,GAAc,CAEnD3H,EAAOA,EAAK6B,MAAM,EAC1C,KACyB,CACD7B,EAAOA,EAAK6B,MAAM,GAAI,EAC9C,CACA,CACgB,OAAOK,EAAWC,EAAK,CACnBnC,KAAMA,EAAOA,EAAKpB,QAAQ5B,KAAKuG,MAAMU,OAAOC,eAAgB,MAAQlE,EACpExE,MAAOA,EAAQA,EAAMoD,QAAQ5B,KAAKuG,MAAMU,OAAOC,eAAgB,MAAQ1I,GACxE2G,EAAI,GAAInF,KAAKsF,MAChC,CACA,CACQ,OAAAyF,CAAQrE,EAAKsE,GACT,IAAI7F,EACJ,IAAKA,EAAMnF,KAAKuG,MAAMU,OAAO8D,QAAQ3H,KAAKsD,MAClCvB,EAAMnF,KAAKuG,MAAMU,OAAOgE,OAAO7H,KAAKsD,IAAO,CAC/C,MAAMwE,GAAc/F,EAAI,IAAMA,EAAI,IAAIvD,QAAQ,OAAQ,KACtD,MAAMwD,EAAO4F,EAAME,EAAWjJ,eAC9B,IAAKmD,EAAM,CACP,MAAMG,EAAOJ,EAAI,GAAGjD,OAAO,GAC3B,MAAO,CACHyD,KAAM,OACNN,IAAKE,EACLA,OAExB,CACgB,OAAOL,EAAWC,EAAKC,EAAMD,EAAI,GAAInF,KAAKsF,MAC1D,CACA,CACQ,QAAA6F,CAASzE,EAAK0E,EAAWC,EAAW,IAChC,IAAI5H,EAAQzD,KAAKuG,MAAMU,OAAOqE,eAAelI,KAAKsD,GAClD,IAAKjD,EACD,OAEJ,GAAIA,EAAM,IAAM4H,EAAS5H,MAAM,iBAC3B,OACJ,MAAM8H,EAAW9H,EAAM,IAAMA,EAAM,IAAM,GACzC,IAAK8H,IAAaF,GAAYrL,KAAKuG,MAAMU,OAAOuE,YAAYpI,KAAKiI,GAAW,CAExE,MAAMI,EAAU,IAAIhI,EAAM,IAAIU,OAAS,EACvC,IAAIuH,EAAQC,EAASC,EAAaH,EAASI,EAAgB,EAC3D,MAAMC,EAASrI,EAAM,GAAG,KAAO,IAAMzD,KAAKuG,MAAMU,OAAO8E,kBAAoB/L,KAAKuG,MAAMU,OAAO+E,kBAC7FF,EAAOG,UAAY,EAEnBb,EAAYA,EAAUvG,OAAO,EAAI6B,EAAIvC,OAASsH,GAC9C,OAAQhI,EAAQqI,EAAO1I,KAAKgI,KAAe,KAAM,CAC7CM,EAASjI,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAMA,EAAM,GAC3E,IAAKiI,EACD,SACJC,EAAU,IAAID,GAAQvH,OACtB,GAAIV,EAAM,IAAMA,EAAM,GAAI,CACtBmI,GAAcD,EACd,QACxB,MACyB,GAAIlI,EAAM,IAAMA,EAAM,GAAI,CAC3B,GAAIgI,EAAU,MAAQA,EAAUE,GAAW,GAAI,CAC3CE,GAAiBF,EACjB,QAC5B,CACA,CACoBC,GAAcD,EACd,GAAIC,EAAa,EACb,SAEJD,EAAU7C,KAAKC,IAAI4C,EAASA,EAAUC,EAAaC,GAEnD,MAAMK,EAAiB,IAAIzI,EAAM,IAAI,GAAGU,OACxC,MAAMkB,EAAMqB,EAAI7B,MAAM,EAAG4G,EAAUhI,EAAM0I,MAAQD,EAAiBP,GAElE,GAAI7C,KAAKC,IAAI0C,EAASE,GAAW,EAAG,CAChC,MAAMpG,EAAOF,EAAIR,MAAM,GAAI,GAC3B,MAAO,CACHc,KAAM,KACNN,MACAE,OACAK,OAAQ5F,KAAKsF,MAAMO,aAAaN,GAE5D,CAEoB,MAAMA,EAAOF,EAAIR,MAAM,GAAI,GAC3B,MAAO,CACHc,KAAM,SACNN,MACAE,OACAK,OAAQ5F,KAAKsF,MAAMO,aAAaN,GAExD,CACA,CACA,CACQ,QAAA6G,CAAS1F,GACL,MAAMvB,EAAMnF,KAAKuG,MAAMU,OAAOJ,KAAKzD,KAAKsD,GACxC,GAAIvB,EAAK,CACL,IAAII,EAAOJ,EAAI,GAAGvD,QAAQ,MAAO,KACjC,MAAMyK,EAAmB,OAAO1K,KAAK4D,GACrC,MAAM+G,EAA0B,KAAK3K,KAAK4D,IAAS,KAAK5D,KAAK4D,GAC7D,GAAI8G,GAAoBC,EAAyB,CAC7C/G,EAAOA,EAAKlD,UAAU,EAAGkD,EAAKpB,OAAS,EAC3D,CACgBoB,EAAO/D,EAAS+D,EAAM,MACtB,MAAO,CACHI,KAAM,WACNN,IAAKF,EAAI,GACTI,OAEpB,CACA,CACQ,EAAAgH,CAAG7F,GACC,MAAMvB,EAAMnF,KAAKuG,MAAMU,OAAOsF,GAAGnJ,KAAKsD,GACtC,GAAIvB,EAAK,CACL,MAAO,CACHQ,KAAM,KACNN,IAAKF,EAAI,GAE7B,CACA,CACQ,GAAAqH,CAAI9F,GACA,MAAMvB,EAAMnF,KAAKuG,MAAMU,OAAOuF,IAAIpJ,KAAKsD,GACvC,GAAIvB,EAAK,CACL,MAAO,CACHQ,KAAM,MACNN,IAAKF,EAAI,GACTI,KAAMJ,EAAI,GACVS,OAAQ5F,KAAKsF,MAAMO,aAAaV,EAAI,IAExD,CACA,CACQ,QAAAsH,CAAS/F,GACL,MAAMvB,EAAMnF,KAAKuG,MAAMU,OAAOwF,SAASrJ,KAAKsD,GAC5C,GAAIvB,EAAK,CACL,IAAII,EAAMvC,EACV,GAAImC,EAAI,KAAO,IAAK,CAChBI,EAAO/D,EAAS2D,EAAI,IACpBnC,EAAO,UAAYuC,CACvC,KACqB,CACDA,EAAO/D,EAAS2D,EAAI,IACpBnC,EAAOuC,CAC3B,CACgB,MAAO,CACHI,KAAM,OACNN,IAAKF,EAAI,GACTI,OACAvC,OACA4C,OAAQ,CACJ,CACID,KAAM,OACNN,IAAKE,EACLA,SAI5B,CACA,CACQ,GAAAmH,CAAIhG,GACA,IAAIvB,EACJ,GAAIA,EAAMnF,KAAKuG,MAAMU,OAAOyF,IAAItJ,KAAKsD,GAAM,CACvC,IAAInB,EAAMvC,EACV,GAAImC,EAAI,KAAO,IAAK,CAChBI,EAAO/D,EAAS2D,EAAI,IACpBnC,EAAO,UAAYuC,CACvC,KACqB,CAED,IAAIoH,EACJ,EAAG,CACCA,EAAcxH,EAAI,GAClBA,EAAI,GAAKnF,KAAKuG,MAAMU,OAAO2F,WAAWxJ,KAAK+B,EAAI,MAAM,IAAM,EACnF,OAA6BwH,IAAgBxH,EAAI,IAC7BI,EAAO/D,EAAS2D,EAAI,IACpB,GAAIA,EAAI,KAAO,OAAQ,CACnBnC,EAAO,UAAYmC,EAAI,EAC/C,KACyB,CACDnC,EAAOmC,EAAI,EACnC,CACA,CACgB,MAAO,CACHQ,KAAM,OACNN,IAAKF,EAAI,GACTI,OACAvC,OACA4C,OAAQ,CACJ,CACID,KAAM,OACNN,IAAKE,EACLA,SAI5B,CACA,CACQ,UAAAsH,CAAWnG,GACP,MAAMvB,EAAMnF,KAAKuG,MAAMU,OAAO1B,KAAKnC,KAAKsD,GACxC,GAAIvB,EAAK,CACL,IAAII,EACJ,GAAIvF,KAAKsF,MAAME,MAAMkF,WAAY,CAC7BnF,EAAOJ,EAAI,EAC/B,KACqB,CACDI,EAAO/D,EAAS2D,EAAI,GACxC,CACgB,MAAO,CACHQ,KAAM,OACNN,IAAKF,EAAI,GACTI,OAEpB,CACA,EAMI,MAAMqB,EAAU,mBAChB,MAAMkG,EAAY,uCAClB,MAAM/F,EAAS,8GACf,MAAMO,EAAK,qEACX,MAAMH,EAAU,uCAChB,MAAM4F,EAAS,wBACf,MAAMxC,EAAWhI,EAAK,sJACjBX,QAAQ,QAASmL,GACjBnL,QAAQ,aAAc,QACtBA,QAAQ,UAAW,yBACnBA,QAAQ,cAAe,WACvBA,QAAQ,WAAY,gBACpBA,QAAQ,QAAS,qBACjBkB,WACL,MAAMkK,EAAa,uFACnB,MAAMC,EAAY,UAClB,MAAMC,EAAc,8BACpB,MAAMrD,EAAMtH,EAAK,mGACZX,QAAQ,QAASsL,GACjBtL,QAAQ,QAAS,gEACjBkB,WACL,MAAM4E,EAAOnF,EAAK,wCACbX,QAAQ,QAASmL,GACjBjK,WACL,MAAMqK,EAAO,8DACP,2EACA,uEACA,0EACA,sEACA,eACN,MAAMC,EAAW,gCACjB,MAAM3L,EAAOc,EAAK,aACZ,sEACA,0BACA,gCACA,gCACA,4CACA,uDACA,qHACA,qGACA,IAAK,KACNX,QAAQ,UAAWwL,GACnBxL,QAAQ,MAAOuL,GACfvL,QAAQ,YAAa,4EACrBkB,WACL,MAAM0H,EAAYjI,EAAKyK,GAClBpL,QAAQ,KAAM0F,GACd1F,QAAQ,UAAW,yBACnBA,QAAQ,YAAa,IACrBA,QAAQ,SAAU,IAClBA,QAAQ,aAAc,WACtBA,QAAQ,SAAU,kDAClBA,QAAQ,OAAQ,0BAChBA,QAAQ,OAAQ,+DAChBA,QAAQ,MAAOuL,GACfrK,WACL,MAAMyE,EAAahF,EAAK,2CACnBX,QAAQ,YAAa4I,GACrB1H,WAIL,MAAMuK,EAAc,CAChB9F,aACAV,KAAMiG,EACNjD,MACA9C,SACAI,UACAG,KACA7F,OACA8I,WACA7C,OACAd,UACA4D,YACAT,MAAO5G,EACPoC,KAAM0H,GAKV,MAAMK,EAAW/K,EAAK,oBAChB,yDACA,wFACDX,QAAQ,KAAM0F,GACd1F,QAAQ,UAAW,yBACnBA,QAAQ,aAAc,WACtBA,QAAQ,OAAQ,cAChBA,QAAQ,SAAU,kDAClBA,QAAQ,OAAQ,0BAChBA,QAAQ,OAAQ,+DAChBA,QAAQ,MAAOuL,GACfrK,WACL,MAAMyK,EAAW,IACVF,EACHtD,MAAOuD,EACP9C,UAAWjI,EAAKyK,GACXpL,QAAQ,KAAM0F,GACd1F,QAAQ,UAAW,yBACnBA,QAAQ,YAAa,IACrBA,QAAQ,QAAS0L,GACjB1L,QAAQ,aAAc,WACtBA,QAAQ,SAAU,kDAClBA,QAAQ,OAAQ,0BAChBA,QAAQ,OAAQ,+DAChBA,QAAQ,MAAOuL,GACfrK,YAKT,MAAM0K,EAAgB,IACfH,EACH5L,KAAMc,EAAK,+BACL,6CACA,wEACDX,QAAQ,UAAWwL,GACnBxL,QAAQ,OAAQ,SACf,sEACA,8DACA,iCACDkB,WACL+G,IAAK,oEACL1C,QAAS,yBACTJ,OAAQ5D,EACRoH,SAAU,mCACVC,UAAWjI,EAAKyK,GACXpL,QAAQ,KAAM0F,GACd1F,QAAQ,UAAW,mBACnBA,QAAQ,WAAY2I,GACpB3I,QAAQ,SAAU,IAClBA,QAAQ,aAAc,WACtBA,QAAQ,UAAW,IACnBA,QAAQ,QAAS,IACjBA,QAAQ,QAAS,IACjBA,QAAQ,OAAQ,IAChBkB,YAKT,MAAM2H,EAAS,8CACf,MAAMgD,EAAa,sCACnB,MAAMlB,EAAK,wBACX,MAAMM,EAAa,8EAEnB,MAAMa,EAAe,eACrB,MAAMlC,EAAcjJ,EAAK,6BAA8B,KAClDX,QAAQ,eAAgB8L,GAAc5K,WAE3C,MAAM6K,EAAY,gDAClB,MAAMrC,EAAiB/I,EAAK,oEAAqE,KAC5FX,QAAQ,SAAU8L,GAClB5K,WACL,MAAMiJ,EAAoBxJ,EAAK,oCACzB,iBACA,mCACA,4CACA,0CACA,iCACA,0CACA,oCAAqC,MACtCX,QAAQ,SAAU8L,GAClB5K,WAEL,MAAMkJ,EAAoBzJ,EAAK,0CACzB,iBACA,+BACA,wCACA,sCACA,6BACA,oCAAqC,MACtCX,QAAQ,SAAU8L,GAClB5K,WACL,MAAMoE,EAAiB3E,EAAK,cAAe,MACtCX,QAAQ,SAAU8L,GAClB5K,WACL,MAAM2J,GAAWlK,EAAK,uCACjBX,QAAQ,SAAU,gCAClBA,QAAQ,QAAS,gJACjBkB,WACL,MAAM8K,GAAiBrL,EAAK6K,GAAUxL,QAAQ,eAAa,UAAOkB,WAClE,MAAMgH,GAAMvH,EAAK,WACX,4BACA,2CACA,uBACA,8BACA,oCACDX,QAAQ,UAAWgM,IACnBhM,QAAQ,YAAa,+EACrBkB,WACL,MAAM+K,GAAe,sDACrB,MAAMzI,GAAO7C,EAAK,iDACbX,QAAQ,QAASiM,IACjBjM,QAAQ,OAAQ,wCAChBA,QAAQ,QAAS,+DACjBkB,WACL,MAAMiI,GAAUxI,EAAK,2BAChBX,QAAQ,QAASiM,IACjBjM,QAAQ,MAAOsL,GACfpK,WACL,MAAMmI,GAAS1I,EAAK,yBACfX,QAAQ,MAAOsL,GACfpK,WACL,MAAMgL,GAAgBvL,EAAK,wBAAyB,KAC/CX,QAAQ,UAAWmJ,IACnBnJ,QAAQ,SAAUqJ,IAClBnI,WAIL,MAAMiL,GAAe,CACjBnB,WAAYzJ,EACZ+D,iBACAuF,YACAkB,YACApB,KACA1F,KAAM4G,EACNjB,IAAKrJ,EACLmI,iBACAS,oBACAC,oBACAvB,SACArF,QACA6F,UACAO,cACAT,WACA+C,iBACAhE,OACAvE,KAAMsH,EACNH,IAAKvJ,GAKT,MAAM6K,GAAiB,IAChBD,GACH3I,KAAM7C,EAAK,2BACNX,QAAQ,QAASiM,IACjB/K,WACLiI,QAASxI,EAAK,iCACTX,QAAQ,QAASiM,IACjB/K,YAKT,MAAMmL,GAAY,IACXF,GACHtD,OAAQlI,EAAKkI,GAAQ7I,QAAQ,KAAM,QAAQkB,WAC3C4J,IAAKnK,EAAK,mEAAoE,KACzEX,QAAQ,QAAS,6EACjBkB,WACL8J,WAAY,6EACZJ,IAAK,+CACLjH,KAAM,8NAKV,MAAM2I,GAAe,IACdD,GACH1B,GAAIhK,EAAKgK,GAAI3K,QAAQ,OAAQ,KAAKkB,WAClCyC,KAAMhD,EAAK0L,GAAU1I,MAChB3D,QAAQ,OAAQ,iBAChBA,QAAQ,UAAW,KACnBkB,YAKT,MAAM6D,GAAQ,CACVwH,OAAQd,EACRhN,IAAKkN,EACLhN,SAAUiN,GAEd,MAAMvG,GAAS,CACXkH,OAAQJ,GACR1N,IAAK4N,GACL9N,OAAQ+N,GACR3N,SAAUyN,IAMd,MAAMI,GACFxI,OACAU,QACAd,MACA9E,UACA2N,YACA,WAAA7H,CAAYF,GAERtG,KAAK4F,OAAS,GACd5F,KAAK4F,OAAOoF,MAAQsD,OAAOC,OAAO,MAClCvO,KAAKsG,QAAUA,GAAWvG,EAAQa,SAClCZ,KAAKsG,QAAQ5F,UAAYV,KAAKsG,QAAQ5F,WAAa,IAAI2F,EACvDrG,KAAKU,UAAYV,KAAKsG,QAAQ5F,UAC9BV,KAAKU,UAAU4F,QAAUtG,KAAKsG,QAC9BtG,KAAKU,UAAU4E,MAAQtF,KACvBA,KAAKqO,YAAc,GACnBrO,KAAKwF,MAAQ,CACTC,OAAQ,MACRiF,WAAY,MACZlD,IAAK,MAET,MAAMjB,EAAQ,CACVI,MAAOA,GAAMwH,OACblH,OAAQA,GAAOkH,QAEnB,GAAInO,KAAKsG,QAAQ/F,SAAU,CACvBgG,EAAMI,MAAQA,GAAMpG,SACpBgG,EAAMU,OAASA,GAAO1G,QACtC,MACiB,GAAIP,KAAKsG,QAAQjG,IAAK,CACvBkG,EAAMI,MAAQA,GAAMtG,IACpB,GAAIL,KAAKsG,QAAQnG,OAAQ,CACrBoG,EAAMU,OAASA,GAAO9G,MAC1C,KACqB,CACDoG,EAAMU,OAASA,GAAO5G,GAC1C,CACA,CACYL,KAAKU,UAAU6F,MAAQA,CACnC,CAIQ,gBAAWA,GACP,MAAO,CACHI,SACAM,UAEhB,CAIQ,UAAOuH,CAAI9H,EAAKJ,GACZ,MAAMhB,EAAQ,IAAI8I,GAAO9H,GACzB,OAAOhB,EAAMkJ,IAAI9H,EAC7B,CAIQ,gBAAO+H,CAAU/H,EAAKJ,GAClB,MAAMhB,EAAQ,IAAI8I,GAAO9H,GACzB,OAAOhB,EAAMO,aAAaa,EACtC,CAIQ,GAAA8H,CAAI9H,GACAA,EAAMA,EACD9E,QAAQ,WAAY,MACzB5B,KAAKyH,YAAYf,EAAK1G,KAAK4F,QAC3B,IAAK,IAAI5B,EAAI,EAAGA,EAAIhE,KAAKqO,YAAYlK,OAAQH,IAAK,CAC9C,MAAM0K,EAAO1O,KAAKqO,YAAYrK,GAC9BhE,KAAK6F,aAAa6I,EAAKhI,IAAKgI,EAAK9I,OACjD,CACY5F,KAAKqO,YAAc,GACnB,OAAOrO,KAAK4F,MACxB,CACQ,WAAA6B,CAAYf,EAAKd,EAAS,IACtB,GAAI5F,KAAKsG,QAAQ/F,SAAU,CACvBmG,EAAMA,EAAI9E,QAAQ,MAAO,QAAQA,QAAQ,SAAU,GACnE,KACiB,CACD8E,EAAMA,EAAI9E,QAAQ,gBAAgB,CAACG,EAAG4M,EAASC,IACpCD,EAAU,OAAOpG,OAAOqG,EAAKzK,SAExD,CACY,IAAIuB,EACJ,IAAImJ,EACJ,IAAIC,EACJ,IAAIC,EACJ,MAAOrI,EAAK,CACR,GAAI1G,KAAKsG,QAAQlG,YACVJ,KAAKsG,QAAQlG,WAAWuG,OACxB3G,KAAKsG,QAAQlG,WAAWuG,MAAMgD,MAAMqF,IACnC,GAAItJ,EAAQsJ,EAAaC,KAAK,CAAE3J,MAAOtF,MAAQ0G,EAAKd,GAAS,CACzDc,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,OAAO,IACnC,CACwB,OAAO,KAAK,IACZ,CACJ,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAU+F,MAAMC,GAAM,CACnCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9B,GAAIuB,EAAML,IAAIlB,SAAW,GAAKyB,EAAOzB,OAAS,EAAG,CAG7CyB,EAAOA,EAAOzB,OAAS,GAAGkB,KAAO,IACzD,KACyB,CACDO,EAAOtB,KAAKoB,EACpC,CACoB,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAUmG,KAAKH,GAAM,CAClCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9B0K,EAAYjJ,EAAOA,EAAOzB,OAAS,GAEnC,GAAI0K,IAAcA,EAAUlJ,OAAS,aAAekJ,EAAUlJ,OAAS,QAAS,CAC5EkJ,EAAUxJ,KAAO,KAAOK,EAAML,IAC9BwJ,EAAUtJ,MAAQ,KAAOG,EAAMH,KAC/BvF,KAAKqO,YAAYrO,KAAKqO,YAAYlK,OAAS,GAAGuC,IAAMmI,EAAUtJ,IACtF,KACyB,CACDK,EAAOtB,KAAKoB,EACpC,CACoB,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAUqG,OAAOL,GAAM,CACpCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAUyG,QAAQT,GAAM,CACrCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAU4G,GAAGZ,GAAM,CAChCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAU6G,WAAWb,GAAM,CACxCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAUgH,KAAKhB,GAAM,CAClCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAUe,KAAKiF,GAAM,CAClCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAUmJ,IAAInD,GAAM,CACjCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9B0K,EAAYjJ,EAAOA,EAAOzB,OAAS,GACnC,GAAI0K,IAAcA,EAAUlJ,OAAS,aAAekJ,EAAUlJ,OAAS,QAAS,CAC5EkJ,EAAUxJ,KAAO,KAAOK,EAAML,IAC9BwJ,EAAUtJ,MAAQ,KAAOG,EAAML,IAC/BrF,KAAKqO,YAAYrO,KAAKqO,YAAYlK,OAAS,GAAGuC,IAAMmI,EAAUtJ,IACtF,MACyB,IAAKvF,KAAK4F,OAAOoF,MAAMtF,EAAMoE,KAAM,CACpC9J,KAAK4F,OAAOoF,MAAMtF,EAAMoE,KAAO,CAC3B9G,KAAM0C,EAAM1C,KACZxE,MAAOkH,EAAMlH,MAEzC,CACoB,QACpB,CAEgB,GAAIkH,EAAQ1F,KAAKU,UAAUqJ,MAAMrD,GAAM,CACnCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAU6J,SAAS7D,GAAM,CACtCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAGgBoJ,EAASpI,EACT,GAAI1G,KAAKsG,QAAQlG,YAAcJ,KAAKsG,QAAQlG,WAAW8O,WAAY,CAC/D,IAAIC,EAAaC,SACjB,MAAMC,EAAU3I,EAAI7B,MAAM,GAC1B,IAAIyK,EACJtP,KAAKsG,QAAQlG,WAAW8O,WAAWK,SAASC,IACxCF,EAAYE,EAAcP,KAAK,CAAE3J,MAAOtF,MAAQqP,GAChD,UAAWC,IAAc,UAAYA,GAAa,EAAG,CACjDH,EAAarG,KAAKC,IAAIoG,EAAYG,EAC9D,KAEoB,GAAIH,EAAaC,UAAYD,GAAc,EAAG,CAC1CL,EAASpI,EAAIrE,UAAU,EAAG8M,EAAa,EAC/D,CACA,CACgB,GAAInP,KAAKwF,MAAMgC,MAAQ9B,EAAQ1F,KAAKU,UAAU8J,UAAUsE,IAAU,CAC9DD,EAAYjJ,EAAOA,EAAOzB,OAAS,GACnC,GAAI4K,GAAwBF,EAAUlJ,OAAS,YAAa,CACxDkJ,EAAUxJ,KAAO,KAAOK,EAAML,IAC9BwJ,EAAUtJ,MAAQ,KAAOG,EAAMH,KAC/BvF,KAAKqO,YAAYjK,MACjBpE,KAAKqO,YAAYrO,KAAKqO,YAAYlK,OAAS,GAAGuC,IAAMmI,EAAUtJ,IACtF,KACyB,CACDK,EAAOtB,KAAKoB,EACpC,CACoBqJ,EAAwBD,EAAO3K,SAAWuC,EAAIvC,OAC9CuC,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9B,QACpB,CAEgB,GAAIuB,EAAQ1F,KAAKU,UAAU6E,KAAKmB,GAAM,CAClCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9B0K,EAAYjJ,EAAOA,EAAOzB,OAAS,GACnC,GAAI0K,GAAaA,EAAUlJ,OAAS,OAAQ,CACxCkJ,EAAUxJ,KAAO,KAAOK,EAAML,IAC9BwJ,EAAUtJ,MAAQ,KAAOG,EAAMH,KAC/BvF,KAAKqO,YAAYjK,MACjBpE,KAAKqO,YAAYrO,KAAKqO,YAAYlK,OAAS,GAAGuC,IAAMmI,EAAUtJ,IACtF,KACyB,CACDK,EAAOtB,KAAKoB,EACpC,CACoB,QACpB,CACgB,GAAIgB,EAAK,CACL,MAAM+I,EAAS,0BAA4B/I,EAAIgJ,WAAW,GAC1D,GAAI1P,KAAKsG,QAAQ7F,OAAQ,CACrBkP,QAAQtQ,MAAMoQ,GACd,KACxB,KACyB,CACD,MAAM,IAAIG,MAAMH,EACxC,CACA,CACA,CACYzP,KAAKwF,MAAMgC,IAAM,KACjB,OAAO5B,CACnB,CACQ,MAAAqB,CAAOP,EAAKd,EAAS,IACjB5F,KAAKqO,YAAY/J,KAAK,CAAEoC,MAAKd,WAC7B,OAAOA,CACnB,CAIQ,YAAAC,CAAaa,EAAKd,EAAS,IACvB,IAAIF,EAAOmJ,EAAWC,EAEtB,IAAI1D,EAAY1E,EAChB,IAAIjD,EACJ,IAAIoM,EAAcxE,EAElB,GAAIrL,KAAK4F,OAAOoF,MAAO,CACnB,MAAMA,EAAQsD,OAAOwB,KAAK9P,KAAK4F,OAAOoF,OACtC,GAAIA,EAAM7G,OAAS,EAAG,CAClB,OAAQV,EAAQzD,KAAKU,UAAU6F,MAAMU,OAAO6G,cAAc1K,KAAKgI,KAAe,KAAM,CAChF,GAAIJ,EAAM+E,SAAStM,EAAM,GAAGoB,MAAMpB,EAAM,GAAGuM,YAAY,KAAO,GAAI,IAAK,CACnE5E,EAAYA,EAAUvG,MAAM,EAAGpB,EAAM0I,OAAS,IAAM,IAAI5D,OAAO9E,EAAM,GAAGU,OAAS,GAAK,IAAMiH,EAAUvG,MAAM7E,KAAKU,UAAU6F,MAAMU,OAAO6G,cAAc7B,UAClL,CACA,CACA,CACA,CAEY,OAAQxI,EAAQzD,KAAKU,UAAU6F,MAAMU,OAAO0G,UAAUvK,KAAKgI,KAAe,KAAM,CAC5EA,EAAYA,EAAUvG,MAAM,EAAGpB,EAAM0I,OAAS,IAAM,IAAI5D,OAAO9E,EAAM,GAAGU,OAAS,GAAK,IAAMiH,EAAUvG,MAAM7E,KAAKU,UAAU6F,MAAMU,OAAO0G,UAAU1B,UAClK,CAEY,OAAQxI,EAAQzD,KAAKU,UAAU6F,MAAMU,OAAOC,eAAe9D,KAAKgI,KAAe,KAAM,CACjFA,EAAYA,EAAUvG,MAAM,EAAGpB,EAAM0I,OAAS,KAAOf,EAAUvG,MAAM7E,KAAKU,UAAU6F,MAAMU,OAAOC,eAAe+E,UAChI,CACY,MAAOvF,EAAK,CACR,IAAKmJ,EAAc,CACfxE,EAAW,EAC/B,CACgBwE,EAAe,MAEf,GAAI7P,KAAKsG,QAAQlG,YACVJ,KAAKsG,QAAQlG,WAAW6G,QACxBjH,KAAKsG,QAAQlG,WAAW6G,OAAO0C,MAAMqF,IACpC,GAAItJ,EAAQsJ,EAAaC,KAAK,CAAE3J,MAAOtF,MAAQ0G,EAAKd,GAAS,CACzDc,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,OAAO,IACnC,CACwB,OAAO,KAAK,IACZ,CACJ,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAU+J,OAAO/D,GAAM,CACpCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAUoJ,IAAIpD,GAAM,CACjCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9B0K,EAAYjJ,EAAOA,EAAOzB,OAAS,GACnC,GAAI0K,GAAanJ,EAAMC,OAAS,QAAUkJ,EAAUlJ,OAAS,OAAQ,CACjEkJ,EAAUxJ,KAAOK,EAAML,IACvBwJ,EAAUtJ,MAAQG,EAAMH,IAChD,KACyB,CACDK,EAAOtB,KAAKoB,EACpC,CACoB,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAU0E,KAAKsB,GAAM,CAClCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAUqK,QAAQrE,EAAK1G,KAAK4F,OAAOoF,OAAQ,CACxDtE,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9B0K,EAAYjJ,EAAOA,EAAOzB,OAAS,GACnC,GAAI0K,GAAanJ,EAAMC,OAAS,QAAUkJ,EAAUlJ,OAAS,OAAQ,CACjEkJ,EAAUxJ,KAAOK,EAAML,IACvBwJ,EAAUtJ,MAAQG,EAAMH,IAChD,KACyB,CACDK,EAAOtB,KAAKoB,EACpC,CACoB,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAUyK,SAASzE,EAAK0E,EAAWC,GAAW,CAC3D3E,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAU0L,SAAS1F,GAAM,CACtCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAU6L,GAAG7F,GAAM,CAChCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAU8L,IAAI9F,GAAM,CACjCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAEgB,GAAIA,EAAQ1F,KAAKU,UAAU+L,SAAS/F,GAAM,CACtCA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAEgB,IAAK1F,KAAKwF,MAAMC,SAAWC,EAAQ1F,KAAKU,UAAUgM,IAAIhG,IAAO,CACzDA,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9ByB,EAAOtB,KAAKoB,GACZ,QACpB,CAGgBoJ,EAASpI,EACT,GAAI1G,KAAKsG,QAAQlG,YAAcJ,KAAKsG,QAAQlG,WAAW6P,YAAa,CAChE,IAAId,EAAaC,SACjB,MAAMC,EAAU3I,EAAI7B,MAAM,GAC1B,IAAIyK,EACJtP,KAAKsG,QAAQlG,WAAW6P,YAAYV,SAASC,IACzCF,EAAYE,EAAcP,KAAK,CAAE3J,MAAOtF,MAAQqP,GAChD,UAAWC,IAAc,UAAYA,GAAa,EAAG,CACjDH,EAAarG,KAAKC,IAAIoG,EAAYG,EAC9D,KAEoB,GAAIH,EAAaC,UAAYD,GAAc,EAAG,CAC1CL,EAASpI,EAAIrE,UAAU,EAAG8M,EAAa,EAC/D,CACA,CACgB,GAAIzJ,EAAQ1F,KAAKU,UAAUmM,WAAWiC,GAAS,CAC3CpI,EAAMA,EAAIrE,UAAUqD,EAAML,IAAIlB,QAC9B,GAAIuB,EAAML,IAAIR,OAAO,KAAO,IAAK,CAC7BwG,EAAW3F,EAAML,IAAIR,OAAO,EACpD,CACoBgL,EAAe,KACfhB,EAAYjJ,EAAOA,EAAOzB,OAAS,GACnC,GAAI0K,GAAaA,EAAUlJ,OAAS,OAAQ,CACxCkJ,EAAUxJ,KAAOK,EAAML,IACvBwJ,EAAUtJ,MAAQG,EAAMH,IAChD,KACyB,CACDK,EAAOtB,KAAKoB,EACpC,CACoB,QACpB,CACgB,GAAIgB,EAAK,CACL,MAAM+I,EAAS,0BAA4B/I,EAAIgJ,WAAW,GAC1D,GAAI1P,KAAKsG,QAAQ7F,OAAQ,CACrBkP,QAAQtQ,MAAMoQ,GACd,KACxB,KACyB,CACD,MAAM,IAAIG,MAAMH,EACxC,CACA,CACA,CACY,OAAO7J,CACnB,EAMI,MAAMsK,GACF5J,QACA,WAAAE,CAAYF,GACRtG,KAAKsG,QAAUA,GAAWvG,EAAQa,QAC9C,CACQ,IAAAiG,CAAKA,EAAMsJ,EAAYvM,GACnB,MAAMoD,GAAQmJ,GAAc,IAAI1M,MAAM,UAAU,GAChDoD,EAAOA,EAAKjF,QAAQ,MAAO,IAAM,KACjC,IAAKoF,EAAM,CACP,MAAO,eACApD,EAAUiD,EAAOrF,EAASqF,EAAM,OACjC,iBACtB,CACY,MAAO,8BACDrF,EAASwF,GACT,MACCpD,EAAUiD,EAAOrF,EAASqF,EAAM,OACjC,iBAClB,CACQ,UAAAU,CAAW6I,GACP,MAAO,iBAAiBA,kBACpC,CACQ,IAAA3O,CAAKA,EAAMkF,GACP,OAAOlF,CACnB,CACQ,OAAA0F,CAAQ5B,EAAMN,EAAOI,GAEjB,MAAO,KAAKJ,KAASM,OAAUN,MAC3C,CACQ,EAAAqC,GACI,MAAO,QACnB,CACQ,IAAAI,CAAK2I,EAAMxI,EAASC,GAChB,MAAMnC,EAAOkC,EAAU,KAAO,KAC9B,MAAMyI,EAAYzI,GAAWC,IAAU,EAAM,WAAaA,EAAQ,IAAO,GACzE,MAAO,IAAMnC,EAAO2K,EAAW,MAAQD,EAAO,KAAO1K,EAAO,KACxE,CACQ,QAAA4K,CAAShL,EAAM+D,EAAMnL,GACjB,MAAO,OAAOoH,UAC1B,CACQ,QAAAiL,CAASrS,GACL,MAAO,WACAA,EAAU,cAAgB,IAC3B,8BAClB,CACQ,SAAAqM,CAAUjF,GACN,MAAO,MAAMA,SACzB,CACQ,KAAAwE,CAAMK,EAAQiG,GACV,GAAIA,EACAA,EAAO,UAAUA,YACrB,MAAO,YACD,YACAjG,EACA,aACAiG,EACA,YAClB,CACQ,QAAAI,CAASC,GACL,MAAO,SAASA,UAC5B,CACQ,SAAAC,CAAUD,EAASE,GACf,MAAMjL,EAAOiL,EAAMxG,OAAS,KAAO,KACnC,MAAMN,EAAM8G,EAAMvG,MACZ,IAAI1E,YAAeiL,EAAMvG,UACzB,IAAI1E,KACV,OAAOmE,EAAM4G,EAAU,KAAK/K,MACxC,CAIQ,MAAAkL,CAAOtL,GACH,MAAO,WAAWA,YAC9B,CACQ,EAAAuL,CAAGvL,GACC,MAAO,OAAOA,QAC1B,CACQ,QAAA6G,CAAS7G,GACL,MAAO,SAASA,UAC5B,CACQ,EAAAgH,GACI,MAAO,MACnB,CACQ,GAAAC,CAAIjH,GACA,MAAO,QAAQA,SAC3B,CACQ,IAAAH,CAAKpC,EAAMxE,EAAO+G,GACd,MAAMwL,EAAYhO,EAASC,GAC3B,GAAI+N,IAAc,KAAM,CACpB,OAAOxL,CACvB,CACYvC,EAAO+N,EACP,IAAIC,EAAM,YAAchO,EAAO,IAC/B,GAAIxE,EAAO,CACPwS,GAAO,WAAaxS,EAAQ,GAC5C,CACYwS,GAAO,IAAMzL,EAAO,OACpB,OAAOyL,CACnB,CACQ,KAAAC,CAAMjO,EAAMxE,EAAO+G,GACf,MAAMwL,EAAYhO,EAASC,GAC3B,GAAI+N,IAAc,KAAM,CACpB,OAAOxL,CACvB,CACYvC,EAAO+N,EACP,IAAIC,EAAM,aAAahO,WAAcuC,KACrC,GAAI/G,EAAO,CACPwS,GAAO,WAAWxS,IAClC,CACYwS,GAAO,IACP,OAAOA,CACnB,CACQ,IAAAzL,CAAKA,GACD,OAAOA,CACnB,EAOI,MAAM2L,GAEF,MAAAL,CAAOtL,GACH,OAAOA,CACnB,CACQ,EAAAuL,CAAGvL,GACC,OAAOA,CACnB,CACQ,QAAA6G,CAAS7G,GACL,OAAOA,CACnB,CACQ,GAAAiH,CAAIjH,GACA,OAAOA,CACnB,CACQ,IAAA9D,CAAK8D,GACD,OAAOA,CACnB,CACQ,IAAAA,CAAKA,GACD,OAAOA,CACnB,CACQ,IAAAH,CAAKpC,EAAMxE,EAAO+G,GACd,MAAO,GAAKA,CACxB,CACQ,KAAA0L,CAAMjO,EAAMxE,EAAO+G,GACf,MAAO,GAAKA,CACxB,CACQ,EAAAgH,GACI,MAAO,EACnB,EAMI,MAAM4E,GACF7K,QACA9F,SACA4Q,aACA,WAAA5K,CAAYF,GACRtG,KAAKsG,QAAUA,GAAWvG,EAAQa,SAClCZ,KAAKsG,QAAQ9F,SAAWR,KAAKsG,QAAQ9F,UAAY,IAAI0P,GACrDlQ,KAAKQ,SAAWR,KAAKsG,QAAQ9F,SAC7BR,KAAKQ,SAAS8F,QAAUtG,KAAKsG,QAC7BtG,KAAKoR,aAAe,IAAIF,EACpC,CAIQ,YAAOG,CAAMzL,EAAQU,GACjB,MAAMgL,EAAS,IAAIH,GAAQ7K,GAC3B,OAAOgL,EAAOD,MAAMzL,EAChC,CAIQ,kBAAO2L,CAAY3L,EAAQU,GACvB,MAAMgL,EAAS,IAAIH,GAAQ7K,GAC3B,OAAOgL,EAAOC,YAAY3L,EACtC,CAIQ,KAAAyL,CAAMzL,EAAQ4B,EAAM,MAChB,IAAIwJ,EAAM,GACV,IAAK,IAAIhN,EAAI,EAAGA,EAAI4B,EAAOzB,OAAQH,IAAK,CACpC,MAAM0B,EAAQE,EAAO5B,GAErB,GAAIhE,KAAKsG,QAAQlG,YAAcJ,KAAKsG,QAAQlG,WAAWoR,WAAaxR,KAAKsG,QAAQlG,WAAWoR,UAAU9L,EAAMC,MAAO,CAC/G,MAAM8L,EAAe/L,EACrB,MAAMgM,EAAM1R,KAAKsG,QAAQlG,WAAWoR,UAAUC,EAAa9L,MAAMsJ,KAAK,CAAEqC,OAAQtR,MAAQyR,GACxF,GAAIC,IAAQ,QAAU,CAAC,QAAS,KAAM,UAAW,OAAQ,QAAS,aAAc,OAAQ,OAAQ,YAAa,QAAQ3B,SAAS0B,EAAa9L,MAAO,CAC9IqL,GAAOU,GAAO,GACd,QACxB,CACA,CACgB,OAAQhM,EAAMC,MACV,IAAK,QAAS,CACV,QACxB,CACoB,IAAK,KAAM,CACPqL,GAAOhR,KAAKQ,SAAS8G,KACrB,QACxB,CACoB,IAAK,UAAW,CACZ,MAAMqK,EAAejM,EACrBsL,GAAOhR,KAAKQ,SAAS2G,QAAQnH,KAAKuR,YAAYI,EAAa/L,QAAS+L,EAAatK,MAAOvF,EAAS9B,KAAKuR,YAAYI,EAAa/L,OAAQ5F,KAAKoR,gBAC5I,QACxB,CACoB,IAAK,OAAQ,CACT,MAAMQ,EAAYlM,EAClBsL,GAAOhR,KAAKQ,SAASqG,KAAK+K,EAAUrM,KAAMqM,EAAU5K,OAAQ4K,EAAUhO,SACtE,QACxB,CACoB,IAAK,QAAS,CACV,MAAMiO,EAAanM,EACnB,IAAI0E,EAAS,GAEb,IAAIE,EAAO,GACX,IAAK,IAAIwH,EAAI,EAAGA,EAAID,EAAWzH,OAAOjG,OAAQ2N,IAAK,CAC/CxH,GAAQtK,KAAKQ,SAASmQ,UAAU3Q,KAAKuR,YAAYM,EAAWzH,OAAO0H,GAAGlM,QAAS,CAAEwE,OAAQ,KAAMC,MAAOwH,EAAWxH,MAAMyH,IACnJ,CACwB1H,GAAUpK,KAAKQ,SAASiQ,SAASnG,GACjC,IAAI+F,EAAO,GACX,IAAK,IAAIyB,EAAI,EAAGA,EAAID,EAAW3H,KAAK/F,OAAQ2N,IAAK,CAC7C,MAAMtO,EAAMqO,EAAW3H,KAAK4H,GAC5BxH,EAAO,GACP,IAAK,IAAIyH,EAAI,EAAGA,EAAIvO,EAAIW,OAAQ4N,IAAK,CACjCzH,GAAQtK,KAAKQ,SAASmQ,UAAU3Q,KAAKuR,YAAY/N,EAAIuO,GAAGnM,QAAS,CAAEwE,OAAQ,MAAOC,MAAOwH,EAAWxH,MAAM0H,IAC1I,CAC4B1B,GAAQrQ,KAAKQ,SAASiQ,SAASnG,EAC3D,CACwB0G,GAAOhR,KAAKQ,SAASuJ,MAAMK,EAAQiG,GACnC,QACxB,CACoB,IAAK,aAAc,CACf,MAAM2B,EAAkBtM,EACxB,MAAM2K,EAAOrQ,KAAKqR,MAAMW,EAAgBpM,QACxCoL,GAAOhR,KAAKQ,SAAS+G,WAAW8I,GAChC,QACxB,CACoB,IAAK,OAAQ,CACT,MAAM4B,EAAYvM,EAClB,MAAMmC,EAAUoK,EAAUpK,QAC1B,MAAMC,EAAQmK,EAAUnK,MACxB,MAAMC,EAAQkK,EAAUlK,MACxB,IAAIsI,EAAO,GACX,IAAK,IAAIyB,EAAI,EAAGA,EAAIG,EAAUjK,MAAM7D,OAAQ2N,IAAK,CAC7C,MAAM3H,EAAO8H,EAAUjK,MAAM8J,GAC7B,MAAM3T,EAAUgM,EAAKhM,QACrB,MAAMmL,EAAOa,EAAKb,KAClB,IAAI4I,EAAW,GACf,GAAI/H,EAAKb,KAAM,CACX,MAAMkH,EAAWxQ,KAAKQ,SAASgQ,WAAWrS,GAC1C,GAAI4J,EAAO,CACP,GAAIoC,EAAKvE,OAAOzB,OAAS,GAAKgG,EAAKvE,OAAO,GAAGD,OAAS,YAAa,CAC/DwE,EAAKvE,OAAO,GAAGL,KAAOiL,EAAW,IAAMrG,EAAKvE,OAAO,GAAGL,KACtD,GAAI4E,EAAKvE,OAAO,GAAGA,QAAUuE,EAAKvE,OAAO,GAAGA,OAAOzB,OAAS,GAAKgG,EAAKvE,OAAO,GAAGA,OAAO,GAAGD,OAAS,OAAQ,CACvGwE,EAAKvE,OAAO,GAAGA,OAAO,GAAGL,KAAOiL,EAAW,IAAMrG,EAAKvE,OAAO,GAAGA,OAAO,GAAGL,IACtH,CACA,KACyC,CACD4E,EAAKvE,OAAOuM,QAAQ,CAChBxM,KAAM,OACNJ,KAAMiL,EAAW,KAE7D,CACA,KACqC,CACD0B,GAAY1B,EAAW,GAC3D,CACA,CAC4B0B,GAAYlS,KAAKqR,MAAMlH,EAAKvE,OAAQmC,GACpCsI,GAAQrQ,KAAKQ,SAAS+P,SAAS2B,EAAU5I,IAAQnL,EAC7E,CACwB6S,GAAOhR,KAAKQ,SAASkH,KAAK2I,EAAMxI,EAASC,GACzC,QACxB,CACoB,IAAK,OAAQ,CACT,MAAMsK,EAAY1M,EAClBsL,GAAOhR,KAAKQ,SAASiB,KAAK2Q,EAAU7M,KAAM6M,EAAUzL,OACpD,QACxB,CACoB,IAAK,YAAa,CACd,MAAM0L,EAAiB3M,EACvBsL,GAAOhR,KAAKQ,SAASgK,UAAUxK,KAAKuR,YAAYc,EAAezM,SAC/D,QACxB,CACoB,IAAK,OAAQ,CACT,IAAI0M,EAAY5M,EAChB,IAAI2K,EAAOiC,EAAU1M,OAAS5F,KAAKuR,YAAYe,EAAU1M,QAAU0M,EAAU/M,KAC7E,MAAOvB,EAAI,EAAI4B,EAAOzB,QAAUyB,EAAO5B,EAAI,GAAG2B,OAAS,OAAQ,CAC3D2M,EAAY1M,IAAS5B,GACrBqM,GAAQ,MAAQiC,EAAU1M,OAAS5F,KAAKuR,YAAYe,EAAU1M,QAAU0M,EAAU/M,KAC9G,CACwByL,GAAOxJ,EAAMxH,KAAKQ,SAASgK,UAAU6F,GAAQA,EAC7C,QACxB,CACoB,QAAS,CACL,MAAMZ,EAAS,eAAiB/J,EAAMC,KAAO,wBAC7C,GAAI3F,KAAKsG,QAAQ7F,OAAQ,CACrBkP,QAAQtQ,MAAMoQ,GACd,MAAO,EACnC,KAC6B,CACD,MAAM,IAAIG,MAAMH,EAC5C,CACA,EAEA,CACY,OAAOuB,CACnB,CAIQ,WAAAO,CAAY3L,EAAQpF,GAChBA,EAAWA,GAAYR,KAAKQ,SAC5B,IAAIwQ,EAAM,GACV,IAAK,IAAIhN,EAAI,EAAGA,EAAI4B,EAAOzB,OAAQH,IAAK,CACpC,MAAM0B,EAAQE,EAAO5B,GAErB,GAAIhE,KAAKsG,QAAQlG,YAAcJ,KAAKsG,QAAQlG,WAAWoR,WAAaxR,KAAKsG,QAAQlG,WAAWoR,UAAU9L,EAAMC,MAAO,CAC/G,MAAM+L,EAAM1R,KAAKsG,QAAQlG,WAAWoR,UAAU9L,EAAMC,MAAMsJ,KAAK,CAAEqC,OAAQtR,MAAQ0F,GACjF,GAAIgM,IAAQ,QAAU,CAAC,SAAU,OAAQ,OAAQ,QAAS,SAAU,KAAM,WAAY,KAAM,MAAO,QAAQ3B,SAASrK,EAAMC,MAAO,CAC7HqL,GAAOU,GAAO,GACd,QACxB,CACA,CACgB,OAAQhM,EAAMC,MACV,IAAK,SAAU,CACX,MAAM4M,EAAc7M,EACpBsL,GAAOxQ,EAAS+E,KAAKgN,EAAYhN,MACjC,KACxB,CACoB,IAAK,OAAQ,CACT,MAAMiN,EAAW9M,EACjBsL,GAAOxQ,EAASiB,KAAK+Q,EAASjN,MAC9B,KACxB,CACoB,IAAK,OAAQ,CACT,MAAMkN,EAAY/M,EAClBsL,GAAOxQ,EAAS4E,KAAKqN,EAAUzP,KAAMyP,EAAUjU,MAAOwB,KAAKuR,YAAYkB,EAAU7M,OAAQpF,IACzF,KACxB,CACoB,IAAK,QAAS,CACV,MAAMkS,EAAahN,EACnBsL,GAAOxQ,EAASyQ,MAAMyB,EAAW1P,KAAM0P,EAAWlU,MAAOkU,EAAWnN,MACpE,KACxB,CACoB,IAAK,SAAU,CACX,MAAMoN,EAAcjN,EACpBsL,GAAOxQ,EAASqQ,OAAO7Q,KAAKuR,YAAYoB,EAAY/M,OAAQpF,IAC5D,KACxB,CACoB,IAAK,KAAM,CACP,MAAMoS,EAAUlN,EAChBsL,GAAOxQ,EAASsQ,GAAG9Q,KAAKuR,YAAYqB,EAAQhN,OAAQpF,IACpD,KACxB,CACoB,IAAK,WAAY,CACb,MAAMqS,EAAgBnN,EACtBsL,GAAOxQ,EAAS4L,SAASyG,EAActN,MACvC,KACxB,CACoB,IAAK,KAAM,CACPyL,GAAOxQ,EAAS+L,KAChB,KACxB,CACoB,IAAK,MAAO,CACR,MAAMuG,EAAWpN,EACjBsL,GAAOxQ,EAASgM,IAAIxM,KAAKuR,YAAYuB,EAASlN,OAAQpF,IACtD,KACxB,CACoB,IAAK,OAAQ,CACT,MAAM8R,EAAY5M,EAClBsL,GAAOxQ,EAAS+E,KAAK+M,EAAU/M,MAC/B,KACxB,CACoB,QAAS,CACL,MAAMkK,EAAS,eAAiB/J,EAAMC,KAAO,wBAC7C,GAAI3F,KAAKsG,QAAQ7F,OAAQ,CACrBkP,QAAQtQ,MAAMoQ,GACd,MAAO,EACnC,KAC6B,CACD,MAAM,IAAIG,MAAMH,EAC5C,CACA,EAEA,CACY,OAAOuB,CACnB,EAGI,MAAM+B,GACFzM,QACA,WAAAE,CAAYF,GACRtG,KAAKsG,QAAUA,GAAWvG,EAAQa,QAC9C,CACQoS,wBAA0B,IAAIC,IAAI,CAC9B,aACA,cACA,qBAKJ,UAAAC,CAAWC,GACP,OAAOA,CACnB,CAIQ,WAAAC,CAAY3R,GACR,OAAOA,CACnB,CAIQ,gBAAA4R,CAAiBzN,GACb,OAAOA,CACnB,EAGI,MAAM0N,GACF1S,SAAWX,IACXqG,QAAUtG,KAAKuT,WACflC,MAAQrR,MAAKwT,EAAepF,GAAOI,IAAK2C,GAAQE,OAChDE,YAAcvR,MAAKwT,EAAepF,GAAOK,UAAW0C,GAAQI,aAC5DkC,OAAStC,GACTuC,SAAWxD,GACXyD,aAAezC,GACf0C,MAAQxF,GACRyF,UAAYxN,EACZyN,MAAQf,GACR,WAAAvM,IAAeuN,GACX/T,KAAKgU,OAAOD,EACxB,CAIQ,UAAApT,CAAWiF,EAAQqO,GACf,IAAIC,EAAS,GACb,IAAK,MAAMxO,KAASE,EAAQ,CACxBsO,EAASA,EAAOC,OAAOF,EAAShF,KAAKjP,KAAM0F,IAC3C,OAAQA,EAAMC,MACV,IAAK,QAAS,CACV,MAAMkM,EAAanM,EACnB,IAAK,MAAM4E,KAAQuH,EAAWzH,OAAQ,CAClC8J,EAASA,EAAOC,OAAOnU,KAAKW,WAAW2J,EAAK1E,OAAQqO,GAChF,CACwB,IAAK,MAAMzQ,KAAOqO,EAAW3H,KAAM,CAC/B,IAAK,MAAMI,KAAQ9G,EAAK,CACpB0Q,EAASA,EAAOC,OAAOnU,KAAKW,WAAW2J,EAAK1E,OAAQqO,GACpF,CACA,CACwB,KACxB,CACoB,IAAK,OAAQ,CACT,MAAMhC,EAAYvM,EAClBwO,EAASA,EAAOC,OAAOnU,KAAKW,WAAWsR,EAAUjK,MAAOiM,IACxD,KACxB,CACoB,QAAS,CACL,MAAMxC,EAAe/L,EACrB,GAAI1F,KAAKY,SAASR,YAAYgU,cAAc3C,EAAa9L,MAAO,CAC5D3F,KAAKY,SAASR,WAAWgU,YAAY3C,EAAa9L,MAAM4J,SAAS6E,IAC7D,MAAMxO,EAAS6L,EAAa2C,GAAaC,KAAKjF,UAC9C8E,EAASA,EAAOC,OAAOnU,KAAKW,WAAWiF,EAAQqO,GAAU,GAEzF,MAC6B,GAAIxC,EAAa7L,OAAQ,CAC1BsO,EAASA,EAAOC,OAAOnU,KAAKW,WAAW8Q,EAAa7L,OAAQqO,GACxF,CACA,EAEA,CACY,OAAOC,CACnB,CACQ,GAAAF,IAAOD,GACH,MAAM3T,EAAaJ,KAAKY,SAASR,YAAc,CAAEoR,UAAW,GAAI4C,YAAa,IAC7EL,EAAKxE,SAAS+E,IAEV,MAAMC,EAAO,IAAKD,GAElBC,EAAKrU,MAAQF,KAAKY,SAASV,OAASqU,EAAKrU,OAAS,MAElD,GAAIoU,EAAKlU,WAAY,CACjBkU,EAAKlU,WAAWmP,SAASiF,IACrB,IAAKA,EAAI7R,KAAM,CACX,MAAM,IAAIiN,MAAM,0BAC5C,CACwB,GAAI,aAAc4E,EAAK,CACnB,MAAMC,EAAerU,EAAWoR,UAAUgD,EAAI7R,MAC9C,GAAI8R,EAAc,CAEdrU,EAAWoR,UAAUgD,EAAI7R,MAAQ,YAAaoR,GAC1C,IAAIrC,EAAM8C,EAAIhU,SAASkU,MAAM1U,KAAM+T,GACnC,GAAIrC,IAAQ,MAAO,CACfA,EAAM+C,EAAaC,MAAM1U,KAAM+T,EACvE,CACoC,OAAOrC,CAC3C,CACA,KACiC,CACDtR,EAAWoR,UAAUgD,EAAI7R,MAAQ6R,EAAIhU,QACrE,CACA,CACwB,GAAI,cAAegU,EAAK,CACpB,IAAKA,EAAIvP,OAAUuP,EAAIvP,QAAU,SAAWuP,EAAIvP,QAAU,SAAW,CACjE,MAAM,IAAI2K,MAAM,8CAChD,CAC4B,MAAM+E,EAAWvU,EAAWoU,EAAIvP,OAChC,GAAI0P,EAAU,CACVA,EAASxC,QAAQqC,EAAI9T,UACrD,KACiC,CACDN,EAAWoU,EAAIvP,OAAS,CAACuP,EAAI9T,UAC7D,CAC4B,GAAI8T,EAAI1M,MAAO,CACX,GAAI0M,EAAIvP,QAAU,QAAS,CACvB,GAAI7E,EAAW8O,WAAY,CACvB9O,EAAW8O,WAAW5K,KAAKkQ,EAAI1M,MACvE,KACyC,CACD1H,EAAW8O,WAAa,CAACsF,EAAI1M,MACrE,CACA,MACqC,GAAI0M,EAAIvP,QAAU,SAAU,CAC7B,GAAI7E,EAAW6P,YAAa,CACxB7P,EAAW6P,YAAY3L,KAAKkQ,EAAI1M,MACxE,KACyC,CACD1H,EAAW6P,YAAc,CAACuE,EAAI1M,MACtE,CACA,CACA,CACA,CACwB,GAAI,gBAAiB0M,GAAOA,EAAIJ,YAAa,CACzChU,EAAWgU,YAAYI,EAAI7R,MAAQ6R,EAAIJ,WACnE,KAEoBG,EAAKnU,WAAaA,CACtC,CAEgB,GAAIkU,EAAK9T,SAAU,CACf,MAAMA,EAAWR,KAAKY,SAASJ,UAAY,IAAI0P,GAAUlQ,KAAKY,UAC9D,IAAK,MAAMgU,KAAQN,EAAK9T,SAAU,CAC9B,KAAMoU,KAAQpU,GAAW,CACrB,MAAM,IAAIoP,MAAM,aAAagF,oBACzD,CACwB,GAAIA,IAAS,UAAW,CAEpB,QAC5B,CACwB,MAAMC,EAAeD,EACrB,MAAME,EAAeR,EAAK9T,SAASqU,GACnC,MAAMJ,EAAejU,EAASqU,GAE9BrU,EAASqU,GAAgB,IAAId,KACzB,IAAIrC,EAAMoD,EAAaJ,MAAMlU,EAAUuT,GACvC,GAAIrC,IAAQ,MAAO,CACfA,EAAM+C,EAAaC,MAAMlU,EAAUuT,EACnE,CAC4B,OAAOrC,GAAO,EAAE,CAE5C,CACoB6C,EAAK/T,SAAWA,CACpC,CACgB,GAAI8T,EAAK5T,UAAW,CAChB,MAAMA,EAAYV,KAAKY,SAASF,WAAa,IAAI2F,EAAWrG,KAAKY,UACjE,IAAK,MAAMgU,KAAQN,EAAK5T,UAAW,CAC/B,KAAMkU,KAAQlU,GAAY,CACtB,MAAM,IAAIkP,MAAM,cAAcgF,oBAC1D,CACwB,GAAI,CAAC,UAAW,QAAS,SAAS7E,SAAS6E,GAAO,CAE9C,QAC5B,CACwB,MAAMG,EAAgBH,EACtB,MAAMI,EAAgBV,EAAK5T,UAAUqU,GACrC,MAAME,EAAgBvU,EAAUqU,GAGhCrU,EAAUqU,GAAiB,IAAIhB,KAC3B,IAAIrC,EAAMsD,EAAcN,MAAMhU,EAAWqT,GACzC,GAAIrC,IAAQ,MAAO,CACfA,EAAMuD,EAAcP,MAAMhU,EAAWqT,EACrE,CAC4B,OAAOrC,CAAG,CAEtC,CACoB6C,EAAK7T,UAAYA,CACrC,CAEgB,GAAI4T,EAAKhU,MAAO,CACZ,MAAMA,EAAQN,KAAKY,SAASN,OAAS,IAAIyS,GACzC,IAAK,MAAM6B,KAAQN,EAAKhU,MAAO,CAC3B,KAAMsU,KAAQtU,GAAQ,CAClB,MAAM,IAAIsP,MAAM,SAASgF,oBACrD,CACwB,GAAIA,IAAS,UAAW,CAEpB,QAC5B,CACwB,MAAMM,EAAYN,EAClB,MAAMO,EAAYb,EAAKhU,MAAM4U,GAC7B,MAAME,EAAW9U,EAAM4U,GACvB,GAAInC,GAAOsC,iBAAiBC,IAAIV,GAAO,CAEnCtU,EAAM4U,GAAcK,IAChB,GAAIvV,KAAKY,SAASV,MAAO,CACrB,OAAOsV,QAAQC,QAAQN,EAAUlG,KAAK3O,EAAOiV,IAAMG,MAAKhE,GAC7C0D,EAASnG,KAAK3O,EAAOoR,IAEpE,CACgC,MAAMA,EAAMyD,EAAUlG,KAAK3O,EAAOiV,GAClC,OAAOH,EAASnG,KAAK3O,EAAOoR,EAAI,CAEhE,KAC6B,CAEDpR,EAAM4U,GAAa,IAAInB,KACnB,IAAIrC,EAAMyD,EAAUT,MAAMpU,EAAOyT,GACjC,GAAIrC,IAAQ,MAAO,CACfA,EAAM0D,EAASV,MAAMpU,EAAOyT,EAChE,CACgC,OAAOrC,CAAG,CAE1C,CACA,CACoB6C,EAAKjU,MAAQA,CACjC,CAEgB,GAAIgU,EAAK3T,WAAY,CACjB,MAAMA,EAAaX,KAAKY,SAASD,WACjC,MAAMgV,EAAiBrB,EAAK3T,WAC5B4T,EAAK5T,WAAa,SAAU+E,GACxB,IAAIwO,EAAS,GACbA,EAAO5P,KAAKqR,EAAe1G,KAAKjP,KAAM0F,IACtC,GAAI/E,EAAY,CACZuT,EAASA,EAAOC,OAAOxT,EAAWsO,KAAKjP,KAAM0F,GACzE,CACwB,OAAOwO,CAC/B,CACA,CACgBlU,KAAKY,SAAW,IAAKZ,KAAKY,YAAa2T,EAAM,IAEjD,OAAOvU,IACnB,CACQ,UAAAuT,CAAW9Q,GACPzC,KAAKY,SAAW,IAAKZ,KAAKY,YAAa6B,GACvC,OAAOzC,IACnB,CACQ,KAAAsF,CAAMoB,EAAKJ,GACP,OAAO8H,GAAOI,IAAI9H,EAAKJ,GAAWtG,KAAKY,SACnD,CACQ,MAAA0Q,CAAO1L,EAAQU,GACX,OAAO6K,GAAQE,MAAMzL,EAAQU,GAAWtG,KAAKY,SACzD,CACQ,EAAA4S,CAAelO,EAAOgM,GAClB,MAAO,CAAC5K,EAAKJ,KACT,MAAMsP,EAAU,IAAKtP,GACrB,MAAM7D,EAAM,IAAKzC,KAAKY,YAAagV,GAEnC,GAAI5V,KAAKY,SAASV,QAAU,MAAQ0V,EAAQ1V,QAAU,MAAO,CACzD,IAAKuC,EAAIhC,OAAQ,CACbkP,QAAQkG,KAAK,qHACrC,CACoBpT,EAAIvC,MAAQ,IAChC,CACgB,MAAM4V,EAAa9V,MAAK+V,IAAWtT,EAAIhC,SAAUgC,EAAIvC,OAErD,UAAWwG,IAAQ,aAAeA,IAAQ,KAAM,CAC5C,OAAOoP,EAAW,IAAIlG,MAAM,kDAChD,CACgB,UAAWlJ,IAAQ,SAAU,CACzB,OAAOoP,EAAW,IAAIlG,MAAM,wCACtBtB,OAAO0H,UAAUC,SAAShH,KAAKvI,GAAO,qBAChE,CACgB,GAAIjE,EAAInC,MAAO,CACXmC,EAAInC,MAAMgG,QAAU7D,CACxC,CACgB,GAAIA,EAAIvC,MAAO,CACX,OAAOsV,QAAQC,QAAQhT,EAAInC,MAAQmC,EAAInC,MAAM4S,WAAWxM,GAAOA,GAC1DgP,MAAKhP,GAAOpB,EAAMoB,EAAKjE,KACvBiT,MAAK9P,GAAUnD,EAAInC,MAAQmC,EAAInC,MAAM+S,iBAAiBzN,GAAUA,IAChE8P,MAAK9P,GAAUnD,EAAI9B,WAAa6U,QAAQU,IAAIlW,KAAKW,WAAWiF,EAAQnD,EAAI9B,aAAa+U,MAAK,IAAM9P,IAAUA,IAC1G8P,MAAK9P,GAAU0L,EAAO1L,EAAQnD,KAC9BiT,MAAKjU,GAAQgB,EAAInC,MAAQmC,EAAInC,MAAM8S,YAAY3R,GAAQA,IACvD0U,MAAML,EAC/B,CACgB,IACI,GAAIrT,EAAInC,MAAO,CACXoG,EAAMjE,EAAInC,MAAM4S,WAAWxM,EACnD,CACoB,IAAId,EAASN,EAAMoB,EAAKjE,GACxB,GAAIA,EAAInC,MAAO,CACXsF,EAASnD,EAAInC,MAAM+S,iBAAiBzN,EAC5D,CACoB,GAAInD,EAAI9B,WAAY,CAChBX,KAAKW,WAAWiF,EAAQnD,EAAI9B,WACpD,CACoB,IAAIc,EAAO6P,EAAO1L,EAAQnD,GAC1B,GAAIA,EAAInC,MAAO,CACXmB,EAAOgB,EAAInC,MAAM8S,YAAY3R,EACrD,CACoB,OAAOA,CAC3B,CACgB,MAAOyB,GACH,OAAO4S,EAAW5S,EACtC,EAEA,CACQ,EAAA6S,CAAStV,EAAQP,GACb,OAAQgD,IACJA,EAAEkT,SAAW,8DACb,GAAI3V,EAAQ,CACR,MAAM4V,EAAM,iCACN7U,EAAS0B,EAAEkT,QAAU,GAAI,MACzB,SACN,GAAIlW,EAAO,CACP,OAAOsV,QAAQC,QAAQY,EAC/C,CACoB,OAAOA,CAC3B,CACgB,GAAInW,EAAO,CACP,OAAOsV,QAAQc,OAAOpT,EAC1C,CACgB,MAAMA,CAAC,CAEvB,EAGI,MAAMqT,GAAiB,IAAIjD,GAC3B,SAASkD,GAAO9P,EAAKjE,GACjB,OAAO8T,GAAelF,MAAM3K,EAAKjE,EACzC,CAMI+T,GAAOlQ,QACHkQ,GAAOjD,WAAa,SAAUjN,GAC1BiQ,GAAehD,WAAWjN,GAC1BkQ,GAAO5V,SAAW2V,GAAe3V,SACjCC,EAAe2V,GAAO5V,UACtB,OAAO4V,EACnB,EAIIA,GAAOC,YAAcxW,EACrBuW,GAAO5V,SAAWb,EAAQa,SAI1B4V,GAAOxC,IAAM,YAAaD,GACtBwC,GAAevC,OAAOD,GACtByC,GAAO5V,SAAW2V,GAAe3V,SACjCC,EAAe2V,GAAO5V,UACtB,OAAO4V,EACf,EAIIA,GAAO7V,WAAa,SAAUiF,EAAQqO,GAClC,OAAOsC,GAAe5V,WAAWiF,EAAQqO,EACjD,EAQIuC,GAAOjF,YAAcgF,GAAehF,YAIpCiF,GAAO/C,OAAStC,GAChBqF,GAAOlF,OAASH,GAAQE,MACxBmF,GAAO9C,SAAWxD,GAClBsG,GAAO7C,aAAezC,GACtBsF,GAAO5C,MAAQxF,GACfoI,GAAOlR,MAAQ8I,GAAOI,IACtBgI,GAAO3C,UAAYxN,EACnBmQ,GAAO1C,MAAQf,GACfyD,GAAOnF,MAAQmF,GACf,MAAMlQ,GAAUkQ,GAAOlQ,QACvB,MAAMiN,GAAaiD,GAAOjD,WAC1B,MAAMS,GAAMwC,GAAOxC,IACnB,MAAMrT,GAAa6V,GAAO7V,WAC1B,MAAM4Q,GAAciF,GAAOjF,YAC3B,MAAMF,GAAQmF,GACd,MAAMlF,GAASH,GAAQE,MACvB,MAAM/L,GAAQ8I,GAAOI,IAErBzO,EAAQ+T,MAAQf,GAChBhT,EAAQ6T,MAAQxF,GAChBrO,EAAQuT,OAASA,GACjBvT,EAAQ0T,OAAStC,GACjBpR,EAAQ2T,SAAWxD,GACnBnQ,EAAQ4T,aAAezC,GACvBnR,EAAQ8T,UAAYxN,EACpBtG,EAAQ0W,YAAcxW,EACtBF,EAAQuF,MAAQA,GAChBvF,EAAQyW,OAASA,GACjBzW,EAAQuG,QAAUA,GAClBvG,EAAQsR,MAAQA,GAChBtR,EAAQwR,YAAcA,GACtBxR,EAAQuR,OAASA,GACjBvR,EAAQwT,WAAaA,GACrBxT,EAAQiU,IAAMA,GACdjU,EAAQY,WAAaA,EAExB,G,gBCp5ED,MAAM+V,EAAqBC,IACzB,MAAMC,EAAkBD,EAAa/U,QAAQ,WAAY,KACzD,MAAMiV,EAA2BD,EAAgBhV,QAAQ,UAAW,KAEpE,OAAOiV,EAAyB5S,MAAM,EAGxC,MAAM6S,EAAkB,4BAExB,MAAMC,EAA2BxR,IAC/B,MAAM9B,EAAQqT,EAAgB1T,KAAKmC,GACnC,GAAI9B,EAAO,CACT,MAAMuT,EAASvT,EAAM,GAErB,MAAMwT,EAAuC,CAC3C,MACE,2EACF,KAAM,2CACN,IAAK,qCACL,IAAK,6CAGP,OAAO1R,EAAK3D,QAAQkV,EAAiBG,EAAaD,G,CAGpD,OAAOzR,CAAI,EAGb,MAAM2R,EAAc3R,GACXA,EACJ3D,QAAQ,KAAM,SACdA,QAAQ,KAAM,QACdA,QAAQ,KAAM,QACdA,QAAQ,KAAM,UACdA,QAAQ,KAAM,SAGnB,MAAMuV,EAAiB,CACrB,UAAA5P,CAAW6I,GACT,MAAO,yCAAyCA,gB,EAGlD,IAAAvJ,CAAKA,GACH,MAAO,uCAAuCqQ,EAAWrQ,iB,EAG3D,QAAAuF,CAAS7G,GACP,MAAO,mCAAmCA,U,EAG5C,EAAAuL,CAAGvL,GACD,MAAO,8BAA8BA,Q,EAGvC,OAAA4B,CAAQ5B,EAAcN,GACpB,MAAMmS,EAAYV,EAAkBnR,GAEpC,MAAO,6BAA6BN,kBAAsBmS,MAAc7R,S,EAG1E,IAAA9D,CAAK8D,GACH,OAAO2R,EAAW3R,E,EAGpB,IAAAmC,CAAK2I,EAAcxI,EAAkBC,GACnC,MAAMnC,EAAOkC,EAAU,KAAO,KAC9B,MAAMvJ,EAAOuJ,EAAU,sBAAwB,wBAE/C,MAAMiC,EACJjC,GAAWC,IAAU,EACjB,IAAInC,WAAcrH,aAAgBwJ,MAClC,IAAInC,WAAcrH,MAExB,MAAO,GAAGwL,IAAMuG,MAAS1K,I,EAQ3B,QAAA4K,CAAShL,GACP,MAAM8R,EAAgB9R,EACnB3D,QAAQ,YAAa,IACrBA,QAAQ,YAAa,IACxB,MAAM0V,EAAoBP,EAAwBM,GAClD,MAAO,+BAA+BC,Q,EAGxC,SAAA9M,CAAUjF,GACR,MAAO,8BAA8BA,O,EAGvC,MAAAsL,CAAOtL,GACL,MAAO,gCAAgCA,Y,EASzC,KAAAwE,CAAMK,EAAgBiG,GACpB,MAAO,iGAAiGjG,mBAAwBiG,yB,EAGlI,SAAAM,CACED,EACAE,GAEA,MAAMjL,EAAOiL,EAAMxG,OAAS,KAAO,KACnC,MAAM9L,EAAOsS,EAAMxG,OAAS,sBAAwB,uBACpD,MAAMN,EAAM8G,EAAMvG,MACd,IAAI1E,WAAcrH,aAAgBsS,EAAMvG,UACxC,IAAI1E,WAAcrH,MAEtB,MAAO,GAAGwL,IAAM4G,MAAY/K,I,EAQ9B,IAAAJ,CAAKA,GACH,OAAOwR,EAAwBxR,E,GAI5B,MAAMgS,EAA2BhS,GAC/BiR,iBAAOxC,IAAI,CAACxT,SAAU2W,IAAiB9F,MAAM9L,GC5H/C,MAAMiS,EAERzZ,IACH,MAAM0Z,EAAeC,EAAUC,SAC7BJ,EAAwBxZ,EAAM6Z,QAAU,IACxC,CAACC,SAAU,CAAC,UAGd,OACE/Y,EAAA,OACER,KAAK,iBACLU,MAAO,2BAA2BjB,EAAM+Z,YAAc,SAAW,KACjEC,UAAWN,GACX,ECfC,MAAMO,EAERja,GAEDe,EAAA,KACER,KAAK,iBACLU,MAAO,+CACLjB,EAAM+Z,YAAc,SAAW,MAGhC/Z,EAAM6Z,QCPN,MAAMK,EAET,CAACla,EAAOma,IAERpZ,EAAA,OAAKR,KAAK,sBAAsBU,MAAM,QACnCjB,EAAMoa,sBAAwB,gBAC7BrZ,EAAC0Y,EAAwB,CACvBI,OAAQ7Z,EAAM6Z,OACdE,YAAa/Z,EAAM+Z,cAGrBhZ,EAACkZ,EAAoB,CACnBJ,OAAQ7Z,EAAM6Z,OACdE,YAAa/Z,EAAM+Z,cAGvBhZ,EAAA,OAAKE,MAAM,eAAekZ,ICjBzB,MAAME,EAAsDra,GACjEe,EAAA,OAAKR,KAAK,kBAAkBU,MAAM,QAChCF,EAAA,OAAKE,MAAM,yCAAyCjB,EAAMqY,SAC1DtX,EAACI,EAAM,CACLF,MAAM,+BACNG,MAAM,kBACNlB,QAASF,EAAME,SAEdF,EAAMsa,cCLN,MAAMC,EAAoDva,GAC/De,EAACI,EAAM,CACLC,MAAM,eACNb,KAAK,qBACLU,MAAM,2CACNf,QAAS,IAAMF,EAAME,WAErBa,EAAA,OAAKE,MAAM,wBACRjB,EAAMwa,YACHxa,EAAMya,KAAKlQ,EAAE,aACbvK,EAAMya,KAAKlQ,EAAE,cAEnBxJ,EAAA,eACER,KAAK,mBACLU,MAAM,aACNM,KAAMvB,EAAMwa,YAAcE,EAAkBC,KCpB3C,MAAMC,EAA6D,CACxE5a,EACAma,IAEAna,EAAM6a,UACJ9Z,EAAA,OAAKE,MAAM,oBACTF,EAAA,KAAGR,KAAK,kBAAkBU,MAAM,mCAC7BjB,EAAM8a,OAET/Z,EAAA,MAAIE,MAAM,mEACPkZ,IAGH,K,MCwBOY,EAKX,WAAAtS,CAAoBzI,GAAAiC,KAAAjC,QAJZiC,KAAA+Y,QAAuB,IAAIC,EAKjChZ,KAAKiZ,MAAQjZ,KAAKkZ,gB,CAGb,mBAAAC,GACLnZ,KAAKoZ,SAAWC,SAASC,cACvB,0CAEFtZ,KAAKoZ,SAASG,gBAAkBvZ,KAAKjC,MAAMyb,qBAC3CxZ,KAAKjC,MAAM0b,KAAKC,sBAAsB,cAAe1Z,KAAKoZ,S,CAGrD,cAAAF,GACL,MAAMra,WAACA,GAAcmB,KAAKjC,MAC1B,MAAM4b,EAAa3Z,KAAK+Y,QAAQa,cAC9BC,EAAaC,sBACb,CAAClB,UAAW,OAId,MAAO,CAACA,UAAY/Z,GAAc8a,EAAWf,YAAe/Z,E,CAGvD,eAAAkb,CAAgBC,GACrBha,KAAK+Y,QAAQkB,QAAQJ,EAAaC,sBAAuBE,E,CAG3D,QAAIA,GACF,OAAOha,KAAKiZ,K,CAGd,QAAIe,CAAKE,GACPla,KAAKiZ,MAAQiB,C,CAGR,wBAAAC,GACL,MAAMC,GAAYpa,KAAKjC,MAAMsc,2BAA2BzB,UACxD,MAAM0B,IAAiBta,KAAKjC,MAAMsc,2BAA2BvC,YAC7D,MAAMyC,IAAcva,KAAKjC,MAAMsc,2BAA2BzC,OAC1D,MAAM4C,IAAaxa,KAAKjC,MAAMsc,2BAA2Bhb,MAEzD,GAAI+a,EAAU,CACZ,OAAOpa,KAAKjC,MAAM0c,cAAcjC,KAAKlQ,EAAE,0B,CAGzC,GAAIgS,EAAc,CAChB,OAAOta,KAAKjC,MAAM0c,cAAcjC,KAAKlQ,EAAE,oB,CAGzC,GAAIkS,EAAU,CACZ,OAAOxa,KAAKjC,MAAM0c,cAAcjC,KAAKlQ,EAAE,gC,CAGzC,GAAIiS,EAAW,CACb,OAAOva,KAAKjC,MAAM0c,cAAcjC,KAAKlQ,EAAE,mBAAoB,CACzDsP,OAAQ5X,KAAKjC,MAAMsc,2BAA2BzC,Q,CAIlD,MAAO,E,CAGT,qBAAY8C,GACV,OACG1a,KAAKjC,MAAM4c,wBAAwBH,UACpCxa,KAAKjC,MAAMsc,2BAA2Bhb,OAAOub,W,CAIjD,wBAAYC,GACV,MAAMjD,OAACA,EAAMkD,UAAEA,GAAa9a,KAAKjC,MAAMsc,2BAA6B,GACpE,OACEzC,IAAWmD,YAAcD,GAAW3W,SAAWnE,KAAK0a,iB,CAIxD,mBAAYM,GACV,OAAOhb,KAAKjC,MAAMsc,2BAA2BzB,S,CAG/C,iBAAYqC,GACV,MAAMC,EAAMlb,KAAKgb,gBACb,6BACA,8BACJ,OAAOhb,KAAKjC,MAAM0c,cAAcjC,KAAKlQ,EAAE4S,E,CAGzC,gBAAYC,GACV,QAASC,WAAWC,WAAWC,S,CAGjC,0BAAYC,GACV,GAAIvb,KAAKjC,MAAMyd,eAAgB,CAC7B,OAAOxb,KAAKjC,MAAM0c,cAAcjC,KAAKlQ,EAAE,kC,CAGzC,OAAQtI,KAAKjC,MAAM0d,YACfzb,KAAKjC,MAAM0c,cAAcjC,KAAKlQ,EAAE,yBAChCtI,KAAKjC,MAAM0c,cAAcjC,KAAKlQ,EAAE,0B,CAGtC,4BAAYoT,GACV,MAAMC,EAAOC,EAAqB5b,KAAKjC,MAAM0b,KAAM,qBACnD,QAASkC,C,CAGH,qBAAME,CAAgBjE,GAC5B,UACQwD,UAAUC,UAAUC,UAAU1D,GACpC5X,KAAKjC,MAAM+d,UAAU,MACrB9b,KAAKjC,MAAMyb,sBAAsBuC,oB,CACjC,MAAO1c,GACPW,KAAKjC,MAAMie,aAAa,MACxBhc,KAAKjC,MACF0c,cACAwB,OAAOC,OAAO7c,MAAM,gCAAgCA,I,CAGzD8c,YAAW,KACTnc,KAAKjC,MAAM+d,UAAU,OACrB9b,KAAKjC,MAAMie,aAAa,MAAM,GAC7B,I,CAGG,iBAAAI,GACN,GAAIpc,KAAKjC,MAAMsc,2BAA2BgC,SAAU,CAClDrc,KAAKjC,MAAMyb,sBAAsB8C,U,KAC5B,CACLtc,KAAKjC,MAAMyb,sBAAsB+C,Q,EAI7B,WAAAC,CAAYC,GAClB,MAAMje,MAACA,GAASie,EAChB,MAAMjE,KAACA,GAAQxY,KAAKjC,MAAM0c,cAE1B,OAAOjc,EAAMyF,SAAW,GACpBwY,EACA,IAAIA,EAAUje,MAAOga,EAAKlQ,EAAE,Y,CAG1B,eAAAoU,GACN,MAAMrC,wBACJA,EAAuBsC,yBACvBA,EAAwBnD,mBACxBA,EAAkBoD,yBAClBA,GACE5c,KAAKjC,MACT,MAAM+c,UAACA,GAAaT,KAA6B,GACjD,MAAMwC,iBAACA,GAAoBrD,KAAwB,GAEnD,OAAOsB,GAAW7U,KAChB,CAACwW,EAAmCtQ,KAClC,MAAM2Q,EAAsBH,EAAyB,CACnDrW,QAAS,CACPmW,cAGJ,OACE3d,EAAA,MAAIoc,IAAKuB,EAASM,GAAI/d,MAAM,cAC1BF,EAAA,mBACE2d,SAAUzc,KAAKwc,YAAYC,GAC3BtQ,MAAOA,EACP6Q,kBAAoBC,IAClBJ,IAAmBJ,EAASM,GAAIE,EAAoB,EAEtDH,oBAAqBA,EACrBF,yBAA0BA,EAC1BM,YAAY,8BAEX,G,CAML,4BAAAC,GACN,MAAM9C,wBAACA,EAAuBI,YAAEA,EAAWgB,UAAEA,EAASD,aAAEA,GACtDxb,KAAKjC,MACP,MAAMya,KAACA,GAAQiC,IACf,MAAM2C,MAACA,EAAKC,SAAEA,EAAQzF,OAAEA,EAAME,YAAEA,GAC9BuC,KAA6B,GAE/B,MAAM5b,EAAmB,CACvB,mBACA,OACA,MACA,WACA,QACA,WACA,QACAuB,KAAKjC,MAAMc,WAAa,WAAa,WACrCH,KAAK,KAEP,GAAIoZ,EAAa,CACf,OAAO,I,CAGT,OACEhZ,EAAA,OAAKE,MAAOP,GACVK,EAACU,EAAc,CACbhB,MAAOga,EAAKlQ,EAAE,2BACd7I,QAAQ,OACRC,SAAU0d,EACVnf,QAAS,IAAM+B,KAAKsd,cAEtBxe,EAACU,EAAc,CACbhB,MAAOga,EAAKlQ,EAAE,+BACd7I,QAAQ,UACRC,SAAU2d,EACVpf,QAAS,IAAM+B,KAAKud,iBAErBvd,KAAKmb,aACJrc,EAACG,EAAU,CACTT,MAAOwB,KAAKub,uBACZnc,SAAUqc,IACVpc,MAAOmc,IACPvd,QAASiC,UACP,GAAI0X,EAAQ,OACJ5X,KAAK6b,gBAAgBjE,E,KAI/B,K,CAKF,kBAAA4F,CAAmBC,GACzB,GAAIzd,KAAKoZ,SAAU,CACjBpZ,KAAKoZ,SAASsE,QAAUD,C,EAIpB,iBAAAE,GACN,GACE3d,KAAKoZ,WACJpZ,KAAKjC,MAAMsc,2BAA2BuD,kBACvC,CACA5d,KAAKoZ,SAASyE,OAAS,I,EAInB,YAAAN,GACNvd,KAAKwd,mBAAmB,OACxBxd,KAAKjC,MAAMyb,sBAAsBsE,UACjC9d,KAAK2d,mB,CAGC,SAAAL,GACNtd,KAAKwd,mBAAmB,MACxBxd,KAAKjC,MAAMyb,sBAAsBuE,OACjC/d,KAAK2d,mB,CAGC,gBAAAK,GACN,MAAM3D,wBAACA,EAAuBI,YAAEA,GAAeza,KAAKjC,MACpD,MAAMya,KAACA,GAAQiC,IACf,MAAM3C,YAACA,GAAeuC,KAA6B,GAEnD,GAAIvC,EAAa,CACf,OAAO,I,CAET,OACEhZ,EAAA,OAAKE,MAAM,oCACTF,EAAA,QAAM6D,KAAK,aAAagZ,KAAK,cAC1BnD,EAAKlQ,EAAE,gC,CAMR,gBAAA2V,GACN,MAAM5D,wBAACA,EAAuBI,YAAEA,EAAWyD,YAAEA,GAAele,KAAKjC,MACjE,MAAMya,KAACA,GAAQiC,IACf,MAAM4B,SAACA,EAAQvE,YAAEA,GAAeuC,KAA6B,GAC7D,MAAM8D,EAAYD,IAAgBpG,EAElC,IAAKqG,EAAW,CACd,OAAO,I,CAET,OACErf,EAACwZ,EAAU,CACTE,KAAMA,EACNva,QAAS,IAAM+B,KAAKoc,oBACpB7D,aAAc8D,G,CAKZ,2BAAA+B,GACN,MAAM/D,wBAACA,EAAuBI,YAAEA,EAAWyD,YAAEA,GAAele,KAAKjC,MACjE,MAAMya,KAACA,GAAQiC,IACf,MAAM3C,YAACA,GAAeuC,KAA6B,GAEnD,MAAM8D,EAAYD,GAAepG,EAEjC,IAAKqG,EAAW,CACd,OAAO,I,CAET,OACErf,EAAA,OACER,KAAK,gBACLU,MAAM,4CAELwZ,EAAKlQ,EAAE,qB,OAKN,aAAA+V,GACN,MAAMhE,wBAACA,EAAuBI,YAAEA,EAAWjB,mBAAEA,GAC3CxZ,KAAKjC,MACP,MAAMya,KAACA,GAAQiC,IACf,MAAM3C,YAACA,EAAWF,OAAEA,EAAMkD,UAAEA,EAAS3C,oBAAEA,GACrCkC,KAA6B,GAE/B,OACEvb,EAAA,OAAKR,KAAK,qBACRQ,EAAA,OAAKE,MAAM,qBACTF,EAACwf,EAAO,CACNrZ,MAAO,EACP3G,KAAK,eACLU,MAAM,sFAELwZ,EAAKlQ,EAAE,2BAEVxJ,EAAA,OAAKE,MAAM,iCACTF,EAAChB,EAAM,CACLQ,KAAK,SACLH,QAAS6B,KAAKgb,gBACd9c,SAAWC,IACTA,EACIqb,KAAsB+E,OACtB/E,KAAsBgF,MAAM,EAElCpgB,UAAWoa,EAAKlQ,EAAE,0BAClB9J,MAAOwB,KAAKib,cACZpc,WAAYmB,KAAKjC,MAAMc,eAI5BmB,KAAK0a,mBAAqB1a,KAAKgb,gBAC9Blc,EAACsZ,EAAW,CACVna,QAAS,IAAMub,KAAsBiF,QACrCpG,YAAaG,EAAKlQ,EAAE,SACpB8N,QAASoC,EAAKlQ,EAAE,0BAEhB,MAEFtI,KAAK0a,mBAAqB1a,KAAKgb,gBAC/Blc,EAACmZ,EAAyB,CACxBL,OAAQA,EACRO,oBAAqBA,EACrBL,cAAeA,GAEd9X,KAAKmd,+BACNre,EAAC6Z,EAAe,CACdE,MAAOL,EAAKlQ,EAAE,aACdsQ,YAAakC,GAAW3W,QAEvBnE,KAAK0c,oBAGR,MAEF1c,KAAK0a,mBAAqB1a,KAAKgb,iBAC/Blc,EAAA,OAAKR,KAAK,0BAA0BU,MAAM,yBACvCgB,KAAKoe,8BACLpe,KAAKie,mBACLje,KAAKge,oB,CAOR,2BAAAU,GACN,MAAMjE,YAACA,GAAeza,KAAKjC,MAC3B,MAAMya,KAACA,GAAQiC,IAEf,OACE3b,EAAA,OAAKR,KAAK,qBACRQ,EAAA,OAAKE,MAAM,qBACTF,EAACwf,EAAO,CACNrZ,MAAO,EACP3G,KAAK,eACLU,MAAM,sFAELwZ,EAAKlQ,EAAE,4BAGZxJ,EAAA,OAAKR,KAAK,sBAAsBU,MAAM,oBACpCF,EAAA,QAAM6D,KAAK,uB,CAMZ,MAAAgc,GACL,MAAMtE,wBAACA,GAA2Bra,KAAKjC,MACvC,MAAM6gB,aAACA,GAAgBvE,KAA6B,GACpD,MAAMwE,EACJ,wGAEF,GAAI7e,KAAK6a,qBAAsB,CAC7B,OAAO+D,GAAgB5e,KAAK0b,yBAC1B5c,EAAA,WACEA,EAAA,SAAOE,MAAO6f,EAAgBvgB,KAAK,aACjCQ,EAAA,eAAUkB,KAAK0e,iCAGjB,I,CAGN,OACE5f,EAAA,WACEA,EAAA,SAAOE,MAAO6f,EAAgBvgB,KAAK,aACjCQ,EAAA,eAAUkB,KAAKqe,kB","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{h as e}from"./p-dc3df5ce.js";import{F as r}from"./p-4b1dc787.js";const s=(s,t)=>{if(!s.label){return t}const a=s.i18n.t(s.label);const c=s.query===undefined?s.i18n.t("facet-values",{label:a}):s.i18n.t("facet-search-results",{query:s.query,label:a});return e(r,{label:c},t)};export{s as F};
2
- //# sourceMappingURL=p-2a02812b.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["FacetValuesGroup","props","children","label","facetDisplayLabel","i18n","t","groupLabel","query","undefined","h","FieldsetGroup"],"sources":["src/components/common/facets/facet-values-group/stencil-facet-values-group.tsx"],"sourcesContent":["import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {FieldsetGroup} from '../../stencil-fieldset-group';\n\nexport interface FacetValuesGroupProps {\n i18n: i18n;\n label?: string;\n query?: string;\n}\n\nexport const FacetValuesGroup: FunctionalComponent<FacetValuesGroupProps> = (\n props,\n children\n) => {\n if (!props.label) {\n return children;\n }\n const facetDisplayLabel = props.i18n.t(props.label);\n const groupLabel =\n props.query === undefined\n ? props.i18n.t('facet-values', {label: facetDisplayLabel})\n : props.i18n.t('facet-search-results', {\n query: props.query,\n label: facetDisplayLabel,\n });\n\n return <FieldsetGroup label={groupLabel}>{children}</FieldsetGroup>;\n};\n"],"mappings":"8EAUaA,EAA+D,CAC1EC,EACAC,KAEA,IAAKD,EAAME,MAAO,CAChB,OAAOD,C,CAET,MAAME,EAAoBH,EAAMI,KAAKC,EAAEL,EAAME,OAC7C,MAAMI,EACJN,EAAMO,QAAUC,UACZR,EAAMI,KAAKC,EAAE,eAAgB,CAACH,MAAOC,IACrCH,EAAMI,KAAKC,EAAE,uBAAwB,CACnCE,MAAOP,EAAMO,MACbL,MAAOC,IAGf,OAAOM,EAACC,EAAa,CAACR,MAAOI,GAAaL,EAAyB,S","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["announceFacetSearchResultsWithAriaLive","facet","label","setAriaLive","i18n","prevState","state","facetSearch","subscribe","shouldUpdateFacetSearchComponent","query","t","count","values","length","FacetShowMoreLess","props","showMore","showMoreFacetValues","showLess","showLessFacetValues","btnClasses","iconClasses","canShowLessValues","canShowMoreValues","h","class","Button","style","part","ariaLabel","onClick","onShowLess","ref","showLessRef","icon","MinusIcon","onShowMore","showMoreRef","PlusIcon"],"sources":["src/components/common/facets/facet-search/facet-search-aria-live.ts","src/components/common/facets/facet-show-more-less/stencil-facet-show-more-less.tsx"],"sourcesContent":["import type {Facet, FacetSearchState} from '@coveo/headless';\nimport type {i18n} from 'i18next';\nimport {shouldUpdateFacetSearchComponent} from './facet-search-utils';\n\nexport function announceFacetSearchResultsWithAriaLive(\n facet: Pick<Facet, 'subscribe'> & {state: {facetSearch: FacetSearchState}},\n label: string,\n setAriaLive: (msg: string) => void,\n i18n: i18n\n) {\n let prevState = facet.state.facetSearch;\n facet.subscribe(() => {\n if (\n shouldUpdateFacetSearchComponent(facet.state.facetSearch, prevState) &&\n facet.state.facetSearch.query\n ) {\n prevState = facet.state.facetSearch;\n\n setAriaLive(\n i18n.t('facet-search-results-count', {\n count: facet.state.facetSearch.values.length,\n label,\n })\n );\n }\n });\n}\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport MinusIcon from '../../../../images/minus.svg';\nimport PlusIcon from '../../../../images/plus.svg';\nimport {Button} from '../../stencil-button';\n\ninterface FacetShowMoreProps {\n label: string;\n i18n: i18n;\n canShowLessValues: boolean;\n canShowMoreValues: boolean;\n onShowMore(): void;\n onShowLess(): void;\n showMoreRef?: (element?: HTMLButtonElement) => void;\n showLessRef?: (element?: HTMLButtonElement) => void;\n}\n\nexport const FacetShowMoreLess: FunctionalComponent<FacetShowMoreProps> = (\n props\n) => {\n const label = props.i18n.t(props.label);\n const showMore = props.i18n.t('show-more');\n const showMoreFacetValues = props.i18n.t('show-more-facet-values', {\n label,\n });\n const showLess = props.i18n.t('show-less');\n const showLessFacetValues = props.i18n.t('show-less-facet-values', {\n label,\n });\n const btnClasses = 'flex items-baseline text-left p-2 text-sm max-w-full';\n const iconClasses = 'w-2 h-2 mr-1';\n if (!props.canShowLessValues && !props.canShowMoreValues) {\n return;\n }\n\n return (\n <div class=\"mt-2\">\n <Button\n style=\"text-primary\"\n part=\"show-less\"\n class={`${btnClasses} ${props.canShowLessValues ? '' : 'hidden'}`}\n ariaLabel={showLessFacetValues}\n onClick={() => props.onShowLess()}\n ref={props.showLessRef}\n >\n <atomic-icon\n part=\"show-more-less-icon\"\n class={iconClasses}\n icon={MinusIcon}\n ></atomic-icon>\n <span class=\"truncate\">{showLess}</span>\n </Button>\n <Button\n style=\"text-primary\"\n part=\"show-more\"\n class={`${btnClasses} ${props.canShowMoreValues ? '' : 'hidden'}`}\n ariaLabel={showMoreFacetValues}\n onClick={() => props.onShowMore()}\n ref={props.showMoreRef}\n >\n <atomic-icon\n part=\"show-more-less-icon\"\n class={iconClasses}\n icon={PlusIcon}\n ></atomic-icon>\n <span class=\"truncate\">{showMore}</span>\n </Button>\n </div>\n );\n};\n"],"mappings":"gHAIgBA,EACdC,EACAC,EACAC,EACAC,GAEA,IAAIC,EAAYJ,EAAMK,MAAMC,YAC5BN,EAAMO,WAAU,KACd,GACEC,EAAiCR,EAAMK,MAAMC,YAAaF,IAC1DJ,EAAMK,MAAMC,YAAYG,MACxB,CACAL,EAAYJ,EAAMK,MAAMC,YAExBJ,EACEC,EAAKO,EAAE,6BAA8B,CACnCC,MAAOX,EAAMK,MAAMC,YAAYM,OAAOC,OACtCZ,U,IAKV,C,wQCTaa,EACXC,IAEA,MAAMd,EAAQc,EAAMZ,KAAKO,EAAEK,EAAMd,OACjC,MAAMe,EAAWD,EAAMZ,KAAKO,EAAE,aAC9B,MAAMO,EAAsBF,EAAMZ,KAAKO,EAAE,yBAA0B,CACjET,UAEF,MAAMiB,EAAWH,EAAMZ,KAAKO,EAAE,aAC9B,MAAMS,EAAsBJ,EAAMZ,KAAKO,EAAE,yBAA0B,CACjET,UAEF,MAAMmB,EAAa,uDACnB,MAAMC,EAAc,eACpB,IAAKN,EAAMO,oBAAsBP,EAAMQ,kBAAmB,CACxD,M,CAGF,OACEC,EAAA,OAAKC,MAAM,QACTD,EAACE,EAAM,CACLC,MAAM,eACNC,KAAK,YACLH,MAAO,GAAGL,KAAcL,EAAMO,kBAAoB,GAAK,WACvDO,UAAWV,EACXW,QAAS,IAAMf,EAAMgB,aACrBC,IAAKjB,EAAMkB,aAEXT,EAAA,eACEI,KAAK,sBACLH,MAAOJ,EACPa,KAAMC,IAERX,EAAA,QAAMC,MAAM,YAAYP,IAE1BM,EAACE,EAAM,CACLC,MAAM,eACNC,KAAK,YACLH,MAAO,GAAGL,KAAcL,EAAMQ,kBAAoB,GAAK,WACvDM,UAAWZ,EACXa,QAAS,IAAMf,EAAMqB,aACrBJ,IAAKjB,EAAMsB,aAEXb,EAAA,eACEI,KAAK,sBACLH,MAAOJ,EACPa,KAAMI,IAERd,EAAA,QAAMC,MAAM,YAAYT,IAEtB,S","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["FacetSegmentedValue","props","compactCount","Intl","NumberFormat","i18n","language","notation","format","numberOfResults","count","toLocaleString","ariaLabel","t","value","displayValue","formattedCount","h","key","Button","style","part","isSelected","onClick","class","ariaPressed","toString","title","text","atomicSegmentedFacetCss","AtomicSegmentedFacetStyle0","AtomicSegmentedFacet","this","tabsIncluded","tabsExcluded","filterFacetCount","injectionDepth","numberOfValues","sortCriteria","dependsOn","allowedValues","customSort","initialize","length","console","warn","searchStatus","buildSearchStatus","bindings","engine","tabManager","buildTabManager","facet","buildFacet","options","facetOptions","facetId","state","dependenciesManager","buildFacetConditionsManager","conditions","parseDependsOn","disconnectedCallback","stopWatching","renderValuesContainer","children","classes","FacetValuesGroup","label","renderValue","facetValue","getFieldValueCaption","field","searchQuery","facetState","facetSearch","query","renderValues","values","map","toggleSingleSelect","renderLabel","hasBreadcrumbs","undefined","tabs","included","excluded","render","hasError","enabled","Hidden","firstSearchExecuted","__decorate","InitializeBindings","BindStateToController","ArrayProp","MapProp"],"sources":["src/components/search/facets/facet-segmented-value/facet-segmented-value.tsx","src/components/search/facets/atomic-segmented-facet/atomic-segmented-facet.pcss?tag=atomic-segmented-facet&encapsulation=shadow","src/components/search/facets/atomic-segmented-facet/atomic-segmented-facet.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport {FacetValueProps} from '../../../common/facets/stencil-facet-common';\nimport {Button} from '../../../common/stencil-button';\n\nexport const FacetSegmentedValue: FunctionalComponent<FacetValueProps> = (\n props\n) => {\n const compactCount = new Intl.NumberFormat(props.i18n.language, {\n notation: 'compact',\n }).format(props.numberOfResults);\n\n const count = props.numberOfResults.toLocaleString(props.i18n.language);\n\n const ariaLabel = props.i18n.t('facet-value', {\n value: props.displayValue,\n count: props.numberOfResults,\n formattedCount: count,\n });\n\n return (\n <li key={props.displayValue}>\n <Button\n style=\"square-neutral\"\n part={`value-box${props.isSelected ? ' value-box-selected' : ''}`}\n onClick={() => props.onClick()}\n class={`value-box group box-border flex h-full items-center p-2 ${\n props.isSelected\n ? 'selected border-primary shadow-inner-primary'\n : 'hover:border-primary-light focus-visible:border-primary-light'\n }`}\n ariaPressed={props.isSelected.toString()}\n ariaLabel={ariaLabel}\n >\n <span\n title={props.displayValue}\n part=\"value-label\"\n class={`value-label truncate ${\n props.isSelected\n ? 'text-primary'\n : 'group-hover:text-primary-light group-focus:text-primary'\n }`}\n >\n {props.displayValue}\n </span>\n <span\n title={count}\n part=\"value-count\"\n class={`value-box-count mt-0 w-auto truncate pl-1 text-sm ${\n props.isSelected\n ? 'text-primary'\n : 'text-neutral-dark group-hover:text-primary-light group-focus:text-primary'\n }`}\n >\n {props.i18n.t('between-parentheses', {\n text: compactCount,\n })}\n </span>\n </Button>\n </li>\n );\n};\n","@import '../../../common/facets/facet-common.pcss';\n@import '../facet-segmented-value/facet-segmented-value.pcss';\n","import {\n buildFacet,\n buildFacetConditionsManager,\n buildSearchStatus,\n CategoryFacetValueRequest,\n Facet,\n FacetConditionsManager,\n FacetOptions,\n FacetSortCriterion,\n FacetState,\n FacetValue,\n FacetValueRequest,\n SearchStatus,\n SearchStatusState,\n buildTabManager,\n TabManager,\n TabManagerState,\n} from '@coveo/headless';\nimport {Component, h, Prop, State, VNode} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp, MapProp} from '../../../../utils/props-utils';\nimport {parseDependsOn} from '../../../common/facets/depends-on';\nimport {FacetValuesGroup} from '../../../common/facets/facet-values-group/stencil-facet-values-group';\nimport {Hidden} from '../../../common/stencil-hidden';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {FacetSegmentedValue} from '../facet-segmented-value/facet-segmented-value';\n\n/**\n * The `atomic-segmented-facet` displays a horizontal facet of the results for the current query.\n * @part segmented-container - The container that holds the segmented facets.\n * @part label - The facet value label.\n * @part values - The facet values container.\n * @part value-box - The facet value.\n * @part value-box-selected - The selected facet value.\n * @part placeholder - The placeholder displayed when the facet is loading.\n */\n@Component({\n tag: 'atomic-segmented-facet',\n styleUrl: 'atomic-segmented-facet.pcss',\n shadow: true,\n})\nexport class AtomicSegmentedFacet implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public searchStatus!: SearchStatus;\n public tabManager!: TabManager;\n @State()\n public searchStatusState!: SearchStatusState;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @BindStateToController('facet')\n @State()\n public facetState!: FacetState;\n public facet!: Facet;\n @State() public error!: Error;\n\n /**\n * Specifies a unique identifier for the facet.\n */\n @Prop({mutable: true, reflect: true}) public facetId?: string;\n /**\n * The field whose values you want to display in the facet.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * The non-localized label for the facet.\n * Used in the `atomic-breadbox` component through the bindings store.\n */\n @Prop({reflect: true}) public label?: string;\n /**\n * The tabs on which the facet can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this facet must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-timeframe-facet tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-timeframe-facet>\n * ```\n * If you don't set this property, the facet can be displayed on any tab. Otherwise, the facet won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n /**\n * Whether to exclude the parents of folded results when estimating the result count for each facet value.\n *\n *\n * Note: Resulting count is only an estimation, in some cases this value could be incorrect.\n */\n @Prop({reflect: true}) public filterFacetCount = true;\n /**\n * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.\n * Note: A high injectionDepth may negatively impact the facet request performance.\n * Minimum: `0`\n * Default: `1000`\n */\n @Prop() public injectionDepth = 1000;\n /**\n * The number of values to request for this facet.\n * Also determines the number of additional values to request each time more values are shown.\n */\n @Prop({reflect: true}) public numberOfValues = 6;\n /**\n * The sort criterion to apply to the returned facet values.\n * Possible values are 'score', 'alphanumeric', 'alphanumericDescending', 'occurrences', alphanumericNatural', 'alphanumericNaturalDescending' and 'automatic'.\n */\n @Prop({reflect: true}) public sortCriteria: FacetSortCriterion = 'automatic';\n\n /**\n * The required facets and values for this facet to be displayed.\n * Examples:\n * ```html\n * <atomic-segmented-facet facet-id=\"abc\" field=\"objecttype\" ...></atomic-segmented-facet>\n *\n * <!-- To show the facet when any value is selected in the facet with id \"abc\": -->\n * <atomic-segmented-facet\n * depends-on-abc\n * ...\n * ></atomic-segmented-facet>\n *\n * <!-- To show the facet when value \"doc\" is selected in the facet with id \"abc\": -->\n * <atomic-facet\n * depends-on-abc=\"doc\"\n * ...\n * ></atomic-segmented-facet>\n * ```\n */\n @MapProp() @Prop() public dependsOn: Record<string, string> = {};\n /**\n * Specifies an explicit list of `allowedValues` in the Search API request. This list is in the form of a JSON string.\n *\n * If you specify a list of values for this option, the facet only uses these values (if they are available in\n * the current result set).\n *\n * Example:\n *\n * The following facet only uses the `Contact`, `Account`, and `File` values of the `objecttype` field. Even if the\n * current result set contains other `objecttype` values, such as `Message` or `Product`, the facet does not use\n * them.\n *\n * ```html\n * <atomic-segmented-facet field=\"objecttype\" allowed-values='[\"Contact\",\"Account\",\"File\"]'></atomic-segmented-facet>\n * ```\n *\n * The maximum amount of allowed values is 25.\n *\n * The default value is `undefined`, and the facet uses all available values for its `field` in the current result set.\n */\n @ArrayProp()\n @Prop({mutable: true})\n public allowedValues: string[] | string = '[]';\n\n /**\n * Identifies the facet values that must appear at the top, in this order.\n * This parameter can be used in conjunction with the `sortCriteria` parameter.\n *\n * Facet values not part of the `customSort` list will be sorted according to the `sortCriteria`.\n *\n * Example:\n *\n * The following facet will sort the `Contact`, `Account`, and `File` values at the top of the list for the `objecttype` field.\n *\n * If there are more than these 3 values available, the rest of the list will be sorted using `occurrences`.\n *\n * ```html\n * <atomic-segmented-facet field=\"objecttype\" custom-sort='[\"Contact\",\"Account\",\"File\"]' sort-criteria='occurrences'></atomic-segmented-facet>\n * ```\n * The maximum amount of custom sort values is 25.\n *\n * The default value is `undefined`, and the facet values will be sorted using only the `sortCriteria`.\n */\n @ArrayProp()\n @Prop({mutable: true})\n public customSort: string[] | string = '[]';\n\n private dependenciesManager!: FacetConditionsManager;\n\n public initialize() {\n if (\n [...this.tabsIncluded].length > 0 &&\n [...this.tabsExcluded].length > 0\n ) {\n console.warn(\n 'Values for both \"tabs-included\" and \"tabs-excluded\" have been provided. This is could lead to unexpected behaviors.'\n );\n }\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.tabManager = buildTabManager(this.bindings.engine);\n\n this.facet = buildFacet(this.bindings.engine, {options: this.facetOptions});\n this.facetId = this.facet.state.facetId;\n this.dependenciesManager = buildFacetConditionsManager(\n this.bindings.engine,\n {\n facetId: this.facetId!,\n conditions: parseDependsOn<\n FacetValueRequest | CategoryFacetValueRequest\n >(this.dependsOn),\n }\n );\n }\n\n disconnectedCallback() {\n this.dependenciesManager.stopWatching();\n }\n\n private renderValuesContainer(children: VNode[]) {\n const classes = 'box-container flex h-10';\n return (\n <FacetValuesGroup i18n={this.bindings.i18n} label={this.label}>\n <ul class={classes} part=\"values\">\n {children}\n </ul>\n </FacetValuesGroup>\n );\n }\n\n private renderValue(facetValue: FacetValue, onClick: () => void) {\n const displayValue = getFieldValueCaption(\n this.field,\n facetValue.value,\n this.bindings.i18n\n );\n const isSelected = facetValue.state !== 'idle';\n\n return (\n <FacetSegmentedValue\n displayValue={displayValue}\n numberOfResults={facetValue.numberOfResults}\n isSelected={isSelected}\n i18n={this.bindings.i18n}\n onClick={onClick}\n searchQuery={this.facetState.facetSearch.query}\n ></FacetSegmentedValue>\n );\n }\n\n private renderValues() {\n return this.renderValuesContainer(\n this.facetState.values.map((value) =>\n this.renderValue(value, () => this.facet.toggleSingleSelect(value))\n )\n );\n }\n\n private renderLabel() {\n if (!this.label) {\n return;\n }\n return (\n <b class=\"mr-2\" part=\"label\">\n {this.label}:\n </b>\n );\n }\n\n private get facetOptions(): FacetOptions {\n return {\n facetId: this.facetId,\n field: this.field,\n numberOfValues: this.numberOfValues,\n sortCriteria: this.sortCriteria,\n facetSearch: {numberOfValues: this.numberOfValues},\n filterFacetCount: this.filterFacetCount,\n injectionDepth: this.injectionDepth,\n hasBreadcrumbs: false,\n allowedValues: this.allowedValues.length\n ? [...this.allowedValues]\n : undefined,\n customSort: this.customSort.length ? [...this.customSort] : undefined,\n tabs: {\n included: [...this.tabsIncluded],\n excluded: [...this.tabsExcluded],\n },\n };\n }\n\n public render() {\n if (this.searchStatus.state.hasError || !this.facet.state.enabled) {\n return <Hidden></Hidden>;\n }\n\n if (!this.searchStatus.state.firstSearchExecuted) {\n return (\n <div\n part=\"placeholder\"\n aria-hidden\n class=\"bg-neutral h-8 w-48 animate-pulse rounded\"\n ></div>\n );\n }\n\n if (!this.facetState.values.length) {\n return <Hidden></Hidden>;\n }\n\n return (\n <div\n part=\"segmented-container\"\n class=\"mr-2 flex h-10 items-center whitespace-nowrap\"\n >\n {this.renderLabel()}\n {this.renderValues()}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["FieldValueIsNaNError","Error","constructor","field","value","super","this","name","Rating","props","width","numberOfActiveIcons","numberOfTotalIcons","toString","iconSize","renderIcon","active","h","icon","class","style","height","part","emptyIconDisplay","i","push","filledIconDisplay","role","i18n","t","count","max","computeNumberOfStars","valueAsNumber","parseFloat","Number","isNaN"],"sources":["src/components/commerce/product-template-component-utils/error.ts","src/components/common/atomic-rating/stencil-rating.tsx"],"sourcesContent":["export class FieldValueIsNaNError extends Error {\n constructor(field: string, value?: {}) {\n super(`Could not parse \"${value}\" from field \"${field}\" as a number.`);\n this.name = 'FieldValueIsNaNError';\n }\n}\n","import {FunctionalComponent, h, VNode} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {FieldValueIsNaNError} from '../../commerce/product-template-component-utils/error';\n\ninterface RatingProps {\n i18n: i18n;\n numberOfTotalIcons: number;\n numberOfActiveIcons: number;\n icon: string;\n iconSize?: number;\n}\n/** \n * @deprecated Use `renderRating` instead. \n*/\nexport const Rating: FunctionalComponent<RatingProps> = (props) => {\n const width =\n ((props.numberOfActiveIcons / props.numberOfTotalIcons) * 100).toString() +\n '%';\n const iconSize = `${props.iconSize ?? 0.75}rem`;\n\n const renderIcon = (active: boolean) => {\n return (\n <atomic-icon\n icon={props.icon}\n class={`shrink-0 ${active ? 'icon-active' : 'icon-inactive'}`}\n style={{width: iconSize, height: iconSize}}\n part=\"value-rating-icon\"\n ></atomic-icon>\n );\n };\n\n const emptyIconDisplay = () => {\n const emptyIconDisplay: VNode[] = [];\n for (let i = 0; i < props.numberOfTotalIcons; i++) {\n emptyIconDisplay.push(renderIcon(false));\n }\n return emptyIconDisplay;\n };\n\n const filledIconDisplay = () => {\n const filledIconDisplay: VNode[] = [];\n for (let i = 0; i < props.numberOfTotalIcons; i++) {\n filledIconDisplay.push(renderIcon(true));\n }\n return filledIconDisplay;\n };\n\n return (\n <div\n class=\"relative w-max\"\n part=\"value-rating\"\n role=\"img\"\n aria-label={props.i18n.t('stars', {\n count: props.numberOfActiveIcons,\n max: props.numberOfTotalIcons,\n })}\n >\n <div class=\"z-0 flex gap-0.5\">{emptyIconDisplay()}</div>\n <div\n class=\"absolute top-0 left-0 z-1 flex gap-0.5 overflow-hidden\"\n style={{width}}\n >\n {filledIconDisplay()}\n </div>\n </div>\n );\n};\n\nexport const computeNumberOfStars = (\n value: unknown,\n field: string\n): number | null => {\n if (value === null) {\n return null;\n }\n const valueAsNumber = parseFloat(`${value}`);\n if (Number.isNaN(valueAsNumber)) {\n throw new FieldValueIsNaNError(field, value);\n }\n return valueAsNumber;\n};\n"],"mappings":"65BAAaA,UAA6BC,MACxC,WAAAC,CAAYC,EAAeC,GACzBC,MAAM,oBAAoBD,kBAAsBD,mBAChDG,KAAKC,KAAO,sB,QCWHC,EAA4CC,IACvD,MAAMC,GACFD,EAAME,oBAAsBF,EAAMG,mBAAsB,KAAKC,WAC/D,IACF,MAAMC,EAAW,GAAGL,EAAMK,UAAY,SAEtC,MAAMC,EAAcC,GAEhBC,EAAA,eACEC,KAAMT,EAAMS,KACZC,MAAO,YAAYH,EAAS,cAAgB,kBAC5CI,MAAO,CAACV,MAAOI,EAAUO,OAAQP,GACjCQ,KAAK,sBAKX,MAAMC,EAAmB,KACvB,MAAMA,EAA4B,GAClC,IAAK,IAAIC,EAAI,EAAGA,EAAIf,EAAMG,mBAAoBY,IAAK,CACjDD,EAAiBE,KAAKV,EAAW,O,CAEnC,OAAOQ,CAAgB,EAGzB,MAAMG,EAAoB,KACxB,MAAMA,EAA6B,GACnC,IAAK,IAAIF,EAAI,EAAGA,EAAIf,EAAMG,mBAAoBY,IAAK,CACjDE,EAAkBD,KAAKV,EAAW,M,CAEpC,OAAOW,CAAiB,EAG1B,OACET,EAAA,OACEE,MAAM,iBACNG,KAAK,eACLK,KAAK,MAAK,aACElB,EAAMmB,KAAKC,EAAE,QAAS,CAChCC,MAAOrB,EAAME,oBACboB,IAAKtB,EAAMG,sBAGbK,EAAA,OAAKE,MAAM,oBAAoBI,KAC/BN,EAAA,OACEE,MAAM,yDACNC,MAAO,CAACV,UAEPgB,KAEC,E,MAIGM,EAAuB,CAClC5B,EACAD,KAEA,GAAIC,IAAU,KAAM,CAClB,OAAO,I,CAET,MAAM6B,EAAgBC,WAAW,GAAG9B,KACpC,GAAI+B,OAAOC,MAAMH,GAAgB,CAC/B,MAAM,IAAIjC,EAAqBG,EAAOC,E,CAExC,OAAO6B,CAAa,S","ignoreList":[]}