@sbb-esta/lyne-elements 0.0.0 → 0.52.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1752) 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 +151 -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 +233 -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 +254 -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 +126 -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-image-ready.d.ts +4 -0
  385. package/core/testing/wait-for-image-ready.d.ts.map +1 -0
  386. package/core/testing/wait-for-render.d.ts +18 -0
  387. package/core/testing/wait-for-render.d.ts.map +1 -0
  388. package/core/testing.d.ts +7 -0
  389. package/core/testing.d.ts.map +1 -0
  390. package/core/testing.js +73 -0
  391. package/core.css +1280 -0
  392. package/custom-elements.json +51489 -0
  393. package/datepicker/common/datepicker-button.d.ts +38 -0
  394. package/datepicker/common/datepicker-button.d.ts.map +1 -0
  395. package/datepicker/common.d.ts +2 -0
  396. package/datepicker/common.d.ts.map +1 -0
  397. package/datepicker/common.js +122 -0
  398. package/datepicker/datepicker/datepicker.d.ts +145 -0
  399. package/datepicker/datepicker/datepicker.d.ts.map +1 -0
  400. package/datepicker/datepicker-next-day/datepicker-next-day.d.ts +21 -0
  401. package/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -0
  402. package/datepicker/datepicker-next-day.d.ts +2 -0
  403. package/datepicker/datepicker-next-day.d.ts.map +1 -0
  404. package/datepicker/datepicker-next-day.js +31 -0
  405. package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +21 -0
  406. package/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -0
  407. package/datepicker/datepicker-previous-day.d.ts +2 -0
  408. package/datepicker/datepicker-previous-day.d.ts.map +1 -0
  409. package/datepicker/datepicker-previous-day.js +31 -0
  410. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +44 -0
  411. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -0
  412. package/datepicker/datepicker-toggle.d.ts +2 -0
  413. package/datepicker/datepicker-toggle.d.ts.map +1 -0
  414. package/datepicker/datepicker-toggle.js +147 -0
  415. package/datepicker/datepicker.d.ts +2 -0
  416. package/datepicker/datepicker.d.ts.map +1 -0
  417. package/datepicker/datepicker.js +261 -0
  418. package/datepicker.d.ts +6 -0
  419. package/datepicker.d.ts.map +1 -0
  420. package/datepicker.js +5 -0
  421. package/development/accordion/accordion.d.ts +41 -0
  422. package/development/accordion/accordion.d.ts.map +1 -0
  423. package/development/accordion.d.ts +2 -0
  424. package/development/accordion.d.ts.map +1 -0
  425. package/development/accordion.js +134 -0
  426. package/development/action-group/action-group.d.ts +45 -0
  427. package/development/action-group/action-group.d.ts.map +1 -0
  428. package/development/action-group.d.ts +2 -0
  429. package/development/action-group.d.ts.map +1 -0
  430. package/development/action-group.js +342 -0
  431. package/development/alert/alert/alert.d.ts +76 -0
  432. package/development/alert/alert/alert.d.ts.map +1 -0
  433. package/development/alert/alert-group/alert-group.d.ts +48 -0
  434. package/development/alert/alert-group/alert-group.d.ts.map +1 -0
  435. package/development/alert/alert-group.d.ts +2 -0
  436. package/development/alert/alert-group.d.ts.map +1 -0
  437. package/development/alert/alert-group.js +143 -0
  438. package/development/alert/alert.d.ts +2 -0
  439. package/development/alert/alert.d.ts.map +1 -0
  440. package/development/alert/alert.js +341 -0
  441. package/development/alert.d.ts +3 -0
  442. package/development/alert.d.ts.map +1 -0
  443. package/development/alert.js +3 -0
  444. package/development/autocomplete/autocomplete.d.ts +108 -0
  445. package/development/autocomplete/autocomplete.d.ts.map +1 -0
  446. package/development/autocomplete.d.ts +2 -0
  447. package/development/autocomplete.d.ts.map +1 -0
  448. package/development/autocomplete.js +719 -0
  449. package/development/breadcrumb/breadcrumb/breadcrumb.d.ts +23 -0
  450. package/development/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -0
  451. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts +50 -0
  452. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -0
  453. package/development/breadcrumb/breadcrumb-group.d.ts +2 -0
  454. package/development/breadcrumb/breadcrumb-group.d.ts.map +1 -0
  455. package/development/breadcrumb/breadcrumb-group.js +298 -0
  456. package/development/breadcrumb/breadcrumb.d.ts +2 -0
  457. package/development/breadcrumb/breadcrumb.d.ts.map +1 -0
  458. package/development/breadcrumb/breadcrumb.js +128 -0
  459. package/development/breadcrumb.d.ts +3 -0
  460. package/development/breadcrumb.d.ts.map +1 -0
  461. package/development/breadcrumb.js +3 -0
  462. package/development/button/button/button.d.ts +20 -0
  463. package/development/button/button/button.d.ts.map +1 -0
  464. package/development/button/button-link/button-link.d.ts +20 -0
  465. package/development/button/button-link/button-link.d.ts.map +1 -0
  466. package/development/button/button-link.d.ts +2 -0
  467. package/development/button/button-link.d.ts.map +1 -0
  468. package/development/button/button-link.js +26 -0
  469. package/development/button/button-static/button-static.d.ts +20 -0
  470. package/development/button/button-static/button-static.d.ts.map +1 -0
  471. package/development/button/button-static.d.ts +2 -0
  472. package/development/button/button-static.d.ts.map +1 -0
  473. package/development/button/button-static.js +26 -0
  474. package/development/button/button.d.ts +2 -0
  475. package/development/button/button.d.ts.map +1 -0
  476. package/development/button/button.js +26 -0
  477. package/development/button/common/button-common.d.ts +14 -0
  478. package/development/button/common/button-common.d.ts.map +1 -0
  479. package/development/button/common.d.ts +2 -0
  480. package/development/button/common.d.ts.map +1 -0
  481. package/development/button/common.js +379 -0
  482. package/development/button/mini-button/mini-button.d.ts +22 -0
  483. package/development/button/mini-button/mini-button.d.ts.map +1 -0
  484. package/development/button/mini-button.d.ts +2 -0
  485. package/development/button/mini-button.d.ts.map +1 -0
  486. package/development/button/mini-button.js +193 -0
  487. package/development/button/secondary-button/secondary-button.d.ts +20 -0
  488. package/development/button/secondary-button/secondary-button.d.ts.map +1 -0
  489. package/development/button/secondary-button-link/secondary-button-link.d.ts +20 -0
  490. package/development/button/secondary-button-link/secondary-button-link.d.ts.map +1 -0
  491. package/development/button/secondary-button-link.d.ts +2 -0
  492. package/development/button/secondary-button-link.d.ts.map +1 -0
  493. package/development/button/secondary-button-link.js +26 -0
  494. package/development/button/secondary-button-static/secondary-button-static.d.ts +20 -0
  495. package/development/button/secondary-button-static/secondary-button-static.d.ts.map +1 -0
  496. package/development/button/secondary-button-static.d.ts +2 -0
  497. package/development/button/secondary-button-static.d.ts.map +1 -0
  498. package/development/button/secondary-button-static.js +26 -0
  499. package/development/button/secondary-button.d.ts +2 -0
  500. package/development/button/secondary-button.d.ts.map +1 -0
  501. package/development/button/secondary-button.js +26 -0
  502. package/development/button/tertiary-button/tertiary-button.d.ts +20 -0
  503. package/development/button/tertiary-button/tertiary-button.d.ts.map +1 -0
  504. package/development/button/tertiary-button-link/tertiary-button-link.d.ts +20 -0
  505. package/development/button/tertiary-button-link/tertiary-button-link.d.ts.map +1 -0
  506. package/development/button/tertiary-button-link.d.ts +2 -0
  507. package/development/button/tertiary-button-link.d.ts.map +1 -0
  508. package/development/button/tertiary-button-link.js +26 -0
  509. package/development/button/tertiary-button-static/tertiary-button-static.d.ts +20 -0
  510. package/development/button/tertiary-button-static/tertiary-button-static.d.ts.map +1 -0
  511. package/development/button/tertiary-button-static.d.ts +2 -0
  512. package/development/button/tertiary-button-static.d.ts.map +1 -0
  513. package/development/button/tertiary-button-static.js +26 -0
  514. package/development/button/tertiary-button.d.ts +2 -0
  515. package/development/button/tertiary-button.d.ts.map +1 -0
  516. package/development/button/tertiary-button.js +26 -0
  517. package/development/button/transparent-button/transparent-button.d.ts +20 -0
  518. package/development/button/transparent-button/transparent-button.d.ts.map +1 -0
  519. package/development/button/transparent-button-link/transparent-button-link.d.ts +20 -0
  520. package/development/button/transparent-button-link/transparent-button-link.d.ts.map +1 -0
  521. package/development/button/transparent-button-link.d.ts +2 -0
  522. package/development/button/transparent-button-link.d.ts.map +1 -0
  523. package/development/button/transparent-button-link.js +26 -0
  524. package/development/button/transparent-button-static/transparent-button-static.d.ts +20 -0
  525. package/development/button/transparent-button-static/transparent-button-static.d.ts.map +1 -0
  526. package/development/button/transparent-button-static.d.ts +2 -0
  527. package/development/button/transparent-button-static.d.ts.map +1 -0
  528. package/development/button/transparent-button-static.js +26 -0
  529. package/development/button/transparent-button.d.ts +2 -0
  530. package/development/button/transparent-button.d.ts.map +1 -0
  531. package/development/button/transparent-button.js +26 -0
  532. package/development/button.d.ts +15 -0
  533. package/development/button.d.ts.map +1 -0
  534. package/development/button.js +15 -0
  535. package/development/calendar/calendar.d.ts +216 -0
  536. package/development/calendar/calendar.d.ts.map +1 -0
  537. package/development/calendar.d.ts +2 -0
  538. package/development/calendar.d.ts.map +1 -0
  539. package/development/calendar.js +1318 -0
  540. package/development/card/card/card.d.ts +29 -0
  541. package/development/card/card/card.d.ts.map +1 -0
  542. package/development/card/card-badge/card-badge.d.ts +23 -0
  543. package/development/card/card-badge/card-badge.d.ts.map +1 -0
  544. package/development/card/card-badge.d.ts +2 -0
  545. package/development/card/card-badge.d.ts.map +1 -0
  546. package/development/card/card-badge.js +165 -0
  547. package/development/card/card-button/card-button.d.ts +19 -0
  548. package/development/card/card-button/card-button.d.ts.map +1 -0
  549. package/development/card/card-button.d.ts +2 -0
  550. package/development/card/card-button.d.ts.map +1 -0
  551. package/development/card/card-button.js +26 -0
  552. package/development/card/card-link/card-link.d.ts +19 -0
  553. package/development/card/card-link/card-link.d.ts.map +1 -0
  554. package/development/card/card-link.d.ts +2 -0
  555. package/development/card/card-link.d.ts.map +1 -0
  556. package/development/card/card-link.js +26 -0
  557. package/development/card/card.d.ts +2 -0
  558. package/development/card/card.d.ts.map +1 -0
  559. package/development/card/card.js +266 -0
  560. package/development/card/common/card-action-common.d.ts +9 -0
  561. package/development/card/common/card-action-common.d.ts.map +1 -0
  562. package/development/card/common.d.ts +2 -0
  563. package/development/card/common.d.ts.map +1 -0
  564. package/development/card/common.js +134 -0
  565. package/development/card.d.ts +6 -0
  566. package/development/card.d.ts.map +1 -0
  567. package/development/card.js +6 -0
  568. package/development/checkbox/checkbox/checkbox.d.ts +73 -0
  569. package/development/checkbox/checkbox/checkbox.d.ts.map +1 -0
  570. package/development/checkbox/checkbox-group/checkbox-group.d.ts +37 -0
  571. package/development/checkbox/checkbox-group/checkbox-group.d.ts.map +1 -0
  572. package/development/checkbox/checkbox-group.d.ts +2 -0
  573. package/development/checkbox/checkbox-group.d.ts.map +1 -0
  574. package/development/checkbox/checkbox-group.js +231 -0
  575. package/development/checkbox/checkbox.d.ts +2 -0
  576. package/development/checkbox/checkbox.d.ts.map +1 -0
  577. package/development/checkbox/checkbox.js +325 -0
  578. package/development/checkbox.d.ts +3 -0
  579. package/development/checkbox.d.ts.map +1 -0
  580. package/development/checkbox.js +3 -0
  581. package/development/chip/chip.d.ts +21 -0
  582. package/development/chip/chip.d.ts.map +1 -0
  583. package/development/chip.d.ts +2 -0
  584. package/development/chip.d.ts.map +1 -0
  585. package/development/chip.js +135 -0
  586. package/development/clock/clock.d.ts +62 -0
  587. package/development/clock/clock.d.ts.map +1 -0
  588. package/development/clock.d.ts +2 -0
  589. package/development/clock.d.ts.map +1 -0
  590. package/development/clock.js +377 -0
  591. package/development/container/container/container.d.ts +25 -0
  592. package/development/container/container/container.d.ts.map +1 -0
  593. package/development/container/container.d.ts +2 -0
  594. package/development/container/container.d.ts.map +1 -0
  595. package/development/container/container.js +114 -0
  596. package/development/container/sticky-bar/sticky-bar.d.ts +31 -0
  597. package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -0
  598. package/development/container/sticky-bar.d.ts +2 -0
  599. package/development/container/sticky-bar.d.ts.map +1 -0
  600. package/development/container/sticky-bar.js +220 -0
  601. package/development/container.d.ts +3 -0
  602. package/development/container.d.ts.map +1 -0
  603. package/development/container.js +3 -0
  604. package/development/core/a11y/arrow-navigation.d.ts +32 -0
  605. package/development/core/a11y/arrow-navigation.d.ts.map +1 -0
  606. package/development/core/a11y/fake-event-detection.d.ts +5 -0
  607. package/development/core/a11y/fake-event-detection.d.ts.map +1 -0
  608. package/development/core/a11y/focus-visible-within-controller.d.ts +11 -0
  609. package/development/core/a11y/focus-visible-within-controller.d.ts.map +1 -0
  610. package/development/core/a11y/focus.d.ts +22 -0
  611. package/development/core/a11y/focus.d.ts.map +1 -0
  612. package/development/core/a11y/input-modality-detector.d.ts +58 -0
  613. package/development/core/a11y/input-modality-detector.d.ts.map +1 -0
  614. package/development/core/a11y/interactivity-checker.d.ts +17 -0
  615. package/development/core/a11y/interactivity-checker.d.ts.map +1 -0
  616. package/development/core/a11y.d.ts +7 -0
  617. package/development/core/a11y.d.ts.map +1 -0
  618. package/development/core/a11y.js +295 -0
  619. package/development/core/base-elements/action-base-element.d.ts +11 -0
  620. package/development/core/base-elements/action-base-element.d.ts.map +1 -0
  621. package/development/core/base-elements/button-base-element.d.ts +46 -0
  622. package/development/core/base-elements/button-base-element.d.ts.map +1 -0
  623. package/development/core/base-elements/link-base-element.d.ts +31 -0
  624. package/development/core/base-elements/link-base-element.d.ts.map +1 -0
  625. package/development/core/base-elements/open-close-base-element.d.ts +37 -0
  626. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -0
  627. package/development/core/base-elements.d.ts +5 -0
  628. package/development/core/base-elements.d.ts.map +1 -0
  629. package/development/core/base-elements.js +289 -0
  630. package/development/core/config/config.d.ts +22 -0
  631. package/development/core/config/config.d.ts.map +1 -0
  632. package/development/core/config.d.ts +2 -0
  633. package/development/core/config.d.ts.map +1 -0
  634. package/development/core/config.js +15 -0
  635. package/development/core/controllers/connected-abort-controller.d.ts +11 -0
  636. package/development/core/controllers/connected-abort-controller.d.ts.map +1 -0
  637. package/development/core/controllers/language-controller.d.ts +33 -0
  638. package/development/core/controllers/language-controller.d.ts.map +1 -0
  639. package/development/core/controllers/slot-state-controller.d.ts +32 -0
  640. package/development/core/controllers/slot-state-controller.d.ts.map +1 -0
  641. package/development/core/controllers.d.ts +4 -0
  642. package/development/core/controllers.d.ts.map +1 -0
  643. package/development/core/controllers.js +134 -0
  644. package/development/core/datetime/date-adapter.d.ts +162 -0
  645. package/development/core/datetime/date-adapter.d.ts.map +1 -0
  646. package/development/core/datetime/native-date-adapter.d.ts +74 -0
  647. package/development/core/datetime/native-date-adapter.d.ts.map +1 -0
  648. package/development/core/datetime.d.ts +3 -0
  649. package/development/core/datetime.d.ts.map +1 -0
  650. package/development/core/datetime.js +291 -0
  651. package/development/core/decorators/host-attributes.d.ts +22 -0
  652. package/development/core/decorators/host-attributes.d.ts.map +1 -0
  653. package/development/core/decorators.d.ts +2 -0
  654. package/development/core/decorators.d.ts.map +1 -0
  655. package/development/core/decorators.js +30 -0
  656. package/development/core/dom/breakpoint.d.ts +14 -0
  657. package/development/core/dom/breakpoint.d.ts.map +1 -0
  658. package/development/core/dom/find-referenced-element.d.ts +7 -0
  659. package/development/core/dom/find-referenced-element.d.ts.map +1 -0
  660. package/development/core/dom/get-document-writing-mode.d.ts +2 -0
  661. package/development/core/dom/get-document-writing-mode.d.ts.map +1 -0
  662. package/development/core/dom/host-context.d.ts +11 -0
  663. package/development/core/dom/host-context.d.ts.map +1 -0
  664. package/development/core/dom/input-element.d.ts +10 -0
  665. package/development/core/dom/input-element.d.ts.map +1 -0
  666. package/development/core/dom/platform.d.ts +24 -0
  667. package/development/core/dom/platform.d.ts.map +1 -0
  668. package/development/core/dom/scroll.d.ts +13 -0
  669. package/development/core/dom/scroll.d.ts.map +1 -0
  670. package/development/core/dom/set-or-remove-attribute.d.ts +8 -0
  671. package/development/core/dom/set-or-remove-attribute.d.ts.map +1 -0
  672. package/development/core/dom/ssr.d.ts +12 -0
  673. package/development/core/dom/ssr.d.ts.map +1 -0
  674. package/development/core/dom.d.ts +10 -0
  675. package/development/core/dom.d.ts.map +1 -0
  676. package/development/core/dom.js +146 -0
  677. package/development/core/eventing/composed-path-has-attribute.d.ts +10 -0
  678. package/development/core/eventing/composed-path-has-attribute.d.ts.map +1 -0
  679. package/development/core/eventing/event-emitter.d.ts +23 -0
  680. package/development/core/eventing/event-emitter.d.ts.map +1 -0
  681. package/development/core/eventing/event-target.d.ts +3 -0
  682. package/development/core/eventing/event-target.d.ts.map +1 -0
  683. package/development/core/eventing/form-element-handlers.d.ts +14 -0
  684. package/development/core/eventing/form-element-handlers.d.ts.map +1 -0
  685. package/development/core/eventing/forward-event.d.ts +6 -0
  686. package/development/core/eventing/forward-event.d.ts.map +1 -0
  687. package/development/core/eventing/handler-repository.d.ts +28 -0
  688. package/development/core/eventing/handler-repository.d.ts.map +1 -0
  689. package/development/core/eventing/is-event-prevented.d.ts +3 -0
  690. package/development/core/eventing/is-event-prevented.d.ts.map +1 -0
  691. package/development/core/eventing/throttle.d.ts +2 -0
  692. package/development/core/eventing/throttle.d.ts.map +1 -0
  693. package/development/core/eventing.d.ts +9 -0
  694. package/development/core/eventing.d.ts.map +1 -0
  695. package/development/core/eventing.js +98 -0
  696. package/development/core/i18n/i18n.d.ts +74 -0
  697. package/development/core/i18n/i18n.d.ts.map +1 -0
  698. package/development/core/i18n.d.ts +2 -0
  699. package/development/core/i18n.d.ts.map +1 -0
  700. package/development/core/i18n.js +708 -0
  701. package/development/core/images.d.ts +3 -0
  702. package/development/core/images.d.ts.map +1 -0
  703. package/development/core/interfaces/overlay-close-details.d.ts +5 -0
  704. package/development/core/interfaces/overlay-close-details.d.ts.map +1 -0
  705. package/development/core/interfaces/types.d.ts +29 -0
  706. package/development/core/interfaces/types.d.ts.map +1 -0
  707. package/development/core/interfaces/validation-change.d.ts +4 -0
  708. package/development/core/interfaces/validation-change.d.ts.map +1 -0
  709. package/development/core/interfaces.d.ts +4 -0
  710. package/development/core/interfaces.d.ts.map +1 -0
  711. package/development/core/interfaces.js +2 -0
  712. package/development/core/mixins/constructor.d.ts +8 -0
  713. package/development/core/mixins/constructor.d.ts.map +1 -0
  714. package/development/core/mixins/disabled-mixin.d.ts +14 -0
  715. package/development/core/mixins/disabled-mixin.d.ts.map +1 -0
  716. package/development/core/mixins/form-associated-checkbox-mixin.d.ts +26 -0
  717. package/development/core/mixins/form-associated-checkbox-mixin.d.ts.map +1 -0
  718. package/development/core/mixins/form-associated-mixin.d.ts +39 -0
  719. package/development/core/mixins/form-associated-mixin.d.ts.map +1 -0
  720. package/development/core/mixins/hydration-mixin.d.ts +30 -0
  721. package/development/core/mixins/hydration-mixin.d.ts.map +1 -0
  722. package/development/core/mixins/named-slot-list-mixin.d.ts +31 -0
  723. package/development/core/mixins/named-slot-list-mixin.d.ts.map +1 -0
  724. package/development/core/mixins/negative-mixin.d.ts +11 -0
  725. package/development/core/mixins/negative-mixin.d.ts.map +1 -0
  726. package/development/core/mixins/required-mixin.d.ts +14 -0
  727. package/development/core/mixins/required-mixin.d.ts.map +1 -0
  728. package/development/core/mixins/update-scheduler-mixin.d.ts +14 -0
  729. package/development/core/mixins/update-scheduler-mixin.d.ts.map +1 -0
  730. package/development/core/mixins.d.ts +10 -0
  731. package/development/core/mixins.d.ts.map +1 -0
  732. package/development/core/mixins.js +567 -0
  733. package/development/core/observers/intersection-observer.d.ts +14 -0
  734. package/development/core/observers/intersection-observer.d.ts.map +1 -0
  735. package/development/core/observers/mutation-observer.d.ts +7 -0
  736. package/development/core/observers/mutation-observer.d.ts.map +1 -0
  737. package/development/core/observers/resize-observer.d.ts +10 -0
  738. package/development/core/observers/resize-observer.d.ts.map +1 -0
  739. package/development/core/observers.d.ts +4 -0
  740. package/development/core/observers.d.ts.map +1 -0
  741. package/development/core/observers.js +39 -0
  742. package/development/core/overlay/overlay-option-panel.d.ts +10 -0
  743. package/development/core/overlay/overlay-option-panel.d.ts.map +1 -0
  744. package/development/core/overlay/overlay-trigger-attributes.d.ts +18 -0
  745. package/development/core/overlay/overlay-trigger-attributes.d.ts.map +1 -0
  746. package/development/core/overlay/overlay.d.ts +21 -0
  747. package/development/core/overlay/overlay.d.ts.map +1 -0
  748. package/development/core/overlay/position.d.ts +41 -0
  749. package/development/core/overlay/position.d.ts.map +1 -0
  750. package/development/core/overlay.d.ts +5 -0
  751. package/development/core/overlay.d.ts.map +1 -0
  752. package/development/core/overlay.js +240 -0
  753. package/development/core/testing/event-spy.d.ts +19 -0
  754. package/development/core/testing/event-spy.d.ts.map +1 -0
  755. package/development/core/testing/mocha-extensions.d.ts +11 -0
  756. package/development/core/testing/mocha-extensions.d.ts.map +1 -0
  757. package/development/core/testing/private.d.ts +11 -0
  758. package/development/core/testing/private.d.ts.map +1 -0
  759. package/development/core/testing/scroll.d.ts +6 -0
  760. package/development/core/testing/scroll.d.ts.map +1 -0
  761. package/development/core/testing/test-setup-ssr.d.ts +2 -0
  762. package/development/core/testing/test-setup-ssr.d.ts.map +1 -0
  763. package/development/core/testing/test-setup.d.ts +2 -0
  764. package/development/core/testing/test-setup.d.ts.map +1 -0
  765. package/development/core/testing/wait-for-condition.d.ts +2 -0
  766. package/development/core/testing/wait-for-condition.d.ts.map +1 -0
  767. package/development/core/testing/wait-for-image-ready.d.ts +4 -0
  768. package/development/core/testing/wait-for-image-ready.d.ts.map +1 -0
  769. package/development/core/testing/wait-for-render.d.ts +18 -0
  770. package/development/core/testing/wait-for-render.d.ts.map +1 -0
  771. package/development/core/testing.d.ts +7 -0
  772. package/development/core/testing.d.ts.map +1 -0
  773. package/development/core/testing.js +100 -0
  774. package/development/datepicker/common/datepicker-button.d.ts +38 -0
  775. package/development/datepicker/common/datepicker-button.d.ts.map +1 -0
  776. package/development/datepicker/common.d.ts +2 -0
  777. package/development/datepicker/common.d.ts.map +1 -0
  778. package/development/datepicker/common.js +172 -0
  779. package/development/datepicker/datepicker/datepicker.d.ts +145 -0
  780. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -0
  781. package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts +21 -0
  782. package/development/datepicker/datepicker-next-day/datepicker-next-day.d.ts.map +1 -0
  783. package/development/datepicker/datepicker-next-day.d.ts +2 -0
  784. package/development/datepicker/datepicker-next-day.d.ts.map +1 -0
  785. package/development/datepicker/datepicker-next-day.js +206 -0
  786. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts +21 -0
  787. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.d.ts.map +1 -0
  788. package/development/datepicker/datepicker-previous-day.d.ts +2 -0
  789. package/development/datepicker/datepicker-previous-day.d.ts.map +1 -0
  790. package/development/datepicker/datepicker-previous-day.js +206 -0
  791. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +44 -0
  792. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -0
  793. package/development/datepicker/datepicker-toggle.d.ts +2 -0
  794. package/development/datepicker/datepicker-toggle.d.ts.map +1 -0
  795. package/development/datepicker/datepicker-toggle.js +233 -0
  796. package/development/datepicker/datepicker.d.ts +2 -0
  797. package/development/datepicker/datepicker.d.ts.map +1 -0
  798. package/development/datepicker/datepicker.js +380 -0
  799. package/development/datepicker.d.ts +6 -0
  800. package/development/datepicker.d.ts.map +1 -0
  801. package/development/datepicker.js +6 -0
  802. package/development/dialog/dialog/dialog.d.ts +54 -0
  803. package/development/dialog/dialog/dialog.d.ts.map +1 -0
  804. package/development/dialog/dialog-actions/dialog-actions.d.ts +18 -0
  805. package/development/dialog/dialog-actions/dialog-actions.d.ts.map +1 -0
  806. package/development/dialog/dialog-actions.d.ts +2 -0
  807. package/development/dialog/dialog-actions.d.ts.map +1 -0
  808. package/development/dialog/dialog-actions.js +65 -0
  809. package/development/dialog/dialog-content/dialog-content.d.ts +17 -0
  810. package/development/dialog/dialog-content/dialog-content.d.ts.map +1 -0
  811. package/development/dialog/dialog-content.d.ts +2 -0
  812. package/development/dialog/dialog-content.d.ts.map +1 -0
  813. package/development/dialog/dialog-content.js +90 -0
  814. package/development/dialog/dialog-title/dialog-title.d.ts +43 -0
  815. package/development/dialog/dialog-title/dialog-title.d.ts.map +1 -0
  816. package/development/dialog/dialog-title.d.ts +2 -0
  817. package/development/dialog/dialog-title.d.ts.map +1 -0
  818. package/development/dialog/dialog-title.js +167 -0
  819. package/development/dialog/dialog.d.ts +2 -0
  820. package/development/dialog/dialog.d.ts.map +1 -0
  821. package/development/dialog/dialog.js +436 -0
  822. package/development/dialog.d.ts +5 -0
  823. package/development/dialog.d.ts.map +1 -0
  824. package/development/dialog.js +5 -0
  825. package/development/divider/divider.d.ts +21 -0
  826. package/development/divider/divider.d.ts.map +1 -0
  827. package/development/divider.d.ts +2 -0
  828. package/development/divider.d.ts.map +1 -0
  829. package/development/divider.js +84 -0
  830. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts +75 -0
  831. package/development/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -0
  832. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.d.ts +17 -0
  833. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.d.ts.map +1 -0
  834. package/development/expansion-panel/expansion-panel-content.d.ts +2 -0
  835. package/development/expansion-panel/expansion-panel-content.d.ts.map +1 -0
  836. package/development/expansion-panel/expansion-panel-content.js +83 -0
  837. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +38 -0
  838. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -0
  839. package/development/expansion-panel/expansion-panel-header.d.ts +2 -0
  840. package/development/expansion-panel/expansion-panel-header.d.ts.map +1 -0
  841. package/development/expansion-panel/expansion-panel-header.js +193 -0
  842. package/development/expansion-panel/expansion-panel.d.ts +2 -0
  843. package/development/expansion-panel/expansion-panel.d.ts.map +1 -0
  844. package/development/expansion-panel/expansion-panel.js +395 -0
  845. package/development/expansion-panel.d.ts +4 -0
  846. package/development/expansion-panel.d.ts.map +1 -0
  847. package/development/expansion-panel.js +4 -0
  848. package/development/file-selector/file-selector.d.ts +74 -0
  849. package/development/file-selector/file-selector.d.ts.map +1 -0
  850. package/development/file-selector.d.ts +2 -0
  851. package/development/file-selector.d.ts.map +1 -0
  852. package/development/file-selector.js +427 -0
  853. package/development/footer/footer.d.ts +35 -0
  854. package/development/footer/footer.d.ts.map +1 -0
  855. package/development/footer.d.ts +2 -0
  856. package/development/footer.d.ts.map +1 -0
  857. package/development/footer.js +228 -0
  858. package/development/form-error/form-error.d.ts +21 -0
  859. package/development/form-error/form-error.d.ts.map +1 -0
  860. package/development/form-error.d.ts +2 -0
  861. package/development/form-error.d.ts.map +1 -0
  862. package/development/form-error.js +120 -0
  863. package/development/form-field/form-field/form-field.d.ts +101 -0
  864. package/development/form-field/form-field/form-field.d.ts.map +1 -0
  865. package/development/form-field/form-field-clear/form-field-clear.d.ts +24 -0
  866. package/development/form-field/form-field-clear/form-field-clear.d.ts.map +1 -0
  867. package/development/form-field/form-field-clear.d.ts +2 -0
  868. package/development/form-field/form-field-clear.d.ts.map +1 -0
  869. package/development/form-field/form-field-clear.js +222 -0
  870. package/development/form-field/form-field.d.ts +2 -0
  871. package/development/form-field/form-field.d.ts.map +1 -0
  872. package/development/form-field/form-field.js +884 -0
  873. package/development/form-field.d.ts +3 -0
  874. package/development/form-field.d.ts.map +1 -0
  875. package/development/form-field.js +3 -0
  876. package/development/header/common/header-action-common.d.ts +11 -0
  877. package/development/header/common/header-action-common.d.ts.map +1 -0
  878. package/development/header/common.d.ts +2 -0
  879. package/development/header/common.d.ts.map +1 -0
  880. package/development/header/common.js +339 -0
  881. package/development/header/header/header.d.ts +59 -0
  882. package/development/header/header/header.d.ts.map +1 -0
  883. package/development/header/header-button/header-button.d.ts +18 -0
  884. package/development/header/header-button/header-button.d.ts.map +1 -0
  885. package/development/header/header-button.d.ts +2 -0
  886. package/development/header/header-button.d.ts.map +1 -0
  887. package/development/header/header-button.js +24 -0
  888. package/development/header/header-link/header-link.d.ts +18 -0
  889. package/development/header/header-link/header-link.d.ts.map +1 -0
  890. package/development/header/header-link.d.ts +2 -0
  891. package/development/header/header-link.d.ts.map +1 -0
  892. package/development/header/header-link.js +22 -0
  893. package/development/header/header.d.ts +2 -0
  894. package/development/header/header.d.ts.map +1 -0
  895. package/development/header/header.js +332 -0
  896. package/development/header.d.ts +5 -0
  897. package/development/header.d.ts.map +1 -0
  898. package/development/header.js +5 -0
  899. package/development/icon/icon-base.d.ts +28 -0
  900. package/development/icon/icon-base.d.ts.map +1 -0
  901. package/development/icon/icon-name-mixin.d.ts +12 -0
  902. package/development/icon/icon-name-mixin.d.ts.map +1 -0
  903. package/development/icon/icon-request.d.ts +3 -0
  904. package/development/icon/icon-request.d.ts.map +1 -0
  905. package/development/icon/icon-validate.d.ts +12 -0
  906. package/development/icon/icon-validate.d.ts.map +1 -0
  907. package/development/icon/icon.d.ts +24 -0
  908. package/development/icon/icon.d.ts.map +1 -0
  909. package/development/icon.d.ts +6 -0
  910. package/development/icon.d.ts.map +1 -0
  911. package/development/icon.js +304 -0
  912. package/development/image/image.d.ts +245 -0
  913. package/development/image/image.d.ts.map +1 -0
  914. package/development/image.d.ts +2 -0
  915. package/development/image.d.ts.map +1 -0
  916. package/development/image.js +542 -0
  917. package/development/journey-header/journey-header.d.ts +30 -0
  918. package/development/journey-header/journey-header.d.ts.map +1 -0
  919. package/development/journey-header.d.ts +2 -0
  920. package/development/journey-header.d.ts.map +1 -0
  921. package/development/journey-header.js +131 -0
  922. package/development/lead-container/lead-container.d.ts +20 -0
  923. package/development/lead-container/lead-container.d.ts.map +1 -0
  924. package/development/lead-container.d.ts +2 -0
  925. package/development/lead-container.d.ts.map +1 -0
  926. package/development/lead-container.js +167 -0
  927. package/development/link/block-link/block-link.d.ts +18 -0
  928. package/development/link/block-link/block-link.d.ts.map +1 -0
  929. package/development/link/block-link-button/block-link-button.d.ts +18 -0
  930. package/development/link/block-link-button/block-link-button.d.ts.map +1 -0
  931. package/development/link/block-link-button.d.ts +2 -0
  932. package/development/link/block-link-button.d.ts.map +1 -0
  933. package/development/link/block-link-button.js +25 -0
  934. package/development/link/block-link-static/block-link-static.d.ts +18 -0
  935. package/development/link/block-link-static/block-link-static.d.ts.map +1 -0
  936. package/development/link/block-link-static.d.ts +2 -0
  937. package/development/link/block-link-static.d.ts.map +1 -0
  938. package/development/link/block-link-static.js +25 -0
  939. package/development/link/block-link.d.ts +2 -0
  940. package/development/link/block-link.d.ts.map +1 -0
  941. package/development/link/block-link.js +25 -0
  942. package/development/link/common/block-link-common.d.ts +11 -0
  943. package/development/link/common/block-link-common.d.ts.map +1 -0
  944. package/development/link/common/inline-link-common.d.ts +8 -0
  945. package/development/link/common/inline-link-common.d.ts.map +1 -0
  946. package/development/link/common/link-common.d.ts +9 -0
  947. package/development/link/common/link-common.d.ts.map +1 -0
  948. package/development/link/common.d.ts +4 -0
  949. package/development/link/common.d.ts.map +1 -0
  950. package/development/link/common.js +269 -0
  951. package/development/link/link/link.d.ts +17 -0
  952. package/development/link/link/link.d.ts.map +1 -0
  953. package/development/link/link-button/link-button.d.ts +17 -0
  954. package/development/link/link-button/link-button.d.ts.map +1 -0
  955. package/development/link/link-button.d.ts +2 -0
  956. package/development/link/link-button.d.ts.map +1 -0
  957. package/development/link/link-button.js +25 -0
  958. package/development/link/link-static/link-static.d.ts +17 -0
  959. package/development/link/link-static/link-static.d.ts.map +1 -0
  960. package/development/link/link-static.d.ts +2 -0
  961. package/development/link/link-static.d.ts.map +1 -0
  962. package/development/link/link-static.js +25 -0
  963. package/development/link/link.d.ts +2 -0
  964. package/development/link/link.d.ts.map +1 -0
  965. package/development/link/link.js +25 -0
  966. package/development/link-list/link-list.d.ts +40 -0
  967. package/development/link-list/link-list.d.ts.map +1 -0
  968. package/development/link-list.d.ts +2 -0
  969. package/development/link-list.d.ts.map +1 -0
  970. package/development/link-list.js +254 -0
  971. package/development/link.d.ts +8 -0
  972. package/development/link.d.ts.map +1 -0
  973. package/development/link.js +8 -0
  974. package/development/loading-indicator/loading-indicator.d.ts +21 -0
  975. package/development/loading-indicator/loading-indicator.d.ts.map +1 -0
  976. package/development/loading-indicator.d.ts +2 -0
  977. package/development/loading-indicator.d.ts.map +1 -0
  978. package/development/loading-indicator.js +338 -0
  979. package/development/logo/logo.d.ts +24 -0
  980. package/development/logo/logo.d.ts.map +1 -0
  981. package/development/logo.d.ts +2 -0
  982. package/development/logo.d.ts.map +1 -0
  983. package/development/logo.js +141 -0
  984. package/development/map-container/map-container.d.ts +43 -0
  985. package/development/map-container/map-container.d.ts.map +1 -0
  986. package/development/map-container.d.ts +2 -0
  987. package/development/map-container.d.ts.map +1 -0
  988. package/development/map-container.js +267 -0
  989. package/development/menu/common/menu-action-common.d.ts +11 -0
  990. package/development/menu/common/menu-action-common.d.ts.map +1 -0
  991. package/development/menu/common.d.ts +2 -0
  992. package/development/menu/common.d.ts.map +1 -0
  993. package/development/menu/common.js +173 -0
  994. package/development/menu/menu/menu.d.ts +76 -0
  995. package/development/menu/menu/menu.d.ts.map +1 -0
  996. package/development/menu/menu-button/menu-button.d.ts +20 -0
  997. package/development/menu/menu-button/menu-button.d.ts.map +1 -0
  998. package/development/menu/menu-button.d.ts +2 -0
  999. package/development/menu/menu-button.d.ts.map +1 -0
  1000. package/development/menu/menu-button.js +25 -0
  1001. package/development/menu/menu-link/menu-link.d.ts +20 -0
  1002. package/development/menu/menu-link/menu-link.d.ts.map +1 -0
  1003. package/development/menu/menu-link.d.ts +2 -0
  1004. package/development/menu/menu-link.d.ts.map +1 -0
  1005. package/development/menu/menu-link.js +22 -0
  1006. package/development/menu/menu.d.ts +2 -0
  1007. package/development/menu/menu.d.ts.map +1 -0
  1008. package/development/menu/menu.js +537 -0
  1009. package/development/menu.d.ts +5 -0
  1010. package/development/menu.d.ts.map +1 -0
  1011. package/development/menu.js +5 -0
  1012. package/development/message/message.d.ts +26 -0
  1013. package/development/message/message.d.ts.map +1 -0
  1014. package/development/message.d.ts +2 -0
  1015. package/development/message.d.ts.map +1 -0
  1016. package/development/message.js +117 -0
  1017. package/development/navigation/common/navigation-action-common.d.ts +14 -0
  1018. package/development/navigation/common/navigation-action-common.d.ts.map +1 -0
  1019. package/development/navigation/common.d.ts +2 -0
  1020. package/development/navigation/common.d.ts.map +1 -0
  1021. package/development/navigation/common.js +178 -0
  1022. package/development/navigation/navigation/navigation.d.ts +82 -0
  1023. package/development/navigation/navigation/navigation.d.ts.map +1 -0
  1024. package/development/navigation/navigation-button/navigation-button.d.ts +17 -0
  1025. package/development/navigation/navigation-button/navigation-button.d.ts.map +1 -0
  1026. package/development/navigation/navigation-button.d.ts +2 -0
  1027. package/development/navigation/navigation-button.d.ts.map +1 -0
  1028. package/development/navigation/navigation-button.js +24 -0
  1029. package/development/navigation/navigation-link/navigation-link.d.ts +17 -0
  1030. package/development/navigation/navigation-link/navigation-link.d.ts.map +1 -0
  1031. package/development/navigation/navigation-link.d.ts +2 -0
  1032. package/development/navigation/navigation-link.d.ts.map +1 -0
  1033. package/development/navigation/navigation-link.js +24 -0
  1034. package/development/navigation/navigation-list/navigation-list.d.ts +30 -0
  1035. package/development/navigation/navigation-list/navigation-list.d.ts.map +1 -0
  1036. package/development/navigation/navigation-list.d.ts +2 -0
  1037. package/development/navigation/navigation-list.d.ts.map +1 -0
  1038. package/development/navigation/navigation-list.js +103 -0
  1039. package/development/navigation/navigation-marker/navigation-marker.d.ts +38 -0
  1040. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -0
  1041. package/development/navigation/navigation-marker.d.ts +2 -0
  1042. package/development/navigation/navigation-marker.d.ts.map +1 -0
  1043. package/development/navigation/navigation-marker.js +219 -0
  1044. package/development/navigation/navigation-section/navigation-section.d.ts +76 -0
  1045. package/development/navigation/navigation-section/navigation-section.d.ts.map +1 -0
  1046. package/development/navigation/navigation-section.d.ts +2 -0
  1047. package/development/navigation/navigation-section.d.ts.map +1 -0
  1048. package/development/navigation/navigation-section.js +599 -0
  1049. package/development/navigation/navigation.d.ts +2 -0
  1050. package/development/navigation/navigation.d.ts.map +1 -0
  1051. package/development/navigation/navigation.js +597 -0
  1052. package/development/navigation.d.ts +8 -0
  1053. package/development/navigation.d.ts.map +1 -0
  1054. package/development/navigation.js +8 -0
  1055. package/development/notification/notification.d.ts +82 -0
  1056. package/development/notification/notification.d.ts.map +1 -0
  1057. package/development/notification.d.ts +2 -0
  1058. package/development/notification.d.ts.map +1 -0
  1059. package/development/notification.js +471 -0
  1060. package/development/option/optgroup/optgroup.d.ts +33 -0
  1061. package/development/option/optgroup/optgroup.d.ts.map +1 -0
  1062. package/development/option/optgroup.d.ts +2 -0
  1063. package/development/option/optgroup.d.ts.map +1 -0
  1064. package/development/option/optgroup.js +229 -0
  1065. package/development/option/option/option.d.ts +91 -0
  1066. package/development/option/option/option.d.ts.map +1 -0
  1067. package/development/option/option.d.ts +2 -0
  1068. package/development/option/option.d.ts.map +1 -0
  1069. package/development/option/option.js +443 -0
  1070. package/development/option.d.ts +3 -0
  1071. package/development/option.d.ts.map +1 -0
  1072. package/development/option.js +3 -0
  1073. package/development/overlay/overlay-base-element.d.ts +43 -0
  1074. package/development/overlay/overlay-base-element.d.ts.map +1 -0
  1075. package/development/overlay/overlay.d.ts +52 -0
  1076. package/development/overlay/overlay.d.ts.map +1 -0
  1077. package/development/overlay.d.ts +3 -0
  1078. package/development/overlay.d.ts.map +1 -0
  1079. package/development/overlay.js +482 -0
  1080. package/development/popover/popover/popover.d.ts +85 -0
  1081. package/development/popover/popover/popover.d.ts.map +1 -0
  1082. package/development/popover/popover-trigger/popover-trigger.d.ts +21 -0
  1083. package/development/popover/popover-trigger/popover-trigger.d.ts.map +1 -0
  1084. package/development/popover/popover-trigger.d.ts +2 -0
  1085. package/development/popover/popover-trigger.d.ts.map +1 -0
  1086. package/development/popover/popover-trigger.js +265 -0
  1087. package/development/popover/popover.d.ts +2 -0
  1088. package/development/popover/popover.d.ts.map +1 -0
  1089. package/development/popover/popover.js +553 -0
  1090. package/development/popover.d.ts +3 -0
  1091. package/development/popover.d.ts.map +1 -0
  1092. package/development/popover.js +3 -0
  1093. package/development/radio-button/radio-button/radio-button.d.ts +102 -0
  1094. package/development/radio-button/radio-button/radio-button.d.ts.map +1 -0
  1095. package/development/radio-button/radio-button-group/radio-button-group.d.ts +91 -0
  1096. package/development/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -0
  1097. package/development/radio-button/radio-button-group.d.ts +2 -0
  1098. package/development/radio-button/radio-button-group.d.ts.map +1 -0
  1099. package/development/radio-button/radio-button-group.js +337 -0
  1100. package/development/radio-button/radio-button.d.ts +2 -0
  1101. package/development/radio-button/radio-button.d.ts.map +1 -0
  1102. package/development/radio-button/radio-button.js +397 -0
  1103. package/development/radio-button.d.ts +3 -0
  1104. package/development/radio-button.d.ts.map +1 -0
  1105. package/development/radio-button.js +3 -0
  1106. package/development/screen-reader-only/screen-reader-only.d.ts +17 -0
  1107. package/development/screen-reader-only/screen-reader-only.d.ts.map +1 -0
  1108. package/development/screen-reader-only.d.ts +2 -0
  1109. package/development/screen-reader-only.d.ts.map +1 -0
  1110. package/development/screen-reader-only.js +50 -0
  1111. package/development/select/select.d.ts +140 -0
  1112. package/development/select/select.d.ts.map +1 -0
  1113. package/development/select.d.ts +2 -0
  1114. package/development/select.d.ts.map +1 -0
  1115. package/development/select.js +891 -0
  1116. package/development/selection-panel/selection-panel.d.ts +63 -0
  1117. package/development/selection-panel/selection-panel.d.ts.map +1 -0
  1118. package/development/selection-panel.d.ts +2 -0
  1119. package/development/selection-panel.d.ts.map +1 -0
  1120. package/development/selection-panel.js +376 -0
  1121. package/development/signet/signet.d.ts +20 -0
  1122. package/development/signet/signet.d.ts.map +1 -0
  1123. package/development/signet.d.ts +2 -0
  1124. package/development/signet.d.ts.map +1 -0
  1125. package/development/signet.js +115 -0
  1126. package/development/skiplink-list/skiplink-list.d.ts +32 -0
  1127. package/development/skiplink-list/skiplink-list.d.ts.map +1 -0
  1128. package/development/skiplink-list.d.ts +2 -0
  1129. package/development/skiplink-list.d.ts.map +1 -0
  1130. package/development/skiplink-list.js +124 -0
  1131. package/development/slider/slider.d.ts +70 -0
  1132. package/development/slider/slider.d.ts.map +1 -0
  1133. package/development/slider.d.ts +2 -0
  1134. package/development/slider.d.ts.map +1 -0
  1135. package/development/slider.js +351 -0
  1136. package/development/status/status.d.ts +32 -0
  1137. package/development/status/status.d.ts.map +1 -0
  1138. package/development/status.d.ts +2 -0
  1139. package/development/status.d.ts.map +1 -0
  1140. package/development/status.js +155 -0
  1141. package/development/stepper/step/step.d.ts +66 -0
  1142. package/development/stepper/step/step.d.ts.map +1 -0
  1143. package/development/stepper/step-label/step-label.d.ts +47 -0
  1144. package/development/stepper/step-label/step-label.d.ts.map +1 -0
  1145. package/development/stepper/step-label.d.ts +2 -0
  1146. package/development/stepper/step-label.d.ts.map +1 -0
  1147. package/development/stepper/step-label.js +279 -0
  1148. package/development/stepper/step.d.ts +2 -0
  1149. package/development/stepper/step.d.ts.map +1 -0
  1150. package/development/stepper/step.js +232 -0
  1151. package/development/stepper/stepper/stepper.d.ts +59 -0
  1152. package/development/stepper/stepper/stepper.d.ts.map +1 -0
  1153. package/development/stepper/stepper.d.ts +2 -0
  1154. package/development/stepper/stepper.d.ts.map +1 -0
  1155. package/development/stepper/stepper.js +363 -0
  1156. package/development/stepper.d.ts +4 -0
  1157. package/development/stepper.d.ts.map +1 -0
  1158. package/development/stepper.js +4 -0
  1159. package/development/tabs/tab-group/tab-group.d.ts +94 -0
  1160. package/development/tabs/tab-group/tab-group.d.ts.map +1 -0
  1161. package/development/tabs/tab-group.d.ts +2 -0
  1162. package/development/tabs/tab-group.d.ts.map +1 -0
  1163. package/development/tabs/tab-group.js +389 -0
  1164. package/development/tabs/tab-title/tab-title.d.ts +32 -0
  1165. package/development/tabs/tab-title/tab-title.d.ts.map +1 -0
  1166. package/development/tabs/tab-title.d.ts +2 -0
  1167. package/development/tabs/tab-title.d.ts.map +1 -0
  1168. package/development/tabs/tab-title.js +287 -0
  1169. package/development/tabs.d.ts +3 -0
  1170. package/development/tabs.d.ts.map +1 -0
  1171. package/development/tabs.js +3 -0
  1172. package/development/tag/tag/tag.d.ts +53 -0
  1173. package/development/tag/tag/tag.d.ts.map +1 -0
  1174. package/development/tag/tag-group/tag-group.d.ts +46 -0
  1175. package/development/tag/tag-group/tag-group.d.ts.map +1 -0
  1176. package/development/tag/tag-group.d.ts +2 -0
  1177. package/development/tag/tag-group.d.ts.map +1 -0
  1178. package/development/tag/tag-group.js +142 -0
  1179. package/development/tag/tag.d.ts +2 -0
  1180. package/development/tag/tag.d.ts.map +1 -0
  1181. package/development/tag/tag.js +297 -0
  1182. package/development/tag.d.ts +3 -0
  1183. package/development/tag.d.ts.map +1 -0
  1184. package/development/tag.js +3 -0
  1185. package/development/teaser/teaser.d.ts +31 -0
  1186. package/development/teaser/teaser.d.ts.map +1 -0
  1187. package/development/teaser-hero/teaser-hero.d.ts +26 -0
  1188. package/development/teaser-hero/teaser-hero.d.ts.map +1 -0
  1189. package/development/teaser-hero.d.ts +2 -0
  1190. package/development/teaser-hero.d.ts.map +1 -0
  1191. package/development/teaser-hero.js +181 -0
  1192. package/development/teaser-paid/teaser-paid.d.ts +20 -0
  1193. package/development/teaser-paid/teaser-paid.d.ts.map +1 -0
  1194. package/development/teaser-paid.d.ts +2 -0
  1195. package/development/teaser-paid.d.ts.map +1 -0
  1196. package/development/teaser-paid.js +91 -0
  1197. package/development/teaser.d.ts +2 -0
  1198. package/development/teaser.d.ts.map +1 -0
  1199. package/development/teaser.js +204 -0
  1200. package/development/time-input/time-input.d.ts +68 -0
  1201. package/development/time-input/time-input.d.ts.map +1 -0
  1202. package/development/time-input.d.ts +2 -0
  1203. package/development/time-input.d.ts.map +1 -0
  1204. package/development/time-input.js +269 -0
  1205. package/development/timetable-occupancy/timetable-occupancy.d.ts +23 -0
  1206. package/development/timetable-occupancy/timetable-occupancy.d.ts.map +1 -0
  1207. package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +27 -0
  1208. package/development/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -0
  1209. package/development/timetable-occupancy-icon.d.ts +2 -0
  1210. package/development/timetable-occupancy-icon.d.ts.map +1 -0
  1211. package/development/timetable-occupancy-icon.js +92 -0
  1212. package/development/timetable-occupancy.d.ts +2 -0
  1213. package/development/timetable-occupancy.d.ts.map +1 -0
  1214. package/development/timetable-occupancy.js +133 -0
  1215. package/development/title/title-base.d.ts +26 -0
  1216. package/development/title/title-base.d.ts.map +1 -0
  1217. package/development/title/title.d.ts +16 -0
  1218. package/development/title/title.d.ts.map +1 -0
  1219. package/development/title.d.ts +3 -0
  1220. package/development/title.d.ts.map +1 -0
  1221. package/development/title.js +258 -0
  1222. package/development/toast/toast.d.ts +79 -0
  1223. package/development/toast/toast.d.ts.map +1 -0
  1224. package/development/toast.d.ts +2 -0
  1225. package/development/toast.d.ts.map +1 -0
  1226. package/development/toast.js +380 -0
  1227. package/development/toggle/toggle/toggle.d.ts +63 -0
  1228. package/development/toggle/toggle/toggle.d.ts.map +1 -0
  1229. package/development/toggle/toggle-option/toggle-option.d.ts +37 -0
  1230. package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -0
  1231. package/development/toggle/toggle-option.d.ts +2 -0
  1232. package/development/toggle/toggle-option.d.ts.map +1 -0
  1233. package/development/toggle/toggle-option.js +220 -0
  1234. package/development/toggle/toggle.d.ts +2 -0
  1235. package/development/toggle/toggle.d.ts.map +1 -0
  1236. package/development/toggle/toggle.js +307 -0
  1237. package/development/toggle-check/toggle-check.d.ts +34 -0
  1238. package/development/toggle-check/toggle-check.d.ts.map +1 -0
  1239. package/development/toggle-check.d.ts +2 -0
  1240. package/development/toggle-check.d.ts.map +1 -0
  1241. package/development/toggle-check.js +258 -0
  1242. package/development/toggle.d.ts +3 -0
  1243. package/development/toggle.d.ts.map +1 -0
  1244. package/development/toggle.js +3 -0
  1245. package/development/train/train/train.d.ts +48 -0
  1246. package/development/train/train/train.d.ts.map +1 -0
  1247. package/development/train/train-blocked-passage/train-blocked-passage.d.ts +15 -0
  1248. package/development/train/train-blocked-passage/train-blocked-passage.d.ts.map +1 -0
  1249. package/development/train/train-blocked-passage.d.ts +2 -0
  1250. package/development/train/train-blocked-passage.d.ts.map +1 -0
  1251. package/development/train/train-blocked-passage.js +100 -0
  1252. package/development/train/train-formation/train-formation.d.ts +40 -0
  1253. package/development/train/train-formation/train-formation.d.ts.map +1 -0
  1254. package/development/train/train-formation.d.ts +2 -0
  1255. package/development/train/train-formation.d.ts.map +1 -0
  1256. package/development/train/train-formation.js +293 -0
  1257. package/development/train/train-wagon/train-wagon.d.ts +49 -0
  1258. package/development/train/train-wagon/train-wagon.d.ts.map +1 -0
  1259. package/development/train/train-wagon.d.ts +2 -0
  1260. package/development/train/train-wagon.d.ts.map +1 -0
  1261. package/development/train/train-wagon.js +327 -0
  1262. package/development/train/train.d.ts +2 -0
  1263. package/development/train/train.d.ts.map +1 -0
  1264. package/development/train/train.js +269 -0
  1265. package/development/train.d.ts +5 -0
  1266. package/development/train.d.ts.map +1 -0
  1267. package/development/train.js +5 -0
  1268. package/development/visual-checkbox/visual-checkbox.d.ts +21 -0
  1269. package/development/visual-checkbox/visual-checkbox.d.ts.map +1 -0
  1270. package/development/visual-checkbox.d.ts +2 -0
  1271. package/development/visual-checkbox.d.ts.map +1 -0
  1272. package/development/visual-checkbox.js +180 -0
  1273. package/dialog/dialog/dialog.d.ts +54 -0
  1274. package/dialog/dialog/dialog.d.ts.map +1 -0
  1275. package/dialog/dialog-actions/dialog-actions.d.ts +18 -0
  1276. package/dialog/dialog-actions/dialog-actions.d.ts.map +1 -0
  1277. package/dialog/dialog-actions.d.ts +2 -0
  1278. package/dialog/dialog-actions.d.ts.map +1 -0
  1279. package/dialog/dialog-actions.js +21 -0
  1280. package/dialog/dialog-content/dialog-content.d.ts +17 -0
  1281. package/dialog/dialog-content/dialog-content.d.ts.map +1 -0
  1282. package/dialog/dialog-content.d.ts +2 -0
  1283. package/dialog/dialog-content.d.ts.map +1 -0
  1284. package/dialog/dialog-content.js +24 -0
  1285. package/dialog/dialog-title/dialog-title.d.ts +43 -0
  1286. package/dialog/dialog-title/dialog-title.d.ts.map +1 -0
  1287. package/dialog/dialog-title.d.ts +2 -0
  1288. package/dialog/dialog-title.d.ts.map +1 -0
  1289. package/dialog/dialog-title.js +86 -0
  1290. package/dialog/dialog.d.ts +2 -0
  1291. package/dialog/dialog.d.ts.map +1 -0
  1292. package/dialog/dialog.js +135 -0
  1293. package/dialog.d.ts +5 -0
  1294. package/dialog.d.ts.map +1 -0
  1295. package/dialog.js +4 -0
  1296. package/divider/divider.d.ts +21 -0
  1297. package/divider/divider.d.ts.map +1 -0
  1298. package/divider.d.ts +2 -0
  1299. package/divider.d.ts.map +1 -0
  1300. package/divider.js +34 -0
  1301. package/expansion-panel/expansion-panel/expansion-panel.d.ts +75 -0
  1302. package/expansion-panel/expansion-panel/expansion-panel.d.ts.map +1 -0
  1303. package/expansion-panel/expansion-panel-content/expansion-panel-content.d.ts +17 -0
  1304. package/expansion-panel/expansion-panel-content/expansion-panel-content.d.ts.map +1 -0
  1305. package/expansion-panel/expansion-panel-content.d.ts +2 -0
  1306. package/expansion-panel/expansion-panel-content.d.ts.map +1 -0
  1307. package/expansion-panel/expansion-panel-content.js +29 -0
  1308. package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +38 -0
  1309. package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts.map +1 -0
  1310. package/expansion-panel/expansion-panel-header.d.ts +2 -0
  1311. package/expansion-panel/expansion-panel-header.d.ts.map +1 -0
  1312. package/expansion-panel/expansion-panel-header.js +75 -0
  1313. package/expansion-panel/expansion-panel.d.ts +2 -0
  1314. package/expansion-panel/expansion-panel.d.ts.map +1 -0
  1315. package/expansion-panel/expansion-panel.js +142 -0
  1316. package/expansion-panel.d.ts +4 -0
  1317. package/expansion-panel.d.ts.map +1 -0
  1318. package/expansion-panel.js +3 -0
  1319. package/file-selector/file-selector.d.ts +74 -0
  1320. package/file-selector/file-selector.d.ts.map +1 -0
  1321. package/file-selector.d.ts +2 -0
  1322. package/file-selector.d.ts.map +1 -0
  1323. package/file-selector.js +218 -0
  1324. package/font-characters-extension.css +18 -0
  1325. package/footer/footer.d.ts +35 -0
  1326. package/footer/footer.d.ts.map +1 -0
  1327. package/footer.d.ts +2 -0
  1328. package/footer.d.ts.map +1 -0
  1329. package/footer.js +46 -0
  1330. package/form-error/form-error.d.ts +21 -0
  1331. package/form-error/form-error.d.ts.map +1 -0
  1332. package/form-error.d.ts +2 -0
  1333. package/form-error.d.ts.map +1 -0
  1334. package/form-error.js +48 -0
  1335. package/form-field/form-field/form-field.d.ts +101 -0
  1336. package/form-field/form-field/form-field.d.ts.map +1 -0
  1337. package/form-field/form-field-clear/form-field-clear.d.ts +24 -0
  1338. package/form-field/form-field-clear/form-field-clear.d.ts.map +1 -0
  1339. package/form-field/form-field-clear.d.ts +2 -0
  1340. package/form-field/form-field-clear.d.ts.map +1 -0
  1341. package/form-field/form-field-clear.js +46 -0
  1342. package/form-field/form-field.d.ts +2 -0
  1343. package/form-field/form-field.d.ts.map +1 -0
  1344. package/form-field/form-field.js +268 -0
  1345. package/form-field.d.ts +3 -0
  1346. package/form-field.d.ts.map +1 -0
  1347. package/form-field.js +2 -0
  1348. package/header/common/header-action-common.d.ts +11 -0
  1349. package/header/common/header-action-common.d.ts.map +1 -0
  1350. package/header/common.d.ts +2 -0
  1351. package/header/common.d.ts.map +1 -0
  1352. package/header/common.js +35 -0
  1353. package/header/header/header.d.ts +59 -0
  1354. package/header/header/header.d.ts.map +1 -0
  1355. package/header/header-button/header-button.d.ts +18 -0
  1356. package/header/header-button/header-button.d.ts.map +1 -0
  1357. package/header/header-button.d.ts +2 -0
  1358. package/header/header-button.d.ts.map +1 -0
  1359. package/header/header-button.js +18 -0
  1360. package/header/header-link/header-link.d.ts +18 -0
  1361. package/header/header-link/header-link.d.ts.map +1 -0
  1362. package/header/header-link.d.ts +2 -0
  1363. package/header/header-link.d.ts.map +1 -0
  1364. package/header/header-link.js +16 -0
  1365. package/header/header.d.ts +2 -0
  1366. package/header/header.d.ts.map +1 -0
  1367. package/header/header.js +120 -0
  1368. package/header.d.ts +5 -0
  1369. package/header.d.ts.map +1 -0
  1370. package/header.js +4 -0
  1371. package/icon/icon-base.d.ts +28 -0
  1372. package/icon/icon-base.d.ts.map +1 -0
  1373. package/icon/icon-name-mixin.d.ts +12 -0
  1374. package/icon/icon-name-mixin.d.ts.map +1 -0
  1375. package/icon/icon-request.d.ts +3 -0
  1376. package/icon/icon-request.d.ts.map +1 -0
  1377. package/icon/icon-validate.d.ts +12 -0
  1378. package/icon/icon-validate.d.ts.map +1 -0
  1379. package/icon/icon.d.ts +24 -0
  1380. package/icon/icon.d.ts.map +1 -0
  1381. package/icon.d.ts +6 -0
  1382. package/icon.d.ts.map +1 -0
  1383. package/icon.js +174 -0
  1384. package/image/image.d.ts +245 -0
  1385. package/image/image.d.ts.map +1 -0
  1386. package/image.d.ts +2 -0
  1387. package/image.d.ts.map +1 -0
  1388. package/image.js +292 -0
  1389. package/index.d.ts +231 -0
  1390. package/index.js +229 -0
  1391. package/journey-header/journey-header.d.ts +30 -0
  1392. package/journey-header/journey-header.d.ts.map +1 -0
  1393. package/journey-header.d.ts +2 -0
  1394. package/journey-header.d.ts.map +1 -0
  1395. package/journey-header.js +76 -0
  1396. package/layout.css +24 -0
  1397. package/lead-container/lead-container.d.ts +20 -0
  1398. package/lead-container/lead-container.d.ts.map +1 -0
  1399. package/lead-container.d.ts +2 -0
  1400. package/lead-container.d.ts.map +1 -0
  1401. package/lead-container.js +32 -0
  1402. package/link/block-link/block-link.d.ts +18 -0
  1403. package/link/block-link/block-link.d.ts.map +1 -0
  1404. package/link/block-link-button/block-link-button.d.ts +18 -0
  1405. package/link/block-link-button/block-link-button.d.ts.map +1 -0
  1406. package/link/block-link-button.d.ts +2 -0
  1407. package/link/block-link-button.d.ts.map +1 -0
  1408. package/link/block-link-button.js +19 -0
  1409. package/link/block-link-static/block-link-static.d.ts +18 -0
  1410. package/link/block-link-static/block-link-static.d.ts.map +1 -0
  1411. package/link/block-link-static.d.ts +2 -0
  1412. package/link/block-link-static.d.ts.map +1 -0
  1413. package/link/block-link-static.js +19 -0
  1414. package/link/block-link.d.ts +2 -0
  1415. package/link/block-link.d.ts.map +1 -0
  1416. package/link/block-link.js +19 -0
  1417. package/link/common/block-link-common.d.ts +11 -0
  1418. package/link/common/block-link-common.d.ts.map +1 -0
  1419. package/link/common/inline-link-common.d.ts +8 -0
  1420. package/link/common/inline-link-common.d.ts.map +1 -0
  1421. package/link/common/link-common.d.ts +9 -0
  1422. package/link/common/link-common.d.ts.map +1 -0
  1423. package/link/common.d.ts +4 -0
  1424. package/link/common.d.ts.map +1 -0
  1425. package/link/common.js +62 -0
  1426. package/link/link/link.d.ts +17 -0
  1427. package/link/link/link.d.ts.map +1 -0
  1428. package/link/link-button/link-button.d.ts +17 -0
  1429. package/link/link-button/link-button.d.ts.map +1 -0
  1430. package/link/link-button.d.ts +2 -0
  1431. package/link/link-button.d.ts.map +1 -0
  1432. package/link/link-button.js +19 -0
  1433. package/link/link-static/link-static.d.ts +17 -0
  1434. package/link/link-static/link-static.d.ts.map +1 -0
  1435. package/link/link-static.d.ts +2 -0
  1436. package/link/link-static.d.ts.map +1 -0
  1437. package/link/link-static.js +19 -0
  1438. package/link/link.d.ts +2 -0
  1439. package/link/link.d.ts.map +1 -0
  1440. package/link/link.js +19 -0
  1441. package/link-list/link-list.d.ts +40 -0
  1442. package/link-list/link-list.d.ts.map +1 -0
  1443. package/link-list.d.ts +2 -0
  1444. package/link-list.d.ts.map +1 -0
  1445. package/link-list.js +65 -0
  1446. package/link.d.ts +8 -0
  1447. package/link.d.ts.map +1 -0
  1448. package/link.js +7 -0
  1449. package/lists.css +149 -0
  1450. package/loading-indicator/loading-indicator.d.ts +21 -0
  1451. package/loading-indicator/loading-indicator.d.ts.map +1 -0
  1452. package/loading-indicator.d.ts +2 -0
  1453. package/loading-indicator.d.ts.map +1 -0
  1454. package/loading-indicator.js +51 -0
  1455. package/logo/logo.d.ts +24 -0
  1456. package/logo/logo.d.ts.map +1 -0
  1457. package/logo.d.ts +2 -0
  1458. package/logo.d.ts.map +1 -0
  1459. package/logo.js +47 -0
  1460. package/map-container/map-container.d.ts +43 -0
  1461. package/map-container/map-container.d.ts.map +1 -0
  1462. package/map-container.d.ts +2 -0
  1463. package/map-container.d.ts.map +1 -0
  1464. package/map-container.js +91 -0
  1465. package/menu/common/menu-action-common.d.ts +11 -0
  1466. package/menu/common/menu-action-common.d.ts.map +1 -0
  1467. package/menu/common.d.ts +2 -0
  1468. package/menu/common.d.ts.map +1 -0
  1469. package/menu/common.js +34 -0
  1470. package/menu/menu/menu.d.ts +76 -0
  1471. package/menu/menu/menu.d.ts.map +1 -0
  1472. package/menu/menu-button/menu-button.d.ts +20 -0
  1473. package/menu/menu-button/menu-button.d.ts.map +1 -0
  1474. package/menu/menu-button.d.ts +2 -0
  1475. package/menu/menu-button.d.ts.map +1 -0
  1476. package/menu/menu-button.js +19 -0
  1477. package/menu/menu-link/menu-link.d.ts +20 -0
  1478. package/menu/menu-link/menu-link.d.ts.map +1 -0
  1479. package/menu/menu-link.d.ts +2 -0
  1480. package/menu/menu-link.d.ts.map +1 -0
  1481. package/menu/menu-link.js +16 -0
  1482. package/menu/menu.d.ts +2 -0
  1483. package/menu/menu.d.ts.map +1 -0
  1484. package/menu/menu.js +194 -0
  1485. package/menu.d.ts +5 -0
  1486. package/menu.d.ts.map +1 -0
  1487. package/menu.js +4 -0
  1488. package/message/message.d.ts +26 -0
  1489. package/message/message.d.ts.map +1 -0
  1490. package/message.d.ts +2 -0
  1491. package/message.d.ts.map +1 -0
  1492. package/message.js +40 -0
  1493. package/navigation/common/navigation-action-common.d.ts +14 -0
  1494. package/navigation/common/navigation-action-common.d.ts.map +1 -0
  1495. package/navigation/common.d.ts +2 -0
  1496. package/navigation/common.d.ts.map +1 -0
  1497. package/navigation/common.js +51 -0
  1498. package/navigation/navigation/navigation.d.ts +82 -0
  1499. package/navigation/navigation/navigation.d.ts.map +1 -0
  1500. package/navigation/navigation-button/navigation-button.d.ts +17 -0
  1501. package/navigation/navigation-button/navigation-button.d.ts.map +1 -0
  1502. package/navigation/navigation-button.d.ts +2 -0
  1503. package/navigation/navigation-button.d.ts.map +1 -0
  1504. package/navigation/navigation-button.js +18 -0
  1505. package/navigation/navigation-link/navigation-link.d.ts +17 -0
  1506. package/navigation/navigation-link/navigation-link.d.ts.map +1 -0
  1507. package/navigation/navigation-link.d.ts +2 -0
  1508. package/navigation/navigation-link.d.ts.map +1 -0
  1509. package/navigation/navigation-link.js +18 -0
  1510. package/navigation/navigation-list/navigation-list.d.ts +30 -0
  1511. package/navigation/navigation-list/navigation-list.d.ts.map +1 -0
  1512. package/navigation/navigation-list.d.ts +2 -0
  1513. package/navigation/navigation-list.d.ts.map +1 -0
  1514. package/navigation/navigation-list.js +42 -0
  1515. package/navigation/navigation-marker/navigation-marker.d.ts +38 -0
  1516. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -0
  1517. package/navigation/navigation-marker.d.ts +2 -0
  1518. package/navigation/navigation-marker.d.ts.map +1 -0
  1519. package/navigation/navigation-marker.js +77 -0
  1520. package/navigation/navigation-section/navigation-section.d.ts +76 -0
  1521. package/navigation/navigation-section/navigation-section.d.ts.map +1 -0
  1522. package/navigation/navigation-section.d.ts +2 -0
  1523. package/navigation/navigation-section.d.ts.map +1 -0
  1524. package/navigation/navigation-section.js +205 -0
  1525. package/navigation/navigation.d.ts +2 -0
  1526. package/navigation/navigation.d.ts.map +1 -0
  1527. package/navigation/navigation.js +210 -0
  1528. package/navigation.d.ts +8 -0
  1529. package/navigation.d.ts.map +1 -0
  1530. package/navigation.js +7 -0
  1531. package/normalize.css +189 -0
  1532. package/notification/notification.d.ts +82 -0
  1533. package/notification/notification.d.ts.map +1 -0
  1534. package/notification.d.ts +2 -0
  1535. package/notification.d.ts.map +1 -0
  1536. package/notification.js +158 -0
  1537. package/option/optgroup/optgroup.d.ts +33 -0
  1538. package/option/optgroup/optgroup.d.ts.map +1 -0
  1539. package/option/optgroup.d.ts +2 -0
  1540. package/option/optgroup.d.ts.map +1 -0
  1541. package/option/optgroup.js +103 -0
  1542. package/option/option/option.d.ts +91 -0
  1543. package/option/option/option.d.ts.map +1 -0
  1544. package/option/option.d.ts +2 -0
  1545. package/option/option.d.ts.map +1 -0
  1546. package/option/option.js +230 -0
  1547. package/option.d.ts +3 -0
  1548. package/option.d.ts.map +1 -0
  1549. package/option.js +2 -0
  1550. package/overlay/overlay-base-element.d.ts +43 -0
  1551. package/overlay/overlay-base-element.d.ts.map +1 -0
  1552. package/overlay/overlay.d.ts +52 -0
  1553. package/overlay/overlay.d.ts.map +1 -0
  1554. package/overlay.d.ts +3 -0
  1555. package/overlay.d.ts.map +1 -0
  1556. package/overlay.js +210 -0
  1557. package/package.json +852 -2
  1558. package/popover/popover/popover.d.ts +85 -0
  1559. package/popover/popover/popover.d.ts.map +1 -0
  1560. package/popover/popover-trigger/popover-trigger.d.ts +21 -0
  1561. package/popover/popover-trigger/popover-trigger.d.ts.map +1 -0
  1562. package/popover/popover-trigger.d.ts +2 -0
  1563. package/popover/popover-trigger.d.ts.map +1 -0
  1564. package/popover/popover-trigger.js +35 -0
  1565. package/popover/popover.d.ts +2 -0
  1566. package/popover/popover.d.ts.map +1 -0
  1567. package/popover/popover.js +241 -0
  1568. package/popover.d.ts +3 -0
  1569. package/popover.d.ts.map +1 -0
  1570. package/popover.js +2 -0
  1571. package/radio-button/radio-button/radio-button.d.ts +102 -0
  1572. package/radio-button/radio-button/radio-button.d.ts.map +1 -0
  1573. package/radio-button/radio-button-group/radio-button-group.d.ts +91 -0
  1574. package/radio-button/radio-button-group/radio-button-group.d.ts.map +1 -0
  1575. package/radio-button/radio-button-group.d.ts +2 -0
  1576. package/radio-button/radio-button-group.d.ts.map +1 -0
  1577. package/radio-button/radio-button-group.js +161 -0
  1578. package/radio-button/radio-button.d.ts +2 -0
  1579. package/radio-button/radio-button.d.ts.map +1 -0
  1580. package/radio-button/radio-button.js +167 -0
  1581. package/radio-button.d.ts +3 -0
  1582. package/radio-button.d.ts.map +1 -0
  1583. package/radio-button.js +2 -0
  1584. package/screen-reader-only/screen-reader-only.d.ts +17 -0
  1585. package/screen-reader-only/screen-reader-only.d.ts.map +1 -0
  1586. package/screen-reader-only.d.ts +2 -0
  1587. package/screen-reader-only.d.ts.map +1 -0
  1588. package/screen-reader-only.js +20 -0
  1589. package/select/select.d.ts +140 -0
  1590. package/select/select.d.ts.map +1 -0
  1591. package/select.d.ts +2 -0
  1592. package/select.d.ts.map +1 -0
  1593. package/select.js +402 -0
  1594. package/selection-panel/selection-panel.d.ts +63 -0
  1595. package/selection-panel/selection-panel.d.ts.map +1 -0
  1596. package/selection-panel.d.ts +2 -0
  1597. package/selection-panel.d.ts.map +1 -0
  1598. package/selection-panel.js +138 -0
  1599. package/signet/signet.d.ts +20 -0
  1600. package/signet/signet.d.ts.map +1 -0
  1601. package/signet.d.ts +2 -0
  1602. package/signet.d.ts.map +1 -0
  1603. package/signet.js +41 -0
  1604. package/skiplink-list/skiplink-list.d.ts +32 -0
  1605. package/skiplink-list/skiplink-list.d.ts.map +1 -0
  1606. package/skiplink-list.d.ts +2 -0
  1607. package/skiplink-list.d.ts.map +1 -0
  1608. package/skiplink-list.js +51 -0
  1609. package/slider/slider.d.ts +70 -0
  1610. package/slider/slider.d.ts.map +1 -0
  1611. package/slider.d.ts +2 -0
  1612. package/slider.d.ts.map +1 -0
  1613. package/slider.js +152 -0
  1614. package/standard-theme.css +1741 -0
  1615. package/status/status.d.ts +32 -0
  1616. package/status/status.d.ts.map +1 -0
  1617. package/status.d.ts +2 -0
  1618. package/status.d.ts.map +1 -0
  1619. package/status.js +59 -0
  1620. package/stepper/step/step.d.ts +66 -0
  1621. package/stepper/step/step.d.ts.map +1 -0
  1622. package/stepper/step-label/step-label.d.ts +47 -0
  1623. package/stepper/step-label/step-label.d.ts.map +1 -0
  1624. package/stepper/step-label.d.ts +2 -0
  1625. package/stepper/step-label.d.ts.map +1 -0
  1626. package/stepper/step-label.js +83 -0
  1627. package/stepper/step.d.ts +2 -0
  1628. package/stepper/step.d.ts.map +1 -0
  1629. package/stepper/step.js +117 -0
  1630. package/stepper/stepper/stepper.d.ts +59 -0
  1631. package/stepper/stepper/stepper.d.ts.map +1 -0
  1632. package/stepper/stepper.d.ts +2 -0
  1633. package/stepper/stepper.d.ts.map +1 -0
  1634. package/stepper/stepper.js +191 -0
  1635. package/stepper.d.ts +4 -0
  1636. package/stepper.d.ts.map +1 -0
  1637. package/stepper.js +3 -0
  1638. package/tabs/tab-group/tab-group.d.ts +94 -0
  1639. package/tabs/tab-group/tab-group.d.ts.map +1 -0
  1640. package/tabs/tab-group.d.ts +2 -0
  1641. package/tabs/tab-group.d.ts.map +1 -0
  1642. package/tabs/tab-group.js +196 -0
  1643. package/tabs/tab-title/tab-title.d.ts +32 -0
  1644. package/tabs/tab-title/tab-title.d.ts.map +1 -0
  1645. package/tabs/tab-title.d.ts +2 -0
  1646. package/tabs/tab-title.d.ts.map +1 -0
  1647. package/tabs/tab-title.js +51 -0
  1648. package/tabs.d.ts +3 -0
  1649. package/tabs.d.ts.map +1 -0
  1650. package/tabs.js +2 -0
  1651. package/tag/tag/tag.d.ts +53 -0
  1652. package/tag/tag/tag.d.ts.map +1 -0
  1653. package/tag/tag-group/tag-group.d.ts +46 -0
  1654. package/tag/tag-group/tag-group.d.ts.map +1 -0
  1655. package/tag/tag-group.d.ts +2 -0
  1656. package/tag/tag-group.d.ts.map +1 -0
  1657. package/tag/tag-group.js +82 -0
  1658. package/tag/tag.d.ts +2 -0
  1659. package/tag/tag.d.ts.map +1 -0
  1660. package/tag/tag.js +82 -0
  1661. package/tag.d.ts +3 -0
  1662. package/tag.d.ts.map +1 -0
  1663. package/tag.js +2 -0
  1664. package/teaser/teaser.d.ts +31 -0
  1665. package/teaser/teaser.d.ts.map +1 -0
  1666. package/teaser-hero/teaser-hero.d.ts +26 -0
  1667. package/teaser-hero/teaser-hero.d.ts.map +1 -0
  1668. package/teaser-hero.d.ts +2 -0
  1669. package/teaser-hero.d.ts.map +1 -0
  1670. package/teaser-hero.js +51 -0
  1671. package/teaser-paid/teaser-paid.d.ts +20 -0
  1672. package/teaser-paid/teaser-paid.d.ts.map +1 -0
  1673. package/teaser-paid.d.ts +2 -0
  1674. package/teaser-paid.d.ts.map +1 -0
  1675. package/teaser-paid.js +28 -0
  1676. package/teaser.d.ts +2 -0
  1677. package/teaser.d.ts.map +1 -0
  1678. package/teaser.js +57 -0
  1679. package/time-input/time-input.d.ts +68 -0
  1680. package/time-input/time-input.d.ts.map +1 -0
  1681. package/time-input.d.ts +2 -0
  1682. package/time-input.d.ts.map +1 -0
  1683. package/time-input.js +176 -0
  1684. package/timetable-occupancy/timetable-occupancy.d.ts +23 -0
  1685. package/timetable-occupancy/timetable-occupancy.d.ts.map +1 -0
  1686. package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts +27 -0
  1687. package/timetable-occupancy-icon/timetable-occupancy-icon.d.ts.map +1 -0
  1688. package/timetable-occupancy-icon.d.ts +2 -0
  1689. package/timetable-occupancy-icon.d.ts.map +1 -0
  1690. package/timetable-occupancy-icon.js +53 -0
  1691. package/timetable-occupancy.d.ts +2 -0
  1692. package/timetable-occupancy.d.ts.map +1 -0
  1693. package/timetable-occupancy.js +58 -0
  1694. package/title/title-base.d.ts +26 -0
  1695. package/title/title-base.d.ts.map +1 -0
  1696. package/title/title.d.ts +16 -0
  1697. package/title/title.d.ts.map +1 -0
  1698. package/title.d.ts +3 -0
  1699. package/title.d.ts.map +1 -0
  1700. package/title.js +58 -0
  1701. package/toast/toast.d.ts +79 -0
  1702. package/toast/toast.d.ts.map +1 -0
  1703. package/toast.d.ts +2 -0
  1704. package/toast.d.ts.map +1 -0
  1705. package/toast.js +147 -0
  1706. package/toggle/toggle/toggle.d.ts +63 -0
  1707. package/toggle/toggle/toggle.d.ts.map +1 -0
  1708. package/toggle/toggle-option/toggle-option.d.ts +37 -0
  1709. package/toggle/toggle-option/toggle-option.d.ts.map +1 -0
  1710. package/toggle/toggle-option.d.ts +2 -0
  1711. package/toggle/toggle-option.d.ts.map +1 -0
  1712. package/toggle/toggle-option.js +89 -0
  1713. package/toggle/toggle.d.ts +2 -0
  1714. package/toggle/toggle.d.ts.map +1 -0
  1715. package/toggle/toggle.js +129 -0
  1716. package/toggle-check/toggle-check.d.ts +34 -0
  1717. package/toggle-check/toggle-check.d.ts.map +1 -0
  1718. package/toggle-check.d.ts +2 -0
  1719. package/toggle-check.d.ts.map +1 -0
  1720. package/toggle-check.js +56 -0
  1721. package/toggle.d.ts +3 -0
  1722. package/toggle.d.ts.map +1 -0
  1723. package/toggle.js +2 -0
  1724. package/train/train/train.d.ts +48 -0
  1725. package/train/train/train.d.ts.map +1 -0
  1726. package/train/train-blocked-passage/train-blocked-passage.d.ts +15 -0
  1727. package/train/train-blocked-passage/train-blocked-passage.d.ts.map +1 -0
  1728. package/train/train-blocked-passage.d.ts +2 -0
  1729. package/train/train-blocked-passage.d.ts.map +1 -0
  1730. package/train/train-blocked-passage.js +26 -0
  1731. package/train/train-formation/train-formation.d.ts +40 -0
  1732. package/train/train-formation/train-formation.d.ts.map +1 -0
  1733. package/train/train-formation.d.ts +2 -0
  1734. package/train/train-formation.d.ts.map +1 -0
  1735. package/train/train-formation.js +103 -0
  1736. package/train/train-wagon/train-wagon.d.ts +49 -0
  1737. package/train/train-wagon/train-wagon.d.ts.map +1 -0
  1738. package/train/train-wagon.d.ts +2 -0
  1739. package/train/train-wagon.d.ts.map +1 -0
  1740. package/train/train-wagon.js +148 -0
  1741. package/train/train.d.ts +2 -0
  1742. package/train/train.d.ts.map +1 -0
  1743. package/train/train.js +93 -0
  1744. package/train.d.ts +5 -0
  1745. package/train.d.ts.map +1 -0
  1746. package/train.js +4 -0
  1747. package/typography.css +79 -0
  1748. package/visual-checkbox/visual-checkbox.d.ts +21 -0
  1749. package/visual-checkbox/visual-checkbox.d.ts.map +1 -0
  1750. package/visual-checkbox.d.ts +2 -0
  1751. package/visual-checkbox.d.ts.map +1 -0
  1752. package/visual-checkbox.js +49 -0
