@sbb-esta/lyne-elements-dev 5.0.0-next.3-dev.1779265349 → 5.0.0-next.3-dev.1779279790

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 (724) hide show
  1. package/_index.scss +6 -2
  2. package/autocomplete/autocomplete-base-element.js +1 -1
  3. package/autocomplete/autocomplete.component.js +1 -1
  4. package/{autocomplete-base-element-6leI6UF4.js → autocomplete-base-element-DjfmUS0W.js} +11 -10
  5. package/autocomplete.js +1 -1
  6. package/autocomplete.pure.js +1 -1
  7. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  8. package/{breadcrumb-group.component-XPdnV6-a.js → breadcrumb-group.component-a49dItu9.js} +23 -19
  9. package/breadcrumb.js +1 -1
  10. package/breadcrumb.pure.js +1 -1
  11. package/button/mini-button-group/mini-button-group.component.js +1 -1
  12. package/button.js +1 -1
  13. package/button.pure.js +1 -1
  14. package/calendar/calendar/calendar.component.js +1 -1
  15. package/{calendar.component-CiT0mE7S.js → calendar.component-BhUyyFtR.js} +53 -49
  16. package/calendar.js +1 -1
  17. package/calendar.pure.js +1 -1
  18. package/container/sticky-bar/sticky-bar.component.js +1 -1
  19. package/container.js +1 -1
  20. package/container.pure.js +1 -1
  21. package/core/base-elements/button-base-element.js +47 -68
  22. package/core/datetime/date-adapter.js +2 -2
  23. package/core/mixins/form-associated-checkbox-mixin.js +17 -26
  24. package/core/mixins/named-slot-list-mixin.js +14 -14
  25. package/core/styles/_index.scss +1 -12
  26. package/core/styles/_theme.scss +16 -0
  27. package/core/styles/core/functions.scss +0 -8
  28. package/core/styles/{a11y.scss → features/a11y.scss} +2 -2
  29. package/core/styles/{animation.scss → features/animation.scss} +1 -1
  30. package/core/styles/features/color-scheme.scss +11 -0
  31. package/core/styles/{core.scss → features/core.scss} +138 -171
  32. package/core/styles/{image.scss → features/image.scss} +29 -7
  33. package/core/styles/{layout.private.scss → features/layout.private.scss} +5 -4
  34. package/core/styles/{layout.scss → features/layout.scss} +1 -1
  35. package/core/styles/{lists.scss → features/lists.scss} +1 -1
  36. package/core/styles/{scrollbar.scss → features/scrollbar.scss} +1 -1
  37. package/core/styles/features/typography.private.scss +9 -0
  38. package/core/styles/{typography.scss → features/typography.scss} +2 -2
  39. package/core/styles/internals/button-reset.scss +5 -0
  40. package/core/styles/{host-scrollbar.scss → internals/host-scrollbar.scss} +1 -1
  41. package/core/styles/internals/list-reset.scss +6 -0
  42. package/core/styles/internals/popover-reset.scss +6 -0
  43. package/core/styles/{screen-reader-only.scss → internals/screen-reader-only.scss} +1 -1
  44. package/core/styles/mixins/{a11y.scss → _a11y.scss} +0 -21
  45. package/core/styles/mixins/{helpers.scss → _helpers.scss} +3 -14
  46. package/core/styles/mixins/{lists.scss → _lists.scss} +8 -12
  47. package/core/styles/mixins/{pearl-chain-bullet.scss → _pearl-chain-bullet.scss} +5 -5
  48. package/core/styles/mixins/_reset.scss +38 -0
  49. package/core/styles/mixins/{typo.scss → _typo.scss} +23 -75
  50. package/core/styles/styles.js +2 -2
  51. package/core.js +40 -42
  52. package/custom-elements.json +166 -384
  53. package/datepicker/common/datepicker-button.js +1 -1
  54. package/{datepicker-button-aYDFZ_3v.js → datepicker-button-CuoZoC6e.js} +0 -3
  55. package/datepicker.js +1 -1
  56. package/datepicker.pure.js +1 -1
  57. package/development/autocomplete/autocomplete-base-element.d.ts +0 -2
  58. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  59. package/development/autocomplete/autocomplete-base-element.js +1 -1
  60. package/development/autocomplete/autocomplete.component.js +1 -1
  61. package/development/autocomplete-base-element-CTZEg--s.js +695 -0
  62. package/development/autocomplete.js +1 -1
  63. package/development/autocomplete.pure.js +1 -1
  64. package/development/block-link-common-DNvRfeay.js +1 -1
  65. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  66. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  67. package/development/breadcrumb-group.component-DvY1hq51.js +197 -0
  68. package/development/breadcrumb.component-D6Cd2FPo.js +1 -1
  69. package/development/breadcrumb.js +1 -1
  70. package/development/breadcrumb.pure.js +1 -1
  71. package/development/button/mini-button-group/mini-button-group.component.js +1 -1
  72. package/development/button-common-C-A7Dulr.js +1 -1
  73. package/development/button.js +1 -1
  74. package/development/button.pure.js +1 -1
  75. package/development/calendar/calendar/calendar.component.d.ts +0 -6
  76. package/development/calendar/calendar/calendar.component.d.ts.map +1 -1
  77. package/development/calendar/calendar/calendar.component.js +1 -1
  78. package/development/calendar-cell-base-element-mWRSDeWc.js +1 -1
  79. package/development/calendar.component-DnC8Zkdk.js +1478 -0
  80. package/development/calendar.js +1 -1
  81. package/development/calendar.pure.js +1 -1
  82. package/development/card.component-CL2gHoyP.js +1 -1
  83. package/development/chip-label.component-DHHNtvTt.js +1 -1
  84. package/development/{compact-paginator.component-BgkpxaaD.js → compact-paginator.component-m8MASSB7.js} +1 -1
  85. package/development/container/sticky-bar/sticky-bar.component.js +1 -1
  86. package/development/container.js +1 -1
  87. package/development/container.pure.js +1 -1
  88. package/development/core/base-elements/button-base-element.d.ts +1 -0
  89. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  90. package/development/core/base-elements/button-base-element.js +66 -92
  91. package/development/core/base-elements/element.d.ts.map +1 -1
  92. package/development/core/datetime/date-adapter.d.ts +0 -5
  93. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  94. package/development/core/datetime/date-adapter.js +2 -7
  95. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -1
  96. package/development/core/mixins/form-associated-checkbox-mixin.js +7 -21
  97. package/development/core/mixins/form-associated-mixin.d.ts +1 -1
  98. package/development/core/mixins/form-associated-mixin.d.ts.map +1 -1
  99. package/development/core/mixins/form-associated-mixin.js +1 -1
  100. package/development/core/mixins/named-slot-list-mixin.js +3 -3
  101. package/development/core/styles/styles.d.ts +3 -1
  102. package/development/core/styles/styles.d.ts.map +1 -1
  103. package/development/core/styles/styles.js +2 -2
  104. package/development/core.d.ts +0 -2
  105. package/development/core.d.ts.map +1 -1
  106. package/development/core.js +3 -5
  107. package/development/date-input.component-HxRyCudr.js +1 -1
  108. package/development/datepicker/common/datepicker-button.d.ts +0 -2
  109. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  110. package/development/datepicker/common/datepicker-button.js +1 -1
  111. package/development/{datepicker-button-BAT1ebzJ.js → datepicker-button-Bb76EBYH.js} +1 -5
  112. package/development/datepicker.js +1 -1
  113. package/development/datepicker.pure.js +1 -1
  114. package/development/dialog/dialog/dialog.component.js +1 -1
  115. package/development/dialog-actions.component-e0ZTTUin.js +1 -1
  116. package/development/{dialog.component-D8B2dVck.js → dialog.component-cZ3SAujq.js} +5 -5
  117. package/development/dialog.js +1 -1
  118. package/development/dialog.pure.js +1 -1
  119. package/development/element-BAsBayf5.js +1 -1
  120. package/development/error.component-WCkiwM7_.js +1 -1
  121. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  122. package/development/expansion-panel-header.component-gg5A_7Pz.js +1 -1
  123. package/development/expansion-panel.component-DcFrWkIt.js +1 -1
  124. package/development/file-selector/common/file-selector-common.js +1 -1
  125. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  126. package/development/file-selector-common-Dd0S0qE3.js +421 -0
  127. package/development/{file-selector-dropzone.component-B84OL4Xd.js → file-selector-dropzone.component-DWLdqMmI.js} +2 -2
  128. package/development/file-selector.js +2 -2
  129. package/development/file-selector.pure.js +2 -2
  130. package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  131. package/development/flip-card/flip-card/flip-card.component.js +1 -1
  132. package/development/flip-card.component-MmiS-x-W.js +189 -0
  133. package/development/flip-card.js +1 -1
  134. package/development/flip-card.pure.js +1 -1
  135. package/development/footer.component-K2bWizjw.js +1 -1
  136. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  137. package/development/form-field/form-field/form-field.component.js +1 -1
  138. package/development/form-field.component-Cb58q-Ty.js +702 -0
  139. package/development/form-field.js +1 -1
  140. package/development/form-field.pure.js +1 -1
  141. package/development/header/common/header-action-common.js +1 -1
  142. package/development/header-action-common-BYB-HYtn.js +86 -0
  143. package/development/header.component-C4e7CNql.js +1 -1
  144. package/development/header.js +1 -1
  145. package/development/header.pure.js +1 -1
  146. package/development/icon/icon.component.d.ts +1 -1
  147. package/development/icon/icon.component.d.ts.map +1 -1
  148. package/development/icon/icon.component.js +5 -7
  149. package/development/inline-link-common-BV6oAtAA.js +18 -0
  150. package/development/link/common/inline-link-common.js +1 -1
  151. package/development/link-common-2RGn9Qz_.js +1 -1
  152. package/development/link-list/link-list.component.js +1 -1
  153. package/development/link-list-anchor/link-list-anchor.component.js +1 -1
  154. package/development/{link-list-anchor.component-Csb-FOQL.js → link-list-anchor.component-BMtCbCRD.js} +2 -2
  155. package/development/link-list-anchor.js +1 -1
  156. package/development/link-list-anchor.pure.js +1 -1
  157. package/development/link-list.component-CLxhjWR7.js +97 -0
  158. package/development/link-list.js +1 -1
  159. package/development/link-list.pure.js +1 -1
  160. package/development/link.js +1 -1
  161. package/development/link.pure.js +1 -1
  162. package/development/loading-indicator-circle.component-Cfjw5vyz.js +1 -1
  163. package/development/logo.component-DYKgAgq0.js +1 -1
  164. package/development/menu/common/menu-action-common.js +1 -1
  165. package/development/menu/menu/menu.component.d.ts.map +1 -1
  166. package/development/menu/menu/menu.component.js +1 -1
  167. package/development/menu-action-common-DL4t4_-J.js +32 -0
  168. package/development/menu.component-3qEIFutc.js +369 -0
  169. package/development/menu.js +2 -2
  170. package/development/menu.pure.js +2 -2
  171. package/development/message/message.component.js +1 -1
  172. package/development/{message.component-CdO5GyE2.js → message.component-BJ-84a0B.js} +2 -2
  173. package/development/message.js +1 -1
  174. package/development/message.pure.js +1 -1
  175. package/development/{mini-button-group.component-VYKZf1rq.js → mini-button-group.component-C88pIaaL.js} +2 -2
  176. package/development/mini-button-link.component-kpRsi8I2.js +1 -1
  177. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  178. package/development/navigation/navigation/navigation.component.js +1 -1
  179. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  180. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  181. package/development/navigation-action-common-wrzPCkMT.js +1 -1
  182. package/development/navigation-list.component-CU-SGC8c.js +86 -0
  183. package/development/navigation-marker.component-CTk9U0kA.js +120 -0
  184. package/development/navigation-section.component-iaypc6yQ.js +1 -1
  185. package/development/navigation.component-Bu1wVUNx.js +319 -0
  186. package/development/navigation.js +3 -3
  187. package/development/navigation.pure.js +3 -3
  188. package/development/optgroup-base-element-BzfcJgxG.js +140 -0
  189. package/development/option/optgroup/optgroup-base-element.d.ts +1 -2
  190. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  191. package/development/option/optgroup/optgroup-base-element.js +1 -1
  192. package/development/option/optgroup/optgroup.component.js +1 -1
  193. package/development/option/option/option.component.js +1 -1
  194. package/development/option/option-styles.d.ts +2 -0
  195. package/development/option/option-styles.d.ts.map +1 -0
  196. package/development/option/option-styles.js +2 -0
  197. package/development/option-styles-IEQgVpCe.js +8 -0
  198. package/development/option.component-BrTjDq6X.js +131 -0
  199. package/development/option.js +5 -4
  200. package/development/option.pure.d.ts +1 -0
  201. package/development/option.pure.d.ts.map +1 -1
  202. package/development/option.pure.js +4 -3
  203. package/development/overlay/overlay-base-element.d.ts +2 -4
  204. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  205. package/development/overlay/overlay-base-element.js +8 -7
  206. package/development/overlay/overlay.component.js +1 -1
  207. package/development/{overlay.component-YSCuGeme.js → overlay.component-DywhKxO1.js} +5 -5
  208. package/development/overlay.js +1 -1
  209. package/development/overlay.pure.js +1 -1
  210. package/development/paginator/common/paginator-common.js +1 -1
  211. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  212. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  213. package/development/paginator/paginator/paginator.component.js +1 -1
  214. package/development/{paginator-common-B7iba0wQ.js → paginator-common-CRchtcXc.js} +1 -1
  215. package/development/paginator.component-B8y5tVCL.js +265 -0
  216. package/development/paginator.js +3 -3
  217. package/development/paginator.pure.js +3 -3
  218. package/development/panel-mixin-DPybe45K.js +1 -1
  219. package/development/popover/popover.component.d.ts.map +1 -1
  220. package/development/popover/popover.component.js +1 -1
  221. package/development/popover.component-Ds4fNNsq.js +578 -0
  222. package/development/popover.js +1 -1
  223. package/development/popover.pure.js +1 -1
  224. package/development/radio-button/common/radio-button-common.js +1 -1
  225. package/development/radio-button/radio-button.component.js +1 -1
  226. package/development/radio-button-common-Ckz2nMS7.js +129 -0
  227. package/development/{radio-button.component-DnErH-1J.js → radio-button.component-qsLFvciH.js} +2 -2
  228. package/development/radio-button.js +2 -2
  229. package/development/radio-button.pure.js +2 -2
  230. package/development/select/select.component.d.ts.map +1 -1
  231. package/development/select/select.component.js +1 -1
  232. package/development/select.component-BE7ZMrAc.js +809 -0
  233. package/development/select.js +1 -1
  234. package/development/select.pure.js +1 -1
  235. package/development/selection-action-panel/selection-action-panel.component.js +1 -1
  236. package/development/{selection-action-panel.component-BT0HmTja.js → selection-action-panel.component-C3UlmLkJ.js} +1 -1
  237. package/development/selection-action-panel.js +1 -1
  238. package/development/selection-action-panel.pure.js +1 -1
  239. package/development/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  240. package/development/selection-expansion-panel.component-4Ron8XNy.js +186 -0
  241. package/development/selection-expansion-panel.js +1 -1
  242. package/development/selection-expansion-panel.pure.js +1 -1
  243. package/development/sidebar/common/styles.js +1 -1
  244. package/development/sidebar/sidebar/sidebar.component.js +1 -1
  245. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  246. package/development/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  247. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  248. package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  249. package/development/{sidebar-close-button.component-CXnf-P5H.js → sidebar-close-button.component-ByQtC65O.js} +1 -1
  250. package/development/sidebar-container.component-BmavabUg.js +100 -0
  251. package/development/{sidebar-content.component-DbcREBUa.js → sidebar-content.component-DcsIIWpz.js} +1 -1
  252. package/development/{sidebar-title.component-BW04otyD.js → sidebar-title.component-DgJdkoiE.js} +1 -1
  253. package/development/{sidebar.component-mfXnE6WQ.js → sidebar.component-BszwyJQa.js} +1 -1
  254. package/development/sidebar.js +5 -5
  255. package/development/sidebar.pure.js +5 -5
  256. package/development/signet/signet.component.js +1 -1
  257. package/development/{signet.component-k14RJ8FA.js → signet.component-DXLTVjJS.js} +1 -1
  258. package/development/signet.js +1 -1
  259. package/development/signet.pure.js +1 -1
  260. package/development/skiplink-list/skiplink-list.component.js +1 -1
  261. package/development/skiplink-list.component-BC8rpyf9.js +129 -0
  262. package/development/skiplink-list.js +1 -1
  263. package/development/skiplink-list.pure.js +1 -1
  264. package/development/slider/slider.component.d.ts +1 -0
  265. package/development/slider/slider.component.d.ts.map +1 -1
  266. package/development/slider/slider.component.js +1 -1
  267. package/development/slider.component-Dz4Nl2ZL.js +333 -0
  268. package/development/slider.js +1 -1
  269. package/development/slider.pure.js +1 -1
  270. package/development/status/status.component.js +1 -1
  271. package/development/{status.component-B9en2l26.js → status.component-thSGiOrl.js} +1 -1
  272. package/development/status.js +1 -1
  273. package/development/status.pure.js +1 -1
  274. package/development/step-label.component-CpdXVv32.js +127 -0
  275. package/development/{step.component-B_YHm1tz.js → step.component-CfA-kmt1.js} +1 -11
  276. package/development/stepper/step/step.component.d.ts +4 -14
  277. package/development/stepper/step/step.component.d.ts.map +1 -1
  278. package/development/stepper/step/step.component.js +1 -1
  279. package/development/stepper/step-label/step-label.component.js +1 -1
  280. package/development/stepper/stepper/stepper.component.js +1 -1
  281. package/development/stepper.component-2yRFnnju.js +443 -0
  282. package/development/stepper.js +3 -3
  283. package/development/stepper.pure.js +3 -3
  284. package/development/{sticky-bar.component-BJLtRvcd.js → sticky-bar.component-DZpy1gBU.js} +2 -2
  285. package/development/{styles-WppEBrlW.js → styles-BmvNZZle.js} +1 -1
  286. package/development/styles-D8h0fqb5.js +30 -0
  287. package/development/{tab-group.component-CGMBihsQ.js → tab-group.component-DhcfjVxe.js} +1 -1
  288. package/development/{tab-label.component-CQOLO2t7.js → tab-label.component-B7YEhR1C.js} +1 -1
  289. package/development/tab-nav-bar.component-DrZ1U7lM.js +109 -0
  290. package/development/{tab.component-BVhYPy5Y.js → tab.component-COn1G0XA.js} +1 -1
  291. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  292. package/development/{table-wrapper.component-By59zmcU.js → table-wrapper.component-9Lst6dT2.js} +1 -1
  293. package/development/table.js +1 -1
  294. package/development/table.pure.js +1 -1
  295. package/development/tabs/common/styles.js +1 -1
  296. package/development/tabs/tab/tab.component.js +1 -1
  297. package/development/tabs/tab-group/tab-group.component.js +1 -1
  298. package/development/tabs/tab-label/tab-label.component.js +1 -1
  299. package/development/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
  300. package/development/tabs.js +5 -5
  301. package/development/tabs.pure.js +5 -5
  302. package/development/tag/tag/tag.component.js +1 -1
  303. package/development/tag/tag-group/tag-group.component.js +1 -1
  304. package/development/tag-group.component-OQ3sxhZI.js +194 -0
  305. package/development/tag.component-DWOPDWwe.js +238 -0
  306. package/development/tag.js +2 -2
  307. package/development/tag.pure.js +2 -2
  308. package/development/teaser/teaser.component.js +1 -1
  309. package/development/teaser-hero/teaser-hero.component.js +1 -1
  310. package/development/{teaser-hero.component-BHMcPmdh.js → teaser-hero.component-Cp42iJGt.js} +1 -1
  311. package/development/teaser-hero.js +1 -1
  312. package/development/teaser-hero.pure.js +1 -1
  313. package/development/teaser-panel/teaser-panel.component.js +1 -1
  314. package/development/{teaser-panel.component-BRfbvmkb.js → teaser-panel.component-ptDalUEe.js} +1 -1
  315. package/development/teaser-panel.js +1 -1
  316. package/development/teaser-panel.pure.js +1 -1
  317. package/development/teaser-product/common/teaser-product-common.js +1 -1
  318. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  319. package/development/{teaser-product-common-DOyLdTks.js → teaser-product-common-DxBw-__I.js} +1 -1
  320. package/development/teaser-product.component-CPj4vJ2V.js +37 -0
  321. package/development/teaser-product.js +2 -2
  322. package/development/teaser-product.pure.js +2 -2
  323. package/development/teaser.component-Dgrc2jh8.js +116 -0
  324. package/development/teaser.js +1 -1
  325. package/development/teaser.pure.js +1 -1
  326. package/development/time-input/time-input.component.js +1 -1
  327. package/development/time-input.component-BFjDAfbv.js +187 -0
  328. package/development/time-input.js +1 -1
  329. package/development/time-input.pure.js +1 -1
  330. package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
  331. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  332. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  333. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  334. package/development/{timetable-form-details.component-BeuAZUQe.js → timetable-form-details.component-BFmuJ8-6.js} +1 -1
  335. package/development/{timetable-form-field.component-DC2z1Cwf.js → timetable-form-field.component-DD04XyA0.js} +1 -1
  336. package/development/{timetable-form-swap-button.component-CnbVc8Ok.js → timetable-form-swap-button.component-DphGegO6.js} +1 -1
  337. package/development/{timetable-form.component-C8DfPePn.js → timetable-form.component-EIr4B4mA.js} +1 -1
  338. package/development/timetable-form.js +4 -4
  339. package/development/timetable-form.pure.js +4 -4
  340. package/development/timetable-occupancy/timetable-occupancy.component.d.ts.map +1 -1
  341. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  342. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  343. package/development/timetable-occupancy-icon.component-vsXoAiKz.js +95 -0
  344. package/development/timetable-occupancy-icon.js +1 -1
  345. package/development/timetable-occupancy-icon.pure.js +1 -1
  346. package/development/timetable-occupancy.component-B0zY0RnI.js +126 -0
  347. package/development/timetable-occupancy.js +1 -1
  348. package/development/timetable-occupancy.pure.js +1 -1
  349. package/development/title/title-base.js +1 -1
  350. package/development/title/title.component.d.ts +0 -2
  351. package/development/title/title.component.d.ts.map +1 -1
  352. package/development/title/title.component.js +1 -1
  353. package/development/title-base-CPAVrsQ9.js +102 -0
  354. package/development/title.component-DCg9U2CK.js +69 -0
  355. package/development/title.js +2 -2
  356. package/development/title.pure.js +2 -2
  357. package/development/toast/toast.component.d.ts.map +1 -1
  358. package/development/toast/toast.component.js +1 -1
  359. package/development/{toast.component-DonS3uQm.js → toast.component-TvSfu5nl.js} +3 -3
  360. package/development/toast.js +1 -1
  361. package/development/toast.pure.js +1 -1
  362. package/development/toggle/toggle/toggle.component.js +1 -1
  363. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  364. package/development/toggle-check/toggle-check.component.js +1 -1
  365. package/development/{toggle-check.component-BIV7jFIc.js → toggle-check.component-CbGa5-8I.js} +1 -1
  366. package/development/toggle-check.js +1 -1
  367. package/development/toggle-check.pure.js +1 -1
  368. package/development/{toggle-option.component-DRxwLSKU.js → toggle-option.component-BxGnhJFH.js} +1 -1
  369. package/development/toggle.component-Q68IDQWX.js +243 -0
  370. package/development/toggle.js +2 -2
  371. package/development/toggle.pure.js +2 -2
  372. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  373. package/development/tooltip/tooltip.component.js +1 -1
  374. package/development/tooltip.component-Baoh6M8V.js +369 -0
  375. package/development/tooltip.js +1 -1
  376. package/development/tooltip.pure.js +1 -1
  377. package/development/train/train/train.component.js +1 -1
  378. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  379. package/development/train/train-formation/train-formation.component.js +1 -1
  380. package/development/train/train-wagon-common.js +1 -1
  381. package/development/{train-blocked-passage.component-Cxd7dBDC.js → train-blocked-passage.component-C7ve-a1E.js} +1 -1
  382. package/development/{train-formation.component-BEg6OPib.js → train-formation.component-DQ_hLKNv.js} +2 -2
  383. package/development/train-wagon-common-CdckItEt.js +441 -0
  384. package/development/train.component-Bi74L6C7.js +239 -0
  385. package/development/train.js +4 -4
  386. package/development/train.pure.js +4 -4
  387. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  388. package/development/{visual-checkbox.component-Dm8DNhH2.js → visual-checkbox.component-B4_iHcsX.js} +1 -1
  389. package/development/visual-checkbox.js +1 -1
  390. package/development/visual-checkbox.pure.js +1 -1
  391. package/dialog/dialog/dialog.component.js +1 -1
  392. package/{dialog.component-CsBryhM-.js → dialog.component-D3G0AX4Y.js} +4 -4
  393. package/dialog.js +1 -1
  394. package/dialog.pure.js +1 -1
  395. package/file-selector/common/file-selector-common.js +1 -1
  396. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  397. package/{file-selector-common-VNwWFEmM.js → file-selector-common-BNGnjK__.js} +1 -1
  398. package/{file-selector-dropzone.component-CGo6odhC.js → file-selector-dropzone.component-sE_fofSq.js} +1 -1
  399. package/file-selector.js +2 -2
  400. package/file-selector.pure.js +2 -2
  401. package/flip-card/flip-card/flip-card.component.js +1 -1
  402. package/{flip-card.component-CZ0v44Ym.js → flip-card.component-ZsA_kDPS.js} +22 -18
  403. package/flip-card.js +1 -1
  404. package/flip-card.pure.js +1 -1
  405. package/form-field/form-field/form-field.component.js +1 -1
  406. package/{form-field.component-BdfK6r2v.js → form-field.component-BoLly8qP.js} +4 -4
  407. package/form-field.js +1 -1
  408. package/form-field.pure.js +1 -1
  409. package/header/common/header-action-common.js +1 -1
  410. package/header-action-common-B-eRBjSz.js +64 -0
  411. package/header.js +1 -1
  412. package/header.pure.js +1 -1
  413. package/icon/icon.component.js +2 -5
  414. package/inline-link-common-O650N_pm.js +13 -0
  415. package/lean-off-brand-theme.css +416 -503
  416. package/lean-safety-theme.css +416 -503
  417. package/lean-theme.css +416 -503
  418. package/link/common/inline-link-common.js +1 -1
  419. package/link-list/link-list.component.js +1 -1
  420. package/link-list-anchor/link-list-anchor.component.js +1 -1
  421. package/{link-list-anchor.component-DG_HCtHH.js → link-list-anchor.component-Bjz_EKvE.js} +1 -1
  422. package/link-list-anchor.js +1 -1
  423. package/link-list-anchor.pure.js +1 -1
  424. package/{link-list.component-BNVd0a8U.js → link-list.component-Dg-7TBPC.js} +1 -1
  425. package/link-list.js +1 -1
  426. package/link-list.pure.js +1 -1
  427. package/link.js +1 -1
  428. package/link.pure.js +1 -1
  429. package/menu/common/menu-action-common.js +1 -1
  430. package/menu/menu/menu.component.js +1 -1
  431. package/{menu-action-common-Wy36tk18.js → menu-action-common-DakEXPg7.js} +1 -1
  432. package/{menu.component-DrrKSRmJ.js → menu.component-CqXsI5Cg.js} +25 -21
  433. package/menu.js +2 -2
  434. package/menu.pure.js +2 -2
  435. package/message/message.component.js +1 -1
  436. package/{message.component-CdfsCpnE.js → message.component-CORYX4KP.js} +1 -1
  437. package/message.js +1 -1
  438. package/message.pure.js +1 -1
  439. package/{mini-button-group.component-DQBU0BDm.js → mini-button-group.component-DWayyUpK.js} +1 -1
  440. package/navigation/navigation/navigation.component.js +1 -1
  441. package/navigation/navigation-list/navigation-list.component.js +1 -1
  442. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  443. package/{navigation-list.component-Cezo1tC-.js → navigation-list.component-C5y3ohH0.js} +1 -1
  444. package/{navigation-marker.component-CNsMaqpH.js → navigation-marker.component-VbvKu1TR.js} +1 -1
  445. package/{navigation.component-DLgmWh_c.js → navigation.component-DKJujMqj.js} +23 -19
  446. package/navigation.js +3 -3
  447. package/navigation.pure.js +3 -3
  448. package/off-brand-theme.css +416 -503
  449. package/{optgroup-base-element-Cxe8SIQh.js → optgroup-base-element-CBxsRPUF.js} +10 -17
  450. package/option/optgroup/optgroup-base-element.js +1 -1
  451. package/option/optgroup/optgroup.component.js +1 -1
  452. package/option/option/option.component.js +1 -1
  453. package/option/option-styles.js +2 -0
  454. package/option-styles-DcD5grSB.js +6 -0
  455. package/option.js +6 -5
  456. package/option.pure.js +5 -4
  457. package/overlay/overlay-base-element.js +24 -24
  458. package/overlay/overlay.component.js +1 -1
  459. package/{overlay.component-myJflfLY.js → overlay.component-OSLtja0_.js} +4 -4
  460. package/overlay.js +1 -1
  461. package/overlay.pure.js +1 -1
  462. package/package.json +5 -49
  463. package/paginator/common/paginator-common.js +1 -1
  464. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  465. package/paginator/paginator/paginator.component.js +1 -1
  466. package/paginator.component-Dk1xDHgW.js +212 -0
  467. package/paginator.js +3 -3
  468. package/paginator.pure.js +3 -3
  469. package/popover/popover.component.js +1 -1
  470. package/{popover.component-Dm_86bPY.js → popover.component-Bm-bx-Hs.js} +32 -32
  471. package/popover.js +1 -1
  472. package/popover.pure.js +1 -1
  473. package/radio-button/common/radio-button-common.js +1 -1
  474. package/radio-button/radio-button.component.js +1 -1
  475. package/{radio-button.component-CZ273yAb.js → radio-button.component-CGeTCfMq.js} +1 -1
  476. package/radio-button.js +2 -2
  477. package/radio-button.pure.js +2 -2
  478. package/safety-theme.css +416 -503
  479. package/select/select.component.js +1 -1
  480. package/{select.component-CLPLpFDz.js → select.component-UcWSndDu.js} +41 -39
  481. package/select.js +1 -1
  482. package/select.pure.js +1 -1
  483. package/selection-action-panel/selection-action-panel.component.js +1 -1
  484. package/selection-action-panel.js +1 -1
  485. package/selection-action-panel.pure.js +1 -1
  486. package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  487. package/selection-expansion-panel.js +1 -1
  488. package/selection-expansion-panel.pure.js +1 -1
  489. package/sidebar/sidebar/sidebar.component.js +1 -1
  490. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  491. package/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  492. package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  493. package/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  494. package/sidebar.js +5 -5
  495. package/sidebar.pure.js +5 -5
  496. package/signet/signet.component.js +1 -1
  497. package/signet.js +1 -1
  498. package/signet.pure.js +1 -1
  499. package/skiplink-list/skiplink-list.component.js +1 -1
  500. package/{skiplink-list.component-BXaqYpsI.js → skiplink-list.component-ClGb1J_H.js} +1 -1
  501. package/skiplink-list.js +1 -1
  502. package/skiplink-list.pure.js +1 -1
  503. package/slider/slider.component.js +1 -1
  504. package/{slider.component-BlUWAWJU.js → slider.component-BMkoF1l1.js} +23 -31
  505. package/slider.js +1 -1
  506. package/slider.pure.js +1 -1
  507. package/standard-theme.css +416 -503
  508. package/status/status.component.js +1 -1
  509. package/status.js +1 -1
  510. package/status.pure.js +1 -1
  511. package/stepper/step/step.component.js +1 -1
  512. package/stepper/step-label/step-label.component.js +1 -1
  513. package/stepper/stepper/stepper.component.js +1 -1
  514. package/stepper.js +3 -3
  515. package/stepper.pure.js +3 -3
  516. package/{sticky-bar.component-dmlGAZLW.js → sticky-bar.component-DtXeRUqi.js} +1 -1
  517. package/styles-DV41ClRb.js +5 -0
  518. package/{tab-nav-bar.component-FT2W0urU.js → tab-nav-bar.component-CRC6xnaX.js} +1 -1
  519. package/table/table-wrapper/table-wrapper.component.js +1 -1
  520. package/table.js +1 -1
  521. package/table.pure.js +1 -1
  522. package/tabs/common/styles.js +1 -1
  523. package/tabs/tab/tab.component.js +1 -1
  524. package/tabs/tab-group/tab-group.component.js +1 -1
  525. package/tabs/tab-label/tab-label.component.js +1 -1
  526. package/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
  527. package/tabs.js +5 -5
  528. package/tabs.pure.js +5 -5
  529. package/tag/tag/tag.component.js +1 -1
  530. package/tag/tag-group/tag-group.component.js +1 -1
  531. package/{tag-group.component-9UfHHJ79.js → tag-group.component-wnzXwLPf.js} +1 -1
  532. package/tag.js +2 -2
  533. package/tag.pure.js +2 -2
  534. package/teaser/teaser.component.js +1 -1
  535. package/teaser-hero/teaser-hero.component.js +1 -1
  536. package/teaser-hero.js +1 -1
  537. package/teaser-hero.pure.js +1 -1
  538. package/teaser-panel/teaser-panel.component.js +1 -1
  539. package/teaser-panel.js +1 -1
  540. package/teaser-panel.pure.js +1 -1
  541. package/teaser-product/common/teaser-product-common.js +1 -1
  542. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  543. package/teaser-product.js +2 -2
  544. package/teaser-product.pure.js +2 -2
  545. package/teaser.js +1 -1
  546. package/teaser.pure.js +1 -1
  547. package/time-input/time-input.component.js +1 -1
  548. package/time-input.js +1 -1
  549. package/time-input.pure.js +1 -1
  550. package/timetable-form/timetable-form/timetable-form.component.js +1 -1
  551. package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  552. package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  553. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  554. package/timetable-form.js +4 -4
  555. package/timetable-form.pure.js +4 -4
  556. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  557. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  558. package/timetable-occupancy-icon.js +1 -1
  559. package/timetable-occupancy-icon.pure.js +1 -1
  560. package/{timetable-occupancy.component-DGQ20zH1.js → timetable-occupancy.component-CIkq1cT7.js} +17 -13
  561. package/timetable-occupancy.js +1 -1
  562. package/timetable-occupancy.pure.js +1 -1
  563. package/title/title-base.js +1 -1
  564. package/title/title.component.js +1 -1
  565. package/{title-base-JBhKD3ur.js → title-base-B1xzk7Zb.js} +1 -1
  566. package/{title.component-VnTeqomb.js → title.component-DTnG8op9.js} +2 -2
  567. package/title.js +2 -2
  568. package/title.pure.js +2 -2
  569. package/toast/toast.component.js +1 -1
  570. package/{toast.component-BMN90Ouu.js → toast.component-Ew5vuGXf.js} +19 -19
  571. package/toast.js +1 -1
  572. package/toast.pure.js +1 -1
  573. package/toggle/toggle/toggle.component.js +1 -1
  574. package/toggle/toggle-option/toggle-option.component.js +1 -1
  575. package/toggle-check/toggle-check.component.js +1 -1
  576. package/toggle-check.js +1 -1
  577. package/toggle-check.pure.js +1 -1
  578. package/toggle.js +2 -2
  579. package/toggle.pure.js +2 -2
  580. package/tooltip/tooltip.component.js +1 -1
  581. package/{tooltip.component-NfyDxfw7.js → tooltip.component-ihyNBI7f.js} +25 -25
  582. package/tooltip.js +1 -1
  583. package/tooltip.pure.js +1 -1
  584. package/train/train/train.component.js +1 -1
  585. package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  586. package/train/train-formation/train-formation.component.js +1 -1
  587. package/train/train-wagon-common.js +1 -1
  588. package/{train-formation.component-DVxNBPIB.js → train-formation.component-CYqdWnkL.js} +1 -1
  589. package/{train-wagon-common-CDCsWVgi.js → train-wagon-common-C1Py1D01.js} +1 -1
  590. package/{train.component-DxadS7O8.js → train.component-DRLUjuXY.js} +1 -1
  591. package/train.js +4 -4
  592. package/train.pure.js +4 -4
  593. package/visual-checkbox/visual-checkbox.component.js +1 -1
  594. package/visual-checkbox.js +1 -1
  595. package/visual-checkbox.pure.js +1 -1
  596. package/a11y.css +0 -20
  597. package/animation.css +0 -14
  598. package/badge.css +0 -32
  599. package/core/decorators/host-attributes.js +0 -17
  600. package/core/eventing/throttle.js +0 -11
  601. package/core/styles/badge.scss +0 -3
  602. package/core/styles/mixins/badge.scss +0 -42
  603. package/core/styles/mixins/buttons.scss +0 -12
  604. package/core/styles/mixins/card.scss +0 -205
  605. package/core/styles/mixins/dev_and_debug.scss +0 -8
  606. package/core/styles/mixins/image.scss +0 -43
  607. package/core/styles/mixins/inputs.scss +0 -11
  608. package/core/styles/mixins/link.scss +0 -125
  609. package/core/styles/mixins/panel.scss +0 -80
  610. package/core/styles/mixins/popover.scss +0 -14
  611. package/core/styles/mixins/table.scss +0 -185
  612. package/core/styles/mixins/timetable-form.scss +0 -63
  613. package/core/styles/option-panel-common.global.scss +0 -11
  614. package/core/styles/option-panel-common.scss +0 -157
  615. package/core/styles/theme.scss +0 -20
  616. package/core/styles/timetable-form.scss +0 -27
  617. package/core/styles/typography.private.scss +0 -9
  618. package/core.css +0 -2713
  619. package/development/autocomplete-base-element-qnPoRLvM.js +0 -695
  620. package/development/breadcrumb-group.component-BUBfl6LV.js +0 -193
  621. package/development/calendar.component-CG96KGTg.js +0 -1469
  622. package/development/core/decorators/host-attributes.d.ts +0 -22
  623. package/development/core/decorators/host-attributes.d.ts.map +0 -1
  624. package/development/core/decorators/host-attributes.js +0 -41
  625. package/development/core/eventing/throttle.d.ts +0 -3
  626. package/development/core/eventing/throttle.d.ts.map +0 -1
  627. package/development/core/eventing/throttle.js +0 -18
  628. package/development/file-selector-common-mZ5UYxOF.js +0 -421
  629. package/development/flip-card.component-DujrPKzU.js +0 -185
  630. package/development/form-field.component-CPWBCHer.js +0 -702
  631. package/development/header-action-common-Be0XQge2.js +0 -86
  632. package/development/inline-link-common-gmt6yz3v.js +0 -18
  633. package/development/link-list.component-B90qHOUD.js +0 -97
  634. package/development/menu-action-common-DRXQc85Y.js +0 -32
  635. package/development/menu.component-Cv9wRj4H.js +0 -365
  636. package/development/navigation-list.component-Dvv-bZ2V.js +0 -86
  637. package/development/navigation-marker.component-DMqe-VlY.js +0 -120
  638. package/development/navigation.component-CqNkBvEs.js +0 -315
  639. package/development/optgroup-base-element-CLfE6pmz.js +0 -147
  640. package/development/option.component-CV6cZnJe.js +0 -131
  641. package/development/paginator.component-BwLUSpDj.js +0 -261
  642. package/development/popover.component-CKUZbWbV.js +0 -578
  643. package/development/radio-button-common-G0jLFo41.js +0 -129
  644. package/development/select.component-CUjF11sq.js +0 -807
  645. package/development/selection-expansion-panel.component-BT78Qhbf.js +0 -186
  646. package/development/sidebar-container.component-CxwDKxv9.js +0 -100
  647. package/development/skiplink-list.component-m7xm-pns.js +0 -129
  648. package/development/slider.component-D_nLTlRF.js +0 -346
  649. package/development/step-label.component-Bo7Z0w7N.js +0 -127
  650. package/development/stepper.component-BeqeUIRN.js +0 -443
  651. package/development/styles-Cctez2BS.js +0 -22
  652. package/development/tab-nav-bar.component-B_mi8GGR.js +0 -109
  653. package/development/tag-group.component-Db8prSBL.js +0 -194
  654. package/development/tag.component-DG1uxD28.js +0 -238
  655. package/development/teaser-product.component-DMyuB-cH.js +0 -37
  656. package/development/teaser.component-CF_NUbwJ.js +0 -116
  657. package/development/time-input.component-XxzRoupm.js +0 -187
  658. package/development/timetable-occupancy-icon.component-UBmyZsTO.js +0 -95
  659. package/development/timetable-occupancy.component-DMm242Fr.js +0 -122
  660. package/development/title-base-D_Rjyk_j.js +0 -102
  661. package/development/title.component-CMxYhTfw.js +0 -71
  662. package/development/toggle.component-B03k5qc1.js +0 -243
  663. package/development/tooltip.component-D8zik3p4.js +0 -369
  664. package/development/train-wagon-common-Dg-BjUtC.js +0 -441
  665. package/development/train.component-dECIGw2x.js +0 -239
  666. package/header-action-common-DuPx0U2o.js +0 -64
  667. package/inline-link-common-BqqH1ExY.js +0 -13
  668. package/layout.css +0 -30
  669. package/lists.css +0 -194
  670. package/normalize.css +0 -95
  671. package/paginator.component-DB8l-B6J.js +0 -208
  672. package/scrollbar.css +0 -124
  673. package/styles-DAMaYe4p.js +0 -5
  674. package/table.css +0 -261
  675. package/timetable-form.css +0 -73
  676. package/typography.css +0 -67
  677. /package/{compact-paginator.component-BAuShgQE.js → compact-paginator.component-B-8gf_qD.js} +0 -0
  678. /package/core/styles/{disable-animation.scss → disable-animation-extension.scss} +0 -0
  679. /package/core/styles/{node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss → features/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss} +0 -0
  680. /package/core/styles/{node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss → features/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss} +0 -0
  681. /package/core/styles/{normalize.scss → features/normalize.scss} +0 -0
  682. /package/core/styles/{scrollbar.private.scss → features/scrollbar.private.scss} +0 -0
  683. /package/core/styles/mixins/{animation.scss → _animation.scss} +0 -0
  684. /package/core/styles/mixins/{font-face.scss → _font-face.scss} +0 -0
  685. /package/core/styles/mixins/{layout.scss → _layout.scss} +0 -0
  686. /package/core/styles/mixins/{scrollbar.scss → _scrollbar.scss} +0 -0
  687. /package/{disable-animation.css → disable-animation-extension.css} +0 -0
  688. /package/{option.component-BeorlZT0.js → option.component-DiH8AMlV.js} +0 -0
  689. /package/{paginator-common-BWewgXga.js → paginator-common-C0Kn9ibe.js} +0 -0
  690. /package/{radio-button-common-CrIRn10q.js → radio-button-common-BDNSqXg-.js} +0 -0
  691. /package/{selection-action-panel.component-DCGJQ3Mx.js → selection-action-panel.component-Ba7N1Hgt.js} +0 -0
  692. /package/{selection-expansion-panel.component-Cu1egfTY.js → selection-expansion-panel.component-BL1FPfPM.js} +0 -0
  693. /package/{sidebar-close-button.component-8owwjvk3.js → sidebar-close-button.component-CLjOpBM2.js} +0 -0
  694. /package/{sidebar-container.component-Dcke-Uhr.js → sidebar-container.component-8filIF5E.js} +0 -0
  695. /package/{sidebar-content.component-CYupfsq_.js → sidebar-content.component-DMdjHDdq.js} +0 -0
  696. /package/{sidebar-title.component-Cf64lCJx.js → sidebar-title.component-DaIkBNY9.js} +0 -0
  697. /package/{sidebar.component-LaqQzMo2.js → sidebar.component-D_HLDNnq.js} +0 -0
  698. /package/{signet.component-3Xfke8uk.js → signet.component-6q3GxORI.js} +0 -0
  699. /package/{status.component-mel7wA1j.js → status.component-DMfZTgzz.js} +0 -0
  700. /package/{step-label.component-BGSaHafq.js → step-label.component-CjNZYk5b.js} +0 -0
  701. /package/{step.component-tJh-Pb_E.js → step.component-BCkwsZdk.js} +0 -0
  702. /package/{stepper.component-BCl77LVa.js → stepper.component-mq66fR06.js} +0 -0
  703. /package/{styles-DisU4TWi.js → styles-DWm_OYpV.js} +0 -0
  704. /package/{tab-group.component-CDhggNpe.js → tab-group.component-MEm2W7QR.js} +0 -0
  705. /package/{tab-label.component-BuF2qt1T.js → tab-label.component-BqznCfW8.js} +0 -0
  706. /package/{tab.component-D6hfhlZw.js → tab.component-DPwbvqp4.js} +0 -0
  707. /package/{table-wrapper.component-C83EYuZP.js → table-wrapper.component-LzYuAVPb.js} +0 -0
  708. /package/{tag.component-BKuxfdDi.js → tag.component-zGPaopTo.js} +0 -0
  709. /package/{teaser-hero.component-mv6HL4vm.js → teaser-hero.component-BlhffYux.js} +0 -0
  710. /package/{teaser-panel.component-qRmy2lbz.js → teaser-panel.component-BCbKgXVt.js} +0 -0
  711. /package/{teaser-product-common-J1KZ2Hlw.js → teaser-product-common-C_lgMbyC.js} +0 -0
  712. /package/{teaser-product.component-BcleFVcu.js → teaser-product.component-CQIXu7sq.js} +0 -0
  713. /package/{teaser.component-BOqCERR7.js → teaser.component-D9z78Eny.js} +0 -0
  714. /package/{time-input.component-Dw8pPYDK.js → time-input.component-CLHEoWze.js} +0 -0
  715. /package/{timetable-form-details.component-0c6h6shd.js → timetable-form-details.component-DJ3oPkQP.js} +0 -0
  716. /package/{timetable-form-field.component-Cya8n2Ms.js → timetable-form-field.component-6s8_sz9h.js} +0 -0
  717. /package/{timetable-form-swap-button.component-rI_0UYJw.js → timetable-form-swap-button.component-BY2m2_k9.js} +0 -0
  718. /package/{timetable-form.component-DVps6baq.js → timetable-form.component-Swe8BX7g.js} +0 -0
  719. /package/{timetable-occupancy-icon.component-ABh1bz-X.js → timetable-occupancy-icon.component-C44eSFOM.js} +0 -0
  720. /package/{toggle-check.component-BcQ5ht0O.js → toggle-check.component-Ce-klZJB.js} +0 -0
  721. /package/{toggle-option.component-DQcPDXyl.js → toggle-option.component-BdMfGuA-.js} +0 -0
  722. /package/{toggle.component-DARkqJol.js → toggle.component-ySmrXvjA.js} +0 -0
  723. /package/{train-blocked-passage.component-B601YYJl.js → train-blocked-passage.component-UnNCmspZ.js} +0 -0
  724. /package/{visual-checkbox.component-YhX5Qk3j.js → visual-checkbox.component-JmGORoDU.js} +0 -0
