@sbb-esta/lyne-elements 5.0.0-next → 5.0.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (984) hide show
  1. package/action-group/action-group.component.js +1 -1
  2. package/{action-group.component-L7G0Vv-N.js → action-group.component-B6X5FjkQ.js} +25 -25
  3. package/action-group.js +1 -1
  4. package/action-group.pure.js +1 -1
  5. package/alert/alert/alert.component.js +1 -1
  6. package/alert/alert-group/alert-group.component.js +1 -1
  7. package/{alert-group.component-CAjj3FtE.js → alert-group.component-BCYOVicl.js} +5 -7
  8. package/alert.component-BQsF0R1M.js +161 -0
  9. package/alert.js +2 -2
  10. package/alert.pure.js +2 -2
  11. package/autocomplete/autocomplete-base-element.js +1 -1
  12. package/autocomplete/autocomplete.component.js +3 -2
  13. package/{autocomplete-base-element-BysEZecQ.js → autocomplete-base-element-CSCv_WVh.js} +14 -9
  14. package/autocomplete.js +1 -1
  15. package/autocomplete.pure.js +1 -1
  16. package/{block-link-common-CDrCAdGP.js → block-link-common-BiM6tnUZ.js} +1 -1
  17. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  18. package/{breadcrumb-group.component-Bfm4RZu7.js → breadcrumb-group.component-De3Lu3lx.js} +1 -1
  19. package/breadcrumb.js +1 -1
  20. package/breadcrumb.pure.js +1 -1
  21. package/button/common/button-common.js +1 -1
  22. package/button-common-U0ZsZMjC.js +85 -0
  23. package/button.js +1 -1
  24. package/button.pure.js +1 -1
  25. package/calendar/calendar/calendar.component.js +1 -1
  26. package/{calendar.component-D6mdi1Q3.js → calendar.component-nWdtZYqg.js} +3 -3
  27. package/calendar.js +1 -1
  28. package/calendar.pure.js +1 -1
  29. package/card/card-badge/card-badge.component.js +1 -1
  30. package/{card-badge.component-CsEpGTHm.js → card-badge.component-CEqox6TU.js} +1 -1
  31. package/card.js +1 -1
  32. package/card.pure.js +1 -1
  33. package/checkbox/checkbox.component.js +1 -1
  34. package/checkbox/common/checkbox-common.js +1 -1
  35. package/{checkbox-common-Bo4u1RXX.js → checkbox-common-DSmxKbmR.js} +1 -1
  36. package/{checkbox.component-vjqZh2aC.js → checkbox.component-CR2aIgjA.js} +1 -1
  37. package/checkbox.js +2 -2
  38. package/checkbox.pure.js +2 -2
  39. package/chip/chip-group/chip-group.component.js +1 -1
  40. package/{chip-group.component-DPzfaV_H.js → chip-group.component-DbNctvjy.js} +1 -1
  41. package/chip-label/chip-label.component.js +1 -1
  42. package/chip-label.component-zRiHSxbn.js +77 -0
  43. package/chip-label.js +1 -1
  44. package/chip-label.pure.js +1 -1
  45. package/chip.js +1 -1
  46. package/chip.pure.js +1 -1
  47. package/{compact-paginator.component-DEEhXiMm.js → compact-paginator.component-Dyu9bezr.js} +1 -1
  48. package/core/controllers/overlay-position-controller.js +4 -1
  49. package/core/mixins/named-slot-list-mixin.js +4 -1
  50. package/core/overlay/overlay-trigger-attributes.js +3 -3
  51. package/core/styles/_index.scss +0 -1
  52. package/core/styles/core.scss +81 -78
  53. package/core/styles/host-scrollbar.scss +6 -0
  54. package/core/styles/mixins/helpers.scss +3 -3
  55. package/core/styles/mixins/overlay.scss +2 -2
  56. package/core/styles/mixins/panel.scss +5 -1
  57. package/core/styles/mixins/scrollbar.scss +5 -8
  58. package/core/styles/mixins/typo.scss +2 -2
  59. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss +8 -0
  60. package/core/styles/scrollbar.scss +10 -8
  61. package/core/styles/styles.js +2 -2
  62. package/core.css +266 -85
  63. package/core.js +3 -3
  64. package/custom-elements.json +1359 -740
  65. package/datepicker/datepicker/datepicker.component.js +1 -1
  66. package/{datepicker.component-BBmEvmW3.js → datepicker.component-CNQGkdr-.js} +11 -11
  67. package/datepicker.js +1 -1
  68. package/datepicker.pure.js +1 -1
  69. package/development/accordion/accordion.component.d.ts.map +1 -1
  70. package/development/accordion.component-DGUoG6p2.js +1 -1
  71. package/development/action-group/action-group.component.d.ts +2 -4
  72. package/development/action-group/action-group.component.d.ts.map +1 -1
  73. package/development/action-group/action-group.component.js +1 -1
  74. package/development/{action-group.component-CJT4RArG.js → action-group.component-9Bkne2tt.js} +6 -6
  75. package/development/action-group.js +1 -1
  76. package/development/action-group.pure.js +1 -1
  77. package/development/alert/alert/alert.component.d.ts +2 -1
  78. package/development/alert/alert/alert.component.d.ts.map +1 -1
  79. package/development/alert/alert/alert.component.js +1 -1
  80. package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
  81. package/development/alert/alert-group/alert-group.component.js +1 -1
  82. package/development/alert-group.component-D4KxKTd2.js +186 -0
  83. package/development/alert.component-Pv-Ol6XU.js +213 -0
  84. package/development/alert.js +2 -2
  85. package/development/alert.pure.js +2 -2
  86. package/development/autocomplete/autocomplete-base-element.d.ts +8 -1
  87. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  88. package/development/autocomplete/autocomplete-base-element.js +1 -1
  89. package/development/autocomplete/autocomplete.component.js +4 -3
  90. package/development/autocomplete-base-element-Bwkns3IL.js +686 -0
  91. package/development/autocomplete.js +1 -1
  92. package/development/autocomplete.pure.js +1 -1
  93. package/development/{block-link-common-CwurjMj1.js → block-link-common-qMULXu4g.js} +2 -2
  94. package/development/breadcrumb/breadcrumb/breadcrumb.component.d.ts.map +1 -1
  95. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  96. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  97. package/development/breadcrumb-group.component-BC1mWiQE.js +193 -0
  98. package/development/breadcrumb.component-BLxRIaje.js +1 -1
  99. package/development/breadcrumb.js +1 -1
  100. package/development/breadcrumb.pure.js +1 -1
  101. package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
  102. package/development/button/accent-button/accent-button.component.js +1 -1
  103. package/development/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
  104. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  105. package/development/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
  106. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  107. package/development/button/button/button.component.d.ts.map +1 -1
  108. package/development/button/button/button.component.js +1 -1
  109. package/development/button/button-link/button-link.component.d.ts.map +1 -1
  110. package/development/button/button-link/button-link.component.js +1 -1
  111. package/development/button/button-static/button-static.component.d.ts.map +1 -1
  112. package/development/button/button-static/button-static.component.js +1 -1
  113. package/development/button/common/button-common.d.ts +1 -1
  114. package/development/button/common/button-common.d.ts.map +1 -1
  115. package/development/button/common/button-common.js +1 -1
  116. package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
  117. package/development/button/mini-button/mini-button.component.js +1 -1
  118. package/development/button/mini-button-group/mini-button-group.component.d.ts.map +1 -1
  119. package/development/button/mini-button-link/mini-button-link.component.d.ts.map +1 -1
  120. package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  121. package/development/button/secondary-button/secondary-button.component.js +1 -1
  122. package/development/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
  123. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  124. package/development/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
  125. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  126. package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  127. package/development/button/transparent-button/transparent-button.component.js +1 -1
  128. package/development/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
  129. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  130. package/development/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
  131. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  132. package/development/{button-common-jaQVRdwS.js → button-common-BdW88MAX.js} +5 -5
  133. package/development/button.js +1 -1
  134. package/development/button.pure.js +1 -1
  135. package/development/calendar/calendar/calendar.component.d.ts.map +1 -1
  136. package/development/calendar/calendar/calendar.component.js +1 -1
  137. package/development/calendar/calendar-day/calendar-day.component.d.ts.map +1 -1
  138. package/development/calendar/calendar-month/calendar-month.component.d.ts.map +1 -1
  139. package/development/calendar/calendar-month/calendar-month.component.js +1 -1
  140. package/development/calendar/calendar-weekday/calendar-weekday.component.d.ts.map +1 -1
  141. package/development/calendar/calendar-weekday/calendar-weekday.component.js +1 -1
  142. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.d.ts.map +1 -1
  143. package/development/calendar/calendar-weeknumber/calendar-weeknumber.component.js +1 -1
  144. package/development/calendar/calendar-year/calendar-year.component.d.ts.map +1 -1
  145. package/development/calendar/calendar-year/calendar-year.component.js +1 -1
  146. package/development/calendar/common/calendar-cell-base-element.d.ts +1 -1
  147. package/development/calendar/common/calendar-cell-base-element.d.ts.map +1 -1
  148. package/development/calendar-cell-base-element-DDNYX7UQ.js +1 -1
  149. package/development/calendar-day.component-CnNml44_.js +1 -1
  150. package/development/calendar.component-B5dz7mau.js +1451 -0
  151. package/development/calendar.js +2 -2
  152. package/development/calendar.pure.js +1 -1
  153. package/development/card/card/card.component.d.ts.map +1 -1
  154. package/development/card/card-badge/card-badge.component.d.ts.map +1 -1
  155. package/development/card/card-badge/card-badge.component.js +1 -1
  156. package/development/card/common/card-action-common.d.ts.map +1 -1
  157. package/development/card-action-common-HYrFMTkA.js +1 -1
  158. package/development/card-badge.component-CQBLpmpo.js +83 -0
  159. package/development/card.component-B2cQYSCD.js +1 -1
  160. package/development/card.js +2 -2
  161. package/development/card.pure.js +1 -1
  162. package/development/carousel/carousel/carousel.component.d.ts.map +1 -1
  163. package/development/carousel/carousel-item/carousel-item.component.d.ts.map +1 -1
  164. package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
  165. package/development/carousel-item.component-MZIypyNR.js +1 -1
  166. package/development/carousel-list.component-z40-4ANn.js +1 -1
  167. package/development/carousel.component-BHYBvOm7.js +1 -1
  168. package/development/checkbox/checkbox.component.d.ts +1 -1
  169. package/development/checkbox/checkbox.component.d.ts.map +1 -1
  170. package/development/checkbox/checkbox.component.js +1 -1
  171. package/development/checkbox/common/checkbox-common.d.ts +1 -1
  172. package/development/checkbox/common/checkbox-common.d.ts.map +1 -1
  173. package/development/checkbox/common/checkbox-common.js +1 -1
  174. package/development/checkbox-common-DOoEKgML.js +84 -0
  175. package/development/checkbox-group/checkbox-group.component.js +1 -1
  176. package/development/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  177. package/development/checkbox-panel/checkbox-panel.component.js +1 -1
  178. package/development/{checkbox.component-DgrfkdyZ.js → checkbox.component-DZjhQhbB.js} +2 -2
  179. package/development/checkbox.js +2 -2
  180. package/development/checkbox.pure.js +2 -2
  181. package/development/chip/chip/chip.component.d.ts.map +1 -1
  182. package/development/chip/chip-group/chip-group.component.d.ts +1 -1
  183. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  184. package/development/chip/chip-group/chip-group.component.js +1 -1
  185. package/development/chip-group.component-B4Mjcep2.js +402 -0
  186. package/development/chip-label/chip-label.component.d.ts +1 -1
  187. package/development/chip-label/chip-label.component.d.ts.map +1 -1
  188. package/development/chip-label/chip-label.component.js +1 -1
  189. package/development/chip-label.component-Cx8mfi0y.js +100 -0
  190. package/development/chip-label.js +1 -1
  191. package/development/chip-label.pure.js +1 -1
  192. package/development/chip.component-zwTaIBf2.js +1 -1
  193. package/development/chip.js +1 -1
  194. package/development/chip.pure.js +1 -1
  195. package/development/clock/clock.component.d.ts.map +1 -1
  196. package/development/clock.component-EqFTxYod.js +1 -1
  197. package/development/compact-paginator.component-CRojCci5.js +51 -0
  198. package/development/container/container/container.component.d.ts.map +1 -1
  199. package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  200. package/development/container.component-CM10qyHy.js +1 -1
  201. package/development/core/a11y/input-modality-detector.js +1 -1
  202. package/development/core/base-elements/button-base-element.d.ts +1 -1
  203. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  204. package/development/core/base-elements/button-base-element.js +1 -1
  205. package/development/core/base-elements/element.js +1 -1
  206. package/development/core/base-elements/selection-group-base-element.d.ts.map +1 -1
  207. package/development/core/controllers/media-matchers-controller.js +1 -1
  208. package/development/core/controllers/overlay-position-controller.js +3 -2
  209. package/development/core/controllers/property-watcher-controller.d.ts +1 -1
  210. package/development/core/controllers/property-watcher-controller.d.ts.map +1 -1
  211. package/development/core/controllers/property-watcher-controller.js +1 -1
  212. package/development/core/datetime/date-adapter.js +1 -1
  213. package/development/core/datetime/native-date-adapter.js +1 -1
  214. package/development/core/datetime/temporal-date-adapter.js +1 -1
  215. package/development/core/decorators/omit-empty-converter.d.ts.map +1 -1
  216. package/development/core/decorators/omit-empty-converter.js +1 -1
  217. package/development/core/eventing/throttle.d.ts +1 -0
  218. package/development/core/eventing/throttle.d.ts.map +1 -1
  219. package/development/core/eventing/throttle.js +2 -1
  220. package/development/core/mixins/disabled-mixin.js +1 -1
  221. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  222. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  223. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  224. package/development/core/mixins/form-associated-mixin.js +1 -1
  225. package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
  226. package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -1
  227. package/development/core/mixins/named-slot-list-mixin.js +5 -2
  228. package/development/core/mixins/negative-mixin.js +1 -1
  229. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  230. package/development/core/mixins/readonly-mixin.js +1 -1
  231. package/development/core/mixins/required-mixin.js +1 -1
  232. package/development/core/overlay/overlay-trigger-attributes.d.ts +4 -4
  233. package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -1
  234. package/development/core/overlay/overlay-trigger-attributes.js +12 -12
  235. package/development/core/screen-reader-only/screen-reader-only.component.d.ts.map +1 -1
  236. package/development/core/styles/styles.d.ts +1 -0
  237. package/development/core/styles/styles.d.ts.map +1 -1
  238. package/development/core/styles/styles.js +2 -2
  239. package/development/core/testing/event-spy.js +1 -1
  240. package/development/core.js +3 -3
  241. package/development/date-input/date-input.component.d.ts.map +1 -1
  242. package/development/date-input.component-osVJFOS-.js +1 -1
  243. package/development/datepicker/common/datepicker-button.d.ts +8 -2
  244. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  245. package/development/datepicker/common/datepicker-button.js +1 -1
  246. package/development/datepicker/datepicker/datepicker.component.d.ts +3 -0
  247. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  248. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  249. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  250. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  251. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
  252. package/development/datepicker-button-BI5R118p.js +166 -0
  253. package/development/datepicker.component-Chnvwnp7.js +212 -0
  254. package/development/datepicker.js +2 -2
  255. package/development/datepicker.pure.js +2 -2
  256. package/development/dialog/dialog/dialog.component.d.ts +0 -1
  257. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  258. package/development/dialog/dialog/dialog.component.js +1 -1
  259. package/development/dialog/dialog-actions/dialog-actions.component.d.ts +0 -1
  260. package/development/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  261. package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
  262. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -1
  263. package/development/dialog/dialog-content/dialog-content.component.d.ts +1 -0
  264. package/development/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  265. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  266. package/development/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  267. package/development/{dialog-actions.component-DErVa4WR.js → dialog-actions.component-Bu950dM-.js} +1 -9
  268. package/development/dialog-close-button.component-CxtWzXR4.js +1 -1
  269. package/development/dialog-content.component-DlSxpY_e.js +34 -0
  270. package/development/dialog-title.component-CNMzIUB2.js +1 -1
  271. package/development/dialog.component-BTXyWi17.js +233 -0
  272. package/development/dialog.js +4 -4
  273. package/development/dialog.pure.js +3 -3
  274. package/development/divider/divider.component.d.ts.map +1 -1
  275. package/development/divider.component-BvmLUhzD.js +1 -1
  276. package/development/error.component-TvgLhaZh.js +53 -0
  277. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  278. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  279. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  280. package/development/expansion-panel-content.component-B-SV6ier.js +1 -1
  281. package/development/expansion-panel-header.component-Ok8Qmq5K.js +82 -0
  282. package/development/expansion-panel.component-q7cJOmUs.js +1 -1
  283. package/development/expansion-panel.js +2 -2
  284. package/development/expansion-panel.pure.js +1 -1
  285. package/development/file-selector/common/file-selector-common.d.ts +1 -1
  286. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  287. package/development/file-selector/common/file-selector-common.js +1 -1
  288. package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  289. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  290. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  291. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  292. package/development/file-selector-common-BX5f18cJ.js +409 -0
  293. package/development/file-selector-dropzone.component-DMNom2OW.js +110 -0
  294. package/development/file-selector.js +3 -3
  295. package/development/file-selector.pure.js +2 -2
  296. package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  297. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  298. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  299. package/development/flip-card-details.component-CKRovHqO.js +1 -1
  300. package/development/flip-card-summary.component-THvJF3Cl.js +1 -1
  301. package/development/flip-card.component-qnodzif2.js +1 -1
  302. package/development/flip-card.js +1 -1
  303. package/development/footer/footer.component.d.ts.map +1 -1
  304. package/development/footer/footer.component.js +1 -1
  305. package/development/footer.component-kFeZqO-Q.js +169 -0
  306. package/development/footer.js +1 -1
  307. package/development/footer.pure.js +1 -1
  308. package/development/form-field/error/error.component.d.ts.map +1 -1
  309. package/development/form-field/error/error.component.js +1 -1
  310. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  311. package/development/form-field/form-field/form-field.component.js +1 -1
  312. package/development/form-field/form-field-clear/form-field-clear.component.d.ts +3 -0
  313. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  314. package/development/form-field/form-field-clear/form-field-clear.component.js +4 -1
  315. package/development/form-field/form-field-text-counter/form-field-text-counter.component.d.ts.map +1 -1
  316. package/development/form-field/form-field-text-counter/form-field-text-counter.component.js +1 -1
  317. package/development/form-field/hint/hint.component.d.ts.map +1 -1
  318. package/development/form-field/hint/hint.component.js +1 -1
  319. package/development/form-field.component-CdTnOAi2.js +703 -0
  320. package/development/form-field.js +3 -3
  321. package/development/form-field.pure.js +3 -3
  322. package/development/header/common/header-action-common.d.ts +1 -1
  323. package/development/header/common/header-action-common.d.ts.map +1 -1
  324. package/development/header/header/header.component.d.ts.map +1 -1
  325. package/development/header/header/header.component.js +1 -1
  326. package/development/header/header-environment/header-environment.component.d.ts.map +1 -1
  327. package/development/header-action-common-BEnsweEr.js +1 -1
  328. package/development/header-environment.component-D-SLP3CC.js +1 -1
  329. package/development/header.component-BmZkCs9m.js +335 -0
  330. package/development/header.js +2 -2
  331. package/development/header.pure.js +1 -1
  332. package/development/hint.component-D5rTFJ-O.js +36 -0
  333. package/development/icon/icon-base.d.ts.map +1 -1
  334. package/development/icon/icon-name-mixin.d.ts +1 -1
  335. package/development/icon/icon-name-mixin.d.ts.map +1 -1
  336. package/development/icon/icon-name-mixin.js +1 -1
  337. package/development/icon-base-VYmbZT1-.js +1 -1
  338. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.d.ts.map +1 -1
  339. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  340. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  341. package/development/icon-sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  342. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.d.ts.map +1 -1
  343. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  344. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
  345. package/development/icon-sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  346. package/development/icon-sidebar-content.component-CfkM9k--.js +35 -0
  347. package/development/{icon-sidebar.component-xzwoc_4y.js → icon-sidebar.component-Cgvuxg4k.js} +3 -3
  348. package/development/icon-sidebar.js +3 -3
  349. package/development/icon-sidebar.pure.js +2 -2
  350. package/development/image/image.component.d.ts.map +1 -1
  351. package/development/image.component-BuAPmhIt.js +1 -1
  352. package/development/inline-link-common-CONiCeR9.js +1 -1
  353. package/development/journey-header/journey-header.component.d.ts.map +1 -1
  354. package/development/journey-header.component-BKX1K6cf.js +1 -1
  355. package/development/lead-container/lead-container.component.d.ts.map +1 -1
  356. package/development/lead-container.component-B1eW6Xgb.js +1 -1
  357. package/development/link/block-link/block-link.component.d.ts.map +1 -1
  358. package/development/link/block-link/block-link.component.js +1 -1
  359. package/development/link/common/block-link-common.d.ts +1 -1
  360. package/development/link/common/block-link-common.d.ts.map +1 -1
  361. package/development/link/common/block-link-common.js +1 -1
  362. package/development/link/common/inline-link-common.d.ts +1 -1
  363. package/development/link/common/inline-link-common.d.ts.map +1 -1
  364. package/development/link/common/link-common.d.ts +1 -1
  365. package/development/link/common/link-common.d.ts.map +1 -1
  366. package/development/link/link/link.component.d.ts.map +1 -1
  367. package/development/link/link/link.component.js +1 -1
  368. package/development/link-common-4Ag6Mio-.js +1 -1
  369. package/development/link-list/common/link-list-base.d.ts.map +1 -1
  370. package/development/link-list/link-list.component.d.ts.map +1 -1
  371. package/development/link-list-anchor/link-list-anchor.component.d.ts.map +1 -1
  372. package/development/link-list-anchor.component-Cotg5LDT.js +1 -1
  373. package/development/link-list-base-B7vidwUW.js +1 -1
  374. package/development/link-list.component-BFbrLjs0.js +1 -1
  375. package/development/link.js +1 -1
  376. package/development/link.pure.js +1 -1
  377. package/development/loading-indicator/loading-indicator.component.d.ts.map +1 -1
  378. package/development/loading-indicator-circle/loading-indicator-circle.component.d.ts.map +1 -1
  379. package/development/loading-indicator-circle.component-nc-RH0jT.js +1 -1
  380. package/development/loading-indicator.component-DNCUlh6S.js +1 -1
  381. package/development/logo/logo.component.d.ts.map +1 -1
  382. package/development/logo.component-tFe_T36e.js +1 -1
  383. package/development/map-container/map-container.component.d.ts.map +1 -1
  384. package/development/map-container/map-container.component.js +1 -1
  385. package/development/{map-container.component-mzZ_K_fR.js → map-container.component-DvHVJZEZ.js} +2 -3
  386. package/development/map-container.js +1 -1
  387. package/development/map-container.pure.js +1 -1
  388. package/development/menu/common/menu-action-common.d.ts +1 -1
  389. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  390. package/development/menu/common/menu-action-common.js +1 -1
  391. package/development/menu/menu/menu.component.d.ts +1 -1
  392. package/development/menu/menu/menu.component.d.ts.map +1 -1
  393. package/development/menu/menu/menu.component.js +1 -1
  394. package/development/menu/menu-link/menu-link.component.d.ts.map +1 -1
  395. package/development/menu/menu-link/menu-link.component.js +1 -1
  396. package/development/menu-action-common-CEnwq60Z.js +32 -0
  397. package/development/menu.component-DbNRrGYy.js +365 -0
  398. package/development/menu.js +3 -3
  399. package/development/menu.pure.js +2 -2
  400. package/development/message/message.component.d.ts.map +1 -1
  401. package/development/message/message.component.js +1 -1
  402. package/development/message.component-Dzah9lXK.js +43 -0
  403. package/development/message.js +1 -1
  404. package/development/message.pure.js +1 -1
  405. package/development/mini-button-group.component-DNFyLMg_.js +1 -1
  406. package/development/mini-button-link.component-DflgG59S.js +1 -1
  407. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts +1 -1
  408. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  409. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.d.ts.map +1 -1
  410. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -1
  411. package/development/mini-calendar-day.component-Bmx2GYGZ.js +1 -1
  412. package/development/mini-calendar-month.component-CdIsxUAx.js +1 -1
  413. package/development/mini-calendar.component-Ddxgy4Tj.js +1 -1
  414. package/development/mini-calendar.js +1 -1
  415. package/development/navigation/common/navigation-action-common.d.ts +1 -1
  416. package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
  417. package/development/navigation/common/navigation-action-common.js +1 -1
  418. package/development/navigation/navigation/navigation.component.d.ts +1 -1
  419. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  420. package/development/navigation/navigation/navigation.component.js +1 -1
  421. package/development/navigation/navigation-list/navigation-list.component.d.ts.map +1 -1
  422. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  423. package/development/navigation/navigation-marker/navigation-marker.component.d.ts +0 -1
  424. package/development/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
  425. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  426. package/development/navigation/navigation-section/navigation-section.component.d.ts +1 -1
  427. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  428. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  429. package/development/navigation-action-common-Cv1AOqUk.js +92 -0
  430. package/development/navigation-list.component-CQ4q671G.js +90 -0
  431. package/development/navigation-marker.component-D7ks8vbC.js +121 -0
  432. package/development/navigation-section.component-t36xyaq4.js +346 -0
  433. package/development/navigation.component-Djm0PFOA.js +315 -0
  434. package/development/navigation.js +6 -6
  435. package/development/navigation.pure.js +5 -5
  436. package/development/notification/notification.component.d.ts.map +1 -1
  437. package/development/notification/notification.component.js +1 -1
  438. package/development/notification.component-BgF5aGrn.js +271 -0
  439. package/development/notification.js +1 -1
  440. package/development/notification.pure.js +1 -1
  441. package/development/optgroup-base-element-er7EBllh.js +1 -1
  442. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  443. package/development/option/option/option-base-element.d.ts.map +1 -1
  444. package/development/option/option/option-base-element.js +3 -1
  445. package/development/option/option/option.component.d.ts +1 -1
  446. package/development/option/option/option.component.d.ts.map +1 -1
  447. package/development/option/option/option.component.js +1 -1
  448. package/development/option/option-hint/option-hint.component.d.ts.map +1 -1
  449. package/development/option-hint.component-DLp9rQrk.js +1 -1
  450. package/development/option.component-B2EO4N0R.js +132 -0
  451. package/development/option.js +1 -1
  452. package/development/option.pure.js +1 -1
  453. package/development/overlay/overlay-base-element.d.ts +1 -1
  454. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  455. package/development/overlay/overlay-base-element.js +6 -6
  456. package/development/overlay/overlay.component.d.ts +0 -1
  457. package/development/overlay/overlay.component.d.ts.map +1 -1
  458. package/development/overlay/overlay.component.js +1 -1
  459. package/development/overlay.component-BcOBxY6k.js +210 -0
  460. package/development/overlay.js +1 -1
  461. package/development/overlay.pure.js +1 -1
  462. package/development/paginator/common/paginator-common.d.ts +1 -1
  463. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  464. package/development/paginator/common/paginator-common.js +1 -1
  465. package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  466. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  467. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  468. package/development/paginator/paginator/paginator.component.js +1 -1
  469. package/development/paginator.component-BlyTYIs0.js +261 -0
  470. package/development/paginator.js +2 -2
  471. package/development/paginator.pure.js +2 -2
  472. package/development/panel-mixin-CKHxLmjh.js +1 -1
  473. package/development/popover/popover.component.d.ts +2 -1
  474. package/development/popover/popover.component.d.ts.map +1 -1
  475. package/development/popover/popover.component.js +1 -1
  476. package/development/popover.component-DM9Bn8xl.js +535 -0
  477. package/development/popover.js +1 -1
  478. package/development/popover.pure.js +1 -1
  479. package/development/radio-button/common/radio-button-common.d.ts +1 -1
  480. package/development/radio-button/common/radio-button-common.d.ts.map +1 -1
  481. package/development/radio-button/common/radio-button-common.js +1 -1
  482. package/development/radio-button/radio-button.component.d.ts.map +1 -1
  483. package/development/radio-button/radio-button.component.js +1 -1
  484. package/development/radio-button-common-ZMs5IFm2.js +125 -0
  485. package/development/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  486. package/development/radio-button-group/radio-button-group.component.js +1 -1
  487. package/development/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  488. package/development/radio-button-panel/radio-button-panel.component.js +1 -1
  489. package/development/{radio-button.component-DAgH41z0.js → radio-button.component-DggZ7RZD.js} +2 -2
  490. package/development/radio-button.js +2 -2
  491. package/development/radio-button.pure.js +2 -2
  492. package/development/screen-reader-only.component-D60AmiFy.js +1 -1
  493. package/development/select/select.component.d.ts +1 -1
  494. package/development/select/select.component.d.ts.map +1 -1
  495. package/development/select/select.component.js +1 -1
  496. package/development/select.component-BnHx3v3c.js +806 -0
  497. package/development/select.js +1 -1
  498. package/development/select.pure.js +1 -1
  499. package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
  500. package/development/selection-action-panel.component-DvhL5Z_Q.js +1 -1
  501. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  502. package/development/selection-expansion-panel.component-D_HF9lzq.js +1 -1
  503. package/development/selection-group-base-element-rKKX4OAJ.js +1 -1
  504. package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  505. package/development/sidebar/sidebar/sidebar.component.js +1 -1
  506. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  507. package/development/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
  508. package/development/sidebar/sidebar-content/sidebar-content.component.d.ts +1 -2
  509. package/development/sidebar/sidebar-content/sidebar-content.component.d.ts.map +1 -1
  510. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  511. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  512. package/development/sidebar-close-button.component-DYE0tK-I.js +1 -1
  513. package/development/sidebar-container.component-CC9TtB6I.js +1 -1
  514. package/development/{sidebar-content.component-Os9gd7zB.js → sidebar-content.component-DbcREBUa.js} +8 -5
  515. package/development/sidebar-title.component-DBb5MfIC.js +1 -1
  516. package/development/{sidebar.component-CwuT6dno.js → sidebar.component-zMWbdz0h.js} +2 -2
  517. package/development/sidebar.js +3 -3
  518. package/development/sidebar.pure.js +2 -2
  519. package/development/signet/signet.component.d.ts.map +1 -1
  520. package/development/signet.component-DO73qKor.js +1 -1
  521. package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  522. package/development/skiplink-list.component-DqYT2mmv.js +1 -1
  523. package/development/slider/slider.component.d.ts +1 -1
  524. package/development/slider/slider.component.d.ts.map +1 -1
  525. package/development/slider/slider.component.js +1 -1
  526. package/development/slider.component-CXrGIpkh.js +346 -0
  527. package/development/slider.js +1 -1
  528. package/development/slider.pure.js +1 -1
  529. package/development/status/status.component.d.ts.map +1 -1
  530. package/development/status/status.component.js +1 -1
  531. package/development/status.component-BtJ8ri61.js +110 -0
  532. package/development/status.js +1 -1
  533. package/development/status.pure.js +1 -1
  534. package/development/step-label.component-Dfx9rLcN.js +126 -0
  535. package/development/step.component-D1Gq0VRW.js +146 -0
  536. package/development/stepper/step/step.component.d.ts.map +1 -1
  537. package/development/stepper/step/step.component.js +1 -1
  538. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  539. package/development/stepper/step-label/step-label.component.js +1 -1
  540. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  541. package/development/stepper.component-BTwJttZt.js +1 -1
  542. package/development/stepper.js +2 -2
  543. package/development/stepper.pure.js +2 -2
  544. package/development/sticky-bar.component-MMBSPa2B.js +1 -1
  545. package/development/styles-DcuJgwEt.js +14 -0
  546. package/development/styles-WppEBrlW.js +14 -0
  547. package/development/tab-group.component-DX7BY7Xy.js +270 -0
  548. package/development/{tab-label.component-Du1W0dxN.js → tab-label.component-Ggx6qaIk.js} +2 -2
  549. package/development/tab-nav-bar.component-BTPTHy2C.js +1 -1
  550. package/development/tab.component-BVhYPy5Y.js +68 -0
  551. package/development/table/table-wrapper/table-wrapper.component.d.ts.map +1 -1
  552. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  553. package/development/table-wrapper.component-DcLwEDzr.js +119 -0
  554. package/development/table.js +1 -1
  555. package/development/table.pure.js +1 -1
  556. package/development/tabs/common/styles.js +1 -1
  557. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  558. package/development/tabs/tab/tab.component.js +1 -1
  559. package/development/tabs/tab-group/tab-group.component.d.ts +1 -0
  560. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  561. package/development/tabs/tab-group/tab-group.component.js +1 -1
  562. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  563. package/development/tabs/tab-label/tab-label.component.js +1 -1
  564. package/development/tabs/tab-nav-bar/tab-nav-bar.component.d.ts.map +1 -1
  565. package/development/tabs.js +4 -4
  566. package/development/tabs.pure.js +4 -4
  567. package/development/tag/tag/tag.component.d.ts +1 -1
  568. package/development/tag/tag/tag.component.d.ts.map +1 -1
  569. package/development/tag/tag/tag.component.js +1 -1
  570. package/development/tag/tag-group/tag-group.component.d.ts.map +1 -1
  571. package/development/tag-group.component-SEbOfnip.js +1 -1
  572. package/development/tag.component-Davxisfj.js +241 -0
  573. package/development/tag.js +1 -1
  574. package/development/tag.pure.js +1 -1
  575. package/development/teaser/teaser.component.d.ts.map +1 -1
  576. package/development/teaser/teaser.component.js +1 -1
  577. package/development/teaser-hero/teaser-hero.component.d.ts +1 -1
  578. package/development/teaser-hero/teaser-hero.component.d.ts.map +1 -1
  579. package/development/teaser-hero/teaser-hero.component.js +1 -1
  580. package/development/teaser-hero.component-bp9IsVmY.js +100 -0
  581. package/development/teaser-hero.js +1 -1
  582. package/development/teaser-hero.pure.js +1 -1
  583. package/development/teaser-panel/teaser-panel.component.d.ts +19 -0
  584. package/development/teaser-panel/teaser-panel.component.d.ts.map +1 -0
  585. package/development/teaser-panel/teaser-panel.component.js +2 -0
  586. package/development/teaser-panel.component-CjSrfJYG.js +32 -0
  587. package/development/teaser-panel.d.ts +2 -0
  588. package/development/teaser-panel.d.ts.map +1 -0
  589. package/development/teaser-panel.js +9 -0
  590. package/development/teaser-panel.pure.d.ts +3 -0
  591. package/development/teaser-panel.pure.d.ts.map +1 -0
  592. package/development/teaser-panel.pure.js +2 -0
  593. package/development/teaser-product/common/teaser-product-common.d.ts +1 -1
  594. package/development/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  595. package/development/teaser-product/common/teaser-product-common.js +1 -1
  596. package/development/teaser-product/teaser-product/teaser-product.component.d.ts +1 -1
  597. package/development/teaser-product/teaser-product/teaser-product.component.d.ts.map +1 -1
  598. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  599. package/development/teaser-product/teaser-product-static/teaser-product-static.component.d.ts.map +1 -1
  600. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  601. package/development/{teaser-product-common-DhbAGnQN.js → teaser-product-common-DasV_SDa.js} +1 -1
  602. package/development/{teaser-product.component-C3PZbA5W.js → teaser-product.component-CB6fOX7T.js} +1 -1
  603. package/development/teaser-product.js +2 -2
  604. package/development/teaser-product.pure.js +2 -2
  605. package/development/{teaser.component-BJso_6lz.js → teaser.component-C7uXEaPK.js} +2 -2
  606. package/development/teaser.js +1 -1
  607. package/development/teaser.pure.js +1 -1
  608. package/development/time-input/time-input.component.d.ts.map +1 -1
  609. package/development/time-input/time-input.component.js +1 -1
  610. package/development/{time-input.component-BWMBV6fm.js → time-input.component-x-QOtbwE.js} +1 -1
  611. package/development/time-input.js +1 -1
  612. package/development/time-input.pure.js +1 -1
  613. package/development/timetable-form/timetable-form/timetable-form.component.d.ts.map +1 -1
  614. package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
  615. package/development/timetable-form/timetable-form-details/timetable-form-details.component.d.ts.map +1 -1
  616. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  617. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  618. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +3 -0
  619. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -1
  620. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  621. package/development/{timetable-form-details.component-C8EdT4rZ.js → timetable-form-details.component-B7mwIQoz.js} +1 -1
  622. package/development/{timetable-form-field.component-CoANLGWk.js → timetable-form-field.component-BIpoMaJW.js} +1 -1
  623. package/development/{timetable-form-swap-button.component-BGziVzB8.js → timetable-form-swap-button.component-CyHdctws.js} +5 -1
  624. package/development/{timetable-form.component-DLjBbFRv.js → timetable-form.component-BBkeono7.js} +1 -1
  625. package/development/timetable-form.js +5 -5
  626. package/development/timetable-form.pure.js +4 -4
  627. package/development/timetable-occupancy/timetable-occupancy.component.d.ts +1 -1
  628. package/development/timetable-occupancy/timetable-occupancy.component.d.ts.map +1 -1
  629. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  630. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  631. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  632. package/development/{timetable-occupancy-icon.component-DXFUx67a.js → timetable-occupancy-icon.component-CRayfWIo.js} +1 -1
  633. package/development/timetable-occupancy-icon.js +1 -1
  634. package/development/timetable-occupancy-icon.pure.js +1 -1
  635. package/development/{timetable-occupancy.component-By7X3Sj2.js → timetable-occupancy.component-B-uVA9KC.js} +2 -2
  636. package/development/timetable-occupancy.js +1 -1
  637. package/development/timetable-occupancy.pure.js +1 -1
  638. package/development/title/title-base.d.ts.map +1 -1
  639. package/development/title/title-base.js +1 -1
  640. package/development/title/title.component.d.ts.map +1 -1
  641. package/development/title/title.component.js +1 -1
  642. package/development/{title-base-Bc3biGfy.js → title-base-DKVyL7TQ.js} +2 -2
  643. package/development/{title.component-B7rIqG0N.js → title.component-BEEzA9cF.js} +2 -2
  644. package/development/title.js +2 -2
  645. package/development/title.pure.js +2 -2
  646. package/development/toast/toast.component.d.ts +1 -1
  647. package/development/toast/toast.component.d.ts.map +1 -1
  648. package/development/toast/toast.component.js +1 -1
  649. package/development/toast.component-DvVY7zpe.js +268 -0
  650. package/development/toast.js +1 -1
  651. package/development/toast.pure.js +1 -1
  652. package/development/toggle/toggle/toggle.component.d.ts +1 -1
  653. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  654. package/development/toggle/toggle/toggle.component.js +1 -1
  655. package/development/toggle/toggle-option/toggle-option.component.d.ts +1 -0
  656. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  657. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  658. package/development/toggle-check/toggle-check.component.d.ts.map +1 -1
  659. package/development/toggle-check/toggle-check.component.js +1 -1
  660. package/development/toggle-check.component-LYr7DJj1.js +156 -0
  661. package/development/toggle-check.js +1 -1
  662. package/development/toggle-check.pure.js +1 -1
  663. package/development/toggle-option.component-DRAJ11fp.js +164 -0
  664. package/development/toggle.component-CQYpVyvs.js +244 -0
  665. package/development/toggle.js +2 -2
  666. package/development/toggle.pure.js +2 -2
  667. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  668. package/development/tooltip/tooltip.component.js +1 -1
  669. package/development/tooltip.component-Br7aDPFn.js +369 -0
  670. package/development/tooltip.js +1 -1
  671. package/development/tooltip.pure.js +1 -1
  672. package/development/train/train/train.component.d.ts.map +1 -1
  673. package/development/train/train/train.component.js +1 -1
  674. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  675. package/development/train/train-formation/train-formation.component.js +1 -1
  676. package/development/train/train-wagon/train-wagon.component.js +1 -1
  677. package/development/{train-blocked-passage.component-C6XmqBo_.js → train-blocked-passage.component-Bh2dR1gn.js} +1 -1
  678. package/development/{train-formation.component-CfdHRBsd.js → train-formation.component-Dm0t9N_h.js} +2 -2
  679. package/development/{train-wagon.component-zQVbqhIL.js → train-wagon.component-B6V4dPKn.js} +2 -2
  680. package/development/{train.component-D5Z4vgej.js → train.component-BvbNBkZF.js} +1 -1
  681. package/development/train.js +5 -5
  682. package/development/train.pure.js +4 -4
  683. package/development/visual-checkbox/visual-checkbox.component.d.ts.map +1 -1
  684. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  685. package/development/{visual-checkbox.component-jRksxrOu.js → visual-checkbox.component-DJ30EugM.js} +1 -1
  686. package/development/visual-checkbox.js +1 -1
  687. package/development/visual-checkbox.pure.js +1 -1
  688. package/dialog/dialog/dialog.component.js +1 -1
  689. package/dialog/dialog-actions/dialog-actions.component.js +1 -1
  690. package/dialog/dialog-content/dialog-content.component.js +1 -1
  691. package/{dialog-actions.component-ConxJ3VW.js → dialog-actions.component-DjBJ65tV.js} +4 -8
  692. package/dialog-content.component-C_Gr8BNL.js +22 -0
  693. package/{dialog.component-ca14M0hZ.js → dialog.component-ChB9gCyY.js} +7 -10
  694. package/dialog.js +3 -3
  695. package/dialog.pure.js +3 -3
  696. package/{error.component-BLChP2fE.js → error.component-D3JgDJfN.js} +1 -1
  697. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  698. package/{expansion-panel-header.component-DdRIlyms.js → expansion-panel-header.component-DYvq-uUi.js} +1 -1
  699. package/expansion-panel.js +1 -1
  700. package/expansion-panel.pure.js +1 -1
  701. package/file-selector/common/file-selector-common.js +1 -1
  702. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  703. package/{file-selector-common-DpccuOQ4.js → file-selector-common-CMLaHuDP.js} +38 -40
  704. package/{file-selector-dropzone.component-Bz3Wpl0X.js → file-selector-dropzone.component-CWwpvAVD.js} +3 -4
  705. package/file-selector.js +2 -2
  706. package/file-selector.pure.js +2 -2
  707. package/footer/footer.component.js +1 -1
  708. package/{footer.component-Don15vOd.js → footer.component-CdTEaV6u.js} +1 -1
  709. package/footer.js +1 -1
  710. package/footer.pure.js +1 -1
  711. package/form-field/error/error.component.js +1 -1
  712. package/form-field/form-field/form-field.component.js +1 -1
  713. package/form-field/hint/hint.component.js +1 -1
  714. package/{form-field.component-Do5eratI.js → form-field.component-Dtzbp6-e.js} +3 -2
  715. package/form-field.js +3 -3
  716. package/form-field.pure.js +3 -3
  717. package/header/header/header.component.js +1 -1
  718. package/{header.component-BxizSy1O.js → header.component-DoAFSXgO.js} +3 -3
  719. package/header.js +1 -1
  720. package/header.pure.js +1 -1
  721. package/{hint.component-CaF6CBCN.js → hint.component-BB_h0G6v.js} +1 -1
  722. package/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  723. package/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  724. package/{icon-sidebar-content.component-DlUqWEAX.js → icon-sidebar-content.component-lFstg91Y.js} +9 -5
  725. package/{icon-sidebar.component-DbA4omxc.js → icon-sidebar.component-D0TtF-kR.js} +11 -11
  726. package/icon-sidebar.js +2 -2
  727. package/icon-sidebar.pure.js +2 -2
  728. package/index.d.ts +2 -0
  729. package/index.js +2 -0
  730. package/link/common/block-link-common.js +1 -1
  731. package/link.js +1 -1
  732. package/link.pure.js +1 -1
  733. package/map-container/map-container.component.js +1 -1
  734. package/{map-container.component-Cqn9mKoo.js → map-container.component-BlrPWANi.js} +1 -2
  735. package/map-container.js +1 -1
  736. package/map-container.pure.js +1 -1
  737. package/menu/common/menu-action-common.js +1 -1
  738. package/menu/menu/menu.component.js +1 -1
  739. package/{menu-action-common-DY4RrfCy.js → menu-action-common-krzD_Ca2.js} +1 -1
  740. package/{menu.component-XvtyRok7.js → menu.component-KdXwqe55.js} +15 -15
  741. package/menu.js +2 -2
  742. package/menu.pure.js +2 -2
  743. package/message/message.component.js +1 -1
  744. package/message.component-CF-_MD7m.js +26 -0
  745. package/message.js +1 -1
  746. package/message.pure.js +1 -1
  747. package/navigation/common/navigation-action-common.js +1 -1
  748. package/navigation/navigation/navigation.component.js +1 -1
  749. package/navigation/navigation-list/navigation-list.component.js +1 -1
  750. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  751. package/navigation/navigation-section/navigation-section.component.js +1 -1
  752. package/navigation-action-common-BKI1MS1v.js +66 -0
  753. package/{navigation-list.component-DQeyXtOA.js → navigation-list.component-BX-kv06z.js} +13 -13
  754. package/navigation-marker.component-iSodFQRj.js +85 -0
  755. package/navigation-section.component-K4Pa53K7.js +230 -0
  756. package/navigation.component-BFejmwjr.js +202 -0
  757. package/navigation.js +5 -5
  758. package/navigation.pure.js +5 -5
  759. package/notification/notification.component.js +1 -1
  760. package/{notification.component-IsSZe3Ul.js → notification.component-D9oxjMJs.js} +1 -1
  761. package/notification.js +1 -1
  762. package/notification.pure.js +1 -1
  763. package/off-brand-theme.css +317 -138
  764. package/option/option/option-base-element.js +1 -1
  765. package/option/option/option.component.js +1 -1
  766. package/{option.component-C1Mm3ZFh.js → option.component-B8PivDHD.js} +1 -1
  767. package/option.js +1 -1
  768. package/option.pure.js +1 -1
  769. package/overlay/overlay-base-element.js +4 -4
  770. package/overlay/overlay.component.js +1 -1
  771. package/overlay.component-C6i5RA4B.js +160 -0
  772. package/overlay.js +1 -1
  773. package/overlay.pure.js +1 -1
  774. package/package.json +11 -1
  775. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  776. package/paginator/paginator/paginator.component.js +1 -1
  777. package/{paginator.component-BkECB-iV.js → paginator.component-DA_wUypF.js} +1 -1
  778. package/paginator.js +2 -2
  779. package/paginator.pure.js +2 -2
  780. package/popover/popover.component.js +1 -1
  781. package/{popover.component-BfSXNxKK.js → popover.component-BkhmysoH.js} +18 -15
  782. package/popover.js +1 -1
  783. package/popover.pure.js +1 -1
  784. package/radio-button/common/radio-button-common.js +1 -1
  785. package/radio-button/radio-button.component.js +1 -1
  786. package/{radio-button-common-CQyKqDLJ.js → radio-button-common-iNYco_B8.js} +1 -1
  787. package/{radio-button.component-Cenb6FL5.js → radio-button.component-v5czJYC3.js} +1 -1
  788. package/radio-button.js +2 -2
  789. package/radio-button.pure.js +2 -2
  790. package/safety-theme.css +317 -138
  791. package/scrollbar.css +51 -53
  792. package/select/select.component.js +1 -1
  793. package/{select.component-Cu3ewc4i.js → select.component-De-aDcuf.js} +3 -3
  794. package/select.js +1 -1
  795. package/select.pure.js +1 -1
  796. package/sidebar/sidebar/sidebar.component.js +1 -1
  797. package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  798. package/{sidebar-content.component-DEgmt4BB.js → sidebar-content.component-CYupfsq_.js} +9 -5
  799. package/{sidebar.component-Bxt8pWMf.js → sidebar.component-Sw06otwx.js} +1 -1
  800. package/sidebar.js +2 -2
  801. package/sidebar.pure.js +2 -2
  802. package/slider/slider.component.js +1 -1
  803. package/{slider.component-B3V7sjSF.js → slider.component-DfMkuXac.js} +1 -1
  804. package/slider.js +1 -1
  805. package/slider.pure.js +1 -1
  806. package/standard-theme.css +317 -138
  807. package/status/status.component.js +1 -1
  808. package/{status.component-CgMvY4Pe.js → status.component-5SKEusnj.js} +1 -1
  809. package/status.js +1 -1
  810. package/status.pure.js +1 -1
  811. package/step-label.component-DM7lQw8b.js +77 -0
  812. package/{step.component-aBAfTJyO.js → step.component-DuLOqjZk.js} +5 -7
  813. package/stepper/step/step.component.js +1 -1
  814. package/stepper/step-label/step-label.component.js +1 -1
  815. package/stepper.js +2 -2
  816. package/stepper.pure.js +2 -2
  817. package/styles-DisU4TWi.js +5 -0
  818. package/styles-swTeDfst.js +5 -0
  819. package/{tab-group.component-sdbLQtoj.js → tab-group.component-B3uz-8FA.js} +31 -27
  820. package/{tab-label.component-CH24fqmB.js → tab-label.component-JjktN30A.js} +1 -1
  821. package/{tab.component-DGzqld4u.js → tab.component-D6hfhlZw.js} +6 -6
  822. package/table/table-wrapper/table-wrapper.component.js +1 -1
  823. package/{table-wrapper.component-C36NdMWS.js → table-wrapper.component-Dxb8kzV3.js} +13 -13
  824. package/table.js +1 -1
  825. package/table.pure.js +1 -1
  826. package/tabs/common/styles.js +1 -1
  827. package/tabs/tab/tab.component.js +1 -1
  828. package/tabs/tab-group/tab-group.component.js +1 -1
  829. package/tabs/tab-label/tab-label.component.js +1 -1
  830. package/tabs.js +4 -4
  831. package/tabs.pure.js +4 -4
  832. package/tag/tag/tag.component.js +1 -1
  833. package/{tag.component-B7YExnbA.js → tag.component-BGYVbfUx.js} +1 -1
  834. package/tag.js +1 -1
  835. package/tag.pure.js +1 -1
  836. package/teaser/teaser.component.js +1 -1
  837. package/teaser-hero/teaser-hero.component.js +1 -1
  838. package/teaser-hero.component-By1HInfz.js +80 -0
  839. package/teaser-hero.js +1 -1
  840. package/teaser-hero.pure.js +1 -1
  841. package/teaser-panel/teaser-panel.component.js +2 -0
  842. package/teaser-panel.component-C4auDYCc.js +21 -0
  843. package/teaser-panel.js +6 -0
  844. package/teaser-panel.pure.js +2 -0
  845. package/teaser-product/common/teaser-product-common.js +1 -1
  846. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  847. package/teaser-product.js +2 -2
  848. package/teaser-product.pure.js +2 -2
  849. package/{teaser.component-BaxumXCl.js → teaser.component-B2y2AlAx.js} +1 -1
  850. package/teaser.js +1 -1
  851. package/teaser.pure.js +1 -1
  852. package/time-input/time-input.component.js +1 -1
  853. package/time-input.js +1 -1
  854. package/time-input.pure.js +1 -1
  855. package/timetable-form/timetable-form/timetable-form.component.js +1 -1
  856. package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  857. package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  858. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  859. package/{timetable-form-swap-button.component-BT36u2L9.js → timetable-form-swap-button.component-D9wBQQkG.js} +1 -1
  860. package/timetable-form.js +4 -4
  861. package/timetable-form.pure.js +4 -4
  862. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  863. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  864. package/timetable-occupancy-icon.js +1 -1
  865. package/timetable-occupancy-icon.pure.js +1 -1
  866. package/{timetable-occupancy.component-BbHtiw_F.js → timetable-occupancy.component-Dq9RM6qS.js} +1 -1
  867. package/timetable-occupancy.js +1 -1
  868. package/timetable-occupancy.pure.js +1 -1
  869. package/title/title-base.js +1 -1
  870. package/title/title.component.js +1 -1
  871. package/{title-base-Cbe4eNS1.js → title-base-B43-Q_7r.js} +1 -1
  872. package/{title.component-7zqQqbRJ.js → title.component-DXJHJ6p6.js} +1 -1
  873. package/title.js +2 -2
  874. package/title.pure.js +2 -2
  875. package/toast/toast.component.js +1 -1
  876. package/toast.component-2hmfUgsX.js +184 -0
  877. package/toast.js +1 -1
  878. package/toast.pure.js +1 -1
  879. package/toggle/toggle/toggle.component.js +1 -1
  880. package/toggle/toggle-option/toggle-option.component.js +1 -1
  881. package/toggle-check/toggle-check.component.js +1 -1
  882. package/toggle-check.component-WVQ4NM-R.js +116 -0
  883. package/toggle-check.js +1 -1
  884. package/toggle-check.pure.js +1 -1
  885. package/{toggle-option.component-BF95HWOF.js → toggle-option.component-DeePQ-NW.js} +5 -7
  886. package/{toggle.component-2e_7FeR4.js → toggle.component-BGgAnHau.js} +6 -10
  887. package/toggle.js +2 -2
  888. package/toggle.pure.js +2 -2
  889. package/tooltip/tooltip.component.js +1 -1
  890. package/{tooltip.component-C5y6zCtF.js → tooltip.component-Bp-8vRoA.js} +12 -12
  891. package/tooltip.js +1 -1
  892. package/tooltip.pure.js +1 -1
  893. package/train/train/train.component.js +1 -1
  894. package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  895. package/train/train-formation/train-formation.component.js +1 -1
  896. package/train/train-wagon/train-wagon.component.js +1 -1
  897. package/{train-formation.component-5AASBGSX.js → train-formation.component-DS4EDwPY.js} +1 -1
  898. package/{train-wagon.component-CLMLEf6I.js → train-wagon.component-LwKwwuta.js} +1 -1
  899. package/train.js +4 -4
  900. package/train.pure.js +4 -4
  901. package/visual-checkbox/visual-checkbox.component.js +1 -1
  902. package/visual-checkbox.js +1 -1
  903. package/visual-checkbox.pure.js +1 -1
  904. package/alert.component-C42LwoGa.js +0 -163
  905. package/button-common-C3wYY-UK.js +0 -85
  906. package/chip-label.component-CUJTTb1-.js +0 -79
  907. package/core/styles/mixins/chip.scss +0 -95
  908. package/development/alert-group.component-DeI6kuwn.js +0 -188
  909. package/development/alert.component-Cn36k_Hf.js +0 -214
  910. package/development/autocomplete-base-element-B5n-eCMO.js +0 -672
  911. package/development/breadcrumb-group.component-DP9X9qV1.js +0 -193
  912. package/development/calendar.component-CByyksy8.js +0 -1450
  913. package/development/card-badge.component-Be4gXazr.js +0 -83
  914. package/development/checkbox-common-DpE48IrV.js +0 -84
  915. package/development/chip-group.component-CxM8l839.js +0 -402
  916. package/development/chip-label.component-C1CGL8zb.js +0 -102
  917. package/development/compact-paginator.component-DiMeNNTc.js +0 -51
  918. package/development/datepicker-button-CIvIHG8k.js +0 -160
  919. package/development/datepicker.component-BEiMYEc-.js +0 -211
  920. package/development/dialog-content.component-B3VB2ptp.js +0 -30
  921. package/development/dialog.component-BYVTZAUU.js +0 -238
  922. package/development/error.component-C8JQQqSB.js +0 -53
  923. package/development/expansion-panel-header.component-CWojFAB-.js +0 -82
  924. package/development/file-selector-common-DE_jT1fa.js +0 -411
  925. package/development/file-selector-dropzone.component-dyv_u-Ga.js +0 -111
  926. package/development/footer.component-Dbc5xFqr.js +0 -169
  927. package/development/form-field.component-DGOrnYkc.js +0 -702
  928. package/development/header.component-Hfgz9sSb.js +0 -336
  929. package/development/hint.component-hKw1TLvO.js +0 -36
  930. package/development/icon-sidebar-content.component-CMzp1ewD.js +0 -31
  931. package/development/menu-action-common-Crx-dDgH.js +0 -32
  932. package/development/menu.component-DOv7PKIi.js +0 -367
  933. package/development/message.component-CrXtMprr.js +0 -43
  934. package/development/navigation-action-common-ZBiv0Xiw.js +0 -93
  935. package/development/navigation-list.component-DilKlDwx.js +0 -90
  936. package/development/navigation-marker.component-BsfPR_uk.js +0 -122
  937. package/development/navigation-section.component-C_9myQKr.js +0 -349
  938. package/development/navigation.component-C8MhqBLY.js +0 -318
  939. package/development/notification.component-CKyNdgbx.js +0 -271
  940. package/development/option.component-Dod6JgbH.js +0 -132
  941. package/development/overlay.component-BuCkqG6Q.js +0 -216
  942. package/development/paginator.component-Cqm7MuRD.js +0 -261
  943. package/development/popover.component-B15jFLe9.js +0 -529
  944. package/development/radio-button-common-u7NYOI2p.js +0 -125
  945. package/development/select.component-CqwBdtsN.js +0 -804
  946. package/development/slider.component-ZBdkbZei.js +0 -346
  947. package/development/status.component-p-egQ_U4.js +0 -110
  948. package/development/step-label.component-CxqPgbzK.js +0 -128
  949. package/development/step.component-B2qbHl0l.js +0 -150
  950. package/development/styles-CcYw6JtZ.js +0 -8
  951. package/development/styles-D_8dMc_0.js +0 -14
  952. package/development/tab-group.component-C3R8ZTbg.js +0 -266
  953. package/development/tab.component-DteuwiHv.js +0 -70
  954. package/development/table-wrapper.component-iSeT-FPH.js +0 -119
  955. package/development/tag.component-CWL9jJTW.js +0 -241
  956. package/development/teaser-hero.component-7KeR7bPf.js +0 -101
  957. package/development/toast.component-Cy13egVy.js +0 -269
  958. package/development/toggle-check.component-CuODx4cx.js +0 -156
  959. package/development/toggle-option.component-BWT4kEZo.js +0 -165
  960. package/development/toggle.component-DjLnSv3R.js +0 -249
  961. package/development/tooltip.component-BtWTK2R0.js +0 -371
  962. package/dialog-content.component-DvJiuDJI.js +0 -19
  963. package/message.component-DgTPvDym.js +0 -26
  964. package/navigation-action-common-Dm47M2BG.js +0 -66
  965. package/navigation-marker.component-1VHe19c9.js +0 -85
  966. package/navigation-section.component-CLcdmPV3.js +0 -231
  967. package/navigation.component-Cnyb5_4R.js +0 -203
  968. package/overlay.component-OzDUV8t1.js +0 -164
  969. package/step-label.component-qdfunibJ.js +0 -77
  970. package/styles-DMLyYaea.js +0 -5
  971. package/styles-x5HG0xjp.js +0 -6
  972. package/teaser-hero.component-CLuVP2ba.js +0 -81
  973. package/toast.component-BY72fOXh.js +0 -185
  974. package/toggle-check.component-DkOBgRQM.js +0 -116
  975. /package/{teaser-product-common-B8NakRRV.js → teaser-product-common-Kz3ApcVE.js} +0 -0
  976. /package/{teaser-product.component-Dqapk40c.js → teaser-product.component-C7KoSqcP.js} +0 -0
  977. /package/{time-input.component-N0DexLd9.js → time-input.component-BVoO7JLV.js} +0 -0
  978. /package/{timetable-form-details.component-CIY5ZAQJ.js → timetable-form-details.component-BQmF3WLu.js} +0 -0
  979. /package/{timetable-form-field.component-LuzgeDdh.js → timetable-form-field.component-DrQuTOJr.js} +0 -0
  980. /package/{timetable-form.component-YNDnJnkX.js → timetable-form.component-AbZF15Tg.js} +0 -0
  981. /package/{timetable-occupancy-icon.component-DPNwMhLs.js → timetable-occupancy-icon.component-B6pF-j0D.js} +0 -0
  982. /package/{train-blocked-passage.component-EET0Kobk.js → train-blocked-passage.component-DIh8dbU9.js} +0 -0
  983. /package/{train.component-D_ysGCwu.js → train.component-DuFi_iBX.js} +0 -0
  984. /package/{visual-checkbox.component-CdqoYyEe.js → visual-checkbox.component-BsjmJgcn.js} +0 -0
