@lukso/web-components 1.6.3 → 1.7.4

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 (329) hide show
  1. package/dist/color-palette.cjs +1363 -0
  2. package/dist/{shared/utils/color-palette.d.ts → color-palette.d.ts} +1 -2
  3. package/dist/color-palette.d.ts.map +1 -0
  4. package/dist/color-palette.js +1356 -0
  5. package/dist/components/index.cjs +74 -0
  6. package/dist/components/index.d.ts +2 -1
  7. package/dist/components/index.d.ts.map +1 -1
  8. package/dist/components/index.js +17 -7354
  9. package/dist/components/lukso-button/index.cjs +144 -0
  10. package/dist/components/lukso-button/index.js +95 -1190
  11. package/dist/components/lukso-card/index.cjs +143 -0
  12. package/dist/components/lukso-card/index.js +61 -1487
  13. package/dist/components/lukso-icon/index.cjs +4366 -0
  14. package/dist/components/lukso-icon/index.js +1713 -2410
  15. package/dist/components/lukso-input/index.cjs +219 -0
  16. package/dist/components/lukso-input/index.d.ts +1 -2
  17. package/dist/components/lukso-input/index.d.ts.map +1 -1
  18. package/dist/components/lukso-input/index.js +128 -1229
  19. package/dist/components/lukso-modal/index.cjs +70 -0
  20. package/dist/components/lukso-modal/index.d.ts +18 -0
  21. package/dist/components/lukso-modal/index.d.ts.map +1 -0
  22. package/dist/components/lukso-modal/index.js +68 -0
  23. package/dist/components/lukso-navbar/index.cjs +75 -0
  24. package/dist/components/lukso-navbar/index.d.ts.map +1 -1
  25. package/dist/components/lukso-navbar/index.js +45 -1155
  26. package/dist/components/lukso-profile/index.cjs +547 -0
  27. package/dist/components/lukso-profile/index.js +483 -1370
  28. package/dist/components/lukso-sanitize/index.cjs +1730 -0
  29. package/dist/components/lukso-sanitize/index.js +1643 -1544
  30. package/dist/components/lukso-tag/index.cjs +78 -0
  31. package/dist/components/lukso-tag/index.js +52 -1189
  32. package/dist/components/lukso-test/index.cjs +120 -0
  33. package/dist/components/lukso-test/index.js +65 -1767
  34. package/dist/components/lukso-username/index.cjs +126 -0
  35. package/dist/components/lukso-username/index.js +75 -1206
  36. package/dist/components/lukso-wizard/index.cjs +93 -0
  37. package/dist/components/lukso-wizard/index.js +47 -1253
  38. package/dist/directive-9ec64c08.js +28 -0
  39. package/dist/directive-db00f5fb.cjs +34 -0
  40. package/dist/index-3a24432e.js +59 -0
  41. package/dist/index-4a1ee696.cjs +67 -0
  42. package/dist/index-714323c9.js +18 -0
  43. package/dist/index-7dc05ee5.cjs +20 -0
  44. package/dist/index.cjs +74 -0
  45. package/dist/index.js +17 -7354
  46. package/dist/shared/tailwind-element/index.cjs +10 -0
  47. package/dist/shared/tailwind-element/index.js +1 -1064
  48. package/dist/state-7fde94d1.js +9 -0
  49. package/dist/state-a62a7d5d.cjs +11 -0
  50. package/dist/style-map-17d4829d.cjs +12 -0
  51. package/dist/style-map-52bada0b.js +10 -0
  52. package/dist/styles/main.css.map +1 -1
  53. package/package.json +85 -147
  54. package/tools/assets/fonts/index.cjs +10 -0
  55. package/tools/assets/fonts/index.d.ts +2 -0
  56. package/tools/assets/fonts/index.d.ts.map +1 -0
  57. package/tools/assets/fonts/index.js +6 -0
  58. package/tools/assets/images/index.cjs +10 -0
  59. package/tools/assets/images/index.d.ts +2 -0
  60. package/tools/assets/images/index.d.ts.map +1 -0
  61. package/tools/assets/images/index.js +6 -0
  62. package/tools/assets/index.cjs +15 -0
  63. package/tools/assets/index.d.ts +4 -0
  64. package/tools/assets/index.d.ts.map +1 -0
  65. package/tools/assets/index.js +9 -0
  66. package/tools/color-palette-a34f5d09.js +1356 -0
  67. package/tools/color-palette-bf5780ed.cjs +1362 -0
  68. package/tools/color-palette.cjs +11 -146
  69. package/tools/color-palette.d.ts +39 -52
  70. package/tools/color-palette.d.ts.map +1 -1
  71. package/tools/color-palette.js +1 -0
  72. package/tools/copy-assets.cjs +50 -136
  73. package/tools/copy-assets.d.ts +7 -9
  74. package/tools/copy-assets.d.ts.map +1 -1
  75. package/tools/copy-assets.js +49 -0
  76. package/tools/index.cjs +35 -0
  77. package/tools/index.d.ts +6 -0
  78. package/tools/index.d.ts.map +1 -0
  79. package/tools/index.js +22 -0
  80. package/tools/sass/index.cjs +7 -0
  81. package/tools/sass/index.js +1 -0
  82. package/tools/styles/index.cjs +5 -0
  83. package/tools/styles/index.js +3 -0
  84. package/tools/styles/main.css +287 -0
  85. package/CHANGELOG.md +0 -287
  86. package/dist/assets/fonts/index.js +0 -4
  87. package/dist/assets/fonts/index.ts +0 -1
  88. package/dist/assets/fonts/index.umd.cjs +0 -1
  89. package/dist/assets/images/index.js +0 -4
  90. package/dist/assets/images/index.ts +0 -1
  91. package/dist/assets/images/index.umd.cjs +0 -1
  92. package/dist/assets/index.js +0 -4
  93. package/dist/assets/index.ts +0 -1
  94. package/dist/assets/index.umd.cjs +0 -1
  95. package/dist/color-palette/index.js +0 -705
  96. package/dist/color-palette/index.umd.cjs +0 -1
  97. package/dist/components/index.umd.cjs +0 -3756
  98. package/dist/components/lukso-button/index.umd.cjs +0 -88
  99. package/dist/components/lukso-card/index.umd.cjs +0 -145
  100. package/dist/components/lukso-icon/index.umd.cjs +0 -3465
  101. package/dist/components/lukso-input/index.umd.cjs +0 -109
  102. package/dist/components/lukso-navbar/index.umd.cjs +0 -73
  103. package/dist/components/lukso-profile/index.umd.cjs +0 -90
  104. package/dist/components/lukso-sanitize/index.umd.cjs +0 -61
  105. package/dist/components/lukso-tag/index.umd.cjs +0 -67
  106. package/dist/components/lukso-test/index.umd.cjs +0 -95
  107. package/dist/components/lukso-username/index.umd.cjs +0 -75
  108. package/dist/components/lukso-wizard/index.umd.cjs +0 -89
  109. package/dist/index.umd.cjs +0 -3756
  110. package/dist/sass/index.js +0 -4
  111. package/dist/sass/index.ts +0 -1
  112. package/dist/sass/index.umd.cjs +0 -1
  113. package/dist/shared/assets/index.d.ts +0 -3
  114. package/dist/shared/assets/index.d.ts.map +0 -1
  115. package/dist/shared/directives/custom-class-map/index.d.ts +0 -26
  116. package/dist/shared/directives/custom-class-map/index.d.ts.map +0 -1
  117. package/dist/shared/directives/index.d.ts +0 -2
  118. package/dist/shared/directives/index.d.ts.map +0 -1
  119. package/dist/shared/styles/index.d.ts +0 -3
  120. package/dist/shared/styles/index.d.ts.map +0 -1
  121. package/dist/shared/tailwind-element/index.umd.cjs +0 -39
  122. package/dist/shared/tailwind-element.js +0 -1064
  123. package/dist/shared/tailwind-element.umd.cjs +0 -39
  124. package/dist/shared/utils/color-palette.d.ts.map +0 -1
  125. package/dist/styles/index.js +0 -4
  126. package/dist/styles/index.umd.cjs +0 -1
  127. package/src/components/index.ts +0 -13
  128. package/src/components/lukso-button/index.ts +0 -145
  129. package/src/components/lukso-button/lukso-button.stories.ts +0 -216
  130. package/src/components/lukso-card/index.ts +0 -131
  131. package/src/components/lukso-card/lukso-card.stories.ts +0 -191
  132. package/src/components/lukso-card/style.scss +0 -7
  133. package/src/components/lukso-icon/icons/add-photo.ts +0 -46
  134. package/src/components/lukso-icon/icons/arrow-down-lg.ts +0 -26
  135. package/src/components/lukso-icon/icons/arrow-down-sm.ts +0 -26
  136. package/src/components/lukso-icon/icons/arrow-left-lg.ts +0 -26
  137. package/src/components/lukso-icon/icons/arrow-left-sm.ts +0 -26
  138. package/src/components/lukso-icon/icons/arrow-right-lg.ts +0 -26
  139. package/src/components/lukso-icon/icons/arrow-right-sm.ts +0 -26
  140. package/src/components/lukso-icon/icons/arrow-up-lg.ts +0 -26
  141. package/src/components/lukso-icon/icons/arrow-up-sm.ts +0 -26
  142. package/src/components/lukso-icon/icons/barbell-outline.ts +0 -54
  143. package/src/components/lukso-icon/icons/bulb-outline.ts +0 -54
  144. package/src/components/lukso-icon/icons/camera.ts +0 -40
  145. package/src/components/lukso-icon/icons/clipboard.ts +0 -59
  146. package/src/components/lukso-icon/icons/clock.ts +0 -31
  147. package/src/components/lukso-icon/icons/close-lg.ts +0 -33
  148. package/src/components/lukso-icon/icons/close-sm.ts +0 -33
  149. package/src/components/lukso-icon/icons/cloud.ts +0 -25
  150. package/src/components/lukso-icon/icons/compass-outline.ts +0 -29
  151. package/src/components/lukso-icon/icons/complete-filled-fade-in.ts +0 -34
  152. package/src/components/lukso-icon/icons/complete-filled.ts +0 -32
  153. package/src/components/lukso-icon/icons/complete-outline.ts +0 -31
  154. package/src/components/lukso-icon/icons/connect.ts +0 -33
  155. package/src/components/lukso-icon/icons/connections.ts +0 -34
  156. package/src/components/lukso-icon/icons/contract-lock.ts +0 -43
  157. package/src/components/lukso-icon/icons/controller.ts +0 -55
  158. package/src/components/lukso-icon/icons/copy.ts +0 -31
  159. package/src/components/lukso-icon/icons/cross-outline.ts +0 -38
  160. package/src/components/lukso-icon/icons/dots.ts +0 -22
  161. package/src/components/lukso-icon/icons/edit.ts +0 -30
  162. package/src/components/lukso-icon/icons/error.ts +0 -31
  163. package/src/components/lukso-icon/icons/eth-logo.ts +0 -50
  164. package/src/components/lukso-icon/icons/expand.ts +0 -31
  165. package/src/components/lukso-icon/icons/extension.ts +0 -31
  166. package/src/components/lukso-icon/icons/eye-hide.ts +0 -47
  167. package/src/components/lukso-icon/icons/eye-show.ts +0 -37
  168. package/src/components/lukso-icon/icons/filter.ts +0 -43
  169. package/src/components/lukso-icon/icons/fish-outline.ts +0 -36
  170. package/src/components/lukso-icon/icons/flip.ts +0 -45
  171. package/src/components/lukso-icon/icons/globe.ts +0 -61
  172. package/src/components/lukso-icon/icons/google-color.ts +0 -35
  173. package/src/components/lukso-icon/icons/hamburger.ts +0 -40
  174. package/src/components/lukso-icon/icons/infinite.ts +0 -33
  175. package/src/components/lukso-icon/icons/information.ts +0 -38
  176. package/src/components/lukso-icon/icons/key-outline.ts +0 -25
  177. package/src/components/lukso-icon/icons/link.ts +0 -33
  178. package/src/components/lukso-icon/icons/link1.ts +0 -39
  179. package/src/components/lukso-icon/icons/link2.ts +0 -46
  180. package/src/components/lukso-icon/icons/link3.ts +0 -32
  181. package/src/components/lukso-icon/icons/link4.ts +0 -52
  182. package/src/components/lukso-icon/icons/loading.ts +0 -50
  183. package/src/components/lukso-icon/icons/location.ts +0 -33
  184. package/src/components/lukso-icon/icons/locked.ts +0 -44
  185. package/src/components/lukso-icon/icons/login-2.ts +0 -55
  186. package/src/components/lukso-icon/icons/login-3.ts +0 -53
  187. package/src/components/lukso-icon/icons/login.ts +0 -39
  188. package/src/components/lukso-icon/icons/logo-chrome.ts +0 -35
  189. package/src/components/lukso-icon/icons/lyx-logo.ts +0 -41
  190. package/src/components/lukso-icon/icons/mail.ts +0 -33
  191. package/src/components/lukso-icon/icons/menu-1.ts +0 -71
  192. package/src/components/lukso-icon/icons/menu-2.ts +0 -61
  193. package/src/components/lukso-icon/icons/migrate.ts +0 -47
  194. package/src/components/lukso-icon/icons/minimize.ts +0 -53
  195. package/src/components/lukso-icon/icons/network.ts +0 -49
  196. package/src/components/lukso-icon/icons/notifications.ts +0 -33
  197. package/src/components/lukso-icon/icons/phone-portrait-outline.ts +0 -33
  198. package/src/components/lukso-icon/icons/pin.ts +0 -25
  199. package/src/components/lukso-icon/icons/play-filled.ts +0 -23
  200. package/src/components/lukso-icon/icons/play-outline.ts +0 -24
  201. package/src/components/lukso-icon/icons/plus.ts +0 -33
  202. package/src/components/lukso-icon/icons/profile-add.ts +0 -43
  203. package/src/components/lukso-icon/icons/profile-export.ts +0 -42
  204. package/src/components/lukso-icon/icons/profile-import.ts +0 -42
  205. package/src/components/lukso-icon/icons/profile-recovery-2.ts +0 -62
  206. package/src/components/lukso-icon/icons/profile-recovery.ts +0 -55
  207. package/src/components/lukso-icon/icons/profile-restore.ts +0 -50
  208. package/src/components/lukso-icon/icons/profile.ts +0 -29
  209. package/src/components/lukso-icon/icons/progress-complete.ts +0 -289
  210. package/src/components/lukso-icon/icons/progress-indicator.ts +0 -236
  211. package/src/components/lukso-icon/icons/pulse-dot.ts +0 -22
  212. package/src/components/lukso-icon/icons/qr-code.ts +0 -122
  213. package/src/components/lukso-icon/icons/relayer.ts +0 -40
  214. package/src/components/lukso-icon/icons/reload.ts +0 -32
  215. package/src/components/lukso-icon/icons/return-down.ts +0 -33
  216. package/src/components/lukso-icon/icons/return-left.ts +0 -33
  217. package/src/components/lukso-icon/icons/return-right.ts +0 -33
  218. package/src/components/lukso-icon/icons/return-up.ts +0 -33
  219. package/src/components/lukso-icon/icons/search.ts +0 -28
  220. package/src/components/lukso-icon/icons/settings.ts +0 -33
  221. package/src/components/lukso-icon/icons/smart-contract-doc.ts +0 -40
  222. package/src/components/lukso-icon/icons/smart-contract.ts +0 -31
  223. package/src/components/lukso-icon/icons/star-filled.ts +0 -23
  224. package/src/components/lukso-icon/icons/star-outline.ts +0 -24
  225. package/src/components/lukso-icon/icons/step-dot.ts +0 -34
  226. package/src/components/lukso-icon/icons/step-progress.ts +0 -31
  227. package/src/components/lukso-icon/icons/steps.ts +0 -40
  228. package/src/components/lukso-icon/icons/tick.ts +0 -26
  229. package/src/components/lukso-icon/icons/timer-outline.ts +0 -47
  230. package/src/components/lukso-icon/icons/transaction-receive.ts +0 -39
  231. package/src/components/lukso-icon/icons/transaction-send.ts +0 -39
  232. package/src/components/lukso-icon/icons/transfer.ts +0 -47
  233. package/src/components/lukso-icon/icons/trash.ts +0 -40
  234. package/src/components/lukso-icon/icons/turn-down.ts +0 -33
  235. package/src/components/lukso-icon/icons/turn-left.ts +0 -33
  236. package/src/components/lukso-icon/icons/turn-right.ts +0 -33
  237. package/src/components/lukso-icon/icons/turn-up.ts +0 -33
  238. package/src/components/lukso-icon/icons/unlocked.ts +0 -41
  239. package/src/components/lukso-icon/icons/wallet-outline.ts +0 -35
  240. package/src/components/lukso-icon/icons/warning-round.ts +0 -32
  241. package/src/components/lukso-icon/icons/warning-triangle.ts +0 -32
  242. package/src/components/lukso-icon/index.ts +0 -310
  243. package/src/components/lukso-icon/lukso-icon.stories.ts +0 -116
  244. package/src/components/lukso-icon/style.scss +0 -3
  245. package/src/components/lukso-input/index.ts +0 -211
  246. package/src/components/lukso-input/lukso-input.stories.ts +0 -184
  247. package/src/components/lukso-navbar/index.ts +0 -63
  248. package/src/components/lukso-navbar/lukso-navbar.stories.ts +0 -70
  249. package/src/components/lukso-profile/index.ts +0 -106
  250. package/src/components/lukso-profile/lukso-profile.stories.ts +0 -104
  251. package/src/components/lukso-sanitize/index.ts +0 -28
  252. package/src/components/lukso-sanitize/lukso-sanitize.stories.ts +0 -30
  253. package/src/components/lukso-tag/index.ts +0 -68
  254. package/src/components/lukso-tag/lukso-tag.stories.ts +0 -129
  255. package/src/components/lukso-test/index.ts +0 -72
  256. package/src/components/lukso-test/test.component.scss +0 -7
  257. package/src/components/lukso-test/test.stories.ts +0 -31
  258. package/src/components/lukso-username/index.ts +0 -105
  259. package/src/components/lukso-username/lukso-username.stories.ts +0 -98
  260. package/src/components/lukso-wizard/index.ts +0 -74
  261. package/src/components/lukso-wizard/lukso-wizard.stories.ts +0 -52
  262. package/src/docs/animations.stories.mdx +0 -83
  263. package/src/docs/colors.stories.mdx +0 -77
  264. package/src/docs/drop-shadows.stories.mdx +0 -108
  265. package/src/docs/icons.stories.mdx +0 -1590
  266. package/src/docs/typography.stories.mdx +0 -253
  267. package/src/index.ts +0 -1
  268. package/src/postcss.config.ts +0 -8
  269. package/src/shared/assets/fonts/Apax-Bold.woff2 +0 -0
  270. package/src/shared/assets/fonts/Apax-Light.woff2 +0 -0
  271. package/src/shared/assets/fonts/Apax-Medium.woff2 +0 -0
  272. package/src/shared/assets/fonts/Apax-Regular.woff2 +0 -0
  273. package/src/shared/assets/fonts/Inter-Bold.woff2 +0 -0
  274. package/src/shared/assets/fonts/Inter-ExtraBold.woff2 +0 -0
  275. package/src/shared/assets/fonts/Inter-Medium.woff2 +0 -0
  276. package/src/shared/assets/fonts/Inter-Regular.woff2 +0 -0
  277. package/src/shared/assets/fonts/Inter-SemiBold.woff2 +0 -0
  278. package/src/shared/assets/fonts/Inter-Thin.woff2 +0 -0
  279. package/src/shared/assets/fonts/PT-Mono-Bold.woff2 +0 -0
  280. package/src/shared/assets/fonts/PT-Mono-Regular.woff2 +0 -0
  281. package/src/shared/assets/fonts/index.ts +0 -1
  282. package/src/shared/assets/images/index.ts +0 -1
  283. package/src/shared/assets/images/lukso-logo.svg +0 -3
  284. package/src/shared/assets/images/profile-default.png +0 -0
  285. package/src/shared/assets/index.ts +0 -1
  286. package/src/shared/directives/custom-class-map/index.ts +0 -49
  287. package/src/shared/directives/index.ts +0 -1
  288. package/src/shared/globals.d.ts +0 -5
  289. package/src/shared/styles/colors.scss +0 -91
  290. package/src/shared/styles/component.scss +0 -13
  291. package/src/shared/styles/fonts.scss +0 -97
  292. package/src/shared/styles/index.ts +0 -1
  293. package/src/shared/styles/main.scss +0 -13
  294. package/src/shared/styles/typography.scss +0 -142
  295. package/src/shared/styles/variables.scss +0 -5
  296. package/src/shared/tailwind-element/index.ts +0 -16
  297. package/src/shared/utils/__tests__/slice-address.spec.ts +0 -15
  298. package/src/shared/utils/color-palette.ts +0 -76
  299. package/src/shared/utils/copy-assets.ts +0 -80
  300. package/src/shared/utils/hsl-color-map.ts +0 -20
  301. package/src/shared/utils/slice-address.ts +0 -30
  302. /package/{dist → tools}/assets/fonts/Apax-Bold.woff2 +0 -0
  303. /package/{dist → tools}/assets/fonts/Apax-Light.woff2 +0 -0
  304. /package/{dist → tools}/assets/fonts/Apax-Medium.woff2 +0 -0
  305. /package/{dist → tools}/assets/fonts/Apax-Regular.woff2 +0 -0
  306. /package/{dist → tools}/assets/fonts/Inter-Bold.woff2 +0 -0
  307. /package/{dist → tools}/assets/fonts/Inter-ExtraBold.woff2 +0 -0
  308. /package/{dist → tools}/assets/fonts/Inter-Medium.woff2 +0 -0
  309. /package/{dist → tools}/assets/fonts/Inter-Regular.woff2 +0 -0
  310. /package/{dist → tools}/assets/fonts/Inter-SemiBold.woff2 +0 -0
  311. /package/{dist → tools}/assets/fonts/Inter-Thin.woff2 +0 -0
  312. /package/{dist → tools}/assets/fonts/PT-Mono-Bold.woff2 +0 -0
  313. /package/{dist → tools}/assets/fonts/PT-Mono-Regular.woff2 +0 -0
  314. /package/{dist → tools}/assets/images/lukso-logo.svg +0 -0
  315. /package/{dist → tools}/assets/images/profile-default.png +0 -0
  316. /package/{dist/shared/utils → tools}/hsl-color-map.d.ts +0 -0
  317. /package/{dist/shared/utils → tools}/hsl-color-map.d.ts.map +0 -0
  318. /package/{dist → tools}/sass/colors.scss +0 -0
  319. /package/{dist → tools}/sass/component.scss +0 -0
  320. /package/{dist → tools}/sass/fonts.scss +0 -0
  321. /package/{dist/shared/assets/fonts → tools/sass}/index.d.ts +0 -0
  322. /package/{dist/shared/assets/fonts → tools/sass}/index.d.ts.map +0 -0
  323. /package/{dist → tools}/sass/main.scss +0 -0
  324. /package/{dist → tools}/sass/typography.scss +0 -0
  325. /package/{dist → tools}/sass/variables.scss +0 -0
  326. /package/{dist/shared/utils → tools}/slice-address.d.ts +0 -0
  327. /package/{dist/shared/utils → tools}/slice-address.d.ts.map +0 -0
  328. /package/{dist/shared/assets/images → tools/styles}/index.d.ts +0 -0
  329. /package/{dist/shared/assets/images → tools/styles}/index.d.ts.map +0 -0
