@sbb-esta/lyne-elements 3.0.0-next.0 → 3.0.0-next.2

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 (567) hide show
  1. package/accordion/accordion.component.js +19 -22
  2. package/action-group/action-group.component.js +3 -5
  3. package/alert/alert/alert.component.d.ts +5 -7
  4. package/alert/alert/alert.component.d.ts.map +1 -1
  5. package/alert/alert/alert.component.js +69 -84
  6. package/alert/alert-group/alert-group.component.js +2 -3
  7. package/autocomplete/autocomplete-base-element.js +83 -95
  8. package/autocomplete/autocomplete.component.js +28 -33
  9. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +42 -50
  10. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +1 -1
  11. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  12. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +4 -5
  13. package/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +17 -20
  14. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +1 -1
  15. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  16. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +21 -24
  17. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +5 -5
  18. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +27 -31
  19. package/button/mini-button/mini-button.component.js +1 -1
  20. package/button/mini-button-group/mini-button-group.component.js +1 -2
  21. package/calendar/calendar.component.d.ts +0 -5
  22. package/calendar/calendar.component.d.ts.map +1 -1
  23. package/calendar/calendar.component.js +129 -147
  24. package/card/card/card.component.js +12 -12
  25. package/card/card-badge/card-badge.component.js +17 -17
  26. package/card/common/card-action-common.js +20 -22
  27. package/checkbox/checkbox/checkbox.component.js +17 -20
  28. package/checkbox/checkbox-group/checkbox-group.component.js +39 -52
  29. package/checkbox/checkbox-panel/checkbox-panel.component.js +18 -21
  30. package/checkbox/common/checkbox-common.js +13 -15
  31. package/chip/chip-group/chip-group.component.js +66 -80
  32. package/clock/clock.component.js +50 -60
  33. package/container/container/container.component.js +28 -29
  34. package/container/sticky-bar/sticky-bar.component.js +25 -26
  35. package/core/a11y/focus-trap-controller.js +11 -14
  36. package/core/a11y/input-modality-detector.js +15 -16
  37. package/core/a11y/interactivity-checker.js +10 -10
  38. package/core/a11y/live-announcer.js +12 -14
  39. package/core/base-elements/button-base-element.js +58 -63
  40. package/core/base-elements/link-base-element.js +3 -6
  41. package/core/base-elements/open-close-base-element.js +1 -1
  42. package/core/config/config.d.ts.map +1 -1
  43. package/core/controllers/escapable-overlay-controller.js +10 -12
  44. package/core/controllers/id-reference-controller.js +13 -14
  45. package/core/controllers/inert-controller.js +8 -10
  46. package/core/controllers/slot-state-controller.js +16 -26
  47. package/core/datetime/date-adapter.d.ts +1 -1
  48. package/core/datetime/date-adapter.d.ts.map +1 -1
  49. package/core/datetime/date-adapter.js +21 -21
  50. package/core/datetime/native-date-adapter.d.ts +1 -1
  51. package/core/datetime/native-date-adapter.d.ts.map +1 -1
  52. package/core/datetime/native-date-adapter.js +28 -28
  53. package/core/decorators/force-type.js +4 -5
  54. package/core/decorators/id-reference.js +34 -37
  55. package/core/decorators/plain-date.js +16 -19
  56. package/core/dom/breakpoint.js +8 -8
  57. package/core/eventing/event-emitter.js +4 -5
  58. package/core/i18n/i18n.js +41 -41
  59. package/core/mixins/element-internals-mixin.d.ts +21 -0
  60. package/core/mixins/element-internals-mixin.d.ts.map +1 -1
  61. package/core/mixins/element-internals-mixin.js +109 -23
  62. package/core/mixins/form-associated-checkbox-mixin.js +32 -37
  63. package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  64. package/core/mixins/form-associated-input-mixin.js +69 -93
  65. package/core/mixins/form-associated-mixin.js +32 -35
  66. package/core/mixins/form-associated-radio-button-mixin.js +3 -5
  67. package/core/mixins/hydration-mixin.js +12 -13
  68. package/core/mixins/named-slot-list-mixin.js +32 -37
  69. package/core/mixins/panel-mixin.js +26 -27
  70. package/core/mixins/readonly-mixin.d.ts.map +1 -1
  71. package/core/mixins/readonly-mixin.js +10 -11
  72. package/core/mixins.js +27 -25
  73. package/core/overlay/position.js +23 -23
  74. package/core/styles/core/mediaqueries.scss +1 -1
  75. package/core/styles/core.scss +70 -37
  76. package/core/styles/mixins/table.scss +1 -24
  77. package/core/styles/mixins/typo.scss +0 -1
  78. package/core/testing/event-spy.js +2 -4
  79. package/core/testing/wait-for-image-ready.js +8 -9
  80. package/core/testing/wait-for-render.js +8 -9
  81. package/core.css +29 -1
  82. package/custom-elements.json +5804 -3207
  83. package/date-input/date-input.component.d.ts +16 -1
  84. package/date-input/date-input.component.d.ts.map +1 -1
  85. package/date-input/date-input.component.js +71 -58
  86. package/datepicker/common/datepicker-button.d.ts +31 -20
  87. package/datepicker/common/datepicker-button.d.ts.map +1 -1
  88. package/datepicker/common/datepicker-button.js +79 -74
  89. package/datepicker/common.d.ts +0 -1
  90. package/datepicker/common.d.ts.map +1 -1
  91. package/datepicker/common.js +3 -5
  92. package/datepicker/datepicker/datepicker.component.d.ts +23 -102
  93. package/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  94. package/datepicker/datepicker/datepicker.component.js +91 -233
  95. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +2 -2
  96. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  97. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +27 -18
  98. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +2 -2
  99. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  100. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +27 -18
  101. package/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts +6 -26
  102. package/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
  103. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +36 -145
  104. package/datepicker.js +9 -11
  105. package/development/accordion/accordion.component.js +4 -7
  106. package/development/action-group/action-group.component.js +3 -5
  107. package/development/alert/alert/alert.component.d.ts +5 -7
  108. package/development/alert/alert/alert.component.d.ts.map +1 -1
  109. package/development/alert/alert/alert.component.js +34 -52
  110. package/development/alert/alert-group/alert-group.component.js +2 -3
  111. package/development/autocomplete/autocomplete-base-element.js +20 -32
  112. package/development/autocomplete/autocomplete.component.js +7 -12
  113. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +10 -18
  114. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts +1 -1
  115. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.d.ts.map +1 -1
  116. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +4 -9
  117. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  118. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +4 -7
  119. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +1 -1
  120. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  121. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +4 -7
  122. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +2 -2
  123. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  124. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +5 -9
  125. package/development/button/accent-button/accent-button.component.js +1 -1
  126. package/development/button/accent-button-link/accent-button-link.component.js +1 -1
  127. package/development/button/accent-button-static/accent-button-static.component.js +1 -1
  128. package/development/button/button/button.component.js +1 -1
  129. package/development/button/button-link/button-link.component.js +1 -1
  130. package/development/button/button-static/button-static.component.js +1 -1
  131. package/development/button/common/button-common.js +1 -1
  132. package/development/button/mini-button/mini-button.component.js +1 -1
  133. package/development/button/mini-button-group/mini-button-group.component.js +2 -3
  134. package/development/button/secondary-button/secondary-button.component.js +1 -1
  135. package/development/button/secondary-button-link/secondary-button-link.component.js +1 -1
  136. package/development/button/secondary-button-static/secondary-button-static.component.js +1 -1
  137. package/development/button/transparent-button/transparent-button.component.js +1 -1
  138. package/development/button/transparent-button-link/transparent-button-link.component.js +1 -1
  139. package/development/button/transparent-button-static/transparent-button-static.component.js +1 -1
  140. package/development/calendar/calendar.component.d.ts +0 -5
  141. package/development/calendar/calendar.component.d.ts.map +1 -1
  142. package/development/calendar/calendar.component.js +20 -44
  143. package/development/card/card/card.component.js +1 -1
  144. package/development/card/card-badge/card-badge.component.js +2 -2
  145. package/development/card/card-button/card-button.component.js +1 -1
  146. package/development/card/card-link/card-link.component.js +1 -1
  147. package/development/card/common/card-action-common.js +4 -6
  148. package/development/checkbox/checkbox/checkbox.component.js +2 -5
  149. package/development/checkbox/checkbox-group/checkbox-group.component.js +8 -21
  150. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +2 -5
  151. package/development/checkbox/common/checkbox-common.js +3 -5
  152. package/development/chip/chip/chip.component.js +1 -1
  153. package/development/chip/chip-group/chip-group.component.js +18 -32
  154. package/development/chip-label/chip-label.component.js +1 -1
  155. package/development/clock/clock.component.js +23 -33
  156. package/development/container/container/container.component.js +2 -3
  157. package/development/container/sticky-bar/sticky-bar.component.js +3 -4
  158. package/development/core/a11y/arrow-navigation.js +1 -1
  159. package/development/core/a11y/fake-event-detection.js +1 -1
  160. package/development/core/a11y/focus-trap-controller.js +6 -9
  161. package/development/core/a11y/focus-visible-within-controller.js +1 -1
  162. package/development/core/a11y/input-modality-detector.js +2 -3
  163. package/development/core/a11y/interactivity-checker.js +2 -2
  164. package/development/core/a11y/live-announcer.js +6 -8
  165. package/development/core/base-elements/action-base-element.js +2 -3
  166. package/development/core/base-elements/button-base-element.js +6 -11
  167. package/development/core/base-elements/link-base-element.js +4 -7
  168. package/development/core/base-elements/open-close-base-element.js +2 -2
  169. package/development/core/config/config.d.ts.map +1 -1
  170. package/development/core/config/config.js +1 -1
  171. package/development/core/controllers/escapable-overlay-controller.js +3 -5
  172. package/development/core/controllers/id-reference-controller.js +2 -3
  173. package/development/core/controllers/inert-controller.js +4 -6
  174. package/development/core/controllers/language-controller.js +1 -1
  175. package/development/core/controllers/media-matchers-controller.js +1 -1
  176. package/development/core/controllers/slot-state-controller.js +8 -18
  177. package/development/core/datetime/date-adapter.d.ts +1 -1
  178. package/development/core/datetime/date-adapter.d.ts.map +1 -1
  179. package/development/core/datetime/date-adapter.js +5 -5
  180. package/development/core/datetime/native-date-adapter.d.ts +1 -1
  181. package/development/core/datetime/native-date-adapter.d.ts.map +1 -1
  182. package/development/core/datetime/native-date-adapter.js +4 -4
  183. package/development/core/decorators/force-type.js +3 -4
  184. package/development/core/decorators/get-override.js +1 -1
  185. package/development/core/decorators/handle-distinct-change.js +1 -1
  186. package/development/core/decorators/host-attributes.js +1 -1
  187. package/development/core/decorators/id-reference.js +4 -7
  188. package/development/core/decorators/plain-date.js +5 -8
  189. package/development/core/decorators/slot-state.js +1 -1
  190. package/development/core/dom/animation.js +1 -1
  191. package/development/core/dom/breakpoint.js +2 -2
  192. package/development/core/dom/host-context.js +1 -1
  193. package/development/core/dom/platform.js +1 -1
  194. package/development/core/dom/scroll.js +1 -1
  195. package/development/core/dom/set-or-remove-attribute.js +1 -1
  196. package/development/core/eventing/composed-path-has-attribute.js +1 -1
  197. package/development/core/eventing/event-emitter.js +2 -3
  198. package/development/core/eventing/form-element-handlers.js +1 -1
  199. package/development/core/eventing/forward-event.js +1 -1
  200. package/development/core/eventing/throttle.js +1 -1
  201. package/development/core/i18n/i18n.js +18 -18
  202. package/development/core/mixins/animation-complete-mixin.js +1 -1
  203. package/development/core/mixins/disabled-mixin.js +1 -1
  204. package/development/core/mixins/element-internals-mixin.d.ts +21 -0
  205. package/development/core/mixins/element-internals-mixin.d.ts.map +1 -1
  206. package/development/core/mixins/element-internals-mixin.js +123 -2
  207. package/development/core/mixins/form-associated-checkbox-mixin.js +6 -9
  208. package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  209. package/development/core/mixins/form-associated-input-mixin.js +29 -59
  210. package/development/core/mixins/form-associated-mixin.js +6 -9
  211. package/development/core/mixins/form-associated-radio-button-mixin.js +7 -9
  212. package/development/core/mixins/hydration-mixin.js +3 -4
  213. package/development/core/mixins/named-slot-list-mixin.js +4 -7
  214. package/development/core/mixins/negative-mixin.js +1 -1
  215. package/development/core/mixins/panel-mixin.js +2 -3
  216. package/development/core/mixins/readonly-mixin.d.ts.map +1 -1
  217. package/development/core/mixins/readonly-mixin.js +4 -6
  218. package/development/core/mixins/required-mixin.js +1 -1
  219. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  220. package/development/core/mixins.js +4 -2
  221. package/development/core/overlay/overlay-option-panel.js +1 -1
  222. package/development/core/overlay/overlay-trigger-attributes.js +1 -1
  223. package/development/core/overlay/overlay.js +1 -1
  224. package/development/core/overlay/position.js +5 -5
  225. package/development/core/testing/event-spy.js +3 -5
  226. package/development/core/testing/mocha-extensions.js +1 -1
  227. package/development/core/testing/wait-for-condition.js +1 -1
  228. package/development/core/testing/wait-for-image-ready.js +2 -3
  229. package/development/core/testing/wait-for-render.js +2 -3
  230. package/development/date-input/date-input.component.d.ts +16 -1
  231. package/development/date-input/date-input.component.d.ts.map +1 -1
  232. package/development/date-input/date-input.component.js +28 -11
  233. package/development/datepicker/common/datepicker-button.d.ts +31 -20
  234. package/development/datepicker/common/datepicker-button.d.ts.map +1 -1
  235. package/development/datepicker/common/datepicker-button.js +103 -90
  236. package/development/datepicker/common.d.ts +0 -1
  237. package/development/datepicker/common.d.ts.map +1 -1
  238. package/development/datepicker/common.js +4 -6
  239. package/development/datepicker/datepicker/datepicker.component.d.ts +23 -102
  240. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  241. package/development/datepicker/datepicker/datepicker.component.js +94 -337
  242. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +2 -2
  243. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  244. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +18 -6
  245. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +2 -2
  246. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  247. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +18 -6
  248. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts +6 -26
  249. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.d.ts.map +1 -1
  250. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +137 -224
  251. package/development/datepicker.js +3 -5
  252. package/development/dialog/dialog/dialog.component.d.ts +7 -16
  253. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  254. package/development/dialog/dialog/dialog.component.js +78 -149
  255. package/development/dialog/dialog-actions/dialog-actions.component.d.ts +2 -2
  256. package/development/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  257. package/development/dialog/dialog-actions/dialog-actions.component.js +20 -17
  258. package/development/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  259. package/development/dialog/dialog-content/dialog-content.component.js +5 -46
  260. package/development/dialog/dialog-title/dialog-title.component.d.ts +2 -26
  261. package/development/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  262. package/development/dialog/dialog-title/dialog-title.component.js +12 -179
  263. package/development/divider/divider.component.js +2 -2
  264. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +9 -13
  265. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +2 -2
  266. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +5 -6
  267. package/development/file-selector/common/file-selector-common.js +2 -3
  268. package/development/file-selector/file-selector/file-selector.component.js +1 -1
  269. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  270. package/development/flip-card/flip-card/flip-card.component.js +7 -13
  271. package/development/flip-card/flip-card-details/flip-card-details.component.js +3 -4
  272. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +3 -4
  273. package/development/footer/footer.component.js +1 -1
  274. package/development/form-error/form-error.component.js +3 -4
  275. package/development/form-field/form-field/form-field.component.d.ts +1 -1
  276. package/development/form-field/form-field/form-field.component.d.ts.map +1 -1
  277. package/development/form-field/form-field/form-field.component.js +39 -67
  278. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  279. package/development/form-field/form-field-clear/form-field-clear.component.js +6 -8
  280. package/development/header/common/header-action-common.js +1 -1
  281. package/development/header/header/header.component.js +5 -8
  282. package/development/header/header-button/header-button.component.js +1 -1
  283. package/development/header/header-link/header-link.component.js +1 -1
  284. package/development/icon/icon-base.d.ts +5 -3
  285. package/development/icon/icon-base.d.ts.map +1 -1
  286. package/development/icon/icon-base.js +4 -7
  287. package/development/icon/icon-name-mixin.js +1 -1
  288. package/development/icon/icon-request.js +2 -3
  289. package/development/icon/icon-validate.js +1 -1
  290. package/development/icon/icon.component.d.ts +1 -2
  291. package/development/icon/icon.component.d.ts.map +1 -1
  292. package/development/icon/icon.component.js +8 -19
  293. package/development/image/image.component.js +7 -9
  294. package/development/journey-header/journey-header.component.d.ts +5 -5
  295. package/development/journey-header/journey-header.component.d.ts.map +1 -1
  296. package/development/journey-header/journey-header.component.js +26 -40
  297. package/development/lead-container/lead-container.component.js +1 -1
  298. package/development/link/block-link/block-link.component.js +1 -1
  299. package/development/link/block-link-button/block-link-button.component.js +1 -1
  300. package/development/link/block-link-static/block-link-static.component.js +1 -1
  301. package/development/link/common/block-link-common.js +1 -1
  302. package/development/link/common/inline-link-common.js +1 -1
  303. package/development/link/link/link.component.js +1 -1
  304. package/development/link/link-button/link-button.component.js +1 -1
  305. package/development/link/link-static/link-static.component.js +1 -1
  306. package/development/link-common-DPLJx5Uo.js +1 -1
  307. package/development/link-list/common/link-list-base.js +1 -1
  308. package/development/link-list/link-list/link-list.component.js +1 -1
  309. package/development/link-list/link-list-anchor/link-list-anchor.component.js +1 -1
  310. package/development/loading-indicator/loading-indicator.component.js +1 -1
  311. package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  312. package/development/logo/logo.component.js +1 -1
  313. package/development/map-container/map-container.component.js +2 -3
  314. package/development/menu/common/menu-action-common.js +1 -1
  315. package/development/menu/menu/menu.component.js +17 -25
  316. package/development/menu/menu-button/menu-button.component.js +1 -1
  317. package/development/menu/menu-link/menu-link.component.js +1 -1
  318. package/development/message/message.component.d.ts +4 -8
  319. package/development/message/message.component.d.ts.map +1 -1
  320. package/development/message/message.component.js +12 -54
  321. package/development/navigation/common/navigation-action-common.js +3 -5
  322. package/development/navigation/navigation/navigation.component.js +19 -35
  323. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  324. package/development/navigation/navigation-link/navigation-link.component.js +1 -1
  325. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  326. package/development/navigation/navigation-marker/navigation-marker.component.js +4 -6
  327. package/development/navigation/navigation-section/navigation-section.component.d.ts +1 -1
  328. package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  329. package/development/navigation/navigation-section/navigation-section.component.js +27 -37
  330. package/development/notification/notification.component.d.ts +7 -9
  331. package/development/notification/notification.component.d.ts.map +1 -1
  332. package/development/notification/notification.component.js +47 -77
  333. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  334. package/development/option/optgroup/optgroup-base-element.js +8 -14
  335. package/development/option/optgroup/optgroup.component.js +6 -10
  336. package/development/option/option/option-base-element.js +3 -4
  337. package/development/option/option/option.component.js +7 -10
  338. package/development/overlay/overlay-base-element.d.ts +24 -6
  339. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  340. package/development/overlay/overlay-base-element.js +114 -15
  341. package/development/overlay/overlay.component.d.ts +2 -12
  342. package/development/overlay/overlay.component.d.ts.map +1 -1
  343. package/development/overlay/overlay.component.js +33 -98
  344. package/development/paginator/common/paginator-common.js +1 -1
  345. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  346. package/development/paginator/paginator/paginator.component.js +2 -3
  347. package/development/popover/popover/popover.component.d.ts +45 -34
  348. package/development/popover/popover/popover.component.d.ts.map +1 -1
  349. package/development/popover/popover/popover.component.js +215 -172
  350. package/development/popover/popover-trigger/popover-trigger.component.js +1 -1
  351. package/development/popover/popover.js +2 -1
  352. package/development/popover.js +2 -1
  353. package/development/radio-button/common/radio-button-common.js +6 -10
  354. package/development/radio-button/radio-button/radio-button.component.js +2 -5
  355. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts +1 -1
  356. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  357. package/development/radio-button/radio-button-group/radio-button-group.component.js +8 -24
  358. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +3 -7
  359. package/development/screen-reader-only/screen-reader-only.component.js +1 -1
  360. package/development/select/select.component.js +26 -49
  361. package/development/selection-expansion-panel/selection-expansion-panel.component.js +7 -11
  362. package/development/sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  363. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  364. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +4 -7
  365. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  366. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  367. package/development/sidebar/sidebar/sidebar.component.js +9 -16
  368. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
  369. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  370. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +3 -8
  371. package/development/sidebar/sidebar-container/sidebar-container.component.js +9 -13
  372. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  373. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts +2 -0
  374. package/development/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  375. package/development/sidebar/sidebar-title/sidebar-title.component.js +3 -9
  376. package/development/signet/signet.component.js +1 -1
  377. package/development/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  378. package/development/skiplink-list/skiplink-list.component.js +19 -10
  379. package/development/slider/slider.component.js +4 -6
  380. package/development/status/status.component.d.ts +4 -7
  381. package/development/status/status.component.d.ts.map +1 -1
  382. package/development/status/status.component.js +23 -56
  383. package/development/stepper/step/step.component.d.ts +2 -1
  384. package/development/stepper/step/step.component.d.ts.map +1 -1
  385. package/development/stepper/step/step.component.js +16 -15
  386. package/development/stepper/step-label/step-label.component.d.ts +3 -3
  387. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  388. package/development/stepper/step-label/step-label.component.js +16 -17
  389. package/development/stepper/stepper/stepper.component.js +16 -29
  390. package/development/table/table-wrapper/table-wrapper.component.js +2 -7
  391. package/development/tabs/tab/tab.component.js +1 -1
  392. package/development/tabs/tab-group/tab-group.component.js +23 -38
  393. package/development/tabs/tab-label/tab-label.component.js +1 -1
  394. package/development/tag/tag/tag.component.js +7 -13
  395. package/development/tag/tag-group/tag-group.component.js +5 -13
  396. package/development/teaser/teaser.component.d.ts +6 -10
  397. package/development/teaser/teaser.component.d.ts.map +1 -1
  398. package/development/teaser/teaser.component.js +48 -76
  399. package/development/teaser-hero/teaser-hero.component.js +1 -1
  400. package/development/teaser-product/common/teaser-product-common.js +1 -1
  401. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  402. package/development/teaser-product/teaser-product-static/teaser-product-static.component.js +1 -1
  403. package/development/time-input/time-input.component.js +10 -14
  404. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  405. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  406. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +2 -5
  407. package/development/title/title-base.d.ts +0 -8
  408. package/development/title/title-base.d.ts.map +1 -1
  409. package/development/title/title-base.js +17 -50
  410. package/development/title/title.component.d.ts +2 -0
  411. package/development/title/title.component.d.ts.map +1 -1
  412. package/development/title/title.component.js +9 -14
  413. package/development/toast/toast.component.d.ts.map +1 -1
  414. package/development/toast/toast.component.js +7 -16
  415. package/development/toggle/toggle/toggle.component.js +28 -30
  416. package/development/toggle/toggle-option/toggle-option.component.d.ts +1 -1
  417. package/development/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  418. package/development/toggle/toggle-option/toggle-option.component.js +12 -19
  419. package/development/toggle-check/toggle-check.component.js +1 -1
  420. package/development/train/train/train.component.js +1 -1
  421. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  422. package/development/train/train-formation/train-formation.component.js +5 -7
  423. package/development/train/train-wagon/train-wagon.component.js +1 -1
  424. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  425. package/dialog/dialog/dialog.component.d.ts +7 -16
  426. package/dialog/dialog/dialog.component.d.ts.map +1 -1
  427. package/dialog/dialog/dialog.component.js +57 -87
  428. package/dialog/dialog-actions/dialog-actions.component.d.ts +2 -2
  429. package/dialog/dialog-actions/dialog-actions.component.d.ts.map +1 -1
  430. package/dialog/dialog-actions/dialog-actions.component.js +16 -16
  431. package/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
  432. package/dialog/dialog-content/dialog-content.component.js +14 -19
  433. package/dialog/dialog-title/dialog-title.component.d.ts +2 -26
  434. package/dialog/dialog-title/dialog-title.component.d.ts.map +1 -1
  435. package/dialog/dialog-title/dialog-title.component.js +16 -111
  436. package/divider/divider.component.js +3 -3
  437. package/expansion-panel/expansion-panel/expansion-panel.component.js +5 -9
  438. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  439. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +30 -31
  440. package/file-selector/common/file-selector-common.js +1 -2
  441. package/flip-card/flip-card/flip-card.component.js +48 -54
  442. package/flip-card/flip-card-details/flip-card-details.component.js +15 -16
  443. package/flip-card/flip-card-summary/flip-card-summary.component.js +19 -20
  444. package/form-error/form-error.component.js +13 -14
  445. package/form-field/form-field/form-field.component.d.ts +1 -1
  446. package/form-field/form-field/form-field.component.d.ts.map +1 -1
  447. package/form-field/form-field/form-field.component.js +149 -168
  448. package/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  449. package/form-field/form-field-clear/form-field-clear.component.js +19 -21
  450. package/header/header/header.component.js +26 -29
  451. package/icon/icon-base.d.ts +5 -3
  452. package/icon/icon-base.d.ts.map +1 -1
  453. package/icon/icon-base.js +32 -34
  454. package/icon/icon-request.js +10 -11
  455. package/icon/icon.component.d.ts +1 -2
  456. package/icon/icon.component.d.ts.map +1 -1
  457. package/icon/icon.component.js +37 -37
  458. package/icon-sidebar-button-common-CM-ueEhH.js +7 -0
  459. package/image/image.component.js +4 -6
  460. package/journey-header/journey-header.component.d.ts +5 -5
  461. package/journey-header/journey-header.component.d.ts.map +1 -1
  462. package/journey-header/journey-header.component.js +50 -63
  463. package/map-container/map-container.component.js +1 -2
  464. package/menu/menu/menu.component.js +47 -55
  465. package/message/message.component.d.ts +4 -8
  466. package/message/message.component.d.ts.map +1 -1
  467. package/message/message.component.js +18 -47
  468. package/navigation/common/navigation-action-common.js +19 -21
  469. package/navigation/navigation/navigation.component.js +73 -92
  470. package/navigation/navigation-marker/navigation-marker.component.js +26 -28
  471. package/navigation/navigation-section/navigation-section.component.d.ts +1 -1
  472. package/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
  473. package/navigation/navigation-section/navigation-section.component.js +72 -82
  474. package/notification/notification.component.d.ts +7 -9
  475. package/notification/notification.component.d.ts.map +1 -1
  476. package/notification/notification.component.js +77 -95
  477. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  478. package/option/optgroup/optgroup-base-element.js +36 -38
  479. package/option/optgroup/optgroup.component.js +16 -20
  480. package/option/option/option-base-element.js +3 -4
  481. package/option/option/option.component.js +26 -29
  482. package/overlay/overlay-base-element.d.ts +24 -6
  483. package/overlay/overlay-base-element.d.ts.map +1 -1
  484. package/overlay/overlay-base-element.js +98 -51
  485. package/overlay/overlay.component.d.ts +2 -12
  486. package/overlay/overlay.component.d.ts.map +1 -1
  487. package/overlay/overlay.component.js +57 -95
  488. package/package.json +1 -1
  489. package/paginator/paginator/paginator.component.js +3 -4
  490. package/popover/popover/popover.component.d.ts +45 -34
  491. package/popover/popover/popover.component.d.ts.map +1 -1
  492. package/popover/popover/popover.component.js +194 -168
  493. package/popover/popover-trigger/popover-trigger.component.js +1 -1
  494. package/popover/popover.js +2 -1
  495. package/popover.js +5 -4
  496. package/radio-button/common/radio-button-common.js +11 -15
  497. package/radio-button/radio-button/radio-button.component.js +16 -19
  498. package/radio-button/radio-button-group/radio-button-group.component.d.ts +1 -1
  499. package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  500. package/radio-button/radio-button-group/radio-button-group.component.js +27 -43
  501. package/radio-button/radio-button-panel/radio-button-panel.component.js +33 -37
  502. package/select/select.component.js +94 -117
  503. package/selection-expansion-panel/selection-expansion-panel.component.js +35 -39
  504. package/sidebar/common.js +1 -1
  505. package/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +10 -13
  506. package/sidebar/sidebar/sidebar.component.js +62 -69
  507. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
  508. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  509. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +18 -18
  510. package/sidebar/sidebar-container/sidebar-container.component.js +29 -33
  511. package/sidebar/sidebar-title/sidebar-title.component.d.ts +2 -0
  512. package/sidebar/sidebar-title/sidebar-title.component.d.ts.map +1 -1
  513. package/sidebar/sidebar-title/sidebar-title.component.js +16 -16
  514. package/sidebar.js +1 -1
  515. package/skiplink-list/skiplink-list.component.d.ts.map +1 -1
  516. package/skiplink-list/skiplink-list.component.js +36 -39
  517. package/slider/slider.component.js +11 -13
  518. package/standard-theme.css +29 -26
  519. package/status/status.component.d.ts +4 -7
  520. package/status/status.component.d.ts.map +1 -1
  521. package/status/status.component.js +34 -50
  522. package/stepper/step/step.component.d.ts +2 -1
  523. package/stepper/step/step.component.d.ts.map +1 -1
  524. package/stepper/step/step.component.js +26 -24
  525. package/stepper/step-label/step-label.component.d.ts +3 -3
  526. package/stepper/step-label/step-label.component.d.ts.map +1 -1
  527. package/stepper/step-label/step-label.component.js +15 -15
  528. package/stepper/stepper/stepper.component.js +72 -86
  529. package/table/table-wrapper/table-wrapper.component.js +17 -18
  530. package/table.css +0 -25
  531. package/tabs/tab-group/tab-group.component.js +77 -92
  532. package/tabs/tab-label/tab-label.component.js +12 -12
  533. package/tag/tag/tag.component.js +49 -55
  534. package/tag/tag-group/tag-group.component.js +37 -45
  535. package/teaser/teaser.component.d.ts +6 -10
  536. package/teaser/teaser.component.d.ts.map +1 -1
  537. package/teaser/teaser.component.js +45 -68
  538. package/teaser-product/common.js +1 -1
  539. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  540. package/teaser-product-common-C8oSkIxy.js +5 -0
  541. package/teaser-product.js +1 -1
  542. package/time-input/time-input.component.js +29 -33
  543. package/timetable-occupancy-icon/timetable-occupancy-icon.component.d.ts.map +1 -1
  544. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +22 -25
  545. package/title/title-base.d.ts +0 -8
  546. package/title/title-base.d.ts.map +1 -1
  547. package/title/title-base.js +34 -53
  548. package/title/title.component.d.ts +2 -0
  549. package/title/title.component.d.ts.map +1 -1
  550. package/title/title.component.js +9 -9
  551. package/toast/toast.component.d.ts.map +1 -1
  552. package/toast/toast.component.js +6 -9
  553. package/toggle/toggle/toggle.component.js +36 -40
  554. package/toggle/toggle-option/toggle-option.component.d.ts +1 -1
  555. package/toggle/toggle-option/toggle-option.component.d.ts.map +1 -1
  556. package/toggle/toggle-option/toggle-option.component.js +44 -51
  557. package/train/train-formation/train-formation.component.js +41 -43
  558. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +0 -530
  559. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +0 -1123
  560. package/datepicker/common/datepicker-association-controllers.d.ts +0 -21
  561. package/datepicker/common/datepicker-association-controllers.d.ts.map +0 -1
  562. package/datepicker/common/datepicker-association-controllers.js +0 -58
  563. package/development/datepicker/common/datepicker-association-controllers.d.ts +0 -21
  564. package/development/datepicker/common/datepicker-association-controllers.d.ts.map +0 -1
  565. package/development/datepicker/common/datepicker-association-controllers.js +0 -82
  566. package/icon-sidebar-button-common-DG8bnrBu.js +0 -7
  567. package/teaser-product-common-CpMAlYEp.js +0 -5
