@sbb-esta/lyne-elements-dev 5.0.0-next-dev.1776866482 → 5.0.0-next-dev.1776872994

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 (315) hide show
  1. package/autocomplete/autocomplete-base-element.js +1 -1
  2. package/autocomplete/autocomplete.component.js +1 -1
  3. package/{autocomplete-base-element-gPLexIVc.js → autocomplete-base-element-BmiLbRHZ.js} +1 -1
  4. package/autocomplete.js +1 -1
  5. package/autocomplete.pure.js +1 -1
  6. package/{block-link-common-CiqQc2Rs.js → block-link-common-BiM6tnUZ.js} +1 -1
  7. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  8. package/{breadcrumb-group.component-Bfm4RZu7.js → breadcrumb-group.component-De3Lu3lx.js} +1 -1
  9. package/breadcrumb.js +1 -1
  10. package/breadcrumb.pure.js +1 -1
  11. package/button/common/button-common.js +1 -1
  12. package/button-common-Cu47yCSS.js +85 -0
  13. package/button.js +1 -1
  14. package/button.pure.js +1 -1
  15. package/calendar/calendar/calendar.component.js +1 -1
  16. package/{calendar.component-ZyfTrKs_.js → calendar.component-nWdtZYqg.js} +1 -1
  17. package/calendar.js +1 -1
  18. package/calendar.pure.js +1 -1
  19. package/card/card-badge/card-badge.component.js +1 -1
  20. package/{card-badge.component-CsEpGTHm.js → card-badge.component-CEqox6TU.js} +1 -1
  21. package/card.js +1 -1
  22. package/card.pure.js +1 -1
  23. package/checkbox/checkbox.component.js +1 -1
  24. package/checkbox/common/checkbox-common.js +1 -1
  25. package/{checkbox-common-Bo4u1RXX.js → checkbox-common-DSmxKbmR.js} +1 -1
  26. package/{checkbox.component-vjqZh2aC.js → checkbox.component-CR2aIgjA.js} +1 -1
  27. package/checkbox.js +2 -2
  28. package/checkbox.pure.js +2 -2
  29. package/chip/chip-group/chip-group.component.js +1 -1
  30. package/{chip-group.component-DPzfaV_H.js → chip-group.component-DbNctvjy.js} +1 -1
  31. package/chip.js +1 -1
  32. package/chip.pure.js +1 -1
  33. package/{compact-paginator.component-DEEhXiMm.js → compact-paginator.component-Dyu9bezr.js} +1 -1
  34. package/core/styles/core.scss +17 -73
  35. package/core/styles/mixins/typo.scss +2 -2
  36. package/core.css +67 -65
  37. package/custom-elements.json +3179 -3179
  38. package/development/autocomplete/autocomplete-base-element.js +1 -1
  39. package/development/autocomplete/autocomplete.component.js +1 -1
  40. package/development/autocomplete-base-element-BC3IUhrb.js +686 -0
  41. package/development/autocomplete.js +1 -1
  42. package/development/autocomplete.pure.js +1 -1
  43. package/development/{block-link-common-B9Vx8CTp.js → block-link-common-qMULXu4g.js} +2 -2
  44. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  45. package/development/breadcrumb-group.component-BC1mWiQE.js +193 -0
  46. package/development/breadcrumb.js +1 -1
  47. package/development/breadcrumb.pure.js +1 -1
  48. package/development/button/common/button-common.js +1 -1
  49. package/development/{button-common-jaQVRdwS.js → button-common-ChY47M8t.js} +3 -3
  50. package/development/button.js +1 -1
  51. package/development/button.pure.js +1 -1
  52. package/development/calendar/calendar/calendar.component.js +1 -1
  53. package/development/calendar.component-B5dz7mau.js +1451 -0
  54. package/development/calendar.js +1 -1
  55. package/development/calendar.pure.js +1 -1
  56. package/development/card/card-badge/card-badge.component.js +1 -1
  57. package/development/card-badge.component-CQBLpmpo.js +83 -0
  58. package/development/card.js +1 -1
  59. package/development/card.pure.js +1 -1
  60. package/development/checkbox/checkbox.component.js +1 -1
  61. package/development/checkbox/common/checkbox-common.js +1 -1
  62. package/development/checkbox-common-DOoEKgML.js +84 -0
  63. package/development/{checkbox.component-DgrfkdyZ.js → checkbox.component-DZjhQhbB.js} +2 -2
  64. package/development/checkbox.js +2 -2
  65. package/development/checkbox.pure.js +2 -2
  66. package/development/chip/chip-group/chip-group.component.js +1 -1
  67. package/development/chip-group.component-B4Mjcep2.js +402 -0
  68. package/development/chip.js +1 -1
  69. package/development/chip.pure.js +1 -1
  70. package/development/compact-paginator.component-CRojCci5.js +51 -0
  71. package/development/error.component-TvgLhaZh.js +53 -0
  72. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  73. package/development/expansion-panel-header.component-Ok8Qmq5K.js +82 -0
  74. package/development/expansion-panel.js +1 -1
  75. package/development/expansion-panel.pure.js +1 -1
  76. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  77. package/development/{file-selector-dropzone.component-dyv_u-Ga.js → file-selector-dropzone.component-B1Y5qOjb.js} +2 -2
  78. package/development/file-selector.js +1 -1
  79. package/development/file-selector.pure.js +1 -1
  80. package/development/footer/footer.component.js +1 -1
  81. package/development/footer.component-kFeZqO-Q.js +169 -0
  82. package/development/footer.js +1 -1
  83. package/development/footer.pure.js +1 -1
  84. package/development/form-field/error/error.component.js +1 -1
  85. package/development/form-field/form-field/form-field.component.js +1 -1
  86. package/development/form-field/hint/hint.component.js +1 -1
  87. package/development/form-field.component-CdTnOAi2.js +703 -0
  88. package/development/form-field.js +3 -3
  89. package/development/form-field.pure.js +3 -3
  90. package/development/header/header/header.component.js +1 -1
  91. package/development/header.component-BmZkCs9m.js +335 -0
  92. package/development/header.js +1 -1
  93. package/development/header.pure.js +1 -1
  94. package/development/hint.component-D5rTFJ-O.js +36 -0
  95. package/development/link/common/block-link-common.js +1 -1
  96. package/development/link.js +1 -1
  97. package/development/link.pure.js +1 -1
  98. package/development/message/message.component.js +1 -1
  99. package/development/message.component-Dzah9lXK.js +43 -0
  100. package/development/message.js +1 -1
  101. package/development/message.pure.js +1 -1
  102. package/development/navigation/common/navigation-action-common.js +1 -1
  103. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  104. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  105. package/development/{navigation-action-common-ZBiv0Xiw.js → navigation-action-common-B2soWZWW.js} +2 -2
  106. package/development/{navigation-marker.component-BsfPR_uk.js → navigation-marker.component-BRdbbjF5.js} +2 -2
  107. package/development/{navigation-section.component-BSvxMUxM.js → navigation-section.component-VwCJlOfE.js} +2 -2
  108. package/development/navigation.js +3 -3
  109. package/development/navigation.pure.js +3 -3
  110. package/development/notification/notification.component.js +1 -1
  111. package/development/notification.component-BgF5aGrn.js +271 -0
  112. package/development/notification.js +1 -1
  113. package/development/notification.pure.js +1 -1
  114. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  115. package/development/paginator/paginator/paginator.component.js +1 -1
  116. package/development/paginator.component-BlyTYIs0.js +261 -0
  117. package/development/paginator.js +2 -2
  118. package/development/paginator.pure.js +2 -2
  119. package/development/radio-button/common/radio-button-common.js +1 -1
  120. package/development/radio-button/radio-button.component.js +1 -1
  121. package/development/radio-button-common-ZMs5IFm2.js +125 -0
  122. package/development/{radio-button.component-DAgH41z0.js → radio-button.component-DggZ7RZD.js} +2 -2
  123. package/development/radio-button.js +2 -2
  124. package/development/radio-button.pure.js +2 -2
  125. package/development/select/select.component.js +1 -1
  126. package/development/select.component-CZI19HAK.js +804 -0
  127. package/development/select.js +1 -1
  128. package/development/select.pure.js +1 -1
  129. package/development/status/status.component.js +1 -1
  130. package/development/status.component-BtJ8ri61.js +110 -0
  131. package/development/status.js +1 -1
  132. package/development/status.pure.js +1 -1
  133. package/development/step-label.component-Dfx9rLcN.js +126 -0
  134. package/development/stepper/step-label/step-label.component.js +1 -1
  135. package/development/stepper.js +1 -1
  136. package/development/stepper.pure.js +1 -1
  137. package/development/styles-WppEBrlW.js +14 -0
  138. package/development/{tab-label.component-Du1W0dxN.js → tab-label.component-Ggx6qaIk.js} +2 -2
  139. package/development/tabs/common/styles.js +1 -1
  140. package/development/tabs/tab-label/tab-label.component.js +1 -1
  141. package/development/tabs.js +2 -2
  142. package/development/tabs.pure.js +2 -2
  143. package/development/tag/tag/tag.component.js +1 -1
  144. package/development/tag.component-Davxisfj.js +241 -0
  145. package/development/tag.js +1 -1
  146. package/development/tag.pure.js +1 -1
  147. package/development/teaser-hero/teaser-hero.component.js +1 -1
  148. package/development/teaser-hero.component-bp9IsVmY.js +100 -0
  149. package/development/teaser-hero.js +1 -1
  150. package/development/teaser-hero.pure.js +1 -1
  151. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  152. package/development/{timetable-occupancy.component-D6BIvkpY.js → timetable-occupancy.component-B-uVA9KC.js} +2 -2
  153. package/development/timetable-occupancy.js +1 -1
  154. package/development/timetable-occupancy.pure.js +1 -1
  155. package/development/title/title-base.js +1 -1
  156. package/development/title/title.component.js +1 -1
  157. package/development/{title-base-CWLTIRh_.js → title-base-DKVyL7TQ.js} +2 -2
  158. package/development/{title.component-TCKohHBO.js → title.component-BEEzA9cF.js} +2 -2
  159. package/development/title.js +2 -2
  160. package/development/title.pure.js +2 -2
  161. package/development/toast/toast.component.js +1 -1
  162. package/development/{toast.component-CZL72aVO.js → toast.component-1YR4wmm9.js} +2 -2
  163. package/development/toast.js +1 -1
  164. package/development/toast.pure.js +1 -1
  165. package/development/toggle/toggle/toggle.component.js +1 -1
  166. package/development/toggle.component-CQYpVyvs.js +244 -0
  167. package/development/toggle.js +1 -1
  168. package/development/toggle.pure.js +1 -1
  169. package/development/tooltip/tooltip.component.js +1 -1
  170. package/development/tooltip.component-Br7aDPFn.js +369 -0
  171. package/development/tooltip.js +1 -1
  172. package/development/tooltip.pure.js +1 -1
  173. package/development/train/train-wagon/train-wagon.component.js +1 -1
  174. package/development/{train-wagon.component-X0XSMLK_.js → train-wagon.component-B6V4dPKn.js} +2 -2
  175. package/development/train.js +1 -1
  176. package/development/train.pure.js +1 -1
  177. package/{error.component-BLChP2fE.js → error.component-D3JgDJfN.js} +1 -1
  178. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  179. package/{expansion-panel-header.component-DdRIlyms.js → expansion-panel-header.component-DYvq-uUi.js} +1 -1
  180. package/expansion-panel.js +1 -1
  181. package/expansion-panel.pure.js +1 -1
  182. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  183. package/{file-selector-dropzone.component-Bz3Wpl0X.js → file-selector-dropzone.component-BSF-kegh.js} +1 -1
  184. package/file-selector.js +1 -1
  185. package/file-selector.pure.js +1 -1
  186. package/footer/footer.component.js +1 -1
  187. package/{footer.component-Don15vOd.js → footer.component-CdTEaV6u.js} +1 -1
  188. package/footer.js +1 -1
  189. package/footer.pure.js +1 -1
  190. package/form-field/error/error.component.js +1 -1
  191. package/form-field/form-field/form-field.component.js +1 -1
  192. package/form-field/hint/hint.component.js +1 -1
  193. package/{form-field.component-DbV7fMoe.js → form-field.component-Dtzbp6-e.js} +1 -1
  194. package/form-field.js +3 -3
  195. package/form-field.pure.js +3 -3
  196. package/header/header/header.component.js +1 -1
  197. package/{header.component-D-WVEMFn.js → header.component-DoAFSXgO.js} +1 -1
  198. package/header.js +1 -1
  199. package/header.pure.js +1 -1
  200. package/{hint.component-CaF6CBCN.js → hint.component-BB_h0G6v.js} +1 -1
  201. package/link/common/block-link-common.js +1 -1
  202. package/link.js +1 -1
  203. package/link.pure.js +1 -1
  204. package/message/message.component.js +1 -1
  205. package/message.component-CF-_MD7m.js +26 -0
  206. package/message.js +1 -1
  207. package/message.pure.js +1 -1
  208. package/navigation/common/navigation-action-common.js +1 -1
  209. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  210. package/navigation/navigation-section/navigation-section.component.js +1 -1
  211. package/{navigation-action-common-Dm47M2BG.js → navigation-action-common-D2vwX-oy.js} +1 -1
  212. package/{navigation-marker.component-1VHe19c9.js → navigation-marker.component-BQzC4gn_.js} +1 -1
  213. package/{navigation-section.component-DrnbQAZX.js → navigation-section.component-CR-FanCa.js} +1 -1
  214. package/navigation.js +3 -3
  215. package/navigation.pure.js +3 -3
  216. package/notification/notification.component.js +1 -1
  217. package/{notification.component-IsSZe3Ul.js → notification.component-D9oxjMJs.js} +1 -1
  218. package/notification.js +1 -1
  219. package/notification.pure.js +1 -1
  220. package/off-brand-theme.css +67 -65
  221. package/package.json +2 -2
  222. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  223. package/paginator/paginator/paginator.component.js +1 -1
  224. package/{paginator.component-BkECB-iV.js → paginator.component-DA_wUypF.js} +1 -1
  225. package/paginator.js +2 -2
  226. package/paginator.pure.js +2 -2
  227. package/radio-button/common/radio-button-common.js +1 -1
  228. package/radio-button/radio-button.component.js +1 -1
  229. package/{radio-button-common-CQyKqDLJ.js → radio-button-common-iNYco_B8.js} +1 -1
  230. package/{radio-button.component-Cenb6FL5.js → radio-button.component-v5czJYC3.js} +1 -1
  231. package/radio-button.js +2 -2
  232. package/radio-button.pure.js +2 -2
  233. package/safety-theme.css +67 -65
  234. package/select/select.component.js +1 -1
  235. package/{select.component-BcDZm7EM.js → select.component-CCFfP21g.js} +1 -1
  236. package/select.js +1 -1
  237. package/select.pure.js +1 -1
  238. package/standard-theme.css +67 -65
  239. package/status/status.component.js +1 -1
  240. package/{status.component-CgMvY4Pe.js → status.component-5SKEusnj.js} +1 -1
  241. package/status.js +1 -1
  242. package/status.pure.js +1 -1
  243. package/step-label.component-DM7lQw8b.js +77 -0
  244. package/stepper/step-label/step-label.component.js +1 -1
  245. package/stepper.js +1 -1
  246. package/stepper.pure.js +1 -1
  247. package/styles-DisU4TWi.js +5 -0
  248. package/{tab-label.component-CH24fqmB.js → tab-label.component-JjktN30A.js} +1 -1
  249. package/tabs/common/styles.js +1 -1
  250. package/tabs/tab-label/tab-label.component.js +1 -1
  251. package/tabs.js +2 -2
  252. package/tabs.pure.js +2 -2
  253. package/tag/tag/tag.component.js +1 -1
  254. package/{tag.component-B7YExnbA.js → tag.component-BGYVbfUx.js} +1 -1
  255. package/tag.js +1 -1
  256. package/tag.pure.js +1 -1
  257. package/teaser-hero/teaser-hero.component.js +1 -1
  258. package/{teaser-hero.component-BUhWjc2i.js → teaser-hero.component-By1HInfz.js} +1 -1
  259. package/teaser-hero.js +1 -1
  260. package/teaser-hero.pure.js +1 -1
  261. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  262. package/{timetable-occupancy.component-CLpJ-rjI.js → timetable-occupancy.component-Dq9RM6qS.js} +1 -1
  263. package/timetable-occupancy.js +1 -1
  264. package/timetable-occupancy.pure.js +1 -1
  265. package/title/title-base.js +1 -1
  266. package/title/title.component.js +1 -1
  267. package/{title-base-HD0z6npS.js → title-base-B43-Q_7r.js} +1 -1
  268. package/{title.component-CjDkG7gT.js → title.component-DXJHJ6p6.js} +1 -1
  269. package/title.js +2 -2
  270. package/title.pure.js +2 -2
  271. package/toast/toast.component.js +1 -1
  272. package/{toast.component-DzsaWxPV.js → toast.component-D53COYeM.js} +1 -1
  273. package/toast.js +1 -1
  274. package/toast.pure.js +1 -1
  275. package/toggle/toggle/toggle.component.js +1 -1
  276. package/{toggle.component-D7X0E_hM.js → toggle.component-BGgAnHau.js} +1 -1
  277. package/toggle.js +1 -1
  278. package/toggle.pure.js +1 -1
  279. package/tooltip/tooltip.component.js +1 -1
  280. package/{tooltip.component-BCRFxBuV.js → tooltip.component-Bp-8vRoA.js} +1 -1
  281. package/tooltip.js +1 -1
  282. package/tooltip.pure.js +1 -1
  283. package/train/train-wagon/train-wagon.component.js +1 -1
  284. package/{train-wagon.component-CZiVPOaZ.js → train-wagon.component-LwKwwuta.js} +1 -1
  285. package/train.js +1 -1
  286. package/train.pure.js +1 -1
  287. package/button-common-C3wYY-UK.js +0 -85
  288. package/development/autocomplete-base-element-8hV4-ys6.js +0 -686
  289. package/development/breadcrumb-group.component-DP9X9qV1.js +0 -193
  290. package/development/calendar.component-C2WJuFrr.js +0 -1451
  291. package/development/card-badge.component-Be4gXazr.js +0 -83
  292. package/development/checkbox-common-DpE48IrV.js +0 -84
  293. package/development/chip-group.component-CxM8l839.js +0 -402
  294. package/development/compact-paginator.component-DiMeNNTc.js +0 -51
  295. package/development/error.component-C8JQQqSB.js +0 -53
  296. package/development/expansion-panel-header.component-CWojFAB-.js +0 -82
  297. package/development/footer.component-Dbc5xFqr.js +0 -169
  298. package/development/form-field.component-M0wf8ZR8.js +0 -703
  299. package/development/header.component-B2T2pmHs.js +0 -335
  300. package/development/hint.component-hKw1TLvO.js +0 -36
  301. package/development/message.component-CrXtMprr.js +0 -43
  302. package/development/notification.component-CKyNdgbx.js +0 -271
  303. package/development/paginator.component-Cqm7MuRD.js +0 -261
  304. package/development/radio-button-common-u7NYOI2p.js +0 -125
  305. package/development/select.component-Ibby7Q-L.js +0 -804
  306. package/development/status.component-p-egQ_U4.js +0 -110
  307. package/development/step-label.component-BTXuaONx.js +0 -126
  308. package/development/styles-D_8dMc_0.js +0 -14
  309. package/development/tag.component-CWL9jJTW.js +0 -241
  310. package/development/teaser-hero.component-De621iKn.js +0 -100
  311. package/development/toggle.component-BeHHTgRh.js +0 -244
  312. package/development/tooltip.component-BV0yBh9f.js +0 -369
  313. package/message.component-DgTPvDym.js +0 -26
  314. package/step-label.component-CbtQ7MvH.js +0 -77
  315. package/styles-DMLyYaea.js +0 -5
