@sbb-esta/lyne-elements 0.0.0 → 0.52.0

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 (1748) hide show
  1. package/README.md +55 -0
  2. package/_index.scss +2 -0
  3. package/a11y.css +22 -0
  4. package/accordion/accordion.d.ts +41 -0
  5. package/accordion/accordion.d.ts.map +1 -0
  6. package/accordion.d.ts +2 -0
  7. package/accordion.d.ts.map +1 -0
  8. package/accordion.js +88 -0
  9. package/action-group/action-group.d.ts +45 -0
  10. package/action-group/action-group.d.ts.map +1 -0
  11. package/action-group.d.ts +2 -0
  12. package/action-group.d.ts.map +1 -0
  13. package/action-group.js +57 -0
  14. package/alert/alert/alert.d.ts +76 -0
  15. package/alert/alert/alert.d.ts.map +1 -0
  16. package/alert/alert-group/alert-group.d.ts +48 -0
  17. package/alert/alert-group/alert-group.d.ts.map +1 -0
  18. package/alert/alert-group.d.ts +2 -0
  19. package/alert/alert-group.d.ts.map +1 -0
  20. package/alert/alert-group.js +73 -0
  21. package/alert/alert.d.ts +2 -0
  22. package/alert/alert.d.ts.map +1 -0
  23. package/alert/alert.js +139 -0
  24. package/alert.d.ts +3 -0
  25. package/alert.d.ts.map +1 -0
  26. package/alert.js +2 -0
  27. package/animation.css +18 -0
  28. package/autocomplete/autocomplete.d.ts +108 -0
  29. package/autocomplete/autocomplete.d.ts.map +1 -0
  30. package/autocomplete.d.ts +2 -0
  31. package/autocomplete.d.ts.map +1 -0
  32. package/autocomplete.js +300 -0
  33. package/breadcrumb/breadcrumb/breadcrumb.d.ts +23 -0
  34. package/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -0
  35. package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts +50 -0
  36. package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -0
  37. package/breadcrumb/breadcrumb-group.d.ts +2 -0
  38. package/breadcrumb/breadcrumb-group.d.ts.map +1 -0
  39. package/breadcrumb/breadcrumb-group.js +150 -0
  40. package/breadcrumb/breadcrumb.d.ts +2 -0
  41. package/breadcrumb/breadcrumb.d.ts.map +1 -0
  42. package/breadcrumb/breadcrumb.js +43 -0
  43. package/breadcrumb.d.ts +3 -0
  44. package/breadcrumb.d.ts.map +1 -0
  45. package/breadcrumb.js +2 -0
  46. package/button/button/button.d.ts +20 -0
  47. package/button/button/button.d.ts.map +1 -0
  48. package/button/button-link/button-link.d.ts +20 -0
  49. package/button/button-link/button-link.d.ts.map +1 -0
  50. package/button/button-link.d.ts +2 -0
  51. package/button/button-link.d.ts.map +1 -0
  52. package/button/button-link.js +20 -0
  53. package/button/button-static/button-static.d.ts +20 -0
  54. package/button/button-static/button-static.d.ts.map +1 -0
  55. package/button/button-static.d.ts +2 -0
  56. package/button/button-static.d.ts.map +1 -0
  57. package/button/button-static.js +20 -0
  58. package/button/button.d.ts +2 -0
  59. package/button/button.d.ts.map +1 -0
  60. package/button/button.js +20 -0
  61. package/button/common/button-common.d.ts +14 -0
  62. package/button/common/button-common.d.ts.map +1 -0
  63. package/button/common.d.ts +2 -0
  64. package/button/common.d.ts.map +1 -0
  65. package/button/common.js +42 -0
  66. package/button/mini-button/mini-button.d.ts +22 -0
  67. package/button/mini-button/mini-button.d.ts.map +1 -0
  68. package/button/mini-button.d.ts +2 -0
  69. package/button/mini-button.d.ts.map +1 -0
  70. package/button/mini-button.js +29 -0
  71. package/button/secondary-button/secondary-button.d.ts +20 -0
  72. package/button/secondary-button/secondary-button.d.ts.map +1 -0
  73. package/button/secondary-button-link/secondary-button-link.d.ts +20 -0
  74. package/button/secondary-button-link/secondary-button-link.d.ts.map +1 -0
  75. package/button/secondary-button-link.d.ts +2 -0
  76. package/button/secondary-button-link.d.ts.map +1 -0
  77. package/button/secondary-button-link.js +20 -0
  78. package/button/secondary-button-static/secondary-button-static.d.ts +20 -0
  79. package/button/secondary-button-static/secondary-button-static.d.ts.map +1 -0
  80. package/button/secondary-button-static.d.ts +2 -0
  81. package/button/secondary-button-static.d.ts.map +1 -0
  82. package/button/secondary-button-static.js +20 -0
  83. package/button/secondary-button.d.ts +2 -0
  84. package/button/secondary-button.d.ts.map +1 -0
  85. package/button/secondary-button.js +20 -0
  86. package/button/tertiary-button/tertiary-button.d.ts +20 -0
  87. package/button/tertiary-button/tertiary-button.d.ts.map +1 -0
  88. package/button/tertiary-button-link/tertiary-button-link.d.ts +20 -0
  89. package/button/tertiary-button-link/tertiary-button-link.d.ts.map +1 -0
  90. package/button/tertiary-button-link.d.ts +2 -0
  91. package/button/tertiary-button-link.d.ts.map +1 -0
  92. package/button/tertiary-button-link.js +20 -0
  93. package/button/tertiary-button-static/tertiary-button-static.d.ts +20 -0
  94. package/button/tertiary-button-static/tertiary-button-static.d.ts.map +1 -0
  95. package/button/tertiary-button-static.d.ts +2 -0
  96. package/button/tertiary-button-static.d.ts.map +1 -0
  97. package/button/tertiary-button-static.js +20 -0
  98. package/button/tertiary-button.d.ts +2 -0
  99. package/button/tertiary-button.d.ts.map +1 -0
  100. package/button/tertiary-button.js +20 -0
  101. package/button/transparent-button/transparent-button.d.ts +20 -0
  102. package/button/transparent-button/transparent-button.d.ts.map +1 -0
  103. package/button/transparent-button-link/transparent-button-link.d.ts +20 -0
  104. package/button/transparent-button-link/transparent-button-link.d.ts.map +1 -0
  105. package/button/transparent-button-link.d.ts +2 -0
  106. package/button/transparent-button-link.d.ts.map +1 -0
  107. package/button/transparent-button-link.js +20 -0
  108. package/button/transparent-button-static/transparent-button-static.d.ts +20 -0
  109. package/button/transparent-button-static/transparent-button-static.d.ts.map +1 -0
  110. package/button/transparent-button-static.d.ts +2 -0
  111. package/button/transparent-button-static.d.ts.map +1 -0
  112. package/button/transparent-button-static.js +20 -0
  113. package/button/transparent-button.d.ts +2 -0
  114. package/button/transparent-button.d.ts.map +1 -0
  115. package/button/transparent-button.js +20 -0
  116. package/button.d.ts +15 -0
  117. package/button.d.ts.map +1 -0
  118. package/button.js +14 -0
  119. package/calendar/calendar.d.ts +216 -0
  120. package/calendar/calendar.d.ts.map +1 -0
  121. package/calendar.d.ts +2 -0
  122. package/calendar.d.ts.map +1 -0
  123. package/calendar.js +826 -0
  124. package/card/card/card.d.ts +29 -0
  125. package/card/card/card.d.ts.map +1 -0
  126. package/card/card-badge/card-badge.d.ts +23 -0
  127. package/card/card-badge/card-badge.d.ts.map +1 -0
  128. package/card/card-badge.d.ts +2 -0
  129. package/card/card-badge.d.ts.map +1 -0
  130. package/card/card-badge.js +48 -0
  131. package/card/card-button/card-button.d.ts +19 -0
  132. package/card/card-button/card-button.d.ts.map +1 -0
  133. package/card/card-button.d.ts +2 -0
  134. package/card/card-button.d.ts.map +1 -0
  135. package/card/card-button.js +19 -0
  136. package/card/card-link/card-link.d.ts +19 -0
  137. package/card/card-link/card-link.d.ts.map +1 -0
  138. package/card/card-link.d.ts +2 -0
  139. package/card/card-link.d.ts.map +1 -0
  140. package/card/card-link.js +19 -0
  141. package/card/card.d.ts +2 -0
  142. package/card/card.d.ts.map +1 -0
  143. package/card/card.js +47 -0
  144. package/card/common/card-action-common.d.ts +9 -0
  145. package/card/common/card-action-common.d.ts.map +1 -0
  146. package/card/common.d.ts +2 -0
  147. package/card/common.d.ts.map +1 -0
  148. package/card/common.js +67 -0
  149. package/card.d.ts +6 -0
  150. package/card.d.ts.map +1 -0
  151. package/card.js +5 -0
  152. package/checkbox/checkbox/checkbox.d.ts +73 -0
  153. package/checkbox/checkbox/checkbox.d.ts.map +1 -0
  154. package/checkbox/checkbox-group/checkbox-group.d.ts +37 -0
  155. package/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -0
  156. package/checkbox/checkbox-group.d.ts +2 -0
  157. package/checkbox/checkbox-group.d.ts.map +1 -0
  158. package/checkbox/checkbox-group.js +83 -0
  159. package/checkbox/checkbox.d.ts +2 -0
  160. package/checkbox/checkbox.d.ts.map +1 -0
  161. package/checkbox/checkbox.js +132 -0
  162. package/checkbox.d.ts +3 -0
  163. package/checkbox.d.ts.map +1 -0
  164. package/checkbox.js +2 -0
  165. package/chip/chip.d.ts +21 -0
  166. package/chip/chip.d.ts.map +1 -0
  167. package/chip.d.ts +2 -0
  168. package/chip.d.ts.map +1 -0
  169. package/chip.js +35 -0
  170. package/clock/clock.d.ts +62 -0
  171. package/clock/clock.d.ts.map +1 -0
  172. package/clock.d.ts +2 -0
  173. package/clock.d.ts.map +1 -0
  174. package/clock.js +156 -0
  175. package/container/container/container.d.ts +25 -0
  176. package/container/container/container.d.ts.map +1 -0
  177. package/container/container.d.ts +2 -0
  178. package/container/container.d.ts.map +1 -0
  179. package/container/container.js +41 -0
  180. package/container/sticky-bar/sticky-bar.d.ts +31 -0
  181. package/container/sticky-bar/sticky-bar.d.ts.map +1 -0
  182. package/container/sticky-bar.d.ts +2 -0
  183. package/container/sticky-bar.d.ts.map +1 -0
  184. package/container/sticky-bar.js +57 -0
  185. package/container.d.ts +3 -0
  186. package/container.d.ts.map +1 -0
  187. package/container.js +2 -0
  188. package/core/a11y/arrow-navigation.d.ts +32 -0
  189. package/core/a11y/arrow-navigation.d.ts.map +1 -0
  190. package/core/a11y/fake-event-detection.d.ts +5 -0
  191. package/core/a11y/fake-event-detection.d.ts.map +1 -0
  192. package/core/a11y/focus-visible-within-controller.d.ts +11 -0
  193. package/core/a11y/focus-visible-within-controller.d.ts.map +1 -0
  194. package/core/a11y/focus.d.ts +22 -0
  195. package/core/a11y/focus.d.ts.map +1 -0
  196. package/core/a11y/input-modality-detector.d.ts +58 -0
  197. package/core/a11y/input-modality-detector.d.ts.map +1 -0
  198. package/core/a11y/interactivity-checker.d.ts +17 -0
  199. package/core/a11y/interactivity-checker.d.ts.map +1 -0
  200. package/core/a11y.d.ts +7 -0
  201. package/core/a11y.d.ts.map +1 -0
  202. package/core/a11y.js +226 -0
  203. package/core/base-elements/action-base-element.d.ts +11 -0
  204. package/core/base-elements/action-base-element.d.ts.map +1 -0
  205. package/core/base-elements/button-base-element.d.ts +46 -0
  206. package/core/base-elements/button-base-element.d.ts.map +1 -0
  207. package/core/base-elements/link-base-element.d.ts +31 -0
  208. package/core/base-elements/link-base-element.d.ts.map +1 -0
  209. package/core/base-elements/open-close-base-element.d.ts +37 -0
  210. package/core/base-elements/open-close-base-element.d.ts.map +1 -0
  211. package/core/base-elements.d.ts +5 -0
  212. package/core/base-elements.d.ts.map +1 -0
  213. package/core/base-elements.js +234 -0
  214. package/core/config/config.d.ts +22 -0
  215. package/core/config/config.d.ts.map +1 -0
  216. package/core/config.d.ts +2 -0
  217. package/core/config.d.ts.map +1 -0
  218. package/core/config.js +11 -0
  219. package/core/controllers/connected-abort-controller.d.ts +11 -0
  220. package/core/controllers/connected-abort-controller.d.ts.map +1 -0
  221. package/core/controllers/language-controller.d.ts +33 -0
  222. package/core/controllers/language-controller.d.ts.map +1 -0
  223. package/core/controllers/slot-state-controller.d.ts +32 -0
  224. package/core/controllers/slot-state-controller.d.ts.map +1 -0
  225. package/core/controllers.d.ts +4 -0
  226. package/core/controllers.d.ts.map +1 -0
  227. package/core/controllers.js +88 -0
  228. package/core/datetime/date-adapter.d.ts +162 -0
  229. package/core/datetime/date-adapter.d.ts.map +1 -0
  230. package/core/datetime/native-date-adapter.d.ts +74 -0
  231. package/core/datetime/native-date-adapter.d.ts.map +1 -0
  232. package/core/datetime.d.ts +3 -0
  233. package/core/datetime.d.ts.map +1 -0
  234. package/core/datetime.js +256 -0
  235. package/core/decorators/host-attributes.d.ts +22 -0
  236. package/core/decorators/host-attributes.d.ts.map +1 -0
  237. package/core/decorators.d.ts +2 -0
  238. package/core/decorators.d.ts.map +1 -0
  239. package/core/decorators.js +18 -0
  240. package/core/dom/breakpoint.d.ts +14 -0
  241. package/core/dom/breakpoint.d.ts.map +1 -0
  242. package/core/dom/find-referenced-element.d.ts +7 -0
  243. package/core/dom/find-referenced-element.d.ts.map +1 -0
  244. package/core/dom/get-document-writing-mode.d.ts +2 -0
  245. package/core/dom/get-document-writing-mode.d.ts.map +1 -0
  246. package/core/dom/host-context.d.ts +11 -0
  247. package/core/dom/host-context.d.ts.map +1 -0
  248. package/core/dom/input-element.d.ts +10 -0
  249. package/core/dom/input-element.d.ts.map +1 -0
  250. package/core/dom/platform.d.ts +24 -0
  251. package/core/dom/platform.d.ts.map +1 -0
  252. package/core/dom/scroll.d.ts +13 -0
  253. package/core/dom/scroll.d.ts.map +1 -0
  254. package/core/dom/set-or-remove-attribute.d.ts +8 -0
  255. package/core/dom/set-or-remove-attribute.d.ts.map +1 -0
  256. package/core/dom/ssr.d.ts +12 -0
  257. package/core/dom/ssr.d.ts.map +1 -0
  258. package/core/dom.d.ts +10 -0
  259. package/core/dom.d.ts.map +1 -0
  260. package/core/dom.js +99 -0
  261. package/core/eventing/composed-path-has-attribute.d.ts +10 -0
  262. package/core/eventing/composed-path-has-attribute.d.ts.map +1 -0
  263. package/core/eventing/event-emitter.d.ts +23 -0
  264. package/core/eventing/event-emitter.d.ts.map +1 -0
  265. package/core/eventing/event-target.d.ts +3 -0
  266. package/core/eventing/event-target.d.ts.map +1 -0
  267. package/core/eventing/form-element-handlers.d.ts +14 -0
  268. package/core/eventing/form-element-handlers.d.ts.map +1 -0
  269. package/core/eventing/forward-event.d.ts +6 -0
  270. package/core/eventing/forward-event.d.ts.map +1 -0
  271. package/core/eventing/handler-repository.d.ts +28 -0
  272. package/core/eventing/handler-repository.d.ts.map +1 -0
  273. package/core/eventing/is-event-prevented.d.ts +3 -0
  274. package/core/eventing/is-event-prevented.d.ts.map +1 -0
  275. package/core/eventing/throttle.d.ts +2 -0
  276. package/core/eventing/throttle.d.ts.map +1 -0
  277. package/core/eventing.d.ts +9 -0
  278. package/core/eventing.d.ts.map +1 -0
  279. package/core/eventing.js +79 -0
  280. package/core/i18n/i18n.d.ts +74 -0
  281. package/core/i18n/i18n.d.ts.map +1 -0
  282. package/core/i18n.d.ts +2 -0
  283. package/core/i18n.d.ts.map +1 -0
  284. package/core/i18n.js +627 -0
  285. package/core/images.d.ts +3 -0
  286. package/core/images.d.ts.map +1 -0
  287. package/core/interfaces/overlay-close-details.d.ts +5 -0
  288. package/core/interfaces/overlay-close-details.d.ts.map +1 -0
  289. package/core/interfaces/types.d.ts +29 -0
  290. package/core/interfaces/types.d.ts.map +1 -0
  291. package/core/interfaces/validation-change.d.ts +4 -0
  292. package/core/interfaces/validation-change.d.ts.map +1 -0
  293. package/core/interfaces.d.ts +4 -0
  294. package/core/interfaces.d.ts.map +1 -0
  295. package/core/interfaces.js +1 -0
  296. package/core/mixins/constructor.d.ts +8 -0
  297. package/core/mixins/constructor.d.ts.map +1 -0
  298. package/core/mixins/disabled-mixin.d.ts +14 -0
  299. package/core/mixins/disabled-mixin.d.ts.map +1 -0
  300. package/core/mixins/form-associated-checkbox-mixin.d.ts +26 -0
  301. package/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -0
  302. package/core/mixins/form-associated-mixin.d.ts +39 -0
  303. package/core/mixins/form-associated-mixin.d.ts.map +1 -0
  304. package/core/mixins/hydration-mixin.d.ts +30 -0
  305. package/core/mixins/hydration-mixin.d.ts.map +1 -0
  306. package/core/mixins/named-slot-list-mixin.d.ts +31 -0
  307. package/core/mixins/named-slot-list-mixin.d.ts.map +1 -0
  308. package/core/mixins/negative-mixin.d.ts +11 -0
  309. package/core/mixins/negative-mixin.d.ts.map +1 -0
  310. package/core/mixins/required-mixin.d.ts +14 -0
  311. package/core/mixins/required-mixin.d.ts.map +1 -0
  312. package/core/mixins/update-scheduler-mixin.d.ts +14 -0
  313. package/core/mixins/update-scheduler-mixin.d.ts.map +1 -0
  314. package/core/mixins.d.ts +10 -0
  315. package/core/mixins.d.ts.map +1 -0
  316. package/core/mixins.js +425 -0
  317. package/core/observers/intersection-observer.d.ts +14 -0
  318. package/core/observers/intersection-observer.d.ts.map +1 -0
  319. package/core/observers/mutation-observer.d.ts +7 -0
  320. package/core/observers/mutation-observer.d.ts.map +1 -0
  321. package/core/observers/resize-observer.d.ts +10 -0
  322. package/core/observers/resize-observer.d.ts.map +1 -0
  323. package/core/observers.d.ts +4 -0
  324. package/core/observers.d.ts.map +1 -0
  325. package/core/observers.js +38 -0
  326. package/core/overlay/overlay-option-panel.d.ts +10 -0
  327. package/core/overlay/overlay-option-panel.d.ts.map +1 -0
  328. package/core/overlay/overlay-trigger-attributes.d.ts +18 -0
  329. package/core/overlay/overlay-trigger-attributes.d.ts.map +1 -0
  330. package/core/overlay/overlay.d.ts +21 -0
  331. package/core/overlay/overlay.d.ts.map +1 -0
  332. package/core/overlay/position.d.ts +41 -0
  333. package/core/overlay/position.d.ts.map +1 -0
  334. package/core/overlay.d.ts +5 -0
  335. package/core/overlay.d.ts.map +1 -0
  336. package/core/overlay.js +121 -0
  337. package/core/styles/_index.scss +24 -0
  338. package/core/styles/a11y.scss +15 -0
  339. package/core/styles/animation.scss +17 -0
  340. package/core/styles/core/functions.scss +6 -0
  341. package/core/styles/core/mediaqueries.scss +105 -0
  342. package/core/styles/core.scss +123 -0
  343. package/core/styles/font-characters-extension.scss +3 -0
  344. package/core/styles/layout.scss +16 -0
  345. package/core/styles/lists.scss +10 -0
  346. package/core/styles/mixins/a11y.scss +41 -0
  347. package/core/styles/mixins/animation.scss +13 -0
  348. package/core/styles/mixins/badge.scss +14 -0
  349. package/core/styles/mixins/buttons.scss +208 -0
  350. package/core/styles/mixins/card.scss +174 -0
  351. package/core/styles/mixins/chip.scss +95 -0
  352. package/core/styles/mixins/dev_and_debug.scss +8 -0
  353. package/core/styles/mixins/font-face.scss +57 -0
  354. package/core/styles/mixins/helpers.scss +67 -0
  355. package/core/styles/mixins/inputs.scss +11 -0
  356. package/core/styles/mixins/layout.scss +37 -0
  357. package/core/styles/mixins/link.scss +99 -0
  358. package/core/styles/mixins/lists.scss +186 -0
  359. package/core/styles/mixins/overlay.scss +154 -0
  360. package/core/styles/mixins/panel.scss +78 -0
  361. package/core/styles/mixins/pearl-chain-bullet.scss +129 -0
  362. package/core/styles/mixins/scrollbar.scss +108 -0
  363. package/core/styles/mixins/shadows.scss +223 -0
  364. package/core/styles/mixins/typo.scss +237 -0
  365. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +517 -0
  366. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +1104 -0
  367. package/core/styles/normalize.scss +216 -0
  368. package/core/styles/standard-theme.scss +9 -0
  369. package/core/styles/typography.scss +50 -0
  370. package/core/testing/event-spy.d.ts +19 -0
  371. package/core/testing/event-spy.d.ts.map +1 -0
  372. package/core/testing/mocha-extensions.d.ts +11 -0
  373. package/core/testing/mocha-extensions.d.ts.map +1 -0
  374. package/core/testing/private.d.ts +11 -0
  375. package/core/testing/private.d.ts.map +1 -0
  376. package/core/testing/scroll.d.ts +6 -0
  377. package/core/testing/scroll.d.ts.map +1 -0
  378. package/core/testing/test-setup-ssr.d.ts +2 -0
  379. package/core/testing/test-setup-ssr.d.ts.map +1 -0
  380. package/core/testing/test-setup.d.ts +2 -0
  381. package/core/testing/test-setup.d.ts.map +1 -0
  382. package/core/testing/wait-for-condition.d.ts +2 -0
  383. package/core/testing/wait-for-condition.d.ts.map +1 -0
  384. package/core/testing/wait-for-render.d.ts +18 -0
  385. package/core/testing/wait-for-render.d.ts.map +1 -0
  386. package/core/testing.d.ts +6 -0
  387. package/core/testing.d.ts.map +1 -0
  388. package/core/testing.js +62 -0
  389. package/core.css +1280 -0
  390. package/custom-elements.json +51423 -0
  391. package/datepicker/common/datepicker-button.d.ts +38 -0
  392. package/datepicker/common/datepicker-button.d.ts.map +1 -0
  393. package/datepicker/common.d.ts +2 -0
  394. package/datepicker/common.d.ts.map +1 -0
  395. package/datepicker/common.js +122 -0
  396. package/datepicker/datepicker/datepicker.d.ts +145 -0
  397. package/datepicker/datepicker/datepicker.d.ts.map +1 -0
  398. package/datepicker/datepicker-next-day/datepicker-next-day.d.ts +21 -0
  399. package/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -0
  400. package/datepicker/datepicker-next-day.d.ts +2 -0
  401. package/datepicker/datepicker-next-day.d.ts.map +1 -0
  402. package/datepicker/datepicker-next-day.js +31 -0
  403. package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +21 -0
  404. package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -0
  405. package/datepicker/datepicker-previous-day.d.ts +2 -0
  406. package/datepicker/datepicker-previous-day.d.ts.map +1 -0
  407. package/datepicker/datepicker-previous-day.js +31 -0
  408. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +44 -0
  409. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -0
  410. package/datepicker/datepicker-toggle.d.ts +2 -0
  411. package/datepicker/datepicker-toggle.d.ts.map +1 -0
  412. package/datepicker/datepicker-toggle.js +147 -0
  413. package/datepicker/datepicker.d.ts +2 -0
  414. package/datepicker/datepicker.d.ts.map +1 -0
  415. package/datepicker/datepicker.js +261 -0
  416. package/datepicker.d.ts +6 -0
  417. package/datepicker.d.ts.map +1 -0
  418. package/datepicker.js +5 -0
  419. package/development/accordion/accordion.d.ts +41 -0
  420. package/development/accordion/accordion.d.ts.map +1 -0
  421. package/development/accordion.d.ts +2 -0
  422. package/development/accordion.d.ts.map +1 -0
  423. package/development/accordion.js +135 -0
  424. package/development/action-group/action-group.d.ts +45 -0
  425. package/development/action-group/action-group.d.ts.map +1 -0
  426. package/development/action-group.d.ts +2 -0
  427. package/development/action-group.d.ts.map +1 -0
  428. package/development/action-group.js +343 -0
  429. package/development/alert/alert/alert.d.ts +76 -0
  430. package/development/alert/alert/alert.d.ts.map +1 -0
  431. package/development/alert/alert-group/alert-group.d.ts +48 -0
  432. package/development/alert/alert-group/alert-group.d.ts.map +1 -0
  433. package/development/alert/alert-group.d.ts +2 -0
  434. package/development/alert/alert-group.d.ts.map +1 -0
  435. package/development/alert/alert-group.js +144 -0
  436. package/development/alert/alert.d.ts +2 -0
  437. package/development/alert/alert.d.ts.map +1 -0
  438. package/development/alert/alert.js +342 -0
  439. package/development/alert.d.ts +3 -0
  440. package/development/alert.d.ts.map +1 -0
  441. package/development/alert.js +3 -0
  442. package/development/autocomplete/autocomplete.d.ts +108 -0
  443. package/development/autocomplete/autocomplete.d.ts.map +1 -0
  444. package/development/autocomplete.d.ts +2 -0
  445. package/development/autocomplete.d.ts.map +1 -0
  446. package/development/autocomplete.js +720 -0
  447. package/development/breadcrumb/breadcrumb/breadcrumb.d.ts +23 -0
  448. package/development/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -0
  449. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts +50 -0
  450. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -0
  451. package/development/breadcrumb/breadcrumb-group.d.ts +2 -0
  452. package/development/breadcrumb/breadcrumb-group.d.ts.map +1 -0
  453. package/development/breadcrumb/breadcrumb-group.js +298 -0
  454. package/development/breadcrumb/breadcrumb.d.ts +2 -0
  455. package/development/breadcrumb/breadcrumb.d.ts.map +1 -0
  456. package/development/breadcrumb/breadcrumb.js +129 -0
  457. package/development/breadcrumb.d.ts +3 -0
  458. package/development/breadcrumb.d.ts.map +1 -0
  459. package/development/breadcrumb.js +3 -0
  460. package/development/button/button/button.d.ts +20 -0
  461. package/development/button/button/button.d.ts.map +1 -0
  462. package/development/button/button-link/button-link.d.ts +20 -0
  463. package/development/button/button-link/button-link.d.ts.map +1 -0
  464. package/development/button/button-link.d.ts +2 -0
  465. package/development/button/button-link.d.ts.map +1 -0
  466. package/development/button/button-link.js +27 -0
  467. package/development/button/button-static/button-static.d.ts +20 -0
  468. package/development/button/button-static/button-static.d.ts.map +1 -0
  469. package/development/button/button-static.d.ts +2 -0
  470. package/development/button/button-static.d.ts.map +1 -0
  471. package/development/button/button-static.js +27 -0
  472. package/development/button/button.d.ts +2 -0
  473. package/development/button/button.d.ts.map +1 -0
  474. package/development/button/button.js +27 -0
  475. package/development/button/common/button-common.d.ts +14 -0
  476. package/development/button/common/button-common.d.ts.map +1 -0
  477. package/development/button/common.d.ts +2 -0
  478. package/development/button/common.d.ts.map +1 -0
  479. package/development/button/common.js +380 -0
  480. package/development/button/mini-button/mini-button.d.ts +22 -0
  481. package/development/button/mini-button/mini-button.d.ts.map +1 -0
  482. package/development/button/mini-button.d.ts +2 -0
  483. package/development/button/mini-button.d.ts.map +1 -0
  484. package/development/button/mini-button.js +194 -0
  485. package/development/button/secondary-button/secondary-button.d.ts +20 -0
  486. package/development/button/secondary-button/secondary-button.d.ts.map +1 -0
  487. package/development/button/secondary-button-link/secondary-button-link.d.ts +20 -0
  488. package/development/button/secondary-button-link/secondary-button-link.d.ts.map +1 -0
  489. package/development/button/secondary-button-link.d.ts +2 -0
  490. package/development/button/secondary-button-link.d.ts.map +1 -0
  491. package/development/button/secondary-button-link.js +27 -0
  492. package/development/button/secondary-button-static/secondary-button-static.d.ts +20 -0
  493. package/development/button/secondary-button-static/secondary-button-static.d.ts.map +1 -0
  494. package/development/button/secondary-button-static.d.ts +2 -0
  495. package/development/button/secondary-button-static.d.ts.map +1 -0
  496. package/development/button/secondary-button-static.js +27 -0
  497. package/development/button/secondary-button.d.ts +2 -0
  498. package/development/button/secondary-button.d.ts.map +1 -0
  499. package/development/button/secondary-button.js +27 -0
  500. package/development/button/tertiary-button/tertiary-button.d.ts +20 -0
  501. package/development/button/tertiary-button/tertiary-button.d.ts.map +1 -0
  502. package/development/button/tertiary-button-link/tertiary-button-link.d.ts +20 -0
  503. package/development/button/tertiary-button-link/tertiary-button-link.d.ts.map +1 -0
  504. package/development/button/tertiary-button-link.d.ts +2 -0
  505. package/development/button/tertiary-button-link.d.ts.map +1 -0
  506. package/development/button/tertiary-button-link.js +27 -0
  507. package/development/button/tertiary-button-static/tertiary-button-static.d.ts +20 -0
  508. package/development/button/tertiary-button-static/tertiary-button-static.d.ts.map +1 -0
  509. package/development/button/tertiary-button-static.d.ts +2 -0
  510. package/development/button/tertiary-button-static.d.ts.map +1 -0
  511. package/development/button/tertiary-button-static.js +27 -0
  512. package/development/button/tertiary-button.d.ts +2 -0
  513. package/development/button/tertiary-button.d.ts.map +1 -0
  514. package/development/button/tertiary-button.js +27 -0
  515. package/development/button/transparent-button/transparent-button.d.ts +20 -0
  516. package/development/button/transparent-button/transparent-button.d.ts.map +1 -0
  517. package/development/button/transparent-button-link/transparent-button-link.d.ts +20 -0
  518. package/development/button/transparent-button-link/transparent-button-link.d.ts.map +1 -0
  519. package/development/button/transparent-button-link.d.ts +2 -0
  520. package/development/button/transparent-button-link.d.ts.map +1 -0
  521. package/development/button/transparent-button-link.js +27 -0
  522. package/development/button/transparent-button-static/transparent-button-static.d.ts +20 -0
  523. package/development/button/transparent-button-static/transparent-button-static.d.ts.map +1 -0
  524. package/development/button/transparent-button-static.d.ts +2 -0
  525. package/development/button/transparent-button-static.d.ts.map +1 -0
  526. package/development/button/transparent-button-static.js +27 -0
  527. package/development/button/transparent-button.d.ts +2 -0
  528. package/development/button/transparent-button.d.ts.map +1 -0
  529. package/development/button/transparent-button.js +27 -0
  530. package/development/button.d.ts +15 -0
  531. package/development/button.d.ts.map +1 -0
  532. package/development/button.js +15 -0
  533. package/development/calendar/calendar.d.ts +216 -0
  534. package/development/calendar/calendar.d.ts.map +1 -0
  535. package/development/calendar.d.ts +2 -0
  536. package/development/calendar.d.ts.map +1 -0
  537. package/development/calendar.js +1319 -0
  538. package/development/card/card/card.d.ts +29 -0
  539. package/development/card/card/card.d.ts.map +1 -0
  540. package/development/card/card-badge/card-badge.d.ts +23 -0
  541. package/development/card/card-badge/card-badge.d.ts.map +1 -0
  542. package/development/card/card-badge.d.ts +2 -0
  543. package/development/card/card-badge.d.ts.map +1 -0
  544. package/development/card/card-badge.js +166 -0
  545. package/development/card/card-button/card-button.d.ts +19 -0
  546. package/development/card/card-button/card-button.d.ts.map +1 -0
  547. package/development/card/card-button.d.ts +2 -0
  548. package/development/card/card-button.d.ts.map +1 -0
  549. package/development/card/card-button.js +27 -0
  550. package/development/card/card-link/card-link.d.ts +19 -0
  551. package/development/card/card-link/card-link.d.ts.map +1 -0
  552. package/development/card/card-link.d.ts +2 -0
  553. package/development/card/card-link.d.ts.map +1 -0
  554. package/development/card/card-link.js +27 -0
  555. package/development/card/card.d.ts +2 -0
  556. package/development/card/card.d.ts.map +1 -0
  557. package/development/card/card.js +267 -0
  558. package/development/card/common/card-action-common.d.ts +9 -0
  559. package/development/card/common/card-action-common.d.ts.map +1 -0
  560. package/development/card/common.d.ts +2 -0
  561. package/development/card/common.d.ts.map +1 -0
  562. package/development/card/common.js +135 -0
  563. package/development/card.d.ts +6 -0
  564. package/development/card.d.ts.map +1 -0
  565. package/development/card.js +6 -0
  566. package/development/checkbox/checkbox/checkbox.d.ts +73 -0
  567. package/development/checkbox/checkbox/checkbox.d.ts.map +1 -0
  568. package/development/checkbox/checkbox-group/checkbox-group.d.ts +37 -0
  569. package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -0
  570. package/development/checkbox/checkbox-group.d.ts +2 -0
  571. package/development/checkbox/checkbox-group.d.ts.map +1 -0
  572. package/development/checkbox/checkbox-group.js +232 -0
  573. package/development/checkbox/checkbox.d.ts +2 -0
  574. package/development/checkbox/checkbox.d.ts.map +1 -0
  575. package/development/checkbox/checkbox.js +326 -0
  576. package/development/checkbox.d.ts +3 -0
  577. package/development/checkbox.d.ts.map +1 -0
  578. package/development/checkbox.js +3 -0
  579. package/development/chip/chip.d.ts +21 -0
  580. package/development/chip/chip.d.ts.map +1 -0
  581. package/development/chip.d.ts +2 -0
  582. package/development/chip.d.ts.map +1 -0
  583. package/development/chip.js +136 -0
  584. package/development/clock/clock.d.ts +62 -0
  585. package/development/clock/clock.d.ts.map +1 -0
  586. package/development/clock.d.ts +2 -0
  587. package/development/clock.d.ts.map +1 -0
  588. package/development/clock.js +378 -0
  589. package/development/container/container/container.d.ts +25 -0
  590. package/development/container/container/container.d.ts.map +1 -0
  591. package/development/container/container.d.ts +2 -0
  592. package/development/container/container.d.ts.map +1 -0
  593. package/development/container/container.js +115 -0
  594. package/development/container/sticky-bar/sticky-bar.d.ts +31 -0
  595. package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -0
  596. package/development/container/sticky-bar.d.ts +2 -0
  597. package/development/container/sticky-bar.d.ts.map +1 -0
  598. package/development/container/sticky-bar.js +221 -0
  599. package/development/container.d.ts +3 -0
  600. package/development/container.d.ts.map +1 -0
  601. package/development/container.js +3 -0
  602. package/development/core/a11y/arrow-navigation.d.ts +32 -0
  603. package/development/core/a11y/arrow-navigation.d.ts.map +1 -0
  604. package/development/core/a11y/fake-event-detection.d.ts +5 -0
  605. package/development/core/a11y/fake-event-detection.d.ts.map +1 -0
  606. package/development/core/a11y/focus-visible-within-controller.d.ts +11 -0
  607. package/development/core/a11y/focus-visible-within-controller.d.ts.map +1 -0
  608. package/development/core/a11y/focus.d.ts +22 -0
  609. package/development/core/a11y/focus.d.ts.map +1 -0
  610. package/development/core/a11y/input-modality-detector.d.ts +58 -0
  611. package/development/core/a11y/input-modality-detector.d.ts.map +1 -0
  612. package/development/core/a11y/interactivity-checker.d.ts +17 -0
  613. package/development/core/a11y/interactivity-checker.d.ts.map +1 -0
  614. package/development/core/a11y.d.ts +7 -0
  615. package/development/core/a11y.d.ts.map +1 -0
  616. package/development/core/a11y.js +295 -0
  617. package/development/core/base-elements/action-base-element.d.ts +11 -0
  618. package/development/core/base-elements/action-base-element.d.ts.map +1 -0
  619. package/development/core/base-elements/button-base-element.d.ts +46 -0
  620. package/development/core/base-elements/button-base-element.d.ts.map +1 -0
  621. package/development/core/base-elements/link-base-element.d.ts +31 -0
  622. package/development/core/base-elements/link-base-element.d.ts.map +1 -0
  623. package/development/core/base-elements/open-close-base-element.d.ts +37 -0
  624. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -0
  625. package/development/core/base-elements.d.ts +5 -0
  626. package/development/core/base-elements.d.ts.map +1 -0
  627. package/development/core/base-elements.js +292 -0
  628. package/development/core/config/config.d.ts +22 -0
  629. package/development/core/config/config.d.ts.map +1 -0
  630. package/development/core/config.d.ts +2 -0
  631. package/development/core/config.d.ts.map +1 -0
  632. package/development/core/config.js +15 -0
  633. package/development/core/controllers/connected-abort-controller.d.ts +11 -0
  634. package/development/core/controllers/connected-abort-controller.d.ts.map +1 -0
  635. package/development/core/controllers/language-controller.d.ts +33 -0
  636. package/development/core/controllers/language-controller.d.ts.map +1 -0
  637. package/development/core/controllers/slot-state-controller.d.ts +32 -0
  638. package/development/core/controllers/slot-state-controller.d.ts.map +1 -0
  639. package/development/core/controllers.d.ts +4 -0
  640. package/development/core/controllers.d.ts.map +1 -0
  641. package/development/core/controllers.js +134 -0
  642. package/development/core/datetime/date-adapter.d.ts +162 -0
  643. package/development/core/datetime/date-adapter.d.ts.map +1 -0
  644. package/development/core/datetime/native-date-adapter.d.ts +74 -0
  645. package/development/core/datetime/native-date-adapter.d.ts.map +1 -0
  646. package/development/core/datetime.d.ts +3 -0
  647. package/development/core/datetime.d.ts.map +1 -0
  648. package/development/core/datetime.js +291 -0
  649. package/development/core/decorators/host-attributes.d.ts +22 -0
  650. package/development/core/decorators/host-attributes.d.ts.map +1 -0
  651. package/development/core/decorators.d.ts +2 -0
  652. package/development/core/decorators.d.ts.map +1 -0
  653. package/development/core/decorators.js +30 -0
  654. package/development/core/dom/breakpoint.d.ts +14 -0
  655. package/development/core/dom/breakpoint.d.ts.map +1 -0
  656. package/development/core/dom/find-referenced-element.d.ts +7 -0
  657. package/development/core/dom/find-referenced-element.d.ts.map +1 -0
  658. package/development/core/dom/get-document-writing-mode.d.ts +2 -0
  659. package/development/core/dom/get-document-writing-mode.d.ts.map +1 -0
  660. package/development/core/dom/host-context.d.ts +11 -0
  661. package/development/core/dom/host-context.d.ts.map +1 -0
  662. package/development/core/dom/input-element.d.ts +10 -0
  663. package/development/core/dom/input-element.d.ts.map +1 -0
  664. package/development/core/dom/platform.d.ts +24 -0
  665. package/development/core/dom/platform.d.ts.map +1 -0
  666. package/development/core/dom/scroll.d.ts +13 -0
  667. package/development/core/dom/scroll.d.ts.map +1 -0
  668. package/development/core/dom/set-or-remove-attribute.d.ts +8 -0
  669. package/development/core/dom/set-or-remove-attribute.d.ts.map +1 -0
  670. package/development/core/dom/ssr.d.ts +12 -0
  671. package/development/core/dom/ssr.d.ts.map +1 -0
  672. package/development/core/dom.d.ts +10 -0
  673. package/development/core/dom.d.ts.map +1 -0
  674. package/development/core/dom.js +146 -0
  675. package/development/core/eventing/composed-path-has-attribute.d.ts +10 -0
  676. package/development/core/eventing/composed-path-has-attribute.d.ts.map +1 -0
  677. package/development/core/eventing/event-emitter.d.ts +23 -0
  678. package/development/core/eventing/event-emitter.d.ts.map +1 -0
  679. package/development/core/eventing/event-target.d.ts +3 -0
  680. package/development/core/eventing/event-target.d.ts.map +1 -0
  681. package/development/core/eventing/form-element-handlers.d.ts +14 -0
  682. package/development/core/eventing/form-element-handlers.d.ts.map +1 -0
  683. package/development/core/eventing/forward-event.d.ts +6 -0
  684. package/development/core/eventing/forward-event.d.ts.map +1 -0
  685. package/development/core/eventing/handler-repository.d.ts +28 -0
  686. package/development/core/eventing/handler-repository.d.ts.map +1 -0
  687. package/development/core/eventing/is-event-prevented.d.ts +3 -0
  688. package/development/core/eventing/is-event-prevented.d.ts.map +1 -0
  689. package/development/core/eventing/throttle.d.ts +2 -0
  690. package/development/core/eventing/throttle.d.ts.map +1 -0
  691. package/development/core/eventing.d.ts +9 -0
  692. package/development/core/eventing.d.ts.map +1 -0
  693. package/development/core/eventing.js +98 -0
  694. package/development/core/i18n/i18n.d.ts +74 -0
  695. package/development/core/i18n/i18n.d.ts.map +1 -0
  696. package/development/core/i18n.d.ts +2 -0
  697. package/development/core/i18n.d.ts.map +1 -0
  698. package/development/core/i18n.js +708 -0
  699. package/development/core/images.d.ts +3 -0
  700. package/development/core/images.d.ts.map +1 -0
  701. package/development/core/interfaces/overlay-close-details.d.ts +5 -0
  702. package/development/core/interfaces/overlay-close-details.d.ts.map +1 -0
  703. package/development/core/interfaces/types.d.ts +29 -0
  704. package/development/core/interfaces/types.d.ts.map +1 -0
  705. package/development/core/interfaces/validation-change.d.ts +4 -0
  706. package/development/core/interfaces/validation-change.d.ts.map +1 -0
  707. package/development/core/interfaces.d.ts +4 -0
  708. package/development/core/interfaces.d.ts.map +1 -0
  709. package/development/core/interfaces.js +2 -0
  710. package/development/core/mixins/constructor.d.ts +8 -0
  711. package/development/core/mixins/constructor.d.ts.map +1 -0
  712. package/development/core/mixins/disabled-mixin.d.ts +14 -0
  713. package/development/core/mixins/disabled-mixin.d.ts.map +1 -0
  714. package/development/core/mixins/form-associated-checkbox-mixin.d.ts +26 -0
  715. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -0
  716. package/development/core/mixins/form-associated-mixin.d.ts +39 -0
  717. package/development/core/mixins/form-associated-mixin.d.ts.map +1 -0
  718. package/development/core/mixins/hydration-mixin.d.ts +30 -0
  719. package/development/core/mixins/hydration-mixin.d.ts.map +1 -0
  720. package/development/core/mixins/named-slot-list-mixin.d.ts +31 -0
  721. package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -0
  722. package/development/core/mixins/negative-mixin.d.ts +11 -0
  723. package/development/core/mixins/negative-mixin.d.ts.map +1 -0
  724. package/development/core/mixins/required-mixin.d.ts +14 -0
  725. package/development/core/mixins/required-mixin.d.ts.map +1 -0
  726. package/development/core/mixins/update-scheduler-mixin.d.ts +14 -0
  727. package/development/core/mixins/update-scheduler-mixin.d.ts.map +1 -0
  728. package/development/core/mixins.d.ts +10 -0
  729. package/development/core/mixins.d.ts.map +1 -0
  730. package/development/core/mixins.js +573 -0
  731. package/development/core/observers/intersection-observer.d.ts +14 -0
  732. package/development/core/observers/intersection-observer.d.ts.map +1 -0
  733. package/development/core/observers/mutation-observer.d.ts +7 -0
  734. package/development/core/observers/mutation-observer.d.ts.map +1 -0
  735. package/development/core/observers/resize-observer.d.ts +10 -0
  736. package/development/core/observers/resize-observer.d.ts.map +1 -0
  737. package/development/core/observers.d.ts +4 -0
  738. package/development/core/observers.d.ts.map +1 -0
  739. package/development/core/observers.js +39 -0
  740. package/development/core/overlay/overlay-option-panel.d.ts +10 -0
  741. package/development/core/overlay/overlay-option-panel.d.ts.map +1 -0
  742. package/development/core/overlay/overlay-trigger-attributes.d.ts +18 -0
  743. package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -0
  744. package/development/core/overlay/overlay.d.ts +21 -0
  745. package/development/core/overlay/overlay.d.ts.map +1 -0
  746. package/development/core/overlay/position.d.ts +41 -0
  747. package/development/core/overlay/position.d.ts.map +1 -0
  748. package/development/core/overlay.d.ts +5 -0
  749. package/development/core/overlay.d.ts.map +1 -0
  750. package/development/core/overlay.js +234 -0
  751. package/development/core/testing/event-spy.d.ts +19 -0
  752. package/development/core/testing/event-spy.d.ts.map +1 -0
  753. package/development/core/testing/mocha-extensions.d.ts +11 -0
  754. package/development/core/testing/mocha-extensions.d.ts.map +1 -0
  755. package/development/core/testing/private.d.ts +11 -0
  756. package/development/core/testing/private.d.ts.map +1 -0
  757. package/development/core/testing/scroll.d.ts +6 -0
  758. package/development/core/testing/scroll.d.ts.map +1 -0
  759. package/development/core/testing/test-setup-ssr.d.ts +2 -0
  760. package/development/core/testing/test-setup-ssr.d.ts.map +1 -0
  761. package/development/core/testing/test-setup.d.ts +2 -0
  762. package/development/core/testing/test-setup.d.ts.map +1 -0
  763. package/development/core/testing/wait-for-condition.d.ts +2 -0
  764. package/development/core/testing/wait-for-condition.d.ts.map +1 -0
  765. package/development/core/testing/wait-for-render.d.ts +18 -0
  766. package/development/core/testing/wait-for-render.d.ts.map +1 -0
  767. package/development/core/testing.d.ts +6 -0
  768. package/development/core/testing.d.ts.map +1 -0
  769. package/development/core/testing.js +84 -0
  770. package/development/datepicker/common/datepicker-button.d.ts +38 -0
  771. package/development/datepicker/common/datepicker-button.d.ts.map +1 -0
  772. package/development/datepicker/common.d.ts +2 -0
  773. package/development/datepicker/common.d.ts.map +1 -0
  774. package/development/datepicker/common.js +173 -0
  775. package/development/datepicker/datepicker/datepicker.d.ts +145 -0
  776. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -0
  777. package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts +21 -0
  778. package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -0
  779. package/development/datepicker/datepicker-next-day.d.ts +2 -0
  780. package/development/datepicker/datepicker-next-day.d.ts.map +1 -0
  781. package/development/datepicker/datepicker-next-day.js +207 -0
  782. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +21 -0
  783. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -0
  784. package/development/datepicker/datepicker-previous-day.d.ts +2 -0
  785. package/development/datepicker/datepicker-previous-day.d.ts.map +1 -0
  786. package/development/datepicker/datepicker-previous-day.js +207 -0
  787. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +44 -0
  788. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -0
  789. package/development/datepicker/datepicker-toggle.d.ts +2 -0
  790. package/development/datepicker/datepicker-toggle.d.ts.map +1 -0
  791. package/development/datepicker/datepicker-toggle.js +234 -0
  792. package/development/datepicker/datepicker.d.ts +2 -0
  793. package/development/datepicker/datepicker.d.ts.map +1 -0
  794. package/development/datepicker/datepicker.js +381 -0
  795. package/development/datepicker.d.ts +6 -0
  796. package/development/datepicker.d.ts.map +1 -0
  797. package/development/datepicker.js +6 -0
  798. package/development/dialog/dialog/dialog.d.ts +54 -0
  799. package/development/dialog/dialog/dialog.d.ts.map +1 -0
  800. package/development/dialog/dialog-actions/dialog-actions.d.ts +18 -0
  801. package/development/dialog/dialog-actions/dialog-actions.d.ts.map +1 -0
  802. package/development/dialog/dialog-actions.d.ts +2 -0
  803. package/development/dialog/dialog-actions.d.ts.map +1 -0
  804. package/development/dialog/dialog-actions.js +66 -0
  805. package/development/dialog/dialog-content/dialog-content.d.ts +17 -0
  806. package/development/dialog/dialog-content/dialog-content.d.ts.map +1 -0
  807. package/development/dialog/dialog-content.d.ts +2 -0
  808. package/development/dialog/dialog-content.d.ts.map +1 -0
  809. package/development/dialog/dialog-content.js +91 -0
  810. package/development/dialog/dialog-title/dialog-title.d.ts +43 -0
  811. package/development/dialog/dialog-title/dialog-title.d.ts.map +1 -0
  812. package/development/dialog/dialog-title.d.ts +2 -0
  813. package/development/dialog/dialog-title.d.ts.map +1 -0
  814. package/development/dialog/dialog-title.js +168 -0
  815. package/development/dialog/dialog.d.ts +2 -0
  816. package/development/dialog/dialog.d.ts.map +1 -0
  817. package/development/dialog/dialog.js +437 -0
  818. package/development/dialog.d.ts +5 -0
  819. package/development/dialog.d.ts.map +1 -0
  820. package/development/dialog.js +5 -0
  821. package/development/divider/divider.d.ts +21 -0
  822. package/development/divider/divider.d.ts.map +1 -0
  823. package/development/divider.d.ts +2 -0
  824. package/development/divider.d.ts.map +1 -0
  825. package/development/divider.js +85 -0
  826. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +75 -0
  827. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -0
  828. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.d.ts +17 -0
  829. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.d.ts.map +1 -0
  830. package/development/expansion-panel/expansion-panel-content.d.ts +2 -0
  831. package/development/expansion-panel/expansion-panel-content.d.ts.map +1 -0
  832. package/development/expansion-panel/expansion-panel-content.js +84 -0
  833. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +38 -0
  834. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -0
  835. package/development/expansion-panel/expansion-panel-header.d.ts +2 -0
  836. package/development/expansion-panel/expansion-panel-header.d.ts.map +1 -0
  837. package/development/expansion-panel/expansion-panel-header.js +194 -0
  838. package/development/expansion-panel/expansion-panel.d.ts +2 -0
  839. package/development/expansion-panel/expansion-panel.d.ts.map +1 -0
  840. package/development/expansion-panel/expansion-panel.js +396 -0
  841. package/development/expansion-panel.d.ts +4 -0
  842. package/development/expansion-panel.d.ts.map +1 -0
  843. package/development/expansion-panel.js +4 -0
  844. package/development/file-selector/file-selector.d.ts +74 -0
  845. package/development/file-selector/file-selector.d.ts.map +1 -0
  846. package/development/file-selector.d.ts +2 -0
  847. package/development/file-selector.d.ts.map +1 -0
  848. package/development/file-selector.js +428 -0
  849. package/development/footer/footer.d.ts +35 -0
  850. package/development/footer/footer.d.ts.map +1 -0
  851. package/development/footer.d.ts +2 -0
  852. package/development/footer.d.ts.map +1 -0
  853. package/development/footer.js +229 -0
  854. package/development/form-error/form-error.d.ts +21 -0
  855. package/development/form-error/form-error.d.ts.map +1 -0
  856. package/development/form-error.d.ts +2 -0
  857. package/development/form-error.d.ts.map +1 -0
  858. package/development/form-error.js +121 -0
  859. package/development/form-field/form-field/form-field.d.ts +101 -0
  860. package/development/form-field/form-field/form-field.d.ts.map +1 -0
  861. package/development/form-field/form-field-clear/form-field-clear.d.ts +24 -0
  862. package/development/form-field/form-field-clear/form-field-clear.d.ts.map +1 -0
  863. package/development/form-field/form-field-clear.d.ts +2 -0
  864. package/development/form-field/form-field-clear.d.ts.map +1 -0
  865. package/development/form-field/form-field-clear.js +223 -0
  866. package/development/form-field/form-field.d.ts +2 -0
  867. package/development/form-field/form-field.d.ts.map +1 -0
  868. package/development/form-field/form-field.js +885 -0
  869. package/development/form-field.d.ts +3 -0
  870. package/development/form-field.d.ts.map +1 -0
  871. package/development/form-field.js +3 -0
  872. package/development/header/common/header-action-common.d.ts +11 -0
  873. package/development/header/common/header-action-common.d.ts.map +1 -0
  874. package/development/header/common.d.ts +2 -0
  875. package/development/header/common.d.ts.map +1 -0
  876. package/development/header/common.js +340 -0
  877. package/development/header/header/header.d.ts +59 -0
  878. package/development/header/header/header.d.ts.map +1 -0
  879. package/development/header/header-button/header-button.d.ts +18 -0
  880. package/development/header/header-button/header-button.d.ts.map +1 -0
  881. package/development/header/header-button.d.ts +2 -0
  882. package/development/header/header-button.d.ts.map +1 -0
  883. package/development/header/header-button.js +25 -0
  884. package/development/header/header-link/header-link.d.ts +18 -0
  885. package/development/header/header-link/header-link.d.ts.map +1 -0
  886. package/development/header/header-link.d.ts +2 -0
  887. package/development/header/header-link.d.ts.map +1 -0
  888. package/development/header/header-link.js +23 -0
  889. package/development/header/header.d.ts +2 -0
  890. package/development/header/header.d.ts.map +1 -0
  891. package/development/header/header.js +333 -0
  892. package/development/header.d.ts +5 -0
  893. package/development/header.d.ts.map +1 -0
  894. package/development/header.js +5 -0
  895. package/development/icon/icon-base.d.ts +28 -0
  896. package/development/icon/icon-base.d.ts.map +1 -0
  897. package/development/icon/icon-name-mixin.d.ts +12 -0
  898. package/development/icon/icon-name-mixin.d.ts.map +1 -0
  899. package/development/icon/icon-request.d.ts +3 -0
  900. package/development/icon/icon-request.d.ts.map +1 -0
  901. package/development/icon/icon-validate.d.ts +12 -0
  902. package/development/icon/icon-validate.d.ts.map +1 -0
  903. package/development/icon/icon.d.ts +24 -0
  904. package/development/icon/icon.d.ts.map +1 -0
  905. package/development/icon.d.ts +6 -0
  906. package/development/icon.d.ts.map +1 -0
  907. package/development/icon.js +307 -0
  908. package/development/image/image.d.ts +236 -0
  909. package/development/image/image.d.ts.map +1 -0
  910. package/development/image.d.ts +2 -0
  911. package/development/image.d.ts.map +1 -0
  912. package/development/image.js +525 -0
  913. package/development/journey-header/journey-header.d.ts +30 -0
  914. package/development/journey-header/journey-header.d.ts.map +1 -0
  915. package/development/journey-header.d.ts +2 -0
  916. package/development/journey-header.d.ts.map +1 -0
  917. package/development/journey-header.js +132 -0
  918. package/development/lead-container/lead-container.d.ts +20 -0
  919. package/development/lead-container/lead-container.d.ts.map +1 -0
  920. package/development/lead-container.d.ts +2 -0
  921. package/development/lead-container.d.ts.map +1 -0
  922. package/development/lead-container.js +168 -0
  923. package/development/link/block-link/block-link.d.ts +18 -0
  924. package/development/link/block-link/block-link.d.ts.map +1 -0
  925. package/development/link/block-link-button/block-link-button.d.ts +18 -0
  926. package/development/link/block-link-button/block-link-button.d.ts.map +1 -0
  927. package/development/link/block-link-button.d.ts +2 -0
  928. package/development/link/block-link-button.d.ts.map +1 -0
  929. package/development/link/block-link-button.js +26 -0
  930. package/development/link/block-link-static/block-link-static.d.ts +18 -0
  931. package/development/link/block-link-static/block-link-static.d.ts.map +1 -0
  932. package/development/link/block-link-static.d.ts +2 -0
  933. package/development/link/block-link-static.d.ts.map +1 -0
  934. package/development/link/block-link-static.js +26 -0
  935. package/development/link/block-link.d.ts +2 -0
  936. package/development/link/block-link.d.ts.map +1 -0
  937. package/development/link/block-link.js +26 -0
  938. package/development/link/common/block-link-common.d.ts +11 -0
  939. package/development/link/common/block-link-common.d.ts.map +1 -0
  940. package/development/link/common/inline-link-common.d.ts +8 -0
  941. package/development/link/common/inline-link-common.d.ts.map +1 -0
  942. package/development/link/common/link-common.d.ts +9 -0
  943. package/development/link/common/link-common.d.ts.map +1 -0
  944. package/development/link/common.d.ts +4 -0
  945. package/development/link/common.d.ts.map +1 -0
  946. package/development/link/common.js +271 -0
  947. package/development/link/link/link.d.ts +17 -0
  948. package/development/link/link/link.d.ts.map +1 -0
  949. package/development/link/link-button/link-button.d.ts +17 -0
  950. package/development/link/link-button/link-button.d.ts.map +1 -0
  951. package/development/link/link-button.d.ts +2 -0
  952. package/development/link/link-button.d.ts.map +1 -0
  953. package/development/link/link-button.js +26 -0
  954. package/development/link/link-static/link-static.d.ts +17 -0
  955. package/development/link/link-static/link-static.d.ts.map +1 -0
  956. package/development/link/link-static.d.ts +2 -0
  957. package/development/link/link-static.d.ts.map +1 -0
  958. package/development/link/link-static.js +26 -0
  959. package/development/link/link.d.ts +2 -0
  960. package/development/link/link.d.ts.map +1 -0
  961. package/development/link/link.js +26 -0
  962. package/development/link-list/link-list.d.ts +40 -0
  963. package/development/link-list/link-list.d.ts.map +1 -0
  964. package/development/link-list.d.ts +2 -0
  965. package/development/link-list.d.ts.map +1 -0
  966. package/development/link-list.js +255 -0
  967. package/development/link.d.ts +8 -0
  968. package/development/link.d.ts.map +1 -0
  969. package/development/link.js +8 -0
  970. package/development/loading-indicator/loading-indicator.d.ts +21 -0
  971. package/development/loading-indicator/loading-indicator.d.ts.map +1 -0
  972. package/development/loading-indicator.d.ts +2 -0
  973. package/development/loading-indicator.d.ts.map +1 -0
  974. package/development/loading-indicator.js +339 -0
  975. package/development/logo/logo.d.ts +24 -0
  976. package/development/logo/logo.d.ts.map +1 -0
  977. package/development/logo.d.ts +2 -0
  978. package/development/logo.d.ts.map +1 -0
  979. package/development/logo.js +142 -0
  980. package/development/map-container/map-container.d.ts +43 -0
  981. package/development/map-container/map-container.d.ts.map +1 -0
  982. package/development/map-container.d.ts +2 -0
  983. package/development/map-container.d.ts.map +1 -0
  984. package/development/map-container.js +268 -0
  985. package/development/menu/common/menu-action-common.d.ts +11 -0
  986. package/development/menu/common/menu-action-common.d.ts.map +1 -0
  987. package/development/menu/common.d.ts +2 -0
  988. package/development/menu/common.d.ts.map +1 -0
  989. package/development/menu/common.js +174 -0
  990. package/development/menu/menu/menu.d.ts +76 -0
  991. package/development/menu/menu/menu.d.ts.map +1 -0
  992. package/development/menu/menu-button/menu-button.d.ts +20 -0
  993. package/development/menu/menu-button/menu-button.d.ts.map +1 -0
  994. package/development/menu/menu-button.d.ts +2 -0
  995. package/development/menu/menu-button.d.ts.map +1 -0
  996. package/development/menu/menu-button.js +26 -0
  997. package/development/menu/menu-link/menu-link.d.ts +20 -0
  998. package/development/menu/menu-link/menu-link.d.ts.map +1 -0
  999. package/development/menu/menu-link.d.ts +2 -0
  1000. package/development/menu/menu-link.d.ts.map +1 -0
  1001. package/development/menu/menu-link.js +23 -0
  1002. package/development/menu/menu.d.ts +2 -0
  1003. package/development/menu/menu.d.ts.map +1 -0
  1004. package/development/menu/menu.js +538 -0
  1005. package/development/menu.d.ts +5 -0
  1006. package/development/menu.d.ts.map +1 -0
  1007. package/development/menu.js +5 -0
  1008. package/development/message/message.d.ts +26 -0
  1009. package/development/message/message.d.ts.map +1 -0
  1010. package/development/message.d.ts +2 -0
  1011. package/development/message.d.ts.map +1 -0
  1012. package/development/message.js +118 -0
  1013. package/development/navigation/common/navigation-action-common.d.ts +14 -0
  1014. package/development/navigation/common/navigation-action-common.d.ts.map +1 -0
  1015. package/development/navigation/common.d.ts +2 -0
  1016. package/development/navigation/common.d.ts.map +1 -0
  1017. package/development/navigation/common.js +179 -0
  1018. package/development/navigation/navigation/navigation.d.ts +82 -0
  1019. package/development/navigation/navigation/navigation.d.ts.map +1 -0
  1020. package/development/navigation/navigation-button/navigation-button.d.ts +17 -0
  1021. package/development/navigation/navigation-button/navigation-button.d.ts.map +1 -0
  1022. package/development/navigation/navigation-button.d.ts +2 -0
  1023. package/development/navigation/navigation-button.d.ts.map +1 -0
  1024. package/development/navigation/navigation-button.js +25 -0
  1025. package/development/navigation/navigation-link/navigation-link.d.ts +17 -0
  1026. package/development/navigation/navigation-link/navigation-link.d.ts.map +1 -0
  1027. package/development/navigation/navigation-link.d.ts +2 -0
  1028. package/development/navigation/navigation-link.d.ts.map +1 -0
  1029. package/development/navigation/navigation-link.js +25 -0
  1030. package/development/navigation/navigation-list/navigation-list.d.ts +30 -0
  1031. package/development/navigation/navigation-list/navigation-list.d.ts.map +1 -0
  1032. package/development/navigation/navigation-list.d.ts +2 -0
  1033. package/development/navigation/navigation-list.d.ts.map +1 -0
  1034. package/development/navigation/navigation-list.js +104 -0
  1035. package/development/navigation/navigation-marker/navigation-marker.d.ts +38 -0
  1036. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -0
  1037. package/development/navigation/navigation-marker.d.ts +2 -0
  1038. package/development/navigation/navigation-marker.d.ts.map +1 -0
  1039. package/development/navigation/navigation-marker.js +220 -0
  1040. package/development/navigation/navigation-section/navigation-section.d.ts +76 -0
  1041. package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -0
  1042. package/development/navigation/navigation-section.d.ts +2 -0
  1043. package/development/navigation/navigation-section.d.ts.map +1 -0
  1044. package/development/navigation/navigation-section.js +600 -0
  1045. package/development/navigation/navigation.d.ts +2 -0
  1046. package/development/navigation/navigation.d.ts.map +1 -0
  1047. package/development/navigation/navigation.js +598 -0
  1048. package/development/navigation.d.ts +8 -0
  1049. package/development/navigation.d.ts.map +1 -0
  1050. package/development/navigation.js +8 -0
  1051. package/development/notification/notification.d.ts +82 -0
  1052. package/development/notification/notification.d.ts.map +1 -0
  1053. package/development/notification.d.ts +2 -0
  1054. package/development/notification.d.ts.map +1 -0
  1055. package/development/notification.js +472 -0
  1056. package/development/option/optgroup/optgroup.d.ts +33 -0
  1057. package/development/option/optgroup/optgroup.d.ts.map +1 -0
  1058. package/development/option/optgroup.d.ts +2 -0
  1059. package/development/option/optgroup.d.ts.map +1 -0
  1060. package/development/option/optgroup.js +230 -0
  1061. package/development/option/option/option.d.ts +91 -0
  1062. package/development/option/option/option.d.ts.map +1 -0
  1063. package/development/option/option.d.ts +2 -0
  1064. package/development/option/option.d.ts.map +1 -0
  1065. package/development/option/option.js +444 -0
  1066. package/development/option.d.ts +3 -0
  1067. package/development/option.d.ts.map +1 -0
  1068. package/development/option.js +3 -0
  1069. package/development/overlay/overlay-base-element.d.ts +43 -0
  1070. package/development/overlay/overlay-base-element.d.ts.map +1 -0
  1071. package/development/overlay/overlay.d.ts +52 -0
  1072. package/development/overlay/overlay.d.ts.map +1 -0
  1073. package/development/overlay.d.ts +3 -0
  1074. package/development/overlay.d.ts.map +1 -0
  1075. package/development/overlay.js +484 -0
  1076. package/development/popover/popover/popover.d.ts +85 -0
  1077. package/development/popover/popover/popover.d.ts.map +1 -0
  1078. package/development/popover/popover-trigger/popover-trigger.d.ts +21 -0
  1079. package/development/popover/popover-trigger/popover-trigger.d.ts.map +1 -0
  1080. package/development/popover/popover-trigger.d.ts +2 -0
  1081. package/development/popover/popover-trigger.d.ts.map +1 -0
  1082. package/development/popover/popover-trigger.js +266 -0
  1083. package/development/popover/popover.d.ts +2 -0
  1084. package/development/popover/popover.d.ts.map +1 -0
  1085. package/development/popover/popover.js +554 -0
  1086. package/development/popover.d.ts +3 -0
  1087. package/development/popover.d.ts.map +1 -0
  1088. package/development/popover.js +3 -0
  1089. package/development/radio-button/radio-button/radio-button.d.ts +102 -0
  1090. package/development/radio-button/radio-button/radio-button.d.ts.map +1 -0
  1091. package/development/radio-button/radio-button-group/radio-button-group.d.ts +91 -0
  1092. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -0
  1093. package/development/radio-button/radio-button-group.d.ts +2 -0
  1094. package/development/radio-button/radio-button-group.d.ts.map +1 -0
  1095. package/development/radio-button/radio-button-group.js +338 -0
  1096. package/development/radio-button/radio-button.d.ts +2 -0
  1097. package/development/radio-button/radio-button.d.ts.map +1 -0
  1098. package/development/radio-button/radio-button.js +398 -0
  1099. package/development/radio-button.d.ts +3 -0
  1100. package/development/radio-button.d.ts.map +1 -0
  1101. package/development/radio-button.js +3 -0
  1102. package/development/screen-reader-only/screen-reader-only.d.ts +17 -0
  1103. package/development/screen-reader-only/screen-reader-only.d.ts.map +1 -0
  1104. package/development/screen-reader-only.d.ts +2 -0
  1105. package/development/screen-reader-only.d.ts.map +1 -0
  1106. package/development/screen-reader-only.js +51 -0
  1107. package/development/select/select.d.ts +140 -0
  1108. package/development/select/select.d.ts.map +1 -0
  1109. package/development/select.d.ts +2 -0
  1110. package/development/select.d.ts.map +1 -0
  1111. package/development/select.js +892 -0
  1112. package/development/selection-panel/selection-panel.d.ts +63 -0
  1113. package/development/selection-panel/selection-panel.d.ts.map +1 -0
  1114. package/development/selection-panel.d.ts +2 -0
  1115. package/development/selection-panel.d.ts.map +1 -0
  1116. package/development/selection-panel.js +377 -0
  1117. package/development/signet/signet.d.ts +20 -0
  1118. package/development/signet/signet.d.ts.map +1 -0
  1119. package/development/signet.d.ts +2 -0
  1120. package/development/signet.d.ts.map +1 -0
  1121. package/development/signet.js +116 -0
  1122. package/development/skiplink-list/skiplink-list.d.ts +32 -0
  1123. package/development/skiplink-list/skiplink-list.d.ts.map +1 -0
  1124. package/development/skiplink-list.d.ts +2 -0
  1125. package/development/skiplink-list.d.ts.map +1 -0
  1126. package/development/skiplink-list.js +125 -0
  1127. package/development/slider/slider.d.ts +70 -0
  1128. package/development/slider/slider.d.ts.map +1 -0
  1129. package/development/slider.d.ts +2 -0
  1130. package/development/slider.d.ts.map +1 -0
  1131. package/development/slider.js +352 -0
  1132. package/development/status/status.d.ts +32 -0
  1133. package/development/status/status.d.ts.map +1 -0
  1134. package/development/status.d.ts +2 -0
  1135. package/development/status.d.ts.map +1 -0
  1136. package/development/status.js +156 -0
  1137. package/development/stepper/step/step.d.ts +66 -0
  1138. package/development/stepper/step/step.d.ts.map +1 -0
  1139. package/development/stepper/step-label/step-label.d.ts +47 -0
  1140. package/development/stepper/step-label/step-label.d.ts.map +1 -0
  1141. package/development/stepper/step-label.d.ts +2 -0
  1142. package/development/stepper/step-label.d.ts.map +1 -0
  1143. package/development/stepper/step-label.js +280 -0
  1144. package/development/stepper/step.d.ts +2 -0
  1145. package/development/stepper/step.d.ts.map +1 -0
  1146. package/development/stepper/step.js +233 -0
  1147. package/development/stepper/stepper/stepper.d.ts +59 -0
  1148. package/development/stepper/stepper/stepper.d.ts.map +1 -0
  1149. package/development/stepper/stepper.d.ts +2 -0
  1150. package/development/stepper/stepper.d.ts.map +1 -0
  1151. package/development/stepper/stepper.js +364 -0
  1152. package/development/stepper.d.ts +4 -0
  1153. package/development/stepper.d.ts.map +1 -0
  1154. package/development/stepper.js +4 -0
  1155. package/development/tabs/tab-group/tab-group.d.ts +94 -0
  1156. package/development/tabs/tab-group/tab-group.d.ts.map +1 -0
  1157. package/development/tabs/tab-group.d.ts +2 -0
  1158. package/development/tabs/tab-group.d.ts.map +1 -0
  1159. package/development/tabs/tab-group.js +390 -0
  1160. package/development/tabs/tab-title/tab-title.d.ts +32 -0
  1161. package/development/tabs/tab-title/tab-title.d.ts.map +1 -0
  1162. package/development/tabs/tab-title.d.ts +2 -0
  1163. package/development/tabs/tab-title.d.ts.map +1 -0
  1164. package/development/tabs/tab-title.js +288 -0
  1165. package/development/tabs.d.ts +3 -0
  1166. package/development/tabs.d.ts.map +1 -0
  1167. package/development/tabs.js +3 -0
  1168. package/development/tag/tag/tag.d.ts +53 -0
  1169. package/development/tag/tag/tag.d.ts.map +1 -0
  1170. package/development/tag/tag-group/tag-group.d.ts +46 -0
  1171. package/development/tag/tag-group/tag-group.d.ts.map +1 -0
  1172. package/development/tag/tag-group.d.ts +2 -0
  1173. package/development/tag/tag-group.d.ts.map +1 -0
  1174. package/development/tag/tag-group.js +143 -0
  1175. package/development/tag/tag.d.ts +2 -0
  1176. package/development/tag/tag.d.ts.map +1 -0
  1177. package/development/tag/tag.js +298 -0
  1178. package/development/tag.d.ts +3 -0
  1179. package/development/tag.d.ts.map +1 -0
  1180. package/development/tag.js +3 -0
  1181. package/development/teaser/teaser.d.ts +31 -0
  1182. package/development/teaser/teaser.d.ts.map +1 -0
  1183. package/development/teaser-hero/teaser-hero.d.ts +26 -0
  1184. package/development/teaser-hero/teaser-hero.d.ts.map +1 -0
  1185. package/development/teaser-hero.d.ts +2 -0
  1186. package/development/teaser-hero.d.ts.map +1 -0
  1187. package/development/teaser-hero.js +182 -0
  1188. package/development/teaser-paid/teaser-paid.d.ts +20 -0
  1189. package/development/teaser-paid/teaser-paid.d.ts.map +1 -0
  1190. package/development/teaser-paid.d.ts +2 -0
  1191. package/development/teaser-paid.d.ts.map +1 -0
  1192. package/development/teaser-paid.js +92 -0
  1193. package/development/teaser.d.ts +2 -0
  1194. package/development/teaser.d.ts.map +1 -0
  1195. package/development/teaser.js +205 -0
  1196. package/development/time-input/time-input.d.ts +68 -0
  1197. package/development/time-input/time-input.d.ts.map +1 -0
  1198. package/development/time-input.d.ts +2 -0
  1199. package/development/time-input.d.ts.map +1 -0
  1200. package/development/time-input.js +270 -0
  1201. package/development/timetable-occupancy/timetable-occupancy.d.ts +23 -0
  1202. package/development/timetable-occupancy/timetable-occupancy.d.ts.map +1 -0
  1203. package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +27 -0
  1204. package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -0
  1205. package/development/timetable-occupancy-icon.d.ts +2 -0
  1206. package/development/timetable-occupancy-icon.d.ts.map +1 -0
  1207. package/development/timetable-occupancy-icon.js +93 -0
  1208. package/development/timetable-occupancy.d.ts +2 -0
  1209. package/development/timetable-occupancy.d.ts.map +1 -0
  1210. package/development/timetable-occupancy.js +134 -0
  1211. package/development/title/title-base.d.ts +26 -0
  1212. package/development/title/title-base.d.ts.map +1 -0
  1213. package/development/title/title.d.ts +16 -0
  1214. package/development/title/title.d.ts.map +1 -0
  1215. package/development/title.d.ts +3 -0
  1216. package/development/title.d.ts.map +1 -0
  1217. package/development/title.js +260 -0
  1218. package/development/toast/toast.d.ts +79 -0
  1219. package/development/toast/toast.d.ts.map +1 -0
  1220. package/development/toast.d.ts +2 -0
  1221. package/development/toast.d.ts.map +1 -0
  1222. package/development/toast.js +381 -0
  1223. package/development/toggle/toggle/toggle.d.ts +63 -0
  1224. package/development/toggle/toggle/toggle.d.ts.map +1 -0
  1225. package/development/toggle/toggle-option/toggle-option.d.ts +37 -0
  1226. package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -0
  1227. package/development/toggle/toggle-option.d.ts +2 -0
  1228. package/development/toggle/toggle-option.d.ts.map +1 -0
  1229. package/development/toggle/toggle-option.js +222 -0
  1230. package/development/toggle/toggle.d.ts +2 -0
  1231. package/development/toggle/toggle.d.ts.map +1 -0
  1232. package/development/toggle/toggle.js +308 -0
  1233. package/development/toggle-check/toggle-check.d.ts +34 -0
  1234. package/development/toggle-check/toggle-check.d.ts.map +1 -0
  1235. package/development/toggle-check.d.ts +2 -0
  1236. package/development/toggle-check.d.ts.map +1 -0
  1237. package/development/toggle-check.js +251 -0
  1238. package/development/toggle.d.ts +3 -0
  1239. package/development/toggle.d.ts.map +1 -0
  1240. package/development/toggle.js +3 -0
  1241. package/development/train/train/train.d.ts +48 -0
  1242. package/development/train/train/train.d.ts.map +1 -0
  1243. package/development/train/train-blocked-passage/train-blocked-passage.d.ts +15 -0
  1244. package/development/train/train-blocked-passage/train-blocked-passage.d.ts.map +1 -0
  1245. package/development/train/train-blocked-passage.d.ts +2 -0
  1246. package/development/train/train-blocked-passage.d.ts.map +1 -0
  1247. package/development/train/train-blocked-passage.js +101 -0
  1248. package/development/train/train-formation/train-formation.d.ts +40 -0
  1249. package/development/train/train-formation/train-formation.d.ts.map +1 -0
  1250. package/development/train/train-formation.d.ts +2 -0
  1251. package/development/train/train-formation.d.ts.map +1 -0
  1252. package/development/train/train-formation.js +294 -0
  1253. package/development/train/train-wagon/train-wagon.d.ts +49 -0
  1254. package/development/train/train-wagon/train-wagon.d.ts.map +1 -0
  1255. package/development/train/train-wagon.d.ts +2 -0
  1256. package/development/train/train-wagon.d.ts.map +1 -0
  1257. package/development/train/train-wagon.js +328 -0
  1258. package/development/train/train.d.ts +2 -0
  1259. package/development/train/train.d.ts.map +1 -0
  1260. package/development/train/train.js +270 -0
  1261. package/development/train.d.ts +5 -0
  1262. package/development/train.d.ts.map +1 -0
  1263. package/development/train.js +5 -0
  1264. package/development/visual-checkbox/visual-checkbox.d.ts +21 -0
  1265. package/development/visual-checkbox/visual-checkbox.d.ts.map +1 -0
  1266. package/development/visual-checkbox.d.ts +2 -0
  1267. package/development/visual-checkbox.d.ts.map +1 -0
  1268. package/development/visual-checkbox.js +181 -0
  1269. package/dialog/dialog/dialog.d.ts +54 -0
  1270. package/dialog/dialog/dialog.d.ts.map +1 -0
  1271. package/dialog/dialog-actions/dialog-actions.d.ts +18 -0
  1272. package/dialog/dialog-actions/dialog-actions.d.ts.map +1 -0
  1273. package/dialog/dialog-actions.d.ts +2 -0
  1274. package/dialog/dialog-actions.d.ts.map +1 -0
  1275. package/dialog/dialog-actions.js +21 -0
  1276. package/dialog/dialog-content/dialog-content.d.ts +17 -0
  1277. package/dialog/dialog-content/dialog-content.d.ts.map +1 -0
  1278. package/dialog/dialog-content.d.ts +2 -0
  1279. package/dialog/dialog-content.d.ts.map +1 -0
  1280. package/dialog/dialog-content.js +24 -0
  1281. package/dialog/dialog-title/dialog-title.d.ts +43 -0
  1282. package/dialog/dialog-title/dialog-title.d.ts.map +1 -0
  1283. package/dialog/dialog-title.d.ts +2 -0
  1284. package/dialog/dialog-title.d.ts.map +1 -0
  1285. package/dialog/dialog-title.js +86 -0
  1286. package/dialog/dialog.d.ts +2 -0
  1287. package/dialog/dialog.d.ts.map +1 -0
  1288. package/dialog/dialog.js +135 -0
  1289. package/dialog.d.ts +5 -0
  1290. package/dialog.d.ts.map +1 -0
  1291. package/dialog.js +4 -0
  1292. package/divider/divider.d.ts +21 -0
  1293. package/divider/divider.d.ts.map +1 -0
  1294. package/divider.d.ts +2 -0
  1295. package/divider.d.ts.map +1 -0
  1296. package/divider.js +34 -0
  1297. package/expansion-panel/expansion-panel/expansion-panel.d.ts +75 -0
  1298. package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -0
  1299. package/expansion-panel/expansion-panel-content/expansion-panel-content.d.ts +17 -0
  1300. package/expansion-panel/expansion-panel-content/expansion-panel-content.d.ts.map +1 -0
  1301. package/expansion-panel/expansion-panel-content.d.ts +2 -0
  1302. package/expansion-panel/expansion-panel-content.d.ts.map +1 -0
  1303. package/expansion-panel/expansion-panel-content.js +29 -0
  1304. package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +38 -0
  1305. package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -0
  1306. package/expansion-panel/expansion-panel-header.d.ts +2 -0
  1307. package/expansion-panel/expansion-panel-header.d.ts.map +1 -0
  1308. package/expansion-panel/expansion-panel-header.js +75 -0
  1309. package/expansion-panel/expansion-panel.d.ts +2 -0
  1310. package/expansion-panel/expansion-panel.d.ts.map +1 -0
  1311. package/expansion-panel/expansion-panel.js +142 -0
  1312. package/expansion-panel.d.ts +4 -0
  1313. package/expansion-panel.d.ts.map +1 -0
  1314. package/expansion-panel.js +3 -0
  1315. package/file-selector/file-selector.d.ts +74 -0
  1316. package/file-selector/file-selector.d.ts.map +1 -0
  1317. package/file-selector.d.ts +2 -0
  1318. package/file-selector.d.ts.map +1 -0
  1319. package/file-selector.js +218 -0
  1320. package/font-characters-extension.css +18 -0
  1321. package/footer/footer.d.ts +35 -0
  1322. package/footer/footer.d.ts.map +1 -0
  1323. package/footer.d.ts +2 -0
  1324. package/footer.d.ts.map +1 -0
  1325. package/footer.js +46 -0
  1326. package/form-error/form-error.d.ts +21 -0
  1327. package/form-error/form-error.d.ts.map +1 -0
  1328. package/form-error.d.ts +2 -0
  1329. package/form-error.d.ts.map +1 -0
  1330. package/form-error.js +48 -0
  1331. package/form-field/form-field/form-field.d.ts +101 -0
  1332. package/form-field/form-field/form-field.d.ts.map +1 -0
  1333. package/form-field/form-field-clear/form-field-clear.d.ts +24 -0
  1334. package/form-field/form-field-clear/form-field-clear.d.ts.map +1 -0
  1335. package/form-field/form-field-clear.d.ts +2 -0
  1336. package/form-field/form-field-clear.d.ts.map +1 -0
  1337. package/form-field/form-field-clear.js +46 -0
  1338. package/form-field/form-field.d.ts +2 -0
  1339. package/form-field/form-field.d.ts.map +1 -0
  1340. package/form-field/form-field.js +268 -0
  1341. package/form-field.d.ts +3 -0
  1342. package/form-field.d.ts.map +1 -0
  1343. package/form-field.js +2 -0
  1344. package/header/common/header-action-common.d.ts +11 -0
  1345. package/header/common/header-action-common.d.ts.map +1 -0
  1346. package/header/common.d.ts +2 -0
  1347. package/header/common.d.ts.map +1 -0
  1348. package/header/common.js +35 -0
  1349. package/header/header/header.d.ts +59 -0
  1350. package/header/header/header.d.ts.map +1 -0
  1351. package/header/header-button/header-button.d.ts +18 -0
  1352. package/header/header-button/header-button.d.ts.map +1 -0
  1353. package/header/header-button.d.ts +2 -0
  1354. package/header/header-button.d.ts.map +1 -0
  1355. package/header/header-button.js +18 -0
  1356. package/header/header-link/header-link.d.ts +18 -0
  1357. package/header/header-link/header-link.d.ts.map +1 -0
  1358. package/header/header-link.d.ts +2 -0
  1359. package/header/header-link.d.ts.map +1 -0
  1360. package/header/header-link.js +16 -0
  1361. package/header/header.d.ts +2 -0
  1362. package/header/header.d.ts.map +1 -0
  1363. package/header/header.js +120 -0
  1364. package/header.d.ts +5 -0
  1365. package/header.d.ts.map +1 -0
  1366. package/header.js +4 -0
  1367. package/icon/icon-base.d.ts +28 -0
  1368. package/icon/icon-base.d.ts.map +1 -0
  1369. package/icon/icon-name-mixin.d.ts +12 -0
  1370. package/icon/icon-name-mixin.d.ts.map +1 -0
  1371. package/icon/icon-request.d.ts +3 -0
  1372. package/icon/icon-request.d.ts.map +1 -0
  1373. package/icon/icon-validate.d.ts +12 -0
  1374. package/icon/icon-validate.d.ts.map +1 -0
  1375. package/icon/icon.d.ts +24 -0
  1376. package/icon/icon.d.ts.map +1 -0
  1377. package/icon.d.ts +6 -0
  1378. package/icon.d.ts.map +1 -0
  1379. package/icon.js +174 -0
  1380. package/image/image.d.ts +236 -0
  1381. package/image/image.d.ts.map +1 -0
  1382. package/image.d.ts +2 -0
  1383. package/image.d.ts.map +1 -0
  1384. package/image.js +279 -0
  1385. package/index.d.ts +231 -0
  1386. package/index.js +229 -0
  1387. package/journey-header/journey-header.d.ts +30 -0
  1388. package/journey-header/journey-header.d.ts.map +1 -0
  1389. package/journey-header.d.ts +2 -0
  1390. package/journey-header.d.ts.map +1 -0
  1391. package/journey-header.js +76 -0
  1392. package/layout.css +24 -0
  1393. package/lead-container/lead-container.d.ts +20 -0
  1394. package/lead-container/lead-container.d.ts.map +1 -0
  1395. package/lead-container.d.ts +2 -0
  1396. package/lead-container.d.ts.map +1 -0
  1397. package/lead-container.js +32 -0
  1398. package/link/block-link/block-link.d.ts +18 -0
  1399. package/link/block-link/block-link.d.ts.map +1 -0
  1400. package/link/block-link-button/block-link-button.d.ts +18 -0
  1401. package/link/block-link-button/block-link-button.d.ts.map +1 -0
  1402. package/link/block-link-button.d.ts +2 -0
  1403. package/link/block-link-button.d.ts.map +1 -0
  1404. package/link/block-link-button.js +19 -0
  1405. package/link/block-link-static/block-link-static.d.ts +18 -0
  1406. package/link/block-link-static/block-link-static.d.ts.map +1 -0
  1407. package/link/block-link-static.d.ts +2 -0
  1408. package/link/block-link-static.d.ts.map +1 -0
  1409. package/link/block-link-static.js +19 -0
  1410. package/link/block-link.d.ts +2 -0
  1411. package/link/block-link.d.ts.map +1 -0
  1412. package/link/block-link.js +19 -0
  1413. package/link/common/block-link-common.d.ts +11 -0
  1414. package/link/common/block-link-common.d.ts.map +1 -0
  1415. package/link/common/inline-link-common.d.ts +8 -0
  1416. package/link/common/inline-link-common.d.ts.map +1 -0
  1417. package/link/common/link-common.d.ts +9 -0
  1418. package/link/common/link-common.d.ts.map +1 -0
  1419. package/link/common.d.ts +4 -0
  1420. package/link/common.d.ts.map +1 -0
  1421. package/link/common.js +62 -0
  1422. package/link/link/link.d.ts +17 -0
  1423. package/link/link/link.d.ts.map +1 -0
  1424. package/link/link-button/link-button.d.ts +17 -0
  1425. package/link/link-button/link-button.d.ts.map +1 -0
  1426. package/link/link-button.d.ts +2 -0
  1427. package/link/link-button.d.ts.map +1 -0
  1428. package/link/link-button.js +19 -0
  1429. package/link/link-static/link-static.d.ts +17 -0
  1430. package/link/link-static/link-static.d.ts.map +1 -0
  1431. package/link/link-static.d.ts +2 -0
  1432. package/link/link-static.d.ts.map +1 -0
  1433. package/link/link-static.js +19 -0
  1434. package/link/link.d.ts +2 -0
  1435. package/link/link.d.ts.map +1 -0
  1436. package/link/link.js +19 -0
  1437. package/link-list/link-list.d.ts +40 -0
  1438. package/link-list/link-list.d.ts.map +1 -0
  1439. package/link-list.d.ts +2 -0
  1440. package/link-list.d.ts.map +1 -0
  1441. package/link-list.js +65 -0
  1442. package/link.d.ts +8 -0
  1443. package/link.d.ts.map +1 -0
  1444. package/link.js +7 -0
  1445. package/lists.css +149 -0
  1446. package/loading-indicator/loading-indicator.d.ts +21 -0
  1447. package/loading-indicator/loading-indicator.d.ts.map +1 -0
  1448. package/loading-indicator.d.ts +2 -0
  1449. package/loading-indicator.d.ts.map +1 -0
  1450. package/loading-indicator.js +51 -0
  1451. package/logo/logo.d.ts +24 -0
  1452. package/logo/logo.d.ts.map +1 -0
  1453. package/logo.d.ts +2 -0
  1454. package/logo.d.ts.map +1 -0
  1455. package/logo.js +47 -0
  1456. package/map-container/map-container.d.ts +43 -0
  1457. package/map-container/map-container.d.ts.map +1 -0
  1458. package/map-container.d.ts +2 -0
  1459. package/map-container.d.ts.map +1 -0
  1460. package/map-container.js +91 -0
  1461. package/menu/common/menu-action-common.d.ts +11 -0
  1462. package/menu/common/menu-action-common.d.ts.map +1 -0
  1463. package/menu/common.d.ts +2 -0
  1464. package/menu/common.d.ts.map +1 -0
  1465. package/menu/common.js +34 -0
  1466. package/menu/menu/menu.d.ts +76 -0
  1467. package/menu/menu/menu.d.ts.map +1 -0
  1468. package/menu/menu-button/menu-button.d.ts +20 -0
  1469. package/menu/menu-button/menu-button.d.ts.map +1 -0
  1470. package/menu/menu-button.d.ts +2 -0
  1471. package/menu/menu-button.d.ts.map +1 -0
  1472. package/menu/menu-button.js +19 -0
  1473. package/menu/menu-link/menu-link.d.ts +20 -0
  1474. package/menu/menu-link/menu-link.d.ts.map +1 -0
  1475. package/menu/menu-link.d.ts +2 -0
  1476. package/menu/menu-link.d.ts.map +1 -0
  1477. package/menu/menu-link.js +16 -0
  1478. package/menu/menu.d.ts +2 -0
  1479. package/menu/menu.d.ts.map +1 -0
  1480. package/menu/menu.js +194 -0
  1481. package/menu.d.ts +5 -0
  1482. package/menu.d.ts.map +1 -0
  1483. package/menu.js +4 -0
  1484. package/message/message.d.ts +26 -0
  1485. package/message/message.d.ts.map +1 -0
  1486. package/message.d.ts +2 -0
  1487. package/message.d.ts.map +1 -0
  1488. package/message.js +40 -0
  1489. package/navigation/common/navigation-action-common.d.ts +14 -0
  1490. package/navigation/common/navigation-action-common.d.ts.map +1 -0
  1491. package/navigation/common.d.ts +2 -0
  1492. package/navigation/common.d.ts.map +1 -0
  1493. package/navigation/common.js +51 -0
  1494. package/navigation/navigation/navigation.d.ts +82 -0
  1495. package/navigation/navigation/navigation.d.ts.map +1 -0
  1496. package/navigation/navigation-button/navigation-button.d.ts +17 -0
  1497. package/navigation/navigation-button/navigation-button.d.ts.map +1 -0
  1498. package/navigation/navigation-button.d.ts +2 -0
  1499. package/navigation/navigation-button.d.ts.map +1 -0
  1500. package/navigation/navigation-button.js +18 -0
  1501. package/navigation/navigation-link/navigation-link.d.ts +17 -0
  1502. package/navigation/navigation-link/navigation-link.d.ts.map +1 -0
  1503. package/navigation/navigation-link.d.ts +2 -0
  1504. package/navigation/navigation-link.d.ts.map +1 -0
  1505. package/navigation/navigation-link.js +18 -0
  1506. package/navigation/navigation-list/navigation-list.d.ts +30 -0
  1507. package/navigation/navigation-list/navigation-list.d.ts.map +1 -0
  1508. package/navigation/navigation-list.d.ts +2 -0
  1509. package/navigation/navigation-list.d.ts.map +1 -0
  1510. package/navigation/navigation-list.js +42 -0
  1511. package/navigation/navigation-marker/navigation-marker.d.ts +38 -0
  1512. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -0
  1513. package/navigation/navigation-marker.d.ts +2 -0
  1514. package/navigation/navigation-marker.d.ts.map +1 -0
  1515. package/navigation/navigation-marker.js +77 -0
  1516. package/navigation/navigation-section/navigation-section.d.ts +76 -0
  1517. package/navigation/navigation-section/navigation-section.d.ts.map +1 -0
  1518. package/navigation/navigation-section.d.ts +2 -0
  1519. package/navigation/navigation-section.d.ts.map +1 -0
  1520. package/navigation/navigation-section.js +205 -0
  1521. package/navigation/navigation.d.ts +2 -0
  1522. package/navigation/navigation.d.ts.map +1 -0
  1523. package/navigation/navigation.js +210 -0
  1524. package/navigation.d.ts +8 -0
  1525. package/navigation.d.ts.map +1 -0
  1526. package/navigation.js +7 -0
  1527. package/normalize.css +189 -0
  1528. package/notification/notification.d.ts +82 -0
  1529. package/notification/notification.d.ts.map +1 -0
  1530. package/notification.d.ts +2 -0
  1531. package/notification.d.ts.map +1 -0
  1532. package/notification.js +158 -0
  1533. package/option/optgroup/optgroup.d.ts +33 -0
  1534. package/option/optgroup/optgroup.d.ts.map +1 -0
  1535. package/option/optgroup.d.ts +2 -0
  1536. package/option/optgroup.d.ts.map +1 -0
  1537. package/option/optgroup.js +103 -0
  1538. package/option/option/option.d.ts +91 -0
  1539. package/option/option/option.d.ts.map +1 -0
  1540. package/option/option.d.ts +2 -0
  1541. package/option/option.d.ts.map +1 -0
  1542. package/option/option.js +230 -0
  1543. package/option.d.ts +3 -0
  1544. package/option.d.ts.map +1 -0
  1545. package/option.js +2 -0
  1546. package/overlay/overlay-base-element.d.ts +43 -0
  1547. package/overlay/overlay-base-element.d.ts.map +1 -0
  1548. package/overlay/overlay.d.ts +52 -0
  1549. package/overlay/overlay.d.ts.map +1 -0
  1550. package/overlay.d.ts +3 -0
  1551. package/overlay.d.ts.map +1 -0
  1552. package/overlay.js +210 -0
  1553. package/package.json +852 -2
  1554. package/popover/popover/popover.d.ts +85 -0
  1555. package/popover/popover/popover.d.ts.map +1 -0
  1556. package/popover/popover-trigger/popover-trigger.d.ts +21 -0
  1557. package/popover/popover-trigger/popover-trigger.d.ts.map +1 -0
  1558. package/popover/popover-trigger.d.ts +2 -0
  1559. package/popover/popover-trigger.d.ts.map +1 -0
  1560. package/popover/popover-trigger.js +35 -0
  1561. package/popover/popover.d.ts +2 -0
  1562. package/popover/popover.d.ts.map +1 -0
  1563. package/popover/popover.js +241 -0
  1564. package/popover.d.ts +3 -0
  1565. package/popover.d.ts.map +1 -0
  1566. package/popover.js +2 -0
  1567. package/radio-button/radio-button/radio-button.d.ts +102 -0
  1568. package/radio-button/radio-button/radio-button.d.ts.map +1 -0
  1569. package/radio-button/radio-button-group/radio-button-group.d.ts +91 -0
  1570. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -0
  1571. package/radio-button/radio-button-group.d.ts +2 -0
  1572. package/radio-button/radio-button-group.d.ts.map +1 -0
  1573. package/radio-button/radio-button-group.js +161 -0
  1574. package/radio-button/radio-button.d.ts +2 -0
  1575. package/radio-button/radio-button.d.ts.map +1 -0
  1576. package/radio-button/radio-button.js +167 -0
  1577. package/radio-button.d.ts +3 -0
  1578. package/radio-button.d.ts.map +1 -0
  1579. package/radio-button.js +2 -0
  1580. package/screen-reader-only/screen-reader-only.d.ts +17 -0
  1581. package/screen-reader-only/screen-reader-only.d.ts.map +1 -0
  1582. package/screen-reader-only.d.ts +2 -0
  1583. package/screen-reader-only.d.ts.map +1 -0
  1584. package/screen-reader-only.js +20 -0
  1585. package/select/select.d.ts +140 -0
  1586. package/select/select.d.ts.map +1 -0
  1587. package/select.d.ts +2 -0
  1588. package/select.d.ts.map +1 -0
  1589. package/select.js +402 -0
  1590. package/selection-panel/selection-panel.d.ts +63 -0
  1591. package/selection-panel/selection-panel.d.ts.map +1 -0
  1592. package/selection-panel.d.ts +2 -0
  1593. package/selection-panel.d.ts.map +1 -0
  1594. package/selection-panel.js +138 -0
  1595. package/signet/signet.d.ts +20 -0
  1596. package/signet/signet.d.ts.map +1 -0
  1597. package/signet.d.ts +2 -0
  1598. package/signet.d.ts.map +1 -0
  1599. package/signet.js +41 -0
  1600. package/skiplink-list/skiplink-list.d.ts +32 -0
  1601. package/skiplink-list/skiplink-list.d.ts.map +1 -0
  1602. package/skiplink-list.d.ts +2 -0
  1603. package/skiplink-list.d.ts.map +1 -0
  1604. package/skiplink-list.js +51 -0
  1605. package/slider/slider.d.ts +70 -0
  1606. package/slider/slider.d.ts.map +1 -0
  1607. package/slider.d.ts +2 -0
  1608. package/slider.d.ts.map +1 -0
  1609. package/slider.js +152 -0
  1610. package/standard-theme.css +1741 -0
  1611. package/status/status.d.ts +32 -0
  1612. package/status/status.d.ts.map +1 -0
  1613. package/status.d.ts +2 -0
  1614. package/status.d.ts.map +1 -0
  1615. package/status.js +59 -0
  1616. package/stepper/step/step.d.ts +66 -0
  1617. package/stepper/step/step.d.ts.map +1 -0
  1618. package/stepper/step-label/step-label.d.ts +47 -0
  1619. package/stepper/step-label/step-label.d.ts.map +1 -0
  1620. package/stepper/step-label.d.ts +2 -0
  1621. package/stepper/step-label.d.ts.map +1 -0
  1622. package/stepper/step-label.js +83 -0
  1623. package/stepper/step.d.ts +2 -0
  1624. package/stepper/step.d.ts.map +1 -0
  1625. package/stepper/step.js +117 -0
  1626. package/stepper/stepper/stepper.d.ts +59 -0
  1627. package/stepper/stepper/stepper.d.ts.map +1 -0
  1628. package/stepper/stepper.d.ts +2 -0
  1629. package/stepper/stepper.d.ts.map +1 -0
  1630. package/stepper/stepper.js +191 -0
  1631. package/stepper.d.ts +4 -0
  1632. package/stepper.d.ts.map +1 -0
  1633. package/stepper.js +3 -0
  1634. package/tabs/tab-group/tab-group.d.ts +94 -0
  1635. package/tabs/tab-group/tab-group.d.ts.map +1 -0
  1636. package/tabs/tab-group.d.ts +2 -0
  1637. package/tabs/tab-group.d.ts.map +1 -0
  1638. package/tabs/tab-group.js +196 -0
  1639. package/tabs/tab-title/tab-title.d.ts +32 -0
  1640. package/tabs/tab-title/tab-title.d.ts.map +1 -0
  1641. package/tabs/tab-title.d.ts +2 -0
  1642. package/tabs/tab-title.d.ts.map +1 -0
  1643. package/tabs/tab-title.js +51 -0
  1644. package/tabs.d.ts +3 -0
  1645. package/tabs.d.ts.map +1 -0
  1646. package/tabs.js +2 -0
  1647. package/tag/tag/tag.d.ts +53 -0
  1648. package/tag/tag/tag.d.ts.map +1 -0
  1649. package/tag/tag-group/tag-group.d.ts +46 -0
  1650. package/tag/tag-group/tag-group.d.ts.map +1 -0
  1651. package/tag/tag-group.d.ts +2 -0
  1652. package/tag/tag-group.d.ts.map +1 -0
  1653. package/tag/tag-group.js +82 -0
  1654. package/tag/tag.d.ts +2 -0
  1655. package/tag/tag.d.ts.map +1 -0
  1656. package/tag/tag.js +82 -0
  1657. package/tag.d.ts +3 -0
  1658. package/tag.d.ts.map +1 -0
  1659. package/tag.js +2 -0
  1660. package/teaser/teaser.d.ts +31 -0
  1661. package/teaser/teaser.d.ts.map +1 -0
  1662. package/teaser-hero/teaser-hero.d.ts +26 -0
  1663. package/teaser-hero/teaser-hero.d.ts.map +1 -0
  1664. package/teaser-hero.d.ts +2 -0
  1665. package/teaser-hero.d.ts.map +1 -0
  1666. package/teaser-hero.js +51 -0
  1667. package/teaser-paid/teaser-paid.d.ts +20 -0
  1668. package/teaser-paid/teaser-paid.d.ts.map +1 -0
  1669. package/teaser-paid.d.ts +2 -0
  1670. package/teaser-paid.d.ts.map +1 -0
  1671. package/teaser-paid.js +28 -0
  1672. package/teaser.d.ts +2 -0
  1673. package/teaser.d.ts.map +1 -0
  1674. package/teaser.js +57 -0
  1675. package/time-input/time-input.d.ts +68 -0
  1676. package/time-input/time-input.d.ts.map +1 -0
  1677. package/time-input.d.ts +2 -0
  1678. package/time-input.d.ts.map +1 -0
  1679. package/time-input.js +176 -0
  1680. package/timetable-occupancy/timetable-occupancy.d.ts +23 -0
  1681. package/timetable-occupancy/timetable-occupancy.d.ts.map +1 -0
  1682. package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +27 -0
  1683. package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -0
  1684. package/timetable-occupancy-icon.d.ts +2 -0
  1685. package/timetable-occupancy-icon.d.ts.map +1 -0
  1686. package/timetable-occupancy-icon.js +53 -0
  1687. package/timetable-occupancy.d.ts +2 -0
  1688. package/timetable-occupancy.d.ts.map +1 -0
  1689. package/timetable-occupancy.js +58 -0
  1690. package/title/title-base.d.ts +26 -0
  1691. package/title/title-base.d.ts.map +1 -0
  1692. package/title/title.d.ts +16 -0
  1693. package/title/title.d.ts.map +1 -0
  1694. package/title.d.ts +3 -0
  1695. package/title.d.ts.map +1 -0
  1696. package/title.js +58 -0
  1697. package/toast/toast.d.ts +79 -0
  1698. package/toast/toast.d.ts.map +1 -0
  1699. package/toast.d.ts +2 -0
  1700. package/toast.d.ts.map +1 -0
  1701. package/toast.js +147 -0
  1702. package/toggle/toggle/toggle.d.ts +63 -0
  1703. package/toggle/toggle/toggle.d.ts.map +1 -0
  1704. package/toggle/toggle-option/toggle-option.d.ts +37 -0
  1705. package/toggle/toggle-option/toggle-option.d.ts.map +1 -0
  1706. package/toggle/toggle-option.d.ts +2 -0
  1707. package/toggle/toggle-option.d.ts.map +1 -0
  1708. package/toggle/toggle-option.js +89 -0
  1709. package/toggle/toggle.d.ts +2 -0
  1710. package/toggle/toggle.d.ts.map +1 -0
  1711. package/toggle/toggle.js +129 -0
  1712. package/toggle-check/toggle-check.d.ts +34 -0
  1713. package/toggle-check/toggle-check.d.ts.map +1 -0
  1714. package/toggle-check.d.ts +2 -0
  1715. package/toggle-check.d.ts.map +1 -0
  1716. package/toggle-check.js +56 -0
  1717. package/toggle.d.ts +3 -0
  1718. package/toggle.d.ts.map +1 -0
  1719. package/toggle.js +2 -0
  1720. package/train/train/train.d.ts +48 -0
  1721. package/train/train/train.d.ts.map +1 -0
  1722. package/train/train-blocked-passage/train-blocked-passage.d.ts +15 -0
  1723. package/train/train-blocked-passage/train-blocked-passage.d.ts.map +1 -0
  1724. package/train/train-blocked-passage.d.ts +2 -0
  1725. package/train/train-blocked-passage.d.ts.map +1 -0
  1726. package/train/train-blocked-passage.js +26 -0
  1727. package/train/train-formation/train-formation.d.ts +40 -0
  1728. package/train/train-formation/train-formation.d.ts.map +1 -0
  1729. package/train/train-formation.d.ts +2 -0
  1730. package/train/train-formation.d.ts.map +1 -0
  1731. package/train/train-formation.js +104 -0
  1732. package/train/train-wagon/train-wagon.d.ts +49 -0
  1733. package/train/train-wagon/train-wagon.d.ts.map +1 -0
  1734. package/train/train-wagon.d.ts +2 -0
  1735. package/train/train-wagon.d.ts.map +1 -0
  1736. package/train/train-wagon.js +148 -0
  1737. package/train/train.d.ts +2 -0
  1738. package/train/train.d.ts.map +1 -0
  1739. package/train/train.js +93 -0
  1740. package/train.d.ts +5 -0
  1741. package/train.d.ts.map +1 -0
  1742. package/train.js +4 -0
  1743. package/typography.css +79 -0
  1744. package/visual-checkbox/visual-checkbox.d.ts +21 -0
  1745. package/visual-checkbox/visual-checkbox.d.ts.map +1 -0
  1746. package/visual-checkbox.d.ts +2 -0
  1747. package/visual-checkbox.d.ts.map +1 -0
  1748. package/visual-checkbox.js +49 -0