@@ -32,18 +32,15 @@ const style = css`*,
32
32
  --sbb-toggle-selected-option-border-style: solid;
33
33
  --sbb-toggle-selected-option-border-color: var(--sbb-color-smoke);
34
34
  --sbb-toggle-selected-option-background-color: var(--sbb-color-white);
35
- --sbb-toggle-selected-option-border-offset: 0.125rem;
36
- --sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xxxs);
35
+ --sbb-toggle-background-inset: 0.125rem;
36
+ --sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xs);
37
37
  --sbb-toggle-animation-duration: var(
38
38
  --sbb-disable-animation-duration,
39
39
  var(--sbb-animation-duration-6x)
40
40
  );
41
- --sbb-toggle-height: var(--sbb-size-element-xxs);
41
+ --sbb-toggle-height: var(--sbb-size-element-m);
42
42
  --sbb-toggle-border-radius: var(--sbb-border-radius-infinity);
43
43
  --sbb-toggle-grid-template-columns: auto auto;
44
- --_sbb-toggle-height: calc(
45
- var(--sbb-toggle-height) - 2 * var(--sbb-toggle-selected-option-border-offset)
46
- );
47
44
  }
48
45
  @media (forced-colors: active) {
49
46
  :host {
@@ -69,9 +66,9 @@ const style = css`*,
69
66
  }
70
67
  }
71
68
 
72
- :host([size=m]) {
73
- --sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xs);
74
- --sbb-toggle-height: var(--sbb-size-element-m);
69
+ :host([size=s]) {
70
+ --sbb-toggle-padding-inline: var(--sbb-spacing-responsive-xxxs);
71
+ --sbb-toggle-height: var(--sbb-size-element-xxs);
75
72
  }
76
73
 