@@ -0,0 +1,271 @@
1
+ import { __esDecorate, __runInitializers } from "tslib";
2
+ import { html, nothing, unsafeCSS } from "lit";
3
+ import { property } from "lit/decorators.js";
4
+ import { SbbElement, SbbLanguageController, SbbReadonlyMixin, boxSizingStyles, i18nCloseNotification, isLean, isZeroAnimationDuration } from "./core.js";
5
+ import { SbbSecondaryButtonElement } from "./button.pure.js";
6
+ import { SbbDividerElement } from "./divider.pure.js";
7
+ import { SbbIconNameMixin } from "./icon.pure.js";
8
+ import { ResizeController } from "@lit-labs/observers/resize-controller.js";
9
+ //#region src/elements/notification/notification.scss?inline
10
+ var notification_default = ":host {\n --sbb-notification-border: var(--sbb-notification-border-width) solid\n var(--sbb-notification-type-color);\n --sbb-notification-background-color: color-mix(in srgb, var(--sbb-notification-type-color) 5%, white);\n --sbb-notification-background-color: light-dark(\n color-mix(in srgb, var(--sbb-notification-type-color) 5%, white),\n color-mix(in srgb, var(--sbb-notification-type-color) 35%, white)\n );\n --sbb-notification-icon-color: var(--sbb-notification-type-color);\n --sbb-notification-border-radius-start: calc(var(--sbb-notification-base-border-radius) / 2);\n --sbb-notification-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-4x)\n );\n --_sbb-notification-icon-authoritative-font-size: 1em;\n --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-text);\n --_sbb-notification-inset-inline-start: calc(\n var(--sbb-notification-base-border-radius) - var(--sbb-notification-border-width)\n );\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-default);\n display: block;\n font-size: var(--sbb-notification-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n line-height: var(--sbb-typo-line-height-text);\n}\n\n:host(:is(:state(state-opening),[state--state-opening]):not([animation=open], [animation=all])) {\n --sbb-disable-animation-duration: 0s;\n}\n\n:host(:is(:state(state-closing),[state--state-closing]):not([animation=close], [animation=all])) {\n --sbb-disable-animation-duration: 0s;\n}\n\n:host(:is(:state(resize-disable-animation),[state--resize-disable-animation])) {\n --sbb-disable-animation-duration: 0s;\n}\n\n:host(:is(:state(slotted-title),[state--slotted-title])) {\n --_sbb-notification-icon-authoritative-font-size: var(--sbb-heading-font-size-5);\n --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-heading);\n}\n\n:host(:is(:state(slotted-title),[state--slotted-title])[size=s]) {\n --_sbb-notification-icon-authoritative-font-size: var(--sbb-heading-font-size-6);\n --_sbb-notification-icon-authoritative-line-height: var(--sbb-typo-line-height-text);\n}\n\n:host([size=m]) {\n --sbb-notification-font-size: var(--sbb-text-font-size-s);\n --sbb-notification-padding-block: var(--sbb-spacing-responsive-xxs);\n --sbb-notification-padding-inline: var(--sbb-spacing-responsive-xs);\n --sbb-notification-content-padding-inline: var(--sbb-spacing-responsive-xxxs)\n var(--sbb-spacing-responsive-xs);\n}\n\n:host([size=s]) {\n --sbb-notification-font-size: var(--sbb-text-font-size-xs);\n --sbb-notification-padding-block: var(--sbb-spacing-responsive-xxxs);\n --sbb-notification-padding-inline: var(--sbb-spacing-responsive-xxs)\n var(--sbb-spacing-responsive-xxxs);\n --sbb-notification-content-padding-inline: var(--sbb-spacing-responsive-xxxs)\n var(--sbb-spacing-responsive-xxs);\n}\n@media (min-width: calc(37.5rem)) {\n :host([size=s]) {\n --sbb-notification-padding-inline: var(--sbb-spacing-responsive-xxs);\n }\n}\n\n:host(:is(:not([type]), [type=info])) {\n --sbb-notification-type-color: var(--sbb-color-smoke);\n --sbb-notification-icon-color: var(--sbb-notification-color);\n --sbb-notification-divider-opacity-light: 20%;\n --sbb-notification-divider-opacity-dark: 20%;\n}\n\n:host([type=note]) {\n --sbb-notification-type-color: var(--sbb-color-sky);\n --sbb-notification-divider-opacity-light: 20%;\n --sbb-notification-divider-opacity-dark: 20%;\n}\n\n:host([type=success]) {\n --sbb-notification-type-color: var(--sbb-color-success);\n --sbb-notification-divider-opacity-light: 15%;\n --sbb-notification-divider-opacity-dark: 30%;\n}\n\n:host([type=warn]) {\n --sbb-notification-type-color: var(--sbb-color-warning);\n --sbb-notification-icon-color: var(--sbb-notification-color);\n --sbb-notification-divider-opacity-light: 25%;\n --sbb-notification-divider-opacity-dark: 40%;\n}\n\n:host([type=error]) {\n --sbb-notification-type-color: var(--sbb-color-error);\n --sbb-notification-divider-opacity-light: 10%;\n --sbb-notification-divider-opacity-dark: 25%;\n}\n\n.sbb-notification__wrapper {\n position: relative;\n inset-inline-start: var(--_sbb-notification-inset-inline-start);\n width: calc(100% - var(--_sbb-notification-inset-inline-start));\n border: var(--sbb-notification-border);\n border-radius: var(--sbb-notification-border-radius-start) var(--sbb-notification-base-border-radius) var(--sbb-notification-base-border-radius) var(--sbb-notification-border-radius-start);\n opacity: 0;\n max-height: 0;\n margin: 0;\n}\n.sbb-notification__wrapper::before {\n content: \"\";\n position: absolute;\n inset: calc(var(--sbb-notification-border-width) * -1) var(--sbb-notification-base-border-radius) calc(var(--sbb-notification-border-width) * -1) calc(var(--sbb-notification-base-border-radius) * -1);\n background-color: var(--sbb-notification-type-color);\n border: var(--sbb-notification-border);\n border-radius: var(--sbb-notification-base-border-radius);\n}\n:host(:is(:is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) .sbb-notification__wrapper {\n opacity: 1;\n max-height: calc(var(--sbb-notification-height) + var(--sbb-notification-border-width) * 2);\n margin: var(--sbb-notification-margin, 0);\n}\n:host(:is(:state(state-opening),[state--state-opening])) .sbb-notification__wrapper {\n animation-name: open;\n animation-fill-mode: forwards;\n animation-duration: var(--sbb-notification-animation-duration);\n animation-timing-function: var(--sbb-notification-timing-function);\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-notification__wrapper {\n animation-name: close, close-height;\n animation-fill-mode: forwards;\n animation-duration: var(--sbb-notification-animation-duration);\n animation-timing-function: var(--sbb-notification-timing-function);\n animation-delay: 0s, var(--sbb-disable-animation-duration, var(--sbb-animation-duration-2x));\n}\n\n.sbb-notification {\n position: relative;\n display: grid;\n grid-template-columns: 1fr auto;\n align-items: center;\n padding-block: var(--sbb-notification-padding-block);\n padding-inline: var(--sbb-notification-padding-inline);\n color: var(--sbb-notification-color);\n border-radius: var(--sbb-notification-border-radius-start) calc(var(--sbb-notification-base-border-radius) - var(--sbb-notification-border-width)) calc(var(--sbb-notification-base-border-radius) - var(--sbb-notification-border-width)) var(--sbb-notification-border-radius-start);\n overflow: hidden;\n background-color: var(--sbb-notification-background-color);\n}\n@media (min-width: calc(37.5rem)) {\n .sbb-notification {\n grid-template-columns: auto 1fr auto auto;\n }\n}\n\n.sbb-notification__icon,\n::slotted(sbb-icon) {\n color: var(--sbb-notification-icon-color);\n align-self: var(--sbb-notification-icon-align-self);\n --sbb-icon-svg-width: var(--sbb-notification-icon-size);\n}\n@media (min-width: calc(37.5rem)) {\n .sbb-notification__icon,\n ::slotted(sbb-icon) {\n margin-block-start: max(0rem, (var(--_sbb-notification-icon-authoritative-font-size) * var(--_sbb-notification-icon-authoritative-line-height) - var(--sbb-size-icon-ui-small)) / 2);\n }\n}\n\n.sbb-notification__content {\n color-scheme: only light;\n order: 3;\n grid-area: 2/1/3/3;\n align-self: flex-start;\n margin-block-start: var(--sbb-notification-content-margin-block-start);\n}\n@media (min-width: calc(37.5rem)) {\n .sbb-notification__content {\n order: initial;\n grid-area: initial;\n margin-block-start: 0;\n padding-inline: var(--sbb-notification-content-padding-inline);\n }\n}\n\n.sbb-notification__text {\n display: inline;\n margin: 0;\n padding: 0;\n}\n\n.sbb-notification__divider {\n --sbb-divider-color: color-mix(\n in srgb,\n var(--sbb-notification-type-color) var(--sbb-notification-divider-opacity-light),\n var(--sbb-notification-background-color)\n );\n --sbb-divider-color: light-dark(\n color-mix(\n in srgb,\n var(--sbb-notification-type-color) var(--sbb-notification-divider-opacity-light),\n var(--sbb-notification-background-color)\n ),\n color-mix(\n in srgb,\n var(--sbb-notification-type-color) var(--sbb-notification-divider-opacity-dark),\n var(--sbb-notification-background-color)\n )\n );\n display: none;\n position: relative;\n inset-inline-start: var(--sbb-border-width-1x);\n}\n@media (min-width: calc(37.5rem)) {\n .sbb-notification__divider {\n display: block;\n margin-inline-end: var(--sbb-notification-close-wrapper-gap);\n height: calc(100% - var(--sbb-spacing-fixed-1x) * 2);\n }\n}\n\n@keyframes open {\n from {\n opacity: 0;\n max-height: 0;\n margin: 0;\n }\n to {\n opacity: 1;\n max-height: calc(var(--sbb-notification-height) + var(--sbb-notification-border-width) * 2);\n margin: var(--sbb-notification-margin, 0);\n }\n}\n@keyframes close {\n from {\n opacity: 1;\n margin: var(--sbb-notification-margin, 0);\n }\n to {\n opacity: 0;\n margin: 0;\n }\n}\n@keyframes close-height {\n from {\n max-height: calc(var(--sbb-notification-height) + var(--sbb-notification-border-width) * 2);\n }\n to {\n max-height: 0;\n }\n}\n::slotted(sbb-title) {\n margin: 0;\n}";
11
+ //#endregion
12
+ //#region src/elements/notification/notification.component.ts
13
+ var notificationTypes = new Map([
14
+ ["info", "circle-information-small"],
15
+ ["note", "circle-information-small"],
16
+ ["success", "circle-tick-small"],
17
+ ["warn", "circle-exclamation-point-small"],
18
+ ["error", "circle-cross-small"]
19
+ ]);
20
+ var DEBOUNCE_TIME = 150;
21
+ /**
22
+ * It displays messages which require a user's attention without interrupting its tasks.
23
+ *
24
+ * @slot - Use the unnamed slot to add content to the `sbb-notification`. Content should consist of an optional `sbb-title` element and text content.
25
+ * @slot title - Slot for the title. For the standard `sbb-title` element, the slot is automatically assigned when slotted in the unnamed slot.
26
+ * @slot icon - Use this slot to display a custom icon by providing an `sbb-icon` component.
27
+ * @cssprop [--sbb-notification-margin=0] - Can be used to modify the margin in order to get a smoother animation.
28
+ * See style section for more information.
29
+ */
30
+ var SbbNotificationElement = (() => {
31
+ let _classSuper = SbbIconNameMixin(SbbReadonlyMixin(SbbElement));
32
+ let _type_decorators;
33
+ let _type_initializers = [];
34
+ let _type_extraInitializers = [];
35
+ let _size_decorators;
36
+ let _size_initializers = [];
37
+ let _size_extraInitializers = [];
38
+ let _animation_decorators;
39
+ let _animation_initializers = [];
40
+ let _animation_extraInitializers = [];
41
+ return class SbbNotificationElement extends _classSuper {
42
+ static {
43
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
44
+ _type_decorators = [property({ reflect: true })];
45
+ _size_decorators = [property({ reflect: true })];
46
+ _animation_decorators = [property({ reflect: true })];
47
+ __esDecorate(this, null, _type_decorators, {
48
+ kind: "accessor",
49
+ name: "type",
50
+ static: false,
51
+ private: false,
52
+ access: {
53
+ has: (obj) => "type" in obj,
54
+ get: (obj) => obj.type,
55
+ set: (obj, value) => {
56
+ obj.type = value;
57
+ }
58
+ },
59
+ metadata: _metadata
60
+ }, _type_initializers, _type_extraInitializers);
61
+ __esDecorate(this, null, _size_decorators, {
62
+ kind: "accessor",
63
+ name: "size",
64
+ static: false,
65
+ private: false,
66
+ access: {
67
+ has: (obj) => "size" in obj,
68
+ get: (obj) => obj.size,
69
+ set: (obj, value) => {
70
+ obj.size = value;
71
+ }
72
+ },
73
+ metadata: _metadata
74
+ }, _size_initializers, _size_extraInitializers);
75
+ __esDecorate(this, null, _animation_decorators, {
76
+ kind: "accessor",
77
+ name: "animation",
78
+ static: false,
79
+ private: false,
80
+ access: {
81
+ has: (obj) => "animation" in obj,
82
+ get: (obj) => obj.animation,
83
+ set: (obj, value) => {
84
+ obj.animation = value;
85
+ }
86
+ },
87
+ metadata: _metadata
88
+ }, _animation_initializers, _animation_extraInitializers);
89
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, {
90
+ enumerable: true,
91
+ configurable: true,
92
+ writable: true,
93
+ value: _metadata
94
+ });
95
+ }
96
+ static {
97
+ this.elementName = "sbb-notification";
98
+ }
99
+ static {
100
+ this.elementDependencies = [SbbSecondaryButtonElement, SbbDividerElement];
101
+ }
102
+ static {
103
+ this.styles = [boxSizingStyles, unsafeCSS(notification_default)];
104
+ }
105
+ static {
106
+ this.events = {
107
+ beforeopen: "beforeopen",
108
+ open: "open",
109
+ beforeclose: "beforeclose",
110
+ close: "close"
111
+ };
112
+ }
113
+ #type_accessor_storage;
114
+ /** The type of the notification. */
115
+ get type() {
116
+ return this.#type_accessor_storage;
117
+ }
118
+ set type(value) {
119
+ this.#type_accessor_storage = value;
120
+ }
121
+ #size_accessor_storage;
122
+ /**
123
+ * Size variant, either s or m.
124
+ * @default 'm' / 's' (lean)
125
+ */
126
+ get size() {
127
+ return this.#size_accessor_storage;
128
+ }
129
+ set size(value) {
130
+ this.#size_accessor_storage = value;
131
+ }
132
+ #animation_accessor_storage;
133
+ /** The enabled animations. */
134
+ get animation() {
135
+ return this.#animation_accessor_storage;
136
+ }
137
+ set animation(value) {
138
+ this.#animation_accessor_storage = value;
139
+ }
140
+ /** The state of the component. */
141
+ set _state(state) {
142
+ if (this._stateInternal) this.internals.states.delete(`state-${this._stateInternal}`);
143
+ this._stateInternal = state;
144
+ if (this._stateInternal) this.internals.states.add(`state-${this._stateInternal}`);
145
+ }
146
+ get _state() {
147
+ return this._stateInternal;
148
+ }
149
+ constructor() {
150
+ super();
151
+ this.#type_accessor_storage = __runInitializers(this, _type_initializers, "info");
152
+ this.#size_accessor_storage = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _size_initializers, isLean() ? "s" : "m"));
153
+ this.#animation_accessor_storage = (__runInitializers(this, _size_extraInitializers), __runInitializers(this, _animation_initializers, "all"));
154
+ this._stateInternal = __runInitializers(this, _animation_extraInitializers);
155
+ this._resizeObserverTimeout = null;
156
+ this._language = new SbbLanguageController(this);
157
+ this._notificationResizeObserver = new ResizeController(this, {
158
+ target: null,
159
+ skipInitial: true,
160
+ callback: () => this._onNotificationResize()
161
+ });
162
+ this._state = "closed";
163
+ }
164
+ willUpdate(changedProperties) {
165
+ super.willUpdate(changedProperties);
166
+ if (changedProperties.has("size")) this._configureTitle();
167
+ }
168
+ _open() {
169
+ if (this._state === "closed") {
170
+ this._state = "opening";
171
+ /** Emits when the opening animation starts. */
172
+ this.dispatchEvent(new Event("beforeopen"));
173
+ if (this._isZeroAnimationDuration()) this._handleOpening();
174
+ }
175
+ }
176
+ close() {
177
+ if (this._state === "opened" && this._dispatchBeforeCloseEvent()) {
178
+ this._state = "closing";
179
+ if (this._isZeroAnimationDuration()) this._handleClosing();
180
+ }
181
+ }
182
+ _dispatchBeforeCloseEvent() {
183
+ /** Emits when the closing animation starts. Can be canceled to prevent the component from closing. */
184
+ return this.dispatchEvent(new Event("beforeclose", { cancelable: true }));
185
+ }
186
+ firstUpdated(changedProperties) {
187
+ super.firstUpdated(changedProperties);
188
+ this._notificationElement = this.shadowRoot?.querySelector(".sbb-notification__wrapper");
189
+ this.updateComplete.then(() => {
190
+ this._setNotificationHeight();
191
+ this._open();
192
+ });
193
+ }
194
+ _isZeroAnimationDuration() {
195
+ return isZeroAnimationDuration(this, "--sbb-notification-animation-duration");
196
+ }
197
+ _setNotificationHeight() {
198
+ if (!this._notificationElement?.scrollHeight) return;
199
+ const notificationHeight = `${this._notificationElement.scrollHeight}px`;
200
+ this.style.setProperty("--sbb-notification-height", notificationHeight);
201
+ }
202
+ _onNotificationResize() {
203
+ if (this._state !== "opened") return;
204
+ if (this._resizeObserverTimeout) clearTimeout(this._resizeObserverTimeout);
205
+ this.internals.states.add("resize-disable-animation");
206
+ this._resizeObserverTimeout = setTimeout(() => this.internals.states.delete("resize-disable-animation"), DEBOUNCE_TIME);
207
+ setTimeout(() => this._setNotificationHeight());
208
+ }
209
+ _onNotificationAnimationEnd(event) {
210
+ if (this._state === "opening" && event.animationName === "open") this._handleOpening();
211
+ if (this._state === "closing" && event.animationName === "close-height") this._handleClosing();
212
+ }
213
+ _handleOpening() {
214
+ this._state = "opened";
215
+ this._notificationResizeObserver.observe(this._notificationElement);
216
+ /** Emits when the opening animation ends. */
217
+ this.dispatchEvent(new Event("open"));
218
+ }
219
+ _handleClosing() {
220
+ this._state = "closed";
221
+ /** Emits when the closing animation ends. */
222
+ this.dispatchEvent(new Event("close"));
223
+ this._notificationResizeObserver.unobserve(this._notificationElement);
224
+ setTimeout(() => this.remove());
225
+ }
226
+ _handleSlotchange() {
227
+ const title = Array.from(this.children).find((el) => el.localName === "sbb-title");
228
+ if (title) title.slot = "title";
229
+ }
230
+ _configureTitle() {
231
+ const title = this.querySelector?.("sbb-title");
232
+ if (title) {
233
+ customElements.upgrade(title);
234
+ title.visualLevel = this.size === "m" ? "5" : "6";
235
+ }
236
+ }
237
+ renderIconName() {
238
+ return super.renderIconName() || notificationTypes.get(this.type);
239
+ }
240
+ render() {
241
+ return html`
242
+ <div class="sbb-notification__wrapper" @animationend=${this._onNotificationAnimationEnd}>
243
+ <div class="sbb-notification">
244
+ ${this.renderIconSlot("sbb-notification__icon")}
245
+ <span class="sbb-notification__content">
246
+ <slot name="title" @slotchange=${this._configureTitle}></slot>
247
+ <p class="sbb-notification__text">
248
+ <slot @slotchange=${this._handleSlotchange}></slot>
249
+ </p>
250
+ </span>
251
+
252
+ ${!this.readOnly ? html`
253
+ <sbb-divider class="sbb-notification__divider" orientation="vertical"></sbb-divider>
254
+ <sbb-secondary-button
255
+ size=${this.size}
256
+ icon-name="cross-small"
257
+ @click=${() => this.close()}
258
+ aria-label=${i18nCloseNotification[this._language.current]}
259
+ class="sbb-notification__close"
260
+ ></sbb-secondary-button>
261
+ ` : nothing}
262
+ </div>
263
+ </div>
264
+ `;
265
+ }
266
+ };
267
+ })();
268
+ //#endregion
269
+ export { SbbNotificationElement as t };
270
+
271
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC1CZ0Y1YUdybi5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG4vLyBPcGVuL0Nsb3NlIGFuaW1hdGlvbiB2YXJzXG4kb3Blbi1hbmltLW1hcmdpbi1mcm9tOiAwO1xuJG9wZW4tYW5pbS1tYXJnaW4tdG86IHZhcigtLXNiYi1ub3RpZmljYXRpb24tbWFyZ2luLCAwKTtcbiRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tOiAwO1xuJG9wZW4tYW5pbS1vcGFjaXR5LXRvOiAxO1xuJG9wZW4tYW5pbS1oZWlnaHQtZnJvbTogMDtcbiRvcGVuLWFuaW0taGVpZ2h0LXRvOiBjYWxjKFxuICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWhlaWdodCkgKyAodmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpICogMilcbik7XG5cbjpob3N0IHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpIHNvbGlkXG4gICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3I6IGxpZ2h0LWRhcmsoXG4gICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgNSUsIHdoaXRlKSxcbiAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKSAzNSUsIHdoaXRlKVxuICApO1xuICAtLXNiYi1ub3RpZmljYXRpb24taWNvbi1jb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci1yYWRpdXMtc3RhcnQ6IGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC8gMik7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWljb24tYXV0aG9yaXRhdGl2ZS1mb250LXNpemU6IDFlbTtcbiAgLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWluc2V0LWlubGluZS1zdGFydDogY2FsYyhcbiAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgLSB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci13aWR0aClcbiAgKTtcblxuICAvLyBBcyB0aGUgbm90aWZpY2F0aW9uIGhhcyBhbHdheXMgYSBsaWdodCBiYWNrZ3JvdW5kLCB3ZSBoYXZlIHRvIGZpeCB0aGUgZm9jdXMgb3V0bGluZSBjb2xvclxuICAvLyB0byBkZWZhdWx0IGNvbG9yIGZvciBjYXNlcyB3aGVyZSB0aGUgbm90aWZpY2F0aW9uIGlzIHVzZWQgaW4gYSBuZWdhdGl2ZSBjb250ZXh0LlxuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kZWZhdWx0KTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWZvbnQtc2l6ZSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xufVxuXG4vLyBCeSBkZWZhdWx0LCB0aGUgb3BlbiBhbmltYXRpb24gaXMgZGlzYWJsZWRcbjpob3N0KDpzdGF0ZShzdGF0ZS1vcGVuaW5nKTpub3QoW2FuaW1hdGlvbj0nb3BlbiddLCBbYW5pbWF0aW9uPSdhbGwnXSkpIHtcbiAgQGluY2x1ZGUgc2JiLmRpc2FibGUtYW5pbWF0aW9uO1xufVxuXG46aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZyk6bm90KFthbmltYXRpb249J2Nsb3NlJ10sIFthbmltYXRpb249J2FsbCddKSkge1xuICBAaW5jbHVkZSBzYmIuZGlzYWJsZS1hbmltYXRpb247XG59XG5cbjpob3N0KDpzdGF0ZShyZXNpemUtZGlzYWJsZS1hbmltYXRpb24pKSB7XG4gIEBpbmNsdWRlIHNiYi5kaXNhYmxlLWFuaW1hdGlvbjtcbn1cblxuOmhvc3QoOnN0YXRlKHNsb3R0ZWQtdGl0bGUpKSB7XG4gIC0tX3NiYi1ub3RpZmljYXRpb24taWNvbi1hdXRob3JpdGF0aXZlLWZvbnQtc2l6ZTogdmFyKC0tc2JiLWhlYWRpbmctZm9udC1zaXplLTUpO1xuICAtLV9zYmItbm90aWZpY2F0aW9uLWljb24tYXV0aG9yaXRhdGl2ZS1saW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtaGVhZGluZyk7XG59XG5cbjpob3N0KDpzdGF0ZShzbG90dGVkLXRpdGxlKVtzaXplPSdzJ10pIHtcbiAgLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtZm9udC1zaXplOiB2YXIoLS1zYmItaGVhZGluZy1mb250LXNpemUtNik7XG4gIC0tX3NiYi1ub3RpZmljYXRpb24taWNvbi1hdXRob3JpdGF0aXZlLWxpbmUtaGVpZ2h0OiB2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KTtcbn1cblxuOmhvc3QoW3NpemU9J20nXSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tZm9udC1zaXplOiB2YXIoLS1zYmItdGV4dC1mb250LXNpemUtcyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1jb250ZW50LXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4eHMpXG4gICAgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14cyk7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWZvbnQtc2l6ZTogdmFyKC0tc2JiLXRleHQtZm9udC1zaXplLXhzKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLXBhZGRpbmctYmxvY2s6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHMpXG4gICAgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHhzKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWNvbnRlbnQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHh4cylcbiAgICB2YXIoLS1zYmItc3BhY2luZy1yZXNwb25zaXZlLXh4cyk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS14eHMpO1xuICB9XG59XG5cbi8vIFR5cGVzXG46aG9zdCg6aXMoOm5vdChbdHlwZV0pLCBbdHlwZT0naW5mbyddKSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXNtb2tlKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWljb24tY29sb3I6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY29sb3IpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWxpZ2h0OiAyMCU7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyazogMjAlO1xufVxuXG46aG9zdChbdHlwZT0nbm90ZSddKSB7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yOiB2YXIoLS1zYmItY29sb3Itc2t5KTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1saWdodDogMjAlO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWRhcms6IDIwJTtcbn1cblxuOmhvc3QoW3R5cGU9J3N1Y2Nlc3MnXSkge1xuICAtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLXN1Y2Nlc3MpO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWxpZ2h0OiAxNSU7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyazogMzAlO1xufVxuXG46aG9zdChbdHlwZT0nd2FybiddKSB7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yOiB2YXIoLS1zYmItY29sb3Itd2FybmluZyk7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1pY29uLWNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWNvbG9yKTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1saWdodDogMjUlO1xuICAtLXNiYi1ub3RpZmljYXRpb24tZGl2aWRlci1vcGFjaXR5LWRhcms6IDQwJTtcbn1cblxuOmhvc3QoW3R5cGU9J2Vycm9yJ10pIHtcbiAgLS1zYmItbm90aWZpY2F0aW9uLXR5cGUtY29sb3I6IHZhcigtLXNiYi1jb2xvci1lcnJvcik7XG4gIC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktbGlnaHQ6IDEwJTtcbiAgLS1zYmItbm90aWZpY2F0aW9uLWRpdmlkZXItb3BhY2l0eS1kYXJrOiAyNSU7XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLV9zYmItbm90aWZpY2F0aW9uLWluc2V0LWlubGluZS1zdGFydCk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pbnNldC1pbmxpbmUtc3RhcnQpKTtcbiAgYm9yZGVyOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cy1zdGFydClcbiAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpXG4gICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItcmFkaXVzLXN0YXJ0KTtcbiAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gIG1heC1oZWlnaHQ6ICN7JG9wZW4tYW5pbS1oZWlnaHQtZnJvbX07XG4gIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi1mcm9tfTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogY2FsYyh2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJvcmRlci13aWR0aCkgKiAtMSlcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFzZS1ib3JkZXItcmFkaXVzKSBjYWxjKHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXdpZHRoKSAqIC0xKVxuICAgICAgY2FsYyh2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cykgKiAtMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10eXBlLWNvbG9yKTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhc2UtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICA6aG9zdCg6aXMoOnN0YXRlKHN0YXRlLW9wZW5lZCksIDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkpICYge1xuICAgIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LXRvfTtcbiAgICBtYXgtaGVpZ2h0OiAjeyRvcGVuLWFuaW0taGVpZ2h0LXRvfTtcbiAgICBtYXJnaW46ICN7JG9wZW4tYW5pbS1tYXJnaW4tdG99O1xuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5pbmcpKSAmIHtcbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBmaWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgZHVyYXRpb246IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi10aW1pbmctZnVuY3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zaW5nKSkgJiB7XG4gICAgYW5pbWF0aW9uOiB7XG4gICAgICBuYW1lOiBjbG9zZSwgY2xvc2UtaGVpZ2h0O1xuICAgICAgZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1ub3RpZmljYXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcbiAgICAgIGRlbGF5OiAwcywgdmFyKC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLCB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTJ4KSk7XG4gICAgfVxuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLXBhZGRpbmctYmxvY2spO1xuICBwYWRkaW5nLWlubGluZTogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1wYWRkaW5nLWlubGluZSk7XG4gIGNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItcmFkaXVzLXN0YXJ0KVxuICAgIGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpKVxuICAgIGNhbGModmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYXNlLWJvcmRlci1yYWRpdXMpIC0gdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1ib3JkZXItd2lkdGgpKVxuICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnIgYXV0byBhdXRvO1xuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX19pY29uLFxuOjpzbG90dGVkKHNiYi1pY29uKSB7XG4gIGNvbG9yOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tY29sb3IpO1xuICBhbGlnbi1zZWxmOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tYWxpZ24tc2VsZik7XG5cbiAgLy8gVGhpcyBpcyBhbiB1bmRvY3VtZW50ZWQgZmVhdHVyZSBmb3Igc2JiLmNoLCB0byBoYXZlIHRoZSBhYmlsaXR5IHRvIGhpZGUgdGhlIGljb24uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWljb24tc2l6ZSk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogbWF4KFxuICAgICAgMHJlbSxcbiAgICAgIGNhbGMoXG4gICAgICAgIChcbiAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtZm9udC1zaXplKSAqXG4gICAgICAgICAgICAgICAgICB2YXIoLS1fc2JiLW5vdGlmaWNhdGlvbi1pY29uLWF1dGhvcml0YXRpdmUtbGluZS1oZWlnaHQpXG4gICAgICAgICAgICAgICkgLSB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLXNtYWxsKVxuICAgICAgICAgICkgL1xuICAgICAgICAgIDJcbiAgICAgIClcbiAgICApO1xuICB9XG59XG5cbi5zYmItbm90aWZpY2F0aW9uX19jb250ZW50IHtcbiAgLy8gVGhlIGNvbnRlbnQgb2YgdGhlIG5vdGlmaWNhdGlvbiBpcyBhbHdheXMgZGlzcGxheWVkIGluIHBvc2l0aXZlIG1vZGUsXG4gIC8vIHRoZXJlZm9yZSwgdG8gaGF2ZSBzbG90dGVkIGNvbnRlbnQgY29ycmVjdGx5IGRpc3BsYXksIHdlIG5lZWQgb25seSBhbGxvdyBsaWdodCBtb2RlLlxuICBjb2xvci1zY2hlbWU6IG9ubHkgbGlnaHQ7XG4gIG9yZGVyOiAzO1xuICBncmlkLWFyZWE6IDIgLyAxIC8gMyAvIDM7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1jb250ZW50LW1hcmdpbi1ibG9jay1zdGFydCk7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIG9yZGVyOiBpbml0aWFsO1xuICAgIGdyaWQtYXJlYTogaW5pdGlhbDtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY29udGVudC1wYWRkaW5nLWlubGluZSk7XG4gIH1cbn1cblxuLnNiYi1ub3RpZmljYXRpb25fX3RleHQge1xuICAvLyBSZXNldCBwYXJhZ3JhcGggc3R5bGVzXG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc2JiLW5vdGlmaWNhdGlvbl9fZGl2aWRlciB7XG4gIC0tc2JiLWRpdmlkZXItY29sb3I6IGxpZ2h0LWRhcmsoXG4gICAgY29sb3ItbWl4KFxuICAgICAgaW4gc3JnYixcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktbGlnaHQpLFxuICAgICAgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yKVxuICAgICksXG4gICAgY29sb3ItbWl4KFxuICAgICAgaW4gc3JnYixcbiAgICAgIHZhcigtLXNiYi1ub3RpZmljYXRpb24tdHlwZS1jb2xvcikgdmFyKC0tc2JiLW5vdGlmaWNhdGlvbi1kaXZpZGVyLW9wYWNpdHktZGFyayksXG4gICAgICB2YXIoLS1zYmItbm90aWZpY2F0aW9uLWJhY2tncm91bmQtY29sb3IpXG4gICAgKVxuICApO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KTtcblxuICBAaW5jbHVkZSBzYmIubXEoJGZyb206IHNtYWxsKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNiYi1ub3RpZmljYXRpb24tY2xvc2Utd3JhcHBlci1nYXApO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gKHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KSAqIDIpKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9wZW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tfTtcbiAgICBtYXgtaGVpZ2h0OiAjeyRvcGVuLWFuaW0taGVpZ2h0LWZyb219O1xuICAgIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi1mcm9tfTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS10b307XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC10b307XG4gICAgbWFyZ2luOiAjeyRvcGVuLWFuaW0tbWFyZ2luLXRvfTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktdG99O1xuICAgIG1hcmdpbjogI3skb3Blbi1hbmltLW1hcmdpbi10b307XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gICAgbWFyZ2luOiAjeyRvcGVuLWFuaW0tbWFyZ2luLWZyb219O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY2xvc2UtaGVpZ2h0IHtcbiAgZnJvbSB7XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC10b307XG4gIH1cblxuICB0byB7XG4gICAgbWF4LWhlaWdodDogI3skb3Blbi1hbmltLWhlaWdodC1mcm9tfTtcbiAgfVxufVxuXG46OnNsb3R0ZWQoc2JiLXRpdGxlKSB7XG4gIC8vIE92ZXJ3cml0ZSBzYmItdGl0bGUgZGVmYXVsdCBtYXJnaW5cbiAgbWFyZ2luOiAwO1xufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYlNlY29uZGFyeUJ1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9idXR0b24ucHVyZS50cyc7XG5pbXBvcnQge1xuICBib3hTaXppbmdTdHlsZXMsXG4gIGkxOG5DbG9zZU5vdGlmaWNhdGlvbixcbiAgaXNMZWFuLFxuICBpc1plcm9BbmltYXRpb25EdXJhdGlvbixcbiAgU2JiRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbiAgU2JiTGFuZ3VhZ2VDb250cm9sbGVyLFxuICB0eXBlIFNiYk9wZW5lZENsb3NlZFN0YXRlLFxuICBTYmJSZWFkb25seU1peGluLFxufSBmcm9tICcuLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYkRpdmlkZXJFbGVtZW50IH0gZnJvbSAnLi4vZGl2aWRlci5wdXJlLnRzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi9pY29uLnB1cmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUaXRsZUVsZW1lbnQgfSBmcm9tICcuLi90aXRsZS5wdXJlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbm90aWZpY2F0aW9uLnNjc3M/aW5saW5lJztcblxuY29uc3Qgbm90aWZpY2F0aW9uVHlwZXMgPSBuZXcgTWFwKFtcbiAgWydpbmZvJywgJ2NpcmNsZS1pbmZvcm1hdGlvbi1zbWFsbCddLFxuICBbJ25vdGUnLCAnY2lyY2xlLWluZm9ybWF0aW9uLXNtYWxsJ10sXG4gIFsnc3VjY2VzcycsICdjaXJjbGUtdGljay1zbWFsbCddLFxuICBbJ3dhcm4nLCAnY2lyY2xlLWV4Y2xhbWF0aW9uLXBvaW50LXNtYWxsJ10sXG4gIFsnZXJyb3InLCAnY2lyY2xlLWNyb3NzLXNtYWxsJ10sXG5dKTtcblxuY29uc3QgREVCT1VOQ0VfVElNRSA9IDE1MDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBtZXNzYWdlcyB3aGljaCByZXF1aXJlIGEgdXNlcidzIGF0dGVudGlvbiB3aXRob3V0IGludGVycnVwdGluZyBpdHMgdGFza3MuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi1ub3RpZmljYXRpb25gLiBDb250ZW50IHNob3VsZCBjb25zaXN0IG9mIGFuIG9wdGlvbmFsIGBzYmItdGl0bGVgIGVsZW1lbnQgYW5kIHRleHQgY29udGVudC5cbiAqIEBzbG90IHRpdGxlIC0gU2xvdCBmb3IgdGhlIHRpdGxlLiBGb3IgdGhlIHN0YW5kYXJkIGBzYmItdGl0bGVgIGVsZW1lbnQsIHRoZSBzbG90IGlzIGF1dG9tYXRpY2FsbHkgYXNzaWduZWQgd2hlbiBzbG90dGVkIGluIHRoZSB1bm5hbWVkIHNsb3QuXG4gKiBAc2xvdCBpY29uIC0gVXNlIHRoaXMgc2xvdCB0byBkaXNwbGF5IGEgY3VzdG9tIGljb24gYnkgcHJvdmlkaW5nIGFuIGBzYmItaWNvbmAgY29tcG9uZW50LlxuICogQGNzc3Byb3AgWy0tc2JiLW5vdGlmaWNhdGlvbi1tYXJnaW49MF0gLSBDYW4gYmUgdXNlZCB0byBtb2RpZnkgdGhlIG1hcmdpbiBpbiBvcmRlciB0byBnZXQgYSBzbW9vdGhlciBhbmltYXRpb24uXG4gKiBTZWUgc3R5bGUgc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYk5vdGlmaWNhdGlvbkVsZW1lbnQgZXh0ZW5kcyBTYmJJY29uTmFtZU1peGluKFNiYlJlYWRvbmx5TWl4aW4oU2JiRWxlbWVudCkpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1ub3RpZmljYXRpb24nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbXG4gICAgU2JiU2Vjb25kYXJ5QnV0dG9uRWxlbWVudCxcbiAgICBTYmJEaXZpZGVyRWxlbWVudCxcbiAgXTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2JveFNpemluZ1N0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGJlZm9yZW9wZW46ICdiZWZvcmVvcGVuJyxcbiAgICBvcGVuOiAnb3BlbicsXG4gICAgYmVmb3JlY2xvc2U6ICdiZWZvcmVjbG9zZScsXG4gICAgY2xvc2U6ICdjbG9zZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIFRoZSB0eXBlIG9mIHRoZSBub3RpZmljYXRpb24uICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIHR5cGU6XG4gICAgfCAnaW5mbydcbiAgICB8ICdub3RlJ1xuICAgIHwgJ3N1Y2Nlc3MnXG4gICAgfCAnd2FybidcbiAgICB8ICdlcnJvcicgPSAnaW5mbyc7XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIHMgb3IgbS5cbiAgICogQGRlZmF1bHQgJ20nIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ20nID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgLyoqIFRoZSBlbmFibGVkIGFuaW1hdGlvbnMuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSkgcHVibGljIGFjY2Vzc29yIGFuaW1hdGlvbjogJ29wZW4nIHwgJ2Nsb3NlJyB8ICdhbGwnIHwgJ25vbmUnID0gJ2FsbCc7XG5cbiAgLyoqIFRoZSBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LiAqL1xuICBwcml2YXRlIHNldCBfc3RhdGUoc3RhdGU6IFNiYk9wZW5lZENsb3NlZFN0YXRlKSB7XG4gICAgaWYgKHRoaXMuX3N0YXRlSW50ZXJuYWwpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoYHN0YXRlLSR7dGhpcy5fc3RhdGVJbnRlcm5hbH1gKTtcbiAgICB9XG4gICAgdGhpcy5fc3RhdGVJbnRlcm5hbCA9IHN0YXRlO1xuICAgIGlmICh0aGlzLl9zdGF0ZUludGVybmFsKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKGBzdGF0ZS0ke3RoaXMuX3N0YXRlSW50ZXJuYWx9YCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgZ2V0IF9zdGF0ZSgpOiBTYmJPcGVuZWRDbG9zZWRTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlSW50ZXJuYWw7XG4gIH1cbiAgcHJpdmF0ZSBfc3RhdGVJbnRlcm5hbCE6IFNiYk9wZW5lZENsb3NlZFN0YXRlO1xuXG4gIHByaXZhdGUgX25vdGlmaWNhdGlvbkVsZW1lbnQhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfcmVzaXplT2JzZXJ2ZXJUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX25vdGlmaWNhdGlvblJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy5fb25Ob3RpZmljYXRpb25SZXNpemUoKSxcbiAgfSk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2l6ZScpKSB7XG4gICAgICB0aGlzLl9jb25maWd1cmVUaXRsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29wZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnY2xvc2VkJykge1xuICAgICAgdGhpcy5fc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgICAvKiogRW1pdHMgd2hlbiB0aGUgb3BlbmluZyBhbmltYXRpb24gc3RhcnRzLiAqL1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnYmVmb3Jlb3BlbicpKTtcblxuICAgICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgb3BlbmVkYCBzdGF0ZS5cbiAgICAgIGlmICh0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpKSB7XG4gICAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX3N0YXRlID09PSAnb3BlbmVkJyAmJiB0aGlzLl9kaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoKSkge1xuICAgICAgdGhpcy5fc3RhdGUgPSAnY2xvc2luZyc7XG5cbiAgICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KCk6IGJvb2xlYW4ge1xuICAgIC8qKiBFbWl0cyB3aGVuIHRoZSBjbG9zaW5nIGFuaW1hdGlvbiBzdGFydHMuIENhbiBiZSBjYW5jZWxlZCB0byBwcmV2ZW50IHRoZSBjb21wb25lbnQgZnJvbSBjbG9zaW5nLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdiZWZvcmVjbG9zZScsIHsgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50ID0gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKFxuICAgICAgJy5zYmItbm90aWZpY2F0aW9uX193cmFwcGVyJyxcbiAgICApIGFzIEhUTUxFbGVtZW50O1xuICAgIC8vIFdlIG5lZWQgdG8gd2FpdCBmb3IgdGhlIGNvbXBvbmVudCdzIGB1cGRhdGVDb21wbGV0ZWAgaW4gb3JkZXIgdG8gc2V0IHRoZSBjb3JyZWN0XG4gICAgLy8gaGVpZ2h0IHRvIHRoZSBub3RpZmljYXRpb24gZWxlbWVudC5cbiAgICB0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5fc2V0Tm90aWZpY2F0aW9uSGVpZ2h0KCk7XG4gICAgICB0aGlzLl9vcGVuKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLW5vdGlmaWNhdGlvbi1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldE5vdGlmaWNhdGlvbkhlaWdodCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX25vdGlmaWNhdGlvbkVsZW1lbnQ/LnNjcm9sbEhlaWdodCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBub3RpZmljYXRpb25IZWlnaHQgPSBgJHt0aGlzLl9ub3RpZmljYXRpb25FbGVtZW50LnNjcm9sbEhlaWdodH1weGA7XG4gICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItbm90aWZpY2F0aW9uLWhlaWdodCcsIG5vdGlmaWNhdGlvbkhlaWdodCk7XG4gIH1cblxuICBwcml2YXRlIF9vbk5vdGlmaWNhdGlvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2l6ZU9ic2VydmVyVGltZW91dCk7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZSB0aGUgYW5pbWF0aW9uIHdoZW4gcmVzaXppbmcgdGhlIG5vdGlmaWNhdGlvbiB0byBhdm9pZCBzdHJhbmdlIGhlaWdodCB0cmFuc2l0aW9uIGVmZmVjdHMuXG4gICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmFkZCgncmVzaXplLWRpc2FibGUtYW5pbWF0aW9uJyk7XG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXJUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ3Jlc2l6ZS1kaXNhYmxlLWFuaW1hdGlvbicpLFxuICAgICAgREVCT1VOQ0VfVElNRSxcbiAgICApO1xuXG4gICAgLy8gVG8gYXZvaWQgUmVzaXplT2JzZXJ2ZXIgbG9vcHMsIHdlIHNldCB0aGUgaGVpZ2h0IGEgdGljayBsYXRlci5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3NldE5vdGlmaWNhdGlvbkhlaWdodCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uTm90aWZpY2F0aW9uQW5pbWF0aW9uRW5kKGV2ZW50OiBBbmltYXRpb25FdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5pbmcnICYmIGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NpbmcnICYmIGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZS1oZWlnaHQnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuX25vdGlmaWNhdGlvblJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCk7XG4gICAgLyoqIEVtaXRzIHdoZW4gdGhlIG9wZW5pbmcgYW5pbWF0aW9uIGVuZHMuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnb3BlbicpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgICAvKiogRW1pdHMgd2hlbiB0aGUgY2xvc2luZyBhbmltYXRpb24gZW5kcy4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjbG9zZScpKTtcbiAgICB0aGlzLl9ub3RpZmljYXRpb25SZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcy5fbm90aWZpY2F0aW9uRWxlbWVudCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlbW92ZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgdGl0bGUgPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4pLmZpbmQoKGVsKSA9PiBlbC5sb2NhbE5hbWUgPT09ICdzYmItdGl0bGUnKTtcbiAgICBpZiAodGl0bGUpIHtcbiAgICAgIHRpdGxlLnNsb3QgPSAndGl0bGUnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZVRpdGxlKCk6IHZvaWQge1xuICAgIGNvbnN0IHRpdGxlID0gdGhpcy5xdWVyeVNlbGVjdG9yPy48U2JiVGl0bGVFbGVtZW50Pignc2JiLXRpdGxlJyk7XG4gICAgaWYgKHRpdGxlKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHRpdGxlKTtcbiAgICAgIHRpdGxlLnZpc3VhbExldmVsID0gdGhpcy5zaXplID09PSAnbScgPyAnNScgOiAnNic7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlckljb25OYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN1cGVyLnJlbmRlckljb25OYW1lKCkgfHwgbm90aWZpY2F0aW9uVHlwZXMuZ2V0KHRoaXMudHlwZSkhO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLW5vdGlmaWNhdGlvbl9fd3JhcHBlclwiIEBhbmltYXRpb25lbmQ9JHt0aGlzLl9vbk5vdGlmaWNhdGlvbkFuaW1hdGlvbkVuZH0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uXCI+XG4gICAgICAgICAgJHt0aGlzLnJlbmRlckljb25TbG90KCdzYmItbm90aWZpY2F0aW9uX19pY29uJyl9XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19jb250ZW50XCI+XG4gICAgICAgICAgICA8c2xvdCBuYW1lPVwidGl0bGVcIiBAc2xvdGNoYW5nZT0ke3RoaXMuX2NvbmZpZ3VyZVRpdGxlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8cCBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX3RleHRcIj5cbiAgICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgJHshdGhpcy5yZWFkT25seVxuICAgICAgICAgICAgPyBodG1sYFxuICAgICAgICAgICAgICAgIDxzYmItZGl2aWRlciBjbGFzcz1cInNiYi1ub3RpZmljYXRpb25fX2RpdmlkZXJcIiBvcmllbnRhdGlvbj1cInZlcnRpY2FsXCI+PC9zYmItZGl2aWRlcj5cbiAgICAgICAgICAgICAgICA8c2JiLXNlY29uZGFyeS1idXR0b25cbiAgICAgICAgICAgICAgICAgIHNpemU9JHt0aGlzLnNpemV9XG4gICAgICAgICAgICAgICAgICBpY29uLW5hbWU9XCJjcm9zcy1zbWFsbFwiXG4gICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKSA9PiB0aGlzLmNsb3NlKCl9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSR7aTE4bkNsb3NlTm90aWZpY2F0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfVxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItbm90aWZpY2F0aW9uX19jbG9zZVwiXG4gICAgICAgICAgICAgICAgPjwvc2JiLXNlY29uZGFyeS1idXR0b24+XG4gICAgICAgICAgICAgIGBcbiAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbm90aWZpY2F0aW9uJzogU2JiTm90aWZpY2F0aW9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUM2QkEsSUFBTSxvQkFBb0IsSUFBSSxJQUFJO0NBQ2hDLENBQUMsUUFBUSwyQkFBMkI7Q0FDcEMsQ0FBQyxRQUFRLDJCQUEyQjtDQUNwQyxDQUFDLFdBQVcsb0JBQW9CO0NBQ2hDLENBQUMsUUFBUSxpQ0FBaUM7Q0FDMUMsQ0FBQyxTQUFTLHFCQUFBO0NBQ1gsQ0FBQztBQUVGLElBQU0sZ0JBQWdCOzs7Ozs7Ozs7O0lBV1QsZ0NBQXNCO21CQUFTLGlCQUFpQixpQkFBaUIsV0FBVyxDQUFDOzs7Ozs7Ozs7O2NBQTdFLCtCQUErQixZQUE4Qzs7O3VCQWV2RixTQUFTLEVBQUUsU0FBUyxNQUFNLENBQUMsQ0FBQTt1QkFXM0IsU0FBUyxFQUFFLFNBQVMsTUFBTSxDQUFDLENBQUE7NEJBRzNCLFNBQVMsRUFBRSxTQUFTLE1BQU0sQ0FBQyxDQUFBO0FBZEMsZ0JBQUEsTUFBQSxNQUFBLGtCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsVUFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFJLE1BQUEsS0FBQSxVQUFBO0FB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
@@ -1,4 +1,4 @@
1
- import { t as SbbNotificationElement } from "./notification.component-CKyNdgbx.js";
1
+ import { t as SbbNotificationElement } from "./notification.component-BgF5aGrn.js";
2
2
  import "./notification.pure.js";
3
3
  //#region src/elements/notification.ts
4
4
  /** @entrypoint */
@@ -1,2 +1,2 @@
1
- import { t as SbbNotificationElement } from "./notification.component-CKyNdgbx.js";
1
+ import { t as SbbNotificationElement } from "./notification.component-BgF5aGrn.js";
2
2
  export { SbbNotificationElement };
@@ -1,2 +1,2 @@
1
- import { t as SbbCompactPaginatorElement } from "../../compact-paginator.component-DiMeNNTc.js";
1
+ import { t as SbbCompactPaginatorElement } from "../../compact-paginator.component-CRojCci5.js";
2
2
  export { SbbCompactPaginatorElement };
@@ -1,2 +1,2 @@
1
- import { t as SbbPaginatorElement } from "../../paginator.component-Cqm7MuRD.js";
1
+ import { t as SbbPaginatorElement } from "../../paginator.component-BlyTYIs0.js";
2
2
  export { SbbPaginatorElement };