@@ -1,216 +0,0 @@
1
- import { SbbOverlayBaseElement, SbbOverlayCloseEvent, overlayRefs } from "./overlay/overlay-base-element.js";
2
- import { __esDecorate, __runInitializers } from "tslib";
3
- import { unsafeCSS } from "lit";
4
- import { property } from "lit/decorators.js";
5
- import { SbbScreenReaderOnlyElement, boxSizingStyles, forceType, forwardEvent, i18nCloseDialog, isZeroAnimationDuration } from "./core.js";
6
- import { html as html$1 } from "lit/static-html.js";
7
- import { SbbSecondaryButtonElement } from "./button.pure.js";
8
- import { ref } from "lit/directives/ref.js";
9
- import { SbbContainerElement } from "./container.pure.js";
10
- //#region src/elements/overlay/overlay.scss?inline
11
- var overlay_default = ":host {\n --sbb-scrollbar-thumb-width: 0.125rem;\n --sbb-scrollbar-thumb-width-hover: 0.25rem;\n --sbb-scrollbar-width-firefox: thin;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);\n --sbb-scrollbar-color: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 30%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 30%, transparent)\n );\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);\n --sbb-scrollbar-color-hover: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 60%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 60%, transparent)\n );\n --sbb-scrollbar-track-color: transparent;\n --_sbb-overlay-padding-block: calc(\n var(--sbb-spacing-fixed-14x) + var(--sbb-spacing-responsive-l)\n );\n --sbb-overlay-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-6x)\n );\n display: var(--sbb-overlay-display);\n position: fixed;\n inset: var(--sbb-overlay-inset);\n z-index: var(--sbb-overlay-z-index, var(--sbb-overlay-default-z-index));\n}\n\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) {\n --sbb-overlay-display: block;\n --sbb-overlay-container-display: flex;\n}\n\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]))) {\n --sbb-overlay-pointer-events: all;\n}\n\n:host([negative]) {\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-white) 30%, transparent);\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-white) 60%, transparent);\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);\n --sbb-overlay-color: var(--sbb-color-1-negative);\n --sbb-overlay-background-color: var(--sbb-background-color-3-negative);\n}\n\n:host(:not(:is(:state(state-closed),[state--state-closed]))) {\n --sbb-overlay-inset: 0;\n}\n\n.sbb-overlay__container {\n background-color: var(--sbb-overlay-background-color);\n pointer-events: var(--sbb-overlay-pointer-events);\n display: var(--sbb-overlay-container-display);\n align-items: center;\n position: fixed;\n inset: var(--sbb-overlay-inset);\n}\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) .sbb-overlay__container {\n animation-name: open;\n animation-duration: var(--sbb-overlay-animation-duration);\n animation-timing-function: var(--sbb-overlay-animation-easing);\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-overlay__container {\n pointer-events: none;\n animation-name: close;\n}\n\n.sbb-overlay {\n position: absolute;\n inset-inline: 0;\n margin: auto;\n padding: 0;\n border: none;\n height: var(--sbb-overlay-height);\n overflow: auto;\n color: var(--sbb-overlay-color);\n}\n:host(:is(:is(:state(state-opening),[state--state-opening]), :is(:state(state-opened),[state--state-opened]), :is(:state(state-closing),[state--state-closing]))) .sbb-overlay {\n animation-name: open-move-in;\n animation-duration: var(--sbb-overlay-animation-duration);\n animation-timing-function: var(--sbb-overlay-animation-easing);\n}\n:host(:is(:state(state-closing),[state--state-closing])) .sbb-overlay {\n animation-name: close-move-out;\n}\n\n.sbb-overlay__wrapper {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: var(--sbb-overlay-height);\n outline: none;\n position: fixed;\n}\n@media (min-width: calc(64rem)) {\n .sbb-overlay__wrapper {\n position: sticky;\n inset-block-start: 0;\n height: auto;\n }\n}\n\n.sbb-overlay__header {\n position: absolute;\n inset-inline-start: 0;\n display: flex;\n pointer-events: none;\n align-items: start;\n justify-content: space-between;\n width: 100%;\n padding: var(--sbb-spacing-responsive-xs);\n padding-block-end: 0;\n z-index: 1;\n}\n.sbb-overlay__header * {\n pointer-events: all;\n}\n\n.sbb-overlay__close {\n margin-inline-start: auto;\n}\n\n.sbb-overlay__content {\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n}\n.sbb-overlay__content::-webkit-scrollbar {\n width: var(--sbb-scrollbar-width);\n height: var(--sbb-scrollbar-width);\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-overlay__content::-webkit-scrollbar-corner {\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n.sbb-overlay__content::-webkit-scrollbar-thumb {\n background-color: var(--sbb-scrollbar-color, currentcolor);\n border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;\n border-radius: var(--sbb-border-radius-4x);\n background-clip: padding-box;\n}\n.sbb-overlay__content::-webkit-scrollbar-thumb:hover {\n background-color: var(--sbb-scrollbar-color-hover, currentcolor);\n border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));\n}\n.sbb-overlay__content::-webkit-scrollbar-button, .sbb-overlay__content::-webkit-scrollbar-corner {\n display: none;\n}\n@supports not selector(::-webkit-scrollbar) {\n .sbb-overlay__content {\n scrollbar-width: var(--sbb-scrollbar-width-firefox);\n scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);\n }\n}\n.sbb-overlay__content {\n height: 100vh;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.sbb-overlay__content-container {\n padding-block: var(--_sbb-overlay-padding-block);\n}\n\n@keyframes open {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes open-move-in {\n from {\n transform: translateY(var(--sbb-spacing-fixed-4x));\n }\n to {\n transform: translateY(0%);\n }\n}\n@keyframes close {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@keyframes close-move-out {\n from {\n transform: translateY(0%);\n }\n to {\n transform: translateY(var(--sbb-spacing-fixed-4x));\n }\n}";
12
- //#endregion
13
- //#region src/elements/overlay/overlay.component.ts
14
- var nextId = 0;
15
- /**
16
- * It displays an interactive overlay element.
17
- *
18
- * @slot - Use the unnamed slot to provide a content for the overlay.
19
- * @cssprop [--sbb-overlay-z-index=var(--sbb-overlay-default-z-index)] - To specify a custom stack order,
20
- * the `z-index` can be overridden by defining this CSS variable. The default `z-index` of the
21
- * component is set to `var(--sbb-overlay-default-z-index)` with a value of `1000`.
22
- */
23
- var SbbOverlayElement = (() => {
24
- let _classSuper = SbbOverlayBaseElement;
25
- let _expanded_decorators;
26
- let _expanded_initializers = [];
27
- let _expanded_extraInitializers = [];
28
- let _accessibilityCloseLabel_decorators;
29
- let _accessibilityCloseLabel_initializers = [];
30
- let _accessibilityCloseLabel_extraInitializers = [];
31
- return class SbbOverlayElement extends _classSuper {
32
- constructor() {
33
- super(...arguments);
34
- this.#expanded_accessor_storage = __runInitializers(this, _expanded_initializers, false);
35
- this.#accessibilityCloseLabel_accessor_storage = (__runInitializers(this, _expanded_extraInitializers), __runInitializers(this, _accessibilityCloseLabel_initializers, ""));
36
- this.closeAttribute = (__runInitializers(this, _accessibilityCloseLabel_extraInitializers), "sbb-overlay-close");
37
- this._overlayContentElement = null;
38
- }
39
- static {
40
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
41
- _expanded_decorators = [forceType(), property({
42
- reflect: true,
43
- type: Boolean
44
- })];
45
- _accessibilityCloseLabel_decorators = [forceType(), property({ attribute: "accessibility-close-label" })];
46
- __esDecorate(this, null, _expanded_decorators, {
47
- kind: "accessor",
48
- name: "expanded",
49
- static: false,
50
- private: false,
51
- access: {
52
- has: (obj) => "expanded" in obj,
53
- get: (obj) => obj.expanded,
54
- set: (obj, value) => {
55
- obj.expanded = value;
56
- }
57
- },
58
- metadata: _metadata
59
- }, _expanded_initializers, _expanded_extraInitializers);
60
- __esDecorate(this, null, _accessibilityCloseLabel_decorators, {
61
- kind: "accessor",
62
- name: "accessibilityCloseLabel",
63
- static: false,
64
- private: false,
65
- access: {
66
- has: (obj) => "accessibilityCloseLabel" in obj,
67
- get: (obj) => obj.accessibilityCloseLabel,
68
- set: (obj, value) => {
69
- obj.accessibilityCloseLabel = value;
70
- }
71
- },
72
- metadata: _metadata
73
- }, _accessibilityCloseLabel_initializers, _accessibilityCloseLabel_extraInitializers);
74
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
75
- enumerable: true,
76
- configurable: true,
77
- writable: true,
78
- value: _metadata
79
- });
80
- }
81
- static {
82
- this.elementName = "sbb-overlay";
83
- }
84
- static {
85
- this.elementDependencies = [
86
- SbbSecondaryButtonElement,
87
- SbbContainerElement,
88
- SbbScreenReaderOnlyElement
89
- ];
90
- }
91
- static {
92
- this.styles = [boxSizingStyles, unsafeCSS(overlay_default)];
93
- }
94
- static {
95
- this.events = {
96
- beforeopen: "beforeopen",
97
- open: "open",
98
- beforeclose: "beforeclose",
99
- close: "close"
100
- };
101
- }
102
- #expanded_accessor_storage;
103
- /**
104
- * Whether to allow the overlay content to stretch to full width.
105
- * By default, the content has the appropriate page size.
106
- */
107
- get expanded() {
108
- return this.#expanded_accessor_storage;
109
- }
110
- set expanded(value) {
111
- this.#expanded_accessor_storage = value;
112
- }
113
- #accessibilityCloseLabel_accessor_storage;
114
- /** This will be forwarded as aria-label to the close button element. */
115
- get accessibilityCloseLabel() {
116
- return this.#accessibilityCloseLabel_accessor_storage;
117
- }
118
- set accessibilityCloseLabel(value) {
119
- this.#accessibilityCloseLabel_accessor_storage = value;
120
- }
121
- connectedCallback() {
122
- this.id ||= `sbb-overlay-${nextId++}`;
123
- super.connectedCallback();
124
- }
125
- firstUpdated(changedProperties) {
126
- super.firstUpdated(changedProperties);
127
- if (this.isOpen) this.setAriaLiveRefContent();
128
- }
129
- isZeroAnimationDuration() {
130
- return isZeroAnimationDuration(this, "--sbb-overlay-animation-duration");
131
- }
132
- handleOpening() {
133
- this.state = "opened";
134
- this.inertController.activate();
135
- this.focusTrapController.focusInitialElement();
136
- setTimeout(() => this.setAriaLiveRefContent(this.accessibilityLabel));
137
- this.focusTrapController.enabled = true;
138
- this.dispatchOpenEvent();
139
- }
140
- handleClosing() {
141
- this._overlayContentElement?.scrollTo(0, 0);
142
- this.state = "closed";
143
- this.hidePopover?.();
144
- this.inertController.deactivate();
145
- if (!this.skipFocusRestoration) this.lastFocusedElement?.focus();
146
- this.openOverlayController?.abort();
147
- this.focusTrapController.enabled = false;
148
- this.removeInstanceFromGlobalCollection();
149
- if (!overlayRefs.length) this.scrollHandler.enableScroll();
150
- this.escapableOverlayController.disconnect();
151
- this.dispatchCloseEvent({
152
- returnValue: this.returnValue,
153
- closeTarget: this.overlayCloseElement
154
- });
155
- }
156
- dispatchBeforeCloseEvent(_detail) {
157
- /** @type {SbbOverlayCloseEvent} Emits whenever the component begins the closing transition. Can be canceled. */
158
- return this.dispatchEvent(new SbbOverlayCloseEvent("beforeclose", {
159
- cancelable: true,
160
- closeAttribute: this.closeAttribute,
161
- closeTarget: this.overlayCloseElement,
162
- result: this.returnValue
163
- }));
164
- }
165
- dispatchCloseEvent(_detail) {
166
- /** @type {SbbOverlayCloseEvent} Emits whenever the component is closed. */
167
- return this.dispatchEvent(new SbbOverlayCloseEvent("close", {
168
- closeAttribute: this.closeAttribute,
169
- closeTarget: this.overlayCloseElement,
170
- result: this.returnValue
171
- }));
172
- }
173
- render() {
174
- return html$1`
175
- <div class="sbb-overlay__container" @animationend=${this.onOverlayAnimationEnd}>
176
- <div class="sbb-overlay">
177
- <div
178
- @click=${(event) => this.closeOnSbbOverlayCloseClick(event)}
179
- class="sbb-overlay__wrapper"
180
- >
181
- <div class="sbb-overlay__header">
182
- <sbb-secondary-button
183
- class="sbb-overlay__close"
184
- aria-label="${this.accessibilityCloseLabel || i18nCloseDialog[this.language.current]}"
185
- ?negative=${this.negative}
186
- size="m"
187
- type="button"
188
- icon-name="cross-small"
189
- sbb-overlay-close
190
- ></sbb-secondary-button>
191
- </div>
192
- <div
193
- class="sbb-overlay__content"
194
- ${ref((el) => this._overlayContentElement = el)}
195
- @scroll=${(e) => forwardEvent(e, document)}
196
- >
197
- <sbb-container
198
- class="sbb-overlay__content-container"
199
- ?expanded=${this.expanded}
200
- color="transparent"
201
- >
202
- <slot></slot>
203
- </sbb-container>
204
- </div>
205
- </div>
206
- </div>
207
- </div>
208
- <sbb-screen-reader-only aria-live="polite"></sbb-screen-reader-only>
209
- `;
210
- }
211
- };
212
- })();
213
- //#endregion
214
- export { SbbOverlayElement as t };
215
-
216
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS5jb21wb25lbnQtQnVDa3FHNlEuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL292ZXJsYXkvb3ZlcmxheS5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgQGluY2x1ZGUgc2JiLnNjcm9sbGJhci12YXJpYWJsZXM7XG5cbiAgLS1fc2JiLW92ZXJsYXktcGFkZGluZy1ibG9jazogY2FsYyhcbiAgICB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0xNHgpICsgdmFyKC0tc2JiLXNwYWNpbmctcmVzcG9uc2l2ZS1sKVxuICApO1xuICAtLXNiYi1vdmVybGF5LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tNngpXG4gICk7XG5cbiAgZGlzcGxheTogdmFyKC0tc2JiLW92ZXJsYXktZGlzcGxheSk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IHZhcigtLXNiYi1vdmVybGF5LWluc2V0KTtcbiAgei1pbmRleDogdmFyKC0tc2JiLW92ZXJsYXktei1pbmRleCwgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KSk7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSB7XG4gIC0tc2JiLW92ZXJsYXktZGlzcGxheTogYmxvY2s7XG4gIC0tc2JiLW92ZXJsYXktY29udGFpbmVyLWRpc3BsYXk6IGZsZXg7XG59XG5cbjpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpKSkge1xuICAtLXNiYi1vdmVybGF5LXBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG5cbjpob3N0KFtuZWdhdGl2ZV0pIHtcbiAgQGluY2x1ZGUgc2JiLnNjcm9sbGJhci12YXJpYWJsZXMtLWNvbG9yLW5lZ2F0aXZlO1xuXG4gIC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRhcmspO1xuICAtLXNiYi1vdmVybGF5LWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMS1uZWdhdGl2ZSk7XG4gIC0tc2JiLW92ZXJsYXktYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMy1uZWdhdGl2ZSk7XG59XG5cbjpob3N0KDpub3QoOnN0YXRlKHN0YXRlLWNsb3NlZCkpKSB7XG4gIC0tc2JiLW92ZXJsYXktaW5zZXQ6IDA7XG59XG5cbi5zYmItb3ZlcmxheV9fY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLW92ZXJsYXktYmFja2dyb3VuZC1jb2xvcik7XG4gIHBvaW50ZXItZXZlbnRzOiB2YXIoLS1zYmItb3ZlcmxheS1wb2ludGVyLWV2ZW50cyk7XG4gIGRpc3BsYXk6IHZhcigtLXNiYi1vdmVybGF5LWNvbnRhaW5lci1kaXNwbGF5KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogdmFyKC0tc2JiLW92ZXJsYXktaW5zZXQpO1xuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSAmIHtcbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW47XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLW92ZXJsYXktYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLW92ZXJsYXktYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLWNsb3NpbmcpKSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBhbmltYXRpb24tbmFtZTogY2xvc2U7XG4gIH1cbn1cblxuLnNiYi1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1pbmxpbmU6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1vdmVybGF5LWhlaWdodCk7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBjb2xvcjogdmFyKC0tc2JiLW92ZXJsYXktY29sb3IpO1xuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtb3BlbmluZyksIDpzdGF0ZShzdGF0ZS1vcGVuZWQpLCA6c3RhdGUoc3RhdGUtY2xvc2luZykpKSAmIHtcbiAgICBhbmltYXRpb246IHtcbiAgICAgIG5hbWU6IG9wZW4tbW92ZS1pbjtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItb3ZlcmxheS1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItb3ZlcmxheS1hbmltYXRpb24tZWFzaW5nKTtcbiAgICB9XG4gIH1cblxuICA6aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZykpICYge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBjbG9zZS1tb3ZlLW91dDtcbiAgfVxufVxuXG4uc2JiLW92ZXJsYXlfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItb3ZlcmxheS1oZWlnaHQpO1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBsYXJnZSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgaW5zZXQtYmxvY2stc3RhcnQ6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5zYmItb3ZlcmxheV9faGVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLXNiYi1zcGFjaW5nLXJlc3BvbnNpdmUteHMpO1xuICBwYWRkaW5nLWJsb2NrLWVuZDogMDtcbiAgei1pbmRleDogMTtcblxuICAqIHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG59XG5cbi5zYmItb3ZlcmxheV9fY2xvc2Uge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvO1xufVxuXG4uc2JiLW92ZXJsYXlfX2NvbnRlbnQge1xuICBAaW5jbHVkZSBzYmIuc2Nyb2xsYmFyLXJ1bGVzO1xuXG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5zYmItb3ZlcmxheV9fY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1fc2JiLW92ZXJsYXktcGFkZGluZy1ibG9jayk7XG59XG5cbi8vIEl0IGlzIG5lY2Vzc2FyeSB0byB1c2UgYW5pbWF0aW9ucyB3aXRoIGtleWZyYW1lcyBpbnN0ZWFkIG9mIHRyYW5zaXRpb25zIGluIG9yZGVyIG5vdCB0byBhbHRlclxuLy8gdGhlIGRlZmF1bHQgYGRpc3BsYXk6IGJsb2NrYCBvZiB0aGUgbW9kYWwgb3RoZXJ3aXNlIGl0IGNhdXNlcyBzZXZlcmFsIHByb2JsZW1zLFxuLy8gZXNwZWNpYWxseSBmb3IgYWNjZXNzaWJpbGl0eS5cbkBrZXlmcmFtZXMgb3BlbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9wZW4tbW92ZS1pbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1zYmItc3BhY2luZy1maXhlZC00eCkpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjbG9zZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlLW1vdmUtb3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNHgpKTtcbiAgfVxufVxuIiwiaW1wb3J0IHsgdW5zYWZlQ1NTLCB0eXBlIENTU1Jlc3VsdEdyb3VwLCB0eXBlIFByb3BlcnR5VmFsdWVzLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgeyBTYmJTZWNvbmRhcnlCdXR0b25FbGVtZW50IH0gZnJvbSAnLi4vYnV0dG9uLnB1cmUudHMnO1xuaW1wb3J0IHsgU2JiQ29udGFpbmVyRWxlbWVudCB9IGZyb20gJy4uL2NvbnRhaW5lci5wdXJlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiRWxlbWVudFR5cGUsIFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyB9IGZyb20gJy4uL2NvcmUudHMnO1xuaW1wb3J0IHtcbiAgZm9yY2VUeXBlLFxuICBpc1plcm9BbmltYXRpb25EdXJhdGlvbixcbiAgZm9yd2FyZEV2ZW50LFxuICBpMThuQ2xvc2VEaWFsb2csXG4gIGJveFNpemluZ1N0eWxlcyxcbiAgU2JiU2NyZWVuUmVhZGVyT25seUVsZW1lbnQsXG59IGZyb20gJy4uL2NvcmUudHMnO1xuXG5pbXBvcnQge1xuICBvdmVybGF5UmVmcyxcbiAgU2JiT3ZlcmxheUJhc2VFbGVtZW50LFxuICBTYmJPdmVybGF5Q2xvc2VFdmVudCxcbn0gZnJvbSAnLi9vdmVybGF5LWJhc2UtZWxlbWVudC50cyc7XG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9vdmVybGF5LnNjc3M/aW5saW5lJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYW4gaW50ZXJhY3RpdmUgb3ZlcmxheSBlbGVtZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gcHJvdmlkZSBhIGNvbnRlbnQgZm9yIHRoZSBvdmVybGF5LlxuICogQGNzc3Byb3AgWy0tc2JiLW92ZXJsYXktei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnQgY2xhc3MgU2JiT3ZlcmxheUVsZW1lbnQgZXh0ZW5kcyBTYmJPdmVybGF5QmFzZUVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLW92ZXJsYXknO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbXG4gICAgU2JiU2Vjb25kYXJ5QnV0dG9uRWxlbWVudCxcbiAgICBTYmJDb250YWluZXJFbGVtZW50LFxuICAgIFNiYlNjcmVlblJlYWRlck9ubHlFbGVtZW50LFxuICBdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcblxuICAvLyBUT0RPOiBmaXggdXNpbmcgLi4uc3VwZXIuZXZlbnRzIHJlcXVpcmVzOiBodHRwczovL2dpdGh1Yi5jb20vc2JiLWRlc2lnbi1zeXN0ZW1zL2x5bmUtY29tcG9uZW50cy9pc3N1ZXMvMjYwMFxuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBiZWZvcmVvcGVuOiAnYmVmb3Jlb3BlbicsXG4gICAgb3BlbjogJ29wZW4nLFxuICAgIGJlZm9yZWNsb3NlOiAnYmVmb3JlY2xvc2UnLFxuICAgIGNsb3NlOiAnY2xvc2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFsbG93IHRoZSBvdmVybGF5IGNvbnRlbnQgdG8gc3RyZXRjaCB0byBmdWxsIHdpZHRoLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgY29udGVudCBoYXMgdGhlIGFwcHJvcHJpYXRlIHBhZ2Ugc2l6ZS5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBleHBhbmRlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBUaGlzIHdpbGwgYmUgZm9yd2FyZGVkIGFzIGFyaWEtbGFiZWwgdG8gdGhlIGNsb3NlIGJ1dHRvbiBlbGVtZW50LiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1jbG9zZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICBwcm90ZWN0ZWQgY2xvc2VBdHRyaWJ1dGU6IHN0cmluZyA9ICdzYmItb3ZlcmxheS1jbG9zZSc7XG4gIHByaXZhdGUgX292ZXJsYXlDb250ZW50RWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5pZCB8fD0gYHNiYi1vdmVybGF5LSR7bmV4dElkKyt9YDtcblxuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvLyBJZiB0aGUgY29tcG9uZW50IGlzIGFscmVhZHkgb3BlbiBvbiBmaXJzdFVwZGF0ZSwgYW5ub3VuY2UgdGhlIHRpdGxlXG4gICAgaWYgKHRoaXMuaXNPcGVuKSB7XG4gICAgICB0aGlzLnNldEFyaWFMaXZlUmVmQ29udGVudCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBpc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLW92ZXJsYXktYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlT3BlbmluZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5lZCc7XG4gICAgdGhpcy5pbmVydENvbnRyb2xsZXIuYWN0aXZhdGUoKTtcbiAgICB0aGlzLmZvY3VzVHJhcENvbnRyb2xsZXIuZm9jdXNJbml0aWFsRWxlbWVudCgpO1xuICAgIC8vIFVzZSB0aW1lb3V0IHRvIHJlYWQgbGFiZWwgYWZ0ZXIgZm9jdXNlZCBlbGVtZW50XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNldEFyaWFMaXZlUmVmQ29udGVudCh0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCkpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLl9vdmVybGF5Q29udGVudEVsZW1lbnQ/LnNjcm9sbFRvKDAsIDApO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmhpZGVQb3BvdmVyPy4oKTtcbiAgICB0aGlzLmluZXJ0Q29udHJvbGxlci5kZWFjdGl2YXRlKCk7XG4gICAgaWYgKCF0aGlzLnNraXBGb2N1c1Jlc3RvcmF0aW9uKSB7XG4gICAgICAvLyBNYW51YWxseSBmb2N1cyBsYXN0IGZvY3VzZWQgZWxlbWVudFxuICAgICAgdGhpcy5sYXN0Rm9jdXNlZEVsZW1lbnQ/LmZvY3VzKCk7XG4gICAgfVxuICAgIHRoaXMub3Blbk92ZXJsYXlDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gZmFsc2U7XG4gICAgdGhpcy5yZW1vdmVJbnN0YW5jZUZyb21HbG9iYWxDb2xsZWN0aW9uKCk7XG4gICAgLy8gRW5hYmxlIHNjcm9sbGluZyBmb3IgY29udGVudCBiZWxvdyB0aGUgb3ZlcmxheSBpZiBubyBvdmVybGF5IGlzIG9wZW5cbiAgICBpZiAoIW92ZXJsYXlSZWZzLmxlbmd0aCkge1xuICAgICAgdGhpcy5zY3JvbGxIYW5kbGVyLmVuYWJsZVNjcm9sbCgpO1xuICAgIH1cbiAgICB0aGlzLmVzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmRpc3BhdGNoQ2xvc2VFdmVudCh7XG4gICAgICByZXR1cm5WYWx1ZTogdGhpcy5yZXR1cm5WYWx1ZSxcbiAgICAgIGNsb3NlVGFyZ2V0OiB0aGlzLm92ZXJsYXlDbG9zZUVsZW1lbnQsXG4gICAgfSk7XG4gIH1cblxuICAvLyBUT0RPOiByZW1vdmUgcGFyYW1ldGVyIGBkZXRhaWxgXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaXNwYXRjaEJlZm9yZUNsb3NlRXZlbnQoX2RldGFpbD86IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyk6IGJvb2xlYW4ge1xuICAgIC8qKiBAdHlwZSB7U2JiT3ZlcmxheUNsb3NlRXZlbnR9IEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC4gKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IFNiYk92ZXJsYXlDbG9zZUV2ZW50KCdiZWZvcmVjbG9zZScsIHtcbiAgICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICAgICAgY2xvc2VBdHRyaWJ1dGU6IHRoaXMuY2xvc2VBdHRyaWJ1dGUsXG4gICAgICAgIGNsb3NlVGFyZ2V0OiB0aGlzLm92ZXJsYXlDbG9zZUVsZW1lbnQsXG4gICAgICAgIHJlc3VsdDogdGhpcy5yZXR1cm5WYWx1ZSxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICAvLyBUT0RPOiByZW1vdmUgcGFyYW1ldGVyIGBkZXRhaWxgXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaXNwYXRjaENsb3NlRXZlbnQoX2RldGFpbD86IFNiYk92ZXJsYXlDbG9zZUV2ZW50RGV0YWlscyk6IGJvb2xlYW4ge1xuICAgIC8qKiBAdHlwZSB7U2JiT3ZlcmxheUNsb3NlRXZlbnR9IEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkLiAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgU2JiT3ZlcmxheUNsb3NlRXZlbnQoJ2Nsb3NlJywge1xuICAgICAgICBjbG9zZUF0dHJpYnV0ZTogdGhpcy5jbG9zZUF0dHJpYnV0ZSxcbiAgICAgICAgY2xvc2VUYXJnZXQ6IHRoaXMub3ZlcmxheUNsb3NlRWxlbWVudCxcbiAgICAgICAgcmVzdWx0OiB0aGlzLnJldHVyblZhbHVlLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1vdmVybGF5X19jb250YWluZXJcIiBAYW5pbWF0aW9uZW5kPSR7dGhpcy5vbk92ZXJsYXlBbmltYXRpb25FbmR9PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW92ZXJsYXlcIj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBAY2xpY2s9JHsoZXZlbnQ6IEV2ZW50KSA9PiB0aGlzLmNsb3NlT25TYmJPdmVybGF5Q2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1vdmVybGF5X193cmFwcGVyXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLW92ZXJsYXlfX2hlYWRlclwiPlxuICAgICAgICAgICAgICA8c2JiLXNlY29uZGFyeS1idXR0b25cbiAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1vdmVybGF5X19jbG9zZVwiXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIiR7dGhpcy5hY2Nlc3NpYmlsaXR5Q2xvc2VMYWJlbCB8fFxuICAgICAgICAgICAgICAgIGkxOG5DbG9zZURpYWxvZ1t0aGlzLmxhbmd1YWdlLmN1cnJlbnRdfVwiXG4gICAgICAgICAgICAgICAgP25lZ2F0aXZlPSR7dGhpcy5uZWdhdGl2ZX1cbiAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICAgICAgICAgIHNiYi1vdmVybGF5LWNsb3NlXG4gICAgICAgICAgICAgID48L3NiYi1zZWNvbmRhcnktYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwic2JiLW92ZXJsYXlfX2NvbnRlbnRcIlxuICAgICAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5fb3ZlcmxheUNvbnRlbnRFbGVtZW50ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgICAgICAgQHNjcm9sbD0keyhlOiBFdmVudCkgPT4gZm9yd2FyZEV2ZW50KGUsIGRvY3VtZW50KX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNiYi1jb250YWluZXJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1vdmVybGF5X19jb250ZW50LWNvbnRhaW5lclwiXG4gICAgICAgICAgICAgICAgP2V4cGFuZGVkPSR7dGhpcy5leHBhbmRlZH1cbiAgICAgICAgICAgICAgICBjb2xvcj1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICAgICAgPC9zYmItY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8c2JiLXNjcmVlbi1yZWFkZXItb25seSBhcmlhLWxpdmU9XCJwb2xpdGVcIj48L3NiYi1zY3JlZW4tcmVhZGVyLW9ubHk+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLW92ZXJsYXknOiBTYmJPdmVybGF5RWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FDd0JBLElBQUksU0FBUzs7Ozs7Ozs7O0lBVUEsMkJBQWlCO21CQUFTOzs7Ozs7O2NBQTFCLDBCQUEwQixZQUFxQjs7O0FBdUIxQyxTQUFBLDRCQUFBLGtCQUFBLE1BQUEsd0JBQW9CLE1BQUs7QUFLekIsU0FBQSw0Q0FBQSxrQkFBQSxNQUFBLDRCQUFBLEVBQUEsa0JBQUEsTUFBQSx1Q0FBa0MsR0FBRTtBQUUxQyxRQUFBLGtCQUFjLGtCQUFBLE1BQUEsMkNBQUEsRUFBVztBQUMzQixRQUFBLHlCQUE2Qzs7OzsyQkFWcEQsV0FBVyxFQUNYLFNBQVM7SUFBRSxTQUFTO0lBQU0sTUFBTTtJQUFTLENBQUMsQ0FBQTswQ0FJMUMsV0FBVyxFQUNYLFNBQVMsRUFBRSxXQUFXLDZCQUE2QixDQUFDLENBQUE7QUFKckQsZ0JBQUEsTUFBQSxNQUFBLHNCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsY0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFRLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBUixXQUFROztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsd0JBQUEsNEJBQUE7QUFLeEIsZ0JBQUEsTUFBQSxNQUFBLHFDQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsNkJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBdUIsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUF2QiwwQkFBdUI7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx1Q0FBQSwyQ0FBQTs7Ozs7Ozs7O0FBM0JQLFFBQUEsY0FBc0I7OztBQUMvQixRQUFBLHNCQUF3QztJQUM3RDtJQUNBO0lBQ0E7SUFDRDs7O0FBQ3NCLFFBQUEsU0FBeUIsQ0FBQyxpQkFBaUIsVUFBVSxnQkFBTSxDQUFDOzs7QUFHbkQsUUFBQSxTQUFTO0lBQ3ZDLFlBQVk7SUFDWixNQUFNO0lBQ04sYUFBYTtJQUNiLE9BQU87SUFDQzs7RUFRVjs7Ozs7RUFBQSxJQUFnQixXQUFRO0FBQUEsVUFBQSxNQUFBOztFQUF4QixJQUFnQixTQUFRLE9BQUE7QUFBQSxTQUFBLDRCQUFBOztFQUt4Qjs7RUFBQSxJQUFnQiwwQkFBdUI7QUFBQSxVQUFBLE1BQUE7O0VBQXZDLElBQWdCLHdCQUF1QixPQUFBO0FBQUEsU0FBQSwyQ0FBQTs7RUFLdkIsb0JBQWlCO0FBQy9CLFFBQUssT0FBTyxlQUFlO0FBRTNCLFNBQU0sbUJBQW1COztFQUdSLGFBQWEsbUJBQXVDO0FBQ3JFLFNBQU0sYUFBYSxrQkFBa0I7QUFHckMsT0FBSSxLQUFLLE9BQ1AsTUFBSyx1QkFBdUI7O0VBSXRCLDBCQUF1QjtBQUMvQixVQUFPLHdCQUF3QixNQUFNLG1DQUFtQzs7RUFHaEUsZ0JBQWE7QUFDckIsUUFBSyxRQUFRO0FBQ2IsUUFBSyxnQkFBZ0IsVUFBVTtBQUMvQixRQUFLLG9CQUFvQixxQkFBcUI7QUFFOUMsb0JBQWlCLEtBQUssc0JBQXNCLEtBQUssbUJBQW1CLENBQUM7QUFDckUsUUFBSyxvQkFBb0IsVUFBVTtBQUNuQyxRQUFLLG1CQUFtQjs7RUFHUCxnQkFBYTtBQUM5QixRQUFLLHdCQUF3QixTQUFTLEdBQUcsRUFBRTtBQUMzQyxRQUFLLFFBQVE7QUFDYixRQUFLLGVBQWU7QUFDcEIsUUFBSyxnQkFBZ0IsWUFBWTtBQUNqQyxPQUFJLENBQUMsS0FBSyxxQkFFUixNQUFLLG9CQUFvQixPQUFPO0FBRWxDLFFBQUssdUJBQXVCLE9BQU87QUFDbkMsUUFBSyxvQkFBb0IsVUFBVTtBQUNuQyxRQUFLLG9DQUFvQztBQUV6QyxPQUFJLENBQUMsWUFBWSxPQUNmLE1BQUssY0FBYyxjQUFjO0FBRW5DLFFBQUssMkJBQTJCLFlBQVk7QUFDNUMsUUFBSyxtQkFBbUI7SUFDdEIsYUFBYSxLQUFLO0lBQ2xCLGFBQWEsS0FBSztJQUNuQixDQUFDOztFQUllLHlCQUF5QixTQUFxQzs7QUFFL0UsVUFBTyxLQUFLLGNBQ1YsSUFBSSxxQkFBcUIsZUFBZTtJQUN0QyxZQUFZO0lBQ1osZ0JBQWdCLEtBQUs7SUFDckIsYUFBYSxLQUFLO0lBQ2xCLFFBQVEsS0FBSztJQUNkLENBQUMsQ0FDSDs7RUFJZ0IsbUJBQW1CLFNBQXFDOztBQUV6RSxVQUFPLEtBQUssY0FDVixJQUFJLHFCQUFxQixTQUFTO0lBQ2hDLGdCQUFnQixLQUFLO0lBQ3JCLGFBQWEsS0FBSztJQUNsQixRQUFRLEtBQUs7SUFDZCxDQUFDLENBQ0g7O0VBR2dCLFNBQU07QUFDdkIsVUFBTyxNQUFJOzBEQUMyQyxLQUFLLHNCQUFxQjs7O3NCQUc5RCxVQUFpQixLQUFLLDRCQUE0QixNQUFNLENBQUE7Ozs7Ozs4QkFNaEQsS0FBSywyQkFDbkIsZ0JBQWdCLEtBQUssU0FBUyxTQUFROzRCQUMxQixLQUFLLFNBQUE7Ozs7Ozs7OztnQkFTakIsS0FBSyxPQUFrQixLQUFLLHlCQUF5QixHQUFzQixDQUFBO3lCQUNsRSxNQUFhLGFBQWEsR0FBRyxTQUFTLENBQUE7Ozs7NEJBSW5DLEtBQUssU0FBQSJ9
@@ -1,261 +0,0 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { html, nothing, unsafeCSS } from "lit";
3
- import { property } from "lit/decorators.js";
4
- import { SbbElement, boxSizingStyles, forceType, i18nItemsPerPage, i18nPage, sbbInputModalityDetector } from "./core.js";
5
- import { SbbPaginatorCommonElementMixin } from "./paginator/common/paginator-common.js";
6
- import { repeat } from "lit/directives/repeat.js";
7
- import { SbbFormFieldElement } from "./form-field.pure.js";
8
- import { SbbOptionElement } from "./option.pure.js";
9
- import { SbbSelectElement } from "./select.pure.js";
10
- //#region src/elements/paginator/paginator/paginator.scss?inline
11
- var paginator_default = ":host {\n --sbb-paginator-animation-duration: var(\n --sbb-disable-animation-duration,\n var(--sbb-animation-duration-2x)\n );\n display: block;\n}\n\n:host([size=s]) {\n --sbb-paginator-height: var(--sbb-size-element-xs);\n}\n\n:host([size=m]) {\n --sbb-paginator-height: var(--sbb-size-element-m);\n}\n\n:host([negative]) {\n --sbb-paginator-page-color: var(--sbb-color-5);\n --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);\n}\n\n:host([pager-position=end]) {\n --sbb-paginator-justify-content: end;\n --sbb-paginator-wrapping-group-wrap: wrap;\n --sbb-paginator-wrap: wrap-reverse;\n}\n\n.sbb-paginator,\n.sbb-paginator__wrapping-group {\n display: flex;\n gap: var(--sbb-spacing-fixed-3x) var(--sbb-spacing-fixed-6x);\n justify-content: var(--sbb-paginator-justify-content, start);\n}\n\n.sbb-paginator {\n flex-wrap: var(--sbb-paginator-wrap, wrap);\n min-height: var(--sbb-paginator-height);\n}\n\n.sbb-paginator__wrapping-group {\n flex-wrap: var(--sbb-paginator-wrapping-group-wrap, wrap-reverse);\n}\n\n.sbb-paginator__page-size-options {\n display: flex;\n align-items: center;\n gap: var(--sbb-spacing-fixed-2x);\n white-space: nowrap;\n color: var(--sbb-paginator-page-color);\n font-size: var(--sbb-paginator-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n}\n.sbb-paginator__page-size-options sbb-select {\n color: var(--sbb-form-field-text-color);\n font-size: var(--sbb-form-field-input-text-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n padding-inline-end: var(--sbb-form-field-select-inline-padding-end);\n}\n\n.sbb-paginator__pages {\n list-style: none;\n margin: 0;\n padding: 0;\n font-size: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--sbb-spacing-fixed-1x);\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n.sbb-paginator__page--ellipsis,\n.sbb-paginator__page--number {\n position: relative;\n font-size: var(--sbb-paginator-font-size);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n color: var(--sbb-paginator-page-color);\n}\n\n.sbb-paginator__page--ellipsis-item,\n.sbb-paginator__page--number-item {\n display: flex;\n justify-content: center;\n align-items: center;\n width: var(--sbb-size-element-xxs);\n height: var(--sbb-size-element-xxs);\n}\n\n.sbb-paginator__page--number-item {\n appearance: none;\n box-sizing: border-box;\n margin: 0;\n outline: none;\n border: none;\n border-radius: 0;\n padding: 0;\n background: none;\n -webkit-tap-highlight-color: transparent;\n color: inherit;\n --sbb-text-font-size: var(--sbb-paginator-font-size);\n font-family: var(--sbb-typo-font-family);\n font-weight: normal;\n line-height: var(--sbb-typo-line-height-text);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-text-font-size);\n position: relative;\n cursor: var(--sbb-paginator-page-cursor);\n outline: none !important;\n color: var(--sbb-paginator-page-color);\n transition: color var(--sbb-paginator-animation-duration) var(--sbb-paginator-animation-easing);\n}\n.sbb-paginator__page--number-item::before {\n content: \"\";\n position: absolute;\n background-color: var(--sbb-paginator-page-background-color, transparent);\n border: var(--sbb-paginator-page-border-width) var(--sbb-paginator-page-border-style, none) var(--sbb-paginator-page-border-color, none);\n border-radius: var(--sbb-border-radius-infinity);\n inset: var(--sbb-paginator-page-inset, 0);\n transition-property: background-color, border, inset;\n transition-duration: var(--sbb-paginator-animation-duration);\n transition-timing-function: var(--sbb-paginator-animation-easing);\n}\n.sbb-paginator__page--number-item:focus-visible::before {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n outline-offset: var(--sbb-border-width-2x);\n}\n.sbb-paginator__page--number-item[data-selected] {\n font-weight: bold;\n --sbb-paginator-page-color: var(--sbb-color-3);\n --sbb-paginator-page-border-width: var(--sbb-border-width-2x);\n --sbb-paginator-page-border-style: solid;\n --sbb-paginator-page-border-color: var(--sbb-border-color-2);\n}\n:host([negative]) .sbb-paginator__page--number-item[data-selected] {\n --sbb-paginator-page-color: var(--sbb-color-3-negative);\n --sbb-paginator-page-border-color: var(--sbb-border-color-2-negative);\n}\n@media (forced-colors: active) {\n .sbb-paginator__page--number-item[data-selected] {\n --sbb-paginator-page-border-color: Highlight !important;\n }\n}\n.sbb-paginator__page--number-item:disabled {\n --sbb-paginator-page-color: var(--sbb-color-5);\n --sbb-paginator-page-border-style: dashed;\n --sbb-paginator-page-border-color: var(--sbb-border-color-5);\n --sbb-paginator-page-background-color: var(--sbb-background-color-3);\n --sbb-paginator-page-cursor: var(--sbb-cursor-default);\n}\n.sbb-paginator__page--number-item:disabled:not([data-selected]) {\n --sbb-paginator-page-border-width: var(--sbb-border-width-1x);\n}\n:host([negative]) .sbb-paginator__page--number-item:disabled {\n --sbb-paginator-page-color: var(--sbb-color-5);\n --sbb-paginator-page-background-color: var(--sbb-background-color-3-negative);\n}\n@media (forced-colors: active) {\n .sbb-paginator__page--number-item:disabled {\n --sbb-paginator-page-border-color: GrayText;\n --sbb-paginator-page-color: GrayText;\n --sbb-paginator-page-background-color: Canvas;\n }\n}\n@media (any-hover: hover) {\n .sbb-paginator__page--number-item:not(:disabled):hover {\n --sbb-paginator-page-background-color: var(--sbb-background-color-3);\n --sbb-paginator-page-inset: calc(var(--sbb-border-width-2x) * -1);\n --sbb-paginator-translate-y-content-hover: -0.0625rem;\n }\n :host([negative]) .sbb-paginator__page--number-item:not(:disabled):hover {\n --sbb-paginator-page-background-color: var(--sbb-background-color-3-negative);\n }\n}\n@media (any-hover: hover) and (forced-colors: active) {\n .sbb-paginator__page--number-item:not(:disabled):hover {\n --sbb-paginator-page-background-color: Highlight !important;\n }\n}\n.sbb-paginator__page--number-item:not(:disabled):active {\n --sbb-paginator-page-color: var(--sbb-color-3);\n --sbb-paginator-page-background-color: var(--sbb-background-color-4);\n --sbb-paginator-page-inset: 0;\n --sbb-paginator-translate-y-content-hover: 0;\n}\n:host([negative]) .sbb-paginator__page--number-item:not(:disabled):active {\n --sbb-paginator-page-color: var(--sbb-color-3-negative);\n --sbb-paginator-page-background-color: var(--sbb-background-color-4-negative);\n}\n@media (forced-colors: active) {\n .sbb-paginator__page--number-item:not(:disabled):active {\n --sbb-paginator-page-background-color: Highlight !important;\n }\n}\n\n.sbb-paginator__page--number-item-label {\n transition: transform var(--sbb-paginator-animation-duration) var(--sbb-paginator-animation-easing);\n transform: translateY(var(--sbb-paginator-translate-y-content-hover, 0rem));\n}\n\n.sbb-screen-reader-only {\n border: 0;\n clip-path: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}";
12
- //#endregion
13
- //#region src/elements/paginator/paginator/paginator.component.ts
14
- var MAX_PAGE_NUMBERS_DISPLAYED = 3;
15
- /**
16
- * It displays a paginator component.
17
- */
18
- var SbbPaginatorElement = (() => {
19
- let _classSuper = SbbPaginatorCommonElementMixin(SbbElement);
20
- let _pageSizeOptions_decorators;
21
- let _pageSizeOptions_initializers = [];
22
- let _pageSizeOptions_extraInitializers = [];
23
- let _pagerPosition_decorators;
24
- let _pagerPosition_initializers = [];
25
- let _pagerPosition_extraInitializers = [];
26
- let _accessibilityItemsPerPageLabel_decorators;
27
- let _accessibilityItemsPerPageLabel_initializers = [];
28
- let _accessibilityItemsPerPageLabel_extraInitializers = [];
29
- return class SbbPaginatorElement extends _classSuper {
30
- constructor() {
31
- super(...arguments);
32
- this.#pageSizeOptions_accessor_storage = __runInitializers(this, _pageSizeOptions_initializers, []);
33
- this.#pagerPosition_accessor_storage = (__runInitializers(this, _pageSizeOptions_extraInitializers), __runInitializers(this, _pagerPosition_initializers, "start"));
34
- this.#accessibilityItemsPerPageLabel_accessor_storage = (__runInitializers(this, _pagerPosition_extraInitializers), __runInitializers(this, _accessibilityItemsPerPageLabel_initializers, ""));
35
- this._markForFocus = (__runInitializers(this, _accessibilityItemsPerPageLabel_extraInitializers), false);
36
- }
37
- static {
38
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
39
- _pageSizeOptions_decorators = [property({
40
- attribute: "page-size-options",
41
- type: Array
42
- })];
43
- _pagerPosition_decorators = [property({
44
- attribute: "pager-position",
45
- reflect: true
46
- })];
47
- _accessibilityItemsPerPageLabel_decorators = [forceType(), property({ attribute: "accessibility-items-per-page-label" })];
48
- __esDecorate(this, null, _pageSizeOptions_decorators, {
49
- kind: "accessor",
50
- name: "pageSizeOptions",
51
- static: false,
52
- private: false,
53
- access: {
54
- has: (obj) => "pageSizeOptions" in obj,
55
- get: (obj) => obj.pageSizeOptions,
56
- set: (obj, value) => {
57
- obj.pageSizeOptions = value;
58
- }
59
- },
60
- metadata: _metadata
61
- }, _pageSizeOptions_initializers, _pageSizeOptions_extraInitializers);
62
- __esDecorate(this, null, _pagerPosition_decorators, {
63
- kind: "accessor",
64
- name: "pagerPosition",
65
- static: false,
66
- private: false,
67
- access: {
68
- has: (obj) => "pagerPosition" in obj,
69
- get: (obj) => obj.pagerPosition,
70
- set: (obj, value) => {
71
- obj.pagerPosition = value;
72
- }
73
- },
74
- metadata: _metadata
75
- }, _pagerPosition_initializers, _pagerPosition_extraInitializers);
76
- __esDecorate(this, null, _accessibilityItemsPerPageLabel_decorators, {
77
- kind: "accessor",
78
- name: "accessibilityItemsPerPageLabel",
79
- static: false,
80
- private: false,
81
- access: {
82
- has: (obj) => "accessibilityItemsPerPageLabel" in obj,
83
- get: (obj) => obj.accessibilityItemsPerPageLabel,
84
- set: (obj, value) => {
85
- obj.accessibilityItemsPerPageLabel = value;
86
- }
87
- },
88
- metadata: _metadata
89
- }, _accessibilityItemsPerPageLabel_initializers, _accessibilityItemsPerPageLabel_extraInitializers);
90
- if (_metadata) Object.defineProperty(this, Symbol.metadata, {
91
- enumerable: true,
92
- configurable: true,
93
- writable: true,
94
- value: _metadata
95
- });
96
- }
97
- static {
98
- this.elementName = "sbb-paginator";
99
- }
100
- static {
101
- this.elementDependencies = [
102
- SbbFormFieldElement,
103
- SbbSelectElement,
104
- SbbOptionElement
105
- ];
106
- }
107
- static {
108
- this.styles = [boxSizingStyles, unsafeCSS(paginator_default)];
109
- }
110
- static {
111
- this.events = { page: "page" };
112
- }
113
- #pageSizeOptions_accessor_storage;
114
- /** The available `pageSize` choices. */
115
- get pageSizeOptions() {
116
- return this.#pageSizeOptions_accessor_storage;
117
- }
118
- set pageSizeOptions(value) {
119
- this.#pageSizeOptions_accessor_storage = value;
120
- }
121
- #pagerPosition_accessor_storage;
122
- /**
123
- * Position of the prev/next buttons: if `pageSizeOptions` is set,
124
- * the sbb-select for the pageSize change will be positioned oppositely, with the page numbers always in the center.
125
- */
126
- get pagerPosition() {
127
- return this.#pagerPosition_accessor_storage;
128
- }
129
- set pagerPosition(value) {
130
- this.#pagerPosition_accessor_storage = value;
131
- }
132
- #accessibilityItemsPerPageLabel_accessor_storage;
133
- /**
134
- * Accessibility label for the items per page. Defaults to `Items per page.`.
135
- * Can be set for cases like a carousel, where `slide` or `image` fits better.
136
- */
137
- get accessibilityItemsPerPageLabel() {
138
- return this.#accessibilityItemsPerPageLabel_accessor_storage;
139
- }
140
- set accessibilityItemsPerPageLabel(value) {
141
- this.#accessibilityItemsPerPageLabel_accessor_storage = value;
142
- }
143
- updated(changedProperties) {
144
- super.updated(changedProperties);
145
- /** Tab navigation can force a rerender when ellipsis elements need to be displayed; the focus must stay on the correct element. */
146
- if (this._markForFocus) {
147
- const focusElement = this._getVisiblePages().find((e) => this.pageIndex === +e.getAttribute("data-index"));
148
- if (focusElement) focusElement.focus();
149
- this._markForFocus = false;
150
- }
151
- }
152
- /** Returns the displayed page elements. */
153
- _getVisiblePages() {
154
- return Array.from(this.shadowRoot.querySelectorAll(".sbb-paginator__page--number-item"));
155
- }
156
- /**
157
- * Calculate the pages set based on the following rules:
158
- * - the first page must always be visible;
159
- * - the last page must always be visible;
160
- * - if there are more than `MAX_PAGE_NUMBERS_DISPLAYED` other pages, ellipsis button must be used.
161
- */
162
- _getVisiblePagesIndex() {
163
- const totalPages = this.numberOfPages();
164
- const currentPageIndex = this.pageIndex;
165
- if (totalPages <= MAX_PAGE_NUMBERS_DISPLAYED + 2) return this._range(totalPages);
166
- else if (currentPageIndex < MAX_PAGE_NUMBERS_DISPLAYED) return [
167
- ...this._range(MAX_PAGE_NUMBERS_DISPLAYED + 1),
168
- "ellipsis",
169
- totalPages - 1
170
- ];
171
- else if (currentPageIndex >= totalPages - MAX_PAGE_NUMBERS_DISPLAYED) return [
172
- 0,
173
- "ellipsis",
174
- ...this._range(MAX_PAGE_NUMBERS_DISPLAYED + 1, totalPages - 1 - MAX_PAGE_NUMBERS_DISPLAYED)
175
- ];
176
- else return [
177
- 0,
178
- "ellipsis",
179
- currentPageIndex - 1,
180
- currentPageIndex,
181
- currentPageIndex + 1,
182
- "ellipsis",
183
- totalPages - 1
184
- ];
185
- }
186
- /** Creates an array of consecutive numbers given the length and the starting value. */
187
- _range(length, offset = 0) {
188
- return Array.from({ length }, (_, k) => k + offset);
189
- }
190
- _onPageNumberClick(index) {
191
- this.selectPage(index);
192
- this._markForFocus = sbbInputModalityDetector.mostRecentModality === "keyboard";
193
- }
194
- _renderItemPerPageTemplate() {
195
- return this.pageSizeOptions && this.pageSizeOptions.length > 0 ? html`
196
- <div class="sbb-paginator__page-size-options">
197
- <label for="select"
198
- >${this.accessibilityItemsPerPageLabel ? this.accessibilityItemsPerPageLabel : i18nItemsPerPage[this.language.current]}</label
199
- >
200
- <sbb-form-field
201
- borderless
202
- width="collapse"
203
- ?negative=${this.negative}
204
- size=${this.size || nothing}
205
- >
206
- <sbb-select
207
- id="select"
208
- ?disabled=${this.disabled}
209
- value=${this.pageSizeOptions?.find((e) => e === this.pageSize) ?? this.pageSizeOptions[0]}
210
- @change=${(e) => this.pageSize = +e.target.value}
211
- >
212
- ${repeat(this.pageSizeOptions, (element) => html`<sbb-option value=${element}>${element}</sbb-option>`)}
213
- </sbb-select>
214
- </sbb-form-field>
215
- </div>
216
- ` : nothing;
217
- }
218
- _renderPageNumbers() {
219
- return html`
220
- <ul class="sbb-paginator__pages">
221
- ${repeat(this._getVisiblePagesIndex(), (item) => item === "ellipsis" ? html`
222
- <li class="sbb-paginator__page--ellipsis">
223
- <span class="sbb-paginator__page--ellipsis-item">…</span>
224
- </li>
225
- ` : html`
226
- <li class="sbb-paginator__page--number">
227
- <button
228
- ?data-selected=${this.pageIndex === item}
229
- ?disabled=${this.disabled}
230
- class="sbb-paginator__page--number-item"
231
- data-index=${item}
232
- aria-label="${this.accessibilityPageLabel ? this.accessibilityPageLabel : i18nPage[this.language.current]} ${item + 1}"
233
- aria-current=${this.pageIndex === item ? "true" : nothing}
234
- @click=${() => this._onPageNumberClick(item)}
235
- >
236
- <span class="sbb-paginator__page--number-item-label">${item + 1}</span>
237
- </button>
238
- </li>
239
- `)}
240
- </ul>
241
- `;
242
- }
243
- renderPaginator() {
244
- return html`
245
- <div class="sbb-paginator">
246
- ${this.pagerPosition === "start" ? html`<span class="sbb-paginator__wrapping-group">
247
- ${this.renderPrevNextButtons()} ${this._renderPageNumbers()}
248
- </span>
249
- ${this._renderItemPerPageTemplate()}` : html`${this._renderItemPerPageTemplate()}
250
- <span class="sbb-paginator__wrapping-group">
251
- ${this._renderPageNumbers()} ${this.renderPrevNextButtons()}
252
- </span>`}</span>
253
- </div>
254
- `;
255
- }
256
- };
257
- })();
258
- //#endregion
259
- export { SbbPaginatorElement as t };
260
-
261
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC1DcW03TXVSRC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL3BhZ2luYXRvci9wYWdpbmF0b3Iuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItcGFnaW5hdG9yLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tMngpXG4gICk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItcGFnaW5hdG9yLWhlaWdodDogdmFyKC0tc2JiLXNpemUtZWxlbWVudC14cyk7XG59XG5cbjpob3N0KFtzaXplPSdtJ10pIHtcbiAgLS1zYmItcGFnaW5hdG9yLWhlaWdodDogdmFyKC0tc2JiLXNpemUtZWxlbWVudC1tKTtcbn1cblxuOmhvc3QoW25lZ2F0aXZlXSkge1xuICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xuICAtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvci1kYXJrKTtcbn1cblxuOmhvc3QoW3BhZ2VyLXBvc2l0aW9uPSdlbmQnXSkge1xuICAtLXNiYi1wYWdpbmF0b3ItanVzdGlmeS1jb250ZW50OiBlbmQ7XG4gIC0tc2JiLXBhZ2luYXRvci13cmFwcGluZy1ncm91cC13cmFwOiB3cmFwO1xuICAtLXNiYi1wYWdpbmF0b3Itd3JhcDogd3JhcC1yZXZlcnNlO1xufVxuXG4uc2JiLXBhZ2luYXRvcixcbi5zYmItcGFnaW5hdG9yX193cmFwcGluZy1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtM3gpIHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTZ4KTtcbiAganVzdGlmeS1jb250ZW50OiB2YXIoLS1zYmItcGFnaW5hdG9yLWp1c3RpZnktY29udGVudCwgc3RhcnQpO1xufVxuXG4uc2JiLXBhZ2luYXRvciB7XG4gIGZsZXgtd3JhcDogdmFyKC0tc2JiLXBhZ2luYXRvci13cmFwLCB3cmFwKTtcbiAgbWluLWhlaWdodDogdmFyKC0tc2JiLXBhZ2luYXRvci1oZWlnaHQpO1xufVxuXG4uc2JiLXBhZ2luYXRvcl9fd3JhcHBpbmctZ3JvdXAge1xuICBmbGV4LXdyYXA6IHZhcigtLXNiYi1wYWdpbmF0b3Itd3JhcHBpbmctZ3JvdXAtd3JhcCwgd3JhcC1yZXZlcnNlKTtcbn1cblxuLnNiYi1wYWdpbmF0b3JfX3BhZ2Utc2l6ZS1vcHRpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0yeCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNvbG9yOiB2YXIoLS1zYmItcGFnaW5hdG9yLXBhZ2UtY29sb3IpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi1wYWdpbmF0b3ItZm9udC1zaXplKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuXG4gIC8vIFJlYXBwbHkgcGFydCBvZiB0aGUgZ2xvYmFsIGZvcm0tZmllbGQgY3NzIHRoYXQgZG9lcyBub3QgcGllcmNlIHRoZSBzaGFkb3cgRE9NLlxuICBzYmItc2VsZWN0IHtcbiAgICBjb2xvcjogdmFyKC0tc2JiLWZvcm0tZmllbGQtdGV4dC1jb2xvcik7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zYmItZm9ybS1maWVsZC1pbnB1dC10ZXh0LXNpemUpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXNiYi1mb3JtLWZpZWxkLXNlbGVjdC1pbmxpbmUtcGFkZGluZy1lbmQpO1xuICB9XG59XG5cbi5zYmItcGFnaW5hdG9yX19wYWdlcyB7XG4gIEBpbmNsdWRlIHNiYi5saXN0LXJlc2V0O1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zYmItcGFnaW5hdG9yX19wYWdlLS1lbGxpcHNpcyxcbi5zYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXBhZ2luYXRvci1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItcGFnaW5hdG9yLXBhZ2UtY29sb3IpO1xufVxuXG4uc2JiLXBhZ2luYXRvcl9fcGFnZS0tZWxsaXBzaXMtaXRlbSxcbi5zYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogdmFyKC0tc2JiLXNpemUtZWxlbWVudC14eHMpO1xuICBoZWlnaHQ6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQteHhzKTtcbn1cblxuLnNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtIHtcbiAgQGluY2x1ZGUgc2JiLmJ1dHRvbi1yZXNldDtcblxuICAvLyBUaGUgdGV4dCBtaXhpbiBpcyBuZWVkZWQgdG8gb3ZlcnJpZGUgdGhlIGJ1dHRvbiBiYXNlIHN0eWxlXG4gIC0tc2JiLXRleHQtZm9udC1zaXplOiB2YXIoLS1zYmItcGFnaW5hdG9yLWZvbnQtc2l6ZSk7XG4gIEBpbmNsdWRlIHNiYi50ZXh0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiB2YXIoLS1zYmItcGFnaW5hdG9yLXBhZ2UtY3Vyc29yKTtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogdmFyKC0tc2JiLXBhZ2luYXRvci1wYWdlLWNvbG9yKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tc2JiLXBhZ2luYXRvci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLXNiYi1wYWdpbmF0b3ItYW5pbWF0aW9uLWVhc2luZyk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLXBhZ2luYXRvci1wYWdlLWJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXI6IHZhcigtLXNiYi1wYWdpbmF0b3ItcGFnZS1ib3JkZXItd2lkdGgpIHZhcigtLXNiYi1wYWdpbmF0b3ItcGFnZS1ib3JkZXItc3R5bGUsIG5vbmUpXG4gICAgICB2YXIoLS1zYmItcGFnaW5hdG9yLXBhZ2UtYm9yZGVyLWNvbG9yLCBub25lKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItYm9yZGVyLXJhZGl1cy1pbmZpbml0eSk7XG4gICAgaW5zZXQ6IHZhcigtLXNiYi1wYWdpbmF0b3ItcGFnZS1pbnNldCwgMCk7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlciwgaW5zZXQ7XG4gICAgICBkdXJhdGlvbjogdmFyKC0tc2JiLXBhZ2luYXRvci1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItcGFnaW5hdG9yLWFuaW1hdGlvbi1lYXNpbmcpO1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHNiYi5mb2N1cy1vdXRsaW5lO1xuXG4gICAgICBvdXRsaW5lLW9mZnNldDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCk7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLXNlbGVjdGVkXSB7XG4gICAgQGluY2x1ZGUgc2JiLnRleHQtLWJvbGQ7XG5cbiAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTMpO1xuICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWJvcmRlci13aWR0aDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCk7XG4gICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1ib3JkZXItY29sb3ItMik7XG5cbiAgICA6aG9zdChbbmVnYXRpdmVdKSAmIHtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMy1uZWdhdGl2ZSk7XG4gICAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1ib3JkZXItY29sb3ItMi1uZWdhdGl2ZSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYm9yZGVyLWNvbG9yOiBIaWdobGlnaHQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xuICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWJvcmRlci1jb2xvcjogdmFyKC0tc2JiLWJvcmRlci1jb2xvci01KTtcbiAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1jdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItZGVmYXVsdCk7XG5cbiAgICAmOm5vdChbZGF0YS1zZWxlY3RlZF0pIHtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWJvcmRlci13aWR0aDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCk7XG4gICAgfVxuXG4gICAgOmhvc3QoW25lZ2F0aXZlXSkgJiB7XG4gICAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xuICAgICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMy1uZWdhdGl2ZSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYm9yZGVyLWNvbG9yOiBHcmF5VGV4dDtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWNvbG9yOiBHcmF5VGV4dDtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWJhY2tncm91bmQtY29sb3I6IENhbnZhcztcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBzYmIuaG92ZXItbXEoJGhvdmVyOiB0cnVlKSB7XG4gICAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWluc2V0OiBjYWxjKHZhcigtLXNiYi1ib3JkZXItd2lkdGgtMngpICogLTEpO1xuICAgICAgLS1zYmItcGFnaW5hdG9yLXRyYW5zbGF0ZS15LWNvbnRlbnQtaG92ZXI6ICN7c2JiLnB4LXRvLXJlbS1idWlsZCgtMSl9O1xuXG4gICAgICA6aG9zdChbbmVnYXRpdmVdKSAmIHtcbiAgICAgICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMy1uZWdhdGl2ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAgICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYmFja2dyb3VuZC1jb2xvcjogSGlnaGxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUge1xuICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMyk7XG4gICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItNCk7XG4gICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtaW5zZXQ6IDA7XG4gICAgLS1zYmItcGFnaW5hdG9yLXRyYW5zbGF0ZS15LWNvbnRlbnQtaG92ZXI6IDA7XG5cbiAgICA6aG9zdChbbmVnYXRpdmVdKSAmIHtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMy1uZWdhdGl2ZSk7XG4gICAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci00LW5lZ2F0aXZlKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1iYWNrZ3JvdW5kLWNvbG9yOiBIaWdobGlnaHQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtLWxhYmVsIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXNiYi1wYWdpbmF0b3ItYW5pbWF0aW9uLWR1cmF0aW9uKVxuICAgIHZhcigtLXNiYi1wYWdpbmF0b3ItYW5pbWF0aW9uLWVhc2luZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1zYmItcGFnaW5hdG9yLXRyYW5zbGF0ZS15LWNvbnRlbnQtaG92ZXIsICN7c2JiLnB4LXRvLXJlbS1idWlsZCgwKX0pKTtcbn1cblxuLy8gTmVlZGVkIGZvciB0aGUgc2JiLXNlbGVjdFxuLnNiYi1zY3JlZW4tcmVhZGVyLW9ubHkge1xuICBAaW5jbHVkZSBzYmIuc2NyZWVuLXJlYWRlci1vbmx5O1xufVxuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbiAgdW5zYWZlQ1NTLFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZXBlYXQgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZXBlYXQuanMnO1xuXG5pbXBvcnQge1xuICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IsXG4gIGZvcmNlVHlwZSxcbiAgaTE4bkl0ZW1zUGVyUGFnZSxcbiAgaTE4blBhZ2UsXG4gIGJveFNpemluZ1N0eWxlcyxcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50LCB0eXBlIFNiYkVsZW1lbnRUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgeyBTYmJGb3JtRmllbGRFbGVtZW50IH0gZnJvbSAnLi4vLi4vZm9ybS1maWVsZC5wdXJlLnRzJztcbmltcG9ydCB7IFNiYk9wdGlvbkVsZW1lbnQgfSBmcm9tICcuLi8uLi9vcHRpb24ucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJTZWxlY3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vc2VsZWN0LnB1cmUudHMnO1xuaW1wb3J0IHsgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluIH0gZnJvbSAnLi4vY29tbW9uL3BhZ2luYXRvci1jb21tb24udHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wYWdpbmF0b3Iuc2Nzcz9pbmxpbmUnO1xuXG5jb25zdCBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCA9IDM7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBwYWdpbmF0b3IgY29tcG9uZW50LlxuICovXG5leHBvcnQgY2xhc3MgU2JiUGFnaW5hdG9yRWxlbWVudCBleHRlbmRzIFNiYlBhZ2luYXRvckNvbW1vbkVsZW1lbnRNaXhpbihTYmJFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItcGFnaW5hdG9yJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBlbGVtZW50RGVwZW5kZW5jaWVzOiBTYmJFbGVtZW50VHlwZVtdID0gW1xuICAgIFNiYkZvcm1GaWVsZEVsZW1lbnQsXG4gICAgU2JiU2VsZWN0RWxlbWVudCxcbiAgICBTYmJPcHRpb25FbGVtZW50LFxuICBdO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCB1bnNhZmVDU1Moc3R5bGUpXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgcGFnZTogJ3BhZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgYXZhaWxhYmxlIGBwYWdlU2l6ZWAgY2hvaWNlcy4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZS1zaXplLW9wdGlvbnMnLCB0eXBlOiBBcnJheSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiBvZiB0aGUgcHJldi9uZXh0IGJ1dHRvbnM6IGlmIGBwYWdlU2l6ZU9wdGlvbnNgIGlzIHNldCxcbiAgICogdGhlIHNiYi1zZWxlY3QgZm9yIHRoZSBwYWdlU2l6ZSBjaGFuZ2Ugd2lsbCBiZSBwb3NpdGlvbmVkIG9wcG9zaXRlbHksIHdpdGggdGhlIHBhZ2UgbnVtYmVycyBhbHdheXMgaW4gdGhlIGNlbnRlci5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BhZ2VyLXBvc2l0aW9uJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgb3ZlcnJpZGUgYWNjZXNzb3IgcGFnZXJQb3NpdGlvbjpcbiAgICB8ICdzdGFydCdcbiAgICB8ICdlbmQnID0gJ3N0YXJ0JztcblxuICAvKipcbiAgICogQWNjZXNzaWJpbGl0eSBsYWJlbCBmb3IgdGhlIGl0ZW1zIHBlciBwYWdlLiBEZWZhdWx0cyB0byBgSXRlbXMgcGVyIHBhZ2UuYC5cbiAgICogQ2FuIGJlIHNldCBmb3IgY2FzZXMgbGlrZSBhIGNhcm91c2VsLCB3aGVyZSBgc2xpZGVgIG9yIGBpbWFnZWAgZml0cyBiZXR0ZXIuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1pdGVtcy1wZXItcGFnZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlJdGVtc1BlclBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBfbWFya0ZvckZvY3VzID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvKiogVGFiIG5hdmlnYXRpb24gY2FuIGZvcmNlIGEgcmVyZW5kZXIgd2hlbiBlbGxpcHNpcyBlbGVtZW50cyBuZWVkIHRvIGJlIGRpc3BsYXllZDsgdGhlIGZvY3VzIG11c3Qgc3RheSBvbiB0aGUgY29ycmVjdCBlbGVtZW50LiAqL1xuICAgIGlmICh0aGlzLl9tYXJrRm9yRm9jdXMpIHtcbiAgICAgIGNvbnN0IGZvY3VzRWxlbWVudCA9IHRoaXMuX2dldFZpc2libGVQYWdlcygpLmZpbmQoXG4gICAgICAgIChlKSA9PiB0aGlzLnBhZ2VJbmRleCA9PT0gK2UuZ2V0QXR0cmlidXRlKCdkYXRhLWluZGV4JykhLFxuICAgICAgKTtcbiAgICAgIGlmIChmb2N1c0VsZW1lbnQpIHtcbiAgICAgICAgKGZvY3VzRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBkaXNwbGF5ZWQgcGFnZSBlbGVtZW50cy4gKi9cbiAgcHJpdmF0ZSBfZ2V0VmlzaWJsZVBhZ2VzKCk6IEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yQWxsKCcuc2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyLWl0ZW0nKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlIHRoZSBwYWdlcyBzZXQgYmFzZWQgb24gdGhlIGZvbGxvd2luZyBydWxlczpcbiAgICogIC0gdGhlIGZpcnN0IHBhZ2UgbXVzdCBhbHdheXMgYmUgdmlzaWJsZTtcbiAgICogIC0gdGhlIGxhc3QgcGFnZSBtdXN0IGFsd2F5cyBiZSB2aXNpYmxlO1xuICAgKiAgLSBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIGBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRGAgb3RoZXIgcGFnZXMsIGVsbGlwc2lzIGJ1dHRvbiBtdXN0IGJlIHVzZWQuXG4gICAqL1xuICBwcml2YXRlIF9nZXRWaXNpYmxlUGFnZXNJbmRleCgpOiAobnVtYmVyIHwgJ2VsbGlwc2lzJylbXSB7XG4gICAgY29uc3QgdG90YWxQYWdlczogbnVtYmVyID0gdGhpcy5udW1iZXJPZlBhZ2VzKCk7XG4gICAgY29uc3QgY3VycmVudFBhZ2VJbmRleDogbnVtYmVyID0gdGhpcy5wYWdlSW5kZXg7XG5cbiAgICBpZiAodG90YWxQYWdlcyA8PSBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDIpIHtcbiAgICAgIHJldHVybiB0aGlzLl9yYW5nZSh0b3RhbFBhZ2VzKTtcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRQYWdlSW5kZXggPCBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCkge1xuICAgICAgcmV0dXJuIFsuLi50aGlzLl9yYW5nZShNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDEpLCAnZWxsaXBzaXMnLCB0b3RhbFBhZ2VzIC0gMV07XG4gICAgfSBlbHNlIGlmIChjdXJyZW50UGFnZUluZGV4ID49IHRvdGFsUGFnZXMgLSBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgMCxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgLi4udGhpcy5fcmFuZ2UoTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgKyAxLCB0b3RhbFBhZ2VzIC0gMSAtIE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEKSxcbiAgICAgIF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIDAsXG4gICAgICAgICdlbGxpcHNpcycsXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXggLSAxLFxuICAgICAgICBjdXJyZW50UGFnZUluZGV4LFxuICAgICAgICBjdXJyZW50UGFnZUluZGV4ICsgMSxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgdG90YWxQYWdlcyAtIDEsXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDcmVhdGVzIGFuIGFycmF5IG9mIGNvbnNlY3V0aXZlIG51bWJlcnMgZ2l2ZW4gdGhlIGxlbmd0aCBhbmQgdGhlIHN0YXJ0aW5nIHZhbHVlLiAqL1xuICBwcml2YXRlIF9yYW5nZShsZW5ndGg6IG51bWJlciwgb2Zmc2V0OiBudW1iZXIgPSAwKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoIH0sIChfLCBrKSA9PiBrICsgb2Zmc2V0KTtcbiAgfVxuXG4gIHByaXZhdGUgX29uUGFnZU51bWJlckNsaWNrKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdFBhZ2UoaW5kZXgpO1xuXG4gICAgLy8gV2hlbiB0aGUgcGFnZSBpcyBjaGFuZ2VkLCB0aGUgbmV3IGN1cnJlbnQgcGFnZSBtaWdodCBjaGFuZ2UgaXRzIHBvc2l0aW9uLlxuICAgIC8vIEFmdGVyIHRoZSByZW5kZXIsIHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgdGhlIGZvY3VzIHN0YXlzIG9uIHRoZSBzZWxlY3RlZCBwYWdlLlxuICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCc7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHwgdHlwZW9mIG5vdGhpbmcge1xuICAgIHJldHVybiB0aGlzLnBhZ2VTaXplT3B0aW9ucyAmJiB0aGlzLnBhZ2VTaXplT3B0aW9ucy5sZW5ndGggPiAwXG4gICAgICA/IGh0bWxgXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2Utc2l6ZS1vcHRpb25zXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwic2VsZWN0XCJcbiAgICAgICAgICAgICAgPiR7dGhpcy5hY2Nlc3NpYmlsaXR5SXRlbXNQZXJQYWdlTGFiZWxcbiAgICAgICAgICAgICAgICA/IHRoaXMuYWNjZXNzaWJpbGl0eUl0ZW1zUGVyUGFnZUxhYmVsXG4gICAgICAgICAgICAgICAgOiBpMThuSXRlbXNQZXJQYWdlW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19PC9sYWJlbFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPHNiYi1mb3JtLWZpZWxkXG4gICAgICAgICAgICAgIGJvcmRlcmxlc3NcbiAgICAgICAgICAgICAgd2lkdGg9XCJjb2xsYXBzZVwiXG4gICAgICAgICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgICAgICAgIHNpemU9JHt0aGlzLnNpemUgfHwgbm90aGluZ31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNiYi1zZWxlY3RcbiAgICAgICAgICAgICAgICBpZD1cInNlbGVjdFwiXG4gICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICB2YWx1ZT0ke3RoaXMucGFnZVNpemVPcHRpb25zPy5maW5kKChlKSA9PiBlID09PSB0aGlzLnBhZ2VTaXplKSA/P1xuICAgICAgICAgICAgICAgIHRoaXMucGFnZVNpemVPcHRpb25zIVswXX1cbiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7KGU6IEV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgKHRoaXMucGFnZVNpemUgPSArKChlLnRhcmdldCBhcyBTYmJTZWxlY3RFbGVtZW50KS52YWx1ZSBhcyBzdHJpbmcpKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICR7cmVwZWF0KFxuICAgICAgICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZU9wdGlvbnMhLFxuICAgICAgICAgICAgICAgICAgKGVsZW1lbnQpID0+IGh0bWxgPHNiYi1vcHRpb24gdmFsdWU9JHtlbGVtZW50fT4ke2VsZW1lbnR9PC9zYmItb3B0aW9uPmAsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9zYmItc2VsZWN0PlxuICAgICAgICAgICAgPC9zYmItZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgYFxuICAgICAgOiBub3RoaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUGFnZU51bWJlcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHVsIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZXNcIj5cbiAgICAgICAgJHtyZXBlYXQoXG4gICAgICAgICAgdGhpcy5fZ2V0VmlzaWJsZVBhZ2VzSW5kZXgoKSxcbiAgICAgICAgICAoaXRlbTogbnVtYmVyIHwgJ2VsbGlwc2lzJyk6IFRlbXBsYXRlUmVzdWx0ID0+XG4gICAgICAgICAgICBpdGVtID09PSAnZWxsaXBzaXMnXG4gICAgICAgICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLWVsbGlwc2lzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tZWxsaXBzaXMtaXRlbVwiPuKApjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgYFxuICAgICAgICAgICAgICA6IGh0bWxgXG4gICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgID9kYXRhLXNlbGVjdGVkPSR7dGhpcy5wYWdlSW5kZXggPT09IGl0ZW19XG4gICAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLWluZGV4PSR7aXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiJHt0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5hY2Nlc3NpYmlsaXR5UGFnZUxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGkxOG5QYWdlW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19ICR7aXRlbSArIDF9XCJcbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWN1cnJlbnQ9JHt0aGlzLnBhZ2VJbmRleCA9PT0gaXRlbSA/ICd0cnVlJyA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4gdGhpcy5fb25QYWdlTnVtYmVyQ2xpY2soaXRlbSl9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtLWxhYmVsXCI+JHtpdGVtICsgMX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICBgLFxuICAgICAgICApfVxuICAgICAgPC91bD5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclBhZ2luYXRvcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXBhZ2luYXRvclwiPlxuICAgICAgICAke1xuICAgICAgICAgIHRoaXMucGFnZXJQb3NpdGlvbiA9PT0gJ3N0YXJ0J1xuICAgICAgICAgICAgPyBodG1sYDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fd3JhcHBpbmctZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKX0gJHt0aGlzLl9yZW5kZXJQYWdlTnVtYmVycygpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAke3RoaXMuX3JlbmRlckl0ZW1QZXJQYWdlVGVtcGxhdGUoKX1gXG4gICAgICAgICAgICA6IGh0bWxgJHt0aGlzLl9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCl9XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX193cmFwcGluZy1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJQYWdlTnVtYmVycygpfSAke3RoaXMucmVuZGVyUHJldk5leHRCdXR0b25zKCl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPmBcbiAgICAgICAgfTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1wYWdpbmF0b3InOiBTYmJQYWdpbmF0b3JFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUMwQkEsSUFBTSw2QkFBNkI7Ozs7SUFLdEIsNkJBQW1CO21CQUFTLCtCQUErQixXQUFXOzs7Ozs7Ozs7O2NBQXRFLDRCQUE0QixZQUEwQzs7O0FBY2pFLFNBQUEsbUNBQUEsa0JBQUEsTUFBQSwrQkFBNEIsRUFBRSxDQUFBO0FBTXFDLFNBQUEsa0NBQUEsa0JBQUEsTUFBQSxtQ0FBQSxFQUFBLGtCQUFBLE1BQUEsNkJBRXZFLFFBQU87QUFRSCxTQUFBLG1EQUFBLGtCQUFBLE1BQUEsaUNBQUEsRUFBQSxrQkFBQSxNQUFBLDhDQUF5QyxHQUFFO0FBRW5ELFFBQUEsaUJBQWEsa0JBQUEsTUFBQSxrREFBQSxFQUFHOzs7O2tDQW5CdkIsU0FBUztJQUFFLFdBQVc7SUFBcUIsTUFBTTtJQUFPLENBQUMsQ0FBQTtnQ0FPekQsU0FBUztJQUFFLFdBQVc7SUFBa0IsU0FBUztJQUFNLENBQUMsQ0FBQTtpREFReEQsV0FBVyxFQUNYLFNBQVMsRUFBRSxXQUFXLHNDQUFzQyxDQUFDLENBQUE7QUFmOUQsZ0JBQUEsTUFBQSxNQUFBLDZCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEscUJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBZSxNQUFBLEtBQUEsVUFBQTtBQUFBLFVBQWYsa0JBQWU7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSwrQkFBQSxtQ0FBQTtBQU0yQixnQkFBQSxNQUFBLE1BQUEsMkJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxtQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUF5QjtLQUFhLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBYixnQkFBYTs7S0FBQTtJQUFBLFVBQUE7SUFBQSxFQUFBLDZCQUFBLGlDQUFBO0FBVWhHLGdCQUFBLE1BQUEsTUFBQSw0Q0FBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLG9DQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQThCLE1BQUEsS0FBQSxVQUFBO0FBQUEsVUFBOUIsaUNBQThCOztLQUFBO0lBQUEsVUFBQTtJQUFBLEVBQUEsOENBQUEsa0RBQUE7Ozs7Ozs7OztBQTdCZCxRQUFBLGNBQXNCOzs7QUFDL0IsUUFBQSxzQkFBd0M7SUFDN0Q7SUFDQTtJQUNBO0lBQ0Q7OztBQUNzQixRQUFBLFNBQXlCLENBQUMsaUJBQWlCLFVBQVUsa0JBQU0sQ0FBQzs7O0FBQzVELFFBQUEsU0FBaUMsRUFDdEQsTUFBTSxRQUNFOztFQUlWOztFQUFBLElBQWdCLGtCQUFlO0FBQUEsVUFBQSxNQUFBOztFQUEvQixJQUFnQixnQkFBZSxPQUFBO0FBQUEsU0FBQSxtQ0FBQTs7RUFNMkI7Ozs7O0VBQUEsSUFBeUIsZ0JBQWE7QUFBQSxVQUFBLE1BQUE7O0VBQXRDLElBQXlCLGNBQWEsT0FBQTtBQUFBLFNBQUEsaUNBQUE7O0VBVWhHOzs7OztFQUFBLElBQWdCLGlDQUE4QjtBQUFBLFVBQUEsTUFBQTs7RUFBOUMsSUFBZ0IsK0JBQThCLE9BQUE7QUFBQSxTQUFBLGtEQUFBOztFQUkzQixRQUFRLG1CQUF1QztBQUNoRSxTQUFNLFFBQVEsa0JBQWtCOztBQUdoQyxPQUFJLEtBQUssZUFBZTtJQUN0QixNQUFNLGVBQWUsS0FBSyxrQkFBa0IsQ0FBQyxNQUMxQyxNQUFNLEtBQUssY0FBYyxDQUFDLEVBQUUsYUFBYSxhQUFjLENBQ3pEO0FBQ0QsUUFBSSxhQUNELGNBQTZCLE9BQU87QUFFdkMsU0FBSyxnQkFBZ0I7Ozs7RUFLakIsbUJBQWdCO0FBQ3RCLFVBQU8sTUFBTSxLQUFLLEtBQUssV0FBWSxpQkFBaUIsb0NBQW9DLENBQUM7Ozs7Ozs7O0VBU25GLHdCQUFxQjtHQUMzQixNQUFNLGFBQXFCLEtBQUssZUFBZTtHQUMvQyxNQUFNLG1CQUEyQixLQUFLO0FBRXRDLE9BQUksY0FBYyw2QkFBNkIsRUFDN0MsUUFBTyxLQUFLLE9BQU8sV0FBVztZQUNyQixtQkFBbUIsMkJBQzVCLFFBQU87SUFBQyxHQUFHLEtBQUssT0FBTyw2QkFBNkIsRUFBRTtJQUFFO0lBQVksYUFBYTtJQUFFO1lBQzFFLG9CQUFvQixhQUFhLDJCQUMxQyxRQUFPO0lBQ0w7SUFDQTtJQUNBLEdBQUcsS0FBSyxPQUFPLDZCQUE2QixHQUFHLGFBQWEsSUFBSSwyQkFBQTtJQUNqRTtPQUVELFFBQU87SUFDTDtJQUNBO0lBQ0EsbUJBQW1CO0lBQ25CO0lBQ0EsbUJBQW1CO0lBQ25CO0lBQ0EsYUFBYTtJQUNkOzs7RUFLRyxPQUFPLFFBQWdCLFNBQWlCLEdBQUM7QUFDL0MsVUFBTyxNQUFNLEtBQUssRUFBRSxRQUFRLEdBQUcsR0FBRyxNQUFNLElBQUksT0FBTzs7RUFHN0MsbUJBQW1CLE9BQWE7QUFDdEMsUUFBSyxXQUFXLE1BQU07QUFJdEIsUUFBSyxnQkFBZ0IseUJBQXlCLHVCQUF1Qjs7RUFHL0QsNkJBQTBCO0FBQ2hDLFVBQU8sS0FBSyxtQkFBbUIsS0FBSyxnQkFBZ0IsU0FBUyxJQUN6RCxJQUFJOzs7aUJBR0ssS0FBSyxpQ0FDSixLQUFLLGlDQUNMLGlCQUFpQixLQUFLLFNBQVMsU0FBUTs7Ozs7MEJBSy9CLEtBQUssU0FBQTtxQkFDVixLQUFLLFFBQVEsUUFBQTs7Ozs0QkFJTixLQUFLLFNBQUE7d0JBQ1QsS0FBSyxpQkFBaUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxTQUFTLElBQzlELEtBQUssZ0JBQWlCLEdBQUE7MkJBQ1gsTUFDUixLQUFLLFdBQVcsQ0FBRyxFQUFFLE9BQTRCLE1BQUE7O2tCQUVsRCxPQUNBLEtBQUssa0JBQ0osWUFBWSxJQUFJLHFCQUFxQixRQUFPLEdBQUksUUFBTyxlQUN6RCxDQUFBOzs7O1lBS1Q7O0VBR0UscUJBQWtCO0FBQ3hCLFVBQU8sSUFBSTs7VUFFTCxPQUNBLEtBQUssdUJBQXVCLEdBQzNCLFNBQ0MsU0FBUyxhQUNMLElBQUk7Ozs7b0JBS0osSUFBSTs7O3VDQUdtQixLQUFLLGNBQWMsS0FBQTtrQ0FDeEIsS0FBSyxTQUFBOzttQ0FFSixLQUFBO29DQUNDLEtBQUsseUJBQ2YsS0FBSyx5QkFDTCxTQUFTLEtBQUssU0FBUyxTQUFRLEdBQUksT0FBTyxFQUFDO3FDQUNoQyxLQUFLLGNBQWMsT0FBTyxTQUFTLFFBQUE7cUNBQ25DLEtBQUssbUJBQW1CLEtBQUssQ0FBQTs7NkVBRVcsT0FBTyxFQUFDOzs7a0JBSTVFLENBQUE7Ozs7RUFLWSxrQkFBZTtBQUNoQyxVQUFPLElBQUk7O1VBR0wsS0FBSyxrQkFBa0IsVUFDbkIsSUFBSTtvQkFDRSxLQUFLLHVCQUF1QixDQUFBLEdBQUksS0FBSyxvQkFBb0IsQ0FBQTs7a0JBRTNELEtBQUssNEJBQTRCLEtBQ3JDLElBQUksR0FBRyxLQUFLLDRCQUE0QixDQUFBOztvQkFFbEMsS0FBSyxvQkFBb0IsQ0FBQSxHQUFJLEtBQUssdUJBQXVCLENBQUE7eUJBRXJFIn0=