@@ -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, 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 line-height: var(--sbb-typo-line-height-text);\n}\n\n:host([negative]) {\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-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-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 font-family: var(--sbb-typo-font-family);\n letter-spacing: var(--sbb-typo-letter-spacing-text);\n font-size: var(--sbb-paginator-font-size);\n line-height: var(--sbb-typo-line-height-text);\n font-weight: normal;\n position: relative;\n cursor: var(--sbb-paginator-page-cursor);\n outline: none !important;\n color: var(--sbb-paginator-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-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-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-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-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-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-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-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, 0));\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 = [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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdG9yLmNvbXBvbmVudC1Cd0xVU3BEai5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL3BhZ2luYXRvci9wYWdpbmF0b3Iuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvcGFnaW5hdG9yL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1zYmItcGFnaW5hdG9yLWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKFxuICAgIC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLFxuICAgIHZhcigtLXNiYi1hbmltYXRpb24tZHVyYXRpb24tMngpXG4gICk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLy8gUHJldmVudCBpbmZsdWVuY2UgZnJvbSBjb25zdW1lci1zZXQgbGluZS1oZWlnaHRcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xufVxuXG46aG9zdChbbmVnYXRpdmVdKSB7XG4gIC0tc2JiLWZvY3VzLW91dGxpbmUtY29sb3I6IHZhcigtLXNiYi1mb2N1cy1vdXRsaW5lLWNvbG9yLWRhcmspO1xufVxuXG46aG9zdChbcGFnZXItcG9zaXRpb249J2VuZCddKSB7XG4gIC0tc2JiLXBhZ2luYXRvci1qdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgLS1zYmItcGFnaW5hdG9yLXdyYXBwaW5nLWdyb3VwLXdyYXA6IHdyYXA7XG4gIC0tc2JiLXBhZ2luYXRvci13cmFwOiB3cmFwLXJldmVyc2U7XG59XG5cbi5zYmItcGFnaW5hdG9yLFxuLnNiYi1wYWdpbmF0b3JfX3dyYXBwaW5nLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCkgdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtNngpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHZhcigtLXNiYi1wYWdpbmF0b3ItanVzdGlmeS1jb250ZW50LCBzdGFydCk7XG59XG5cbi5zYmItcGFnaW5hdG9yIHtcbiAgZmxleC13cmFwOiB2YXIoLS1zYmItcGFnaW5hdG9yLXdyYXAsIHdyYXApO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItcGFnaW5hdG9yLWhlaWdodCk7XG59XG5cbi5zYmItcGFnaW5hdG9yX193cmFwcGluZy1ncm91cCB7XG4gIGZsZXgtd3JhcDogdmFyKC0tc2JiLXBhZ2luYXRvci13cmFwcGluZy1ncm91cC13cmFwLCB3cmFwLXJldmVyc2UpO1xufVxuXG4uc2JiLXBhZ2luYXRvcl9fcGFnZS1zaXplLW9wdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTJ4KTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY29sb3I6IHZhcigtLXNiYi1wYWdpbmF0b3ItY29sb3IpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi1wYWdpbmF0b3ItZm9udC1zaXplKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuXG4gIC8vIFJlYXBwbHkgcGFydCBvZiB0aGUgZ2xvYmFsIGZvcm0tZmllbGQgY3NzIHRoYXQgZG9lcyBub3QgcGllcmNlIHRoZSBzaGFkb3cgRE9NLlxuICBzYmItc2VsZWN0IHtcbiAgICBjb2xvcjogdmFyKC0tc2JiLWZvcm0tZmllbGQtdGV4dC1jb2xvcik7XG4gICAgZm9udC1zaXplOiB2YXIoLS1zYmItZm9ybS1maWVsZC1pbnB1dC10ZXh0LXNpemUpO1xuICAgIGxldHRlci1zcGFjaW5nOiB2YXIoLS1zYmItdHlwby1sZXR0ZXItc3BhY2luZy10ZXh0KTtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXNiYi1mb3JtLWZpZWxkLXNlbGVjdC1pbmxpbmUtcGFkZGluZy1lbmQpO1xuICB9XG59XG5cbi5zYmItcGFnaW5hdG9yX19wYWdlcyB7XG4gIEBpbmNsdWRlIHNiYi5saXN0LXJlc2V0O1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zYmItcGFnaW5hdG9yX19wYWdlLS1lbGxpcHNpcyxcbi5zYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLXBhZ2luYXRvci1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG4gIGNvbG9yOiB2YXIoLS1zYmItcGFnaW5hdG9yLWNvbG9yKTtcbn1cblxuLnNiYi1wYWdpbmF0b3JfX3BhZ2UtLWVsbGlwc2lzLWl0ZW0sXG4uc2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IHZhcigtLXNiYi1zaXplLWVsZW1lbnQteHhzKTtcbiAgaGVpZ2h0OiB2YXIoLS1zYmItc2l6ZS1lbGVtZW50LXh4cyk7XG59XG5cbi5zYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXItaXRlbSB7XG4gIEBpbmNsdWRlIHNiYi5idXR0b24tcmVzZXQ7XG5cbiAgZm9udC1mYW1pbHk6IHZhcigtLXNiYi10eXBvLWZvbnQtZmFtaWx5KTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuICBmb250LXNpemU6IHZhcigtLXNiYi1wYWdpbmF0b3ItZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogdmFyKC0tc2JiLXBhZ2luYXRvci1wYWdlLWN1cnNvcik7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IHZhcigtLXNiYi1wYWdpbmF0b3ItY29sb3IpO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1zYmItcGFnaW5hdG9yLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tc2JiLXBhZ2luYXRvci1hbmltYXRpb24tZWFzaW5nKTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItcGFnaW5hdG9yLXBhZ2UtYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlcjogdmFyKC0tc2JiLXBhZ2luYXRvci1wYWdlLWJvcmRlci13aWR0aCkgdmFyKC0tc2JiLXBhZ2luYXRvci1wYWdlLWJvcmRlci1zdHlsZSwgbm9uZSlcbiAgICAgIHZhcigtLXNiYi1wYWdpbmF0b3ItcGFnZS1ib3JkZXItY29sb3IsIG5vbmUpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNiYi1ib3JkZXItcmFkaXVzLWluZmluaXR5KTtcbiAgICBpbnNldDogdmFyKC0tc2JiLXBhZ2luYXRvci1wYWdlLWluc2V0LCAwKTtcbiAgICB0cmFuc2l0aW9uOiB7XG4gICAgICBwcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLCBpbnNldDtcbiAgICAgIGR1cmF0aW9uOiB2YXIoLS1zYmItcGFnaW5hdG9yLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1wYWdpbmF0b3ItYW5pbWF0aW9uLWVhc2luZyk7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG5cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTJ4KTtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtc2VsZWN0ZWRdIHtcbiAgICBAaW5jbHVkZSBzYmIudGV4dC0tYm9sZDtcblxuICAgIC0tc2JiLXBhZ2luYXRvci1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTMpO1xuICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWJvcmRlci13aWR0aDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0yeCk7XG4gICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1ib3JkZXItY29sb3I6IHZhcigtLXNiYi1ib3JkZXItY29sb3ItMik7XG5cbiAgICA6aG9zdChbbmVnYXRpdmVdKSAmIHtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAgICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYm9yZGVyLWNvbG9yOiB2YXIoLS1zYmItYm9yZGVyLWNvbG9yLTItbmVnYXRpdmUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHNiYi5pZi1mb3JjZWQtY29sb3JzIHtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWJvcmRlci1jb2xvcjogSGlnaGxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgLS1zYmItcGFnaW5hdG9yLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItNSk7XG4gICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYm9yZGVyLWNvbG9yOiB2YXIoLS1zYmItYm9yZGVyLWNvbG9yLTUpO1xuICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xuICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWN1cnNvcjogdmFyKC0tc2JiLWN1cnNvci1kZWZhdWx0KTtcblxuICAgICY6bm90KFtkYXRhLXNlbGVjdGVkXSkge1xuICAgICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYm9yZGVyLXdpZHRoOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KTtcbiAgICB9XG5cbiAgICA6aG9zdChbbmVnYXRpdmVdKSAmIHtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1jb2xvcjogdmFyKC0tc2JiLWNvbG9yLTUpO1xuICAgICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMy1uZWdhdGl2ZSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc2JiLmlmLWZvcmNlZC1jb2xvcnMge1xuICAgICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYm9yZGVyLWNvbG9yOiBHcmF5VGV4dDtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci1jb2xvcjogR3JheVRleHQ7XG4gICAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1iYWNrZ3JvdW5kLWNvbG9yOiBDYW52YXM7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgQGluY2x1ZGUgc2JiLmhvdmVyLW1xKCRob3ZlcjogdHJ1ZSkge1xuICAgICAgLS1zYmItcGFnaW5hdG9yLXBhZ2UtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG4gICAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1pbnNldDogY2FsYyh2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTJ4KSAqIC0xKTtcbiAgICAgIC0tc2JiLXBhZ2luYXRvci10cmFuc2xhdGUteS1jb250ZW50LWhvdmVyOiAje3NiYi5weC10by1yZW0tYnVpbGQoLTEpfTtcblxuICAgICAgOmhvc3QoW25lZ2F0aXZlXSkgJiB7XG4gICAgICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMtbmVnYXRpdmUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICAgIC0tc2JiLXBhZ2luYXRvci1wYWdlLWJhY2tncm91bmQtY29sb3I6IEhpZ2hsaWdodCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAtLXNiYi1wYWdpbmF0b3ItY29sb3I6IHZhcigtLXNiYi1jb2xvci0zKTtcbiAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci00KTtcbiAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1pbnNldDogMDtcbiAgICAtLXNiYi1wYWdpbmF0b3ItdHJhbnNsYXRlLXktY29udGVudC1ob3ZlcjogMDtcblxuICAgIDpob3N0KFtuZWdhdGl2ZV0pICYge1xuICAgICAgLS1zYmItcGFnaW5hdG9yLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItMy1uZWdhdGl2ZSk7XG4gICAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci00LW5lZ2F0aXZlKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzYmIuaWYtZm9yY2VkLWNvbG9ycyB7XG4gICAgICAtLXNiYi1wYWdpbmF0b3ItcGFnZS1iYWNrZ3JvdW5kLWNvbG9yOiBIaWdobGlnaHQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLnNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtLWxhYmVsIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXNiYi1wYWdpbmF0b3ItYW5pbWF0aW9uLWR1cmF0aW9uKVxuICAgIHZhcigtLXNiYi1wYWdpbmF0b3ItYW5pbWF0aW9uLWVhc2luZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1zYmItcGFnaW5hdG9yLXRyYW5zbGF0ZS15LWNvbnRlbnQtaG92ZXIsIDApKTtcbn1cbiIsImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVwZWF0IH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVwZWF0LmpzJztcblxuaW1wb3J0IHtcbiAgZm9yY2VUeXBlLFxuICBpMThuSXRlbXNQZXJQYWdlLFxuICBpMThuUGFnZSxcbiAgU2JiRWxlbWVudCxcbiAgdHlwZSBTYmJFbGVtZW50VHlwZSxcbiAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYkZvcm1GaWVsZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9mb3JtLWZpZWxkLnB1cmUudHMnO1xuaW1wb3J0IHsgU2JiT3B0aW9uRWxlbWVudCB9IGZyb20gJy4uLy4uL29wdGlvbi5wdXJlLnRzJztcbmltcG9ydCB7IFNiYlNlbGVjdEVsZW1lbnQgfSBmcm9tICcuLi8uLi9zZWxlY3QucHVyZS50cyc7XG5pbXBvcnQgeyBTYmJQYWdpbmF0b3JDb21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24vcGFnaW5hdG9yLWNvbW1vbi50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3BhZ2luYXRvci5zY3NzP2lubGluZSc7XG5cbmNvbnN0IE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEID0gMztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHBhZ2luYXRvciBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJQYWdpbmF0b3JFbGVtZW50IGV4dGVuZHMgU2JiUGFnaW5hdG9yQ29tbW9uRWxlbWVudE1peGluKFNiYkVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1wYWdpbmF0b3InO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbXG4gICAgU2JiRm9ybUZpZWxkRWxlbWVudCxcbiAgICBTYmJTZWxlY3RFbGVtZW50LFxuICAgIFNiYk9wdGlvbkVsZW1lbnQsXG4gIF07XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFt1bnNhZmVDU1Moc3R5bGUpXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgcGFnZTogJ3BhZ2UnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBUaGUgYXZhaWxhYmxlIGBwYWdlU2l6ZWAgY2hvaWNlcy4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAncGFnZS1zaXplLW9wdGlvbnMnLCB0eXBlOiBBcnJheSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcGFnZVNpemVPcHRpb25zOiBudW1iZXJbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbiBvZiB0aGUgcHJldi9uZXh0IGJ1dHRvbnM6IGlmIGBwYWdlU2l6ZU9wdGlvbnNgIGlzIHNldCxcbiAgICogdGhlIHNiYi1zZWxlY3QgZm9yIHRoZSBwYWdlU2l6ZSBjaGFuZ2Ugd2lsbCBiZSBwb3NpdGlvbmVkIG9wcG9zaXRlbHksIHdpdGggdGhlIHBhZ2UgbnVtYmVycyBhbHdheXMgaW4gdGhlIGNlbnRlci5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BhZ2VyLXBvc2l0aW9uJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgb3ZlcnJpZGUgYWNjZXNzb3IgcGFnZXJQb3NpdGlvbjpcbiAgICB8ICdzdGFydCdcbiAgICB8ICdlbmQnID0gJ3N0YXJ0JztcblxuICAvKipcbiAgICogQWNjZXNzaWJpbGl0eSBsYWJlbCBmb3IgdGhlIGl0ZW1zIHBlciBwYWdlLiBEZWZhdWx0cyB0byBgSXRlbXMgcGVyIHBhZ2UuYC5cbiAgICogQ2FuIGJlIHNldCBmb3IgY2FzZXMgbGlrZSBhIGNhcm91c2VsLCB3aGVyZSBgc2xpZGVgIG9yIGBpbWFnZWAgZml0cyBiZXR0ZXIuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWNjZXNzaWJpbGl0eS1pdGVtcy1wZXItcGFnZS1sYWJlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGFjY2Vzc2liaWxpdHlJdGVtc1BlclBhZ2VMYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgcHJpdmF0ZSBfbWFya0ZvckZvY3VzID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAvKiogVGFiIG5hdmlnYXRpb24gY2FuIGZvcmNlIGEgcmVyZW5kZXIgd2hlbiBlbGxpcHNpcyBlbGVtZW50cyBuZWVkIHRvIGJlIGRpc3BsYXllZDsgdGhlIGZvY3VzIG11c3Qgc3RheSBvbiB0aGUgY29ycmVjdCBlbGVtZW50LiAqL1xuICAgIGlmICh0aGlzLl9tYXJrRm9yRm9jdXMpIHtcbiAgICAgIGNvbnN0IGZvY3VzRWxlbWVudCA9IHRoaXMuX2dldFZpc2libGVQYWdlcygpLmZpbmQoXG4gICAgICAgIChlKSA9PiB0aGlzLnBhZ2VJbmRleCA9PT0gK2UuZ2V0QXR0cmlidXRlKCdkYXRhLWluZGV4JykhLFxuICAgICAgKTtcbiAgICAgIGlmIChmb2N1c0VsZW1lbnQpIHtcbiAgICAgICAgKGZvY3VzRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZm9jdXMoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBkaXNwbGF5ZWQgcGFnZSBlbGVtZW50cy4gKi9cbiAgcHJpdmF0ZSBfZ2V0VmlzaWJsZVBhZ2VzKCk6IEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yQWxsKCcuc2JiLXBhZ2luYXRvcl9fcGFnZS0tbnVtYmVyLWl0ZW0nKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlIHRoZSBwYWdlcyBzZXQgYmFzZWQgb24gdGhlIGZvbGxvd2luZyBydWxlczpcbiAgICogIC0gdGhlIGZpcnN0IHBhZ2UgbXVzdCBhbHdheXMgYmUgdmlzaWJsZTtcbiAgICogIC0gdGhlIGxhc3QgcGFnZSBtdXN0IGFsd2F5cyBiZSB2aXNpYmxlO1xuICAgKiAgLSBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIGBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRGAgb3RoZXIgcGFnZXMsIGVsbGlwc2lzIGJ1dHRvbiBtdXN0IGJlIHVzZWQuXG4gICAqL1xuICBwcml2YXRlIF9nZXRWaXNpYmxlUGFnZXNJbmRleCgpOiAobnVtYmVyIHwgJ2VsbGlwc2lzJylbXSB7XG4gICAgY29uc3QgdG90YWxQYWdlczogbnVtYmVyID0gdGhpcy5udW1iZXJPZlBhZ2VzKCk7XG4gICAgY29uc3QgY3VycmVudFBhZ2VJbmRleDogbnVtYmVyID0gdGhpcy5wYWdlSW5kZXg7XG5cbiAgICBpZiAodG90YWxQYWdlcyA8PSBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDIpIHtcbiAgICAgIHJldHVybiB0aGlzLl9yYW5nZSh0b3RhbFBhZ2VzKTtcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRQYWdlSW5kZXggPCBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCkge1xuICAgICAgcmV0dXJuIFsuLi50aGlzLl9yYW5nZShNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCArIDEpLCAnZWxsaXBzaXMnLCB0b3RhbFBhZ2VzIC0gMV07XG4gICAgfSBlbHNlIGlmIChjdXJyZW50UGFnZUluZGV4ID49IHRvdGFsUGFnZXMgLSBNQVhfUEFHRV9OVU1CRVJTX0RJU1BMQVlFRCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgMCxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgLi4udGhpcy5fcmFuZ2UoTUFYX1BBR0VfTlVNQkVSU19ESVNQTEFZRUQgKyAxLCB0b3RhbFBhZ2VzIC0gMSAtIE1BWF9QQUdFX05VTUJFUlNfRElTUExBWUVEKSxcbiAgICAgIF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIDAsXG4gICAgICAgICdlbGxpcHNpcycsXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXggLSAxLFxuICAgICAgICBjdXJyZW50UGFnZUluZGV4LFxuICAgICAgICBjdXJyZW50UGFnZUluZGV4ICsgMSxcbiAgICAgICAgJ2VsbGlwc2lzJyxcbiAgICAgICAgdG90YWxQYWdlcyAtIDEsXG4gICAgICBdO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDcmVhdGVzIGFuIGFycmF5IG9mIGNvbnNlY3V0aXZlIG51bWJlcnMgZ2l2ZW4gdGhlIGxlbmd0aCBhbmQgdGhlIHN0YXJ0aW5nIHZhbHVlLiAqL1xuICBwcml2YXRlIF9yYW5nZShsZW5ndGg6IG51bWJlciwgb2Zmc2V0OiBudW1iZXIgPSAwKTogbnVtYmVyW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoIH0sIChfLCBrKSA9PiBrICsgb2Zmc2V0KTtcbiAgfVxuXG4gIHByaXZhdGUgX29uUGFnZU51bWJlckNsaWNrKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdFBhZ2UoaW5kZXgpO1xuXG4gICAgLy8gV2hlbiB0aGUgcGFnZSBpcyBjaGFuZ2VkLCB0aGUgbmV3IGN1cnJlbnQgcGFnZSBtaWdodCBjaGFuZ2UgaXRzIHBvc2l0aW9uLlxuICAgIC8vIEFmdGVyIHRoZSByZW5kZXIsIHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgdGhlIGZvY3VzIHN0YXlzIG9uIHRoZSBzZWxlY3RlZCBwYWdlLlxuICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCc7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVzdWx0IHwgdHlwZW9mIG5vdGhpbmcge1xuICAgIHJldHVybiB0aGlzLnBhZ2VTaXplT3B0aW9ucyAmJiB0aGlzLnBhZ2VTaXplT3B0aW9ucy5sZW5ndGggPiAwXG4gICAgICA/IGh0bWxgXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2Utc2l6ZS1vcHRpb25zXCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwic2VsZWN0XCJcbiAgICAgICAgICAgICAgPiR7dGhpcy5hY2Nlc3NpYmlsaXR5SXRlbXNQZXJQYWdlTGFiZWxcbiAgICAgICAgICAgICAgICA/IHRoaXMuYWNjZXNzaWJpbGl0eUl0ZW1zUGVyUGFnZUxhYmVsXG4gICAgICAgICAgICAgICAgOiBpMThuSXRlbXNQZXJQYWdlW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19PC9sYWJlbFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPHNiYi1mb3JtLWZpZWxkXG4gICAgICAgICAgICAgIGJvcmRlcmxlc3NcbiAgICAgICAgICAgICAgd2lkdGg9XCJjb2xsYXBzZVwiXG4gICAgICAgICAgICAgID9uZWdhdGl2ZT0ke3RoaXMubmVnYXRpdmV9XG4gICAgICAgICAgICAgIHNpemU9JHt0aGlzLnNpemUgfHwgbm90aGluZ31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNiYi1zZWxlY3RcbiAgICAgICAgICAgICAgICBpZD1cInNlbGVjdFwiXG4gICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICB2YWx1ZT0ke3RoaXMucGFnZVNpemVPcHRpb25zPy5maW5kKChlKSA9PiBlID09PSB0aGlzLnBhZ2VTaXplKSA/P1xuICAgICAgICAgICAgICAgIHRoaXMucGFnZVNpemVPcHRpb25zIVswXX1cbiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7KGU6IEV2ZW50KSA9PlxuICAgICAgICAgICAgICAgICAgKHRoaXMucGFnZVNpemUgPSArKChlLnRhcmdldCBhcyBTYmJTZWxlY3RFbGVtZW50KS52YWx1ZSBhcyBzdHJpbmcpKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICR7cmVwZWF0KFxuICAgICAgICAgICAgICAgICAgdGhpcy5wYWdlU2l6ZU9wdGlvbnMhLFxuICAgICAgICAgICAgICAgICAgKGVsZW1lbnQpID0+IGh0bWxgPHNiYi1vcHRpb24gdmFsdWU9JHtlbGVtZW50fT4ke2VsZW1lbnR9PC9zYmItb3B0aW9uPmAsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9zYmItc2VsZWN0PlxuICAgICAgICAgICAgPC9zYmItZm9ybS1maWVsZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgYFxuICAgICAgOiBub3RoaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVuZGVyUGFnZU51bWJlcnMoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHVsIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZXNcIj5cbiAgICAgICAgJHtyZXBlYXQoXG4gICAgICAgICAgdGhpcy5fZ2V0VmlzaWJsZVBhZ2VzSW5kZXgoKSxcbiAgICAgICAgICAoaXRlbTogbnVtYmVyIHwgJ2VsbGlwc2lzJyk6IFRlbXBsYXRlUmVzdWx0ID0+XG4gICAgICAgICAgICBpdGVtID09PSAnZWxsaXBzaXMnXG4gICAgICAgICAgICAgID8gaHRtbGBcbiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLWVsbGlwc2lzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fcGFnZS0tZWxsaXBzaXMtaXRlbVwiPuKApjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgYFxuICAgICAgICAgICAgICA6IGh0bWxgXG4gICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJzYmItcGFnaW5hdG9yX19wYWdlLS1udW1iZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgID9kYXRhLXNlbGVjdGVkPSR7dGhpcy5wYWdlSW5kZXggPT09IGl0ZW19XG4gICAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgICBkYXRhLWluZGV4PSR7aXRlbX1cbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiJHt0aGlzLmFjY2Vzc2liaWxpdHlQYWdlTGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgID8gdGhpcy5hY2Nlc3NpYmlsaXR5UGFnZUxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGkxOG5QYWdlW3RoaXMubGFuZ3VhZ2UuY3VycmVudF19ICR7aXRlbSArIDF9XCJcbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWN1cnJlbnQ9JHt0aGlzLnBhZ2VJbmRleCA9PT0gaXRlbSA/ICd0cnVlJyA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCkgPT4gdGhpcy5fb25QYWdlTnVtYmVyQ2xpY2soaXRlbSl9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1wYWdpbmF0b3JfX3BhZ2UtLW51bWJlci1pdGVtLWxhYmVsXCI+JHtpdGVtICsgMX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICBgLFxuICAgICAgICApfVxuICAgICAgPC91bD5cbiAgICBgO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlclBhZ2luYXRvcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXBhZ2luYXRvclwiPlxuICAgICAgICAke1xuICAgICAgICAgIHRoaXMucGFnZXJQb3NpdGlvbiA9PT0gJ3N0YXJ0J1xuICAgICAgICAgICAgPyBodG1sYDxzcGFuIGNsYXNzPVwic2JiLXBhZ2luYXRvcl9fd3JhcHBpbmctZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJQcmV2TmV4dEJ1dHRvbnMoKX0gJHt0aGlzLl9yZW5kZXJQYWdlTnVtYmVycygpfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAke3RoaXMuX3JlbmRlckl0ZW1QZXJQYWdlVGVtcGxhdGUoKX1gXG4gICAgICAgICAgICA6IGh0bWxgJHt0aGlzLl9yZW5kZXJJdGVtUGVyUGFnZVRlbXBsYXRlKCl9XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcGFnaW5hdG9yX193cmFwcGluZy1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgJHt0aGlzLl9yZW5kZXJQYWdlTnVtYmVycygpfSAke3RoaXMucmVuZGVyUHJldk5leHRCdXR0b25zKCl9XG4gICAgICAgICAgICAgICAgPC9zcGFuPmBcbiAgICAgICAgfTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1wYWdpbmF0b3InOiBTYmJQYWdpbmF0b3JFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUMwQkEsSUFBTSw2QkFBNkI7Ozs7SUFLdEIsNkJBQW1CO21CQUFTLCtCQUErQixVQUFVOzs7Ozs7Ozs7O2NBQXJFLDRCQUE0QixZQUEwQzs7O0dBY2pFLEtBQUEsb0NBQUEsa0JBQUEsTUFBQSwrQkFBNEIsQ0FBQSxDQUFFO0dBTXFDLEtBQUEsbUNBQUEsa0JBQUEsTUFBQSxrQ0FBQSxHQUFBLGtCQUFBLE1BQUEsNkJBRXZFLE9BQU87R0FRSCxLQUFBLG9EQUFBLGtCQUFBLE1BQUEsZ0NBQUEsR0FBQSxrQkFBQSxNQUFBLDhDQUF5QyxFQUFFO0dBRW5ELEtBQUEsaUJBQWEsa0JBQUEsTUFBQSxpREFBQSxHQUFHO0VBeUoxQjs7O2tDQTVLRyxTQUFTO0lBQUUsV0FBVztJQUFxQixNQUFNO0dBQUssQ0FBRSxDQUFDO2dDQU96RCxTQUFTO0lBQUUsV0FBVztJQUFrQixTQUFTO0dBQUksQ0FBRSxDQUFDO2lEQVF4RCxVQUFTLEdBQ1QsU0FBUyxFQUFFLFdBQVcscUNBQW9DLENBQUUsQ0FBQztHQWY5RCxhQUFBLE1BQUEsTUFBQSw2QkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLHFCQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQWUsTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFmLGtCQUFlO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLCtCQUFBLGtDQUFBO0dBTTJCLGFBQUEsTUFBQSxNQUFBLDJCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsbUJBQUE7S0FBQSxNQUFBLFFBQUEsSUFBeUI7S0FBYSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQWIsZ0JBQWE7S0FBQTtJQUFBO0lBQUEsVUFBQTtHQUFBLEdBQUEsNkJBQUEsZ0NBQUE7R0FVaEcsYUFBQSxNQUFBLE1BQUEsNENBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxvQ0FBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUE4QixNQUFBLEtBQUEsVUFBQTtNQUFBLElBQTlCLGlDQUE4QjtLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSw4Q0FBQSxpREFBQTs7Ozs7Ozs7O0dBN0JkLEtBQUEsY0FBc0I7RUFBZ0I7O0dBQy9DLEtBQUEsc0JBQXdDO0lBQzdEO0lBQ0E7SUFDQTs7RUFDQTs7R0FDcUIsS0FBQSxTQUF5QixDQUFDLFVBQVUsaUJBQUssQ0FBQztFQUFFOztHQUM1QyxLQUFBLFNBQWlDLEVBQ3RELE1BQU0sT0FBQTtFQUNHO0VBSVg7O0VBQUEsSUFBZ0Isa0JBQWU7R0FBQSxPQUFBLEtBQUE7RUFBQTtFQUEvQixJQUFnQixnQkFBZSxPQUFBO0dBQUEsS0FBQSxvQ0FBQTtFQUFBO0VBTTJCOzs7OztFQUFBLElBQXlCLGdCQUFhO0dBQUEsT0FBQSxLQUFBO0VBQUE7RUFBdEMsSUFBeUIsY0FBYSxPQUFBO0dBQUEsS0FBQSxrQ0FBQTtFQUFBO0VBVWhHOzs7OztFQUFBLElBQWdCLGlDQUE4QjtHQUFBLE9BQUEsS0FBQTtFQUFBO0VBQTlDLElBQWdCLCtCQUE4QixPQUFBO0dBQUEsS0FBQSxtREFBQTtFQUFBO0VBSTNCLFFBQVEsbUJBQXVDO0dBQ2hFLE1BQU0sUUFBUSxpQkFBaUI7O0dBRy9CLElBQUksS0FBSyxlQUFlO0lBQ3RCLE1BQU0sZUFBZSxLQUFLLGlCQUFnQixFQUFHLE1BQzFDLE1BQU0sS0FBSyxjQUFjLENBQUMsRUFBRSxhQUFhLFlBQVksQ0FBRTtJQUUxRCxJQUFJLGNBQ0QsYUFBNkIsTUFBSztJQUVyQyxLQUFLLGdCQUFnQjtHQUN2QjtFQUNGOztFQUdRLG1CQUFnQjtHQUN0QixPQUFPLE1BQU0sS0FBSyxLQUFLLFdBQVksaUJBQWlCLG1DQUFtQyxDQUFDO0VBQzFGOzs7Ozs7O0VBUVEsd0JBQXFCO0dBQzNCLE1BQU0sYUFBcUIsS0FBSyxjQUFhO0dBQzdDLE1BQU0sbUJBQTJCLEtBQUs7R0FFdEMsSUFBSSxjQUFjLDZCQUE2QixHQUM3QyxPQUFPLEtBQUssT0FBTyxVQUFVO1FBQ3hCLElBQUksbUJBQW1CLDRCQUM1QixPQUFPO0lBQUMsR0FBRyxLQUFLLE9BQU8sNkJBQTZCLENBQUM7SUFBRztJQUFZLGFBQWE7R0FBQztRQUM3RSxJQUFJLG9CQUFvQixhQUFhLDRCQUMxQyxPQUFPO0lBQ0w7SUFDQTtJQUNBLEdBQUcsS0FBSyxPQUFPLDZCQUE2QixHQUFHLGFBQWEsSUFBSSwwQkFBMEI7O1FBRzVGLE9BQU87SUFDTDtJQUNBO0lBQ0EsbUJBQW1CO0lBQ25CO0lBQ0EsbUJBQW1CO0lBQ25CO0lBQ0EsYUFBYTs7RUFHbkI7O0VBR1EsT0FBTyxRQUFnQixTQUFpQixHQUFDO0dBQy9DLE9BQU8sTUFBTSxLQUFLLEVBQUUsT0FBTSxJQUFLLEdBQUcsTUFBTSxJQUFJLE1BQU07RUFDcEQ7RUFFUSxtQkFBbUIsT0FBYTtHQUN0QyxLQUFLLFdBQVcsS0FBSztHQUlyQixLQUFLLGdCQUFnQix5QkFBeUIsdUJBQXVCO0VBQ3ZFO0VBRVEsNkJBQTBCO0dBQ2hDLE9BQU8sS0FBSyxtQkFBbUIsS0FBSyxnQkFBZ0IsU0FBUyxJQUN6RCxJQUFJOzs7aUJBR0ssS0FBSyxpQ0FDSixLQUFLLGlDQUNMLGlCQUFpQixLQUFLLFNBQVMsU0FBUTs7Ozs7MEJBSy9CLEtBQUssU0FBQTtxQkFDVixLQUFLLFFBQVEsUUFBQTs7Ozs0QkFJTixLQUFLLFNBQUE7d0JBQ1QsS0FBSyxpQkFBaUIsTUFBTSxNQUFNLE1BQU0sS0FBSyxRQUFRLEtBQzdELEtBQUssZ0JBQWlCLEdBQUE7MkJBQ1gsTUFDUixLQUFLLFdBQVcsQ0FBRyxFQUFFLE9BQTRCLE1BQUE7O2tCQUVsRCxPQUNBLEtBQUssa0JBQ0osWUFBWSxJQUFJLHFCQUFxQixRQUFPLEdBQUksUUFBTyxjQUFlLEVBQUE7Ozs7WUFNakY7RUFDTjtFQUVRLHFCQUFrQjtHQUN4QixPQUFPLElBQUk7O1VBRUwsT0FDQSxLQUFLLHNCQUFxQixJQUN6QixTQUNDLFNBQVMsYUFDTCxJQUFJOzs7O29CQUtKLElBQUk7Ozt1Q0FHbUIsS0FBSyxjQUFjLEtBQUE7a0NBQ3hCLEtBQUssU0FBQTs7bUNBRUosS0FBQTtvQ0FDQyxLQUFLLHlCQUNmLEtBQUsseUJBQ0wsU0FBUyxLQUFLLFNBQVMsU0FBUSxHQUFJLE9BQU8sRUFBQztxQ0FDaEMsS0FBSyxjQUFjLE9BQU8sU0FBUyxRQUFBO3FDQUNuQyxLQUFLLG1CQUFtQixJQUFJLEVBQUE7OzZFQUVZLE9BQU8sRUFBQzs7O2lCQUdwRSxFQUFBOzs7RUFJZjtFQUVtQixrQkFBZTtHQUNoQyxPQUFPLElBQUk7O1VBR0wsS0FBSyxrQkFBa0IsVUFDbkIsSUFBSTtvQkFDRSxLQUFLLHNCQUFxQixFQUFFLEdBQUksS0FBSyxtQkFBa0IsRUFBQTs7a0JBRXpELEtBQUssMkJBQTBCLE1BQ25DLElBQUksR0FBRyxLQUFLLDJCQUEwQixFQUFBOztvQkFFaEMsS0FBSyxtQkFBa0IsRUFBRSxHQUFJLEtBQUssc0JBQXFCLEVBQUE7eUJBRW5FOzs7RUFHTiJ9