@@ -0,0 +1,573 @@
1
+ import { property, state } from "lit/decorators.js";
2
+ import { defaultConverter, isServer, html, nothing } from "lit";
3
+ import { hostAttributes } from "./decorators.js";
4
+ import { preventScrollOnSpacebarPress, forwardEventToHost } from "./eventing.js";
5
+ import { getLocalName } from "./dom.js";
6
+ import "../screen-reader-only.js";
7
+ var __defProp$5 = Object.defineProperty;
8
+ var __getOwnPropDesc$3 = Object.getOwnPropertyDescriptor;
9
+ var __decorateClass$5 = (decorators, target, key, kind) => {
10
+ var result = __getOwnPropDesc$3(target, key);
11
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
12
+ if (decorator = decorators[i])
13
+ result = decorator(target, key, result) || result;
14
+ if (result)
15
+ __defProp$5(target, key, result);
16
+ return result;
17
+ };
18
+ const SbbDisabledMixin = (superClass) => {
19
+ class SbbDisabledElement extends superClass {
20
+ constructor() {
21
+ super(...arguments);
22
+ this._disabled = false;
23
+ }
24
+ set disabled(value) {
25
+ this._disabled = Boolean(value);
26
+ }
27
+ get disabled() {
28
+ return this._disabled || this.isDisabledExternally();
29
+ }
30
+ /**
31
+ * Will be used as 'or' check to the current disabled state.
32
+ * Can e.g. be used to read disabled state of a group.
33
+ */
34
+ isDisabledExternally() {
35
+ return false;
36
+ }
37
+ }
38
+ __decorateClass$5([
39
+ property({ reflect: true, type: Boolean })
40
+ ], SbbDisabledElement.prototype, "disabled");
41
+ return SbbDisabledElement;
42
+ };
43
+ const SbbDisabledTabIndexActionMixin = (superClass) => {
44
+ class SbbDisabledTabIndexAction extends SbbDisabledMixin(superClass) {
45
+ willUpdate(changedProperties) {
46
+ super.willUpdate(changedProperties);
47
+ if (!changedProperties.has("disabled")) {
48
+ return;
49
+ }
50
+ if (this.disabled) {
51
+ this.setAttribute("aria-disabled", "true");
52
+ this.removeAttribute("tabindex");
53
+ } else {
54
+ this.removeAttribute("aria-disabled");
55
+ this.setAttribute("tabindex", "0");
56
+ }
57
+ }
58
+ }
59
+ return SbbDisabledTabIndexAction;
60
+ };
61
+ var __defProp$4 = Object.defineProperty;
62
+ var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
63
+ var __decorateClass$4 = (decorators, target, key, kind) => {
64
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
65
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
66
+ if (decorator = decorators[i])
67
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
68
+ if (kind && result)
69
+ __defProp$4(target, key, result);
70
+ return result;
71
+ };
72
+ const SbbFormAssociatedMixin = (superClass) => {
73
+ const _SbbFormAssociatedElement = class _SbbFormAssociatedElement extends superClass {
74
+ constructor() {
75
+ super(...arguments);
76
+ this._value = null;
77
+ this.internals = this.attachInternals();
78
+ this.formDisabled = false;
79
+ }
80
+ /**
81
+ * Returns the form owner of internals target element.
82
+ */
83
+ get form() {
84
+ return this.internals.form;
85
+ }
86
+ set name(name) {
87
+ this.setAttribute("name", `${name}`);
88
+ }
89
+ get name() {
90
+ return this.getAttribute("name") ?? "";
91
+ }
92
+ /** @internal */
93
+ get type() {
94
+ return this.localName;
95
+ }
96
+ set value(value) {
97
+ this._value = value;
98
+ this.updateFormValue();
99
+ }
100
+ get value() {
101
+ return this._value;
102
+ }
103
+ /**
104
+ * Returns the ValidityState object for internals target element.
105
+ *
106
+ * @internal
107
+ */
108
+ get validity() {
109
+ return this.internals.validity;
110
+ }
111
+ /**
112
+ * Returns the error message that would be shown to the user
113
+ * if internals target element was to be checked for validity.
114
+ *
115
+ * @internal
116
+ */
117
+ get validationMessage() {
118
+ return this.internals.validationMessage;
119
+ }
120
+ /**
121
+ * Returns true if internals target element will be validated
122
+ * when the form is submitted; false otherwise.
123
+ *
124
+ * @internal
125
+ */
126
+ get willValidate() {
127
+ return this.internals.willValidate;
128
+ }
129
+ attributeChangedCallback(name, old, value) {
130
+ if (name !== "name" || old !== value) {
131
+ super.attributeChangedCallback(name, old, value);
132
+ }
133
+ }
134
+ /**
135
+ * Returns true if internals target element has no validity problems; false otherwise.
136
+ * Fires an invalid event at the element in the latter case.
137
+ *
138
+ * @internal
139
+ */
140
+ checkValidity() {
141
+ return this.internals.checkValidity();
142
+ }
143
+ /**
144
+ * Returns true if internals target element has no validity problems; otherwise,
145
+ * returns false, fires an invalid event at the element,
146
+ * and (if the event isn't canceled) reports the problem to the user.
147
+ *
148
+ * @internal
149
+ */
150
+ reportValidity() {
151
+ return this.internals.reportValidity();
152
+ }
153
+ /**
154
+ * Is called whenever a surrounding form / fieldset changes disabled state.
155
+ * @param disabled
156
+ *
157
+ * @internal
158
+ */
159
+ formDisabledCallback(disabled) {
160
+ this.formDisabled = disabled;
161
+ }
162
+ /** Should be called when form value is changed. */
163
+ updateFormValue() {
164
+ this.internals.setFormValue(this.value);
165
+ }
166
+ };
167
+ _SbbFormAssociatedElement.formAssociated = true;
168
+ let SbbFormAssociatedElement = _SbbFormAssociatedElement;
169
+ __decorateClass$4([
170
+ property()
171
+ ], SbbFormAssociatedElement.prototype, "name", 1);
172
+ __decorateClass$4([
173
+ property()
174
+ ], SbbFormAssociatedElement.prototype, "value", 1);
175
+ __decorateClass$4([
176
+ state()
177
+ ], SbbFormAssociatedElement.prototype, "formDisabled", 2);
178
+ return SbbFormAssociatedElement;
179
+ };
180
+ var __defProp$3 = Object.defineProperty;
181
+ var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
182
+ var __decorateClass$3 = (decorators, target, key, kind) => {
183
+ var result = __getOwnPropDesc$1(target, key);
184
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
185
+ if (decorator = decorators[i])
186
+ result = decorator(target, key, result) || result;
187
+ if (result)
188
+ __defProp$3(target, key, result);
189
+ return result;
190
+ };
191
+ const SbbRequiredMixin = (superClass) => {
192
+ class SbbRequiredElement extends superClass {
193
+ constructor() {
194
+ super(...arguments);
195
+ this._required = false;
196
+ }
197
+ set required(value) {
198
+ this._required = Boolean(value);
199
+ }
200
+ get required() {
201
+ return this._required || this.isRequiredExternally();
202
+ }
203
+ async willUpdate(changedProperties) {
204
+ super.willUpdate(changedProperties);
205
+ if (changedProperties.has("required")) {
206
+ this.internals.ariaRequired = `${this.required}`;
207
+ }
208
+ }
209
+ /**
210
+ * Will be used as 'or' check to the current required state.
211
+ * Can e.g. be used to read required state of a group.
212
+ */
213
+ isRequiredExternally() {
214
+ return false;
215
+ }
216
+ }
217
+ __decorateClass$3([
218
+ property({ reflect: true, type: Boolean })
219
+ ], SbbRequiredElement.prototype, "required");
220
+ return SbbRequiredElement;
221
+ };
222
+ var __defProp$2 = Object.defineProperty;
223
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
224
+ var __decorateClass$2 = (decorators, target, key, kind) => {
225
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
226
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
227
+ if (decorator = decorators[i])
228
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
229
+ if (kind && result)
230
+ __defProp$2(target, key, result);
231
+ return result;
232
+ };
233
+ const SbbFormAssociatedCheckboxMixin = (superClass) => {
234
+ let SbbFormAssociatedCheckboxElement = class extends SbbDisabledMixin(SbbRequiredMixin(SbbFormAssociatedMixin(superClass))) {
235
+ constructor() {
236
+ super();
237
+ this._attributeMutationBlocked = false;
238
+ this._checked = false;
239
+ this._handleKeyboardInteraction = (event) => {
240
+ if (event.key === " ") {
241
+ this._handleUserInteraction();
242
+ }
243
+ };
244
+ this._handleUserInteraction = () => {
245
+ var _a;
246
+ if (this.disabled) {
247
+ return;
248
+ }
249
+ (_a = this.withUserInteraction) == null ? void 0 : _a.call(this);
250
+ this.checked = !this.checked;
251
+ this._attributeMutationBlocked = true;
252
+ this.dispatchEvent(new InputEvent("input", { composed: true, bubbles: true }));
253
+ this.dispatchEvent(new Event("change", { bubbles: true }));
254
+ this.dispatchEvent(new CustomEvent("didChange", { bubbles: true }));
255
+ };
256
+ this.internals.role = "checkbox";
257
+ }
258
+ set checked(value) {
259
+ const attributeSetter = typeof value === "object" ? value.attribute : false;
260
+ if (attributeSetter) {
261
+ value = value.value;
262
+ }
263
+ if (this.hasUpdated && !attributeSetter) {
264
+ this._attributeMutationBlocked = true;
265
+ }
266
+ this._checked = Boolean(value);
267
+ this.updateFormValue();
268
+ }
269
+ get checked() {
270
+ return this._checked;
271
+ }
272
+ connectedCallback() {
273
+ super.connectedCallback();
274
+ this.addEventListener("click", this._handleUserInteraction);
275
+ this.addEventListener("keydown", preventScrollOnSpacebarPress);
276
+ this.addEventListener("keyup", this._handleKeyboardInteraction);
277
+ }
278
+ disconnectedCallback() {
279
+ super.disconnectedCallback();
280
+ this.removeEventListener("click", this._handleUserInteraction);
281
+ this.removeEventListener("keydown", preventScrollOnSpacebarPress);
282
+ this.removeEventListener("keyup", this._handleKeyboardInteraction);
283
+ }
284
+ attributeChangedCallback(name, old, value) {
285
+ if (name !== "checked" || !this._attributeMutationBlocked) {
286
+ super.attributeChangedCallback(name, old, value);
287
+ }
288
+ }
289
+ /**
290
+ * Is called whenever the form is being reset.
291
+ *
292
+ * @internal
293
+ */
294
+ formResetCallback() {
295
+ this.checked = this.hasAttribute("checked");
296
+ this._attributeMutationBlocked = false;
297
+ }
298
+ /**
299
+ * Called when the browser is trying to restore element’s state to state in which case
300
+ * reason is “restore”, or when the browser is trying to fulfill autofill on behalf of
301
+ * user in which case reason is “autocomplete”.
302
+ * In the case of “restore”, state is a string, File, or FormData object
303
+ * previously set as the second argument to setFormValue.
304
+ *
305
+ * @internal
306
+ */
307
+ formStateRestoreCallback(state2, _reason) {
308
+ if (state2) {
309
+ this.checked = state2 === "true";
310
+ }
311
+ }
312
+ updateFormValue() {
313
+ if (this.checked) {
314
+ this.internals.setFormValue(this.value, `${this.checked}`);
315
+ } else {
316
+ this.internals.setFormValue(null);
317
+ }
318
+ }
319
+ };
320
+ __decorateClass$2([
321
+ property({
322
+ type: Boolean,
323
+ converter: {
324
+ ...defaultConverter,
325
+ // We need to pass information to the setter so that we know it was called by attribute change.
326
+ fromAttribute: (value, type) => {
327
+ var _a, _b;
328
+ const result = (_b = (_a = defaultConverter).fromAttribute) == null ? void 0 : _b.call(_a, value, type);
329
+ return { value: result, attribute: true };
330
+ }
331
+ }
332
+ })
333
+ ], SbbFormAssociatedCheckboxElement.prototype, "checked", 1);
334
+ SbbFormAssociatedCheckboxElement = __decorateClass$2([
335
+ hostAttributes({
336
+ tabindex: "0"
337
+ })
338
+ ], SbbFormAssociatedCheckboxElement);
339
+ return SbbFormAssociatedCheckboxElement;
340
+ };
341
+ const litElementHydrateSupport = "litElementHydrateSupport";
342
+ const hydrationSuppressed = isServer || globalThis.testGroup === "ssr-non-hydrated";
343
+ const SbbHydrationMixin = (base) => {
344
+ class SbbHydrationMixinClass extends base {
345
+ constructor() {
346
+ super(...arguments);
347
+ this._hydrationRequired = false;
348
+ this._hydrationComplete = new Promise(
349
+ (resolve) => this._resolveHydration = resolve
350
+ );
351
+ this._handleBeforeHydrationSlotchange = (event) => {
352
+ if (!this._hydrationRequired) {
353
+ return;
354
+ }
355
+ event.stopImmediatePropagation();
356
+ const target = event.target;
357
+ this.hydrationComplete.then(() => forwardEventToHost(event, target));
358
+ };
359
+ }
360
+ /**
361
+ * Returns a Promise that resolves when the element has completed hydration.
362
+ * The Promise value is a boolean that is `true` if the element required hydration
363
+ * and `false` if not.
364
+ *
365
+ * @return A promise of a boolean that resolves to true once the hydration completed.
366
+ * @internal
367
+ */
368
+ get hydrationComplete() {
369
+ return this._hydrationComplete;
370
+ }
371
+ createRenderRoot() {
372
+ var _a, _b;
373
+ this._hydrationRequired = !!this.shadowRoot && litElementHydrateSupport in globalThis && (isServer || !hydrationSuppressed);
374
+ if (!this._hydrationRequired) {
375
+ this._resolveHydration(false);
376
+ } else {
377
+ const slots = (_a = this.shadowRoot) == null ? void 0 : _a.querySelectorAll("slot");
378
+ if (slots == null ? void 0 : slots.length) {
379
+ slots.forEach(
380
+ (slot) => slot.addEventListener("slotchange", this._handleBeforeHydrationSlotchange, {
381
+ capture: true
382
+ })
383
+ );
384
+ this.hydrationComplete.then(
385
+ () => slots.forEach(
386
+ (slot) => slot.removeEventListener("slotchange", this._handleBeforeHydrationSlotchange)
387
+ )
388
+ );
389
+ }
390
+ (_b = this.recoverSsrState) == null ? void 0 : _b.call(this);
391
+ }
392
+ return super.createRenderRoot();
393
+ }
394
+ willUpdate(changedProperties) {
395
+ var _a;
396
+ super.willUpdate(changedProperties);
397
+ if (isServer) {
398
+ (_a = this.recoverSsrState) == null ? void 0 : _a.call(this);
399
+ }
400
+ }
401
+ update(changedProperties) {
402
+ super.update(changedProperties);
403
+ if (this._hydrationRequired) {
404
+ this._hydrationRequired = false;
405
+ this._resolveHydration(true);
406
+ }
407
+ }
408
+ /** Reads and removes an attribute with the given name. Either returns the attributte value or null. */
409
+ getAndRemoveAttribute(name) {
410
+ const value = this.getAttribute(name);
411
+ this.removeAttribute(name);
412
+ return value;
413
+ }
414
+ }
415
+ return SbbHydrationMixinClass;
416
+ };
417
+ var __defProp$1 = Object.defineProperty;
418
+ var __decorateClass$1 = (decorators, target, key, kind) => {
419
+ var result = void 0;
420
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
421
+ if (decorator = decorators[i])
422
+ result = decorator(target, key, result) || result;
423
+ if (result)
424
+ __defProp$1(target, key, result);
425
+ return result;
426
+ };
427
+ const SSR_CHILD_COUNT_ATTRIBUTE = "data-ssr-child-count";
428
+ const SLOTNAME_PREFIX = "li";
429
+ const SbbNamedSlotListMixin = (superClass) => {
430
+ class NamedSlotListElement extends SbbHydrationMixin(superClass) {
431
+ constructor() {
432
+ super(...arguments);
433
+ this.listChildren = [];
434
+ this._handleSlotchange = () => {
435
+ const listChildren = Array.from(this.children ?? []).filter(
436
+ (e) => this.listChildLocalNames.includes(e.localName)
437
+ );
438
+ if (listChildren.length === this.listChildren.length && this.listChildren.every((e, i) => listChildren[i] === e)) {
439
+ return;
440
+ }
441
+ this.listChildren.filter((c) => !listChildren.includes(c)).forEach((c) => c.removeAttribute("slot"));
442
+ this.listChildren = listChildren;
443
+ this.listChildren.forEach(
444
+ (c, index) => c.setAttribute("slot", `${SLOTNAME_PREFIX}-${index}`)
445
+ );
446
+ this.removeAttribute(SSR_CHILD_COUNT_ATTRIBUTE);
447
+ };
448
+ }
449
+ connectedCallback() {
450
+ var _a;
451
+ super.connectedCallback();
452
+ (_a = this.shadowRoot) == null ? void 0 : _a.addEventListener("slotchange", this._handleSlotchange, { passive: true });
453
+ }
454
+ disconnectedCallback() {
455
+ var _a;
456
+ super.disconnectedCallback();
457
+ (_a = this.shadowRoot) == null ? void 0 : _a.removeEventListener("slotchange", this._handleSlotchange);
458
+ }
459
+ /**
460
+ * Renders list and list slots for slotted children or an amount of list slots
461
+ * corresponding to the `data-ssr-child-count` attribute value.
462
+ *
463
+ * This is a possible optimization for SSR, as in an SSR Lit environment
464
+ * other elements are not available, but might be available in the meta
465
+ * framework wrapper (like e.g. React). This allows to provide the amount of
466
+ * children to be passed via the `data-ssr-child-count` attribute value.
467
+ */
468
+ renderList(attributes = {}) {
469
+ const listSlotNames = this.listSlotNames();
470
+ if (listSlotNames.length >= 2) {
471
+ return html`
472
+ <ul
473
+ class=${attributes.class || (this.localName ?? getLocalName(this))}
474
+ aria-label=${attributes.ariaLabel || nothing}
475
+ aria-labelledby=${attributes.ariaLabelledby || nothing}
476
+ >
477
+ ${listSlotNames.map((name) => html`<li><slot name=${name}></slot></li>`)}
478
+ </ul>
479
+ ${this.renderHiddenSlot()}
480
+ `;
481
+ } else if (listSlotNames.length === 1) {
482
+ return html`<sbb-screen-reader-only>${attributes.ariaLabel}</sbb-screen-reader-only>
483
+ <span class=${attributes.class || (this.localName ?? getLocalName(this))}>
484
+ <span><slot name=${listSlotNames[0]}></slot></span>
485
+ </span>
486
+ ${this.renderHiddenSlot()} `;
487
+ } else {
488
+ return this.renderHiddenSlot();
489
+ }
490
+ }
491
+ /**
492
+ * Returns an array of list slot names with the length corresponding to the amount of matched
493
+ * children or the `data-ssr-child-count` attribute value.
494
+ *
495
+ * This is a possible optimization for SSR, as in an SSR Lit environment
496
+ * other elements are not available, but might be available in the meta
497
+ * framework wrapper (like e.g. React). This allows to provide the amount of
498
+ * children to be passed via the `data-ssr-child-count` attribute value.
499
+ */
500
+ listSlotNames() {
501
+ const listChildren = this.listChildren.length ? this.listChildren : Array.from({ length: +(this.getAttribute(SSR_CHILD_COUNT_ATTRIBUTE) ?? 0) });
502
+ return listChildren.map((_, i) => `${SLOTNAME_PREFIX}-${i}`);
503
+ }
504
+ /**
505
+ * Returns a hidden slot, which is intended as the children change detection.
506
+ * When an element without a slot attribute is slotted to the element, it triggers
507
+ * the slotchange event, which can be used to assign it to the appropriate named slot.
508
+ */
509
+ renderHiddenSlot() {
510
+ return html`<span hidden><slot></slot></span>`;
511
+ }
512
+ }
513
+ __decorateClass$1([
514
+ state()
515
+ ], NamedSlotListElement.prototype, "listChildren");
516
+ return NamedSlotListElement;
517
+ };
518
+ var __defProp = Object.defineProperty;
519
+ var __decorateClass = (decorators, target, key, kind) => {
520
+ var result = void 0;
521
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
522
+ if (decorator = decorators[i])
523
+ result = decorator(target, key, result) || result;
524
+ if (result)
525
+ __defProp(target, key, result);
526
+ return result;
527
+ };
528
+ const SbbNegativeMixin = (superClass) => {
529
+ class SbbNegativeElement extends superClass {
530
+ constructor() {
531
+ super(...arguments);
532
+ this.negative = false;
533
+ }
534
+ }
535
+ __decorateClass([
536
+ property({ reflect: true, type: Boolean })
537
+ ], SbbNegativeElement.prototype, "negative");
538
+ return SbbNegativeElement;
539
+ };
540
+ const SbbUpdateSchedulerMixin = (base) => {
541
+ class SbbUpdateSchedulerElement extends base {
542
+ constructor() {
543
+ super(...arguments);
544
+ this._updatePromise = Promise.resolve();
545
+ this._updateResolve = () => {
546
+ };
547
+ }
548
+ startUpdate() {
549
+ this._updatePromise = new Promise((r) => this._updateResolve = r);
550
+ }
551
+ completeUpdate() {
552
+ this._updateResolve();
553
+ }
554
+ async getUpdateComplete() {
555
+ const result = await super.getUpdateComplete();
556
+ await this._updatePromise;
557
+ return result;
558
+ }
559
+ }
560
+ return SbbUpdateSchedulerElement;
561
+ };
562
+ export {
563
+ SbbDisabledMixin,
564
+ SbbDisabledTabIndexActionMixin,
565
+ SbbFormAssociatedCheckboxMixin,
566
+ SbbFormAssociatedMixin,
567
+ SbbHydrationMixin,
568
+ SbbNamedSlotListMixin,
569
+ SbbNegativeMixin,
570
+ SbbRequiredMixin,
571
+ SbbUpdateSchedulerMixin
572
+ };
573
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWl4aW5zLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvZGlzYWJsZWQtbWl4aW4udHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvZm9ybS1hc3NvY2lhdGVkLW1peGluLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvbWl4aW5zL3JlcXVpcmVkLW1peGluLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvbWl4aW5zL2Zvcm0tYXNzb2NpYXRlZC1jaGVja2JveC1taXhpbi50cyIsIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL21peGlucy9oeWRyYXRpb24tbWl4aW4udHMiLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9taXhpbnMvbmFtZWQtc2xvdC1saXN0LW1peGluLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvbWl4aW5zL25lZ2F0aXZlLW1peGluLnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvbWl4aW5zL3VwZGF0ZS1zY2hlZHVsZXItbWl4aW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaXRFbGVtZW50LCBQcm9wZXJ0eVZhbHVlcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBBYnN0cmFjdENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJ1Y3Rvci5qcyc7XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIFNiYkRpc2FibGVkTWl4aW5UeXBlIHtcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbik7XG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGlzRGlzYWJsZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRW5oYW5jZSB5b3VyIGNvbXBvbmVudCB3aXRoIGEgZGlzYWJsZWQgcHJvcGVydHkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJEaXNhYmxlZE1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiRGlzYWJsZWRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYkRpc2FibGVkRWxlbWVudCBleHRlbmRzIHN1cGVyQ2xhc3MgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkRpc2FibGVkTWl4aW5UeXBlPiB7XG4gICAgLyoqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyBkaXNhYmxlZC4gKi9cbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gICAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgLy8gVG8gcHJvdmlkZSB0aGUgc2FtZSBiZWhhdmlvciBhcyB0aGUgbmF0aXZlIGRpc2FibGVkIHN0YXRlLFxuICAgICAgLy8gYW55IHZhbHVlIGlzIGNvbnZlcnRlZCB0byBhIGJvb2xlYW4uXG4gICAgICB0aGlzLl9kaXNhYmxlZCA9IEJvb2xlYW4odmFsdWUpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkIHx8IHRoaXMuaXNEaXNhYmxlZEV4dGVybmFsbHkoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFdpbGwgYmUgdXNlZCBhcyAnb3InIGNoZWNrIHRvIHRoZSBjdXJyZW50IGRpc2FibGVkIHN0YXRlLlxuICAgICAqIENhbiBlLmcuIGJlIHVzZWQgdG8gcmVhZCBkaXNhYmxlZCBzdGF0ZSBvZiBhIGdyb3VwLlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBpc0Rpc2FibGVkRXh0ZXJuYWxseSgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gU2JiRGlzYWJsZWRFbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJEaXNhYmxlZE1peGluVHlwZT4gJiBUO1xufTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkRpc2FibGVkVGFiSW5kZXhBY3Rpb25NaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIHN1cGVyQ2xhc3M6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkRpc2FibGVkTWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJEaXNhYmxlZFRhYkluZGV4QWN0aW9uXG4gICAgZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKHN1cGVyQ2xhc3MpXG4gICAgaW1wbGVtZW50cyBTYmJEaXNhYmxlZE1peGluVHlwZVxuICB7XG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgaWYgKCFjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBGSVhNRSBpZiB0YWJpbmRleCBpcyBub3QgbmVlZGVkIGluIGNvbWJpbmF0aW9uIHdpdGggYXJpYS1kaXNhYmxlZCxcbiAgICAgIC8vICB1c2UgdGhlIFNiYkRpc2FibGVkTWl4aW4gYW5kIGltcGxlbWVudCBhIGRpZmZlcmVudCB3aWxsVXBkYXRlIG1ldGhvZC5cbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdhcmlhLWRpc2FibGVkJywgJ3RydWUnKTtcbiAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1kaXNhYmxlZCcpO1xuICAgICAgICB0aGlzLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnMCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbiBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkRpc2FibGVkTWl4aW5UeXBlPiAmIFQ7XG59O1xuIiwiaW1wb3J0IHR5cGUgeyBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IuanMnO1xuXG5leHBvcnQgZGVjbGFyZSBhYnN0cmFjdCBjbGFzcyBTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZSB7XG4gIHB1YmxpYyBnZXQgZm9ybSgpOiBIVE1MRm9ybUVsZW1lbnQgfCBudWxsO1xuICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nO1xuICBwdWJsaWMgc2V0IG5hbWUodmFsdWU6IHN0cmluZyk7XG4gIHB1YmxpYyBnZXQgdHlwZSgpOiBzdHJpbmc7XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogc3RyaW5nIHwgbnVsbDtcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCk7XG5cbiAgcHVibGljIGdldCB2YWxpZGl0eSgpOiBWYWxpZGl0eVN0YXRlO1xuICBwdWJsaWMgZ2V0IHZhbGlkYXRpb25NZXNzYWdlKCk6IHN0cmluZztcbiAgcHVibGljIGdldCB3aWxsVmFsaWRhdGUoKTogYm9vbGVhbjtcblxuICBwcm90ZWN0ZWQgZm9ybURpc2FibGVkOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW50ZXJuYWxzOiBFbGVtZW50SW50ZXJuYWxzO1xuXG4gIHB1YmxpYyBjaGVja1ZhbGlkaXR5KCk6IGJvb2xlYW47XG4gIHB1YmxpYyByZXBvcnRWYWxpZGl0eSgpOiBib29sZWFuO1xuXG4gIHB1YmxpYyBmb3JtQXNzb2NpYXRlZENhbGxiYWNrPyhmb3JtOiBIVE1MRm9ybUVsZW1lbnQgfCBudWxsKTogdm9pZDtcbiAgcHVibGljIGZvcm1EaXNhYmxlZENhbGxiYWNrKGRpc2FibGVkOiBib29sZWFuKTogdm9pZDtcbiAgcHVibGljIGFic3RyYWN0IGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQ7XG4gIHB1YmxpYyBhYnN0cmFjdCBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgIHJlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24sXG4gICk6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIHVwZGF0ZUZvcm1WYWx1ZSgpOiB2b2lkO1xufVxuXG4vKipcbiAqIFRoZSBGb3JtQXNzb2NpYXRlZE1peGluIGVuYWJsZXMgbmF0aXZlIGZvcm0gc3VwcG9ydCBmb3IgY3VzdG9tIGNvbnRyb2xzLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiRm9ybUFzc29jaWF0ZWRNaXhpbiA9IDxUIGV4dGVuZHMgQ29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQ29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYkZvcm1Bc3NvY2lhdGVkRWxlbWVudFxuICAgIGV4dGVuZHMgc3VwZXJDbGFzc1xuICAgIGltcGxlbWVudHMgUGFydGlhbDxTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZT5cbiAge1xuICAgIHB1YmxpYyBzdGF0aWMgZm9ybUFzc29jaWF0ZWQgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgZm9ybSBvd25lciBvZiBpbnRlcm5hbHMgdGFyZ2V0IGVsZW1lbnQuXG4gICAgICovXG4gICAgcHVibGljIGdldCBmb3JtKCk6IEhUTUxGb3JtRWxlbWVudCB8IG51bGwge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLmZvcm07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgZm9ybSBlbGVtZW50LiBXaWxsIGJlIHJlYWQgZnJvbSBuYW1lIGF0dHJpYnV0ZS5cbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBEZXZlbG9wZXIgbm90ZTogSW4gdGhpcyBjYXNlIHVwZGF0aW5nIHRoZSBhdHRyaWJ1dGUgbXVzdCBiZSBzeW5jaHJvbm91cy5cbiAgICAgKiBEdWUgdG8gdGhpcyBpdCBpcyBpbXBsZW1lbnRlZCBhcyBhIGdldHRlci9zZXR0ZXIgYW5kIHRoZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soKSBoYW5kbGVzIHRoZSBkaWZmIGNoZWNrLlxuICAgICAqL1xuICAgIEBwcm9wZXJ0eSgpXG4gICAgcHVibGljIHNldCBuYW1lKG5hbWU6IHN0cmluZykge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ25hbWUnLCBgJHtuYW1lfWApO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnbmFtZScpID8/ICcnO1xuICAgIH1cblxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICBwdWJsaWMgZ2V0IHR5cGUoKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmxvY2FsTmFtZTtcbiAgICB9XG5cbiAgICAvKiogVmFsdWUgb2YgdGhlIGZvcm0gZWxlbWVudC4gKi9cbiAgICBAcHJvcGVydHkoKVxuICAgIHB1YmxpYyBzZXQgdmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cbiAgICBwcml2YXRlIF92YWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBWYWxpZGl0eVN0YXRlIG9iamVjdCBmb3IgaW50ZXJuYWxzIHRhcmdldCBlbGVtZW50LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGdldCB2YWxpZGl0eSgpOiBWYWxpZGl0eVN0YXRlIHtcbiAgICAgIHJldHVybiB0aGlzLmludGVybmFscy52YWxpZGl0eTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBlcnJvciBtZXNzYWdlIHRoYXQgd291bGQgYmUgc2hvd24gdG8gdGhlIHVzZXJcbiAgICAgKiBpZiBpbnRlcm5hbHMgdGFyZ2V0IGVsZW1lbnQgd2FzIHRvIGJlIGNoZWNrZWQgZm9yIHZhbGlkaXR5LlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGdldCB2YWxpZGF0aW9uTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLnZhbGlkYXRpb25NZXNzYWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdHJ1ZSBpZiBpbnRlcm5hbHMgdGFyZ2V0IGVsZW1lbnQgd2lsbCBiZSB2YWxpZGF0ZWRcbiAgICAgKiB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZDsgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgICAqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgcHVibGljIGdldCB3aWxsVmFsaWRhdGUoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbHMud2lsbFZhbGlkYXRlO1xuICAgIH1cblxuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW50ZXJuYWxzOiBFbGVtZW50SW50ZXJuYWxzID0gdGhpcy5hdHRhY2hJbnRlcm5hbHMoKTtcblxuICAgIC8qKiBXaGVuZXZlciBhIHN1cnJvdW5kaW5nIGZvcm0gb3IgZmllbGRzZXQgaXMgY2hhbmdpbmcgaXRzIGRpc2FibGVkIHN0YXRlLiAqL1xuICAgIEBzdGF0ZSgpIHByb3RlY3RlZCBmb3JtRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBvdmVycmlkZSBhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2soXG4gICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICBvbGQ6IHN0cmluZyB8IG51bGwsXG4gICAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgICApOiB2b2lkIHtcbiAgICAgIGlmIChuYW1lICE9PSAnbmFtZScgfHwgb2xkICE9PSB2YWx1ZSkge1xuICAgICAgICBzdXBlci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2sobmFtZSwgb2xkLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIGludGVybmFscyB0YXJnZXQgZWxlbWVudCBoYXMgbm8gdmFsaWRpdHkgcHJvYmxlbXM7IGZhbHNlIG90aGVyd2lzZS5cbiAgICAgKiBGaXJlcyBhbiBpbnZhbGlkIGV2ZW50IGF0IHRoZSBlbGVtZW50IGluIHRoZSBsYXR0ZXIgY2FzZS5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBjaGVja1ZhbGlkaXR5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxzLmNoZWNrVmFsaWRpdHkoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgaW50ZXJuYWxzIHRhcmdldCBlbGVtZW50IGhhcyBubyB2YWxpZGl0eSBwcm9ibGVtczsgb3RoZXJ3aXNlLFxuICAgICAqIHJldHVybnMgZmFsc2UsIGZpcmVzIGFuIGludmFsaWQgZXZlbnQgYXQgdGhlIGVsZW1lbnQsXG4gICAgICogYW5kIChpZiB0aGUgZXZlbnQgaXNuJ3QgY2FuY2VsZWQpIHJlcG9ydHMgdGhlIHByb2JsZW0gdG8gdGhlIHVzZXIuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVwb3J0VmFsaWRpdHkoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbHMucmVwb3J0VmFsaWRpdHkoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgd2hlbiB0aGUgYXNzb2NpYXRlZCBmb3JtIGVsZW1lbnQgY2hhbmdlcy5cbiAgICAgKiBFbGVtZW50SW50ZXJuYWxzLmZvcm0gcmV0dXJucyB0aGUgYXNzb2NpYXRlZCBmcm9tIGVsZW1lbnQuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgZm9ybUFzc29jaWF0ZWRDYWxsYmFjaz8oZm9ybTogSFRNTEZvcm1FbGVtZW50IHwgbnVsbCk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBJcyBjYWxsZWQgd2hlbmV2ZXIgYSBzdXJyb3VuZGluZyBmb3JtIC8gZmllbGRzZXQgY2hhbmdlcyBkaXNhYmxlZCBzdGF0ZS5cbiAgICAgKiBAcGFyYW0gZGlzYWJsZWRcbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBmb3JtRGlzYWJsZWRDYWxsYmFjayhkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgdGhpcy5mb3JtRGlzYWJsZWQgPSBkaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJcyBjYWxsZWQgd2hlbmV2ZXIgdGhlIGZvcm0gaXMgYmVpbmcgcmVzZXQuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgYWJzdHJhY3QgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZDtcblxuICAgIC8qKlxuICAgICAqICBDYWxsZWQgd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gcmVzdG9yZSBlbGVtZW504oCZcyBzdGF0ZSB0byBzdGF0ZSBpbiB3aGljaCBjYXNlXG4gICAgICogIHJlYXNvbiBpcyDigJxyZXN0b3Jl4oCdLCBvciB3aGVuIHRoZSBicm93c2VyIGlzIHRyeWluZyB0byBmdWxmaWxsIGF1dG9maWxsIG9uIGJlaGFsZiBvZlxuICAgICAqICB1c2VyIGluIHdoaWNoIGNhc2UgcmVhc29uIGlzIOKAnGF1dG9jb21wbGV0ZeKAnS5cbiAgICAgKiAgSW4gdGhlIGNhc2Ugb2Yg4oCccmVzdG9yZeKAnSwgc3RhdGUgaXMgYSBzdHJpbmcsIEZpbGUsIG9yIEZvcm1EYXRhIG9iamVjdFxuICAgICAqICBwcmV2aW91c2x5IHNldCBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHNldEZvcm1WYWx1ZS5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgICBzdGF0ZTogRm9ybVJlc3RvcmVTdGF0ZSB8IG51bGwsXG4gICAgICByZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICAgICk6IHZvaWQ7XG5cbiAgICAvKiogU2hvdWxkIGJlIGNhbGxlZCB3aGVuIGZvcm0gdmFsdWUgaXMgY2hhbmdlZC4gKi9cbiAgICBwcm90ZWN0ZWQgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc2V0Rm9ybVZhbHVlKHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gU2JiRm9ybUFzc29jaWF0ZWRFbGVtZW50IGFzIHVua25vd24gYXMgQ29uc3RydWN0b3I8U2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGU+ICYgVDtcbn07XG5cbi8qKlxuICogQSB2YWx1ZSB0byBiZSByZXN0b3JlZCBmb3IgYSBjb21wb25lbnQncyBmb3JtIHZhbHVlLiBJZiBhIGNvbXBvbmVudCdzIGZvcm1cbiAqIHN0YXRlIGlzIGEgYEZvcm1EYXRhYCBvYmplY3QsIGl0cyBlbnRyeSBsaXN0IG9mIG5hbWUgYW5kIHZhbHVlcyB3aWxsIGJlXG4gKiBwcm92aWRlZC5cbiAqL1xuZXhwb3J0IHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSA9IEZpbGUgfCBzdHJpbmcgfCBbc3RyaW5nLCBGb3JtRGF0YUVudHJ5VmFsdWVdW107XG5cbi8qKlxuICogVGhlIHJlYXNvbiBhIGZvcm0gY29tcG9uZW50IGlzIGJlaW5nIHJlc3RvcmVkIGZvciwgZWl0aGVyIGAncmVzdG9yZSdgIGZvclxuICogYnJvd3NlciByZXN0b3JhdGlvbiBvciBgJ2F1dG9jb21wbGV0ZSdgIGZvciByZXN0b3JpbmcgdXNlciB2YWx1ZXMuXG4gKi9cbmV4cG9ydCB0eXBlIEZvcm1SZXN0b3JlUmVhc29uID0gJ3Jlc3RvcmUnIHwgJ2F1dG9jb21wbGV0ZSc7XG4iLCJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQsIFByb3BlcnR5VmFsdWVzIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9yLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGUgfSBmcm9tICcuL2Zvcm0tYXNzb2NpYXRlZC1taXhpbi5qcyc7XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIFNiYlJlcXVpcmVkTWl4aW5UeXBlIHtcbiAgcHVibGljIHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbik7XG4gIHB1YmxpYyBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGlzUmVxdWlyZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRW5oYW5jZSB5b3VyIGNvbXBvbmVudCB3aXRoIGEgcmVxdWlyZWQgcHJvcGVydHkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJSZXF1aXJlZE1peGluID0gPFxuICBUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50ICYgU2JiRm9ybUFzc29jaWF0ZWRNaXhpblR5cGU+LFxuPihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiUmVxdWlyZWRNaXhpblR5cGU+ICYgVCA9PiB7XG4gIGFic3RyYWN0IGNsYXNzIFNiYlJlcXVpcmVkRWxlbWVudCBleHRlbmRzIHN1cGVyQ2xhc3MgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYlJlcXVpcmVkTWl4aW5UeXBlPiB7XG4gICAgLyoqIFdoZXRoZXIgdGhlIGNvbXBvbmVudCBpcyByZXF1aXJlZC4gKi9cbiAgICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gICAgcHVibGljIHNldCByZXF1aXJlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgLy8gVG8gcHJvdmlkZSB0aGUgc2FtZSBiZWhhdmlvciBhcyB0aGUgbmF0aXZlIHJlcXVpcmVkIHN0YXRlLFxuICAgICAgLy8gYW55IHZhbHVlIGlzIGNvbnZlcnRlZCB0byBhIGJvb2xlYW4uXG4gICAgICB0aGlzLl9yZXF1aXJlZCA9IEJvb2xlYW4odmFsdWUpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkIHx8IHRoaXMuaXNSZXF1aXJlZEV4dGVybmFsbHkoKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3JlcXVpcmVkJykpIHtcbiAgICAgICAgLy8gRmlyZWZveCBuZWVkcyBleHBsaWNpdGx5IHNldCBhcmlhLXJlcXVpcmVkIHZhbHVlLlxuICAgICAgICB0aGlzLmludGVybmFscy5hcmlhUmVxdWlyZWQgPSBgJHt0aGlzLnJlcXVpcmVkfWA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2lsbCBiZSB1c2VkIGFzICdvcicgY2hlY2sgdG8gdGhlIGN1cnJlbnQgcmVxdWlyZWQgc3RhdGUuXG4gICAgICogQ2FuIGUuZy4gYmUgdXNlZCB0byByZWFkIHJlcXVpcmVkIHN0YXRlIG9mIGEgZ3JvdXAuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGlzUmVxdWlyZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBTYmJSZXF1aXJlZEVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYlJlcXVpcmVkTWl4aW5UeXBlPiAmIFQ7XG59O1xuIiwiaW1wb3J0IHsgZGVmYXVsdENvbnZlcnRlciwgdHlwZSBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcHJldmVudFNjcm9sbE9uU3BhY2ViYXJQcmVzcyB9IGZyb20gJy4uL2V2ZW50aW5nLmpzJztcblxuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IuanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiwgdHlwZSBTYmJEaXNhYmxlZE1peGluVHlwZSB9IGZyb20gJy4vZGlzYWJsZWQtbWl4aW4uanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluLFxuICB0eXBlIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW5UeXBlLFxufSBmcm9tICcuL2Zvcm0tYXNzb2NpYXRlZC1taXhpbi5qcyc7XG5pbXBvcnQgeyBTYmJSZXF1aXJlZE1peGluLCB0eXBlIFNiYlJlcXVpcmVkTWl4aW5UeXBlIH0gZnJvbSAnLi9yZXF1aXJlZC1taXhpbi5qcyc7XG5cbnR5cGUgQ2hlY2tlZFNldHRlclZhbHVlID0geyB2YWx1ZTogYm9vbGVhbjsgYXR0cmlidXRlOiBib29sZWFuIH07XG5cbmV4cG9ydCBkZWNsYXJlIGFic3RyYWN0IGNsYXNzIFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hNaXhpblR5cGVcbiAgZXh0ZW5kcyBTYmJGb3JtQXNzb2NpYXRlZE1peGluVHlwZVxuICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiRGlzYWJsZWRNaXhpblR5cGU+LCBQYXJ0aWFsPFNiYlJlcXVpcmVkTWl4aW5UeXBlPlxue1xuICBwdWJsaWMgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbjtcbiAgcHVibGljIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKTtcblxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKTtcbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuO1xuXG4gIHB1YmxpYyBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pO1xuICBwdWJsaWMgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW47XG5cbiAgcHVibGljIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQ7XG4gIHB1YmxpYyBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLCByZWFzb246IEZvcm1SZXN0b3JlUmVhc29uKTogdm9pZDtcblxuICBwcm90ZWN0ZWQgaXNEaXNhYmxlZEV4dGVybmFsbHkoKTogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGlzUmVxdWlyZWRFeHRlcm5hbGx5KCk6IGJvb2xlYW47XG4gIHByb3RlY3RlZCB3aXRoVXNlckludGVyYWN0aW9uPygpOiB2b2lkO1xufVxuXG4vKipcbiAqIFRoZSBGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW4gZW5hYmxlcyBuYXRpdmUgZm9ybSBzdXBwb3J0IGZvciBjaGVja2JveCBjb250cm9scy5cbiAqXG4gKiBJbmhlcml0ZWQgY2xhc3NlcyBNVVNUIGltcGxlbWVudCB0aGUgYXJpYUNoZWNrZWQgc3RhdGUgKEVsZW1lbnRJbnRlcm5hbHMpIHRoZW1zZWx2ZXMuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW4gPSA8VCBleHRlbmRzIENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgc3VwZXJDbGFzczogVCxcbik6IENvbnN0cnVjdG9yPFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hNaXhpblR5cGU+ICYgVCA9PiB7XG4gIEBob3N0QXR0cmlidXRlcyh7XG4gICAgdGFiaW5kZXg6ICcwJyxcbiAgfSlcbiAgYWJzdHJhY3QgY2xhc3MgU2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveEVsZW1lbnRcbiAgICBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oU2JiUmVxdWlyZWRNaXhpbihTYmJGb3JtQXNzb2NpYXRlZE1peGluKHN1cGVyQ2xhc3MpKSlcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiRm9ybUFzc29jaWF0ZWRDaGVja2JveE1peGluVHlwZT5cbiAge1xuICAgIHByaXZhdGUgX2F0dHJpYnV0ZU11dGF0aW9uQmxvY2tlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGNoZWNrYm94IGlzIGNoZWNrZWQuICovXG4gICAgQHByb3BlcnR5KHtcbiAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICBjb252ZXJ0ZXI6IHtcbiAgICAgICAgLi4uZGVmYXVsdENvbnZlcnRlcixcbiAgICAgICAgLy8gV2UgbmVlZCB0byBwYXNzIGluZm9ybWF0aW9uIHRvIHRoZSBzZXR0ZXIgc28gdGhhdCB3ZSBrbm93IGl0IHdhcyBjYWxsZWQgYnkgYXR0cmlidXRlIGNoYW5nZS5cbiAgICAgICAgZnJvbUF0dHJpYnV0ZTogKHZhbHVlOiBzdHJpbmcgfCBudWxsLCB0eXBlPzogdW5rbm93bik6IENoZWNrZWRTZXR0ZXJWYWx1ZSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gZGVmYXVsdENvbnZlcnRlci5mcm9tQXR0cmlidXRlPy4odmFsdWUsIHR5cGUpO1xuICAgICAgICAgIHJldHVybiB7IHZhbHVlOiByZXN1bHQsIGF0dHJpYnV0ZTogdHJ1ZSB9IGFzIENoZWNrZWRTZXR0ZXJWYWx1ZTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSlcbiAgICBwdWJsaWMgc2V0IGNoZWNrZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZVNldHRlciA9XG4gICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgPyAodmFsdWUgYXMgdW5rbm93biBhcyBDaGVja2VkU2V0dGVyVmFsdWUpLmF0dHJpYnV0ZSA6IGZhbHNlO1xuICAgICAgaWYgKGF0dHJpYnV0ZVNldHRlcikge1xuICAgICAgICB2YWx1ZSA9ICh2YWx1ZSBhcyB1bmtub3duIGFzIENoZWNrZWRTZXR0ZXJWYWx1ZSkudmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEFzIHNvb24gYXMgbXV0YXRpb24gd2FzIGRvbmUgbm90IGJ5IHNldHRpbmcgYXR0cmlidXRlLFxuICAgICAgLy8gd2UgbmVlZCB0byBibG9jayBzeW5jaW5nIGF0dHJpYnV0ZS5cbiAgICAgIGlmICh0aGlzLmhhc1VwZGF0ZWQgJiYgIWF0dHJpYnV0ZVNldHRlcikge1xuICAgICAgICB0aGlzLl9hdHRyaWJ1dGVNdXRhdGlvbkJsb2NrZWQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgdGhpcy5fY2hlY2tlZCA9IEJvb2xlYW4odmFsdWUpO1xuICAgICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2NoZWNrZWQ7XG4gICAgfVxuICAgIHByaXZhdGUgX2NoZWNrZWQgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICAgIHN1cGVyKCk7XG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmludGVybmFscy5yb2xlID0gJ2NoZWNrYm94JztcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5faGFuZGxlVXNlckludGVyYWN0aW9uKTtcbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHByZXZlbnRTY3JvbGxPblNwYWNlYmFyUHJlc3MpO1xuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX2hhbmRsZUtleWJvYXJkSW50ZXJhY3Rpb24pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICAgIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLl9oYW5kbGVVc2VySW50ZXJhY3Rpb24pO1xuICAgICAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgcHJldmVudFNjcm9sbE9uU3BhY2ViYXJQcmVzcyk7XG4gICAgICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgdGhpcy5faGFuZGxlS2V5Ym9hcmRJbnRlcmFjdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhcbiAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgIG9sZDogc3RyaW5nIHwgbnVsbCxcbiAgICAgIHZhbHVlOiBzdHJpbmcgfCBudWxsLFxuICAgICk6IHZvaWQge1xuICAgICAgLy8gQXR0cmlidXRlIHNob3VsZCBub3QgYmUgaW50ZXJwcmV0ZWQgYWZ0ZXIgcHJvZ3JhbW1hdGljIG9yIG1hbnVhbCBzdGF0ZSBjaGFuZ2UuXG4gICAgICBpZiAobmFtZSAhPT0gJ2NoZWNrZWQnIHx8ICF0aGlzLl9hdHRyaWJ1dGVNdXRhdGlvbkJsb2NrZWQpIHtcbiAgICAgICAgc3VwZXIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKG5hbWUsIG9sZCwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElzIGNhbGxlZCB3aGVuZXZlciB0aGUgZm9ybSBpcyBiZWluZyByZXNldC5cbiAgICAgKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtUmVzZXRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHRoaXMuY2hlY2tlZCA9IHRoaXMuaGFzQXR0cmlidXRlKCdjaGVja2VkJyk7XG4gICAgICB0aGlzLl9hdHRyaWJ1dGVNdXRhdGlvbkJsb2NrZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQ2FsbGVkIHdoZW4gdGhlIGJyb3dzZXIgaXMgdHJ5aW5nIHRvIHJlc3RvcmUgZWxlbWVudOKAmXMgc3RhdGUgdG8gc3RhdGUgaW4gd2hpY2ggY2FzZVxuICAgICAqICByZWFzb24gaXMg4oCccmVzdG9yZeKAnSwgb3Igd2hlbiB0aGUgYnJvd3NlciBpcyB0cnlpbmcgdG8gZnVsZmlsbCBhdXRvZmlsbCBvbiBiZWhhbGYgb2ZcbiAgICAgKiAgdXNlciBpbiB3aGljaCBjYXNlIHJlYXNvbiBpcyDigJxhdXRvY29tcGxldGXigJ0uXG4gICAgICogIEluIHRoZSBjYXNlIG9mIOKAnHJlc3RvcmXigJ0sIHN0YXRlIGlzIGEgc3RyaW5nLCBGaWxlLCBvciBGb3JtRGF0YSBvYmplY3RcbiAgICAgKiAgcHJldmlvdXNseSBzZXQgYXMgdGhlIHNlY29uZCBhcmd1bWVudCB0byBzZXRGb3JtVmFsdWUuXG4gICAgICpcbiAgICAgKiBAaW50ZXJuYWxcbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgICAgX3JlYXNvbjogRm9ybVJlc3RvcmVSZWFzb24sXG4gICAgKTogdm9pZCB7XG4gICAgICBpZiAoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5jaGVja2VkID0gc3RhdGUgPT09ICd0cnVlJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRpdGlvbmFsIGxvZ2ljIHdoaWNoIGlzIGJlaW5nIGV4ZWN1dGVkIHdoZW4gdXNlclxuICAgICAqIGludGVyYWN0aW9uIGhhcHBlbnMgYW5kIHN0YXRlIGlzIG5vdCBkaXNhYmxlZC5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgd2l0aFVzZXJJbnRlcmFjdGlvbj8oKTogdm9pZDtcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVGb3JtVmFsdWUoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5jaGVja2VkKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnNldEZvcm1WYWx1ZSh0aGlzLnZhbHVlLCBgJHt0aGlzLmNoZWNrZWR9YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmludGVybmFscy5zZXRGb3JtVmFsdWUobnVsbCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0cmlnZ2VyZWQgb24ga2V5Ym9hcmQgdXNlciBpbnRlcmFjdGlvbiB3aXRoIGNoZWNrYm94LiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUtleWJvYXJkSW50ZXJhY3Rpb24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgICB0aGlzLl9oYW5kbGVVc2VySW50ZXJhY3Rpb24oKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLyoqIE1ldGhvZCB0cmlnZ2VyZWQgb24gdXNlciBpbnRlcmFjdGlvbiB3aXRoIGNoZWNrYm94LiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZVVzZXJJbnRlcmFjdGlvbiA9ICgpOiB2b2lkID0+IHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMud2l0aFVzZXJJbnRlcmFjdGlvbj8uKCk7XG4gICAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgICAgdGhpcy5fYXR0cmlidXRlTXV0YXRpb25CbG9ja2VkID0gdHJ1ZTtcblxuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgY29tcG9zZWQ6IHRydWUsIGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2RpZENoYW5nZScsIHsgYnViYmxlczogdHJ1ZSB9KSk7XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94RWxlbWVudCBhcyB1bmtub3duIGFzIENvbnN0cnVjdG9yPFNiYkZvcm1Bc3NvY2lhdGVkQ2hlY2tib3hNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiIsImltcG9ydCB7IGlzU2VydmVyLCB0eXBlIExpdEVsZW1lbnQsIHR5cGUgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBmb3J3YXJkRXZlbnRUb0hvc3QgfSBmcm9tICcuLi9ldmVudGluZy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IuanMnO1xuXG4vLyBEZWZpbmUgdGhlIGludGVyZmFjZSBmb3IgdGhlIG1peGluXG5leHBvcnQgZGVjbGFyZSBhYnN0cmFjdCBjbGFzcyBTYmJIeWRyYXRpb25NaXhpblR5cGUge1xuICAvKipcbiAgICogUmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBlbGVtZW50IGhhcyBjb21wbGV0ZWQgaHlkcmF0aW9uLlxuICAgKiBUaGUgUHJvbWlzZSB2YWx1ZSBpcyBhIGJvb2xlYW4gdGhhdCBpcyBgdHJ1ZWAgaWYgdGhlIGVsZW1lbnQgcmVxdWlyZWQgaHlkcmF0aW9uXG4gICAqIGFuZCBgZmFsc2VgIGlmIG5vdC5cbiAgICpcbiAgICogQHJldHVybiBBIHByb21pc2Ugb2YgYSBib29sZWFuIHRoYXQgcmVzb2x2ZXMgdG8gdHJ1ZSBvbmNlIHRoZSBoeWRyYXRpb24gY29tcGxldGVkLlxuICAgKi9cbiAgcHVibGljIGdldCBoeWRyYXRpb25Db21wbGV0ZSgpOiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgb25seSBpZiBEZWNsYXJhdGl2ZSBTaGFkb3cgRE9NIGlzIGRldGVjdGVkLCBkdXJpbmcgdGhlIGluaXRpYWxpemF0aW9uIHN0YWdlXG4gICAqIGJ1dCBiZWZvcmUgdGhlIGh5ZHJhdGlvbiBzdGFnZS5cbiAgICogV2hlbiB1c2luZyBzZXJ2ZXIgc2lkZSByZW5kZXJpbmcsIHRoaXMgaXMgY2FsbGVkIGluIHdpbGxVcGRhdGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVjb3ZlclNzclN0YXRlPygpOiB2b2lkO1xuXG4gIC8qKiBSZWFkcyBhbmQgcmVtb3ZlcyBhbiBhdHRyaWJ1dGUgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4gRWl0aGVyIHJldHVybnMgdGhlIGF0dHJpYnV0dGUgdmFsdWUgb3IgbnVsbC4gKi9cbiAgcHJvdGVjdGVkIGdldEFuZFJlbW92ZUF0dHJpYnV0ZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsO1xufVxuXG4vKipcbiAqIFRoZSBrZXkgZm9yIGdsb2JhbFRoaXMgbGl0IGh5ZHJhdGlvbiBmdW5jdGlvbi5cbiAqIElmIHRoaXMgaXMgZGVmaW5lZCwgdGhlbiBsaXQgaHlkcmF0aW9uIGlzIGVuYWJsZWQuXG4gKlxuICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vbGl0L2xpdC9ibG9iL21haW4vcGFja2FnZXMvbGFicy9zc3ItY2xpZW50L3NyYy9saXQtZWxlbWVudC1oeWRyYXRlLXN1cHBvcnQudHNcbiAqL1xuY29uc3QgbGl0RWxlbWVudEh5ZHJhdGVTdXBwb3J0ID0gJ2xpdEVsZW1lbnRIeWRyYXRlU3VwcG9ydCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIHNpbWlsYXIgY2hlY2sgYXMgaW4gY29yZS90ZXN0aW5nLCBidXQgd2Ugd2FudCB0byBhdm9pZCBhbiBpbXBvcnQgdG8gdGhhdCBtb2R1bGUgZnJvbVxuICogYSBwcm9kdWN0aW9uIG1vZHVsZS5cbiAqIFRPRE86IFNob3VsZCB0aGlzIGJlIHNvbHZlZCBpbiBhIGRpZmZlcmVudCB3YXkgb3IgcmVtb3ZlZCBpbiBhIHByb2R1Y3Rpb24gYnVpbGQ/XG4gKi9cbmNvbnN0IGh5ZHJhdGlvblN1cHByZXNzZWQgPSBpc1NlcnZlciB8fCAoZ2xvYmFsVGhpcyBhcyBhbnkpLnRlc3RHcm91cCA9PT0gJ3Nzci1ub24taHlkcmF0ZWQnO1xuXG4vKipcbiAqIFRoaXMgbWl4aW4gZXh0ZW5kcyBhIGJhc2UgY2xhc3Mgd2l0aCBmdW5jdGlvbmFsaXR5IHRvIGNoZWNrIGlmIGh5ZHJhdGlvbiBpcyBjb21wbGV0ZWQuXG4gKiBJdCBhbHNvIGRlbGF5cyBzbG90Y2hhbmdlIGV2ZW50cyB1bnRpbCBoeWRyYXRpb24gaXMgY29tcGxldGUuXG4gKlxuICogQHBhcmFtIGJhc2UgVGhlIGNsYXNzIHRvIGV4dGVuZC5cbiAqIEByZXR1cm5zIEEgY2xhc3MgZXh0ZW5kZWQgd2l0aCB0aGUgaHlkcmF0aW9uIGNoZWNrIGZ1bmN0aW9uYWxpdHkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmV4cG9ydCBjb25zdCBTYmJIeWRyYXRpb25NaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxMaXRFbGVtZW50Pj4oXG4gIGJhc2U6IFQsXG4pOiBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiSHlkcmF0aW9uTWl4aW5DbGFzcyBleHRlbmRzIGJhc2UgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkh5ZHJhdGlvbk1peGluVHlwZT4ge1xuICAgIHByaXZhdGUgX2h5ZHJhdGlvblJlcXVpcmVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfaHlkcmF0aW9uQ29tcGxldGUgPSBuZXcgUHJvbWlzZTxib29sZWFuPihcbiAgICAgIChyZXNvbHZlKSA9PiAodGhpcy5fcmVzb2x2ZUh5ZHJhdGlvbiA9IHJlc29sdmUpLFxuICAgICk7XG4gICAgcHJpdmF0ZSBfcmVzb2x2ZUh5ZHJhdGlvbiE6IChoeWRyYXRpb25SZXF1aXJlZDogYm9vbGVhbikgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZWxlbWVudCBoYXMgY29tcGxldGVkIGh5ZHJhdGlvbi5cbiAgICAgKiBUaGUgUHJvbWlzZSB2YWx1ZSBpcyBhIGJvb2xlYW4gdGhhdCBpcyBgdHJ1ZWAgaWYgdGhlIGVsZW1lbnQgcmVxdWlyZWQgaHlkcmF0aW9uXG4gICAgICogYW5kIGBmYWxzZWAgaWYgbm90LlxuICAgICAqXG4gICAgICogQHJldHVybiBBIHByb21pc2Ugb2YgYSBib29sZWFuIHRoYXQgcmVzb2x2ZXMgdG8gdHJ1ZSBvbmNlIHRoZSBoeWRyYXRpb24gY29tcGxldGVkLlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgaHlkcmF0aW9uQ29tcGxldGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICByZXR1cm4gdGhpcy5faHlkcmF0aW9uQ29tcGxldGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaGFuZGxlQmVmb3JlSHlkcmF0aW9uU2xvdGNoYW5nZSA9IChldmVudDogRXZlbnQpOiB2b2lkID0+IHtcbiAgICAgIGlmICghdGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTFNsb3RFbGVtZW50O1xuICAgICAgdGhpcy5oeWRyYXRpb25Db21wbGV0ZS50aGVuKCgpID0+IGZvcndhcmRFdmVudFRvSG9zdChldmVudCwgdGFyZ2V0KSk7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBjcmVhdGVSZW5kZXJSb290KCk6IEhUTUxFbGVtZW50IHwgRG9jdW1lbnRGcmFnbWVudCB7XG4gICAgICAvLyBDaGVjayB3aGV0aGVyIGh5ZHJhdGlvbiBpcyBuZWVkZWQgYnkgY2hlY2tpbmcgd2hldGhlciB0aGUgc2hhZG93IHJvb3RcbiAgICAgIC8vIGlzIGF2YWlsYWJsZSBiZWZvcmUgY3JlYXRlUmVuZGVyUm9vdCBpcyBjYWxsZWQuXG4gICAgICB0aGlzLl9oeWRyYXRpb25SZXF1aXJlZCA9XG4gICAgICAgICEhdGhpcy5zaGFkb3dSb290ICYmXG4gICAgICAgIGxpdEVsZW1lbnRIeWRyYXRlU3VwcG9ydCBpbiBnbG9iYWxUaGlzICYmXG4gICAgICAgIChpc1NlcnZlciB8fCAhaHlkcmF0aW9uU3VwcHJlc3NlZCk7XG4gICAgICBpZiAoIXRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMuX3Jlc29sdmVIeWRyYXRpb24oZmFsc2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc2xvdHMgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoJ3Nsb3QnKTtcbiAgICAgICAgaWYgKHNsb3RzPy5sZW5ndGgpIHtcbiAgICAgICAgICBzbG90cy5mb3JFYWNoKChzbG90KSA9PlxuICAgICAgICAgICAgc2xvdC5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgdGhpcy5faGFuZGxlQmVmb3JlSHlkcmF0aW9uU2xvdGNoYW5nZSwge1xuICAgICAgICAgICAgICBjYXB0dXJlOiB0cnVlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT5cbiAgICAgICAgICAgIHNsb3RzLmZvckVhY2goKHNsb3QpID0+XG4gICAgICAgICAgICAgIHNsb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHRoaXMuX2hhbmRsZUJlZm9yZUh5ZHJhdGlvblNsb3RjaGFuZ2UpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVjb3ZlclNzclN0YXRlPy4oKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdXBlci5jcmVhdGVSZW5kZXJSb290KCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICAgIHRoaXMucmVjb3ZlclNzclN0YXRlPy4oKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgICAgLy8gV2hlbiBoeWRyYXRpb24gaXMgbmVlZGVkLCB3ZSB3YWl0IHRoZSBoeWRyYXRpb24gcHJvY2VzcyB0byBmaW5pc2gsIHdoaWNoIGlzIHBhdGNoZWRcbiAgICAgIC8vIGludG8gdGhlIHVwZGF0ZSBtZXRob2Qgb2YgdGhlIExpdEVsZW1lbnQgYmFzZSBjbGFzcy5cbiAgICAgIHN1cGVyLnVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICAgIGlmICh0aGlzLl9oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgICB0aGlzLl9oeWRyYXRpb25SZXF1aXJlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9yZXNvbHZlSHlkcmF0aW9uKHRydWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhbGxlZCBvbmx5IGlmIERlY2xhcmF0aXZlIFNoYWRvdyBET00gaXMgZGV0ZWN0ZWQsIGR1cmluZyB0aGUgaW5pdGlhbGl6YXRpb24gc3RhZ2VcbiAgICAgKiBidXQgYmVmb3JlIHRoZSBoeWRyYXRpb24gc3RhZ2UuXG4gICAgICogV2hlbiB1c2luZyBzZXJ2ZXIgc2lkZSByZW5kZXJpbmcsIHRoaXMgaXMgY2FsbGVkIGluIHdpbGxVcGRhdGUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlY292ZXJTc3JTdGF0ZT8oKTogdm9pZDtcblxuICAgIC8qKiBSZWFkcyBhbmQgcmVtb3ZlcyBhbiBhdHRyaWJ1dGUgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4gRWl0aGVyIHJldHVybnMgdGhlIGF0dHJpYnV0dGUgdmFsdWUgb3IgbnVsbC4gKi9cbiAgICBwcm90ZWN0ZWQgZ2V0QW5kUmVtb3ZlQXR0cmlidXRlKG5hbWU6IHN0cmluZyk6IHN0cmluZyB8IG51bGwge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldEF0dHJpYnV0ZShuYW1lKTtcbiAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpO1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gU2JiSHlkcmF0aW9uTWl4aW5DbGFzcyBhcyB1bmtub3duIGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiSHlkcmF0aW9uTWl4aW5UeXBlPiAmIFQ7XG59O1xuIiwiaW1wb3J0IHsgaHRtbCwgdHlwZSBMaXRFbGVtZW50LCBub3RoaW5nLCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHN0YXRlIH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXRMb2NhbE5hbWUgfSBmcm9tICcuLi9kb20uanMnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9yLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluLCB0eXBlIFNiYkh5ZHJhdGlvbk1peGluVHlwZSB9IGZyb20gJy4vaHlkcmF0aW9uLW1peGluLmpzJztcblxuaW1wb3J0ICcuLi8uLi9zY3JlZW4tcmVhZGVyLW9ubHkuanMnO1xuXG5jb25zdCBTU1JfQ0hJTERfQ09VTlRfQVRUUklCVVRFID0gJ2RhdGEtc3NyLWNoaWxkLWNvdW50JztcbmNvbnN0IFNMT1ROQU1FX1BSRUZJWCA9ICdsaSc7XG5cbi8qKlxuICogSGVscGVyIHR5cGUgZm9yIHdpbGxVcGRhdGUgb3Igc2ltaWxhciBjaGVja3MuXG4gKiBBbGxvd3MgdGhlIHVzYWdlIG9mIHRoZSBzdHJpbmcgbGl0ZXJhbCAnbGlzdENoaWxkcmVuJy5cbiAqXG4gKiBAZXhhbXBsZVxuICogcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gKiAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2xpc3RDaGlsZHJlbicpKSB7XG4gKiAgICAgLi4uXG4gKiAgIH1cbiAqIH1cbiAqL1xuZXhwb3J0IHR5cGUgV2l0aExpc3RDaGlsZHJlbjxcbiAgVCBleHRlbmRzIFNiYk5hbWVkU2xvdExpc3RNaXhpblR5cGU8Qz4sXG4gIEMgZXh0ZW5kcyBIVE1MRWxlbWVudCA9IEhUTUxFbGVtZW50LFxuPiA9IFQgJiB7IGxpc3RDaGlsZHJlbjogQ1tdIH07XG5cbmV4cG9ydCBkZWNsYXJlIGFic3RyYWN0IGNsYXNzIFNiYk5hbWVkU2xvdExpc3RNaXhpblR5cGU8XG4gIEMgZXh0ZW5kcyBIVE1MRWxlbWVudCxcbj4gZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpblR5cGUge1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgbGlzdENoaWxkTG9jYWxOYW1lczogc3RyaW5nW107XG4gIEBzdGF0ZSgpIHByb3RlY3RlZCBsaXN0Q2hpbGRyZW46IENbXTtcbiAgcHJvdGVjdGVkIHJlbmRlckxpc3QoYXR0cmlidXRlcz86IHtcbiAgICBjbGFzcz86IHN0cmluZztcbiAgICBhcmlhTGFiZWw/OiBzdHJpbmc7XG4gICAgYXJpYUxhYmVsbGVkYnk/OiBzdHJpbmc7XG4gIH0pOiBUZW1wbGF0ZVJlc3VsdDtcbiAgcHJvdGVjdGVkIGxpc3RTbG90TmFtZXMoKTogc3RyaW5nW107XG4gIHByb3RlY3RlZCByZW5kZXJIaWRkZW5TbG90KCk6IFRlbXBsYXRlUmVzdWx0O1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG5leHBvcnQgY29uc3QgU2JiTmFtZWRTbG90TGlzdE1peGluID0gPFxuICBDIGV4dGVuZHMgSFRNTEVsZW1lbnQsXG4gIFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+LFxuPihcbiAgc3VwZXJDbGFzczogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiTmFtZWRTbG90TGlzdE1peGluVHlwZTxDPj4gJiBUID0+IHtcbiAgLyoqXG4gICAqIFRoaXMgYmFzZSBjbGFzcyBwcm92aWRlcyBuYW1lZCBzbG90IGxpc3Qgb2JzZXJ2ZXIgZnVuY3Rpb25hbGl0eS5cbiAgICogVGhpcyBhbGxvd3MgdXNpbmcgdGhlIHBhdHRlcm4gb2YgcmVuZGVyaW5nIGEgbmFtZWQgc2xvdCBmb3IgZWFjaCBjaGlsZCwgd2hpY2ggYWxsb3dzXG4gICAqIHdyYXBwaW5nIGNoaWxkcmVuIGluIGEgdWwvbGkgbGlzdC5cbiAgICovXG4gIGFic3RyYWN0IGNsYXNzIE5hbWVkU2xvdExpc3RFbGVtZW50PEMgZXh0ZW5kcyBIVE1MRWxlbWVudCA9IEhUTUxFbGVtZW50PlxuICAgIGV4dGVuZHMgU2JiSHlkcmF0aW9uTWl4aW4oc3VwZXJDbGFzcylcbiAgICBpbXBsZW1lbnRzIFBhcnRpYWw8U2JiTmFtZWRTbG90TGlzdE1peGluVHlwZTxDPj5cbiAge1xuICAgIC8qKiBBIGxpc3Qgb2YgdXBwZXItY2FzZWQgdGFnIG5hbWVzIHRvIG1hdGNoIGFnYWluc3QuIChlLmcuIFNCQi1MSU5LKSAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzOiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBjaGlsZHJlbiB3aXRoIHRoZSBkZWZpbmVkIHRhZyBuYW1lcy5cbiAgICAgKiBUaGlzIGFycmF5IGlzIG9ubHkgdXBkYXRlZCwgaWYgdGhlcmUgaXMgYW4gYWN0dWFsIGNoYW5nZVxuICAgICAqIHRvIHRoZSBjaGlsZCBlbGVtZW50cy5cbiAgICAgKi9cbiAgICBAc3RhdGUoKSBwcm90ZWN0ZWQgbGlzdENoaWxkcmVuOiBDW10gPSBbXTtcblxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgICB0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCB0aGlzLl9oYW5kbGVTbG90Y2hhbmdlLCB7IHBhc3NpdmU6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICAgIHRoaXMuc2hhZG93Um9vdD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHRoaXMuX2hhbmRsZVNsb3RjaGFuZ2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UgPSAoKTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBsaXN0Q2hpbGRyZW4gPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4gPz8gW10pLmZpbHRlcigoZSk6IGUgaXMgQyA9PlxuICAgICAgICB0aGlzLmxpc3RDaGlsZExvY2FsTmFtZXMuaW5jbHVkZXMoZS5sb2NhbE5hbWUpLFxuICAgICAgKTtcbiAgICAgIC8vIElmIHRoZSBzbG90dGVkIGNoaWxkIGluc3RhbmNlcyBoYXZlIG5vdCBjaGFuZ2VkLCB3ZSBjYW4gc2tpcCBzeW5jaW5nIGFuZCB1cGRhdGluZ1xuICAgICAgLy8gdGhlIGxpbmsgcmVmZXJlbmNlIGxpc3QuXG4gICAgICBpZiAoXG4gICAgICAgIGxpc3RDaGlsZHJlbi5sZW5ndGggPT09IHRoaXMubGlzdENoaWxkcmVuLmxlbmd0aCAmJlxuICAgICAgICB0aGlzLmxpc3RDaGlsZHJlbi5ldmVyeSgoZSwgaSkgPT4gbGlzdENoaWxkcmVuW2ldID09PSBlKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5saXN0Q2hpbGRyZW5cbiAgICAgICAgLmZpbHRlcigoYykgPT4gIWxpc3RDaGlsZHJlbi5pbmNsdWRlcyhjKSlcbiAgICAgICAgLmZvckVhY2goKGMpID0+IGMucmVtb3ZlQXR0cmlidXRlKCdzbG90JykpO1xuICAgICAgdGhpcy5saXN0Q2hpbGRyZW4gPSBsaXN0Q2hpbGRyZW47XG4gICAgICB0aGlzLmxpc3RDaGlsZHJlbi5mb3JFYWNoKChjLCBpbmRleCkgPT5cbiAgICAgICAgYy5zZXRBdHRyaWJ1dGUoJ3Nsb3QnLCBgJHtTTE9UTkFNRV9QUkVGSVh9LSR7aW5kZXh9YCksXG4gICAgICApO1xuXG4gICAgICAvLyBSZW1vdmUgdGhlIHNzciBhdHRyaWJ1dGUsIG9uY2Ugd2UgaGF2ZSBhY3R1YWxseSBpbml0aWFsaXplZCB0aGUgY2hpbGRyZW4gZWxlbWVudHMuXG4gICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZShTU1JfQ0hJTERfQ09VTlRfQVRUUklCVVRFKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUmVuZGVycyBsaXN0IGFuZCBsaXN0IHNsb3RzIGZvciBzbG90dGVkIGNoaWxkcmVuIG9yIGFuIGFtb3VudCBvZiBsaXN0IHNsb3RzXG4gICAgICogY29ycmVzcG9uZGluZyB0byB0aGUgYGRhdGEtc3NyLWNoaWxkLWNvdW50YCBhdHRyaWJ1dGUgdmFsdWUuXG4gICAgICpcbiAgICAgKiBUaGlzIGlzIGEgcG9zc2libGUgb3B0aW1pemF0aW9uIGZvciBTU1IsIGFzIGluIGFuIFNTUiBMaXQgZW52aXJvbm1lbnRcbiAgICAgKiBvdGhlciBlbGVtZW50cyBhcmUgbm90IGF2YWlsYWJsZSwgYnV0IG1pZ2h0IGJlIGF2YWlsYWJsZSBpbiB0aGUgbWV0YVxuICAgICAqIGZyYW1ld29yayB3cmFwcGVyIChsaWtlIGUuZy4gUmVhY3QpLiBUaGlzIGFsbG93cyB0byBwcm92aWRlIHRoZSBhbW91bnQgb2ZcbiAgICAgKiBjaGlsZHJlbiB0byBiZSBwYXNzZWQgdmlhIHRoZSBgZGF0YS1zc3ItY2hpbGQtY291bnRgIGF0dHJpYnV0ZSB2YWx1ZS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgcmVuZGVyTGlzdChcbiAgICAgIGF0dHJpYnV0ZXM6IHsgY2xhc3M/OiBzdHJpbmc7IGFyaWFMYWJlbD86IHN0cmluZzsgYXJpYUxhYmVsbGVkYnk/OiBzdHJpbmcgfSA9IHt9LFxuICAgICk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICAgIGNvbnN0IGxpc3RTbG90TmFtZXMgPSB0aGlzLmxpc3RTbG90TmFtZXMoKTtcblxuICAgICAgaWYgKGxpc3RTbG90TmFtZXMubGVuZ3RoID49IDIpIHtcbiAgICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgICAgPHVsXG4gICAgICAgICAgICBjbGFzcz0ke2F0dHJpYnV0ZXMuY2xhc3MgfHwgKHRoaXMubG9jYWxOYW1lID8/IGdldExvY2FsTmFtZSh0aGlzKSl9XG4gICAgICAgICAgICBhcmlhLWxhYmVsPSR7YXR0cmlidXRlcy5hcmlhTGFiZWwgfHwgbm90aGluZ31cbiAgICAgICAgICAgIGFyaWEtbGFiZWxsZWRieT0ke2F0dHJpYnV0ZXMuYXJpYUxhYmVsbGVkYnkgfHwgbm90aGluZ31cbiAgICAgICAgICA+XG4gICAgICAgICAgICAke2xpc3RTbG90TmFtZXMubWFwKChuYW1lKSA9PiBodG1sYDxsaT48c2xvdCBuYW1lPSR7bmFtZX0+PC9zbG90PjwvbGk+YCl9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgICAke3RoaXMucmVuZGVySGlkZGVuU2xvdCgpfVxuICAgICAgICBgO1xuICAgICAgfSBlbHNlIGlmIChsaXN0U2xvdE5hbWVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICByZXR1cm4gaHRtbGA8c2JiLXNjcmVlbi1yZWFkZXItb25seT4ke2F0dHJpYnV0ZXMuYXJpYUxhYmVsfTwvc2JiLXNjcmVlbi1yZWFkZXItb25seT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz0ke2F0dHJpYnV0ZXMuY2xhc3MgfHwgKHRoaXMubG9jYWxOYW1lID8/IGdldExvY2FsTmFtZSh0aGlzKSl9PlxuICAgICAgICAgICAgPHNwYW4+PHNsb3QgbmFtZT0ke2xpc3RTbG90TmFtZXNbMF19Pjwvc2xvdD48L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICR7dGhpcy5yZW5kZXJIaWRkZW5TbG90KCl9IGA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5yZW5kZXJIaWRkZW5TbG90KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbiBhcnJheSBvZiBsaXN0IHNsb3QgbmFtZXMgd2l0aCB0aGUgbGVuZ3RoIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGFtb3VudCBvZiBtYXRjaGVkXG4gICAgICogY2hpbGRyZW4gb3IgdGhlIGBkYXRhLXNzci1jaGlsZC1jb3VudGAgYXR0cmlidXRlIHZhbHVlLlxuICAgICAqXG4gICAgICogVGhpcyBpcyBhIHBvc3NpYmxlIG9wdGltaXphdGlvbiBmb3IgU1NSLCBhcyBpbiBhbiBTU1IgTGl0IGVudmlyb25tZW50XG4gICAgICogb3RoZXIgZWxlbWVudHMgYXJlIG5vdCBhdmFpbGFibGUsIGJ1dCBtaWdodCBiZSBhdmFpbGFibGUgaW4gdGhlIG1ldGFcbiAgICAgKiBmcmFtZXdvcmsgd3JhcHBlciAobGlrZSBlLmcuIFJlYWN0KS4gVGhpcyBhbGxvd3MgdG8gcHJvdmlkZSB0aGUgYW1vdW50IG9mXG4gICAgICogY2hpbGRyZW4gdG8gYmUgcGFzc2VkIHZpYSB0aGUgYGRhdGEtc3NyLWNoaWxkLWNvdW50YCBhdHRyaWJ1dGUgdmFsdWUuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGxpc3RTbG90TmFtZXMoKTogc3RyaW5nW10ge1xuICAgICAgY29uc3QgbGlzdENoaWxkcmVuID0gdGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoXG4gICAgICAgID8gdGhpcy5saXN0Q2hpbGRyZW5cbiAgICAgICAgOiBBcnJheS5mcm9tKHsgbGVuZ3RoOiArKHRoaXMuZ2V0QXR0cmlidXRlKFNTUl9DSElMRF9DT1VOVF9BVFRSSUJVVEUpID8/IDApIH0pO1xuICAgICAgcmV0dXJuIGxpc3RDaGlsZHJlbi5tYXAoKF8sIGkpID0+IGAke1NMT1ROQU1FX1BSRUZJWH0tJHtpfWApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBoaWRkZW4gc2xvdCwgd2hpY2ggaXMgaW50ZW5kZWQgYXMgdGhlIGNoaWxkcmVuIGNoYW5nZSBkZXRlY3Rpb24uXG4gICAgICogV2hlbiBhbiBlbGVtZW50IHdpdGhvdXQgYSBzbG90IGF0dHJpYnV0ZSBpcyBzbG90dGVkIHRvIHRoZSBlbGVtZW50LCBpdCB0cmlnZ2Vyc1xuICAgICAqIHRoZSBzbG90Y2hhbmdlIGV2ZW50LCB3aGljaCBjYW4gYmUgdXNlZCB0byBhc3NpZ24gaXQgdG8gdGhlIGFwcHJvcHJpYXRlIG5hbWVkIHNsb3QuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIHJlbmRlckhpZGRlblNsb3QoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgcmV0dXJuIGh0bWxgPHNwYW4gaGlkZGVuPjxzbG90Pjwvc2xvdD48L3NwYW4+YDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gTmFtZWRTbG90TGlzdEVsZW1lbnQgYXMgdW5rbm93biBhcyBBYnN0cmFjdENvbnN0cnVjdG9yPFNiYk5hbWVkU2xvdExpc3RNaXhpblR5cGU8Qz4+ICYgVDtcbn07XG4iLCJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3IuanMnO1xuXG5leHBvcnQgZGVjbGFyZSBjbGFzcyBTYmJOZWdhdGl2ZU1peGluVHlwZSB7XG4gIHB1YmxpYyBuZWdhdGl2ZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBFbmhhbmNlIHlvdXIgY29tcG9uZW50IHdpdGggYSBuZWdhdGl2ZSBwcm9wZXJ0eS5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYk5lZ2F0aXZlTWl4aW4gPSA8VCBleHRlbmRzIEFic3RyYWN0Q29uc3RydWN0b3I8TGl0RWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJOZWdhdGl2ZU1peGluVHlwZT4gJiBUID0+IHtcbiAgYWJzdHJhY3QgY2xhc3MgU2JiTmVnYXRpdmVFbGVtZW50IGV4dGVuZHMgc3VwZXJDbGFzcyBpbXBsZW1lbnRzIFNiYk5lZ2F0aXZlTWl4aW5UeXBlIHtcbiAgICAvKiogTmVnYXRpdmUgY29sb3JpbmcgdmFyaWFudCBmbGFnLiAqL1xuICAgIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUsIHR5cGU6IEJvb2xlYW4gfSkgcHVibGljIG5lZ2F0aXZlOiBib29sZWFuID0gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gU2JiTmVnYXRpdmVFbGVtZW50IGFzIEFic3RyYWN0Q29uc3RydWN0b3I8U2JiTmVnYXRpdmVNaXhpblR5cGU+ICYgVDtcbn07XG4iLCJpbXBvcnQgdHlwZSB7IExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9yLmpzJztcblxuLy8gRGVmaW5lIHRoZSBpbnRlcmZhY2UgZm9yIHRoZSBtaXhpblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgU2JiVXBkYXRlU2NoZWR1bGVyTWl4aW5UeXBlIHtcbiAgcHJvdGVjdGVkIHN0YXJ0VXBkYXRlKCk6IHZvaWQ7XG4gIHByb3RlY3RlZCBjb21wbGV0ZVVwZGF0ZSgpOiB2b2lkO1xufVxuXG4vKipcbiAqIFRoaXMgbWl4aW4gYWxsb3dzIHNjaGVkdWxpbmcgbWFudWFsIHVwZGF0ZXMsIHdoaWNoIGFmZmVjdCB1cGRhdGVDb21wbGV0ZS5cbiAqIEBwYXJhbSBiYXNlIFRoZSBjbGFzcyB0byBleHRlbmQuXG4gKiBAcmV0dXJucyBBIGNsYXNzIGV4dGVuZGVkIHdpdGggdGhlIHNsb3QgY2hpbGQgb2JzZXJ2ZXIgZnVuY3Rpb25hbGl0eS5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYlVwZGF0ZVNjaGVkdWxlck1peGluID0gPFQgZXh0ZW5kcyBBYnN0cmFjdENvbnN0cnVjdG9yPExpdEVsZW1lbnQ+PihcbiAgYmFzZTogVCxcbik6IEFic3RyYWN0Q29uc3RydWN0b3I8U2JiVXBkYXRlU2NoZWR1bGVyTWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJVcGRhdGVTY2hlZHVsZXJFbGVtZW50XG4gICAgZXh0ZW5kcyBiYXNlXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYlVwZGF0ZVNjaGVkdWxlck1peGluVHlwZT5cbiAge1xuICAgIHByaXZhdGUgX3VwZGF0ZVByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoKTtcbiAgICBwcml2YXRlIF91cGRhdGVSZXNvbHZlID0gKCk6IHZvaWQgPT4ge307XG5cbiAgICBwcm90ZWN0ZWQgc3RhcnRVcGRhdGUoKTogdm9pZCB7XG4gICAgICB0aGlzLl91cGRhdGVQcm9taXNlID0gbmV3IFByb21pc2U8dm9pZD4oKHIpID0+ICh0aGlzLl91cGRhdGVSZXNvbHZlID0gcikpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjb21wbGV0ZVVwZGF0ZSgpOiB2b2lkIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVJlc29sdmUoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgYXN5bmMgZ2V0VXBkYXRlQ29tcGxldGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBzdXBlci5nZXRVcGRhdGVDb21wbGV0ZSgpO1xuICAgICAgYXdhaXQgdGhpcy5fdXBkYXRlUHJvbWlzZTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICB9XG4gIHJldHVybiBTYmJVcGRhdGVTY2hlZHVsZXJFbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJVcGRhdGVTY2hlZHVsZXJNaXhpblR5cGU+ICZcbiAgICBUO1xufTtcbiJdLCJuYW1lcyI6WyJfX2RlY29yYXRlQ2xhc3MiLCJzdGF0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlYSxNQUFBLG1CQUFtQixDQUM5QixlQUNrRDtBQUFBLEVBQ2xELE1BQWUsMkJBQTJCLFdBQW9EO0FBQUEsSUFBOUYsY0FBQTtBQUFBLFlBQUEsR0FBQSxTQUFBO0FBV0UsV0FBUSxZQUFxQjtBQUFBLElBQUE7QUFBQSxJQVI3QixJQUFXLFNBQVMsT0FBZ0I7QUFHN0IsV0FBQSxZQUFZLFFBQVEsS0FBSztBQUFBLElBQ2hDO0FBQUEsSUFDQSxJQUFXLFdBQW9CO0FBQ3RCLGFBQUEsS0FBSyxhQUFhLEtBQUsscUJBQXFCO0FBQUEsSUFDckQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBT1UsdUJBQWdDO0FBQ2pDLGFBQUE7QUFBQSxJQUNUO0FBQUEsRUFDRjtBQWpCYUEsb0JBQUE7QUFBQSxJQURWLFNBQVMsRUFBRSxTQUFTLE1BQU0sTUFBTSxTQUFTO0FBQUEsRUFBQSxHQUY3QixtQkFHRixXQUFBLFVBQUE7QUFtQk4sU0FBQTtBQUNUO0FBR2EsTUFBQSxpQ0FBaUMsQ0FDNUMsZUFDa0Q7QUFBQSxFQUNsRCxNQUFlLGtDQUNMLGlCQUFpQixVQUFVLEVBRXJDO0FBQUEsSUFDcUIsV0FBVyxtQkFBK0M7QUFDM0UsWUFBTSxXQUFXLGlCQUFpQjtBQUVsQyxVQUFJLENBQUMsa0JBQWtCLElBQUksVUFBVSxHQUFHO0FBQ3RDO0FBQUEsTUFDRjtBQUlBLFVBQUksS0FBSyxVQUFVO0FBQ1osYUFBQSxhQUFhLGlCQUFpQixNQUFNO0FBQ3pDLGFBQUssZ0JBQWdCLFVBQVU7QUFBQSxN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