@sbb-esta/lyne-elements 3.13.0 → 4.0.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (766) hide show
  1. package/accordion/accordion.component.d.ts.map +1 -1
  2. package/accordion/accordion.component.js +18 -17
  3. package/action-group/action-group.component.d.ts.map +1 -1
  4. package/action-group/action-group.component.js +52 -51
  5. package/alert/alert/alert.component.d.ts +1 -6
  6. package/alert/alert/alert.component.d.ts.map +1 -1
  7. package/alert/alert/alert.component.js +44 -55
  8. package/alert/alert-group/alert-group.component.d.ts.map +1 -1
  9. package/alert/alert-group/alert-group.component.js +21 -20
  10. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  11. package/autocomplete/autocomplete-base-element.js +59 -58
  12. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  13. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +26 -25
  14. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -1
  15. package/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +13 -12
  16. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  17. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +8 -7
  18. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -1
  19. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +6 -5
  20. package/breadcrumb/breadcrumb/breadcrumb.component.d.ts.map +1 -1
  21. package/breadcrumb/breadcrumb/breadcrumb.component.js +8 -8
  22. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  23. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +11 -10
  24. package/button/accent-button/accent-button.component.d.ts.map +1 -1
  25. package/button/accent-button/accent-button.component.js +12 -7
  26. package/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
  27. package/button/accent-button-link/accent-button-link.component.js +10 -5
  28. package/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
  29. package/button/accent-button-static/accent-button-static.component.js +13 -8
  30. package/button/button/button.component.d.ts.map +1 -1
  31. package/button/button/button.component.js +15 -10
  32. package/button/button-link/button-link.component.d.ts.map +1 -1
  33. package/button/button-link/button-link.component.js +14 -9
  34. package/button/button-static/button-static.component.d.ts.map +1 -1
  35. package/button/button-static/button-static.component.js +14 -9
  36. package/button/common/button-common.d.ts.map +1 -1
  37. package/button/common/button-common.js +12 -12
  38. package/button/common.d.ts.map +1 -1
  39. package/button/common.js +8 -7
  40. package/button/mini-button/mini-button.component.d.ts.map +1 -1
  41. package/button/mini-button/mini-button.component.js +19 -18
  42. package/button/mini-button-group/mini-button-group.component.d.ts.map +1 -1
  43. package/button/mini-button-group/mini-button-group.component.js +23 -22
  44. package/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  45. package/button/secondary-button/secondary-button.component.js +12 -7
  46. package/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
  47. package/button/secondary-button-link/secondary-button-link.component.js +13 -8
  48. package/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
  49. package/button/secondary-button-static/secondary-button-static.component.js +14 -9
  50. package/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  51. package/button/transparent-button/transparent-button.component.js +13 -8
  52. package/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
  53. package/button/transparent-button-link/transparent-button-link.component.js +13 -8
  54. package/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
  55. package/button/transparent-button-static/transparent-button-static.component.js +16 -11
  56. package/button.js +11 -10
  57. package/calendar/calendar.component.d.ts.map +1 -1
  58. package/calendar/calendar.component.js +26 -25
  59. package/card/card/card.component.d.ts.map +1 -1
  60. package/card/card/card.component.js +17 -16
  61. package/card/card-badge/card-badge.component.d.ts.map +1 -1
  62. package/card/card-badge/card-badge.component.js +17 -16
  63. package/card/common/card-action-common.d.ts.map +1 -1
  64. package/card/common/card-action-common.js +5 -4
  65. package/carousel/carousel/carousel.component.d.ts.map +1 -1
  66. package/carousel/carousel/carousel.component.js +33 -32
  67. package/carousel/carousel-item/carousel-item.component.js +8 -8
  68. package/carousel/carousel-list/carousel-list.component.js +4 -4
  69. package/checkbox/checkbox/checkbox.component.d.ts +1 -1
  70. package/checkbox/checkbox/checkbox.component.d.ts.map +1 -1
  71. package/checkbox/checkbox/checkbox.component.js +22 -17
  72. package/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -1
  73. package/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
  74. package/checkbox/checkbox-group/checkbox-group.component.js +37 -36
  75. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  76. package/checkbox/checkbox-panel/checkbox-panel.component.js +20 -15
  77. package/checkbox/common.js +1 -1
  78. package/checkbox-common-BGA_q9nc.js +5 -0
  79. package/checkbox.js +1 -1
  80. package/chip/chip/chip.component.d.ts.map +1 -1
  81. package/chip/chip/chip.component.js +20 -19
  82. package/chip/chip-group/chip-group.component.d.ts.map +1 -1
  83. package/chip/chip-group/chip-group.component.js +11 -10
  84. package/chip-label/chip-label.component.d.ts.map +1 -1
  85. package/chip-label/chip-label.component.js +5 -4
  86. package/clock/clock.component.d.ts.map +1 -1
  87. package/clock/clock.component.js +24 -23
  88. package/container/container/container.component.d.ts +3 -1
  89. package/container/container/container.component.d.ts.map +1 -1
  90. package/container/container/container.component.js +27 -25
  91. package/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  92. package/container/sticky-bar/sticky-bar.component.js +25 -24
  93. package/core/controllers/media-matchers-controller.d.ts +2 -2
  94. package/core/controllers/media-matchers-controller.d.ts.map +1 -1
  95. package/core/controllers/media-matchers-controller.js +22 -22
  96. package/core/controllers/slot-state-controller.d.ts +26 -14
  97. package/core/controllers/slot-state-controller.d.ts.map +1 -1
  98. package/core/controllers/slot-state-controller.js +28 -22
  99. package/core/controllers.js +17 -16
  100. package/core/decorators.d.ts +0 -1
  101. package/core/decorators.d.ts.map +1 -1
  102. package/core/decorators.js +5 -7
  103. package/core/dom/breakpoint.d.ts +1 -1
  104. package/core/dom/breakpoint.d.ts.map +1 -1
  105. package/core/dom/breakpoint.js +4 -4
  106. package/core/i18n/i18n.js +6 -6
  107. package/core/interfaces/types.d.ts +1 -1
  108. package/core/interfaces/types.d.ts.map +1 -1
  109. package/core/mixins/element-internals-mixin.d.ts.map +1 -1
  110. package/core/mixins/element-internals-mixin.js +9 -8
  111. package/core/mixins.js +5 -5
  112. package/core/styles/_index.scss +0 -1
  113. package/core/styles/box-sizing.scss +3 -0
  114. package/core/styles/core/mediaqueries.scss +6 -12
  115. package/core/styles/core.scss +104 -98
  116. package/core/styles/mixins/buttons.scss +0 -171
  117. package/core/styles/mixins/card.scss +1 -2
  118. package/core/styles/mixins/lists.scss +1 -1
  119. package/core/styles/mixins/panel.scss +1 -1
  120. package/core/styles/{node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss → node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables-as-css.scss} +194 -460
  121. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +10 -217
  122. package/core/styles.d.ts +4 -0
  123. package/core/styles.d.ts.map +1 -0
  124. package/core/styles.js +5 -0
  125. package/core.css +169 -490
  126. package/custom-elements.json +2854 -2200
  127. package/datepicker/datepicker/datepicker.component.d.ts +1 -1
  128. package/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  129. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  130. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +24 -22
  131. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  132. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +25 -23
  133. package/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
  134. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +29 -27
  135. package/development/accordion/accordion.component.d.ts.map +1 -1
  136. package/development/accordion/accordion.component.js +4 -9
  137. package/development/action-group/action-group.component.d.ts.map +1 -1
  138. package/development/action-group/action-group.component.js +5 -88
  139. package/development/alert/alert/alert.component.d.ts +1 -6
  140. package/development/alert/alert/alert.component.d.ts.map +1 -1
  141. package/development/alert/alert/alert.component.js +12 -35
  142. package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
  143. package/development/alert/alert-group/alert-group.component.js +4 -9
  144. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  145. package/development/autocomplete/autocomplete-base-element.js +8 -13
  146. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  147. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +7 -120
  148. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.d.ts.map +1 -1
  149. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +4 -9
  150. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  151. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +5 -10
  152. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.d.ts.map +1 -1
  153. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +4 -9
  154. package/development/breadcrumb/breadcrumb/breadcrumb.component.d.ts.map +1 -1
  155. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +6 -12
  156. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.d.ts.map +1 -1
  157. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +4 -9
  158. package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
  159. package/development/button/accent-button/accent-button.component.js +7 -2
  160. package/development/button/accent-button-link/accent-button-link.component.d.ts.map +1 -1
  161. package/development/button/accent-button-link/accent-button-link.component.js +7 -2
  162. package/development/button/accent-button-static/accent-button-static.component.d.ts.map +1 -1
  163. package/development/button/accent-button-static/accent-button-static.component.js +7 -2
  164. package/development/button/button/button.component.d.ts.map +1 -1
  165. package/development/button/button/button.component.js +7 -2
  166. package/development/button/button-link/button-link.component.d.ts.map +1 -1
  167. package/development/button/button-link/button-link.component.js +7 -2
  168. package/development/button/button-static/button-static.component.d.ts.map +1 -1
  169. package/development/button/button-static/button-static.component.js +7 -2
  170. package/development/button/common/button-common.d.ts.map +1 -1
  171. package/development/button/common/button-common.js +3 -3
  172. package/development/button/common.d.ts.map +1 -1
  173. package/development/button/common.js +3 -2
  174. package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
  175. package/development/button/mini-button/mini-button.component.js +11 -126
  176. package/development/button/mini-button-group/mini-button-group.component.d.ts.map +1 -1
  177. package/development/button/mini-button-group/mini-button-group.component.js +4 -9
  178. package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  179. package/development/button/secondary-button/secondary-button.component.js +7 -2
  180. package/development/button/secondary-button-link/secondary-button-link.component.d.ts.map +1 -1
  181. package/development/button/secondary-button-link/secondary-button-link.component.js +7 -2
  182. package/development/button/secondary-button-static/secondary-button-static.component.d.ts.map +1 -1
  183. package/development/button/secondary-button-static/secondary-button-static.component.js +7 -2
  184. package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  185. package/development/button/transparent-button/transparent-button.component.js +7 -2
  186. package/development/button/transparent-button-link/transparent-button-link.component.d.ts.map +1 -1
  187. package/development/button/transparent-button-link/transparent-button-link.component.js +7 -2
  188. package/development/button/transparent-button-static/transparent-button-static.component.d.ts.map +1 -1
  189. package/development/button/transparent-button-static/transparent-button-static.component.js +7 -2
  190. package/development/button.js +3 -2
  191. package/development/calendar/calendar.component.d.ts.map +1 -1
  192. package/development/calendar/calendar.component.js +8 -13
  193. package/development/card/card/card.component.d.ts.map +1 -1
  194. package/development/card/card/card.component.js +5 -10
  195. package/development/card/card-badge/card-badge.component.d.ts.map +1 -1
  196. package/development/card/card-badge/card-badge.component.js +4 -9
  197. package/development/card/common/card-action-common.d.ts.map +1 -1
  198. package/development/card/common/card-action-common.js +4 -9
  199. package/development/carousel/carousel/carousel.component.d.ts.map +1 -1
  200. package/development/carousel/carousel/carousel.component.js +5 -10
  201. package/development/carousel/carousel-item/carousel-item.component.js +2 -8
  202. package/development/carousel/carousel-list/carousel-list.component.js +2 -8
  203. package/development/checkbox/checkbox/checkbox.component.d.ts +1 -1
  204. package/development/checkbox/checkbox/checkbox.component.d.ts.map +1 -1
  205. package/development/checkbox/checkbox/checkbox.component.js +13 -8
  206. package/development/checkbox/checkbox-group/checkbox-group.component.d.ts +1 -1
  207. package/development/checkbox/checkbox-group/checkbox-group.component.d.ts.map +1 -1
  208. package/development/checkbox/checkbox-group/checkbox-group.component.js +9 -50
  209. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  210. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +9 -4
  211. package/development/checkbox/common.js +1 -1
  212. package/development/{checkbox-common-Cq9DLK37.js → checkbox-common-BZFJgZd7.js} +1 -7
  213. package/development/checkbox.js +1 -1
  214. package/development/chip/chip/chip.component.d.ts.map +1 -1
  215. package/development/chip/chip/chip.component.js +9 -14
  216. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  217. package/development/chip/chip-group/chip-group.component.js +5 -10
  218. package/development/chip-label/chip-label.component.d.ts.map +1 -1
  219. package/development/chip-label/chip-label.component.js +4 -9
  220. package/development/clock/clock.component.d.ts.map +1 -1
  221. package/development/clock/clock.component.js +4 -9
  222. package/development/container/container/container.component.d.ts +3 -1
  223. package/development/container/container/container.component.d.ts.map +1 -1
  224. package/development/container/container/container.component.js +11 -15
  225. package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  226. package/development/container/sticky-bar/sticky-bar.component.js +5 -10
  227. package/development/core/controllers/media-matchers-controller.d.ts +2 -2
  228. package/development/core/controllers/media-matchers-controller.d.ts.map +1 -1
  229. package/development/core/controllers/media-matchers-controller.js +6 -6
  230. package/development/core/controllers/slot-state-controller.d.ts +26 -14
  231. package/development/core/controllers/slot-state-controller.d.ts.map +1 -1
  232. package/development/core/controllers/slot-state-controller.js +48 -41
  233. package/development/core/controllers.js +6 -5
  234. package/development/core/decorators.d.ts +0 -1
  235. package/development/core/decorators.d.ts.map +1 -1
  236. package/development/core/decorators.js +2 -4
  237. package/development/core/dom/breakpoint.d.ts +1 -1
  238. package/development/core/dom/breakpoint.d.ts.map +1 -1
  239. package/development/core/dom/breakpoint.js +2 -2
  240. package/development/core/i18n/i18n.js +7 -7
  241. package/development/core/interfaces/types.d.ts +1 -1
  242. package/development/core/interfaces/types.d.ts.map +1 -1
  243. package/development/core/mixins/element-internals-mixin.d.ts.map +1 -1
  244. package/development/core/mixins/element-internals-mixin.js +3 -1
  245. package/development/core/mixins.js +1 -1
  246. package/development/core/styles.d.ts +4 -0
  247. package/development/core/styles.d.ts.map +1 -0
  248. package/development/core/styles.js +10 -0
  249. package/development/datepicker/datepicker/datepicker.component.d.ts +1 -1
  250. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  251. package/development/datepicker/datepicker/datepicker.component.js +1 -1
  252. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  253. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +5 -113
  254. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  255. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +5 -113
  256. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
  257. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +5 -113
  258. package/development/dialog/dialog/dialog.component.d.ts +3 -4
  259. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  260. package/development/dialog/dialog/dialog.component.js +53 -128
  261. package/development/dialog/dialog-actions/dialog-actions.component.d.ts +0 -1
  262. package/development/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  263. package/development/dialog/dialog-actions/dialog-actions.component.js +4 -14
  264. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts +1 -1
  265. package/development/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -1
  266. package/development/dialog/dialog-close-button/dialog-close-button.component.js +9 -13
  267. package/development/dialog/dialog-content/dialog-content.component.d.ts +1 -0
  268. package/development/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  269. package/development/dialog/dialog-content/dialog-content.component.js +15 -9
  270. package/development/dialog/dialog-title/dialog-title.component.d.ts +0 -1
  271. package/development/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  272. package/development/dialog/dialog-title/dialog-title.component.js +14 -7
  273. package/development/divider/divider.component.d.ts.map +1 -1
  274. package/development/divider/divider.component.js +4 -9
  275. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  276. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +5 -10
  277. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  278. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +6 -11
  279. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +2 -3
  280. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  281. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +11 -16
  282. package/development/file-selector/common.js +1 -1
  283. package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  284. package/development/file-selector/file-selector/file-selector.component.js +4 -4
  285. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  286. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +6 -11
  287. package/development/{file-selector-common-CRNAWFM_.js → file-selector-common-CsFa5XJ-.js} +3 -9
  288. package/development/file-selector.js +1 -1
  289. package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  290. package/development/flip-card/flip-card/flip-card.component.js +7 -12
  291. package/development/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  292. package/development/flip-card/flip-card-details/flip-card-details.component.js +4 -9
  293. package/development/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  294. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +7 -12
  295. package/development/footer/footer.component.d.ts.map +1 -1
  296. package/development/footer/footer.component.js +8 -13
  297. package/development/form-error/form-error.component.d.ts.map +1 -1
  298. package/development/form-error/form-error.component.js +4 -9
  299. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  300. package/development/form-field/form-field/form-field.component.js +10 -15
  301. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  302. package/development/form-field/form-field-clear/form-field-clear.component.js +6 -118
  303. package/development/header/common/header-action-common.d.ts.map +1 -1
  304. package/development/header/common/header-action-common.js +23 -108
  305. package/development/header/header/header.component.d.ts +1 -1
  306. package/development/header/header/header.component.d.ts.map +1 -1
  307. package/development/header/header/header.component.js +6 -11
  308. package/development/header/header-environment/header-environment.component.d.ts.map +1 -1
  309. package/development/header/header-environment/header-environment.component.js +4 -9
  310. package/development/icon/icon-base.d.ts.map +1 -1
  311. package/development/icon/icon-base.js +4 -9
  312. package/development/icon/icon-name-mixin.d.ts +3 -2
  313. package/development/icon/icon-name-mixin.d.ts.map +1 -1
  314. package/development/icon/icon-name-mixin.js +12 -3
  315. package/development/{icon-sidebar-button-common-CaOV-n8E.js → icon-sidebar-button-common-C6QChtaa.js} +4 -22
  316. package/development/image/image.component.d.ts +1 -1
  317. package/development/image/image.component.d.ts.map +1 -1
  318. package/development/image/image.component.js +7 -18
  319. package/development/journey-header/journey-header.component.d.ts.map +1 -1
  320. package/development/journey-header/journey-header.component.js +4 -9
  321. package/development/lead-container/lead-container.component.d.ts.map +1 -1
  322. package/development/lead-container/lead-container.component.js +6 -24
  323. package/development/link/common/block-link-common.d.ts.map +1 -1
  324. package/development/link/common/block-link-common.js +5 -4
  325. package/development/link/common/inline-link-common.d.ts.map +1 -1
  326. package/development/link/common/inline-link-common.js +4 -3
  327. package/development/link/common/link-common.d.ts.map +1 -1
  328. package/development/link/common/link-common.js +1 -1
  329. package/development/link/common.js +1 -1
  330. package/development/{link-common-B9KyXHCd.js → link-common-DYZHRSSJ.js} +4 -10
  331. package/development/link-list/common/link-list-base.d.ts.map +1 -1
  332. package/development/link-list/common/link-list-base.js +7 -15
  333. package/development/link-list/common.js +1 -1
  334. package/development/link-list/link-list/link-list.component.d.ts.map +1 -1
  335. package/development/link-list/link-list/link-list.component.js +3 -50
  336. package/development/link-list/link-list-anchor/link-list-anchor.component.d.ts.map +1 -1
  337. package/development/link-list/link-list-anchor/link-list-anchor.component.js +3 -2
  338. package/development/{link-list-base-DC9sc7q5.js → link-list-base-CJJ3qdD7.js} +3 -9
  339. package/development/link-list.js +1 -1
  340. package/development/link.js +1 -1
  341. package/development/loading-indicator/loading-indicator.component.d.ts.map +1 -1
  342. package/development/loading-indicator/loading-indicator.component.js +3 -8
  343. package/development/loading-indicator-circle/loading-indicator-circle.component.d.ts.map +1 -1
  344. package/development/loading-indicator-circle/loading-indicator-circle.component.js +4 -9
  345. package/development/logo/logo.component.d.ts.map +1 -1
  346. package/development/logo/logo.component.js +4 -9
  347. package/development/map-container/map-container.component.d.ts +1 -1
  348. package/development/map-container/map-container.component.d.ts.map +1 -1
  349. package/development/map-container/map-container.component.js +10 -15
  350. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  351. package/development/menu/common/menu-action-common.js +12 -31
  352. package/development/menu/menu/menu.component.d.ts +1 -12
  353. package/development/menu/menu/menu.component.d.ts.map +1 -1
  354. package/development/menu/menu/menu.component.js +17 -65
  355. package/development/message/message.component.d.ts.map +1 -1
  356. package/development/message/message.component.js +4 -9
  357. package/development/{transparent-button-BUTXbd7W.js → mini-button-common-Di32bSJj.js} +112 -15
  358. package/development/mini-calendar/mini-calendar/mini-calendar.component.js +2 -8
  359. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +2 -8
  360. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -1
  361. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +4 -9
  362. package/development/navigation/common/navigation-action-common.d.ts.map +1 -1
  363. package/development/navigation/common/navigation-action-common.js +4 -9
  364. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  365. package/development/navigation/navigation/navigation.component.js +5 -15
  366. package/development/navigation/navigation-list/navigation-list.component.d.ts.map +1 -1
  367. package/development/navigation/navigation-list/navigation-list.component.js +9 -14
  368. package/development/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
  369. package/development/navigation/navigation-marker/navigation-marker.component.js +4 -9
  370. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  371. package/development/navigation/navigation-section/navigation-section.component.js +10 -20
  372. package/development/notification/notification.component.d.ts +4 -2
  373. package/development/notification/notification.component.d.ts.map +1 -1
  374. package/development/notification/notification.component.js +22 -18
  375. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  376. package/development/option/optgroup/optgroup-base-element.js +4 -9
  377. package/development/option/option/option-base-element.d.ts.map +1 -1
  378. package/development/option/option/option-base-element.js +5 -13
  379. package/development/option/option/option.component.d.ts.map +1 -1
  380. package/development/option/option/option.component.js +5 -10
  381. package/development/option/option-hint/option-hint.component.d.ts.map +1 -1
  382. package/development/option/option-hint/option-hint.component.js +4 -9
  383. package/development/overlay/overlay.component.d.ts.map +1 -1
  384. package/development/overlay/overlay.component.js +5 -10
  385. package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  386. package/development/paginator/compact-paginator/compact-paginator.component.js +4 -9
  387. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  388. package/development/paginator/paginator/paginator.component.js +4 -9
  389. package/development/popover/popover/popover.component.d.ts +2 -0
  390. package/development/popover/popover/popover.component.d.ts.map +1 -1
  391. package/development/popover/popover/popover.component.js +20 -11
  392. package/development/popover.d.ts +0 -1
  393. package/development/popover.d.ts.map +1 -1
  394. package/development/popover.js +2 -4
  395. package/development/radio-button/common.js +1 -1
  396. package/development/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
  397. package/development/radio-button/radio-button/radio-button.component.js +10 -11
  398. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  399. package/development/radio-button/radio-button-group/radio-button-group.component.js +7 -45
  400. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  401. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +9 -4
  402. package/development/{radio-button-common-DWGEcWfZ.js → radio-button-common-5uawgCpB.js} +2 -8
  403. package/development/radio-button.js +1 -1
  404. package/development/sbb-tokens-DXgmy_b-.js +21 -0
  405. package/development/select/select.component.d.ts.map +1 -1
  406. package/development/select/select.component.js +8 -13
  407. package/development/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
  408. package/development/selection-action-panel/selection-action-panel.component.js +4 -9
  409. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  410. package/development/selection-expansion-panel/selection-expansion-panel.component.js +9 -14
  411. package/development/sidebar/common.js +1 -1
  412. package/development/sidebar/icon-sidebar/icon-sidebar.component.js +2 -8
  413. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  414. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +3 -2
  415. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
  416. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +3 -2
  417. package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  418. package/development/sidebar/sidebar/sidebar.component.js +5 -10
  419. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +1 -0
  420. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  421. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +5 -9
  422. package/development/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
  423. package/development/sidebar/sidebar-container/sidebar-container.component.js +7 -2
  424. package/development/sidebar.js +1 -1
  425. package/development/signet/signet.component.d.ts.map +1 -1
  426. package/development/signet/signet.component.js +4 -9
  427. package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  428. package/development/skiplink-list/skiplink-list.component.js +5 -10
  429. package/development/slider/slider.component.d.ts.map +1 -1
  430. package/development/slider/slider.component.js +4 -9
  431. package/development/status/status.component.d.ts +2 -2
  432. package/development/status/status.component.d.ts.map +1 -1
  433. package/development/status/status.component.js +8 -16
  434. package/development/stepper/step/step.component.d.ts.map +1 -1
  435. package/development/stepper/step/step.component.js +4 -9
  436. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  437. package/development/stepper/step-label/step-label.component.js +4 -9
  438. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  439. package/development/stepper/stepper/stepper.component.js +4 -9
  440. package/development/table/table-wrapper/table-wrapper.component.js +2 -8
  441. package/development/tabs/tab/tab.component.js +1 -7
  442. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  443. package/development/tabs/tab-group/tab-group.component.js +4 -9
  444. package/development/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  445. package/development/tabs/tab-label/tab-label.component.js +9 -14
  446. package/development/tag/tag/tag.component.d.ts.map +1 -1
  447. package/development/tag/tag/tag.component.js +8 -13
  448. package/development/tag/tag-group/tag-group.component.d.ts.map +1 -1
  449. package/development/tag/tag-group/tag-group.component.js +4 -9
  450. package/development/teaser/teaser.component.d.ts.map +1 -1
  451. package/development/teaser/teaser.component.js +4 -9
  452. package/development/teaser-hero/teaser-hero.component.d.ts.map +1 -1
  453. package/development/teaser-hero/teaser-hero.component.js +8 -13
  454. package/development/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  455. package/development/teaser-product/common/teaser-product-common.js +4 -13
  456. package/development/teaser-product/common.js +1 -1
  457. package/development/teaser-product/teaser-product/teaser-product.component.d.ts.map +1 -1
  458. package/development/teaser-product/teaser-product/teaser-product.component.js +7 -2
  459. package/development/teaser-product/teaser-product-static/teaser-product-static.component.d.ts.map +1 -1
  460. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +3 -2
  461. package/development/{teaser-product-common-DvlBRkE_.js → teaser-product-common-B1KK4iNu.js} +3 -9
  462. package/development/teaser-product.js +1 -1
  463. package/development/time-input/time-input.component.js +2 -8
  464. package/development/timetable-form/timetable-form/timetable-form.component.js +2 -8
  465. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +2 -8
  466. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +2 -8
  467. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +1 -0
  468. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -1
  469. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +5 -9
  470. package/development/timetable-occupancy/timetable-occupancy.component.d.ts.map +1 -1
  471. package/development/timetable-occupancy/timetable-occupancy.component.js +5 -10
  472. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  473. package/development/title/title-base.js +2 -8
  474. package/development/toast/toast.component.d.ts.map +1 -1
  475. package/development/toast/toast.component.js +4 -9
  476. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  477. package/development/toggle/toggle/toggle.component.js +4 -9
  478. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  479. package/development/toggle/toggle-option/toggle-option.component.js +6 -11
  480. package/development/toggle-check/toggle-check.component.d.ts +2 -3
  481. package/development/toggle-check/toggle-check.component.d.ts.map +1 -1
  482. package/development/toggle-check/toggle-check.component.js +13 -31
  483. package/development/tooltip/tooltip.component.d.ts.map +1 -1
  484. package/development/tooltip/tooltip.component.js +5 -10
  485. package/development/train/train/train.component.d.ts.map +1 -1
  486. package/development/train/train/train.component.js +4 -9
  487. package/development/train/train-blocked-passage/train-blocked-passage.component.d.ts.map +1 -1
  488. package/development/train/train-blocked-passage/train-blocked-passage.component.js +4 -9
  489. package/development/train/train-formation/train-formation.component.d.ts.map +1 -1
  490. package/development/train/train-formation/train-formation.component.js +4 -9
  491. package/development/train/train-wagon/train-wagon.component.d.ts.map +1 -1
  492. package/development/train/train-wagon/train-wagon.component.js +4 -9
  493. package/development/visual-checkbox/visual-checkbox.component.d.ts.map +1 -1
  494. package/development/visual-checkbox/visual-checkbox.component.js +4 -9
  495. package/dialog/dialog/dialog.component.d.ts +3 -4
  496. package/dialog/dialog/dialog.component.d.ts.map +1 -1
  497. package/dialog/dialog/dialog.component.js +70 -66
  498. package/dialog/dialog-actions/dialog-actions.component.d.ts +0 -1
  499. package/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  500. package/dialog/dialog-actions/dialog-actions.component.js +7 -10
  501. package/dialog/dialog-close-button/dialog-close-button.component.d.ts +1 -1
  502. package/dialog/dialog-close-button/dialog-close-button.component.d.ts.map +1 -1
  503. package/dialog/dialog-close-button/dialog-close-button.component.js +21 -21
  504. package/dialog/dialog-content/dialog-content.component.d.ts +1 -0
  505. package/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  506. package/dialog/dialog-content/dialog-content.component.js +14 -11
  507. package/dialog/dialog-title/dialog-title.component.d.ts +0 -1
  508. package/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  509. package/dialog/dialog-title/dialog-title.component.js +11 -14
  510. package/divider/divider.component.d.ts.map +1 -1
  511. package/divider/divider.component.js +16 -15
  512. package/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  513. package/expansion-panel/expansion-panel/expansion-panel.component.js +18 -17
  514. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.d.ts.map +1 -1
  515. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +12 -11
  516. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +2 -3
  517. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  518. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +17 -16
  519. package/file-selector/common.js +1 -1
  520. package/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  521. package/file-selector/file-selector/file-selector.component.js +12 -12
  522. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  523. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +15 -14
  524. package/file-selector-common-CUp299VH.js +5 -0
  525. package/file-selector.js +1 -1
  526. package/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  527. package/flip-card/flip-card/flip-card.component.js +8 -7
  528. package/flip-card/flip-card-details/flip-card-details.component.d.ts.map +1 -1
  529. package/flip-card/flip-card-details/flip-card-details.component.js +13 -12
  530. package/flip-card/flip-card-summary/flip-card-summary.component.d.ts.map +1 -1
  531. package/flip-card/flip-card-summary/flip-card-summary.component.js +5 -4
  532. package/footer/footer.component.d.ts.map +1 -1
  533. package/footer/footer.component.js +5 -4
  534. package/form-error/form-error.component.d.ts.map +1 -1
  535. package/form-error/form-error.component.js +10 -9
  536. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  537. package/form-field/form-field/form-field.component.js +17 -16
  538. package/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  539. package/form-field/form-field-clear/form-field-clear.component.js +18 -17
  540. package/header/common/header-action-common.d.ts.map +1 -1
  541. package/header/common/header-action-common.js +27 -27
  542. package/header/header/header.component.d.ts +1 -1
  543. package/header/header/header.component.d.ts.map +1 -1
  544. package/header/header/header.component.js +39 -38
  545. package/header/header-environment/header-environment.component.d.ts.map +1 -1
  546. package/header/header-environment/header-environment.component.js +5 -4
  547. package/icon/icon-base.d.ts.map +1 -1
  548. package/icon/icon-base.js +22 -21
  549. package/icon/icon-name-mixin.d.ts +3 -2
  550. package/icon/icon-name-mixin.d.ts.map +1 -1
  551. package/icon/icon-name-mixin.js +30 -22
  552. package/icon-sidebar-button-common-W6GYJbVt.js +7 -0
  553. package/image/image.component.d.ts +1 -1
  554. package/image/image.component.d.ts.map +1 -1
  555. package/image/image.component.js +72 -77
  556. package/index.d.ts +0 -3
  557. package/index.js +0 -3
  558. package/journey-header/journey-header.component.d.ts.map +1 -1
  559. package/journey-header/journey-header.component.js +19 -18
  560. package/lead-container/lead-container.component.d.ts.map +1 -1
  561. package/lead-container/lead-container.component.js +8 -7
  562. package/link/common/block-link-common.d.ts.map +1 -1
  563. package/link/common/block-link-common.js +14 -13
  564. package/link/common/inline-link-common.d.ts.map +1 -1
  565. package/link/common/inline-link-common.js +7 -6
  566. package/link/common/link-common.d.ts.map +1 -1
  567. package/link/common/link-common.js +1 -1
  568. package/link/common.js +1 -1
  569. package/link-common-CdQBSga7.js +46 -0
  570. package/link-list/common/link-list-base.d.ts.map +1 -1
  571. package/link-list/common/link-list-base.js +34 -34
  572. package/link-list/common.js +1 -1
  573. package/link-list/link-list/link-list.component.d.ts.map +1 -1
  574. package/link-list/link-list/link-list.component.js +23 -22
  575. package/link-list/link-list-anchor/link-list-anchor.component.d.ts.map +1 -1
  576. package/link-list/link-list-anchor/link-list-anchor.component.js +11 -10
  577. package/link-list-base-3v7CHEei.js +5 -0
  578. package/link-list.js +1 -1
  579. package/link.js +1 -1
  580. package/lists.css +1 -1
  581. package/loading-indicator/loading-indicator.component.d.ts.map +1 -1
  582. package/loading-indicator/loading-indicator.component.js +9 -8
  583. package/loading-indicator-circle/loading-indicator-circle.component.d.ts.map +1 -1
  584. package/loading-indicator-circle/loading-indicator-circle.component.js +8 -7
  585. package/logo/logo.component.d.ts.map +1 -1
  586. package/logo/logo.component.js +10 -9
  587. package/map-container/map-container.component.d.ts +1 -1
  588. package/map-container/map-container.component.d.ts.map +1 -1
  589. package/map-container/map-container.component.js +21 -20
  590. package/menu/common/menu-action-common.d.ts.map +1 -1
  591. package/menu/common/menu-action-common.js +14 -17
  592. package/menu/menu/menu.component.d.ts +1 -12
  593. package/menu/menu/menu.component.d.ts.map +1 -1
  594. package/menu/menu/menu.component.js +62 -82
  595. package/message/message.component.d.ts.map +1 -1
  596. package/message/message.component.js +5 -4
  597. package/mini-button-common-DBnJfrBZ.js +10 -0
  598. package/mini-calendar/mini-calendar/mini-calendar.component.js +7 -7
  599. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +10 -10
  600. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.d.ts.map +1 -1
  601. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +13 -12
  602. package/navigation/common/navigation-action-common.d.ts.map +1 -1
  603. package/navigation/common/navigation-action-common.js +4 -3
  604. package/navigation/navigation/navigation.component.d.ts.map +1 -1
  605. package/navigation/navigation/navigation.component.js +10 -9
  606. package/navigation/navigation-list/navigation-list.component.d.ts.map +1 -1
  607. package/navigation/navigation-list/navigation-list.component.js +17 -16
  608. package/navigation/navigation-marker/navigation-marker.component.d.ts.map +1 -1
  609. package/navigation/navigation-marker/navigation-marker.component.js +11 -10
  610. package/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  611. package/navigation/navigation-section/navigation-section.component.js +7 -6
  612. package/notification/notification.component.d.ts +4 -2
  613. package/notification/notification.component.d.ts.map +1 -1
  614. package/notification/notification.component.js +37 -35
  615. package/off-brand-theme.css +170 -491
  616. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  617. package/option/optgroup/optgroup-base-element.js +25 -24
  618. package/option/option/option-base-element.d.ts.map +1 -1
  619. package/option/option/option-base-element.js +58 -59
  620. package/option/option/option.component.d.ts.map +1 -1
  621. package/option/option/option.component.js +23 -22
  622. package/option/option-hint/option-hint.component.d.ts.map +1 -1
  623. package/option/option-hint/option-hint.component.js +5 -4
  624. package/overlay/overlay.component.d.ts.map +1 -1
  625. package/overlay/overlay.component.js +10 -9
  626. package/package.json +6 -6
  627. package/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  628. package/paginator/compact-paginator/compact-paginator.component.js +9 -8
  629. package/paginator/paginator/paginator.component.d.ts.map +1 -1
  630. package/paginator/paginator/paginator.component.js +7 -6
  631. package/popover/popover/popover.component.d.ts +2 -0
  632. package/popover/popover/popover.component.d.ts.map +1 -1
  633. package/popover/popover/popover.component.js +76 -65
  634. package/popover.d.ts +0 -1
  635. package/popover.d.ts.map +1 -1
  636. package/popover.js +3 -5
  637. package/radio-button/common.js +1 -1
  638. package/radio-button/radio-button/radio-button.component.d.ts.map +1 -1
  639. package/radio-button/radio-button/radio-button.component.js +28 -23
  640. package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  641. package/radio-button/radio-button-group/radio-button-group.component.js +47 -46
  642. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  643. package/radio-button/radio-button-panel/radio-button-panel.component.js +19 -14
  644. package/radio-button-common-BT3VkZLM.js +5 -0
  645. package/radio-button.js +1 -1
  646. package/safety-theme.css +170 -491
  647. package/sbb-tokens-CB1Hgctn.js +12 -0
  648. package/select/select.component.d.ts.map +1 -1
  649. package/select/select.component.js +55 -54
  650. package/selection-action-panel/selection-action-panel.component.d.ts.map +1 -1
  651. package/selection-action-panel/selection-action-panel.component.js +5 -4
  652. package/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  653. package/selection-expansion-panel/selection-expansion-panel.component.js +24 -23
  654. package/sidebar/common.js +1 -1
  655. package/sidebar/icon-sidebar/icon-sidebar.component.js +4 -4
  656. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  657. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +11 -10
  658. package/sidebar/icon-sidebar-link/icon-sidebar-link.component.d.ts.map +1 -1
  659. package/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +11 -10
  660. package/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  661. package/sidebar/sidebar/sidebar.component.js +20 -19
  662. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +1 -0
  663. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  664. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +14 -11
  665. package/sidebar/sidebar-container/sidebar-container.component.d.ts.map +1 -1
  666. package/sidebar/sidebar-container/sidebar-container.component.js +16 -11
  667. package/sidebar.js +1 -1
  668. package/signet/signet.component.d.ts.map +1 -1
  669. package/signet/signet.component.js +11 -10
  670. package/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  671. package/skiplink-list/skiplink-list.component.js +36 -35
  672. package/slider/slider.component.d.ts.map +1 -1
  673. package/slider/slider.component.js +25 -24
  674. package/standard-theme.css +170 -491
  675. package/status/status.component.d.ts +2 -2
  676. package/status/status.component.d.ts.map +1 -1
  677. package/status/status.component.js +22 -24
  678. package/stepper/step/step.component.d.ts.map +1 -1
  679. package/stepper/step/step.component.js +10 -9
  680. package/stepper/step-label/step-label.component.d.ts.map +1 -1
  681. package/stepper/step-label/step-label.component.js +9 -8
  682. package/stepper/stepper/stepper.component.d.ts.map +1 -1
  683. package/stepper/stepper/stepper.component.js +11 -10
  684. package/table/table-wrapper/table-wrapper.component.js +5 -5
  685. package/tabs/tab/tab.component.js +1 -1
  686. package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  687. package/tabs/tab-group/tab-group.component.js +8 -7
  688. package/tabs/tab-label/tab-label.component.d.ts.map +1 -1
  689. package/tabs/tab-label/tab-label.component.js +13 -12
  690. package/tag/tag/tag.component.d.ts.map +1 -1
  691. package/tag/tag/tag.component.js +14 -13
  692. package/tag/tag-group/tag-group.component.d.ts.map +1 -1
  693. package/tag/tag-group/tag-group.component.js +27 -26
  694. package/teaser/teaser.component.d.ts.map +1 -1
  695. package/teaser/teaser.component.js +19 -18
  696. package/teaser-hero/teaser-hero.component.d.ts.map +1 -1
  697. package/teaser-hero/teaser-hero.component.js +12 -11
  698. package/teaser-product/common/teaser-product-common.d.ts.map +1 -1
  699. package/teaser-product/common/teaser-product-common.js +24 -25
  700. package/teaser-product/common.js +1 -1
  701. package/teaser-product/teaser-product/teaser-product.component.d.ts.map +1 -1
  702. package/teaser-product/teaser-product/teaser-product.component.js +12 -7
  703. package/teaser-product/teaser-product-static/teaser-product-static.component.d.ts.map +1 -1
  704. package/teaser-product/teaser-product-static/teaser-product-static.component.js +6 -5
  705. package/teaser-product-common-BwqWqRrK.js +5 -0
  706. package/teaser-product.js +1 -1
  707. package/time-input/time-input.component.js +5 -5
  708. package/timetable-form/timetable-form/timetable-form.component.js +6 -6
  709. package/timetable-form/timetable-form-details/timetable-form-details.component.js +4 -4
  710. package/timetable-form/timetable-form-field/timetable-form-field.component.js +7 -7
  711. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts +1 -0
  712. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.d.ts.map +1 -1
  713. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +12 -9
  714. package/timetable-occupancy/timetable-occupancy.component.d.ts.map +1 -1
  715. package/timetable-occupancy/timetable-occupancy.component.js +5 -4
  716. package/title/title-base.js +5 -5
  717. package/toast/toast.component.d.ts.map +1 -1
  718. package/toast/toast.component.js +10 -9
  719. package/toggle/toggle/toggle.component.d.ts.map +1 -1
  720. package/toggle/toggle/toggle.component.js +9 -8
  721. package/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  722. package/toggle/toggle-option/toggle-option.component.js +17 -16
  723. package/toggle-check/toggle-check.component.d.ts +2 -3
  724. package/toggle-check/toggle-check.component.d.ts.map +1 -1
  725. package/toggle-check/toggle-check.component.js +46 -53
  726. package/tooltip/tooltip.component.d.ts.map +1 -1
  727. package/tooltip/tooltip.component.js +40 -39
  728. package/train/train/train.component.d.ts.map +1 -1
  729. package/train/train/train.component.js +22 -21
  730. package/train/train-blocked-passage/train-blocked-passage.component.d.ts.map +1 -1
  731. package/train/train-blocked-passage/train-blocked-passage.component.js +9 -8
  732. package/train/train-formation/train-formation.component.d.ts.map +1 -1
  733. package/train/train-formation/train-formation.component.js +10 -9
  734. package/train/train-wagon/train-wagon.component.d.ts.map +1 -1
  735. package/train/train-wagon/train-wagon.component.js +10 -9
  736. package/visual-checkbox/visual-checkbox.component.d.ts.map +1 -1
  737. package/visual-checkbox/visual-checkbox.component.js +18 -17
  738. package/checkbox-common-C5r-MPLc.js +0 -5
  739. package/core/decorators/slot-state.d.ts +0 -17
  740. package/core/decorators/slot-state.d.ts.map +0 -1
  741. package/core/decorators/slot-state.js +0 -8
  742. package/core/styles/mixins/shadows.scss +0 -191
  743. package/development/core/decorators/slot-state.d.ts +0 -17
  744. package/development/core/decorators/slot-state.d.ts.map +0 -1
  745. package/development/core/decorators/slot-state.js +0 -11
  746. package/development/popover/popover-trigger/popover-trigger.component.d.ts +0 -20
  747. package/development/popover/popover-trigger/popover-trigger.component.d.ts.map +0 -1
  748. package/development/popover/popover-trigger/popover-trigger.component.js +0 -216
  749. package/development/popover/popover-trigger.d.ts +0 -5
  750. package/development/popover/popover-trigger.d.ts.map +0 -1
  751. package/development/popover/popover-trigger.js +0 -5
  752. package/development/sbb-tokens-CVLcOi-S.js +0 -33
  753. package/file-selector-common-BEWjyy75.js +0 -5
  754. package/icon-sidebar-button-common-D_doPv2r.js +0 -7
  755. package/link-common-CfSIg7al.js +0 -46
  756. package/link-list-base-BdOBGhxe.js +0 -5
  757. package/popover/popover-trigger/popover-trigger.component.d.ts +0 -20
  758. package/popover/popover-trigger/popover-trigger.component.d.ts.map +0 -1
  759. package/popover/popover-trigger/popover-trigger.component.js +0 -32
  760. package/popover/popover-trigger.d.ts +0 -5
  761. package/popover/popover-trigger.d.ts.map +0 -1
  762. package/popover/popover-trigger.js +0 -4
  763. package/radio-button-common-BHR2tjCF.js +0 -5
  764. package/sbb-tokens-B3Eka-Tz.js +0 -18
  765. package/teaser-product-common-Du28QCY3.js +0 -5
  766. package/transparent-button-CBNZHS9a.js +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"popover.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/popover/popover/popover.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"popover.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/popover/popover/popover.component.ts"],"names":[],"mappings":"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"}