77
74
  :host(:is(:not([data-initialized]), [data-disable-animation-on-resizing])) {
@@ -91,33 +88,38 @@ const style = css`*,
91
88
  align-items: center;
92
89
  min-width: var(--sbb-toggle-min-width);
93
90
  width: var(--sbb-toggle-width);
91
+ height: var(--sbb-toggle-height);
94
92
  max-width: 100%;
95
- height: var(--_sbb-toggle-height);
96
93
  user-select: none;
97
94
  -webkit-tap-highlight-color: transparent;
98
- background: var(--sbb-color-cloud);
99
95
  border-radius: var(--sbb-toggle-border-radius);
100
96
  }
101
97
  .sbb-toggle::before {
102
98
  content: "";
99
+ display: block;
103
100
  grid-area: start/start/end/end;
104
- padding-inline: var(--sbb-toggle-padding-inline);
105
101
  margin-inline: var(--sbb-toggle-option-left, 0) var(--sbb-toggle-option-right, 0);
106
- display: block;
107
102
  background-color: var(--sbb-toggle-selected-option-background-color);
108
103
  border-radius: var(--sbb-toggle-border-radius);
109
104
  max-width: 100%;
110
105
  height: 100%;
111
- box-shadow: 0 0 0 var(--sbb-toggle-selected-option-border-offset) var(--sbb-toggle-selected-option-background-color);
112
- outline: var(--sbb-toggle-selected-option-border-width) var(--sbb-toggle-selected-option-border-style) var(--sbb-toggle-selected-option-border-color);
113
- outline-offset: calc(var(--sbb-toggle-selected-option-border-offset) - var(--sbb-toggle-selected-option-border-width));
106
+ border: var(--sbb-toggle-selected-option-border-width) var(--sbb-toggle-selected-option-border-style) var(--sbb-toggle-selected-option-border-color);
114
107
  transition-duration: var(--sbb-toggle-animation-duration);
115
108
  transition-timing-function: ease;
116
109
  transition-property: margin-inline-start, margin-inline-end;
117
110
  }
111
+ .sbb-toggle::after {
112
+ content: "";
113
+ grid-area: start/start/end/end;
114
+ order: -1;
115
+ background: var(--sbb-color-cloud);
116
+ margin-inline: var(--sbb-toggle-background-inset);
117
+ height: calc(100% - 2 * var(--sbb-toggle-background-inset));
118
+ border-radius: var(--sbb-toggle-border-radius);
119
+ }
118
120
  @media (forced-colors: active) {
119
- .sbb-toggle {
120
- outline: var(--sbb-border-width-1x) solid CanvasText;
121
+ .sbb-toggle::after {
122
+ border: var(--sbb-border-width-1x) solid CanvasText;
121
123
  }
122
124
  }
123
125
 
@@ -145,7 +147,6 @@ let SbbToggleElement = (() => {
145
147
  let _set_value_decorators;
146
148
  var SbbToggleElement2 = (_a = class extends _classSuper {
147
149
  constructor() {
148
- var _a2, _b;
149
150
  super();
150
151
  __privateAdd(this, _even_accessor_storage);
151
152
  __privateAdd(this, _size_accessor_storage);
@@ -156,8 +157,8 @@ let SbbToggleElement = (() => {
156
157
  bubbles: true,
157
158
  composed: true
158
159
  });
159
- (_a2 = this.addEventListener) == null ? void 0 : _a2.call(this, "input", () => this._handleInput(), { passive: true });
160
- (_b = this.addEventListener) == null ? void 0 : _b.call(this, "keydown", (e) => this._handleKeyDown(e));
160
+ this.addEventListener?.("input", () => this._handleInput(), { passive: true });
161
+ this.addEventListener?.("keydown", (e) => this._handleKeyDown(e));
161
162
  }
162
163
  /**
163
164
  * If true, set the width of the component fixed; if false,
@@ -191,13 +192,11 @@ let SbbToggleElement = (() => {
191
192
  }
192
193
  }
193
194
  get value() {
194
- var _a2, _b;
195
- return isServer ? this._fallbackValue ?? null : ((_a2 = this.options.find((o) => o.checked)) == null ? void 0 : _a2.value) ?? ((_b = this.options[0]) == null ? void 0 : _b.value) ?? null;
195
+ return isServer ? this._fallbackValue ?? null : this.options.find((o) => o.checked)?.value ?? this.options[0]?.value ?? null;
196
196
  }
197
197
  /** The child instances of sbb-toggle-option as an array. */
198
198
  get options() {
199
- var _a2;
200
- return Array.from(((_a2 = this.querySelectorAll) == null ? void 0 : _a2.call(this, "sbb-toggle-option")) ?? []);
199
+ return Array.from(this.querySelectorAll?.("sbb-toggle-option") ?? []);
201
200
  }
202
201
  willUpdate(changedProperties) {
203
202
  super.willUpdate(changedProperties);
@@ -241,9 +240,8 @@ let SbbToggleElement = (() => {
241
240
  }
242
241
  /** @internal */
243
242
  updatePillPosition(resizing = false) {
244
- var _a2, _b, _c;
245
243
  const options = this.options;
246
- const toggleElement = (_a2 = this.shadowRoot) == null ? void 0 : _a2.querySelector(".sbb-toggle");
244
+ const toggleElement = this.shadowRoot?.querySelector(".sbb-toggle");
247
245
  if (options.length < 2 || !toggleElement || options.every((o) => !o.checked) || options.every((o) => !o.clientWidth)) {
248
246
  return;
249
247
  }
@@ -255,8 +253,8 @@ let SbbToggleElement = (() => {
255
253
  if (pillRight === "0px" && pillLeft === "0px") {
256
254
  return;
257
255
  }
258
- (_b = this.style) == null ? void 0 : _b.setProperty("--sbb-toggle-option-left", pillLeft);
259
- (_c = this.style) == null ? void 0 : _c.setProperty("--sbb-toggle-option-right", pillRight);
256
+ this.style?.setProperty("--sbb-toggle-option-left", pillLeft);
257
+ this.style?.setProperty("--sbb-toggle-option-right", pillRight);
260
258
  this.offsetWidth;
261
259
  this.toggleAttribute("data-initialized", true);
262
260
  }
@@ -337,4 +335,4 @@ let SbbToggleElement = (() => {
337
335
  export {
338
336
  SbbToggleElement
339
337
  };
340
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RvZ2dsZS90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBpc1NlcnZlcixcbiAgTGl0RWxlbWVudCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4LCBpbnRlcmFjdGl2aXR5Q2hlY2tlciwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IHR5cGUgU2JiVG9nZ2xlT3B0aW9uRWxlbWVudCB9IGZyb20gJy4uL3RvZ2dsZS1vcHRpb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90b2dnbGUuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3IgdHdvIGBzYmItdG9nZ2xlLW9wdGlvbmAsIGFjdGluZyBhcyBhIHRvZ2dsZSBidXR0b24uXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYDxzYmItdG9nZ2xlLW9wdGlvbj5gIGVsZW1lbnRzIHRvIHRoZSB0b2dnbGUuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBjaGFuZ2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgdG9nZ2xlIHZhbHVlIGNoYW5nZXMuXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gKFQgPSBzdHJpbmcpIHwgbnVsbFxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItdG9nZ2xlJylcbmNsYXNzIFNiYlRvZ2dsZUVsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3JhZGlvZ3JvdXAnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgY2hhbmdlOiAnY2hhbmdlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgc2V0IHRoZSB3aWR0aCBvZiB0aGUgY29tcG9uZW50IGZpeGVkOyBpZiBmYWxzZSxcbiAgICogdGhlIHdpZHRoIGlzIGR5bmFtaWMgYmFzZWQgb24gdGhlIGxhYmVsIG9mIHRoZSBzYmItdG9nZ2xlLW9wdGlvbi5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBldmVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIG0gb3Igcy5cbiAgICogQGRlZmF1bHQgJ20nIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ20nID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgdG9nZ2xlLiBJdCBuZWVkcyB0byBiZSBtdXRhYmxlIHNpbmNlIGl0IGlzIHVwZGF0ZWQgd2hlbmV2ZXJcbiAgICogYSBuZXcgb3B0aW9uIGlzIHNlbGVjdGVkIChzZWUgdGhlIGBvblRvZ2dsZU9wdGlvblNlbGVjdCgpYCBtZXRob2QpLlxuICAgKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogVCB8IG51bGwpIHtcbiAgICBpZiAoaXNTZXJ2ZXIgfHwgIXRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fZmFsbGJhY2tWYWx1ZSA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92YWx1ZUNoYW5nZWQodmFsdWUpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gaXNTZXJ2ZXJcbiAgICAgID8gKHRoaXMuX2ZhbGxiYWNrVmFsdWUgPz8gbnVsbClcbiAgICAgIDogKHRoaXMub3B0aW9ucy5maW5kKChvKSA9PiBvLmNoZWNrZWQpPy52YWx1ZSA/PyB0aGlzLm9wdGlvbnNbMF0/LnZhbHVlID8/IG51bGwpO1xuICB9XG4gIHByaXZhdGUgX2ZhbGxiYWNrVmFsdWU6IFQgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGNoaWxkIGluc3RhbmNlcyBvZiBzYmItdG9nZ2xlLW9wdGlvbiBhcyBhbiBhcnJheS4gKi9cbiAgcHVibGljIGdldCBvcHRpb25zKCk6IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQ8VD5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJUb2dnbGVPcHRpb25FbGVtZW50PFQ+Pignc2JiLXRvZ2dsZS1vcHRpb24nKSA/PyBbXSxcbiAgICApO1xuICB9XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSB0b2dnbGUgdmFsdWUgY2hhbmdlcy4gKi9cbiAgcHJpdmF0ZSBfY2hhbmdlOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKHRoaXMsIFNiYlRvZ2dsZUVsZW1lbnQuZXZlbnRzLmNoYW5nZSwge1xuICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgY29tcG9zZWQ6IHRydWUsXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdpbnB1dCcsICgpID0+IHRoaXMuX2hhbmRsZUlucHV0KCksIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykgfHwgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdmb3JtRGlzYWJsZWQnKSkge1xuICAgICAgdGhpcy5fdXBkYXRlRGlzYWJsZWQoKTtcbiAgICB9XG5cbiAgICAvLyBCZWZvcmUgdGhlIGZpcnN0IHVwZGF0ZSwgaW5pdCB3aXRoIHRoZSBmYWxsYmFjayB2YWx1ZS5cbiAgICAvLyBUaGUgd2lsbFVwZGF0ZSBob29rIGlzIHNhZmVyIHRoYW4gdGhlICd2YWx1ZScgc2V0dGVyLlxuICAgIGlmICghdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl92YWx1ZUNoYW5nZWQodGhpcy5fZmFsbGJhY2tWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuZXZlciB0aGUgdmFsdWUgY2hhbmdlcywgYm90aCBwcm9ncmFtbWF0aWNhbGx5IG9yIGJ5IHVzZXIgaW50ZXJhY3Rpb24uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXR1c0NoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICB0aGlzLnVwZGF0ZVBpbGxQb3NpdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHRvIHRoZSBpbml0IHZhbHVlIGlmIHByZXNlbnQuIFNlbGVjdCB0aGUgZmlyc3Qgb3B0aW9uLCBvdGhlcndpc2UuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSAodGhpcy5oYXNBdHRyaWJ1dGUoJ3ZhbHVlJykgPyB0aGlzLmdldEF0dHJpYnV0ZSgndmFsdWUnKSA6IG51bGwpIGFzIFQ7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gJ3N0cmluZycgfHwgc3RhdGUgPT0gbnVsbCkge1xuICAgICAgdGhpcy52YWx1ZSA9IChzdGF0ZSBhcyBUKSA/PyBudWxsO1xuICAgIH0gZWxzZSBpZiAoc3RhdGUgaW5zdGFuY2VvZiBGb3JtRGF0YSkge1xuICAgICAgdGhpcy5fcmVhZEZvcm1EYXRhKHN0YXRlKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBkYXRhO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfcmVhZEZvcm1EYXRhKGZvcm1EYXRhOiBGb3JtRGF0YSk6IFByb21pc2U8VD4ge1xuICAgIGNvbnN0IGRhdGEgPSBmb3JtRGF0YS5nZXQodGhpcy5uYW1lKTtcbiAgICByZXR1cm4gZGF0YSBpbnN0YW5jZW9mIEJsb2IgPyBKU09OLnBhcnNlKGF3YWl0IGRhdGEudGV4dCgpKSA6IChkYXRhIGFzIFQpO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwdWJsaWMgdXBkYXRlUGlsbFBvc2l0aW9uKHJlc2l6aW5nID0gZmFsc2UpOiB2b2lkIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgIGNvbnN0IHRvZ2dsZUVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuc2JiLXRvZ2dsZScpO1xuXG4gICAgaWYgKFxuICAgICAgb3B0aW9ucy5sZW5ndGggPCAyIHx8XG4gICAgICAhdG9nZ2xlRWxlbWVudCB8fFxuICAgICAgb3B0aW9ucy5ldmVyeSgobykgPT4gIW8uY2hlY2tlZCkgfHxcbiAgICAgIG9wdGlvbnMuZXZlcnkoKG8pID0+ICFvLmNsaWVudFdpZHRoKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGUtYW5pbWF0aW9uLW9uLXJlc2l6aW5nJywgcmVzaXppbmcpO1xuXG4gICAgY29uc3QgZmlyc3RPcHRpb24gPSBvcHRpb25zWzBdO1xuICAgIGNvbnN0IGlzRmlyc3RDaGVja2VkID0gZmlyc3RPcHRpb24uY2hlY2tlZDtcbiAgICBjb25zdCBwaWxsTGVmdCA9IGlzRmlyc3RDaGVja2VkID8gJzBweCcgOiBgJHtmaXJzdE9wdGlvbi5jbGllbnRXaWR0aH1weGA7XG4gICAgY29uc3QgcGlsbFJpZ2h0ID0gaXNGaXJzdENoZWNrZWRcbiAgICAgID8gYCR7dG9nZ2xlRWxlbWVudC5jbGllbnRXaWR0aCAtIGZpcnN0T3B0aW9uLmNsaWVudFdpZHRofXB4YFxuICAgICAgOiAnMHB4JztcblxuICAgIGlmIChwaWxsUmlnaHQgPT09ICcwcHgnICYmIHBpbGxMZWZ0ID09PSAnMHB4Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi10b2dnbGUtb3B0aW9uLWxlZnQnLCBwaWxsTGVmdCk7XG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLXRvZ2dsZS1vcHRpb24tcmlnaHQnLCBwaWxsUmlnaHQpO1xuXG4gICAgLy8gVHJpZ2dlcnMgYSBsYXlvdXQgcmVmbG93IHdoaWNoIGlzIG5lZWRlZCB0byBhdm9pZCBhbmltYXRpb24gZ2xpdGNoZXMuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtZXhwcmVzc2lvbnNcbiAgICB0aGlzLm9mZnNldFdpZHRoO1xuXG4gICAgLy8gSW4gb3JkZXIgdG8gYXZvaWQgYSB0cmFuc2l0aW9uIGdsaXRjaCwgd2UgaGF2ZSB0byBrbm93IHdoZW4gdGhlIGZpcnN0IHZhbHVlcyB3ZXJlIHNldC5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1pbml0aWFsaXplZCcsIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlQ2hhbmdlZCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLl91cGRhdGVEaXNhYmxlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdmFsdWVDaGFuZ2VkKHZhbHVlOiBUIHwgbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG5cbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9XG4gICAgICBvcHRpb25zLmZpbmQoKG8pID0+IHZhbHVlID09PSBvLnZhbHVlKSA/PyBvcHRpb25zLmZpbmQoKG8pID0+IG8uY2hlY2tlZCkgPz8gb3B0aW9uc1swXTtcblxuICAgIGlmICghc2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgIGlmIChpbXBvcnQubWV0YS5lbnYuREVWICYmICFpc1NlcnZlcikge1xuICAgICAgICBjb25zb2xlLndhcm4oYHNiYi10b2dnbGU6IE5vIGF2YWlsYWJsZSBvcHRpb25zISAoJHt0aGlzLmlkIHx8ICdObyBpZCd9KWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzZWxlY3RlZE9wdGlvbi5jaGVja2VkID0gdHJ1ZTtcbiAgICB0aGlzLnN0YXR1c0NoYW5nZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZURpc2FibGVkKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgdG9nZ2xlT3B0aW9uIG9mIHRoaXMub3B0aW9ucykge1xuICAgICAgdG9nZ2xlT3B0aW9uLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmZvcm1EaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIG9uIHVzZXIgaW50ZXJhY3Rpb24gKGNsaWNrIG9yIGtleWJvYXJkKVxuICAgKi9cbiAgcHJpdmF0ZSBfaGFuZGxlSW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0dXNDaGFuZ2VkKCk7XG4gICAgdGhpcy5fY2hhbmdlLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFRvZ2dsZU9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKFxuICAgICAgKHQpID0+ICF0LmRpc2FibGVkICYmIGludGVyYWN0aXZpdHlDaGVja2VyLmlzVmlzaWJsZSh0KSxcbiAgICApO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRUb2dnbGVPcHRpb25zIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgY29uc3QgY2hlY2tlZDogbnVtYmVyID0gZW5hYmxlZFRvZ2dsZU9wdGlvbnMuZmluZEluZGV4KFxuICAgICAgICAodG9nZ2xlT3B0aW9uOiBTYmJUb2dnbGVPcHRpb25FbGVtZW50PFQ+KSA9PiB0b2dnbGVPcHRpb24uY2hlY2tlZCxcbiAgICAgICk7XG4gICAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjaGVja2VkLCBlbmFibGVkVG9nZ2xlT3B0aW9ucy5sZW5ndGgpO1xuICAgICAgaWYgKCFlbmFibGVkVG9nZ2xlT3B0aW9uc1tuZXh0SW5kZXhdLmNoZWNrZWQpIHtcbiAgICAgICAgZW5hYmxlZFRvZ2dsZU9wdGlvbnNbbmV4dEluZGV4XS5jaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgZW5hYmxlZFRvZ2dsZU9wdGlvbnNbbmV4dEluZGV4XS5mb2N1cygpO1xuICAgICAgICBlbmFibGVkVG9nZ2xlT3B0aW9uc1tuZXh0SW5kZXhdLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgbmV3IElucHV0RXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2dnbGVcIj5cbiAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl91cGRhdGVUb2dnbGV9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10b2dnbGUnOiBTYmJUb2dnbGVFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiU2JiVG9nZ2xlRWxlbWVudCIsIl9hIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBa0NNLG9CQUFnQixNQUFBOzswQkFEckIsY0FBYyxZQUFZLENBQUM7Ozs7b0JBQ2UsaUJBQ3pDLHVCQUF1Qix5QkFBeUIsVUFBVSxDQUFDLENBQUM7Ozs7Ozs7OztBQUQzQkEsTUFBQUEscUJBQUEsbUJBQVEsWUFFMUM7QUFBQSxJQXFEQyxjQUFBOzs7QUF4Q0E7QUFNNkI7QUFyQnpCLHlCQUFBLHlCQUFBLGtCQUFBLE1BQUEsMEJBQUEsR0FlNEIsa0JBQUEsTUFBQSxvQkFBQSxLQUFLO0FBTTBCLHlCQUFBLHlCQUFBLGtCQUFBLE1BQUEsdUJBQUEsR0FBQSxrQkFBQSxNQUFBLG9CQUFBLE9BQUEsSUFBVyxNQUFNLEdBQUc7QUFtQjNFLFdBQWMsa0JBQUEsa0JBQUEsTUFBQSx1QkFBQSxHQUFhO0FBVTNCLFdBQU8sVUFBaUIsSUFBSSxhQUFhLE1BQU1BLGtCQUFpQixPQUFPLFFBQVE7QUFBQSxRQUNyRixTQUFTO0FBQUEsUUFDVCxVQUFVO0FBQUEsTUFBQSxDQUNYO0FBSU0sT0FBQUMsTUFBQSxLQUFBLHFCQUFBLGdCQUFBQSxJQUFBLFdBQW1CLFNBQVMsTUFBTSxL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
338
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RvZ2dsZS90b2dnbGUvdG9nZ2xlLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBpc1NlcnZlcixcbiAgTGl0RWxlbWVudCxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4LCBpbnRlcmFjdGl2aXR5Q2hlY2tlciwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzTGVhbiB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4uLy4uL2NvcmUvZXZlbnRpbmcuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IHR5cGUgU2JiVG9nZ2xlT3B0aW9uRWxlbWVudCB9IGZyb20gJy4uL3RvZ2dsZS1vcHRpb24uanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90b2dnbGUuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3IgdHdvIGBzYmItdG9nZ2xlLW9wdGlvbmAsIGFjdGluZyBhcyBhIHRvZ2dsZSBidXR0b24uXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYDxzYmItdG9nZ2xlLW9wdGlvbj5gIGVsZW1lbnRzIHRvIHRoZSB0b2dnbGUuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBjaGFuZ2UgLSBFbWl0cyB3aGVuZXZlciB0aGUgdG9nZ2xlIHZhbHVlIGNoYW5nZXMuXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gKFQgPSBzdHJpbmcpIHwgbnVsbFxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItdG9nZ2xlJylcbmNsYXNzIFNiYlRvZ2dsZUVsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJEaXNhYmxlZE1peGluKFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3JhZGlvZ3JvdXAnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgY2hhbmdlOiAnY2hhbmdlJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgc2V0IHRoZSB3aWR0aCBvZiB0aGUgY29tcG9uZW50IGZpeGVkOyBpZiBmYWxzZSxcbiAgICogdGhlIHdpZHRoIGlzIGR5bmFtaWMgYmFzZWQgb24gdGhlIGxhYmVsIG9mIHRoZSBzYmItdG9nZ2xlLW9wdGlvbi5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBldmVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIG0gb3Igcy5cbiAgICogQGRlZmF1bHQgJ20nIC8gJ3MnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3MnIHwgJ20nID0gaXNMZWFuKCkgPyAncycgOiAnbSc7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgdG9nZ2xlLiBJdCBuZWVkcyB0byBiZSBtdXRhYmxlIHNpbmNlIGl0IGlzIHVwZGF0ZWQgd2hlbmV2ZXJcbiAgICogYSBuZXcgb3B0aW9uIGlzIHNlbGVjdGVkIChzZWUgdGhlIGBvblRvZ2dsZU9wdGlvblNlbGVjdCgpYCBtZXRob2QpLlxuICAgKi9cbiAgQHByb3BlcnR5KClcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogVCB8IG51bGwpIHtcbiAgICBpZiAoaXNTZXJ2ZXIgfHwgIXRoaXMuaGFzVXBkYXRlZCkge1xuICAgICAgdGhpcy5fZmFsbGJhY2tWYWx1ZSA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl92YWx1ZUNoYW5nZWQodmFsdWUpO1xuICAgIH1cbiAgfVxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gaXNTZXJ2ZXJcbiAgICAgID8gKHRoaXMuX2ZhbGxiYWNrVmFsdWUgPz8gbnVsbClcbiAgICAgIDogKHRoaXMub3B0aW9ucy5maW5kKChvKSA9PiBvLmNoZWNrZWQpPy52YWx1ZSA/PyB0aGlzLm9wdGlvbnNbMF0/LnZhbHVlID8/IG51bGwpO1xuICB9XG4gIHByaXZhdGUgX2ZhbGxiYWNrVmFsdWU6IFQgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGNoaWxkIGluc3RhbmNlcyBvZiBzYmItdG9nZ2xlLW9wdGlvbiBhcyBhbiBhcnJheS4gKi9cbiAgcHVibGljIGdldCBvcHRpb25zKCk6IFNiYlRvZ2dsZU9wdGlvbkVsZW1lbnQ8VD5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJUb2dnbGVPcHRpb25FbGVtZW50PFQ+Pignc2JiLXRvZ2dsZS1vcHRpb24nKSA/PyBbXSxcbiAgICApO1xuICB9XG5cbiAgLyoqIEVtaXRzIHdoZW5ldmVyIHRoZSB0b2dnbGUgdmFsdWUgY2hhbmdlcy4gKi9cbiAgcHJpdmF0ZSBfY2hhbmdlOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKHRoaXMsIFNiYlRvZ2dsZUVsZW1lbnQuZXZlbnRzLmNoYW5nZSwge1xuICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgY29tcG9zZWQ6IHRydWUsXG4gIH0pO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdpbnB1dCcsICgpID0+IHRoaXMuX2hhbmRsZUlucHV0KCksIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykgfHwgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdmb3JtRGlzYWJsZWQnKSkge1xuICAgICAgdGhpcy5fdXBkYXRlRGlzYWJsZWQoKTtcbiAgICB9XG5cbiAgICAvLyBCZWZvcmUgdGhlIGZpcnN0IHVwZGF0ZSwgaW5pdCB3aXRoIHRoZSBmYWxsYmFjayB2YWx1ZS5cbiAgICAvLyBUaGUgd2lsbFVwZGF0ZSBob29rIGlzIHNhZmVyIHRoYW4gdGhlICd2YWx1ZScgc2V0dGVyLlxuICAgIGlmICghdGhpcy5oYXNVcGRhdGVkKSB7XG4gICAgICB0aGlzLl92YWx1ZUNoYW5nZWQodGhpcy5fZmFsbGJhY2tWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuZXZlciB0aGUgdmFsdWUgY2hhbmdlcywgYm90aCBwcm9ncmFtbWF0aWNhbGx5IG9yIGJ5IHVzZXIgaW50ZXJhY3Rpb24uXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIHN0YXR1c0NoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICB0aGlzLnVwZGF0ZVBpbGxQb3NpdGlvbigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHRvIHRoZSBpbml0IHZhbHVlIGlmIHByZXNlbnQuIFNlbGVjdCB0aGUgZmlyc3Qgb3B0aW9uLCBvdGhlcndpc2UuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGZvcm1SZXNldENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSAodGhpcy5oYXNBdHRyaWJ1dGUoJ3ZhbHVlJykgPyB0aGlzLmdldEF0dHJpYnV0ZSgndmFsdWUnKSA6IG51bGwpIGFzIFQ7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKFxuICAgIHN0YXRlOiBGb3JtUmVzdG9yZVN0YXRlIHwgbnVsbCxcbiAgICBfcmVhc29uOiBGb3JtUmVzdG9yZVJlYXNvbixcbiAgKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gJ3N0cmluZycgfHwgc3RhdGUgPT0gbnVsbCkge1xuICAgICAgdGhpcy52YWx1ZSA9IChzdGF0ZSBhcyBUKSA/PyBudWxsO1xuICAgIH0gZWxzZSBpZiAoc3RhdGUgaW5zdGFuY2VvZiBGb3JtRGF0YSkge1xuICAgICAgdGhpcy5fcmVhZEZvcm1EYXRhKHN0YXRlKS50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMudmFsdWUgPSBkYXRhO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfcmVhZEZvcm1EYXRhKGZvcm1EYXRhOiBGb3JtRGF0YSk6IFByb21pc2U8VD4ge1xuICAgIGNvbnN0IGRhdGEgPSBmb3JtRGF0YS5nZXQodGhpcy5uYW1lKTtcbiAgICByZXR1cm4gZGF0YSBpbnN0YW5jZW9mIEJsb2IgPyBKU09OLnBhcnNlKGF3YWl0IGRhdGEudGV4dCgpKSA6IChkYXRhIGFzIFQpO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwdWJsaWMgdXBkYXRlUGlsbFBvc2l0aW9uKHJlc2l6aW5nID0gZmFsc2UpOiB2b2lkIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zO1xuICAgIGNvbnN0IHRvZ2dsZUVsZW1lbnQgPSB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuc2JiLXRvZ2dsZScpO1xuXG4gICAgaWYgKFxuICAgICAgb3B0aW9ucy5sZW5ndGggPCAyIHx8XG4gICAgICAhdG9nZ2xlRWxlbWVudCB8fFxuICAgICAgb3B0aW9ucy5ldmVyeSgobykgPT4gIW8uY2hlY2tlZCkgfHxcbiAgICAgIG9wdGlvbnMuZXZlcnkoKG8pID0+ICFvLmNsaWVudFdpZHRoKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWRpc2FibGUtYW5pbWF0aW9uLW9uLXJlc2l6aW5nJywgcmVzaXppbmcpO1xuXG4gICAgY29uc3QgZmlyc3RPcHRpb24gPSBvcHRpb25zWzBdO1xuICAgIGNvbnN0IGlzRmlyc3RDaGVja2VkID0gZmlyc3RPcHRpb24uY2hlY2tlZDtcbiAgICBjb25zdCBwaWxsTGVmdCA9IGlzRmlyc3RDaGVja2VkID8gJzBweCcgOiBgJHtmaXJzdE9wdGlvbi5jbGllbnRXaWR0aH1weGA7XG4gICAgY29uc3QgcGlsbFJpZ2h0ID0gaXNGaXJzdENoZWNrZWRcbiAgICAgID8gYCR7dG9nZ2xlRWxlbWVudC5jbGllbnRXaWR0aCAtIGZpcnN0T3B0aW9uLmNsaWVudFdpZHRofXB4YFxuICAgICAgOiAnMHB4JztcblxuICAgIGlmIChwaWxsUmlnaHQgPT09ICcwcHgnICYmIHBpbGxMZWZ0ID09PSAnMHB4Jykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi10b2dnbGUtb3B0aW9uLWxlZnQnLCBwaWxsTGVmdCk7XG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLXRvZ2dsZS1vcHRpb24tcmlnaHQnLCBwaWxsUmlnaHQpO1xuXG4gICAgLy8gVHJpZ2dlcnMgYSBsYXlvdXQgcmVmbG93IHdoaWNoIGlzIG5lZWRlZCB0byBhdm9pZCBhbmltYXRpb24gZ2xpdGNoZXMuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtZXhwcmVzc2lvbnNcbiAgICB0aGlzLm9mZnNldFdpZHRoO1xuXG4gICAgLy8gSW4gb3JkZXIgdG8gYXZvaWQgYSB0cmFuc2l0aW9uIGdsaXRjaCwgd2UgaGF2ZSB0byBrbm93IHdoZW4gdGhlIGZpcnN0IHZhbHVlcyB3ZXJlIHNldC5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1pbml0aWFsaXplZCcsIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlVG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbHVlQ2hhbmdlZCh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLl91cGRhdGVEaXNhYmxlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdmFsdWVDaGFuZ2VkKHZhbHVlOiBUIHwgbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XG5cbiAgICBjb25zdCBzZWxlY3RlZE9wdGlvbiA9XG4gICAgICBvcHRpb25zLmZpbmQoKG8pID0+IHZhbHVlID09PSBvLnZhbHVlKSA/PyBvcHRpb25zLmZpbmQoKG8pID0+IG8uY2hlY2tlZCkgPz8gb3B0aW9uc1swXTtcblxuICAgIGlmICghc2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgIGlmIChpbXBvcnQubWV0YS5lbnYuREVWICYmICFpc1NlcnZlcikge1xuICAgICAgICBjb25zb2xlLndhcm4oYHNiYi10b2dnbGU6IE5vIGF2YWlsYWJsZSBvcHRpb25zISAoJHt0aGlzLmlkIHx8ICdObyBpZCd9KWApO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzZWxlY3RlZE9wdGlvbi5jaGVja2VkID0gdHJ1ZTtcbiAgICB0aGlzLnN0YXR1c0NoYW5nZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZURpc2FibGVkKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgdG9nZ2xlT3B0aW9uIG9mIHRoaXMub3B0aW9ucykge1xuICAgICAgdG9nZ2xlT3B0aW9uLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmZvcm1EaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIG9uIHVzZXIgaW50ZXJhY3Rpb24gKGNsaWNrIG9yIGtleWJvYXJkKVxuICAgKi9cbiAgcHJpdmF0ZSBfaGFuZGxlSW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0dXNDaGFuZ2VkKCk7XG4gICAgdGhpcy5fY2hhbmdlLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZFRvZ2dsZU9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKFxuICAgICAgKHQpID0+ICF0LmRpc2FibGVkICYmIGludGVyYWN0aXZpdHlDaGVja2VyLmlzVmlzaWJsZSh0KSxcbiAgICApO1xuXG4gICAgaWYgKFxuICAgICAgIWVuYWJsZWRUb2dnbGVPcHRpb25zIHx8XG4gICAgICAvLyBkb24ndCB0cmFwIG5lc3RlZCBoYW5kbGluZ1xuICAgICAgKChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSAhPT0gdGhpcyAmJiAoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucGFyZW50RWxlbWVudCAhPT0gdGhpcylcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgY29uc3QgY2hlY2tlZDogbnVtYmVyID0gZW5hYmxlZFRvZ2dsZU9wdGlvbnMuZmluZEluZGV4KFxuICAgICAgICAodG9nZ2xlT3B0aW9uOiBTYmJUb2dnbGVPcHRpb25FbGVtZW50PFQ+KSA9PiB0b2dnbGVPcHRpb24uY2hlY2tlZCxcbiAgICAgICk7XG4gICAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjaGVja2VkLCBlbmFibGVkVG9nZ2xlT3B0aW9ucy5sZW5ndGgpO1xuICAgICAgaWYgKCFlbmFibGVkVG9nZ2xlT3B0aW9uc1tuZXh0SW5kZXhdLmNoZWNrZWQpIHtcbiAgICAgICAgZW5hYmxlZFRvZ2dsZU9wdGlvbnNbbmV4dEluZGV4XS5jaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgZW5hYmxlZFRvZ2dsZU9wdGlvbnNbbmV4dEluZGV4XS5mb2N1cygpO1xuICAgICAgICBlbmFibGVkVG9nZ2xlT3B0aW9uc1tuZXh0SW5kZXhdLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgbmV3IElucHV0RXZlbnQoJ2lucHV0JywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi10b2dnbGVcIj5cbiAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl91cGRhdGVUb2dnbGV9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10b2dnbGUnOiBTYmJUb2dnbGVFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiU2JiVG9nZ2xlRWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBa0NNLG9CQUFnQixNQUFBOzswQkFEckIsY0FBYyxZQUFZLENBQUM7Ozs7b0JBQ2UsaUJBQ3pDLHVCQUF1Qix5QkFBeUIsVUFBVSxDQUFDLENBQUM7Ozs7Ozs7OztBQUQzQixNQUFBQSxxQkFBQSxtQkFBUSxZQUUxQztBQUFBLElBcURDLGNBQUE7QUFDRSxZQUFBO0FBekNGO0FBTTZCO0FBTmIseUJBQUEseUJBZlosa0JBQUEsTUFBQSwwQkFBQSxHQUFnQixrQkFBQSxNQUFBLG9CQWVZLEtBQUs7QUFNUSx5QkFBQSx5QkFBQSxrQkFBQSxNQUFBLHVCQUFBLEdBQUEsa0JBQUEsTUFBQSxvQkFBa0IsT0FBQSxJQUFXLE1BQU0sR0FBRztBQW1CM0UsV0FBQSxrQkFBYyxrQkFBQSxNQUFBLHVCQUFBLEdBQWE7QUFVM0IsV0FBQSxVQUF3QixJQUFJLGFBQWEsTUFBTUEsa0JBQWlCLE9BQU8sUUFBUTtBQUFBLFFBQ3JGLFNBQVM7QUFBQSxRQUNULFVBQVU7QUFBQSxNQUFBLENBQ1g7QUFJQyxXQUFLLG1CQUFtQixTQUFTLE1BQU0sS0FBSyxnQkFBZ0IsRUFBRSxTQUFTLE1BQU07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
@@ -18,7 +18,7 @@ export declare class SbbToggleOptionElement<T = string> extends SbbToggleOptionE
18
18
  constructor();
19
19
  connectedCallback(): void;
20
20
  disconnectedCallback(): void;
21
- firstUpdated(changedProperties: PropertyValues<this>): void;
21
+ protected firstUpdated(changedProperties: PropertyValues<this>): void;
22
22
  protected willUpdate(changedProperties: PropertyValues<this>): void;
23
23
  private _uncheckOtherOptions;
24
24
  private _handleDisabledChange;
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-option.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/toggle/toggle-option/toggle-option.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;;AAWvC;;;;;;GAMG;AACH,qBAGM,sBAAsB,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,2BAEhD;IACC,gBAAgC,IAAI,WAAW;IAC/C,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,4CAA4C;IAC5C,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC,8BAA8B;IAC9B,SACgB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAQ;IAEvC,OAAO,CAAC,OAAO,CAAiC;;IAqBhC,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAK5B,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAMxD,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5E,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;cAIJ,MAAM,IAAI,cAAc;CAU5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
1
+ {"version":3,"file":"toggle-option.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/toggle/toggle-option/toggle-option.component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;;AAWvC;;;;;;GAMG;AACH,qBAGM,sBAAsB,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,2BAEhD;IACC,gBAAgC,IAAI,WAAW;IAC/C,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,4CAA4C;IAC5C,SAEgB,OAAO,EAAE,OAAO,CAAS;IAEzC,8BAA8B;IAC9B,SACgB,KAAK,EAAE,CAAC,GAAG,IAAI,CAAQ;IAEvC,OAAO,CAAC,OAAO,CAAiC;;IAqBhC,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;cAKzB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAM3D,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAe5E,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,eAAe;cAIJ,MAAM,IAAI,cAAc;CAU5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
@@ -45,13 +45,14 @@ const style = css`*,
45
45
  letter-spacing: var(--sbb-typo-letter-spacing-body-text);
46
46
  font-size: var(--sbb-text-font-size);
47
47
  font-weight: bold;
48
- cursor: var(--sbb-toggle-option-cursor);
49
48
  display: flex;
50
49
  justify-content: center;
51
50
  align-items: center;
51
+ gap: var(--sbb-spacing-fixed-1x);
52
52
  height: var(--sbb-toggle-height);
53
53
  padding-inline: var(--sbb-toggle-padding-inline);
54
54
  color: var(--sbb-toggle-option-color);
55
+ cursor: var(--sbb-toggle-option-cursor);
55
56
  }