@@ -0,0 +1,542 @@
1
+ import { css, LitElement, html, nothing } from "lit";
2
+ import { property, eventOptions, customElement } from "lit/decorators.js";
3
+ import { ref } from "lit/directives/ref.js";
4
+ import { hostContext } from "./core/dom.js";
5
+ const SbbBreakpointZeroMin = 0;
6
+ const SbbBreakpointZeroMax = 359;
7
+ const SbbBreakpointMicroMin = 360;
8
+ const SbbBreakpointMicroMax = 599;
9
+ const SbbBreakpointSmallMin = 600;
10
+ const SbbBreakpointSmallMax = 839;
11
+ const SbbBreakpointMediumMin = 840;
12
+ const SbbBreakpointMediumMax = 1023;
13
+ const SbbBreakpointLargeMin = 1024;
14
+ const SbbBreakpointLargeMax = 1279;
15
+ const SbbBreakpointWideMin = 1280;
16
+ const SbbBreakpointWideMax = 1439;
17
+ const SbbBreakpointUltraMin = 1440;
18
+ const SbbBreakpointUltraMax = 2579;
19
+ const SbbTypoScaleDefault = 16;
20
+ const style = css`/**
21
+ * Better font rendering (on OS X)
22
+ * http://maximilianhoffmann.com/posts/better-font-rendering-on-osx
23
+ *
24
+ * Usage:
25
+ *
26
+ * .var_dark_on_light {
27
+ * @include font-smoothing;
28
+ * }
29
+ * .var_light_on_dark {
30
+ * @include font-smoothing-reset;
31
+ * }
32
+ */
33
+ /** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
34
+ *,
35
+ ::before,
36
+ ::after {
37
+ box-sizing: border-box;
38
+ }
39
+
40
+ :host {
41
+ --sbb-image-border-radius: var(--sbb-border-radius-4x);
42
+ --sbb-image-aspect-ratio: auto;
43
+ --sbb-image-animation-duration: var(
44
+ --sbb-disable-animation-zero-time,
45
+ var(--sbb-animation-duration-4x)
46
+ );
47
+ display: block;
48
+ }
49
+
50
+ :host([aspect-ratio="1-1"]) {
51
+ --sbb-image-aspect-ratio: 1 / 1;
52
+ }
53
+
54
+ :host([aspect-ratio="1-2"]) {
55
+ --sbb-image-aspect-ratio: 1 / 2;
56
+ }
57
+
58
+ :host([aspect-ratio="2-1"]) {
59
+ --sbb-image-aspect-ratio: 2 / 1;
60
+ }
61
+
62
+ :host([aspect-ratio="2-3"]) {
63
+ --sbb-image-aspect-ratio: 2 / 3;
64
+ }
65
+
66
+ :host([aspect-ratio="3-2"]) {
67
+ --sbb-image-aspect-ratio: 3 / 2;
68
+ }
69
+
70
+ :host([aspect-ratio="3-4"]) {
71
+ --sbb-image-aspect-ratio: 3 / 4;
72
+ }
73
+
74
+ :host([aspect-ratio="4-3"]) {
75
+ --sbb-image-aspect-ratio: 4 / 3;
76
+ }
77
+
78
+ :host([aspect-ratio="4-5"]) {
79
+ --sbb-image-aspect-ratio: 4 / 5;
80
+ }
81
+
82
+ :host([aspect-ratio="5-4"]) {
83
+ --sbb-image-aspect-ratio: 5 / 4;
84
+ }
85
+
86
+ :host([aspect-ratio="16-9"]) {
87
+ --sbb-image-aspect-ratio: 16 / 9;
88
+ }
89
+
90
+ :host([aspect-ratio="9-16"]) {
91
+ --sbb-image-aspect-ratio: 9 / 16;
92
+ }
93
+
94
+ :host([data-teaser]) {
95
+ --sbb-image-aspect-ratio: 1 / 1;
96
+ }
97
+ @media (min-width: calc(37.5rem)) {
98
+ :host([data-teaser]) {
99
+ --sbb-image-aspect-ratio: 16 / 9;
100
+ }
101
+ }
102
+
103
+ :host(:is([border-radius=none], [data-teaser])) {
104
+ --sbb-image-border-radius: 0;
105
+ }
106
+
107
+ :host([border-radius=round]:not([data-teaser])) {
108
+ --sbb-image-border-radius: var(--sbb-border-radius-infinity);
109
+ }
110
+
111
+ .sbb-image__figure {
112
+ margin: 0;
113
+ }
114
+
115
+ .sbb-image__img {
116
+ position: absolute;
117
+ inset: 0;
118
+ opacity: 0.000001;
119
+ }
120
+ :host([data-loaded]) .sbb-image__img {
121
+ opacity: 0.999999;
122
+ }
123
+
124
+ :host([data-loaded]) .sbb-image__blurred {
125
+ opacity: 0;
126
+ }
127
+
128
+ :is(.sbb-image__img, .sbb-image__blurred) {
129
+ width: 100%;
130
+ height: 100%;
131
+ object-fit: cover;
132
+ transition: opacity var(--sbb-image-animation-duration) var(--sbb-animation-easing);
133
+ }
134
+
135
+ .sbb-image__wrapper {
136
+ position: relative;
137
+ overflow: hidden;
138
+ max-width: 100%;
139
+ border-radius: var(--sbb-image-border-radius);
140
+ aspect-ratio: var(--sbb-image-aspect-ratio);
141
+ }
142
+
143
+ .sbb-image__caption {
144
+ --sbb-text-font-size: var(--sbb-font-size-text-xs);
145
+ font-family: var(--sbb-typo-font-family);
146
+ font-weight: normal;
147
+ line-height: var(--sbb-typo-line-height-body-text);
148
+ letter-spacing: var(--sbb-typo-letter-spacing-body-text);
149
+ font-size: var(--sbb-text-font-size);
150
+ margin-block-start: var(--sbb-spacing-fixed-4x);
151
+ }`;
152
+ var __freeze = Object.freeze;
153
+ var __defProp = Object.defineProperty;
154
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
155
+ var __decorateClass = (decorators, target, key, kind) => {
156
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
157
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
158
+ if (decorator = decorators[i])
159
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
160
+ if (kind && result) __defProp(target, key, result);
161
+ return result;
162
+ };
163
+ var __template = (cooked, raw) => __freeze(__defProp(cooked, "raw", { value: __freeze(cooked.slice()) }));
164
+ var _a;
165
+ const imageHelperGetBreakpoints = (jsonString) => {
166
+ if (!jsonString || jsonString.length === 0) {
167
+ return [];
168
+ }
169
+ const logWarning = () => console.warn(
170
+ "sbb-image error: attribute breakpoints has wrong data format. Reference the documentation to see how you should format the data for this attribute."
171
+ );
172
+ let jsonObject;
173
+ try {
174
+ jsonObject = JSON.parse(jsonString);
175
+ } catch (error) {
176
+ logWarning == null ? void 0 : logWarning();
177
+ return [];
178
+ }
179
+ if (!jsonObject.breakpoints || jsonObject.breakpoints.length === 0) {
180
+ logWarning == null ? void 0 : logWarning();
181
+ return [];
182
+ }
183
+ if (!Array.isArray(jsonObject.breakpoints)) {
184
+ logWarning == null ? void 0 : logWarning();
185
+ return [];
186
+ }
187
+ let wrongKeyDetected = false;
188
+ let missingKeyDetected = false;
189
+ const allowedKeys = ["image", "mediaQueries"];
190
+ jsonObject.breakpoints.forEach((breakpoint) => {
191
+ const breakpointKeys = Object.keys(breakpoint);
192
+ breakpointKeys.forEach((breakpointKey) => {
193
+ if (!allowedKeys.includes(breakpointKey)) {
194
+ wrongKeyDetected = true;
195
+ }
196
+ });
197
+ allowedKeys.forEach((allowedKey) => {
198
+ if (!breakpointKeys.includes(allowedKey)) {
199
+ missingKeyDetected = true;
200
+ }
201
+ });
202
+ });
203
+ if (wrongKeyDetected || missingKeyDetected) {
204
+ logWarning == null ? void 0 : logWarning();
205
+ return [];
206
+ }
207
+ return jsonObject.breakpoints;
208
+ };
209
+ const eventListenerOptions = {
210
+ once: true,
211
+ passive: true
212
+ };
213
+ const pxToRem = (px) => {
214
+ return px / SbbTypoScaleDefault;
215
+ };
216
+ const breakpointMap = {
217
+ "sbb-breakpoint-zero-min": pxToRem(SbbBreakpointZeroMin),
218
+ "sbb-breakpoint-zero-max": pxToRem(SbbBreakpointZeroMax),
219
+ "sbb-breakpoint-micro-min": pxToRem(SbbBreakpointMicroMin),
220
+ "sbb-breakpoint-micro-max": pxToRem(SbbBreakpointMicroMax),
221
+ "sbb-breakpoint-small-min": pxToRem(SbbBreakpointSmallMin),
222
+ "sbb-breakpoint-small-max": pxToRem(SbbBreakpointSmallMax),
223
+ "sbb-breakpoint-medium-min": pxToRem(SbbBreakpointMediumMin),
224
+ "sbb-breakpoint-medium-max": pxToRem(SbbBreakpointMediumMax),
225
+ "sbb-breakpoint-large-min": pxToRem(SbbBreakpointLargeMin),
226
+ "sbb-breakpoint-large-max": pxToRem(SbbBreakpointLargeMax),
227
+ "sbb-breakpoint-wide-min": pxToRem(SbbBreakpointWideMin),
228
+ "sbb-breakpoint-wide-max": pxToRem(SbbBreakpointWideMax),
229
+ "sbb-breakpoint-ultra-min": pxToRem(SbbBreakpointUltraMin),
230
+ "sbb-breakpoint-ultra-max": pxToRem(SbbBreakpointUltraMax)
231
+ };
232
+ let SbbImageElement = class extends LitElement {
233
+ constructor() {
234
+ super(...arguments);
235
+ this._config = {
236
+ nonRetinaQuality: "45",
237
+ retinaQuality: "20"
238
+ };
239
+ this.skipLqip = false;
240
+ this.copyrightHolder = "Organization";
241
+ this.customFocalPoint = false;
242
+ this.decoding = "auto";
243
+ this.focalPointDebug = false;
244
+ this.focalPointX = 1;
245
+ this.focalPointY = 1;
246
+ this.importance = "high";
247
+ this.loading = "eager";
248
+ this.borderRadius = "default";
249
+ this.aspectRatio = "16-9";
250
+ }
251
+ /** Whether the image is finished loading or failed to load. */
252
+ get complete() {
253
+ var _a2, _b, _c;
254
+ return ((_c = (_b = (_a2 = this.shadowRoot) == null ? void 0 : _a2.querySelector) == null ? void 0 : _b.call(_a2, ".sbb-image__img")) == null ? void 0 : _c.complete) ?? false;
255
+ }
256
+ connectedCallback() {
257
+ super.connectedCallback();
258
+ this.toggleAttribute(
259
+ "data-teaser",
260
+ !!hostContext("sbb-teaser-hero", this) || !!this.closest("sbb-teaser-paid")
261
+ );
262
+ }
263
+ updated(changedProperties) {
264
+ super.updated(changedProperties);
265
+ if (!this._captionElement) {
266
+ return;
267
+ }
268
+ this._linksInCaption = this._captionElement.querySelectorAll("a");
269
+ if (!this._linksInCaption) {
270
+ return;
271
+ }
272
+ this._addFocusAbilityToLinksInCaption();
273
+ }
274
+ async firstUpdated(changedProperties) {
275
+ super.firstUpdated(changedProperties);
276
+ await this.updateComplete;
277
+ if (this.complete) {
278
+ this.toggleAttribute("data-loaded", true);
279
+ }
280
+ }
281
+ _logPerformanceMarks() {
282
+ if (this.performanceMark) {
283
+ performance.clearMarks(this.performanceMark);
284
+ performance.mark(this.performanceMark);
285
+ }
286
+ }
287
+ _matchMediaQueryDesignToken(breakpointSizeName) {
288
+ const value = breakpointMap[breakpointSizeName];
289
+ return value ? `${value}rem` : "";
290
+ }
291
+ _addFocusAbilityToLinksInCaption() {
292
+ var _a2;
293
+ (_a2 = this._linksInCaption) == null ? void 0 : _a2.forEach((link) => {
294
+ link.removeAttribute("tabindex");
295
+ });
296
+ }
297
+ _prepareImageUrl(baseUrl, lquip = false) {
298
+ if (!baseUrl || baseUrl === "") {
299
+ return "";
300
+ }
301
+ const isFullyQualifiedUrl = !!baseUrl.match(/^\w+:\/\//);
302
+ const imageUrlObj = isFullyQualifiedUrl ? new URL(baseUrl) : new URL(`http://noop/${baseUrl}`);
303
+ if (lquip) {
304
+ imageUrlObj.searchParams.append("blur", "100");
305
+ imageUrlObj.searchParams.append("w", "100");
306
+ imageUrlObj.searchParams.append("h", "56");
307
+ } else {
308
+ imageUrlObj.searchParams.append("auto", "format,compress,cs=tinysrgb");
309
+ }
310
+ if (this.customFocalPoint) {
311
+ imageUrlObj.searchParams.append("fit", "crop");
312
+ imageUrlObj.searchParams.append("crop", "focalpoint");
313
+ imageUrlObj.searchParams.append("fp-x", this.focalPointX.toString(10));
314
+ imageUrlObj.searchParams.append("fp-y", this.focalPointY.toString(10));
315
+ imageUrlObj.searchParams.append("fp-z", "1");
316
+ }
317
+ if (this.focalPointDebug) {
318
+ imageUrlObj.searchParams.append("fp-debug", "true");
319
+ }
320
+ return isFullyQualifiedUrl ? imageUrlObj.href : imageUrlObj.pathname.substring(1) + imageUrlObj.search;
321
+ }
322
+ _preparePictureSizeConfigs() {
323
+ let pictureSizesConfig;
324
+ if (this.pictureSizesConfig) {
325
+ pictureSizesConfig = this.pictureSizesConfig;
326
+ } else {
327
+ pictureSizesConfig = `{
328
+ "breakpoints": [
329
+ {
330
+ "image": {
331
+ "height": 675,
332
+ "width": 1200
333
+ },
334
+ "mediaQueries": [
335
+ {
336
+ "conditionFeature": "min-width",
337
+ "conditionFeatureValue": {
338
+ "lyneDesignToken": true,
339
+ "value": "sbb-breakpoint-large-min"
340
+ },
341
+ "conditionOperator": false
342
+ }
343
+ ]
344
+ },
345
+ {
346
+ "image": {
347
+ "height": 549,
348
+ "width": 976
349
+ },
350
+ "mediaQueries": [
351
+ {
352
+ "conditionFeature": "min-width",
353
+ "conditionFeatureValue": {
354
+ "lyneDesignToken": true,
355
+ "value": "sbb-breakpoint-small-min"
356
+ },
357
+ "conditionOperator": false
358
+ }
359
+ ]
360
+ },
361
+ {
362
+ "image": {
363
+ "height": 180,
364
+ "width": 320
365
+ },
366
+ "mediaQueries": [
367
+ {
368
+ "conditionFeature": "max-width",
369
+ "conditionFeatureValue": {
370
+ "lyneDesignToken": true,
371
+ "value": "sbb-breakpoint-micro-max"
372
+ },
373
+ "conditionOperator": false
374
+ }
375
+ ]
376
+ }
377
+ ]
378
+ }`;
379
+ }
380
+ return imageHelperGetBreakpoints(pictureSizesConfig);
381
+ }
382
+ _createMediaQueryString(mediaQueries) {
383
+ let mediaQuery = "";
384
+ mediaQueries.forEach((mq) => {
385
+ const mqCondition = mq.conditionFeature;
386
+ let mqValue;
387
+ if (mq.conditionFeatureValue.lyneDesignToken) {
388
+ mqValue = this._matchMediaQueryDesignToken(mq.conditionFeatureValue.value);
389
+ } else {
390
+ mqValue = mq.conditionFeatureValue.value;
391
+ }
392
+ const mqCombiner = mq.conditionOperator ? ` ${mq.conditionOperator} ` : "";
393
+ mediaQuery += `(${mqCondition}: ${mqValue})${mqCombiner}`;
394
+ });
395
+ return mediaQuery;
396
+ }
397
+ _imageLoaded() {
398
+ this._logPerformanceMarks();
399
+ this.toggleAttribute("data-loaded", true);
400
+ this.dispatchEvent(new Event("load"));
401
+ }
402
+ render() {
403
+ let { caption } = this;
404
+ let schemaData = "";
405
+ const imageUrlLQIP = this._prepareImageUrl(this.imageSrc, true);
406
+ const imageUrlWithParams = this._prepareImageUrl(this.imageSrc, false);
407
+ if (this.loading === "lazy") {
408
+ this.decoding = "async";
409
+ this.importance = "low";
410
+ }
411
+ if (this.copyright) {
412
+ caption = `${this.caption} ©${this.copyright}`;
413
+ schemaData = `{
414
+ "@context": "https://schema.org",
415
+ "@type": "Photograph",
416
+ "image": "${this.imageSrc}",
417
+ "copyrightHolder": {
418
+ "@type": "${this.copyrightHolder}",
419
+ "name": "${this.copyright}"
420
+ }
421
+ }`;
422
+ }
423
+ const pictureSizeConfigs = this._preparePictureSizeConfigs();
424
+ return html`
425
+ <figure class="sbb-image__figure">
426
+ <div class="sbb-image__wrapper">
427
+ ${!this.skipLqip ? html`<img
428
+ alt=""
429
+ class="sbb-image__blurred"
430
+ src=${imageUrlLQIP}
431
+ width="1000"
432
+ height="562"
433
+ loading=${this.loading ?? nothing}
434
+ decoding=${this.decoding ?? nothing}
435
+ />` : nothing}
436
+
437
+ <picture>
438
+ <!-- render picture element sources -->
439
+ ${pictureSizeConfigs.map((config) => {
440
+ const imageHeight = config.image.height;
441
+ const imageWidth = config.image.width;
442
+ const mediaQuery = this._createMediaQueryString(config.mediaQueries);
443
+ return [
444
+ html` <source
445
+ media=${`${mediaQuery}`}
446
+ sizes=${`${imageWidth}px`}
447
+ srcset=${`${imageUrlWithParams}&w=${imageWidth}&h=${imageHeight}&q=${this._config.nonRetinaQuality} ${imageWidth}w, ${imageUrlWithParams}&w=${imageWidth * 2}&h=${imageHeight * 2}&q=${this._config.retinaQuality} ${imageWidth * 2}w`}
448
+ ></source>`
449
+ ];
450
+ })}
451
+ <img
452
+ alt=${this.alt || ""}
453
+ @load=${this._imageLoaded}
454
+ @error=${() => this.dispatchEvent(new Event("error"))}
455
+ class="sbb-image__img"
456
+ src=${this.imageSrc}
457
+ width="1000"
458
+ height="562"
459
+ loading=${this.loading ?? nothing}
460
+ decoding=${this.decoding ?? nothing}
461
+ .fetchPriority=${this.importance ?? nothing}
462
+ />
463
+ </picture>
464
+ </div>
465
+ ${caption ? html`<figcaption
466
+ class="sbb-image__caption"
467
+ .innerHTML=${caption}
468
+ ${ref((el) => {
469
+ this._captionElement = el;
470
+ })}
471
+ ></figcaption>` : nothing}
472
+ ${schemaData ? html(_a || (_a = __template(['<script type="application/ld+json" .innerHTML=', "><\/script>"])), schemaData) : nothing}
473
+ </figure>
474
+ `;
475
+ }
476
+ };
477
+ SbbImageElement.styles = style;
478
+ SbbImageElement.events = {
479
+ error: "error",
480
+ load: "load"
481
+ };
482
+ __decorateClass([
483
+ property()
484
+ ], SbbImageElement.prototype, "alt", 2);
485
+ __decorateClass([
486
+ property({ attribute: "skip-lqip", type: Boolean })
487
+ ], SbbImageElement.prototype, "skipLqip", 2);
488
+ __decorateClass([
489
+ property()
490
+ ], SbbImageElement.prototype, "caption", 2);
491
+ __decorateClass([
492
+ property()
493
+ ], SbbImageElement.prototype, "copyright", 2);
494
+ __decorateClass([
495
+ property({ attribute: "copyright-holder" })
496
+ ], SbbImageElement.prototype, "copyrightHolder", 2);
497
+ __decorateClass([
498
+ property({ attribute: "custom-focal-point", type: Boolean })
499
+ ], SbbImageElement.prototype, "customFocalPoint", 2);
500
+ __decorateClass([
501
+ property()
502
+ ], SbbImageElement.prototype, "decoding", 2);
503
+ __decorateClass([
504
+ property({ attribute: "focal-point-debug", type: Boolean })
505
+ ], SbbImageElement.prototype, "focalPointDebug", 2);
506
+ __decorateClass([
507
+ property({ attribute: "focal-point-x", type: Number })
508
+ ], SbbImageElement.prototype, "focalPointX", 2);
509
+ __decorateClass([
510
+ property({ attribute: "focal-point-y", type: Number })
511
+ ], SbbImageElement.prototype, "focalPointY", 2);
512
+ __decorateClass([
513
+ property({ attribute: "image-src" })
514
+ ], SbbImageElement.prototype, "imageSrc", 2);
515
+ __decorateClass([
516
+ property()
517
+ ], SbbImageElement.prototype, "importance", 2);
518
+ __decorateClass([
519
+ property()
520
+ ], SbbImageElement.prototype, "loading", 2);
521
+ __decorateClass([
522
+ property({ attribute: "performance-mark" })
523
+ ], SbbImageElement.prototype, "performanceMark", 2);
524
+ __decorateClass([
525
+ property({ attribute: "picture-sizes-config" })
526
+ ], SbbImageElement.prototype, "pictureSizesConfig", 2);
527
+ __decorateClass([
528
+ property({ attribute: "border-radius", reflect: true })
529
+ ], SbbImageElement.prototype, "borderRadius", 2);
530
+ __decorateClass([
531
+ property({ attribute: "aspect-ratio", reflect: true })
532
+ ], SbbImageElement.prototype, "aspectRatio", 2);
533
+ __decorateClass([
534
+ eventOptions(eventListenerOptions)
535
+ ], SbbImageElement.prototype, "_imageLoaded", 1);
536
+ SbbImageElement = __decorateClass([
537
+ customElement("sbb-image")
538
+ ], SbbImageElement);
539
+ export {
540
+ SbbImageElement
541
+ };
542
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9Ac2JiLWVzdGEvbHluZS1kZXNpZ24tdG9rZW5zL2Rpc3QvanMvc2JiLXRva2Vucy5tanMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvaW1hZ2UvaW1hZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBEbyBub3QgZWRpdCBkaXJlY3RseVxuICogR2VuZXJhdGVkIG9uIFR1ZSwgMjggTWF5IDIwMjQgMTE6MTE6MDMgR01UXG4gKi9cblxuZXhwb3J0IGNvbnN0IFNiYkFuaW1hdGlvbkR1cmF0aW9uMXggPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25EdXJhdGlvbjJ4ID0gODA7XG5leHBvcnQgY29uc3QgU2JiQW5pbWF0aW9uRHVyYXRpb24zeCA9IDEyMDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25EdXJhdGlvbjR4ID0gMTYwO1xuZXhwb3J0IGNvbnN0IFNiYkFuaW1hdGlvbkR1cmF0aW9uNXggPSAyMDA7XG5leHBvcnQgY29uc3QgU2JiQW5pbWF0aW9uRHVyYXRpb242eCA9IDI0MDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25EdXJhdGlvbjEyeCA9IDQ4MDtcbmV4cG9ydCBjb25zdCBTYmJBbmltYXRpb25FYXNpbmcgPSBcImN1YmljLWJlemllciguNDcsIC4xLCAxLCAuNjMpXCI7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyV2lkdGgxeCA9IDE7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyV2lkdGgyeCA9IDI7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyV2lkdGgzeCA9IDM7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyUmFkaXVzMXggPSAyO1xuZXhwb3J0IGNvbnN0IFNiYkJvcmRlclJhZGl1czJ4ID0gNDtcbmV4cG9ydCBjb25zdCBTYmJCb3JkZXJSYWRpdXM0eCA9IDg7XG5leHBvcnQgY29uc3QgU2JiQm9yZGVyUmFkaXVzNnggPSAxMjtcbmV4cG9ydCBjb25zdCBTYmJCb3JkZXJSYWRpdXM4eCA9IDE2O1xuZXhwb3J0IGNvbnN0IFNiYkJvcmRlclJhZGl1czE2eCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRaZXJvTWluID0gMDtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50WmVyb01heCA9IDM1OTtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50TWljcm9NaW4gPSAzNjA7XG5leHBvcnQgY29uc3QgU2JiQnJlYWtwb2ludE1pY3JvTWF4ID0gNTk5O1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRTbWFsbE1pbiA9IDYwMDtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50U21hbGxNYXggPSA4Mzk7XG5leHBvcnQgY29uc3QgU2JiQnJlYWtwb2ludE1lZGl1bU1pbiA9IDg0MDtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50TWVkaXVtTWF4ID0gMTAyMztcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50TGFyZ2VNaW4gPSAxMDI0O1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRMYXJnZU1heCA9IDEyNzk7XG5leHBvcnQgY29uc3QgU2JiQnJlYWtwb2ludFdpZGVNaW4gPSAxMjgwO1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRXaWRlTWF4ID0gMTQzOTtcbmV4cG9ydCBjb25zdCBTYmJCcmVha3BvaW50VWx0cmFNaW4gPSAxNDQwO1xuZXhwb3J0IGNvbnN0IFNiYkJyZWFrcG9pbnRVbHRyYU1heCA9IDI1Nzk7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFjayA9IFwiIzAwMDAwMFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQmxhY2tBbHBoYTAgPSBcInJnYmEoMCwgMCwgMCwgMClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckJsYWNrQWxwaGExMCA9IFwicmdiYSgwLCAwLCAwLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFja0FscGhhMTUgPSBcInJnYmEoMCwgMCwgMCwgMC4xNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckJsYWNrQWxwaGEyMCA9IFwicmdiYSgwLCAwLCAwLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFja0FscGhhMzAgPSBcInJnYmEoMCwgMCwgMCwgMC4zKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQmxhY2tBbHBoYTQwID0gXCJyZ2JhKDAsIDAsIDAsIDAuNClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckJsYWNrQWxwaGE1MCA9IFwicmdiYSgwLCAwLCAwLCAwLjUpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCbGFja0FscGhhNjAgPSBcInJnYmEoMCwgMCwgMCwgMC42KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQmxhY2tBbHBoYTcwID0gXCJyZ2JhKDAsIDAsIDAsIDAuNylcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvck1pZG5pZ2h0ID0gXCIjMTUxNTE1XCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JDaGFyY29hbCA9IFwiIzIxMjEyMVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9ySXJvbiA9IFwiIzQ0NDQ0NFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQW50aHJhY2l0ZSA9IFwiIzVhNWE1YVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yR3Jhbml0ZSA9IFwiIzY4Njg2OFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yTWV0YWwgPSBcIiM3Njc2NzZcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvck1ldGFsQWxwaGEwID0gXCJyZ2JhKDExOCwgMTE4LCAxMTgsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JNZXRhbEFscGhhMjAgPSBcInJnYmEoMTE4LCAxMTgsIDExOCwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU21va2UgPSBcIiM4ZDhkOGRcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclNtb2tlQWxwaGEwID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JTbW9rZUFscGhhNSA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjA1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU21va2VBbHBoYTEwID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclNtb2tlQWxwaGEyMCA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JTdG9ybSA9IFwiI2E4YThhOFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yR3JhcGhpdGUgPSBcIiNiN2I3YjdcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckNlbWVudCA9IFwiI2JkYmRiZFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yQ2VtZW50QWxwaGEwID0gXCJyZ2JhKDE4OSwgMTg5LCAxODksIDApXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JDZW1lbnRBbHBoYTIwID0gXCJyZ2JhKDE4OSwgMTg5LCAxODksIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclBsYXRpbnVtID0gXCIjY2RjZGNkXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JQbGF0aW51bUFscGhhMCA9IFwicmdiYSgyMDUsIDIwNSwgMjA1LCAwKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUGxhdGludW1BbHBoYTIwID0gXCJyZ2JhKDIwNSwgMjA1LCAyMDUsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckFsdW1pbml1bSA9IFwiI2QyZDJkMlwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU2lsdmVyID0gXCIjZGNkY2RjXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JDbG91ZCA9IFwiI2U1ZTVlNVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yTWlsayA9IFwiI2Y2ZjZmNlwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkID0gXCIjZWIwMDAwXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JSZWRBbHBoYTAgPSBcInJnYmEoMjM1LCAwLCAwLCAwKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkQWxwaGEyMCA9IFwicmdiYSgyMzUsIDAsIDAsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZEFscGhhOTAgPSBcInJnYmEoMjM1LCAwLCAwLCAwLjkpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JSZWRNb2RlRGFyayA9IFwiI2ZmMzgzOFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkMTI1ID0gXCIjYzYwMDE4XCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JSZWQxMjVBbHBoYTAgPSBcInJnYmEoMTk4LCAwLCAyNCwgMClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclJlZDEyNUFscGhhMjAgPSBcInJnYmEoMTk4LCAwLCAyNCwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUmVkMTUwID0gXCIjYTIwMDEzXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JXaGl0ZSA9IFwiI2ZmZmZmZlwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yV2hpdGVBbHBoYTAgPSBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMClcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvcldoaXRlQWxwaGEyMCA9IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JXaGl0ZUFscGhhMzAgPSBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yV2hpdGVBbHBoYTUwID0gXCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvcldoaXRlQWxwaGE2MCA9IFwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JXaGl0ZUFscGhhNzAgPSBcInJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yU2t5ID0gXCIjMDA3OWM3XCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JOaWdodCA9IFwiIzE0M2E4NVwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yVmlvbGV0ID0gXCIjNmYyMjgyXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JQaW5rID0gXCIjY2Y0MDgyXCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JBdXR1bW4gPSBcIiNlODRlMTBcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvck9yYW5nZSA9IFwiI2YyN2UwMFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yUGVhY2ggPSBcIiNmY2JiMDBcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvckxlbW9uID0gXCIjZmZkZTE1XCI7XG5leHBvcnQgY29uc3QgU2JiQ29sb3JCcm93biA9IFwiI2I3NjAwMFwiO1xuZXhwb3J0IGNvbnN0IFNiYkNvbG9yR3JlZW4gPSBcIiMwMDhhMzZcIjtcbmV4cG9ydCBjb25zdCBTYmJDb2xvclR1cnF1b2lzZSA9IFwiIzAwYTU5YlwiO1xuZXhwb3J0IGNvbnN0IFNiYkZvY3VzT3V0bGluZU9mZnNldCA9IDM7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRDb2x1bW5zWmVybyA9IDQ7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRDb2x1bW5zTWljcm8gPSA0O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkQ29sdW1uc1NtYWxsID0gNDtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZENvbHVtbnNNZWRpdW0gPSA4O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkQ29sdW1uc0xhcmdlID0gODtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZENvbHVtbnNXaWRlID0gMTI7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRDb2x1bW5zVWx0cmEgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZEd1dHRlclJlc3BvbnNpdmVaZXJvID0gMTY7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRHdXR0ZXJSZXNwb25zaXZlTWljcm8gPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlR3JpZEd1dHRlclJlc3BvbnNpdmVTbWFsbCA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkR3V0dGVyUmVzcG9uc2l2ZU1lZGl1bSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkR3V0dGVyUmVzcG9uc2l2ZUxhcmdlID0gMzI7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZUdyaWRHdXR0ZXJSZXNwb25zaXZlV2lkZSA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VHcmlkR3V0dGVyUmVzcG9uc2l2ZVVsdHJhID0gMzI7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZU9mZnNldFJlc3BvbnNpdmVaZXJvID0gMTY7XG5leHBvcnQgY29uc3QgU2JiTGF5b3V0QmFzZU9mZnNldFJlc3BvbnNpdmVNaWNybyA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VPZmZzZXRSZXNwb25zaXZlU21hbGwgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlT2Zmc2V0UmVzcG9uc2l2ZU1lZGl1bSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VPZmZzZXRSZXNwb25zaXZlTGFyZ2UgPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlT2Zmc2V0UmVzcG9uc2l2ZVdpZGUgPSA3MjtcbmV4cG9ydCBjb25zdCBTYmJMYXlvdXRCYXNlT2Zmc2V0UmVzcG9uc2l2ZVVsdHJhID0gMTIwO1xuZXhwb3J0IGNvbnN0IFNiYkxheW91dEJhc2VQYWdlTWF4V2lkdGggPSAxMjAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM1NoYWRvdzFPZmZzZXRYID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cxT2Zmc2V0WSA9IDI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU2hhZG93MUJsdXIgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cxU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cyT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU2hhZG93Mk9mZnNldFkgPSAxO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM1NoYWRvdzJCbHVyID0gNDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTaGFkb3cyU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNTb2Z0MUNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMDUpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU29mdDJDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU29mdE5lZ2F0aXZlMUNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMTUpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwzU29mdE5lZ2F0aXZlMkNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNIYXJkMUNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNIYXJkMkNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDNIYXJkTmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4zKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsM0hhcmROZWdhdGl2ZTJDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjQpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1U2hhZG93MU9mZnNldFggPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzFPZmZzZXRZID0gNDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTaGFkb3cxQmx1ciA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzFTcHJlYWQgPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzJPZmZzZXRYID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTaGFkb3cyT2Zmc2V0WSA9IDE7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1U2hhZG93MkJsdXIgPSA4O1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNoYWRvdzJTcHJlYWQgPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNVNvZnQxQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4wNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTb2Z0MkNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTb2Z0TmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4xNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDVTb2Z0TmVnYXRpdmUyQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNUhhcmQxQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4xKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNUhhcmQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsNUhhcmROZWdhdGl2ZTFDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjMpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw1SGFyZE5lZ2F0aXZlMkNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuNClcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cxT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93MU9mZnNldFkgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cxQmx1ciA9IDEyODtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cxU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlTaGFkb3cyT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93Mk9mZnNldFkgPSA0O1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNoYWRvdzJCbHVyID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U2hhZG93MlNwcmVhZCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5U29mdDFDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjA1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNvZnQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4xKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNvZnROZWdhdGl2ZTFDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjE1KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsOVNvZnROZWdhdGl2ZTJDb2xvciA9IFwicmdiYSgwLCAwLCAwLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5SGFyZDFDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5SGFyZDJDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjIpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWw5SGFyZE5lZ2F0aXZlMUNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMylcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDlIYXJkTmVnYXRpdmUyQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC40KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cxT2Zmc2V0WCA9IDA7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzFPZmZzZXRZID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzFCbHVyID0gMTkyO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cxU3ByZWFkID0gMDtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExU2hhZG93Mk9mZnNldFggPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTaGFkb3cyT2Zmc2V0WSA9IDQ7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzJCbHVyID0gNjQ7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNoYWRvdzJTcHJlYWQgPSAwO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTb2Z0MUNvbG9yID0gXCJyZ2JhKDE0MSwgMTQxLCAxNDEsIDAuMDUpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMVNvZnQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4xKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFTb2Z0TmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4xNSlcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExU29mdE5lZ2F0aXZlMkNvbG9yID0gXCJyZ2JhKDAsIDAsIDAsIDAuMilcIjtcbmV4cG9ydCBjb25zdCBTYmJTaGFkb3dFbGV2YXRpb25MZXZlbDExSGFyZDFDb2xvciA9IFwicmdiYSgxNDEsIDE0MSwgMTQxLCAwLjEpXCI7XG5leHBvcnQgY29uc3QgU2JiU2hhZG93RWxldmF0aW9uTGV2ZWwxMUhhcmQyQ29sb3IgPSBcInJnYmEoMTQxLCAxNDEsIDE0MSwgMC4yKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFIYXJkTmVnYXRpdmUxQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC4zKVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNoYWRvd0VsZXZhdGlvbkxldmVsMTFIYXJkTmVnYXRpdmUyQ29sb3IgPSBcInJnYmEoMCwgMCwgMCwgMC40KVwiO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHh4c1plcm8gPSAyODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4eHNNaWNybyA9IDI4O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHh4c1NtYWxsID0gMjg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHhzTWVkaXVtID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHhzTGFyZ2UgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4eHNXaWRlID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHhzVWx0cmEgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4c1plcm8gPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFh4c01pY3JvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHNTbWFsbCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHhzTWVkaXVtID0gMzY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRYeHNMYXJnZSA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHhzV2lkZSA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHhzVWx0cmEgPSAzNjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzWmVybyA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNNaWNybyA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNTbWFsbCA9IDM2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNNZWRpdW0gPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzTGFyZ2UgPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFhzV2lkZSA9IDQwO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50WHNVbHRyYSA9IDQwO1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50U1plcm8gPSA0NDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFNNaWNybyA9IDQ0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50U1NtYWxsID0gNDQ7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRTTWVkaXVtID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRTTGFyZ2UgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudFNXaWRlID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRTVWx0cmEgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudE1aZXJvID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRNTWljcm8gPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudE1TbWFsbCA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TU1lZGl1bSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TUxhcmdlID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRNV2lkZSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TVVsdHJhID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRMWmVybyA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TE1pY3JvID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU2l6ZUVsZW1lbnRMU21hbGwgPSA1NjtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudExNZWRpdW0gPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudExMYXJnZSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVFbGVtZW50TFdpZGUgPSA2NDtcbmV4cG9ydCBjb25zdCBTYmJTaXplRWxlbWVudExVbHRyYSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVJY29uVWlTbWFsbCA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNpemVJY29uVWlNZWRpdW0gPSAzNjtcbmV4cG9ydCBjb25zdCBTYmJTaXplSWNvblVpTGFyZ2UgPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nRml4ZWQxeCA9IDQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMnggPSA4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDN4ID0gMTI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkNHggPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nRml4ZWQ1eCA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDZ4ID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkN3ggPSAyODtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nRml4ZWQ4eCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdGaXhlZDl4ID0gMzY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTB4ID0gNDA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTJ4ID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTR4ID0gNTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTZ4ID0gNjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMTh4ID0gNzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMjB4ID0gODA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMjR4ID0gOTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ0ZpeGVkMzB4ID0gMTIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHh4c1plcm8gPSAxMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4eHNNaWNybyA9IDEyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHh4c1NtYWxsID0gMTI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHhzTWVkaXVtID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHhzTGFyZ2UgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4eHNXaWRlID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHhzVWx0cmEgPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4c1plcm8gPSAxNjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4c01pY3JvID0gMTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHNTbWFsbCA9IDE2O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhzTWVkaXVtID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeHNMYXJnZSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhzV2lkZSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhzVWx0cmEgPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzWmVybyA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNNaWNybyA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNTbWFsbCA9IDIwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNNZWRpdW0gPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzTGFyZ2UgPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVhzV2lkZSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHNVbHRyYSA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlU1plcm8gPSAyNDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVNNaWNybyA9IDI0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlU1NtYWxsID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVTTWVkaXVtID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVTTGFyZ2UgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVNXaWRlID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVTVWx0cmEgPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZU1aZXJvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVNTWljcm8gPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZU1TbWFsbCA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTU1lZGl1bSA9IDQwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTUxhcmdlID0gNDA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVNV2lkZSA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTVVsdHJhID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVMWmVybyA9IDMyO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTE1pY3JvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVMU21hbGwgPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZUxNZWRpdW0gPSA0ODtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZUxMYXJnZSA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlTFdpZGUgPSA1NjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZUxVbHRyYSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxaZXJvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbE1pY3JvID0gMzI7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbFNtYWxsID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbE1lZGl1bSA9IDY0O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxMYXJnZSA9IDgwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWGxXaWRlID0gODA7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYbFVsdHJhID0gOTY7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeGxaZXJvID0gNDg7XG5leHBvcnQgY29uc3QgU2JiU3BhY2luZ1Jlc3BvbnNpdmVYeGxNaWNybyA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhsU21hbGwgPSA3MjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4bE1lZGl1bSA9IDgwO1xuZXhwb3J0IGNvbnN0IFNiYlNwYWNpbmdSZXNwb25zaXZlWHhsTGFyZ2UgPSA5NjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4bFdpZGUgPSA5NjtcbmV4cG9ydCBjb25zdCBTYmJTcGFjaW5nUmVzcG9uc2l2ZVh4bFVsdHJhID0gMTIwO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9Gb250RmFtaWx5ID0gXCJcXFwiU0JCXFxcIiwgXFxcIkhlbHZldGljYSBOZXVlXFxcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlwiO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9MZXR0ZXJTcGFjaW5nVGl0bGVzID0gXCIwXCI7XG5leHBvcnQgY29uc3QgU2JiVHlwb0xldHRlclNwYWNpbmdCb2R5VGV4dCA9IFwiMC4wM2VtXCI7XG5leHBvcnQgY29uc3QgU2JiVHlwb0xpbmVIZWlnaHRUaXRsZXMgPSBcIjEuM1wiO1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9MaW5lSGVpZ2h0Qm9keVRleHQgPSBcIjEuNzVcIjtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUwNzV4ID0gMTI7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMDgxMjV4ID0gMTM7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMDg3NXggPSAxNDtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGVEZWZhdWx0ID0gMTY7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMTEyNXggPSAxODtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUxMjV4ID0gMjA7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMTV4ID0gMjQ7XG5leHBvcnQgY29uc3QgU2JiVHlwb1NjYWxlMnggPSAzMjtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUyNXggPSA0MDtcbmV4cG9ydCBjb25zdCBTYmJUeXBvU2NhbGUzeCA9IDQ4O1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9TY2FsZTM1eCA9IDU2O1xuZXhwb3J0IGNvbnN0IFNiYlR5cG9TY2FsZTR4ID0gNjQ7XG4iLCJpbXBvcnQge1xuICBTYmJCcmVha3BvaW50WmVyb01pbixcbiAgU2JiQnJlYWtwb2ludFplcm9NYXgsXG4gIFNiYkJyZWFrcG9pbnRNaWNyb01pbixcbiAgU2JiQnJlYWtwb2ludE1pY3JvTWF4LFxuICBTYmJCcmVha3BvaW50U21hbGxNaW4sXG4gIFNiYkJyZWFrcG9pbnRTbWFsbE1heCxcbiAgU2JiQnJlYWtwb2ludE1lZGl1bU1pbixcbiAgU2JiQnJlYWtwb2ludE1lZGl1bU1heCxcbiAgU2JiQnJlYWtwb2ludExhcmdlTWluLFxuICBTYmJCcmVha3BvaW50TGFyZ2VNYXgsXG4gIFNiYkJyZWFrcG9pbnRXaWRlTWluLFxuICBTYmJCcmVha3BvaW50V2lkZU1heCxcbiAgU2JiQnJlYWtwb2ludFVsdHJhTWluLFxuICBTYmJCcmVha3BvaW50VWx0cmFNYXgsXG4gIFNiYlR5cG9TY2FsZURlZmF1bHQsXG59IGZyb20gJ0BzYmItZXN0YS9seW5lLWRlc2lnbi10b2tlbnMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgTGl0RWxlbWVudCxcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIGV2ZW50T3B0aW9ucywgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyByZWYgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9yZWYuanMnO1xuXG5pbXBvcnQgeyBob3N0Q29udGV4dCB9IGZyb20gJy4uL2NvcmUvZG9tLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vaW1hZ2Uuc2Nzcz9saXQmaW5saW5lJztcblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZyB7XG4gIGJyZWFrcG9pbnRzOiBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnQge1xuICBpbWFnZToge1xuICAgIGhlaWdodDogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gIH07XG4gIG1lZGlhUXVlcmllczogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdNZWRpYVF1ZXJ5W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdNZWRpYVF1ZXJ5IHtcbiAgY29uZGl0aW9uRmVhdHVyZTogc3RyaW5nO1xuICBjb25kaXRpb25GZWF0dXJlVmFsdWU6IHtcbiAgICBseW5lRGVzaWduVG9rZW46IGJvb2xlYW47XG4gICAgdmFsdWU6IHN0cmluZztcbiAgfTtcbiAgY29uZGl0aW9uT3BlcmF0b3I6IGZhbHNlO1xufVxuXG4vKipcbiAqIHdlIGNoZWNrIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIGRhdGEgbWFudWFsbHksIHNvIGl0J3Mgc2FmZSB0byB1c2UgYGFueWAgYXMgcmV0dXJuIHR5cGVcbiAqL1xuY29uc3QgaW1hZ2VIZWxwZXJHZXRCcmVha3BvaW50cyA9IChcbiAganNvblN0cmluZzogc3RyaW5nLFxuKTogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWdCcmVha3BvaW50W10gPT4ge1xuICBpZiAoIWpzb25TdHJpbmcgfHwganNvblN0cmluZy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyBtYWtlIHN1cmUgdGhhdCB3ZSBoYXZlIGBicmVha3BvaW50c2Aga2V5IGluIG9iamVjdFxuICBjb25zdCBsb2dXYXJuaW5nID0gaW1wb3J0Lm1ldGEuZW52LkRFVlxuICAgID8gKCkgPT5cbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdzYmItaW1hZ2UgZXJyb3I6IGF0dHJpYnV0ZSBicmVha3BvaW50cyBoYXMgd3JvbmcgZGF0YSBmb3JtYXQuIFJlZmVyZW5jZSB0aGUgZG9jdW1lbnRhdGlvbiB0byBzZWUgaG93IHlvdSBzaG91bGQgZm9ybWF0IHRoZSBkYXRhIGZvciB0aGlzIGF0dHJpYnV0ZS4nLFxuICAgICAgICApXG4gICAgOiBudWxsO1xuICBsZXQganNvbk9iamVjdDogSW50ZXJmYWNlSW1hZ2VBdHRyaWJ1dGVzU2l6ZXNDb25maWc7XG5cbiAgdHJ5IHtcbiAgICBqc29uT2JqZWN0ID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBsb2dXYXJuaW5nPy4oKTtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBpZiAoIWpzb25PYmplY3QuYnJlYWtwb2ludHMgfHwganNvbk9iamVjdC5icmVha3BvaW50cy5sZW5ndGggPT09IDApIHtcbiAgICBsb2dXYXJuaW5nPy4oKTtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyBtYWtlIHN1cmUgd2UgZ2V0IGFuIGFycmF5IG9mIGJyZWFrcG9pbnRzXG4gIGlmICghQXJyYXkuaXNBcnJheShqc29uT2JqZWN0LmJyZWFrcG9pbnRzKSkge1xuICAgIGxvZ1dhcm5pbmc/LigpO1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBtYWtlIHN1cmUgdGhhdCBlYWNoIGVudHJ5IHdpdGhpbiB0aGUgYnJlYWtwb2ludHMgb2JqZWN0IGNvbnRhaW5zIG9ubHkgYWxsb3dlZCBrZXlzXG4gICAqIDIuIG1ha2Ugc3VyZSB0aGF0IGFsbCBuZWNlc3Nhcnkga2V5cyBhcmUgcHJlc2VudFxuICAgKi9cbiAgbGV0IHdyb25nS2V5RGV0ZWN0ZWQgPSBmYWxzZTtcbiAgbGV0IG1pc3NpbmdLZXlEZXRlY3RlZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGFsbG93ZWRLZXlzID0gWydpbWFnZScsICdtZWRpYVF1ZXJpZXMnXTtcblxuICBqc29uT2JqZWN0LmJyZWFrcG9pbnRzLmZvckVhY2goKGJyZWFrcG9pbnQpID0+IHtcbiAgICBjb25zdCBicmVha3BvaW50S2V5cyA9IE9iamVjdC5rZXlzKGJyZWFrcG9pbnQpO1xuXG4gICAgYnJlYWtwb2ludEtleXMuZm9yRWFjaCgoYnJlYWtwb2ludEtleSkgPT4ge1xuICAgICAgaWYgKCFhbGxvd2VkS2V5cy5pbmNsdWRlcyhicmVha3BvaW50S2V5KSkge1xuICAgICAgICB3cm9uZ0tleURldGVjdGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGFsbG93ZWRLZXlzLmZvckVhY2goKGFsbG93ZWRLZXkpID0+IHtcbiAgICAgIGlmICghYnJlYWtwb2ludEtleXMuaW5jbHVkZXMoYWxsb3dlZEtleSkpIHtcbiAgICAgICAgbWlzc2luZ0tleURldGVjdGVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgaWYgKHdyb25nS2V5RGV0ZWN0ZWQgfHwgbWlzc2luZ0tleURldGVjdGVkKSB7XG4gICAgbG9nV2FybmluZz8uKCk7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcmV0dXJuIGpzb25PYmplY3QuYnJlYWtwb2ludHM7XG59O1xuXG5jb25zdCBldmVudExpc3RlbmVyT3B0aW9ucyA9IHtcbiAgb25jZTogdHJ1ZSxcbiAgcGFzc2l2ZTogdHJ1ZSxcbn07XG5cbmNvbnN0IHB4VG9SZW0gPSAocHg6IG51bWJlcik6IG51bWJlciA9PiB7XG4gIHJldHVybiBweCAvIFNiYlR5cG9TY2FsZURlZmF1bHQ7XG59O1xuXG5jb25zdCBicmVha3BvaW50TWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge1xuICAnc2JiLWJyZWFrcG9pbnQtemVyby1taW4nOiBweFRvUmVtKFNiYkJyZWFrcG9pbnRaZXJvTWluKSxcbiAgJ3NiYi1icmVha3BvaW50LXplcm8tbWF4JzogcHhUb1JlbShTYmJCcmVha3BvaW50WmVyb01heCksXG4gICdzYmItYnJlYWtwb2ludC1taWNyby1taW4nOiBweFRvUmVtKFNiYkJyZWFrcG9pbnRNaWNyb01pbiksXG4gICdzYmItYnJlYWtwb2ludC1taWNyby1tYXgnOiBweFRvUmVtKFNiYkJyZWFrcG9pbnRNaWNyb01heCksXG4gICdzYmItYnJlYWtwb2ludC1zbWFsbC1taW4nOiBweFRvUmVtKFNiYkJyZWFrcG9pbnRTbWFsbE1pbiksXG4gICdzYmItYnJlYWtwb2ludC1zbWFsbC1tYXgnOiBweFRvUmVtKFNiYkJyZWFrcG9pbnRTbWFsbE1heCksXG4gICdzYmItYnJlYWtwb2ludC1tZWRpdW0tbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50TWVkaXVtTWluKSxcbiAgJ3NiYi1icmVha3BvaW50LW1lZGl1bS1tYXgnOiBweFRvUmVtKFNiYkJyZWFrcG9pbnRNZWRpdW1NYXgpLFxuICAnc2JiLWJyZWFrcG9pbnQtbGFyZ2UtbWluJzogcHhUb1JlbShTYmJCcmVha3BvaW50TGFyZ2VNaW4pLFxuICAnc2JiLWJyZWFrcG9pbnQtbGFyZ2UtbWF4JzogcHhUb1JlbShTYmJCcmVha3BvaW50TGFyZ2VNYXgpLFxuICAnc2JiLWJyZWFrcG9pbnQtd2lkZS1taW4nOiBweFRvUmVtKFNiYkJyZWFrcG9pbnRXaWRlTWluKSxcbiAgJ3NiYi1icmVha3BvaW50LXdpZGUtbWF4JzogcHhUb1JlbShTYmJCcmVha3BvaW50V2lkZU1heCksXG4gICdzYmItYnJlYWtwb2ludC11bHRyYS1taW4nOiBweFRvUmVtKFNiYkJyZWFrcG9pbnRVbHRyYU1pbiksXG4gICdzYmItYnJlYWtwb2ludC11bHRyYS1tYXgnOiBweFRvUmVtKFNiYkJyZWFrcG9pbnRVbHRyYU1heCksXG59O1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGltYWdlLlxuICpcbiAqIEBldmVudCB7RXZlbnR9IGxvYWQgLSBFbWl0cyB3aGVuIHRoZSBpbWFnZSBoYXMgYmVlbiBsb2FkZWQuXG4gKiBAZXZlbnQge0V2ZW50fSBlcnJvciAtIEVtaXRzIHdoZW4gdGhlIGltYWdlIGxvYWRpbmcgZW5kZWQgaW4gYW4gZXJyb3IuXG4gKiBAY3NzcHJvcCBbLS1zYmItaW1hZ2UtYXNwZWN0LXJhdGlvPWF1dG9dIC0gQ2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgYGFzcGVjdFJhdGlvYCBwcm9wZXJ0eS5cbiAqIFRoaXMgd2F5IHdlIGNhbiBoYXZlLCBmb3IgZXhhbXBsZSwgYW4gaW1hZ2UgY29tcG9uZW50IHdpdGggYW4gYXNwZWN0XG4gKiByYXRpbyBvZiA0LzMgaW4gc21hbGxlciB2aWV3cG9ydHMgYW5kIDE2LzkgaW4gbGFyZ2VyIHZpZXdwb3J0cy5cbiAqIEBjc3Nwcm9wIFstLXNiYi1pbWFnZS1ib3JkZXItcmFkaXVzPXZhcigtLXNiYi1ib3JkZXItcmFkaXVzLTR4KV0gLSBDYW4gYmUgdXNlZCB0byBvdmVycmlkZSB0aGVcbiAqIGBib3JkZXJSYWRpdXNgIHByb3BlcnR5IGluIGNhc2Ugb2YgZGlmZmVyZW50IHZhbHVlcyBmb3IgZGlmZmVyZW50IHZpZXdwb3J0cy5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1pbWFnZScpXG5leHBvcnQgY2xhc3MgU2JiSW1hZ2VFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBlcnJvcjogJ2Vycm9yJyxcbiAgICBsb2FkOiAnbG9hZCcsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfY2FwdGlvbkVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfbGlua3NJbkNhcHRpb24/OiBOb2RlTGlzdE9mPEhUTUxMaW5rRWxlbWVudD47XG4gIHByaXZhdGUgX2NvbmZpZyA9IHtcbiAgICBub25SZXRpbmFRdWFsaXR5OiAnNDUnLFxuICAgIHJldGluYVF1YWxpdHk6ICcyMCcsXG4gIH07XG5cbiAgLyoqXG4gICAqIEFuIGFsdCB0ZXh0IGlzIG5vdCBhbHdheXMgbmVjZXNzYXJ5IChlLmcuIGluIHRlYXNlciBjYXJkcyB3aGVuXG4gICAqIGFkZGl0aW9uYWwgbGluayB0ZXh0IGlzIHByb3ZpZGVkKS4gSW4gdGhpcyBjYXNlIHdlIGNhbiBsZWF2ZVxuICAgKiB0aGUgdmFsdWUgb2YgdGhlIGFsdCBhdHRyaWJ1dGUgYmxhbmssIGJ1dCB0aGUgYXR0cmlidXRlIGl0c2VsZlxuICAgKiBzdGlsbCBuZWVkcyB0byBiZSBwcmVzZW50LiBUaGF0IHdheSB3ZSBjYW4gc2lnbmFsIGFzc2lzdGl2ZVxuICAgKiB0ZWNobm9sb2d5LCB0aGF0IHRoZXkgY2FuIHNraXAgdGhlIGltYWdlLlxuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIGFsdD86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgc2V0IHRvIGZhbHNlLCB3ZSBzaG93IGEgYmx1cnJlZCB2ZXJzaW9uIG9mIHRoZSBpbWFnZSBhc1xuICAgKiBwbGFjZWhvbGRlciBiZWZvcmUgdGhlIGFjdHVhbCBpbWFnZSBzaG93cyB1cC4gVGhpcyB3aWxsIGhlbHBcbiAgICogdG8gaW1wcm92ZSB0aGUgcGVyY2VpdmVkIGxvYWRpbmcgcGVyZm9ybWFuY2UuIFJlYWQgbW9yZSBhYm91dFxuICAgKiB0aGUgaWRlYSBvZiBscWlwIGhlcmU6XG4gICAqIGh0dHBzOi8vbWVkaXVtLmNvbS9AaW1naXgvbHFpcC15b3VyLWltYWdlcy1mb3ItZmFzdC1sb2FkaW5nLTI1MjNkOWVlNGE2MlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnc2tpcC1scWlwJywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgc2tpcExxaXAgPSBmYWxzZTtcblxuICAvKipcbiAgICogQSBjYXB0aW9uIGNhbiBwcm92aWRlIGFkZGl0aW9uYWwgY29udGV4dCB0byB0aGUgaW1hZ2UgKGUuZy5cbiAgICogZGVzY3JpcHRpb25zIGFuZCB0aGUgbGlrZSkuXG4gICAqIExpbmtzIHdpbGwgYXV0b21hdGljYWxseSByZWNlaXZlIHRhYmluZGV4PS0xIGlmIGhpZGVGcm9tU2NyZWVucmVhZGVyXG4gICAqIGlzIHNldCB0byB0cnVlLiBUaGF0IHdheSB0aGV5IHdpbGwgbm8gbG9uZ2VyIGJlY29tZSBmb2N1c2FibGUuXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgY2FwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogSWYgYSBjb3B5cmlnaHQgdGV4dCBpcyBwcm92aWRlZCwgd2Ugd2lsbCBhZGQgaXQgdG8gdGhlIGNhcHRpb25cbiAgICogYW5kIGNyZWF0ZSBhIHN0cnVjdHVyZWQgZGF0YSBqc29uLWxkIGJsb2NrIHdpdGggdGhlIGNvcHlyaWdodFxuICAgKiBpbmZvcm1hdGlvbi5cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBjb3B5cmlnaHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvcHlyaWdodCBob2xkZXIgY2FuIGVpdGhlciBiZSBhbiBPcmdhbml6YXRpb24gb3IgYSBQZXJzb25cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2NvcHlyaWdodC1ob2xkZXInIH0pXG4gIHB1YmxpYyBjb3B5cmlnaHRIb2xkZXI6ICdPcmdhbml6YXRpb24nIHwgJ1BlcnNvbicgPSAnT3JnYW5pemF0aW9uJztcblxuICAvKipcbiAgICogU2V0IHRoaXMgdG8gdHJ1ZSwgaWYgeW91IHdhbnQgdG8gcGFzcyBhIGN1c3RvbSBmb2NhbCBwb2ludFxuICAgKiBmb3IgdGhlIGltYWdlLiBTZWUgZnVsbCBkb2N1bWVudGF0aW9uIGhlcmU6XG4gICAqIGh0dHBzOi8vZG9jcy5pbWdpeC5jb20vYXBpcy9yZW5kZXJpbmcvZm9jYWxwb2ludC1jcm9wXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdjdXN0b20tZm9jYWwtcG9pbnQnLCB0eXBlOiBCb29sZWFuIH0pIHB1YmxpYyBjdXN0b21Gb2NhbFBvaW50ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElmIHRoZSBsYXp5IHByb3BlcnR5IGlzIHNldCB0byB0cnVlLCB0aGUgbW9kdWxlIHdpbGwgYXV0b21hdGljYWxseVxuICAgKiBjaGFuZ2UgdGhlIGRlY29kaW5nIHRvIGFzeW5jLCBvdGhlcndpc2UgdGhlIGRlY29kaW5nIGlzIHNldCB0byBhdXRvXG4gICAqIHdoaWNoIGxlYXZlcyB0aGUgaGFuZGxpbmcgdXAgdG8gdGhlIGJyb3dzZXIuIFJlYWQgbW9yZSBhYm91dCB0aGVcbiAgICogZGVjb2RpbmcgYXR0cmlidXRlIGhlcmU6XG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9IVE1MSW1hZ2VFbGVtZW50L2RlY29kaW5nXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgZGVjb2Rpbmc6ICdzeW5jJyB8ICdhc3luYycgfCAnYXV0bycgPSAnYXV0byc7XG5cbiAgLyoqXG4gICAqIFNldCB0aGlzIHRvIHRydWUsIHRvIHJlY2VpdmUgdmlzdWFsIGd1aWRhbmNlIHdoZXJlIHRoZSBjdXN0b20gZm9jYWxcbiAgICogcG9pbnQgaXMgY3VycmVudGx5IHNldC5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ZvY2FsLXBvaW50LWRlYnVnJywgdHlwZTogQm9vbGVhbiB9KSBwdWJsaWMgZm9jYWxQb2ludERlYnVnID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFBhc3MgaW4gYSBmbG9hdGluZyBudW1iZXIgYmV0d2VlbiAwIChsZWZ0KSBhbmQgMSAocmlnaHQpLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnZm9jYWwtcG9pbnQteCcsIHR5cGU6IE51bWJlciB9KSBwdWJsaWMgZm9jYWxQb2ludFggPSAxO1xuXG4gIC8qKlxuICAgKiBQYXNzIGluIGEgZmxvYXRpbmcgbnVtYmVyIGJldHdlZW4gMCAodG9wKSBhbmQgMSAoYm90dG9tKS5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2ZvY2FsLXBvaW50LXknLCB0eXBlOiBOdW1iZXIgfSkgcHVibGljIGZvY2FsUG9pbnRZID0gMTtcblxuICAvKipcbiAgICogUmlnaHQgbm93IHRoZSBtb2R1bGUgaXMgaGVhdmlseSBjb3VwbGVkIHdpdGggdGhlIGltYWdlIGRlbGl2ZXJ5XG4gICAqIHNlcnZpY2UgaW1naXggYW5kIGRlcGVuZHMgb24gdGhlIG9yaWdpbmFsIGZpbGVzIGJlaW5nIHN0b3JlZFxuICAgKiBpbnNpZGUgQUVNLiBZb3UgY2FuIHBhc3MgaW4gYW55IGh0dHBzOi8vY2RuLmltZy5zYmIuY2ggaW1nXG4gICAqIHNyYyBhZGRyZXNzIHlvdSBmaW5kIG9uIHNiYi5jaCB0byBwbGF5IGFyb3VuZCB3aXRoIGl0LiBKdXN0XG4gICAqIHN0cmlwIHRoZSB1cmwgcGFyYW1ldGVycyBhbmQgcGFzdGUgaW4gdGhlIHBsYWluIGZpbGUgYWRkcmVzcy5cbiAgICogSWYgeW91IHdhbnQgdG8ga25vdyBob3cgdG8gYmVzdCB3b3JrIHdpdGggdGhpcyBtb2R1bGUgd2l0aFxuICAgKiBpbWFnZXMgY29taW5nIGZyb20gYSBkaWZmZXJlbnQgc291cmNlLCBwbGVhc2UgY29udGFjdCB0aGVcbiAgICogTFlORSBDb3JlIFRlYW0uXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpbWFnZS1zcmMnIH0pIHB1YmxpYyBpbWFnZVNyYz86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGltcG9ydGFuY2UgYXR0cmlidXRlIGlzIGZhaXJseSBuZXcgYXR0cmlidXRlIHdoaWNoIHNob3VsZFxuICAgKiBoZWxwIHRoZSBicm93c2VyIGRlY2lkZSB3aGljaCByZXNvdXJjZXMgaXQgc2hvdWxkIHByaW9yaXRpc2VcbiAgICogZHVyaW5nIHBhZ2UgbG9hZC4gV2Ugd2lsbCBzZXQgdGhlIGF0dHJpYnV0ZSB2YWx1ZSBiYXNlZCBvbiB0aGVcbiAgICogdmFsdWUsIHdlIHJlY2VpdmUgaW4gdGhlIGxvYWRpbmcgYXR0cmlidXRlLiAnZWFnZXInLCB3aGljaCB3ZSB1c2VcbiAgICogZm9yIHRoZSBsYXJnZXN0IGltYWdlIHdpdGhpbiB0aGUgaW5pdGlhbCB2aWV3cG9ydCwgd2lsbCBzZXQgdGhlXG4gICAqIGF0dHJpYnV0ZSB2YWx1ZSB0byAnaGlnaCcuICdsYXp5Jywgd2hpY2ggd2UgdXNlIGZvciBpbWFnZXMgYmVsb3dcbiAgICogdGhlIGZvbGQsIHdpbGwgc2V0IHRoZSBhdHRyaWJ1dGUgdmFsdWUgdG8gJ2xvdycuXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgaW1wb3J0YW5jZTogJ2F1dG8nIHwgJ2hpZ2gnIHwgJ2xvdycgPSAnaGlnaCc7XG5cbiAgLyoqXG4gICAqIFdpdGggdGhlIHN1cHBvcnQgb2YgbmF0aXZlIGltYWdlIGxhenkgbG9hZGluZywgd2UgY2FuIG5vd1xuICAgKiBkZWNpZGUgd2hldGhlciB3ZSB3YW50IHRvIGxvYWQgdGhlIGltYWdlIGltbWVkaWF0ZWx5IG9yIG9ubHlcbiAgICogb25jZSBpdCBpcyBjbG9zZSB0byB0aGUgdmlzaWJsZSB2aWV3cG9ydC4gVGhlIHZhbHVlIGVhZ2VyIGlzXG4gICAqIGJlc3QgdXNlZCBmb3IgaW1hZ2VzIHdpdGhpbiB0aGUgaW5pdGlhbCB2aWV3cG9ydC4gV2Ugd2FudCB0b1xuICAgKiBsb2FkIHRoZXNlIGltYWdlcyBhcyBmYXN0IGFzIHBvc3NpYmxlIHRvIGltcHJvdmUgdGhlIENvcmUgV2ViXG4gICAqIFZpdGFscyB2YWx1ZXMuIGxhenkgb24gdGhlIG90aGVyIGhhbmQgd29ya3MgYmVzdCBmb3IgaW1hZ2VzXG4gICAqIHdoaWNoIGFyZSBmdXJ0aGVyIGRvd24gdGhlIHBhZ2Ugb3IgaW52aXNpYmxlIGR1cmluZyB0aGUgbG9hZGluZ1xuICAgKiBvZiB0aGUgaW5pdGlhbCB2aWV3cG9ydC5cbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBsb2FkaW5nOiAnZWFnZXInIHwgJ2xhenknID0gJ2VhZ2VyJztcblxuICAvKipcbiAgICogV2l0aCBwZXJmb3JtYW5jZS5tYXJrIHlvdSBjYW4gbG9nIGEgdGltZXN0YW1wIGFzc29jaWF0ZWQgd2l0aFxuICAgKiB0aGUgbmFtZSB5b3UgZGVmaW5lIGluIHBlcmZvcm1hbmNlTWFyayB3aGVuIGEgY2VydGFpbiBldmVudCBpc1xuICAgKiBoYXBwZW5pbmcuIEluIG91ciBjYXNlIHdlIHdpbGwgbG9nIHRoZSBwZXJmb3JtYW5jZS5tYXJrIGludG9cbiAgICogdGhlIFBlcmZvcm1hbmNlRW50cnkgQVBJIG9uY2UgdGhlIGltYWdlIGlzIGZ1bGx5IGxvYWRlZC5cbiAgICogUGVyZm9ybWFuY2UgbW9uaXRvcmluZyB0b29scyBsaWtlIFNwZWVkQ3VydmUgb3IgTGlnaHRob3VzZSBhcmVcbiAgICogdGhlbiBhYmxlIHRvIGdyYWIgdGhlc2UgZW50cmllcyBmcm9tIHRoZSBQZXJmb3JtYW5jZUVudHJ5IEFQSVxuICAgKiBhbmQgZ2l2ZSB1cyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFuZCBpbnNpZ2h0cyBhYm91dCBvdXIgcGFnZVxuICAgKiBsb2FkaW5nIGJlaGF2aW91ci4gV2UgYXJlIHRoZW4gYWxzbyBhYmxlIHRvIG1vbml0b3IgdGhlc2VcbiAgICogdmFsdWVzIG92ZXIgYSBsb25nIHBlcmlvZCB0byBzZWUgaWYgb3VyIHBlcmZvcm1hbmNlXG4gICAqIGluY3JlYXNlcyBvciBkZWNyZWFzZXMgb3ZlciB0aW1lLiBCZXN0IHRvIHVzZSBsb3dlcmNhc2Ugc3RyaW5nc1xuICAgKiBoZXJlLCBzZXBhcmF0ZSB3b3JkcyB3aXRoIHVuZGVyc2NvcmVzIG9yIGRhc2hlcy5cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BlcmZvcm1hbmNlLW1hcmsnIH0pIHB1YmxpYyBwZXJmb3JtYW5jZU1hcms/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdpdGggdGhlIHBpY3R1cmVTaXplc0NvbmZpZyBvYmplY3QsIHlvdSBjYW4gcGFzcyBpbiBpbmZvcm1hdGlvblxuICAgKiBpbnRvIGltYWdlIGFib3V0IHdoYXQga2luZCBvZiBzb3VyY2UgZWxlbWVudHMgc2hvdWxkIGdldFxuICAgKiByZW5kZXJlZC4gbWVkaWFRdWVyaWVzIGFjY2VwdHMgbXVsdGlwbGUgTWVkaWEgUXVlcnkgZW50cmllc1xuICAgKiB3aGljaCBjYW4gZ2V0IGNvbWJpbmVkIGJ5IGRlZmluaW5nIGEgY29uZGl0aW9uT3BlcmF0b3IuXG4gICAqIFR5cGUgaXM6IHN0cmluZ2lmaWVkIEludGVyZmFjZUltYWdlQXR0cmlidXRlc1NpemVzQ29uZmlnLU9iamVjdFxuICAgKiBBbiBleGFtcGxlIGNvdWxkIGxvb2sgbGlrZSB0aGlzOlxuICAgKiB7XG4gICAqICAgIFwiYnJlYWtwb2ludHNcIjogW1xuICAgKiAgICAgIHtcbiAgICogICAgICAgIFwiaW1hZ2VcIjoge1xuICAgKiAgICAgICAgICBcImhlaWdodFwiOiBcIjY3NVwiLFxuICAgKiAgICAgICAgICBcIndpZHRoXCI6IFwiMTIwMFwiXG4gICAqICAgICAgICB9LFxuICAgKiAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgKiAgICAgICAgICB7XG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWluLXdpZHRoXCIsXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgKiAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICogICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1sYXJnZS1taW5cIlxuICAgKiAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgKiAgICAgICAgICB9XG4gICAqICAgICAgICBdXG4gICAqICAgICAgfSxcbiAgICogICAgICB7XG4gICAqICAgICAgICBcImltYWdlXCI6IHtcbiAgICogICAgICAgICAgXCJoZWlnaHRcIjogXCI1NDlcIixcbiAgICogICAgICAgICAgXCJ3aWR0aFwiOiBcIjk3NlwiXG4gICAqICAgICAgICB9LFxuICAgKiAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgKiAgICAgICAgICB7XG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWluLXdpZHRoXCIsXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgKiAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICogICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1zbWFsbC1taW5cIlxuICAgKiAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgKiAgICAgICAgICB9XG4gICAqICAgICAgICBdXG4gICAqICAgICAgfSxcbiAgICogICAgICB7XG4gICAqICAgICAgICBcImltYWdlXCI6IHtcbiAgICogICAgICAgICAgXCJoZWlnaHRcIjogXCIxODBcIixcbiAgICogICAgICAgICAgXCJ3aWR0aFwiOiBcIjMyMFwiXG4gICAqICAgICAgICB9LFxuICAgKiAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgKiAgICAgICAgICB7XG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWF4LXdpZHRoXCIsXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgKiAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICogICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1taWNyby1tYXhcIlxuICAgKiAgICAgICAgICAgIH0sXG4gICAqICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBcImFuZFwiXG4gICAqICAgICAgICAgIH0sXG4gICAqICAgICAgICAgIHtcbiAgICogICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVcIjogXCJvcmllbnRhdGlvblwiLFxuICAgKiAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICogICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IGZhbHNlLFxuICAgKiAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBcImxhbmRzY2FwZVwiXG4gICAqICAgICAgICAgICAgfSxcbiAgICogICAgICAgICAgICBcImNvbmRpdGlvbk9wZXJhdG9yXCI6IGZhbHNlXG4gICAqICAgICAgICAgIH1cbiAgICogICAgICAgIF1cbiAgICogICAgICB9XG4gICAqICAgIF1cbiAgICogIH1cbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3BpY3R1cmUtc2l6ZXMtY29uZmlnJyB9KSBwdWJsaWMgcGljdHVyZVNpemVzQ29uZmlnPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCb3JkZXIgcmFkaXVzIG9mIHRoZSBpbWFnZS4gQ2hvb3NlIGJldHdlZW4gYSBkZWZhdWx0IHJhZGl1cywgbm8gcmFkaXVzIGFuZCBhIGNvbXBsZXRlbHkgcm91bmQgaW1hZ2UuXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdib3JkZXItcmFkaXVzJywgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYm9yZGVyUmFkaXVzOlxuICAgIHwgJ2RlZmF1bHQnXG4gICAgfCAnbm9uZSdcbiAgICB8ICdyb3VuZCcgPSAnZGVmYXVsdCc7XG5cbiAgLyoqXG4gICAqIFNldCBhbiBhc3BlY3QgcmF0aW9cbiAgICogZGVmYXVsdCBpcyAnMTYtOScgKDE2LzkpXG4gICAqIG90aGVyIHZhbHVlczogJ2ZyZWUnLCAnMS0xJywgJzEtMicsICcyLTEnLCAnMi0zJywgJzMtMicsICczLTQnLCAnNC0zJywgJzQtNScsICc1LTQnLCAnOS0xNidcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2FzcGVjdC1yYXRpbycsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFzcGVjdFJhdGlvOlxuICAgIHwgJ2ZyZWUnXG4gICAgfCAnMS0xJ1xuICAgIHwgJzEtMidcbiAgICB8ICcyLTEnXG4gICAgfCAnMi0zJ1xuICAgIHwgJzMtMidcbiAgICB8ICczLTQnXG4gICAgfCAnNC0zJ1xuICAgIHwgJzQtNSdcbiAgICB8ICc1LTQnXG4gICAgfCAnOS0xNidcbiAgICB8ICcxNi05JyA9ICcxNi05JztcblxuICAvKiogV2hldGhlciB0aGUgaW1hZ2UgaXMgZmluaXNoZWQgbG9hZGluZyBvciBmYWlsZWQgdG8gbG9hZC4gKi9cbiAgcHVibGljIGdldCBjb21wbGV0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yPy48SFRNTEltYWdlRWxlbWVudD4oJy5zYmItaW1hZ2VfX2ltZycpPy5jb21wbGV0ZSA/PyBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIC8vIENoZWNrIGlmIHRoZSBjdXJyZW50IGVsZW1lbnQgaXMgbmVzdGVkIGluIGFuIGA8c2JiLXRlYXNlci1oZXJvPmAgZWxlbWVudCBvbiBpbiBhbiBgPHNiYi10ZWFzZXItcGFpZD5gIGVsZW1lbnQuXG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoXG4gICAgICAnZGF0YS10ZWFzZXInLFxuICAgICAgISFob3N0Q29udGV4dCgnc2JiLXRlYXNlci1oZXJvJywgdGhpcykgfHwgISF0aGlzLmNsb3Nlc3QoJ3NiYi10ZWFzZXItcGFpZCcpLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICghdGhpcy5fY2FwdGlvbkVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9saW5rc0luQ2FwdGlvbiA9IHRoaXMuX2NhcHRpb25FbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTExpbmtFbGVtZW50PignYScpO1xuXG4gICAgaWYgKCF0aGlzLl9saW5rc0luQ2FwdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2FkZEZvY3VzQWJpbGl0eVRvTGlua3NJbkNhcHRpb24oKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIC8vIFdlIG5lZWQgdG8gd2FpdCB1bnRpbCB0aGUgdXBkYXRlIGlzIGNvbXBsZXRlIHRvIGNoZWNrIHdoZXRoZXIgdGhlIGltYWdlIGhhcyBhbHJlYWR5IGJlZW4gY29tcGxldGVseSBsb2FkZWQuXG4gICAgYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtcbiAgICBpZiAodGhpcy5jb21wbGV0ZSkge1xuICAgICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbG9hZGVkJywgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbG9nUGVyZm9ybWFuY2VNYXJrcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wZXJmb3JtYW5jZU1hcmspIHtcbiAgICAgIHBlcmZvcm1hbmNlLmNsZWFyTWFya3ModGhpcy5wZXJmb3JtYW5jZU1hcmspO1xuICAgICAgcGVyZm9ybWFuY2UubWFyayh0aGlzLnBlcmZvcm1hbmNlTWFyayk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfbWF0Y2hNZWRpYVF1ZXJ5RGVzaWduVG9rZW4oYnJlYWtwb2ludFNpemVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gYnJlYWtwb2ludE1hcFticmVha3BvaW50U2l6ZU5hbWVdO1xuICAgIHJldHVybiB2YWx1ZSA/IGAke3ZhbHVlfXJlbWAgOiAnJztcbiAgfVxuXG4gIHByaXZhdGUgX2FkZEZvY3VzQWJpbGl0eVRvTGlua3NJbkNhcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fbGlua3NJbkNhcHRpb24/LmZvckVhY2goKGxpbmspID0+IHtcbiAgICAgIGxpbmsucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJlcGFyZUltYWdlVXJsKGJhc2VVcmw6IHN0cmluZyB8IHVuZGVmaW5lZCwgbHF1aXAgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgaWYgKCFiYXNlVXJsIHx8IGJhc2VVcmwgPT09ICcnKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRpbmcgYW4gVVJMIHdpdGhvdXQgYSBzY2hlbWEgd2lsbCBmYWlsLCBidXQgaXMgYSB2YWxpZCBpbnB1dCBmb3IgYmFzZVVybC5cbiAgICAvLyBlLmcuIGltYWdlLXNyYyBjYW4gYmUgaHR0cHM6Ly9leGFtcGxlLmNvbS9teS1pbWFnZS5wbmcgb3IgL215LWltYWdlLnBuZ1xuICAgIGNvbnN0IGlzRnVsbHlRdWFsaWZpZWRVcmwgPSAhIWJhc2VVcmwubWF0Y2goL15cXHcrOlxcL1xcLy8pO1xuICAgIGNvbnN0IGltYWdlVXJsT2JqID0gaXNGdWxseVF1YWxpZmllZFVybCA/IG5ldyBVUkwoYmFzZVVybCkgOiBuZXcgVVJMKGBodHRwOi8vbm9vcC8ke2Jhc2VVcmx9YCk7XG5cbiAgICBpZiAobHF1aXApIHtcbiAgICAgIC8vIGJsdXIgYW5kIHNpemU6ID9ibHVyPTEwMCZ3PTEwMCZoPTU2XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdibHVyJywgJzEwMCcpO1xuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgndycsICcxMDAnKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2gnLCAnNTYnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ0ROIEluZm9ybWF0aW9uOiBodHRwczovL2RvY3MuaW1naXguY29tL2FwaXMvcmVuZGVyaW5nXG4gICAgICAvLyBwYXJhbS5hdXRvOiA/YXV0bz1mb3JtYXQsY29tcHJlc3MsY3M9dGlueXNyZ2JcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2F1dG8nLCAnZm9ybWF0LGNvbXByZXNzLGNzPXRpbnlzcmdiJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VzdG9tRm9jYWxQb2ludCkge1xuICAgICAgLy8gY3JvcDogYCZmaXQ9Y3JvcCZjcm9wPWZvY2FscG9pbnQmZnAteD0ke3RoaXMuZm9jYWxQb2ludFh9JmZwLXk9JHt0aGlzLmZvY2FsUG9pbnRZfSZmcC16PTFgLFxuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnZml0JywgJ2Nyb3AnKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2Nyb3AnLCAnZm9jYWxwb2ludCcpO1xuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnZnAteCcsIHRoaXMuZm9jYWxQb2ludFgudG9TdHJpbmcoMTApKTtcbiAgICAgIGltYWdlVXJsT2JqLnNlYXJjaFBhcmFtcy5hcHBlbmQoJ2ZwLXknLCB0aGlzLmZvY2FsUG9pbnRZLnRvU3RyaW5nKDEwKSk7XG4gICAgICBpbWFnZVVybE9iai5zZWFyY2hQYXJhbXMuYXBwZW5kKCdmcC16JywgJzEnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mb2NhbFBvaW50RGVidWcpIHtcbiAgICAgIC8vIGZvY2FsUG9pbnREZWJ1ZzogJyZmcC1kZWJ1Zz10cnVlJ1xuICAgICAgaW1hZ2VVcmxPYmouc2VhcmNoUGFyYW1zLmFwcGVuZCgnZnAtZGVidWcnLCAndHJ1ZScpO1xuICAgIH1cblxuICAgIC8vIEluIGNhc2Ugb2YgXCJub29wXCIgaG9zdCwgd2UgZG9uJ3QgcmV0dXJuIHRoZSBob3N0IGFuZCBtdXN0IHJlbW92ZSB0aGVcbiAgICAvLyBzdGFydGluZyBgL2Agb2YgdGhlIHBhdGhuYW1lLlxuICAgIHJldHVybiBpc0Z1bGx5UXVhbGlmaWVkVXJsXG4gICAgICA/IGltYWdlVXJsT2JqLmhyZWZcbiAgICAgIDogaW1hZ2VVcmxPYmoucGF0aG5hbWUuc3Vic3RyaW5nKDEpICsgaW1hZ2VVcmxPYmouc2VhcmNoO1xuICB9XG5cbiAgcHJpdmF0ZSBfcHJlcGFyZVBpY3R1cmVTaXplQ29uZmlncygpOiBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ0JyZWFrcG9pbnRbXSB7XG4gICAgbGV0IHBpY3R1cmVTaXplc0NvbmZpZztcblxuICAgIGlmICh0aGlzLnBpY3R1cmVTaXplc0NvbmZpZykge1xuICAgICAgcGljdHVyZVNpemVzQ29uZmlnID0gdGhpcy5waWN0dXJlU2l6ZXNDb25maWc7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGRlZmF1bHQgY29uZmlnXG4gICAgICBwaWN0dXJlU2l6ZXNDb25maWcgPSBge1xuICAgICAgICBcImJyZWFrcG9pbnRzXCI6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICAgICAgXCJoZWlnaHRcIjogNjc1LFxuICAgICAgICAgICAgICBcIndpZHRoXCI6IDEyMDBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcIm1lZGlhUXVlcmllc1wiOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVcIjogXCJtaW4td2lkdGhcIixcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbkZlYXR1cmVWYWx1ZVwiOiB7XG4gICAgICAgICAgICAgICAgICBcImx5bmVEZXNpZ25Ub2tlblwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgXCJ2YWx1ZVwiOiBcInNiYi1icmVha3BvaW50LWxhcmdlLW1pblwiXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBcImNvbmRpdGlvbk9wZXJhdG9yXCI6IGZhbHNlXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiaW1hZ2VcIjoge1xuICAgICAgICAgICAgICBcImhlaWdodFwiOiA1NDksXG4gICAgICAgICAgICAgIFwid2lkdGhcIjogOTc2XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJtZWRpYVF1ZXJpZXNcIjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlXCI6IFwibWluLXdpZHRoXCIsXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25GZWF0dXJlVmFsdWVcIjoge1xuICAgICAgICAgICAgICAgICAgXCJseW5lRGVzaWduVG9rZW5cIjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIFwidmFsdWVcIjogXCJzYmItYnJlYWtwb2ludC1zbWFsbC1taW5cIlxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJjb25kaXRpb25PcGVyYXRvclwiOiBmYWxzZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBcImltYWdlXCI6IHtcbiAgICAgICAgICAgICAgXCJoZWlnaHRcIjogMTgwLFxuICAgICAgICAgICAgICBcIndpZHRoXCI6IDMyMFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwibWVkaWFRdWVyaWVzXCI6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVwiOiBcIm1heC13aWR0aFwiLFxuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uRmVhdHVyZVZhbHVlXCI6IHtcbiAgICAgICAgICAgICAgICAgIFwibHluZURlc2lnblRva2VuXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICBcInZhbHVlXCI6IFwic2JiLWJyZWFrcG9pbnQtbWljcm8tbWF4XCJcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiY29uZGl0aW9uT3BlcmF0b3JcIjogZmFsc2VcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGltYWdlSGVscGVyR2V0QnJlYWtwb2ludHMocGljdHVyZVNpemVzQ29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZU1lZGlhUXVlcnlTdHJpbmcoXG4gICAgbWVkaWFRdWVyaWVzOiBJbnRlcmZhY2VJbWFnZUF0dHJpYnV0ZXNTaXplc0NvbmZpZ01lZGlhUXVlcnlbXSxcbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgbWVkaWFRdWVyeSA9ICcnO1xuXG4gICAgbWVkaWFRdWVyaWVzLmZvckVhY2goKG1xKSA9PiB7XG4gICAgICBjb25zdCBtcUNvbmRpdGlvbiA9IG1xLmNvbmRpdGlvbkZlYXR1cmU7XG4gICAgICBsZXQgbXFWYWx1ZTtcblxuICAgICAgaWYgKG1xLmNvbmRpdGlvbkZlYXR1cmVWYWx1ZS5seW5lRGVzaWduVG9rZW4pIHtcbiAgICAgICAgbXFWYWx1ZSA9IHRoaXMuX21hdGNoTWVkaWFRdWVyeURlc2lnblRva2VuKG1xLmNvbmRpdGlvbkZlYXR1cmVWYWx1ZS52YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtcVZhbHVlID0gbXEuY29uZGl0aW9uRmVhdHVyZVZhbHVlLnZhbHVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBtcUNvbWJpbmVyID0gbXEuY29uZGl0aW9uT3BlcmF0b3IgPyBgICR7bXEuY29uZGl0aW9uT3BlcmF0b3J9IGAgOiAnJztcblxuICAgICAgbWVkaWFRdWVyeSArPSBgKCR7bXFDb25kaXRpb259OiAke21xVmFsdWV9KSR7bXFDb21iaW5lcn1gO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG1lZGlhUXVlcnk7XG4gIH1cblxuICBAZXZlbnRPcHRpb25zKGV2ZW50TGlzdGVuZXJPcHRpb25zKVxuICBwcml2YXRlIF9pbWFnZUxvYWRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2dQZXJmb3JtYW5jZU1hcmtzKCk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbG9hZGVkJywgdHJ1ZSk7XG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnbG9hZCcpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIGxldCB7IGNhcHRpb24gfSA9IHRoaXM7XG4gICAgbGV0IHNjaGVtYURhdGEgPSAnJztcblxuICAgIGNvbnN0IGltYWdlVXJsTFFJUCA9IHRoaXMuX3ByZXBhcmVJbWFnZVVybCh0aGlzLmltYWdlU3JjLCB0cnVlKTtcbiAgICBjb25zdCBpbWFnZVVybFdpdGhQYXJhbXMgPSB0aGlzLl9wcmVwYXJlSW1hZ2VVcmwodGhpcy5pbWFnZVNyYywgZmFsc2UpO1xuXG4gICAgaWYgKHRoaXMubG9hZGluZyA9PT0gJ2xhenknKSB7XG4gICAgICB0aGlzLmRlY29kaW5nID0gJ2FzeW5jJztcbiAgICAgIHRoaXMuaW1wb3J0YW5jZSA9ICdsb3cnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvcHlyaWdodCkge1xuICAgICAgY2FwdGlvbiA9IGAke3RoaXMuY2FwdGlvbn0gwqkke3RoaXMuY29weXJpZ2h0fWA7XG4gICAgICBzY2hlbWFEYXRhID0gYHtcbiAgICAgICAgXCJAY29udGV4dFwiOiBcImh0dHBzOi8vc2NoZW1hLm9yZ1wiLFxuICAgICAgICBcIkB0eXBlXCI6IFwiUGhvdG9ncmFwaFwiLFxuICAgICAgICBcImltYWdlXCI6IFwiJHt0aGlzLmltYWdlU3JjfVwiLFxuICAgICAgICBcImNvcHlyaWdodEhvbGRlclwiOiB7XG4gICAgICAgICAgXCJAdHlwZVwiOiBcIiR7dGhpcy5jb3B5cmlnaHRIb2xkZXJ9XCIsXG4gICAgICAgICAgXCJuYW1lXCI6IFwiJHt0aGlzLmNvcHlyaWdodH1cIlxuICAgICAgICB9XG4gICAgICB9YDtcbiAgICB9XG5cbiAgICBjb25zdCBwaWN0dXJlU2l6ZUNvbmZpZ3MgPSB0aGlzLl9wcmVwYXJlUGljdHVyZVNpemVDb25maWdzKCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYWx0IGF0dHJpYnV0ZSBzaG91bGQgYWx3YXlzIGJlIHByZXNlbnQgZm9yIHRoZSBpbWcgZWxlbWVudC5cbiAgICAgKiBJZiBpdCBoYXMgYW4gZW1wdHkgc3RyaW5nIGFzIGl0cyB2YWx1ZSwgaXQgaXMgc2ltcGx5IGlnbm9yZWRcbiAgICAgKiBieSBhc3Npc3RpdmUgdGVjaG5vbG9naWVzLiBJZiB3ZSBsZWF2ZSBpdCBvdXQgY29tcGxldGVseSxcbiAgICAgKiB0aGV5IG1pZ2h0IHRyeSB0byBpbnRlcnByZXQgdGhlIGltZyBlbGVtZW50LlxuICAgICAqL1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGZpZ3VyZSBjbGFzcz1cInNiYi1pbWFnZV9fZmlndXJlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItaW1hZ2VfX3dyYXBwZXJcIj5cbiAgICAgICAgICAkeyF0aGlzLnNraXBMcWlwXG4gICAgICAgICAgICA/IGh0bWxgPGltZ1xuICAgICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJzYmItaW1hZ2VfX2JsdXJyZWRcIlxuICAgICAgICAgICAgICAgIHNyYz0ke2ltYWdlVXJsTFFJUH1cbiAgICAgICAgICAgICAgICB3aWR0aD1cIjEwMDBcIlxuICAgICAgICAgICAgICAgIGhlaWdodD1cIjU2MlwiXG4gICAgICAgICAgICAgICAgbG9hZGluZz0ke3RoaXMubG9hZGluZyA/PyBub3RoaW5nfVxuICAgICAgICAgICAgICAgIGRlY29kaW5nPSR7dGhpcy5kZWNvZGluZyA/PyBub3RoaW5nfVxuICAgICAgICAgICAgICAvPmBcbiAgICAgICAgICAgIDogbm90aGluZ31cblxuICAgICAgICAgIDxwaWN0dXJlPlxuICAgICAgICAgICAgPCEtLSByZW5kZXIgcGljdHVyZSBlbGVtZW50IHNvdXJjZXMgLS0+XG4gICAgICAgICAgICAke3BpY3R1cmVTaXplQ29uZmlncy5tYXAoKGNvbmZpZykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBpbWFnZUhlaWdodCA9IGNvbmZpZy5pbWFnZS5oZWlnaHQ7XG4gICAgICAgICAgICAgIGNvbnN0IGltYWdlV2lkdGggPSBjb25maWcuaW1hZ2Uud2lkdGg7XG4gICAgICAgICAgICAgIGNvbnN0IG1lZGlhUXVlcnkgPSB0aGlzLl9jcmVhdGVNZWRpYVF1ZXJ5U3RyaW5nKGNvbmZpZy5tZWRpYVF1ZXJpZXMpO1xuICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIGh0bWxgIDxzb3VyY2VcbiAgICAgICAgICAgICAgICAgIG1lZGlhPSR7YCR7bWVkaWFRdWVyeX1gfVxuICAgICAgICAgICAgICAgICAgc2l6ZXM9JHtgJHtpbWFnZVdpZHRofXB4YH1cbiAgICAgICAgICAgICAgICAgIHNyY3NldD0ke1xuICAgICAgICAgICAgICAgICAgICBgJHtpbWFnZVVybFdpdGhQYXJhbXN9Jnc9JHtpbWFnZVdpZHRofSZoPSR7aW1hZ2VIZWlnaHR9JnE9JHt0aGlzLl9jb25maWcubm9uUmV0aW5hUXVhbGl0eX0gJHtpbWFnZVdpZHRofXcsIGAgK1xuICAgICAgICAgICAgICAgICAgICBgJHtpbWFnZVVybFdpdGhQYXJhbXN9Jnc9JHtpbWFnZVdpZHRoICogMn0maD0ke2ltYWdlSGVpZ2h0ICogMn0mcT0ke1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbmZpZy5yZXRpbmFRdWFsaXR5XG4gICAgICAgICAgICAgICAgICAgIH0gJHtpbWFnZVdpZHRoICogMn13YFxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID48L3NvdXJjZT5gLFxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgIGFsdD0ke3RoaXMuYWx0IHx8ICcnfVxuICAgICAgICAgICAgICBAbG9hZD0ke3RoaXMuX2ltYWdlTG9hZGVkfVxuICAgICAgICAgICAgICBAZXJyb3I9JHsoKSA9PiB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdlcnJvcicpKX1cbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItaW1hZ2VfX2ltZ1wiXG4gICAgICAgICAgICAgIHNyYz0ke3RoaXMuaW1hZ2VTcmMhfVxuICAgICAgICAgICAgICB3aWR0aD1cIjEwMDBcIlxuICAgICAgICAgICAgICBoZWlnaHQ9XCI1NjJcIlxuICAgICAgICAgICAgICBsb2FkaW5nPSR7dGhpcy5sb2FkaW5nID8/IG5vdGhpbmd9XG4gICAgICAgICAgICAgIGRlY29kaW5nPSR7dGhpcy5kZWNvZGluZyA/PyBub3RoaW5nfVxuICAgICAgICAgICAgICAuZmV0Y2hQcmlvcml0eT0ke3RoaXMuaW1wb3J0YW5jZSA/PyBub3RoaW5nfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3BpY3R1cmU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICAke2NhcHRpb25cbiAgICAgICAgICA/IGh0bWxgPGZpZ2NhcHRpb25cbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItaW1hZ2VfX2NhcHRpb25cIlxuICAgICAgICAgICAgICAuaW5uZXJIVE1MPSR7Y2FwdGlvbn1cbiAgICAgICAgICAgICAgJHtyZWYoKGVsKTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fY2FwdGlvbkVsZW1lbnQgPSBlbCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICA+PC9maWdjYXB0aW9uPmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICAgICR7c2NoZW1hRGF0YVxuICAgICAgICAgID8gaHRtbGA8c2NyaXB0IHR5cGU9XCJhcHBsaWNhdGlvbi9sZCtqc29uXCIgLmlubmVySFRNTD0ke3NjaGVtYURhdGF9Pjwvc2NyaXB0PmBcbiAgICAgICAgICA6IG5vdGhpbmd9XG4gICAgICA8L2ZpZ3VyZT5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItaW1hZ2UnOiBTYmJJbWFnZUVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7OztBQXNCTyxNQUFNLHVCQUF1QjtBQUM3QixNQUFNLHVCQUF1QjtBQUM3QixNQUFNLHdCQUF3QjtBQUM5QixNQUFNLHdCQUF3QjtBQUM5QixNQUFNLHdCQUF3QjtBQUM5QixNQUFNLHdCQUF3QjtBQUM5QixNQUFNLHlCQUF5QjtBQUMvQixNQUFNLHlCQUF5QjtBQUMvQixNQUFNLHdCQUF3QjtBQUM5QixNQUFNLHdCQUF3QjtBQUM5QixNQUFNLHVCQUF1QjtBQUM3QixNQUFNLHVCQUF1QjtBQUM3QixNQUFNLHdCQUF3QjtBQUM5QixNQUFNLHdCQUF3QjtBQW9SOUIsTUFBTSxzQkFBc0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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