@@ -1,1629 +1,1728 @@
1
- /**
2
- * @license
3
- * Copyright 2019 Google LLC
4
- * SPDX-License-Identifier: BSD-3-Clause
5
- */
6
- const Lt = window, Ie = Lt.ShadowRoot && (Lt.ShadyCSS === void 0 || Lt.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, Ir = Symbol(), lr = /* @__PURE__ */ new WeakMap();
7
- let go = class {
8
- constructor(t, e, r) {
9
- if (this._$cssResult$ = !0, r !== Ir)
10
- throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
11
- this.cssText = t, this.t = e;
12
- }
13
- get styleSheet() {
14
- let t = this.o;
15
- const e = this.t;
16
- if (Ie && t === void 0) {
17
- const r = e !== void 0 && e.length === 1;
18
- r && (t = lr.get(e)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), r && lr.set(e, t));
19
- }
20
- return t;
21
- }
22
- toString() {
23
- return this.cssText;
24
- }
25
- };
26
- const mo = (a) => new go(typeof a == "string" ? a : a + "", void 0, Ir), vo = (a, t) => {
27
- Ie ? a.adoptedStyleSheets = t.map((e) => e instanceof CSSStyleSheet ? e : e.styleSheet) : t.forEach((e) => {
28
- const r = document.createElement("style"), o = Lt.litNonce;
29
- o !== void 0 && r.setAttribute("nonce", o), r.textContent = e.cssText, a.appendChild(r);
30
- });
31
- }, pr = Ie ? (a) => a : (a) => a instanceof CSSStyleSheet ? ((t) => {
32
- let e = "";
33
- for (const r of t.cssRules)
34
- e += r.cssText;
35
- return mo(e);
36
- })(a) : a;
37
- /**
38
- * @license
39
- * Copyright 2017 Google LLC
40
- * SPDX-License-Identifier: BSD-3-Clause
41
- */
42
- var fe;
43
- const Ht = window, dr = Ht.trustedTypes, bo = dr ? dr.emptyScript : "", cr = Ht.reactiveElementPolyfillSupport, Oe = { toAttribute(a, t) {
44
- switch (t) {
45
- case Boolean:
46
- a = a ? bo : null;
47
- break;
48
- case Object:
49
- case Array:
50
- a = a == null ? a : JSON.stringify(a);
51
- }
52
- return a;
53
- }, fromAttribute(a, t) {
54
- let e = a;
55
- switch (t) {
56
- case Boolean:
57
- e = a !== null;
58
- break;
59
- case Number:
60
- e = a === null ? null : Number(a);
61
- break;
62
- case Object:
63
- case Array:
64
- try {
65
- e = JSON.parse(a);
66
- } catch {
67
- e = null;
68
- }
69
- }
70
- return e;
71
- } }, Dr = (a, t) => t !== a && (t == t || a == a), xe = { attribute: !0, type: String, converter: Oe, reflect: !1, hasChanged: Dr };
72
- let gt = class extends HTMLElement {
73
- constructor() {
74
- super(), this._$Ei = /* @__PURE__ */ new Map(), this.isUpdatePending = !1, this.hasUpdated = !1, this._$El = null, this.u();
75
- }
76
- static addInitializer(t) {
77
- var e;
78
- this.finalize(), ((e = this.h) !== null && e !== void 0 ? e : this.h = []).push(t);
79
- }
80
- static get observedAttributes() {
81
- this.finalize();
82
- const t = [];
83
- return this.elementProperties.forEach((e, r) => {
84
- const o = this._$Ep(r, e);
85
- o !== void 0 && (this._$Ev.set(o, r), t.push(o));
86
- }), t;
87
- }
88
- static createProperty(t, e = xe) {
89
- if (e.state && (e.attribute = !1), this.finalize(), this.elementProperties.set(t, e), !e.noAccessor && !this.prototype.hasOwnProperty(t)) {
90
- const r = typeof t == "symbol" ? Symbol() : "__" + t, o = this.getPropertyDescriptor(t, r, e);
91
- o !== void 0 && Object.defineProperty(this.prototype, t, o);
92
- }
93
- }
94
- static getPropertyDescriptor(t, e, r) {
95
- return { get() {
96
- return this[e];
97
- }, set(o) {
98
- const n = this[t];
99
- this[e] = o, this.requestUpdate(t, n, r);
100
- }, configurable: !0, enumerable: !0 };
101
- }
102
- static getPropertyOptions(t) {
103
- return this.elementProperties.get(t) || xe;
104
- }
105
- static finalize() {
106
- if (this.hasOwnProperty("finalized"))
107
- return !1;
108
- this.finalized = !0;
109
- const t = Object.getPrototypeOf(this);
110
- if (t.finalize(), t.h !== void 0 && (this.h = [...t.h]), this.elementProperties = new Map(t.elementProperties), this._$Ev = /* @__PURE__ */ new Map(), this.hasOwnProperty("properties")) {
111
- const e = this.properties, r = [...Object.getOwnPropertyNames(e), ...Object.getOwnPropertySymbols(e)];
112
- for (const o of r)
113
- this.createProperty(o, e[o]);
114
- }
115
- return this.elementStyles = this.finalizeStyles(this.styles), !0;
116
- }
117
- static finalizeStyles(t) {
118
- const e = [];
119
- if (Array.isArray(t)) {
120
- const r = new Set(t.flat(1 / 0).reverse());
121
- for (const o of r)
122
- e.unshift(pr(o));
123
- } else
124
- t !== void 0 && e.push(pr(t));
125
- return e;
126
- }
127
- static _$Ep(t, e) {
128
- const r = e.attribute;
129
- return r === !1 ? void 0 : typeof r == "string" ? r : typeof t == "string" ? t.toLowerCase() : void 0;
130
- }
131
- u() {
132
- var t;
133
- this._$E_ = new Promise((e) => this.enableUpdating = e), this._$AL = /* @__PURE__ */ new Map(), this._$Eg(), this.requestUpdate(), (t = this.constructor.h) === null || t === void 0 || t.forEach((e) => e(this));
134
- }
135
- addController(t) {
136
- var e, r;
137
- ((e = this._$ES) !== null && e !== void 0 ? e : this._$ES = []).push(t), this.renderRoot !== void 0 && this.isConnected && ((r = t.hostConnected) === null || r === void 0 || r.call(t));
138
- }
139
- removeController(t) {
140
- var e;
141
- (e = this._$ES) === null || e === void 0 || e.splice(this._$ES.indexOf(t) >>> 0, 1);
142
- }
143
- _$Eg() {
144
- this.constructor.elementProperties.forEach((t, e) => {
145
- this.hasOwnProperty(e) && (this._$Ei.set(e, this[e]), delete this[e]);
146
- });
147
- }
148
- createRenderRoot() {
149
- var t;
150
- const e = (t = this.shadowRoot) !== null && t !== void 0 ? t : this.attachShadow(this.constructor.shadowRootOptions);
151
- return vo(e, this.constructor.elementStyles), e;
152
- }
153
- connectedCallback() {
154
- var t;
155
- this.renderRoot === void 0 && (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), (t = this._$ES) === null || t === void 0 || t.forEach((e) => {
156
- var r;
157
- return (r = e.hostConnected) === null || r === void 0 ? void 0 : r.call(e);
158
- });
159
- }
160
- enableUpdating(t) {
161
- }
162
- disconnectedCallback() {
163
- var t;
164
- (t = this._$ES) === null || t === void 0 || t.forEach((e) => {
165
- var r;
166
- return (r = e.hostDisconnected) === null || r === void 0 ? void 0 : r.call(e);
167
- });
168
- }
169
- attributeChangedCallback(t, e, r) {
170
- this._$AK(t, r);
171
- }
172
- _$EO(t, e, r = xe) {
173
- var o;
174
- const n = this.constructor._$Ep(t, r);
175
- if (n !== void 0 && r.reflect === !0) {
176
- const s = (((o = r.converter) === null || o === void 0 ? void 0 : o.toAttribute) !== void 0 ? r.converter : Oe).toAttribute(e, r.type);
177
- this._$El = t, s == null ? this.removeAttribute(n) : this.setAttribute(n, s), this._$El = null;
178
- }
179
- }
180
- _$AK(t, e) {
181
- var r;
182
- const o = this.constructor, n = o._$Ev.get(t);
183
- if (n !== void 0 && this._$El !== n) {
184
- const s = o.getPropertyOptions(n), u = typeof s.converter == "function" ? { fromAttribute: s.converter } : ((r = s.converter) === null || r === void 0 ? void 0 : r.fromAttribute) !== void 0 ? s.converter : Oe;
185
- this._$El = n, this[n] = u.fromAttribute(e, s.type), this._$El = null;
186
- }
187
- }
188
- requestUpdate(t, e, r) {
189
- let o = !0;
190
- t !== void 0 && (((r = r || this.constructor.getPropertyOptions(t)).hasChanged || Dr)(this[t], e) ? (this._$AL.has(t) || this._$AL.set(t, e), r.reflect === !0 && this._$El !== t && (this._$EC === void 0 && (this._$EC = /* @__PURE__ */ new Map()), this._$EC.set(t, r))) : o = !1), !this.isUpdatePending && o && (this._$E_ = this._$Ej());
191
- }
192
- async _$Ej() {
193
- this.isUpdatePending = !0;
194
- try {
195
- await this._$E_;
196
- } catch (e) {
197
- Promise.reject(e);
198
- }
199
- const t = this.scheduleUpdate();
200
- return t != null && await t, !this.isUpdatePending;
201
- }
202
- scheduleUpdate() {
203
- return this.performUpdate();
204
- }
205
- performUpdate() {
206
- var t;
207
- if (!this.isUpdatePending)
208
- return;
209
- this.hasUpdated, this._$Ei && (this._$Ei.forEach((o, n) => this[n] = o), this._$Ei = void 0);
210
- let e = !1;
211
- const r = this._$AL;
212
- try {
213
- e = this.shouldUpdate(r), e ? (this.willUpdate(r), (t = this._$ES) === null || t === void 0 || t.forEach((o) => {
214
- var n;
215
- return (n = o.hostUpdate) === null || n === void 0 ? void 0 : n.call(o);
216
- }), this.update(r)) : this._$Ek();
217
- } catch (o) {
218
- throw e = !1, this._$Ek(), o;
219
- }
220
- e && this._$AE(r);
221
- }
222
- willUpdate(t) {
223
- }
224
- _$AE(t) {
225
- var e;
226
- (e = this._$ES) === null || e === void 0 || e.forEach((r) => {
227
- var o;
228
- return (o = r.hostUpdated) === null || o === void 0 ? void 0 : o.call(r);
229
- }), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t);
230
- }
231
- _$Ek() {
232
- this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1;
233
- }
234
- get updateComplete() {
235
- return this.getUpdateComplete();
236
- }
237
- getUpdateComplete() {
238
- return this._$E_;
239
- }
240
- shouldUpdate(t) {
241
- return !0;
242
- }
243
- update(t) {
244
- this._$EC !== void 0 && (this._$EC.forEach((e, r) => this._$EO(r, this[r], e)), this._$EC = void 0), this._$Ek();
245
- }
246
- updated(t) {
247
- }
248
- firstUpdated(t) {
249
- }
250
- };
251
- gt.finalized = !0, gt.elementProperties = /* @__PURE__ */ new Map(), gt.elementStyles = [], gt.shadowRootOptions = { mode: "open" }, cr == null || cr({ ReactiveElement: gt }), ((fe = Ht.reactiveElementVersions) !== null && fe !== void 0 ? fe : Ht.reactiveElementVersions = []).push("1.6.1");
252
- /**
253
- * @license
254
- * Copyright 2017 Google LLC
255
- * SPDX-License-Identifier: BSD-3-Clause
256
- */
257
- var ge;
258
- const Ft = window, nt = Ft.trustedTypes, hr = nt ? nt.createPolicy("lit-html", { createHTML: (a) => a }) : void 0, j = `lit$${(Math.random() + "").slice(9)}$`, Ur = "?" + j, yo = `<${Ur}>`, st = document, Bt = (a = "") => st.createComment(a), _t = (a) => a === null || typeof a != "object" && typeof a != "function", Hr = Array.isArray, _o = (a) => Hr(a) || typeof (a == null ? void 0 : a[Symbol.iterator]) == "function", mt = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, wr = /-->/g, ur = />/g, q = RegExp(`>|[
259
- \f\r](?:([^\\s"'>=/]+)([
260
- \f\r]*=[
261
- \f\r]*(?:[^
262
- \f\r"'\`<>=]|("|')|))|$)`, "g"), fr = /'/g, xr = /"/g, Fr = /^(?:script|style|textarea|title)$/i, lt = Symbol.for("lit-noChange"), y = Symbol.for("lit-nothing"), gr = /* @__PURE__ */ new WeakMap(), at = st.createTreeWalker(st, 129, null, !1), Ao = (a, t) => {
263
- const e = a.length - 1, r = [];
264
- let o, n = t === 2 ? "<svg>" : "", s = mt;
265
- for (let p = 0; p < e; p++) {
266
- const d = a[p];
267
- let v, h, f = -1, m = 0;
268
- for (; m < d.length && (s.lastIndex = m, h = s.exec(d), h !== null); )
269
- m = s.lastIndex, s === mt ? h[1] === "!--" ? s = wr : h[1] !== void 0 ? s = ur : h[2] !== void 0 ? (Fr.test(h[2]) && (o = RegExp("</" + h[2], "g")), s = q) : h[3] !== void 0 && (s = q) : s === q ? h[0] === ">" ? (s = o ?? mt, f = -1) : h[1] === void 0 ? f = -2 : (f = s.lastIndex - h[2].length, v = h[1], s = h[3] === void 0 ? q : h[3] === '"' ? xr : fr) : s === xr || s === fr ? s = q : s === wr || s === ur ? s = mt : (s = q, o = void 0);
270
- const N = s === q && a[p + 1].startsWith("/>") ? " " : "";
271
- n += s === mt ? d + yo : f >= 0 ? (r.push(v), d.slice(0, f) + "$lit$" + d.slice(f) + j + N) : d + j + (f === -2 ? (r.push(void 0), p) : N);
272
- }
273
- const u = n + (a[e] || "<?>") + (t === 2 ? "</svg>" : "");
274
- if (!Array.isArray(a) || !a.hasOwnProperty("raw"))
275
- throw Error("invalid template strings array");
276
- return [hr !== void 0 ? hr.createHTML(u) : u, r];
277
- };
278
- let jt = class {
279
- constructor({ strings: t, _$litType$: e }, r) {
280
- let o;
281
- this.parts = [];
282
- let n = 0, s = 0;
283
- const u = t.length - 1, p = this.parts, [d, v] = Ao(t, e);
284
- if (this.el = jt.createElement(d, r), at.currentNode = this.el.content, e === 2) {
285
- const h = this.el.content, f = h.firstChild;
286
- f.remove(), h.append(...f.childNodes);
287
- }
288
- for (; (o = at.nextNode()) !== null && p.length < u; ) {
289
- if (o.nodeType === 1) {
290
- if (o.hasAttributes()) {
291
- const h = [];
292
- for (const f of o.getAttributeNames())
293
- if (f.endsWith("$lit$") || f.startsWith(j)) {
294
- const m = v[s++];
295
- if (h.push(f), m !== void 0) {
296
- const N = o.getAttribute(m.toLowerCase() + "$lit$").split(j), M = /([.?@])?(.*)/.exec(m);
297
- p.push({ type: 1, index: n, name: M[2], strings: N, ctor: M[1] === "." ? Eo : M[1] === "?" ? So : M[1] === "@" ? ko : Yt });
298
- } else
299
- p.push({ type: 6, index: n });
300
- }
301
- for (const f of h)
302
- o.removeAttribute(f);
303
- }
304
- if (Fr.test(o.tagName)) {
305
- const h = o.textContent.split(j), f = h.length - 1;
306
- if (f > 0) {
307
- o.textContent = nt ? nt.emptyScript : "";
308
- for (let m = 0; m < f; m++)
309
- o.append(h[m], Bt()), at.nextNode(), p.push({ type: 2, index: ++n });
310
- o.append(h[f], Bt());
311
- }
312
- }
313
- } else if (o.nodeType === 8)
314
- if (o.data === Ur)
315
- p.push({ type: 2, index: n });
316
- else {
317
- let h = -1;
318
- for (; (h = o.data.indexOf(j, h + 1)) !== -1; )
319
- p.push({ type: 7, index: n }), h += j.length - 1;
320
- }
321
- n++;
322
- }
323
- }
324
- static createElement(t, e) {
325
- const r = st.createElement("template");
326
- return r.innerHTML = t, r;
327
- }
328
- };
329
- function pt(a, t, e = a, r) {
330
- var o, n, s, u;
331
- if (t === lt)
332
- return t;
333
- let p = r !== void 0 ? (o = e._$Co) === null || o === void 0 ? void 0 : o[r] : e._$Cl;
334
- const d = _t(t) ? void 0 : t._$litDirective$;
335
- return (p == null ? void 0 : p.constructor) !== d && ((n = p == null ? void 0 : p._$AO) === null || n === void 0 || n.call(p, !1), d === void 0 ? p = void 0 : (p = new d(a), p._$AT(a, e, r)), r !== void 0 ? ((s = (u = e)._$Co) !== null && s !== void 0 ? s : u._$Co = [])[r] = p : e._$Cl = p), p !== void 0 && (t = pt(a, p._$AS(a, t.values), p, r)), t;
336
- }
337
- let $o = class {
338
- constructor(t, e) {
339
- this.u = [], this._$AN = void 0, this._$AD = t, this._$AM = e;
340
- }
341
- get parentNode() {
342
- return this._$AM.parentNode;
343
- }
344
- get _$AU() {
345
- return this._$AM._$AU;
346
- }
347
- v(t) {
348
- var e;
349
- const { el: { content: r }, parts: o } = this._$AD, n = ((e = t == null ? void 0 : t.creationScope) !== null && e !== void 0 ? e : st).importNode(r, !0);
350
- at.currentNode = n;
351
- let s = at.nextNode(), u = 0, p = 0, d = o[0];
352
- for (; d !== void 0; ) {
353
- if (u === d.index) {
354
- let v;
355
- d.type === 2 ? v = new De(s, s.nextSibling, this, t) : d.type === 1 ? v = new d.ctor(s, d.name, d.strings, this, t) : d.type === 6 && (v = new Co(s, this, t)), this.u.push(v), d = o[++p];
356
- }
357
- u !== (d == null ? void 0 : d.index) && (s = at.nextNode(), u++);
358
- }
359
- return n;
360
- }
361
- p(t) {
362
- let e = 0;
363
- for (const r of this.u)
364
- r !== void 0 && (r.strings !== void 0 ? (r._$AI(t, r, e), e += r.strings.length - 2) : r._$AI(t[e])), e++;
365
- }
366
- }, De = class {
367
- constructor(t, e, r, o) {
368
- var n;
369
- this.type = 2, this._$AH = y, this._$AN = void 0, this._$AA = t, this._$AB = e, this._$AM = r, this.options = o, this._$Cm = (n = o == null ? void 0 : o.isConnected) === null || n === void 0 || n;
370
- }
371
- get _$AU() {
372
- var t, e;
373
- return (e = (t = this._$AM) === null || t === void 0 ? void 0 : t._$AU) !== null && e !== void 0 ? e : this._$Cm;
374
- }
375
- get parentNode() {
376
- let t = this._$AA.parentNode;
377
- const e = this._$AM;
378
- return e !== void 0 && t.nodeType === 11 && (t = e.parentNode), t;
379
- }
380
- get startNode() {
381
- return this._$AA;
382
- }
383
- get endNode() {
384
- return this._$AB;
385
- }
386
- _$AI(t, e = this) {
387
- t = pt(this, t, e), _t(t) ? t === y || t == null || t === "" ? (this._$AH !== y && this._$AR(), this._$AH = y) : t !== this._$AH && t !== lt && this.g(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : _o(t) ? this.k(t) : this.g(t);
388
- }
389
- O(t, e = this._$AB) {
390
- return this._$AA.parentNode.insertBefore(t, e);
391
- }
392
- T(t) {
393
- this._$AH !== t && (this._$AR(), this._$AH = this.O(t));
394
- }
395
- g(t) {
396
- this._$AH !== y && _t(this._$AH) ? this._$AA.nextSibling.data = t : this.T(st.createTextNode(t)), this._$AH = t;
397
- }
398
- $(t) {
399
- var e;
400
- const { values: r, _$litType$: o } = t, n = typeof o == "number" ? this._$AC(t) : (o.el === void 0 && (o.el = jt.createElement(o.h, this.options)), o);
401
- if (((e = this._$AH) === null || e === void 0 ? void 0 : e._$AD) === n)
402
- this._$AH.p(r);
403
- else {
404
- const s = new $o(n, this), u = s.v(this.options);
405
- s.p(r), this.T(u), this._$AH = s;
406
- }
407
- }
408
- _$AC(t) {
409
- let e = gr.get(t.strings);
410
- return e === void 0 && gr.set(t.strings, e = new jt(t)), e;
411
- }
412
- k(t) {
413
- Hr(this._$AH) || (this._$AH = [], this._$AR());
414
- const e = this._$AH;
415
- let r, o = 0;
416
- for (const n of t)
417
- o === e.length ? e.push(r = new De(this.O(Bt()), this.O(Bt()), this, this.options)) : r = e[o], r._$AI(n), o++;
418
- o < e.length && (this._$AR(r && r._$AB.nextSibling, o), e.length = o);
419
- }
420
- _$AR(t = this._$AA.nextSibling, e) {
421
- var r;
422
- for ((r = this._$AP) === null || r === void 0 || r.call(this, !1, !0, e); t && t !== this._$AB; ) {
423
- const o = t.nextSibling;
424
- t.remove(), t = o;
425
- }
426
- }
427
- setConnected(t) {
428
- var e;
429
- this._$AM === void 0 && (this._$Cm = t, (e = this._$AP) === null || e === void 0 || e.call(this, t));
430
- }
431
- }, Yt = class {
432
- constructor(t, e, r, o, n) {
433
- this.type = 1, this._$AH = y, this._$AN = void 0, this.element = t, this.name = e, this._$AM = o, this.options = n, r.length > 2 || r[0] !== "" || r[1] !== "" ? (this._$AH = Array(r.length - 1).fill(new String()), this.strings = r) : this._$AH = y;
434
- }
435
- get tagName() {
436
- return this.element.tagName;
437
- }
438
- get _$AU() {
439
- return this._$AM._$AU;
440
- }
441
- _$AI(t, e = this, r, o) {
442
- const n = this.strings;
443
- let s = !1;
444
- if (n === void 0)
445
- t = pt(this, t, e, 0), s = !_t(t) || t !== this._$AH && t !== lt, s && (this._$AH = t);
446
- else {
447
- const u = t;
448
- let p, d;
449
- for (t = n[0], p = 0; p < n.length - 1; p++)
450
- d = pt(this, u[r + p], e, p), d === lt && (d = this._$AH[p]), s || (s = !_t(d) || d !== this._$AH[p]), d === y ? t = y : t !== y && (t += (d ?? "") + n[p + 1]), this._$AH[p] = d;
451
- }
452
- s && !o && this.j(t);
453
- }
454
- j(t) {
455
- t === y ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "");
456
- }
457
- }, Eo = class extends Yt {
458
- constructor() {
459
- super(...arguments), this.type = 3;
460
- }
461
- j(t) {
462
- this.element[this.name] = t === y ? void 0 : t;
463
- }
464
- };
465
- const To = nt ? nt.emptyScript : "";
466
- let So = class extends Yt {
467
- constructor() {
468
- super(...arguments), this.type = 4;
469
- }
470
- j(t) {
471
- t && t !== y ? this.element.setAttribute(this.name, To) : this.element.removeAttribute(this.name);
472
- }
473
- }, ko = class extends Yt {
474
- constructor(t, e, r, o, n) {
475
- super(t, e, r, o, n), this.type = 5;
476
- }
477
- _$AI(t, e = this) {
478
- var r;
479
- if ((t = (r = pt(this, t, e, 0)) !== null && r !== void 0 ? r : y) === lt)
480
- return;
481
- const o = this._$AH, n = t === y && o !== y || t.capture !== o.capture || t.once !== o.once || t.passive !== o.passive, s = t !== y && (o === y || n);
482
- n && this.element.removeEventListener(this.name, this, o), s && this.element.addEventListener(this.name, this, t), this._$AH = t;
483
- }
484
- handleEvent(t) {
485
- var e, r;
486
- typeof this._$AH == "function" ? this._$AH.call((r = (e = this.options) === null || e === void 0 ? void 0 : e.host) !== null && r !== void 0 ? r : this.element, t) : this._$AH.handleEvent(t);
487
- }
488
- }, Co = class {
489
- constructor(t, e, r) {
490
- this.element = t, this.type = 6, this._$AN = void 0, this._$AM = e, this.options = r;
491
- }
492
- get _$AU() {
493
- return this._$AM._$AU;
494
- }
495
- _$AI(t) {
496
- pt(this, t);
497
- }
498
- };
499
- const mr = Ft.litHtmlPolyfillSupport;
500
- mr == null || mr(jt, De), ((ge = Ft.litHtmlVersions) !== null && ge !== void 0 ? ge : Ft.litHtmlVersions = []).push("2.6.1");
501
- /**
502
- * @license
503
- * Copyright 2019 Google LLC
504
- * SPDX-License-Identifier: BSD-3-Clause
505
- */
506
- const It = window, Ue = It.ShadowRoot && (It.ShadyCSS === void 0 || It.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, Br = Symbol(), vr = /* @__PURE__ */ new WeakMap();
507
- let Oo = class {
508
- constructor(t, e, r) {
509
- if (this._$cssResult$ = !0, r !== Br)
510
- throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
511
- this.cssText = t, this.t = e;
512
- }
513
- get styleSheet() {
514
- let t = this.o;
515
- const e = this.t;
516
- if (Ue && t === void 0) {
517
- const r = e !== void 0 && e.length === 1;
518
- r && (t = vr.get(e)), t === void 0 && ((this.o = t = new CSSStyleSheet()).replaceSync(this.cssText), r && vr.set(e, t));
519
- }
520
- return t;
521
- }
522
- toString() {
523
- return this.cssText;
524
- }
525
- };
526
- const jr = (a) => new Oo(typeof a == "string" ? a : a + "", void 0, Br), No = (a, t) => {
527
- Ue ? a.adoptedStyleSheets = t.map((e) => e instanceof CSSStyleSheet ? e : e.styleSheet) : t.forEach((e) => {
528
- const r = document.createElement("style"), o = It.litNonce;
529
- o !== void 0 && r.setAttribute("nonce", o), r.textContent = e.cssText, a.appendChild(r);
530
- });
531
- }, br = Ue ? (a) => a : (a) => a instanceof CSSStyleSheet ? ((t) => {
532
- let e = "";
533
- for (const r of t.cssRules)
534
- e += r.cssText;
535
- return jr(e);
536
- })(a) : a;
537
- /**
538
- * @license
539
- * Copyright 2017 Google LLC
540
- * SPDX-License-Identifier: BSD-3-Clause
541
- */
542
- var me;
543
- const Wt = window, yr = Wt.trustedTypes, zo = yr ? yr.emptyScript : "", _r = Wt.reactiveElementPolyfillSupport, Ne = { toAttribute(a, t) {
544
- switch (t) {
545
- case Boolean:
546
- a = a ? zo : null;
547
- break;
548
- case Object:
549
- case Array:
550
- a = a == null ? a : JSON.stringify(a);
551
- }
552
- return a;
553
- }, fromAttribute(a, t) {
554
- let e = a;
555
- switch (t) {
556
- case Boolean:
557
- e = a !== null;
558
- break;
559
- case Number:
560
- e = a === null ? null : Number(a);
561
- break;
562
- case Object:
563
- case Array:
564
- try {
565
- e = JSON.parse(a);
566
- } catch {
567
- e = null;
568
- }
569
- }
570
- return e;
571
- } }, Wr = (a, t) => t !== a && (t == t || a == a), ve = { attribute: !0, type: String, converter: Ne, reflect: !1, hasChanged: Wr };
572
- let ot = class extends HTMLElement {
573
- constructor() {
574
- super(), this._$Ei = /* @__PURE__ */ new Map(), this.isUpdatePending = !1, this.hasUpdated = !1, this._$El = null, this.u();
575
- }
576
- static addInitializer(t) {
577
- var e;
578
- this.finalize(), ((e = this.h) !== null && e !== void 0 ? e : this.h = []).push(t);
579
- }
580
- static get observedAttributes() {
581
- this.finalize();
582
- const t = [];
583
- return this.elementProperties.forEach((e, r) => {
584
- const o = this._$Ep(r, e);
585
- o !== void 0 && (this._$Ev.set(o, r), t.push(o));
586
- }), t;
587
- }
588
- static createProperty(t, e = ve) {
589
- if (e.state && (e.attribute = !1), this.finalize(), this.elementProperties.set(t, e), !e.noAccessor && !this.prototype.hasOwnProperty(t)) {
590
- const r = typeof t == "symbol" ? Symbol() : "__" + t, o = this.getPropertyDescriptor(t, r, e);
591
- o !== void 0 && Object.defineProperty(this.prototype, t, o);
592
- }
593
- }
594
- static getPropertyDescriptor(t, e, r) {
595
- return { get() {
596
- return this[e];
597
- }, set(o) {
598
- const n = this[t];
599
- this[e] = o, this.requestUpdate(t, n, r);
600
- }, configurable: !0, enumerable: !0 };
601
- }
602
- static getPropertyOptions(t) {
603
- return this.elementProperties.get(t) || ve;
604
- }
605
- static finalize() {
606
- if (this.hasOwnProperty("finalized"))
607
- return !1;
608
- this.finalized = !0;
609
- const t = Object.getPrototypeOf(this);
610
- if (t.finalize(), t.h !== void 0 && (this.h = [...t.h]), this.elementProperties = new Map(t.elementProperties), this._$Ev = /* @__PURE__ */ new Map(), this.hasOwnProperty("properties")) {
611
- const e = this.properties, r = [...Object.getOwnPropertyNames(e), ...Object.getOwnPropertySymbols(e)];
612
- for (const o of r)
613
- this.createProperty(o, e[o]);
614
- }
615
- return this.elementStyles = this.finalizeStyles(this.styles), !0;
616
- }
617
- static finalizeStyles(t) {
618
- const e = [];
619
- if (Array.isArray(t)) {
620
- const r = new Set(t.flat(1 / 0).reverse());
621
- for (const o of r)
622
- e.unshift(br(o));
623
- } else
624
- t !== void 0 && e.push(br(t));
625
- return e;
626
- }
627
- static _$Ep(t, e) {
628
- const r = e.attribute;
629
- return r === !1 ? void 0 : typeof r == "string" ? r : typeof t == "string" ? t.toLowerCase() : void 0;
630
- }
631
- u() {
632
- var t;
633
- this._$E_ = new Promise((e) => this.enableUpdating = e), this._$AL = /* @__PURE__ */ new Map(), this._$Eg(), this.requestUpdate(), (t = this.constructor.h) === null || t === void 0 || t.forEach((e) => e(this));
634
- }
635
- addController(t) {
636
- var e, r;
637
- ((e = this._$ES) !== null && e !== void 0 ? e : this._$ES = []).push(t), this.renderRoot !== void 0 && this.isConnected && ((r = t.hostConnected) === null || r === void 0 || r.call(t));
638
- }
639
- removeController(t) {
640
- var e;
641
- (e = this._$ES) === null || e === void 0 || e.splice(this._$ES.indexOf(t) >>> 0, 1);
642
- }
643
- _$Eg() {
644
- this.constructor.elementProperties.forEach((t, e) => {
645
- this.hasOwnProperty(e) && (this._$Ei.set(e, this[e]), delete this[e]);
646
- });
647
- }
648
- createRenderRoot() {
649
- var t;
650
- const e = (t = this.shadowRoot) !== null && t !== void 0 ? t : this.attachShadow(this.constructor.shadowRootOptions);
651
- return No(e, this.constructor.elementStyles), e;
652
- }
653
- connectedCallback() {
654
- var t;
655
- this.renderRoot === void 0 && (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), (t = this._$ES) === null || t === void 0 || t.forEach((e) => {
656
- var r;
657
- return (r = e.hostConnected) === null || r === void 0 ? void 0 : r.call(e);
658
- });
659
- }
660
- enableUpdating(t) {
661
- }
662
- disconnectedCallback() {
663
- var t;
664
- (t = this._$ES) === null || t === void 0 || t.forEach((e) => {
665
- var r;
666
- return (r = e.hostDisconnected) === null || r === void 0 ? void 0 : r.call(e);
667
- });
668
- }
669
- attributeChangedCallback(t, e, r) {
670
- this._$AK(t, r);
671
- }
672
- _$EO(t, e, r = ve) {
673
- var o;
674
- const n = this.constructor._$Ep(t, r);
675
- if (n !== void 0 && r.reflect === !0) {
676
- const s = (((o = r.converter) === null || o === void 0 ? void 0 : o.toAttribute) !== void 0 ? r.converter : Ne).toAttribute(e, r.type);
677
- this._$El = t, s == null ? this.removeAttribute(n) : this.setAttribute(n, s), this._$El = null;
678
- }
679
- }
680
- _$AK(t, e) {
681
- var r;
682
- const o = this.constructor, n = o._$Ev.get(t);
683
- if (n !== void 0 && this._$El !== n) {
684
- const s = o.getPropertyOptions(n), u = typeof s.converter == "function" ? { fromAttribute: s.converter } : ((r = s.converter) === null || r === void 0 ? void 0 : r.fromAttribute) !== void 0 ? s.converter : Ne;
685
- this._$El = n, this[n] = u.fromAttribute(e, s.type), this._$El = null;
686
- }
687
- }
688
- requestUpdate(t, e, r) {
689
- let o = !0;
690
- t !== void 0 && (((r = r || this.constructor.getPropertyOptions(t)).hasChanged || Wr)(this[t], e) ? (this._$AL.has(t) || this._$AL.set(t, e), r.reflect === !0 && this._$El !== t && (this._$EC === void 0 && (this._$EC = /* @__PURE__ */ new Map()), this._$EC.set(t, r))) : o = !1), !this.isUpdatePending && o && (this._$E_ = this._$Ej());
691
- }
692
- async _$Ej() {
693
- this.isUpdatePending = !0;
694
- try {
695
- await this._$E_;
696
- } catch (e) {
697
- Promise.reject(e);
698
- }
699
- const t = this.scheduleUpdate();
700
- return t != null && await t, !this.isUpdatePending;
701
- }
702
- scheduleUpdate() {
703
- return this.performUpdate();
704
- }
705
- performUpdate() {
706
- var t;
707
- if (!this.isUpdatePending)
708
- return;
709
- this.hasUpdated, this._$Ei && (this._$Ei.forEach((o, n) => this[n] = o), this._$Ei = void 0);
710
- let e = !1;
711
- const r = this._$AL;
712
- try {
713
- e = this.shouldUpdate(r), e ? (this.willUpdate(r), (t = this._$ES) === null || t === void 0 || t.forEach((o) => {
714
- var n;
715
- return (n = o.hostUpdate) === null || n === void 0 ? void 0 : n.call(o);
716
- }), this.update(r)) : this._$Ek();
717
- } catch (o) {
718
- throw e = !1, this._$Ek(), o;
719
- }
720
- e && this._$AE(r);
721
- }
722
- willUpdate(t) {
723
- }
724
- _$AE(t) {
725
- var e;
726
- (e = this._$ES) === null || e === void 0 || e.forEach((r) => {
727
- var o;
728
- return (o = r.hostUpdated) === null || o === void 0 ? void 0 : o.call(r);
729
- }), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(t)), this.updated(t);
730
- }
731
- _$Ek() {
732
- this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1;
733
- }
734
- get updateComplete() {
735
- return this.getUpdateComplete();
736
- }
737
- getUpdateComplete() {
738
- return this._$E_;
739
- }
740
- shouldUpdate(t) {
741
- return !0;
742
- }
743
- update(t) {
744
- this._$EC !== void 0 && (this._$EC.forEach((e, r) => this._$EO(r, this[r], e)), this._$EC = void 0), this._$Ek();
745
- }
746
- updated(t) {
747
- }
748
- firstUpdated(t) {
749
- }
750
- };
751
- ot.finalized = !0, ot.elementProperties = /* @__PURE__ */ new Map(), ot.elementStyles = [], ot.shadowRootOptions = { mode: "open" }, _r == null || _r({ ReactiveElement: ot }), ((me = Wt.reactiveElementVersions) !== null && me !== void 0 ? me : Wt.reactiveElementVersions = []).push("1.5.0");
752
- /**
753
- * @license
754
- * Copyright 2017 Google LLC
755
- * SPDX-License-Identifier: BSD-3-Clause
756
- */
757
- var be;
758
- const Gt = window, dt = Gt.trustedTypes, Ar = dt ? dt.createPolicy("lit-html", { createHTML: (a) => a }) : void 0, W = `lit$${(Math.random() + "").slice(9)}$`, Gr = "?" + W, Ro = `<${Gr}>`, ct = document, At = (a = "") => ct.createComment(a), $t = (a) => a === null || typeof a != "object" && typeof a != "function", Vr = Array.isArray, Mo = (a) => Vr(a) || typeof (a == null ? void 0 : a[Symbol.iterator]) == "function", vt = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, $r = /-->/g, Er = />/g, X = RegExp(`>|[
759
- \f\r](?:([^\\s"'>=/]+)([
760
- \f\r]*=[
761
- \f\r]*(?:[^
762
- \f\r"'\`<>=]|("|')|))|$)`, "g"), Tr = /'/g, Sr = /"/g, Yr = /^(?:script|style|textarea|title)$/i, Po = (a) => (t, ...e) => ({ _$litType$: a, strings: t, values: e }), Lo = Po(1), ht = Symbol.for("lit-noChange"), E = Symbol.for("lit-nothing"), kr = /* @__PURE__ */ new WeakMap(), it = ct.createTreeWalker(ct, 129, null, !1), Io = (a, t) => {
763
- const e = a.length - 1, r = [];
764
- let o, n = t === 2 ? "<svg>" : "", s = vt;
765
- for (let p = 0; p < e; p++) {
766
- const d = a[p];
767
- let v, h, f = -1, m = 0;
768
- for (; m < d.length && (s.lastIndex = m, h = s.exec(d), h !== null); )
769
- m = s.lastIndex, s === vt ? h[1] === "!--" ? s = $r : h[1] !== void 0 ? s = Er : h[2] !== void 0 ? (Yr.test(h[2]) && (o = RegExp("</" + h[2], "g")), s = X) : h[3] !== void 0 && (s = X) : s === X ? h[0] === ">" ? (s = o ?? vt, f = -1) : h[1] === void 0 ? f = -2 : (f = s.lastIndex - h[2].length, v = h[1], s = h[3] === void 0 ? X : h[3] === '"' ? Sr : Tr) : s === Sr || s === Tr ? s = X : s === $r || s === Er ? s = vt : (s = X, o = void 0);
770
- const N = s === X && a[p + 1].startsWith("/>") ? " " : "";
771
- n += s === vt ? d + Ro : f >= 0 ? (r.push(v), d.slice(0, f) + "$lit$" + d.slice(f) + W + N) : d + W + (f === -2 ? (r.push(void 0), p) : N);
772
- }
773
- const u = n + (a[e] || "<?>") + (t === 2 ? "</svg>" : "");
774
- if (!Array.isArray(a) || !a.hasOwnProperty("raw"))
775
- throw Error("invalid template strings array");
776
- return [Ar !== void 0 ? Ar.createHTML(u) : u, r];
777
- };
778
- class Et {
779
- constructor({ strings: t, _$litType$: e }, r) {
780
- let o;
781
- this.parts = [];
782
- let n = 0, s = 0;
783
- const u = t.length - 1, p = this.parts, [d, v] = Io(t, e);
784
- if (this.el = Et.createElement(d, r), it.currentNode = this.el.content, e === 2) {
785
- const h = this.el.content, f = h.firstChild;
786
- f.remove(), h.append(...f.childNodes);
787
- }
788
- for (; (o = it.nextNode()) !== null && p.length < u; ) {
789
- if (o.nodeType === 1) {
790
- if (o.hasAttributes()) {
791
- const h = [];
792
- for (const f of o.getAttributeNames())
793
- if (f.endsWith("$lit$") || f.startsWith(W)) {
794
- const m = v[s++];
795
- if (h.push(f), m !== void 0) {
796
- const N = o.getAttribute(m.toLowerCase() + "$lit$").split(W), M = /([.?@])?(.*)/.exec(m);
797
- p.push({ type: 1, index: n, name: M[2], strings: N, ctor: M[1] === "." ? Uo : M[1] === "?" ? Fo : M[1] === "@" ? Bo : qt });
798
- } else
799
- p.push({ type: 6, index: n });
800
- }
801
- for (const f of h)
802
- o.removeAttribute(f);
803
- }
804
- if (Yr.test(o.tagName)) {
805
- const h = o.textContent.split(W), f = h.length - 1;
806
- if (f > 0) {
807
- o.textContent = dt ? dt.emptyScript : "";
808
- for (let m = 0; m < f; m++)
809
- o.append(h[m], At()), it.nextNode(), p.push({ type: 2, index: ++n });
810
- o.append(h[f], At());
811
- }
812
- }
813
- } else if (o.nodeType === 8)
814
- if (o.data === Gr)
815
- p.push({ type: 2, index: n });
816
- else {
817
- let h = -1;
818
- for (; (h = o.data.indexOf(W, h + 1)) !== -1; )
819
- p.push({ type: 7, index: n }), h += W.length - 1;
820
- }
821
- n++;
822
- }
823
- }
824
- static createElement(t, e) {
825
- const r = ct.createElement("template");
826
- return r.innerHTML = t, r;
827
- }
828
- }
829
- function wt(a, t, e = a, r) {
830
- var o, n, s, u;
831
- if (t === ht)
832
- return t;
833
- let p = r !== void 0 ? (o = e._$Co) === null || o === void 0 ? void 0 : o[r] : e._$Cl;
834
- const d = $t(t) ? void 0 : t._$litDirective$;
835
- return (p == null ? void 0 : p.constructor) !== d && ((n = p == null ? void 0 : p._$AO) === null || n === void 0 || n.call(p, !1), d === void 0 ? p = void 0 : (p = new d(a), p._$AT(a, e, r)), r !== void 0 ? ((s = (u = e)._$Co) !== null && s !== void 0 ? s : u._$Co = [])[r] = p : e._$Cl = p), p !== void 0 && (t = wt(a, p._$AS(a, t.values), p, r)), t;
836
- }
837
- class Do {
838
- constructor(t, e) {
839
- this.u = [], this._$AN = void 0, this._$AD = t, this._$AM = e;
840
- }
841
- get parentNode() {
842
- return this._$AM.parentNode;
843
- }
844
- get _$AU() {
845
- return this._$AM._$AU;
846
- }
847
- v(t) {
848
- var e;
849
- const { el: { content: r }, parts: o } = this._$AD, n = ((e = t == null ? void 0 : t.creationScope) !== null && e !== void 0 ? e : ct).importNode(r, !0);
850
- it.currentNode = n;
851
- let s = it.nextNode(), u = 0, p = 0, d = o[0];
852
- for (; d !== void 0; ) {
853
- if (u === d.index) {
854
- let v;
855
- d.type === 2 ? v = new Tt(s, s.nextSibling, this, t) : d.type === 1 ? v = new d.ctor(s, d.name, d.strings, this, t) : d.type === 6 && (v = new jo(s, this, t)), this.u.push(v), d = o[++p];
856
- }
857
- u !== (d == null ? void 0 : d.index) && (s = it.nextNode(), u++);
858
- }
859
- return n;
860
- }
861
- p(t) {
862
- let e = 0;
863
- for (const r of this.u)
864
- r !== void 0 && (r.strings !== void 0 ? (r._$AI(t, r, e), e += r.strings.length - 2) : r._$AI(t[e])), e++;
865
- }
866
- }
867
- class Tt {
868
- constructor(t, e, r, o) {
869
- var n;
870
- this.type = 2, this._$AH = E, this._$AN = void 0, this._$AA = t, this._$AB = e, this._$AM = r, this.options = o, this._$Cm = (n = o == null ? void 0 : o.isConnected) === null || n === void 0 || n;
871
- }
872
- get _$AU() {
873
- var t, e;
874
- return (e = (t = this._$AM) === null || t === void 0 ? void 0 : t._$AU) !== null && e !== void 0 ? e : this._$Cm;
875
- }
876
- get parentNode() {
877
- let t = this._$AA.parentNode;
878
- const e = this._$AM;
879
- return e !== void 0 && t.nodeType === 11 && (t = e.parentNode), t;
880
- }
881
- get startNode() {
882
- return this._$AA;
883
- }
884
- get endNode() {
885
- return this._$AB;
886
- }
887
- _$AI(t, e = this) {
888
- t = wt(this, t, e), $t(t) ? t === E || t == null || t === "" ? (this._$AH !== E && this._$AR(), this._$AH = E) : t !== this._$AH && t !== ht && this.g(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : Mo(t) ? this.k(t) : this.g(t);
889
- }
890
- O(t, e = this._$AB) {
891
- return this._$AA.parentNode.insertBefore(t, e);
892
- }
893
- T(t) {
894
- this._$AH !== t && (this._$AR(), this._$AH = this.O(t));
895
- }
896
- g(t) {
897
- this._$AH !== E && $t(this._$AH) ? this._$AA.nextSibling.data = t : this.T(ct.createTextNode(t)), this._$AH = t;
898
- }
899
- $(t) {
900
- var e;
901
- const { values: r, _$litType$: o } = t, n = typeof o == "number" ? this._$AC(t) : (o.el === void 0 && (o.el = Et.createElement(o.h, this.options)), o);
902
- if (((e = this._$AH) === null || e === void 0 ? void 0 : e._$AD) === n)
903
- this._$AH.p(r);
904
- else {
905
- const s = new Do(n, this), u = s.v(this.options);
906
- s.p(r), this.T(u), this._$AH = s;
907
- }
908
- }
909
- _$AC(t) {
910
- let e = kr.get(t.strings);
911
- return e === void 0 && kr.set(t.strings, e = new Et(t)), e;
912
- }
913
- k(t) {
914
- Vr(this._$AH) || (this._$AH = [], this._$AR());
915
- const e = this._$AH;
916
- let r, o = 0;
917
- for (const n of t)
918
- o === e.length ? e.push(r = new Tt(this.O(At()), this.O(At()), this, this.options)) : r = e[o], r._$AI(n), o++;
919
- o < e.length && (this._$AR(r && r._$AB.nextSibling, o), e.length = o);
920
- }
921
- _$AR(t = this._$AA.nextSibling, e) {
922
- var r;
923
- for ((r = this._$AP) === null || r === void 0 || r.call(this, !1, !0, e); t && t !== this._$AB; ) {
924
- const o = t.nextSibling;
925
- t.remove(), t = o;
926
- }
927
- }
928
- setConnected(t) {
929
- var e;
930
- this._$AM === void 0 && (this._$Cm = t, (e = this._$AP) === null || e === void 0 || e.call(this, t));
931
- }
932
- }
933
- class qt {
934
- constructor(t, e, r, o, n) {
935
- this.type = 1, this._$AH = E, this._$AN = void 0, this.element = t, this.name = e, this._$AM = o, this.options = n, r.length > 2 || r[0] !== "" || r[1] !== "" ? (this._$AH = Array(r.length - 1).fill(new String()), this.strings = r) : this._$AH = E;
936
- }
937
- get tagName() {
938
- return this.element.tagName;
939
- }
940
- get _$AU() {
941
- return this._$AM._$AU;
942
- }
943
- _$AI(t, e = this, r, o) {
944
- const n = this.strings;
945
- let s = !1;
946
- if (n === void 0)
947
- t = wt(this, t, e, 0), s = !$t(t) || t !== this._$AH && t !== ht, s && (this._$AH = t);
948
- else {
949
- const u = t;
950
- let p, d;
951
- for (t = n[0], p = 0; p < n.length - 1; p++)
952
- d = wt(this, u[r + p], e, p), d === ht && (d = this._$AH[p]), s || (s = !$t(d) || d !== this._$AH[p]), d === E ? t = E : t !== E && (t += (d ?? "") + n[p + 1]), this._$AH[p] = d;
953
- }
954
- s && !o && this.j(t);
955
- }
956
- j(t) {
957
- t === E ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "");
958
- }
959
- }
960
- class Uo extends qt {
961
- constructor() {
962
- super(...arguments), this.type = 3;
963
- }
964
- j(t) {
965
- this.element[this.name] = t === E ? void 0 : t;
966
- }
967
- }
968
- const Ho = dt ? dt.emptyScript : "";
969
- class Fo extends qt {
970
- constructor() {
971
- super(...arguments), this.type = 4;
972
- }
973
- j(t) {
974
- t && t !== E ? this.element.setAttribute(this.name, Ho) : this.element.removeAttribute(this.name);
975
- }
976
- }
977
- class Bo extends qt {
978
- constructor(t, e, r, o, n) {
979
- super(t, e, r, o, n), this.type = 5;
980
- }
981
- _$AI(t, e = this) {
982
- var r;
983
- if ((t = (r = wt(this, t, e, 0)) !== null && r !== void 0 ? r : E) === ht)
984
- return;
985
- const o = this._$AH, n = t === E && o !== E || t.capture !== o.capture || t.once !== o.once || t.passive !== o.passive, s = t !== E && (o === E || n);
986
- n && this.element.removeEventListener(this.name, this, o), s && this.element.addEventListener(this.name, this, t), this._$AH = t;
987
- }
988
- handleEvent(t) {
989
- var e, r;
990
- typeof this._$AH == "function" ? this._$AH.call((r = (e = this.options) === null || e === void 0 ? void 0 : e.host) !== null && r !== void 0 ? r : this.element, t) : this._$AH.handleEvent(t);
991
- }
992
- }
993
- class jo {
994
- constructor(t, e, r) {
995
- this.element = t, this.type = 6, this._$AN = void 0, this._$AM = e, this.options = r;
996
- }
997
- get _$AU() {
998
- return this._$AM._$AU;
999
- }
1000
- _$AI(t) {
1001
- wt(this, t);
1002
- }
1003
- }
1004
- const Cr = Gt.litHtmlPolyfillSupport;
1005
- Cr == null || Cr(Et, Tt), ((be = Gt.litHtmlVersions) !== null && be !== void 0 ? be : Gt.litHtmlVersions = []).push("2.5.0");
1006
- const Wo = (a, t, e) => {
1007
- var r, o;
1008
- const n = (r = e == null ? void 0 : e.renderBefore) !== null && r !== void 0 ? r : t;
1009
- let s = n._$litPart$;
1010
- if (s === void 0) {
1011
- const u = (o = e == null ? void 0 : e.renderBefore) !== null && o !== void 0 ? o : null;
1012
- n._$litPart$ = s = new Tt(t.insertBefore(At(), u), u, void 0, e ?? {});
1013
- }
1014
- return s._$AI(a), s;
1015
- };
1
+ import { c as b, x, a as TailwindElement, y } from '../../index-3a24432e.js';
2
+ import { i, t, b as e$1, e as e$2, a as e$3 } from '../../directive-9ec64c08.js';
3
+
1016
4
  /**
1017
5
  * @license
1018
6
  * Copyright 2017 Google LLC
1019
7
  * SPDX-License-Identifier: BSD-3-Clause
1020
- */
1021
- var ye, _e;
1022
- class yt extends ot {
1023
- constructor() {
1024
- super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
1025
- }
1026
- createRenderRoot() {
1027
- var t, e;
1028
- const r = super.createRenderRoot();
1029
- return (t = (e = this.renderOptions).renderBefore) !== null && t !== void 0 || (e.renderBefore = r.firstChild), r;
1030
- }
1031
- update(t) {
1032
- const e = this.render();
1033
- this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = Wo(e, this.renderRoot, this.renderOptions);
1034
- }
1035
- connectedCallback() {
1036
- var t;
1037
- super.connectedCallback(), (t = this._$Do) === null || t === void 0 || t.setConnected(!0);
1038
- }
1039
- disconnectedCallback() {
1040
- var t;
1041
- super.disconnectedCallback(), (t = this._$Do) === null || t === void 0 || t.setConnected(!1);
1042
- }
1043
- render() {
1044
- return ht;
1045
- }
8
+ */class e extends i{constructor(i){if(super(i),this.it=b,i.type!==t.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(r){if(r===b||null==r)return this._t=void 0,this.it=r;if(r===x)return r;if("string"!=typeof r)throw Error(this.constructor.directiveName+"() called with a non-string value");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName="unsafeHTML",e.resultType=1;const o=e$1(e);
9
+
10
+ /*! @license DOMPurify 2.4.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.4.3/LICENSE */
11
+
12
+ function _typeof(obj) {
13
+ "@babel/helpers - typeof";
14
+
15
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
16
+ return typeof obj;
17
+ } : function (obj) {
18
+ return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
19
+ }, _typeof(obj);
1046
20
  }
1047
- yt.finalized = !0, yt._$litElement$ = !0, (ye = globalThis.litElementHydrateSupport) === null || ye === void 0 || ye.call(globalThis, { LitElement: yt });
1048
- const Or = globalThis.litElementPolyfillSupport;
1049
- Or == null || Or({ LitElement: yt });
1050
- ((_e = globalThis.litElementVersions) !== null && _e !== void 0 ? _e : globalThis.litElementVersions = []).push("3.2.2");
1051
- /**
1052
- * @license
1053
- * Copyright 2017 Google LLC
1054
- * SPDX-License-Identifier: BSD-3-Clause
1055
- */
1056
- const Go = (a) => (t) => typeof t == "function" ? ((e, r) => (customElements.define(e, r), r))(a, t) : ((e, r) => {
1057
- const { kind: o, elements: n } = r;
1058
- return { kind: o, elements: n, finisher(s) {
1059
- customElements.define(e, s);
1060
- } };
1061
- })(a, t);
1062
- /**
1063
- * @license
1064
- * Copyright 2017 Google LLC
1065
- * SPDX-License-Identifier: BSD-3-Clause
1066
- */
1067
- const Vo = (a, t) => t.kind === "method" && t.descriptor && !("value" in t.descriptor) ? { ...t, finisher(e) {
1068
- e.createProperty(t.key, a);
1069
- } } : { kind: "field", key: Symbol(), placement: "own", descriptor: {}, originalKey: t.key, initializer() {
1070
- typeof t.initializer == "function" && (this[t.key] = t.initializer.call(this));
1071
- }, finisher(e) {
1072
- e.createProperty(t.key, a);
1073
- } };
1074
- function Yo(a) {
1075
- return (t, e) => e !== void 0 ? ((r, o, n) => {
1076
- o.constructor.createProperty(n, r);
1077
- })(a, t, e) : Vo(a, t);
21
+
22
+ function _setPrototypeOf(o, p) {
23
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
24
+ o.__proto__ = p;
25
+ return o;
26
+ };
27
+
28
+ return _setPrototypeOf(o, p);
1078
29
  }
1079
- /**
1080
- * @license
1081
- * Copyright 2021 Google LLC
1082
- * SPDX-License-Identifier: BSD-3-Clause
1083
- */
1084
- var Ae;
1085
- ((Ae = window.HTMLSlotElement) === null || Ae === void 0 ? void 0 : Ae.prototype.assignedElements) != null;
1086
- /**
1087
- * @license
1088
- * Copyright 2017 Google LLC
1089
- * SPDX-License-Identifier: BSD-3-Clause
1090
- */
1091
- const qo = { ATTRIBUTE: 1, CHILD: 2, PROPERTY: 3, BOOLEAN_ATTRIBUTE: 4, EVENT: 5, ELEMENT: 6 }, Xo = (a) => (...t) => ({ _$litDirective$: a, values: t });
1092
- class Ko {
1093
- constructor(t) {
1094
- }
1095
- get _$AU() {
1096
- return this._$AM._$AU;
1097
- }
1098
- _$AT(t, e, r) {
1099
- this._$Ct = t, this._$AM = e, this._$Ci = r;
1100
- }
1101
- _$AS(t, e) {
1102
- return this.update(t, e);
1103
- }
1104
- update(t, e) {
1105
- return this.render(...e);
30
+
31
+ function _isNativeReflectConstruct() {
32
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
33
+ if (Reflect.construct.sham) return false;
34
+ if (typeof Proxy === "function") return true;
35
+
36
+ try {
37
+ Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
38
+ return true;
39
+ } catch (e) {
40
+ return false;
1106
41
  }
1107
42
  }
1108
- /**
1109
- * @license
1110
- * Copyright 2017 Google LLC
1111
- * SPDX-License-Identifier: BSD-3-Clause
1112
- */
1113
- class ze extends Ko {
1114
- constructor(t) {
1115
- if (super(t), this.it = y, t.type !== qo.CHILD)
1116
- throw Error(this.constructor.directiveName + "() can only be used in child bindings");
1117
- }
1118
- render(t) {
1119
- if (t === y || t == null)
1120
- return this._t = void 0, this.it = t;
1121
- if (t === lt)
1122
- return t;
1123
- if (typeof t != "string")
1124
- throw Error(this.constructor.directiveName + "() called with a non-string value");
1125
- if (t === this.it)
1126
- return this._t;
1127
- this.it = t;
1128
- const e = [t];
1129
- return e.raw = e, this._t = { _$litType$: this.constructor.resultType, strings: e, values: [] };
1130
- }
43
+
44
+ function _construct(Parent, args, Class) {
45
+ if (_isNativeReflectConstruct()) {
46
+ _construct = Reflect.construct;
47
+ } else {
48
+ _construct = function _construct(Parent, args, Class) {
49
+ var a = [null];
50
+ a.push.apply(a, args);
51
+ var Constructor = Function.bind.apply(Parent, a);
52
+ var instance = new Constructor();
53
+ if (Class) _setPrototypeOf(instance, Class.prototype);
54
+ return instance;
55
+ };
56
+ }
57
+
58
+ return _construct.apply(null, arguments);
1131
59
  }
1132
- ze.directiveName = "unsafeHTML", ze.resultType = 1;
1133
- const Zo = Xo(ze);
1134
- /*! @license DOMPurify 2.4.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.4.3/LICENSE */
1135
- function G(a) {
1136
- return G = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(t) {
1137
- return typeof t;
1138
- } : function(t) {
1139
- return t && typeof Symbol == "function" && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
1140
- }, G(a);
60
+
61
+ function _toConsumableArray(arr) {
62
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
1141
63
  }
1142
- function Re(a, t) {
1143
- return Re = Object.setPrototypeOf || function(r, o) {
1144
- return r.__proto__ = o, r;
1145
- }, Re(a, t);
64
+
65
+ function _arrayWithoutHoles(arr) {
66
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
1146
67
  }
1147
- function Jo() {
1148
- if (typeof Reflect > "u" || !Reflect.construct || Reflect.construct.sham)
1149
- return !1;
1150
- if (typeof Proxy == "function")
1151
- return !0;
1152
- try {
1153
- return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
1154
- })), !0;
1155
- } catch {
1156
- return !1;
1157
- }
68
+
69
+ function _iterableToArray(iter) {
70
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
1158
71
  }
1159
- function Dt(a, t, e) {
1160
- return Jo() ? Dt = Reflect.construct : Dt = function(o, n, s) {
1161
- var u = [null];
1162
- u.push.apply(u, n);
1163
- var p = Function.bind.apply(o, u), d = new p();
1164
- return s && Re(d, s.prototype), d;
1165
- }, Dt.apply(null, arguments);
72
+
73
+ function _unsupportedIterableToArray(o, minLen) {
74
+ if (!o) return;
75
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
76
+ var n = Object.prototype.toString.call(o).slice(8, -1);
77
+ if (n === "Object" && o.constructor) n = o.constructor.name;
78
+ if (n === "Map" || n === "Set") return Array.from(o);
79
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
1166
80
  }
1167
- function I(a) {
1168
- return Qo(a) || ta(a) || ea(a) || ra();
81
+
82
+ function _arrayLikeToArray(arr, len) {
83
+ if (len == null || len > arr.length) len = arr.length;
84
+
85
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
86
+
87
+ return arr2;
1169
88
  }
1170
- function Qo(a) {
1171
- if (Array.isArray(a))
1172
- return Me(a);
89
+
90
+ function _nonIterableSpread() {
91
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1173
92
  }
1174
- function ta(a) {
1175
- if (typeof Symbol < "u" && a[Symbol.iterator] != null || a["@@iterator"] != null)
1176
- return Array.from(a);
93
+
94
+ var hasOwnProperty = Object.hasOwnProperty,
95
+ setPrototypeOf = Object.setPrototypeOf,
96
+ isFrozen = Object.isFrozen,
97
+ getPrototypeOf = Object.getPrototypeOf,
98
+ getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
99
+ var freeze = Object.freeze,
100
+ seal = Object.seal,
101
+ create = Object.create; // eslint-disable-line import/no-mutable-exports
102
+
103
+ var _ref = typeof Reflect !== 'undefined' && Reflect,
104
+ apply = _ref.apply,
105
+ construct = _ref.construct;
106
+
107
+ if (!apply) {
108
+ apply = function apply(fun, thisValue, args) {
109
+ return fun.apply(thisValue, args);
110
+ };
1177
111
  }
1178
- function ea(a, t) {
1179
- if (a) {
1180
- if (typeof a == "string")
1181
- return Me(a, t);
1182
- var e = Object.prototype.toString.call(a).slice(8, -1);
1183
- if (e === "Object" && a.constructor && (e = a.constructor.name), e === "Map" || e === "Set")
1184
- return Array.from(a);
1185
- if (e === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))
1186
- return Me(a, t);
1187
- }
112
+
113
+ if (!freeze) {
114
+ freeze = function freeze(x) {
115
+ return x;
116
+ };
1188
117
  }
1189
- function Me(a, t) {
1190
- (t == null || t > a.length) && (t = a.length);
1191
- for (var e = 0, r = new Array(t); e < t; e++)
1192
- r[e] = a[e];
1193
- return r;
118
+
119
+ if (!seal) {
120
+ seal = function seal(x) {
121
+ return x;
122
+ };
1194
123
  }
1195
- function ra() {
1196
- throw new TypeError(`Invalid attempt to spread non-iterable instance.
1197
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
124
+
125
+ if (!construct) {
126
+ construct = function construct(Func, args) {
127
+ return _construct(Func, _toConsumableArray(args));
128
+ };
1198
129
  }
1199
- var oa = Object.hasOwnProperty, Nr = Object.setPrototypeOf, aa = Object.isFrozen, ia = Object.getPrototypeOf, na = Object.getOwnPropertyDescriptor, O = Object.freeze, D = Object.seal, sa = Object.create, qr = typeof Reflect < "u" && Reflect, Vt = qr.apply, Pe = qr.construct;
1200
- Vt || (Vt = function(t, e, r) {
1201
- return t.apply(e, r);
1202
- });
1203
- O || (O = function(t) {
1204
- return t;
1205
- });
1206
- D || (D = function(t) {
1207
- return t;
1208
- });
1209
- Pe || (Pe = function(t, e) {
1210
- return Dt(t, I(e));
1211
- });
1212
- var la = R(Array.prototype.forEach), zr = R(Array.prototype.pop), bt = R(Array.prototype.push), Ut = R(String.prototype.toLowerCase), $e = R(String.prototype.toString), pa = R(String.prototype.match), L = R(String.prototype.replace), da = R(String.prototype.indexOf), ca = R(String.prototype.trim), C = R(RegExp.prototype.test), Ee = ha(TypeError);
1213
- function R(a) {
1214
- return function(t) {
1215
- for (var e = arguments.length, r = new Array(e > 1 ? e - 1 : 0), o = 1; o < e; o++)
1216
- r[o - 1] = arguments[o];
1217
- return Vt(a, t, r);
130
+
131
+ var arrayForEach = unapply(Array.prototype.forEach);
132
+ var arrayPop = unapply(Array.prototype.pop);
133
+ var arrayPush = unapply(Array.prototype.push);
134
+ var stringToLowerCase = unapply(String.prototype.toLowerCase);
135
+ var stringToString = unapply(String.prototype.toString);
136
+ var stringMatch = unapply(String.prototype.match);
137
+ var stringReplace = unapply(String.prototype.replace);
138
+ var stringIndexOf = unapply(String.prototype.indexOf);
139
+ var stringTrim = unapply(String.prototype.trim);
140
+ var regExpTest = unapply(RegExp.prototype.test);
141
+ var typeErrorCreate = unconstruct(TypeError);
142
+ function unapply(func) {
143
+ return function (thisArg) {
144
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
145
+ args[_key - 1] = arguments[_key];
146
+ }
147
+
148
+ return apply(func, thisArg, args);
1218
149
  };
1219
150
  }
1220
- function ha(a) {
1221
- return function() {
1222
- for (var t = arguments.length, e = new Array(t), r = 0; r < t; r++)
1223
- e[r] = arguments[r];
1224
- return Pe(a, e);
151
+ function unconstruct(func) {
152
+ return function () {
153
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
154
+ args[_key2] = arguments[_key2];
155
+ }
156
+
157
+ return construct(func, args);
1225
158
  };
1226
159
  }
1227
- function x(a, t, e) {
1228
- e = e || Ut, Nr && Nr(a, null);
1229
- for (var r = t.length; r--; ) {
1230
- var o = t[r];
1231
- if (typeof o == "string") {
1232
- var n = e(o);
1233
- n !== o && (aa(t) || (t[r] = n), o = n);
1234
- }
1235
- a[o] = !0;
160
+ /* Add properties to a lookup table */
161
+
162
+ function addToSet(set, array, transformCaseFunc) {
163
+ transformCaseFunc = transformCaseFunc ? transformCaseFunc : stringToLowerCase;
164
+
165
+ if (setPrototypeOf) {
166
+ // Make 'in' and truthy checks like Boolean(set.constructor)
167
+ // independent of any properties defined on Object.prototype.
168
+ // Prevent prototype setters from intercepting set as a this value.
169
+ setPrototypeOf(set, null);
170
+ }
171
+
172
+ var l = array.length;
173
+
174
+ while (l--) {
175
+ var element = array[l];
176
+
177
+ if (typeof element === 'string') {
178
+ var lcElement = transformCaseFunc(element);
179
+
180
+ if (lcElement !== element) {
181
+ // Config presets (e.g. tags.js, attrs.js) are immutable.
182
+ if (!isFrozen(array)) {
183
+ array[l] = lcElement;
184
+ }
185
+
186
+ element = lcElement;
187
+ }
188
+ }
189
+
190
+ set[element] = true;
1236
191
  }
1237
- return a;
192
+
193
+ return set;
1238
194
  }
1239
- function K(a) {
1240
- var t = sa(null), e;
1241
- for (e in a)
1242
- Vt(oa, a, [e]) === !0 && (t[e] = a[e]);
1243
- return t;
195
+ /* Shallow clone an object */
196
+
197
+ function clone(object) {
198
+ var newObject = create(null);
199
+ var property;
200
+
201
+ for (property in object) {
202
+ if (apply(hasOwnProperty, object, [property]) === true) {
203
+ newObject[property] = object[property];
204
+ }
205
+ }
206
+
207
+ return newObject;
1244
208
  }
1245
- function Mt(a, t) {
1246
- for (; a !== null; ) {
1247
- var e = na(a, t);
1248
- if (e) {
1249
- if (e.get)
1250
- return R(e.get);
1251
- if (typeof e.value == "function")
1252
- return R(e.value);
1253
- }
1254
- a = ia(a);
209
+ /* IE10 doesn't support __lookupGetter__ so lets'
210
+ * simulate it. It also automatically checks
211
+ * if the prop is function or getter and behaves
212
+ * accordingly. */
213
+
214
+ function lookupGetter(object, prop) {
215
+ while (object !== null) {
216
+ var desc = getOwnPropertyDescriptor(object, prop);
217
+
218
+ if (desc) {
219
+ if (desc.get) {
220
+ return unapply(desc.get);
221
+ }
222
+
223
+ if (typeof desc.value === 'function') {
224
+ return unapply(desc.value);
225
+ }
226
+ }
227
+
228
+ object = getPrototypeOf(object);
1255
229
  }
1256
- function r(o) {
1257
- return console.warn("fallback value for", o), null;
230
+
231
+ function fallbackValue(element) {
232
+ console.warn('fallback value for', element);
233
+ return null;
1258
234
  }
1259
- return r;
235
+
236
+ return fallbackValue;
1260
237
  }
1261
- var Rr = O(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "section", "select", "shadow", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]), Te = O(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]), Se = O(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]), wa = O(["animate", "color-profile", "cursor", "discard", "fedropshadow", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"]), ke = O(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover"]), ua = O(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]), Mr = O(["#text"]), Pr = O(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "pattern", "placeholder", "playsinline", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "xmlns", "slot"]), Ce = O(["accent-height", "accumulate", "additive", "alignment-baseline", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]), Lr = O(["accent", "accentunder", "align", "bevelled", "close", "columnsalign", "columnlines", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lspace", "lquote", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"]), Pt = O(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]), fa = D(/\{\{[\w\W]*|[\w\W]*\}\}/gm), xa = D(/<%[\w\W]*|[\w\W]*%>/gm), ga = D(/\${[\w\W]*}/gm), ma = D(/^data-[\-\w.\u00B7-\uFFFF]/), va = D(/^aria-[\-\w]+$/), ba = D(
1262
- /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
1263
- // eslint-disable-line no-useless-escape
1264
- ), ya = D(/^(?:\w+script|data):/i), _a = D(
1265
- /[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g
1266
- // eslint-disable-line no-control-regex
1267
- ), Aa = D(/^html$/i), $a = function() {
1268
- return typeof window > "u" ? null : window;
1269
- }, Ea = function(t, e) {
1270
- if (G(t) !== "object" || typeof t.createPolicy != "function")
238
+
239
+ var html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']); // SVG
240
+
241
+ var svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
242
+ var svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']); // List of SVG elements that are disallowed by default.
243
+ // We still need to know them so that we can do namespace
244
+ // checks properly in case one wants to add them to
245
+ // allow-list.
246
+
247
+ var svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'fedropshadow', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);
248
+ var mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']); // Similarly to SVG, we want to know all MathML elements,
249
+ // even those that we disallow by default.
250
+
251
+ var mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);
252
+ var text = freeze(['#text']);
253
+
254
+ var html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']);
255
+ var svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
256
+ var mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
257
+ var xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
258
+
259
+ var MUSTACHE_EXPR = seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode
260
+
261
+ var ERB_EXPR = seal(/<%[\w\W]*|[\w\W]*%>/gm);
262
+ var TMPLIT_EXPR = seal(/\${[\w\W]*}/gm);
263
+ var DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]/); // eslint-disable-line no-useless-escape
264
+
265
+ var ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape
266
+
267
+ var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape
268
+ );
269
+ var IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
270
+ var ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g // eslint-disable-line no-control-regex
271
+ );
272
+ var DOCTYPE_NAME = seal(/^html$/i);
273
+
274
+ var getGlobal = function getGlobal() {
275
+ return typeof window === 'undefined' ? null : window;
276
+ };
277
+ /**
278
+ * Creates a no-op policy for internal use only.
279
+ * Don't export this function outside this module!
280
+ * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.
281
+ * @param {Document} document The document object (to determine policy name suffix)
282
+ * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types
283
+ * are not supported).
284
+ */
285
+
286
+
287
+ var _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {
288
+ if (_typeof(trustedTypes) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {
1271
289
  return null;
1272
- var r = null, o = "data-tt-policy-suffix";
1273
- e.currentScript && e.currentScript.hasAttribute(o) && (r = e.currentScript.getAttribute(o));
1274
- var n = "dompurify" + (r ? "#" + r : "");
290
+ } // Allow the callers to control the unique policy name
291
+ // by adding a data-tt-policy-suffix to the script element with the DOMPurify.
292
+ // Policy creation with duplicate names throws in Trusted Types.
293
+
294
+
295
+ var suffix = null;
296
+ var ATTR_NAME = 'data-tt-policy-suffix';
297
+
298
+ if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {
299
+ suffix = document.currentScript.getAttribute(ATTR_NAME);
300
+ }
301
+
302
+ var policyName = 'dompurify' + (suffix ? '#' + suffix : '');
303
+
1275
304
  try {
1276
- return t.createPolicy(n, {
1277
- createHTML: function(u) {
1278
- return u;
305
+ return trustedTypes.createPolicy(policyName, {
306
+ createHTML: function createHTML(html) {
307
+ return html;
1279
308
  },
1280
- createScriptURL: function(u) {
1281
- return u;
309
+ createScriptURL: function createScriptURL(scriptUrl) {
310
+ return scriptUrl;
1282
311
  }
1283
312
  });
1284
- } catch {
1285
- return console.warn("TrustedTypes policy " + n + " could not be created."), null;
313
+ } catch (_) {
314
+ // Policy creation failed (most likely another DOMPurify script has
315
+ // already run). Skip creating the policy, as this will only cause errors
316
+ // if TT are enforced.
317
+ console.warn('TrustedTypes policy ' + policyName + ' could not be created.');
318
+ return null;
1286
319
  }
1287
320
  };
1288
- function Xr() {
1289
- var a = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : $a(), t = function(i) {
1290
- return Xr(i);
321
+
322
+ function createDOMPurify() {
323
+ var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
324
+
325
+ var DOMPurify = function DOMPurify(root) {
326
+ return createDOMPurify(root);
1291
327
  };
1292
- if (t.version = "2.4.3", t.removed = [], !a || !a.document || a.document.nodeType !== 9)
1293
- return t.isSupported = !1, t;
1294
- var e = a.document, r = a.document, o = a.DocumentFragment, n = a.HTMLTemplateElement, s = a.Node, u = a.Element, p = a.NodeFilter, d = a.NamedNodeMap, v = d === void 0 ? a.NamedNodeMap || a.MozNamedAttrMap : d, h = a.HTMLFormElement, f = a.DOMParser, m = a.trustedTypes, N = u.prototype, M = Mt(N, "cloneNode"), Jr = Mt(N, "nextSibling"), Qr = Mt(N, "childNodes"), Xt = Mt(N, "parentNode");
1295
- if (typeof n == "function") {
1296
- var Kt = r.createElement("template");
1297
- Kt.content && Kt.content.ownerDocument && (r = Kt.content.ownerDocument);
328
+ /**
329
+ * Version label, exposed for easier checks
330
+ * if DOMPurify is up to date or not
331
+ */
332
+
333
+
334
+ DOMPurify.version = '2.4.3';
335
+ /**
336
+ * Array of elements that DOMPurify removed during sanitation.
337
+ * Empty if nothing was removed.
338
+ */
339
+
340
+ DOMPurify.removed = [];
341
+
342
+ if (!window || !window.document || window.document.nodeType !== 9) {
343
+ // Not running in a browser, provide a factory function
344
+ // so that you can pass your own Window
345
+ DOMPurify.isSupported = false;
346
+ return DOMPurify;
347
+ }
348
+
349
+ var originalDocument = window.document;
350
+ var document = window.document;
351
+ var DocumentFragment = window.DocumentFragment,
352
+ HTMLTemplateElement = window.HTMLTemplateElement,
353
+ Node = window.Node,
354
+ Element = window.Element,
355
+ NodeFilter = window.NodeFilter,
356
+ _window$NamedNodeMap = window.NamedNodeMap,
357
+ NamedNodeMap = _window$NamedNodeMap === void 0 ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,
358
+ HTMLFormElement = window.HTMLFormElement,
359
+ DOMParser = window.DOMParser,
360
+ trustedTypes = window.trustedTypes;
361
+ var ElementPrototype = Element.prototype;
362
+ var cloneNode = lookupGetter(ElementPrototype, 'cloneNode');
363
+ var getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');
364
+ var getChildNodes = lookupGetter(ElementPrototype, 'childNodes');
365
+ var getParentNode = lookupGetter(ElementPrototype, 'parentNode'); // As per issue #47, the web-components registry is inherited by a
366
+ // new document created via createHTMLDocument. As per the spec
367
+ // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)
368
+ // a new empty registry is used when creating a template contents owner
369
+ // document, so we use that as our parent document to ensure nothing
370
+ // is inherited.
371
+
372
+ if (typeof HTMLTemplateElement === 'function') {
373
+ var template = document.createElement('template');
374
+
375
+ if (template.content && template.content.ownerDocument) {
376
+ document = template.content.ownerDocument;
377
+ }
1298
378
  }
1299
- var P = Ea(m, e), Zt = P ? P.createHTML("") : "", St = r, Jt = St.implementation, to = St.createNodeIterator, eo = St.createDocumentFragment, ro = St.getElementsByTagName, oo = e.importNode, He = {};
379
+
380
+ var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);
381
+
382
+ var emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';
383
+ var _document = document,
384
+ implementation = _document.implementation,
385
+ createNodeIterator = _document.createNodeIterator,
386
+ createDocumentFragment = _document.createDocumentFragment,
387
+ getElementsByTagName = _document.getElementsByTagName;
388
+ var importNode = originalDocument.importNode;
389
+ var documentMode = {};
390
+
1300
391
  try {
1301
- He = K(r).documentMode ? r.documentMode : {};
1302
- } catch {
1303
- }
1304
- var U = {};
1305
- t.isSupported = typeof Xt == "function" && Jt && typeof Jt.createHTMLDocument < "u" && He !== 9;
1306
- var Qt = fa, te = xa, ee = ga, ao = ma, io = va, no = ya, Fe = _a, re = ba, _ = null, Be = x({}, [].concat(I(Rr), I(Te), I(Se), I(ke), I(Mr))), T = null, je = x({}, [].concat(I(Pr), I(Ce), I(Lr), I(Pt))), b = Object.seal(Object.create(null, {
392
+ documentMode = clone(document).documentMode ? document.documentMode : {};
393
+ } catch (_) {}
394
+
395
+ var hooks = {};
396
+ /**
397
+ * Expose whether this browser supports running the full DOMPurify.
398
+ */
399
+
400
+ DOMPurify.isSupported = typeof getParentNode === 'function' && implementation && typeof implementation.createHTMLDocument !== 'undefined' && documentMode !== 9;
401
+ var MUSTACHE_EXPR$1 = MUSTACHE_EXPR,
402
+ ERB_EXPR$1 = ERB_EXPR,
403
+ TMPLIT_EXPR$1 = TMPLIT_EXPR,
404
+ DATA_ATTR$1 = DATA_ATTR,
405
+ ARIA_ATTR$1 = ARIA_ATTR,
406
+ IS_SCRIPT_OR_DATA$1 = IS_SCRIPT_OR_DATA,
407
+ ATTR_WHITESPACE$1 = ATTR_WHITESPACE;
408
+ var IS_ALLOWED_URI$1 = IS_ALLOWED_URI;
409
+ /**
410
+ * We consider the elements and attributes below to be safe. Ideally
411
+ * don't add any new ones but feel free to remove unwanted ones.
412
+ */
413
+
414
+ /* allowed element names */
415
+
416
+ var ALLOWED_TAGS = null;
417
+ var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray(html$1), _toConsumableArray(svg$1), _toConsumableArray(svgFilters), _toConsumableArray(mathMl$1), _toConsumableArray(text)));
418
+ /* Allowed attribute names */
419
+
420
+ var ALLOWED_ATTR = null;
421
+ var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray(html), _toConsumableArray(svg), _toConsumableArray(mathMl), _toConsumableArray(xml)));
422
+ /*
423
+ * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.
424
+ * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)
425
+ * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)
426
+ * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.
427
+ */
428
+
429
+ var CUSTOM_ELEMENT_HANDLING = Object.seal(Object.create(null, {
1307
430
  tagNameCheck: {
1308
- writable: !0,
1309
- configurable: !1,
1310
- enumerable: !0,
431
+ writable: true,
432
+ configurable: false,
433
+ enumerable: true,
1311
434
  value: null
1312
435
  },
1313
436
  attributeNameCheck: {
1314
- writable: !0,
1315
- configurable: !1,
1316
- enumerable: !0,
437
+ writable: true,
438
+ configurable: false,
439
+ enumerable: true,
1317
440
  value: null
1318
441
  },
1319
442
  allowCustomizedBuiltInElements: {
1320
- writable: !0,
1321
- configurable: !1,
1322
- enumerable: !0,
1323
- value: !1
1324
- }
1325
- })), ut = null, oe = null, We = !0, ae = !0, Ge = !1, Z = !1, V = !1, ie = !1, ne = !1, J = !1, kt = !1, Ct = !1, Ve = !0, Ye = !1, so = "user-content-", se = !0, ft = !1, Q = {}, tt = null, qe = x({}, ["annotation-xml", "audio", "colgroup", "desc", "foreignobject", "head", "iframe", "math", "mi", "mn", "mo", "ms", "mtext", "noembed", "noframes", "noscript", "plaintext", "script", "style", "svg", "template", "thead", "title", "video", "xmp"]), Xe = null, Ke = x({}, ["audio", "video", "img", "source", "image", "track"]), le = null, Ze = x({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"]), Ot = "http://www.w3.org/1998/Math/MathML", Nt = "http://www.w3.org/2000/svg", H = "http://www.w3.org/1999/xhtml", et = H, pe = !1, de = null, lo = x({}, [Ot, Nt, H], $e), Y, po = ["application/xhtml+xml", "text/html"], co = "text/html", A, rt = null, ho = r.createElement("form"), Je = function(i) {
1326
- return i instanceof RegExp || i instanceof Function;
1327
- }, ce = function(i) {
1328
- rt && rt === i || ((!i || G(i) !== "object") && (i = {}), i = K(i), Y = // eslint-disable-next-line unicorn/prefer-includes
1329
- po.indexOf(i.PARSER_MEDIA_TYPE) === -1 ? Y = co : Y = i.PARSER_MEDIA_TYPE, A = Y === "application/xhtml+xml" ? $e : Ut, _ = "ALLOWED_TAGS" in i ? x({}, i.ALLOWED_TAGS, A) : Be, T = "ALLOWED_ATTR" in i ? x({}, i.ALLOWED_ATTR, A) : je, de = "ALLOWED_NAMESPACES" in i ? x({}, i.ALLOWED_NAMESPACES, $e) : lo, le = "ADD_URI_SAFE_ATTR" in i ? x(
1330
- K(Ze),
1331
- // eslint-disable-line indent
1332
- i.ADD_URI_SAFE_ATTR,
1333
- // eslint-disable-line indent
1334
- A
1335
- // eslint-disable-line indent
1336
- ) : Ze, Xe = "ADD_DATA_URI_TAGS" in i ? x(
1337
- K(Ke),
1338
- // eslint-disable-line indent
1339
- i.ADD_DATA_URI_TAGS,
1340
- // eslint-disable-line indent
1341
- A
1342
- // eslint-disable-line indent
1343
- ) : Ke, tt = "FORBID_CONTENTS" in i ? x({}, i.FORBID_CONTENTS, A) : qe, ut = "FORBID_TAGS" in i ? x({}, i.FORBID_TAGS, A) : {}, oe = "FORBID_ATTR" in i ? x({}, i.FORBID_ATTR, A) : {}, Q = "USE_PROFILES" in i ? i.USE_PROFILES : !1, We = i.ALLOW_ARIA_ATTR !== !1, ae = i.ALLOW_DATA_ATTR !== !1, Ge = i.ALLOW_UNKNOWN_PROTOCOLS || !1, Z = i.SAFE_FOR_TEMPLATES || !1, V = i.WHOLE_DOCUMENT || !1, J = i.RETURN_DOM || !1, kt = i.RETURN_DOM_FRAGMENT || !1, Ct = i.RETURN_TRUSTED_TYPE || !1, ne = i.FORCE_BODY || !1, Ve = i.SANITIZE_DOM !== !1, Ye = i.SANITIZE_NAMED_PROPS || !1, se = i.KEEP_CONTENT !== !1, ft = i.IN_PLACE || !1, re = i.ALLOWED_URI_REGEXP || re, et = i.NAMESPACE || H, i.CUSTOM_ELEMENT_HANDLING && Je(i.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (b.tagNameCheck = i.CUSTOM_ELEMENT_HANDLING.tagNameCheck), i.CUSTOM_ELEMENT_HANDLING && Je(i.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (b.attributeNameCheck = i.CUSTOM_ELEMENT_HANDLING.attributeNameCheck), i.CUSTOM_ELEMENT_HANDLING && typeof i.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements == "boolean" && (b.allowCustomizedBuiltInElements = i.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements), Z && (ae = !1), kt && (J = !0), Q && (_ = x({}, I(Mr)), T = [], Q.html === !0 && (x(_, Rr), x(T, Pr)), Q.svg === !0 && (x(_, Te), x(T, Ce), x(T, Pt)), Q.svgFilters === !0 && (x(_, Se), x(T, Ce), x(T, Pt)), Q.mathMl === !0 && (x(_, ke), x(T, Lr), x(T, Pt))), i.ADD_TAGS && (_ === Be && (_ = K(_)), x(_, i.ADD_TAGS, A)), i.ADD_ATTR && (T === je && (T = K(T)), x(T, i.ADD_ATTR, A)), i.ADD_URI_SAFE_ATTR && x(le, i.ADD_URI_SAFE_ATTR, A), i.FORBID_CONTENTS && (tt === qe && (tt = K(tt)), x(tt, i.FORBID_CONTENTS, A)), se && (_["#text"] = !0), V && x(_, ["html", "head", "body"]), _.table && (x(_, ["tbody"]), delete ut.tbody), O && O(i), rt = i);
1344
- }, Qe = x({}, ["mi", "mo", "mn", "ms", "mtext"]), tr = x({}, ["foreignobject", "desc", "title", "annotation-xml"]), wo = x({}, ["title", "style", "font", "a", "script"]), zt = x({}, Te);
1345
- x(zt, Se), x(zt, wa);
1346
- var he = x({}, ke);
1347
- x(he, ua);
1348
- var uo = function(i) {
1349
- var l = Xt(i);
1350
- (!l || !l.tagName) && (l = {
1351
- namespaceURI: et,
1352
- tagName: "template"
1353
- });
1354
- var c = Ut(i.tagName), g = Ut(l.tagName);
1355
- return de[i.namespaceURI] ? i.namespaceURI === Nt ? l.namespaceURI === H ? c === "svg" : l.namespaceURI === Ot ? c === "svg" && (g === "annotation-xml" || Qe[g]) : Boolean(zt[c]) : i.namespaceURI === Ot ? l.namespaceURI === H ? c === "math" : l.namespaceURI === Nt ? c === "math" && tr[g] : Boolean(he[c]) : i.namespaceURI === H ? l.namespaceURI === Nt && !tr[g] || l.namespaceURI === Ot && !Qe[g] ? !1 : !he[c] && (wo[c] || !zt[c]) : !!(Y === "application/xhtml+xml" && de[i.namespaceURI]) : !1;
1356
- }, F = function(i) {
1357
- bt(t.removed, {
1358
- element: i
443
+ writable: true,
444
+ configurable: false,
445
+ enumerable: true,
446
+ value: false
447
+ }
448
+ }));
449
+ /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */
450
+
451
+ var FORBID_TAGS = null;
452
+ /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
453
+
454
+ var FORBID_ATTR = null;
455
+ /* Decide if ARIA attributes are okay */
456
+
457
+ var ALLOW_ARIA_ATTR = true;
458
+ /* Decide if custom data attributes are okay */
459
+
460
+ var ALLOW_DATA_ATTR = true;
461
+ /* Decide if unknown protocols are okay */
462
+
463
+ var ALLOW_UNKNOWN_PROTOCOLS = false;
464
+ /* Output should be safe for common template engines.
465
+ * This means, DOMPurify removes data attributes, mustaches and ERB
466
+ */
467
+
468
+ var SAFE_FOR_TEMPLATES = false;
469
+ /* Decide if document with <html>... should be returned */
470
+
471
+ var WHOLE_DOCUMENT = false;
472
+ /* Track whether config is already set on this instance of DOMPurify. */
473
+
474
+ var SET_CONFIG = false;
475
+ /* Decide if all elements (e.g. style, script) must be children of
476
+ * document.body. By default, browsers might move them to document.head */
477
+
478
+ var FORCE_BODY = false;
479
+ /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html
480
+ * string (or a TrustedHTML object if Trusted Types are supported).
481
+ * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead
482
+ */
483
+
484
+ var RETURN_DOM = false;
485
+ /* Decide if a DOM `DocumentFragment` should be returned, instead of a html
486
+ * string (or a TrustedHTML object if Trusted Types are supported) */
487
+
488
+ var RETURN_DOM_FRAGMENT = false;
489
+ /* Try to return a Trusted Type object instead of a string, return a string in
490
+ * case Trusted Types are not supported */
491
+
492
+ var RETURN_TRUSTED_TYPE = false;
493
+ /* Output should be free from DOM clobbering attacks?
494
+ * This sanitizes markups named with colliding, clobberable built-in DOM APIs.
495
+ */
496
+
497
+ var SANITIZE_DOM = true;
498
+ /* Achieve full DOM Clobbering protection by isolating the namespace of named
499
+ * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.
500
+ *
501
+ * HTML/DOM spec rules that enable DOM Clobbering:
502
+ * - Named Access on Window (§7.3.3)
503
+ * - DOM Tree Accessors (§3.1.5)
504
+ * - Form Element Parent-Child Relations (§4.10.3)
505
+ * - Iframe srcdoc / Nested WindowProxies (§4.8.5)
506
+ * - HTMLCollection (§4.2.10.2)
507
+ *
508
+ * Namespace isolation is implemented by prefixing `id` and `name` attributes
509
+ * with a constant string, i.e., `user-content-`
510
+ */
511
+
512
+ var SANITIZE_NAMED_PROPS = false;
513
+ var SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';
514
+ /* Keep element content when removing element? */
515
+
516
+ var KEEP_CONTENT = true;
517
+ /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead
518
+ * of importing it into a new Document and returning a sanitized copy */
519
+
520
+ var IN_PLACE = false;
521
+ /* Allow usage of profiles like html, svg and mathMl */
522
+
523
+ var USE_PROFILES = {};
524
+ /* Tags to ignore content of when KEEP_CONTENT is true */
525
+
526
+ var FORBID_CONTENTS = null;
527
+ var DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);
528
+ /* Tags that are safe for data: URIs */
529
+
530
+ var DATA_URI_TAGS = null;
531
+ var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);
532
+ /* Attributes safe for values like "javascript:" */
533
+
534
+ var URI_SAFE_ATTRIBUTES = null;
535
+ var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);
536
+ var MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';
537
+ var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
538
+ var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';
539
+ /* Document namespace */
540
+
541
+ var NAMESPACE = HTML_NAMESPACE;
542
+ var IS_EMPTY_INPUT = false;
543
+ /* Allowed XHTML+XML namespaces */
544
+
545
+ var ALLOWED_NAMESPACES = null;
546
+ var DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);
547
+ /* Parsing of strict XHTML documents */
548
+
549
+ var PARSER_MEDIA_TYPE;
550
+ var SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];
551
+ var DEFAULT_PARSER_MEDIA_TYPE = 'text/html';
552
+ var transformCaseFunc;
553
+ /* Keep a reference to config to pass to hooks */
554
+
555
+ var CONFIG = null;
556
+ /* Ideally, do not touch anything below this line */
557
+
558
+ /* ______________________________________________ */
559
+
560
+ var formElement = document.createElement('form');
561
+
562
+ var isRegexOrFunction = function isRegexOrFunction(testValue) {
563
+ return testValue instanceof RegExp || testValue instanceof Function;
564
+ };
565
+ /**
566
+ * _parseConfig
567
+ *
568
+ * @param {Object} cfg optional config literal
569
+ */
570
+ // eslint-disable-next-line complexity
571
+
572
+
573
+ var _parseConfig = function _parseConfig(cfg) {
574
+ if (CONFIG && CONFIG === cfg) {
575
+ return;
576
+ }
577
+ /* Shield configuration object from tampering */
578
+
579
+
580
+ if (!cfg || _typeof(cfg) !== 'object') {
581
+ cfg = {};
582
+ }
583
+ /* Shield configuration object from prototype pollution */
584
+
585
+
586
+ cfg = clone(cfg);
587
+ PARSER_MEDIA_TYPE = // eslint-disable-next-line unicorn/prefer-includes
588
+ SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE; // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.
589
+
590
+ transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;
591
+ /* Set configuration parameters */
592
+
593
+ ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;
594
+ ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;
595
+ ALLOWED_NAMESPACES = 'ALLOWED_NAMESPACES' in cfg ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;
596
+ URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), // eslint-disable-line indent
597
+ cfg.ADD_URI_SAFE_ATTR, // eslint-disable-line indent
598
+ transformCaseFunc // eslint-disable-line indent
599
+ ) // eslint-disable-line indent
600
+ : DEFAULT_URI_SAFE_ATTRIBUTES;
601
+ DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), // eslint-disable-line indent
602
+ cfg.ADD_DATA_URI_TAGS, // eslint-disable-line indent
603
+ transformCaseFunc // eslint-disable-line indent
604
+ ) // eslint-disable-line indent
605
+ : DEFAULT_DATA_URI_TAGS;
606
+ FORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;
607
+ FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};
608
+ FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};
609
+ USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;
610
+ ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true
611
+
612
+ ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true
613
+
614
+ ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false
615
+
616
+ SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false
617
+
618
+ WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false
619
+
620
+ RETURN_DOM = cfg.RETURN_DOM || false; // Default false
621
+
622
+ RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false
623
+
624
+ RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false
625
+
626
+ FORCE_BODY = cfg.FORCE_BODY || false; // Default false
627
+
628
+ SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true
629
+
630
+ SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false
631
+
632
+ KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true
633
+
634
+ IN_PLACE = cfg.IN_PLACE || false; // Default false
635
+
636
+ IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$1;
637
+ NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;
638
+
639
+ if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {
640
+ CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;
641
+ }
642
+
643
+ if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {
644
+ CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;
645
+ }
646
+
647
+ if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {
648
+ CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;
649
+ }
650
+
651
+ if (SAFE_FOR_TEMPLATES) {
652
+ ALLOW_DATA_ATTR = false;
653
+ }
654
+
655
+ if (RETURN_DOM_FRAGMENT) {
656
+ RETURN_DOM = true;
657
+ }
658
+ /* Parse profile info */
659
+
660
+
661
+ if (USE_PROFILES) {
662
+ ALLOWED_TAGS = addToSet({}, _toConsumableArray(text));
663
+ ALLOWED_ATTR = [];
664
+
665
+ if (USE_PROFILES.html === true) {
666
+ addToSet(ALLOWED_TAGS, html$1);
667
+ addToSet(ALLOWED_ATTR, html);
668
+ }
669
+
670
+ if (USE_PROFILES.svg === true) {
671
+ addToSet(ALLOWED_TAGS, svg$1);
672
+ addToSet(ALLOWED_ATTR, svg);
673
+ addToSet(ALLOWED_ATTR, xml);
674
+ }
675
+
676
+ if (USE_PROFILES.svgFilters === true) {
677
+ addToSet(ALLOWED_TAGS, svgFilters);
678
+ addToSet(ALLOWED_ATTR, svg);
679
+ addToSet(ALLOWED_ATTR, xml);
680
+ }
681
+
682
+ if (USE_PROFILES.mathMl === true) {
683
+ addToSet(ALLOWED_TAGS, mathMl$1);
684
+ addToSet(ALLOWED_ATTR, mathMl);
685
+ addToSet(ALLOWED_ATTR, xml);
686
+ }
687
+ }
688
+ /* Merge configuration parameters */
689
+
690
+
691
+ if (cfg.ADD_TAGS) {
692
+ if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
693
+ ALLOWED_TAGS = clone(ALLOWED_TAGS);
694
+ }
695
+
696
+ addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
697
+ }
698
+
699
+ if (cfg.ADD_ATTR) {
700
+ if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
701
+ ALLOWED_ATTR = clone(ALLOWED_ATTR);
702
+ }
703
+
704
+ addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
705
+ }
706
+
707
+ if (cfg.ADD_URI_SAFE_ATTR) {
708
+ addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
709
+ }
710
+
711
+ if (cfg.FORBID_CONTENTS) {
712
+ if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {
713
+ FORBID_CONTENTS = clone(FORBID_CONTENTS);
714
+ }
715
+
716
+ addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);
717
+ }
718
+ /* Add #text in case KEEP_CONTENT is set to true */
719
+
720
+
721
+ if (KEEP_CONTENT) {
722
+ ALLOWED_TAGS['#text'] = true;
723
+ }
724
+ /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */
725
+
726
+
727
+ if (WHOLE_DOCUMENT) {
728
+ addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);
729
+ }
730
+ /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */
731
+
732
+
733
+ if (ALLOWED_TAGS.table) {
734
+ addToSet(ALLOWED_TAGS, ['tbody']);
735
+ delete FORBID_TAGS.tbody;
736
+ } // Prevent further manipulation of configuration.
737
+ // Not available in IE8, Safari 5, etc.
738
+
739
+
740
+ if (freeze) {
741
+ freeze(cfg);
742
+ }
743
+
744
+ CONFIG = cfg;
745
+ };
746
+
747
+ var MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);
748
+ var HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']); // Certain elements are allowed in both SVG and HTML
749
+ // namespace. We need to specify them explicitly
750
+ // so that they don't get erroneously deleted from
751
+ // HTML namespace.
752
+
753
+ var COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);
754
+ /* Keep track of all possible SVG and MathML tags
755
+ * so that we can perform the namespace checks
756
+ * correctly. */
757
+
758
+ var ALL_SVG_TAGS = addToSet({}, svg$1);
759
+ addToSet(ALL_SVG_TAGS, svgFilters);
760
+ addToSet(ALL_SVG_TAGS, svgDisallowed);
761
+ var ALL_MATHML_TAGS = addToSet({}, mathMl$1);
762
+ addToSet(ALL_MATHML_TAGS, mathMlDisallowed);
763
+ /**
764
+ *
765
+ *
766
+ * @param {Element} element a DOM element whose namespace is being checked
767
+ * @returns {boolean} Return false if the element has a
768
+ * namespace that a spec-compliant parser would never
769
+ * return. Return true otherwise.
770
+ */
771
+
772
+ var _checkValidNamespace = function _checkValidNamespace(element) {
773
+ var parent = getParentNode(element); // In JSDOM, if we're inside shadow DOM, then parentNode
774
+ // can be null. We just simulate parent in this case.
775
+
776
+ if (!parent || !parent.tagName) {
777
+ parent = {
778
+ namespaceURI: NAMESPACE,
779
+ tagName: 'template'
780
+ };
781
+ }
782
+
783
+ var tagName = stringToLowerCase(element.tagName);
784
+ var parentTagName = stringToLowerCase(parent.tagName);
785
+
786
+ if (!ALLOWED_NAMESPACES[element.namespaceURI]) {
787
+ return false;
788
+ }
789
+
790
+ if (element.namespaceURI === SVG_NAMESPACE) {
791
+ // The only way to switch from HTML namespace to SVG
792
+ // is via <svg>. If it happens via any other tag, then
793
+ // it should be killed.
794
+ if (parent.namespaceURI === HTML_NAMESPACE) {
795
+ return tagName === 'svg';
796
+ } // The only way to switch from MathML to SVG is via`
797
+ // svg if parent is either <annotation-xml> or MathML
798
+ // text integration points.
799
+
800
+
801
+ if (parent.namespaceURI === MATHML_NAMESPACE) {
802
+ return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);
803
+ } // We only allow elements that are defined in SVG
804
+ // spec. All others are disallowed in SVG namespace.
805
+
806
+
807
+ return Boolean(ALL_SVG_TAGS[tagName]);
808
+ }
809
+
810
+ if (element.namespaceURI === MATHML_NAMESPACE) {
811
+ // The only way to switch from HTML namespace to MathML
812
+ // is via <math>. If it happens via any other tag, then
813
+ // it should be killed.
814
+ if (parent.namespaceURI === HTML_NAMESPACE) {
815
+ return tagName === 'math';
816
+ } // The only way to switch from SVG to MathML is via
817
+ // <math> and HTML integration points
818
+
819
+
820
+ if (parent.namespaceURI === SVG_NAMESPACE) {
821
+ return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];
822
+ } // We only allow elements that are defined in MathML
823
+ // spec. All others are disallowed in MathML namespace.
824
+
825
+
826
+ return Boolean(ALL_MATHML_TAGS[tagName]);
827
+ }
828
+
829
+ if (element.namespaceURI === HTML_NAMESPACE) {
830
+ // The only way to switch from SVG to HTML is via
831
+ // HTML integration points, and from MathML to HTML
832
+ // is via MathML text integration points
833
+ if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {
834
+ return false;
835
+ }
836
+
837
+ if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {
838
+ return false;
839
+ } // We disallow tags that are specific for MathML
840
+ // or SVG and should never appear in HTML namespace
841
+
842
+
843
+ return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);
844
+ } // For XHTML and XML documents that support custom namespaces
845
+
846
+
847
+ if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {
848
+ return true;
849
+ } // The code should never reach this place (this means
850
+ // that the element somehow got namespace that is not
851
+ // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).
852
+ // Return false just in case.
853
+
854
+
855
+ return false;
856
+ };
857
+ /**
858
+ * _forceRemove
859
+ *
860
+ * @param {Node} node a DOM node
861
+ */
862
+
863
+
864
+ var _forceRemove = function _forceRemove(node) {
865
+ arrayPush(DOMPurify.removed, {
866
+ element: node
1359
867
  });
868
+
1360
869
  try {
1361
- i.parentNode.removeChild(i);
1362
- } catch {
870
+ // eslint-disable-next-line unicorn/prefer-dom-node-remove
871
+ node.parentNode.removeChild(node);
872
+ } catch (_) {
1363
873
  try {
1364
- i.outerHTML = Zt;
1365
- } catch {
1366
- i.remove();
874
+ node.outerHTML = emptyHTML;
875
+ } catch (_) {
876
+ node.remove();
1367
877
  }
1368
878
  }
1369
- }, we = function(i, l) {
879
+ };
880
+ /**
881
+ * _removeAttribute
882
+ *
883
+ * @param {String} name an Attribute name
884
+ * @param {Node} node a DOM node
885
+ */
886
+
887
+
888
+ var _removeAttribute = function _removeAttribute(name, node) {
1370
889
  try {
1371
- bt(t.removed, {
1372
- attribute: l.getAttributeNode(i),
1373
- from: l
890
+ arrayPush(DOMPurify.removed, {
891
+ attribute: node.getAttributeNode(name),
892
+ from: node
1374
893
  });
1375
- } catch {
1376
- bt(t.removed, {
894
+ } catch (_) {
895
+ arrayPush(DOMPurify.removed, {
1377
896
  attribute: null,
1378
- from: l
897
+ from: node
1379
898
  });
1380
899
  }
1381
- if (l.removeAttribute(i), i === "is" && !T[i])
1382
- if (J || kt)
900
+
901
+ node.removeAttribute(name); // We void attribute values for unremovable "is"" attributes
902
+
903
+ if (name === 'is' && !ALLOWED_ATTR[name]) {
904
+ if (RETURN_DOM || RETURN_DOM_FRAGMENT) {
1383
905
  try {
1384
- F(l);
1385
- } catch {
1386
- }
1387
- else
906
+ _forceRemove(node);
907
+ } catch (_) {}
908
+ } else {
1388
909
  try {
1389
- l.setAttribute(i, "");
1390
- } catch {
1391
- }
1392
- }, er = function(i) {
1393
- var l, c;
1394
- if (ne)
1395
- i = "<remove></remove>" + i;
1396
- else {
1397
- var g = pa(i, /^[\r\n\t ]+/);
1398
- c = g && g[0];
1399
- }
1400
- Y === "application/xhtml+xml" && et === H && (i = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + i + "</body></html>");
1401
- var z = P ? P.createHTML(i) : i;
1402
- if (et === H)
1403
- try {
1404
- l = new f().parseFromString(z, Y);
1405
- } catch {
910
+ node.setAttribute(name, '');
911
+ } catch (_) {}
1406
912
  }
1407
- if (!l || !l.documentElement) {
1408
- l = Jt.createDocument(et, "template", null);
913
+ }
914
+ };
915
+ /**
916
+ * _initDocument
917
+ *
918
+ * @param {String} dirty a string of dirty markup
919
+ * @return {Document} a DOM, filled with the dirty markup
920
+ */
921
+
922
+
923
+ var _initDocument = function _initDocument(dirty) {
924
+ /* Create a HTML document */
925
+ var doc;
926
+ var leadingWhitespace;
927
+
928
+ if (FORCE_BODY) {
929
+ dirty = '<remove></remove>' + dirty;
930
+ } else {
931
+ /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */
932
+ var matches = stringMatch(dirty, /^[\r\n\t ]+/);
933
+ leadingWhitespace = matches && matches[0];
934
+ }
935
+
936
+ if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {
937
+ // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)
938
+ dirty = '<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>' + dirty + '</body></html>';
939
+ }
940
+
941
+ var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;
942
+ /*
943
+ * Use the DOMParser API by default, fallback later if needs be
944
+ * DOMParser not work for svg when has multiple root element.
945
+ */
946
+
947
+ if (NAMESPACE === HTML_NAMESPACE) {
948
+ try {
949
+ doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);
950
+ } catch (_) {}
951
+ }
952
+ /* Use createHTMLDocument in case DOMParser is not available */
953
+
954
+
955
+ if (!doc || !doc.documentElement) {
956
+ doc = implementation.createDocument(NAMESPACE, 'template', null);
957
+
1409
958
  try {
1410
- l.documentElement.innerHTML = pe ? Zt : z;
1411
- } catch {
959
+ doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;
960
+ } catch (_) {// Syntax error if dirtyPayload is invalid xml
1412
961
  }
1413
962
  }
1414
- var k = l.body || l.documentElement;
1415
- return i && c && k.insertBefore(r.createTextNode(c), k.childNodes[0] || null), et === H ? ro.call(l, V ? "html" : "body")[0] : V ? l.documentElement : k;
1416
- }, rr = function(i) {
1417
- return to.call(
1418
- i.ownerDocument || i,
1419
- i,
1420
- // eslint-disable-next-line no-bitwise
1421
- p.SHOW_ELEMENT | p.SHOW_COMMENT | p.SHOW_TEXT,
1422
- null,
1423
- !1
1424
- );
1425
- }, fo = function(i) {
1426
- return i instanceof h && (typeof i.nodeName != "string" || typeof i.textContent != "string" || typeof i.removeChild != "function" || !(i.attributes instanceof v) || typeof i.removeAttribute != "function" || typeof i.setAttribute != "function" || typeof i.namespaceURI != "string" || typeof i.insertBefore != "function" || typeof i.hasChildNodes != "function");
1427
- }, xt = function(i) {
1428
- return G(s) === "object" ? i instanceof s : i && G(i) === "object" && typeof i.nodeType == "number" && typeof i.nodeName == "string";
1429
- }, B = function(i, l, c) {
1430
- U[i] && la(U[i], function(g) {
1431
- g.call(t, l, c, rt);
963
+
964
+ var body = doc.body || doc.documentElement;
965
+
966
+ if (dirty && leadingWhitespace) {
967
+ body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);
968
+ }
969
+ /* Work on whole document or just its body */
970
+
971
+
972
+ if (NAMESPACE === HTML_NAMESPACE) {
973
+ return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];
974
+ }
975
+
976
+ return WHOLE_DOCUMENT ? doc.documentElement : body;
977
+ };
978
+ /**
979
+ * _createIterator
980
+ *
981
+ * @param {Document} root document/fragment to create iterator for
982
+ * @return {Iterator} iterator instance
983
+ */
984
+
985
+
986
+ var _createIterator = function _createIterator(root) {
987
+ return createNodeIterator.call(root.ownerDocument || root, root, // eslint-disable-next-line no-bitwise
988
+ NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);
989
+ };
990
+ /**
991
+ * _isClobbered
992
+ *
993
+ * @param {Node} elm element to check for clobbering attacks
994
+ * @return {Boolean} true if clobbered, false if safe
995
+ */
996
+
997
+
998
+ var _isClobbered = function _isClobbered(elm) {
999
+ return elm instanceof HTMLFormElement && (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function' || typeof elm.hasChildNodes !== 'function');
1000
+ };
1001
+ /**
1002
+ * _isNode
1003
+ *
1004
+ * @param {Node} obj object to check whether it's a DOM node
1005
+ * @return {Boolean} true is object is a DOM node
1006
+ */
1007
+
1008
+
1009
+ var _isNode = function _isNode(object) {
1010
+ return _typeof(Node) === 'object' ? object instanceof Node : object && _typeof(object) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';
1011
+ };
1012
+ /**
1013
+ * _executeHook
1014
+ * Execute user configurable hooks
1015
+ *
1016
+ * @param {String} entryPoint Name of the hook's entry point
1017
+ * @param {Node} currentNode node to work on with the hook
1018
+ * @param {Object} data additional hook parameters
1019
+ */
1020
+
1021
+
1022
+ var _executeHook = function _executeHook(entryPoint, currentNode, data) {
1023
+ if (!hooks[entryPoint]) {
1024
+ return;
1025
+ }
1026
+
1027
+ arrayForEach(hooks[entryPoint], function (hook) {
1028
+ hook.call(DOMPurify, currentNode, data, CONFIG);
1432
1029
  });
1433
- }, or = function(i) {
1434
- var l;
1435
- if (B("beforeSanitizeElements", i, null), fo(i) || C(/[\u0080-\uFFFF]/, i.nodeName))
1436
- return F(i), !0;
1437
- var c = A(i.nodeName);
1438
- if (B("uponSanitizeElement", i, {
1439
- tagName: c,
1440
- allowedTags: _
1441
- }), i.hasChildNodes() && !xt(i.firstElementChild) && (!xt(i.content) || !xt(i.content.firstElementChild)) && C(/<[/\w]/g, i.innerHTML) && C(/<[/\w]/g, i.textContent) || c === "select" && C(/<template/i, i.innerHTML))
1442
- return F(i), !0;
1443
- if (!_[c] || ut[c]) {
1444
- if (!ut[c] && ir(c) && (b.tagNameCheck instanceof RegExp && C(b.tagNameCheck, c) || b.tagNameCheck instanceof Function && b.tagNameCheck(c)))
1445
- return !1;
1446
- if (se && !tt[c]) {
1447
- var g = Xt(i) || i.parentNode, z = Qr(i) || i.childNodes;
1448
- if (z && g)
1449
- for (var k = z.length, S = k - 1; S >= 0; --S)
1450
- g.insertBefore(M(z[S], !0), Jr(i));
1030
+ };
1031
+ /**
1032
+ * _sanitizeElements
1033
+ *
1034
+ * @protect nodeName
1035
+ * @protect textContent
1036
+ * @protect removeChild
1037
+ *
1038
+ * @param {Node} currentNode to check for permission to exist
1039
+ * @return {Boolean} true if node was killed, false if left alive
1040
+ */
1041
+
1042
+
1043
+ var _sanitizeElements = function _sanitizeElements(currentNode) {
1044
+ var content;
1045
+ /* Execute a hook if present */
1046
+
1047
+ _executeHook('beforeSanitizeElements', currentNode, null);
1048
+ /* Check if element is clobbered or can clobber */
1049
+
1050
+
1051
+ if (_isClobbered(currentNode)) {
1052
+ _forceRemove(currentNode);
1053
+
1054
+ return true;
1055
+ }
1056
+ /* Check if tagname contains Unicode */
1057
+
1058
+
1059
+ if (regExpTest(/[\u0080-\uFFFF]/, currentNode.nodeName)) {
1060
+ _forceRemove(currentNode);
1061
+
1062
+ return true;
1063
+ }
1064
+ /* Now let's check the element's type and name */
1065
+
1066
+
1067
+ var tagName = transformCaseFunc(currentNode.nodeName);
1068
+ /* Execute a hook if present */
1069
+
1070
+ _executeHook('uponSanitizeElement', currentNode, {
1071
+ tagName: tagName,
1072
+ allowedTags: ALLOWED_TAGS
1073
+ });
1074
+ /* Detect mXSS attempts abusing namespace confusion */
1075
+
1076
+
1077
+ if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\w]/g, currentNode.innerHTML) && regExpTest(/<[/\w]/g, currentNode.textContent)) {
1078
+ _forceRemove(currentNode);
1079
+
1080
+ return true;
1081
+ }
1082
+ /* Mitigate a problem with templates inside select */
1083
+
1084
+
1085
+ if (tagName === 'select' && regExpTest(/<template/i, currentNode.innerHTML)) {
1086
+ _forceRemove(currentNode);
1087
+
1088
+ return true;
1089
+ }
1090
+ /* Remove element if anything forbids its presence */
1091
+
1092
+
1093
+ if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
1094
+ /* Check if we have a custom element to handle */
1095
+ if (!FORBID_TAGS[tagName] && _basicCustomElementTest(tagName)) {
1096
+ if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) return false;
1097
+ if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) return false;
1451
1098
  }
1452
- return F(i), !0;
1453
- }
1454
- return i instanceof u && !uo(i) || (c === "noscript" || c === "noembed") && C(/<\/no(script|embed)/i, i.innerHTML) ? (F(i), !0) : (Z && i.nodeType === 3 && (l = i.textContent, l = L(l, Qt, " "), l = L(l, te, " "), l = L(l, ee, " "), i.textContent !== l && (bt(t.removed, {
1455
- element: i.cloneNode()
1456
- }), i.textContent = l)), B("afterSanitizeElements", i, null), !1);
1457
- }, ar = function(i, l, c) {
1458
- if (Ve && (l === "id" || l === "name") && (c in r || c in ho))
1459
- return !1;
1460
- if (!(ae && !oe[l] && C(ao, l))) {
1461
- if (!(We && C(io, l))) {
1462
- if (!T[l] || oe[l]) {
1463
- if (// First condition does a very basic check if a) it's basically a valid custom element tagname AND
1464
- // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
1465
- // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
1466
- !(ir(i) && (b.tagNameCheck instanceof RegExp && C(b.tagNameCheck, i) || b.tagNameCheck instanceof Function && b.tagNameCheck(i)) && (b.attributeNameCheck instanceof RegExp && C(b.attributeNameCheck, l) || b.attributeNameCheck instanceof Function && b.attributeNameCheck(l)) || // Alternative, second condition checks if it's an `is`-attribute, AND
1467
- // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
1468
- l === "is" && b.allowCustomizedBuiltInElements && (b.tagNameCheck instanceof RegExp && C(b.tagNameCheck, c) || b.tagNameCheck instanceof Function && b.tagNameCheck(c))))
1469
- return !1;
1470
- } else if (!le[l]) {
1471
- if (!C(re, L(c, Fe, ""))) {
1472
- if (!((l === "src" || l === "xlink:href" || l === "href") && i !== "script" && da(c, "data:") === 0 && Xe[i])) {
1473
- if (!(Ge && !C(no, L(c, Fe, "")))) {
1474
- if (c)
1475
- return !1;
1476
- }
1477
- }
1099
+ /* Keep content except for bad-listed elements */
1100
+
1101
+
1102
+ if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {
1103
+ var parentNode = getParentNode(currentNode) || currentNode.parentNode;
1104
+ var childNodes = getChildNodes(currentNode) || currentNode.childNodes;
1105
+
1106
+ if (childNodes && parentNode) {
1107
+ var childCount = childNodes.length;
1108
+
1109
+ for (var i = childCount - 1; i >= 0; --i) {
1110
+ parentNode.insertBefore(cloneNode(childNodes[i], true), getNextSibling(currentNode));
1478
1111
  }
1479
1112
  }
1480
1113
  }
1114
+
1115
+ _forceRemove(currentNode);
1116
+
1117
+ return true;
1481
1118
  }
1482
- return !0;
1483
- }, ir = function(i) {
1484
- return i.indexOf("-") > 0;
1485
- }, nr = function(i) {
1486
- var l, c, g, z;
1487
- B("beforeSanitizeAttributes", i, null);
1488
- var k = i.attributes;
1489
- if (k) {
1490
- var S = {
1491
- attrName: "",
1492
- attrValue: "",
1493
- keepAttr: !0,
1494
- allowedAttributes: T
1495
- };
1496
- for (z = k.length; z--; ) {
1497
- l = k[z];
1498
- var Rt = l, $ = Rt.name, ue = Rt.namespaceURI;
1499
- if (c = $ === "value" ? l.value : ca(l.value), g = A($), S.attrName = g, S.attrValue = c, S.keepAttr = !0, S.forceKeepAttr = void 0, B("uponSanitizeAttribute", i, S), c = S.attrValue, !S.forceKeepAttr && (we($, i), !!S.keepAttr)) {
1500
- if (C(/\/>/i, c)) {
1501
- we($, i);
1502
- continue;
1503
- }
1504
- Z && (c = L(c, Qt, " "), c = L(c, te, " "), c = L(c, ee, " "));
1505
- var sr = A(i.nodeName);
1506
- if (ar(sr, g, c)) {
1507
- if (Ye && (g === "id" || g === "name") && (we($, i), c = so + c), P && G(m) === "object" && typeof m.getAttributeType == "function" && !ue)
1508
- switch (m.getAttributeType(sr, g)) {
1509
- case "TrustedHTML":
1510
- c = P.createHTML(c);
1511
- break;
1512
- case "TrustedScriptURL":
1513
- c = P.createScriptURL(c);
1514
- break;
1515
- }
1516
- try {
1517
- ue ? i.setAttributeNS(ue, $, c) : i.setAttribute($, c), zr(t.removed);
1518
- } catch {
1519
- }
1119
+ /* Check whether element has a valid namespace */
1120
+
1121
+
1122
+ if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {
1123
+ _forceRemove(currentNode);
1124
+
1125
+ return true;
1126
+ }
1127
+
1128
+ if ((tagName === 'noscript' || tagName === 'noembed') && regExpTest(/<\/no(script|embed)/i, currentNode.innerHTML)) {
1129
+ _forceRemove(currentNode);
1130
+
1131
+ return true;
1132
+ }
1133
+ /* Sanitize element content to be template-safe */
1134
+
1135
+
1136
+ if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {
1137
+ /* Get the element's text content */
1138
+ content = currentNode.textContent;
1139
+ content = stringReplace(content, MUSTACHE_EXPR$1, ' ');
1140
+ content = stringReplace(content, ERB_EXPR$1, ' ');
1141
+ content = stringReplace(content, TMPLIT_EXPR$1, ' ');
1142
+
1143
+ if (currentNode.textContent !== content) {
1144
+ arrayPush(DOMPurify.removed, {
1145
+ element: currentNode.cloneNode()
1146
+ });
1147
+ currentNode.textContent = content;
1148
+ }
1149
+ }
1150
+ /* Execute a hook if present */
1151
+
1152
+
1153
+ _executeHook('afterSanitizeElements', currentNode, null);
1154
+
1155
+ return false;
1156
+ };
1157
+ /**
1158
+ * _isValidAttribute
1159
+ *
1160
+ * @param {string} lcTag Lowercase tag name of containing element.
1161
+ * @param {string} lcName Lowercase attribute name.
1162
+ * @param {string} value Attribute value.
1163
+ * @return {Boolean} Returns true if `value` is valid, otherwise false.
1164
+ */
1165
+ // eslint-disable-next-line complexity
1166
+
1167
+
1168
+ var _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {
1169
+ /* Make sure attribute cannot clobber */
1170
+ if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {
1171
+ return false;
1172
+ }
1173
+ /* Allow valid data-* attributes: At least one character after "-"
1174
+ (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
1175
+ XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
1176
+ We don't need to check the value; it's always URI safe. */
1177
+
1178
+
1179
+ if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR$1, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$1, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
1180
+ if ( // First condition does a very basic check if a) it's basically a valid custom element tagname AND
1181
+ // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
1182
+ // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
1183
+ _basicCustomElementTest(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || // Alternative, second condition checks if it's an `is`-attribute, AND
1184
+ // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
1185
+ lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {
1186
+ return false;
1187
+ }
1188
+ /* Check value is safe. First, is attr inert? If so, is safe */
1189
+
1190
+ } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE$1, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$1, stringReplace(value, ATTR_WHITESPACE$1, ''))) ; else if (!value) ; else {
1191
+ return false;
1192
+ }
1193
+
1194
+ return true;
1195
+ };
1196
+ /**
1197
+ * _basicCustomElementCheck
1198
+ * checks if at least one dash is included in tagName, and it's not the first char
1199
+ * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name
1200
+ * @param {string} tagName name of the tag of the node to sanitize
1201
+ */
1202
+
1203
+
1204
+ var _basicCustomElementTest = function _basicCustomElementTest(tagName) {
1205
+ return tagName.indexOf('-') > 0;
1206
+ };
1207
+ /**
1208
+ * _sanitizeAttributes
1209
+ *
1210
+ * @protect attributes
1211
+ * @protect nodeName
1212
+ * @protect removeAttribute
1213
+ * @protect setAttribute
1214
+ *
1215
+ * @param {Node} currentNode to sanitize
1216
+ */
1217
+
1218
+
1219
+ var _sanitizeAttributes = function _sanitizeAttributes(currentNode) {
1220
+ var attr;
1221
+ var value;
1222
+ var lcName;
1223
+ var l;
1224
+ /* Execute a hook if present */
1225
+
1226
+ _executeHook('beforeSanitizeAttributes', currentNode, null);
1227
+
1228
+ var attributes = currentNode.attributes;
1229
+ /* Check if we have attributes; if not we might have a text node */
1230
+
1231
+ if (!attributes) {
1232
+ return;
1233
+ }
1234
+
1235
+ var hookEvent = {
1236
+ attrName: '',
1237
+ attrValue: '',
1238
+ keepAttr: true,
1239
+ allowedAttributes: ALLOWED_ATTR
1240
+ };
1241
+ l = attributes.length;
1242
+ /* Go backwards over all attributes; safely remove bad ones */
1243
+
1244
+ while (l--) {
1245
+ attr = attributes[l];
1246
+ var _attr = attr,
1247
+ name = _attr.name,
1248
+ namespaceURI = _attr.namespaceURI;
1249
+ value = name === 'value' ? attr.value : stringTrim(attr.value);
1250
+ lcName = transformCaseFunc(name);
1251
+ /* Execute a hook if present */
1252
+
1253
+ hookEvent.attrName = lcName;
1254
+ hookEvent.attrValue = value;
1255
+ hookEvent.keepAttr = true;
1256
+ hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set
1257
+
1258
+ _executeHook('uponSanitizeAttribute', currentNode, hookEvent);
1259
+
1260
+ value = hookEvent.attrValue;
1261
+ /* Did the hooks approve of the attribute? */
1262
+
1263
+ if (hookEvent.forceKeepAttr) {
1264
+ continue;
1265
+ }
1266
+ /* Remove attribute */
1267
+
1268
+
1269
+ _removeAttribute(name, currentNode);
1270
+ /* Did the hooks approve of the attribute? */
1271
+
1272
+
1273
+ if (!hookEvent.keepAttr) {
1274
+ continue;
1275
+ }
1276
+ /* Work around a security issue in jQuery 3.0 */
1277
+
1278
+
1279
+ if (regExpTest(/\/>/i, value)) {
1280
+ _removeAttribute(name, currentNode);
1281
+
1282
+ continue;
1283
+ }
1284
+ /* Sanitize attribute content to be template-safe */
1285
+
1286
+
1287
+ if (SAFE_FOR_TEMPLATES) {
1288
+ value = stringReplace(value, MUSTACHE_EXPR$1, ' ');
1289
+ value = stringReplace(value, ERB_EXPR$1, ' ');
1290
+ value = stringReplace(value, TMPLIT_EXPR$1, ' ');
1291
+ }
1292
+ /* Is `value` valid for this attribute? */
1293
+
1294
+
1295
+ var lcTag = transformCaseFunc(currentNode.nodeName);
1296
+
1297
+ if (!_isValidAttribute(lcTag, lcName, value)) {
1298
+ continue;
1299
+ }
1300
+ /* Full DOM Clobbering protection via namespace isolation,
1301
+ * Prefix id and name attributes with `user-content-`
1302
+ */
1303
+
1304
+
1305
+ if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {
1306
+ // Remove the attribute with this value
1307
+ _removeAttribute(name, currentNode); // Prefix the value and later re-create the attribute with the sanitized value
1308
+
1309
+
1310
+ value = SANITIZE_NAMED_PROPS_PREFIX + value;
1311
+ }
1312
+ /* Handle attributes that require Trusted Types */
1313
+
1314
+
1315
+ if (trustedTypesPolicy && _typeof(trustedTypes) === 'object' && typeof trustedTypes.getAttributeType === 'function') {
1316
+ if (namespaceURI) ; else {
1317
+ switch (trustedTypes.getAttributeType(lcTag, lcName)) {
1318
+ case 'TrustedHTML':
1319
+ value = trustedTypesPolicy.createHTML(value);
1320
+ break;
1321
+
1322
+ case 'TrustedScriptURL':
1323
+ value = trustedTypesPolicy.createScriptURL(value);
1324
+ break;
1520
1325
  }
1521
1326
  }
1522
1327
  }
1523
- B("afterSanitizeAttributes", i, null);
1328
+ /* Handle invalid data-* attribute set by try-catching it */
1329
+
1330
+
1331
+ try {
1332
+ if (namespaceURI) {
1333
+ currentNode.setAttributeNS(namespaceURI, name, value);
1334
+ } else {
1335
+ /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. "x-schema". */
1336
+ currentNode.setAttribute(name, value);
1337
+ }
1338
+
1339
+ arrayPop(DOMPurify.removed);
1340
+ } catch (_) {}
1341
+ }
1342
+ /* Execute a hook if present */
1343
+
1344
+
1345
+ _executeHook('afterSanitizeAttributes', currentNode, null);
1346
+ };
1347
+ /**
1348
+ * _sanitizeShadowDOM
1349
+ *
1350
+ * @param {DocumentFragment} fragment to iterate over recursively
1351
+ */
1352
+
1353
+
1354
+ var _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {
1355
+ var shadowNode;
1356
+
1357
+ var shadowIterator = _createIterator(fragment);
1358
+ /* Execute a hook if present */
1359
+
1360
+
1361
+ _executeHook('beforeSanitizeShadowDOM', fragment, null);
1362
+
1363
+ while (shadowNode = shadowIterator.nextNode()) {
1364
+ /* Execute a hook if present */
1365
+ _executeHook('uponSanitizeShadowNode', shadowNode, null);
1366
+ /* Sanitize tags and elements */
1367
+
1368
+
1369
+ if (_sanitizeElements(shadowNode)) {
1370
+ continue;
1371
+ }
1372
+ /* Deep shadow DOM detected */
1373
+
1374
+
1375
+ if (shadowNode.content instanceof DocumentFragment) {
1376
+ _sanitizeShadowDOM(shadowNode.content);
1377
+ }
1378
+ /* Check attributes, sanitize if necessary */
1379
+
1380
+
1381
+ _sanitizeAttributes(shadowNode);
1524
1382
  }
1525
- }, xo = function w(i) {
1526
- var l, c = rr(i);
1527
- for (B("beforeSanitizeShadowDOM", i, null); l = c.nextNode(); )
1528
- B("uponSanitizeShadowNode", l, null), !or(l) && (l.content instanceof o && w(l.content), nr(l));
1529
- B("afterSanitizeShadowDOM", i, null);
1383
+ /* Execute a hook if present */
1384
+
1385
+
1386
+ _executeHook('afterSanitizeShadowDOM', fragment, null);
1530
1387
  };
1531
- return t.sanitize = function(w) {
1532
- var i = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, l, c, g, z, k;
1533
- if (pe = !w, pe && (w = "<!-->"), typeof w != "string" && !xt(w)) {
1534
- if (typeof w.toString != "function")
1535
- throw Ee("toString is not a function");
1536
- if (w = w.toString(), typeof w != "string")
1537
- throw Ee("dirty is not a string, aborting");
1538
- }
1539
- if (!t.isSupported) {
1540
- if (G(a.toStaticHTML) === "object" || typeof a.toStaticHTML == "function") {
1541
- if (typeof w == "string")
1542
- return a.toStaticHTML(w);
1543
- if (xt(w))
1544
- return a.toStaticHTML(w.outerHTML);
1388
+ /**
1389
+ * Sanitize
1390
+ * Public method providing core sanitation functionality
1391
+ *
1392
+ * @param {String|Node} dirty string or DOM node
1393
+ * @param {Object} configuration object
1394
+ */
1395
+ // eslint-disable-next-line complexity
1396
+
1397
+
1398
+ DOMPurify.sanitize = function (dirty) {
1399
+ var cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1400
+ var body;
1401
+ var importedNode;
1402
+ var currentNode;
1403
+ var oldNode;
1404
+ var returnNode;
1405
+ /* Make sure we have a string to sanitize.
1406
+ DO NOT return early, as this will return the wrong type if
1407
+ the user has requested a DOM object rather than a string */
1408
+
1409
+ IS_EMPTY_INPUT = !dirty;
1410
+
1411
+ if (IS_EMPTY_INPUT) {
1412
+ dirty = '<!-->';
1413
+ }
1414
+ /* Stringify, in case dirty is an object */
1415
+
1416
+
1417
+ if (typeof dirty !== 'string' && !_isNode(dirty)) {
1418
+ // eslint-disable-next-line no-negated-condition
1419
+ if (typeof dirty.toString !== 'function') {
1420
+ throw typeErrorCreate('toString is not a function');
1421
+ } else {
1422
+ dirty = dirty.toString();
1423
+
1424
+ if (typeof dirty !== 'string') {
1425
+ throw typeErrorCreate('dirty is not a string, aborting');
1426
+ }
1545
1427
  }
1546
- return w;
1547
1428
  }
1548
- if (ie || ce(i), t.removed = [], typeof w == "string" && (ft = !1), ft) {
1549
- if (w.nodeName) {
1550
- var S = A(w.nodeName);
1551
- if (!_[S] || ut[S])
1552
- throw Ee("root node is forbidden and cannot be sanitized in-place");
1429
+ /* Check we can run. Otherwise fall back or ignore */
1430
+
1431
+
1432
+ if (!DOMPurify.isSupported) {
1433
+ if (_typeof(window.toStaticHTML) === 'object' || typeof window.toStaticHTML === 'function') {
1434
+ if (typeof dirty === 'string') {
1435
+ return window.toStaticHTML(dirty);
1436
+ }
1437
+
1438
+ if (_isNode(dirty)) {
1439
+ return window.toStaticHTML(dirty.outerHTML);
1440
+ }
1553
1441
  }
1554
- } else if (w instanceof s)
1555
- l = er("<!---->"), c = l.ownerDocument.importNode(w, !0), c.nodeType === 1 && c.nodeName === "BODY" || c.nodeName === "HTML" ? l = c : l.appendChild(c);
1556
- else {
1557
- if (!J && !Z && !V && // eslint-disable-next-line unicorn/prefer-includes
1558
- w.indexOf("<") === -1)
1559
- return P && Ct ? P.createHTML(w) : w;
1560
- if (l = er(w), !l)
1561
- return J ? null : Ct ? Zt : "";
1562
- }
1563
- l && ne && F(l.firstChild);
1564
- for (var Rt = rr(ft ? w : l); g = Rt.nextNode(); )
1565
- g.nodeType === 3 && g === z || or(g) || (g.content instanceof o && xo(g.content), nr(g), z = g);
1566
- if (z = null, ft)
1567
- return w;
1568
- if (J) {
1569
- if (kt)
1570
- for (k = eo.call(l.ownerDocument); l.firstChild; )
1571
- k.appendChild(l.firstChild);
1572
- else
1573
- k = l;
1574
- return T.shadowroot && (k = oo.call(e, k, !0)), k;
1575
- }
1576
- var $ = V ? l.outerHTML : l.innerHTML;
1577
- return V && _["!doctype"] && l.ownerDocument && l.ownerDocument.doctype && l.ownerDocument.doctype.name && C(Aa, l.ownerDocument.doctype.name) && ($ = "<!DOCTYPE " + l.ownerDocument.doctype.name + `>
1578
- ` + $), Z && ($ = L($, Qt, " "), $ = L($, te, " "), $ = L($, ee, " ")), P && Ct ? P.createHTML($) : $;
1579
- }, t.setConfig = function(w) {
1580
- ce(w), ie = !0;
1581
- }, t.clearConfig = function() {
1582
- rt = null, ie = !1;
1583
- }, t.isValidAttribute = function(w, i, l) {
1584
- rt || ce({});
1585
- var c = A(w), g = A(i);
1586
- return ar(c, g, l);
1587
- }, t.addHook = function(w, i) {
1588
- typeof i == "function" && (U[w] = U[w] || [], bt(U[w], i));
1589
- }, t.removeHook = function(w) {
1590
- if (U[w])
1591
- return zr(U[w]);
1592
- }, t.removeHooks = function(w) {
1593
- U[w] && (U[w] = []);
1594
- }, t.removeAllHooks = function() {
1595
- U = {};
1596
- }, t;
1597
- }
1598
- var Ta = Xr();
1599
- const Sa = `/*! tailwindcss v3.2.6 | MIT License | https://tailwindcss.com
1600
- */*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:PT Mono,sans-serif;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}.heading-h1{font-family:Inter,sans-serif;font-size:26px;font-weight:600;font-style:normal;line-height:31px}.heading-h2{font-family:Inter,sans-serif;font-size:21px;font-weight:600;font-style:normal;line-height:26px}.heading-h3{font-family:Inter,sans-serif;font-size:17px;font-weight:600;font-style:normal;line-height:22px}.heading-h4{font-family:Inter,sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;font-style:normal;line-height:15px;letter-spacing:.02em}.heading-h5{font-family:Inter,sans-serif;font-size:14px;font-weight:700;font-style:normal;line-height:17px}.heading-h1-medium-apax{font-family:Apax,sans-serif;font-size:44px;font-weight:500;font-style:normal;line-height:40px}.heading-h1-regular-apax{font-family:Apax,sans-serif;font-size:44px;font-weight:400;font-style:normal;line-height:40px}.heading-h2-medium-apax{font-family:Apax,sans-serif;font-size:24px;font-weight:500;font-style:normal;line-height:28px}.heading-h3-medium-apax{font-family:Apax,sans-serif;font-size:16px;font-weight:500;font-style:normal;line-height:19px}.heading-h4-medium-apax{font-family:Apax,sans-serif;font-size:14px;font-weight:500;font-style:normal;line-height:20px}.heading-h4-medium-uppercase-apax{font-family:Apax,sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;font-style:normal;line-height:20px;letter-spacing:.08em}.heading-h5-medium-apax{font-family:Apax,sans-serif;font-size:8px;font-weight:500;font-style:normal;line-height:10px}.heading-h5-medium-uppercase-apax{font-family:Apax,sans-serif;font-size:8px;font-weight:500;text-transform:uppercase;font-style:normal;line-height:10px;letter-spacing:.08em}.paragraph-16-regular{font-family:Inter,sans-serif;font-size:16px;font-weight:400;font-style:normal;line-height:24px}.paragraph-16-semi-bold{font-family:Inter,sans-serif;font-size:16px;font-weight:600;font-style:normal;line-height:24px}.paragraph-14-regular{font-family:Inter,sans-serif;font-size:14px;font-weight:400;font-style:normal;line-height:22px}.paragraph-14-medium{font-family:Inter,sans-serif;font-size:14px;font-weight:500;font-style:normal;line-height:22px}.paragraph-14-semi-bold{font-family:Inter,sans-serif;font-size:14px;font-weight:600;font-style:normal;line-height:22px}.paragraph-12-regular{font-family:Inter,sans-serif;font-size:12px;font-weight:400;font-style:normal;line-height:20px}.paragraph-12-medium{font-family:Inter,sans-serif;font-size:12px;font-weight:500;font-style:normal;line-height:20px}.paragraph-12-semi-bold{font-family:Inter,sans-serif;font-size:12px;font-weight:600;font-style:normal;line-height:20px}.currency-10-semi-bold{font-family:Inter,sans-serif;font-size:10px;font-weight:600;font-style:normal;line-height:12px}.currency-10-bold-uppercase{font-family:Inter,sans-serif;font-size:10px;font-weight:700;text-transform:uppercase;font-style:normal;line-height:12px}.currency-14-semi-bold{font-family:Inter,sans-serif;font-size:14px;font-weight:600;font-style:normal;line-height:17px}.link{font-family:Inter,sans-serif;font-size:17px;font-weight:600;font-style:normal;line-height:22px}.button-text{font-family:Inter,sans-serif;font-size:17px;font-weight:600;font-style:normal;line-height:17px}.caption{font-family:Inter,sans-serif;font-size:13px;font-weight:400;font-style:normal;line-height:20px}.monospaced-16-regular{font-family:PT Mono,sans-serif;font-size:16px;font-weight:400;font-style:normal;line-height:22px}.monospaced-16-bold{font-family:PT Mono,sans-serif;font-size:16px;font-weight:700;font-style:normal;line-height:22px}.monospaced-12-bold{font-family:PT Mono,sans-serif;font-size:12px;font-weight:700;font-style:normal;line-height:14px}.monospaced-10-bold{font-family:PT Mono,sans-serif;font-size:10px;font-weight:700;font-style:normal;line-height:14px}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.\\!relative{position:relative!important}.relative{position:relative}.sticky{position:sticky}.-left-\\[257px\\]{left:-257px}.-top-\\[40px\\]{top:-40px}.-top-\\[70px\\]{top:-70px}.bottom-0{bottom:0px}.left-0{left:0px}.left-\\[calc\\(50\\%_-_40px\\)\\]{left:calc(50% - 40px)}.right-0{right:0px}.top-0{top:0px}.top-\\[72px\\]{top:72px}.isolate{isolation:isolate}.z-10{z-index:10}.z-\\[1000\\]{z-index:1000}.z-\\[1\\]{z-index:1}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-last{order:9999}.float-left{float:left}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.m-5{margin:1.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-5{margin-left:1.25rem;margin-right:1.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-mb-6{margin-bottom:-1.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-\\[2px\\]{margin-left:2px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.25rem}.mr-auto{margin-right:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.h-4{height:1rem}.h-78{height:78px}.h-\\[10px\\]{height:10px}.h-\\[12px\\]{height:12px}.h-\\[200px\\]{height:200px}.h-\\[28px\\]{height:28px}.h-\\[34px\\]{height:34px}.h-\\[48px\\]{height:48px}.h-\\[60\\%\\]{height:60%}.h-\\[70px\\]{height:70px}.h-\\[83\\.3\\%\\]{height:83.3%}.h-full{height:100%}.min-h-\\[129px\\]{min-height:129px}.min-h-\\[200px\\]{min-height:200px}.min-h-\\[534px\\]{min-height:534px}.min-h-full{min-height:100%}.w-4{width:1rem}.w-\\[10px\\]{width:10px}.w-\\[121px\\]{width:121px}.w-\\[12px\\]{width:12px}.w-\\[153px\\]{width:153px}.w-\\[300px\\]{width:300px}.w-\\[350px\\]{width:350px}.w-\\[362px\\]{width:362px}.w-\\[60\\%\\]{width:60%}.w-\\[83\\.3\\%\\]{width:83.3%}.w-\\[876px\\]{width:876px}.w-\\[96px\\]{width:96px}.w-full{width:100%}.min-w-full{min-width:100%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.flex-shrink,.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\\[name\\]{animation:name}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .5s ease-in-out}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse-resize{0%,to{transform:scale(1)}50%{transform:scale(.7)}}.animate-pulse-resize{animation:pulse-resize 1s ease-in-out infinite}@keyframes resize-in{0%{transform:scale(.5)}to{transform:scale(1)}}.animate-resize-in{animation:resize-in .5s ease-in-out}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-rows-\\[auto\\,1fr\\]{grid-template-rows:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.content-start{align-content:flex-start}.content-end{align-content:flex-end}.content-between{align-content:space-between}.content-around{align-content:space-around}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-16{gap:4rem}.gap-4{gap:1rem}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:1.5rem}.rounded-\\[103px_103px_0_0\\]{border-radius:103px 103px 0 0}.rounded-\\[24px_24px_0_0\\]{border-radius:24px 24px 0 0}.rounded-\\[50\\%\\]{border-radius:50%}.rounded-\\[56px\\]{border-radius:56px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-l-xl{border-top-left-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-r-xl{border-top-right-radius:.75rem;border-bottom-right-radius:.75rem}.border,.border-\\[1px\\]{border-width:1px}.border-l-0{border-left-width:0px}.border-r-0{border-right-width:0px}.border-solid{border-style:solid}.border-none{border-style:none}.border-\\[rgba\\(255\\,255\\,255\\,0\\.8\\)\\]{border-color:#fffc}.border-neutral-20{--tw-border-opacity: 1;border-color:rgb(36 53 66 / var(--tw-border-opacity))}.border-neutral-35{--tw-border-opacity: 1;border-color:rgb(62 93 116 / var(--tw-border-opacity))}.border-neutral-90{--tw-border-opacity: 1;border-color:rgb(222 231 237 / var(--tw-border-opacity))}.border-purple-51{--tw-border-opacity: 1;border-color:rgb(100 110 160 / var(--tw-border-opacity))}.border-red-65{--tw-border-opacity: 1;border-color:rgb(233 99 99 / var(--tw-border-opacity))}.border-red-85{--tw-border-opacity: 1;border-color:rgb(245 188 188 / var(--tw-border-opacity))}.bg-blue-200{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity: 1;background-color:rgb(30 64 175 / var(--tw-bg-opacity))}.bg-green-54{--tw-bg-opacity: 1;background-color:rgb(71 205 104 / var(--tw-bg-opacity))}.bg-neutral-10{--tw-bg-opacity: 1;background-color:rgb(18 27 33 / var(--tw-bg-opacity))}.bg-neutral-100{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-neutral-20{--tw-bg-opacity: 1;background-color:rgb(36 53 66 / var(--tw-bg-opacity))}.bg-neutral-90{--tw-bg-opacity: 1;background-color:rgb(222 231 237 / var(--tw-bg-opacity))}.bg-neutral-95{--tw-bg-opacity: 1;background-color:rgb(238 243 246 / var(--tw-bg-opacity))}.bg-neutral-98{--tw-bg-opacity: 1;background-color:rgb(248 250 251 / var(--tw-bg-opacity))}.bg-pink-95{--tw-bg-opacity: 1;background-color:rgb(252 236 233 / var(--tw-bg-opacity))}.bg-purple-51{--tw-bg-opacity: 1;background-color:rgb(100 110 160 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-gradient-1-start{--tw-gradient-from: #D39B9D;--tw-gradient-to: rgb(211 155 157 / 0);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-gradient-1-end{--tw-gradient-to: #9071D1}.bg-cover{background-size:cover}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-\\[50\\%\\]{background-position:50%}.bg-center{background-position:center}.bg-no-repeat{background-repeat:no-repeat}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-9{padding-left:2.25rem;padding-right:2.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-5{padding-right:1.25rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-center{text-align:center}.text-justify{text-align:justify}.align-baseline{vertical-align:baseline}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-apax{font-family:Apax,sans-serif}.font-inter{font-family:Inter,sans-serif}.text-10{font-size:10px}.text-12{font-size:12px}.text-13{font-size:13px}.text-14{font-size:14px}.text-16{font-size:16px}.text-17{font-size:17px}.text-21{font-size:21px}.text-24{font-size:24px}.text-26{font-size:26px}.text-44{font-size:44px}.text-8{font-size:8px}.font-400{font-weight:400}.font-500{font-weight:500}.font-600{font-weight:600}.font-700{font-weight:700}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.not-italic{font-style:normal}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.slashed-zero{--tw-slashed-zero: slashed-zero;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lining-nums{--tw-numeric-figure: lining-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oldstyle-nums{--tw-numeric-figure: oldstyle-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.proportional-nums{--tw-numeric-spacing: proportional-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.diagonal-fractions{--tw-numeric-fraction: diagonal-fractions;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.stacked-fractions{--tw-numeric-fraction: stacked-fractions;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-10{line-height:10px}.leading-12{line-height:12px}.leading-14{line-height:14px}.leading-15{line-height:15px}.leading-17{line-height:17px}.leading-19{line-height:19px}.leading-20{line-height:20px}.leading-22{line-height:22px}.leading-24{line-height:24px}.leading-26{line-height:26px}.leading-28{line-height:28px}.leading-31{line-height:31px}.leading-40{line-height:40px}.leading-none{line-height:1}.tracking-\\[\\.02em\\]{letter-spacing:.02em}.tracking-\\[\\.08em\\]{letter-spacing:.08em}.text-honey-72{--tw-text-opacity: 1;color:rgb(250 210 117 / var(--tw-text-opacity))}.text-neutral-100{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-neutral-20{--tw-text-opacity: 1;color:rgb(36 53 66 / var(--tw-text-opacity))}.text-neutral-60{--tw-text-opacity: 1;color:rgb(122 157 184 / var(--tw-text-opacity))}.text-purple-51{--tw-text-opacity: 1;color:rgb(100 110 160 / var(--tw-text-opacity))}.text-red-65{--tw-text-opacity: 1;color:rgb(233 99 99 / var(--tw-text-opacity))}.text-sky-64{--tw-text-opacity: 1;color:rgb(104 165 222 / var(--tw-text-opacity))}.text-transparent{color:transparent}.text-yellow-200{--tw-text-opacity: 1;color:rgb(254 240 138 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.overline{text-decoration-line:overline}.line-through{text-decoration-line:line-through}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-10{opacity:.1}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-1xl{--tw-shadow: 0px 0px 16px rgba(189, 206, 219, .4);--tw-shadow-colored: 0px 0px 16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0px 36px 80px rgba(189, 206, 219, .3), 0px 5.01331px 33.4221px rgba(189, 206, 219, .0503198), 0px 2.68036px 17.869px rgba(189, 206, 219, .0417275), 0px 1.50259px 10.0172px rgba(189, 206, 219, .035), 0px .798012px 5.32008px rgba(189, 206, 219, .0282725), 0px .332071px 2.21381px rgba(189, 206, 219, .0196802);--tw-shadow-colored: 0px 36px 80px var(--tw-shadow-color), 0px 5.01331px 33.4221px var(--tw-shadow-color), 0px 2.68036px 17.869px var(--tw-shadow-color), 0px 1.50259px 10.0172px var(--tw-shadow-color), 0px .798012px 5.32008px var(--tw-shadow-color), 0px .332071px 2.21381px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-3xl{--tw-shadow: 0px 12px 80px rgba(189, 206, 219, .3), 0px 73.78px 33.4221px rgba(189, 206, 219, .0803), 0px 22.3363px 17.869px rgba(189, 206, 219, .0417275), 0px 12.5216px 10.0172px rgba(189, 206, 219, .035), 0px 6.6501px 5.32008px rgba(189, 206, 219, .0282725), 0px 2.76726px 2.21381px rgba(189, 206, 219, .0196802);--tw-shadow-colored: 0px 12px 80px var(--tw-shadow-color), 0px 73.78px 33.4221px var(--tw-shadow-color), 0px 22.3363px 17.869px var(--tw-shadow-color), 0px 12.5216px 10.0172px var(--tw-shadow-color), 0px 6.6501px 5.32008px var(--tw-shadow-color), 0px 2.76726px 2.21381px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neutral-above-shadow{--tw-shadow: 0px 0px 24px rgba(63, 93, 116, .1), 0px 0px 10.4625px rgba(63, 93, 116, .0675), 0px 0px 3.9px rgba(63, 93, 116, .05), 0px 0px 1.3875px rgba(63, 93, 116, .0325);--tw-shadow-colored: 0px 0px 24px var(--tw-shadow-color), 0px 0px 10.4625px var(--tw-shadow-color), 0px 0px 3.9px var(--tw-shadow-color), 0px 0px 1.3875px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neutral-above-shadow-1xl{--tw-shadow: 0px 0px 32px rgba(63, 93, 116, .1), 0px 0px 18.46px rgba(63, 93, 116, .0675), 0px 0px 11.9px rgba(63, 93, 116, .05), 0px 0px 9.39px rgba(63, 93, 116, .0325);--tw-shadow-colored: 0px 0px 32px var(--tw-shadow-color), 0px 0px 18.46px var(--tw-shadow-color), 0px 0px 11.9px var(--tw-shadow-color), 0px 0px 9.39px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neutral-above-shadow-2xl{--tw-shadow: 0px 0px 40px rgba(63, 93, 116, .1), 0px 0px 26.46px rgba(63, 93, 116, .0675), 0px 0px 19.9px rgba(63, 93, 116, .05), 0px 0px 17.39px rgba(63, 93, 116, .0325);--tw-shadow-colored: 0px 0px 40px var(--tw-shadow-color), 0px 0px 26.46px var(--tw-shadow-color), 0px 0px 19.9px var(--tw-shadow-color), 0px 0px 17.39px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neutral-above-shadow-3xl{--tw-shadow: 0px 0px 48px rgba(63, 93, 116, .1), 0px 0px 34.46px rgba(63, 93, 116, .0675), 0px 0px 27.9px rgba(63, 93, 116, .05), 0px 0px 25.39px rgba(63, 93, 116, .0325);--tw-shadow-colored: 0px 0px 48px var(--tw-shadow-color), 0px 0px 34.46px var(--tw-shadow-color), 0px 0px 27.9px var(--tw-shadow-color), 0px 0px 25.39px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neutral-drop-shadow{--tw-shadow: 0px 9px 4px rgba(63, 93, 116, .01), 0px 5px 3px rgba(63, 93, 116, .04), 0px 2px 2px rgba(63, 93, 116, .07), 0px 1px 1px rgba(63, 93, 116, .08), 0px 0px 0px rgba(63, 93, 116, .08);--tw-shadow-colored: 0px 9px 4px var(--tw-shadow-color), 0px 5px 3px var(--tw-shadow-color), 0px 2px 2px var(--tw-shadow-color), 0px 1px 1px var(--tw-shadow-color), 0px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neutral-drop-shadow-1xl{--tw-shadow: 0px 18px 7px rgba(63, 93, 116, .02), 0px 10px 6px rgba(63, 93, 116, .08), 0px 4px 4px rgba(63, 93, 116, .13), 0px 1px 2px rgba(63, 93, 116, .15), 0px 0px 0px rgba(63, 93, 116, .16);--tw-shadow-colored: 0px 18px 7px var(--tw-shadow-color), 0px 10px 6px var(--tw-shadow-color), 0px 4px 4px var(--tw-shadow-color), 0px 1px 2px var(--tw-shadow-color), 0px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neutral-drop-shadow-2xl{--tw-shadow: 0px 54px 22px rgba(63, 93, 116, .02), 0px 30px 18px rgba(63, 93, 116, .08), 0px 14px 14px rgba(63, 93, 116, .13), 0px 3px 7px rgba(63, 93, 116, .15), 0px 0px 0px rgba(63, 93, 116, .16);--tw-shadow-colored: 0px 54px 22px var(--tw-shadow-color), 0px 30px 18px var(--tw-shadow-color), 0px 14px 14px var(--tw-shadow-color), 0px 3px 7px var(--tw-shadow-color), 0px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neutral-drop-shadow-3xl{--tw-shadow: 0px 118px 47px rgba(63, 93, 116, .02), 0px 67px 40px rgba(63, 93, 116, .08), 0px 30px 30px rgba(63, 93, 116, .13), 0px 7px 16px rgba(63, 93, 116, .15), 0px 0px 0px rgba(63, 93, 116, .16);--tw-shadow-colored: 0px 118px 47px var(--tw-shadow-color), 0px 67px 40px var(--tw-shadow-color), 0px 30px 30px var(--tw-shadow-color), 0px 7px 16px var(--tw-shadow-color), 0px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neutral-inner-shadow{--tw-shadow: inset 0px 9px 3px rgba(63, 93, 116, .01), inset 0px 5px 3px rgba(63, 93, 116, .04), inset 0px 2px 2px rgba(63, 93, 116, .07), inset 0px 1px 1px rgba(63, 93, 116, .08);--tw-shadow-colored: inset 0px 9px 3px var(--tw-shadow-color), inset 0px 5px 3px var(--tw-shadow-color), inset 0px 2px 2px var(--tw-shadow-color), inset 0px 1px 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neutral-inner-shadow-1xl{--tw-shadow: inset 0px 19px 8px rgba(63, 93, 116, .02), inset 0px 11px 6px rgba(63, 93, 116, .08), inset 0px 5px 5px rgba(63, 93, 116, .13), inset 0px 1px 3px rgba(63, 93, 116, .15);--tw-shadow-colored: inset 0px 19px 8px var(--tw-shadow-color), inset 0px 11px 6px var(--tw-shadow-color), inset 0px 5px 5px var(--tw-shadow-color), inset 0px 1px 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neutral-inner-shadow-2xl{--tw-shadow: inset 0px 60px 24px rgba(63, 93, 116, .02), inset 0px 34px 20px rgba(63, 93, 116, .08), inset 0px 15px 15px rgba(63, 93, 116, .13), inset 0px 4px 8px rgba(63, 93, 116, .15);--tw-shadow-colored: inset 0px 60px 24px var(--tw-shadow-color), inset 0px 34px 20px var(--tw-shadow-color), inset 0px 15px 15px var(--tw-shadow-color), inset 0px 4px 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-neutral-inner-shadow-3xl{--tw-shadow: inset 0px 130px 52px rgba(63, 93, 116, .02), inset 0px 73px 44px rgba(63, 93, 116, .08), inset 0px 33px 33px rgba(63, 93, 116, .13), inset 0px 8px 18px rgba(63, 93, 116, .15);--tw-shadow-colored: inset 0px 130px 52px var(--tw-shadow-color), inset 0px 73px 44px var(--tw-shadow-color), inset 0px 33px 33px var(--tw-shadow-color), inset 0px 8px 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-pink-above-shadow{--tw-shadow: 0px 0px 24px rgba(112, 96, 92, .1), 0px 0px 10.4625px rgba(112, 96, 92, .0675), 0px 0px 3.9px rgba(112, 96, 92, .05), 0px 0px 1.3875px rgba(112, 96, 92, .0325);--tw-shadow-colored: 0px 0px 24px var(--tw-shadow-color), 0px 0px 10.4625px var(--tw-shadow-color), 0px 0px 3.9px var(--tw-shadow-color), 0px 0px 1.3875px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-pink-above-shadow-1xl{--tw-shadow: 0px 0px 32px rgba(112, 96, 92, .1), 0px 0px 18.46px rgba(112, 96, 92, .0675), 0px 0px 11.9px rgba(112, 96, 92, .05), 0px 0px 9.39px rgba(112, 96, 92, .0325);--tw-shadow-colored: 0px 0px 32px var(--tw-shadow-color), 0px 0px 18.46px var(--tw-shadow-color), 0px 0px 11.9px var(--tw-shadow-color), 0px 0px 9.39px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-pink-above-shadow-2xl{--tw-shadow: 0px 0px 40px rgba(112, 96, 92, .1), 0px 0px 26.46px rgba(112, 96, 92, .0675), 0px 0px 19.9px rgba(112, 96, 92, .05), 0px 0px 17.39px rgba(112, 96, 92, .0325);--tw-shadow-colored: 0px 0px 40px var(--tw-shadow-color), 0px 0px 26.46px var(--tw-shadow-color), 0px 0px 19.9px var(--tw-shadow-color), 0px 0px 17.39px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-pink-above-shadow-3xl{--tw-shadow: 0px 0px 48px rgba(112, 96, 92, .1), 0px 0px 34.46px rgba(112, 96, 92, .0675), 0px 0px 27.9px rgba(112, 96, 92, .05), 0px 0px 25.39px rgba(112, 96, 92, .0325);--tw-shadow-colored: 0px 0px 48px var(--tw-shadow-color), 0px 0px 34.46px var(--tw-shadow-color), 0px 0px 27.9px var(--tw-shadow-color), 0px 0px 25.39px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-pink-drop-shadow{--tw-shadow: 0px 9px 4px rgba(112, 96, 92, .01), 0px 5px 3px rgba(112, 96, 92, .04), 0px 2px 2px rgba(112, 96, 92, .07), 0px 1px 1px rgba(112, 96, 92, .08), 0px 0px 0px rgba(112, 96, 92, .08);--tw-shadow-colored: 0px 9px 4px var(--tw-shadow-color), 0px 5px 3px var(--tw-shadow-color), 0px 2px 2px var(--tw-shadow-color), 0px 1px 1px var(--tw-shadow-color), 0px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-pink-drop-shadow-1xl{--tw-shadow: 0px 17px 7px rgba(112, 96, 92, .02), 0px 10px 6px rgba(112, 96, 92, .08), 0px 4px 4px rgba(112, 96, 92, .13), 0px 1px 2px rgba(112, 96, 92, .15), 0px 0px 0px rgba(112, 96, 92, .16);--tw-shadow-colored: 0px 17px 7px var(--tw-shadow-color), 0px 10px 6px var(--tw-shadow-color), 0px 4px 4px var(--tw-shadow-color), 0px 1px 2px var(--tw-shadow-color), 0px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-pink-drop-shadow-2xl{--tw-shadow: 0px 54px 21px rgba(112, 96, 92, .02), 0px 30px 18px rgba(112, 96, 92, .08), 0px 13px 13px rgba(112, 96, 92, .13), 0px 3px 7px rgba(112, 96, 92, .15), 0px 0px 0px rgba(112, 96, 92, .16);--tw-shadow-colored: 0px 54px 21px var(--tw-shadow-color), 0px 30px 18px var(--tw-shadow-color), 0px 13px 13px var(--tw-shadow-color), 0px 3px 7px var(--tw-shadow-color), 0px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-pink-drop-shadow-3xl{--tw-shadow: 0px 117px 47px rgba(112, 96, 92, .02), 0px 66px 40px rgba(112, 96, 92, .08), 0px 29px 29px rgba(112, 96, 92, .13), 0px 7px 16px rgba(112, 96, 92, .15), 0px 0px 0px rgba(112, 96, 92, .16);--tw-shadow-colored: 0px 117px 47px var(--tw-shadow-color), 0px 66px 40px var(--tw-shadow-color), 0px 29px 29px var(--tw-shadow-color), 0px 7px 16px var(--tw-shadow-color), 0px 0px 0px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-wizard-step{--tw-shadow: 1px 1px 8px #FFFFFF, inset 1px 1px 4px rgba(0, 0, 0, .16);--tw-shadow-colored: 1px 1px 8px var(--tw-shadow-color), inset 1px 1px 4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-2{outline-width:2px}.outline-neutral-100{outline-color:#fff}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia: sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.animation-delay-100{animation-delay:.1s}.animation-delay-500{animation-delay:.5s}.animation-iteration-infinite{animation-iteration-count:infinite}.animation-duration-1000{animation-duration:1s}.animation-fill-forwards{animation-fill-mode:forwards}.\\[emittery\\:subscribe\\]{emittery:subscribe}.placeholder\\:text-neutral-70::-moz-placeholder{--tw-text-opacity: 1;color:rgb(156 182 201 / var(--tw-text-opacity))}.placeholder\\:text-neutral-70::placeholder{--tw-text-opacity: 1;color:rgb(156 182 201 / var(--tw-text-opacity))}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:left-0:before{content:var(--tw-content);left:0px}.before\\:top-0:before{content:var(--tw-content);top:0px}.before\\:top-\\[calc\\(50\\%-12px\\)\\]:before{content:var(--tw-content);top:calc(50% - 12px)}.before\\:z-\\[-1\\]:before{content:var(--tw-content);z-index:-1}.before\\:h-\\[24px\\]:before{content:var(--tw-content);height:24px}.before\\:h-\\[48px\\]:before{content:var(--tw-content);height:48px}.before\\:w-0:before{content:var(--tw-content);width:0px}.before\\:w-\\[1px\\]:before{content:var(--tw-content);width:1px}.before\\:w-full:before{content:var(--tw-content);width:100%}.before\\:rounded-none:before{content:var(--tw-content);border-radius:0}.before\\:bg-neutral-10:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(18 27 33 / var(--tw-bg-opacity))}.before\\:bg-neutral-90:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(222 231 237 / var(--tw-bg-opacity))}.before\\:bg-purple-51:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(100 110 160 / var(--tw-bg-opacity))}.before\\:transition-all:before{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.before\\:transition-none:before{content:var(--tw-content);transition-property:none}.before\\:duration-\\[2000ms\\]:before{content:var(--tw-content);transition-duration:2s}.before\\:content-\\[\\'\\'\\]:before{--tw-content: "";content:var(--tw-content)}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:bottom-\\[7px\\]:after{content:var(--tw-content);bottom:7px}.after\\:ml-\\[15px\\]:after{content:var(--tw-content);margin-left:15px}.after\\:block:after{content:var(--tw-content);display:block}.after\\:h-\\[2px\\]:after{content:var(--tw-content);height:2px}.after\\:w-\\[calc\\(100\\%-16px\\)\\]:after{content:var(--tw-content);width:calc(100% - 16px)}.after\\:bg-pink-95:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(252 236 233 / var(--tw-bg-opacity))}.after\\:shadow-wizard-line:after{content:var(--tw-content);--tw-shadow: inset 0px 0px 2px rgba(0, 0, 0, .14);--tw-shadow-colored: inset 0px 0px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.first\\:-ml-12:first-child{margin-left:-3rem}.last\\:-mr-12:last-child{margin-right:-3rem}.hover\\:border-neutral-25:hover{--tw-border-opacity: 1;border-color:rgb(45 66 83 / var(--tw-border-opacity))}.hover\\:border-purple-58:hover{--tw-border-opacity: 1;border-color:rgb(122 131 174 / var(--tw-border-opacity))}.hover\\:bg-neutral-25:hover{--tw-bg-opacity: 1;background-color:rgb(45 66 83 / var(--tw-bg-opacity))}.hover\\:bg-purple-58:hover{--tw-bg-opacity: 1;background-color:rgb(122 131 174 / var(--tw-bg-opacity))}.hover\\:text-neutral-35:hover{--tw-text-opacity: 1;color:rgb(62 93 116 / var(--tw-text-opacity))}.hover\\:text-yellow-700:hover{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity))}.hover\\:shadow-button-hover-primary:hover{--tw-shadow: 0px 20px 16px -16px rgba(0, 0, 0, .4);--tw-shadow-colored: 0px 20px 16px -16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\\:shadow-button-hover-secondary:hover{--tw-shadow: 0px 20px 16px -16px rgba(0, 0, 0, .12);--tw-shadow-colored: 0px 20px 16px -16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\\:shadow-none:hover{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\\:duration-250:hover{transition-duration:.25s}.active\\:scale-100:active{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\\:scale-98:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\\:border-neutral-25:active{--tw-border-opacity: 1;border-color:rgb(45 66 83 / var(--tw-border-opacity))}.active\\:bg-neutral-25:active{--tw-bg-opacity: 1;background-color:rgb(45 66 83 / var(--tw-bg-opacity))}.active\\:text-neutral-35:active{--tw-text-opacity: 1;color:rgb(62 93 116 / var(--tw-text-opacity))}.active\\:shadow-button-press-primary:active{--tw-shadow: 0px 12px 16px -16px rgba(0, 0, 0, .4);--tw-shadow-colored: 0px 12px 16px -16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.active\\:shadow-button-press-secondary:active{--tw-shadow: 0px 12px 16px -16px rgba(0, 0, 0, .12);--tw-shadow-colored: 0px 12px 16px -16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.active\\:shadow-none:active{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.active\\:outline-0:active{outline-width:0px}.active\\:duration-25:active{transition-duration:25ms}.disabled\\:scale-100:disabled{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:border-neutral-90:disabled{--tw-border-opacity: 1;border-color:rgb(222 231 237 / var(--tw-border-opacity))}.disabled\\:bg-neutral-90:disabled{--tw-bg-opacity: 1;background-color:rgb(222 231 237 / var(--tw-bg-opacity))}.disabled\\:text-neutral-100:disabled{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.disabled\\:text-neutral-90:disabled{--tw-text-opacity: 1;color:rgb(222 231 237 / var(--tw-text-opacity))}.disabled\\:shadow-none:disabled{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.\\[\\&\\>\\.lukso-wizard-circle\\]\\:after\\:bg-purple-51>.lukso-wizard-circle:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(100 110 160 / var(--tw-bg-opacity))}.\\[\\&\\>\\.lukso-wizard-circle\\]\\:after\\:last\\:hidden:last-child>.lukso-wizard-circle:after{content:var(--tw-content);display:none}.\\[\\&_\\.lukso-wizard-circle-inner\\]\\:border-2 .lukso-wizard-circle-inner{border-width:2px}.\\[\\&_\\.lukso-wizard-circle-inner\\]\\:border-purple-51 .lukso-wizard-circle-inner{--tw-border-opacity: 1;border-color:rgb(100 110 160 / var(--tw-border-opacity))}.\\[\\&_\\.lukso-wizard-circle-inner\\]\\:bg-gradient-to-t .lukso-wizard-circle-inner{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.\\[\\&_\\.lukso-wizard-circle-inner\\]\\:from-gradient-3-start .lukso-wizard-circle-inner{--tw-gradient-from: #393e56;--tw-gradient-to: rgb(57 62 86 / 0);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.\\[\\&_\\.lukso-wizard-circle-inner\\]\\:to-gradient-3-end .lukso-wizard-circle-inner{--tw-gradient-to: #646ea0}
1601
- `, ka = jr(Sa);
1602
- class Kr extends yt {
1442
+
1443
+ return dirty;
1444
+ }
1445
+ /* Assign config vars */
1446
+
1447
+
1448
+ if (!SET_CONFIG) {
1449
+ _parseConfig(cfg);
1450
+ }
1451
+ /* Clean up removed elements */
1452
+
1453
+
1454
+ DOMPurify.removed = [];
1455
+ /* Check if dirty is correctly typed for IN_PLACE */
1456
+
1457
+ if (typeof dirty === 'string') {
1458
+ IN_PLACE = false;
1459
+ }
1460
+
1461
+ if (IN_PLACE) {
1462
+ /* Do some early pre-sanitization to avoid unsafe root nodes */
1463
+ if (dirty.nodeName) {
1464
+ var tagName = transformCaseFunc(dirty.nodeName);
1465
+
1466
+ if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
1467
+ throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');
1468
+ }
1469
+ }
1470
+ } else if (dirty instanceof Node) {
1471
+ /* If dirty is a DOM element, append to an empty document to avoid
1472
+ elements being stripped by the parser */
1473
+ body = _initDocument('<!---->');
1474
+ importedNode = body.ownerDocument.importNode(dirty, true);
1475
+
1476
+ if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {
1477
+ /* Node is already a body, use as is */
1478
+ body = importedNode;
1479
+ } else if (importedNode.nodeName === 'HTML') {
1480
+ body = importedNode;
1481
+ } else {
1482
+ // eslint-disable-next-line unicorn/prefer-dom-node-append
1483
+ body.appendChild(importedNode);
1484
+ }
1485
+ } else {
1486
+ /* Exit directly if we have nothing to do */
1487
+ if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && // eslint-disable-next-line unicorn/prefer-includes
1488
+ dirty.indexOf('<') === -1) {
1489
+ return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;
1490
+ }
1491
+ /* Initialize the document to work on */
1492
+
1493
+
1494
+ body = _initDocument(dirty);
1495
+ /* Check we have a DOM node from the data */
1496
+
1497
+ if (!body) {
1498
+ return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';
1499
+ }
1500
+ }
1501
+ /* Remove first element node (ours) if FORCE_BODY is set */
1502
+
1503
+
1504
+ if (body && FORCE_BODY) {
1505
+ _forceRemove(body.firstChild);
1506
+ }
1507
+ /* Get node iterator */
1508
+
1509
+
1510
+ var nodeIterator = _createIterator(IN_PLACE ? dirty : body);
1511
+ /* Now start iterating over the created document */
1512
+
1513
+
1514
+ while (currentNode = nodeIterator.nextNode()) {
1515
+ /* Fix IE's strange behavior with manipulated textNodes #89 */
1516
+ if (currentNode.nodeType === 3 && currentNode === oldNode) {
1517
+ continue;
1518
+ }
1519
+ /* Sanitize tags and elements */
1520
+
1521
+
1522
+ if (_sanitizeElements(currentNode)) {
1523
+ continue;
1524
+ }
1525
+ /* Shadow DOM detected, sanitize it */
1526
+
1527
+
1528
+ if (currentNode.content instanceof DocumentFragment) {
1529
+ _sanitizeShadowDOM(currentNode.content);
1530
+ }
1531
+ /* Check attributes, sanitize if necessary */
1532
+
1533
+
1534
+ _sanitizeAttributes(currentNode);
1535
+
1536
+ oldNode = currentNode;
1537
+ }
1538
+
1539
+ oldNode = null;
1540
+ /* If we sanitized `dirty` in-place, return it. */
1541
+
1542
+ if (IN_PLACE) {
1543
+ return dirty;
1544
+ }
1545
+ /* Return sanitized string or DOM */
1546
+
1547
+
1548
+ if (RETURN_DOM) {
1549
+ if (RETURN_DOM_FRAGMENT) {
1550
+ returnNode = createDocumentFragment.call(body.ownerDocument);
1551
+
1552
+ while (body.firstChild) {
1553
+ // eslint-disable-next-line unicorn/prefer-dom-node-append
1554
+ returnNode.appendChild(body.firstChild);
1555
+ }
1556
+ } else {
1557
+ returnNode = body;
1558
+ }
1559
+
1560
+ if (ALLOWED_ATTR.shadowroot) {
1561
+ /*
1562
+ AdoptNode() is not used because internal state is not reset
1563
+ (e.g. the past names map of a HTMLFormElement), this is safe
1564
+ in theory but we would rather not risk another attack vector.
1565
+ The state that is cloned by importNode() is explicitly defined
1566
+ by the specs.
1567
+ */
1568
+ returnNode = importNode.call(originalDocument, returnNode, true);
1569
+ }
1570
+
1571
+ return returnNode;
1572
+ }
1573
+
1574
+ var serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;
1575
+ /* Serialize doctype if allowed */
1576
+
1577
+ if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {
1578
+ serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\n' + serializedHTML;
1579
+ }
1580
+ /* Sanitize final string template-safe */
1581
+
1582
+
1583
+ if (SAFE_FOR_TEMPLATES) {
1584
+ serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR$1, ' ');
1585
+ serializedHTML = stringReplace(serializedHTML, ERB_EXPR$1, ' ');
1586
+ serializedHTML = stringReplace(serializedHTML, TMPLIT_EXPR$1, ' ');
1587
+ }
1588
+
1589
+ return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;
1590
+ };
1591
+ /**
1592
+ * Public method to set the configuration once
1593
+ * setConfig
1594
+ *
1595
+ * @param {Object} cfg configuration object
1596
+ */
1597
+
1598
+
1599
+ DOMPurify.setConfig = function (cfg) {
1600
+ _parseConfig(cfg);
1601
+
1602
+ SET_CONFIG = true;
1603
+ };
1604
+ /**
1605
+ * Public method to remove the configuration
1606
+ * clearConfig
1607
+ *
1608
+ */
1609
+
1610
+
1611
+ DOMPurify.clearConfig = function () {
1612
+ CONFIG = null;
1613
+ SET_CONFIG = false;
1614
+ };
1615
+ /**
1616
+ * Public method to check if an attribute value is valid.
1617
+ * Uses last set config, if any. Otherwise, uses config defaults.
1618
+ * isValidAttribute
1619
+ *
1620
+ * @param {string} tag Tag name of containing element.
1621
+ * @param {string} attr Attribute name.
1622
+ * @param {string} value Attribute value.
1623
+ * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.
1624
+ */
1625
+
1626
+
1627
+ DOMPurify.isValidAttribute = function (tag, attr, value) {
1628
+ /* Initialize shared config vars if necessary. */
1629
+ if (!CONFIG) {
1630
+ _parseConfig({});
1631
+ }
1632
+
1633
+ var lcTag = transformCaseFunc(tag);
1634
+ var lcName = transformCaseFunc(attr);
1635
+ return _isValidAttribute(lcTag, lcName, value);
1636
+ };
1637
+ /**
1638
+ * AddHook
1639
+ * Public method to add DOMPurify hooks
1640
+ *
1641
+ * @param {String} entryPoint entry point for the hook to add
1642
+ * @param {Function} hookFunction function to execute
1643
+ */
1644
+
1645
+
1646
+ DOMPurify.addHook = function (entryPoint, hookFunction) {
1647
+ if (typeof hookFunction !== 'function') {
1648
+ return;
1649
+ }
1650
+
1651
+ hooks[entryPoint] = hooks[entryPoint] || [];
1652
+ arrayPush(hooks[entryPoint], hookFunction);
1653
+ };
1654
+ /**
1655
+ * RemoveHook
1656
+ * Public method to remove a DOMPurify hook at a given entryPoint
1657
+ * (pops it from the stack of hooks if more are present)
1658
+ *
1659
+ * @param {String} entryPoint entry point for the hook to remove
1660
+ * @return {Function} removed(popped) hook
1661
+ */
1662
+
1663
+
1664
+ DOMPurify.removeHook = function (entryPoint) {
1665
+ if (hooks[entryPoint]) {
1666
+ return arrayPop(hooks[entryPoint]);
1667
+ }
1668
+ };
1669
+ /**
1670
+ * RemoveHooks
1671
+ * Public method to remove all DOMPurify hooks at a given entryPoint
1672
+ *
1673
+ * @param {String} entryPoint entry point for the hooks to remove
1674
+ */
1675
+
1676
+
1677
+ DOMPurify.removeHooks = function (entryPoint) {
1678
+ if (hooks[entryPoint]) {
1679
+ hooks[entryPoint] = [];
1680
+ }
1681
+ };
1682
+ /**
1683
+ * RemoveAllHooks
1684
+ * Public method to remove all DOMPurify hooks
1685
+ *
1686
+ */
1687
+
1688
+
1689
+ DOMPurify.removeAllHooks = function () {
1690
+ hooks = {};
1691
+ };
1692
+
1693
+ return DOMPurify;
1603
1694
  }
1604
- Kr.styles = [ka];
1605
- var Ca = Object.defineProperty, Oa = Object.getOwnPropertyDescriptor, Zr = (a, t, e, r) => {
1606
- for (var o = r > 1 ? void 0 : r ? Oa(t, e) : t, n = a.length - 1, s; n >= 0; n--)
1607
- (s = a[n]) && (o = (r ? s(t, e, o) : s(o)) || o);
1608
- return r && o && Ca(t, e, o), o;
1695
+
1696
+ var purify = createDOMPurify();
1697
+
1698
+ var __defProp = Object.defineProperty;
1699
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
1700
+ var __decorateClass = (decorators, target, key, kind) => {
1701
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
1702
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
1703
+ if (decorator = decorators[i])
1704
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
1705
+ if (kind && result)
1706
+ __defProp(target, key, result);
1707
+ return result;
1609
1708
  };
1610
- let Le = class extends Kr {
1709
+ let LuksoSanitize = class extends TailwindElement {
1611
1710
  constructor() {
1612
- super(...arguments), this.htmlContent = "";
1711
+ super(...arguments);
1712
+ this.htmlContent = "";
1613
1713
  }
1614
1714
  sanitize() {
1615
- return Ta.sanitize(this.htmlContent);
1715
+ return purify.sanitize(this.htmlContent);
1616
1716
  }
1617
1717
  render() {
1618
- return Lo`${Zo(this.sanitize())}`;
1718
+ return y`${o(this.sanitize())}`;
1619
1719
  }
1620
1720
  };
1621
- Zr([
1622
- Yo({ type: String, attribute: "html-content" })
1623
- ], Le.prototype, "htmlContent", 2);
1624
- Le = Zr([
1625
- Go("lukso-sanitize")
1626
- ], Le);
1627
- export {
1628
- Le as LuksoSanitize
1629
- };
1721
+ __decorateClass([
1722
+ e$2({ type: String, attribute: "html-content" })
1723
+ ], LuksoSanitize.prototype, "htmlContent", 2);
1724
+ LuksoSanitize = __decorateClass([
1725
+ e$3("lukso-sanitize")
1726
+ ], LuksoSanitize);
1727
+
1728
+ export { LuksoSanitize };