@@ -19,14 +19,9 @@ import { composedPathHasAttribute } from "../../core/eventing.js";
19
19
  import { i18nClosePopover } from "../../core/i18n.js";
20
20
  import { SbbHydrationMixin } from "../../core/mixins.js";
21
21
  import { isEventOnElement, removeAriaOverlayTriggerAttributes, setAriaOverlayTriggerAttributes, getElementPosition } from "../../core/overlay.js";
22
+ import { boxSizingStyles } from "../../core/styles.js";
22
23
  import "../../button/secondary-button.js";
23
- const style = css`*,
24
- ::before,
25
- ::after {
26
- box-sizing: border-box;
27
- }
28
-
29
- :host {
24
+ const style = css`:host {
30
25
  --sbb-popover-position: absolute;
31
26
  --sbb-popover-position-x: 0;
32
27
  --sbb-popover-position-y: 0;
@@ -83,7 +78,7 @@ const style = css`*,
83
78
  }
84
79
 
85
80
  .sbb-popover {
86
- box-shadow: var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-color-hard-2), var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-color-hard-1);
81
+ box-shadow: var(--sbb-box-shadow-level-5-hard);
87
82
  display: none;
88
83
  position: var(--sbb-popover-position);
89
84
  pointer-events: all;
@@ -117,7 +112,7 @@ const style = css`*,
117
112
  }
