@sbb-esta/lyne-elements 4.0.0-next.3 → 4.0.0-next.4

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 (600) hide show
  1. package/accordion/accordion.component.d.ts.map +1 -1
  2. package/accordion/accordion.component.js +29 -27
  3. package/action-group/action-group.component.js +1 -1
  4. package/alert/alert/alert.component.js +7 -7
  5. package/alert/alert-group/alert-group.component.d.ts +1 -1
  6. package/alert/alert-group/alert-group.component.d.ts.map +1 -1
  7. package/alert/alert-group/alert-group.component.js +23 -23
  8. package/autocomplete/autocomplete-base-element.d.ts +1 -0
  9. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  10. package/autocomplete/autocomplete-base-element.js +58 -56
  11. package/autocomplete/autocomplete.component.d.ts.map +1 -1
  12. package/autocomplete/autocomplete.component.js +12 -12
  13. package/breadcrumb/breadcrumb/breadcrumb.component.js +5 -5
  14. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +2 -3
  15. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  16. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +53 -47
  17. package/button/common/button-common.d.ts.map +1 -1
  18. package/button/common/button-common.js +40 -42
  19. package/button/common.js +1 -1
  20. package/button.js +1 -1
  21. package/calendar/calendar.component.d.ts +4 -4
  22. package/calendar/calendar.component.d.ts.map +1 -1
  23. package/calendar/calendar.component.js +183 -183
  24. package/card/card/card.component.d.ts +3 -6
  25. package/card/card/card.component.d.ts.map +1 -1
  26. package/card/card/card.component.js +32 -47
  27. package/card/card-badge/card-badge.component.d.ts +0 -2
  28. package/card/card-badge/card-badge.component.d.ts.map +1 -1
  29. package/card/card-badge/card-badge.component.js +29 -36
  30. package/card/common/card-action-common.d.ts.map +1 -1
  31. package/card/common/card-action-common.js +36 -24
  32. package/checkbox/checkbox/checkbox.component.d.ts +1 -1
  33. package/checkbox/checkbox/checkbox.component.js +1 -1
  34. package/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -2
  35. package/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
  36. package/checkbox/checkbox-group/checkbox-group.component.js +39 -38
  37. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +1 -14
  38. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  39. package/checkbox/checkbox-panel/checkbox-panel.component.js +35 -55
  40. package/checkbox/common.js +1 -1
  41. package/checkbox-common-t04WeA36.js +5 -0
  42. package/checkbox.js +1 -1
  43. package/chip/chip-group/chip-group.component.d.ts +1 -0
  44. package/chip/chip-group/chip-group.component.d.ts.map +1 -1
  45. package/chip/chip-group/chip-group.component.js +23 -23
  46. package/clock/clock.component.d.ts +3 -1
  47. package/clock/clock.component.d.ts.map +1 -1
  48. package/clock/clock.component.js +40 -39
  49. package/container/container/container.component.d.ts.map +1 -1
  50. package/container/container/container.component.js +27 -24
  51. package/container/sticky-bar/sticky-bar.component.d.ts +3 -1
  52. package/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  53. package/container/sticky-bar/sticky-bar.component.js +41 -41
  54. package/core/a11y/focus-visible-within-controller.d.ts +2 -1
  55. package/core/a11y/focus-visible-within-controller.d.ts.map +1 -1
  56. package/core/a11y/focus-visible-within-controller.js +8 -7
  57. package/core/base-elements/action-base-element.d.ts +1 -0
  58. package/core/base-elements/action-base-element.d.ts.map +1 -1
  59. package/core/base-elements/action-base-element.js +37 -45
  60. package/core/base-elements/button-base-element.d.ts +1 -1
  61. package/core/base-elements/button-base-element.d.ts.map +1 -1
  62. package/core/base-elements/button-base-element.js +55 -56
  63. package/core/base-elements/link-base-element.d.ts.map +1 -1
  64. package/core/base-elements/link-base-element.js +62 -64
  65. package/core/base-elements/open-close-base-element.d.ts +2 -1
  66. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  67. package/core/base-elements/open-close-base-element.js +8 -8
  68. package/core/controllers/media-matchers-controller.d.ts +4 -1
  69. package/core/controllers/media-matchers-controller.d.ts.map +1 -1
  70. package/core/controllers/media-matchers-controller.js +30 -26
  71. package/core/controllers/overlay-position-controller.d.ts +3 -2
  72. package/core/controllers/overlay-position-controller.d.ts.map +1 -1
  73. package/core/controllers/overlay-position-controller.js +35 -35
  74. package/core/controllers/property-watcher-controller.d.ts +16 -0
  75. package/core/controllers/property-watcher-controller.d.ts.map +1 -0
  76. package/core/controllers/property-watcher-controller.js +58 -0
  77. package/core/controllers.d.ts +1 -1
  78. package/core/controllers.js +21 -18
  79. package/core/datetime/date-adapter.d.ts +1 -3
  80. package/core/datetime/date-adapter.d.ts.map +1 -1
  81. package/core/dom/animation.d.ts.map +1 -1
  82. package/core/dom/animation.js +2 -2
  83. package/core/dom/set-or-remove-attribute.d.ts +0 -14
  84. package/core/dom/set-or-remove-attribute.d.ts.map +1 -1
  85. package/core/dom/set-or-remove-attribute.js +3 -11
  86. package/core/dom.d.ts +0 -2
  87. package/core/dom.d.ts.map +1 -1
  88. package/core/dom.js +25 -33
  89. package/core/i18n/i18n.d.ts +0 -2
  90. package/core/i18n/i18n.d.ts.map +1 -1
  91. package/core/i18n/i18n.js +60 -66
  92. package/core/i18n.js +53 -54
  93. package/core/interfaces/types.d.ts +0 -14
  94. package/core/interfaces/types.d.ts.map +1 -1
  95. package/core/mixins/element-internals-mixin.d.ts +14 -1
  96. package/core/mixins/element-internals-mixin.d.ts.map +1 -1
  97. package/core/mixins/element-internals-mixin.js +102 -75
  98. package/core/mixins/form-associated-mixin.js +1 -1
  99. package/core/mixins/form-associated-radio-button-mixin.js +16 -16
  100. package/core/mixins/panel-mixin.d.ts +10 -2
  101. package/core/mixins/panel-mixin.d.ts.map +1 -1
  102. package/core/mixins/panel-mixin.js +51 -37
  103. package/core/mixins/selection-panel-mixin.d.ts +5 -11
  104. package/core/mixins/selection-panel-mixin.d.ts.map +1 -1
  105. package/core/mixins/selection-panel-mixin.js +35 -83
  106. package/core/mixins.js +28 -27
  107. package/core/overlay/overlay-option-panel.d.ts +2 -1
  108. package/core/overlay/overlay-option-panel.d.ts.map +1 -1
  109. package/core/overlay/overlay-option-panel.js +9 -6
  110. package/core/styles/core.scss +32 -11
  111. package/core/styles/mixins/card.scss +71 -55
  112. package/core/testing/wait-for-render.d.ts +1 -1
  113. package/core.css +151 -26
  114. package/custom-elements.json +8452 -8203
  115. package/date-input/date-input.component.d.ts +0 -5
  116. package/date-input/date-input.component.d.ts.map +1 -1
  117. package/date-input/date-input.component.js +0 -7
  118. package/development/accordion/accordion.component.d.ts.map +1 -1
  119. package/development/accordion/accordion.component.js +5 -4
  120. package/development/action-group/action-group.component.js +2 -2
  121. package/development/alert/alert/alert.component.js +5 -5
  122. package/development/alert/alert-group/alert-group.component.d.ts +1 -1
  123. package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
  124. package/development/alert/alert-group/alert-group.component.js +5 -5
  125. package/development/autocomplete/autocomplete-base-element.d.ts +1 -0
  126. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  127. package/development/autocomplete/autocomplete-base-element.js +28 -32
  128. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  129. package/development/autocomplete/autocomplete.component.js +2 -3
  130. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  131. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts +2 -3
  132. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  133. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +33 -24
  134. package/development/button/common/button-common.d.ts.map +1 -1
  135. package/development/button/common/button-common.js +8 -17
  136. package/development/button/common.js +1 -1
  137. package/development/button.js +1 -1
  138. package/development/calendar/calendar.component.d.ts +4 -4
  139. package/development/calendar/calendar.component.d.ts.map +1 -1
  140. package/development/calendar/calendar.component.js +11 -11
  141. package/development/card/card/card.component.d.ts +3 -6
  142. package/development/card/card/card.component.d.ts.map +1 -1
  143. package/development/card/card/card.component.js +91 -146
  144. package/development/card/card-badge/card-badge.component.d.ts +0 -2
  145. package/development/card/card-badge/card-badge.component.d.ts.map +1 -1
  146. package/development/card/card-badge/card-badge.component.js +34 -71
  147. package/development/card/common/card-action-common.d.ts.map +1 -1
  148. package/development/card/common/card-action-common.js +21 -10
  149. package/development/checkbox/checkbox/checkbox.component.d.ts +1 -1
  150. package/development/checkbox/checkbox/checkbox.component.js +2 -2
  151. package/development/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -2
  152. package/development/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
  153. package/development/checkbox/checkbox-group/checkbox-group.component.js +13 -15
  154. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +1 -14
  155. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  156. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +6 -41
  157. package/development/checkbox/common.js +1 -1
  158. package/development/{checkbox-common-CX17vF7q.js → checkbox-common-D2-QcV8n.js} +4 -1
  159. package/development/checkbox.js +1 -1
  160. package/development/chip/chip-group/chip-group.component.d.ts +1 -0
  161. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  162. package/development/chip/chip-group/chip-group.component.js +11 -5
  163. package/development/clock/clock.component.d.ts +3 -1
  164. package/development/clock/clock.component.d.ts.map +1 -1
  165. package/development/clock/clock.component.js +5 -4
  166. package/development/container/container/container.component.d.ts.map +1 -1
  167. package/development/container/container/container.component.js +4 -3
  168. package/development/container/sticky-bar/sticky-bar.component.d.ts +3 -1
  169. package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  170. package/development/container/sticky-bar/sticky-bar.component.js +40 -34
  171. package/development/core/a11y/focus-visible-within-controller.d.ts +2 -1
  172. package/development/core/a11y/focus-visible-within-controller.d.ts.map +1 -1
  173. package/development/core/a11y/focus-visible-within-controller.js +4 -3
  174. package/development/core/a11y/interactivity-checker.js +1 -1
  175. package/development/core/base-elements/action-base-element.d.ts +1 -0
  176. package/development/core/base-elements/action-base-element.d.ts.map +1 -1
  177. package/development/core/base-elements/action-base-element.js +41 -56
  178. package/development/core/base-elements/button-base-element.d.ts +1 -1
  179. package/development/core/base-elements/button-base-element.d.ts.map +1 -1
  180. package/development/core/base-elements/button-base-element.js +7 -7
  181. package/development/core/base-elements/link-base-element.d.ts.map +1 -1
  182. package/development/core/base-elements/link-base-element.js +6 -15
  183. package/development/core/base-elements/open-close-base-element.d.ts +2 -1
  184. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  185. package/development/core/base-elements/open-close-base-element.js +12 -6
  186. package/development/core/controllers/media-matchers-controller.d.ts +4 -1
  187. package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
  188. package/development/core/controllers/media-matchers-controller.js +12 -5
  189. package/development/core/controllers/overlay-position-controller.d.ts +3 -2
  190. package/development/core/controllers/overlay-position-controller.d.ts.map +1 -1
  191. package/development/core/controllers/overlay-position-controller.js +3 -3
  192. package/development/core/controllers/property-watcher-controller.d.ts +16 -0
  193. package/development/core/controllers/property-watcher-controller.d.ts.map +1 -0
  194. package/development/core/controllers/property-watcher-controller.js +101 -0
  195. package/development/core/controllers.d.ts +1 -1
  196. package/development/core/controllers.js +6 -3
  197. package/development/core/datetime/date-adapter.d.ts +1 -3
  198. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  199. package/development/core/datetime/date-adapter.js +1 -1
  200. package/development/core/dom/animation.d.ts.map +1 -1
  201. package/development/core/dom/animation.js +2 -2
  202. package/development/core/dom/set-or-remove-attribute.d.ts +0 -14
  203. package/development/core/dom/set-or-remove-attribute.d.ts.map +1 -1
  204. package/development/core/dom/set-or-remove-attribute.js +1 -9
  205. package/development/core/dom.d.ts +0 -2
  206. package/development/core/dom.d.ts.map +1 -1
  207. package/development/core/dom.js +2 -10
  208. package/development/core/i18n/i18n.d.ts +0 -2
  209. package/development/core/i18n/i18n.d.ts.map +1 -1
  210. package/development/core/i18n/i18n.js +1 -8
  211. package/development/core/i18n.js +1 -2
  212. package/development/core/interfaces/types.d.ts +0 -14
  213. package/development/core/interfaces/types.d.ts.map +1 -1
  214. package/development/core/mixins/element-internals-mixin.d.ts +14 -1
  215. package/development/core/mixins/element-internals-mixin.d.ts.map +1 -1
  216. package/development/core/mixins/element-internals-mixin.js +58 -10
  217. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  218. package/development/core/mixins/form-associated-mixin.js +2 -2
  219. package/development/core/mixins/form-associated-radio-button-mixin.js +2 -2
  220. package/development/core/mixins/panel-mixin.d.ts +10 -2
  221. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  222. package/development/core/mixins/panel-mixin.js +24 -6
  223. package/development/core/mixins/selection-panel-mixin.d.ts +5 -11
  224. package/development/core/mixins/selection-panel-mixin.d.ts.map +1 -1
  225. package/development/core/mixins/selection-panel-mixin.js +47 -111
  226. package/development/core/mixins.js +18 -9
  227. package/development/core/overlay/overlay-option-panel.d.ts +2 -1
  228. package/development/core/overlay/overlay-option-panel.d.ts.map +1 -1
  229. package/development/core/overlay/overlay-option-panel.js +10 -2
  230. package/development/core/overlay/position.js +1 -1
  231. package/development/core/testing/wait-for-render.d.ts +1 -1
  232. package/development/core/testing/wait-for-render.js +1 -1
  233. package/development/date-input/date-input.component.d.ts +0 -5
  234. package/development/date-input/date-input.component.d.ts.map +1 -1
  235. package/development/date-input/date-input.component.js +1 -8
  236. package/development/dialog/dialog/dialog.component.js +7 -7
  237. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -6
  238. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  239. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +30 -33
  240. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts +2 -0
  241. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  242. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +17 -2
  243. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -0
  244. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  245. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +17 -6
  246. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  247. package/development/file-selector/common/file-selector-common.js +5 -5
  248. package/development/flip-card/flip-card/flip-card.component.d.ts +2 -1
  249. package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  250. package/development/flip-card/flip-card/flip-card.component.js +25 -14
  251. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts +3 -1
  252. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  253. package/development/flip-card/flip-card-details/flip-card-details.component.js +7 -6
  254. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts +1 -2
  255. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  256. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +1 -7
  257. package/development/form-field/error/error.component.js +2 -2
  258. package/development/form-field/form-field/form-field.component.d.ts +1 -1
  259. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  260. package/development/form-field/form-field/form-field.component.js +2 -2
  261. package/development/form-field/form-field-clear/form-field-clear.component.js +2 -2
  262. package/development/header/common/header-action-common.js +5 -5
  263. package/development/header/header/header.component.d.ts +1 -1
  264. package/development/header/header/header.component.d.ts.map +1 -1
  265. package/development/header/header/header.component.js +14 -14
  266. package/development/header/header-environment/header-environment.component.d.ts +1 -0
  267. package/development/header/header-environment/header-environment.component.d.ts.map +1 -1
  268. package/development/header/header-environment/header-environment.component.js +8 -5
  269. package/development/icon/icon-base.d.ts +1 -0
  270. package/development/icon/icon-base.d.ts.map +1 -1
  271. package/development/icon/icon-base.js +21 -25
  272. package/development/icon/icon-validate.js +2 -2
  273. package/development/{icon-sidebar-button-common-C6QChtaa.js → icon-sidebar-button-common-DR6eQvkq.js} +4 -4
  274. package/development/image/image.component.d.ts +5 -3
  275. package/development/image/image.component.d.ts.map +1 -1
  276. package/development/image/image.component.js +10 -9
  277. package/development/link/common/block-link-common.js +1 -1
  278. package/development/link/common/inline-link-common.js +1 -1
  279. package/development/link/common/link-common.d.ts.map +1 -1
  280. package/development/link/common/link-common.js +2 -3
  281. package/development/link/common.js +1 -1
  282. package/development/{link-common-DYZHRSSJ.js → link-common-CYr3PeRf.js} +9 -16
  283. package/development/link-list/link-list-anchor/link-list-anchor.component.js +6 -6
  284. package/development/link.js +1 -1
  285. package/development/map-container/map-container.component.d.ts +3 -1
  286. package/development/map-container/map-container.component.d.ts.map +1 -1
  287. package/development/map-container/map-container.component.js +5 -4
  288. package/development/menu/common/menu-action-common.js +2 -2
  289. package/development/menu/menu/menu.component.d.ts +1 -1
  290. package/development/menu/menu/menu.component.d.ts.map +1 -1
  291. package/development/menu/menu/menu.component.js +29 -23
  292. package/development/{mini-button-common-TSDaMUCP.js → mini-button-common-CWTMR_Lu.js} +15 -15
  293. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  294. package/development/mini-calendar/mini-calendar/mini-calendar.component.js +7 -6
  295. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +4 -4
  296. package/development/navigation/common/navigation-action-common.js +7 -7
  297. package/development/navigation/navigation/navigation.component.d.ts +0 -1
  298. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  299. package/development/navigation/navigation/navigation.component.js +26 -38
  300. package/development/navigation/navigation-marker/navigation-marker.component.d.ts +1 -1
  301. package/development/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
  302. package/development/navigation/navigation-marker/navigation-marker.component.js +8 -8
  303. package/development/navigation/navigation-section/navigation-section.component.d.ts +8 -7
  304. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  305. package/development/navigation/navigation-section/navigation-section.component.js +48 -45
  306. package/development/notification/notification.component.d.ts +3 -2
  307. package/development/notification/notification.component.d.ts.map +1 -1
  308. package/development/notification/notification.component.js +22 -19
  309. package/development/option/optgroup/optgroup-base-element.d.ts +0 -3
  310. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  311. package/development/option/optgroup/optgroup-base-element.js +6 -32
  312. package/development/option/optgroup/optgroup.component.d.ts +2 -2
  313. package/development/option/optgroup/optgroup.component.d.ts.map +1 -1
  314. package/development/option/optgroup/optgroup.component.js +21 -13
  315. package/development/option/option/option-base-element.d.ts +0 -5
  316. package/development/option/option/option-base-element.d.ts.map +1 -1
  317. package/development/option/option/option-base-element.js +8 -41
  318. package/development/option/option/option.component.d.ts +5 -4
  319. package/development/option/option/option.component.d.ts.map +1 -1
  320. package/development/option/option/option.component.js +52 -39
  321. package/development/overlay/overlay-base-element.d.ts +1 -1
  322. package/development/overlay/overlay-base-element.js +2 -2
  323. package/development/overlay/overlay.component.js +7 -7
  324. package/development/paginator/common/paginator-common.d.ts +0 -1
  325. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  326. package/development/paginator/common/paginator-common.js +1 -1
  327. package/development/paginator/paginator/paginator.component.d.ts +1 -1
  328. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  329. package/development/paginator/paginator/paginator.component.js +8 -14
  330. package/development/popover/{popover/popover.component.d.ts → popover.component.d.ts} +2 -2
  331. package/development/popover/popover.component.d.ts.map +1 -0
  332. package/development/popover/popover.component.js +720 -0
  333. package/development/popover.d.ts +1 -1
  334. package/development/popover.d.ts.map +1 -1
  335. package/development/popover.js +1 -1
  336. package/development/radio-button/common.js +1 -1
  337. package/development/radio-button/radio-button/radio-button.component.d.ts +0 -1
  338. package/development/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
  339. package/development/radio-button/radio-button/radio-button.component.js +1 -2
  340. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts +0 -1
  341. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  342. package/development/radio-button/radio-button-group/radio-button-group.component.js +28 -43
  343. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts +0 -12
  344. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  345. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +5 -37
  346. package/development/{radio-button-common-BPrInmpg.js → radio-button-common-B3kVD7QV.js} +19 -42
  347. package/development/radio-button.js +1 -1
  348. package/development/{sbb-tokens-DZrHvErO.js → sbb-tokens-CZCt5L4q.js} +9 -9
  349. package/development/select/select.component.d.ts +1 -1
  350. package/development/select/select.component.d.ts.map +1 -1
  351. package/development/select/select.component.js +31 -36
  352. package/development/selection-action-panel/selection-action-panel.component.d.ts +0 -1
  353. package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
  354. package/development/selection-action-panel/selection-action-panel.component.js +22 -9
  355. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts +5 -6
  356. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  357. package/development/selection-expansion-panel/selection-expansion-panel.component.js +35 -30
  358. package/development/sidebar/common.js +1 -1
  359. package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  360. package/development/sidebar/sidebar/sidebar.component.js +13 -14
  361. package/development/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
  362. package/development/sidebar/sidebar-container/sidebar-container.component.js +10 -8
  363. package/development/sidebar.js +1 -1
  364. package/development/skiplink-list/skiplink-list.component.js +1 -1
  365. package/development/stepper/step/step.component.d.ts +3 -1
  366. package/development/stepper/step/step.component.d.ts.map +1 -1
  367. package/development/stepper/step/step.component.js +25 -12
  368. package/development/stepper/step-label/step-label.component.d.ts +4 -1
  369. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  370. package/development/stepper/step-label/step-label.component.js +40 -17
  371. package/development/stepper/stepper/stepper.component.d.ts +2 -2
  372. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  373. package/development/stepper/stepper/stepper.component.js +21 -22
  374. package/development/tabs/tab/tab.component.d.ts +0 -5
  375. package/development/tabs/tab/tab.component.d.ts.map +1 -1
  376. package/development/tabs/tab/tab.component.js +3 -9
  377. package/development/tabs/tab-group/tab-group.component.d.ts +1 -25
  378. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  379. package/development/tabs/tab-group/tab-group.component.js +19 -23
  380. package/development/tabs/tab-label/tab-label.component.d.ts +1 -0
  381. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  382. package/development/tabs/tab-label/tab-label.component.js +20 -7
  383. package/development/tag/tag/tag.component.js +9 -9
  384. package/development/teaser/teaser.component.js +2 -2
  385. package/development/teaser-product/common.js +1 -1
  386. package/development/teaser-product/teaser-product/teaser-product.component.js +2 -2
  387. package/development/{teaser-product-common-v3BvyFdH.js → teaser-product-common-CJfmvweQ.js} +2 -2
  388. package/development/teaser-product.js +1 -1
  389. package/development/time-input/time-input.component.d.ts +0 -5
  390. package/development/time-input/time-input.component.d.ts.map +1 -1
  391. package/development/time-input/time-input.component.js +1 -8
  392. package/development/toast/toast.component.js +5 -5
  393. package/development/toggle/toggle/toggle.component.js +4 -4
  394. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  395. package/development/toggle/toggle-option/toggle-option.component.js +2 -3
  396. package/development/toggle-check/toggle-check.component.js +4 -4
  397. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  398. package/development/tooltip/tooltip.component.js +7 -7
  399. package/development/visual-checkbox/visual-checkbox.component.js +8 -4
  400. package/dialog/dialog/dialog.component.js +20 -20
  401. package/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -6
  402. package/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  403. package/expansion-panel/expansion-panel/expansion-panel.component.js +51 -56
  404. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts +2 -0
  405. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  406. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +21 -13
  407. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -0
  408. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  409. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +24 -20
  410. package/file-selector/common/file-selector-common.d.ts.map +1 -1
  411. package/file-selector/common/file-selector-common.js +28 -28
  412. package/flip-card/flip-card/flip-card.component.d.ts +2 -1
  413. package/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  414. package/flip-card/flip-card/flip-card.component.js +44 -40
  415. package/flip-card/flip-card-details/flip-card-details.component.d.ts +3 -1
  416. package/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  417. package/flip-card/flip-card-details/flip-card-details.component.js +15 -14
  418. package/flip-card/flip-card-summary/flip-card-summary.component.d.ts +1 -2
  419. package/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  420. package/flip-card/flip-card-summary/flip-card-summary.component.js +23 -26
  421. package/form-field/error/error.component.js +3 -3
  422. package/form-field/form-field/form-field.component.d.ts +1 -1
  423. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  424. package/form-field/form-field/form-field.component.js +1 -1
  425. package/form-field/form-field-clear/form-field-clear.component.js +7 -7
  426. package/header/common/header-action-common.js +14 -14
  427. package/header/header/header.component.d.ts +1 -1
  428. package/header/header/header.component.d.ts.map +1 -1
  429. package/header/header/header.component.js +40 -40
  430. package/header/header-environment/header-environment.component.d.ts +1 -0
  431. package/header/header-environment/header-environment.component.d.ts.map +1 -1
  432. package/header/header-environment/header-environment.component.js +8 -9
  433. package/icon/icon-base.d.ts +1 -0
  434. package/icon/icon-base.d.ts.map +1 -1
  435. package/icon/icon-base.js +45 -48
  436. package/icon/icon-validate.js +3 -3
  437. package/{icon-sidebar-button-common-W6GYJbVt.js → icon-sidebar-button-common-ffAscVDk.js} +1 -1
  438. package/image/image.component.d.ts +5 -3
  439. package/image/image.component.d.ts.map +1 -1
  440. package/image/image.component.js +31 -30
  441. package/index.d.ts +1 -1
  442. package/index.js +1 -1
  443. package/link/common/block-link-common.js +1 -1
  444. package/link/common/inline-link-common.js +1 -1
  445. package/link/common/link-common.d.ts.map +1 -1
  446. package/link/common/link-common.js +2 -3
  447. package/link/common.js +1 -1
  448. package/link-common-D9TmX32v.js +45 -0
  449. package/link-list/link-list-anchor/link-list-anchor.component.js +9 -9
  450. package/link.js +1 -1
  451. package/map-container/map-container.component.d.ts +3 -1
  452. package/map-container/map-container.component.d.ts.map +1 -1
  453. package/map-container/map-container.component.js +18 -17
  454. package/menu/common/menu-action-common.js +5 -5
  455. package/menu/menu/menu.component.d.ts +1 -1
  456. package/menu/menu/menu.component.d.ts.map +1 -1
  457. package/menu/menu/menu.component.js +29 -28
  458. package/mini-button-common-Bb4ri3Rn.js +10 -0
  459. package/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  460. package/mini-calendar/mini-calendar/mini-calendar.component.js +22 -21
  461. package/navigation/common/navigation-action-common.js +10 -10
  462. package/navigation/navigation/navigation.component.d.ts +0 -1
  463. package/navigation/navigation/navigation.component.d.ts.map +1 -1
  464. package/navigation/navigation/navigation.component.js +46 -55
  465. package/navigation/navigation-marker/navigation-marker.component.d.ts +1 -1
  466. package/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
  467. package/navigation/navigation-marker/navigation-marker.component.js +20 -20
  468. package/navigation/navigation-section/navigation-section.component.d.ts +8 -7
  469. package/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  470. package/navigation/navigation-section/navigation-section.component.js +65 -65
  471. package/notification/notification.component.d.ts +3 -2
  472. package/notification/notification.component.d.ts.map +1 -1
  473. package/notification/notification.component.js +22 -25
  474. package/off-brand-theme.css +151 -26
  475. package/option/optgroup/optgroup-base-element.d.ts +0 -3
  476. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  477. package/option/optgroup/optgroup-base-element.js +45 -64
  478. package/option/optgroup/optgroup.component.d.ts +2 -2
  479. package/option/optgroup/optgroup.component.d.ts.map +1 -1
  480. package/option/optgroup/optgroup.component.js +27 -19
  481. package/option/option/option-base-element.d.ts +0 -5
  482. package/option/option/option-base-element.d.ts.map +1 -1
  483. package/option/option/option-base-element.js +58 -74
  484. package/option/option/option.component.d.ts +5 -4
  485. package/option/option/option.component.d.ts.map +1 -1
  486. package/option/option/option.component.js +40 -36
  487. package/overlay/overlay-base-element.d.ts +1 -1
  488. package/overlay/overlay-base-element.js +1 -1
  489. package/overlay/overlay.component.js +28 -28
  490. package/package.json +1 -6
  491. package/paginator/common/paginator-common.d.ts +0 -1
  492. package/paginator/common/paginator-common.d.ts.map +1 -1
  493. package/paginator/paginator/paginator.component.d.ts +1 -1
  494. package/paginator/paginator/paginator.component.d.ts.map +1 -1
  495. package/paginator/paginator/paginator.component.js +17 -20
  496. package/popover/{popover/popover.component.d.ts → popover.component.d.ts} +2 -2
  497. package/popover/popover.component.d.ts.map +1 -0
  498. package/popover/popover.component.js +316 -0
  499. package/popover.d.ts +1 -1
  500. package/popover.d.ts.map +1 -1
  501. package/popover.js +1 -1
  502. package/radio-button/common.js +1 -1
  503. package/radio-button/radio-button/radio-button.component.d.ts +0 -1
  504. package/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
  505. package/radio-button/radio-button/radio-button.component.js +4 -5
  506. package/radio-button/radio-button-group/radio-button-group.component.d.ts +0 -1
  507. package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  508. package/radio-button/radio-button-group/radio-button-group.component.js +45 -46
  509. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts +0 -12
  510. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  511. package/radio-button/radio-button-panel/radio-button-panel.component.js +36 -54
  512. package/radio-button-common-1Yg7p8dc.js +5 -0
  513. package/radio-button.js +1 -1
  514. package/safety-theme.css +151 -26
  515. package/{sbb-tokens-BNWpZrLn.js → sbb-tokens-DruExozg.js} +8 -8
  516. package/select/select.component.d.ts +1 -1
  517. package/select/select.component.d.ts.map +1 -1
  518. package/select/select.component.js +52 -52
  519. package/selection-action-panel/selection-action-panel.component.d.ts +0 -1
  520. package/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
  521. package/selection-action-panel/selection-action-panel.component.js +9 -13
  522. package/selection-expansion-panel/selection-expansion-panel.component.d.ts +5 -6
  523. package/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  524. package/selection-expansion-panel/selection-expansion-panel.component.js +49 -55
  525. package/sidebar/common.js +1 -1
  526. package/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  527. package/sidebar/sidebar/sidebar.component.js +26 -32
  528. package/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
  529. package/sidebar/sidebar-container/sidebar-container.component.js +33 -32
  530. package/sidebar.js +1 -1
  531. package/skiplink-list/skiplink-list.component.js +1 -1
  532. package/standard-theme.css +151 -26
  533. package/stepper/step/step.component.d.ts +3 -1
  534. package/stepper/step/step.component.d.ts.map +1 -1
  535. package/stepper/step/step.component.js +28 -20
  536. package/stepper/step-label/step-label.component.d.ts +4 -1
  537. package/stepper/step-label/step-label.component.d.ts.map +1 -1
  538. package/stepper/step-label/step-label.component.js +35 -23
  539. package/stepper/stepper/stepper.component.d.ts +2 -2
  540. package/stepper/stepper/stepper.component.d.ts.map +1 -1
  541. package/stepper/stepper/stepper.component.js +49 -48
  542. package/tabs/tab/tab.component.d.ts +0 -5
  543. package/tabs/tab/tab.component.d.ts.map +1 -1
  544. package/tabs/tab/tab.component.js +12 -18
  545. package/tabs/tab-group/tab-group.component.d.ts +1 -25
  546. package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  547. package/tabs/tab-group/tab-group.component.js +48 -50
  548. package/tabs/tab-label/tab-label.component.d.ts +1 -0
  549. package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  550. package/tabs/tab-label/tab-label.component.js +34 -29
  551. package/tag/tag/tag.component.js +12 -12
  552. package/teaser/teaser.component.js +1 -1
  553. package/teaser-product/common.js +1 -1
  554. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  555. package/teaser-product-common-DwaWdQEh.js +5 -0
  556. package/teaser-product.js +1 -1
  557. package/time-input/time-input.component.d.ts +0 -5
  558. package/time-input/time-input.component.d.ts.map +1 -1
  559. package/time-input/time-input.component.js +3 -10
  560. package/toast/toast.component.js +23 -23
  561. package/toggle/toggle/toggle.component.js +13 -13
  562. package/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  563. package/toggle/toggle-option/toggle-option.component.js +20 -21
  564. package/toggle-check/toggle-check.component.js +8 -8
  565. package/tooltip/tooltip.component.d.ts.map +1 -1
  566. package/tooltip/tooltip.component.js +39 -39
  567. package/visual-checkbox/visual-checkbox.component.js +15 -15
  568. package/checkbox-common-DK5WsQPi.js +0 -5
  569. package/core/controllers/ancestor-watcher-controller.d.ts +0 -14
  570. package/core/controllers/ancestor-watcher-controller.d.ts.map +0 -1
  571. package/core/controllers/ancestor-watcher-controller.js +0 -51
  572. package/core/dom/breakpoint.d.ts +0 -16
  573. package/core/dom/breakpoint.d.ts.map +0 -1
  574. package/core/dom/breakpoint.js +0 -12
  575. package/core/dom/host-context.d.ts +0 -11
  576. package/core/dom/host-context.d.ts.map +0 -1
  577. package/core/dom/host-context.js +0 -17
  578. package/development/core/controllers/ancestor-watcher-controller.d.ts +0 -14
  579. package/development/core/controllers/ancestor-watcher-controller.d.ts.map +0 -1
  580. package/development/core/controllers/ancestor-watcher-controller.js +0 -87
  581. package/development/core/dom/breakpoint.d.ts +0 -16
  582. package/development/core/dom/breakpoint.d.ts.map +0 -1
  583. package/development/core/dom/breakpoint.js +0 -19
  584. package/development/core/dom/host-context.d.ts +0 -11
  585. package/development/core/dom/host-context.d.ts.map +0 -1
  586. package/development/core/dom/host-context.js +0 -21
  587. package/development/popover/popover/popover.component.d.ts.map +0 -1
  588. package/development/popover/popover/popover.component.js +0 -722
  589. package/development/popover/popover.d.ts +0 -5
  590. package/development/popover/popover.d.ts.map +0 -1
  591. package/development/popover/popover.js +0 -6
  592. package/link-common-CdQBSga7.js +0 -46
  593. package/mini-button-common-C3-aFB4L.js +0 -10
  594. package/popover/popover/popover.component.d.ts.map +0 -1
  595. package/popover/popover/popover.component.js +0 -321
  596. package/popover/popover.d.ts +0 -5
  597. package/popover/popover.d.ts.map +0 -1
  598. package/popover/popover.js +0 -5
  599. package/radio-button-common-chJrmIBn.js +0 -5
  600. package/teaser-product-common-a4NenpSA.js +0 -5