56
57
 
57
58
  .sbb-toggle-option__label {
@@ -64,7 +65,6 @@ sbb-icon,
64
65
  ::slotted(sbb-icon) {
65
66
  min-width: var(--sbb-toggle-option-icon-min-size);
66
67
  min-height: var(--sbb-toggle-option-icon-min-size);
67
- margin-inline-end: var(--sbb-spacing-fixed-1x);
68
68
  }`;
69
69
  let SbbToggleOptionElement = (() => {
70
70
  var _checked_accessor_storage, _value_accessor_storage, _a;
@@ -81,25 +81,21 @@ let SbbToggleOptionElement = (() => {
81
81
  let _value_extraInitializers = [];
82
82
  _a = class extends _classSuper {
83
83
  constructor() {
84
- var _a2, _b;
85
84
  super();
86
85
  __privateAdd(this, _checked_accessor_storage);
87
86
  __privateAdd(this, _value_accessor_storage);
88
87
  __privateSet(this, _checked_accessor_storage, __runInitializers(this, _checked_initializers, false));
89
88
  __privateSet(this, _value_accessor_storage, (__runInitializers(this, _checked_extraInitializers), __runInitializers(this, _value_initializers, null)));
90
89
  this._toggle = (__runInitializers(this, _value_extraInitializers), null);
91
- (_a2 = this.addEventListener) == null ? void 0 : _a2.call(this, "input", () => this._handleInput());
92
- (_b = this.addEventListener) == null ? void 0 : _b.call(this, "click", () => {
90
+ this.addEventListener?.("input", () => this._handleInput());
91
+ this.addEventListener?.("click", () => {
93
92
  if (!this.disabled && !this.checked) {
94
93
  this.dispatchEvent(new InputEvent("input", { bubbles: true, composed: true }));
95
94
  }
96
95
  });
97
96
  this.addController(new ResizeController(this, {
98
97
  skipInitial: true,
99
- callback: () => {
100
- var _a3, _b2;
101
- return (_b2 = (_a3 = this._toggle) == null ? void 0 : _a3.updatePillPosition) == null ? void 0 : _b2.call(_a3, true);
102
- }
98
+ callback: () => this._toggle?.updatePillPosition?.(true)
103
99
  }));
104
100
  }
105
101
  /** Whether the toggle-option is checked. */
@@ -117,25 +113,23 @@ let SbbToggleOptionElement = (() => {
117
113
  __privateSet(this, _value_accessor_storage, value);
118
114
  }
119
115
  connectedCallback() {
120
- var _a2, _b, _c;
121
116
  super.connectedCallback();
122
- this._toggle = ((_a2 = this.closest) == null ? void 0 : _a2.call(this, "sbb-toggle")) ?? null;
117
+ this._toggle = this.closest?.("sbb-toggle") ?? null;
123
118
  this._verifyTabindex();
124
- (_c = (_b = this._toggle) == null ? void 0 : _b.updatePillPosition) == null ? void 0 : _c.call(_b, true);
119
+ this._toggle?.updatePillPosition?.(true);
125
120
  }
126
121
  disconnectedCallback() {
127
122
  super.disconnectedCallback();
128
123
  this._toggle = null;
129
124
  }
130
125
  firstUpdated(changedProperties) {
131
- var _a2, _b;
132
126
  super.firstUpdated(changedProperties);
133
- (_b = (_a2 = this._toggle) == null ? void 0 : _a2.updatePillPosition) == null ? void 0 : _b.call(_a2, true);
127
+ this._toggle?.updatePillPosition?.(true);
134
128
  }
135
129
  willUpdate(changedProperties) {
136
130
  super.willUpdate(changedProperties);
137
131
  if (changedProperties.has("checked")) {
138
- this.setAttribute("aria-checked", `${this.checked}`);
132
+ this.internals.ariaChecked = `${this.checked}`;
139
133
  this._verifyTabindex();
140
134
  if (this.checked) {
141
135
  this._uncheckOtherOptions();
@@ -146,9 +140,8 @@ let SbbToggleOptionElement = (() => {
146
140
  }
147
141
  }
148
142
  _uncheckOtherOptions() {
149
- var _a2, _b;
150
- (_a2 = this._toggle) == null ? void 0 : _a2.options.filter((o) => o !== this).forEach((o) => o.checked = false);
151
- (_b = this._toggle) == null ? void 0 : _b.statusChanged();
143
+ this._toggle?.options.filter((o) => o !== this).forEach((o) => o.checked = false);
144
+ this._toggle?.statusChanged();
152
145
  }
153
146
  _handleDisabledChange() {
154
147
  setOrRemoveAttribute(this, "aria-disabled", this.disabled ? `true` : null);
@@ -193,4 +186,4 @@ let SbbToggleOptionElement = (() => {
193
186
  export {
194
187
  SbbToggleOptionElement
195
188
  };
196
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2dnbGUvdG9nZ2xlLW9wdGlvbi90b2dnbGUtb3B0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlLCBzbG90U3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgc2V0T3JSZW1vdmVBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluLCBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRvZ2dsZUVsZW1lbnQgfSBmcm9tICcuLi90b2dnbGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90b2dnbGUtb3B0aW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSB0b2dnbGUgb3B0aW9uIHdpdGhpbiBhIGBzYmItdG9nZ2xlYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBsYWJlbCBvZiB0aGUgdG9nZ2xlIG9wdGlvbi5cbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gcmVuZGVyIHRoZSBgc2JiLWljb25gLlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRvZ2dsZS1vcHRpb24nKVxuQHNsb3RTdGF0ZSgpXG5jbGFzcyBTYmJUb2dnbGVPcHRpb25FbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgU2JiSWNvbk5hbWVNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICdyYWRpbyc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0b2dnbGUtb3B0aW9uIGlzIGNoZWNrZWQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBjaGVja2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFZhbHVlIG9mIHRvZ2dsZS1vcHRpb24uICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX3RvZ2dsZTogU2JiVG9nZ2xlRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIC8vIFdlIG5lZWQgdG8gbGlzdGVuIGlucHV0IGV2ZW50IG9uIGhvc3QgYXMgd2l0aCBrZXlib2FyZCBuYXZpZ2F0aW9uXG4gICAgLy8gdGhlIElucHV0IEV2ZW50IGlzIHRyaWdnZXJlZCBmcm9tIHNiYi10b2dnbGUuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2lucHV0JywgKCkgPT4gdGhpcy5faGFuZGxlSW5wdXQoKSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLmNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICAgICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX3RvZ2dsZT8udXBkYXRlUGlsbFBvc2l0aW9uPy4odHJ1ZSksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICAvLyBXZSBjYW4gdXNlIGNsb3Nlc3QgaGVyZSwgYXMgd2UgZXhwZWN0IHRoZSBwYXJlbnQgc2JiLXRvZ2dsZSB0byBiZSBpbiBsaWdodCBET00uXG4gICAgdGhpcy5fdG9nZ2xlID0gdGhpcy5jbG9zZXN0Py4oJ3NiYi10b2dnbGUnKSA/PyBudWxsO1xuICAgIHRoaXMuX3ZlcmlmeVRhYmluZGV4KCk7XG4gICAgdGhpcy5fdG9nZ2xlPy51cGRhdGVQaWxsUG9zaXRpb24/Lih0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3RvZ2dsZSA9IG51bGw7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl90b2dnbGU/LnVwZGF0ZVBpbGxQb3NpdGlvbj8uKHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdjaGVja2VkJykpIHtcbiAgICAgIHRoaXMuc2V0QXR0cmlidXRlKCdhcmlhLWNoZWNrZWQnLCBgJHt0aGlzLmNoZWNrZWR9YCk7XG4gICAgICB0aGlzLl92ZXJpZnlUYWJpbmRleCgpO1xuICAgICAgaWYgKHRoaXMuY2hlY2tlZCkge1xuICAgICAgICB0aGlzLl91bmNoZWNrT3RoZXJPcHRpb25zKCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgIHRoaXMuX2hhbmRsZURpc2FibGVkQ2hhbmdlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdW5jaGVja090aGVyT3B0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLl90b2dnbGU/Lm9wdGlvbnMuZmlsdGVyKChvKSA9PiBvICE9PSB0aGlzKS5mb3JFYWNoKChvKSA9PiAoby5jaGVja2VkID0gZmFsc2UpKTtcbiAgICB0aGlzLl90b2dnbGU/LnN0YXR1c0NoYW5nZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZURpc2FibGVkQ2hhbmdlKCk6IHZvaWQge1xuICAgIHNldE9yUmVtb3ZlQXR0cmlidXRlKHRoaXMsICdhcmlhLWRpc2FibGVkJywgdGhpcy5kaXNhYmxlZCA/IGB0cnVlYCA6IG51bGwpO1xuICAgIHRoaXMuX3ZlcmlmeVRhYmluZGV4KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVJbnB1dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xuICAgIHRoaXMuX3VuY2hlY2tPdGhlck9wdGlvbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZlcmlmeVRhYmluZGV4KCk6IHZvaWQge1xuICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLmNoZWNrZWQgJiYgIXRoaXMuZGlzYWJsZWQgPyAwIDogLTE7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdG9nZ2xlLW9wdGlvblwiPlxuICAgICAgICAke3RoaXMucmVuZGVySWNvblNsb3QoKX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLW9wdGlvbl9fbGFiZWxcIj5cbiAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10b2dnbGUtb3B0aW9uJzogU2JiVG9nZ2xlT3B0aW9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIl9hIiwiX2IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBdUJNLDBCQUFzQixNQUFBOztBQUYzQixNQUFBLG1CQUFBLENBQUEs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
189
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLW9wdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy90b2dnbGUvdG9nZ2xlLW9wdGlvbi90b2dnbGUtb3B0aW9uLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNpemVDb250cm9sbGVyIH0gZnJvbSAnQGxpdC1sYWJzL29ic2VydmVycy9yZXNpemUtY29udHJvbGxlci5qcyc7XG5pbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBQcm9wZXJ0eVZhbHVlcywgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZm9yY2VUeXBlLCBzbG90U3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgc2V0T3JSZW1vdmVBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZE1peGluLCBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRvZ2dsZUVsZW1lbnQgfSBmcm9tICcuLi90b2dnbGUuanMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi90b2dnbGUtb3B0aW9uLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSB0b2dnbGUgb3B0aW9uIHdpdGhpbiBhIGBzYmItdG9nZ2xlYC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBsYWJlbCBvZiB0aGUgdG9nZ2xlIG9wdGlvbi5cbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gcmVuZGVyIHRoZSBgc2JiLWljb25gLlxuICogQG92ZXJyaWRlVHlwZSB2YWx1ZSAtIChUID0gc3RyaW5nKSB8IG51bGxcbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLXRvZ2dsZS1vcHRpb24nKVxuQHNsb3RTdGF0ZSgpXG5jbGFzcyBTYmJUb2dnbGVPcHRpb25FbGVtZW50PFQgPSBzdHJpbmc+IGV4dGVuZHMgU2JiRGlzYWJsZWRNaXhpbihcbiAgU2JiSWNvbk5hbWVNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgcm9sZSA9ICdyYWRpbyc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB0b2dnbGUtb3B0aW9uIGlzIGNoZWNrZWQuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBjaGVja2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFZhbHVlIG9mIHRvZ2dsZS1vcHRpb24uICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgX3RvZ2dsZTogU2JiVG9nZ2xlRWxlbWVudCB8IG51bGwgPSBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIC8vIFdlIG5lZWQgdG8gbGlzdGVuIGlucHV0IGV2ZW50IG9uIGhvc3QgYXMgd2l0aCBrZXlib2FyZCBuYXZpZ2F0aW9uXG4gICAgLy8gdGhlIElucHV0IEV2ZW50IGlzIHRyaWdnZXJlZCBmcm9tIHNiYi10b2dnbGUuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2lucHV0JywgKCkgPT4gdGhpcy5faGFuZGxlSW5wdXQoKSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmRpc2FibGVkICYmICF0aGlzLmNoZWNrZWQpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICAgICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX3RvZ2dsZT8udXBkYXRlUGlsbFBvc2l0aW9uPy4odHJ1ZSksXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG5cbiAgICAvLyBXZSBjYW4gdXNlIGNsb3Nlc3QgaGVyZSwgYXMgd2UgZXhwZWN0IHRoZSBwYXJlbnQgc2JiLXRvZ2dsZSB0byBiZSBpbiBsaWdodCBET00uXG4gICAgdGhpcy5fdG9nZ2xlID0gdGhpcy5jbG9zZXN0Py4oJ3NiYi10b2dnbGUnKSA/PyBudWxsO1xuICAgIHRoaXMuX3ZlcmlmeVRhYmluZGV4KCk7XG4gICAgdGhpcy5fdG9nZ2xlPy51cGRhdGVQaWxsUG9zaXRpb24/Lih0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuX3RvZ2dsZSA9IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl90b2dnbGU/LnVwZGF0ZVBpbGxQb3NpdGlvbj8uKHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdjaGVja2VkJykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFDaGVja2VkID0gYCR7dGhpcy5jaGVja2VkfWA7XG4gICAgICB0aGlzLl92ZXJpZnlUYWJpbmRleCgpO1xuICAgICAgaWYgKHRoaXMuY2hlY2tlZCkge1xuICAgICAgICB0aGlzLl91bmNoZWNrT3RoZXJPcHRpb25zKCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Rpc2FibGVkJykpIHtcbiAgICAgIHRoaXMuX2hhbmRsZURpc2FibGVkQ2hhbmdlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdW5jaGVja090aGVyT3B0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLl90b2dnbGU/Lm9wdGlvbnMuZmlsdGVyKChvKSA9PiBvICE9PSB0aGlzKS5mb3JFYWNoKChvKSA9PiAoby5jaGVja2VkID0gZmFsc2UpKTtcbiAgICB0aGlzLl90b2dnbGU/LnN0YXR1c0NoYW5nZWQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZURpc2FibGVkQ2hhbmdlKCk6IHZvaWQge1xuICAgIHNldE9yUmVtb3ZlQXR0cmlidXRlKHRoaXMsICdhcmlhLWRpc2FibGVkJywgdGhpcy5kaXNhYmxlZCA/IGB0cnVlYCA6IG51bGwpO1xuICAgIHRoaXMuX3ZlcmlmeVRhYmluZGV4KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVJbnB1dCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xuICAgIHRoaXMuX3VuY2hlY2tPdGhlck9wdGlvbnMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3ZlcmlmeVRhYmluZGV4KCk6IHZvaWQge1xuICAgIHRoaXMudGFiSW5kZXggPSB0aGlzLmNoZWNrZWQgJiYgIXRoaXMuZGlzYWJsZWQgPyAwIDogLTE7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdG9nZ2xlLW9wdGlvblwiPlxuICAgICAgICAke3RoaXMucmVuZGVySWNvblNsb3QoKX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLW9wdGlvbl9fbGFiZWxcIj5cbiAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10b2dnbGUtb3B0aW9uJzogU2JiVG9nZ2xlT3B0aW9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBdUJNLDBCQUFzQixNQUFBOztBQUYzQixNQUFBLG1CQUFBLENBQUEsY0FBYyxtQkFBbUIs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
@@ -296,4 +296,4 @@ let SbbToggleCheckElement = (() => {
296
296
  export {
297
297
  SbbToggleCheckElement
298
298
  };
299
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWNoZWNrLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RvZ2dsZS1jaGVjay90b2dnbGUtY2hlY2suY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBmb3JjZVR5cGUsIHNsb3RTdGF0ZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vaWNvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RvZ2dsZS1jaGVjay5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdG9nZ2xlIGNoZWNrYm94LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHRvZ2dsZSBsYWJlbC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gaWNvbi4gSWYgYGljb24tbmFtZWAgaXMgc2V0LCBhIHNiYi1pY29uIHdpbGwgYmUgdXNlZC5cbiAqIEBldmVudCB7RXZlbnR9IGNoYW5nZSAtIEV2ZW50IGZpcmVkIG9uIGNoYW5nZS5cbiAqIEBldmVudCB7SW5wdXRFdmVudH0gaW5wdXQgLSBFdmVudCBmaXJlZCBvbiBpbnB1dC5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSAoVCA9IHN0cmluZykgfCBudWxsXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10b2dnbGUtY2hlY2snKVxuQHNsb3RTdGF0ZSgpXG5jbGFzcyBTYmJUb2dnbGVDaGVja0VsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW4oXG4gIFNiYkljb25OYW1lTWl4aW4oTGl0RWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIFZhbHVlIG9mIHRoZSBmb3JtIGVsZW1lbnQuICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBtLCBzIG9yIHhzLlxuICAgKiBAZGVmYXVsdCAncycgLyAneHMnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3hzJyB8ICdzJyB8ICdtJyA9IGlzTGVhbigpID8gJ3hzJyA6ICdzJztcblxuICAvKiogVGhlIHN2ZyBuYW1lIGZvciB0aGUgdHJ1ZSBzdGF0ZSAtIGRlZmF1bHQgLT4gJ3RpY2stc21hbGwnICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpY29uLW5hbWUnIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBhY2Nlc3NvciBpY29uTmFtZTogc3RyaW5nID0gJ3RpY2stc21hbGwnO1xuXG4gIC8qKiBUaGUgbGFiZWwgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIHRvZ2dsZS4gRGVmYXVsdHMgdG8gJ2FmdGVyJyAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdsYWJlbC1wb3NpdGlvbicsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGxhYmVsUG9zaXRpb246ICdiZWZvcmUnIHwgJ2FmdGVyJyA9ICdhZnRlcic7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdjaGVja2VkJykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFDaGVja2VkID0gYCR7dGhpcy5jaGVja2VkfWA7XG4gICAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1jaGVja2VkJywgdGhpcy5jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRvZ2dsZS1jaGVja1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10b2dnbGUtY2hlY2tfX2NvbnRhaW5lclwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRvZ2dsZS1jaGVja19fbGFiZWxcIj5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLWNoZWNrX190cmFja1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLWNoZWNrX19jaXJjbGVcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLWNoZWNrX19pY29uXCI+ICR7dGhpcy5yZW5kZXJJY29uU2xvdCgpfSA8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRvZ2dsZS1jaGVjayc6IFNiYlRvZ2dsZUNoZWNrRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXVCTSx5QkFBcUIsTUFBQTs7QUFGMUIsTUFBQSxtQkFBQSxDQUFBLGNBQWMsa0JBQWtCLEdBQ2hDLFdBQVc7Ozs7QUFDb0MsTUFBQSxjQUFBLCtCQUM5QyxpQkFBaUIsVUFBVSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBRFUsRUFBQSxtQkFBUSxZQUUvQztBQUFBOztBQUtDLGtEQUFBLGtCQUFBLE1BQUEscUJBQWtDLElBQUk7QUFNVCxrREFBeUMsa0JBQUEsTUFBQSx3QkFBQSxHQUFBLGtCQUFBLE1BQUEsb0JBQUEsV0FBVyxPQUFPLEdBQUc7QUFLM0Ysc0RBQUEsa0JBQUEsTUFBQSx1QkFBQSxHQUFBLGtCQUFBLE1BQUEsd0JBQTRDLFlBQVk7QUFJeEQsMkRBQUEsa0JBQUEsTUFBQSwyQkFBQSxHQUFBLGtCQUFBLE1BQUEsNkJBQW9ELE9BQU87Ozs7SUFmM0QsSUFBZ0IsUUFBdUI7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXZDLElBQWdCLE1BQXVCLE9BQUE7QUFBQSx5QkFBQSx5QkFBQTtBQUFBLElBQUE7QUFBQTtBQUFBO0FBQUE7QUFB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
299
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWNoZWNrLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RvZ2dsZS1jaGVjay90b2dnbGUtY2hlY2suY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFByb3BlcnR5VmFsdWVzLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBodG1sLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBmb3JjZVR5cGUsIHNsb3RTdGF0ZSB9IGZyb20gJy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vaWNvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RvZ2dsZS1jaGVjay5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdG9nZ2xlIGNoZWNrYm94LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHRvZ2dsZSBsYWJlbC5cbiAqIEBzbG90IGljb24gLSBVc2UgdGhpcyBzbG90IHRvIHByb3ZpZGUgYW4gaWNvbi4gSWYgYGljb24tbmFtZWAgaXMgc2V0LCBhIHNiYi1pY29uIHdpbGwgYmUgdXNlZC5cbiAqIEBldmVudCB7RXZlbnR9IGNoYW5nZSAtIEV2ZW50IGZpcmVkIG9uIGNoYW5nZS5cbiAqIEBldmVudCB7SW5wdXRFdmVudH0gaW5wdXQgLSBFdmVudCBmaXJlZCBvbiBpbnB1dC5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSAoVCA9IHN0cmluZykgfCBudWxsXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10b2dnbGUtY2hlY2snKVxuQHNsb3RTdGF0ZSgpXG5jbGFzcyBTYmJUb2dnbGVDaGVja0VsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJGb3JtQXNzb2NpYXRlZENoZWNrYm94TWl4aW4oXG4gIFNiYkljb25OYW1lTWl4aW4oTGl0RWxlbWVudCksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIFZhbHVlIG9mIHRoZSBmb3JtIGVsZW1lbnQuICovXG4gIEBwcm9wZXJ0eSgpXG4gIHB1YmxpYyBhY2Nlc3NvciB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBTaXplIHZhcmlhbnQsIGVpdGhlciBtLCBzIG9yIHhzLlxuICAgKiBAZGVmYXVsdCAncycgLyAneHMnIChsZWFuKVxuICAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3Igc2l6ZTogJ3hzJyB8ICdzJyB8ICdtJyA9IGlzTGVhbigpID8gJ3hzJyA6ICdzJztcblxuICAvKiogVGhlIHN2ZyBuYW1lIGZvciB0aGUgdHJ1ZSBzdGF0ZSAtIGRlZmF1bHQgLT4gJ3RpY2stc21hbGwnICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpY29uLW5hbWUnIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBhY2Nlc3NvciBpY29uTmFtZTogc3RyaW5nID0gJ3RpY2stc21hbGwnO1xuXG4gIC8qKiBUaGUgbGFiZWwgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIHRvZ2dsZS4gRGVmYXVsdHMgdG8gJ2FmdGVyJyAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdsYWJlbC1wb3NpdGlvbicsIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGxhYmVsUG9zaXRpb246ICdiZWZvcmUnIHwgJ2FmdGVyJyA9ICdhZnRlcic7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdjaGVja2VkJykpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFDaGVja2VkID0gYCR7dGhpcy5jaGVja2VkfWA7XG4gICAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1jaGVja2VkJywgdGhpcy5jaGVja2VkKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRvZ2dsZS1jaGVja1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10b2dnbGUtY2hlY2tfX2NvbnRhaW5lclwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLXRvZ2dsZS1jaGVja19fbGFiZWxcIj5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLWNoZWNrX190cmFja1wiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLWNoZWNrX19jaXJjbGVcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdG9nZ2xlLWNoZWNrX19pY29uXCI+ICR7dGhpcy5yZW5kZXJJY29uU2xvdCgpfSA8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRvZ2dsZS1jaGVjayc6IFNiYlRvZ2dsZUNoZWNrRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXVCTSx5QkFBcUIsTUFBQTs7QUFGMUIsTUFBQSxtQkFBQSxDQUFBLGNBQWMsa0JBQWtCLEdBQ2hDLFdBQVc7Ozs7QUFDb0MsTUFBQSxjQUFBLCtCQUM5QyxpQkFBaUIsVUFBVSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBRFUsRUFBQSxtQkFBUSxZQUUvQztBQUFBOztBQUtDLGtEQUFBLGtCQUFBLE1BQUEscUJBQWtDLElBQUk7QUFNVCxrREFBQSxrQkFBQSxNQUFBLHdCQUFBLEdBQUEsa0JBQUEsTUFBQSxvQkFBeUMsV0FBVyxPQUFPLEdBQUc7QUFLM0Ysc0RBQUEsa0JBQUEsTUFBQSx1QkFBQSxHQUFBLGtCQUFBLE1BQUEsd0JBQTRDLFlBQVk7QUFJeEQsMkRBQUEsa0JBQUEsTUFBQSwyQkFBQSxHQUFBLGtCQUFBLE1BQUEsNkJBQW9ELE9BQU87Ozs7SUFmM0QsSUFBZ0IsUUFBSztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBckIsSUFBZ0IsTUFBSyxPQUFBO0FBQUEseUJBQUEseUJBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7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
@@ -242,4 +242,4 @@ let SbbTrainElement = (() => {
242
242
  export {
243
243
  SbbTrainElement
244
244
  };
245
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4uY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdHJhaW4vdHJhaW4vdHJhaW4uY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIExpdEVsZW1lbnQsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGh0bWwsIHVuc2FmZVN0YXRpYyB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBvbWl0RW1wdHlDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuVHJhaW4sIGkxOG5XYWdvbnNMYWJlbCB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJOYW1lZFNsb3RMaXN0TWl4aW4sIHR5cGUgV2l0aExpc3RDaGlsZHJlbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVMZXZlbCB9IGZyb20gJy4uLy4uL3RpdGxlLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVHJhaW5CbG9ja2VkUGFzc2FnZUVsZW1lbnQgfSBmcm9tICcuLi90cmFpbi1ibG9ja2VkLXBhc3NhZ2UuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUcmFpbldhZ29uRWxlbWVudCB9IGZyb20gJy4uL3RyYWluLXdhZ29uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdHJhaW4uc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9pY29uLmpzJztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3IgYHNiYi10cmFpbi13YWdvbmAgb3IgYHNiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2VgIGNvbXBvbmVudHMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgJ3NiYi10cmFpbi13YWdvbicgZWxlbWVudHMgdG8gdGhlIGBzYmItdHJhaW5gLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItdHJhaW4nKVxuY2xhc3MgU2JiVHJhaW5FbGVtZW50IGV4dGVuZHMgU2JiTmFtZWRTbG90TGlzdE1peGluPFxuICBTYmJUcmFpbldhZ29uRWxlbWVudCB8IFNiYlRyYWluQmxvY2tlZFBhc3NhZ2VFbGVtZW50LFxuICB0eXBlb2YgTGl0RWxlbWVudFxuPihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB0cmFpblNsb3RDaGFuZ2U6ICd0cmFpblNsb3RDaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbGlzdENoaWxkTG9jYWxOYW1lcyA9IFtcbiAgICAnc2JiLXRyYWluLXdhZ29uJyxcbiAgICAnc2JiLXRyYWluLWJsb2NrZWQtcGFzc2FnZScsXG4gIF07XG5cbiAgLyoqIEdlbmVyYWwgbGFiZWwgZm9yIFwiZHJpdmluZyBkaXJlY3Rpb25cIi4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2RpcmVjdGlvbi1sYWJlbCcsIHJlZmxlY3Q6IHRydWUsIGNvbnZlcnRlcjogb21pdEVtcHR5Q29udmVydGVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkaXJlY3Rpb25MYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEhlYWRpbmcgbGV2ZWwgb2YgdGhlIGRpcmVjdGlvbiBsYWJlbCwgdXNlZCBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2RpcmVjdGlvbi1sYWJlbC1sZXZlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpcmVjdGlvbkxhYmVsTGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnNic7XG5cbiAgLyoqIExhYmVsIGZvciB0aGUgZGVzdGluYXRpb24gc3RhdGlvbiBvZiB0aGUgdHJhaW4uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3Igc3RhdGlvbjogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEFjY2Vzc2liaWxpdHkgbGFiZWwgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZSBsZWF2aW5nIGRpcmVjdGlvbiBvZiB0aGUgdHJhaW4uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKiogQ29udHJvbHMgdGhlIGRpcmVjdGlvbiBpbmRpY2F0b3IgdG8gc2hvdyB0aGUgYXJyb3cgbGVmdCBvciByaWdodC4gRGVmYXVsdCBpcyBsZWZ0LiAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgZGlyZWN0aW9uOiAnbGVmdCcgfCAncmlnaHQnID0gJ2xlZnQnO1xuXG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEVtaXRzIHdoZW5ldmVyIHRoZSB0cmFpbiBzbG90IGNoYW5nZXMuXG4gICAqL1xuICBwcml2YXRlIF90cmFpblNsb3RDaGFuZ2U6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJUcmFpbkVsZW1lbnQuZXZlbnRzLnRyYWluU2xvdENoYW5nZSxcbiAgICB7XG4gICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICB9LFxuICApO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIGFyaWEtbGFiZWwgdGV4dCBvdXQgb2YgdGhlIGRpcmVjdGlvbiBsYWJlbCwgc3RhdGlvbiBhbmQgdGhlIGFjY2Vzc2liaWxpdHkgbGFiZWwuXG4gICAqL1xuICBwcml2YXRlIF9nZXREaXJlY3Rpb25BcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICBjb25zdCB0ZXh0UGFydHM6IHN0cmluZ1tdID0gW2kxOG5UcmFpblt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XV07XG5cbiAgICBpZiAodGhpcy5kaXJlY3Rpb25MYWJlbCAmJiB0aGlzLnN0YXRpb24pIHtcbiAgICAgIHRleHRQYXJ0cy5wdXNoKGAke3RoaXMuZGlyZWN0aW9uTGFiZWx9ICR7dGhpcy5zdGF0aW9ufWApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCkge1xuICAgICAgdGV4dFBhcnRzLnB1c2godGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwpO1xuICAgIH1cblxuICAgIHJldHVybiBgJHt0ZXh0UGFydHMuam9pbignLCAnKX0uYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczxXaXRoTGlzdENoaWxkcmVuPHRoaXM+Pik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGlzdENoaWxkcmVuJykpIHtcbiAgICAgIHRoaXMuX3RyYWluU2xvdENoYW5nZS5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVElUTEVfVEFHX05BTUUgPSBgaCR7dGhpcy5kaXJlY3Rpb25MYWJlbExldmVsfWA7XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdHJhaW5cIj5cbiAgICAgICAgPCR7dW5zYWZlU3RhdGljKFRJVExFX1RBR19OQU1FKX0gY2xhc3M9XCJzYmItdHJhaW5fX2RpcmVjdGlvbi1sYWJlbC1zclwiPlxuICAgICAgICAgICR7dGhpcy5fZ2V0RGlyZWN0aW9uQXJpYUxhYmVsKCl9XG4gICAgICAgIDwvJHt1bnNhZmVTdGF0aWMoVElUTEVfVEFHX05BTUUpfT5cbiAgICAgICAgJHtcbiAgICAgICAgICB0aGlzLmRpcmVjdGlvbkxhYmVsXG4gICAgICAgICAgICA/IGh0bWxgPGRpdiBjbGFzcz1cInNiYi10cmFpbl9fZGlyZWN0aW9uLWhlYWRpbmdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10cmFpbl9fZGlyZWN0aW9uLXN0aWNreS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAke3RoaXMuZGlyZWN0aW9uID09PSAnbGVmdCdcbiAgICAgICAgICAgICAgICAgICAgPyBodG1sYDxzYmItaWNvbiBuYW1lPVwiY2hldnJvbi1zbWFsbC1sZWZ0LXNtYWxsXCI+PC9zYmItaWNvbj5gXG4gICAgICAgICAgICAgICAgICAgIDogbm90aGluZ31cblxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdHJhaW5fX2RpcmVjdGlvbi1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAke3RoaXMuZGlyZWN0aW9uTGFiZWx9ICR7dGhpcy5zdGF0aW9ufVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgICAke3RoaXMuZGlyZWN0aW9uID09PSAncmlnaHQnXG4gICAgICAgICAgICAgICAgICAgID8gaHRtbGA8c2JiLWljb24gbmFtZT1cImNoZXZyb24tc21hbGwtcmlnaHQtc21hbGxcIj48L3NiYi1pY29uPmBcbiAgICAgICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICAgICAgOiBub3RoaW5nXG4gICAgICAgIH1cbiAgICAgICAgJHt0aGlzLnJlbmRlckxpc3Qoe1xuICAgICAgICAgIGNsYXNzOiAnc2JiLXRyYWluX193YWdvbnMnLFxuICAgICAgICAgIGFyaWFMYWJlbDogaTE4bldhZ29uc0xhYmVsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdLFxuICAgICAgICB9KX1cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10cmFpbic6IFNiYlRyYWluRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlNiYlRyYWluRWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBOEJNLG1CQUFlLE1BQUE7OzBCQURwQixjQUFjLFdBQVcsQ0FBQzs7OztvQkFDRyxzQkFHNUIsVUFBVTs7Ozs7Ozs7Ozs7Ozs7OztBQUhVQSxNQUFBQSxvQkFBQSxtQkFBUSxZQUdqQjtBQUFBOztBQWFYO0FBSUE7QUFLQTtBQUtBO0FBRzZCO0FBekJELFdBQUEsc0JBQXNCO0FBQUEsUUFDaEQ7QUFBQSxRQUNBO0FBQUE7QUFNYyx5QkFBQSxrQ0FBQSxrQkFBQSxNQUFBLDhCQUF5QixFQUFFO0FBSTNCLHlCQUFBLHdDQUFBLGtCQUFBLE1BQUEsaUNBQUEsR0FBQSxrQkFBQSxNQUFBLG1DQUFxQyxHQUFHO0FBS3hDLHlCQUFBLDRCQUFBLGtCQUFBLE1BQUEsc0NBQUEsR0FBQSxrQkFBQSxNQUFBLHVCQUFrQixFQUFFO0FBS3BCLHlCQUFBLHVDQUFBLGtCQUFBLE1BQUEsMEJBQUEsR0FBQSxrQkFBQSxNQUFBLGtDQUE2QixFQUFFO0FBR0YseUJBQUEsOEJBQUEsa0JBQUEsTUFBQSxxQ0FBQSxHQUFBLGtCQUFBLE1BQUEseUJBQThCLE1BQU07QUFFekUsV0FBQSxvRUFBWSxJQUFJLHNCQUFzQixJQUFJO0FBTTFDLFdBQWdCLG1CQUFpQixJQUFJLGFBQzNDLE1BQ0FBLGlCQUFnQixPQUFPLGlCQUN2QjtBQUFBLFFBQ0UsU0FBUztBQUFBLFFBQ1QsWUFBWTtBQUFBLE1BQUEsQ0FDYjtBQUFBLElBQUE7QUFBQTtBQUFBLElBL0JILElBQWdCLGlCQUE0QjtBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBNUMsSUFBZ0IsZUFBNEIsT0FBQTtBQUFBLHlCQUFBLGtDQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFJNUMsSUFBZ0Isc0JBQXlDO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUF6RCxJQUFnQixvQkFBeUMsT0FBQTtBQUFBLHlCQUFBLHVDQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFLekQsSUFBZ0IsVUFBcUI7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXJDLElBQWdCLFFBQXFCLE9BQUE7QUFBQSx5QkFBQSwyQkFBQTtBQUFBLElBQUE7QUFBQTtBQUFBLElBS3JDLElBQWdCLHFCQUFnQztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBaEQsSUFBZ0IsbUJBQWdDLE9BQUE7QUFBQSx5QkFBQSxzQ0FBQTtBQUFBLElBQUE7QUFBQTtBQUFBLElBR25CLElBQWdCLFlBQXFDO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUFyRCxJQUFnQixVQUFxQyxPQUFBO0FBQUEseUJBQUEsNkJBQUE7QUFBQSxJQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFvQjFFLHlCQUFzQjtBQUM1QixZQUFNLFlBQXNCLENBQUMsVUFBVSxLQUFLLFVBQVUsT0FBTyxDQUFDO0FBRTFELFVBQUEsS0FBSyxrQkFBa0IsS0FBSyxTQUFTO0FBQ3ZDLGtCQUFVLEtBQUssR0FBRyxLQUFLLGNBQWMsSUFBSSxLQUFLLE9BQU8sRUFBRTtBQUFBLE1BQUE7QUFHekQsVUFBSSxLQUFLLG9CQUFvQjtBQUNqQixrQkFBQSxLQUFLLEtBQUssa0JBQWtCO0FBQUEsTUFBQTtBQUd4QyxhQUFPLEdBQUcsVUFBVSxLQUFLLElBQUksQ0FBQztBQUFBLElBQUE7QUFBQSxJQUdiLFdBQVcsbUJBQXlEO0FBQ3JGLFlBQU0sV0FBVyxpQkFBaUI7QUFFOUIsVUFBQSxrQkFBa0IsSUFBSSxjQUFjLEdBQUc7QUFDekMsYUFBSyxpQkFBaUI7O0lBQ3hCO0FBQUEsSUFHaUIsU0FBTTtBQUNqQixZQUFBLGlCQUFpQixJQUFJLEtBQUssbUJBQW1CO0FBRzVDLGFBQUE7QUFBQTtBQUFBLFdBRUEsYUFBYSxjQUFjLENBQUM7QUFBQSxZQUMzQixLQUFLLHVCQUF3QixDQUFBO0FBQUEsWUFDN0IsYUFBYSxjQUFjLENBQUM7QUFBQSxVQUU5QixLQUFLLGlCQUNEO0FBQUE7QUFBQSxvQkFFTSxLQUFLLGNBQWMsU0FDakIsOERBQ0EsT0FBTztBQUFBO0FBQUE7QUFBQSxzQkFHUCxLQUFLLGNBQWMsSUFBSSxLQUFLLE9BQU87QUFBQTtBQUFBO0FBQUEsb0JBR3JDLEtBQUssY0FBYyxVQUNqQiwrREFDQSxPQUFPO0FBQUE7QUFBQSx3QkFHZixPQUNOO0FBQUEsVUFDRSxLQUFLLFdBQVc7QUFBQSxRQUNoQixPQUFPO0FBQUEsUUFDUCxXQUFXLGdCQUFnQixLQUFLLFVBQVUsT0FBTztBQUFBLE1BQUEsQ0FDbEQsQ0FBQztBQUFBO0FBQUE7QUFBQSxJQUFBO0FBQUEsS0ExRlIsa0RBSUEsdURBS0EsMkNBS0Esc0RBRzZCOztBQW5CNUIsaUNBQUEsQ0FBQSxhQUNBLFNBQVMsRUFBRSxXQUFXLG1CQUFtQixTQUFTLE1BQU0sV0FBVyxtQkFBb0IsQ0FBQSxDQUFDO0FBSXhGLHNDQUFBLENBQUEsU0FBUyxFQUFFLFdBQVcsd0JBQXlCLENBQUEsQ0FBQzsyQkFJaEQsYUFDQSxVQUFVO3NDQUlWLGFBQ0EsU0FBUyxFQUFFLFdBQVcsc0JBQUEsQ0FBdUIsQ0FBQztBQUk5Qyw0QkFBQSxDQUFBLFNBQVMsRUFBRSxTQUFTLEtBQU0sQ0FBQSxDQUFDO0FBakJaLGlCQUFBLElBQUEsTUFBQSw0QkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLGtCQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLG9CQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxnQkFBQSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBQSxpQkFBNEI7QUFBQSxTQUFBLFVBQUEsYUFBQSw4QkFBQSxpQ0FBQTtBQUk1QixpQkFBQSxJQUFBLE1BQUEsaUNBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSx1QkFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSx5QkFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQUEscUJBQUEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUEsc0JBQXlDO0FBQUEsU0FBQSxVQUFBLGFBQUEsbUNBQUEsc0NBQUE7QUFLekMsaUJBQUEsSUFBQSxNQUFBLHFCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsV0FBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxhQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxTQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLFVBQXFCO0FBQUEsU0FBQSxVQUFBLGFBQUEsdUJBQUEsMEJBQUE7QUFLckIsaUJBQUEsSUFBQSxNQUFBLGdDQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsc0JBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsd0JBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFBLG9CQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLHFCQUFnQztBQUFBLFNBQUEsVUFBQSxhQUFBLGtDQUFBLHFDQUFBO0FBR0gsaUJBQUEsSUFBQSxNQUFBLHVCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsYUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxlQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBQSxXQUFBLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFBLFlBQXFDO0FBQUEsU0FBQSxVQUFBLGFBQUEseUJBQUEsNEJBQUE7QUFqQ3BGLGlCQThHQyxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBMUd3QixHQUFNLFNBQW1CLE9BQ3pCLEdBQUEsU0FBUztBQUFBLElBQzlCLGlCQUFpQjtBQUFBLEVBQ1QsR0FQTixrQkFBZSxZQUFBLHVCQUFBLEdBQUM7OzsifQ==
245
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4uY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvdHJhaW4vdHJhaW4vdHJhaW4uY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIExpdEVsZW1lbnQsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGh0bWwsIHVuc2FmZVN0YXRpYyB9IGZyb20gJ2xpdC9zdGF0aWMtaHRtbC5qcyc7XG5cbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgZm9yY2VUeXBlLCBvbWl0RW1wdHlDb252ZXJ0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnLi4vLi4vY29yZS9ldmVudGluZy5qcyc7XG5pbXBvcnQgeyBpMThuVHJhaW4sIGkxOG5XYWdvbnNMYWJlbCB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJOYW1lZFNsb3RMaXN0TWl4aW4sIHR5cGUgV2l0aExpc3RDaGlsZHJlbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVGl0bGVMZXZlbCB9IGZyb20gJy4uLy4uL3RpdGxlLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiVHJhaW5CbG9ja2VkUGFzc2FnZUVsZW1lbnQgfSBmcm9tICcuLi90cmFpbi1ibG9ja2VkLXBhc3NhZ2UuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUcmFpbldhZ29uRWxlbWVudCB9IGZyb20gJy4uL3RyYWluLXdhZ29uLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdHJhaW4uc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9pY29uLmpzJztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3IgYHNiYi10cmFpbi13YWdvbmAgb3IgYHNiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2VgIGNvbXBvbmVudHMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgJ3NiYi10cmFpbi13YWdvbicgZWxlbWVudHMgdG8gdGhlIGBzYmItdHJhaW5gLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItdHJhaW4nKVxuY2xhc3MgU2JiVHJhaW5FbGVtZW50IGV4dGVuZHMgU2JiTmFtZWRTbG90TGlzdE1peGluPFxuICBTYmJUcmFpbldhZ29uRWxlbWVudCB8IFNiYlRyYWluQmxvY2tlZFBhc3NhZ2VFbGVtZW50LFxuICB0eXBlb2YgTGl0RWxlbWVudFxuPihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICB0cmFpblNsb3RDaGFuZ2U6ICd0cmFpblNsb3RDaGFuZ2UnLFxuICB9IGFzIGNvbnN0O1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbGlzdENoaWxkTG9jYWxOYW1lcyA9IFtcbiAgICAnc2JiLXRyYWluLXdhZ29uJyxcbiAgICAnc2JiLXRyYWluLWJsb2NrZWQtcGFzc2FnZScsXG4gIF07XG5cbiAgLyoqIEdlbmVyYWwgbGFiZWwgZm9yIFwiZHJpdmluZyBkaXJlY3Rpb25cIi4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2RpcmVjdGlvbi1sYWJlbCcsIHJlZmxlY3Q6IHRydWUsIGNvbnZlcnRlcjogb21pdEVtcHR5Q29udmVydGVyIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBkaXJlY3Rpb25MYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEhlYWRpbmcgbGV2ZWwgb2YgdGhlIGRpcmVjdGlvbiBsYWJlbCwgdXNlZCBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ2RpcmVjdGlvbi1sYWJlbC1sZXZlbCcgfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpcmVjdGlvbkxhYmVsTGV2ZWw6IFNiYlRpdGxlTGV2ZWwgPSAnNic7XG5cbiAgLyoqIExhYmVsIGZvciB0aGUgZGVzdGluYXRpb24gc3RhdGlvbiBvZiB0aGUgdHJhaW4uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoKVxuICBwdWJsaWMgYWNjZXNzb3Igc3RhdGlvbjogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEFjY2Vzc2liaWxpdHkgbGFiZWwgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZSBsZWF2aW5nIGRpcmVjdGlvbiBvZiB0aGUgdHJhaW4uICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdhY2Nlc3NpYmlsaXR5LWxhYmVsJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgYWNjZXNzaWJpbGl0eUxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKiogQ29udHJvbHMgdGhlIGRpcmVjdGlvbiBpbmRpY2F0b3IgdG8gc2hvdyB0aGUgYXJyb3cgbGVmdCBvciByaWdodC4gRGVmYXVsdCBpcyBsZWZ0LiAgKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgZGlyZWN0aW9uOiAnbGVmdCcgfCAncmlnaHQnID0gJ2xlZnQnO1xuXG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqIEVtaXRzIHdoZW5ldmVyIHRoZSB0cmFpbiBzbG90IGNoYW5nZXMuXG4gICAqL1xuICBwcml2YXRlIF90cmFpblNsb3RDaGFuZ2U6IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoXG4gICAgdGhpcyxcbiAgICBTYmJUcmFpbkVsZW1lbnQuZXZlbnRzLnRyYWluU2xvdENoYW5nZSxcbiAgICB7XG4gICAgICBidWJibGVzOiB0cnVlLFxuICAgICAgY2FuY2VsYWJsZTogdHJ1ZSxcbiAgICB9LFxuICApO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIGFyaWEtbGFiZWwgdGV4dCBvdXQgb2YgdGhlIGRpcmVjdGlvbiBsYWJlbCwgc3RhdGlvbiBhbmQgdGhlIGFjY2Vzc2liaWxpdHkgbGFiZWwuXG4gICAqL1xuICBwcml2YXRlIF9nZXREaXJlY3Rpb25BcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICBjb25zdCB0ZXh0UGFydHM6IHN0cmluZ1tdID0gW2kxOG5UcmFpblt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XV07XG5cbiAgICBpZiAodGhpcy5kaXJlY3Rpb25MYWJlbCAmJiB0aGlzLnN0YXRpb24pIHtcbiAgICAgIHRleHRQYXJ0cy5wdXNoKGAke3RoaXMuZGlyZWN0aW9uTGFiZWx9ICR7dGhpcy5zdGF0aW9ufWApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmFjY2Vzc2liaWxpdHlMYWJlbCkge1xuICAgICAgdGV4dFBhcnRzLnB1c2godGhpcy5hY2Nlc3NpYmlsaXR5TGFiZWwpO1xuICAgIH1cblxuICAgIHJldHVybiBgJHt0ZXh0UGFydHMuam9pbignLCAnKX0uYDtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczxXaXRoTGlzdENoaWxkcmVuPHRoaXM+Pik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGlzdENoaWxkcmVuJykpIHtcbiAgICAgIHRoaXMuX3RyYWluU2xvdENoYW5nZS5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgY29uc3QgVElUTEVfVEFHX05BTUUgPSBgaCR7dGhpcy5kaXJlY3Rpb25MYWJlbExldmVsfWA7XG5cbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBsaXQvYmluZGluZy1wb3NpdGlvbnMgKi9cbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItdHJhaW5cIj5cbiAgICAgICAgPCR7dW5zYWZlU3RhdGljKFRJVExFX1RBR19OQU1FKX0gY2xhc3M9XCJzYmItdHJhaW5fX2RpcmVjdGlvbi1sYWJlbC1zclwiPlxuICAgICAgICAgICR7dGhpcy5fZ2V0RGlyZWN0aW9uQXJpYUxhYmVsKCl9XG4gICAgICAgIDwvJHt1bnNhZmVTdGF0aWMoVElUTEVfVEFHX05BTUUpfT5cbiAgICAgICAgJHtcbiAgICAgICAgICB0aGlzLmRpcmVjdGlvbkxhYmVsXG4gICAgICAgICAgICA/IGh0bWxgPGRpdiBjbGFzcz1cInNiYi10cmFpbl9fZGlyZWN0aW9uLWhlYWRpbmdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi10cmFpbl9fZGlyZWN0aW9uLXN0aWNreS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAke3RoaXMuZGlyZWN0aW9uID09PSAnbGVmdCdcbiAgICAgICAgICAgICAgICAgICAgPyBodG1sYDxzYmItaWNvbiBuYW1lPVwiY2hldnJvbi1zbWFsbC1sZWZ0LXNtYWxsXCI+PC9zYmItaWNvbj5gXG4gICAgICAgICAgICAgICAgICAgIDogbm90aGluZ31cblxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdHJhaW5fX2RpcmVjdGlvbi1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAke3RoaXMuZGlyZWN0aW9uTGFiZWx9ICR7dGhpcy5zdGF0aW9ufVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgICAke3RoaXMuZGlyZWN0aW9uID09PSAncmlnaHQnXG4gICAgICAgICAgICAgICAgICAgID8gaHRtbGA8c2JiLWljb24gbmFtZT1cImNoZXZyb24tc21hbGwtcmlnaHQtc21hbGxcIj48L3NiYi1pY29uPmBcbiAgICAgICAgICAgICAgICAgICAgOiBub3RoaW5nfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+YFxuICAgICAgICAgICAgOiBub3RoaW5nXG4gICAgICAgIH1cbiAgICAgICAgJHt0aGlzLnJlbmRlckxpc3Qoe1xuICAgICAgICAgIGNsYXNzOiAnc2JiLXRyYWluX193YWdvbnMnLFxuICAgICAgICAgIGFyaWFMYWJlbDogaTE4bldhZ29uc0xhYmVsW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdLFxuICAgICAgICB9KX1cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10cmFpbic6IFNiYlRyYWluRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlNiYlRyYWluRWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBOEJNLG1CQUFlLE1BQUE7OzBCQURwQixjQUFjLFdBQVcsQ0FBQzs7OztvQkFDRyxzQkFHNUIsVUFBVTs7Ozs7Ozs7Ozs7Ozs7OztBQUhVLE1BQUFBLG9CQUFBLG1CQUFRLFlBR2pCO0FBQUE7O0FBYVg7QUFJ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
@@ -84,4 +84,4 @@ let SbbTrainBlockedPassageElement = (() => {
84
84
  export {
85
85
  SbbTrainBlockedPassageElement
86
86
  };
87
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4tYmxvY2tlZC1wYXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RyYWluL3RyYWluLWJsb2NrZWQtcGFzc2FnZS90cmFpbi1ibG9ja2VkLXBhc3NhZ2UuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdHJhaW4tYmxvY2tlZC1wYXNzYWdlLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgdmlzdWFsbHkgZGlzcGxheXMgYSBibG9ja2VkIHBhc3NhZ2UgYmV0d2VlbiB0cmFpbiB3YWdvbnMuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2UnKVxuY2xhc3MgU2JiVHJhaW5CbG9ja2VkUGFzc2FnZUVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdHJhaW4tYmxvY2tlZC1wYXNzYWdlX193cmFwcGVyXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdHJhaW4tYmxvY2tlZC1wYXNzYWdlX19pY29uXCI+PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRyYWluLWJsb2NrZWQtcGFzc2FnZSc6IFNiYlRyYWluQmxvY2tlZFBhc3NhZ2VFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQVdNLGlDQUE2QixNQUFBOzswQkFEbEMsY0FBYywyQkFBMkIsQ0FBQzs7OztvQkFDQztBQUFSLEVBQUEsbUJBQVEsWUFBVTtBQUFBLElBR2pDLFNBQU07QUFDaEIsYUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBQUE7QUFBQTs7QUFKWCxpQkFZQyxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBWHdCLEdBQU0sU0FBbUIsT0FENUMsa0JBQTZCLFlBQUEsdUJBQUEsR0FBQzs7OyJ9
87
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4tYmxvY2tlZC1wYXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RyYWluL3RyYWluLWJsb2NrZWQtcGFzc2FnZS90cmFpbi1ibG9ja2VkLXBhc3NhZ2UuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdHJhaW4tYmxvY2tlZC1wYXNzYWdlLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgdmlzdWFsbHkgZGlzcGxheXMgYSBibG9ja2VkIHBhc3NhZ2UgYmV0d2VlbiB0cmFpbiB3YWdvbnMuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2UnKVxuY2xhc3MgU2JiVHJhaW5CbG9ja2VkUGFzc2FnZUVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi10cmFpbi1ibG9ja2VkLXBhc3NhZ2VcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdHJhaW4tYmxvY2tlZC1wYXNzYWdlX193cmFwcGVyXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdHJhaW4tYmxvY2tlZC1wYXNzYWdlX19pY29uXCI+PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRyYWluLWJsb2NrZWQtcGFzc2FnZSc6IFNiYlRyYWluQmxvY2tlZFBhc3NhZ2VFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQVdNLGlDQUE2QixNQUFBOzswQkFEbEMsY0FBYywyQkFBMkIsQ0FBQzs7OztvQkFDQztBQUFSLEVBQUEsbUJBQVEsWUFBVTtBQUFBLElBR2pDLFNBQU07QUFDdkIsYUFBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBQUE7QUFBQTs7QUFKWCxpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBQ3lCLEdBQUEsU0FBeUIsT0FENUMsa0JBQUEsWUFBQSx1QkFBQSxHQUE4Qjs7OyJ9
@@ -171,7 +171,6 @@ let SbbTrainFormationElement = (() => {
171
171
  let __sectors_extraInitializers = [];
172
172
  _a = class extends _classSuper {
173
173
  constructor() {
174
- var _a2, _b;
175
174
  super();
176
175
  __privateAdd(this, _view_accessor_storage);
177
176
  __privateAdd(this, __sectors_accessor_storage);
@@ -179,8 +178,8 @@ let SbbTrainFormationElement = (() => {
179
178
  __privateSet(this, _view_accessor_storage, __runInitializers(this, _view_initializers, "side"));
180
179
  __privateSet(this, __sectors_accessor_storage, (__runInitializers(this, _view_extraInitializers), __runInitializers(this, __sectors_initializers, [])));
181
180
  this._language = (__runInitializers(this, __sectors_extraInitializers), new SbbLanguageController(this));
182
- (_a2 = this.addEventListener) == null ? void 0 : _a2.call(this, "trainSlotChange", (e) => this._readSectors(e));
183
- (_b = this.addEventListener) == null ? void 0 : _b.call(this, "sectorChange", (e) => this._readSectors(e));
181
+ this.addEventListener?.("trainSlotChange", (e) => this._readSectors(e));
182
+ this.addEventListener?.("sectorChange", (e) => this._readSectors(e));
184
183
  }
185
184
  /** Whether the view of the wagons is from side or top perspective. */
186
185
  get view() {
@@ -196,9 +195,8 @@ let SbbTrainFormationElement = (() => {
196
195
  __privateSet(this, __sectors_accessor_storage, value);
197
196
  }
198
197
  _readSectors(event) {
199
- var _a2;
200
- event == null ? void 0 : event.stopPropagation();
201
- this._sectors = Array.from(((_a2 = this.querySelectorAll) == null ? void 0 : _a2.call(this, "sbb-train-wagon,sbb-train-blocked-passage")) ?? []).reduce((aggregatedSectors, item) => {
198
+ event?.stopPropagation();
199
+ this._sectors = Array.from(this.querySelectorAll?.("sbb-train-wagon,sbb-train-blocked-passage") ?? []).reduce((aggregatedSectors, item) => {
202
200
  const currentAggregatedSector = aggregatedSectors[aggregatedSectors.length - 1];
203
201
  if (item.localName === "sbb-train-wagon") {
204
202
  const sectorAttribute = item.sector ?? item.getAttribute("sector");
@@ -270,4 +268,4 @@ let SbbTrainFormationElement = (() => {
270
268
  export {
271
269
  SbbTrainFormationElement
272
270
  };
273
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4tZm9ybWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RyYWluL3RyYWluLWZvcm1hdGlvbi90cmFpbi1mb3JtYXRpb24uY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIExpdEVsZW1lbnQsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaTE4blNlY3RvciwgaTE4blNlY3RvclNob3J0LCBpMThuVHJhaW5zIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYk5hbWVkU2xvdExpc3RNaXhpbiwgdHlwZSBXaXRoTGlzdENoaWxkcmVuIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUcmFpbkJsb2NrZWRQYXNzYWdlRWxlbWVudCB9IGZyb20gJy4uL3RyYWluLWJsb2NrZWQtcGFzc2FnZS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRyYWluV2Fnb25FbGVtZW50IH0gZnJvbSAnLi4vdHJhaW4td2Fnb24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUcmFpbkVsZW1lbnQgfSBmcm9tICcuLi90cmFpbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RyYWluLWZvcm1hdGlvbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbnRlcmZhY2UgQWdncmVnYXRlZFNlY3RvciB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHdhZ29uQ291bnQ6IG51bWJlcjtcbiAgYmxvY2tlZFBhc3NhZ2VDb3VudDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdHJhaW4gY29tcG9zaXRpb24sIGFjdGluZyBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYHNiYi10cmFpbmAgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkICdzYmItdHJhaW4nIGVsZW1lbnRzIHRvIHRoZSBgc2JiLXRyYWluLWZvcm1hdGlvbmAuXG4gKiBAY3NzcHJvcCBbLS1zYmItdHJhaW4tZm9ybWF0aW9uLXBhZGRpbmctaW5saW5lPTBweF0gLSBEZWZpbmVzIHRoZSBpbmxpbmUgcGFkZGluZyBpbnNpZGUgdGhlIGhvcml6b250YWwgc2Nyb2xsaW5nIGFyZWEuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10cmFpbi1mb3JtYXRpb24nKVxuY2xhc3MgU2JiVHJhaW5Gb3JtYXRpb25FbGVtZW50IGV4dGVuZHMgU2JiTmFtZWRTbG90TGlzdE1peGluPFNiYlRyYWluRWxlbWVudCwgdHlwZW9mIExpdEVsZW1lbnQ+KFxuICBMaXRFbGVtZW50LFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbGlzdENoaWxkTG9jYWxOYW1lcyA9IFsnc2JiLXRyYWluJ107XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHZpZXcgb2YgdGhlIHdhZ29ucyBpcyBmcm9tIHNpZGUgb3IgdG9wIHBlcnNwZWN0aXZlLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciB2aWV3OiAnc2lkZScgfCAndG9wJyA9ICdzaWRlJztcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9zZWN0b3JzOiBBZ2dyZWdhdGVkU2VjdG9yW10gPSBbXTtcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3RyYWluU2xvdENoYW5nZScsIChlKSA9PiB0aGlzLl9yZWFkU2VjdG9ycyhlKSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3NlY3RvckNoYW5nZScsIChlKSA9PiB0aGlzLl9yZWFkU2VjdG9ycyhlKSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWFkU2VjdG9ycyhldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgLy8gS2VlcCB0aGUgZXZlbnQgaW50ZXJuYWwuXG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgdGhpcy5fc2VjdG9ycyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJUcmFpbldhZ29uRWxlbWVudCB8IFNiYlRyYWluQmxvY2tlZFBhc3NhZ2VFbGVtZW50PihcbiAgICAgICAgJ3NiYi10cmFpbi13YWdvbixzYmItdHJhaW4tYmxvY2tlZC1wYXNzYWdlJyxcbiAgICAgICkgPz8gW10sXG4gICAgKS5yZWR1Y2UoXG4gICAgICAoXG4gICAgICAgIGFnZ3JlZ2F0ZWRTZWN0b3JzOiBBZ2dyZWdhdGVkU2VjdG9yW10sXG4gICAgICAgIGl0ZW06IFNiYlRyYWluV2Fnb25FbGVtZW50IHwgU2JiVHJhaW5CbG9ja2VkUGFzc2FnZUVsZW1lbnQsXG4gICAgICApID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IgPSBhZ2dyZWdhdGVkU2VjdG9yc1thZ2dyZWdhdGVkU2VjdG9ycy5sZW5ndGggLSAxXTtcblxuICAgICAgICBpZiAoaXRlbS5sb2NhbE5hbWUgPT09ICdzYmItdHJhaW4td2Fnb24nKSB7XG4gICAgICAgICAgY29uc3Qgc2VjdG9yQXR0cmlidXRlID1cbiAgICAgICAgICAgIChpdGVtIGFzIFNiYlRyYWluV2Fnb25FbGVtZW50KS5zZWN0b3IgPz8gaXRlbS5nZXRBdHRyaWJ1dGUoJ3NlY3RvcicpO1xuXG4gICAgICAgICAgaWYgKCFjdXJyZW50QWdncmVnYXRlZFNlY3Rvci5sYWJlbCAmJiBzZWN0b3JBdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIGN1cnJlbnRBZ2dyZWdhdGVkU2VjdG9yLmxhYmVsID0gc2VjdG9yQXR0cmlidXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghc2VjdG9yQXR0cmlidXRlIHx8IGN1cnJlbnRBZ2dyZWdhdGVkU2VjdG9yLmxhYmVsID09PSBzZWN0b3JBdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIGN1cnJlbnRBZ2dyZWdhdGVkU2VjdG9yLndhZ29uQ291bnQrKztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYWdncmVnYXRlZFNlY3RvcnMucHVzaCh7XG4gICAgICAgICAgICAgIGxhYmVsOiBzZWN0b3JBdHRyaWJ1dGUsXG4gICAgICAgICAgICAgIHdhZ29uQ291bnQ6IDEsXG4gICAgICAgICAgICAgIGJsb2NrZWRQYXNzYWdlQ291bnQ6IDAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5sb2NhbE5hbWUgPT09ICdzYmItdHJhaW4tYmxvY2tlZC1wYXNzYWdlJykge1xuICAgICAgICAgIGN1cnJlbnRBZ2dyZWdhdGVkU2VjdG9yLmJsb2NrZWRQYXNzYWdlQ291bnQrKztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhZ2dyZWdhdGVkU2VjdG9ycztcbiAgICAgIH0sXG4gICAgICBbeyB3YWdvbkNvdW50OiAwLCBibG9ja2VkUGFzc2FnZUNvdW50OiAwIH0gYXMgQWdncmVnYXRlZFNlY3Rvcl0sXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczxXaXRoTGlzdENoaWxkcmVuPHRoaXM+Pik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGlzdENoaWxkcmVuJykpIHtcbiAgICAgIHRoaXMuX3JlYWRTZWN0b3JzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXRyYWluLWZvcm1hdGlvblwiPlxuICAgICAgICAke3RoaXMuX3NlY3RvcnMubGVuZ3RoICYmIHRoaXMuX3NlY3RvcnNbMF0ubGFiZWwgIT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gaHRtbGA8ZGl2IGNsYXNzPVwic2JiLXRyYWluLWZvcm1hdGlvbl9fc2VjdG9yc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAke3RoaXMuX3NlY3RvcnMubWFwKFxuICAgICAgICAgICAgICAgIChhZ2dyZWdhdGVkU2VjdG9yKSA9PlxuICAgICAgICAgICAgICAgICAgaHRtbGA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi10cmFpbi1mb3JtYXRpb25fX3NlY3RvclwiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiXG4gICAgICAgICAgICAgICAgLS1zYmItdHJhaW4tZm9ybWF0aW9uLXdhZ29uLWNvdW50OiAke2FnZ3JlZ2F0ZWRTZWN0b3Iud2Fnb25Db3VudH07XG4gICAgICAgICAgICAgICAgLS1zYmItdHJhaW4tZm9ybWF0aW9uLXdhZ29uLWJsb2NrZWQtcGFzc2FnZS1jb3VudDogJHthZ2dyZWdhdGVkU2VjdG9yLmJsb2NrZWRQYXNzYWdlQ291bnR9XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdHJhaW4tZm9ybWF0aW9uX19zZWN0b3Itc3RpY2t5LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAke2Ake1xuICAgICAgICAgICAgICAgICAgICAgICAgYWdncmVnYXRlZFNlY3Rvci53YWdvbkNvdW50ID09PSAxICYmIGFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpMThuU2VjdG9yU2hvcnRbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpMThuU2VjdG9yW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdXG4gICAgICAgICAgICAgICAgICAgICAgfSAke2FnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgPyBhZ2dyZWdhdGVkU2VjdG9yLmxhYmVsIDogJyd9YH1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9zcGFuPmAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItdHJhaW4tZm9ybWF0aW9uX190cmFpbnNcIj5cbiAgICAgICAgICAke3RoaXMucmVuZGVyTGlzdCh7XG4gICAgICAgICAgICBjbGFzczogJ3NiYi10cmFpbi1mb3JtYXRpb25fX3RyYWluLWxpc3QnLFxuICAgICAgICAgICAgYXJpYUxhYmVsOiBpMThuVHJhaW5zW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdLFxuICAgICAgICAgIH0pfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10cmFpbi1mb3JtYXRpb24nOiBTYmJUcmFpbkZvcm1hdGlvbkVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJfYSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFpQ00sNEJBQXdCLE1BQUE7OzBCQUQ3QixjQUFjLHFCQUFxQixDQUFDOzs7O29CQUNFLHNCQUNyQyxVQUFVOzs7Ozs7O0FBRG1CLEVBQUEsbUJBQVEsWUFFdEM7QUFBQSxJQVdDLGNBQUE7OztBQU42QjtBQUVwQjtBQUxtQixXQUFBLHNCQUFzQixDQUFDLFdBQVc7QUFHakIseUJBQUEsd0JBQUEsa0JBQUEsTUFBQSxvQkFBdUIsTUFBTTtBQUVoRCx5QkFBQSw2QkFBQSxrQkFBQSxNQUFBLHVCQUFBLEdBQUEsa0JBQUEsTUFBQSx3QkFBK0IsQ0FBQSxDQUFFO0FBRW5ELFdBQUEsbUVBQVksSUFBSSxzQkFBc0IsSUFBSTtBQUloRCxPQUFBQSxNQUFBLEtBQUsscUJBQUwsZ0JBQUFBLElBQUEsV0FBd0IsbUJBQW1CLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQztBQUNyRSxpQkFBSyxxQkFBTCw4QkFBd0IsZ0JBQWdCLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQztBQUFBLElBQUM7QUFBQTtBQUFBLElBVHhDLElBQWdCLE9BQThCO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUE5QyxJQUFnQixLQUE4QixPQUFBO0FBQUEseUJBQUEsd0JBQUE7QUFBQSxJQUFBO0FBQUEsSUFFbEUsSUFBaUIsV0FBa0M7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQW5ELElBQWlCLFNBQWtDLE9BQUE7QUFBQSx5QkFBQSw0QkFBQTtBQUFBLElBQUE7QUFBQSxJQVVwRCxhQUFhLE9BQWE7O0FBRWhD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
271
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaW4tZm9ybWF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RyYWluL3RyYWluLWZvcm1hdGlvbi90cmFpbi1mb3JtYXRpb24uY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIExpdEVsZW1lbnQsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSwgc3RhdGUgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaTE4blNlY3RvciwgaTE4blNlY3RvclNob3J0LCBpMThuVHJhaW5zIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7IFNiYk5hbWVkU2xvdExpc3RNaXhpbiwgdHlwZSBXaXRoTGlzdENoaWxkcmVuIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUcmFpbkJsb2NrZWRQYXNzYWdlRWxlbWVudCB9IGZyb20gJy4uL3RyYWluLWJsb2NrZWQtcGFzc2FnZS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYlRyYWluV2Fnb25FbGVtZW50IH0gZnJvbSAnLi4vdHJhaW4td2Fnb24uanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJUcmFpbkVsZW1lbnQgfSBmcm9tICcuLi90cmFpbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL3RyYWluLWZvcm1hdGlvbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbnRlcmZhY2UgQWdncmVnYXRlZFNlY3RvciB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHdhZ29uQ291bnQ6IG51bWJlcjtcbiAgYmxvY2tlZFBhc3NhZ2VDb3VudDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgdHJhaW4gY29tcG9zaXRpb24sIGFjdGluZyBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYHNiYi10cmFpbmAgY29tcG9uZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkICdzYmItdHJhaW4nIGVsZW1lbnRzIHRvIHRoZSBgc2JiLXRyYWluLWZvcm1hdGlvbmAuXG4gKiBAY3NzcHJvcCBbLS1zYmItdHJhaW4tZm9ybWF0aW9uLXBhZGRpbmctaW5saW5lPTBweF0gLSBEZWZpbmVzIHRoZSBpbmxpbmUgcGFkZGluZyBpbnNpZGUgdGhlIGhvcml6b250YWwgc2Nyb2xsaW5nIGFyZWEuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi10cmFpbi1mb3JtYXRpb24nKVxuY2xhc3MgU2JiVHJhaW5Gb3JtYXRpb25FbGVtZW50IGV4dGVuZHMgU2JiTmFtZWRTbG90TGlzdE1peGluPFNiYlRyYWluRWxlbWVudCwgdHlwZW9mIExpdEVsZW1lbnQ+KFxuICBMaXRFbGVtZW50LFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgbGlzdENoaWxkTG9jYWxOYW1lcyA9IFsnc2JiLXRyYWluJ107XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHZpZXcgb2YgdGhlIHdhZ29ucyBpcyBmcm9tIHNpZGUgb3IgdG9wIHBlcnNwZWN0aXZlLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciB2aWV3OiAnc2lkZScgfCAndG9wJyA9ICdzaWRlJztcblxuICBAc3RhdGUoKSBwcml2YXRlIGFjY2Vzc29yIF9zZWN0b3JzOiBBZ2dyZWdhdGVkU2VjdG9yW10gPSBbXTtcblxuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3RyYWluU2xvdENoYW5nZScsIChlKSA9PiB0aGlzLl9yZWFkU2VjdG9ycyhlKSk7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyPy4oJ3NlY3RvckNoYW5nZScsIChlKSA9PiB0aGlzLl9yZWFkU2VjdG9ycyhlKSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWFkU2VjdG9ycyhldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgLy8gS2VlcCB0aGUgZXZlbnQgaW50ZXJuYWwuXG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgdGhpcy5fc2VjdG9ycyA9IEFycmF5LmZyb20oXG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJUcmFpbldhZ29uRWxlbWVudCB8IFNiYlRyYWluQmxvY2tlZFBhc3NhZ2VFbGVtZW50PihcbiAgICAgICAgJ3NiYi10cmFpbi13YWdvbixzYmItdHJhaW4tYmxvY2tlZC1wYXNzYWdlJyxcbiAgICAgICkgPz8gW10sXG4gICAgKS5yZWR1Y2UoXG4gICAgICAoXG4gICAgICAgIGFnZ3JlZ2F0ZWRTZWN0b3JzOiBBZ2dyZWdhdGVkU2VjdG9yW10sXG4gICAgICAgIGl0ZW06IFNiYlRyYWluV2Fnb25FbGVtZW50IHwgU2JiVHJhaW5CbG9ja2VkUGFzc2FnZUVsZW1lbnQsXG4gICAgICApID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEFnZ3JlZ2F0ZWRTZWN0b3IgPSBhZ2dyZWdhdGVkU2VjdG9yc1thZ2dyZWdhdGVkU2VjdG9ycy5sZW5ndGggLSAxXTtcblxuICAgICAgICBpZiAoaXRlbS5sb2NhbE5hbWUgPT09ICdzYmItdHJhaW4td2Fnb24nKSB7XG4gICAgICAgICAgY29uc3Qgc2VjdG9yQXR0cmlidXRlID1cbiAgICAgICAgICAgIChpdGVtIGFzIFNiYlRyYWluV2Fnb25FbGVtZW50KS5zZWN0b3IgPz8gaXRlbS5nZXRBdHRyaWJ1dGUoJ3NlY3RvcicpO1xuXG4gICAgICAgICAgaWYgKCFjdXJyZW50QWdncmVnYXRlZFNlY3Rvci5sYWJlbCAmJiBzZWN0b3JBdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIGN1cnJlbnRBZ2dyZWdhdGVkU2VjdG9yLmxhYmVsID0gc2VjdG9yQXR0cmlidXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghc2VjdG9yQXR0cmlidXRlIHx8IGN1cnJlbnRBZ2dyZWdhdGVkU2VjdG9yLmxhYmVsID09PSBzZWN0b3JBdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIGN1cnJlbnRBZ2dyZWdhdGVkU2VjdG9yLndhZ29uQ291bnQrKztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYWdncmVnYXRlZFNlY3RvcnMucHVzaCh7XG4gICAgICAgICAgICAgIGxhYmVsOiBzZWN0b3JBdHRyaWJ1dGUsXG4gICAgICAgICAgICAgIHdhZ29uQ291bnQ6IDEsXG4gICAgICAgICAgICAgIGJsb2NrZWRQYXNzYWdlQ291bnQ6IDAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5sb2NhbE5hbWUgPT09ICdzYmItdHJhaW4tYmxvY2tlZC1wYXNzYWdlJykge1xuICAgICAgICAgIGN1cnJlbnRBZ2dyZWdhdGVkU2VjdG9yLmJsb2NrZWRQYXNzYWdlQ291bnQrKztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhZ2dyZWdhdGVkU2VjdG9ycztcbiAgICAgIH0sXG4gICAgICBbeyB3YWdvbkNvdW50OiAwLCBibG9ja2VkUGFzc2FnZUNvdW50OiAwIH0gYXMgQWdncmVnYXRlZFNlY3Rvcl0sXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczxXaXRoTGlzdENoaWxkcmVuPHRoaXM+Pik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGlzdENoaWxkcmVuJykpIHtcbiAgICAgIHRoaXMuX3JlYWRTZWN0b3JzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXRyYWluLWZvcm1hdGlvblwiPlxuICAgICAgICAke3RoaXMuX3NlY3RvcnMubGVuZ3RoICYmIHRoaXMuX3NlY3RvcnNbMF0ubGFiZWwgIT09IHVuZGVmaW5lZFxuICAgICAgICAgID8gaHRtbGA8ZGl2IGNsYXNzPVwic2JiLXRyYWluLWZvcm1hdGlvbl9fc2VjdG9yc1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAke3RoaXMuX3NlY3RvcnMubWFwKFxuICAgICAgICAgICAgICAgIChhZ2dyZWdhdGVkU2VjdG9yKSA9PlxuICAgICAgICAgICAgICAgICAgaHRtbGA8c3BhblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNiYi10cmFpbi1mb3JtYXRpb25fX3NlY3RvclwiXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiXG4gICAgICAgICAgICAgICAgLS1zYmItdHJhaW4tZm9ybWF0aW9uLXdhZ29uLWNvdW50OiAke2FnZ3JlZ2F0ZWRTZWN0b3Iud2Fnb25Db3VudH07XG4gICAgICAgICAgICAgICAgLS1zYmItdHJhaW4tZm9ybWF0aW9uLXdhZ29uLWJsb2NrZWQtcGFzc2FnZS1jb3VudDogJHthZ2dyZWdhdGVkU2VjdG9yLmJsb2NrZWRQYXNzYWdlQ291bnR9XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItdHJhaW4tZm9ybWF0aW9uX19zZWN0b3Itc3RpY2t5LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAke2Ake1xuICAgICAgICAgICAgICAgICAgICAgICAgYWdncmVnYXRlZFNlY3Rvci53YWdvbkNvdW50ID09PSAxICYmIGFnZ3JlZ2F0ZWRTZWN0b3IubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyBpMThuU2VjdG9yU2hvcnRbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBpMThuU2VjdG9yW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdXG4gICAgICAgICAgICAgICAgICAgICAgfSAke2FnZ3JlZ2F0ZWRTZWN0b3IubGFiZWwgPyBhZ2dyZWdhdGVkU2VjdG9yLmxhYmVsIDogJyd9YH1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9zcGFuPmAsXG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5gXG4gICAgICAgICAgOiBub3RoaW5nfVxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItdHJhaW4tZm9ybWF0aW9uX190cmFpbnNcIj5cbiAgICAgICAgICAke3RoaXMucmVuZGVyTGlzdCh7XG4gICAgICAgICAgICBjbGFzczogJ3NiYi10cmFpbi1mb3JtYXRpb25fX3RyYWluLWxpc3QnLFxuICAgICAgICAgICAgYXJpYUxhYmVsOiBpMThuVHJhaW5zW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdLFxuICAgICAgICAgIH0pfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi10cmFpbi1mb3JtYXRpb24nOiBT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