118
113
  .sbb-popover::after {
119
114
  z-index: -1;
120
- box-shadow: var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-color-hard-2), var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-color-hard-1);
115
+ box-shadow: var(--sbb-box-shadow-level-5-hard);
121
116
  }
122
117
  @media (forced-colors: active) {
123
118
  .sbb-popover::after {
@@ -508,7 +503,7 @@ let SbbPopoverBaseElement = (() => {
508
503
  obj.trigger = value;
509
504
  } }, metadata: _metadata }, _trigger_initializers, _trigger_extraInitializers);
510
505
  if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
511
- })(), _a.styles = style, _a;
506
+ })(), _a.styles = [boxSizingStyles, style], _a;
512
507
  })();
513
508
  let SbbPopoverElement = (() => {
514
509
  var _hideCloseButton_accessor_storage, _hoverTrigger_accessor_storage, _accessibilityCloseLabel_accessor_storage, _a;
@@ -660,6 +655,20 @@ let SbbPopoverElement = (() => {
660
655
  super.firstUpdated(changedProperties);
661
656
  this._registerOverlayListeners();
662
657
  }
658
+ open() {
659
+ super.open();
660
+ const trigger = this.trigger;
661
+ if (this.hoverTrigger && typeof trigger?.["toggleState"] === "function") {
662
+ trigger["toggleState"]("force-hover", true);
663
+ }
664
+ }
665
+ close() {
666
+ super.close();
667
+ const trigger = this.trigger;
668
+ if (typeof trigger?.["toggleState"] === "function") {
669
+ trigger["toggleState"]("force-hover", false);
670
+ }
671
+ }
663
672
  renderContent() {
664
673
  const closeButton = html`
665
674
  <sbb-secondary-button
@@ -710,4 +719,4 @@ export {
710
719
  SbbPopoverBaseElement,
711
720
  SbbPopoverElement
712
721
  };
713
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9wb3BvdmVyL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlEZWNsYXJhdGlvbiwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIGlzU2VydmVyLCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHtcbiAgSVNfRk9DVVNBQkxFX1FVRVJZLFxuICBpc0Zha2VNb3VzZWRvd25Gcm9tU2NyZWVuUmVhZGVyLFxuICBTYmJGb2N1c1RyYXBDb250cm9sbGVyLFxuICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IsXG59IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWcuanMnO1xuaW1wb3J0IHtcbiAgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIsXG4gIFNiYkxhbmd1YWdlQ29udHJvbGxlcixcbiAgU2JiTWVkaWFRdWVyeVBvaW50ZXJDb2Fyc2UsXG59IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBpZFJlZmVyZW5jZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc1plcm9BbmltYXRpb25EdXJhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IGNvbXBvc2VkUGF0aEhhc0F0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgaTE4bkNsb3NlUG9wb3ZlciB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wZW5lZENsb3NlZFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYkh5ZHJhdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHtcbiAgZ2V0RWxlbWVudFBvc2l0aW9uLFxuICBpc0V2ZW50T25FbGVtZW50LFxuICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxuICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzLFxufSBmcm9tICcuLi8uLi9jb3JlL292ZXJsYXkuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9wb3BvdmVyLnNjc3M/bGl0JmlubGluZSc7XG5cbmltcG9ydCAnLi4vLi4vYnV0dG9uL3NlY29uZGFyeS1idXR0b24uanMnO1xuXG5jb25zdCBWRVJUSUNBTF9PRkZTRVQgPSAxNjtcbmNvbnN0IEhPUklaT05UQUxfT0ZGU0VUID0gMzI7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5jb25zdCBwb3BvdmVyc1JlZiA9IG5ldyBTZXQ8U2JiUG9wb3ZlckJhc2VFbGVtZW50PigpO1xuY29uc3QgcG9pbnRlckNvYXJzZSA9IGlzU2VydmVyID8gZmFsc2UgOiBtYXRjaE1lZGlhKFNiYk1lZGlhUXVlcnlQb2ludGVyQ29hcnNlKS5tYXRjaGVzO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2JiUG9wb3ZlckJhc2VFbGVtZW50IGV4dGVuZHMgU2JiSHlkcmF0aW9uTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBwb3BvdmVyIG92ZXJsYXkuXG4gICAqXG4gICAqIEZvciBhdHRyaWJ1dGUgdXNhZ2UsIHByb3ZpZGUgYW4gaWQgcmVmZXJlbmNlLlxuICAgKi9cbiAgQGlkUmVmZXJlbmNlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLy8gVGhlIGVsZW1lbnQgd2hpY2ggc2hvdWxkIHJlY2VpdmUgZm9jdXMgYWZ0ZXIgY2xvc2luZyBiYXNlZCBvbiB3aGVyZSBpbiB0aGUgYmFja2Ryb3AgdGhlIHVzZXIgY2xpY2tzLlxuICBwcml2YXRlIF9uZXh0Rm9jdXNlZEVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfc2tpcENsb3NlRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcG9wb3ZlckNsb3NlRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPblBvcG92ZXI/OiBib29sZWFuO1xuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudD86IEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfb3BlblN0YXRlQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2ZvY3VzVHJhcENvbnRyb2xsZXIgPSBuZXcgU2JiRm9jdXNUcmFwQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfYmx1clRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByb3RlY3RlZCBjbG9zZVRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJvdGVjdGVkIG92ZXJsYXk/OiBIVE1MRGl2RWxlbWVudDtcblxuICAvKiogT3BlbnMgdGhlIHBvcG92ZXIgb24gdHJpZ2dlciBjbGljay4gKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnICYmIHRoaXMuc3RhdGUgIT09ICdjbG9zaW5nJykgfHxcbiAgICAgICF0aGlzLm92ZXJsYXkgfHxcbiAgICAgICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDbG9zZSB0aGUgb3RoZXIgcG9wb3ZlcnNcbiAgICBmb3IgKGNvbnN0IHBvcG92ZXIgb2YgcG9wb3ZlcnNSZWYpIHtcbiAgICAgIGNvbnN0IHN0YXRlID0gcG9wb3Zlci5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnKSBhcyBTYmJPcGVuZWRDbG9zZWRTdGF0ZTtcbiAgICAgIGlmIChzdGF0ZSAmJiAoc3RhdGUgPT09ICdvcGVuZWQnIHx8IHN0YXRlID09PSAnb3BlbmluZycpKSB7XG4gICAgICAgIHBvcG92ZXIuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuaW5lcnQgPSB0cnVlO1xuICAgIHRoaXMuX3NldFBvcG92ZXJQb3NpdGlvbigpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuICAgIHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9za2lwQ2xvc2VGb2N1cyA9IGZhbHNlO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBwb3BvdmVyLiAqL1xuICBwdWJsaWMgY2xvc2UodGFyZ2V0PzogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcgJiYgdGhpcy5zdGF0ZSAhPT0gJ29wZW5pbmcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fcG9wb3ZlckNsb3NlRWxlbWVudCA9IHRhcmdldDtcbiAgICBpZiAoIXRoaXMuZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KHsgY2xvc2VUYXJnZXQ6IHRhcmdldCA/PyBudWxsIH0pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItcG9wb3Zlci1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuXG4gICAgdGhpcy5vdmVybGF5Py5maXJzdEVsZW1lbnRDaGlsZD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG5cbiAgICBpZiAoIXRoaXMuX3NraXBDbG9zZUZvY3VzKSB7XG4gICAgICBjb25zdCBlbGVtZW50VG9Gb2N1cyA9IHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCB8fCB0aGlzLl90cmlnZ2VyRWxlbWVudDtcblxuICAgICAgLy8gVG8gZW5hYmxlIGZvY3VzaW5nIG90aGVyIGVsZW1lbnQgdGhhbiB0aGUgdHJpZ2dlciwgd2UgbmVlZCB0byBjYWxsIGZvY3VzKCkgYSBzZWNvbmQgdGltZS5cbiAgICAgIGVsZW1lbnRUb0ZvY3VzPy5mb2N1cygpO1xuICAgIH1cblxuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmRpc3BhdGNoQ2xvc2VFdmVudCh7IGNsb3NlVGFyZ2V0OiB0aGlzLl9wb3BvdmVyQ2xvc2VFbGVtZW50ID8/IG51bGwgfSk7XG4gICAgdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuaW5lcnQgPSBmYWxzZTtcbiAgICB0aGlzLl9hdHRhY2hXaW5kb3dFdmVudHMoKTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5fc2V0UG9wb3ZlckZvY3VzKCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyID0gJ21hbnVhbCc7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLXBvcG92ZXItJHsrK25leHRJZH1gO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICBwb3BvdmVyc1JlZi5hZGQodGhpcyk7XG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgLy8gQ2hlY2tpbmcgZm9yIGhvdmVyVHJpZ2dlciBpcyBhIHNwZWNpYWwgY2FzZSwgYXMgb25seSB0aGUgU2JiUG9wb3ZlckVsZW1lbnRcbiAgICAvLyBzdWJjbGFzcyBoYXMgdGhpcyBwcm9wZXJ0eS5cbiAgICBpZiAoIWlzU2VydmVyICYmICghbmFtZSB8fCBuYW1lID09PSAndHJpZ2dlcicgfHwgbmFtZSA9PT0gJ2hvdmVyVHJpZ2dlcicpICYmIHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHBvcG92ZXJzUmVmLmRlbGV0ZSh0aGlzKTtcbiAgICBpZiAodGhpcy5fYmx1clRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9ibHVyVGltZW91dCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHRyaWdnZXIgaXMgdmFsaWQgYW5kIGF0dGFjaCBjbGljayBldmVudCBsaXN0ZW5lcnMuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZVRyaWdnZXIoKTogdm9pZCB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICh0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT4gdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZ3VyZVRyaWdnZXIodGhpcy5fdHJpZ2dlckVsZW1lbnQgPz8gbnVsbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uZmlndXJlVHJpZ2dlcihfb2xkVHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcjtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnZGlhbG9nJywgdGhpcy5pZCwgdGhpcy5zdGF0ZSk7XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMucmVnaXN0ZXJUcmlnZ2VyTGlzdGVuZXJzKHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWdpc3RlclRyaWdnZXJMaXN0ZW5lcnMoc2lnbmFsOiBBYm9ydFNpZ25hbCk6IHZvaWQge1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50IS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7IHNpZ25hbCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3NldFBvcG92ZXJQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIC8vIFdpdGhvdXQgY2FwdHVyZSwgb3RoZXIgc2Nyb2xsIGNvbnRleHRzIHdvdWxkIG5vdCBidWJibGUgdG8gdGhpcyBldmVudCBsaXN0ZW5lci5cbiAgICAgIC8vIENhcHR1cmUgYWxsb3dzIHVzIHRvIHJlYWN0IHRvIGFsbCBzY3JvbGwgY29udGV4dHMgaW4gdGhpcyBET00uXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB0aGlzLl9zZXRQb3BvdmVyUG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgLy8gQ2xvc2UgcG9wb3ZlciBvbiBiYWNrZHJvcCBjbGlja1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIsIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQ2xvc2UgdGhlIHBvcG92ZXIgb24gY2xpY2sgb2YgYW55IGVsZW1lbnQgdGhhdCBoYXMgdGhlICdzYmItcG9wb3Zlci1jbG9zZScgYXR0cmlidXRlLlxuICBwcml2YXRlIF9jbG9zZU9uU2JiUG9wb3ZlckNsb3NlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VFbGVtZW50ID0gY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlKGV2ZW50LCAnc2JiLXBvcG92ZXItY2xvc2UnLCB0aGlzKTtcblxuICAgIGlmIChjbG9zZUVsZW1lbnQgJiYgIWNsb3NlRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NlVGltZW91dCk7XG4gICAgICB0aGlzLmNsb3NlKGNsb3NlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIHBvcG92ZXIuXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uUG9wb3ZlciA9IGlzRXZlbnRPbkVsZW1lbnQodGhpcy5vdmVybGF5ISwgZXZlbnQpO1xuICB9O1xuXG4gIC8vIENsb3NlIHBvcG92ZXIgb24gYmFja2Ryb3AgY2xpY2suXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoIXRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uUG9wb3ZlciAmJiAhaXNFdmVudE9uRWxlbWVudCh0aGlzLm92ZXJsYXkhLCBldmVudCkpIHtcbiAgICAgIHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCA9IGV2ZW50XG4gICAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpXG4gICAgICAgIC5maW5kKChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5tYXRjaGVzKElTX0ZPQ1VTQUJMRV9RVUVSWSkpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUaW1lb3V0KTtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgLy8gU2V0IHBvcG92ZXIgcG9zaXRpb24gKHgsIHkpIHRvICcwJyBvbmNlIHRoZSBwb3BvdmVyIGlzIGNsb3NlZCBhbmQgdGhlIHRyYW5zaXRpb24gZW5kZWQgdG8gcHJldmVudCB0aGVcbiAgLy8gdmlld3BvcnQgZnJvbSBvdmVyZmxvd2luZy4gQW5kIHNldCB0aGUgZm9jdXMgdG8gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IG9uY2UgdGhlIHBvcG92ZXIgaXMgb3Blbi5cbiAgLy8gSW4gcmFyZSBjYXNlcyBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgLy8gVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICBwcml2YXRlIF9vblBvcG92ZXJBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IGZvY3VzIG9uIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudC5cbiAgcHJpdmF0ZSBfc2V0UG9wb3ZlckZvY3VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGZvY3VzZWQgPSB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmZvY3VzSW5pdGlhbEVsZW1lbnQoKTtcblxuICAgIGlmICghZm9jdXNlZCkge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcbiAgICAgIHRoaXMuZm9jdXMoKTtcblxuICAgICAgLy8gV2hlbiBhIGJsdXIgb2NjdXJzLCB3ZSBrbm93IHRoYXQgdGhlIHBvcG92ZXIgaGFzIHRvIGJlIGNsb3NlZCxcbiAgICAgIC8vIGJlY2F1c2UgdGhlcmUgYXJlIG5vIGludGVyYWN0aXZlIGVsZW1lbnRzIGluc2lkZSB0aGUgcG9wb3Zlci5cbiAgICAgIC8vIFdoZW4gYSB3aW5kb3cvdGFiIGNoYW5nZSBvY2N1cnMsIGEgYmx1ciBldmVudCBpcyBhbHNvIGZpcmVkLiBIb3dldmVyLCB3aGVuIHRoZSBjdXJyZW50IHdpbmRvdy90YWJcbiAgICAgIC8vIGJlY29tZXMgYWN0aXZlIGFnYWluLCBpdCBmb2N1c2VzIG9uY2UgYWdhaW4gdGhlIHBvcG92ZXIuXG4gICAgICAvLyBUaGVyZWZvcmUsIHdlIGNhbm5vdCBsaXN0ZW4gdG8gdGhlIGJsdXIgZXZlbnQgb25seSBvbmNlLlxuICAgICAgLy8gVG8gcHJldmVudCBhY2NpZGVudGFsbHkgY2xvc2luZyB0aGUgcG9wb3Zlciwgd2UgbmVlZCB0byBjaGVjayBmb3IgdGhlIHdpbmRvdy90YWIgc3RhdGUuXG4gICAgICAvLyBXZSBjYW4gYWNoaWV2ZSB0aGlzIGJ5IHVzaW5nIHZpc2liaWxpdHlTdGF0ZSwgd2hpY2ggb25seSB3b3JrcyB3aXRoIHNldFRpbWVvdXQoKS5cbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2JsdXInLFxuICAgICAgICAoZTogRm9jdXNFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuX2JsdXJUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlICE9PSAnaGlkZGVuJykge1xuICAgICAgICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcblxuICAgICAgICAgICAgICAvLyBJbiBTYWZhcmkgb24gaU9TIGl0IGNhbiBvY2N1ciwgdGhhdCBhIGJsdXIgZXZlbnQgdHJpZ2dlcnMgb24gdGhlIHBvcG92ZXJcbiAgICAgICAgICAgICAgLy8gYWx0aG91Z2ggdGhlIGZvY3VzIHJlbWFpbnMgaW5zaWRlIHRoZSBwb3BvdmVyLlxuICAgICAgICAgICAgICAvLyBUaGVyZWZvcmUsIHdlIG5lZWQgdG8gc3RvcCB0aGUgY2xvc2luZyBpZiB0aGUgcmVsYXRlZFRhcmdldCBpcyBjb250YWluZWQgaW4gdGhlIHBvcG92ZXIuXG4gICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCBhcyBOb2RlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmVkJyB8fCB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9za2lwQ2xvc2VGb2N1cyA9IHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0UG9wb3ZlclBvc2l0aW9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vdmVybGF5IHx8ICF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBvcG92ZXJQb3NpdGlvbiA9IGdldEVsZW1lbnRQb3NpdGlvbihcbiAgICAgIHRoaXMub3ZlcmxheSxcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LFxuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLXBvcG92ZXJfX2NvbnRhaW5lcicpISxcbiAgICAgIHtcbiAgICAgICAgdmVydGljYWxPZmZzZXQ6IFZFUlRJQ0FMX09GRlNFVCxcbiAgICAgICAgaG9yaXpvbnRhbE9mZnNldDogSE9SSVpPTlRBTF9PRkZTRVQsXG4gICAgICAgIGNlbnRlcmVkOiB0cnVlLFxuICAgICAgICByZXNwb25zaXZlSGVpZ2h0OiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXBvc2l0aW9uJywgcG9wb3ZlclBvc2l0aW9uLmFsaWdubWVudC52ZXJ0aWNhbCk7XG5cbiAgICBjb25zdCBhcnJvd1hQb3NpdGlvbiA9XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC1cbiAgICAgIHBvcG92ZXJQb3NpdGlvbi5sZWZ0ICtcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmNsaWVudFdpZHRoIC8gMiAtXG4gICAgICA4OyAvLyBoYWxmIHRoZSBzaXplIG9mIHRoZSBwb3BvdmVyIGFycm93XG5cbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1wb3BvdmVyLXBvc2l0aW9uLXgnLCBgJHtwb3BvdmVyUG9zaXRpb24ubGVmdH1weGApO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXBvcG92ZXItcG9zaXRpb24teScsIGAke3BvcG92ZXJQb3NpdGlvbi50b3B9cHhgKTtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1wb3BvdmVyLWFycm93LXBvc2l0aW9uLXgnLCBgJHthcnJvd1hQb3NpdGlvbn1weGApO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXBvcG92ZXItbWF4LWhlaWdodCcsIHBvcG92ZXJQb3NpdGlvbi5tYXhIZWlnaHQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlbmRlckNvbnRlbnQoKTogVGVtcGxhdGVSZXN1bHQ7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudChkZXRhaWw/OiB7XG4gICAgY2xvc2VUYXJnZXQ6IEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgfSk6IGJvb2xlYW4ge1xuICAgIC8qKlxuICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDx7IGNsb3NlVGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGwgfT59XG4gICAgICogRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICAgICAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+KCdiZWZvcmVjbG9zZScsIHtcbiAgICAgICAgZGV0YWlsLFxuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaXNwYXRjaENsb3NlRXZlbnQoZGV0YWlsPzogeyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0pOiBib29sZWFuIHtcbiAgICAvKipcbiAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+fVxuICAgICAqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkLlxuICAgICAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+KCdjbG9zZScsIHsgZGV0YWlsIH0pLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItcG9wb3Zlcl9fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25Qb3BvdmVyQW5pbWF0aW9uRW5kfVxuICAgICAgICAgIGNsYXNzPVwic2JiLXBvcG92ZXJcIlxuICAgICAgICAgIHJvbGU9XCJ0b29sdGlwXCJcbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5vdmVybGF5ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBjbGljaz0keyhldmVudDogRXZlbnQpID0+IHRoaXMuX2Nsb3NlT25TYmJQb3BvdmVyQ2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1wb3BvdmVyX19jb250ZW50XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICAke3RoaXMucmVuZGVyQ29udGVudCgpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBjb250ZXh0dWFsIGluZm9ybWF0aW9uIHdpdGhpbiBhIHBvcG92ZXIuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCBpbnRvIHRoZSBwb3BvdmVyLlxuICogQGNzc3Byb3AgWy0tc2JiLXBvcG92ZXItei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItcG9wb3ZlcicpXG5jbGFzcyBTYmJQb3BvdmVyRWxlbWVudCBleHRlbmRzIFNiYlBvcG92ZXJCYXNlRWxlbWVudCB7XG4gIC8qKiBXaGV0aGVyIHRoZSBjbG9zZSBidXR0b24gc2hvdWxkIGJlIGhpZGRlbi4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hpZGUtY2xvc2UtYnV0dG9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaGlkZUNsb3NlQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIHRyaWdnZXJlZCBvbiBob3Zlci4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hvdmVyLXRyaWdnZXInLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBob3ZlclRyaWdnZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogT3BlbiB0aGUgcG9wb3ZlciBhZnRlciBhIGdpdmVuIGRlbGF5IGluIG1pbGxpc2Vjb25kcy5cbiAgICogR2xvYmFsIGNvbmZpZ3VyYXRpb24gaXMgdXNlZCBhcyBkZWZhdWx0LCBpZiBub3Qgc2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdvcGVuLWRlbGF5JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBzZXQgb3BlbkRlbGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9vcGVuRGVsYXkgPSArdmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBvcGVuRGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fb3BlbkRlbGF5ID8/IHJlYWRDb25maWcoKS5wb3BvdmVyPy5vcGVuRGVsYXkgPz8gMDtcbiAgfVxuICBwcml2YXRlIF9vcGVuRGVsYXk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENsb3NlIHRoZSBwb3BvdmVyIGFmdGVyIGEgZ2l2ZW4gZGVsYXkgaW4gbWlsbGlzZWNvbmRzLlxuICAgKiBHbG9iYWwgY29uZmlndXJhdGlvbiBpcyB1c2VkIGFzIGRlZmF1bHQsIGlmIG5vdCBzZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDBcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Nsb3NlLWRlbGF5JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBzZXQgY2xvc2VEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fY2xvc2VEZWxheSA9ICt2YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IGNsb3NlRGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VEZWxheSA/PyByZWFkQ29uZmlnKCkucG9wb3Zlcj8uY2xvc2VEZWxheSA/PyAwO1xuICB9XG4gIHByaXZhdGUgX2Nsb3NlRGVsYXk/OiBudW1iZXI7XG5cbiAgLyoqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgY2xvc2UgYnV0dG9uIGVsZW1lbnQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWNsb3NlLWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUNsb3NlTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgX2hvdmVyVHJpZ2dlciA9IGZhbHNlO1xuICBwcml2YXRlIF9vcGVuVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX292ZXJsYXlBYm9ydENvbnRyb2xsZXI6IEFib3J0Q29udHJvbGxlciB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjb25maWd1cmVUcmlnZ2VyKG9sZFRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCk6IHZvaWQge1xuICAgIC8vIENoZWNrIHdoZXRoZXIgdGhlIHRyaWdnZXIgY2FuIGJlIGhvdmVyZWQuIFNvbWUgZGV2aWNlcyBtaWdodCBpbnRlcnByZXQgdGhlIG1lZGlhIHF1ZXJ5IChob3ZlcjogaG92ZXIpIGRpZmZlcmVudGx5LFxuICAgIC8vIGFuZCBub3QgcmVzcGVjdCB0aGUgZmFsbGJhY2sgbWVjaGFuaXNtIG9uIHRoZSBjbGljay4gVGhlcmVmb3JlLCB0aGUgZm9sbG93aW5nIGlzIHByZWZlcnJlZCB0byBpZGVudGlmeVxuICAgIC8vIGFsbCBub24tdG91Y2hzY3JlZW4gZGV2aWNlcy5cbiAgICBjb25zdCBob3ZlclRyaWdnZXIgPSB0aGlzLmhvdmVyVHJpZ2dlciAmJiAhcG9pbnRlckNvYXJzZTtcblxuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09IG9sZFRyaWdnZXIgJiYgaG92ZXJUcmlnZ2VyID09PSB0aGlzLl9ob3ZlclRyaWdnZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5faG92ZXJUcmlnZ2VyICE9PSBob3ZlclRyaWdnZXIpIHtcbiAgICAgIHRoaXMuX2hvdmVyVHJpZ2dlciA9IGhvdmVyVHJpZ2dlcjtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyT3ZlcmxheUxpc3RlbmVycygpO1xuICAgIH1cblxuICAgIHN1cGVyLmNvbmZpZ3VyZVRyaWdnZXIob2xkVHJpZ2dlcik7XG4gIH1cblxuICBwcml2YXRlIF9yZWdpc3Rlck92ZXJsYXlMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy5fb3ZlcmxheUFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcblxuICAgIGlmICh0aGlzLl9ob3ZlclRyaWdnZXIpIHtcbiAgICAgIHRoaXMuX292ZXJsYXlBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICB0aGlzLm92ZXJsYXk/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKSA9PiB0aGlzLl9vbk92ZXJsYXlNb3VzZUVudGVyKCksIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9vdmVybGF5QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5vdmVybGF5Py5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4gdGhpcy5fb25PdmVybGF5TW91c2VMZWF2ZSgpLCB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5fb3ZlcmxheUFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVnaXN0ZXJUcmlnZ2VyTGlzdGVuZXJzKHNpZ25hbDogQWJvcnRTaWduYWwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faG92ZXJUcmlnZ2VyICYmIHRoaXMudHJpZ2dlcikge1xuICAgICAgdGhpcy50cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCB0aGlzLl9vblRyaWdnZXJNb3VzZUVudGVyLCB7IHNpZ25hbCB9KTtcbiAgICAgIHRoaXMudHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgdGhpcy5fb25UcmlnZ2VyTW91c2VMZWF2ZSwgeyBzaWduYWwgfSk7XG4gICAgICB0aGlzLnRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2tleWRvd24nLFxuICAgICAgICAoZXZ0OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2dC5jb2RlID09PSAnU3BhY2UnIHx8IGV2dC5jb2RlID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgc2lnbmFsIH0sXG4gICAgICApO1xuICAgICAgdGhpcy50cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdtb3VzZWRvd24nLFxuICAgICAgICAoZXZ0OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgLy8gV2l0aG91dCB0aGlzIGNoZWNrLCBOVkRBIGNhbid0IG9wZW4gdGhlIHBvcG92ZXIgb24ga2V5Ym9hcmQgaW50ZXJhY3Rpb24uXG4gICAgICAgICAgaWYgKGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIoZXZ0KSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7IHNpZ25hbCB9LFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VwZXIucmVnaXN0ZXJUcmlnZ2VyTGlzdGVuZXJzKHNpZ25hbCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fcmVnaXN0ZXJPdmVybGF5TGlzdGVuZXJzKCk7XG4gIH1cblxuICBwcml2YXRlIF9vblRyaWdnZXJNb3VzZUVudGVyID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnY2xvc2VkJyB8fCB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX29wZW5UaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIC8vIElmIHRoZSB0cmlnZ2VyIGlzIGZvY3VzZWQgYnkga2V5Ym9hcmQgYW5kIGhvdmVyZWQgd2l0aCB0aGUgbW91c2UsIHRoZSBvdXRsaW5lIHdvdWxkIGJlIHZpc2libGUuXG4gICAgICAgIC8vIFNvIHdlIHJlc2V0IHRoZSBpbnB1dCBtb2RhbGl0eSB0byBoaWRlIHRoZSBvdXRsaW5lLlxuICAgICAgICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IucmVzZXQoKTtcbiAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICB9LCB0aGlzLm9wZW5EZWxheSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NlVGltZW91dCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX29uVHJpZ2dlck1vdXNlTGVhdmUgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5jbG9zZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2xvc2UoKSwgdGhpcy5jbG9zZURlbGF5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX29wZW5UaW1lb3V0KTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfb25PdmVybGF5TW91c2VFbnRlciA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5pbmcnKSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5jbG9zZVRpbWVvdXQpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9vbk92ZXJsYXlNb3VzZUxlYXZlID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlICE9PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuY2xvc2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMuY2xvc2VEZWxheSk7XG4gICAgfVxuICB9O1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJDb250ZW50KCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IGh0bWxgXG4gICAgICA8c2JiLXNlY29uZGFyeS1idXR0b25cbiAgICAgICAgYXJpYS1sYWJlbD0ke3RoaXMuYWNjZXNzaWJpbGl0eUNsb3NlTGFiZWwgfHwgaTE4bkNsb3NlUG9wb3Zlclt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgaWNvbi1uYW1lPVwiY3Jvc3Mtc21hbGxcIlxuICAgICAgICBzYmItcG9wb3Zlci1jbG9zZVxuICAgICAgPjwvc2JiLXNlY29uZGFyeS1idXR0b24+XG4gICAgYDtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgJHshdGhpcy5oaWRlQ2xvc2VCdXR0b24gJiYgIXRoaXMuX2hvdmVyVHJpZ2dlciA/IGNsb3NlQnV0dG9uIDogbm90aGluZ31cbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXBvcG92ZXJfX3Njcm9sbGFibGUtY29udGVudFwiPlxuICAgICAgICA8c2xvdD5ObyBjb250ZW50PC9zbG90PlxuICAgICAgPC9zcGFuPlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1wb3BvdmVyJzogU2JiUG9wb3ZlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFtQ0EsTUFBTSxrQkFBa0I7QUFDeEIsTUFBTSxvQkFBb0I7QUFFMUIsSUFBSSxTQUFTO0FBRWIsTUFBTSxrQ0FBa0IsSUFBQTtBQUN4QixNQUFNLGdCQUFnQixXQUFXLFFBQVEsV0FBVywwQkFBMEIsRUFBRTtJQUUxRCx5QkFBcUIsTUFBQTs7b0JBQVMsa0JBQWtCLHVCQUF1Qjs7OztBQUF2RSxTQUFBLG1CQUE4QixZQUEwQztBQUFBOztBQVU1RjtB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
722
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9wb3BvdmVyL3BvcG92ZXIvcG9wb3Zlci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlEZWNsYXJhdGlvbiwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIGlzU2VydmVyLCBub3RoaW5nIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHtcbiAgSVNfRk9DVVNBQkxFX1FVRVJZLFxuICBpc0Zha2VNb3VzZWRvd25Gcm9tU2NyZWVuUmVhZGVyLFxuICBTYmJGb2N1c1RyYXBDb250cm9sbGVyLFxuICBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IsXG59IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyByZWFkQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWcuanMnO1xuaW1wb3J0IHtcbiAgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIsXG4gIFNiYkxhbmd1YWdlQ29udHJvbGxlcixcbiAgU2JiTWVkaWFRdWVyeVBvaW50ZXJDb2Fyc2UsXG59IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBpZFJlZmVyZW5jZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc1plcm9BbmltYXRpb25EdXJhdGlvbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IGNvbXBvc2VkUGF0aEhhc0F0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHsgaTE4bkNsb3NlUG9wb3ZlciB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wZW5lZENsb3NlZFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IHR5cGUgU2JiRWxlbWVudEludGVybmFsc01peGluVHlwZSwgU2JiSHlkcmF0aW9uTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQge1xuICBnZXRFbGVtZW50UG9zaXRpb24sXG4gIGlzRXZlbnRPbkVsZW1lbnQsXG4gIHJlbW92ZUFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG4gIHNldEFyaWFPdmVybGF5VHJpZ2dlckF0dHJpYnV0ZXMsXG59IGZyb20gJy4uLy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3BvcG92ZXIuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9idXR0b24vc2Vjb25kYXJ5LWJ1dHRvbi5qcyc7XG5cbmNvbnN0IFZFUlRJQ0FMX09GRlNFVCA9IDE2O1xuY29uc3QgSE9SSVpPTlRBTF9PRkZTRVQgPSAzMjtcblxubGV0IG5leHRJZCA9IDA7XG5cbmNvbnN0IHBvcG92ZXJzUmVmID0gbmV3IFNldDxTYmJQb3BvdmVyQmFzZUVsZW1lbnQ+KCk7XG5jb25zdCBwb2ludGVyQ29hcnNlID0gaXNTZXJ2ZXIgPyBmYWxzZSA6IG1hdGNoTWVkaWEoU2JiTWVkaWFRdWVyeVBvaW50ZXJDb2Fyc2UpLm1hdGNoZXM7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYmJQb3BvdmVyQmFzZUVsZW1lbnQgZXh0ZW5kcyBTYmJIeWRyYXRpb25NaXhpbihTYmJPcGVuQ2xvc2VCYXNlRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYm94U2l6aW5nU3R5bGVzLCBzdHlsZV07XG5cbiAgLyoqXG4gICAqIFRoZSBlbGVtZW50IHRoYXQgd2lsbCB0cmlnZ2VyIHRoZSBwb3BvdmVyIG92ZXJsYXkuXG4gICAqXG4gICAqIEZvciBhdHRyaWJ1dGUgdXNhZ2UsIHByb3ZpZGUgYW4gaWQgcmVmZXJlbmNlLlxuICAgKi9cbiAgQGlkUmVmZXJlbmNlKClcbiAgQHByb3BlcnR5KClcbiAgcHVibGljIGFjY2Vzc29yIHRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgLy8gVGhlIGVsZW1lbnQgd2hpY2ggc2hvdWxkIHJlY2VpdmUgZm9jdXMgYWZ0ZXIgY2xvc2luZyBiYXNlZCBvbiB3aGVyZSBpbiB0aGUgYmFja2Ryb3AgdGhlIHVzZXIgY2xpY2tzLlxuICBwcml2YXRlIF9uZXh0Rm9jdXNlZEVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfc2tpcENsb3NlRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBfcG9wb3ZlckNsb3NlRWxlbWVudD86IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9pc1BvaW50ZXJEb3duRXZlbnRPblBvcG92ZXI/OiBib29sZWFuO1xuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudD86IEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckFib3J0Q29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfb3BlblN0YXRlQ29udHJvbGxlciE6IEFib3J0Q29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX2ZvY3VzVHJhcENvbnRyb2xsZXIgPSBuZXcgU2JiRm9jdXNUcmFwQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfYmx1clRpbWVvdXQ6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XG4gIHByb3RlY3RlZCBjbG9zZVRpbWVvdXQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PjtcbiAgcHJvdGVjdGVkIG92ZXJsYXk/OiBIVE1MRGl2RWxlbWVudDtcblxuICAvKiogT3BlbnMgdGhlIHBvcG92ZXIgb24gdHJpZ2dlciBjbGljay4gKi9cbiAgcHVibGljIG9wZW4oKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnICYmIHRoaXMuc3RhdGUgIT09ICdjbG9zaW5nJykgfHxcbiAgICAgICF0aGlzLm92ZXJsYXkgfHxcbiAgICAgICF0aGlzLmRpc3BhdGNoQmVmb3JlT3BlbkV2ZW50KClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDbG9zZSB0aGUgb3RoZXIgcG9wb3ZlcnNcbiAgICBmb3IgKGNvbnN0IHBvcG92ZXIgb2YgcG9wb3ZlcnNSZWYpIHtcbiAgICAgIGNvbnN0IHN0YXRlID0gcG9wb3Zlci5nZXRBdHRyaWJ1dGUoJ2RhdGEtc3RhdGUnKSBhcyBTYmJPcGVuZWRDbG9zZWRTdGF0ZTtcbiAgICAgIGlmIChzdGF0ZSAmJiAoc3RhdGUgPT09ICdvcGVuZWQnIHx8IHN0YXRlID09PSAnb3BlbmluZycpKSB7XG4gICAgICAgIHBvcG92ZXIuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNob3dQb3BvdmVyPy4oKTtcbiAgICB0aGlzLnN0YXRlID0gJ29wZW5pbmcnO1xuICAgIHRoaXMuaW5lcnQgPSB0cnVlO1xuICAgIHRoaXMuX3NldFBvcG92ZXJQb3NpdGlvbigpO1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpO1xuICAgIHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9za2lwQ2xvc2VGb2N1cyA9IGZhbHNlO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBwb3BvdmVyLiAqL1xuICBwdWJsaWMgY2xvc2UodGFyZ2V0PzogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcgJiYgdGhpcy5zdGF0ZSAhPT0gJ29wZW5pbmcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fcG9wb3ZlckNsb3NlRWxlbWVudCA9IHRhcmdldDtcbiAgICBpZiAoIXRoaXMuZGlzcGF0Y2hCZWZvcmVDbG9zZUV2ZW50KHsgY2xvc2VUYXJnZXQ6IHRhcmdldCA/PyBudWxsIH0pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zaW5nJztcbiAgICB0aGlzLmluZXJ0ID0gdHJ1ZTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWV4cGFuZGVkJywgJ2ZhbHNlJyk7XG5cbiAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAvLyBJbiB0aGlzIGNhc2Ugd2UgZGlyZWN0bHkgc2V0IHRoZSBgY2xvc2VkYCBzdGF0ZS5cbiAgICBpZiAodGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlQ2xvc2luZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItcG9wb3Zlci1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMuaGlkZVBvcG92ZXI/LigpO1xuXG4gICAgdGhpcy5vdmVybGF5Py5maXJzdEVsZW1lbnRDaGlsZD8uc2Nyb2xsVG8oMCwgMCk7XG4gICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG5cbiAgICBpZiAoIXRoaXMuX3NraXBDbG9zZUZvY3VzKSB7XG4gICAgICBjb25zdCBlbGVtZW50VG9Gb2N1cyA9IHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCB8fCB0aGlzLl90cmlnZ2VyRWxlbWVudDtcblxuICAgICAgLy8gVG8gZW5hYmxlIGZvY3VzaW5nIG90aGVyIGVsZW1lbnQgdGhhbiB0aGUgdHJpZ2dlciwgd2UgbmVlZCB0byBjYWxsIGZvY3VzKCkgYSBzZWNvbmQgdGltZS5cbiAgICAgIGVsZW1lbnRUb0ZvY3VzPy5mb2N1cygpO1xuICAgIH1cblxuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmRpc3BhdGNoQ2xvc2VFdmVudCh7IGNsb3NlVGFyZ2V0OiB0aGlzLl9wb3BvdmVyQ2xvc2VFbGVtZW50ID8/IG51bGwgfSk7XG4gICAgdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuaW5lcnQgPSBmYWxzZTtcbiAgICB0aGlzLl9hdHRhY2hXaW5kb3dFdmVudHMoKTtcbiAgICB0aGlzLl9lc2NhcGFibGVPdmVybGF5Q29udHJvbGxlci5jb25uZWN0KCk7XG4gICAgdGhpcy5fc2V0UG9wb3ZlckZvY3VzKCk7XG4gICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5lbmFibGVkID0gdHJ1ZTtcbiAgICB0aGlzLmRpc3BhdGNoT3BlbkV2ZW50KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyID0gJ21hbnVhbCc7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmlkIHx8PSBgc2JiLXBvcG92ZXItJHsrK25leHRJZH1gO1xuICAgIHRoaXMuc3RhdGUgPSAnY2xvc2VkJztcbiAgICBwb3BvdmVyc1JlZi5hZGQodGhpcyk7XG4gICAgaWYgKHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXF1ZXN0VXBkYXRlKFxuICAgIG5hbWU/OiBQcm9wZXJ0eUtleSxcbiAgICBvbGRWYWx1ZT86IHVua25vd24sXG4gICAgb3B0aW9ucz86IFByb3BlcnR5RGVjbGFyYXRpb24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMpO1xuXG4gICAgLy8gQ2hlY2tpbmcgZm9yIGhvdmVyVHJpZ2dlciBpcyBhIHNwZWNpYWwgY2FzZSwgYXMgb25seSB0aGUgU2JiUG9wb3ZlckVsZW1lbnRcbiAgICAvLyBzdWJjbGFzcyBoYXMgdGhpcyBwcm9wZXJ0eS5cbiAgICBpZiAoIWlzU2VydmVyICYmICghbmFtZSB8fCBuYW1lID09PSAndHJpZ2dlcicgfHwgbmFtZSA9PT0gJ2hvdmVyVHJpZ2dlcicpICYmIHRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICB0aGlzLl9jb25maWd1cmVUcmlnZ2VyKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IG51bGw7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgIHBvcG92ZXJzUmVmLmRlbGV0ZSh0aGlzKTtcbiAgICBpZiAodGhpcy5fYmx1clRpbWVvdXQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9ibHVyVGltZW91dCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHRyaWdnZXIgaXMgdmFsaWQgYW5kIGF0dGFjaCBjbGljayBldmVudCBsaXN0ZW5lcnMuXG4gIHByaXZhdGUgX2NvbmZpZ3VyZVRyaWdnZXIoKTogdm9pZCB7XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmICh0aGlzLmh5ZHJhdGlvblJlcXVpcmVkKSB7XG4gICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT4gdGhpcy5fY29uZmlndXJlVHJpZ2dlcigpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZ3VyZVRyaWdnZXIodGhpcy5fdHJpZ2dlckVsZW1lbnQgPz8gbnVsbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uZmlndXJlVHJpZ2dlcihfb2xkVHJpZ2dlcjogSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5fdHJpZ2dlckFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICByZW1vdmVBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50KTtcbiAgICB0aGlzLl90cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcjtcblxuICAgIGlmICghdGhpcy5fdHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzZXRBcmlhT3ZlcmxheVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMuX3RyaWdnZXJFbGVtZW50LCAnZGlhbG9nJywgdGhpcy5pZCwgdGhpcy5zdGF0ZSk7XG5cbiAgICB0aGlzLl90cmlnZ2VyQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMucmVnaXN0ZXJUcmlnZ2VyTGlzdGVuZXJzKHRoaXMuX3RyaWdnZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWdpc3RlclRyaWdnZXJMaXN0ZW5lcnMoc2lnbmFsOiBBYm9ydFNpZ25hbCk6IHZvaWQge1xuICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50IS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHRoaXMub3BlbigpLCB7IHNpZ25hbCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaFdpbmRvd0V2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3NldFBvcG92ZXJQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIC8vIFdpdGhvdXQgY2FwdHVyZSwgb3RoZXIgc2Nyb2xsIGNvbnRleHRzIHdvdWxkIG5vdCBidWJibGUgdG8gdGhpcyBldmVudCBsaXN0ZW5lci5cbiAgICAgIC8vIENhcHR1cmUgYWxsb3dzIHVzIHRvIHJlYWN0IHRvIGFsbCBzY3JvbGwgY29udGV4dHMgaW4gdGhpcyBET00uXG4gICAgICBjYXB0dXJlOiB0cnVlLFxuICAgIH0pO1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCAoKSA9PiB0aGlzLl9zZXRQb3BvdmVyUG9zaXRpb24oKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgLy8gQ2xvc2UgcG9wb3ZlciBvbiBiYWNrZHJvcCBjbGlja1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHRoaXMuX3BvaW50ZXJEb3duTGlzdGVuZXIsIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblN0YXRlQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIHRoaXMuX2Nsb3NlT25CYWNrZHJvcENsaWNrLCB7XG4gICAgICBzaWduYWw6IHRoaXMuX29wZW5TdGF0ZUNvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICB9XG5cbiAgLy8gQ2xvc2UgdGhlIHBvcG92ZXIgb24gY2xpY2sgb2YgYW55IGVsZW1lbnQgdGhhdCBoYXMgdGhlICdzYmItcG9wb3Zlci1jbG9zZScgYXR0cmlidXRlLlxuICBwcml2YXRlIF9jbG9zZU9uU2JiUG9wb3ZlckNsb3NlQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgY2xvc2VFbGVtZW50ID0gY29tcG9zZWRQYXRoSGFzQXR0cmlidXRlKGV2ZW50LCAnc2JiLXBvcG92ZXItY2xvc2UnLCB0aGlzKTtcblxuICAgIGlmIChjbG9zZUVsZW1lbnQgJiYgIWNsb3NlRWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLmNsb3NlVGltZW91dCk7XG4gICAgICB0aGlzLmNsb3NlKGNsb3NlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHBvaW50ZXJkb3duIGV2ZW50IHRhcmdldCBpcyB0cmlnZ2VyZWQgb24gdGhlIHBvcG92ZXIuXG4gIHByaXZhdGUgX3BvaW50ZXJEb3duTGlzdGVuZXIgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uUG9wb3ZlciA9IGlzRXZlbnRPbkVsZW1lbnQodGhpcy5vdmVybGF5ISwgZXZlbnQpO1xuICB9O1xuXG4gIC8vIENsb3NlIHBvcG92ZXIgb24gYmFja2Ryb3AgY2xpY2suXG4gIHByaXZhdGUgX2Nsb3NlT25CYWNrZHJvcENsaWNrID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkID0+IHtcbiAgICBpZiAoIXRoaXMuX2lzUG9pbnRlckRvd25FdmVudE9uUG9wb3ZlciAmJiAhaXNFdmVudE9uRWxlbWVudCh0aGlzLm92ZXJsYXkhLCBldmVudCkpIHtcbiAgICAgIHRoaXMuX25leHRGb2N1c2VkRWxlbWVudCA9IGV2ZW50XG4gICAgICAgIC5jb21wb3NlZFBhdGgoKVxuICAgICAgICAuZmlsdGVyKChlbCkgPT4gZWwgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTEVsZW1lbnQpXG4gICAgICAgIC5maW5kKChlbCkgPT4gKGVsIGFzIEhUTUxFbGVtZW50KS5tYXRjaGVzKElTX0ZPQ1VTQUJMRV9RVUVSWSkpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUaW1lb3V0KTtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgLy8gU2V0IHBvcG92ZXIgcG9zaXRpb24gKHgsIHkpIHRvICcwJyBvbmNlIHRoZSBwb3BvdmVyIGlzIGNsb3NlZCBhbmQgdGhlIHRyYW5zaXRpb24gZW5kZWQgdG8gcHJldmVudCB0aGVcbiAgLy8gdmlld3BvcnQgZnJvbSBvdmVyZmxvd2luZy4gQW5kIHNldCB0aGUgZm9jdXMgdG8gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IG9uY2UgdGhlIHBvcG92ZXIgaXMgb3Blbi5cbiAgLy8gSW4gcmFyZSBjYXNlcyBpdCBjYW4gYmUgdGhhdCB0aGUgYW5pbWF0aW9uRW5kIGV2ZW50IGlzIHRyaWdnZXJlZCB0d2ljZS5cbiAgLy8gVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICBwcml2YXRlIF9vblBvcG92ZXJBbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZU9wZW5pbmcoKTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdjbG9zZScgJiYgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0IGZvY3VzIG9uIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudC5cbiAgcHJpdmF0ZSBfc2V0UG9wb3ZlckZvY3VzKCk6IHZvaWQge1xuICAgIGNvbnN0IGZvY3VzZWQgPSB0aGlzLl9mb2N1c1RyYXBDb250cm9sbGVyLmZvY3VzSW5pdGlhbEVsZW1lbnQoKTtcblxuICAgIGlmICghZm9jdXNlZCkge1xuICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcbiAgICAgIHRoaXMuZm9jdXMoKTtcblxuICAgICAgLy8gV2hlbiBhIGJsdXIgb2NjdXJzLCB3ZSBrbm93IHRoYXQgdGhlIHBvcG92ZXIgaGFzIHRvIGJlIGNsb3NlZCxcbiAgICAgIC8vIGJlY2F1c2UgdGhlcmUgYXJlIG5vIGludGVyYWN0aXZlIGVsZW1lbnRzIGluc2lkZSB0aGUgcG9wb3Zlci5cbiAgICAgIC8vIFdoZW4gYSB3aW5kb3cvdGFiIGNoYW5nZSBvY2N1cnMsIGEgYmx1ciBldmVudCBpcyBhbHNvIGZpcmVkLiBIb3dldmVyLCB3aGVuIHRoZSBjdXJyZW50IHdpbmRvdy90YWJcbiAgICAgIC8vIGJlY29tZXMgYWN0aXZlIGFnYWluLCBpdCBmb2N1c2VzIG9uY2UgYWdhaW4gdGhlIHBvcG92ZXIuXG4gICAgICAvLyBUaGVyZWZvcmUsIHdlIGNhbm5vdCBsaXN0ZW4gdG8gdGhlIGJsdXIgZXZlbnQgb25seSBvbmNlLlxuICAgICAgLy8gVG8gcHJldmVudCBhY2NpZGVudGFsbHkgY2xvc2luZyB0aGUgcG9wb3Zlciwgd2UgbmVlZCB0byBjaGVjayBmb3IgdGhlIHdpbmRvdy90YWIgc3RhdGUuXG4gICAgICAvLyBXZSBjYW4gYWNoaWV2ZSB0aGlzIGJ5IHVzaW5nIHZpc2liaWxpdHlTdGF0ZSwgd2hpY2ggb25seSB3b3JrcyB3aXRoIHNldFRpbWVvdXQoKS5cbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2JsdXInLFxuICAgICAgICAoZTogRm9jdXNFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuX2JsdXJUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlICE9PSAnaGlkZGVuJykge1xuICAgICAgICAgICAgICB0aGlzLnJlbW92ZUF0dHJpYnV0ZSgndGFiaW5kZXgnKTtcblxuICAgICAgICAgICAgICAvLyBJbiBTYWZhcmkgb24gaU9TIGl0IGNhbiBvY2N1ciwgdGhhdCBhIGJsdXIgZXZlbnQgdHJpZ2dlcnMgb24gdGhlIHBvcG92ZXJcbiAgICAgICAgICAgICAgLy8gYWx0aG91Z2ggdGhlIGZvY3VzIHJlbWFpbnMgaW5zaWRlIHRoZSBwb3BvdmVyLlxuICAgICAgICAgICAgICAvLyBUaGVyZWZvcmUsIHdlIG5lZWQgdG8gc3RvcCB0aGUgY2xvc2luZyBpZiB0aGUgcmVsYXRlZFRhcmdldCBpcyBjb250YWluZWQgaW4gdGhlIHBvcG92ZXIuXG4gICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCBhcyBOb2RlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmVkJyB8fCB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9za2lwQ2xvc2VGb2N1cyA9IHRydWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuU3RhdGVDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0UG9wb3ZlclBvc2l0aW9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vdmVybGF5IHx8ICF0aGlzLl90cmlnZ2VyRWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBvcG92ZXJQb3NpdGlvbiA9IGdldEVsZW1lbnRQb3NpdGlvbihcbiAgICAgIHRoaXMub3ZlcmxheSxcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LFxuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcuc2JiLXBvcG92ZXJfX2NvbnRhaW5lcicpISxcbiAgICAgIHtcbiAgICAgICAgdmVydGljYWxPZmZzZXQ6IFZFUlRJQ0FMX09GRlNFVCxcbiAgICAgICAgaG9yaXpvbnRhbE9mZnNldDogSE9SSVpPTlRBTF9PRkZTRVQsXG4gICAgICAgIGNlbnRlcmVkOiB0cnVlLFxuICAgICAgICByZXNwb25zaXZlSGVpZ2h0OiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuICAgIHRoaXMuc2V0QXR0cmlidXRlKCdkYXRhLXBvc2l0aW9uJywgcG9wb3ZlclBvc2l0aW9uLmFsaWdubWVudC52ZXJ0aWNhbCk7XG5cbiAgICBjb25zdCBhcnJvd1hQb3NpdGlvbiA9XG4gICAgICB0aGlzLl90cmlnZ2VyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0IC1cbiAgICAgIHBvcG92ZXJQb3NpdGlvbi5sZWZ0ICtcbiAgICAgIHRoaXMuX3RyaWdnZXJFbGVtZW50LmNsaWVudFdpZHRoIC8gMiAtXG4gICAgICA4OyAvLyBoYWxmIHRoZSBzaXplIG9mIHRoZSBwb3BvdmVyIGFycm93XG5cbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1wb3BvdmVyLXBvc2l0aW9uLXgnLCBgJHtwb3BvdmVyUG9zaXRpb24ubGVmdH1weGApO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXBvcG92ZXItcG9zaXRpb24teScsIGAke3BvcG92ZXJQb3NpdGlvbi50b3B9cHhgKTtcbiAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1wb3BvdmVyLWFycm93LXBvc2l0aW9uLXgnLCBgJHthcnJvd1hQb3NpdGlvbn1weGApO1xuICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLXBvcG92ZXItbWF4LWhlaWdodCcsIHBvcG92ZXJQb3NpdGlvbi5tYXhIZWlnaHQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHJlbmRlckNvbnRlbnQoKTogVGVtcGxhdGVSZXN1bHQ7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudChkZXRhaWw/OiB7XG4gICAgY2xvc2VUYXJnZXQ6IEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgfSk6IGJvb2xlYW4ge1xuICAgIC8qKlxuICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDx7IGNsb3NlVGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGwgfT59XG4gICAgICogRW1pdHMgd2hlbmV2ZXIgdGhlIGNvbXBvbmVudCBiZWdpbnMgdGhlIGNsb3NpbmcgdHJhbnNpdGlvbi4gQ2FuIGJlIGNhbmNlbGVkLlxuICAgICAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+KCdiZWZvcmVjbG9zZScsIHtcbiAgICAgICAgZGV0YWlsLFxuICAgICAgICBjYW5jZWxhYmxlOiB0cnVlLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBkaXNwYXRjaENsb3NlRXZlbnQoZGV0YWlsPzogeyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0pOiBib29sZWFuIHtcbiAgICAvKipcbiAgICAgKiBAdHlwZSB7Q3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+fVxuICAgICAqIEVtaXRzIHdoZW5ldmVyIHRoZSBjb21wb25lbnQgaXMgY2xvc2VkLlxuICAgICAqL1xuICAgIHJldHVybiB0aGlzLmRpc3BhdGNoRXZlbnQoXG4gICAgICBuZXcgQ3VzdG9tRXZlbnQ8eyBjbG9zZVRhcmdldDogSFRNTEVsZW1lbnQgfCBudWxsIH0+KCdjbG9zZScsIHsgZGV0YWlsIH0pLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItcG9wb3Zlcl9fY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25Qb3BvdmVyQW5pbWF0aW9uRW5kfVxuICAgICAgICAgIGNsYXNzPVwic2JiLXBvcG92ZXJcIlxuICAgICAgICAgIHJvbGU9XCJ0b29sdGlwXCJcbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KSA9PiAodGhpcy5vdmVybGF5ID0gZWwgYXMgSFRNTERpdkVsZW1lbnQpKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIEBjbGljaz0keyhldmVudDogRXZlbnQpID0+IHRoaXMuX2Nsb3NlT25TYmJQb3BvdmVyQ2xvc2VDbGljayhldmVudCl9XG4gICAgICAgICAgICBjbGFzcz1cInNiYi1wb3BvdmVyX19jb250ZW50XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICAke3RoaXMucmVuZGVyQ29udGVudCgpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBjb250ZXh0dWFsIGluZm9ybWF0aW9uIHdpdGhpbiBhIHBvcG92ZXIuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCBpbnRvIHRoZSBwb3BvdmVyLlxuICogQGNzc3Byb3AgWy0tc2JiLXBvcG92ZXItei1pbmRleD12YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpXSAtIFRvIHNwZWNpZnkgYSBjdXN0b20gc3RhY2sgb3JkZXIsXG4gKiB0aGUgYHotaW5kZXhgIGNhbiBiZSBvdmVycmlkZGVuIGJ5IGRlZmluaW5nIHRoaXMgQ1NTIHZhcmlhYmxlLiBUaGUgZGVmYXVsdCBgei1pbmRleGAgb2YgdGhlXG4gKiBjb21wb25lbnQgaXMgc2V0IHRvIGB2YXIoLS1zYmItb3ZlcmxheS1kZWZhdWx0LXotaW5kZXgpYCB3aXRoIGEgdmFsdWUgb2YgYDEwMDBgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItcG9wb3ZlcicpXG5jbGFzcyBTYmJQb3BvdmVyRWxlbWVudCBleHRlbmRzIFNiYlBvcG92ZXJCYXNlRWxlbWVudCB7XG4gIC8qKiBXaGV0aGVyIHRoZSBjbG9zZSBidXR0b24gc2hvdWxkIGJlIGhpZGRlbi4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hpZGUtY2xvc2UtYnV0dG9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaGlkZUNsb3NlQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHBvcG92ZXIgc2hvdWxkIGJlIHRyaWdnZXJlZCBvbiBob3Zlci4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2hvdmVyLXRyaWdnZXInLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBob3ZlclRyaWdnZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogT3BlbiB0aGUgcG9wb3ZlciBhZnRlciBhIGdpdmVuIGRlbGF5IGluIG1pbGxpc2Vjb25kcy5cbiAgICogR2xvYmFsIGNvbmZpZ3VyYXRpb24gaXMgdXNlZCBhcyBkZWZhdWx0LCBpZiBub3Qgc2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdvcGVuLWRlbGF5JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBzZXQgb3BlbkRlbGF5KHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9vcGVuRGVsYXkgPSArdmFsdWU7XG4gIH1cbiAgcHVibGljIGdldCBvcGVuRGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fb3BlbkRlbGF5ID8/IHJlYWRDb25maWcoKS5wb3BvdmVyPy5vcGVuRGVsYXkgPz8gMDtcbiAgfVxuICBwcml2YXRlIF9vcGVuRGVsYXk/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENsb3NlIHRoZSBwb3BvdmVyIGFmdGVyIGEgZ2l2ZW4gZGVsYXkgaW4gbWlsbGlzZWNvbmRzLlxuICAgKiBHbG9iYWwgY29uZmlndXJhdGlvbiBpcyB1c2VkIGFzIGRlZmF1bHQsIGlmIG5vdCBzZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDBcbiAgICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2Nsb3NlLWRlbGF5JywgdHlwZTogTnVtYmVyIH0pXG4gIHB1YmxpYyBzZXQgY2xvc2VEZWxheSh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fY2xvc2VEZWxheSA9ICt2YWx1ZTtcbiAgfVxuICBwdWJsaWMgZ2V0IGNsb3NlRGVsYXkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VEZWxheSA/PyByZWFkQ29uZmlnKCkucG9wb3Zlcj8uY2xvc2VEZWxheSA/PyAwO1xuICB9XG4gIHByaXZhdGUgX2Nsb3NlRGVsYXk/OiBudW1iZXI7XG5cbiAgLyoqIFRoaXMgd2lsbCBiZSBmb3J3YXJkZWQgYXMgYXJpYS1sYWJlbCB0byB0aGUgY2xvc2UgYnV0dG9uIGVsZW1lbnQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWNsb3NlLWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUNsb3NlTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgX2hvdmVyVHJpZ2dlciA9IGZhbHNlO1xuICBwcml2YXRlIF9vcGVuVGltZW91dD86IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX292ZXJsYXlBYm9ydENvbnRyb2xsZXI6IEFib3J0Q29udHJvbGxlciB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjb25maWd1cmVUcmlnZ2VyKG9sZFRyaWdnZXI6IEhUTUxFbGVtZW50IHwgbnVsbCk6IHZvaWQge1xuICAgIC8vIENoZWNrIHdoZXRoZXIgdGhlIHRyaWdnZXIgY2FuIGJlIGhvdmVyZWQuIFNvbWUgZGV2aWNlcyBtaWdodCBpbnRlcnByZXQgdGhlIG1lZGlhIHF1ZXJ5IChob3ZlcjogaG92ZXIpIGRpZmZlcmVudGx5LFxuICAgIC8vIGFuZCBub3QgcmVzcGVjdCB0aGUgZmFsbGJhY2sgbWVjaGFuaXNtIG9uIHRoZSBjbGljay4gVGhlcmVmb3JlLCB0aGUgZm9sbG93aW5nIGlzIHByZWZlcnJlZCB0byBpZGVudGlmeVxuICAgIC8vIGFsbCBub24tdG91Y2hzY3JlZW4gZGV2aWNlcy5cbiAgICBjb25zdCBob3ZlclRyaWdnZXIgPSB0aGlzLmhvdmVyVHJpZ2dlciAmJiAhcG9pbnRlckNvYXJzZTtcblxuICAgIGlmICh0aGlzLnRyaWdnZXIgPT09IG9sZFRyaWdnZXIgJiYgaG92ZXJUcmlnZ2VyID09PSB0aGlzLl9ob3ZlclRyaWdnZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5faG92ZXJUcmlnZ2VyICE9PSBob3ZlclRyaWdnZXIpIHtcbiAgICAgIHRoaXMuX2hvdmVyVHJpZ2dlciA9IGhvdmVyVHJpZ2dlcjtcbiAgICAgIHRoaXMuX3JlZ2lzdGVyT3ZlcmxheUxpc3RlbmVycygpO1xuICAgIH1cblxuICAgIHN1cGVyLmNvbmZpZ3VyZVRyaWdnZXIob2xkVHJpZ2dlcik7XG4gIH1cblxuICBwcml2YXRlIF9yZWdpc3Rlck92ZXJsYXlMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy5fb3ZlcmxheUFib3J0Q29udHJvbGxlcj8uYWJvcnQoKTtcblxuICAgIGlmICh0aGlzLl9ob3ZlclRyaWdnZXIpIHtcbiAgICAgIHRoaXMuX292ZXJsYXlBYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgICB0aGlzLm92ZXJsYXk/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCAoKSA9PiB0aGlzLl9vbk92ZXJsYXlNb3VzZUVudGVyKCksIHtcbiAgICAgICAgc2lnbmFsOiB0aGlzLl9vdmVybGF5QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5vdmVybGF5Py5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4gdGhpcy5fb25PdmVybGF5TW91c2VMZWF2ZSgpLCB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5fb3ZlcmxheUFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVnaXN0ZXJUcmlnZ2VyTGlzdGVuZXJzKHNpZ25hbDogQWJvcnRTaWduYWwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faG92ZXJUcmlnZ2VyICYmIHRoaXMudHJpZ2dlcikge1xuICAgICAgdGhpcy50cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZW50ZXInLCB0aGlzLl9vblRyaWdnZXJNb3VzZUVudGVyLCB7IHNpZ25hbCB9KTtcbiAgICAgIHRoaXMudHJpZ2dlci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgdGhpcy5fb25UcmlnZ2VyTW91c2VMZWF2ZSwgeyBzaWduYWwgfSk7XG4gICAgICB0aGlzLnRyaWdnZXIuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICAgJ2tleWRvd24nLFxuICAgICAgICAoZXZ0OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2dC5jb2RlID09PSAnU3BhY2UnIHx8IGV2dC5jb2RlID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgc2lnbmFsIH0sXG4gICAgICApO1xuICAgICAgdGhpcy50cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdtb3VzZWRvd24nLFxuICAgICAgICAoZXZ0OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgLy8gV2l0aG91dCB0aGlzIGNoZWNrLCBOVkRBIGNhbid0IG9wZW4gdGhlIHBvcG92ZXIgb24ga2V5Ym9hcmQgaW50ZXJhY3Rpb24uXG4gICAgICAgICAgaWYgKGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIoZXZ0KSkge1xuICAgICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7IHNpZ25hbCB9LFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VwZXIucmVnaXN0ZXJUcmlnZ2VyTGlzdGVuZXJzKHNpZ25hbCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy5fcmVnaXN0ZXJPdmVybGF5TGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb3BlbigpOiB2b2lkIHtcbiAgICBzdXBlci5vcGVuKCk7XG5cbiAgICBjb25zdCB0cmlnZ2VyID0gdGhpcy50cmlnZ2VyIGFzIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpblR5cGUgfCBudWxsO1xuICAgIGlmICh0aGlzLmhvdmVyVHJpZ2dlciAmJiB0eXBlb2YgdHJpZ2dlcj8uWyd0b2dnbGVTdGF0ZSddID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0cmlnZ2VyWyd0b2dnbGVTdGF0ZSddKCdmb3JjZS1ob3ZlcicsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjbG9zZSgpOiB2b2lkIHtcbiAgICBzdXBlci5jbG9zZSgpO1xuXG4gICAgY29uc3QgdHJpZ2dlciA9IHRoaXMudHJpZ2dlciBhcyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW5UeXBlIHwgbnVsbDtcbiAgICBpZiAodHlwZW9mIHRyaWdnZXI/LlsndG9nZ2xlU3RhdGUnXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdHJpZ2dlclsndG9nZ2xlU3RhdGUnXSgnZm9yY2UtaG92ZXInLCBmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25UcmlnZ2VyTW91c2VFbnRlciA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ2Nsb3NlZCcgfHwgdGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9vcGVuVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAvLyBJZiB0aGUgdHJpZ2dlciBpcyBmb2N1c2VkIGJ5IGtleWJvYXJkIGFuZCBob3ZlcmVkIHdpdGggdGhlIG1vdXNlLCB0aGUgb3V0bGluZSB3b3VsZCBiZSB2aXNpYmxlLlxuICAgICAgICAvLyBTbyB3ZSByZXNldCB0aGUgaW5wdXQgbW9kYWxpdHkgdG8gaGlkZSB0aGUgb3V0bGluZS5cbiAgICAgICAgc2JiSW5wdXRNb2RhbGl0eURldGVjdG9yLnJlc2V0KCk7XG4gICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgfSwgdGhpcy5vcGVuRGVsYXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5jbG9zZVRpbWVvdXQpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIF9vblRyaWdnZXJNb3VzZUxlYXZlID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmVkJyB8fCB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuY2xvc2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMuY2xvc2VEZWxheSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9vcGVuVGltZW91dCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgX29uT3ZlcmxheU1vdXNlRW50ZXIgPSAoKTogdm9pZCA9PiB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuaW5nJykge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuY2xvc2VUaW1lb3V0KTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfb25PdmVybGF5TW91c2VMZWF2ZSA9ICgpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLmNsb3NlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jbG9zZSgpLCB0aGlzLmNsb3NlRGVsYXkpO1xuICAgIH1cbiAgfTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyQ29udGVudCgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgY2xvc2VCdXR0b24gPSBodG1sYFxuICAgICAgPHNiYi1zZWNvbmRhcnktYnV0dG9uXG4gICAgICAgIGFyaWEtbGFiZWw9JHt0aGlzLmFjY2Vzc2liaWxpdHlDbG9zZUxhYmVsIHx8IGkxOG5DbG9zZVBvcG92ZXJbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF19XG4gICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGljb24tbmFtZT1cImNyb3NzLXNtYWxsXCJcbiAgICAgICAgc2JiLXBvcG92ZXItY2xvc2VcbiAgICAgID48L3NiYi1zZWNvbmRhcnktYnV0dG9uPlxuICAgIGA7XG5cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgICR7IXRoaXMuaGlkZUNsb3NlQnV0dG9uICYmICF0aGlzLl9ob3ZlclRyaWdnZXIgPyBjbG9zZUJ1dHRvbiA6IG5vdGhpbmd9XG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1wb3BvdmVyX19zY3JvbGxhYmxlLWNvbnRlbnRcIj5cbiAgICAgICAgPHNsb3Q+Tm8gY29udGVudDwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcG9wb3Zlcic6IFNiYlBvcG92ZXJFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9DQSxNQUFNLGtCQUFrQjtBQUN4QixNQUFNLG9CQUFvQjtBQUUxQixJQUFJLFNBQVM7QUFFYixNQUFNLGtDQUFrQixJQUFBO0FBQ3hCLE1BQU0sZ0JBQWdCLFdBQVcsUUFBUSxXQUFXLDBCQUEwQixFQUFFO0lBRTFELHlCQUFxQixNQUFBOztvQkFBUyxrQkFBa0IsdUJBQXVCOzs7O0FBQXZFLFNBQUEsbUJBQThCLFlBQTBDO0FBQUE7O0FBVTVGO0FBQWdCLHlCQUFBLDJCQUFBLGtCQUFBLE1BQUEsdUJBQThCLElBQUk7QUFHMUMsV0FBQSxzQkFBbUIsa0JBQUEsTUFBQSwwQkFBQTtBQUNuQixXQUFBLGtCQUEyQjtBQU0zQixXQUFBLDhCQUE4QixJQUFJLDhCQUE4QixJQUFJO0FBQ3BFLFdBQUEsdUJBQXVCLElBQUksdUJBQXVCLElBQUk7QUFDdEQsV0FBQSxlQUFxRDtBQXNNckQsV0FBQSx1QkFBdUIsQ0FBQyxVQUE2QjtBQUMzRCxhQUFLLCtCQUErQixpQkFBaUIsS0FBSyxTQUFVLEtBQUs7QUFBQSxNQUMzRTtB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
@@ -2,5 +2,4 @@
2
2
  * @entrypoint
3
3
  */
4
4
  export * from './popover/popover.js';
5
- export * from './popover/popover-trigger.js';
6
5
  //# sourceMappingURL=popover.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../src/elements/popover.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../src/elements/popover.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,sBAAsB,CAAC"}
@@ -1,8 +1,6 @@
1
1
  import { SbbPopoverBaseElement, SbbPopoverElement } from "./popover/popover/popover.component.js";
2
- import { SbbPopoverTriggerElement } from "./popover/popover-trigger/popover-trigger.component.js";
3
2
  export {
4
3
  SbbPopoverBaseElement,
5
- SbbPopoverElement,
6
- SbbPopoverTriggerElement
4
+ SbbPopoverElement
7
5
  };
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OyJ9
6
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5qcyIsInNvdXJjZXMiOltdLCJzb3VyY2VzQ29udGVudCI6W10sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7In0=
@@ -1,5 +1,5 @@
1
1
  import { SbbRadioButtonCommonElementMixin } from "./common/radio-button-common.js";
2
- import { r } from "../radio-button-common-DWGEcWfZ.js";
2
+ import { r } from "../radio-button-common-5uawgCpB.js";
3
3
  export {
4
4
  SbbRadioButtonCommonElementMixin,
5
5
  r as radioButtonCommonStyle
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/radio-button/radio-button/radio-button.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAKvC,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,cAAc,CAAC;;AAItB;;;;;;;GAOG;AACH,qBAGM,qBAAqB,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,0BAA4C;IAC1F,OAAuB,MAAM,EAAE,cAAc,CAA8C;IAC3F,gBAAuB,MAAM;;;;MAIlB;IAEX;;;OAGG;IACH,SAEgB,IAAI,EAAE,kBAAkB,CAAyB;IAEjE;;OAEG;IACH,SACgB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAQ;cAEpB,MAAM,IAAI,cAAc;CAS5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
1
+ {"version":3,"file":"radio-button.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/radio-button/radio-button/radio-button.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAMvC,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,cAAc,CAAC;;AAItB;;;;;;;GAOG;AACH,qBAEM,qBAAqB,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,0BAA4C;IAC1F,OAAuB,MAAM,EAAE,cAAc,CAI3C;IACF,gBAAuB,MAAM;;;;MAIlB;IAEX;;;OAGG;IACH,SAEgB,IAAI,EAAE,kBAAkB,CAAyB;IAEjE;;OAEG;IACH,SACgB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAQ;cAEpB,MAAM,IAAI,cAAc;CAS5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,kBAAkB,EAAE,qBAAqB,CAAC;KAC3C;CACF"}
@@ -8,16 +8,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
8
8
  import { __esDecorate, __runInitializers } from "tslib";
9
9
  import { css, LitElement, html } from "lit";
10
10
  import { customElement, property } from "lit/decorators.js";
11
- import { slotState, getOverride } from "../../core/decorators.js";
11
+ import { getOverride } from "../../core/decorators.js";
12
12
  import { isLean } from "../../core/dom.js";
13
+ import { boxSizingStyles } from "../../core/styles.js";
13
14
  import { SbbRadioButtonCommonElementMixin, radioButtonCommonStyle } from "../common.js";
14
- const radioButtonStyle = css`*,
15
- ::before,
16
- ::after {
17
- box-sizing: border-box;
18
- }
19
-
20
- :host {
15
+ const radioButtonStyle = css`:host {
21
16
  display: block;
22
17
  outline: none !important;
23
18
  }
@@ -32,7 +27,7 @@ const radioButtonStyle = css`*,
32
27
  }`;
33
28
  let SbbRadioButtonElement = (() => {
34
29
  var _size_accessor_storage, _value_accessor_storage, _a;
35
- let _classDecorators = [customElement("sbb-radio-button"), slotState()];
30
+ let _classDecorators = [customElement("sbb-radio-button")];
36
31
  let _classDescriptor;
37
32
  let _classExtraInitializers = [];
38
33
  let _classThis;
@@ -91,7 +86,11 @@ let SbbRadioButtonElement = (() => {
91
86
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
92
87
  _classThis = _classDescriptor.value;
93
88
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
94
- })(), _a.styles = [radioButtonCommonStyle, radioButtonStyle], _a.events = {
89
+ })(), _a.styles = [
90
+ boxSizingStyles,
91
+ radioButtonCommonStyle,
92
+ radioButtonStyle
93
+ ], _a.events = {
95
94
  statechange: "statechange",
96
95
  change: "change",
97
96
  input: "input"
@@ -101,4 +100,4 @@ let SbbRadioButtonElement = (() => {
101
100
  export {
102
101
  SbbRadioButtonElement
103
102
  };
104
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXRPdmVycmlkZSwgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7XG4gIFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudE1peGluLFxuICByYWRpb0J1dHRvbkNvbW1vblN0eWxlLFxuICB0eXBlIFNiYlJhZGlvQnV0dG9uU2l6ZSxcbn0gZnJvbSAnLi4vY29tbW9uLmpzJztcblxuaW1wb3J0IHJhZGlvQnV0dG9uU3R5bGUgZnJvbSAnLi9yYWRpby1idXR0b24uc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIHJhZGlvIGJ1dHRvbiBlbmhhbmNlZCB3aXRoIHRoZSBTQkIgRGVzaWduLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHJhZGlvIGxhYmVsLlxuICogQGV2ZW50IHtFdmVudH0gY2hhbmdlIC0gVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBlbGVtZW50J3MgdmFsdWUuIFVubGlrZSB0aGUgaW5wdXQgZXZlbnQsIHRoZSBjaGFuZ2UgZXZlbnQgaXMgbm90IG5lY2Vzc2FyaWx5IGZpcmVkIGZvciBlYWNoIGFsdGVyYXRpb24gdG8gYW4gZWxlbWVudCdzIHZhbHVlLlxuICogQGV2ZW50IHtJbnB1dEV2ZW50fSBpbnB1dCAtIFRoZSBpbnB1dCBldmVudCBmaXJlcyB3aGVuIHRoZSB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkIGFzIGEgZGlyZWN0IHJlc3VsdCBvZiBhIHVzZXIgYWN0aW9uLlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXJhZGlvLWJ1dHRvbicpXG5Ac2xvdFN0YXRlKClcbmNsYXNzIFNiYlJhZGlvQnV0dG9uRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYlJhZGlvQnV0dG9uQ29tbW9uRWxlbWVudE1peGluKExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3JhZGlvQnV0dG9uQ29tbW9uU3R5bGUsIHJhZGlvQnV0dG9uU3R5bGVdO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBzdGF0ZWNoYW5nZTogJ3N0YXRlY2hhbmdlJyxcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICAgIGlucHV0OiAnaW5wdXQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciB4cywgcyBvciBtLlxuICAgKiBAZGVmYXVsdCAnbScgLyAneHMnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBAZ2V0T3ZlcnJpZGUoKGksIHYpID0+IGkuZ3JvdXA/LnNpemUgPz8gdilcbiAgcHVibGljIGFjY2Vzc29yIHNpemU6IFNiYlJhZGlvQnV0dG9uU2l6ZSA9IGlzTGVhbigpID8gJ3hzJyA6ICdtJztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBmb3JtIGVsZW1lbnRcbiAgICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1yYWRpby1idXR0b25cIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItcmFkaW8tYnV0dG9uX19sYWJlbC1zbG90XCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcmFkaW8tYnV0dG9uJzogU2JiUmFkaW9CdXR0b25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUF5Qk0seUJBQXFCLE1BQUE7O0FBRjFCLE1BQUEsbUJBQUEsQ0FBQSxjQUFjLGtCQUFrQixHQUNoQyxXQUFXOzs7O29CQUNvQyxpQ0FBaUMsVUFBVTs7Ozs7OztBQUFuRCxFQUFBLG1CQUFRLFlBQTRDO0FBQUE7O0FBYzFGLGlEQUFBLGtCQUFBLE1BQUEsb0JBQTJDLE9BQUEsSUFBVyxPQUFPLEdBQUc7QUFNaEUsbURBQUEsa0JBQUEsTUFBQSx1QkFBQSxHQUFBLGtCQUFBLE1BQUEscUJBQWtDLElBQUk7Ozs7Ozs7SUFOdEMsSUFBZ0IsT0FBSTtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBcEIsSUFBZ0IsS0FBSSxPQUFBO0FBQUEseUJBQUEsd0JBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFNcEIsSUFBZ0IsUUFBSztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBckIsSUFBZ0IsTUFBSyxPQUFBO0FBQUEseUJBQUEseUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFFRixTQUFNO0FBQ3ZCLGFBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU9UO0FBQUEsS0FoQkEsd0NBTUE7O3dCQVJDLFNBQVMsRUFBRSxTQUFTLE1BQU0sR0FDMUIsWUFBWSxDQUFDLEdBQUcsTUFBTSxFQUFFLE9BQU8sUUFBUSxDQUFDLENBQUM7QUFNekMsd0JBQUEsQ0FBQSxVQUFVO0FBTFgsaUJBQUEsSUFBQSxNQUFBLGtCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsUUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxVQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsTUFBSSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBSixPQUFJO0FBQUEsSUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLG9CQUFBLHVCQUFBO0FBTXBCLGlCQUFBLElBQUEsTUFBQSxtQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFNBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsV0FBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLE9BQUssS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUwsUUFBSztBQUFBLElBQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSxxQkFBQSx3QkFBQTtBQXBCdkIsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUN5QixHQUFBLFNBQXlCLENBQUMsd0JBQXdCLGdCQUFnQixHQUNsRSxHQUFBLFNBQVM7QUFBQSxJQUM5QixhQUFhO0FBQUEsSUFDYixRQUFRO0FBQUEsSUFDUixPQUFPO0FBQUEsRUFBQSxHQUxMLGtCQUFBLFlBQUEsdUJBQUEsR0FBa0M7OzsifQ==
103
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBMaXRFbGVtZW50LCBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXRPdmVycmlkZSB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBib3hTaXppbmdTdHlsZXMgfSBmcm9tICcuLi8uLi9jb3JlL3N0eWxlcy5qcyc7XG5pbXBvcnQge1xuICBTYmJSYWRpb0J1dHRvbkNvbW1vbkVsZW1lbnRNaXhpbixcbiAgcmFkaW9CdXR0b25Db21tb25TdHlsZSxcbiAgdHlwZSBTYmJSYWRpb0J1dHRvblNpemUsXG59IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbmltcG9ydCByYWRpb0J1dHRvblN0eWxlIGZyb20gJy4vcmFkaW8tYnV0dG9uLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSByYWRpbyBidXR0b24gZW5oYW5jZWQgd2l0aCB0aGUgU0JCIERlc2lnbi5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSByYWRpbyBsYWJlbC5cbiAqIEBldmVudCB7RXZlbnR9IGNoYW5nZSAtIFRoZSBjaGFuZ2UgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgdXNlciBtb2RpZmllcyB0aGUgZWxlbWVudCdzIHZhbHVlLiBVbmxpa2UgdGhlIGlucHV0IGV2ZW50LCB0aGUgY2hhbmdlIGV2ZW50IGlzIG5vdCBuZWNlc3NhcmlseSBmaXJlZCBmb3IgZWFjaCBhbHRlcmF0aW9uIHRvIGFuIGVsZW1lbnQncyB2YWx1ZS5cbiAqIEBldmVudCB7SW5wdXRFdmVudH0gaW5wdXQgLSBUaGUgaW5wdXQgZXZlbnQgZmlyZXMgd2hlbiB0aGUgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhcyBhIGRpcmVjdCByZXN1bHQgb2YgYSB1c2VyIGFjdGlvbi5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSAoVCA9IHN0cmluZykgfCBudWxsXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1yYWRpby1idXR0b24nKVxuY2xhc3MgU2JiUmFkaW9CdXR0b25FbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiUmFkaW9CdXR0b25Db21tb25FbGVtZW50TWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbXG4gICAgYm94U2l6aW5nU3R5bGVzLFxuICAgIHJhZGlvQnV0dG9uQ29tbW9uU3R5bGUsXG4gICAgcmFkaW9CdXR0b25TdHlsZSxcbiAgXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgc3RhdGVjaGFuZ2U6ICdzdGF0ZWNoYW5nZScsXG4gICAgY2hhbmdlOiAnY2hhbmdlJyxcbiAgICBpbnB1dDogJ2lucHV0JyxcbiAgfSBhcyBjb25zdDtcblxuICAvKipcbiAgICogU2l6ZSB2YXJpYW50LCBlaXRoZXIgeHMsIHMgb3IgbS5cbiAgICogQGRlZmF1bHQgJ20nIC8gJ3hzJyAobGVhbilcbiAgICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgQGdldE92ZXJyaWRlKChpLCB2KSA9PiBpLmdyb3VwPy5zaXplID8/IHYpXG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiBTYmJSYWRpb0J1dHRvblNpemUgPSBpc0xlYW4oKSA/ICd4cycgOiAnbSc7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgZm9ybSBlbGVtZW50XG4gICAqL1xuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgdmFsdWU6IFQgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItcmFkaW8tYnV0dG9uXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXJhZGlvLWJ1dHRvbl9fbGFiZWwtc2xvdFwiPlxuICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXJhZGlvLWJ1dHRvbic6IFNiYlJhZGlvQnV0dG9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXlCTSx5QkFBcUIsTUFBQTs7MEJBRDFCLGNBQWMsa0JBQWtCLENBQUM7Ozs7b0JBQ2MsaUNBQWlDLFVBQVU7Ozs7Ozs7QUFBbkQsRUFBQSxtQkFBUSxZQUE0QztBQUFBOztBQWtCMUYsaURBQUEsa0JBQUEsTUFBQSxvQkFBMkMsT0FBQSxJQUFXLE9BQU8sR0FBRztBQU1oRSxtREFBQSxrQkFBQSxNQUFBLHVCQUFBLEdBQUEsa0JBQUEsTUFBQSxxQkFBa0MsSUFBSTs7Ozs7OztJQU50QyxJQUFnQixPQUFJO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUFwQixJQUFnQixLQUFJLE9BQUE7QUFBQSx5QkFBQSx3QkFBQTtBQUFBLElBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU1wQixJQUFnQixRQUFLO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUFyQixJQUFnQixNQUFLLE9BQUE7QUFBQSx5QkFBQSx5QkFBQTtBQUFBLElBQUE7QUFBQSxJQUVGLFNBQU07QUFDdkIsYUFBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBT1Q7QUFBQSxLQWhCQSx3Q0FNQTs7d0JBUkMsU0FBUyxFQUFFLFNBQVMsTUFBTSxHQUMxQixZQUFZLENBQUMsR0FBRyxNQUFNLEVBQUUsT0FBTyxRQUFRLENBQUMsQ0FBQztBQU16Qyx3QkFBQSxDQUFBLFVBQVU7QUFMWCxpQkFBQSxJQUFBLE1BQUEsa0JBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxRQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFVBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFnQixNQUFJLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFKLE9BQUk7QUFBQSxJQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEsb0JBQUEsdUJBQUE7QUFNcEIsaUJBQUEsSUFBQSxNQUFBLG1CQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsU0FBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxXQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsT0FBSyxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBTCxRQUFLO0FBQUEsSUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLHFCQUFBLHdCQUFBO0FBeEJ2QixpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBQ3lCLEdBQUEsU0FBeUI7QUFBQSxJQUM5QztBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFBQSxHQUVxQixHQUFBLFNBQVM7QUFBQSxJQUM5QixhQUFhO0FBQUEsSUFDYixRQUFRO0FBQUEsSUFDUixPQUFPO0FBQUEsRUFBQSxHQVRMLGtCQUFBLFlBQUEsdUJBQUEsR0FBa0M7OzsifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-group.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/radio-button/radio-button-group/radio-button-group.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAKvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAElF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;;AAMhE;;;;;;GAMG;AACH,qBAGM,0BAA0B,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,+BAEpD;IACC,gBAAgC,IAAI,gBAAgB;IACpD,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;MAIlB;IAEX;;OAEG;IACH,SAEgB,mBAAmB,EAAE,OAAO,CAAS;IAErD;;OAEG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C;;OAEG;IACH,IACW,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAa7B;IACD,IAAW,KAAK,IAAI,CAAC,GAAG,IAAI,CAE3B;IACD;;OAEG;IACH,OAAO,CAAC,cAAc,CAAkB;IAExC;;;OAGG;IACH,SAA4B,IAAI,EAAE,kBAAkB,CAAyB;IAE7E;;OAEG;IACH,SACgB,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAEhE;;OAEG;IACH,SACgB,WAAW,EAAE,cAAc,CAAgB;IAE3D,SAEgB,IAAI,EAAE,MAAM,CAAwC;IAEpE;;OAEG;IACH,IAAW,YAAY,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAAE,CAOtF;;IAOe,iBAAiB,IAAI,IAAI;cAKtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAiBzD,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAM9E,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;cAON,MAAM,IAAI,cAAc;CAe5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,wBAAwB,EAAE,0BAA0B,CAAC;KACtD;CACF"}
1
+ {"version":3,"file":"radio-button-group.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/radio-button/radio-button-group/radio-button-group.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AAKvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGlF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;;AAMhE;;;;;;GAMG;AACH,qBAEM,0BAA0B,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,+BAEpD;IACC,gBAAgC,IAAI,gBAAgB;IACpD,OAAuB,MAAM,EAAE,cAAc,CAA4B;IACzE,gBAAuB,MAAM;;;;MAIlB;IAEX;;OAEG;IACH,SAEgB,mBAAmB,EAAE,OAAO,CAAS;IAErD;;OAEG;IACH,SAEgB,QAAQ,EAAE,OAAO,CAAS;IAE1C;;OAEG;IACH,IACW,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,EAa7B;IACD,IAAW,KAAK,IAAI,CAAC,GAAG,IAAI,CAE3B;IACD;;OAEG;IACH,OAAO,CAAC,cAAc,CAAkB;IAExC;;;OAGG;IACH,SAA4B,IAAI,EAAE,kBAAkB,CAAyB;IAE7E;;OAEG;IACH,SACgB,cAAc,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAEhE;;OAEG;IACH,SACgB,WAAW,EAAE,cAAc,CAAgB;IAE3D,SAEgB,IAAI,EAAE,MAAM,CAAwC;IAEpE;;OAEG;IACH,IAAW,YAAY,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAAE,CAOtF;;IAOe,iBAAiB,IAAI,IAAI;cAKtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAiBzD,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAM9E,OAAO,CAAC,cAAc;IAoBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;cAON,MAAM,IAAI,cAAc;CAe5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,wBAAwB,EAAE,0BAA0B,CAAC;KACtD;CACF"}
@@ -8,16 +8,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
8
8
  import { __esDecorate, __runInitializers } from "tslib";
9
9
  import { css, LitElement, html } from "lit";
10
10
  import { customElement, property } from "lit/decorators.js";
11
- import { slotState, forceType } from "../../core/decorators.js";
11
+ import { forceType } from "../../core/decorators.js";
12
12
  import { isLean } from "../../core/dom.js";
13
13
  import { SbbDisabledMixin, SbbElementInternalsMixin } from "../../core/mixins.js";
14
- const style = css`*,
15
- ::before,
16
- ::after {
17
- box-sizing: border-box;
18
- }
19
-
20
- :host {
14
+ import { boxSizingStyles } from "../../core/styles.js";
15
+ const style = css`:host {
21
16
  --sbb-radio-button-group-orientation: row;
22
17
  --sbb-radio-button-group-width: max-content;
23
18
  --sbb-radio-button-group-gap: var(--sbb-spacing-fixed-3x) var(--sbb-spacing-fixed-6x);
@@ -54,17 +49,6 @@ const style = css`*,
54
49
  --sbb-radio-button-group-width: max-content;
55
50
  }
56
51
  }
57
- @media (min-width: calc(22.5rem)) {
58
- :host([orientation=vertical][horizontal-from=micro]) {
59
- --sbb-radio-button-group-orientation: row;
60
- }
61
- :host([orientation=vertical][horizontal-from=micro]) ::slotted(sbb-radio-button-panel) {
62
- width: unset;
63
- }
64
- :host([orientation=vertical][horizontal-from=micro]:not([data-has-panel])) {
65
- --sbb-radio-button-group-width: max-content;
66
- }
67
- }
68
52
  @media (min-width: calc(37.5rem)) {
69
53
  :host([orientation=vertical][horizontal-from=small]) {
70
54
  --sbb-radio-button-group-orientation: row;
@@ -76,17 +60,6 @@ const style = css`*,
76
60
  --sbb-radio-button-group-width: max-content;
77
61
  }
78
62
  }
79
- @media (min-width: calc(52.5rem)) {
80
- :host([orientation=vertical][horizontal-from=medium]) {
81
- --sbb-radio-button-group-orientation: row;
82
- }
83
- :host([orientation=vertical][horizontal-from=medium]) ::slotted(sbb-radio-button-panel) {
84
- width: unset;
85
- }
86
- :host([orientation=vertical][horizontal-from=medium]:not([data-has-panel])) {
87
- --sbb-radio-button-group-width: max-content;
88
- }
89
- }
90
63
  @media (min-width: calc(64rem)) {
91
64
  :host([orientation=vertical][horizontal-from=large]) {
92
65
  --sbb-radio-button-group-orientation: row;
@@ -98,17 +71,6 @@ const style = css`*,
98
71
  --sbb-radio-button-group-width: max-content;
99
72
  }
100
73
  }
101
- @media (min-width: calc(80rem)) {
102
- :host([orientation=vertical][horizontal-from=wide]) {
103
- --sbb-radio-button-group-orientation: row;
104
- }
105
- :host([orientation=vertical][horizontal-from=wide]) ::slotted(sbb-radio-button-panel) {
106
- width: unset;
107
- }
108
- :host([orientation=vertical][horizontal-from=wide]:not([data-has-panel])) {
109
- --sbb-radio-button-group-width: max-content;
110
- }
111
- }
112
74
  @media (min-width: calc(90rem)) {
113
75
  :host([orientation=vertical][horizontal-from=ultra]) {
114
76
  --sbb-radio-button-group-orientation: row;
@@ -132,13 +94,13 @@ const style = css`*,
132
94
  display: inline-block;
133
95
  margin-block-start: var(--sbb-spacing-fixed-1x);
134
96
  }
135
- :host(:not([data-slot-names~=error])) .sbb-radio-group__error {
97
+ :host(:not(:is(:state(slotted-error),[state--slotted-error]))) .sbb-radio-group__error {
136
98
  display: none;
137
99
  }`;
138
100
  let nextId = 0;
139
101
  let SbbRadioButtonGroupElement = (() => {
140
102
  var _allowEmptySelection_accessor_storage, _required_accessor_storage, _size_accessor_storage, _horizontalFrom_accessor_storage, _orientation_accessor_storage, _name_accessor_storage, _a;
141
- let _classDecorators = [customElement("sbb-radio-button-group"), slotState()];
103
+ let _classDecorators = [customElement("sbb-radio-button-group")];
142
104
  let _classDescriptor;
143
105
  let _classExtraInitializers = [];
144
106
  let _classThis;
@@ -354,7 +316,7 @@ let SbbRadioButtonGroupElement = (() => {
354
316
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
355
317
  _classThis = _classDescriptor.value;
356
318
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
357
- })(), _a.role = "radiogroup", _a.styles = style, _a.events = {
319
+ })(), _a.role = "radiogroup", _a.styles = [boxSizingStyles, style], _a.events = {
358
320
  didChange: "didChange",
359
321
  change: "change",
360
322
  input: "input"
@@ -364,4 +326,4 @@ let SbbRadioButtonGroupElement = (() => {
364
326
  export {
365
327
  SbbRadioButtonGroupElement
366
328
  };
367
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24tZ3JvdXAvcmFkaW8tYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlLCBzbG90U3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgaXNMZWFuIH0gZnJvbSAnLi4vLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJIb3Jpem9udGFsRnJvbSwgU2JiT3JpZW50YXRpb24gfSBmcm9tICcuLi8uLi9jb3JlL2ludGVyZmFjZXMuanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiwgU2JiRWxlbWVudEludGVybmFsc01peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJSYWRpb0J1dHRvblNpemUgfSBmcm9tICcuLi9jb21tb24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJSYWRpb0J1dHRvblBhbmVsRWxlbWVudCB9IGZyb20gJy4uL3JhZGlvLWJ1dHRvbi1wYW5lbC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlJhZGlvQnV0dG9uRWxlbWVudCB9IGZyb20gJy4uL3JhZGlvLWJ1dHRvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3JhZGlvLWJ1dHRvbi1ncm91cC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYHNiYi1yYWRpby1idXR0b25gLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItcmFkaW8tYnV0dG9uYCBlbGVtZW50cyB0byB0aGUgYHNiYi1yYWRpby1idXR0b24tZ3JvdXBgLlxuICogQHNsb3QgZXJyb3IgLSBVc2UgdGhpcyB0byBwcm92aWRlIGEgYHNiYi1mb3JtLWVycm9yYCB0byBzaG93IGFuIGVycm9yIG1lc3NhZ2UuXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gKFQgPSBzdHJpbmcpIHwgbnVsbFxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItcmFkaW8tYnV0dG9uLWdyb3VwJylcbkBzbG90U3RhdGUoKVxuY2xhc3MgU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3JhZGlvZ3JvdXAnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZGlkQ2hhbmdlOiAnZGlkQ2hhbmdlJyxcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICAgIGlucHV0OiAnaW5wdXQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByYWRpb3MgY2FuIGJlIGRlc2VsZWN0ZWQuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWxsb3ctZW1wdHktc2VsZWN0aW9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWxsb3dFbXB0eVNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByYWRpbyBncm91cCBpcyByZXF1aXJlZC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIHJhZGlvIGdyb3VwLlxuICAgKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCB2YWx1ZSh2YWw6IFQgfCBudWxsKSB7XG4gICAgdGhpcy5fZmFsbGJhY2tWYWx1ZSA9IHZhbDtcbiAgICBpZiAoIXRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodmFsID09IG51bGwpIHtcbiAgICAgIHRoaXMucmFkaW9CdXR0b25zLmZvckVhY2goKHIpID0+IChyLmNoZWNrZWQgPSBmYWxzZSkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0b0NoZWNrID0gdGhpcy5yYWRpb0J1dHRvbnMuZmluZCgocikgPT4gci52YWx1ZSA9PT0gdmFsKTtcbiAgICBpZiAodG9DaGVjaykge1xuICAgICAgdG9DaGVjay5jaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucmFkaW9CdXR0b25zLmZpbmQoKHIpID0+IHIuY2hlY2tlZCAmJiAhci5kaXNhYmxlZCk/LnZhbHVlID8/IHRoaXMuX2ZhbGxiYWNrVmFsdWU7XG4gIH1cbiAgLyoqXG4gICAqIFVzZWQgdG8gcHJlc2VydmUgdGhlIGB2YWx1ZWAgaW4gY2FzZSB0aGUgcmFkaW9zIGFyZSBub3QgeWV0ICdsb2FkZWQnXG4gICAqL1xuICBwcml2YXRlIF9mYWxsYmFja1ZhbHVlOiBUIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIHhzLCBzIG9yIG0uXG4gICAqIEBkZWZhdWx0ICdtJyAvICd4cycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogU2JiUmFkaW9CdXR0b25TaXplID0gaXNMZWFuKCkgPyAneHMnIDogJ20nO1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgdGhlIGJlaGF2aW91ciBvZiBgb3JpZW50YXRpb25gIHByb3BlcnR5LlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaG9yaXpvbnRhbC1mcm9tJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaG9yaXpvbnRhbEZyb206IFNiYkhvcml6b250YWxGcm9tIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFJhZGlvIGdyb3VwJ3Mgb3JpZW50YXRpb24sIGVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igb3JpZW50YXRpb246IFNiYk9yaWVudGF0aW9uID0gJ2hvcml6b250YWwnO1xuXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgbmFtZTogc3RyaW5nID0gYHNiYi1yYWRpby1idXR0b24tZ3JvdXAtJHsrK25leHRJZH1gO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbnRhaW5lZCByYWRpbyBidXR0b25zLlxuICAgKi9cbiAgcHVibGljIGdldCByYWRpb0J1dHRvbnMoKTogKFNiYlJhZGlvQnV0dG9uRWxlbWVudDxUPiB8IFNiYlJhZGlvQnV0dG9uUGFuZWxFbGVtZW50PFQ+KVtdIHtcbiAgICByZXR1cm4gKFxuICAgICAgQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2JiLXJhZGlvLWJ1dHRvbiwgc2JiLXJhZGlvLWJ1dHRvbi1wYW5lbCcpID8/IFtdKSBhcyAoXG4gICAgICAgIHwgU2JiUmFkaW9CdXR0b25FbGVtZW50PFQ+XG4gICAgICAgIHwgU2JiUmFkaW9CdXR0b25QYW5lbEVsZW1lbnQ8VD5cbiAgICAgIClbXVxuICAgICkuZmlsdGVyKChlbCkgPT4gZWwuY2xvc2VzdD8uKCdzYmItcmFkaW8tYnV0dG9uLWdyb3VwJykgPT09IHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NoYW5nZScsIChlOiBFdmVudCkgPT4gdGhpcy5fb25SYWRpb0NoYW5nZShlKSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtcGFuZWwnLCAhIXRoaXMucXVlcnlTZWxlY3Rvcj8uKCdzYmItcmFkaW8tYnV0dG9uLXBhbmVsJykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICB0aGlzLnJhZGlvQnV0dG9ucy5mb3JFYWNoKChyKSA9PiByLnJlcXVlc3RVcGRhdGU/LignZGlzYWJsZWQnKSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3JlcXVpcmVkJykpIHtcbiAgICAgIHRoaXMucmFkaW9CdXR0b25zLmZvckVhY2goKHIpID0+IHIucmVxdWVzdFVwZGF0ZT8uKCdyZXF1aXJlZCcpKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2l6ZScpKSB7XG4gICAgICB0aGlzLnJhZGlvQnV0dG9ucy5mb3JFYWNoKChyKSA9PiByLnJlcXVlc3RVcGRhdGU/Lignc2l6ZScpKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbmFtZScpKSB7XG4gICAgICB0aGlzLl91cGRhdGVSYWRpb3NOYW1lKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpID0+IHRoaXMuX3VwZGF0ZVJhZGlvU3RhdGUoKSk7XG4gIH1cblxuICBwcml2YXRlIF9vblJhZGlvQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCEgYXMgU2JiUmFkaW9CdXR0b25FbGVtZW50IHwgU2JiUmFkaW9CdXR0b25QYW5lbEVsZW1lbnQ7XG5cbiAgICAvLyBPbmx5IGZpbHRlciByYWRpby1idXR0b25zIGV2ZW50XG4gICAgaWYgKFxuICAgICAgKHRhcmdldC5sb2NhbE5hbWUgIT09ICdzYmItcmFkaW8tYnV0dG9uJyAmJiB0YXJnZXQubG9jYWxOYW1lICE9PSAnc2JiLXJhZGlvLWJ1dHRvbi1wYW5lbCcpIHx8XG4gICAgICB0YXJnZXQuZ3JvdXAgIT09IHRoaXNcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9mYWxsYmFja1ZhbHVlID0gbnVsbDsgLy8gU2luY2UgdGhlIHVzZXIgaW50ZXJhY3RlZCwgdGhlIGZhbGxiYWNrVmFsdWUgbG9naWMgZG9lcyBub3QgYXBwbHkgYW55bW9yZVxuXG4gICAgLyoqXG4gICAgICogRGVwcmVjYXRlZC4gTWlycm9ycyBjaGFuZ2UgZXZlbnQgZm9yIFJlYWN0LiBXaWxsIGJlIHJlbW92ZWQgb25jZSBSZWFjdCBwcm9wZXJseSBzdXBwb3J0cyBjaGFuZ2UgZXZlbnRzLlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnZGlkQ2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm94eSAnbmFtZScgdG8gY2hpbGQgcmFkaW8tYnV0dG9uc1xuICAgKi9cbiAgcHJpdmF0ZSBfdXBkYXRlUmFkaW9zTmFtZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJhZGlvQnV0dG9ucy5mb3JFYWNoKChyKSA9PiAoci5uYW1lID0gdGhpcy5uYW1lKSk7XG4gIH1cblxuICAvKipcbiAgICogUmUtdHJpZ2dlciB0aGUgc2V0dGVyIGFuZCB1cGRhdGUgdGhlIGNoZWNrZWQgc3RhdGUgb2YgdGhlIHJhZGlvcy5cbiAgICogTWFpbmx5IHVzZWQgdG8gY292ZXIgY2FzZXMgd2hlcmUgdGhlIHNldHRlciBpcyBjYWxsZWQgYmVmb3JlIHRoZSByYWRpb3MgYXJlIGxvYWRlZFxuICAgKi9cbiAgcHJpdmF0ZSBfdXBkYXRlUmFkaW9TdGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZmFsbGJhY2tWYWx1ZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtYXNzaWduXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItcmFkaW8tZ3JvdXBcIj5cbiAgICAgICAgPHNsb3RcbiAgICAgICAgICBAc2xvdGNoYW5nZT0keygpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVJhZGlvc05hbWUoKTtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVJhZGlvU3RhdGUoKTtcbiAgICAgICAgICB9fVxuICAgICAgICA+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXJhZGlvLWdyb3VwX19lcnJvclwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwiZXJyb3JcIj48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcmFkaW8tYnV0dG9uLWdyb3VwJzogU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWNBLElBQUksU0FBUztJQVlQLDhCQUEwQixNQUFBOztBQUYvQixNQUFBLG1CQUFBLENBQUEsY0FBYyx3QkFBd0IsR0FDdEMsV0FBVzs7OztBQUN5QyxNQUFBLGNBQUEsaUJBQ25ELHlCQUF5QixVQUFVLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQURPLEVBQUEsbUJBQVEsWUFFcEQ7QUFBQSxJQW1GQyxjQUFBO0FBQ0UsWUFBQTtBQXRFRjtBQU9BO0FBZ0NZO0FBTVo7QUFNQTtBQUlBO0FBdkRnQix5QkFBQSx3Q0FoQlosa0JBQUEsTUFBQSwwQkFBQSxHQUEwQixrQkFBQSxNQUFBLG1DQWdCaUIsS0FBSztBQU9wQyx5QkFBQSw2QkFBQSxrQkFBQSxNQUFBLHNDQUFBLEdBQUEsa0JBQUEsTUFBQSx3QkFBb0IsS0FBSztBQTBCakMsV0FBQSxrQkFBYyxrQkFBQSxNQUFBLDJC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
329
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24tZ3JvdXAvcmFkaW8tYnV0dG9uLWdyb3VwLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiSG9yaXpvbnRhbEZyb20sIFNiYk9yaWVudGF0aW9uIH0gZnJvbSAnLi4vLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcbmltcG9ydCB7IFNiYkRpc2FibGVkTWl4aW4sIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IGJveFNpemluZ1N0eWxlcyB9IGZyb20gJy4uLy4uL2NvcmUvc3R5bGVzLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiUmFkaW9CdXR0b25TaXplIH0gZnJvbSAnLi4vY29tbW9uLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiUmFkaW9CdXR0b25QYW5lbEVsZW1lbnQgfSBmcm9tICcuLi9yYWRpby1idXR0b24tcGFuZWwuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJSYWRpb0J1dHRvbkVsZW1lbnQgfSBmcm9tICcuLi9yYWRpby1idXR0b24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9yYWRpby1idXR0b24tZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogSXQgY2FuIGJlIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIG9uZSBvciBtb3JlIGBzYmItcmFkaW8tYnV0dG9uYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLXJhZGlvLWJ1dHRvbmAgZWxlbWVudHMgdG8gdGhlIGBzYmItcmFkaW8tYnV0dG9uLWdyb3VwYC5cbiAqIEBzbG90IGVycm9yIC0gVXNlIHRoaXMgdG8gcHJvdmlkZSBhIGBzYmItZm9ybS1lcnJvcmAgdG8gc2hvdyBhbiBlcnJvciBtZXNzYWdlLlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXJhZGlvLWJ1dHRvbi1ncm91cCcpXG5jbGFzcyBTYmJSYWRpb0J1dHRvbkdyb3VwRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYkRpc2FibGVkTWl4aW4oXG4gIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAncmFkaW9ncm91cCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtib3hTaXppbmdTdHlsZXMsIHN0eWxlXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgZGlkQ2hhbmdlOiAnZGlkQ2hhbmdlJyxcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICAgIGlucHV0OiAnaW5wdXQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByYWRpb3MgY2FuIGJlIGRlc2VsZWN0ZWQuXG4gICAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnYWxsb3ctZW1wdHktc2VsZWN0aW9uJywgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWxsb3dFbXB0eVNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSByYWRpbyBncm91cCBpcyByZXF1aXJlZC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIHJhZGlvIGdyb3VwLlxuICAgKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCB2YWx1ZSh2YWw6IFQgfCBudWxsKSB7XG4gICAgdGhpcy5fZmFsbGJhY2tWYWx1ZSA9IHZhbDtcbiAgICBpZiAoIXRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodmFsID09IG51bGwpIHtcbiAgICAgIHRoaXMucmFkaW9CdXR0b25zLmZvckVhY2goKHIpID0+IChyLmNoZWNrZWQgPSBmYWxzZSkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB0b0NoZWNrID0gdGhpcy5yYWRpb0J1dHRvbnMuZmluZCgocikgPT4gci52YWx1ZSA9PT0gdmFsKTtcbiAgICBpZiAodG9DaGVjaykge1xuICAgICAgdG9DaGVjay5jaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucmFkaW9CdXR0b25zLmZpbmQoKHIpID0+IHIuY2hlY2tlZCAmJiAhci5kaXNhYmxlZCk/LnZhbHVlID8/IHRoaXMuX2ZhbGxiYWNrVmFsdWU7XG4gIH1cbiAgLyoqXG4gICAqIFVzZWQgdG8gcHJlc2VydmUgdGhlIGB2YWx1ZWAgaW4gY2FzZSB0aGUgcmFkaW9zIGFyZSBub3QgeWV0ICdsb2FkZWQnXG4gICAqL1xuICBwcml2YXRlIF9mYWxsYmFja1ZhbHVlOiBUIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIHhzLCBzIG9yIG0uXG4gICAqIEBkZWZhdWx0ICdtJyAvICd4cycgKGxlYW4pXG4gICAqL1xuICBAcHJvcGVydHkoKSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogU2JiUmFkaW9CdXR0b25TaXplID0gaXNMZWFuKCkgPyAneHMnIDogJ20nO1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZXMgdGhlIGJlaGF2aW91ciBvZiBgb3JpZW50YXRpb25gIHByb3BlcnR5LlxuICAgKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiAnaG9yaXpvbnRhbC1mcm9tJywgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgaG9yaXpvbnRhbEZyb206IFNiYkhvcml6b250YWxGcm9tIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIFJhZGlvIGdyb3VwJ3Mgb3JpZW50YXRpb24sIGVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsLlxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3Igb3JpZW50YXRpb246IFNiYk9yaWVudGF0aW9uID0gJ2hvcml6b250YWwnO1xuXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3IgbmFtZTogc3RyaW5nID0gYHNiYi1yYWRpby1idXR0b24tZ3JvdXAtJHsrK25leHRJZH1gO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGNvbnRhaW5lZCByYWRpbyBidXR0b25zLlxuICAgKi9cbiAgcHVibGljIGdldCByYWRpb0J1dHRvbnMoKTogKFNiYlJhZGlvQnV0dG9uRWxlbWVudDxUPiB8IFNiYlJhZGlvQnV0dG9uUGFuZWxFbGVtZW50PFQ+KVtdIHtcbiAgICByZXR1cm4gKFxuICAgICAgQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2JiLXJhZGlvLWJ1dHRvbiwgc2JiLXJhZGlvLWJ1dHRvbi1wYW5lbCcpID8/IFtdKSBhcyAoXG4gICAgICAgIHwgU2JiUmFkaW9CdXR0b25FbGVtZW50PFQ+XG4gICAgICAgIHwgU2JiUmFkaW9CdXR0b25QYW5lbEVsZW1lbnQ8VD5cbiAgICAgIClbXVxuICAgICkuZmlsdGVyKChlbCkgPT4gZWwuY2xvc2VzdD8uKCdzYmItcmFkaW8tYnV0dG9uLWdyb3VwJykgPT09IHRoaXMpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NoYW5nZScsIChlOiBFdmVudCkgPT4gdGhpcy5fb25SYWRpb0NoYW5nZShlKSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1oYXMtcGFuZWwnLCAhIXRoaXMucXVlcnlTZWxlY3Rvcj8uKCdzYmItcmFkaW8tYnV0dG9uLXBhbmVsJykpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpKSB7XG4gICAgICB0aGlzLnJhZGlvQnV0dG9ucy5mb3JFYWNoKChyKSA9PiByLnJlcXVlc3RVcGRhdGU/LignZGlzYWJsZWQnKSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3JlcXVpcmVkJykpIHtcbiAgICAgIHRoaXMucmFkaW9CdXR0b25zLmZvckVhY2goKHIpID0+IHIucmVxdWVzdFVwZGF0ZT8uKCdyZXF1aXJlZCcpKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnc2l6ZScpKSB7XG4gICAgICB0aGlzLnJhZGlvQnV0dG9ucy5mb3JFYWNoKChyKSA9PiByLnJlcXVlc3RVcGRhdGU/Lignc2l6ZScpKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbmFtZScpKSB7XG4gICAgICB0aGlzLl91cGRhdGVSYWRpb3NOYW1lKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8dGhpcz4pOiB2b2lkIHtcbiAgICBzdXBlci5maXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpID0+IHRoaXMuX3VwZGF0ZVJhZGlvU3RhdGUoKSk7XG4gIH1cblxuICBwcml2YXRlIF9vblJhZGlvQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCEgYXMgU2JiUmFkaW9CdXR0b25FbGVtZW50IHwgU2JiUmFkaW9CdXR0b25QYW5lbEVsZW1lbnQ7XG5cbiAgICAvLyBPbmx5IGZpbHRlciByYWRpby1idXR0b25zIGV2ZW50XG4gICAgaWYgKFxuICAgICAgKHRhcmdldC5sb2NhbE5hbWUgIT09ICdzYmItcmFkaW8tYnV0dG9uJyAmJiB0YXJnZXQubG9jYWxOYW1lICE9PSAnc2JiLXJhZGlvLWJ1dHRvbi1wYW5lbCcpIHx8XG4gICAgICB0YXJnZXQuZ3JvdXAgIT09IHRoaXNcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9mYWxsYmFja1ZhbHVlID0gbnVsbDsgLy8gU2luY2UgdGhlIHVzZXIgaW50ZXJhY3RlZCwgdGhlIGZhbGxiYWNrVmFsdWUgbG9naWMgZG9lcyBub3QgYXBwbHkgYW55bW9yZVxuXG4gICAgLyoqXG4gICAgICogRGVwcmVjYXRlZC4gTWlycm9ycyBjaGFuZ2UgZXZlbnQgZm9yIFJlYWN0LiBXaWxsIGJlIHJlbW92ZWQgb25jZSBSZWFjdCBwcm9wZXJseSBzdXBwb3J0cyBjaGFuZ2UgZXZlbnRzLlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnZGlkQ2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm94eSAnbmFtZScgdG8gY2hpbGQgcmFkaW8tYnV0dG9uc1xuICAgKi9cbiAgcHJpdmF0ZSBfdXBkYXRlUmFkaW9zTmFtZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJhZGlvQnV0dG9ucy5mb3JFYWNoKChyKSA9PiAoci5uYW1lID0gdGhpcy5uYW1lKSk7XG4gIH1cblxuICAvKipcbiAgICogUmUtdHJpZ2dlciB0aGUgc2V0dGVyIGFuZCB1cGRhdGUgdGhlIGNoZWNrZWQgc3RhdGUgb2YgdGhlIHJhZGlvcy5cbiAgICogTWFpbmx5IHVzZWQgdG8gY292ZXIgY2FzZXMgd2hlcmUgdGhlIHNldHRlciBpcyBjYWxsZWQgYmVmb3JlIHRoZSByYWRpb3MgYXJlIGxvYWRlZFxuICAgKi9cbiAgcHJpdmF0ZSBfdXBkYXRlUmFkaW9TdGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZmFsbGJhY2tWYWx1ZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXNlbGYtYXNzaWduXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItcmFkaW8tZ3JvdXBcIj5cbiAgICAgICAgPHNsb3RcbiAgICAgICAgICBAc2xvdGNoYW5nZT0keygpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVJhZGlvc05hbWUoKTtcbiAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVJhZGlvU3RhdGUoKTtcbiAgICAgICAgICB9fVxuICAgICAgICA+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXJhZGlvLWdyb3VwX19lcnJvclwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwiZXJyb3JcIj48L3Nsb3Q+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItcmFkaW8tYnV0dG9uLWdyb3VwJzogU2JiUmFkaW9CdXR0b25Hcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlQSxJQUFJLFNBQVM7SUFXUCw4QkFBMEIsTUFBQTs7MEJBRC9CLGNBQWMsd0JBQXdCLENBQUM7Ozs7QUFDYSxNQUFBLGNBQUEsaUJBQ25ELHlCQUF5QixVQUFVLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQURPLEVBQUEsbUJBQVEsWUFFcEQ7QUFBQSxJQW1GQyxjQUFBO0FBQ0UsWUFBQTtBQXRFRjtBQU9BO0FBZ0NZO0FBTVo7QUFNQTtBQUlBO0FBdkRnQix5QkFBQSx3Q0FoQlosa0JBQUEsTUFBQSwwQkFBQSxHQUEwQixrQkFBQSxNQUFBLG1DQWdCaUIsS0FBSztBQU9wQyx5QkFBQSw2QkFBQSxrQkFBQSxNQUFBLHNDQUFBLEdBQUEsa0JBQUEsTUFBQSx3QkFBb0IsS0FBSztBQTBCakMsV0FBQSxrQkFBYyxrQkFBQSxNQUFBLDJCQUFBLEdBQWE7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
@@ -1 +1 @@
1
- {"version":3,"file":"radio-button-panel.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/radio-button/radio-button-panel/radio-button-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAKb,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,6BAA6B,CAAC;AAErC,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,cAAc,EACd,sBAAsB,GAAG,qBAAqB,CAC/C,CAAC;;AAEF;;;;;;;;;;;GAWG;AACH,qBAGM,0BAA0B,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,+BAEpD;IACC,OAAuB,MAAM,EAAE,cAAc,CAA8C;IAG3F,gBAAuB,MAAM;;;MAGlB;IAEX;;;OAGG;IACH,SAEgB,IAAI,EAAE,YAAY,CAAwB;IAE1D;;OAEG;IACH,SACgB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAQ;IAEvC,OAAO,CAAC,yBAAyB,CAAkB;IAEnC,iBAAiB,IAAI,IAAI;cAOtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAkB5E;;OAEG;cACgB,qBAAqB,IAAI,IAAI;IAShD;;OAEG;cACsB,kBAAkB,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5F,OAAO,CAAC,oBAAoB;cAST,MAAM,IAAI,cAAc;CAmB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,wBAAwB,EAAE,0BAA0B,CAAC;KACtD;IAED,UAAU,2BAA2B;QACnC,WAAW,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;KAC1C;CACF"}
1
+ {"version":3,"file":"radio-button-panel.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/radio-button/radio-button-panel/radio-button-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAKb,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,cAAc,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,6BAA6B,CAAC;AAErC,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,cAAc,EACd,sBAAsB,GAAG,qBAAqB,CAC/C,CAAC;;AAEF;;;;;;;;;;;GAWG;AACH,qBAEM,0BAA0B,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,+BAEpD;IACC,OAAuB,MAAM,EAAE,cAAc,CAI3C;IAGF,gBAAuB,MAAM;;;MAGlB;IAEX;;;OAGG;IACH,SAEgB,IAAI,EAAE,YAAY,CAAwB;IAE1D;;OAEG;IACH,SACgB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAQ;IAEvC,OAAO,CAAC,yBAAyB,CAAkB;IAEnC,iBAAiB,IAAI,IAAI;cAOtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAkB5E;;OAEG;cACgB,qBAAqB,IAAI,IAAI;IAShD;;OAEG;cACsB,kBAAkB,CAAC,IAAI,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5F,OAAO,CAAC,oBAAoB;cAST,MAAM,IAAI,cAAc;CAmB5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,wBAAwB,EAAE,0BAA0B,CAAC;KACtD;IAED,UAAU,2BAA2B;QACnC,WAAW,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;KAC1C;CACF"}