@@ -54,13 +54,13 @@ class SbbOverlayPositionController {
54
54
  return this._overlayStyles.getPropertyValue("position-area");
55
55
  }
56
56
  }
57
- constructor(host, overlay, _usePolyfill = !cssAnchorPositionSupported) {
57
+ constructor(host, _usePolyfill = !cssAnchorPositionSupported) {
58
58
  this._usePolyfill = _usePolyfill;
59
59
  this._resizeObserver = !isServer ? new ResizeObserver(() => this._requestCalculatePosition()) : null;
60
60
  this._anchorName = `--sbb-overlay-anchor-${++nextId}`;
61
61
  this._positions = [];
62
62
  host.addController(this);
63
- this._overlay = overlay ?? host;
63
+ this._overlay = host;
64
64
  }
65
65
  hostConnected() {
66
66
  if (!this._usePolyfill) {
@@ -303,4 +303,4 @@ class SbbOverlayPositionController {
303
303
  export {
304
304
  SbbOverlayPositionController
305
305
  };
306
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1wb3NpdGlvbi1jb250cm9sbGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9jb250cm9sbGVycy9vdmVybGF5LXBvc2l0aW9uLWNvbnRyb2xsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTZXJ2ZXIsIHR5cGUgUmVhY3RpdmVDb250cm9sbGVyLCB0eXBlIFJlYWN0aXZlQ29udHJvbGxlckhvc3QgfSBmcm9tICdsaXQnO1xuXG5jb25zdCBjc3NBbmNob3JQb3NpdGlvblN1cHBvcnRlZCA9ICFpc1NlcnZlciAmJiBDU1Muc3VwcG9ydHMoJ2FuY2hvci1uYW1lJywgJy0tdGVzdCcpO1xuXG5jb25zdCBwaHlzaWNhbFN1cHBvcnRlZFBvc2l0aW9ucyA9IFtcbiAgJ3RvcCcsXG4gICdib3R0b20nLFxuICAnbGVmdCcsXG4gICdyaWdodCcsXG4gICd0b3Agc3Bhbi1sZWZ0JyxcbiAgJ3RvcCBzcGFuLXJpZ2h0JyxcbiAgJ2JvdHRvbSBzcGFuLWxlZnQnLFxuICAnYm90dG9tIHNwYW4tcmlnaHQnLFxuICAnbGVmdCBzcGFuLXRvcCcsXG4gICdsZWZ0IHNwYW4tYm90dG9tJyxcbiAgJ3JpZ2h0IHNwYW4tdG9wJyxcbiAgJ3JpZ2h0IHNwYW4tYm90dG9tJyxcbl07XG5cbi8vIE5vdGU6IGlmIHlvdSBhZGQgbmV3IGxvZ2ljYWwgc3VwcG9ydGVkIHBvc2l0aW9ucywgdXBkYXRlIGFsc28gdGhlICdydGxQb3NpdGlvbk1hcHBpbmcnXG5jb25zdCBsb2dpY2FsU3VwcG9ydGVkUG9zaXRpb25zID0gW1xuICAnYmxvY2stc3RhcnQnLFxuICAnYmxvY2stZW5kJyxcbiAgJ2lubGluZS1zdGFydCcsXG4gICdpbmxpbmUtZW5kJyxcbiAgJ2Jsb2NrLXN0YXJ0IHNwYW4taW5saW5lLXN0YXJ0JyxcbiAgJ2Jsb2NrLXN0YXJ0IHNwYW4taW5saW5lLWVuZCcsXG4gICdibG9jay1lbmQgc3Bhbi1pbmxpbmUtc3RhcnQnLFxuICAnYmxvY2stZW5kIHNwYW4taW5saW5lLWVuZCcsXG4gICdpbmxpbmUtc3RhcnQgc3Bhbi1ibG9jay1zdGFydCcsXG4gICdpbmxpbmUtc3RhcnQgc3Bhbi1ibG9jay1lbmQnLFxuICAnaW5saW5lLWVuZCBzcGFuLWJsb2NrLXN0YXJ0JyxcbiAgJ2lubGluZS1lbmQgc3Bhbi1ibG9jay1lbmQnLFxuXTtcblxuY29uc3QgcnRsUG9zaXRpb25NYXBwaW5nOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICAnYmxvY2stc3RhcnQnOiAnYmxvY2stc3RhcnQnLFxuICAnYmxvY2stZW5kJzogJ2Jsb2NrLWVuZCcsXG4gICdpbmxpbmUtc3RhcnQnOiAnaW5saW5lLWVuZCcsXG4gICdpbmxpbmUtZW5kJzogJ2lubGluZS1zdGFydCcsXG4gICdibG9jay1zdGFydCBzcGFuLWlubGluZS1zdGFydCc6ICdibG9jay1zdGFydCBzcGFuLWlubGluZS1lbmQnLFxuICAnYmxvY2stc3RhcnQgc3Bhbi1pbmxpbmUtZW5kJzogJ2Jsb2NrLXN0YXJ0IHNwYW4taW5saW5lLXN0YXJ0JyxcbiAgJ2Jsb2NrLWVuZCBzcGFuLWlubGluZS1zdGFydCc6ICdibG9jay1lbmQgc3Bhbi1pbmxpbmUtZW5kJyxcbiAgJ2Jsb2NrLWVuZCBzcGFuLWlubGluZS1lbmQnOiAnYmxvY2stZW5kIHNwYW4taW5saW5lLXN0YXJ0JyxcbiAgJ2lubGluZS1zdGFydCBzcGFuLWJsb2NrLXN0YXJ0JzogJ2lubGluZS1lbmQgc3Bhbi1ibG9jay1zdGFydCcsXG4gICdpbmxpbmUtc3RhcnQgc3Bhbi1ibG9jay1lbmQnOiAnaW5saW5lLWVuZCBzcGFuLWJsb2NrLWVuZCcsXG4gICdpbmxpbmUtZW5kIHNwYW4tYmxvY2stc3RhcnQnOiAnaW5saW5lLXN0YXJ0IHNwYW4tYmxvY2stc3RhcnQnLFxuICAnaW5saW5lLWVuZCBzcGFuLWJsb2NrLWVuZCc6ICdpbmxpbmUtc3RhcnQgc3Bhbi1ibG9jay1lbmQnLFxufTtcblxuY29uc3Qgc3VwcG9ydGVkUG9zaXRpb25zID0gWy4uLnBoeXNpY2FsU3VwcG9ydGVkUG9zaXRpb25zLCAuLi5sb2dpY2FsU3VwcG9ydGVkUG9zaXRpb25zXTtcbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIENvbnRyb2xsZXIgZm9yIG1hbmFnaW5nIG92ZXJsYXlzIHBvc2l0aW9uaW5nLiBBbHNvIGFjdHMgYXMgYSBwb2x5ZmlsbCB3aGVuIG5hdGl2ZVxuICogQ1NTIEFuY2hvciBQb3NpdGlvbmluZyBpcyBub3Qgc3VwcG9ydGVkIChlbm91Z2gpLlxuICogQXBwbGllcyB1bmlxdWUgYW5jaG9yIG5hbWVzIHdoZW4gdXNpbmcgbmF0aXZlIENTUyBBbmNob3IgUG9zaXRpb25pbmdcbiAqIG9yIGNhbGN1bGF0ZXMgYW5kIGFwcGxpZXMgY29ycmVjdCBwb3NpdGlvbnMgaW4gcG9seWZpbGwgbW9kZS5cbiAqXG4gKiBBbHNvLCB0aGUgY29udHJvbGxlciBzZXRzIHRoZSAnZGF0YS1vdmVybGF5LXBvc2l0aW9uJyBhdHRyaWJ1dGUgb24gdGhlIG92ZXJsYXkgZWxlbWVudC5cbiAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gYXBwbHkgc3BlY2lmaWMgc3R5bGVzIGJhc2VkIG9uIHRoZSBjdXJyZW50IHBvc2l0aW9uIG9mIHRoZSBvdmVybGF5LlxuICpcbiAqICMjIyBJbXBsZW1lbnRhdGlvblxuICogRGVmaW5lIGFuZCBhcHBseSB0aGUgZm9sbG93aW5nIENTUyB2YXJpYWJsZXMgb24gdGhlIG92ZXJsYXkgZWxlbWVudDpcbiAqIGBgYHNjc3NcbiAqICAgLS1zYmItb3ZlcmxheS1wb3NpdGlvbi1hcmVhOiBibG9jay1lbmQ7IC8vIERlZmF1bHRcbiAqICAgLS1zYmItb3ZlcmxheS1wb3NpdGlvbi10cnktZmFsbGJhY2tzOiBibG9jay1zdGFydCwgaW5saW5lLWVuZCwgaW5saW5lLXN0YXJ0OyAvLyBGYWxsYmFja3NcbiAqXG4gKiAgIHBvc2l0aW9uLWFyZWE6IHZhcigtLXNiYi1vdmVybGF5LXBvc2l0aW9uLWFyZWEpO1xuICogICBwb3NpdGlvbi10cnktZmFsbGJhY2tzOiB2YXIoLS1zYmItb3ZlcmxheS1wb3NpdGlvbi10cnktZmFsbGJhY2tzKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgU2JiT3ZlcmxheVBvc2l0aW9uQ29udHJvbGxlciBpbXBsZW1lbnRzIFJlYWN0aXZlQ29udHJvbGxlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3Jlc2l6ZU9ic2VydmVyID0gIWlzU2VydmVyXG4gICAgPyBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4gdGhpcy5fcmVxdWVzdENhbGN1bGF0ZVBvc2l0aW9uKCkpXG4gICAgOiBudWxsITtcbiAgcHJpdmF0ZSByZWFkb25seSBfb3ZlcmxheTogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX2Fib3J0Q29udHJvbGxlcj86IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfYW5jaG9yPzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX292ZXJsYXlTdHlsZXM/OiBDU1NTdHlsZURlY2xhcmF0aW9uO1xuICBwcml2YXRlIF9mcmFtZT86IFJldHVyblR5cGU8dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT47XG4gIHByaXZhdGUgX2FuY2hvck5hbWUgPSBgLS1zYmItb3ZlcmxheS1hbmNob3ItJHsrK25leHRJZH1gO1xuICBwcml2YXRlIF9wb3NpdGlvbnM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgX2xhc3RQb3NpdGlvbj86IHN0cmluZztcblxuICAvKiogR2V0IHRoZSBjdXJyZW50IHBvc2l0aW9uLiAoZS5nLiBibG9jay1lbmQsIGJsb2NrLXN0YXJ0LCBldGMuKSAqL1xuICBwdWJsaWMgZ2V0IGN1cnJlbnRQb3NpdGlvbigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLl91c2VQb2x5ZmlsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2xhc3RQb3NpdGlvbiA/PyB0aGlzLl9wb3NpdGlvbnNbMF0gPz8gJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX292ZXJsYXlTdHlsZXMgPz89IGdldENvbXB1dGVkU3R5bGUodGhpcy5fb3ZlcmxheSk7XG4gICAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdwb3NpdGlvbi1hcmVhJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIGhvc3Q6IFJlYWN0aXZlQ29udHJvbGxlckhvc3QgJiBIVE1MRWxlbWVudCxcbiAgICBvdmVybGF5PzogSFRNTEVsZW1lbnQsXG4gICAgcHJpdmF0ZSBfdXNlUG9seWZpbGwgPSAhY3NzQW5jaG9yUG9zaXRpb25TdXBwb3J0ZWQsXG4gICkge1xuICAgIGhvc3QuYWRkQ29udHJvbGxlcih0aGlzKTtcbiAgICB0aGlzLl9vdmVybGF5ID0gb3ZlcmxheSA/PyBob3N0O1xuICB9XG5cbiAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl91c2VQb2x5ZmlsbCkge1xuICAgICAgdGhpcy5fb3ZlcmxheS5zdHlsZS5zZXRQcm9wZXJ0eSgncG9zaXRpb24tYW5jaG9yJywgdGhpcy5fYW5jaG9yTmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFJlc2V0IHRoZSAncG9zaXRpb24tYXJlYScgdmFsdWUgdG8gYXZvaWQgYW55IHVud2FudGVkIHNpZGUgZWZmZWN0IHdoZW4gdXNpbmcgdGhlIHBvbHlmaWxsLlxuICAgICAgdGhpcy5fb3ZlcmxheS5zdHlsZS5zZXRQcm9wZXJ0eSgncG9zaXRpb24tYXJlYScsICdpbml0aWFsJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhvc3RVcGRhdGUoKTogdm9pZCB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3JlYWRQb3NpdGlvbnNGcm9tQ3NzKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29ubmVjdHMgdGhlIG92ZXJsYXkgdG8gdGhlIGdpdmVuIHRyaWdnZXIgZWxlbWVudCBhbmQgZGV0ZXJtaW5lcyB0aGUgb3B0aW1hbCBwb3NpdGlvbi5cbiAgICogVXN1YWxseSwgdGhpcyBpcyBjYWxsZWQgd2hlbiB0aGUgb3ZlcmxheSBpcyBvcGVuZWQuXG4gICAqIEBwYXJhbSBhbmNob3IgVGhlIGFuY2hvciBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGNvbm5lY3QoYW5jaG9yOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9hbmNob3IpIHtcbiAgICAgIHRoaXMuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgICB0aGlzLl9hbmNob3IgPSBhbmNob3I7XG5cbiAgICBpZiAoIXRoaXMuX3VzZVBvbHlmaWxsKSB7XG4gICAgICB0aGlzLl9hbmNob3Iuc3R5bGUuc2V0UHJvcGVydHkoJ2FuY2hvci1uYW1lJywgdGhpcy5fYW5jaG9yTmFtZSEpO1xuICAgIH1cblxuICAgIHRoaXMuX3JlYWRQb3NpdGlvbnNGcm9tQ3NzKCk7XG4gICAgdGhpcy5fY2FsY3VsYXRlUG9zaXRpb24oKTtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gICAgLy8gV2UgbmVlZCB0byB1c2UgY2FwdHVyZSBoZXJlIHRvIHJlYWN0IHRvIGFsbCBzY3JvbGwgZXZlbnRzLlxuICAgIC8vIElmIGNhcHR1cmUgd2FzIG5vdCB1c2VkLCB0aGVuIHNjcm9sbCBldmVudHMgaW5zaWRlIHNlcGFyYXRlIHNjcm9sbFxuICAgIC8vIGNvbnRhaW5lcnMgd291bGQgbm90IGJlIGNhdWdodC5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCAoKSA9PiB0aGlzLl9yZXF1ZXN0Q2FsY3VsYXRlUG9zaXRpb24oKSwge1xuICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsICgpID0+IHRoaXMuX3JlcXVlc3RDYWxjdWxhdGVQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl9hYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyLm9ic2VydmUoYW5jaG9yLCB7IGJveDogJ2JvcmRlci1ib3gnIH0pO1xuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5fb3ZlcmxheSwgeyBib3g6ICdib3JkZXItYm94JyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNjb25uZWN0KCk6IHZvaWQge1xuICAgIHRoaXMuX2FuY2hvcj8uc3R5bGUucmVtb3ZlUHJvcGVydHkoJ2FuY2hvci1uYW1lJyk7XG4gICAgdGhpcy5fYW5jaG9yID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9yZXF1ZXN0Q2FsY3VsYXRlUG9zaXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fZnJhbWUgPz89IHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICB0aGlzLl9jYWxjdWxhdGVQb3NpdGlvbigpO1xuICAgICAgdGhpcy5fZnJhbWUgPSB1bmRlZmluZWQ7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVQb3NpdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2FuY2hvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl91c2VQb2x5ZmlsbCkge1xuICAgICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLl9nZXRPcHRpbWFsUG9zaXRpb24odGhpcy5fcG9zaXRpb25zKTtcbiAgICAgIHRoaXMuX2FwcGx5T3ZlcmxheVBvc2l0aW9uKHBvc2l0aW9uLnBvc2l0aW9uLCBwb3NpdGlvbi5sZWZ0LCBwb3NpdGlvbi50b3ApO1xuICAgIH1cbiAgICB0aGlzLl9vdmVybGF5LnNldEF0dHJpYnV0ZSgnZGF0YS1wb3NpdGlvbicsIHRoaXMuY3VycmVudFBvc2l0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBvcHRpbWFsIHBvc2l0aW9uIHRoYXQgZml0cyB0aGUgb3ZlcmxheS5cbiAgICogQHBhcmFtIHBvc2l0aW9ucyBUaGUgbGlzdCBvZiBwb3NpdGlvbnMgdG8gY2hlY2suXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIF9nZXRPcHRpbWFsUG9zaXRpb24ocG9zaXRpb25zOiBzdHJpbmdbXSk6IHtcbiAgICBsZWZ0OiBudW1iZXI7XG4gICAgdG9wOiBudW1iZXI7XG4gICAgcG9zaXRpb246IHN0cmluZztcbiAgICBmaXRzPzogYm9vbGVhbjtcbiAgfSB7XG4gICAgY29uc3QgeyBvZmZzZXRIZWlnaHQ6IG92ZXJsYXlIZWlnaHQsIG9mZnNldFdpZHRoOiBvdmVybGF5V2lkdGggfSA9IHRoaXMuX292ZXJsYXk7XG4gICAgY29uc3QgeyBpbm5lckhlaWdodDogdmlld3BvcnRIZWlnaHQsIGlubmVyV2lkdGg6IHZpZXdwb3J0V2lkdGggfSA9IHdpbmRvdztcbiAgICBjb25zdCB7XG4gICAgICB0b3A6IHRyaWdnZXJPZmZzZXRUb3AsXG4gICAgICBsZWZ0OiB0cmlnZ2VyT2Zmc2V0TGVmdCxcbiAgICAgIGhlaWdodDogdHJpZ2dlckhlaWdodCxcbiAgICAgIHdpZHRoOiB0cmlnZ2VyV2lkdGgsXG4gICAgfSA9IHRoaXMuX2FuY2hvciEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCBpc1J0bCA9IHRoaXMuX292ZXJsYXkubWF0Y2hlcygnOmRpcihydGwpJyk7XG4gICAgY29uc3QgdG9wU3BhY2UgPSB0cmlnZ2VyT2Zmc2V0VG9wO1xuICAgIGNvbnN0IGJvdHRvbVNwYWNlID0gdmlld3BvcnRIZWlnaHQgLSB0cmlnZ2VySGVpZ2h0IC0gdHJpZ2dlck9mZnNldFRvcDtcbiAgICBjb25zdCBsZWZ0U3BhY2UgPSB0cmlnZ2VyT2Zmc2V0TGVmdDtcbiAgICBjb25zdCByaWdodFNwYWNlID0gdmlld3BvcnRXaWR0aCAtIHRyaWdnZXJXaWR0aCAtIHRyaWdnZXJPZmZzZXRMZWZ0O1xuXG4gICAgLy8gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgb3ZlcmxheSBhbmQgdGhlIHRyaWdnZXIgd2lkdGgvaGVpZ2h0LlxuICAgIGNvbnN0IG92ZXJsYXlXaWR0aE5ldCA9IG92ZXJsYXlXaWR0aCAtIHRyaWdnZXJXaWR0aDtcbiAgICBjb25zdCBvdmVybGF5SGVpZ2h0TmV0ID0gb3ZlcmxheUhlaWdodCAtIHRyaWdnZXJIZWlnaHQ7XG5cbiAgICAvLyBUaGUgYW1vdW50IHRoYXQgd291bGQgZXhjZWVkIHRoZSB0cmlnZ2VyIGlmIHRoZSBvdmVybGF5IHdlcmUgY2VudGVyZWQgb24gaXQuXG4gICAgY29uc3Qgb3ZlcmxheVdpZHRoT3ZlcmxhcCA9IG92ZXJsYXlXaWR0aE5ldCAvIDI7XG4gICAgY29uc3Qgb3ZlcmxheUhlaWdodE92ZXJsYXAgPSBvdmVybGF5SGVpZ2h0TmV0IC8gMjtcblxuICAgIHRoaXMuX292ZXJsYXkuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAnLS1zYmItb3ZlcmxheS1jb250cm9sbGVyLXRyaWdnZXItaGVpZ2h0JyxcbiAgICAgIGAke3RyaWdnZXJIZWlnaHR9cHhgLFxuICAgICk7XG4gICAgdGhpcy5fb3ZlcmxheS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3ZlcmxheS1jb250cm9sbGVyLXRyaWdnZXItd2lkdGgnLCBgJHt0cmlnZ2VyV2lkdGh9cHhgKTtcblxuICAgIGxldCByZXN1bHQ6IFJldHVyblR5cGU8dHlwZW9mIHRoaXMuX2dldE9wdGltYWxQb3NpdGlvbj4gPSB7IGxlZnQ6IDAsIHRvcDogMCwgcG9zaXRpb246ICcnIH07XG4gICAgbGV0IGZpcnN0UG9zaXRpb246IFJldHVyblR5cGU8dHlwZW9mIHRoaXMuX2dldE9wdGltYWxQb3NpdGlvbj4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgZm9yIChjb25zdCBwb3NpdGlvbiBvZiBwb3NpdGlvbnMpIHtcbiAgICAgIC8vIElmIHJ0bCBpcyBlbmFibGVkLCB3ZSBtYXAgdGhlIGxvZ2ljYWwgcG9zaXRpb24gdG8gdGhlaXIgUlRMIGVxdWl2YWxlbnQuIChlLmcuICdpbmxpbmUtc3RhcnQnIC0+ICdpbmxpbmUtZW5kJylcbiAgICAgIGNvbnN0IHBoeXNpY2FsUG9zaXRpb24gPVxuICAgICAgICBpc1J0bCAmJiBsb2dpY2FsU3VwcG9ydGVkUG9zaXRpb25zLmluY2x1ZGVzKHBvc2l0aW9uKVxuICAgICAgICAgID8gcnRsUG9zaXRpb25NYXBwaW5nW3Bvc2l0aW9uXVxuICAgICAgICAgIDogcG9zaXRpb247XG5cbiAgICAgIHN3aXRjaCAocGh5c2ljYWxQb3NpdGlvbikge1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICBjYXNlICdibG9jay1lbmQnOlxuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgbGVmdDogdHJpZ2dlck9mZnNldExlZnQgLSBvdmVybGF5V2lkdGhPdmVybGFwLFxuICAgICAgICAgICAgdG9wOiB0cmlnZ2VyT2Zmc2V0VG9wICsgdHJpZ2dlckhlaWdodCxcbiAgICAgICAgICAgIGZpdHM6XG4gICAgICAgICAgICAgIG92ZXJsYXlIZWlnaHQgPD0gYm90dG9tU3BhY2UgJiZcbiAgICAgICAgICAgICAgb3ZlcmxheVdpZHRoT3ZlcmxhcCA8PSBsZWZ0U3BhY2UgJiZcbiAgICAgICAgICAgICAgb3ZlcmxheVdpZHRoT3ZlcmxhcCA8PSByaWdodFNwYWNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgIGNhc2UgJ2Jsb2NrLXN0YXJ0JzpcbiAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIGxlZnQ6IHRyaWdnZXJPZmZzZXRMZWZ0IC0gb3ZlcmxheVdpZHRoT3ZlcmxhcCxcbiAgICAgICAgICAgIHRvcDogdHJpZ2dlck9mZnNldFRvcCAtIG92ZXJsYXlIZWlnaHQsXG4gICAgICAgICAgICBmaXRzOlxuICAgICAgICAgICAgICBvdmVybGF5SGVpZ2h0IDw9IHRvcFNwYWNlICYmXG4gICAgICAgICAgICAgIG92ZXJsYXlXaWR0aE92ZXJsYXAgPD0gbGVmdFNwYWNlICYmXG4gICAgICAgICAgICAgIG92ZXJsYXlXaWR0aE92ZXJsYXAgPD0gcmlnaHRTcGFjZSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgIGNhc2UgJ2lubGluZS1lbmQnOlxuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgbGVmdDogdHJpZ2dlck9mZnNldExlZnQgKyB0cmlnZ2VyV2lkdGgsXG4gICAgICAgICAgICB0b3A6IHRyaWdnZXJPZmZzZXRUb3AgLSBvdmVybGF5SGVpZ2h0T3ZlcmxhcCxcbiAgICAgICAgICAgIGZpdHM6XG4gICAgICAgICAgICAgIG92ZXJsYXlXaWR0aCA8PSByaWdodFNwYWNlICYmXG4gICAgICAgICAgICAgIG92ZXJsYXlIZWlnaHRPdmVybGFwIDw9IHRvcFNwYWNlICYmXG4gICAgICAgICAgICAgIG92ZXJsYXlIZWlnaHRPdmVybGFwIDw9IGJvdHRvbVNwYWNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICBjYXNlICdpbmxpbmUtc3RhcnQnOlxuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgbGVmdDogdHJpZ2dlck9mZnNldExlZnQgLSBvdmVybGF5V2lkdGgsXG4gICAgICAgICAgICB0b3A6IHRyaWdnZXJPZmZzZXRUb3AgLSBvdmVybGF5SGVpZ2h0T3ZlcmxhcCxcbiAgICAgICAgICAgIGZpdHM6XG4gICAgICAgICAgICAgIG92ZXJsYXlXaWR0aCA8PSBsZWZ0U3BhY2UgJiZcbiAgICAgICAgICAgICAgb3ZlcmxheUhlaWdodE92ZXJsYXAgPD0gdG9wU3BhY2UgJiZcbiAgICAgICAgICAgICAgb3ZlcmxheUhlaWdodE92ZXJsYXAgPD0gYm90dG9tU3BhY2UsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndG9wIHNwYW4tbGVmdCc6XG4gICAgICAgIGNhc2UgJ2Jsb2NrLXN0YXJ0IHNwYW4taW5saW5lLXN0YXJ0JzpcbiAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIGxlZnQ6IHRyaWdnZXJPZmZzZXRMZWZ0IC0gb3ZlcmxheVdpZHRoTmV0LFxuICAgICAgICAgICAgdG9wOiB0cmlnZ2VyT2Zmc2V0VG9wIC0gb3ZlcmxheUhlaWdodCxcbiAgICAgICAgICAgIGZpdHM6IG92ZXJsYXlIZWlnaHQgPD0gdG9wU3BhY2UgJiYgb3ZlcmxheVdpZHRoTmV0IDw9IGxlZnRTcGFjZSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd0b3Agc3Bhbi1yaWdodCc6XG4gICAgICAgIGNhc2UgJ2Jsb2NrLXN0YXJ0IHNwYW4taW5saW5lLWVuZCc6XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgICAgICBsZWZ0OiB0cmlnZ2VyT2Zmc2V0TGVmdCxcbiAgICAgICAgICAgIHRvcDogdHJpZ2dlck9mZnNldFRvcCAtIG92ZXJsYXlIZWlnaHQsXG4gICAgICAgICAgICBmaXRzOiBvdmVybGF5SGVpZ2h0IDw9IHRvcFNwYWNlICYmIG92ZXJsYXlXaWR0aE5ldCA8PSByaWdodFNwYWNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JvdHRvbSBzcGFuLWxlZnQnOlxuICAgICAgICBjYXNlICdibG9jay1lbmQgc3Bhbi1pbmxpbmUtc3RhcnQnOlxuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgbGVmdDogdHJpZ2dlck9mZnNldExlZnQgLSBvdmVybGF5V2lkdGhOZXQsXG4gICAgICAgICAgICB0b3A6IHRyaWdnZXJPZmZzZXRUb3AgKyB0cmlnZ2VySGVpZ2h0LFxuICAgICAgICAgICAgZml0czogb3ZlcmxheUhlaWdodCA8PSBib3R0b21TcGFjZSAmJiBvdmVybGF5V2lkdGhOZXQgPD0gbGVmdFNwYWNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JvdHRvbSBzcGFuLXJpZ2h0JzpcbiAgICAgICAgY2FzZSAnYmxvY2stZW5kIHNwYW4taW5saW5lLWVuZCc6XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgICAgICBsZWZ0OiB0cmlnZ2VyT2Zmc2V0TGVmdCxcbiAgICAgICAgICAgIHRvcDogdHJpZ2dlck9mZnNldFRvcCArIHRyaWdnZXJIZWlnaHQsXG4gICAgICAgICAgICBmaXRzOiBvdmVybGF5SGVpZ2h0IDw9IGJvdHRvbVNwYWNlICYmIG92ZXJsYXlXaWR0aE5ldCA8PSByaWdodFNwYWNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xlZnQgc3Bhbi10b3AnOlxuICAgICAgICBjYXNlICdpbmxpbmUtc3RhcnQgc3Bhbi1ibG9jay1zdGFydCc6XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgICAgICBsZWZ0OiB0cmlnZ2VyT2Zmc2V0TGVmdCAtIG92ZXJsYXlXaWR0aCxcbiAgICAgICAgICAgIHRvcDogdHJpZ2dlck9mZnNldFRvcCArIHRyaWdnZXJIZWlnaHQgLSBvdmVybGF5SGVpZ2h0LFxuICAgICAgICAgICAgZml0czogb3ZlcmxheVdpZHRoIDw9IGxlZnRTcGFjZSAmJiBvdmVybGF5SGVpZ2h0TmV0IDw9IHRvcFNwYWNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xlZnQgc3Bhbi1ib3R0b20nOlxuICAgICAgICBjYXNlICdpbmxpbmUtc3RhcnQgc3Bhbi1ibG9jay1lbmQnOlxuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgbGVmdDogdHJpZ2dlck9mZnNldExlZnQgLSBvdmVybGF5V2lkdGgsXG4gICAgICAgICAgICB0b3A6IHRyaWdnZXJPZmZzZXRUb3AsXG4gICAgICAgICAgICBmaXRzOiBvdmVybGF5V2lkdGggPD0gbGVmdFNwYWNlICYmIG92ZXJsYXlIZWlnaHROZXQgPD0gYm90dG9tU3BhY2UsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncmlnaHQgc3Bhbi10b3AnOlxuICAgICAgICBjYXNlICdpbmxpbmUtZW5kIHNwYW4tYmxvY2stc3RhcnQnOlxuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgbGVmdDogdHJpZ2dlck9mZnNldExlZnQgKyB0cmlnZ2VyV2lkdGgsXG4gICAgICAgICAgICB0b3A6IHRyaWdnZXJPZmZzZXRUb3AgKyB0cmlnZ2VySGVpZ2h0IC0gb3ZlcmxheUhlaWdodCxcbiAgICAgICAgICAgIGZpdHM6IG92ZXJsYXlXaWR0aCA8PSByaWdodFNwYWNlICYmIG92ZXJsYXlIZWlnaHROZXQgPD0gdG9wU3BhY2UsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncmlnaHQgc3Bhbi1ib3R0b20nOlxuICAgICAgICBjYXNlICdpbmxpbmUtZW5kIHNwYW4tYmxvY2stZW5kJzpcbiAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIGxlZnQ6IHRyaWdnZXJPZmZzZXRMZWZ0ICsgdHJpZ2dlcldpZHRoLFxuICAgICAgICAgICAgdG9wOiB0cmlnZ2VyT2Zmc2V0VG9wLFxuICAgICAgICAgICAgZml0czogb3ZlcmxheVdpZHRoIDw9IHJpZ2h0U3BhY2UgJiYgb3ZlcmxheUhlaWdodE5ldCA8PSBib3R0b21TcGFjZSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKHJlc3VsdC5maXRzKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBmaXJzdFBvc2l0aW9uID8/PSByZXN1bHQ7XG4gICAgfVxuXG4gICAgLy8gSWYgbm8gcG9zaXRpb24gZml0cywgd2UgcmV0dXJuIHRoZSBmaXJzdCBvbmUuXG4gICAgcmV0dXJuIGZpcnN0UG9zaXRpb24hO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXBwbHlPdmVybGF5UG9zaXRpb24ocG9zaXRpb246IHN0cmluZywgbGVmdDogbnVtYmVyLCB0b3A6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX2xhc3RQb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgIHRoaXMuX292ZXJsYXkuc3R5bGUubGVmdCA9IGAke2xlZnR9cHhgO1xuICAgIHRoaXMuX292ZXJsYXkuc3R5bGUudG9wID0gYCR7dG9wfXB4YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbmx5IHVzZWQgaW4gcG9seWZpbGwgbW9kZS5cbiAgICogUmVhZHMgdGhlIGxpc3Qgb2YgdGhlIGNvbmZpZ3VyZWQgcG9zaXRpb25zIGZyb20gdGhlIENTUyB2YXJpYWJsZXMuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIF9yZWFkUG9zaXRpb25zRnJvbUNzcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3VzZVBvbHlmaWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX292ZXJsYXlTdHlsZXMgPz89IGdldENvbXB1dGVkU3R5bGUodGhpcy5fb3ZlcmxheSk7XG4gICAgY29uc3QgcG9zaXRpb25zID0gW1xuICAgICAgdGhpcy5fb3ZlcmxheVN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCctLXNiYi1vdmVybGF5LXBvc2l0aW9uLWFyZWEnKSB8fCAnYmxvY2stZW5kJyxcbiAgICAgIC4uLnRoaXMuX292ZXJsYXlTdHlsZXNcbiAgICAgICAgLmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLW92ZXJsYXktcG9zaXRpb24tdHJ5LWZhbGxiYWNrcycpXG4gICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgIC5tYXAoKGYpID0+IGYudHJpbSgpKVxuICAgICAgICAuZmlsdGVyKChmKSA9PiAhIWYpLFxuICAgIF07XG5cbiAgICBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFViAmJiBwb3NpdGlvbnMuc29tZSgocCkgPT4gIXN1cHBvcnRlZFBvc2l0aW9ucy5pbmNsdWRlcyhwKSkpIHtcbiAgICAgIGNvbnN0IHVuc3VwcG9ydGVkUG9zaXRpb25zID0gcG9zaXRpb25zXG4gICAgICAgIC5maWx0ZXIoKHApID0+ICFzdXBwb3J0ZWRQb3NpdGlvbnMuaW5jbHVkZXMocCkpXG4gICAgICAgIC5zb3J0KClcbiAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBVbnN1cHBvcnRlZCBwb3NpdGlvbi10cnktZmFsbGJhY2tzICR7dW5zdXBwb3J0ZWRQb3NpdGlvbnN9IChTdXBwb3J0ZWQ6ICR7c3VwcG9ydGVkUG9zaXRpb25zLmpvaW4oJywgJyl9KWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuX3Bvc2l0aW9ucyA9IHBvc2l0aW9ucztcbiAgICBpZiAodGhpcy5fbGFzdFBvc2l0aW9uICYmICF0aGlzLl9wb3NpdGlvbnMuaW5jbHVkZXModGhpcy5fbGFzdFBvc2l0aW9uKSkge1xuICAgICAgdGhpcy5fbGFzdFBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxNQUFNLDZCQUE2QixDQUFDLFlBQVksSUFBSSxTQUFTLGVBQWUsUUFBUTtBQUVwRixNQUFNLDZCQUE2QjtBQUFBLEVBQ2pDO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7O0FBSUYsTUFBTSw0QkFBNEI7QUFBQSxFQUNoQztBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBOztBQUdGLE1BQU0scUJBQWdEO0FBQUEsRUFDcEQsZUFBZTtBQUFBLEVBQ2YsYUFBYTtBQUFBLEVBQ2IsZ0JBQWdCO0FBQUEsRUFDaEIsY0FBYztBQUFBLEVBQ2QsaUNBQWlDO0FBQUEsRUFDakMsK0JBQStCO0FBQUEsRUFDL0IsK0JBQStCO0FBQUEsRUFDL0IsNkJBQTZCO0FBQUEsRUFDN0IsaUNBQWlDO0FBQUEsRUFDakMsK0JBQStCO0FBQUEsRUFDL0IsK0JBQStCO0FBQUEsRUFDL0IsNkJBQTZCOztBQUcvQixNQUFNLHFCQUFxQixDQUFDLEdBQUcsNEJBQTRCLEdBQUcseUJBQXlCO0FBQ3ZGLElBQUksU0FBUztNQXFCQSw2QkFBNEI7QUFBQTtBQUFBLEVBY3ZDLElBQVcsa0JBQWU7QUFDeEIsUUFBSSxLQUFLLGNBQWM7QUFDckIsYUFBTyxLQUFLLGlCQUFpQixLQUFLLFdBQVcsQ0FBQyxLQUFLO0FBQUEsSUFDckQsT0FBTztBQUNMLFdBQUssbUJBQW1CLGlCQUFpQixLQUFLLFFBQVE7QUFDdEQsYUFBTyxLQUFL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
306
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1wb3NpdGlvbi1jb250cm9sbGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9jb250cm9sbGVycy9vdmVybGF5LXBvc2l0aW9uLWNvbnRyb2xsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNTZXJ2ZXIsIHR5cGUgUmVhY3RpdmVDb250cm9sbGVyLCB0eXBlIFJlYWN0aXZlQ29udHJvbGxlckhvc3QgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGUgfSBmcm9tICcuLi9taXhpbnMudHMnO1xuXG5jb25zdCBjc3NBbmNob3JQb3NpdGlvblN1cHBvcnRlZCA9ICFpc1NlcnZlciAmJiBDU1Muc3VwcG9ydHMoJ2FuY2hvci1uYW1lJywgJy0tdGVzdCcpO1xuXG5jb25zdCBwaHlzaWNhbFN1cHBvcnRlZFBvc2l0aW9ucyA9IFtcbiAgJ3RvcCcsXG4gICdib3R0b20nLFxuICAnbGVmdCcsXG4gICdyaWdodCcsXG4gICd0b3Agc3Bhbi1sZWZ0JyxcbiAgJ3RvcCBzcGFuLXJpZ2h0JyxcbiAgJ2JvdHRvbSBzcGFuLWxlZnQnLFxuICAnYm90dG9tIHNwYW4tcmlnaHQnLFxuICAnbGVmdCBzcGFuLXRvcCcsXG4gICdsZWZ0IHNwYW4tYm90dG9tJyxcbiAgJ3JpZ2h0IHNwYW4tdG9wJyxcbiAgJ3JpZ2h0IHNwYW4tYm90dG9tJyxcbl07XG5cbi8vIE5vdGU6IGlmIHlvdSBhZGQgbmV3IGxvZ2ljYWwgc3VwcG9ydGVkIHBvc2l0aW9ucywgdXBkYXRlIGFsc28gdGhlICdydGxQb3NpdGlvbk1hcHBpbmcnXG5jb25zdCBsb2dpY2FsU3VwcG9ydGVkUG9zaXRpb25zID0gW1xuICAnYmxvY2stc3RhcnQnLFxuICAnYmxvY2stZW5kJyxcbiAgJ2lubGluZS1zdGFydCcsXG4gICdpbmxpbmUtZW5kJyxcbiAgJ2Jsb2NrLXN0YXJ0IHNwYW4taW5saW5lLXN0YXJ0JyxcbiAgJ2Jsb2NrLXN0YXJ0IHNwYW4taW5saW5lLWVuZCcsXG4gICdibG9jay1lbmQgc3Bhbi1pbmxpbmUtc3RhcnQnLFxuICAnYmxvY2stZW5kIHNwYW4taW5saW5lLWVuZCcsXG4gICdpbmxpbmUtc3RhcnQgc3Bhbi1ibG9jay1zdGFydCcsXG4gICdpbmxpbmUtc3RhcnQgc3Bhbi1ibG9jay1lbmQnLFxuICAnaW5saW5lLWVuZCBzcGFuLWJsb2NrLXN0YXJ0JyxcbiAgJ2lubGluZS1lbmQgc3Bhbi1ibG9jay1lbmQnLFxuXTtcblxuY29uc3QgcnRsUG9zaXRpb25NYXBwaW5nOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge1xuICAnYmxvY2stc3RhcnQnOiAnYmxvY2stc3RhcnQnLFxuICAnYmxvY2stZW5kJzogJ2Jsb2NrLWVuZCcsXG4gICdpbmxpbmUtc3RhcnQnOiAnaW5saW5lLWVuZCcsXG4gICdpbmxpbmUtZW5kJzogJ2lubGluZS1zdGFydCcsXG4gICdibG9jay1zdGFydCBzcGFuLWlubGluZS1zdGFydCc6ICdibG9jay1zdGFydCBzcGFuLWlubGluZS1lbmQnLFxuICAnYmxvY2stc3RhcnQgc3Bhbi1pbmxpbmUtZW5kJzogJ2Jsb2NrLXN0YXJ0IHNwYW4taW5saW5lLXN0YXJ0JyxcbiAgJ2Jsb2NrLWVuZCBzcGFuLWlubGluZS1zdGFydCc6ICdibG9jay1lbmQgc3Bhbi1pbmxpbmUtZW5kJyxcbiAgJ2Jsb2NrLWVuZCBzcGFuLWlubGluZS1lbmQnOiAnYmxvY2stZW5kIHNwYW4taW5saW5lLXN0YXJ0JyxcbiAgJ2lubGluZS1zdGFydCBzcGFuLWJsb2NrLXN0YXJ0JzogJ2lubGluZS1lbmQgc3Bhbi1ibG9jay1zdGFydCcsXG4gICdpbmxpbmUtc3RhcnQgc3Bhbi1ibG9jay1lbmQnOiAnaW5saW5lLWVuZCBzcGFuLWJsb2NrLWVuZCcsXG4gICdpbmxpbmUtZW5kIHNwYW4tYmxvY2stc3RhcnQnOiAnaW5saW5lLXN0YXJ0IHNwYW4tYmxvY2stc3RhcnQnLFxuICAnaW5saW5lLWVuZCBzcGFuLWJsb2NrLWVuZCc6ICdpbmxpbmUtc3RhcnQgc3Bhbi1ibG9jay1lbmQnLFxufTtcblxuY29uc3Qgc3VwcG9ydGVkUG9zaXRpb25zID0gWy4uLnBoeXNpY2FsU3VwcG9ydGVkUG9zaXRpb25zLCAuLi5sb2dpY2FsU3VwcG9ydGVkUG9zaXRpb25zXTtcbmxldCBuZXh0SWQgPSAwO1xuXG4vKipcbiAqIENvbnRyb2xsZXIgZm9yIG1hbmFnaW5nIG92ZXJsYXlzIHBvc2l0aW9uaW5nLiBBbHNvIGFjdHMgYXMgYSBwb2x5ZmlsbCB3aGVuIG5hdGl2ZVxuICogQ1NTIEFuY2hvciBQb3NpdGlvbmluZyBpcyBub3Qgc3VwcG9ydGVkIChlbm91Z2gpLlxuICogQXBwbGllcyB1bmlxdWUgYW5jaG9yIG5hbWVzIHdoZW4gdXNpbmcgbmF0aXZlIENTUyBBbmNob3IgUG9zaXRpb25pbmdcbiAqIG9yIGNhbGN1bGF0ZXMgYW5kIGFwcGxpZXMgY29ycmVjdCBwb3NpdGlvbnMgaW4gcG9seWZpbGwgbW9kZS5cbiAqXG4gKiBBbHNvLCB0aGUgY29udHJvbGxlciBzZXRzIHRoZSAnZGF0YS1wb3NpdGlvbicgYXR0cmlidXRlIG9uIHRoZSBvdmVybGF5IGVsZW1lbnQuXG4gKiBUaGlzIGNhbiBiZSB1c2VkIHRvIGFwcGx5IHNwZWNpZmljIHN0eWxlcyBiYXNlZCBvbiB0aGUgY3VycmVudCBwb3NpdGlvbiBvZiB0aGUgb3ZlcmxheS5cbiAqXG4gKiAjIyMgSW1wbGVtZW50YXRpb25cbiAqIERlZmluZSBhbmQgYXBwbHkgdGhlIGZvbGxvd2luZyBDU1MgdmFyaWFibGVzIG9uIHRoZSBvdmVybGF5IGVsZW1lbnQ6XG4gKiBgYGBzY3NzXG4gKiAgIC0tc2JiLW92ZXJsYXktcG9zaXRpb24tYXJlYTogYmxvY2stZW5kOyAvLyBEZWZhdWx0XG4gKiAgIC0tc2JiLW92ZXJsYXktcG9zaXRpb24tdHJ5LWZhbGxiYWNrczogYmxvY2stc3RhcnQsIGlubGluZS1lbmQsIGlubGluZS1zdGFydDsgLy8gRmFsbGJhY2tzXG4gKlxuICogICBwb3NpdGlvbi1hcmVhOiB2YXIoLS1zYmItb3ZlcmxheS1wb3NpdGlvbi1hcmVhKTtcbiAqICAgcG9zaXRpb24tdHJ5LWZhbGxiYWNrczogdmFyKC0tc2JiLW92ZXJsYXktcG9zaXRpb24tdHJ5LWZhbGxiYWNrcyk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFNiYk92ZXJsYXlQb3NpdGlvbkNvbnRyb2xsZXIgaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNpemVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHRoaXMuX3JlcXVlc3RDYWxjdWxhdGVQb3NpdGlvbigpKVxuICAgIDogbnVsbCE7XG4gIHByaXZhdGUgcmVhZG9ubHkgX292ZXJsYXk6IFJlYWN0aXZlQ29udHJvbGxlckhvc3QgJiBIVE1MRWxlbWVudCAmIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGU7XG4gIHByaXZhdGUgX2Fib3J0Q29udHJvbGxlcj86IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfYW5jaG9yPzogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgX292ZXJsYXlTdHlsZXM/OiBDU1NTdHlsZURlY2xhcmF0aW9uO1xuICBwcml2YXRlIF9mcmFtZT86IFJldHVyblR5cGU8dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT47XG4gIHByaXZhdGUgX2FuY2hvck5hbWUgPSBgLS1zYmItb3ZlcmxheS1hbmNob3ItJHsrK25leHRJZH1gO1xuICBwcml2YXRlIF9wb3NpdGlvbnM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgX2xhc3RQb3NpdGlvbj86IHN0cmluZztcblxuICAvKiogR2V0IHRoZSBjdXJyZW50IHBvc2l0aW9uLiAoZS5nLiBibG9jay1lbmQsIGJsb2NrLXN0YXJ0LCBldGMuKSAqL1xuICBwdWJsaWMgZ2V0IGN1cnJlbnRQb3NpdGlvbigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLl91c2VQb2x5ZmlsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2xhc3RQb3NpdGlvbiA/PyB0aGlzLl9wb3NpdGlvbnNbMF0gPz8gJyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX292ZXJsYXlTdHlsZXMgPz89IGdldENvbXB1dGVkU3R5bGUodGhpcy5fb3ZlcmxheSk7XG4gICAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdwb3NpdGlvbi1hcmVhJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIGhvc3Q6IFJlYWN0aXZlQ29udHJvbGxlckhvc3QgJiBIVE1MRWxlbWVudCAmIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGUsXG4gICAgcHJpdmF0ZSBfdXNlUG9seWZpbGwgPSAhY3NzQW5jaG9yUG9zaXRpb25TdXBwb3J0ZWQsXG4gICkge1xuICAgIGhvc3QuYWRkQ29udHJvbGxlcih0aGlzKTtcbiAgICB0aGlzLl9vdmVybGF5ID0gaG9zdDtcbiAgfVxuXG4gIHB1YmxpYyBob3N0Q29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fdXNlUG9seWZpbGwpIHtcbiAgICAgIHRoaXMuX292ZXJsYXkuc3R5bGUuc2V0UHJvcGVydHkoJ3Bvc2l0aW9uLWFuY2hvcicsIHRoaXMuX2FuY2hvck5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZXNldCB0aGUgJ3Bvc2l0aW9uLWFyZWEnIHZhbHVlIHRvIGF2b2lkIGFueSB1bndhbnRlZCBzaWRlIGVmZmVjdCB3aGVuIHVzaW5nIHRoZSBwb2x5ZmlsbC5cbiAgICAgIHRoaXMuX292ZXJsYXkuc3R5bGUuc2V0UHJvcGVydHkoJ3Bvc2l0aW9uLWFyZWEnLCAnaW5pdGlhbCcpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBob3N0VXBkYXRlKCk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9yZWFkUG9zaXRpb25zRnJvbUNzcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbm5lY3RzIHRoZSBvdmVybGF5IHRvIHRoZSBnaXZlbiB0cmlnZ2VyIGVsZW1lbnQgYW5kIGRldGVybWluZXMgdGhlIG9wdGltYWwgcG9zaXRpb24uXG4gICAqIFVzdWFsbHksIHRoaXMgaXMgY2FsbGVkIHdoZW4gdGhlIG92ZXJsYXkgaXMgb3BlbmVkLlxuICAgKiBAcGFyYW0gYW5jaG9yIFRoZSBhbmNob3IgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBjb25uZWN0KGFuY2hvcjogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fYW5jaG9yKSB7XG4gICAgICB0aGlzLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG4gICAgdGhpcy5fYW5jaG9yID0gYW5jaG9yO1xuXG4gICAgaWYgKCF0aGlzLl91c2VQb2x5ZmlsbCkge1xuICAgICAgdGhpcy5fYW5jaG9yLnN0eWxlLnNldFByb3BlcnR5KCdhbmNob3ItbmFtZScsIHRoaXMuX2FuY2hvck5hbWUhKTtcbiAgICB9XG5cbiAgICB0aGlzLl9yZWFkUG9zaXRpb25zRnJvbUNzcygpO1xuICAgIHRoaXMuX2NhbGN1bGF0ZVBvc2l0aW9uKCk7XG4gICAgdGhpcy5fYWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHRoaXMuX2Fib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIC8vIFdlIG5lZWQgdG8gdXNlIGNhcHR1cmUgaGVyZSB0byByZWFjdCB0byBhbGwgc2Nyb2xsIGV2ZW50cy5cbiAgICAvLyBJZiBjYXB0dXJlIHdhcyBub3QgdXNlZCwgdGhlbiBzY3JvbGwgZXZlbnRzIGluc2lkZSBzZXBhcmF0ZSBzY3JvbGxcbiAgICAvLyBjb250YWluZXJzIHdvdWxkIG5vdCBiZSBjYXVnaHQuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgKCkgPT4gdGhpcy5fcmVxdWVzdENhbGN1bGF0ZVBvc2l0aW9uKCksIHtcbiAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl9hYm9ydENvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB0aGlzLl9yZXF1ZXN0Q2FsY3VsYXRlUG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fYWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKGFuY2hvciwgeyBib3g6ICdib3JkZXItYm94JyB9KTtcbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuX292ZXJsYXksIHsgYm94OiAnYm9yZGVyLWJveCcgfSk7XG4gIH1cblxuICBwdWJsaWMgZGlzY29ubmVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9hbmNob3I/LnN0eWxlLnJlbW92ZVByb3BlcnR5KCdhbmNob3ItbmFtZScpO1xuICAgIHRoaXMuX2FuY2hvciA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9hYm9ydENvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVxdWVzdENhbGN1bGF0ZVBvc2l0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZyYW1lID8/PSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgdGhpcy5fY2FsY3VsYXRlUG9zaXRpb24oKTtcbiAgICAgIHRoaXMuX2ZyYW1lID0gdW5kZWZpbmVkO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlUG9zaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9hbmNob3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fdXNlUG9seWZpbGwpIHtcbiAgICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5fZ2V0T3B0aW1hbFBvc2l0aW9uKHRoaXMuX3Bvc2l0aW9ucyk7XG4gICAgICB0aGlzLl9hcHBseU92ZXJsYXlQb3NpdGlvbihwb3NpdGlvbi5wb3NpdGlvbiwgcG9zaXRpb24ubGVmdCwgcG9zaXRpb24udG9wKTtcbiAgICB9XG5cbiAgICB0aGlzLl9vdmVybGF5LnNldEF0dHJpYnV0ZSgnZGF0YS1wb3NpdGlvbicsIHRoaXMuY3VycmVudFBvc2l0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBvcHRpbWFsIHBvc2l0aW9uIHRoYXQgZml0cyB0aGUgb3ZlcmxheS5cbiAgICogQHBhcmFtIHBvc2l0aW9ucyBUaGUgbGlzdCBvZiBwb3NpdGlvbnMgdG8gY2hlY2suXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIF9nZXRPcHRpbWFsUG9zaXRpb24ocG9zaXRpb25zOiBzdHJpbmdbXSk6IHtcbiAgICBsZWZ0OiBudW1iZXI7XG4gICAgdG9wOiBudW1iZXI7XG4gICAgcG9zaXRpb246IHN0cmluZztcbiAgICBmaXRzPzogYm9vbGVhbjtcbiAgfSB7XG4gICAgY29uc3QgeyBvZmZzZXRIZWlnaHQ6IG92ZXJsYXlIZWlnaHQsIG9mZnNldFdpZHRoOiBvdmVybGF5V2lkdGggfSA9IHRoaXMuX292ZXJsYXk7XG4gICAgY29uc3QgeyBpbm5lckhlaWdodDogdmlld3BvcnRIZWlnaHQsIGlubmVyV2lkdGg6IHZpZXdwb3J0V2lkdGggfSA9IHdpbmRvdztcbiAgICBjb25zdCB7XG4gICAgICB0b3A6IHRyaWdnZXJPZmZzZXRUb3AsXG4gICAgICBsZWZ0OiB0cmlnZ2VyT2Zmc2V0TGVmdCxcbiAgICAgIGhlaWdodDogdHJpZ2dlckhlaWdodCxcbiAgICAgIHdpZHRoOiB0cmlnZ2VyV2lkdGgsXG4gICAgfSA9IHRoaXMuX2FuY2hvciEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCBpc1J0bCA9IHRoaXMuX292ZXJsYXkubWF0Y2hlcygnOmRpcihydGwpJyk7XG4gICAgY29uc3QgdG9wU3BhY2UgPSB0cmlnZ2VyT2Zmc2V0VG9wO1xuICAgIGNvbnN0IGJvdHRvbVNwYWNlID0gdmlld3BvcnRIZWlnaHQgLSB0cmlnZ2VySGVpZ2h0IC0gdHJpZ2dlck9mZnNldFRvcDtcbiAgICBjb25zdCBsZWZ0U3BhY2UgPSB0cmlnZ2VyT2Zmc2V0TGVmdDtcbiAgICBjb25zdCByaWdodFNwYWNlID0gdmlld3BvcnRXaWR0aCAtIHRyaWdnZXJXaWR0aCAtIHRyaWdnZXJPZmZzZXRMZWZ0O1xuXG4gICAgLy8gVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgb3ZlcmxheSBhbmQgdGhlIHRyaWdnZXIgd2lkdGgvaGVpZ2h0LlxuICAgIGNvbnN0IG92ZXJsYXlXaWR0aE5ldCA9IG92ZXJsYXlXaWR0aCAtIHRyaWdnZXJXaWR0aDtcbiAgICBjb25zdCBvdmVybGF5SGVpZ2h0TmV0ID0gb3ZlcmxheUhlaWdodCAtIHRyaWdnZXJIZWlnaHQ7XG5cbiAgICAvLyBUaGUgYW1vdW50IHRoYXQgd291bGQgZXhjZWVkIHRoZSB0cmlnZ2VyIGlmIHRoZSBvdmVybGF5IHdlcmUgY2VudGVyZWQgb24gaXQuXG4gICAgY29uc3Qgb3ZlcmxheVdpZHRoT3ZlcmxhcCA9IG92ZXJsYXlXaWR0aE5ldCAvIDI7XG4gICAgY29uc3Qgb3ZlcmxheUhlaWdodE92ZXJsYXAgPSBvdmVybGF5SGVpZ2h0TmV0IC8gMjtcblxuICAgIHRoaXMuX292ZXJsYXkuc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAnLS1zYmItb3ZlcmxheS1jb250cm9sbGVyLXRyaWdnZXItaGVpZ2h0JyxcbiAgICAgIGAke3RyaWdnZXJIZWlnaHR9cHhgLFxuICAgICk7XG4gICAgdGhpcy5fb3ZlcmxheS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3ZlcmxheS1jb250cm9sbGVyLXRyaWdnZXItd2lkdGgnLCBgJHt0cmlnZ2VyV2lkdGh9cHhgKTtcblxuICAgIGxldCByZXN1bHQ6IFJldHVyblR5cGU8dHlwZW9mIHRoaXMuX2dldE9wdGltYWxQb3NpdGlvbj4gPSB7IGxlZnQ6IDAsIHRvcDogMCwgcG9zaXRpb246ICcnIH07XG4gICAgbGV0IGZpcnN0UG9zaXRpb246IFJldHVyblR5cGU8dHlwZW9mIHRoaXMuX2dldE9wdGltYWxQb3NpdGlvbj4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgZm9yIChjb25zdCBwb3NpdGlvbiBvZiBwb3NpdGlvbnMpIHtcbiAgICAgIC8vIElmIHJ0bCBpcyBlbmFibGVkLCB3ZSBtYXAgdGhlIGxvZ2ljYWwgcG9zaXRpb24gdG8gdGhlaXIgUlRMIGVxdWl2YWxlbnQuIChlLmcuICdpbmxpbmUtc3RhcnQnIC0+ICdpbmxpbmUtZW5kJylcbiAgICAgIGNvbnN0IHBoeXNpY2FsUG9zaXRpb24gPVxuICAgICAgICBpc1J0bCAmJiBsb2dpY2FsU3VwcG9ydGVkUG9zaXRpb25zLmluY2x1ZGVzKHBvc2l0aW9uKVxuICAgICAgICAgID8gcnRsUG9zaXRpb25NYXBwaW5nW3Bvc2l0aW9uXVxuICAgICAgICAgIDogcG9zaXRpb247XG5cbiAgICAgIHN3aXRjaCAocGh5c2ljYWxQb3NpdGlvbikge1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICBjYXNlICdibG9jay1lbmQnOlxuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgbGVmdDogdHJpZ2dlck9mZnNldExlZnQgLSBvdmVybGF5V2lkdGhPdmVybGFwLFxuICAgICAgICAgICAgdG9wOiB0cmlnZ2VyT2Zmc2V0VG9wICsgdHJpZ2dlckhlaWdodCxcbiAgICAgICAgICAgIGZpdHM6XG4gICAgICAgICAgICAgIG92ZXJsYXlIZWlnaHQgPD0gYm90dG9tU3BhY2UgJiZcbiAgICAgICAgICAgICAgb3ZlcmxheVdpZHRoT3ZlcmxhcCA8PSBsZWZ0U3BhY2UgJiZcbiAgICAgICAgICAgICAgb3ZlcmxheVdpZHRoT3ZlcmxhcCA8PSByaWdodFNwYWNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgIGNhc2UgJ2Jsb2NrLXN0YXJ0JzpcbiAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIGxlZnQ6IHRyaWdnZXJPZmZzZXRMZWZ0IC0gb3ZlcmxheVdpZHRoT3ZlcmxhcCxcbiAgICAgICAgICAgIHRvcDogdHJpZ2dlck9mZnNldFRvcCAtIG92ZXJsYXlIZWlnaHQsXG4gICAgICAgICAgICBmaXRzOlxuICAgICAgICAgICAgICBvdmVybGF5SGVpZ2h0IDw9IHRvcFNwYWNlICYmXG4gICAgICAgICAgICAgIG92ZXJsYXlXaWR0aE92ZXJsYXAgPD0gbGVmdFNwYWNlICYmXG4gICAgICAgICAgICAgIG92ZXJsYXlXaWR0aE92ZXJsYXAgPD0gcmlnaHRTcGFjZSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgIGNhc2UgJ2lubGluZS1lbmQnOlxuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgbGVmdDogdHJpZ2dlck9mZnNldExlZnQgKyB0cmlnZ2VyV2lkdGgsXG4gICAgICAgICAgICB0b3A6IHRyaWdnZXJPZmZzZXRUb3AgLSBvdmVybGF5SGVpZ2h0T3ZlcmxhcCxcbiAgICAgICAgICAgIGZpdHM6XG4gICAgICAgICAgICAgIG92ZXJsYXlXaWR0aCA8PSByaWdodFNwYWNlICYmXG4gICAgICAgICAgICAgIG92ZXJsYXlIZWlnaHRPdmVybGFwIDw9IHRvcFNwYWNlICYmXG4gICAgICAgICAgICAgIG92ZXJsYXlIZWlnaHRPdmVybGFwIDw9IGJvdHRvbVNwYWNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICBjYXNlICdpbmxpbmUtc3RhcnQnOlxuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgbGVmdDogdHJpZ2dlck9mZnNldExlZnQgLSBvdmVybGF5V2lkdGgsXG4gICAgICAgICAgICB0b3A6IHRyaWdnZXJPZmZzZXRUb3AgLSBvdmVybGF5SGVpZ2h0T3ZlcmxhcCxcbiAgICAgICAgICAgIGZpdHM6XG4gICAgICAgICAgICAgIG92ZXJsYXlXaWR0aCA8PSBsZWZ0U3BhY2UgJiZcbiAgICAgICAgICAgICAgb3ZlcmxheUhlaWdodE92ZXJsYXAgPD0gdG9wU3BhY2UgJiZcbiAgICAgICAgICAgICAgb3ZlcmxheUhlaWdodE92ZXJsYXAgPD0gYm90dG9tU3BhY2UsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAndG9wIHNwYW4tbGVmdCc6XG4gICAgICAgIGNhc2UgJ2Jsb2NrLXN0YXJ0IHNwYW4taW5saW5lLXN0YXJ0JzpcbiAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIGxlZnQ6IHRyaWdnZXJPZmZzZXRMZWZ0IC0gb3ZlcmxheVdpZHRoTmV0LFxuICAgICAgICAgICAgdG9wOiB0cmlnZ2VyT2Zmc2V0VG9wIC0gb3ZlcmxheUhlaWdodCxcbiAgICAgICAgICAgIGZpdHM6IG92ZXJsYXlIZWlnaHQgPD0gdG9wU3BhY2UgJiYgb3ZlcmxheVdpZHRoTmV0IDw9IGxlZnRTcGFjZSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICd0b3Agc3Bhbi1yaWdodCc6XG4gICAgICAgIGNhc2UgJ2Jsb2NrLXN0YXJ0IHNwYW4taW5saW5lLWVuZCc6XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgICAgICBsZWZ0OiB0cmlnZ2VyT2Zmc2V0TGVmdCxcbiAgICAgICAgICAgIHRvcDogdHJpZ2dlck9mZnNldFRvcCAtIG92ZXJsYXlIZWlnaHQsXG4gICAgICAgICAgICBmaXRzOiBvdmVybGF5SGVpZ2h0IDw9IHRvcFNwYWNlICYmIG92ZXJsYXlXaWR0aE5ldCA8PSByaWdodFNwYWNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JvdHRvbSBzcGFuLWxlZnQnOlxuICAgICAgICBjYXNlICdibG9jay1lbmQgc3Bhbi1pbmxpbmUtc3RhcnQnOlxuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgbGVmdDogdHJpZ2dlck9mZnNldExlZnQgLSBvdmVybGF5V2lkdGhOZXQsXG4gICAgICAgICAgICB0b3A6IHRyaWdnZXJPZmZzZXRUb3AgKyB0cmlnZ2VySGVpZ2h0LFxuICAgICAgICAgICAgZml0czogb3ZlcmxheUhlaWdodCA8PSBib3R0b21TcGFjZSAmJiBvdmVybGF5V2lkdGhOZXQgPD0gbGVmdFNwYWNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JvdHRvbSBzcGFuLXJpZ2h0JzpcbiAgICAgICAgY2FzZSAnYmxvY2stZW5kIHNwYW4taW5saW5lLWVuZCc6XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgICAgICBsZWZ0OiB0cmlnZ2VyT2Zmc2V0TGVmdCxcbiAgICAgICAgICAgIHRvcDogdHJpZ2dlck9mZnNldFRvcCArIHRyaWdnZXJIZWlnaHQsXG4gICAgICAgICAgICBmaXRzOiBvdmVybGF5SGVpZ2h0IDw9IGJvdHRvbVNwYWNlICYmIG92ZXJsYXlXaWR0aE5ldCA8PSByaWdodFNwYWNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xlZnQgc3Bhbi10b3AnOlxuICAgICAgICBjYXNlICdpbmxpbmUtc3RhcnQgc3Bhbi1ibG9jay1zdGFydCc6XG4gICAgICAgICAgcmVzdWx0ID0ge1xuICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgICAgICBsZWZ0OiB0cmlnZ2VyT2Zmc2V0TGVmdCAtIG92ZXJsYXlXaWR0aCxcbiAgICAgICAgICAgIHRvcDogdHJpZ2dlck9mZnNldFRvcCArIHRyaWdnZXJIZWlnaHQgLSBvdmVybGF5SGVpZ2h0LFxuICAgICAgICAgICAgZml0czogb3ZlcmxheVdpZHRoIDw9IGxlZnRTcGFjZSAmJiBvdmVybGF5SGVpZ2h0TmV0IDw9IHRvcFNwYWNlLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xlZnQgc3Bhbi1ib3R0b20nOlxuICAgICAgICBjYXNlICdpbmxpbmUtc3RhcnQgc3Bhbi1ibG9jay1lbmQnOlxuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgbGVmdDogdHJpZ2dlck9mZnNldExlZnQgLSBvdmVybGF5V2lkdGgsXG4gICAgICAgICAgICB0b3A6IHRyaWdnZXJPZmZzZXRUb3AsXG4gICAgICAgICAgICBmaXRzOiBvdmVybGF5V2lkdGggPD0gbGVmdFNwYWNlICYmIG92ZXJsYXlIZWlnaHROZXQgPD0gYm90dG9tU3BhY2UsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncmlnaHQgc3Bhbi10b3AnOlxuICAgICAgICBjYXNlICdpbmxpbmUtZW5kIHNwYW4tYmxvY2stc3RhcnQnOlxuICAgICAgICAgIHJlc3VsdCA9IHtcbiAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgbGVmdDogdHJpZ2dlck9mZnNldExlZnQgKyB0cmlnZ2VyV2lkdGgsXG4gICAgICAgICAgICB0b3A6IHRyaWdnZXJPZmZzZXRUb3AgKyB0cmlnZ2VySGVpZ2h0IC0gb3ZlcmxheUhlaWdodCxcbiAgICAgICAgICAgIGZpdHM6IG92ZXJsYXlXaWR0aCA8PSByaWdodFNwYWNlICYmIG92ZXJsYXlIZWlnaHROZXQgPD0gdG9wU3BhY2UsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAncmlnaHQgc3Bhbi1ib3R0b20nOlxuICAgICAgICBjYXNlICdpbmxpbmUtZW5kIHNwYW4tYmxvY2stZW5kJzpcbiAgICAgICAgICByZXN1bHQgPSB7XG4gICAgICAgICAgICBwb3NpdGlvbixcbiAgICAgICAgICAgIGxlZnQ6IHRyaWdnZXJPZmZzZXRMZWZ0ICsgdHJpZ2dlcldpZHRoLFxuICAgICAgICAgICAgdG9wOiB0cmlnZ2VyT2Zmc2V0VG9wLFxuICAgICAgICAgICAgZml0czogb3ZlcmxheVdpZHRoIDw9IHJpZ2h0U3BhY2UgJiYgb3ZlcmxheUhlaWdodE5ldCA8PSBib3R0b21TcGFjZSxcbiAgICAgICAgICB9O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKHJlc3VsdC5maXRzKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBmaXJzdFBvc2l0aW9uID8/PSByZXN1bHQ7XG4gICAgfVxuXG4gICAgLy8gSWYgbm8gcG9zaXRpb24gZml0cywgd2UgcmV0dXJuIHRoZSBmaXJzdCBvbmUuXG4gICAgcmV0dXJuIGZpcnN0UG9zaXRpb24hO1xuICB9XG5cbiAgcHJpdmF0ZSBfYXBwbHlPdmVybGF5UG9zaXRpb24ocG9zaXRpb246IHN0cmluZywgbGVmdDogbnVtYmVyLCB0b3A6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX2xhc3RQb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgIHRoaXMuX292ZXJsYXkuc3R5bGUubGVmdCA9IGAke2xlZnR9cHhgO1xuICAgIHRoaXMuX292ZXJsYXkuc3R5bGUudG9wID0gYCR7dG9wfXB4YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbmx5IHVzZWQgaW4gcG9seWZpbGwgbW9kZS5cbiAgICogUmVhZHMgdGhlIGxpc3Qgb2YgdGhlIGNvbmZpZ3VyZWQgcG9zaXRpb25zIGZyb20gdGhlIENTUyB2YXJpYWJsZXMuXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIF9yZWFkUG9zaXRpb25zRnJvbUNzcygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX3VzZVBvbHlmaWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX292ZXJsYXlTdHlsZXMgPz89IGdldENvbXB1dGVkU3R5bGUodGhpcy5fb3ZlcmxheSk7XG4gICAgY29uc3QgcG9zaXRpb25zID0gW1xuICAgICAgdGhpcy5fb3ZlcmxheVN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCctLXNiYi1vdmVybGF5LXBvc2l0aW9uLWFyZWEnKSB8fCAnYmxvY2stZW5kJyxcbiAgICAgIC4uLnRoaXMuX292ZXJsYXlTdHlsZXNcbiAgICAgICAgLmdldFByb3BlcnR5VmFsdWUoJy0tc2JiLW92ZXJsYXktcG9zaXRpb24tdHJ5LWZhbGxiYWNrcycpXG4gICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgIC5tYXAoKGYpID0+IGYudHJpbSgpKVxuICAgICAgICAuZmlsdGVyKChmKSA9PiAhIWYpLFxuICAgIF07XG5cbiAgICBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFViAmJiBwb3NpdGlvbnMuc29tZSgocCkgPT4gIXN1cHBvcnRlZFBvc2l0aW9ucy5pbmNsdWRlcyhwKSkpIHtcbiAgICAgIGNvbnN0IHVuc3VwcG9ydGVkUG9zaXRpb25zID0gcG9zaXRpb25zXG4gICAgICAgIC5maWx0ZXIoKHApID0+ICFzdXBwb3J0ZWRQb3NpdGlvbnMuaW5jbHVkZXMocCkpXG4gICAgICAgIC5zb3J0KClcbiAgICAgICAgLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBVbnN1cHBvcnRlZCBwb3NpdGlvbi10cnktZmFsbGJhY2tzICR7dW5zdXBwb3J0ZWRQb3NpdGlvbnN9IChTdXBwb3J0ZWQ6ICR7c3VwcG9ydGVkUG9zaXRpb25zLmpvaW4oJywgJyl9KWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuX3Bvc2l0aW9ucyA9IHBvc2l0aW9ucztcbiAgICBpZiAodGhpcy5fbGFzdFBvc2l0aW9uICYmICF0aGlzLl9wb3NpdGlvbnMuaW5jbHVkZXModGhpcy5fbGFzdFBvc2l0aW9uKSkge1xuICAgICAgdGhpcy5fbGFzdFBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFJQSxNQUFNLDZCQUE2QixDQUFDLFlBQVksSUFBSSxTQUFTLGVBQWUsUUFBUTtBQUVwRixNQUFNLDZCQUE2QjtBQUFBLEVBQ2pDO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7O0FBSUYsTUFBTSw0QkFBNEI7QUFBQSxFQUNoQztBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBOztBQUdGLE1BQU0scUJBQWdEO0FBQUEsRUFDcEQsZUFBZTtBQUFBLEVBQ2YsYUFBYTtBQUFBLEVBQ2IsZ0JBQWdCO0FBQUEsRUFDaEIsY0FBYztBQUFBLEVBQ2QsaUNBQWlDO0FBQUEsRUFDakMsK0JBQStCO0FBQUEsRUFDL0IsK0JBQStCO0FBQUEsRUFDL0IsNkJBQTZCO0FBQUEsRUFDN0IsaUNBQWlDO0FBQUEsRUFDakMsK0JBQStCO0FBQUEsRUFDL0IsK0JBQStCO0FBQUEsRUFDL0IsNkJBQTZCOztBQUcvQixNQUFNLHFCQUFxQixDQUFDLEdBQUcsNEJBQTRCLEdBQUcseUJBQXlCO0FBQ3ZGLElBQUksU0FBUztNQXFCQSw2QkFBNEI7QUFBQTtBQUFBLEVBY3ZDLElBQVcsa0JBQWU7QUFDeEIsUUFBSSxLQUFLLGNB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
@@ -0,0 +1,16 @@
1
+ import { ReactiveControllerHost, LitElement, ReactiveController } from 'lit';
2
+ type PropertyWatcherHandler<T extends LitElement> = (reference: T) => void;
3
+ export declare class SbbPropertyWatcherController<T extends LitElement> implements ReactiveController {
4
+ private readonly _host;
5
+ private readonly _referenceResolver;
6
+ private readonly _handlers;
7
+ private _reference?;
8
+ private _watchers?;
9
+ constructor(_host: ReactiveControllerHost & HTMLElement, _referenceResolver: () => T | null, _handlers: Partial<Record<keyof T, PropertyWatcherHandler<T>>>);
10
+ hostConnected(): void;
11
+ hostDisconnected(): void;
12
+ connect(): void;
13
+ disconnect(): void;
14
+ }
15
+ export {};
16
+ //# sourceMappingURL=property-watcher-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property-watcher-controller.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/controllers/property-watcher-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,kBAAkB,EAExB,MAAM,KAAK,CAAC;AAEb,KAAK,sBAAsB,CAAC,CAAC,SAAS,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,IAAI,CAAC;AAgD3E,qBAAa,4BAA4B,CAAC,CAAC,SAAS,UAAU,CAAE,YAAW,kBAAkB;IAKzF,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAN5B,OAAO,CAAC,UAAU,CAAC,CAAW;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAkC;gBAGjC,KAAK,EAAE,sBAAsB,GAAG,WAAW,EAC3C,kBAAkB,EAAE,MAAM,CAAC,GAAG,IAAI,EAClC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;IAK1E,aAAa,IAAI,IAAI;IAIrB,gBAAgB,IAAI,IAAI;IAMxB,OAAO,IAAI,IAAI;IA6Bf,UAAU,IAAI,IAAI;CAmB1B"}
@@ -0,0 +1,101 @@
1
+ import { isServer } from "lit";
2
+ class PropertyWatcher {
3
+ get size() {
4
+ return this._handlers.size;
5
+ }
6
+ constructor(_host, _property) {
7
+ this._host = _host;
8
+ this._property = _property;
9
+ this._handlers = /* @__PURE__ */ new Set();
10
+ if (!isServer) {
11
+ customElements.upgrade(this._host);
12
+ }
13
+ this._value = this._host[this._property];
14
+ }
15
+ addHandler(handler) {
16
+ if (!this._handlers.size) {
17
+ this._host.addController(this);
18
+ }
19
+ this._handlers.add(handler);
20
+ handler(this._host);
21
+ }
22
+ removeHandler(handler) {
23
+ this._handlers.delete(handler);
24
+ if (!this._handlers.size) {
25
+ this._host.removeController(this);
26
+ }
27
+ }
28
+ hostUpdate() {
29
+ const currentValue = this._host[this._property];
30
+ if (this._value !== currentValue) {
31
+ this._value = currentValue;
32
+ for (const handler of this._handlers) {
33
+ handler(this._host);
34
+ }
35
+ }
36
+ }
37
+ }
38
+ const propertyWatchers = /* @__PURE__ */ new WeakMap();
39
+ class SbbPropertyWatcherController {
40
+ constructor(_host, _referenceResolver, _handlers) {
41
+ this._host = _host;
42
+ this._referenceResolver = _referenceResolver;
43
+ this._handlers = _handlers;
44
+ this._host.addController(this);
45
+ }
46
+ hostConnected() {
47
+ this.connect();
48
+ }
49
+ hostDisconnected() {
50
+ if (this._reference !== this._referenceResolver()) {
51
+ this.disconnect();
52
+ }
53
+ }
54
+ connect() {
55
+ const reference = this._referenceResolver();
56
+ if (this._reference === reference) {
57
+ return;
58
+ }
59
+ this.disconnect();
60
+ this._reference = reference;
61
+ if (!this._reference) {
62
+ return;
63
+ }
64
+ let watchers = propertyWatchers.get(this._reference);
65
+ if (!watchers) {
66
+ watchers = /* @__PURE__ */ new Map();
67
+ propertyWatchers.set(this._reference, watchers);
68
+ }
69
+ this._watchers = watchers;
70
+ for (const [property, handler] of Object.entries(this._handlers)) {
71
+ let watcher = this._watchers.get(property);
72
+ if (!watcher) {
73
+ watcher = new PropertyWatcher(this._reference, property);
74
+ this._watchers.set(property, watcher);
75
+ }
76
+ watcher.addHandler(handler);
77
+ }
78
+ }
79
+ disconnect() {
80
+ if (!this._reference) {
81
+ return;
82
+ }
83
+ for (const [property, handler] of Object.entries(this._handlers)) {
84
+ const watcher = this._watchers?.get(property);
85
+ if (watcher) {
86
+ watcher.removeHandler(handler);
87
+ if (!watcher.size) {
88
+ this._watchers.delete(property);
89
+ if (!this._watchers.size && this._reference) {
90
+ propertyWatchers.delete(this._reference);
91
+ }
92
+ }
93
+ }
94
+ }
95
+ this._reference = null;
96
+ }
97
+ }
98
+ export {
99
+ SbbPropertyWatcherController
100
+ };
101
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktd2F0Y2hlci1jb250cm9sbGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9jb250cm9sbGVycy9wcm9wZXJ0eS13YXRjaGVyLWNvbnRyb2xsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXJIb3N0LFxuICB0eXBlIExpdEVsZW1lbnQsXG4gIHR5cGUgUmVhY3RpdmVDb250cm9sbGVyLFxuICBpc1NlcnZlcixcbn0gZnJvbSAnbGl0JztcblxudHlwZSBQcm9wZXJ0eVdhdGNoZXJIYW5kbGVyPFQgZXh0ZW5kcyBMaXRFbGVtZW50PiA9IChyZWZlcmVuY2U6IFQpID0+IHZvaWQ7XG5cbmNsYXNzIFByb3BlcnR5V2F0Y2hlcjxUIGV4dGVuZHMgTGl0RWxlbWVudD4gaW1wbGVtZW50cyBSZWFjdGl2ZUNvbnRyb2xsZXIge1xuICBwcml2YXRlIF92YWx1ZTogdW5rbm93bjtcbiAgcHJpdmF0ZSBfaGFuZGxlcnMgPSBuZXcgU2V0PFByb3BlcnR5V2F0Y2hlckhhbmRsZXI8VD4+KCk7XG5cbiAgcHVibGljIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2hhbmRsZXJzLnNpemU7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfaG9zdDogVCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9wcm9wZXJ0eTogc3RyaW5nLFxuICApIHtcbiAgICBpZiAoIWlzU2VydmVyKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy51cGdyYWRlKHRoaXMuX2hvc3QpO1xuICAgIH1cbiAgICB0aGlzLl92YWx1ZSA9ICh0aGlzLl9ob3N0IGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW3RoaXMuX3Byb3BlcnR5XTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRIYW5kbGVyKGhhbmRsZXI6IFByb3BlcnR5V2F0Y2hlckhhbmRsZXI8VD4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2hhbmRsZXJzLnNpemUpIHtcbiAgICAgIHRoaXMuX2hvc3QuYWRkQ29udHJvbGxlcih0aGlzKTtcbiAgICB9XG4gICAgdGhpcy5faGFuZGxlcnMuYWRkKGhhbmRsZXIpO1xuICAgIGhhbmRsZXIodGhpcy5faG9zdCk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSGFuZGxlcihoYW5kbGVyOiBQcm9wZXJ0eVdhdGNoZXJIYW5kbGVyPFQ+KTogdm9pZCB7XG4gICAgdGhpcy5faGFuZGxlcnMuZGVsZXRlKGhhbmRsZXIpO1xuICAgIGlmICghdGhpcy5faGFuZGxlcnMuc2l6ZSkge1xuICAgICAgdGhpcy5faG9zdC5yZW1vdmVDb250cm9sbGVyKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBob3N0VXBkYXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9ICh0aGlzLl9ob3N0IGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pW3RoaXMuX3Byb3BlcnR5XTtcbiAgICBpZiAodGhpcy5fdmFsdWUgIT09IGN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUgPSBjdXJyZW50VmFsdWU7XG4gICAgICBmb3IgKGNvbnN0IGhhbmRsZXIgb2YgdGhpcy5faGFuZGxlcnMpIHtcbiAgICAgICAgaGFuZGxlcih0aGlzLl9ob3N0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuY29uc3QgcHJvcGVydHlXYXRjaGVycyA9IG5ldyBXZWFrTWFwPExpdEVsZW1lbnQsIE1hcDxzdHJpbmcsIFByb3BlcnR5V2F0Y2hlcjxhbnk+Pj4oKTtcblxuZXhwb3J0IGNsYXNzIFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXI8VCBleHRlbmRzIExpdEVsZW1lbnQ+IGltcGxlbWVudHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgcHJpdmF0ZSBfcmVmZXJlbmNlPzogVCB8IG51bGw7XG4gIHByaXZhdGUgX3dhdGNoZXJzPzogTWFwPHN0cmluZywgUHJvcGVydHlXYXRjaGVyPFQ+PjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBfaG9zdDogUmVhY3RpdmVDb250cm9sbGVySG9zdCAmIEhUTUxFbGVtZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3JlZmVyZW5jZVJlc29sdmVyOiAoKSA9PiBUIHwgbnVsbCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9oYW5kbGVyczogUGFydGlhbDxSZWNvcmQ8a2V5b2YgVCwgUHJvcGVydHlXYXRjaGVySGFuZGxlcjxUPj4+LFxuICApIHtcbiAgICB0aGlzLl9ob3N0LmFkZENvbnRyb2xsZXIodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgaG9zdENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbm5lY3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBob3N0RGlzY29ubmVjdGVkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9yZWZlcmVuY2UgIT09IHRoaXMuX3JlZmVyZW5jZVJlc29sdmVyKCkpIHtcbiAgICAgIHRoaXMuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjb25uZWN0KCk6IHZvaWQge1xuICAgIGNvbnN0IHJlZmVyZW5jZSA9IHRoaXMuX3JlZmVyZW5jZVJlc29sdmVyKCk7XG4gICAgaWYgKHRoaXMuX3JlZmVyZW5jZSA9PT0gcmVmZXJlbmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuX3JlZmVyZW5jZSA9IHJlZmVyZW5jZTtcbiAgICBpZiAoIXRoaXMuX3JlZmVyZW5jZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgd2F0Y2hlcnMgPSBwcm9wZXJ0eVdhdGNoZXJzLmdldCh0aGlzLl9yZWZlcmVuY2UpIGFzXG4gICAgICB8IE1hcDxzdHJpbmcsIFByb3BlcnR5V2F0Y2hlcjxUPj5cbiAgICAgIHwgdW5kZWZpbmVkO1xuICAgIGlmICghd2F0Y2hlcnMpIHtcbiAgICAgIHdhdGNoZXJzID0gbmV3IE1hcCgpO1xuICAgICAgcHJvcGVydHlXYXRjaGVycy5zZXQodGhpcy5fcmVmZXJlbmNlLCB3YXRjaGVycyk7XG4gICAgfVxuICAgIHRoaXMuX3dhdGNoZXJzID0gd2F0Y2hlcnM7XG5cbiAgICBmb3IgKGNvbnN0IFtwcm9wZXJ0eSwgaGFuZGxlcl0gb2YgT2JqZWN0LmVudHJpZXModGhpcy5faGFuZGxlcnMpKSB7XG4gICAgICBsZXQgd2F0Y2hlciA9IHRoaXMuX3dhdGNoZXJzLmdldChwcm9wZXJ0eSk7XG4gICAgICBpZiAoIXdhdGNoZXIpIHtcbiAgICAgICAgd2F0Y2hlciA9IG5ldyBQcm9wZXJ0eVdhdGNoZXI8VD4odGhpcy5fcmVmZXJlbmNlLCBwcm9wZXJ0eSk7XG4gICAgICAgIHRoaXMuX3dhdGNoZXJzLnNldChwcm9wZXJ0eSwgd2F0Y2hlcik7XG4gICAgICB9XG4gICAgICB3YXRjaGVyLmFkZEhhbmRsZXIoaGFuZGxlcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRpc2Nvbm5lY3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9yZWZlcmVuY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFtwcm9wZXJ0eSwgaGFuZGxlcl0gb2YgT2JqZWN0LmVudHJpZXModGhpcy5faGFuZGxlcnMpKSB7XG4gICAgICBjb25zdCB3YXRjaGVyID0gdGhpcy5fd2F0Y2hlcnM/LmdldChwcm9wZXJ0eSk7XG4gICAgICBpZiAod2F0Y2hlcikge1xuICAgICAgICB3YXRjaGVyLnJlbW92ZUhhbmRsZXIoaGFuZGxlcik7XG4gICAgICAgIGlmICghd2F0Y2hlci5zaXplKSB7XG4gICAgICAgICAgdGhpcy5fd2F0Y2hlcnMhLmRlbGV0ZShwcm9wZXJ0eSk7XG4gICAgICAgICAgaWYgKCF0aGlzLl93YXRjaGVycyEuc2l6ZSAmJiB0aGlzLl9yZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIHByb3BlcnR5V2F0Y2hlcnMuZGVsZXRlKHRoaXMuX3JlZmVyZW5jZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX3JlZmVyZW5jZSA9IG51bGw7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBU0EsTUFBTSxnQkFBZTtBQUFBLEVBSW5CLElBQVcsT0FBSTtBQUNiLFdBQU8sS0FBSyxVQUFVO0FBQUEsRUFDeEI7QUFBQSxFQUVBLFlBQ21CLE9BQ0EsV0FBaUI7QUFEakIsU0FBQSxRQUFBO0FBQ0EsU0FBQSxZQUFBO0FBUlgsU0FBQSxnQ0FBZ0IsSUFBQTtBQVV0QixRQUFJLENBQUMsVUFBVTtBQUNiLHFCQUFlLFFBQVEsS0FBSyxLQUFLO0FBQUEsSUFDbkM7QUFDQSxTQUFLLFNBQVUsS0FBSyxNQUE2QyxLQUFLLFNBQVM7QUFBQSxFQUNqRjtBQUFBLEVBRU8sV0FBVyxTQUFrQztBQUNsRCxRQUFJLENBQUMsS0FBSyxVQUFVLE1BQU07QUFDeEIsV0FBSyxNQUFNLGNBQWMsSUFBSTtBQUFBLElBQy9CO0FBQ0EsU0FBSyxVQUFVLElBQUksT0FBTztBQUMxQixZQUFRLEtBQUssS0FBSztBQUFBLEVBQ3BCO0FBQUEsRUFFTyxjQUFjLFNBQWtDO0FBQ3JELFNBQUssVUFBVSxPQUFPLE9BQU87QUFDN0IsUUFBSSxDQUFDLEtBQUssVUFBVSxNQUFNO0FBQ3hCLFdBQUssTUFBTSxpQkFBaUIsSUFBSTtBQUFBLElBQ2xDO0FBQUEsRUFDRjtBQUFBLEVBRU8sYUFBVTtBQUNmLFVBQU0sZUFBZ0IsS0FBSyxNQUE2QyxLQUFLLFNBQVM7QUFDdEYsUUFBSSxLQUFLLFdBQVcsY0FBYztBQUNoQyxXQUFLLFNBQVM7QUFDZCxpQkFBVyxXQUFXLEtBQUssV0FBVztBQUNwQyxnQkFBUSxLQUFLLEtBQUs7QUFBQSxNQUNwQjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0Q7QUFFRCxNQUFNLHVDQUF1QixRQUFBO01BRWhCLDZCQUE0QjtBQUFBLEVBSXZDLFlBQ21CLE9BQ0Esb0JBQ0EsV0FBOEQ7QUFGOUQsU0FBQSxRQUFBO0FBQ0EsU0FBQSxxQkFBQTtBQUNBLFNBQUEsWUFBQTtBQUVqQixTQUFLLE1BQU0sY0FBYyxJQUFJO0FBQUEsRUFDL0I7QUFBQSxFQUVPLGdCQUFhO0FBQ2xCLFNBQUssUUFBQTtBQUFBLEVBQ1A7QUFBQSxFQUVPLG1CQUFnQjtBQUNyQixRQUFJLEtBQUssZUFBZSxLQUFLLG1CQUFBLEdBQXNCO0FBQ2pELFdBQUssV0FBQTtBQUFBLElBQ1A7QUFBQSxFQUNGO0FBQUEsRUFFTyxVQUFPO0FBQ1osVUFBTSxZQUFZLEtBQUssbUJBQUE7QUFDdkIsUUFBSSxLQUFLLGVBQWUsV0FBVztBQUNqQztBQUFBLElBQ0Y7QUFDQSxTQUFLLFdBQUE7QUFDTCxTQUFLLGFBQWE7QUFDbEIsUUFBSSxDQUFDLEtBQUssWUFBWTtBQUNwQjtBQUFBLElBQ0Y7QUFDQSxRQUFJLFdBQVcsaUJBQWlCLElBQUksS0FBSyxVQUFVO0FBR25ELFFBQUksQ0FBQyxVQUFVO0FBQ2IscUNBQWUsSUFBQTtBQUNmLHVCQUFpQixJQUFJLEtBQUssWUFBWSxRQUFRO0FBQUEsSUFDaEQ7QUFDQSxTQUFLLFlBQVk7QUFFakIsZUFBVyxDQUFDLFVBQVUsT0FBTyxLQUFLLE9BQU8sUUFBUSxLQUFLLFNBQVMsR0FBRztBQUNoRSxVQUFJLFVBQVUsS0FBSyxVQUFVLElBQUksUUFBUTtBQUN6QyxVQUFJLENBQUMsU0FBUztBQUNaLGtCQUFVLElBQUksZ0JBQW1CLEtBQUssWUFBWSxRQUFRO0FBQzFELGFBQUssVUFBVSxJQUFJLFVBQVUsT0FBTztBQUFBLE1BQ3RDO0FBQ0EsY0FBUSxXQUFXLE9BQU87QUFBQSxJQUM1QjtBQUFBLEVBQ0Y7QUFBQSxFQUVPLGFBQVU7QUFDZixRQUFJLENBQUMsS0FBSyxZQUFZO0FBQ3BCO0FBQUEsSUFDRjtBQUVBLGVBQVcsQ0FBQyxVQUFVLE9BQU8sS0FBSyxPQUFPLFFBQVEsS0FBSyxTQUFTLEdBQUc7QUFDaEUsWUFBTSxVQUFVLEtBQUssV0FBVyxJQUFJLFFBQVE7QUFDNUMsVUFBSSxTQUFTO0FBQ1gsZ0JBQVEsY0FBYyxPQUFPO0FBQzdCLFlBQUksQ0FBQyxRQUFRLE1BQU07QUFDakIsZUFBSyxVQUFXLE9BQU8sUUFBUTtBQUMvQixjQUFJLENBQUMsS0FBSyxVQUFXLFFBQVEsS0FBSyxZQUFZO0FBQzVDLDZCQUFpQixPQUFPLEtBQUssVUFBVTtBQUFBLFVBQ3pDO0FBQUEsUUFDRjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQ0EsU0FBSyxhQUFhO0FBQUEsRUFDcEI7QUFDRDsifQ==
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @entrypoint
3
3
  */
4
- export * from './controllers/ancestor-watcher-controller.ts';
4
+ export * from './controllers/property-watcher-controller.ts';
5
5
  export * from './controllers/escapable-overlay-controller.ts';
6
6
  export * from './controllers/id-reference-controller.ts';
7
7
  export * from './controllers/inert-controller.ts';
@@ -1,13 +1,12 @@
1
- import { SbbAncestorWatcherController } from "./controllers/ancestor-watcher-controller.js";
1
+ import { SbbPropertyWatcherController } from "./controllers/property-watcher-controller.js";
2
2
  import { SbbEscapableOverlayController } from "./controllers/escapable-overlay-controller.js";
3
3
  import { SbbIdReferenceController } from "./controllers/id-reference-controller.js";
4
4
  import { SbbInertController } from "./controllers/inert-controller.js";
5
5
  import { SbbLanguageController } from "./controllers/language-controller.js";
6
- import { SbbDarkModeController, SbbMediaMatcherController, SbbMediaQueryBreakpointLargeAndAbove, SbbMediaQueryBreakpointLargeAndBelow, SbbMediaQueryBreakpointSmallAndBelow, SbbMediaQueryDarkMode, SbbMediaQueryForcedColors, SbbMediaQueryHover, SbbMediaQueryPointerCoarse } from "./controllers/media-matchers-controller.js";
6
+ import { SbbDarkModeController, SbbMediaMatcherController, SbbMediaQueryBreakpointLargeAndAbove, SbbMediaQueryBreakpointLargeAndBelow, SbbMediaQueryBreakpointSmallAndAbove, SbbMediaQueryBreakpointSmallAndBelow, SbbMediaQueryBreakpointUltraAndAbove, SbbMediaQueryBreakpointZeroAndAbove, SbbMediaQueryDarkMode, SbbMediaQueryForcedColors, SbbMediaQueryHover, SbbMediaQueryPointerCoarse } from "./controllers/media-matchers-controller.js";
7
7
  import { SbbSlotStateController, SbbSlottedChangeEvent } from "./controllers/slot-state-controller.js";
8
8
  import { SbbOverlayPositionController } from "./controllers/overlay-position-controller.js";
9
9
  export {
10
- SbbAncestorWatcherController,
11
10
  SbbDarkModeController,
12
11
  SbbEscapableOverlayController,
13
12
  SbbIdReferenceController,
@@ -16,12 +15,16 @@ export {
16
15
  SbbMediaMatcherController,
17
16
  SbbMediaQueryBreakpointLargeAndAbove,
18
17
  SbbMediaQueryBreakpointLargeAndBelow,
18
+ SbbMediaQueryBreakpointSmallAndAbove,
19
19
  SbbMediaQueryBreakpointSmallAndBelow,
20
+ SbbMediaQueryBreakpointUltraAndAbove,
21
+ SbbMediaQueryBreakpointZeroAndAbove,
20
22
  SbbMediaQueryDarkMode,
21
23
  SbbMediaQueryForcedColors,
22
24
  SbbMediaQueryHover,
23
25
  SbbMediaQueryPointerCoarse,
24
26
  SbbOverlayPositionController,
27
+ SbbPropertyWatcherController,
25
28
  SbbSlotStateController,
26
29
  SbbSlottedChangeEvent
27
30
  };
@@ -36,8 +36,7 @@ export declare abstract class DateAdapter<T = any> {
36
36
  abstract getFirstDayOfWeek(): number;
37
37
  /**
38
38
  * Get the number of days in a month.
39
- * @param year
40
- * @param month
39
+ * @param date
41
40
  */
42
41
  abstract getNumDaysInMonth(date: T): number;
43
42
  /**
@@ -109,7 +108,6 @@ export declare abstract class DateAdapter<T = any> {
109
108
  /**
110
109
  * Get the given string as Date.
111
110
  * @param value The date in the format DD.MM.YYYY.
112
- * @param now The current date as Date.
113
111
  */
114
112
  abstract parse(value: string | null | undefined): T | null;
115
113
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"date-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/datetime/date-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"date-adapter.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/datetime/date-adapter.ts"],"names":[],"mappings":"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"}
@@ -126,4 +126,4 @@ export {
126
126
  YEARS_PER_PAGE,
127
127
  YEARS_PER_ROW
128
128
  };
129
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1hZGFwdGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kYXRldGltZS9kYXRlLWFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERBWVNfUEVSX1JPVzogbnVtYmVyID0gNztcbmV4cG9ydCBjb25zdCBNT05USFNfUEVSX1JPVzogbnVtYmVyID0gNDtcbmV4cG9ydCBjb25zdCBZRUFSU19QRVJfUk9XOiBudW1iZXIgPSA0O1xuZXhwb3J0IGNvbnN0IE1PTlRIU19QRVJfUEFHRTogbnVtYmVyID0gMTI7XG5leHBvcnQgY29uc3QgWUVBUlNfUEVSX1BBR0U6IG51bWJlciA9IDI0O1xuZXhwb3J0IGNvbnN0IEZPUk1BVF9EQVRFID1cbiAgLygwP1sxLTldfFsxMl1bMC05XXwzWzAxXSlbLixcXFxcL1xcLVxcc10oMD9bMS05XXwxWzAtMl0pWy4sXFxcXC9cXC1cXHNdKFswLTldezEsNH0kKT8vO1xuZXhwb3J0IGNvbnN0IElTTzg2MDFfRk9STUFUX0RBVEUgPSAvXihbMC05XXs0fSktKDBbMS05XXwxWzAtMl0pLSgwWzEtOV18WzEtM11bMC05XSkkLztcblxuLyoqXG4gKiBBYnN0cmFjdCBkYXRlIGZ1bmN0aW9uYWxpdHkuXG4gKlxuICogQWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9tYXRlcmlhbC9jb3JlL2RhdGV0aW1lL2RhdGUtYWRhcHRlci50c1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0ZUFkYXB0ZXI8VCA9IGFueT4ge1xuICAvKipcbiAgICogR2V0IHRoZSB5ZWFyIGFzIGEgbnVtYmVyLlxuICAgKiBAcGFyYW0gZGF0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldFllYXIoZGF0ZTogVCk6IG51bWJlcjtcblxuICAvKipcbiAgICogR2V0IHRoZSBtb250aCBhcyBhIG51bWJlci5cbiAgICogQXR0ZW50aW9uOiBUaGlzIHJldHVybnMgMS0xMiBhbmQgbWl0aWdhdGVzIHRoZSBkZWZhdWx0IEphdmFTY3JpcHQgRGF0ZSBiZWhhdmlvci5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRNb250aChkYXRlOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRheSBvZiB0aGUgbW9udGggYXMgYSBudW1iZXIuXG4gICAqIEBwYXJhbSBkYXRlXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0RGF0ZShkYXRlOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIERheSBvZiB0aGUgd2VlayBhcyBhIG51bWJlci5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXREYXlPZldlZWsoZGF0ZTogVCk6IG51bWJlcjtcblxuICAvKiogR2V0IHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgKDA6IHN1bmRheTsgMTogbW9uZGF5OyBldGMuKS4gKi9cbiAgcHVibGljIGFic3RyYWN0IGdldEZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlcjtcblxuICAvKipcbiAgICogR2V0IHRoZSBudW1iZXIgb2YgZGF5cyBpbiBhIG1vbnRoLlxuICAgKiBAcGFyYW0geWVhclxuICAgKiBAcGFyYW0gbW9udGhcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXQgYSBsaXN0IG9mIGFsbCB0aGUgbW9udGhzIGluIGEgZ2l2ZW4gc3R5bGUuXG4gICAqIEBwYXJhbSBzdHlsZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdO1xuXG4gIC8qKiBHZXQgYSBzdHJpbmcgYXJyYXkgd2l0aCBsZW5ndGggPSAzMSwgZmlsbGVkIHdpdGggdGhlIGRheXMgaW4gYSBtb250aCwgc3RhcnRpbmcgZnJvbSAxLiAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBHZXQgYSBsaXN0IG9mIGFsbCB0aGUgd2VlayBkYXlzIGluIGEgZ2l2ZW4gc3R5bGUuXG4gICAqIEBwYXJhbSBzdHlsZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldERheU9mV2Vla05hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXTtcblxuICAvKiogQ3JlYXRlcyB0b2RheSdzIGRhdGUuICovXG4gIHB1YmxpYyBhYnN0cmFjdCB0b2RheSgpOiBUO1xuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciBhIGdpdmVuIGBkYXRlYCBpcyB2YWxpZC5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBpc1ZhbGlkKGRhdGU6IFQgfCBudWxsIHwgdW5kZWZpbmVkKTogZGF0ZSBpcyBUO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGRhdGUgYnkgY2xvbmluZyB0aGUgZ2l2ZW4gb25lLlxuICAgKiBAcGFyYW0gZGF0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNsb25lKGRhdGU6IFQpOiBUO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGRhdGUsIGdpdmVuIGRheSwgbW9udGggYW5kIHllYXI7IHdpdGhvdXQgZGF0ZSdzIG92ZXJmbG93LlxuICAgKiBAcGFyYW0geWVhclxuICAgKiBAcGFyYW0gbW9udGggVGhlIG1vbnRoIG9mIHRoZSBkYXRlICgxLWluZGV4ZWQsIDEgPSBKYW51YXJ5KS4gTXVzdCBiZSBhbiBpbnRlZ2VyIDEgLSAxMi5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBjcmVhdGVEYXRlKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyKTogVDtcblxuICAvKipcbiAgICogQXR0ZW1wdHMgdG8gZGVzZXJpYWxpemUgYSB2YWx1ZSB0byBhIHZhbGlkIGRhdGUgb2JqZWN0LiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHBhcnNpbmcgaW4gdGhhdFxuICAgKiBkZXNlcmlhbGl6ZSBzaG91bGQgb25seSBhY2NlcHQgbm9uLWFtYmlndW91cywgbG9jYWxlLWluZGVwZW5kZW50IGZvcm1hdHMgKGUuZy4gYSBJU08gODYwMVxuICAgKiBzdHJpbmcpLiBUaGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBhbGxvdyBhbnkgZGVzZXJpYWxpemF0aW9uLCBpdCBzaW1wbHkgY2hlY2tzIHRoYXRcbiAgICogdGhlIGdpdmVuIHZhbHVlIGlzIGFscmVhZHkgYSB2YWxpZCBkYXRlIG9iamVjdCBvciBudWxsLlxuICAgKiBAcGFyYW0gdmFsdWUgRWl0aGVyIGEgZGF0ZSBvYmplY3QsIElTTyBzdHJpbmcgb3IgYW4gZW1wdHkgdmFsdWUuXG4gICAqIEByZXR1cm5zIFRoZSBkYXRlIGlmIHRoZSBpbnB1dCBpcyB2YWxpZCwgYG51bGxgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBkZXNlcmlhbGl6ZSh2YWx1ZTogVCB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBUIHwgbnVsbCB7XG4gICAgaWYgKFxuICAgICAgdmFsdWUgPT0gbnVsbCB8fFxuICAgICAgKHRoaXMuaXNEYXRlSW5zdGFuY2UodmFsdWUpICYmIHRoaXMuaXNWYWxpZCh2YWx1ZSBhcyBUIHwgbnVsbCB8IHVuZGVmaW5lZCkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdmFsdWUgYXMgVCB8IG51bGw7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmludmFsaWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGRhdGUgYWRkaW5nIHRoZSBudW1iZXIgb2YgcHJvdmlkZWQgYHllYXJzYCB0byB0aGUgcHJvdmlkZWQgYGRhdGVgLlxuICAgKiBAcGFyYW0gZGF0ZSBUaGUgc3RhcnRpbmcgZGF0ZS5cbiAgICogQHBhcmFtIHllYXJzIFRoZSBudW1iZXIgb2YgeWVhcnMgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGFkZENhbGVuZGFyWWVhcnMoZGF0ZTogVCwgeWVhcnM6IG51bWJlcik6IFQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgbW9udGhzYCB0byB0aGUgcHJvdmlkZWQgYGRhdGVgLlxuICAgKiBJZiB0aGUgY2FsY3VsYXRlZCBtb250aCBoYXMgZmV3ZXIgZGF5cyB0aGFuIHRoZSBvcmlnaW5hbCBvbmUsIHRoZSBkYXRlIGlzIHNldCB0byB0aGUgbGFzdCBkYXkgb2YgdGhlIG1vbnRoLlxuICAgKiBFLmcuIHdpdGggYGRhdGVgID0gbmV3IERhdGUoMjAyMiwgMCwgMzEpIGFuZCBgbW9udGhzYCA9IDEsIGl0IHJldHVybnMgbmV3IERhdGUoMjAyMiwgMSwgMjgpLlxuICAgKiBAcGFyYW0gZGF0ZSBUaGUgc3RhcnRpbmcgZGF0ZS5cbiAgICogQHBhcmFtIG1vbnRocyBUaGUgbnVtYmVyIG9mIG1vbnRocyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYWRkQ2FsZW5kYXJNb250aHMoZGF0ZTogVCwgbW9udGhzOiBudW1iZXIpOiBUO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGRhdGUgYnkgYWRkaW5nIHRoZSBudW1iZXIgb2YgcHJvdmlkZWQgYGRheXNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlLlxuICAgKiBAcGFyYW0gZGF5cyBUaGUgbnVtYmVyIG9mIGRheXMgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGFkZENhbGVuZGFyRGF5cyhkYXRlOiBULCBkYXlzOiBudW1iZXIpOiBUO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRhdGUgaW4gdGhlIGxvY2FsIGZvcm1hdC5cbiAgICogQHBhcmFtIGRhdGUgVGhlIGRhdGUgdG8gZm9ybWF0XG4gICAqIEByZXR1cm5zIFRoZSBgZGF0ZWAgaW4gdGhlIGxvY2FsIGZvcm1hdCBhcyBzdHJpbmcuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0QWNjZXNzaWJpbGl0eUZvcm1hdERhdGUoZGF0ZTogVCB8IHN0cmluZyk6IHN0cmluZztcblxuICAvKipcbiAgICogR2V0IHRoZSBnaXZlbiBzdHJpbmcgYXMgRGF0ZS5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBkYXRlIGluIHRoZSBmb3JtYXQgREQuTU0uWVlZWS5cbiAgICogQHBhcmFtIG5vdyBUaGUgY3VycmVudCBkYXRlIGFzIERhdGUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgcGFyc2UodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBUIHwgbnVsbDtcblxuICAvKipcbiAgICogRm9ybWF0IHRoZSBnaXZlbiBkYXRlIGFzIHN0cmluZy5cbiAgICogQHBhcmFtIGRhdGUgVGhlIGRhdGUgdG8gZm9ybWF0LlxuICAgKiBAcGFyYW0gb3B0aW9ucyBvcHRpb25zIG9iamVjdCB3aXRoIHdlZWtkYXlTdHlsZSBhcyBwcm9wZXJ0eVxuICAgKi9cbiAgcHVibGljIGZvcm1hdChcbiAgICBkYXRlOiBUIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICBvcHRpb25zPzogeyB3ZWVrZGF5U3R5bGU/OiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycgfCAnbm9uZScgfSxcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZChkYXRlKSkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gbmV3IERhdGUodGhpcy50b0lzbzg2MDEoZGF0ZSEpICsgJ1QwMDowMDowMCcpO1xuICAgIGNvbnN0IGRhdGVGb3JtYXR0ZXIgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgnZGUtQ0gnLCB7XG4gICAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgfSk7XG5cbiAgICBpZiAob3B0aW9ucz8ud2Vla2RheVN0eWxlID09PSAnbm9uZScpIHtcbiAgICAgIHJldHVybiBkYXRlRm9ybWF0dGVyLmZvcm1hdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgd2Vla2RheVN0eWxlID0gb3B0aW9ucz8ud2Vla2RheVN0eWxlID8/ICdzaG9ydCc7XG4gICAgbGV0IHdlZWtkYXkgPSB0aGlzLmdldERheU9mV2Vla05hbWVzKHdlZWtkYXlTdHlsZSlbdGhpcy5nZXREYXlPZldlZWsoZGF0ZSEpXTtcbiAgICB3ZWVrZGF5ID0gd2Vla2RheS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdlZWtkYXkuc3Vic3RyaW5nKDEpO1xuICAgIC8vIFdlIGhhdmUgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnQgZm9yIGRhdGUgZm9ybWF0cyBhdCBTQkIsIHdoZXJlIHRoZSBzaG9ydCBmb3JtXG4gICAgLy8gZm9yIHdlZWtkYXlzIHNob3VsZCBiZSB0d28gY2hhcmFjdGVycyBpbiBsZW5ndGguXG4gICAgaWYgKHdlZWtkYXlTdHlsZSA9PT0gJ3Nob3J0Jykge1xuICAgICAgd2Vla2RheSA9IHdlZWtkYXkuc3Vic3RyaW5nKDAsIDIpO1xuICAgIH1cblxuICAgIHJldHVybiBgJHt3ZWVrZGF5fSwgJHtkYXRlRm9ybWF0dGVyLmZvcm1hdCh2YWx1ZSl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gYG9iamAgaXMgYSBEYXRlLlxuICAgKiBAcGFyYW0gb2JqIFRoZSBvYmplY3QgdG8gY2hlY2suXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgaXNEYXRlSW5zdGFuY2Uob2JqOiBhbnkpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBHZXRzIGRhdGUgaW5zdGFuY2UgdGhhdCBpcyBub3QgdmFsaWQuXG4gICAqIEByZXR1cm5zIEFuIGludmFsaWQgZGF0ZS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBpbnZhbGlkKCk6IFQ7XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZ2l2ZW4gZGF0ZSBhcyBJU08gU3RyaW5nLlxuICAgKiBAcGFyYW0gZGF0ZSBUaGUgZGF0ZSB0byBjb252ZXJ0IHRvIElTTyBTdHJpbmcuXG4gICAqL1xuICBwdWJsaWMgdG9Jc284NjAxKGRhdGU6IFQpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhZCA9ICh2YWx1ZTogbnVtYmVyLCBsZW5ndGggPSAyKTogc3RyaW5nID0+IGAke3ZhbHVlfWAucGFkU3RhcnQobGVuZ3RoLCAnMCcpO1xuICAgIHJldHVybiBgJHtwYWQodGhpcy5nZXRZZWFyKGRhdGUpLCA0KX0tJHtwYWQodGhpcy5nZXRNb250aChkYXRlKSl9LSR7cGFkKHRoaXMuZ2V0RGF0ZShkYXRlKSl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlbiBhIHBvdGVudGlhbCBkYXRlIG9iamVjdCwgcmV0dXJucyB0aGF0IHNhbWUgZGF0ZSBvYmplY3QgaWYgaXQgaXNcbiAgICogYSB2YWxpZCBkYXRlLCBvciBgbnVsbGAgaWYgaXQncyBub3QgYSB2YWxpZCBkYXRlLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIG9iamVjdCB0byBjaGVjay5cbiAgICogQHJldHVybnMgQSBkYXRlIG9yIGBudWxsYC5cbiAgICovXG4gIHB1YmxpYyBnZXRWYWxpZERhdGVPck51bGwodmFsdWU6IHVua25vd24pOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuaXNEYXRlSW5zdGFuY2UodmFsdWUpICYmIHRoaXMuaXNWYWxpZCh2YWx1ZSBhcyBUKSA/ICh2YWx1ZSBhcyBUKSA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgZGF5IG9mIHRoZSB3ZWVrIG9mIHRoZSBmaXJzdCBkYXkgb2YgdGhlIG1vbnRoLCBhbmQgdGhlbiBpdHMgb2Zmc2V0IGZyb20gdGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlay5cbiAgICovXG4gIHB1YmxpYyBnZXRGaXJzdFdlZWtPZmZzZXQoZGF0ZTogVCk6IG51bWJlciB7XG4gICAgY29uc3QgZmlyc3RPZk1vbnRoID0gdGhpcy5jcmVhdGVEYXRlKHRoaXMuZ2V0WWVhcihkYXRlKSwgdGhpcy5nZXRNb250aChkYXRlKSwgMSkhO1xuICAgIHJldHVybiAoXG4gICAgICAoREFZU19QRVJfUk9XICsgdGhpcy5nZXREYXlPZldlZWsoZmlyc3RPZk1vbnRoKSAtIHRoaXMuZ2V0Rmlyc3REYXlPZldlZWsoKSkgJSBEQVlTX1BFUl9ST1dcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXBhcmVzIHR3byBkYXRlcy5cbiAgICogQHBhcmFtIGZpcnN0IFRoZSBmaXJzdCBkYXRlIHRvIGNvbXBhcmUuXG4gICAqIEBwYXJhbSBzZWNvbmQgVGhlIHNlY29uZCBkYXRlIHRvIGNvbXBhcmUuXG4gICAqIEByZXR1cm5zIDAgaWYgdGhlIGRhdGVzIGFyZSBlcXVhbCwgYSBudW1iZXIgbGVzcyB0aGFuIDAgaWYgdGhlIGZpcnN0IGRhdGUgaXMgZWFybGllcixcbiAgICogICAgIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAwIGlmIHRoZSBmaXJzdCBkYXRlIGlzIGxhdGVyLlxuICAgKi9cbiAgcHVibGljIGNvbXBhcmVEYXRlKGZpcnN0OiBULCBzZWNvbmQ6IFQpOiBudW1iZXIge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmdldFllYXIoZmlyc3QpIC0gdGhpcy5nZXRZZWFyKHNlY29uZCkgfHxcbiAgICAgIHRoaXMuZ2V0TW9udGgoZmlyc3QpIC0gdGhpcy5nZXRNb250aChzZWNvbmQpIHx8XG4gICAgICB0aGlzLmdldERhdGUoZmlyc3QpIC0gdGhpcy5nZXREYXRlKHNlY29uZClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0d28gZGF0ZXMgYXJlIGVxdWFsLlxuICAgKiBAcGFyYW0gZmlyc3QgVGhlIGZpcnN0IGRhdGUgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBzZWNvbmQgVGhlIHNlY29uZCBkYXRlIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSB0d28gZGF0ZXMgYXJlIGVxdWFsLlxuICAgKiAgICAgTnVsbCBkYXRlcyBhcmUgY29uc2lkZXJlZCBlcXVhbCB0byBvdGhlciBudWxsIGRhdGVzLlxuICAgKi9cbiAgcHVibGljIHNhbWVEYXRlKGZpcnN0OiBUIHwgbnVsbCwgc2Vjb25kOiBUIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgIGlmIChmaXJzdCAmJiBzZWNvbmQpIHtcbiAgICAgIGNvbnN0IGZpcnN0VmFsaWQgPSB0aGlzLmlzVmFsaWQoZmlyc3QpO1xuICAgICAgY29uc3Qgc2Vjb25kVmFsaWQgPSB0aGlzLmlzVmFsaWQoc2Vjb25kKTtcbiAgICAgIGlmIChmaXJzdFZhbGlkICYmIHNlY29uZFZhbGlkKSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5jb21wYXJlRGF0ZShmaXJzdCwgc2Vjb25kKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmaXJzdFZhbGlkID09IHNlY29uZFZhbGlkO1xuICAgIH1cbiAgICByZXR1cm4gZmlyc3QgPT0gc2Vjb25kO1xuICB9XG5cbiAgLyoqXG4gICAqIENsYW1wIHRoZSBnaXZlbiBkYXRlIGJldHdlZW4gbWluIGFuZCBtYXggZGF0ZXMuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBkYXRlIHRvIGNsYW1wLlxuICAgKiBAcGFyYW0gbWluIFRoZSBtaW5pbXVtIHZhbHVlIHRvIGFsbG93LiBJZiBudWxsIG9yIG9taXR0ZWQgbm8gbWluIGlzIGVuZm9yY2VkLlxuICAgKiBAcGFyYW0gbWF4IFRoZSBtYXhpbXVtIHZhbHVlIHRvIGFsbG93LiBJZiBudWxsIG9yIG9taXR0ZWQgbm8gbWF4IGlzIGVuZm9yY2VkLlxuICAgKiBAcmV0dXJucyBgbWluYCBpZiBgZGF0ZWAgaXMgbGVzcyB0aGFuIGBtaW5gLCBgbWF4YCBpZiBkYXRlIGlzIGdyZWF0ZXIgdGhhbiBgbWF4YCxcbiAgICogICAgIG90aGVyd2lzZSBgZGF0ZWAuXG4gICAqL1xuICBwdWJsaWMgY2xhbXBEYXRlKGRhdGU6IFQsIG1pbj86IFQgfCBudWxsLCBtYXg/OiBUIHwgbnVsbCk6IFQge1xuICAgIGlmIChtaW4gJiYgdGhpcy5jb21wYXJlRGF0ZShkYXRlLCBtaW4pIDwgMCkge1xuICAgICAgcmV0dXJuIG1pbjtcbiAgICB9XG4gICAgaWYgKG1heCAmJiB0aGlzLmNvbXBhcmVEYXRlKGRhdGUsIG1heCkgPiAwKSB7XG4gICAgICByZXR1cm4gbWF4O1xuICAgIH1cbiAgICByZXR1cm4gZGF0ZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFPLE1BQU0sZUFBdUI7QUFDN0IsTUFBTSxpQkFBeUI7QUFDL0IsTUFBTSxnQkFBd0I7QUFDOUIsTUFBTSxrQkFBMEI7QUFDaEMsTUFBTSxpQkFBeUI7QUFDL0IsTUFBTSxjQUNYO0FBQ0ssTUFBTSxzQkFBc0I7TUFPYixZQUFXO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBa0Z4QixZQUFZLE9BQW9DO0FBQ3JELFFBQ0UsU0FBUyxRQUNSLEtBQUssZUFBZSxLQUFLLEtBQUssS0FBSyxRQUFRLEtBQTZCLEdBQ3pFO0FBQ0EsYUFBTztBQUFBLElBQ1Q7QUFDQSxXQUFPLEtBQUssUUFBQTtBQUFBLEVBQ2Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUE0Q08sT0FDTCxNQUNBLFNBQWlFO0FBRWpFLFFBQUksQ0FBQyxLQUFLLFFBQVEsSUFBSSxHQUFHO0FBQ3ZCLGFBQU87QUFBQSxJQUNUO0FBRUEsVUFBTSxRQUFRLG9CQUFJLEtBQUssS0FBSyxVQUFVLElBQUssSUFBSSxXQUFXO0FBQzFELFVBQU0sZ0JBQWdCLElBQUksS0FBSyxlQUFlLFNBQVM7QUFBQSxNQUNyRCxLQUFLO0FBQUEsTUFDTCxPQUFPO0FBQUEsTUFDUCxNQUFNO0FBQUEsSUFBQSxDQUNQO0FBRUQsUUFBSSxTQUFTLGlCQUFpQixRQUFRO0FBQ3BDLGFBQU8sY0FBYyxPQUFPLEtBQUs7QUFBQSxJQUNuQztBQUVBLFVBQU0sZUFBZSxTQUFTLGdCQUFnQjtBQUM5QyxRQUFJLFVBQVUsS0FBSyxrQkFBa0IsWUFBWSxFQUFFLEtBQUssYUFBYSxJQUFLLENBQUM7QUFDM0UsY0FBVSxRQUFRLE9BQU8sQ0FBQyxFQUFFLGdCQUFnQixRQUFRLFVBQVUsQ0FBQztBQUcvRCxRQUFJLGlCQUFpQixTQUFTO0FBQzVCLGdCQUFVLFFBQVEsVUFBVSxHQUFHLENBQUM7QUFBQSxJQUNsQztBQUVBLFdBQU8sR0FBRyxPQUFPLEtBQUssY0FBYyxPQUFPLEtBQUssQ0FBQztBQUFBLEVBQ25EO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWtCTyxVQUFVLE1BQU87QUFDdEIsVUFBTSxNQUFNLENBQUMsT0FBZSxTQUFTLE1BQWMsR0FBRyxLQUFLLEdBQUcsU0FBUyxRQUFRLEdBQUc7QUFDbEYsV0FBTyxHQUFHLElBQUksS0FBSyxRQUFRLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDO0FBQUEsRUFDN0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLG1CQUFtQixPQUFjO0FBQ3RDLFdBQU8sS0FBSyxlQUFlLEtBQUssS0FBSyxLQUFLLFFBQVEsS0FBVSxJQUFLLFFBQWM7QUFBQSxFQUNqRjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08sbUJBQW1CLE1BQU87QUFDL0IsVUFBTSxlQUFlLEtBQUssV0FBVyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsQ0FBQztBQUMvRSxZQUNHLGVBQWUsS0FBSyxhQUFhLFlBQVksSUFBSSxLQUFLLHVCQUF1QjtBQUFBLEVBRWxGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNPLFlBQVksT0FBVSxRQUFTO0FBQ3BDLFdBQ0UsS0FBSyxRQUFRLEtBQUssSUFBSSxLQUFLLFFBQVEsTUFBTSxLQUN6QyxLQUFLLFNBQVMsS0FBSyxJQUFJLEtBQUssU0FBUyxNQUFNLEtBQzNDLEtBQUssUUFBUSxLQUFLLElBQUksS0FBSyxRQUFRLE1BQU07QUFBQSxFQUU3QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTTyxTQUFTLE9BQWlCLFFBQWdCO0FBQy9DLFFBQUksU0FBUyxRQUFRO0FBQ25CLFlBQU0sYUFBYSxLQUFLLFFBQVEsS0FBSztBQUNyQyxZQUFNLGNBQWMsS0FBSyxRQUFRLE1BQU07QUFDdkMsVUFBSSxjQUFjLGFBQWE7QUFDN0IsZUFBTyxDQUFDLEtBQUssWUFBWSxPQUFPLE1BQU07QUFBQSxNQUN4QztBQUNBLGFBQU8sY0FBYztBQUFBLElBQ3ZCO0FBQ0EsV0FBTyxTQUFTO0FBQUEsRUFDbEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVTyxVQUFVLE1BQVMsS0FBZ0IsS0FBYztBQUN0RCxRQUFJLE9BQU8sS0FBSyxZQUFZLE1BQU0sR0FBRyxJQUFJLEdBQUc7QUFDMUMsYUFBTztBQUFBLElBQ1Q7QUFDQSxRQUFJLE9BQU8sS0FBSyxZQUFZLE1BQU0sR0FBRyxJQUFJLEdBQUc7QUFDMUMsYUFBTztBQUFBLElBQ1Q7QUFDQSxXQUFPO0FBQUEsRUFDVDtBQUNEOyJ9
129
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1hZGFwdGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kYXRldGltZS9kYXRlLWFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERBWVNfUEVSX1JPVzogbnVtYmVyID0gNztcbmV4cG9ydCBjb25zdCBNT05USFNfUEVSX1JPVzogbnVtYmVyID0gNDtcbmV4cG9ydCBjb25zdCBZRUFSU19QRVJfUk9XOiBudW1iZXIgPSA0O1xuZXhwb3J0IGNvbnN0IE1PTlRIU19QRVJfUEFHRTogbnVtYmVyID0gMTI7XG5leHBvcnQgY29uc3QgWUVBUlNfUEVSX1BBR0U6IG51bWJlciA9IDI0O1xuZXhwb3J0IGNvbnN0IEZPUk1BVF9EQVRFID1cbiAgLygwP1sxLTldfFsxMl1bMC05XXwzWzAxXSlbLixcXFxcL1xcLVxcc10oMD9bMS05XXwxWzAtMl0pWy4sXFxcXC9cXC1cXHNdKFswLTldezEsNH0kKT8vO1xuZXhwb3J0IGNvbnN0IElTTzg2MDFfRk9STUFUX0RBVEUgPSAvXihbMC05XXs0fSktKDBbMS05XXwxWzAtMl0pLSgwWzEtOV18WzEtM11bMC05XSkkLztcblxuLyoqXG4gKiBBYnN0cmFjdCBkYXRlIGZ1bmN0aW9uYWxpdHkuXG4gKlxuICogQWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2NvbXBvbmVudHMvYmxvYi9tYWluL3NyYy9tYXRlcmlhbC9jb3JlL2RhdGV0aW1lL2RhdGUtYWRhcHRlci50c1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGF0ZUFkYXB0ZXI8VCA9IGFueT4ge1xuICAvKipcbiAgICogR2V0IHRoZSB5ZWFyIGFzIGEgbnVtYmVyLlxuICAgKiBAcGFyYW0gZGF0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldFllYXIoZGF0ZTogVCk6IG51bWJlcjtcblxuICAvKipcbiAgICogR2V0IHRoZSBtb250aCBhcyBhIG51bWJlci5cbiAgICogQXR0ZW50aW9uOiBUaGlzIHJldHVybnMgMS0xMiBhbmQgbWl0aWdhdGVzIHRoZSBkZWZhdWx0IEphdmFTY3JpcHQgRGF0ZSBiZWhhdmlvci5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRNb250aChkYXRlOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRheSBvZiB0aGUgbW9udGggYXMgYSBudW1iZXIuXG4gICAqIEBwYXJhbSBkYXRlXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0RGF0ZShkYXRlOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIERheSBvZiB0aGUgd2VlayBhcyBhIG51bWJlci5cbiAgICogQHBhcmFtIGRhdGVcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXREYXlPZldlZWsoZGF0ZTogVCk6IG51bWJlcjtcblxuICAvKiogR2V0IHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgKDA6IHN1bmRheTsgMTogbW9uZGF5OyBldGMuKS4gKi9cbiAgcHVibGljIGFic3RyYWN0IGdldEZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlcjtcblxuICAvKipcbiAgICogR2V0IHRoZSBudW1iZXIgb2YgZGF5cyBpbiBhIG1vbnRoLlxuICAgKiBAcGFyYW0gZGF0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldE51bURheXNJbk1vbnRoKGRhdGU6IFQpOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEdldCBhIGxpc3Qgb2YgYWxsIHRoZSBtb250aHMgaW4gYSBnaXZlbiBzdHlsZS5cbiAgICogQHBhcmFtIHN0eWxlXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0TW9udGhOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW107XG5cbiAgLyoqIEdldCBhIHN0cmluZyBhcnJheSB3aXRoIGxlbmd0aCA9IDMxLCBmaWxsZWQgd2l0aCB0aGUgZGF5cyBpbiBhIG1vbnRoLCBzdGFydGluZyBmcm9tIDEuICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXREYXRlTmFtZXMoKTogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEdldCBhIGxpc3Qgb2YgYWxsIHRoZSB3ZWVrIGRheXMgaW4gYSBnaXZlbiBzdHlsZS5cbiAgICogQHBhcmFtIHN0eWxlXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0RGF5T2ZXZWVrTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdO1xuXG4gIC8qKiBDcmVhdGVzIHRvZGF5J3MgZGF0ZS4gKi9cbiAgcHVibGljIGFic3RyYWN0IHRvZGF5KCk6IFQ7XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIGEgZ2l2ZW4gYGRhdGVgIGlzIHZhbGlkLlxuICAgKiBAcGFyYW0gZGF0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGlzVmFsaWQoZGF0ZTogVCB8IG51bGwgfCB1bmRlZmluZWQpOiBkYXRlIGlzIFQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBieSBjbG9uaW5nIHRoZSBnaXZlbiBvbmUuXG4gICAqIEBwYXJhbSBkYXRlXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgY2xvbmUoZGF0ZTogVCk6IFQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSwgZ2l2ZW4gZGF5LCBtb250aCBhbmQgeWVhcjsgd2l0aG91dCBkYXRlJ3Mgb3ZlcmZsb3cuXG4gICAqIEBwYXJhbSB5ZWFyXG4gICAqIEBwYXJhbSBtb250aCBUaGUgbW9udGggb2YgdGhlIGRhdGUgKDEtaW5kZXhlZCwgMSA9IEphbnVhcnkpLiBNdXN0IGJlIGFuIGludGVnZXIgMSAtIDEyLlxuICAgKiBAcGFyYW0gZGF0ZVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGNyZWF0ZURhdGUoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXRlOiBudW1iZXIpOiBUO1xuXG4gIC8qKlxuICAgKiBBdHRlbXB0cyB0byBkZXNlcmlhbGl6ZSBhIHZhbHVlIHRvIGEgdmFsaWQgZGF0ZSBvYmplY3QuIFRoaXMgaXMgZGlmZmVyZW50IGZyb20gcGFyc2luZyBpbiB0aGF0XG4gICAqIGRlc2VyaWFsaXplIHNob3VsZCBvbmx5IGFjY2VwdCBub24tYW1iaWd1b3VzLCBsb2NhbGUtaW5kZXBlbmRlbnQgZm9ybWF0cyAoZS5nLiBhIElTTyA4NjAxXG4gICAqIHN0cmluZykuIFRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGRvZXMgbm90IGFsbG93IGFueSBkZXNlcmlhbGl6YXRpb24sIGl0IHNpbXBseSBjaGVja3MgdGhhdFxuICAgKiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYWxyZWFkeSBhIHZhbGlkIGRhdGUgb2JqZWN0IG9yIG51bGwuXG4gICAqIEBwYXJhbSB2YWx1ZSBFaXRoZXIgYSBkYXRlIG9iamVjdCwgSVNPIHN0cmluZyBvciBhbiBlbXB0eSB2YWx1ZS5cbiAgICogQHJldHVybnMgVGhlIGRhdGUgaWYgdGhlIGlucHV0IGlzIHZhbGlkLCBgbnVsbGAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVibGljIGRlc2VyaWFsaXplKHZhbHVlOiBUIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFQgfCBudWxsIHtcbiAgICBpZiAoXG4gICAgICB2YWx1ZSA9PSBudWxsIHx8XG4gICAgICAodGhpcy5pc0RhdGVJbnN0YW5jZSh2YWx1ZSkgJiYgdGhpcy5pc1ZhbGlkKHZhbHVlIGFzIFQgfCBudWxsIHwgdW5kZWZpbmVkKSlcbiAgICApIHtcbiAgICAgIHJldHVybiB2YWx1ZSBhcyBUIHwgbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgeWVhcnNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlLlxuICAgKiBAcGFyYW0geWVhcnMgVGhlIG51bWJlciBvZiB5ZWFycyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBULCB5ZWFyczogbnVtYmVyKTogVDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBkYXRlIGFkZGluZyB0aGUgbnVtYmVyIG9mIHByb3ZpZGVkIGBtb250aHNgIHRvIHRoZSBwcm92aWRlZCBgZGF0ZWAuXG4gICAqIElmIHRoZSBjYWxjdWxhdGVkIG1vbnRoIGhhcyBmZXdlciBkYXlzIHRoYW4gdGhlIG9yaWdpbmFsIG9uZSwgdGhlIGRhdGUgaXMgc2V0IHRvIHRoZSBsYXN0IGRheSBvZiB0aGUgbW9udGguXG4gICAqIEUuZy4gd2l0aCBgZGF0ZWAgPSBuZXcgRGF0ZSgyMDIyLCAwLCAzMSkgYW5kIGBtb250aHNgID0gMSwgaXQgcmV0dXJucyBuZXcgRGF0ZSgyMDIyLCAxLCAyOCkuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBzdGFydGluZyBkYXRlLlxuICAgKiBAcGFyYW0gbW9udGhzIFRoZSBudW1iZXIgb2YgbW9udGhzIHRvIGFkZC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBhZGRDYWxlbmRhck1vbnRocyhkYXRlOiBULCBtb250aHM6IG51bWJlcik6IFQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZGF0ZSBieSBhZGRpbmcgdGhlIG51bWJlciBvZiBwcm92aWRlZCBgZGF5c2AgdG8gdGhlIHByb3ZpZGVkIGBkYXRlYC5cbiAgICogQHBhcmFtIGRhdGUgVGhlIHN0YXJ0aW5nIGRhdGUuXG4gICAqIEBwYXJhbSBkYXlzIFRoZSBudW1iZXIgb2YgZGF5cyB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgYWRkQ2FsZW5kYXJEYXlzKGRhdGU6IFQsIGRheXM6IG51bWJlcik6IFQ7XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZGF0ZSBpbiB0aGUgbG9jYWwgZm9ybWF0LlxuICAgKiBAcGFyYW0gZGF0ZSBUaGUgZGF0ZSB0byBmb3JtYXRcbiAgICogQHJldHVybnMgVGhlIGBkYXRlYCBpbiB0aGUgbG9jYWwgZm9ybWF0IGFzIHN0cmluZy5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRBY2Nlc3NpYmlsaXR5Rm9ybWF0RGF0ZShkYXRlOiBUIHwgc3RyaW5nKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGdpdmVuIHN0cmluZyBhcyBEYXRlLlxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIGRhdGUgaW4gdGhlIGZvcm1hdCBERC5NTS5ZWVlZLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHBhcnNlKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogVCB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEZvcm1hdCB0aGUgZ2l2ZW4gZGF0ZSBhcyBzdHJpbmcuXG4gICAqIEBwYXJhbSBkYXRlIFRoZSBkYXRlIHRvIGZvcm1hdC5cbiAgICogQHBhcmFtIG9wdGlvbnMgb3B0aW9ucyBvYmplY3Qgd2l0aCB3ZWVrZGF5U3R5bGUgYXMgcHJvcGVydHlcbiAgICovXG4gIHB1YmxpYyBmb3JtYXQoXG4gICAgZGF0ZTogVCB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgb3B0aW9ucz86IHsgd2Vla2RheVN0eWxlPzogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnIHwgJ25vbmUnIH0sXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQoZGF0ZSkpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IG5ldyBEYXRlKHRoaXMudG9Jc284NjAxKGRhdGUhKSArICdUMDA6MDA6MDAnKTtcbiAgICBjb25zdCBkYXRlRm9ybWF0dGVyID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoJ2RlLUNIJywge1xuICAgICAgZGF5OiAnMi1kaWdpdCcsXG4gICAgICBtb250aDogJzItZGlnaXQnLFxuICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgIH0pO1xuXG4gICAgaWYgKG9wdGlvbnM/LndlZWtkYXlTdHlsZSA9PT0gJ25vbmUnKSB7XG4gICAgICByZXR1cm4gZGF0ZUZvcm1hdHRlci5mb3JtYXQodmFsdWUpO1xuICAgIH1cblxuICAgIGNvbnN0IHdlZWtkYXlTdHlsZSA9IG9wdGlvbnM/LndlZWtkYXlTdHlsZSA/PyAnc2hvcnQnO1xuICAgIGxldCB3ZWVrZGF5ID0gdGhpcy5nZXREYXlPZldlZWtOYW1lcyh3ZWVrZGF5U3R5bGUpW3RoaXMuZ2V0RGF5T2ZXZWVrKGRhdGUhKV07XG4gICAgd2Vla2RheSA9IHdlZWtkYXkuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3ZWVrZGF5LnN1YnN0cmluZygxKTtcbiAgICAvLyBXZSBoYXZlIHRoZSBzcGVjaWFsIHJlcXVpcmVtZW50IGZvciBkYXRlIGZvcm1hdHMgYXQgU0JCLCB3aGVyZSB0aGUgc2hvcnQgZm9ybVxuICAgIC8vIGZvciB3ZWVrZGF5cyBzaG91bGQgYmUgdHdvIGNoYXJhY3RlcnMgaW4gbGVuZ3RoLlxuICAgIGlmICh3ZWVrZGF5U3R5bGUgPT09ICdzaG9ydCcpIHtcbiAgICAgIHdlZWtkYXkgPSB3ZWVrZGF5LnN1YnN0cmluZygwLCAyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7d2Vla2RheX0sICR7ZGF0ZUZvcm1hdHRlci5mb3JtYXQodmFsdWUpfWA7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIGBvYmpgIGlzIGEgRGF0ZS5cbiAgICogQHBhcmFtIG9iaiBUaGUgb2JqZWN0IHRvIGNoZWNrLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGlzRGF0ZUluc3RhbmNlKG9iajogYW55KTogYm9vbGVhbjtcblxuICAvKipcbiAgICogR2V0cyBkYXRlIGluc3RhbmNlIHRoYXQgaXMgbm90IHZhbGlkLlxuICAgKiBAcmV0dXJucyBBbiBpbnZhbGlkIGRhdGUuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgaW52YWxpZCgpOiBUO1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGdpdmVuIGRhdGUgYXMgSVNPIFN0cmluZy5cbiAgICogQHBhcmFtIGRhdGUgVGhlIGRhdGUgdG8gY29udmVydCB0byBJU08gU3RyaW5nLlxuICAgKi9cbiAgcHVibGljIHRvSXNvODYwMShkYXRlOiBUKTogc3RyaW5nIHtcbiAgICBjb25zdCBwYWQgPSAodmFsdWU6IG51bWJlciwgbGVuZ3RoID0gMik6IHN0cmluZyA9PiBgJHt2YWx1ZX1gLnBhZFN0YXJ0KGxlbmd0aCwgJzAnKTtcbiAgICByZXR1cm4gYCR7cGFkKHRoaXMuZ2V0WWVhcihkYXRlKSwgNCl9LSR7cGFkKHRoaXMuZ2V0TW9udGgoZGF0ZSkpfS0ke3BhZCh0aGlzLmdldERhdGUoZGF0ZSkpfWA7XG4gIH1cblxuICAvKipcbiAgICogR2l2ZW4gYSBwb3RlbnRpYWwgZGF0ZSBvYmplY3QsIHJldHVybnMgdGhhdCBzYW1lIGRhdGUgb2JqZWN0IGlmIGl0IGlzXG4gICAqIGEgdmFsaWQgZGF0ZSwgb3IgYG51bGxgIGlmIGl0J3Mgbm90IGEgdmFsaWQgZGF0ZS5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBvYmplY3QgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIEEgZGF0ZSBvciBgbnVsbGAuXG4gICAqL1xuICBwdWJsaWMgZ2V0VmFsaWREYXRlT3JOdWxsKHZhbHVlOiB1bmtub3duKTogVCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmlzRGF0ZUluc3RhbmNlKHZhbHVlKSAmJiB0aGlzLmlzVmFsaWQodmFsdWUgYXMgVCkgPyAodmFsdWUgYXMgVCkgOiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZXMgdGhlIGRheSBvZiB0aGUgd2VlayBvZiB0aGUgZmlyc3QgZGF5IG9mIHRoZSBtb250aCwgYW5kIHRoZW4gaXRzIG9mZnNldCBmcm9tIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuXG4gICAqL1xuICBwdWJsaWMgZ2V0Rmlyc3RXZWVrT2Zmc2V0KGRhdGU6IFQpOiBudW1iZXIge1xuICAgIGNvbnN0IGZpcnN0T2ZNb250aCA9IHRoaXMuY3JlYXRlRGF0ZSh0aGlzLmdldFllYXIoZGF0ZSksIHRoaXMuZ2V0TW9udGgoZGF0ZSksIDEpITtcbiAgICByZXR1cm4gKFxuICAgICAgKERBWVNfUEVSX1JPVyArIHRoaXMuZ2V0RGF5T2ZXZWVrKGZpcnN0T2ZNb250aCkgLSB0aGlzLmdldEZpcnN0RGF5T2ZXZWVrKCkpICUgREFZU19QRVJfUk9XXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wYXJlcyB0d28gZGF0ZXMuXG4gICAqIEBwYXJhbSBmaXJzdCBUaGUgZmlyc3QgZGF0ZSB0byBjb21wYXJlLlxuICAgKiBAcGFyYW0gc2Vjb25kIFRoZSBzZWNvbmQgZGF0ZSB0byBjb21wYXJlLlxuICAgKiBAcmV0dXJucyAwIGlmIHRoZSBkYXRlcyBhcmUgZXF1YWwsIGEgbnVtYmVyIGxlc3MgdGhhbiAwIGlmIHRoZSBmaXJzdCBkYXRlIGlzIGVhcmxpZXIsXG4gICAqICAgICBhIG51bWJlciBncmVhdGVyIHRoYW4gMCBpZiB0aGUgZmlyc3QgZGF0ZSBpcyBsYXRlci5cbiAgICovXG4gIHB1YmxpYyBjb21wYXJlRGF0ZShmaXJzdDogVCwgc2Vjb25kOiBUKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5nZXRZZWFyKGZpcnN0KSAtIHRoaXMuZ2V0WWVhcihzZWNvbmQpIHx8XG4gICAgICB0aGlzLmdldE1vbnRoKGZpcnN0KSAtIHRoaXMuZ2V0TW9udGgoc2Vjb25kKSB8fFxuICAgICAgdGhpcy5nZXREYXRlKGZpcnN0KSAtIHRoaXMuZ2V0RGF0ZShzZWNvbmQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdHdvIGRhdGVzIGFyZSBlcXVhbC5cbiAgICogQHBhcmFtIGZpcnN0IFRoZSBmaXJzdCBkYXRlIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0gc2Vjb25kIFRoZSBzZWNvbmQgZGF0ZSB0byBjaGVjay5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgdHdvIGRhdGVzIGFyZSBlcXVhbC5cbiAgICogICAgIE51bGwgZGF0ZXMgYXJlIGNvbnNpZGVyZWQgZXF1YWwgdG8gb3RoZXIgbnVsbCBkYXRlcy5cbiAgICovXG4gIHB1YmxpYyBzYW1lRGF0ZShmaXJzdDogVCB8IG51bGwsIHNlY29uZDogVCB8IG51bGwpOiBib29sZWFuIHtcbiAgICBpZiAoZmlyc3QgJiYgc2Vjb25kKSB7XG4gICAgICBjb25zdCBmaXJzdFZhbGlkID0gdGhpcy5pc1ZhbGlkKGZpcnN0KTtcbiAgICAgIGNvbnN0IHNlY29uZFZhbGlkID0gdGhpcy5pc1ZhbGlkKHNlY29uZCk7XG4gICAgICBpZiAoZmlyc3RWYWxpZCAmJiBzZWNvbmRWYWxpZCkge1xuICAgICAgICByZXR1cm4gIXRoaXMuY29tcGFyZURhdGUoZmlyc3QsIHNlY29uZCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmlyc3RWYWxpZCA9PSBzZWNvbmRWYWxpZDtcbiAgICB9XG4gICAgcmV0dXJuIGZpcnN0ID09IHNlY29uZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGFtcCB0aGUgZ2l2ZW4gZGF0ZSBiZXR3ZWVuIG1pbiBhbmQgbWF4IGRhdGVzLlxuICAgKiBAcGFyYW0gZGF0ZSBUaGUgZGF0ZSB0byBjbGFtcC5cbiAgICogQHBhcmFtIG1pbiBUaGUgbWluaW11bSB2YWx1ZSB0byBhbGxvdy4gSWYgbnVsbCBvciBvbWl0dGVkIG5vIG1pbiBpcyBlbmZvcmNlZC5cbiAgICogQHBhcmFtIG1heCBUaGUgbWF4aW11bSB2YWx1ZSB0byBhbGxvdy4gSWYgbnVsbCBvciBvbWl0dGVkIG5vIG1heCBpcyBlbmZvcmNlZC5cbiAgICogQHJldHVybnMgYG1pbmAgaWYgYGRhdGVgIGlzIGxlc3MgdGhhbiBgbWluYCwgYG1heGAgaWYgZGF0ZSBpcyBncmVhdGVyIHRoYW4gYG1heGAsXG4gICAqICAgICBvdGhlcndpc2UgYGRhdGVgLlxuICAgKi9cbiAgcHVibGljIGNsYW1wRGF0ZShkYXRlOiBULCBtaW4/OiBUIHwgbnVsbCwgbWF4PzogVCB8IG51bGwpOiBUIHtcbiAgICBpZiAobWluICYmIHRoaXMuY29tcGFyZURhdGUoZGF0ZSwgbWluKSA8IDApIHtcbiAgICAgIHJldHVybiBtaW47XG4gICAgfVxuICAgIGlmIChtYXggJiYgdGhpcy5jb21wYXJlRGF0ZShkYXRlLCBtYXgpID4gMCkge1xuICAgICAgcmV0dXJuIG1heDtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGU7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBTyxNQUFNLGVBQXVCO0FBQzdCLE1BQU0saUJBQXlCO0FBQy9CLE1BQU0sZ0JBQXdCO0FBQzlCLE1BQU0sa0JBQTBCO0FBQ2hDLE1BQU0saUJBQXlCO0FBQy9CLE1BQU0sY0FDWDtBQUNLLE1BQU0sc0JBQXNCO01BT2IsWUFBVztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWlGeEIsWUFBWSxPQUFvQztBQUNyRCxRQUNFLFNBQVMsUUFDUixLQUFLLGVBQWUsS0FBSyxLQUFLLEtBQUssUUFBUSxLQUE2QixHQUN6RTtBQUNBLGFBQU87QUFBQSxJQUNUO0FBQ0EsV0FBTyxLQUFLLFFBQUE7QUFBQSxFQUNkO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBMkNPLE9BQ0wsTUFDQSxTQUFpRTtBQUVqRSxRQUFJLENBQUMsS0FBSyxRQUFRLElBQUksR0FBRztBQUN2QixhQUFPO0FBQUEsSUFDVDtBQUVBLFVBQU0sUUFBUSxvQkFBSSxLQUFLLEtBQUssVUFBVSxJQUFLLElBQUksV0FBVztBQUMxRCxVQUFNLGdCQUFnQixJQUFJLEtBQUssZUFBZSxTQUFTO0FBQUEsTUFDckQsS0FBSztBQUFBLE1BQ0wsT0FBTztBQUFBLE1BQ1AsTUFBTTtBQUFBLElBQUEsQ0FDUDtBQUVELFFBQUksU0FBUyxpQkFBaUIsUUFBUTtBQUNwQyxhQUFPLGNBQWMsT0FBTyxLQUFLO0FBQUEsSUFDbkM7QUFFQSxVQUFNLGVBQWUsU0FBUyxnQkFBZ0I7QUFDOUMsUUFBSSxVQUFVLEtBQUssa0JBQWtCLFlBQVksRUFBRSxLQUFLLGFBQWEsSUFBSyxDQUFDO0FBQzNFLGNBQVUsUUFBUSxPQUFPLENBQUMsRUFBRSxnQkFBZ0IsUUFBUSxVQUFVLENBQUM7QUFHL0QsUUFBSSxpQkFBaUIsU0FBUztBQUM1QixnQkFBVSxRQUFRLFVBQVUsR0FBRyxDQUFDO0FBQUEsSUFDbEM7QUFFQSxXQUFPLEdBQUcsT0FBTyxLQUFLLGNBQWMsT0FBTyxLQUFLLENBQUM7QUFBQSxFQUNuRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFrQk8sVUFBVSxNQUFPO0FBQ3RCLFVBQU0sTUFBTSxDQUFDLE9BQWUsU0FBUyxNQUFjLEdBQUcsS0FBSyxHQUFHLFNBQVMsUUFBUSxHQUFHO0FBQ2xGLFdBQU8sR0FBRyxJQUFJLEtBQUssUUFBUSxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxLQUFLLFNBQVMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQztBQUFBLEVBQzdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxtQkFBbUIsT0FBYztBQUN0QyxXQUFPLEtBQUssZUFBZSxLQUFLLEtBQUssS0FBSyxRQUFRLEtBQVUsSUFBSyxRQUFjO0FBQUEsRUFDakY7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtPLG1CQUFtQixNQUFPO0FBQy9CLFVBQU0sZUFBZSxLQUFLLFdBQVcsS0FBSyxRQUFRLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLENBQUM7QUFDL0UsWUFDRyxlQUFlLEtBQUssYUFBYSxZQUFZLElBQUksS0FBSyx1QkFBdUI7QUFBQSxFQUVsRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTTyxZQUFZLE9BQVUsUUFBUztBQUNwQyxXQUNFLEtBQUssUUFBUSxLQUFLLElBQUksS0FBSyxRQUFRLE1BQU0sS0FDekMsS0FBSyxTQUFTLEtBQUssSUFBSSxLQUFLLFNBQVMsTUFBTSxLQUMzQyxLQUFLLFFBQVEsS0FBSyxJQUFJLEtBQUssUUFBUSxNQUFNO0FBQUEsRUFFN0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU08sU0FBUyxPQUFpQixRQUFnQjtBQUMvQyxRQUFJLFNBQVMsUUFBUTtBQUNuQixZQUFNLGFBQWEsS0FBSyxRQUFRLEtBQUs7QUFDckMsWUFBTSxjQUFjLEtBQUssUUFBUSxNQUFNO0FBQ3ZDLFVBQUksY0FBYyxhQUFhO0FBQzdCLGVBQU8sQ0FBQyxLQUFLLFlBQVksT0FBTyxNQUFNO0FBQUEsTUFDeEM7QUFDQSxhQUFPLGNBQWM7QUFBQSxJQUN2QjtBQUNBLFdBQU8sU0FBUztBQUFBLEVBQ2xCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVU8sVUFBVSxNQUFTLEtBQWdCLEtBQWM7QUFDdEQsUUFBSSxPQUFPLEtBQUssWUFBWSxNQUFNLEdBQUcsSUFBSSxHQUFHO0FBQzFDLGFBQU87QUFBQSxJQUNUO0FBQ0EsUUFBSSxPQUFPLEtBQUssWUFBWSxNQUFNLEdBQUcsSUFBSSxHQUFHO0FBQzFDLGFBQU87QUFBQSxJQUNUO0FBQ0EsV0FBTztBQUFBLEVBQ1Q7QUFDRDsifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/dom/animation.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAO9F"}
1
+ {"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/dom/animation.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAU9F"}
@@ -1,6 +1,6 @@
1
1
  import { isServer } from "lit";
2
2
  function isZeroAnimationDuration(element, cssVariableName) {
3
- if (isServer) {
3
+ if (isServer || globalThis.disableAnimation) {
4
4
  return true;
5
5
  }
6
6
  const animationDuration = getComputedStyle(element).getPropertyValue(cssVariableName);
@@ -9,4 +9,4 @@ function isZeroAnimationDuration(element, cssVariableName) {
9
9
  export {
10
10
  isZeroAnimationDuration
11
11
  };
12
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kb20vYW5pbWF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjc3NWYXJpYWJsZU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBjb25zdCBhbmltYXRpb25EdXJhdGlvbiA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZShjc3NWYXJpYWJsZU5hbWUpO1xuXG4gIHJldHVybiBwYXJzZUZsb2F0KGFuaW1hdGlvbkR1cmF0aW9uKSA9PT0gMDtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRU0sU0FBVSx3QkFBd0IsU0FBc0IsaUJBQXVCO0FBQ25GLE1BQUksVUFBVTtBQUNaLFdBQU87QUFBQSxFQUNUO0FBQ0EsUUFBTSxvQkFBb0IsaUJBQWlCLE9BQU8sRUFBRSxpQkFBaUIsZUFBZTtBQUVwRixTQUFPLFdBQVcsaUJBQWlCLE1BQU07QUFDM0M7In0=
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9kb20vYW5pbWF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU2VydmVyIH0gZnJvbSAnbGl0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBjc3NWYXJpYWJsZU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAvLyBDdXJyZW50bHkgb24gV2ViS2l0IHRoZXJlIGlzIGEgcHJvYmxlbSB3aGVyZSB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uXG4gIC8vIGNhbiBmb3Igc29tZSByZWFzb24gbm90IGJlIDAsIGV2ZW4gdGhvdWdoIHRoZSBhbmltYXRpb24gaXMgZGlzYWJsZWQuXG4gIC8vIER1ZSB0byB0aGlzIHdlIGFkZGVkIGEgZ2xvYmFsIGZsYWcgdG8gZGlzYWJsZSBhbmltYXRpb25zIGluIHRlc3RzLlxuICBpZiAoaXNTZXJ2ZXIgfHwgKGdsb2JhbFRoaXMgYXMgeyBkaXNhYmxlQW5pbWF0aW9uPzogYm9vbGVhbiB9KS5kaXNhYmxlQW5pbWF0aW9uKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgY29uc3QgYW5pbWF0aW9uRHVyYXRpb24gPSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoY3NzVmFyaWFibGVOYW1lKTtcblxuICByZXR1cm4gcGFyc2VGbG9hdChhbmltYXRpb25EdXJhdGlvbikgPT09IDA7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVNLFNBQVUsd0JBQXdCLFNBQXNCLGlCQUF1QjtBQUluRixNQUFJLFlBQWEsV0FBOEMsa0JBQWtCO0FBQy9FLFdBQU87QUFBQSxFQUNUO0FBQ0EsUUFBTSxvQkFBb0IsaUJBQWlCLE9BQU8sRUFBRSxpQkFBaUIsZUFBZTtBQUVwRixTQUFPLFdBQVcsaUJBQWlCLE1BQU07QUFDM0M7In0=
@@ -5,18 +5,4 @@
5
5
  * @param value The attribute value
6
6
  */
7
7
  export declare function setOrRemoveAttribute(element: HTMLElement, attribute: string, value?: any): void;
8
- /**
9
- * Add `value` to an attribute that accept a list of values. If the attribute is not set, it will be set to `value`.
10
- * @param element The element that will have the attribute
11
- * @param attribute The attribute name
12
- * @param value The value to add
13
- */
14
- export declare function addToListAttribute(element: HTMLElement, attribute: string, value: string): void;
15
- /**
16
- * Remove `value` from an attribute list of values. If the attribute results empty, it will be removed.
17
- * @param element The element with the attribute
18
- * @param attribute The attribute name
19
- * @param value The value to remove from the list
20
- */
21
- export declare function removeFromListAttribute(element: HTMLElement, attribute: string, value: string): void;
22
8
  //# sourceMappingURL=set-or-remove-attribute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"set-or-remove-attribute.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/dom/set-or-remove-attribute.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI,CAM/F;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAM/F;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,IAAI,CAMN"}
1
+ {"version":3,"file":"set-or-remove-attribute.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/dom/set-or-remove-attribute.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI,CAM/F"}
@@ -5,15 +5,7 @@ function setOrRemoveAttribute(element, attribute, value) {
5
5
  element.setAttribute(attribute, value);
6
6
  }
7
7
  }
8
- function addToListAttribute(element, attribute, value) {
9
- setOrRemoveAttribute(element, attribute, `${element.getAttribute(attribute) ?? ""} ${value}`.trim());
10
- }
11
- function removeFromListAttribute(element, attribute, value) {
12
- setOrRemoveAttribute(element, attribute, element.getAttribute(attribute)?.replace(value, "").trim());
13
- }
14
8
  export {
15
- addToListAttribute,
16
- removeFromListAttribute,
17
9
  setOrRemoveAttribute
18
10
  };
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LW9yLXJlbW92ZS1hdHRyaWJ1dGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RvbS9zZXQtb3ItcmVtb3ZlLWF0dHJpYnV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNldCB0aGUgYXR0cmlidXRlIG9ubHkgaWYgdmFsdWUgaXMgbm90ICdmYWxzZScsIG90aGVyd2lzZSByZW1vdmUgYXR0cmlidXRlLlxuICogQHBhcmFtIGVsZW1lbnQgVGhlIGVsZW1lbnQgdGhhdCB3aWxsIGhhdmUgdGhlIGF0dHJpYnV0ZVxuICogQHBhcmFtIGF0dHJpYnV0ZSBUaGUgYXR0cmlidXRlIG5hbWVcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgYXR0cmlidXRlIHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRPclJlbW92ZUF0dHJpYnV0ZShlbGVtZW50OiBIVE1MRWxlbWVudCwgYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlPzogYW55KTogdm9pZCB7XG4gIGlmICghdmFsdWUpIHtcbiAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShhdHRyaWJ1dGUpO1xuICB9IGVsc2Uge1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZSwgdmFsdWUpO1xuICB9XG59XG5cbi8qKlxuICogQWRkIGB2YWx1ZWAgdG8gYW4gYXR0cmlidXRlIHRoYXQgYWNjZXB0IGEgbGlzdCBvZiB2YWx1ZXMuIElmIHRoZSBhdHRyaWJ1dGUgaXMgbm90IHNldCwgaXQgd2lsbCBiZSBzZXQgdG8gYHZhbHVlYC5cbiAqIEBwYXJhbSBlbGVtZW50IFRoZSBlbGVtZW50IHRoYXQgd2lsbCBoYXZlIHRoZSBhdHRyaWJ1dGVcbiAqIEBwYXJhbSBhdHRyaWJ1dGUgVGhlIGF0dHJpYnV0ZSBuYW1lXG4gKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIGFkZFxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkVG9MaXN0QXR0cmlidXRlKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICBzZXRPclJlbW92ZUF0dHJpYnV0ZShcbiAgICBlbGVtZW50LFxuICAgIGF0dHJpYnV0ZSxcbiAgICBgJHtlbGVtZW50LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpID8/ICcnfSAke3ZhbHVlfWAudHJpbSgpLFxuICApO1xufVxuXG4vKipcbiAqIFJlbW92ZSBgdmFsdWVgIGZyb20gYW4gYXR0cmlidXRlIGxpc3Qgb2YgdmFsdWVzLiBJZiB0aGUgYXR0cmlidXRlIHJlc3VsdHMgZW1wdHksIGl0IHdpbGwgYmUgcmVtb3ZlZC5cbiAqIEBwYXJhbSBlbGVtZW50IFRoZSBlbGVtZW50IHdpdGggdGhlIGF0dHJpYnV0ZVxuICogQHBhcmFtIGF0dHJpYnV0ZSBUaGUgYXR0cmlidXRlIG5hbWVcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gcmVtb3ZlIGZyb20gdGhlIGxpc3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUZyb21MaXN0QXR0cmlidXRlKFxuICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgYXR0cmlidXRlOiBzdHJpbmcsXG4gIHZhbHVlOiBzdHJpbmcsXG4pOiB2b2lkIHtcbiAgc2V0T3JSZW1vdmVBdHRyaWJ1dGUoXG4gICAgZWxlbWVudCxcbiAgICBhdHRyaWJ1dGUsXG4gICAgZWxlbWVudC5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKT8ucmVwbGFjZSh2YWx1ZSwgJycpLnRyaW0oKSxcbiAgKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiU0FNZ0IscUJBQXFCLFNBQXNCLFdBQW1CLE9BQVc7QUFDdkYsTUFBSSxDQUFDLE9BQU87QUFDVixZQUFRLGdCQUFnQixTQUFTO0FBQUEsRUFDbkMsT0FBTztBQUNMLFlBQVEsYUFBYSxXQUFXLEtBQUs7QUFBQSxFQUN2QztBQUNGO1NBUWdCLG1CQUFtQixTQUFzQixXQUFtQixPQUFhO0FBQ3ZGLHVCQUNFLFNBQ0EsV0FDQSxHQUFHLFFBQVEsYUFBYSxTQUFTLEtBQUssRUFBRSxJQUFJLEtBQUssR0FBRyxLQUFBLENBQU07QUFFOUQ7U0FRZ0Isd0JBQ2QsU0FDQSxXQUNBLE9BQWE7QUFFYix1QkFDRSxTQUNBLFdBQ0EsUUFBUSxhQUFhLFNBQVMsR0FBRyxRQUFRLE9BQU8sRUFBRSxFQUFFLEtBQUEsQ0FBTTtBQUU5RDsifQ==
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LW9yLXJlbW92ZS1hdHRyaWJ1dGUuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL2RvbS9zZXQtb3ItcmVtb3ZlLWF0dHJpYnV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNldCB0aGUgYXR0cmlidXRlIG9ubHkgaWYgdmFsdWUgaXMgbm90ICdmYWxzZScsIG90aGVyd2lzZSByZW1vdmUgYXR0cmlidXRlLlxuICogQHBhcmFtIGVsZW1lbnQgVGhlIGVsZW1lbnQgdGhhdCB3aWxsIGhhdmUgdGhlIGF0dHJpYnV0ZVxuICogQHBhcmFtIGF0dHJpYnV0ZSBUaGUgYXR0cmlidXRlIG5hbWVcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgYXR0cmlidXRlIHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRPclJlbW92ZUF0dHJpYnV0ZShlbGVtZW50OiBIVE1MRWxlbWVudCwgYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlPzogYW55KTogdm9pZCB7XG4gIGlmICghdmFsdWUpIHtcbiAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShhdHRyaWJ1dGUpO1xuICB9IGVsc2Uge1xuICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHJpYnV0ZSwgdmFsdWUpO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IlNBTWdCLHFCQUFxQixTQUFzQixXQUFtQixPQUFXO0FBQ3ZGLE1BQUksQ0FBQyxPQUFPO0FBQ1YsWUFBUSxnQkFBZ0IsU0FBUztBQUFBLEVBQ25DLE9BQU87QUFDTCxZQUFRLGFBQWEsV0FBVyxLQUFLO0FBQUEsRUFDdkM7QUFDRjsifQ==
@@ -2,9 +2,7 @@
2
2
  * @entrypoint
3
3
  */
4
4
  export * from './dom/animation.ts';
5
- export * from './dom/breakpoint.ts';
6
5
  export * from './dom/contains-pierce-shadow-dom.ts';
7
- export * from './dom/host-context.ts';
8
6
  export * from './dom/lean-context.ts';
9
7
  export * from './dom/set-or-remove-attribute.ts';
10
8
  export * from './dom/platform.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/dom.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../../src/elements/core/dom.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,oBAAoB,CAAC;AACnC,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iBAAiB,CAAC"}
@@ -1,22 +1,15 @@
1
1
  import { isZeroAnimationDuration } from "./dom/animation.js";
2
- import { breakpoints, isBreakpoint } from "./dom/breakpoint.js";
3
2
  import { containsPierceShadowDom } from "./dom/contains-pierce-shadow-dom.js";
4
- import { ACTION_ELEMENTS, hostContext } from "./dom/host-context.js";
5
3
  import { isLean } from "./dom/lean-context.js";
6
- import { addToListAttribute, removeFromListAttribute, setOrRemoveAttribute } from "./dom/set-or-remove-attribute.js";
4
+ import { setOrRemoveAttribute } from "./dom/set-or-remove-attribute.js";
7
5
  import { isAndroid, isBlink, isChromium, isEdge, isFirefox, isIOS, isMacOS, isNextjs, isSafari, isTrident, isWebkit } from "./dom/platform.js";
8
6
  import { queueDomContentLoaded } from "./dom/queue-dom-content-loaded.js";
9
7
  import { SbbScrollHandler, pageScrollDisabled } from "./dom/scroll.js";
10
8
  export {
11
- ACTION_ELEMENTS,
12
9
  SbbScrollHandler,
13
- addToListAttribute,
14
- breakpoints,
15
10
  containsPierceShadowDom,
16
- hostContext,
17
11
  isAndroid,
18
12
  isBlink,
19
- isBreakpoint,
20
13
  isChromium,
21
14
  isEdge,
22
15
  isFirefox,
@@ -30,7 +23,6 @@ export {
30
23
  isZeroAnimationDuration,
31
24
  pageScrollDisabled,
32
25
  queueDomContentLoaded,
33
- removeFromListAttribute,
34
26
  setOrRemoveAttribute
35
27
  };
36
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OyJ9
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlcyI6W10sInNvdXJjZXNDb250ZW50IjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OzsifQ==
@@ -79,8 +79,6 @@ export declare const i18nNextPage: Record<string, string>;
79
79
  export declare const i18nPreviousPage: Record<string, string>;
80
80
  export declare const i18nPage: Record<string, string>;
81
81
  export declare const i18nItemsPerPage: Record<string, string>;
82
- /** @deprecated */
83
- export declare const i18nSelectedPage: (pageNumber: number) => Record<string, string>;
84
82
  export declare const i18nPaginatorSelected: Record<string, string>;
85
83
  export declare const i18nPaginatorOf: Record<string, string>;
86
84
  export declare const i18nCheckboxRequired: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAElE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK9C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK7C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKlD,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAa5D,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK5C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK7C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKlD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKvD,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK7D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKtD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKzD,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK1D,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK3D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBrE,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKxE,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA6BrF,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CA6BnF,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAiBlF,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKrD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKnD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKlD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKnD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKxD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKzD,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK1C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKnD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKjD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAyB3E,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmEvE,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK/C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK7D,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK7D,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK/D,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKjD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKxD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK7C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKlD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKtD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKnD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKnD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK7C,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK5C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKpD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK9C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKlD,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKzD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK5D,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,WAAW,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAKzE,CAAC;AAEH,eAAO,MAAM,qBAAqB,GAAI,WAAW,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAK7E,CAAC;AAEH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK/C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKnD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,aAAa,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAK3E,CAAC;AAEH,eAAO,MAAM,qBAAqB,GAAI,aAAa,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAK/E,CAAC;AAEH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKnD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK5D,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKpD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKrD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKnD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,YAAY,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhF,CAAC;AAEH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK/C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK9D,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKpE,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKjD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK/C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKlD,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK9D,CAAC;AAEF,eAAO,MAAM,mCAAmC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKtE,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhE,CAAC;AAEF,eAAO,MAAM,qCAAqC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKxE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK7D,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAAI,WAAW,MAAM,EAAE,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAe5F,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK/C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKnD,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK3C,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKnD,CAAC;AAEF,kBAAkB;AAClB,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAKzE,CAAC;AAEH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKxD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKlD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKvD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKxD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKpD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKlD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAK7D,CAAC;AAEH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAK7D,CAAC;AAEH,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAKvE,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKlD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKpD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKjD,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKzD,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKnE,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,OAAO,MAAM,EACb,OAAO,MAAM,KACZ,MAAM,CAAC,MAAM,EAAE,MAAM,CAKtB,CAAC;AAEH,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKnE,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKhD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKpD,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAK5C,CAAC"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/i18n/i18n.ts"],"names":[],"mappings":"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"}