@sbb-esta/lyne-elements 3.0.0-next.3 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (554) hide show
  1. package/accordion/accordion.component.js +10 -10
  2. package/alert/alert/alert.component.d.ts +4 -8
  3. package/alert/alert/alert.component.d.ts.map +1 -1
  4. package/alert/alert/alert.component.js +33 -33
  5. package/alert/alert-group/alert-group.component.d.ts +0 -3
  6. package/alert/alert-group/alert-group.component.d.ts.map +1 -1
  7. package/alert/alert-group/alert-group.component.js +44 -45
  8. package/autocomplete/autocomplete-base-element.d.ts +1 -1
  9. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  10. package/autocomplete/autocomplete-base-element.js +12 -10
  11. package/autocomplete/autocomplete.component.d.ts +0 -4
  12. package/autocomplete/autocomplete.component.d.ts.map +1 -1
  13. package/autocomplete/autocomplete.component.js +1 -1
  14. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -4
  15. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  16. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +11 -11
  17. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +0 -10
  18. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  19. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +14 -18
  20. package/button/accent-button/accent-button.component.d.ts +0 -1
  21. package/button/accent-button/accent-button.component.d.ts.map +1 -1
  22. package/button/button/button.component.d.ts +0 -1
  23. package/button/button/button.component.d.ts.map +1 -1
  24. package/button/mini-button/mini-button.component.d.ts +0 -1
  25. package/button/mini-button/mini-button.component.d.ts.map +1 -1
  26. package/button/secondary-button/secondary-button.component.d.ts +0 -1
  27. package/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  28. package/button/transparent-button/transparent-button.component.d.ts +0 -1
  29. package/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  30. package/calendar/calendar.component.d.ts +1 -5
  31. package/calendar/calendar.component.d.ts.map +1 -1
  32. package/calendar/calendar.component.js +68 -66
  33. package/card/card-button/card-button.component.d.ts +0 -1
  34. package/card/card-button/card-button.component.d.ts.map +1 -1
  35. package/checkbox/checkbox/checkbox.component.d.ts +2 -2
  36. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -13
  37. package/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  38. package/checkbox/checkbox-panel/checkbox-panel.component.js +37 -39
  39. package/chip/chip/chip.component.d.ts +2 -3
  40. package/chip/chip/chip.component.d.ts.map +1 -1
  41. package/chip/chip/chip.component.js +31 -30
  42. package/chip/chip-group/chip-group.component.d.ts +4 -12
  43. package/chip/chip-group/chip-group.component.d.ts.map +1 -1
  44. package/chip/chip-group/chip-group.component.js +52 -46
  45. package/container/sticky-bar/sticky-bar.component.d.ts +6 -12
  46. package/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  47. package/container/sticky-bar/sticky-bar.component.js +49 -49
  48. package/core/base-elements/open-close-base-element.d.ts +12 -22
  49. package/core/base-elements/open-close-base-element.d.ts.map +1 -1
  50. package/core/base-elements/open-close-base-element.js +23 -17
  51. package/core/eventing.d.ts +0 -1
  52. package/core/eventing.d.ts.map +1 -1
  53. package/core/eventing.js +10 -12
  54. package/core/interfaces/types.d.ts +0 -5
  55. package/core/interfaces/types.d.ts.map +1 -1
  56. package/core/interfaces.d.ts +0 -1
  57. package/core/interfaces.d.ts.map +1 -1
  58. package/core/mixins/disabled-mixin.d.ts.map +1 -1
  59. package/core/mixins/disabled-mixin.js +43 -40
  60. package/core/mixins/panel-mixin.d.ts.map +1 -1
  61. package/core/mixins/panel-mixin.js +35 -38
  62. package/core/mixins/readonly-mixin.d.ts.map +1 -1
  63. package/core/mixins/readonly-mixin.js +25 -19
  64. package/custom-elements.json +3348 -2340
  65. package/date-input/date-input.component.d.ts +0 -1
  66. package/date-input/date-input.component.d.ts.map +1 -1
  67. package/datepicker/datepicker/datepicker.component.d.ts +7 -9
  68. package/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  69. package/datepicker/datepicker/datepicker.component.js +34 -28
  70. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +0 -1
  71. package/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  72. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +0 -1
  73. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  74. package/development/accordion/accordion.component.js +3 -3
  75. package/development/action-group/action-group.component.js +1 -1
  76. package/development/alert/alert/alert.component.d.ts +4 -8
  77. package/development/alert/alert/alert.component.d.ts.map +1 -1
  78. package/development/alert/alert/alert.component.js +11 -9
  79. package/development/alert/alert-group/alert-group.component.d.ts +0 -3
  80. package/development/alert/alert-group/alert-group.component.d.ts.map +1 -1
  81. package/development/alert/alert-group/alert-group.component.js +14 -18
  82. package/development/autocomplete/autocomplete-base-element.d.ts +1 -1
  83. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  84. package/development/autocomplete/autocomplete-base-element.js +8 -9
  85. package/development/autocomplete/autocomplete.component.d.ts +0 -4
  86. package/development/autocomplete/autocomplete.component.d.ts.map +1 -1
  87. package/development/autocomplete/autocomplete.component.js +2 -2
  88. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts +0 -4
  89. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.d.ts.map +1 -1
  90. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.component.js +2 -2
  91. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +1 -1
  92. package/development/autocomplete-grid/autocomplete-grid-cell/autocomplete-grid-cell.component.js +1 -1
  93. package/development/autocomplete-grid/autocomplete-grid-optgroup/autocomplete-grid-optgroup.component.js +1 -1
  94. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts +0 -10
  95. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.d.ts.map +1 -1
  96. package/development/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +5 -9
  97. package/development/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  98. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  99. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  100. package/development/button/accent-button/accent-button.component.d.ts +0 -1
  101. package/development/button/accent-button/accent-button.component.d.ts.map +1 -1
  102. package/development/button/accent-button/accent-button.component.js +1 -1
  103. package/development/button/button/button.component.d.ts +0 -1
  104. package/development/button/button/button.component.d.ts.map +1 -1
  105. package/development/button/button/button.component.js +1 -1
  106. package/development/button/common/button-common.js +1 -1
  107. package/development/button/mini-button/mini-button.component.d.ts +0 -1
  108. package/development/button/mini-button/mini-button.component.d.ts.map +1 -1
  109. package/development/button/mini-button/mini-button.component.js +1 -1
  110. package/development/button/mini-button-group/mini-button-group.component.js +1 -1
  111. package/development/button/secondary-button/secondary-button.component.d.ts +0 -1
  112. package/development/button/secondary-button/secondary-button.component.d.ts.map +1 -1
  113. package/development/button/secondary-button/secondary-button.component.js +1 -1
  114. package/development/button/transparent-button/transparent-button.component.d.ts +0 -1
  115. package/development/button/transparent-button/transparent-button.component.d.ts.map +1 -1
  116. package/development/button/transparent-button/transparent-button.component.js +1 -1
  117. package/development/calendar/calendar.component.d.ts +1 -5
  118. package/development/calendar/calendar.component.d.ts.map +1 -1
  119. package/development/calendar/calendar.component.js +11 -9
  120. package/development/card/card/card.component.js +1 -1
  121. package/development/card/card-badge/card-badge.component.js +1 -1
  122. package/development/card/card-button/card-button.component.d.ts +0 -1
  123. package/development/card/card-button/card-button.component.d.ts.map +1 -1
  124. package/development/card/card-button/card-button.component.js +1 -1
  125. package/development/card/card-link/card-link.component.js +1 -1
  126. package/development/card/common/card-action-common.js +1 -1
  127. package/development/checkbox/checkbox/checkbox.component.d.ts +2 -2
  128. package/development/checkbox/checkbox/checkbox.component.js +1 -1
  129. package/development/checkbox/checkbox-group/checkbox-group.component.js +1 -1
  130. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts +3 -13
  131. package/development/checkbox/checkbox-panel/checkbox-panel.component.d.ts.map +1 -1
  132. package/development/checkbox/checkbox-panel/checkbox-panel.component.js +14 -17
  133. package/development/checkbox/common/checkbox-common.js +1 -1
  134. package/development/chip/chip/chip.component.d.ts +2 -3
  135. package/development/chip/chip/chip.component.d.ts.map +1 -1
  136. package/development/chip/chip/chip.component.js +11 -10
  137. package/development/chip/chip-group/chip-group.component.d.ts +4 -12
  138. package/development/chip/chip-group/chip-group.component.d.ts.map +1 -1
  139. package/development/chip/chip-group/chip-group.component.js +20 -16
  140. package/development/chip-label/chip-label.component.js +1 -1
  141. package/development/clock/clock.component.js +1 -1
  142. package/development/container/container/container.component.js +1 -1
  143. package/development/container/sticky-bar/sticky-bar.component.d.ts +6 -12
  144. package/development/container/sticky-bar/sticky-bar.component.d.ts.map +1 -1
  145. package/development/container/sticky-bar/sticky-bar.component.js +20 -22
  146. package/development/core/a11y/arrow-navigation.js +1 -1
  147. package/development/core/a11y/focus-trap-controller.js +1 -1
  148. package/development/core/a11y/focus-visible-within-controller.js +1 -1
  149. package/development/core/a11y/input-modality-detector.js +1 -1
  150. package/development/core/a11y/interactivity-checker.js +1 -1
  151. package/development/core/a11y/live-announcer.js +1 -1
  152. package/development/core/base-elements/action-base-element.js +1 -1
  153. package/development/core/base-elements/button-base-element.js +1 -1
  154. package/development/core/base-elements/link-base-element.js +1 -1
  155. package/development/core/base-elements/open-close-base-element.d.ts +12 -22
  156. package/development/core/base-elements/open-close-base-element.d.ts.map +1 -1
  157. package/development/core/base-elements/open-close-base-element.js +17 -15
  158. package/development/core/config/config.js +1 -1
  159. package/development/core/controllers/escapable-overlay-controller.js +1 -1
  160. package/development/core/controllers/id-reference-controller.js +1 -1
  161. package/development/core/controllers/inert-controller.js +1 -1
  162. package/development/core/controllers/language-controller.js +1 -1
  163. package/development/core/controllers/media-matchers-controller.js +1 -1
  164. package/development/core/controllers/slot-state-controller.js +1 -1
  165. package/development/core/datetime/date-adapter.js +1 -1
  166. package/development/core/datetime/native-date-adapter.js +1 -1
  167. package/development/core/decorators/force-type.js +1 -1
  168. package/development/core/decorators/get-override.js +1 -1
  169. package/development/core/decorators/handle-distinct-change.js +1 -1
  170. package/development/core/decorators/host-attributes.js +1 -1
  171. package/development/core/decorators/id-reference.js +1 -1
  172. package/development/core/decorators/omit-empty-converter.js +1 -1
  173. package/development/core/decorators/plain-date.js +1 -1
  174. package/development/core/decorators/slot-state.js +1 -1
  175. package/development/core/dom/animation.js +1 -1
  176. package/development/core/dom/breakpoint.js +1 -1
  177. package/development/core/dom/host-context.js +1 -1
  178. package/development/core/dom/scroll.js +1 -1
  179. package/development/core/dom/set-or-remove-attribute.js +1 -1
  180. package/development/core/eventing/composed-path-has-attribute.js +1 -1
  181. package/development/core/eventing/form-element-handlers.js +1 -1
  182. package/development/core/eventing/throttle.js +1 -1
  183. package/development/core/eventing.d.ts +0 -1
  184. package/development/core/eventing.d.ts.map +1 -1
  185. package/development/core/eventing.js +1 -3
  186. package/development/core/i18n/i18n.js +1 -1
  187. package/development/core/interfaces/types.d.ts +0 -5
  188. package/development/core/interfaces/types.d.ts.map +1 -1
  189. package/development/core/interfaces.d.ts +0 -1
  190. package/development/core/interfaces.d.ts.map +1 -1
  191. package/development/core/mixins/animation-complete-mixin.js +1 -1
  192. package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
  193. package/development/core/mixins/disabled-mixin.js +20 -17
  194. package/development/core/mixins/element-internals-mixin.js +1 -1
  195. package/development/core/mixins/form-associated-checkbox-mixin.js +1 -1
  196. package/development/core/mixins/form-associated-input-mixin.js +1 -1
  197. package/development/core/mixins/form-associated-mixin.js +1 -1
  198. package/development/core/mixins/form-associated-radio-button-mixin.js +1 -1
  199. package/development/core/mixins/hydration-mixin.js +1 -1
  200. package/development/core/mixins/named-slot-list-mixin.js +1 -1
  201. package/development/core/mixins/negative-mixin.js +1 -1
  202. package/development/core/mixins/panel-mixin.d.ts.map +1 -1
  203. package/development/core/mixins/panel-mixin.js +8 -14
  204. package/development/core/mixins/readonly-mixin.d.ts.map +1 -1
  205. package/development/core/mixins/readonly-mixin.js +17 -9
  206. package/development/core/mixins/required-mixin.js +1 -1
  207. package/development/core/mixins/update-scheduler-mixin.js +1 -1
  208. package/development/core/overlay/overlay-option-panel.js +1 -1
  209. package/development/core/overlay/overlay-trigger-attributes.js +1 -1
  210. package/development/core/overlay/position.js +1 -1
  211. package/development/core/testing/event-spy.js +1 -1
  212. package/development/core/testing/mocha-extensions.js +1 -1
  213. package/development/core/testing/wait-for-condition.js +1 -1
  214. package/development/core/testing/wait-for-image-ready.js +1 -1
  215. package/development/date-input/date-input.component.d.ts +0 -1
  216. package/development/date-input/date-input.component.d.ts.map +1 -1
  217. package/development/date-input/date-input.component.js +1 -1
  218. package/development/datepicker/common/datepicker-button.js +1 -1
  219. package/development/datepicker/datepicker/datepicker.component.d.ts +7 -9
  220. package/development/datepicker/datepicker/datepicker.component.d.ts.map +1 -1
  221. package/development/datepicker/datepicker/datepicker.component.js +16 -5
  222. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts +0 -1
  223. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.d.ts.map +1 -1
  224. package/development/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  225. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts +0 -1
  226. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.d.ts.map +1 -1
  227. package/development/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  228. package/development/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
  229. package/development/dialog/dialog/dialog.component.d.ts +0 -4
  230. package/development/dialog/dialog/dialog.component.d.ts.map +1 -1
  231. package/development/dialog/dialog/dialog.component.js +3 -3
  232. package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
  233. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  234. package/development/dialog/dialog-title/dialog-title.component.js +1 -1
  235. package/development/divider/divider.component.js +1 -1
  236. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -16
  237. package/development/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  238. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +15 -20
  239. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  240. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -5
  241. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  242. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +7 -11
  243. package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
  244. package/development/file-selector/common/file-selector-common.js +16 -7
  245. package/development/file-selector/file-selector/file-selector.component.d.ts +1 -5
  246. package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  247. package/development/file-selector/file-selector/file-selector.component.js +2 -2
  248. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +1 -5
  249. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  250. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +2 -2
  251. package/development/flip-card/flip-card/flip-card.component.d.ts +0 -4
  252. package/development/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  253. package/development/flip-card/flip-card/flip-card.component.js +7 -9
  254. package/development/flip-card/flip-card-details/flip-card-details.component.js +1 -1
  255. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
  256. package/development/footer/footer.component.js +1 -1
  257. package/development/form-error/form-error.component.js +1 -1
  258. package/development/form-field/form-field/form-field.component.js +2 -2
  259. package/development/form-field/form-field-clear/form-field-clear.component.d.ts +0 -1
  260. package/development/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  261. package/development/form-field/form-field-clear/form-field-clear.component.js +1 -1
  262. package/development/header/common/header-action-common.js +1 -1
  263. package/development/header/header/header.component.js +1 -1
  264. package/development/header/header-button/header-button.component.d.ts +0 -1
  265. package/development/header/header-button/header-button.component.d.ts.map +1 -1
  266. package/development/header/header-button/header-button.component.js +1 -1
  267. package/development/icon/icon-base.js +1 -1
  268. package/development/icon/icon-name-mixin.js +1 -1
  269. package/development/icon/icon-request.js +1 -1
  270. package/development/icon/icon-validate.js +1 -1
  271. package/development/icon/icon.component.js +1 -1
  272. package/development/image/image.component.d.ts +0 -2
  273. package/development/image/image.component.d.ts.map +1 -1
  274. package/development/image/image.component.js +4 -2
  275. package/development/journey-header/journey-header.component.js +1 -1
  276. package/development/lead-container/lead-container.component.js +1 -1
  277. package/development/link/block-link-button/block-link-button.component.d.ts +0 -1
  278. package/development/link/block-link-button/block-link-button.component.d.ts.map +1 -1
  279. package/development/link/block-link-button/block-link-button.component.js +1 -1
  280. package/development/link/common/block-link-common.js +1 -1
  281. package/development/link/link-button/link-button.component.d.ts +0 -1
  282. package/development/link/link-button/link-button.component.d.ts.map +1 -1
  283. package/development/link/link-button/link-button.component.js +1 -1
  284. package/development/link-common-DPLJx5Uo.js +1 -1
  285. package/development/link-list/common/link-list-base.js +1 -1
  286. package/development/link-list/link-list/link-list.component.js +1 -1
  287. package/development/loading-indicator/loading-indicator.component.js +1 -1
  288. package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  289. package/development/logo/logo.component.js +1 -1
  290. package/development/map-container/map-container.component.js +1 -1
  291. package/development/menu/common/menu-action-common.js +1 -1
  292. package/development/menu/menu/menu.component.d.ts +0 -4
  293. package/development/menu/menu/menu.component.d.ts.map +1 -1
  294. package/development/menu/menu/menu.component.js +5 -8
  295. package/development/menu/menu-button/menu-button.component.d.ts +0 -1
  296. package/development/menu/menu-button/menu-button.component.d.ts.map +1 -1
  297. package/development/menu/menu-button/menu-button.component.js +1 -1
  298. package/development/message/message.component.js +1 -1
  299. package/development/navigation/common/navigation-action-common.js +1 -1
  300. package/development/navigation/navigation/navigation.component.d.ts +0 -4
  301. package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
  302. package/development/navigation/navigation/navigation.component.js +5 -8
  303. package/development/navigation/navigation-button/navigation-button.component.d.ts +0 -1
  304. package/development/navigation/navigation-button/navigation-button.component.d.ts.map +1 -1
  305. package/development/navigation/navigation-button/navigation-button.component.js +1 -1
  306. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  307. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  308. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  309. package/development/notification/notification.component.d.ts +5 -16
  310. package/development/notification/notification.component.d.ts.map +1 -1
  311. package/development/notification/notification.component.js +16 -18
  312. package/development/option/optgroup/optgroup-base-element.js +1 -1
  313. package/development/option/optgroup/optgroup.component.js +1 -1
  314. package/development/option/option/option-base-element.d.ts +8 -3
  315. package/development/option/option/option-base-element.d.ts.map +1 -1
  316. package/development/option/option/option-base-element.js +5 -4
  317. package/development/option/option/option.component.d.ts +3 -11
  318. package/development/option/option/option.component.d.ts.map +1 -1
  319. package/development/option/option/option.component.js +8 -11
  320. package/development/overlay/overlay-base-element.d.ts +2 -3
  321. package/development/overlay/overlay-base-element.d.ts.map +1 -1
  322. package/development/overlay/overlay-base-element.js +10 -5
  323. package/development/overlay/overlay.component.d.ts +4 -8
  324. package/development/overlay/overlay.component.d.ts.map +1 -1
  325. package/development/overlay/overlay.component.js +7 -7
  326. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  327. package/development/paginator/common/paginator-common.js +12 -10
  328. package/development/paginator/compact-paginator/compact-paginator.component.d.ts +0 -2
  329. package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  330. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  331. package/development/paginator/paginator/paginator.component.d.ts +0 -2
  332. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  333. package/development/paginator/paginator/paginator.component.js +1 -1
  334. package/development/popover/popover/popover.component.d.ts +7 -14
  335. package/development/popover/popover/popover.component.d.ts.map +1 -1
  336. package/development/popover/popover/popover.component.js +25 -10
  337. package/development/popover/popover-trigger/popover-trigger.component.d.ts +0 -1
  338. package/development/popover/popover-trigger/popover-trigger.component.d.ts.map +1 -1
  339. package/development/popover/popover-trigger/popover-trigger.component.js +1 -1
  340. package/development/radio-button/common/radio-button-common.js +1 -1
  341. package/development/radio-button/radio-button/radio-button.component.d.ts +3 -3
  342. package/development/radio-button/radio-button/radio-button.component.js +2 -2
  343. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts +0 -6
  344. package/development/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  345. package/development/radio-button/radio-button-group/radio-button-group.component.js +7 -8
  346. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts +3 -10
  347. package/development/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  348. package/development/radio-button/radio-button-panel/radio-button-panel.component.js +11 -12
  349. package/development/screen-reader-only/screen-reader-only.component.js +1 -1
  350. package/development/select/select.component.d.ts +6 -19
  351. package/development/select/select.component.d.ts.map +1 -1
  352. package/development/select/select.component.js +31 -44
  353. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts +6 -13
  354. package/development/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  355. package/development/selection-expansion-panel/selection-expansion-panel.component.js +16 -21
  356. package/development/sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  357. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +0 -1
  358. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  359. package/development/sidebar/icon-sidebar-button/icon-sidebar-button.component.js +1 -1
  360. package/development/sidebar/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
  361. package/development/sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  362. package/development/sidebar/icon-sidebar-link/icon-sidebar-link.component.js +1 -1
  363. package/development/sidebar/sidebar/sidebar.component.d.ts +0 -4
  364. package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  365. package/development/sidebar/sidebar/sidebar.component.js +5 -5
  366. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
  367. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  368. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  369. package/development/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  370. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  371. package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  372. package/development/signet/signet.component.js +1 -1
  373. package/development/skiplink-list/skiplink-list.component.js +1 -1
  374. package/development/slider/slider.component.d.ts +2 -7
  375. package/development/slider/slider.component.d.ts.map +1 -1
  376. package/development/slider/slider.component.js +10 -14
  377. package/development/status/status.component.js +1 -1
  378. package/development/stepper/step/step.component.d.ts +2 -10
  379. package/development/stepper/step/step.component.d.ts.map +1 -1
  380. package/development/stepper/step/step.component.js +13 -11
  381. package/development/stepper/step-label/step-label.component.d.ts +0 -1
  382. package/development/stepper/step-label/step-label.component.d.ts.map +1 -1
  383. package/development/stepper/step-label/step-label.component.js +1 -1
  384. package/development/stepper/stepper/stepper.component.d.ts.map +1 -1
  385. package/development/stepper/stepper/stepper.component.js +2 -2
  386. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  387. package/development/tabs/tab/tab.component.js +1 -1
  388. package/development/tabs/tab-group/tab-group.component.d.ts +1 -4
  389. package/development/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  390. package/development/tabs/tab-group/tab-group.component.js +21 -18
  391. package/development/tabs/tab-label/tab-label.component.js +1 -1
  392. package/development/tag/tag/tag.component.d.ts +0 -9
  393. package/development/tag/tag/tag.component.d.ts.map +1 -1
  394. package/development/tag/tag/tag.component.js +11 -19
  395. package/development/tag/tag-group/tag-group.component.js +1 -1
  396. package/development/teaser/teaser.component.js +1 -1
  397. package/development/teaser-hero/teaser-hero.component.js +1 -1
  398. package/development/teaser-product/common/teaser-product-common.js +1 -1
  399. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  400. package/development/time-input/time-input.component.d.ts +0 -1
  401. package/development/time-input/time-input.component.d.ts.map +1 -1
  402. package/development/time-input/time-input.component.js +1 -1
  403. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  404. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  405. package/development/title/title-base.js +1 -1
  406. package/development/toast/toast.component.d.ts +0 -4
  407. package/development/toast/toast.component.d.ts.map +1 -1
  408. package/development/toast/toast.component.js +5 -5
  409. package/development/toggle/toggle/toggle.component.d.ts +0 -3
  410. package/development/toggle/toggle/toggle.component.d.ts.map +1 -1
  411. package/development/toggle/toggle/toggle.component.js +6 -11
  412. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  413. package/development/toggle-check/toggle-check.component.d.ts +2 -2
  414. package/development/toggle-check/toggle-check.component.js +1 -1
  415. package/development/train/train/train.component.d.ts +1 -6
  416. package/development/train/train/train.component.d.ts.map +1 -1
  417. package/development/train/train/train.component.js +7 -12
  418. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  419. package/development/train/train-formation/train-formation.component.js +3 -3
  420. package/development/train/train-wagon/train-wagon.component.d.ts +1 -6
  421. package/development/train/train-wagon/train-wagon.component.d.ts.map +1 -1
  422. package/development/train/train-wagon/train-wagon.component.js +7 -12
  423. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  424. package/dialog/dialog/dialog.component.d.ts +0 -4
  425. package/dialog/dialog/dialog.component.d.ts.map +1 -1
  426. package/dialog/dialog/dialog.component.js +2 -2
  427. package/expansion-panel/expansion-panel/expansion-panel.component.d.ts +4 -16
  428. package/expansion-panel/expansion-panel/expansion-panel.component.d.ts.map +1 -1
  429. package/expansion-panel/expansion-panel/expansion-panel.component.js +48 -50
  430. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts +1 -5
  431. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.d.ts.map +1 -1
  432. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +26 -30
  433. package/file-selector/common/file-selector-common.d.ts.map +1 -1
  434. package/file-selector/common/file-selector-common.js +47 -37
  435. package/file-selector/file-selector/file-selector.component.d.ts +1 -5
  436. package/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
  437. package/file-selector/file-selector/file-selector.component.js +3 -3
  438. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts +1 -5
  439. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
  440. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +5 -5
  441. package/flip-card/flip-card/flip-card.component.d.ts +0 -4
  442. package/flip-card/flip-card/flip-card.component.d.ts.map +1 -1
  443. package/flip-card/flip-card/flip-card.component.js +35 -37
  444. package/form-field/form-field/form-field.component.js +1 -1
  445. package/form-field/form-field-clear/form-field-clear.component.d.ts +0 -1
  446. package/form-field/form-field-clear/form-field-clear.component.d.ts.map +1 -1
  447. package/header/header-button/header-button.component.d.ts +0 -1
  448. package/header/header-button/header-button.component.d.ts.map +1 -1
  449. package/image/image.component.d.ts +0 -2
  450. package/image/image.component.d.ts.map +1 -1
  451. package/link/block-link-button/block-link-button.component.d.ts +0 -1
  452. package/link/block-link-button/block-link-button.component.d.ts.map +1 -1
  453. package/link/link-button/link-button.component.d.ts +0 -1
  454. package/link/link-button/link-button.component.d.ts.map +1 -1
  455. package/menu/menu/menu.component.d.ts +0 -4
  456. package/menu/menu/menu.component.d.ts.map +1 -1
  457. package/menu/menu/menu.component.js +8 -8
  458. package/menu/menu-button/menu-button.component.d.ts +0 -1
  459. package/menu/menu-button/menu-button.component.d.ts.map +1 -1
  460. package/navigation/navigation/navigation.component.d.ts +0 -4
  461. package/navigation/navigation/navigation.component.d.ts.map +1 -1
  462. package/navigation/navigation/navigation.component.js +17 -17
  463. package/navigation/navigation-button/navigation-button.component.d.ts +0 -1
  464. package/navigation/navigation-button/navigation-button.component.d.ts.map +1 -1
  465. package/notification/notification.component.d.ts +5 -16
  466. package/notification/notification.component.d.ts.map +1 -1
  467. package/notification/notification.component.js +54 -53
  468. package/option/option/option-base-element.d.ts +8 -3
  469. package/option/option/option-base-element.d.ts.map +1 -1
  470. package/option/option/option-base-element.js +22 -20
  471. package/option/option/option.component.d.ts +3 -11
  472. package/option/option/option.component.d.ts.map +1 -1
  473. package/option/option/option.component.js +23 -25
  474. package/overlay/overlay-base-element.d.ts +2 -3
  475. package/overlay/overlay-base-element.d.ts.map +1 -1
  476. package/overlay/overlay-base-element.js +42 -37
  477. package/overlay/overlay.component.d.ts +4 -8
  478. package/overlay/overlay.component.d.ts.map +1 -1
  479. package/overlay/overlay.component.js +11 -11
  480. package/package.json +1 -1
  481. package/paginator/common/paginator-common.d.ts.map +1 -1
  482. package/paginator/common/paginator-common.js +37 -34
  483. package/paginator/compact-paginator/compact-paginator.component.d.ts +0 -2
  484. package/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  485. package/paginator/paginator/paginator.component.d.ts +0 -2
  486. package/paginator/paginator/paginator.component.d.ts.map +1 -1
  487. package/popover/popover/popover.component.d.ts +7 -14
  488. package/popover/popover/popover.component.d.ts.map +1 -1
  489. package/popover/popover/popover.component.js +94 -81
  490. package/popover/popover-trigger/popover-trigger.component.d.ts +0 -1
  491. package/popover/popover-trigger/popover-trigger.component.d.ts.map +1 -1
  492. package/radio-button/radio-button/radio-button.component.d.ts +3 -3
  493. package/radio-button/radio-button/radio-button.component.js +10 -10
  494. package/radio-button/radio-button-group/radio-button-group.component.d.ts +0 -6
  495. package/radio-button/radio-button-group/radio-button-group.component.d.ts.map +1 -1
  496. package/radio-button/radio-button-group/radio-button-group.component.js +24 -26
  497. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts +3 -10
  498. package/radio-button/radio-button-panel/radio-button-panel.component.d.ts.map +1 -1
  499. package/radio-button/radio-button-panel/radio-button-panel.component.js +39 -40
  500. package/select/select.component.d.ts +6 -19
  501. package/select/select.component.d.ts.map +1 -1
  502. package/select/select.component.js +99 -101
  503. package/selection-expansion-panel/selection-expansion-panel.component.d.ts +6 -13
  504. package/selection-expansion-panel/selection-expansion-panel.component.d.ts.map +1 -1
  505. package/selection-expansion-panel/selection-expansion-panel.component.js +49 -51
  506. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts +0 -1
  507. package/sidebar/icon-sidebar-button/icon-sidebar-button.component.d.ts.map +1 -1
  508. package/sidebar/sidebar/sidebar.component.d.ts +0 -4
  509. package/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
  510. package/sidebar/sidebar/sidebar.component.js +28 -28
  511. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts +0 -1
  512. package/sidebar/sidebar-close-button/sidebar-close-button.component.d.ts.map +1 -1
  513. package/slider/slider.component.d.ts +2 -7
  514. package/slider/slider.component.d.ts.map +1 -1
  515. package/slider/slider.component.js +38 -43
  516. package/stepper/step/step.component.d.ts +2 -10
  517. package/stepper/step/step.component.d.ts.map +1 -1
  518. package/stepper/step/step.component.js +26 -23
  519. package/stepper/step-label/step-label.component.d.ts +0 -1
  520. package/stepper/step-label/step-label.component.d.ts.map +1 -1
  521. package/stepper/stepper/stepper.component.d.ts.map +1 -1
  522. package/stepper/stepper/stepper.component.js +6 -6
  523. package/tabs/tab-group/tab-group.component.d.ts +1 -4
  524. package/tabs/tab-group/tab-group.component.d.ts.map +1 -1
  525. package/tabs/tab-group/tab-group.component.js +55 -52
  526. package/tag/tag/tag.component.d.ts +0 -9
  527. package/tag/tag/tag.component.d.ts.map +1 -1
  528. package/tag/tag/tag.component.js +34 -40
  529. package/time-input/time-input.component.d.ts +0 -1
  530. package/time-input/time-input.component.d.ts.map +1 -1
  531. package/toast/toast.component.d.ts +0 -4
  532. package/toast/toast.component.d.ts.map +1 -1
  533. package/toast/toast.component.js +19 -19
  534. package/toggle/toggle/toggle.component.d.ts +0 -3
  535. package/toggle/toggle/toggle.component.d.ts.map +1 -1
  536. package/toggle/toggle/toggle.component.js +35 -40
  537. package/toggle-check/toggle-check.component.d.ts +2 -2
  538. package/train/train/train.component.d.ts +1 -6
  539. package/train/train/train.component.d.ts.map +1 -1
  540. package/train/train/train.component.js +33 -38
  541. package/train/train-formation/train-formation.component.js +1 -1
  542. package/train/train-wagon/train-wagon.component.d.ts +1 -6
  543. package/train/train-wagon/train-wagon.component.d.ts.map +1 -1
  544. package/train/train-wagon/train-wagon.component.js +48 -53
  545. package/core/eventing/event-emitter.d.ts +0 -23
  546. package/core/eventing/event-emitter.d.ts.map +0 -1
  547. package/core/eventing/event-emitter.js +0 -22
  548. package/core/interfaces/validation-change.d.ts +0 -4
  549. package/core/interfaces/validation-change.d.ts.map +0 -1
  550. package/development/core/eventing/event-emitter.d.ts +0 -23
  551. package/development/core/eventing/event-emitter.d.ts.map +0 -1
  552. package/development/core/eventing/event-emitter.js +0 -25
  553. package/development/core/interfaces/validation-change.d.ts +0 -4
  554. package/development/core/interfaces/validation-change.d.ts.map +0 -1
@@ -19,9 +19,6 @@ declare const SbbChipGroupElement_base: import('../../core/mixins.js').AbstractC
19
19
  /**
20
20
  * The `sbb-chip-group` component is used as a container for one or multiple `sbb-chip`.
21
21
  *
22
- * @event {CustomEvent<void>} change - Notifies that the component's value has changed.
23
- * @event {CustomEvent<void>} input - Notifies that the component's value has changed.
24
- * @event {CustomEvent<SbbChipInputTokenEndEventDetails>} chipInputTokenEnd - Notifies that a chip is about to be created. Can be used to customize the value and the label. Can be prevented.
25
22
  * @slot - Use the unnamed slot to add `sbb-chip` elements.
26
23
  * @overrideType value - (T = string[]) | null
27
24
  */
@@ -31,21 +28,15 @@ export declare class SbbChipGroupElement<T = string> extends SbbChipGroupElement
31
28
  static readonly events: {
32
29
  readonly input: "input";
33
30
  readonly change: "change";
34
- readonly chipInputTokenEnd: "chipInputTokenEnd";
31
+ readonly chipinputtokenend: "chipinputtokenend";
35
32
  };
36
33
  /** Value of the form element. */
37
34
  set value(value: (T | null)[] | null);
38
35
  get value(): (T | null)[];
39
36
  /** Function that maps a chip's value to its display value. */
40
37
  accessor displayWith: ((value: T) => string) | null;
41
- /** The array of keys that will trigger a `chipInputTokenEnd` event. Default `['Enter']` */
38
+ /** The array of keys that will trigger a `chipinputtokenend` event. Default `['Enter']` */
42
39
  accessor separatorKeys: string[];
43
- /** Notifies that the component's value has changed. */
44
- private _change;
45
- /** Notifies that the component's value has changed. */
46
- private _input;
47
- /** Notifies that a chip is about to be created. Can be prevented. */
48
- private _chipInputTokenEnd;
49
40
  /**
50
41
  * Listens to the changes on `readonly` and `disabled` attributes of `<input>`.
51
42
  */
@@ -84,6 +75,7 @@ export declare class SbbChipGroupElement<T = string> extends SbbChipGroupElement
84
75
  * If the input is not empty, create a chip with its value
85
76
  */
86
77
  private _createChipFromInput;
78
+ private _dispatchChipInputTokenEnd;
87
79
  private _deleteChip;
88
80
  /**
89
81
  * Focus an enabled chip. If none are present, focus the input
@@ -105,7 +97,7 @@ declare global {
105
97
  }
106
98
  declare global {
107
99
  interface HTMLElementEventMap {
108
- chipInputTokenEnd: CustomEvent<SbbChipInputTokenEndEventDetails<any>>;
100
+ chipinputtokenend: CustomEvent<SbbChipInputTokenEndEventDetails<any>>;
109
101
  }
110
102
  }
111
103
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"chip-group.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/chip/chip-group/chip-group.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chip-group.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/chip/chip-group/chip-group.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAOb,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAMtB,MAAM,sBAAsB,CAAC;AAQ9B,MAAM,WAAW,gCAAgC,CAAC,CAAC,GAAG,MAAM;IAC1D,mDAAmD;IACnD,MAAM,EAAE,OAAO,GAAG,cAAc,CAAC;IACjC;;;;OAIG;IACH,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACzB,oDAAoD;IACpD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;;AAED;;;;;GAKG;AACH,qBAEM,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAAE,SAAQ,wBAE7C;IACC,gBAAgC,IAAI,aAAa;IACjD,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM;;;;MAIlB;IAEX,iCAAiC;IACjC,IACW,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,EA2B1C;IACD,IAAW,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAE/B;IAED,8DAA8D;IAC9D,SACgB,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,GAAG,IAAI,CAAQ;IAElE,2FAA2F;IAC3F,SACgB,aAAa,EAAE,MAAM,EAAE,CAAa;IAEpD;;OAEG;IACH,OAAO,CAAC,uBAAuB,CAEtB;IAET;;OAEG;IACH,OAAO,CAAC,2BAA2B,CAE1B;IAET,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,qBAAqB,CAA8B;IAC3D,OAAO,CAAC,SAAS,CAAmC;;IAYpC,iBAAiB,IAAI,IAAI;cAKtB,UAAU,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAYtE,gBAAgB;IACT,iBAAiB,IAAI,IAAI;IAIhC,gBAAgB;IACT,wBAAwB,CAC7B,KAAK,EAAE,gBAAgB,GAAG,IAAI,EAC9B,OAAO,EAAE,iBAAiB,GACzB,IAAI;YASO,aAAa;cAUR,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO;cAItD,QAAQ,IAAI,IAAI;IASnC,wCAAwC;IACxC,OAAO,CAAC,aAAa;IAIrB,gDAAgD;IAChD,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,eAAe;IA8CvB;;QAEI;IACJ,OAAO,CAAC,cAAc;IAyBtB;;QAEI;IACJ,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,0BAA0B;IAelC,OAAO,CAAC,WAAW;IAOnB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,uBAAuB;cAUZ,MAAM,IAAI,cAAc;CAO5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,mBAAmB;QAC3B,iBAAiB,EAAE,WAAW,CAAC,gCAAgC,CAAC,GAAG,CAAC,CAAC,CAAC;KACvE;CACF"}
@@ -11,7 +11,6 @@ import { customElement, property } from "lit/decorators.js";
11
11
  import { isArrowKeyPressed, getNextElementIndex } from "../../core/a11y.js";
12
12
  import { SbbLanguageController } from "../../core/controllers.js";
13
13
  import { isLean } from "../../core/dom.js";
14
- import { EventEmitter } from "../../core/eventing.js";
15
14
  import { i18nSelectionRequired, i18nChipGroupInputDescription } from "../../core/i18n.js";
16
15
  import { SbbRequiredMixin, SbbDisabledMixin, SbbNegativeMixin, SbbFormAssociatedMixin, SbbElementInternalsMixin } from "../../core/mixins.js";
17
16
  import { SbbChipElement } from "../chip.js";
@@ -67,20 +66,17 @@ let SbbChipGroupElement = (() => {
67
66
  let _separatorKeys_decorators;
68
67
  let _separatorKeys_initializers = [];
69
68
  let _separatorKeys_extraInitializers = [];
70
- var SbbChipGroupElement2 = (_a = class extends _classSuper {
69
+ _a = class extends _classSuper {
71
70
  constructor() {
72
71
  super();
73
72
  __privateAdd(this, _displayWith_accessor_storage);
74
73
  __privateAdd(this, _separatorKeys_accessor_storage);
75
74
  __privateSet(this, _displayWith_accessor_storage, (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _displayWith_initializers, null)));
76
75
  __privateSet(this, _separatorKeys_accessor_storage, (__runInitializers(this, _displayWith_extraInitializers), __runInitializers(this, _separatorKeys_initializers, ["Enter"])));
77
- this._change = (__runInitializers(this, _separatorKeys_extraInitializers), new EventEmitter(this, SbbChipGroupElement2.events.change));
78
- this._input = new EventEmitter(this, SbbChipGroupElement2.events.input);
79
- this._chipInputTokenEnd = new EventEmitter(this, SbbChipGroupElement2.events.chipInputTokenEnd);
80
- this._inputAttributeObserver = !isServer ? new MutationObserver(() => this._reactToInputChanges()) : null;
76
+ this._inputAttributeObserver = (__runInitializers(this, _separatorKeys_extraInitializers), !isServer ? new MutationObserver(() => this._reactToInputChanges()) : null);
81
77
  this._formFieldAttributeObserver = !isServer ? new MutationObserver(() => this._inheritSize()) : null;
82
78
  this._language = new SbbLanguageController(this);
83
- this.addEventListener?.(SbbChipElement.events.requestDelete, (ev) => this._deleteChip(ev.target));
79
+ this.addEventListener?.(SbbChipElement.events.requestdelete, (ev) => this._deleteChip(ev.target));
84
80
  this.addEventListener?.("keydown", (ev) => this._onChipKeyDown(ev));
85
81
  }
86
82
  /** Value of the form element. */
@@ -112,7 +108,7 @@ let SbbChipGroupElement = (() => {
112
108
  set displayWith(value) {
113
109
  __privateSet(this, _displayWith_accessor_storage, value);
114
110
  }
115
- /** The array of keys that will trigger a `chipInputTokenEnd` event. Default `['Enter']` */
111
+ /** The array of keys that will trigger a `chipinputtokenend` event. Default `['Enter']` */
116
112
  get separatorKeys() {
117
113
  return __privateGet(this, _separatorKeys_accessor_storage);
118
114
  }
@@ -256,13 +252,21 @@ let SbbChipGroupElement = (() => {
256
252
  setValue: (value2) => eventDetail.value = value2,
257
253
  setLabel: (label) => eventDetail.label = label
258
254
  };
259
- if (!this._chipInputTokenEnd.emit(eventDetail)) {
255
+ if (!this._dispatchChipInputTokenEnd(eventDetail)) {
260
256
  return;
261
257
  }
262
258
  this._createChipElement(eventDetail.value, eventDetail.label);
263
259
  this._inputElement.value = "";
264
260
  this._emitInputEvents();
265
261
  }
262
+ _dispatchChipInputTokenEnd(eventDetail) {
263
+ return this.dispatchEvent(new CustomEvent("chipinputtokenend", {
264
+ detail: eventDetail,
265
+ cancelable: true,
266
+ bubbles: true,
267
+ composed: true
268
+ }));
269
+ }
266
270
  _deleteChip(chip) {
267
271
  const chips = this._enabledChipElements();
268
272
  chip.remove();
@@ -286,8 +290,8 @@ let SbbChipGroupElement = (() => {
286
290
  this._inputElement?.focus();
287
291
  }
288
292
  _emitInputEvents() {
289
- this._input.emit();
290
- this._change.emit();
293
+ this.dispatchEvent(new InputEvent("input", { bubbles: true, composed: true }));
294
+ this.dispatchEvent(new Event("change", { bubbles: true }));
291
295
  }
292
296
  _createChipElement(value, label) {
293
297
  if (isServer) {
@@ -346,16 +350,16 @@ let SbbChipGroupElement = (() => {
346
350
  obj.separatorKeys = value;
347
351
  } }, metadata: _metadata }, _separatorKeys_initializers, _separatorKeys_extraInitializers);
348
352
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
349
- SbbChipGroupElement2 = _classThis = _classDescriptor.value;
353
+ _classThis = _classDescriptor.value;
350
354
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
351
355
  })(), _a.role = "listbox", _a.styles = style, _a.events = {
352
356
  input: "input",
353
357
  change: "change",
354
- chipInputTokenEnd: "chipInputTokenEnd"
355
- }, __runInitializers(_classThis, _classExtraInitializers), _a);
356
- return SbbChipGroupElement2 = _classThis;
358
+ chipinputtokenend: "chipinputtokenend"
359
+ }, __runInitializers(_classThis, _classExtraInitializers), _a;
360
+ return _classThis;
357
361
  })();
358
362
  export {
359
363
  SbbChipGroupElement
360
364
  };
361
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGlwL2NoaXAtZ3JvdXAvY2hpcC1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tICcuLi8uLi9jb3JlL2V2ZW50aW5nLmpzJztcbmltcG9ydCB7IGkxOG5DaGlwR3JvdXBJbnB1dERlc2NyaXB0aW9uLCBpMThuU2VsZWN0aW9uUmVxdWlyZWQgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBGb3JtUmVzdG9yZVJlYXNvbixcbiAgdHlwZSBGb3JtUmVzdG9yZVN0YXRlLFxuICBTYmJEaXNhYmxlZE1peGluLFxuICBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4sXG4gIFNiYkZvcm1Bc3NvY2lhdGVkTWl4aW4sXG4gIFNiYk5lZ2F0aXZlTWl4aW4sXG4gIFNiYlJlcXVpcmVkTWl4aW4sXG59IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiT3B0aW9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9vcHRpb24vb3B0aW9uL29wdGlvbi1iYXNlLWVsZW1lbnQuanMnO1xuaW1wb3J0IHsgU2JiQ2hpcEVsZW1lbnQgfSBmcm9tICcuLi9jaGlwLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY2hpcC1ncm91cC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5sZXQgZGlzcGxheVdpdGhXYXJuaW5nTG9nZ2VkID0gZmFsc2U7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudERldGFpbHM8VCA9IHN0cmluZz4ge1xuICAvKiogVGhlIGVsZW1lbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIGNoaXAgY3JlYXRpb24gKi9cbiAgb3JpZ2luOiAnaW5wdXQnIHwgJ2F1dG9jb21wbGV0ZSc7XG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIG5ldyBjaGlwLiBFaXRoZXIgdGhlIGlucHV0IG9yIHRoZSBvcHRpb24gdmFsdWUgZGVwZW5kaW5nIG9uIHRoZSBvcmlnaW4uXG4gICAqIEVpdGhlciB0aGUgdmFsdWUgZnJvbSB0aGUgaW5wdXQgd2hpY2ggaXMgYWx3YXlzIGBzdHJpbmdgIG9yIHRoZSB2YWx1ZSBmcm9tIHRoZSBzZWxlY3RlZCBvcHRpb25cbiAgICogZnJvbSBhbiBhdXRvY29tcGxldGUsIHdoaWNoIGNhbiBiZSBlaXRoZXIgYSBzdHJpbmcgb3IgYW55IG90aGVyIHR5cGUuXG4gICAqL1xuICB2YWx1ZTogVCB8IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIC8qKiBTZXQgYSBuZXcgdmFsdWUgZm9yIHRoZSBjaGlwIHRoYXQgd2lsbCBiZSBjcmVhdGVkICovXG4gIHNldFZhbHVlKHZhbHVlOiBUKTogdm9pZDtcbiAgLyoqIFNldCBhIGxhYmVsIGZvciB0aGUgY2hpcCB0aGF0IHdpbGwgYmUgY3JlYXRlZCAqL1xuICBzZXRMYWJlbCh2YWx1ZTogc3RyaW5nKTogdm9pZDtcbn1cblxuLyoqXG4gKiBUaGUgYHNiYi1jaGlwLWdyb3VwYCBjb21wb25lbnQgaXMgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG11bHRpcGxlIGBzYmItY2hpcGAuXG4gKlxuICogQGV2ZW50IHtDdXN0b21FdmVudDx2b2lkPn0gY2hhbmdlIC0gTm90aWZpZXMgdGhhdCB0aGUgY29tcG9uZW50J3MgdmFsdWUgaGFzIGNoYW5nZWQuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSBpbnB1dCAtIE5vdGlmaWVzIHRoYXQgdGhlIGNvbXBvbmVudCdzIHZhbHVlIGhhcyBjaGFuZ2VkLlxuICogQGV2ZW50IHtDdXN0b21FdmVudDxTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlscz59IGNoaXBJbnB1dFRva2VuRW5kIC0gTm90aWZpZXMgdGhhdCBhIGNoaXAgaXMgYWJvdXQgdG8gYmUgY3JlYXRlZC4gQ2FuIGJlIHVzZWQgdG8gY3VzdG9taXplIHRoZSB2YWx1ZSBhbmQgdGhlIGxhYmVsLiBDYW4gYmUgcHJldmVudGVkLlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1jaGlwYCBlbGVtZW50cy5cbiAqIEBvdmVycmlkZVR5cGUgdmFsdWUgLSAoVCA9IHN0cmluZ1tdKSB8IG51bGxcbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWNoaXAtZ3JvdXAnKVxuY2xhc3MgU2JiQ2hpcEdyb3VwRWxlbWVudDxUID0gc3RyaW5nPiBleHRlbmRzIFNiYlJlcXVpcmVkTWl4aW4oXG4gIFNiYkRpc2FibGVkTWl4aW4oU2JiTmVnYXRpdmVNaXhpbihTYmJGb3JtQXNzb2NpYXRlZE1peGluKFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSkpKSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAnbGlzdGJveCc7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGV2ZW50cyA9IHtcbiAgICBpbnB1dDogJ2lucHV0JyxcbiAgICBjaGFuZ2U6ICdjaGFuZ2UnLFxuICAgIGNoaXBJbnB1dFRva2VuRW5kOiAnY2hpcElucHV0VG9rZW5FbmQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIC8qKiBWYWx1ZSBvZiB0aGUgZm9ybSBlbGVtZW50LiAqL1xuICBAcHJvcGVydHkoeyB0eXBlOiBBcnJheSB9KVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiAoVCB8IG51bGwpW10gfCBudWxsKSB7XG4gICAgdmFsdWUgPSB2YWx1ZSA/PyBbXTtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMudmFsdWU7XG5cbiAgICAvLyBTdWJ0cmFjdCBmcm9tICdvbGRWYWx1ZScgdGhlIG5ldyAndmFsdWUnXG4gICAgLy8gVGhlIHJlc3VsdCBhcmUgdGhlIGNoaXBzIHRvIHJlbW92ZSAoaGFuZGxlIGR1cGxpY2F0ZXMpXG4gICAgY29uc3QgdG9SZW1vdmUgPSBbLi4ub2xkVmFsdWVdO1xuICAgIGZvciAoY29uc3QgYyBvZiB2YWx1ZSkge1xuICAgICAgaWYgKHRvUmVtb3ZlLmluY2x1ZGVzKGMpKSB7XG4gICAgICAgIHRvUmVtb3ZlLnNwbGljZSh0b1JlbW92ZS5pbmRleE9mKGMpLCAxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdG9SZW1vdmUuZm9yRWFjaCgodmFsdWUpID0+XG4gICAgICB0aGlzLl9jaGlwRWxlbWVudHMoKVxuICAgICAgICAuZmluZCgoYykgPT4gYy52YWx1ZSA9PT0gdmFsdWUpXG4gICAgICAgID8ucmVtb3ZlKCksXG4gICAgKTtcblxuICAgIC8vIFN1YnRyYWN0IGZyb20gdGhlIG5ldyAndmFsdWUnIHdoYXQgd2FzIGFscmVhZHkgcHJlc2VudFxuICAgIC8vIFRoZSByZXN1bHQgYXJlIHRoZSBuZXcgY2hpcHMgdG8gYWRkIChoYW5kbGUgZHVwbGljYXRlcylcbiAgICBjb25zdCB0b0FkZCA9IFsuLi52YWx1ZV07XG4gICAgZm9yIChjb25zdCBjIG9mIG9sZFZhbHVlKSB7XG4gICAgICBpZiAodG9BZGQuaW5jbHVkZXMoYykpIHtcbiAgICAgICAgdG9BZGQuc3BsaWNlKHRvQWRkLmluZGV4T2YoYyksIDEpO1xuICAgICAgfVxuICAgIH1cbiAgICB0b0FkZC5mb3JFYWNoKChjKSA9PiB0aGlzLl9jcmVhdGVDaGlwRWxlbWVudChjKSk7XG4gIH1cbiAgcHVibGljIGdldCB2YWx1ZSgpOiAoVCB8IG51bGwpW10ge1xuICAgIHJldHVybiB0aGlzLl9jaGlwRWxlbWVudHMoKS5tYXAoKGMpID0+IGMudmFsdWUpO1xuICB9XG5cbiAgLyoqIEZ1bmN0aW9uIHRoYXQgbWFwcyBhIGNoaXAncyB2YWx1ZSB0byBpdHMgZGlzcGxheSB2YWx1ZS4gKi9cbiAgQHByb3BlcnR5KHsgYXR0cmlidXRlOiBmYWxzZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZGlzcGxheVdpdGg6ICgodmFsdWU6IFQpID0+IHN0cmluZykgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIGFycmF5IG9mIGtleXMgdGhhdCB3aWxsIHRyaWdnZXIgYSBgY2hpcElucHV0VG9rZW5FbmRgIGV2ZW50LiBEZWZhdWx0IGBbJ0VudGVyJ11gICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3NlcGFyYXRvci1rZXlzJywgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIGFjY2Vzc29yIHNlcGFyYXRvcktleXM6IHN0cmluZ1tdID0gWydFbnRlciddO1xuXG4gIC8qKiBOb3RpZmllcyB0aGF0IHRoZSBjb21wb25lbnQncyB2YWx1ZSBoYXMgY2hhbmdlZC4gKi9cbiAgcHJpdmF0ZSBfY2hhbmdlOiBFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKHRoaXMsIFNiYkNoaXBHcm91cEVsZW1lbnQuZXZlbnRzLmNoYW5nZSk7XG5cbiAgLyoqIE5vdGlmaWVzIHRoYXQgdGhlIGNvbXBvbmVudCdzIHZhbHVlIGhhcyBjaGFuZ2VkLiAqL1xuICBwcml2YXRlIF9pbnB1dDogRXZlbnRFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcih0aGlzLCBTYmJDaGlwR3JvdXBFbGVtZW50LmV2ZW50cy5pbnB1dCk7XG5cbiAgLyoqIE5vdGlmaWVzIHRoYXQgYSBjaGlwIGlzIGFib3V0IHRvIGJlIGNyZWF0ZWQuIENhbiBiZSBwcmV2ZW50ZWQuICovXG4gIHByaXZhdGUgX2NoaXBJbnB1dFRva2VuRW5kID0gbmV3IEV2ZW50RW1pdHRlcjxTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlsczxUPj4oXG4gICAgdGhpcyxcbiAgICBTYmJDaGlwR3JvdXBFbGVtZW50LmV2ZW50cy5jaGlwSW5wdXRUb2tlbkVuZCxcbiAgKTtcblxuICAvKipcbiAgICogTGlzdGVucyB0byB0aGUgY2hhbmdlcyBvbiBgcmVhZG9ubHlgIGFuZCBgZGlzYWJsZWRgIGF0dHJpYnV0ZXMgb2YgYDxpbnB1dD5gLlxuICAgKi9cbiAgcHJpdmF0ZSBfaW5wdXRBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gdGhpcy5fcmVhY3RUb0lucHV0Q2hhbmdlcygpKVxuICAgIDogbnVsbDtcblxuICAvKipcbiAgICogTGlzdGVucyB0byB0aGUgJ3NpemUnIGNoYW5nZXMgb24gdGhlIGBzYmItZm9ybS1maWVsZGAuXG4gICAqL1xuICBwcml2YXRlIF9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gdGhpcy5faW5oZXJpdFNpemUoKSlcbiAgICA6IG51bGw7XG5cbiAgcHJpdmF0ZSBfaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9pbnB1dEFib3J0Q29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LihTYmJDaGlwRWxlbWVudC5ldmVudHMucmVxdWVzdERlbGV0ZSwgKGV2KSA9PlxuICAgICAgdGhpcy5fZGVsZXRlQ2hpcChldi50YXJnZXQgYXMgU2JiQ2hpcEVsZW1lbnQ8VD4pLFxuICAgICk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChldikgPT4gdGhpcy5fb25DaGlwS2V5RG93bihldikpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fc2V0dXBDb21wb25lbnQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKFxuICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Zvcm1EaXNhYmxlZCcpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJylcbiAgICApIHtcbiAgICAgIHRoaXMuX3Byb3h5U3RhdGVUb0NoaXBzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICApOiB2b2lkIHtcbiAgICBpZiAoIXN0YXRlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9yZWFkRm9ybURhdGEoc3RhdGUgYXMgRm9ybURhdGEpLnRoZW4oKGFycmF5KSA9PiAodGhpcy52YWx1ZSA9IGFycmF5KSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9yZWFkRm9ybURhdGEoZm9ybURhdGE6IEZvcm1EYXRhKTogUHJvbWlzZTxUW10+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICBmb3JtRGF0YVxuICAgICAgICAuZ2V0QWxsKHRoaXMubmFtZSlcbiAgICAgICAgLm1hcChhc3luYyAoZW50cnkpID0+XG4gICAgICAgICAgZW50cnkgaW5zdGFuY2VvZiBCbG9iID8gSlNPTi5wYXJzZShhd2FpdCBlbnRyeS50ZXh0KCkpIDogKGVudHJ5IGFzIFQpLFxuICAgICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuc2hvdWxkVmFsaWRhdGUobmFtZSkgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJyB8fCBuYW1lID09PSAndmFsdWUnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlKCk7XG4gICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCd2YWx1ZU1pc3NpbmcnLCBpMThuU2VsZWN0aW9uUmVxdWlyZWRbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbW92ZVZhbGlkaXR5RmxhZygndmFsdWVNaXNzaW5nJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJldHVybiB0aGUgbGlzdCBvZiBjaGlwIGVsZW1lbnRzICoqL1xuICBwcml2YXRlIF9jaGlwRWxlbWVudHMoKTogU2JiQ2hpcEVsZW1lbnQ8VD5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48U2JiQ2hpcEVsZW1lbnQ8VD4+KCdzYmItY2hpcCcpID8/IFtdKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm4gdGhlIGxpc3Qgb2YgZW5hYmxlZCBjaGlwIGVsZW1lbnRzICoqL1xuICBwcml2YXRlIF9lbmFibGVkQ2hpcEVsZW1lbnRzKCk6IFNiYkNoaXBFbGVtZW50PFQ+W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2hpcDpub3QoW2Rpc2FibGVkXSknKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXR1cENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcblxuICAgIC8vIENvbm5lY3QgdG8gdGhlIGlucHV0XG4gICAgaWYgKGlucHV0ICYmIGlucHV0ICE9PSB0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5faW5wdXRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50ID0gaW5wdXQ7XG5cbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXYpID0+IHRoaXMuX29uSW5wdXRLZXlEb3duKGV2KSwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdpbnB1dEF1dG9jb21wbGV0ZScsXG4gICAgICAgIChldmVudDogQ3VzdG9tRXZlbnQ8eyBvcHRpb246IFNiYk9wdGlvbkJhc2VFbGVtZW50PFQ+IH0+KSA9PiB7XG4gICAgICAgICAgdGhpcy5fY3JlYXRlQ2hpcEZyb21JbnB1dCgnYXV0b2NvbXBsZXRlJywgZXZlbnQuZGV0YWlsPy5vcHRpb24udmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICB0aGlzLl9pbnB1dEF0dHJpYnV0ZU9ic2VydmVyPy5vYnNlcnZlKHRoaXMuX2lucHV0RWxlbWVudCwge1xuICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsncmVhZG9ubHknLCAnZGlzYWJsZWQnXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEluaGVyaXQgc2l6ZSBmcm9tIHRoZSBmb3JtLWZpZWxkIGFuZCBvYnNlcnZlIGZvciBjaGFuZ2VzXG4gICAgdGhpcy5faW5oZXJpdFNpemUoKTtcbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKTtcbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8ub2JzZXJ2ZShmb3JtRmllbGQsIHtcbiAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ3NpemUnXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWVtcHR5JywgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApO1xuICAgIHRoaXMuX3JlYWN0VG9JbnB1dENoYW5nZXMoKTtcbiAgICB0aGlzLl91cGRhdGVJbnB1dERlc2NyaXB0aW9uKCk7XG4gICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZm9yIGtleWJvYXJkIGV2ZW50cyBvbiB0aGUgY2hpcCBlbGVtZW50c1xuICAgKiovXG4gIHByaXZhdGUgX29uQ2hpcEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudFRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBTYmJDaGlwRWxlbWVudDxUPjtcbiAgICBpZiAoZXZlbnRUYXJnZXQubG9jYWxOYW1lICE9PSAnc2JiLWNoaXAnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQXJyb3cga2V5cyBhbGxvdyBuYXZpZ2F0aW9uIGJldHdlZW4gY2hpcHMgZm9jdXMgc3RlcHNcbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZlbnQpKSB7XG4gICAgICBjb25zdCBmb2N1c1N0ZXBzID0gdGhpcy5fZW5hYmxlZENoaXBFbGVtZW50cygpO1xuICAgICAgY29uc3QgbmV4dCA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZlbnQsIGZvY3VzU3RlcHMuaW5kZXhPZihldmVudFRhcmdldCksIGZvY3VzU3RlcHMubGVuZ3RoKTtcbiAgICAgIGZvY3VzU3RlcHNbbmV4dF0uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQmFja3NwYWNlJzpcbiAgICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICAgIGlmICghZXZlbnRUYXJnZXQucmVhZE9ubHkgJiYgIWV2ZW50VGFyZ2V0LmRpc2FibGVkKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLl9kZWxldGVDaGlwKGV2ZW50VGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGZvciBrZXlib2FyZCBldmVudHMgb24gdGhlIGlucHV0XG4gICAqKi9cbiAgcHJpdmF0ZSBfb25JbnB1dEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQmFja3NwYWNlJzpcbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRFbGVtZW50IS52YWx1ZSkge1xuICAgICAgICAgIHRoaXMuX2ZvY3VzQ2hpcCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBQcmV2ZW50cyB0aGUgZm9ybSBzdWJtaXRcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIHVzZXIgdHlwZWQgb25lIG9mIHRoZSBzZXBhcmF0b3Iga2V5cywgdHJpZ2dlciBhIGNoaXBJbnB1dFRva2VuRW5kIGV2ZW50XG4gICAgaWYgKHRoaXMuc2VwYXJhdG9yS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBwcmV2ZW50IHR5cGluZyB0aGUgc2VwYXJhdG9yIGtleSBpbnRvIHRoZSBpbnB1dFxuICAgICAgdGhpcy5fY3JlYXRlQ2hpcEZyb21JbnB1dCgnaW5wdXQnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhlIGlucHV0IGlzIG5vdCBlbXB0eSwgY3JlYXRlIGEgY2hpcCB3aXRoIGl0cyB2YWx1ZVxuICAgKi9cbiAgcHJpdmF0ZSBfY3JlYXRlQ2hpcEZyb21JbnB1dChvcmlnaW46ICdpbnB1dCcgfCAnYXV0b2NvbXBsZXRlJyA9ICdpbnB1dCcsIHZhbHVlPzogVCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0VmFsdWUgPSB2YWx1ZSA/PyB0aGlzLl9pbnB1dEVsZW1lbnQhLnZhbHVlLnRyaW0oKTtcbiAgICBpZiAoIWlucHV0VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBldmVudERldGFpbDogU2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudERldGFpbHM8VD4gPSB7XG4gICAgICBvcmlnaW46IG9yaWdpbixcbiAgICAgIHZhbHVlOiBpbnB1dFZhbHVlLFxuICAgICAgbGFiZWw6ICh2YWx1ZSA/IHRoaXMuZGlzcGxheVdpdGg/Lih2YWx1ZSkgOiBudWxsKSA/PyB1bmRlZmluZWQsXG4gICAgICBzZXRWYWx1ZTogKHZhbHVlOiBUKSA9PiAoZXZlbnREZXRhaWwudmFsdWUgPSB2YWx1ZSksXG4gICAgICBzZXRMYWJlbDogKGxhYmVsOiBzdHJpbmcpID0+IChldmVudERldGFpbC5sYWJlbCA9IGxhYmVsKSxcbiAgICB9O1xuXG4gICAgaWYgKCF0aGlzLl9jaGlwSW5wdXRUb2tlbkVuZC5lbWl0KGV2ZW50RGV0YWlsKSkge1xuICAgICAgcmV0dXJuOyAvLyBldmVudCBwcmV2ZW50ZWQ7IGRvIG5vdGhpbmcgKHRoZSBjb25zdW1lciBoYXMgdG8gY3JlYXRlIHRoZSBjaGlwKVxuICAgIH1cblxuICAgIHRoaXMuX2NyZWF0ZUNoaXBFbGVtZW50KGV2ZW50RGV0YWlsLnZhbHVlIGFzIFQsIGV2ZW50RGV0YWlsLmxhYmVsKTtcbiAgICB0aGlzLl9pbnB1dEVsZW1lbnQhLnZhbHVlID0gJyc7IC8vIEVtcHR5IHRoZSBpbnB1dFxuICAgIHRoaXMuX2VtaXRJbnB1dEV2ZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZGVsZXRlQ2hpcChjaGlwOiBTYmJDaGlwRWxlbWVudDxUPik6IHZvaWQge1xuICAgIGNvbnN0IGNoaXBzID0gdGhpcy5fZW5hYmxlZENoaXBFbGVtZW50cygpO1xuICAgIGNoaXAucmVtb3ZlKCk7XG4gICAgdGhpcy5fZW1pdElucHV0RXZlbnRzKCk7XG4gICAgdGhpcy5fZm9jdXNDaGlwKGNoaXBzLmluZGV4T2YoY2hpcCkpOyAvLyBGb2N1cyB0aGUgbmV4dCBjaGlwXG4gIH1cblxuICAvKipcbiAgICogRm9jdXMgYW4gZW5hYmxlZCBjaGlwLiBJZiBub25lIGFyZSBwcmVzZW50LCBmb2N1cyB0aGUgaW5wdXRcbiAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgZW5hYmxlZCBjaGlwLiBJZiBudWxsLCBmb2N1cyB0aGUgbGFzdCBvbmUuXG4gICAqL1xuICBwcml2YXRlIF9mb2N1c0NoaXAoaW5kZXg/OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCBlbmFibGVkQ2hpcHMgPSB0aGlzLl9lbmFibGVkQ2hpcEVsZW1lbnRzKCk7XG5cbiAgICBpZiAoaW5kZXggIT09IHVuZGVmaW5lZCAmJiBlbmFibGVkQ2hpcHNbaW5kZXhdKSB7XG4gICAgICBlbmFibGVkQ2hpcHNbaW5kZXhdLmZvY3VzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGVuYWJsZWRDaGlwcy5sZW5ndGggPiAwKSB7XG4gICAgICBlbmFibGVkQ2hpcHNbZW5hYmxlZENoaXBzLmxlbmd0aCAtIDFdLmZvY3VzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faW5wdXRFbGVtZW50Py5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdElucHV0RXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX2lucHV0LmVtaXQoKTtcbiAgICB0aGlzLl9jaGFuZ2UuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ2hpcEVsZW1lbnQodmFsdWU6IFQgfCBudWxsLCBsYWJlbD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBuZXdDaGlwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2JiLWNoaXAnKSBhcyBTYmJDaGlwRWxlbWVudDxUPjtcbiAgICBuZXdDaGlwLnZhbHVlID0gdmFsdWU7XG4gICAgbmV3Q2hpcC5pbm5lclRleHQgPSBsYWJlbCA/PyAodmFsdWUgPyB0aGlzLmRpc3BsYXlXaXRoPy4odmFsdWUpIDogbnVsbCkgPz8gJyc7XG4gICAgaWYgKFxuICAgICAgaW1wb3J0Lm1ldGEuZW52LkRFViAmJlxuICAgICAgIWRpc3BsYXlXaXRoV2FybmluZ0xvZ2dlZCAmJlxuICAgICAgIWxhYmVsICYmXG4gICAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgICAhdGhpcy5kaXNwbGF5V2l0aFxuICAgICkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgZGlzcGxheVdpdGggaGFzIG5vdCBiZWVuIHNldCB5ZXQgZm9yIHNiYi1jaGlwLWdyb3VwIGFuZCB2YWx1ZSBpcyBhbiBvYmplY3QuXG4gICAgICAgICBJZiB5b3UgYXJlIHVzaW5nIG9iamVjdCB2YWx1ZXMsIHlvdSBuZWVkIHRvIHByb3ZpZGUgZGlzcGxheVdpZHRoIGJlZm9yZVxuICAgICAgICAgc2V0dGluZyBvciBzZWxlY3RpbmcgYW55IHZhbHVlLmAsXG4gICAgICApO1xuICAgICAgZGlzcGxheVdpdGhXYXJuaW5nTG9nZ2VkID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5pbnNlcnRCZWZvcmUobmV3Q2hpcCwgdGhpcy5faW5wdXRFbGVtZW50ID8/IHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWFjdFRvSW5wdXRDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLl9pbnB1dEVsZW1lbnQ/LmRpc2FibGVkID8/IGZhbHNlO1xuICAgIHRoaXMuX3Byb3h5U3RhdGVUb0NoaXBzKCk7XG4gIH1cblxuICBwcml2YXRlIF9wcm94eVN0YXRlVG9DaGlwcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGlwRWxlbWVudHMoKS5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBjLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmZvcm1EaXNhYmxlZDtcbiAgICAgIGMucmVhZE9ubHkgPSB0aGlzLl9pbnB1dEVsZW1lbnQ/Lmhhc0F0dHJpYnV0ZSgncmVhZG9ubHknKSA/PyBmYWxzZTtcbiAgICAgIGMubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5oZXJpdFNpemUoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2l6ZScsIHRoaXMuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKT8uc2l6ZSA/PyAoaXNMZWFuKCkgPyAncycgOiAnbScpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUlucHV0RGVzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faW5wdXRFbGVtZW50LnNldEF0dHJpYnV0ZShcbiAgICAgICdhcmlhLWRlc2NyaXB0aW9uJyxcbiAgICAgIGAke2kxOG5DaGlwR3JvdXBJbnB1dERlc2NyaXB0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke3RoaXMudmFsdWUubGVuZ3RofWAsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1jaGlwLWdyb3VwXCI+XG4gICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fc2V0dXBDb21wb25lbnR9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jaGlwLWdyb3VwJzogU2JiQ2hpcEdyb3VwRWxlbWVudDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudEV2ZW50TWFwIHtcbiAgICBjaGlwSW5wdXRUb2tlbkVuZDogQ3VzdG9tRXZlbnQ8U2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudERldGFpbHM8YW55Pj47XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJTYmJDaGlwR3JvdXBFbGVtZW50IiwidmFsdWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkJBLElBQUksMkJBQTJCO0lBNkJ6Qix1QkFBbUIsTUFBQTs7MEJBRHhCLGNBQWMsZ0JBQWdCLENBQUM7Ozs7QUFDYyxNQUFBLGNBQUEsaUJBQzVDLGlCQUFpQixpQkFBaUIsdUJBQXVCLHlCQUF5QixVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7Ozs7Ozs7OztBQUQ1RCxNQUFBQSx3QkFBQSxtQkFBUSxZQUU3QztBQUFBLElBaUZDLGNBQUE7QUFDRSxZQUFBO0FBckNGO0FBSUE7QUFKZ0IseUJBQUEsZ0NBL0NaLGtCQUFBLE1BQUEsMEJBQUEsR0FBbUIsa0JBQUEsTUFBQSwyQkErQ3NDLElBQUk7QUFJakQseUJBQUEsa0NBQUEsa0JBQUEsTUFBQSw4QkFBQSxHQUFBLGtCQUFBLE1BQUEsNkJBQTBCLENBQUMsT0FBTyxDQUFDO0FBRzNDLFdBQUEsV0FBTyxrQkFBQSxNQUFBLGdDQUFBLEdBQWlCLElBQUksYUFBYSxNQUFNQSxxQkFBb0IsT0FBTyxNQUFNO0FBR2hGLFdBQUEsU0FBdUIsSUFBSSxhQUFhLE1BQU1BLHFCQUFvQixPQUFPLEtBQUs7QUFHOUUsV0FBQSxxQkFBcUIsSUFBSSxhQUMvQixNQUNBQSxxQkFBb0IsT0FBTyxpQkFBaUI7QUFNdEMsV0FBQSwwQkFBMEIsQ0FBQyxXQUMvQixJQUFJLGlCQUFpQixNQUFNLEtBQUsscUJBQUEsQ0FBc0IsSUFDdEQ7QUFLSSxXQUFBLDhCQUE4QixDQUFDLFdBQ25DLElBQUksaUJBQWlCLE1BQU0sS0FBSyxhQUFBLENBQWMsSUFDOUM7QUFJSSxXQUFBLFlBQVksSUFBSSxzQkFBc0IsSUFBSTtBQUtoRCxXQUFLLG1CQUFtQixlQUFlLE9BQU8sZUFBZSxDQUFDLE9BQzVELEtBQUssWUFBWSxHQUFHLE1BQTJCLENBQUM7QUFHbEQsV0FBSyxtQkFBbUIsV0FBVyxDQUFDLE9BQU8sS0FBSyxlQUFlLEVBQUUsQ0FBQztBQUFBLElBQUE7QUFBQTtBQUFBLElBN0VwRSxJQUFXLE1BQU0sT0FBMEI7QUFDekMsY0FBUSxTQUFTLENBQUE7QUFDakIsWUFBTSxXQUFXLEtBQUs7QUFJdEIsWUFBTSxXQUFXLENBQUMsR0FBRyxRQUFRO0FBQzdCLGlCQUFXLEtBQUssT0FBTztBQUNyQixZQUFJLFNBQVMsU0FBUyxDQUFDLEdBQUc7QUFDeEIsbUJBQVMsT0FBTyxTQUFTLFFBQVEsQ0FBQyxHQUFHLENBQUM7QUFBQSxRQUFBO0FBQUEsTUFDeEM7QUFFRixlQUFTLFFBQVEsQ0FBQ0MsV0FDaEIsS0FBSyxnQkFDRixLQUFLLENBQUMsTUFBTSxFQUFFLFVBQVVBLE1BQUssR0FDNUIsUUFBUTtBQUtkLFlBQU0sUUFBUSxDQUFDLEdBQUcsS0FBSztBQUN2QixpQkFBVyxLQUFLLFVBQVU7QUFDeEIsWUFBSSxNQUFNLFNBQVMsQ0FBQyxHQUFHO0FBQ3JCLGdCQUFNLE9BQU8sTUFBTSxRQUFRLENBQUMsR0FBRyxDQUFDO0FBQUEsUUFBQTtBQUFBLE1BQ2xDO0FBRUYsWUFBTSxRQUFRLENBQUMsTUFBTSxLQUFLLG1CQUFtQixDQUFDLENBQUM7QUFBQSxJQUFBO0FBQUEsSUFFakQsSUFBVyxRQUFLO0FBQ2QsYUFBTyxLQUFLLGdCQUFnQixJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUs7QUFBQSxJQUFBO0FBQUE7QUFBQSxJQUtoRCxJQUFnQixjQUFXO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUEzQixJQUFnQixZQUFXLE9BQUE7QUFBQSx5QkFBQSwrQkFBQTtBQUFBLElBQUE7QUFBQTtBQUFBLElBSTNCLElBQWdCLGdCQUFhO0FBQUEsYUFBQSxtQkFBQTtBQUFBLElBQUE7QUFBQSxJQUE3QixJQUFnQixjQUFhLE9BQUE7QUFBQSx5QkFBQSxpQ0FBQTtBQUFBLElBQUE7QUFBQSxJQTBDYixvQkFBaUI7QUFDL0IsWUFBTSxrQkFBQTtBQUNOLFdBQUssZ0JBQUE7QUFBQSxJQUFlO0FBQUEsSUFHSCxXQUFXLG1CQUFpQztBQUM3RCxZQUFNLFdBQVcsaUJBQWlCO0FBRWxDLFVBQ0Usa0JBQWtCLElBQUksVUFBVSxLQUNoQyxrQkFBa0IsSUFBSSxjQUFjLEtBQ3BDLGtCQUFrQixJQUFJLFVBQVUsR0FDaEM7QUFDQSxhQUFLLG1CQUFBO0FBQUEsTUFBa0I7QUFBQSxJQUN6QjtBQUFBO0FBQUEsSUFJSyxvQkFBaUI7QUFDdEIsV0FBSyxRQUFRO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFJUix5QkFDTCxPQUNBLFNBQTBCO0FBRTFCLFVBQUksQ0FBQyxPQUFPO0FBQ1YsYUFBSyxRQUFRO0FBQ2I7QUFBQSxNQUFBO0FBR0YsV0FBSyxjQUFjLEtBQWlCLEVBQUUsS0FBSyxDQUFDLFVBQVcsS0FBSyxRQUFRLEtBQU07QUFBQSxJQUFBO0FBQUEsSUFHcEUsTUFBTSxjQUFjLFVBQWtCO0FBQzVDLGFBQU8sUUFBUSxJQUNiLFNBQ0csT0FBTyxLQUFLLElBQUksRUFDaEIsSUFBSSxPQUFPLFVBQ1YsaUJBQWlCLE9BQU8sS0FBSyxNQUFNLE1BQU0sTUFBTSxNQUFNLElBQUssS0FBVyxDQUN0RTtBQUFBLElBQUE7QUFBQSxJQUlZLGVBQWUsTUFBNkI7QUFDN0QsYUFBTyxNQUFNLGVBQWUsSUFBSSxLQUFLLFNBQVMsY0FBYyxTQUFTO0FBQUEsSUFBQTtBQUFBLElBR3BELFdBQVE7QUFDekIsWUFBTSxTQUFBO0FBQ04sVUFBSSxLQUFLLFlBQVksS0FBSyxNQUFNLFdBQVcsR0FBRztBQUM1QyxhQUFLLGdCQUFnQixnQkFBZ0Isc0JBQXNCLEtBQUssVUFBVSxPQUFPLENBQUM7QUFBQSxNQUFBLE9BQzdFO0FBQ0wsYUFBSyxtQkFBbUIsY0FBYztBQUFBLE1BQUE7QUFBQSxJQUN4QztBQUFBO0FBQUEsSUFJTSxnQkFBYTtBQUNuQixhQUFPLE1BQU0sS0FBSyxLQUFLLG1CQUFzQyxVQUFVLEtBQUssRUFBRTtBQUFBLElBQUE7QUFBQTtBQUFBLElBSXhFLHVCQUFvQjtBQUMxQixhQUFPLE1BQU0sS0FBSyxLQUFLLG1CQUFtQiwwQkFBMEIsS0FBSyxFQUFFO0FBQUEsSUFBQTtBQUFBLElBR3JFLGtCQUFlO0FBQ3JCLFlBQU0sUUFBUSxLQUFLLGNBQWMsT0FBTztBQUd4QyxVQUFJLFNBQVMsVUFBVSxLQUFLLGVBQWU7QUFDekMsYUFBSyx1QkFBdUIsTUFBQTtBQUM1QixhQUFLLHlCQUF5QixXQUFBO0FBQzlCLGFBQUssZ0JBQWdCO0FBRXJCLGFBQUssd0JBQXdCLElBQUksZ0JBQUE7QUFDakMsYUFBSyxjQUFjLGlCQUFpQixXQUFXLENBQUMsT0FBTyxLQUFLLGdCQUFnQixFQUFFLEdBQUc7QUFBQSxVQUMvRSxRQUFRLEtBQUssc0JBQXNCO0FBQUEsUUFBQSxDQUNwQztBQUNELGFBQUssY0FBYyxpQkFDakIscUJBQ0EsQ0FBQyxVQUEyRDtBQUMxRCxlQUFLLHFCQUFxQixnQkFBZ0IsTUFBTSxRQUFRLE9BQU8sS0FBSztBQUFBLFFBQUEsR0FFdEU7QUFBQSxVQUNFLFFBQVEsS0FBSyxzQkFBc0I7QUFBQSxRQUFBLENBQ3BDO0FBR0gsYUFBSyx5QkFBeUIsUUFBUSxLQUFLLGVBQWU7QUFBQSxVQUN4RCxZQUFZO0FBQUEsVUFDWixpQkFBaUIsQ0FBQyxZQUFZLFVBQVU7QUFBQSxRQUFBLENBQ3pDO0FBQUEsTUFBQTtBQUlILFdBQUssYUFBQTtBQUNMLFdBQUssNkJBQTZCLFdBQUE7QUFDbEMsWUFBTSxZQUFZLEtBQUssUUFBUSxnQkFBZ0I7QUFDL0MsVUFBSSxXQUFXO0FBQ2IsYUFBSyw2QkFBNkIsUUFBUSxXQUFXO0FBQUEsVUFDbkQsWUFBWTtBQUFBLFVBQ1osaUJBQWlCLENBQUMsTUFBTTtBQUFBLFFBQUEsQ0FDekI7QUFBQSxNQUFBO0FBR0gsV0FBSyxnQkFBZ0IsY0FBYyxLQUFLLE1BQU0sV0FBVyxDQUFDO0FBQzFELFdBQUsscUJBQUE7QUFDTCxXQUFLLHdCQUFBO0FBQ0wsV0FBSyxnQkFBQTtBQUFBLElBQWU7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU1kLGVBQWUsT0FBb0I7QUFDekMsWUFBTSxjQUFjLE1BQU07QUFDMUIsVUFBSSxZQUFZLGNBQWMsWUFBWTtBQUN4QztBQUFBLE1BQUE7QUFJRixVQUFJLGtCQUFrQixLQUFLLEdBQUc7QUFDNUIsY0FBTSxhQUFhLEtBQUsscUJBQUE7QUFDeEIsY0FBTSxPQUFPLG9CQUFvQixPQUFPLFdBQVcsUUFBUSxXQUFXLEdBQUcsV0FBVyxNQUFNO0FBQzFGLG1CQUFXLElBQUksRUFBRSxNQUFBO0FBQ2pCO0FBQUEsTUFBQTtBQUdGLGNBQVEsTUFBTSxLQUFBO0FBQUEsUUFDWixLQUFLO0FBQUEsUUFDTCxLQUFLO0FBQ0gsY0FBSSxDQUFDLFlBQVksWUFBWSxDQUFDLFlBQVksVUFBVTtBQUNsRCxrQkFBTSxlQUFBO0FBQ04saUJBQUssWUFBWSxXQUFXO0FBQUEsVUFBQTtBQUU5QjtBQUFBLE1BQUE7QUFBQSxJQUNKO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFNTSxnQkFBZ0IsT0FBb0I7QUFDMUMsY0FBUSxNQUFNLEtBQUE7QUFBQSxRQUNaLEtBQUs7QUFBQSxRQUNMLEtBQUs7QUFDSCxjQUFJLENBQUMsS0FBSyxjQUFlLE9BQU87QUFDOUIsaUJBQUssV0FBQTtBQUFBLFVBQVU7QUFFakI7QUFBQSxRQUNGLEtBQUs7QUFDSCxnQkFBTSxlQUFBO0FBQ047QUFBQSxNQUFBO0FBSUosVUFBSSxLQUFLLGNBQWMsU0FBUyxNQUFNLEdBQUcsR0FBRztBQUMxQyxjQUFNLGVBQUE7QUFDTixhQUFLLHFCQUFxQixPQUFPO0FBQUEsTUFBQTtBQUFBLElBQ25DO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFNTSxxQkFBcUIsU0FBbUMsU0FBUyxPQUFTO0FBQ2hGLFlBQU0sYUFBYSxTQUFTLEtBQUssY0FBZSxNQUFNLEtBQUE7QUFDdEQsVUFBSSxDQUFDLFlBQVk7QUFDZjtBQUFBLE1BQUE7QUFHRixZQUFNLGNBQW1EO0FBQUEsUUFDdkQ7QUFBQSxRQUNBLE9BQU87QUFBQSxRQUNQLFFBQVEsUUFBUSxLQUFLLGNBQWMsS0FBSyxJQUFJLFNBQVM7QUFBQSxRQUNyRCxVQUFVLENBQUNBLFdBQWMsWUFBWSxRQUFRQTtBQUFBQSxRQUM3QyxVQUFVLENBQUMsVUFBbUIsWUFBWSxRQUFRO0FBQUEsTUFBQTtBQUdwRCxVQUFJLENBQUMsS0FBSyxtQkFBbUIsS0FBSyxXQUFXLEdBQUc7QUFDOUM7QUFBQSxNQUFBO0FBR0YsV0FBSyxtQkFBbUIsWUFBWSxPQUFZLFlBQVksS0FBSztBQUNqRSxXQUFLLGNBQWUsUUFBUTtBQUM1QixXQUFLLGlCQUFBO0FBQUEsSUFBZ0I7QUFBQSxJQUdmLFlBQVksTUFBdUI7QUFDekMsWUFBTSxRQUFRLEtBQUsscUJBQUE7QUFDbkIsV0FBSyxPQUFBO0FBQ0wsV0FBSyxpQkFBQTtBQUNMLFdBQUssV0FBVyxNQUFNLFFBQVEsSUFBSSxDQUFDO0FBQUEsSUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFPN0IsV0FBVyxPQUFjO0FBQy9CLFlBQU0sZUFBZSxLQUFLLHFCQUFBO0FBRTFCLFVBQUksVUFBVSxVQUFhLGFBQWEsS0FBSyxHQUFHO0FBQzlDLHFCQUFhLEtBQUssRUFBRSxNQUFBO0FBQ3BCO0FBQUEsTUFBQTtBQUdGLFVBQUksYUFBYSxTQUFTLEdBQUc7QUFDM0IscUJBQWEsYUFBYSxTQUFTLENBQUMsRUFBRSxNQUFBO0FBQ3RDO0FBQUEsTUFBQTtBQUdGLFdBQUssZUFBZSxNQUFBO0FBQUE7SUFHZCxtQkFBZ0I7QUFDdEIsV0FBSyxPQUFPLEtBQUE7QUFDWixXQUFLLFFBQVEsS0FBQTtBQUFBO0lBR1AsbUJBQW1CLE9BQWlCLE9BQWM7QUFDeEQsVUFBSSxVQUFVO0FBQ1o7QUFBQSxNQUFBO0FBRUYsWUFBTSxVQUFVLFNBQVMsY0FBYyxVQUFVO0FBQ2pELGNBQVEsUUFBUTtBQUNoQixjQUFRLFlBQVksVUFBVSxRQUFRLEtBQUssY0FBYyxLQUFLLElBQUksU0FBUztBQUMzRSxVQUVFLENBQUMsNEJBQ0QsQ0FBQyxTQUNELE9BQU8sVUFBVSxZQUNqQixDQUFDLEtBQUssYUFDTjtBQUNBLGdCQUFRLEtBQ047QUFBQTtBQUFBLHlDQUVpQztBQUVuQyxtQ0FBMkI7QUFBQSxNQUFBO0FBRTdCLFdBQUssYUFBYSxTQUFTLEtBQUssaUJBQWlCLEtBQUssY0FBYyxPQUFPLENBQUM7QUFBQSxJQUFBO0FBQUEsSUFHdEUsdUJBQW9CO0FBQzFCLFdBQUssV0FBVyxLQUFLLGVBQWUsWUFBWTtBQUNoRCxXQUFLLG1CQUFBO0FBQUEsSUFBa0I7QUFBQSxJQUdqQixxQkFBa0I7QUFDeEIsV0FBSyxjQUFBLEVBQWdCLFFBQVEsQ0FBQyxNQUFLO0FBQ2pDLFVBQUUsV0FBVyxLQUFLLFlBQVksS0FBSztBQUNuQyxVQUFFLFdBQVcsS0FBSyxlQUFlLGFBQWEsVUFBVSxLQUFLO0FBQzdELFVBQUUsV0FBVyxLQUFLO0FBQUEsTUFBQSxDQUNuQjtBQUFBLElBQUE7QUFBQSxJQUdLLGVBQVk7QUFDbEIsV0FBSyxhQUFhLGFBQWEsS0FBSyxRQUFRLGdCQUFnQixHQUFHLFNBQVMsT0FBQSxJQUFXLE1BQU0sSUFBSTtBQUFBLElBQUE7QUFBQSxJQUd2RiwwQkFBdUI7QUFDN0IsVUFBSSxDQUFDLEtBQUssZUFBZTtBQUN2QjtBQUFBLE1BQUE7QUFFRixXQUFLLGNBQWMsYUFDakIsb0JBQ0EsR0FBRyw4QkFBOEIsS0FBSyxVQUFVLE9BQU8sQ0FBQyxJQUFJLEtBQUssTUFBTSxNQUFNLEVBQUU7QUFBQSxJQUFBO0FBQUEsSUFJaEUsU0FBTTtBQUN2QixhQUFPO0FBQUE7QUFBQSw0QkFFaUIsS0FBSyxlQUFlO0FBQUE7QUFBQTtBQUFBLElBQUE7QUFBQSxLQW5VOUMsK0NBSUE7O0FBdkNDLDRCQUFBLENBQUEsU0FBUyxFQUFFLE1BQU0sTUFBQSxDQUFPLENBQUM7QUFrQ3pCLDhCQUFBLENBQUEsU0FBUyxFQUFFLFdBQVcsTUFBQSxDQUFPLENBQUM7aUNBSTlCLFNBQVMsRUFBRSxXQUFXLGtCQUFrQixNQUFNLE1BQUEsQ0FBTyxDQUFDO0FBckN2RCxpQkFBQSxJQUFBLE1BQUEsdUJBQUEsRUFBQSxNQUFBLFVBQUEsTUFBQSxTQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFdBQUEsS0FBQSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBVyxRQUFLO0FBQUEsSUFBQSxLQUFBLFVBQUEsYUFBQSxNQUFBLDBCQUFBO0FBa0NoQixpQkFBQSxJQUFBLE1BQUEseUJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxlQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLGlCQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsYUFBVyxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBWCxjQUFXO0FBQUEsSUFBQSxLQUFBLFVBQUEsYUFBQSwyQkFBQSw4QkFBQTtBQUkzQixpQkFBQSxJQUFBLE1BQUEsMkJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxpQkFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxtQkFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLGVBQWEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQWIsZ0JBQWE7QUFBQSxJQUFBLEtBQUEsVUFBQSxhQUFBLDZCQUFBLGdDQUFBO0FBbkQvQixpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBR2tDLEdBQUEsT0FBTyxXQUNoQixHQUFBLFNBQXlCLE9BQ3pCLEdBQUEsU0FBUztBQUFBLElBQzlCLE9BQU87QUFBQSxJQUNQLFFBQVE7QUFBQSxJQUNSLG1CQUFtQjtBQUFBLEVBQUEsR0FSakIsa0JBQUEsWUFBQSx1QkFBQSxHQUFnQzs7OyJ9
365
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGlwL2NoaXAtZ3JvdXAvY2hpcC1ncm91cC5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgZ2V0TmV4dEVsZW1lbnRJbmRleCwgaXNBcnJvd0tleVByZXNzZWQgfSBmcm9tICcuLi8uLi9jb3JlL2ExMXkuanMnO1xuaW1wb3J0IHsgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBpc0xlYW4gfSBmcm9tICcuLi8uLi9jb3JlL2RvbS5qcyc7XG5pbXBvcnQgeyBpMThuQ2hpcEdyb3VwSW5wdXREZXNjcmlwdGlvbiwgaTE4blNlbGVjdGlvblJlcXVpcmVkIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgRm9ybVJlc3RvcmVSZWFzb24sXG4gIHR5cGUgRm9ybVJlc3RvcmVTdGF0ZSxcbiAgU2JiRGlzYWJsZWRNaXhpbixcbiAgU2JiRWxlbWVudEludGVybmFsc01peGluLFxuICBTYmJGb3JtQXNzb2NpYXRlZE1peGluLFxuICBTYmJOZWdhdGl2ZU1peGluLFxuICBTYmJSZXF1aXJlZE1peGluLFxufSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vb3B0aW9uL29wdGlvbi9vcHRpb24tYmFzZS1lbGVtZW50LmpzJztcbmltcG9ydCB7IFNiYkNoaXBFbGVtZW50IH0gZnJvbSAnLi4vY2hpcC5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NoaXAtZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxubGV0IGRpc3BsYXlXaXRoV2FybmluZ0xvZ2dlZCA9IGZhbHNlO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYkNoaXBJbnB1dFRva2VuRW5kRXZlbnREZXRhaWxzPFQgPSBzdHJpbmc+IHtcbiAgLyoqIFRoZSBlbGVtZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBjaGlwIGNyZWF0aW9uICovXG4gIG9yaWdpbjogJ2lucHV0JyB8ICdhdXRvY29tcGxldGUnO1xuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBuZXcgY2hpcC4gRWl0aGVyIHRoZSBpbnB1dCBvciB0aGUgb3B0aW9uIHZhbHVlIGRlcGVuZGluZyBvbiB0aGUgb3JpZ2luLlxuICAgKiBFaXRoZXIgdGhlIHZhbHVlIGZyb20gdGhlIGlucHV0IHdoaWNoIGlzIGFsd2F5cyBgc3RyaW5nYCBvciB0aGUgdmFsdWUgZnJvbSB0aGUgc2VsZWN0ZWQgb3B0aW9uXG4gICAqIGZyb20gYW4gYXV0b2NvbXBsZXRlLCB3aGljaCBjYW4gYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGFueSBvdGhlciB0eXBlLlxuICAgKi9cbiAgdmFsdWU6IFQgfCBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICAvKiogU2V0IGEgbmV3IHZhbHVlIGZvciB0aGUgY2hpcCB0aGF0IHdpbGwgYmUgY3JlYXRlZCAqL1xuICBzZXRWYWx1ZSh2YWx1ZTogVCk6IHZvaWQ7XG4gIC8qKiBTZXQgYSBsYWJlbCBmb3IgdGhlIGNoaXAgdGhhdCB3aWxsIGJlIGNyZWF0ZWQgKi9cbiAgc2V0TGFiZWwodmFsdWU6IHN0cmluZyk6IHZvaWQ7XG59XG5cbi8qKlxuICogVGhlIGBzYmItY2hpcC1ncm91cGAgY29tcG9uZW50IGlzIHVzZWQgYXMgYSBjb250YWluZXIgZm9yIG9uZSBvciBtdWx0aXBsZSBgc2JiLWNoaXBgLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItY2hpcGAgZWxlbWVudHMuXG4gKiBAb3ZlcnJpZGVUeXBlIHZhbHVlIC0gKFQgPSBzdHJpbmdbXSkgfCBudWxsXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1jaGlwLWdyb3VwJylcbmNsYXNzIFNiYkNoaXBHcm91cEVsZW1lbnQ8VCA9IHN0cmluZz4gZXh0ZW5kcyBTYmJSZXF1aXJlZE1peGluKFxuICBTYmJEaXNhYmxlZE1peGluKFNiYk5lZ2F0aXZlTWl4aW4oU2JiRm9ybUFzc29jaWF0ZWRNaXhpbihTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkpKSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ2xpc3Rib3gnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgaW5wdXQ6ICdpbnB1dCcsXG4gICAgY2hhbmdlOiAnY2hhbmdlJyxcbiAgICBjaGlwaW5wdXR0b2tlbmVuZDogJ2NoaXBpbnB1dHRva2VuZW5kJyxcbiAgfSBhcyBjb25zdDtcblxuICAvKiogVmFsdWUgb2YgdGhlIGZvcm0gZWxlbWVudC4gKi9cbiAgQHByb3BlcnR5KHsgdHlwZTogQXJyYXkgfSlcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogKFQgfCBudWxsKVtdIHwgbnVsbCkge1xuICAgIHZhbHVlID0gdmFsdWUgPz8gW107XG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLnZhbHVlO1xuXG4gICAgLy8gU3VidHJhY3QgZnJvbSAnb2xkVmFsdWUnIHRoZSBuZXcgJ3ZhbHVlJ1xuICAgIC8vIFRoZSByZXN1bHQgYXJlIHRoZSBjaGlwcyB0byByZW1vdmUgKGhhbmRsZSBkdXBsaWNhdGVzKVxuICAgIGNvbnN0IHRvUmVtb3ZlID0gWy4uLm9sZFZhbHVlXTtcbiAgICBmb3IgKGNvbnN0IGMgb2YgdmFsdWUpIHtcbiAgICAgIGlmICh0b1JlbW92ZS5pbmNsdWRlcyhjKSkge1xuICAgICAgICB0b1JlbW92ZS5zcGxpY2UodG9SZW1vdmUuaW5kZXhPZihjKSwgMSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRvUmVtb3ZlLmZvckVhY2goKHZhbHVlKSA9PlxuICAgICAgdGhpcy5fY2hpcEVsZW1lbnRzKClcbiAgICAgICAgLmZpbmQoKGMpID0+IGMudmFsdWUgPT09IHZhbHVlKVxuICAgICAgICA/LnJlbW92ZSgpLFxuICAgICk7XG5cbiAgICAvLyBTdWJ0cmFjdCBmcm9tIHRoZSBuZXcgJ3ZhbHVlJyB3aGF0IHdhcyBhbHJlYWR5IHByZXNlbnRcbiAgICAvLyBUaGUgcmVzdWx0IGFyZSB0aGUgbmV3IGNoaXBzIHRvIGFkZCAoaGFuZGxlIGR1cGxpY2F0ZXMpXG4gICAgY29uc3QgdG9BZGQgPSBbLi4udmFsdWVdO1xuICAgIGZvciAoY29uc3QgYyBvZiBvbGRWYWx1ZSkge1xuICAgICAgaWYgKHRvQWRkLmluY2x1ZGVzKGMpKSB7XG4gICAgICAgIHRvQWRkLnNwbGljZSh0b0FkZC5pbmRleE9mKGMpLCAxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdG9BZGQuZm9yRWFjaCgoYykgPT4gdGhpcy5fY3JlYXRlQ2hpcEVsZW1lbnQoYykpO1xuICB9XG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogKFQgfCBudWxsKVtdIHtcbiAgICByZXR1cm4gdGhpcy5fY2hpcEVsZW1lbnRzKCkubWFwKChjKSA9PiBjLnZhbHVlKTtcbiAgfVxuXG4gIC8qKiBGdW5jdGlvbiB0aGF0IG1hcHMgYSBjaGlwJ3MgdmFsdWUgdG8gaXRzIGRpc3BsYXkgdmFsdWUuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogZmFsc2UgfSlcbiAgcHVibGljIGFjY2Vzc29yIGRpc3BsYXlXaXRoOiAoKHZhbHVlOiBUKSA9PiBzdHJpbmcpIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBhcnJheSBvZiBrZXlzIHRoYXQgd2lsbCB0cmlnZ2VyIGEgYGNoaXBpbnB1dHRva2VuZW5kYCBldmVudC4gRGVmYXVsdCBgWydFbnRlciddYCAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdzZXBhcmF0b3Ita2V5cycsIHR5cGU6IEFycmF5IH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzZXBhcmF0b3JLZXlzOiBzdHJpbmdbXSA9IFsnRW50ZXInXTtcblxuICAvKipcbiAgICogTGlzdGVucyB0byB0aGUgY2hhbmdlcyBvbiBgcmVhZG9ubHlgIGFuZCBgZGlzYWJsZWRgIGF0dHJpYnV0ZXMgb2YgYDxpbnB1dD5gLlxuICAgKi9cbiAgcHJpdmF0ZSBfaW5wdXRBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gdGhpcy5fcmVhY3RUb0lucHV0Q2hhbmdlcygpKVxuICAgIDogbnVsbDtcblxuICAvKipcbiAgICogTGlzdGVucyB0byB0aGUgJ3NpemUnIGNoYW5nZXMgb24gdGhlIGBzYmItZm9ybS1maWVsZGAuXG4gICAqL1xuICBwcml2YXRlIF9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlciA9ICFpc1NlcnZlclxuICAgID8gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4gdGhpcy5faW5oZXJpdFNpemUoKSlcbiAgICA6IG51bGw7XG5cbiAgcHJpdmF0ZSBfaW5wdXRFbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9pbnB1dEFib3J0Q29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyIHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LihTYmJDaGlwRWxlbWVudC5ldmVudHMucmVxdWVzdGRlbGV0ZSwgKGV2KSA9PlxuICAgICAgdGhpcy5fZGVsZXRlQ2hpcChldi50YXJnZXQgYXMgU2JiQ2hpcEVsZW1lbnQ8VD4pLFxuICAgICk7XG5cbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/Ligna2V5ZG93bicsIChldikgPT4gdGhpcy5fb25DaGlwS2V5RG93bihldikpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fc2V0dXBDb21wb25lbnQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlcyk6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKFxuICAgICAgY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdkaXNhYmxlZCcpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2Zvcm1EaXNhYmxlZCcpIHx8XG4gICAgICBjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ25lZ2F0aXZlJylcbiAgICApIHtcbiAgICAgIHRoaXMuX3Byb3h5U3RhdGVUb0NoaXBzKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwdWJsaWMgZm9ybVJlc2V0Q2FsbGJhY2soKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IG51bGw7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHB1YmxpYyBmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2soXG4gICAgc3RhdGU6IEZvcm1SZXN0b3JlU3RhdGUgfCBudWxsLFxuICAgIF9yZWFzb246IEZvcm1SZXN0b3JlUmVhc29uLFxuICApOiB2b2lkIHtcbiAgICBpZiAoIXN0YXRlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9yZWFkRm9ybURhdGEoc3RhdGUgYXMgRm9ybURhdGEpLnRoZW4oKGFycmF5KSA9PiAodGhpcy52YWx1ZSA9IGFycmF5KSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9yZWFkRm9ybURhdGEoZm9ybURhdGE6IEZvcm1EYXRhKTogUHJvbWlzZTxUW10+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICBmb3JtRGF0YVxuICAgICAgICAuZ2V0QWxsKHRoaXMubmFtZSlcbiAgICAgICAgLm1hcChhc3luYyAoZW50cnkpID0+XG4gICAgICAgICAgZW50cnkgaW5zdGFuY2VvZiBCbG9iID8gSlNPTi5wYXJzZShhd2FpdCBlbnRyeS50ZXh0KCkpIDogKGVudHJ5IGFzIFQpLFxuICAgICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkVmFsaWRhdGUobmFtZTogUHJvcGVydHlLZXkgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuc2hvdWxkVmFsaWRhdGUobmFtZSkgfHwgbmFtZSA9PT0gJ3JlcXVpcmVkJyB8fCBuYW1lID09PSAndmFsdWUnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHZhbGlkYXRlKCk6IHZvaWQge1xuICAgIHN1cGVyLnZhbGlkYXRlKCk7XG4gICAgaWYgKHRoaXMucmVxdWlyZWQgJiYgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2V0VmFsaWRpdHlGbGFnKCd2YWx1ZU1pc3NpbmcnLCBpMThuU2VsZWN0aW9uUmVxdWlyZWRbdGhpcy5fbGFuZ3VhZ2UuY3VycmVudF0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbW92ZVZhbGlkaXR5RmxhZygndmFsdWVNaXNzaW5nJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFJldHVybiB0aGUgbGlzdCBvZiBjaGlwIGVsZW1lbnRzICoqL1xuICBwcml2YXRlIF9jaGlwRWxlbWVudHMoKTogU2JiQ2hpcEVsZW1lbnQ8VD5bXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy48U2JiQ2hpcEVsZW1lbnQ8VD4+KCdzYmItY2hpcCcpID8/IFtdKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm4gdGhlIGxpc3Qgb2YgZW5hYmxlZCBjaGlwIGVsZW1lbnRzICoqL1xuICBwcml2YXRlIF9lbmFibGVkQ2hpcEVsZW1lbnRzKCk6IFNiYkNoaXBFbGVtZW50PFQ+W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2hpcDpub3QoW2Rpc2FibGVkXSknKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXR1cENvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcblxuICAgIC8vIENvbm5lY3QgdG8gdGhlIGlucHV0XG4gICAgaWYgKGlucHV0ICYmIGlucHV0ICE9PSB0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyPy5hYm9ydCgpO1xuICAgICAgdGhpcy5faW5wdXRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50ID0gaW5wdXQ7XG5cbiAgICAgIHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXYpID0+IHRoaXMuX29uSW5wdXRLZXlEb3duKGV2KSwge1xuICAgICAgICBzaWduYWw6IHRoaXMuX2lucHV0QWJvcnRDb250cm9sbGVyLnNpZ25hbCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5faW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICdpbnB1dEF1dG9jb21wbGV0ZScsXG4gICAgICAgIChldmVudDogQ3VzdG9tRXZlbnQ8eyBvcHRpb246IFNiYk9wdGlvbkJhc2VFbGVtZW50PFQ+IH0+KSA9PiB7XG4gICAgICAgICAgdGhpcy5fY3JlYXRlQ2hpcEZyb21JbnB1dCgnYXV0b2NvbXBsZXRlJywgZXZlbnQuZGV0YWlsPy5vcHRpb24udmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2lnbmFsOiB0aGlzLl9pbnB1dEFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICB0aGlzLl9pbnB1dEF0dHJpYnV0ZU9ic2VydmVyPy5vYnNlcnZlKHRoaXMuX2lucHV0RWxlbWVudCwge1xuICAgICAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgICAgICBhdHRyaWJ1dGVGaWx0ZXI6IFsncmVhZG9ubHknLCAnZGlzYWJsZWQnXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEluaGVyaXQgc2l6ZSBmcm9tIHRoZSBmb3JtLWZpZWxkIGFuZCBvYnNlcnZlIGZvciBjaGFuZ2VzXG4gICAgdGhpcy5faW5oZXJpdFNpemUoKTtcbiAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKTtcbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLl9mb3JtRmllbGRBdHRyaWJ1dGVPYnNlcnZlcj8ub2JzZXJ2ZShmb3JtRmllbGQsIHtcbiAgICAgICAgYXR0cmlidXRlczogdHJ1ZSxcbiAgICAgICAgYXR0cmlidXRlRmlsdGVyOiBbJ3NpemUnXSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWVtcHR5JywgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApO1xuICAgIHRoaXMuX3JlYWN0VG9JbnB1dENoYW5nZXMoKTtcbiAgICB0aGlzLl91cGRhdGVJbnB1dERlc2NyaXB0aW9uKCk7XG4gICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZm9yIGtleWJvYXJkIGV2ZW50cyBvbiB0aGUgY2hpcCBlbGVtZW50c1xuICAgKiovXG4gIHByaXZhdGUgX29uQ2hpcEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBldmVudFRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBTYmJDaGlwRWxlbWVudDxUPjtcbiAgICBpZiAoZXZlbnRUYXJnZXQubG9jYWxOYW1lICE9PSAnc2JiLWNoaXAnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQXJyb3cga2V5cyBhbGxvdyBuYXZpZ2F0aW9uIGJldHdlZW4gY2hpcHMgZm9jdXMgc3RlcHNcbiAgICBpZiAoaXNBcnJvd0tleVByZXNzZWQoZXZlbnQpKSB7XG4gICAgICBjb25zdCBmb2N1c1N0ZXBzID0gdGhpcy5fZW5hYmxlZENoaXBFbGVtZW50cygpO1xuICAgICAgY29uc3QgbmV4dCA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZlbnQsIGZvY3VzU3RlcHMuaW5kZXhPZihldmVudFRhcmdldCksIGZvY3VzU3RlcHMubGVuZ3RoKTtcbiAgICAgIGZvY3VzU3RlcHNbbmV4dF0uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQmFja3NwYWNlJzpcbiAgICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICAgIGlmICghZXZlbnRUYXJnZXQucmVhZE9ubHkgJiYgIWV2ZW50VGFyZ2V0LmRpc2FibGVkKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLl9kZWxldGVDaGlwKGV2ZW50VGFyZ2V0KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIGZvciBrZXlib2FyZCBldmVudHMgb24gdGhlIGlucHV0XG4gICAqKi9cbiAgcHJpdmF0ZSBfb25JbnB1dEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnQmFja3NwYWNlJzpcbiAgICAgIGNhc2UgJ0Fycm93TGVmdCc6XG4gICAgICAgIGlmICghdGhpcy5faW5wdXRFbGVtZW50IS52YWx1ZSkge1xuICAgICAgICAgIHRoaXMuX2ZvY3VzQ2hpcCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBQcmV2ZW50cyB0aGUgZm9ybSBzdWJtaXRcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gaWYgdGhlIHVzZXIgdHlwZWQgb25lIG9mIHRoZSBzZXBhcmF0b3Iga2V5cywgdHJpZ2dlciBhICdjaGlwaW5wdXR0b2tlbmVuZCcgZXZlbnRcbiAgICBpZiAodGhpcy5zZXBhcmF0b3JLZXlzLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vIHByZXZlbnQgdHlwaW5nIHRoZSBzZXBhcmF0b3Iga2V5IGludG8gdGhlIGlucHV0XG4gICAgICB0aGlzLl9jcmVhdGVDaGlwRnJvbUlucHV0KCdpbnB1dCcpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgaW5wdXQgaXMgbm90IGVtcHR5LCBjcmVhdGUgYSBjaGlwIHdpdGggaXRzIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIF9jcmVhdGVDaGlwRnJvbUlucHV0KG9yaWdpbjogJ2lucHV0JyB8ICdhdXRvY29tcGxldGUnID0gJ2lucHV0JywgdmFsdWU/OiBUKTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IHZhbHVlID8/IHRoaXMuX2lucHV0RWxlbWVudCEudmFsdWUudHJpbSgpO1xuICAgIGlmICghaW5wdXRWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGV2ZW50RGV0YWlsOiBTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlsczxUPiA9IHtcbiAgICAgIG9yaWdpbjogb3JpZ2luLFxuICAgICAgdmFsdWU6IGlucHV0VmFsdWUsXG4gICAgICBsYWJlbDogKHZhbHVlID8gdGhpcy5kaXNwbGF5V2l0aD8uKHZhbHVlKSA6IG51bGwpID8/IHVuZGVmaW5lZCxcbiAgICAgIHNldFZhbHVlOiAodmFsdWU6IFQpID0+IChldmVudERldGFpbC52YWx1ZSA9IHZhbHVlKSxcbiAgICAgIHNldExhYmVsOiAobGFiZWw6IHN0cmluZykgPT4gKGV2ZW50RGV0YWlsLmxhYmVsID0gbGFiZWwpLFxuICAgIH07XG5cbiAgICBpZiAoIXRoaXMuX2Rpc3BhdGNoQ2hpcElucHV0VG9rZW5FbmQoZXZlbnREZXRhaWwpKSB7XG4gICAgICByZXR1cm47IC8vIGV2ZW50IHByZXZlbnRlZDsgZG8gbm90aGluZyAodGhlIGNvbnN1bWVyIGhhcyB0byBjcmVhdGUgdGhlIGNoaXApXG4gICAgfVxuXG4gICAgdGhpcy5fY3JlYXRlQ2hpcEVsZW1lbnQoZXZlbnREZXRhaWwudmFsdWUgYXMgVCwgZXZlbnREZXRhaWwubGFiZWwpO1xuICAgIHRoaXMuX2lucHV0RWxlbWVudCEudmFsdWUgPSAnJzsgLy8gRW1wdHkgdGhlIGlucHV0XG4gICAgdGhpcy5fZW1pdElucHV0RXZlbnRzKCk7XG4gIH1cblxuICBwcml2YXRlIF9kaXNwYXRjaENoaXBJbnB1dFRva2VuRW5kKGV2ZW50RGV0YWlsOiBTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlsczxUPik6IGJvb2xlYW4ge1xuICAgIC8qKlxuICAgICAqIEB0eXBlIHtDdXN0b21FdmVudDxTYmJDaGlwSW5wdXRUb2tlbkVuZEV2ZW50RGV0YWlscz59XG4gICAgICogTm90aWZpZXMgdGhhdCBhIGNoaXAgaXMgYWJvdXQgdG8gYmUgY3JlYXRlZC4gQ2FuIGJlIHByZXZlbnRlZC5cbiAgICAgKi9cbiAgICByZXR1cm4gdGhpcy5kaXNwYXRjaEV2ZW50KFxuICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYkNoaXBJbnB1dFRva2VuRW5kRXZlbnREZXRhaWxzPFQ+PignY2hpcGlucHV0dG9rZW5lbmQnLCB7XG4gICAgICAgIGRldGFpbDogZXZlbnREZXRhaWwsXG4gICAgICAgIGNhbmNlbGFibGU6IHRydWUsXG4gICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2RlbGV0ZUNoaXAoY2hpcDogU2JiQ2hpcEVsZW1lbnQ8VD4pOiB2b2lkIHtcbiAgICBjb25zdCBjaGlwcyA9IHRoaXMuX2VuYWJsZWRDaGlwRWxlbWVudHMoKTtcbiAgICBjaGlwLnJlbW92ZSgpO1xuICAgIHRoaXMuX2VtaXRJbnB1dEV2ZW50cygpO1xuICAgIHRoaXMuX2ZvY3VzQ2hpcChjaGlwcy5pbmRleE9mKGNoaXApKTsgLy8gRm9jdXMgdGhlIG5leHQgY2hpcFxuICB9XG5cbiAgLyoqXG4gICAqIEZvY3VzIGFuIGVuYWJsZWQgY2hpcC4gSWYgbm9uZSBhcmUgcHJlc2VudCwgZm9jdXMgdGhlIGlucHV0XG4gICAqIEBwYXJhbSBpbmRleCBUaGUgaW5kZXggb2YgdGhlIGVuYWJsZWQgY2hpcC4gSWYgbnVsbCwgZm9jdXMgdGhlIGxhc3Qgb25lLlxuICAgKi9cbiAgcHJpdmF0ZSBfZm9jdXNDaGlwKGluZGV4PzogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgZW5hYmxlZENoaXBzID0gdGhpcy5fZW5hYmxlZENoaXBFbGVtZW50cygpO1xuXG4gICAgaWYgKGluZGV4ICE9PSB1bmRlZmluZWQgJiYgZW5hYmxlZENoaXBzW2luZGV4XSkge1xuICAgICAgZW5hYmxlZENoaXBzW2luZGV4XS5mb2N1cygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChlbmFibGVkQ2hpcHMubGVuZ3RoID4gMCkge1xuICAgICAgZW5hYmxlZENoaXBzW2VuYWJsZWRDaGlwcy5sZW5ndGggLSAxXS5mb2N1cygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2lucHV0RWxlbWVudD8uZm9jdXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2VtaXRJbnB1dEV2ZW50cygpOiB2b2lkIHtcbiAgICAvKiogVGhlIGlucHV0IGV2ZW50IGZpcmVzIHdoZW4gdGhlIHZhbHVlIGhhcyBiZWVuIGNoYW5nZWQgYXMgYSBkaXJlY3QgcmVzdWx0IG9mIGEgdXNlciBhY3Rpb24uICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNoYW5nZSBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSB1c2VyIG1vZGlmaWVzIHRoZSBlbGVtZW50J3MgdmFsdWUuXG4gICAgICogVW5saWtlIHRoZSBpbnB1dCBldmVudCwgdGhlIGNoYW5nZSBldmVudCBpcyBub3QgbmVjZXNzYXJpbHkgZmlyZWRcbiAgICAgKiBmb3IgZWFjaCBhbHRlcmF0aW9uIHRvIGFuIGVsZW1lbnQncyB2YWx1ZS5cbiAgICAgKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlQ2hpcEVsZW1lbnQodmFsdWU6IFQgfCBudWxsLCBsYWJlbD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBuZXdDaGlwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2JiLWNoaXAnKSBhcyBTYmJDaGlwRWxlbWVudDxUPjtcbiAgICBuZXdDaGlwLnZhbHVlID0gdmFsdWU7XG4gICAgbmV3Q2hpcC5pbm5lclRleHQgPSBsYWJlbCA/PyAodmFsdWUgPyB0aGlzLmRpc3BsYXlXaXRoPy4odmFsdWUpIDogbnVsbCkgPz8gJyc7XG4gICAgaWYgKFxuICAgICAgaW1wb3J0Lm1ldGEuZW52LkRFViAmJlxuICAgICAgIWRpc3BsYXlXaXRoV2FybmluZ0xvZ2dlZCAmJlxuICAgICAgIWxhYmVsICYmXG4gICAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgICAhdGhpcy5kaXNwbGF5V2l0aFxuICAgICkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBgZGlzcGxheVdpdGggaGFzIG5vdCBiZWVuIHNldCB5ZXQgZm9yIHNiYi1jaGlwLWdyb3VwIGFuZCB2YWx1ZSBpcyBhbiBvYmplY3QuXG4gICAgICAgICBJZiB5b3UgYXJlIHVzaW5nIG9iamVjdCB2YWx1ZXMsIHlvdSBuZWVkIHRvIHByb3ZpZGUgZGlzcGxheVdpZHRoIGJlZm9yZVxuICAgICAgICAgc2V0dGluZyBvciBzZWxlY3RpbmcgYW55IHZhbHVlLmAsXG4gICAgICApO1xuICAgICAgZGlzcGxheVdpdGhXYXJuaW5nTG9nZ2VkID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5pbnNlcnRCZWZvcmUobmV3Q2hpcCwgdGhpcy5faW5wdXRFbGVtZW50ID8/IHRoaXMucXVlcnlTZWxlY3RvcignaW5wdXQnKSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWFjdFRvSW5wdXRDaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLl9pbnB1dEVsZW1lbnQ/LmRpc2FibGVkID8/IGZhbHNlO1xuICAgIHRoaXMuX3Byb3h5U3RhdGVUb0NoaXBzKCk7XG4gIH1cblxuICBwcml2YXRlIF9wcm94eVN0YXRlVG9DaGlwcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jaGlwRWxlbWVudHMoKS5mb3JFYWNoKChjKSA9PiB7XG4gICAgICBjLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmZvcm1EaXNhYmxlZDtcbiAgICAgIGMucmVhZE9ubHkgPSB0aGlzLl9pbnB1dEVsZW1lbnQ/Lmhhc0F0dHJpYnV0ZSgncmVhZG9ubHknKSA/PyBmYWxzZTtcbiAgICAgIGMubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5oZXJpdFNpemUoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2l6ZScsIHRoaXMuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKT8uc2l6ZSA/PyAoaXNMZWFuKCkgPyAncycgOiAnbScpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZUlucHV0RGVzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5faW5wdXRFbGVtZW50LnNldEF0dHJpYnV0ZShcbiAgICAgICdhcmlhLWRlc2NyaXB0aW9uJyxcbiAgICAgIGAke2kxOG5DaGlwR3JvdXBJbnB1dERlc2NyaXB0aW9uW3RoaXMuX2xhbmd1YWdlLmN1cnJlbnRdfSAke3RoaXMudmFsdWUubGVuZ3RofWAsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1jaGlwLWdyb3VwXCI+XG4gICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5fc2V0dXBDb21wb25lbnR9Pjwvc2xvdD5cbiAgICAgIDwvZGl2PlxuICAgIGA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jaGlwLWdyb3VwJzogU2JiQ2hpcEdyb3VwRWxlbWVudDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudEV2ZW50TWFwIHtcbiAgICBjaGlwaW5wdXR0b2tlbmVuZDogQ3VzdG9tRXZlbnQ8U2JiQ2hpcElucHV0VG9rZW5FbmRFdmVudERldGFpbHM8YW55Pj47XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJ2YWx1ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTRCQSxJQUFJLDJCQUEyQjtJQTBCekIsdUJBQW1CLE1BQUE7OzBCQUR4QixjQUFjLGdCQUFnQixDQUFDOzs7O0FBQ2MsTUFBQSxjQUFBLGlCQUM1QyxpQkFBaUIsaUJBQWlCLHVCQUF1Qix5QkFBeUIsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDOzs7Ozs7Ozs7QUFENUQsRUFBQSxtQkFBUSxZQUU3QztBQUFBLElBcUVDLGNBQUE7QUFDRSxZQUFBO0FBekJGO0FBSUE7QUFKZ0IseUJBQUEsZ0NBL0NaLGtCQUFBLE1BQUEsMEJBQUEsR0FBbUIsa0JBQUEsTUFBQSwyQkErQ3NDLElBQUk7QUFJakQseUJBQUEsa0NBQUEsa0JBQUEsTUFBQSw4QkFBQSxHQUFBLGtCQUFBLE1BQUEsNkJBQTBCLENBQUMsT0FBTyxDQUFDO0FBSzNDLFdBQUEsMkJBQXVCLGtCQUFBLE1BQUEsZ0NBQUEsR0FBRyxDQUFDLFdBQy9CLElBQUksaUJBQWlCLE1BQU0sS0FBSyxxQkFBQSxDQUFzQixJQUN0RDtBQUtJLFdBQUEsOEJBQThCLENBQUMsV0FDbkMsSUFBSSxpQkFBaUIsTUFBTSxLQUFLLGFBQUEsQ0FBYyxJQUM5QztBQUlJLFdBQUEsWUFBWSxJQUFJLHNCQUFzQixJQUFJO0FBS2hELFdBQUssbUJBQW1CLGVBQWUsT0FBTyxlQUFlLENBQUMsT0FDNUQsS0FBSyxZQUFZLEdBQUcsTUFBMkIsQ0FBQztBQUdsRCxXQUFLLG1CQUFtQixXQUFXLENBQUMsT0FBTyxLQUFLLGVBQWUsRUFBRSxDQUFD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
@@ -151,4 +151,4 @@ let SbbChipLabelElement = (() => {
151
151
  export {
152
152
  SbbChipLabelElement
153
153
  };
154
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGlwLWxhYmVsL2NoaXAtbGFiZWwuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NoaXAtbGFiZWwuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBicmllZiBhbmQgY29tcGFjdCBpbmZvcm1hdGlvbi5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLWNoaXAtbGFiZWxgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItY2hpcC1sYWJlbCcpXG5jbGFzcyBTYmJDaGlwTGFiZWxFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBTaXplIG9mIHRoZSBjaGlwLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAneHhzJyB8ICd4cycgfCAncycgPSAneHhzJztcblxuICAvKiogQ29sb3Igb2YgdGhlIGNoaXAuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNvbG9yOiAnbWlsaycgfCAnY2hhcmNvYWwnIHwgJ3doaXRlJyB8ICdncmFuaXRlJyA9ICdtaWxrJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWNoaXAtbGFiZWxcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hpcF9fdGV4dC13cmFwcGVyXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNoaXAtbGFiZWwnOiBTYmJDaGlwTGFiZWxFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWFNLHVCQUFtQixNQUFBOzswQkFEeEIsY0FBYyxnQkFBZ0IsQ0FBQzs7OztvQkFDRTs7Ozs7OztBQUFSLEVBQUEsbUJBQVEsWUFBVTtBQUFBOztBQUsxQyxpREFBQSxrQkFBQSxNQUFBLG9CQUEyQyxLQUFLO0FBSWhELG1EQUFBLGtCQUFBLE1BQUEsdUJBQUEsR0FBQSxrQkFBQSxNQUFBLHFCQUFtRSxNQUFNOzs7O0lBSnpFLElBQWdCLE9BQUk7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXBCLElBQWdCLEtBQUksT0FBQTtBQUFBLHlCQUFBLHdCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFJcEIsSUFBZ0IsUUFBSztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBckIsSUFBZ0IsTUFBSyxPQUFBO0FBQUEseUJBQUEseUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFFRixTQUFNO0FBQ3ZCLGFBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUFBO0FBQUEsS0FQVCx3Q0FJQTs7QUFMQyx1QkFBQSxDQUFBLFNBQVMsRUFBRSxTQUFTLEtBQUEsQ0FBTSxDQUFDO0FBSTNCLHdCQUFBLENBQUEsU0FBUyxFQUFFLFNBQVMsS0FBQSxDQUFNLENBQUM7QUFINUIsaUJBQUEsSUFBQSxNQUFBLGtCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsUUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxVQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsTUFBSSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBSixPQUFJO0FBQUEsSUFBQSxLQUFBLFVBQUEsYUFBQSxvQkFBQSx1QkFBQTtBQUlwQixpQkFBQSxJQUFBLE1BQUEsbUJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxTQUFBLFFBQUEsT0FBQSxTQUFBLE9BQUEsUUFBQSxFQUFBLEtBQUEsQ0FBQSxRQUFBLFdBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFnQixPQUFLLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxVQUFMLFFBQUs7QUFBQSxJQUFBLEtBQUEsVUFBQSxhQUFBLHFCQUFBLHdCQUFBO0FBVHZCLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFDeUIsR0FBQSxTQUF5QixPQUQ1QyxrQkFBQSxZQUFBLHVCQUFBLEdBQW9COzs7In0=
154
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jaGlwLWxhYmVsL2NoaXAtbGFiZWwuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2NoaXAtbGFiZWwuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBicmllZiBhbmQgY29tcGFjdCBpbmZvcm1hdGlvbi5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLWNoaXAtbGFiZWxgLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItY2hpcC1sYWJlbCcpXG5jbGFzcyBTYmJDaGlwTGFiZWxFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKiBTaXplIG9mIHRoZSBjaGlwLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAneHhzJyB8ICd4cycgfCAncycgPSAneHhzJztcblxuICAvKiogQ29sb3Igb2YgdGhlIGNoaXAuICovXG4gIEBwcm9wZXJ0eSh7IHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGNvbG9yOiAnbWlsaycgfCAnY2hhcmNvYWwnIHwgJ3doaXRlJyB8ICdncmFuaXRlJyA9ICdtaWxrJztcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWNoaXAtbGFiZWxcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2hpcF9fdGV4dC13cmFwcGVyXCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNoaXAtbGFiZWwnOiBTYmJDaGlwTGFiZWxFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWFNLHVCQUFtQixNQUFBOzswQkFEeEIsY0FBYyxnQkFBZ0IsQ0FBQzs7OztvQkFDRTs7Ozs7OztBQUFSLEVBQUEsbUJBQVEsWUFBVTtBQUFBOztBQUsxQyxpREFBQSxrQkFBQSxNQUFBLG9CQUEyQyxLQUFLO0FBSWhELG1EQUFBLGtCQUFBLE1BQUEsdUJBQUEsR0FBQSxrQkFBQSxNQUFBLHFCQUFtRSxNQUFNOzs7O0lBSnpFLElBQWdCLE9BQUk7QUFBQSxhQUFBLG1CQUFBO0FBQUEsSUFBQTtBQUFBLElBQXBCLElBQWdCLEtBQUksT0FBQTtBQUFBLHlCQUFBLHdCQUFBO0FBQUEsSUFBQTtBQUFBO0FBQUEsSUFJcEIsSUFBZ0IsUUFBSztBQUFBLGFBQUEsbUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFBckIsSUFBZ0IsTUFBSyxPQUFBO0FBQUEseUJBQUEseUJBQUE7QUFBQSxJQUFBO0FBQUEsSUFFRixTQUFNO0FBQ3ZCLGFBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQU9UO0FBQUEsS0FkQSx3Q0FJQTs7QUFMQyx1QkFBQSxDQUFBLFNBQVMsRUFBRSxTQUFTLEtBQUEsQ0FBTSxDQUFDO0FBSTNCLHdCQUFBLENBQUEsU0FBUyxFQUFFLFNBQVMsS0FBQSxDQUFNLENBQUM7QUFINUIsaUJBQUEsSUFBQSxNQUFBLGtCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsUUFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxVQUFBLEtBQUEsS0FBQSxDQUFBLFFBQUEsSUFBZ0IsTUFBSSxLQUFBLENBQUEsS0FBQSxVQUFBO0FBQUEsVUFBSixPQUFJO0FBQUEsSUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLG9CQUFBLHVCQUFBO0FBSXBCLGlCQUFBLElBQUEsTUFBQSxtQkFBQSxFQUFBLE1BQUEsWUFBQSxNQUFBLFNBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsV0FBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLE9BQUssS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFVBQUwsUUFBSztBQUFBLElBQUEsS0FBQSxVQUFBLFVBQUEsR0FBQSxxQkFBQSx3QkFBQTtBQVR2QixpQkFBQSxNQUFBLG1CQUFBLEVBQUEsT0FBQSxXQUFBLEdBQUEsa0JBQUEsRUFBQSxNQUFBLFNBQUEsTUFBQSxXQUFBLE1BQUEsVUFBQSxVQUFBLEdBQUEsTUFBQSx1QkFBQTs7O1FBQ3lCLEdBQUEsU0FBeUIsT0FENUMsa0JBQUEsWUFBQSx1QkFBQSxHQUFvQjs7OyJ9
@@ -377,4 +377,4 @@ let SbbClockElement = (() => {
377
377
  export {
378
378
  SbbClockElement
379
379
  };
380
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvY2suY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY2xvY2svYXNzZXRzL3NiYl9jbG9ja19mYWNlLnN2Zz9yYXciLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY2xvY2svYXNzZXRzL3NiYl9jbG9ja19ob3Vycy5zdmc/cmF3IiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nsb2NrL2Fzc2V0cy9zYmJfY2xvY2tfbWludXRlcy5zdmc/cmF3IiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nsb2NrL2Fzc2V0cy9zYmJfY2xvY2tfc2Vjb25kcy5zdmc/cmF3IiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nsb2NrL2Nsb2NrLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcIjxzdmcgZm9jdXNhYmxlPVxcXCJmYWxzZVxcXCIgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB2aWV3Qm94PVxcXCIwIDAgMTA1IDEwNVxcXCI+PGcgY2xhc3M9XFxcImZhY2VcXFwiPjxjaXJjbGUgZmlsbD1cXFwiI0ZGRlxcXCIgY3g9XFxcIjUyLjVcXFwiIGN5PVxcXCI1Mi41XFxcIiByPVxcXCI1Mi41XFxcIi8+PHBhdGggZD1cXFwiTTUwLjc1IDRoMy41djEyaC0zLjV6TTUwLjc1IDg5aDMuNXYxMmgtMy41ek03NS4yMzMgOS42MjNsMy4wMyAxLjc1LTYgMTAuMzkyLTMuMDMtMS43NXpNMzIuNzM0IDgzLjIzM2wzLjAzIDEuNzUtNiAxMC4zOTItMy4wMy0xLjc1ek05My42MjggMjYuNzMybDEuNzUgMy4wMzEtMTAuMzkyIDYtMS43NS0zLjAzek0yMC4wMTcgNjkuMjM0bDEuNzUgMy4wMzEtMTAuMzkyIDYtMS43NS0zLjAzek0xMDEgNTAuNzV2My41SDg5di0zLjV6TTE2IDUwLjc1djMuNUg0di0zLjV6TTk1LjM3OSA3NS4yMzJsLTEuNzUgMy4wMzEtMTAuMzkyLTYgMS43NS0zLjAzek0yMS43NjYgMzIuNzM0bC0xLjc1IDMuMDMxLTEwLjM5Mi02IDEuNzUtMy4wM3pNNzguMjY3IDkzLjYzbC0zLjAzIDEuNzUtNi0xMC4zOTMgMy4wMy0xLjc1ek0zNS43NjYgMjAuMDE1bC0zLjAzIDEuNzUtNi0xMC4zOTIgMy4wMy0xLjc1elxcXCIvPjxnPjxwYXRoIGQ9XFxcIk01Ni44NzMgNC4xOWwxLjM5Mi4xNDctLjM2NiAzLjQ4LTEuMzkyLS4xNDV6TTQ3LjEwMSA5Ny4xNzdsMS4zOTMuMTQ2LS4zNjYgMy40ODEtMS4zOTItLjE0NnpNNjEuODk2IDQuOTE0bDEuMzcuMjktLjcyOCAzLjQyNC0xLjM3LS4yOXpNNDIuNDU4IDk2LjM2NmwxLjM3LjI5LS43MjggMy40MjQtMS4zNy0uMjkxek02Ni44MjUgNi4xNTdsMS4zMzIuNDMyLTEuMDgyIDMuMzMtMS4zMzEtLjQzNHpNMzcuOTMxIDk1LjA4NWwxLjMzMi40MzItMS4wODIgMy4zMy0xLjMzMS0uNDMzek03MS41ODQgNy45MDZsMS4yOC41NjktMS40MjQgMy4xOTctMS4yOC0uNTd6TTMzLjU2IDkzLjMybDEuMjc4LjU2OS0xLjQyMyAzLjE5Ny0xLjI4LS41N3pNODAuNDQgMTIuODUybDEuMTMzLjgyMy0yLjA1OCAyLjgzMS0xLjEzMi0uODIzek0yNS40ODEgODguNDk0bDEuMTMzLjgyMi0yLjA1NyAyLjgzMi0xLjEzMy0uODIzek04NC40MyAxNS45ODZsMS4wNC45MzctMi4zNDIgMi42LTEuMDQtLjkzNnpNMjEuODcgODUuNDY5bDEuMDQuOTM2LTIuMzQxIDIuNjAxLTEuMDQtLjkzN3pNODguMDcyIDE5LjUyMmwuOTM3IDEuMDQtMi42IDIuMzQzLS45MzctMS4wNHpNMTguNTkzIDgyLjA4OGwuOTM3IDEuMDQtMi42MDEgMi4zNDItLjkzNy0xLjA0ek05MS4zMjggMjMuNDI1bC44MjMgMS4xMzMtMi44MzIgMi4wNTctLjgyMy0xLjEzMnpNMTUuNjg0IDc4LjM4NWwuODIzIDEuMTMyLTIuODMyIDIuMDU4LS44MjItMS4xMzN6TTk2LjUyIDMyLjEyOGwuNTcgMS4yNzktMy4xOTggMS40MjMtLjU3LTEuMjc4ek0xMS4xMDkgNzAuMTYxbC41NjkgMS4yNzktMy4xOTcgMS40MjMtLjU3LTEuMjc5ek05OC40MDcgMzYuODVsLjQzMyAxLjMzMi0zLjMzIDEuMDgxLS40MzItMS4zMzF6TTkuNDgzIDY1Ljc0bC40MzIgMS4zMy0zLjMyOSAxLjA4Mi0uNDMyLTEuMzMxek05OS43OTUgNDEuNzI2bC4yOTEgMS4zNy0zLjQyMy43MjctLjI5LTEuMzd6TTguMzQgNjEuMTdsLjI5MiAxLjM3LTMuNDI0LjcyOC0uMjktMS4zN3pNMTAwLjY2IDQ2LjczbC4xNDYgMS4zOTMtMy40OC4zNjYtLjE0Ny0xLjM5MnpNNy42NzQgNTYuNTA2bC4xNDYgMS4zOTItMy40OC4zNjYtLjE0Ny0xLjM5MnpNMTAwLjgxMSA1Ni44NzNsLS4xNDYgMS4zOTItMy40OC0uMzY1LjE0NS0xLjM5M3pNNy44MjEgNDcuMTAxbC0uMTQ2IDEuMzkyLTMuNDgtLjM2NS4xNDUtMS4zOTN6TTEwMC4wOSA2MS44OTVsLS4yOTEgMS4zNjktMy40MjQtLjcyOC4yOTEtMS4zNjl6TTguNjMxIDQyLjQ2bC0uMjkxIDEuMzctMy40MjMtLjcyOC4yOS0xLjM3ek05OC44NCA2Ni44MjdsLS40MzIgMS4zMzEtMy4zMjktMS4wODEuNDMzLTEuMzMyek05LjkxOCAzNy45M2wtLjQzMyAxLjMzMS0zLjMyOS0xLjA4Mi40MzMtMS4zMzF6TTk3LjA5OCA3MS41ODVsLS41NjkgMS4yOC0zLjE5Ny0xLjQyNC41Ny0xLjI4ek0xMS42NzcgMzMuNTU4bC0uNTcgMS4yOC0zLjE5Ny0xLjQyNC41Ny0xLjI3OXpNOTIuMTQ5IDgwLjQzOWwtLjgyMyAxLjEzMy0yLjgzMi0yLjA1OC44MjMtMS4xMzJ6TTE2LjUwNiAyNS40ODJsLS44MjMgMS4xMzMtMi44MzEtMi4wNTcuODIzLTEuMTMzek04OS4wMTcgODQuNDMxbC0uOTM3IDEuMDQtMi42LTIuMzQxLjkzNi0xLjA0ek0xOS41MjggMjEuODY5bC0uOTM2IDEuMDQtMi42MDEtMi4zNDIuOTM2LTEuMDR6TTg1LjQ4IDg4LjA3NmwtMS4wNDEuOTM2LTIuMzQyLTIuNiAxLjA0LS45Mzd6TTIyLjkxIDE4LjU5bC0xLjA0LjkzNy0yLjM0MS0yLjYwMSAxLjA0LS45Mzd6TTgxLjU3NCA5MS4zMjhsLTEuMTMzLjgyMy0yLjA1Ny0yLjgzMSAxLjEzMi0uODIzek0yNi42MTcgMTUuNjg0bC0xLjEzMy44MjMtMi4wNTctMi44MzIgMS4xMzItLjgyM3pNNzIuODczIDk2LjUyNGwtMS4yNzkuNTctMS40MjMtMy4xOTggMS4yNzgtLjU3ek0zNC44MzggMTEuMTA1bC0xLjI3OS41Ny0xLjQyMy0zLjE5OCAxLjI3OS0uNTd6TTY4LjE1MSA5OC40MDVsLTEuMzMxLjQzMi0xLjA4Mi0zLjMyOSAxLjMzMi0uNDMyek0zOS4yNTkgOS40ODVsLTEuMzMyLjQzMy0xLjA4MS0zLjMzIDEuMzMxLS40MzJ6TTYzLjI3MiA5OS43OTlsLTEuMzY5LjI5LS43MjgtMy40MjIgMS4zNy0uMjkxek00My44MyA4LjMzN2wtMS4zNjkuMjkxLS43MjctMy40MjMgMS4zNy0uMjkxek01OC4yNyAxMDAuNjYybC0xLjM5My4xNDYtLjM2Ni0zLjQ4IDEuMzkzLS4xNDd6TTQ4LjQ5NCA3LjY3MmwtMS4zOTIuMTQ3LS4zNjYtMy40ODEgMS4zOTItLjE0N3pcXFwiLz48L2c+PC9nPjwvc3ZnPlxcblwiIiwiZXhwb3J0IGRlZmF1bHQgXCI8c3ZnIGZvY3VzYWJsZT1cXFwiZmFsc2VcXFwiIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDEwNSAxMDVcXFwiPjxwYXRoIGlkPVxcXCJtb2RfY2xvY2tfc3ZnX2hvdXJzXFxcIiBkPVxcXCJNNTUuNyA2NC41aC02LjRsLjYtNDRoNS4yelxcXCIvPjwvc3ZnPlxcblwiIiwiZXhwb3J0IGRlZmF1bHQgXCI8c3ZnIGZvY3VzYWJsZT1cXFwiZmFsc2VcXFwiIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDEwNSAxMDVcXFwiPjxwYXRoIGQ9XFxcIk01NS4xLDY0LjVoLTUuMmwwLjgtNThoMy42TDU1LjEsNjQuNXpcXFwiLz48L3N2Zz5cXG5cIiIsImV4cG9ydCBkZWZhdWx0IFwiPHN2ZyBmb2N1c2FibGU9XFxcImZhbHNlXFxcIiB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHZpZXdCb3g9XFxcIjAgMCAxMDUgMTA1XFxcIj48cGF0aCBkPVxcXCJNNTcuOCwyMS4zYzAtMi45LTIuNC01LjItNS4yLTUuMnMtNS4zLDIuMy01LjMsNS4yYzAsMi43LDIsNC44LDQuNSw1LjJWNjloMS41VjI2LjVDNTUuOCwyNi4yLDU3LjgsMjQsNTcuOCwyMS4zelxcXCIvPjwvc3ZnPlxcblwiIiwiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIGlzU2VydmVyLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJUaW1lIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcblxuaW1wb3J0IGNsb2NrRmFjZVNWRyBmcm9tICcuL2Fzc2V0cy9zYmJfY2xvY2tfZmFjZS5zdmc/cmF3JztcbmltcG9ydCBjbG9ja0hhbmRsZUhvdXJzU1ZHIGZyb20gJy4vYXNzZXRzL3NiYl9jbG9ja19ob3Vycy5zdmc/cmF3JztcbmltcG9ydCBjbG9ja0hhbmRsZU1pbnV0ZXNTVkcgZnJvbSAnLi9hc3NldHMvc2JiX2Nsb2NrX21pbnV0ZXMuc3ZnP3Jhdyc7XG5pbXBvcnQgY2xvY2tIYW5kbGVTZWNvbmRzU1ZHIGZyb20gJy4vYXNzZXRzL3NiYl9jbG9ja19zZWNvbmRzLnN2Zz9yYXcnO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vY2xvY2suc2Nzcz9saXQmaW5saW5lJztcblxuLyoqIE51bWJlciBvZiBob3VycyBvbiB0aGUgY2xvY2sgZmFjZS4gKi9cbmNvbnN0IFRPVEFMX0hPVVJTX09OX0NMT0NLX0ZBQ0UgPSAxMjtcblxuLyoqIE51bWJlciBvZiBtaW51dGVzIG9uIHRoZSBjbG9jayBmYWNlLiAqL1xuY29uc3QgVE9UQUxfTUlOVVRFU19PTl9DTE9DS19GQUNFID0gNjA7XG5cbi8qKiBOdW1iZXIgb2Ygc2Vjb25kcyBvbiB0aGUgY2xvY2sgZmFjZS4gKi9cbmNvbnN0IFRPVEFMX1NFQ09ORFNfT05fQ0xPQ0tfRkFDRSA9IDYwO1xuXG4vKiogVGltZW91dCBmb3IgdGhlIGNsb2NrIHN0YXJ0LiAqL1xuY29uc3QgSU5JVElBTF9USU1FT1VUX0RVUkFUSU9OID0gNTA7XG5cbi8qKiBBbmdsZSBpbiBhIHNpbmdsZSByb3RhdGlvbi4gKi9cbmNvbnN0IEZVTExfQU5HTEUgPSAzNjA7XG5cbi8qKiBBbmdsZSBiZXR3ZWVuIHR3byBjb25zZWN1dGl2ZSBob3VyczogMzYwLzEyLCBtZWFucyBhIGZ1bGwgcm90YXRpb24gLyBudW1iZXIgb2YgaG91cnMgaW4gYSByb3RhdGlvbi4gKi9cbmNvbnN0IEhPVVJTX0FOR0xFID0gMzA7XG5cbi8qKiBBbmdsZSBiZXR3ZWVuIHR3byBjb25zZWN1dGl2ZSBtaW51dGVzOiAzNjAvNjAsIG1lYW5zIGEgZnVsbCByb3RhdGlvbiAvIG51bWJlciBvZiBtaW51dGVzIGluIG9uZSBob3VyLiAqL1xuY29uc3QgTUlOVVRFU19BTkdMRSA9IDY7XG5cbi8qKiBBbmdsZSBiZXR3ZWVuIHR3byBjb25zZWN1dGl2ZSBzZWNvbmRzIGZvciBTQkIgY2xvY2sgY3VzdG9tIGJlaGF2aW9yLiAqL1xuY29uc3QgU0JCX1NFQ09ORFNfQU5HTEUgPSAzNjAgLyA1OC41O1xuXG4vKiogTnVtYmVyIG9mIHNlY29uZHMgaW4gYSBtaW51dGUuICovXG5jb25zdCBTRUNPTkRTX0lOX0FfTUlOVVRFID0gNjA7XG5cbi8qKiBOdW1iZXIgb2Ygc2Vjb25kcyBpbiBhbiBob3VyLiAqL1xuY29uc3QgU0VDT05EU19JTl9BTl9IT1VSID0gMzYwMDtcblxuLyoqIEFzIGEgZmFsbGJhY2sgbWVhc3VyZSwgcmVzZXQgdGhlIGNsb2NrIGV2ZXJ5IGhhbGYgYW4gaG91ciAqL1xuY29uc3QgUkVTRVRfSU5URVJWQUwgPSBTRUNPTkRTX0lOX0FOX0hPVVIgLyAyO1xuXG5jb25zdCBBRERfRVZFTlRfTElTVEVORVJfT1BUSU9OUzogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7XG4gIG9uY2U6IHRydWUsXG4gIHBhc3NpdmU6IHRydWUsXG59O1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGFuYWxvZyBjbG9jayB3aXRoIHRoZSBjbGFzc2ljIFNCQiBmYWNlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItY2xvY2snKVxuY2xhc3MgU2JiQ2xvY2tFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgYSBzcGVjaWZpYyB0aW1lIHdoaWNoIHRoZSBjbG9jayBzaG91bGQgc2hvdyBzdGF0aWNhbGx5LlxuICAgKiBAcGFyYW0gdmFsdWUgSEg6TU06c3NcbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhY2Nlc3NvciBub3c6IFNiYlRpbWUgfCBudWxsID0gbnVsbDtcblxuICAvKiogV2hldGhlciB0aGUgY2xvY2sgaXMgdGlja2luZyBvciBub3QgKi9cbiAgcHJpdmF0ZSBfc3RhdGU6ICdydW5uaW5nJyB8ICdwYXVzZWQnID0gJ3BhdXNlZCc7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgaG91ciBoYW5kLiAqL1xuICBwcml2YXRlIF9jbG9ja0hhbmRIb3VycyE6IEhUTUxFbGVtZW50O1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIG1pbnV0ZSBoYW5kLiAqL1xuICBwcml2YXRlIF9jbG9ja0hhbmRNaW51dGVzITogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgc2Vjb25kIGhhbmQuICovXG4gIHByaXZhdGUgX2Nsb2NrSGFuZFNlY29uZHMhOiBIVE1MRWxlbWVudDtcblxuICAvKiogSG91cnMgdmFsdWUgZm9yIHRoZSBjdXJyZW50IGRhdGUuICovXG4gIHByaXZhdGUgX2hvdXJzITogbnVtYmVyO1xuXG4gIC8qKiBNaW51dGVzIHZhbHVlIGZvciB0aGUgY3VycmVudCBkYXRlLiAqL1xuICBwcml2YXRlIF9taW51dGVzITogbnVtYmVyO1xuXG4gIC8qKiBTZWNvbmRzIHZhbHVlIGZvciB0aGUgY3VycmVudCBkYXRlLiAqL1xuICBwcml2YXRlIF9zZWNvbmRzITogbnVtYmVyO1xuXG4gIC8qKiBNb3ZlIHRoZSBtaW51dGVzIGhhbmQgZXZlcnkgbWludXRlLiAqL1xuICBwcml2YXRlIF9oYW5kTW92ZW1lbnQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG5cbiAgcHJpdmF0ZSBfcmVzZXRJbnRlcnZhbElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xuXG4gIC8qKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgaG91cnMgaGFuZC4gKi9cbiAgcHJpdmF0ZSBfbW92ZUhvdXJzSGFuZEZuID0gKCk6IHZvaWQgPT4gdGhpcy5fbW92ZUhvdXJzSGFuZCgpO1xuXG4gIC8qKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgbWludXRlcyBoYW5kLiAqL1xuICBwcml2YXRlIF9tb3ZlTWludXRlc0hhbmRGbiA9ICgpOiB2b2lkID0+IHRoaXMuX21vdmVNaW51dGVzSGFuZCgpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgdGhpcy5fcmVzZXRJbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4gdGhpcy5fcmVzZXRDbG9jaygpLCBSRVNFVF9JTlRFUlZBTCAqIDEwMDApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoIWlzU2VydmVyICYmIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbm93JykpIHtcbiAgICAgIHRoaXMuX3N0YXJ0T3JDb25maWd1cmVDbG9jaygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCB0aGlzLl9oYW5kbGVQYWdlVmlzaWJpbGl0eUNoYW5nZSwgZmFsc2UpO1xuICAgICAgdGhpcy5fc3RhcnRPckNvbmZpZ3VyZUNsb2NrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fcmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICBjbGVhckludGVydmFsKHRoaXMuX3Jlc2V0SW50ZXJ2YWxJZCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVQYWdlVmlzaWJpbGl0eUNoYW5nZSA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBpZiAodGhpcy5ub3cpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlID09PSAnaGlkZGVuJykge1xuICAgICAgYXdhaXQgdGhpcy5fc3RvcENsb2NrKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHRoaXMuX3N0YXJ0Q2xvY2soKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBhc3luYyBfc3RhcnRPckNvbmZpZ3VyZUNsb2NrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLm5vdykge1xuICAgICAgYXdhaXQgdGhpcy5fc3RvcENsb2NrKCk7XG4gICAgICB0aGlzLl9yZXNldFNlY29uZHNIYW5kQW5pbWF0aW9uKCk7XG4gICAgICB0aGlzLl9zZXRIYW5kc1N0YXJ0aW5nUG9zaXRpb24oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy5fc3RhcnRDbG9jaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBTdGFydHMgdGhlIGNsb2NrIGJ5IGRlZmluaW5nIHRoZSBoYW5kcyBzdGFydGluZyBwb3NpdGlvbiB0aGVuIHN0YXJ0aW5nIHRoZSBhbmltYXRpb25zLiAqL1xuICBwcml2YXRlIGFzeW5jIF9zdGFydENsb2NrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX2Nsb2NrSGFuZEhvdXJzPy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2FuaW1hdGlvbmVuZCcsXG4gICAgICB0aGlzLl9tb3ZlSG91cnNIYW5kRm4sXG4gICAgICBBRERfRVZFTlRfTElTVEVORVJfT1BUSU9OUyxcbiAgICApO1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHM/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnYW5pbWF0aW9uZW5kJyxcbiAgICAgIHRoaXMuX21vdmVNaW51dGVzSGFuZEZuLFxuICAgICAgQUREX0VWRU5UX0xJU1RFTkVSX09QVElPTlMsXG4gICAgKTtcblxuICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3NldEhhbmRzU3RhcnRpbmdQb3NpdGlvbigpO1xuXG4gICAgICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1jbG9jay1hbmltYXRpb24tcGxheS1zdGF0ZScsICdydW5uaW5nJyk7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gJ3J1bm5pbmcnO1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9LCBJTklUSUFMX1RJTUVPVVRfRFVSQVRJT04pLFxuICAgICk7XG4gIH1cblxuICAvKiogU3RvcHMgdGhlIGNsb2NrIGJ5IHJlbW92aW5nIGFsbCB0aGUgYW5pbWF0aW9ucy4gKi9cbiAgcHJpdmF0ZSBhc3luYyBfc3RvcENsb2NrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5faGFuZE1vdmVtZW50KTtcblxuICAgIHRoaXMuX3JlbW92ZVNlY29uZHNBbmltYXRpb25TdHlsZXMoKTtcbiAgICB0aGlzLl9yZW1vdmVIb3Vyc0FuaW1hdGlvblN0eWxlcygpO1xuXG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIHRoaXMuX21vdmVIb3Vyc0hhbmRGbik7XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignYW5pbWF0aW9uZW5kJywgdGhpcy5fbW92ZU1pbnV0ZXNIYW5kRm4pO1xuXG4gICAgdGhpcy5fY2xvY2tIYW5kTWludXRlcz8uY2xhc3NMaXN0LmFkZCgnc2JiLWNsb2NrX19oYW5kLW1pbnV0ZXMtLW5vLXRyYW5zaXRpb24nKTtcblxuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1jbG9jay1hbmltYXRpb24tcGxheS1zdGF0ZScsICdwYXVzZWQnKTtcbiAgICB0aGlzLl9zdGF0ZSA9ICdwYXVzZWQnO1xuICB9XG5cbiAgLyoqXG4gICAqIEFzIGEgZmFsbGJhY2sgbWVhc3VyZSB0byBwcmV2ZW50IGRlLXN5bmMsIHJlc2V0IHRoZSBjbG9jayB0byB0aGUgc3lzdGVtIHRpbWUuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIF9yZXNldENsb2NrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ3J1bm5pbmcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuX3N0b3BDbG9jaygpO1xuICAgIGF3YWl0IHRoaXMuX3N0YXJ0Q2xvY2soKTtcbiAgfVxuXG4gIC8qKiBTZXQgdGhlIHN0YXJ0aW5nIHBvc2l0aW9uIGZvciB0aGUgdGhyZWUgaGFuZHMgb24gdGhlIGNsb2NrIGZhY2UuICovXG4gIHByaXZhdGUgX3NldEhhbmRzU3RhcnRpbmdQb3NpdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9hc3NpZ25DdXJyZW50VGltZSgpO1xuICAgIGNvbnN0IHJlbWFpbmluZ1NlY29uZHMgPSBUT1RBTF9TRUNPTkRTX09OX0NMT0NLX0ZBQ0UgLSB0aGlzLl9zZWNvbmRzO1xuICAgIGNvbnN0IHJlbWFpbmluZ01pbnV0ZXMgPSBUT1RBTF9NSU5VVEVTX09OX0NMT0NLX0ZBQ0UgLSB0aGlzLl9taW51dGVzO1xuICAgIGNvbnN0IHJlbWFpbmluZ0hvdXJzID0gVE9UQUxfSE9VUlNfT05fQ0xPQ0tfRkFDRSAtIHRoaXMuX2hvdXJzO1xuXG4gICAgbGV0IGhvdXJzQW5pbWF0aW9uRHVyYXRpb24gPSAwO1xuICAgIGxldCBoYXNSZW1haW5pbmdNaW51dGVzT3JTZWNvbmRzID0gMDtcblxuICAgIGlmIChyZW1haW5pbmdTZWNvbmRzID4gMCkge1xuICAgICAgaG91cnNBbmltYXRpb25EdXJhdGlvbiArPSByZW1haW5pbmdTZWNvbmRzO1xuICAgICAgaGFzUmVtYWluaW5nTWludXRlc09yU2Vjb25kcyA9IDE7XG4gICAgfVxuXG4gICAgaWYgKHJlbWFpbmluZ01pbnV0ZXMgPiAwKSB7XG4gICAgICBob3Vyc0FuaW1hdGlvbkR1cmF0aW9uICs9XG4gICAgICAgIChyZW1haW5pbmdNaW51dGVzIC0gaGFzUmVtYWluaW5nTWludXRlc09yU2Vjb25kcykgKiBTRUNPTkRTX0lOX0FfTUlOVVRFO1xuICAgICAgaGFzUmVtYWluaW5nTWludXRlc09yU2Vjb25kcyA9IDE7XG4gICAgfVxuXG4gICAgaWYgKHJlbWFpbmluZ0hvdXJzID4gMCkge1xuICAgICAgaG91cnNBbmltYXRpb25EdXJhdGlvbiArPVxuICAgICAgICAocmVtYWluaW5nSG91cnMgLSBoYXNSZW1haW5pbmdNaW51dGVzT3JTZWNvbmRzKSAqIFNFQ09ORFNfSU5fQU5fSE9VUjtcbiAgICB9XG5cbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eShcbiAgICAgICctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tc3RhcnQtYW5nbGUnLFxuICAgICAgYCR7TWF0aC5jZWlsKHRoaXMuX2hvdXJzICogSE9VUlNfQU5HTEUgKyB0aGlzLl9taW51dGVzIC8gMil9ZGVnYCxcbiAgICApO1xuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tZHVyYXRpb24nLCBgJHtob3Vyc0FuaW1hdGlvbkR1cmF0aW9ufXNgKTtcbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eShcbiAgICAgICctLXNiYi1jbG9jay1zZWNvbmRzLWFuaW1hdGlvbi1zdGFydC1hbmdsZScsXG4gICAgICBgJHtNYXRoLmNlaWwodGhpcy5fc2Vjb25kcyAqIFNCQl9TRUNPTkRTX0FOR0xFKX1kZWdgLFxuICAgICk7XG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLWNsb2NrLXNlY29uZHMtYW5pbWF0aW9uLWR1cmF0aW9uJywgYCR7cmVtYWluaW5nU2Vjb25kc31zYCk7XG5cbiAgICB0aGlzLl9zZXRNaW51dGVzSGFuZCgpO1xuXG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8uY2xhc3NMaXN0LmFkZCgnc2JiLWNsb2NrX19oYW5kLXNlY29uZHMtLWluaXRpYWwtbWludXRlJyk7XG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LmNsYXNzTGlzdC5hZGQoJ3NiYi1jbG9ja19faGFuZC1ob3Vycy0taW5pdGlhbC1ob3VyJyk7XG5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1pbml0aWFsaXplZCcsIHRydWUpO1xuICB9XG5cbiAgLyoqIEdpdmVuIHRoZSBjdXJyZW50IGRhdGUsIGNhbGN1bGF0ZXMgdGhlIGhoL21tL3NzIHZhbHVlcyBhbmQgdGhlIGhoL21tL3NzIGxlZnQgdG8gdGhlIG5leHQgbWlkbmlnaHQuICovXG4gIHByaXZhdGUgX2Fzc2lnbkN1cnJlbnRUaW1lKCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGUgPSB0aGlzLm5vdyA/IG51bGwgOiBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IFtob3VycywgbWludXRlcywgc2Vjb25kc10gPSBkYXRlXG4gICAgICA/IFtkYXRlLmdldEhvdXJzKCksIGRhdGUuZ2V0TWludXRlcygpLCBkYXRlLmdldFNlY29uZHMoKV1cbiAgICAgIDogdGhpcy5ub3chLnNwbGl0KCc6JykubWFwKChwKSA9PiArcCk7XG5cbiAgICB0aGlzLl9ob3VycyA9IGhvdXJzICUgMTI7XG4gICAgdGhpcy5fbWludXRlcyA9IG1pbnV0ZXM7XG4gICAgdGhpcy5fc2Vjb25kcyA9IHNlY29uZHM7XG4gIH1cblxuICAvKiogU2V0IHRoZSBzdGFydGluZyBwb3NpdGlvbiBmb3IgdGhlIG1pbnV0ZXMgaGFuZC4gKi9cbiAgcHJpdmF0ZSBfc2V0TWludXRlc0hhbmQoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvY2tIYW5kTWludXRlcz8uc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAndHJhbnNmb3JtJyxcbiAgICAgIGByb3RhdGVaKCR7TWF0aC5jZWlsKHRoaXMuX21pbnV0ZXMgKiBNSU5VVEVTX0FOR0xFKX1kZWcpYCxcbiAgICApO1xuICB9XG5cbiAgLyoqIE1vdmUgdGhlIGhvdXJzIGhhbmQgdG8gdGhlIG5leHQgdmFsdWUuICovXG4gIHByaXZhdGUgX21vdmVIb3Vyc0hhbmQoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVtb3ZlSG91cnNBbmltYXRpb25TdHlsZXMoKTtcblxuICAgIGxldCBob3Vyc0FuZ2xlID0gTWF0aC5jZWlsKHRoaXMuX2hvdXJzICogSE9VUlNfQU5HTEUgKyB0aGlzLl9taW51dGVzIC8gMik7XG5cbiAgICBpZiAoaG91cnNBbmdsZSA+PSBGVUxMX0FOR0xFKSB7XG4gICAgICBob3Vyc0FuZ2xlIC09IEZVTExfQU5HTEU7XG4gICAgfVxuXG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LnN0eWxlLnNldFByb3BlcnR5KCd0cmFuc2Zvcm0nLCBgcm90YXRlWigke2hvdXJzQW5nbGV9ZGVnKWApO1xuICB9XG5cbiAgLyoqIE1vdmUgdGhlIG1pbnV0ZXMgaGFuZCB0byB0aGUgbmV4dCB2YWx1ZS4gKi9cbiAgcHJpdmF0ZSBfbW92ZU1pbnV0ZXNIYW5kKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIHRoaXMuX21vdmVNaW51dGVzSGFuZEZuKTtcblxuICAgIHRoaXMuX3JlbW92ZVNlY29uZHNBbmltYXRpb25TdHlsZXMoKTtcblxuICAgIHRoaXMuX2FkZE1pbnV0ZXNBbmRTZXRIYW5kcygpO1xuXG4gICAgdGhpcy5faGFuZE1vdmVtZW50ID0gc2V0SW50ZXJ2YWwoXG4gICAgICAoKSA9PiB0aGlzLl9hZGRNaW51dGVzQW5kU2V0SGFuZHMoKSxcbiAgICAgIFRPVEFMX1NFQ09ORFNfT05fQ0xPQ0tfRkFDRSAqIDEwMDAsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZE1pbnV0ZXNBbmRTZXRIYW5kcygpOiB2b2lkIHtcbiAgICB0aGlzLl9taW51dGVzKys7XG4gICAgdGhpcy5fc2V0TWludXRlc0hhbmQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmluZyBhbmltYXRpb24gYnkgb3ZlcnJpZGluZyB3aXRoIGVtcHR5IHN0cmluZyxcbiAgICogdGhlbiB0cmlnZ2VyaW5nIGEgcmVmbG93IGFuZCByZSBhZGQgb3JpZ2luYWwgYW5pbWF0aW9uIGJ5IHJlbW92aW5nIG92ZXJyaWRlLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfcmVzZXRTZWNvbmRzSGFuZEFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2Nsb2NrSGFuZFNlY29uZHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcy5zdHlsZS5hbmltYXRpb24gPSAnJztcbiAgICAvLyBIYWNrIHRvIHRyaWdnZXIgcmVmbG93XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtZXhwcmVzc2lvbnNcbiAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzLm9mZnNldEhlaWdodDtcbiAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCdhbmltYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZUV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgdGhpcy5faGFuZGxlUGFnZVZpc2liaWxpdHlDaGFuZ2UpO1xuICAgIHRoaXMuX2Nsb2NrSGFuZEhvdXJzPy5yZW1vdmVFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCB0aGlzLl9tb3ZlSG91cnNIYW5kRm4pO1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIHRoaXMuX21vdmVNaW51dGVzSGFuZEZuKTtcbiAgICBjbGVhckludGVydmFsKHRoaXMuX2hhbmRNb3ZlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIF9yZW1vdmVIb3Vyc0FuaW1hdGlvblN0eWxlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9ja0hhbmRIb3Vycz8uY2xhc3NMaXN0LnJlbW92ZSgnc2JiLWNsb2NrX19oYW5kLWhvdXJzLS1pbml0aWFsLWhvdXInKTtcbiAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tc3RhcnQtYW5nbGUnKTtcbiAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZVNlY29uZHNBbmltYXRpb25TdHlsZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8uY2xhc3NMaXN0LnJlbW92ZSgnc2JiLWNsb2NrX19oYW5kLXNlY29uZHMtLWluaXRpYWwtbWludXRlJyk7XG4gICAgdGhpcy5fY2xvY2tIYW5kTWludXRlcz8uY2xhc3NMaXN0LnJlbW92ZSgnc2JiLWNsb2NrX19oYW5kLW1pbnV0ZXMtLW5vLXRyYW5zaXRpb24nKTtcbiAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXNiYi1jbG9jay1zZWNvbmRzLWFuaW1hdGlvbi1zdGFydC1hbmdsZScpO1xuICAgIHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tc2JiLWNsb2NrLXNlY29uZHMtYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItY2xvY2tcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2xvY2tfX2ZhY2VcIiAuaW5uZXJIVE1MPSR7Y2xvY2tGYWNlU1ZHfT48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJzYmItY2xvY2tfX2hhbmQtaG91cnNcIlxuICAgICAgICAgIC5pbm5lckhUTUw9JHtjbG9ja0hhbmRsZUhvdXJzU1ZHfVxuICAgICAgICAgICR7cmVmKChlPzogRWxlbWVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2xvY2tIYW5kSG91cnMgPSBlIGFzIEhUTUxTcGFuRWxlbWVudDtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInNiYi1jbG9ja19faGFuZC1taW51dGVzIHNiYi1jbG9ja19faGFuZC1taW51dGVzLS1uby10cmFuc2l0aW9uXCJcbiAgICAgICAgICAuaW5uZXJIVE1MPSR7Y2xvY2tIYW5kbGVNaW51dGVzU1ZHfVxuICAgICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Nsb2NrSGFuZE1pbnV0ZXMgPSBlbCBhcyBIVE1MU3BhbkVsZW1lbnQ7XG4gICAgICAgICAgfSl9XG4gICAgICAgID48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJzYmItY2xvY2tfX2hhbmQtc2Vjb25kc1wiXG4gICAgICAgICAgLmlubmVySFRNTD0ke2Nsb2NrSGFuZGxlU2Vjb25kc1NWR31cbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzID0gZWwgYXMgSFRNTFNwYW5FbGVtZW50O1xuICAgICAgICAgIH0pfVxuICAgICAgICA+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNsb2NrJzogU2JiQ2xvY2tFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxNQUFBLGVBQWU7QUNBZixNQUFBLHNCQUFl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
380
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvY2suY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY2xvY2svYXNzZXRzL3NiYl9jbG9ja19mYWNlLnN2Zz9yYXciLCIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvY2xvY2svYXNzZXRzL3NiYl9jbG9ja19ob3Vycy5zdmc/cmF3IiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nsb2NrL2Fzc2V0cy9zYmJfY2xvY2tfbWludXRlcy5zdmc/cmF3IiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nsb2NrL2Fzc2V0cy9zYmJfY2xvY2tfc2Vjb25kcy5zdmc/cmF3IiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Nsb2NrL2Nsb2NrLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBcIjxzdmcgZm9jdXNhYmxlPVxcXCJmYWxzZVxcXCIgeG1sbnM9XFxcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXFxcIiB2aWV3Qm94PVxcXCIwIDAgMTA1IDEwNVxcXCI+PGcgY2xhc3M9XFxcImZhY2VcXFwiPjxjaXJjbGUgZmlsbD1cXFwiI0ZGRlxcXCIgY3g9XFxcIjUyLjVcXFwiIGN5PVxcXCI1Mi41XFxcIiByPVxcXCI1Mi41XFxcIi8+PHBhdGggZD1cXFwiTTUwLjc1IDRoMy41djEyaC0zLjV6TTUwLjc1IDg5aDMuNXYxMmgtMy41ek03NS4yMzMgOS42MjNsMy4wMyAxLjc1LTYgMTAuMzkyLTMuMDMtMS43NXpNMzIuNzM0IDgzLjIzM2wzLjAzIDEuNzUtNiAxMC4zOTItMy4wMy0xLjc1ek05My42MjggMjYuNzMybDEuNzUgMy4wMzEtMTAuMzkyIDYtMS43NS0zLjAzek0yMC4wMTcgNjkuMjM0bDEuNzUgMy4wMzEtMTAuMzkyIDYtMS43NS0zLjAzek0xMDEgNTAuNzV2My41SDg5di0zLjV6TTE2IDUwLjc1djMuNUg0di0zLjV6TTk1LjM3OSA3NS4yMzJsLTEuNzUgMy4wMzEtMTAuMzkyLTYgMS43NS0zLjAzek0yMS43NjYgMzIuNzM0bC0xLjc1IDMuMDMxLTEwLjM5Mi02IDEuNzUtMy4wM3pNNzguMjY3IDkzLjYzbC0zLjAzIDEuNzUtNi0xMC4zOTMgMy4wMy0xLjc1ek0zNS43NjYgMjAuMDE1bC0zLjAzIDEuNzUtNi0xMC4zOTIgMy4wMy0xLjc1elxcXCIvPjxnPjxwYXRoIGQ9XFxcIk01Ni44NzMgNC4xOWwxLjM5Mi4xNDctLjM2NiAzLjQ4LTEuMzkyLS4xNDV6TTQ3LjEwMSA5Ny4xNzdsMS4zOTMuMTQ2LS4zNjYgMy40ODEtMS4zOTItLjE0NnpNNjEuODk2IDQuOTE0bDEuMzcuMjktLjcyOCAzLjQyNC0xLjM3LS4yOXpNNDIuNDU4IDk2LjM2NmwxLjM3LjI5LS43MjggMy40MjQtMS4zNy0uMjkxek02Ni44MjUgNi4xNTdsMS4zMzIuNDMyLTEuMDgyIDMuMzMtMS4zMzEtLjQzNHpNMzcuOTMxIDk1LjA4NWwxLjMzMi40MzItMS4wODIgMy4zMy0xLjMzMS0uNDMzek03MS41ODQgNy45MDZsMS4yOC41NjktMS40MjQgMy4xOTctMS4yOC0uNTd6TTMzLjU2IDkzLjMybDEuMjc4LjU2OS0xLjQyMyAzLjE5Ny0xLjI4LS41N3pNODAuNDQgMTIuODUybDEuMTMzLjgyMy0yLjA1OCAyLjgzMS0xLjEzMi0uODIzek0yNS40ODEgODguNDk0bDEuMTMzLjgyMi0yLjA1NyAyLjgzMi0xLjEzMy0uODIzek04NC40MyAxNS45ODZsMS4wNC45MzctMi4zNDIgMi42LTEuMDQtLjkzNnpNMjEuODcgODUuNDY5bDEuMDQuOTM2LTIuMzQxIDIuNjAxLTEuMDQtLjkzN3pNODguMDcyIDE5LjUyMmwuOTM3IDEuMDQtMi42IDIuMzQzLS45MzctMS4wNHpNMTguNTkzIDgyLjA4OGwuOTM3IDEuMDQtMi42MDEgMi4zNDItLjkzNy0xLjA0ek05MS4zMjggMjMuNDI1bC44MjMgMS4xMzMtMi44MzIgMi4wNTctLjgyMy0xLjEzMnpNMTUuNjg0IDc4LjM4NWwuODIzIDEuMTMyLTIuODMyIDIuMDU4LS44MjItMS4xMzN6TTk2LjUyIDMyLjEyOGwuNTcgMS4yNzktMy4xOTggMS40MjMtLjU3LTEuMjc4ek0xMS4xMDkgNzAuMTYxbC41NjkgMS4yNzktMy4xOTcgMS40MjMtLjU3LTEuMjc5ek05OC40MDcgMzYuODVsLjQzMyAxLjMzMi0zLjMzIDEuMDgxLS40MzItMS4zMzF6TTkuNDgzIDY1Ljc0bC40MzIgMS4zMy0zLjMyOSAxLjA4Mi0uNDMyLTEuMzMxek05OS43OTUgNDEuNzI2bC4yOTEgMS4zNy0zLjQyMy43MjctLjI5LTEuMzd6TTguMzQgNjEuMTdsLjI5MiAxLjM3LTMuNDI0LjcyOC0uMjktMS4zN3pNMTAwLjY2IDQ2LjczbC4xNDYgMS4zOTMtMy40OC4zNjYtLjE0Ny0xLjM5MnpNNy42NzQgNTYuNTA2bC4xNDYgMS4zOTItMy40OC4zNjYtLjE0Ny0xLjM5MnpNMTAwLjgxMSA1Ni44NzNsLS4xNDYgMS4zOTItMy40OC0uMzY1LjE0NS0xLjM5M3pNNy44MjEgNDcuMTAxbC0uMTQ2IDEuMzkyLTMuNDgtLjM2NS4xNDUtMS4zOTN6TTEwMC4wOSA2MS44OTVsLS4yOTEgMS4zNjktMy40MjQtLjcyOC4yOTEtMS4zNjl6TTguNjMxIDQyLjQ2bC0uMjkxIDEuMzctMy40MjMtLjcyOC4yOS0xLjM3ek05OC44NCA2Ni44MjdsLS40MzIgMS4zMzEtMy4zMjktMS4wODEuNDMzLTEuMzMyek05LjkxOCAzNy45M2wtLjQzMyAxLjMzMS0zLjMyOS0xLjA4Mi40MzMtMS4zMzF6TTk3LjA5OCA3MS41ODVsLS41NjkgMS4yOC0zLjE5Ny0xLjQyNC41Ny0xLjI4ek0xMS42NzcgMzMuNTU4bC0uNTcgMS4yOC0zLjE5Ny0xLjQyNC41Ny0xLjI3OXpNOTIuMTQ5IDgwLjQzOWwtLjgyMyAxLjEzMy0yLjgzMi0yLjA1OC44MjMtMS4xMzJ6TTE2LjUwNiAyNS40ODJsLS44MjMgMS4xMzMtMi44MzEtMi4wNTcuODIzLTEuMTMzek04OS4wMTcgODQuNDMxbC0uOTM3IDEuMDQtMi42LTIuMzQxLjkzNi0xLjA0ek0xOS41MjggMjEuODY5bC0uOTM2IDEuMDQtMi42MDEtMi4zNDIuOTM2LTEuMDR6TTg1LjQ4IDg4LjA3NmwtMS4wNDEuOTM2LTIuMzQyLTIuNiAxLjA0LS45Mzd6TTIyLjkxIDE4LjU5bC0xLjA0LjkzNy0yLjM0MS0yLjYwMSAxLjA0LS45Mzd6TTgxLjU3NCA5MS4zMjhsLTEuMTMzLjgyMy0yLjA1Ny0yLjgzMSAxLjEzMi0uODIzek0yNi42MTcgMTUuNjg0bC0xLjEzMy44MjMtMi4wNTctMi44MzIgMS4xMzItLjgyM3pNNzIuODczIDk2LjUyNGwtMS4yNzkuNTctMS40MjMtMy4xOTggMS4yNzgtLjU3ek0zNC44MzggMTEuMTA1bC0xLjI3OS41Ny0xLjQyMy0zLjE5OCAxLjI3OS0uNTd6TTY4LjE1MSA5OC40MDVsLTEuMzMxLjQzMi0xLjA4Mi0zLjMyOSAxLjMzMi0uNDMyek0zOS4yNTkgOS40ODVsLTEuMzMyLjQzMy0xLjA4MS0zLjMzIDEuMzMxLS40MzJ6TTYzLjI3MiA5OS43OTlsLTEuMzY5LjI5LS43MjgtMy40MjIgMS4zNy0uMjkxek00My44MyA4LjMzN2wtMS4zNjkuMjkxLS43MjctMy40MjMgMS4zNy0uMjkxek01OC4yNyAxMDAuNjYybC0xLjM5My4xNDYtLjM2Ni0zLjQ4IDEuMzkzLS4xNDd6TTQ4LjQ5NCA3LjY3MmwtMS4zOTIuMTQ3LS4zNjYtMy40ODEgMS4zOTItLjE0N3pcXFwiLz48L2c+PC9nPjwvc3ZnPlxcblwiIiwiZXhwb3J0IGRlZmF1bHQgXCI8c3ZnIGZvY3VzYWJsZT1cXFwiZmFsc2VcXFwiIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDEwNSAxMDVcXFwiPjxwYXRoIGlkPVxcXCJtb2RfY2xvY2tfc3ZnX2hvdXJzXFxcIiBkPVxcXCJNNTUuNyA2NC41aC02LjRsLjYtNDRoNS4yelxcXCIvPjwvc3ZnPlxcblwiIiwiZXhwb3J0IGRlZmF1bHQgXCI8c3ZnIGZvY3VzYWJsZT1cXFwiZmFsc2VcXFwiIHhtbG5zPVxcXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1xcXCIgdmlld0JveD1cXFwiMCAwIDEwNSAxMDVcXFwiPjxwYXRoIGQ9XFxcIk01NS4xLDY0LjVoLTUuMmwwLjgtNThoMy42TDU1LjEsNjQuNXpcXFwiLz48L3N2Zz5cXG5cIiIsImV4cG9ydCBkZWZhdWx0IFwiPHN2ZyBmb2N1c2FibGU9XFxcImZhbHNlXFxcIiB4bWxucz1cXFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXFwiIHZpZXdCb3g9XFxcIjAgMCAxMDUgMTA1XFxcIj48cGF0aCBkPVxcXCJNNTcuOCwyMS4zYzAtMi45LTIuNC01LjItNS4yLTUuMnMtNS4zLDIuMy01LjMsNS4yYzAsMi43LDIsNC44LDQuNSw1LjJWNjloMS41VjI2LjVDNTUuOCwyNi4yLDU3LjgsMjQsNTcuOCwyMS4zelxcXCIvPjwvc3ZnPlxcblwiIiwiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgUHJvcGVydHlWYWx1ZXMsIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGh0bWwsIGlzU2VydmVyLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHR5cGUgeyBTYmJUaW1lIH0gZnJvbSAnLi4vY29yZS9pbnRlcmZhY2VzLmpzJztcblxuaW1wb3J0IGNsb2NrRmFjZVNWRyBmcm9tICcuL2Fzc2V0cy9zYmJfY2xvY2tfZmFjZS5zdmc/cmF3JztcbmltcG9ydCBjbG9ja0hhbmRsZUhvdXJzU1ZHIGZyb20gJy4vYXNzZXRzL3NiYl9jbG9ja19ob3Vycy5zdmc/cmF3JztcbmltcG9ydCBjbG9ja0hhbmRsZU1pbnV0ZXNTVkcgZnJvbSAnLi9hc3NldHMvc2JiX2Nsb2NrX21pbnV0ZXMuc3ZnP3Jhdyc7XG5pbXBvcnQgY2xvY2tIYW5kbGVTZWNvbmRzU1ZHIGZyb20gJy4vYXNzZXRzL3NiYl9jbG9ja19zZWNvbmRzLnN2Zz9yYXcnO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vY2xvY2suc2Nzcz9saXQmaW5saW5lJztcblxuLyoqIE51bWJlciBvZiBob3VycyBvbiB0aGUgY2xvY2sgZmFjZS4gKi9cbmNvbnN0IFRPVEFMX0hPVVJTX09OX0NMT0NLX0ZBQ0UgPSAxMjtcblxuLyoqIE51bWJlciBvZiBtaW51dGVzIG9uIHRoZSBjbG9jayBmYWNlLiAqL1xuY29uc3QgVE9UQUxfTUlOVVRFU19PTl9DTE9DS19GQUNFID0gNjA7XG5cbi8qKiBOdW1iZXIgb2Ygc2Vjb25kcyBvbiB0aGUgY2xvY2sgZmFjZS4gKi9cbmNvbnN0IFRPVEFMX1NFQ09ORFNfT05fQ0xPQ0tfRkFDRSA9IDYwO1xuXG4vKiogVGltZW91dCBmb3IgdGhlIGNsb2NrIHN0YXJ0LiAqL1xuY29uc3QgSU5JVElBTF9USU1FT1VUX0RVUkFUSU9OID0gNTA7XG5cbi8qKiBBbmdsZSBpbiBhIHNpbmdsZSByb3RhdGlvbi4gKi9cbmNvbnN0IEZVTExfQU5HTEUgPSAzNjA7XG5cbi8qKiBBbmdsZSBiZXR3ZWVuIHR3byBjb25zZWN1dGl2ZSBob3VyczogMzYwLzEyLCBtZWFucyBhIGZ1bGwgcm90YXRpb24gLyBudW1iZXIgb2YgaG91cnMgaW4gYSByb3RhdGlvbi4gKi9cbmNvbnN0IEhPVVJTX0FOR0xFID0gMzA7XG5cbi8qKiBBbmdsZSBiZXR3ZWVuIHR3byBjb25zZWN1dGl2ZSBtaW51dGVzOiAzNjAvNjAsIG1lYW5zIGEgZnVsbCByb3RhdGlvbiAvIG51bWJlciBvZiBtaW51dGVzIGluIG9uZSBob3VyLiAqL1xuY29uc3QgTUlOVVRFU19BTkdMRSA9IDY7XG5cbi8qKiBBbmdsZSBiZXR3ZWVuIHR3byBjb25zZWN1dGl2ZSBzZWNvbmRzIGZvciBTQkIgY2xvY2sgY3VzdG9tIGJlaGF2aW9yLiAqL1xuY29uc3QgU0JCX1NFQ09ORFNfQU5HTEUgPSAzNjAgLyA1OC41O1xuXG4vKiogTnVtYmVyIG9mIHNlY29uZHMgaW4gYSBtaW51dGUuICovXG5jb25zdCBTRUNPTkRTX0lOX0FfTUlOVVRFID0gNjA7XG5cbi8qKiBOdW1iZXIgb2Ygc2Vjb25kcyBpbiBhbiBob3VyLiAqL1xuY29uc3QgU0VDT05EU19JTl9BTl9IT1VSID0gMzYwMDtcblxuLyoqIEFzIGEgZmFsbGJhY2sgbWVhc3VyZSwgcmVzZXQgdGhlIGNsb2NrIGV2ZXJ5IGhhbGYgYW4gaG91ciAqL1xuY29uc3QgUkVTRVRfSU5URVJWQUwgPSBTRUNPTkRTX0lOX0FOX0hPVVIgLyAyO1xuXG5jb25zdCBBRERfRVZFTlRfTElTVEVORVJfT1BUSU9OUzogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7XG4gIG9uY2U6IHRydWUsXG4gIHBhc3NpdmU6IHRydWUsXG59O1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGFuYWxvZyBjbG9jayB3aXRoIHRoZSBjbGFzc2ljIFNCQiBmYWNlLlxuICovXG5leHBvcnRcbkBjdXN0b21FbGVtZW50KCdzYmItY2xvY2snKVxuY2xhc3MgU2JiQ2xvY2tFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgYSBzcGVjaWZpYyB0aW1lIHdoaWNoIHRoZSBjbG9jayBzaG91bGQgc2hvdyBzdGF0aWNhbGx5LlxuICAgKiBAcGFyYW0gdmFsdWUgSEg6TU06c3NcbiAgICovXG4gIEBwcm9wZXJ0eSgpIHB1YmxpYyBhY2Nlc3NvciBub3c6IFNiYlRpbWUgfCBudWxsID0gbnVsbDtcblxuICAvKiogV2hldGhlciB0aGUgY2xvY2sgaXMgdGlja2luZyBvciBub3QgKi9cbiAgcHJpdmF0ZSBfc3RhdGU6ICdydW5uaW5nJyB8ICdwYXVzZWQnID0gJ3BhdXNlZCc7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgaG91ciBoYW5kLiAqL1xuICBwcml2YXRlIF9jbG9ja0hhbmRIb3VycyE6IEhUTUxFbGVtZW50O1xuXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIG1pbnV0ZSBoYW5kLiAqL1xuICBwcml2YXRlIF9jbG9ja0hhbmRNaW51dGVzITogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgc2Vjb25kIGhhbmQuICovXG4gIHByaXZhdGUgX2Nsb2NrSGFuZFNlY29uZHMhOiBIVE1MRWxlbWVudDtcblxuICAvKiogSG91cnMgdmFsdWUgZm9yIHRoZSBjdXJyZW50IGRhdGUuICovXG4gIHByaXZhdGUgX2hvdXJzITogbnVtYmVyO1xuXG4gIC8qKiBNaW51dGVzIHZhbHVlIGZvciB0aGUgY3VycmVudCBkYXRlLiAqL1xuICBwcml2YXRlIF9taW51dGVzITogbnVtYmVyO1xuXG4gIC8qKiBTZWNvbmRzIHZhbHVlIGZvciB0aGUgY3VycmVudCBkYXRlLiAqL1xuICBwcml2YXRlIF9zZWNvbmRzITogbnVtYmVyO1xuXG4gIC8qKiBNb3ZlIHRoZSBtaW51dGVzIGhhbmQgZXZlcnkgbWludXRlLiAqL1xuICBwcml2YXRlIF9oYW5kTW92ZW1lbnQ/OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD47XG5cbiAgcHJpdmF0ZSBfcmVzZXRJbnRlcnZhbElkPzogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+O1xuXG4gIC8qKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgaG91cnMgaGFuZC4gKi9cbiAgcHJpdmF0ZSBfbW92ZUhvdXJzSGFuZEZuID0gKCk6IHZvaWQgPT4gdGhpcy5fbW92ZUhvdXJzSGFuZCgpO1xuXG4gIC8qKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgbWludXRlcyBoYW5kLiAqL1xuICBwcml2YXRlIF9tb3ZlTWludXRlc0hhbmRGbiA9ICgpOiB2b2lkID0+IHRoaXMuX21vdmVNaW51dGVzSGFuZCgpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgdGhpcy5fcmVzZXRJbnRlcnZhbElkID0gc2V0SW50ZXJ2YWwoKCkgPT4gdGhpcy5fcmVzZXRDbG9jaygpLCBSRVNFVF9JTlRFUlZBTCAqIDEwMDApO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoIWlzU2VydmVyICYmIGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbm93JykpIHtcbiAgICAgIHRoaXMuX3N0YXJ0T3JDb25maWd1cmVDbG9jaygpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCB0aGlzLl9oYW5kbGVQYWdlVmlzaWJpbGl0eUNoYW5nZSwgZmFsc2UpO1xuICAgICAgdGhpcy5fc3RhcnRPckNvbmZpZ3VyZUNsb2NrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fcmVtb3ZlRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICBjbGVhckludGVydmFsKHRoaXMuX3Jlc2V0SW50ZXJ2YWxJZCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVQYWdlVmlzaWJpbGl0eUNoYW5nZSA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBpZiAodGhpcy5ub3cpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlID09PSAnaGlkZGVuJykge1xuICAgICAgYXdhaXQgdGhpcy5fc3RvcENsb2NrKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IHRoaXMuX3N0YXJ0Q2xvY2soKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBhc3luYyBfc3RhcnRPckNvbmZpZ3VyZUNsb2NrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLm5vdykge1xuICAgICAgYXdhaXQgdGhpcy5fc3RvcENsb2NrKCk7XG4gICAgICB0aGlzLl9yZXNldFNlY29uZHNIYW5kQW5pbWF0aW9uKCk7XG4gICAgICB0aGlzLl9zZXRIYW5kc1N0YXJ0aW5nUG9zaXRpb24oKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXdhaXQgdGhpcy5fc3RhcnRDbG9jaygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBTdGFydHMgdGhlIGNsb2NrIGJ5IGRlZmluaW5nIHRoZSBoYW5kcyBzdGFydGluZyBwb3NpdGlvbiB0aGVuIHN0YXJ0aW5nIHRoZSBhbmltYXRpb25zLiAqL1xuICBwcml2YXRlIGFzeW5jIF9zdGFydENsb2NrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX2Nsb2NrSGFuZEhvdXJzPy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2FuaW1hdGlvbmVuZCcsXG4gICAgICB0aGlzLl9tb3ZlSG91cnNIYW5kRm4sXG4gICAgICBBRERfRVZFTlRfTElTVEVORVJfT1BUSU9OUyxcbiAgICApO1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHM/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnYW5pbWF0aW9uZW5kJyxcbiAgICAgIHRoaXMuX21vdmVNaW51dGVzSGFuZEZuLFxuICAgICAgQUREX0VWRU5UX0xJU1RFTkVSX09QVElPTlMsXG4gICAgKTtcblxuICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PlxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3NldEhhbmRzU3RhcnRpbmdQb3NpdGlvbigpO1xuXG4gICAgICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1jbG9jay1hbmltYXRpb24tcGxheS1zdGF0ZScsICdydW5uaW5nJyk7XG4gICAgICAgIHRoaXMuX3N0YXRlID0gJ3J1bm5pbmcnO1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9LCBJTklUSUFMX1RJTUVPVVRfRFVSQVRJT04pLFxuICAgICk7XG4gIH1cblxuICAvKiogU3RvcHMgdGhlIGNsb2NrIGJ5IHJlbW92aW5nIGFsbCB0aGUgYW5pbWF0aW9ucy4gKi9cbiAgcHJpdmF0ZSBhc3luYyBfc3RvcENsb2NrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNsZWFySW50ZXJ2YWwodGhpcy5faGFuZE1vdmVtZW50KTtcblxuICAgIHRoaXMuX3JlbW92ZVNlY29uZHNBbmltYXRpb25TdHlsZXMoKTtcbiAgICB0aGlzLl9yZW1vdmVIb3Vyc0FuaW1hdGlvblN0eWxlcygpO1xuXG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIHRoaXMuX21vdmVIb3Vyc0hhbmRGbik7XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignYW5pbWF0aW9uZW5kJywgdGhpcy5fbW92ZU1pbnV0ZXNIYW5kRm4pO1xuXG4gICAgdGhpcy5fY2xvY2tIYW5kTWludXRlcz8uY2xhc3NMaXN0LmFkZCgnc2JiLWNsb2NrX19oYW5kLW1pbnV0ZXMtLW5vLXRyYW5zaXRpb24nKTtcblxuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1jbG9jay1hbmltYXRpb24tcGxheS1zdGF0ZScsICdwYXVzZWQnKTtcbiAgICB0aGlzLl9zdGF0ZSA9ICdwYXVzZWQnO1xuICB9XG5cbiAgLyoqXG4gICAqIEFzIGEgZmFsbGJhY2sgbWVhc3VyZSB0byBwcmV2ZW50IGRlLXN5bmMsIHJlc2V0IHRoZSBjbG9jayB0byB0aGUgc3lzdGVtIHRpbWUuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIF9yZXNldENsb2NrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLl9zdGF0ZSAhPT0gJ3J1bm5pbmcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuX3N0b3BDbG9jaygpO1xuICAgIGF3YWl0IHRoaXMuX3N0YXJ0Q2xvY2soKTtcbiAgfVxuXG4gIC8qKiBTZXQgdGhlIHN0YXJ0aW5nIHBvc2l0aW9uIGZvciB0aGUgdGhyZWUgaGFuZHMgb24gdGhlIGNsb2NrIGZhY2UuICovXG4gIHByaXZhdGUgX3NldEhhbmRzU3RhcnRpbmdQb3NpdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9hc3NpZ25DdXJyZW50VGltZSgpO1xuICAgIGNvbnN0IHJlbWFpbmluZ1NlY29uZHMgPSBUT1RBTF9TRUNPTkRTX09OX0NMT0NLX0ZBQ0UgLSB0aGlzLl9zZWNvbmRzO1xuICAgIGNvbnN0IHJlbWFpbmluZ01pbnV0ZXMgPSBUT1RBTF9NSU5VVEVTX09OX0NMT0NLX0ZBQ0UgLSB0aGlzLl9taW51dGVzO1xuICAgIGNvbnN0IHJlbWFpbmluZ0hvdXJzID0gVE9UQUxfSE9VUlNfT05fQ0xPQ0tfRkFDRSAtIHRoaXMuX2hvdXJzO1xuXG4gICAgbGV0IGhvdXJzQW5pbWF0aW9uRHVyYXRpb24gPSAwO1xuICAgIGxldCBoYXNSZW1haW5pbmdNaW51dGVzT3JTZWNvbmRzID0gMDtcblxuICAgIGlmIChyZW1haW5pbmdTZWNvbmRzID4gMCkge1xuICAgICAgaG91cnNBbmltYXRpb25EdXJhdGlvbiArPSByZW1haW5pbmdTZWNvbmRzO1xuICAgICAgaGFzUmVtYWluaW5nTWludXRlc09yU2Vjb25kcyA9IDE7XG4gICAgfVxuXG4gICAgaWYgKHJlbWFpbmluZ01pbnV0ZXMgPiAwKSB7XG4gICAgICBob3Vyc0FuaW1hdGlvbkR1cmF0aW9uICs9XG4gICAgICAgIChyZW1haW5pbmdNaW51dGVzIC0gaGFzUmVtYWluaW5nTWludXRlc09yU2Vjb25kcykgKiBTRUNPTkRTX0lOX0FfTUlOVVRFO1xuICAgICAgaGFzUmVtYWluaW5nTWludXRlc09yU2Vjb25kcyA9IDE7XG4gICAgfVxuXG4gICAgaWYgKHJlbWFpbmluZ0hvdXJzID4gMCkge1xuICAgICAgaG91cnNBbmltYXRpb25EdXJhdGlvbiArPVxuICAgICAgICAocmVtYWluaW5nSG91cnMgLSBoYXNSZW1haW5pbmdNaW51dGVzT3JTZWNvbmRzKSAqIFNFQ09ORFNfSU5fQU5fSE9VUjtcbiAgICB9XG5cbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eShcbiAgICAgICctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tc3RhcnQtYW5nbGUnLFxuICAgICAgYCR7TWF0aC5jZWlsKHRoaXMuX2hvdXJzICogSE9VUlNfQU5HTEUgKyB0aGlzLl9taW51dGVzIC8gMil9ZGVnYCxcbiAgICApO1xuICAgIHRoaXMuc3R5bGU/LnNldFByb3BlcnR5KCctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tZHVyYXRpb24nLCBgJHtob3Vyc0FuaW1hdGlvbkR1cmF0aW9ufXNgKTtcbiAgICB0aGlzLnN0eWxlPy5zZXRQcm9wZXJ0eShcbiAgICAgICctLXNiYi1jbG9jay1zZWNvbmRzLWFuaW1hdGlvbi1zdGFydC1hbmdsZScsXG4gICAgICBgJHtNYXRoLmNlaWwodGhpcy5fc2Vjb25kcyAqIFNCQl9TRUNPTkRTX0FOR0xFKX1kZWdgLFxuICAgICk7XG4gICAgdGhpcy5zdHlsZT8uc2V0UHJvcGVydHkoJy0tc2JiLWNsb2NrLXNlY29uZHMtYW5pbWF0aW9uLWR1cmF0aW9uJywgYCR7cmVtYWluaW5nU2Vjb25kc31zYCk7XG5cbiAgICB0aGlzLl9zZXRNaW51dGVzSGFuZCgpO1xuXG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8uY2xhc3NMaXN0LmFkZCgnc2JiLWNsb2NrX19oYW5kLXNlY29uZHMtLWluaXRpYWwtbWludXRlJyk7XG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LmNsYXNzTGlzdC5hZGQoJ3NiYi1jbG9ja19faGFuZC1ob3Vycy0taW5pdGlhbC1ob3VyJyk7XG5cbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1pbml0aWFsaXplZCcsIHRydWUpO1xuICB9XG5cbiAgLyoqIEdpdmVuIHRoZSBjdXJyZW50IGRhdGUsIGNhbGN1bGF0ZXMgdGhlIGhoL21tL3NzIHZhbHVlcyBhbmQgdGhlIGhoL21tL3NzIGxlZnQgdG8gdGhlIG5leHQgbWlkbmlnaHQuICovXG4gIHByaXZhdGUgX2Fzc2lnbkN1cnJlbnRUaW1lKCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGUgPSB0aGlzLm5vdyA/IG51bGwgOiBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IFtob3VycywgbWludXRlcywgc2Vjb25kc10gPSBkYXRlXG4gICAgICA/IFtkYXRlLmdldEhvdXJzKCksIGRhdGUuZ2V0TWludXRlcygpLCBkYXRlLmdldFNlY29uZHMoKV1cbiAgICAgIDogdGhpcy5ub3chLnNwbGl0KCc6JykubWFwKChwKSA9PiArcCk7XG5cbiAgICB0aGlzLl9ob3VycyA9IGhvdXJzICUgMTI7XG4gICAgdGhpcy5fbWludXRlcyA9IG1pbnV0ZXM7XG4gICAgdGhpcy5fc2Vjb25kcyA9IHNlY29uZHM7XG4gIH1cblxuICAvKiogU2V0IHRoZSBzdGFydGluZyBwb3NpdGlvbiBmb3IgdGhlIG1pbnV0ZXMgaGFuZC4gKi9cbiAgcHJpdmF0ZSBfc2V0TWludXRlc0hhbmQoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvY2tIYW5kTWludXRlcz8uc3R5bGUuc2V0UHJvcGVydHkoXG4gICAgICAndHJhbnNmb3JtJyxcbiAgICAgIGByb3RhdGVaKCR7TWF0aC5jZWlsKHRoaXMuX21pbnV0ZXMgKiBNSU5VVEVTX0FOR0xFKX1kZWcpYCxcbiAgICApO1xuICB9XG5cbiAgLyoqIE1vdmUgdGhlIGhvdXJzIGhhbmQgdG8gdGhlIG5leHQgdmFsdWUuICovXG4gIHByaXZhdGUgX21vdmVIb3Vyc0hhbmQoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVtb3ZlSG91cnNBbmltYXRpb25TdHlsZXMoKTtcblxuICAgIGxldCBob3Vyc0FuZ2xlID0gTWF0aC5jZWlsKHRoaXMuX2hvdXJzICogSE9VUlNfQU5HTEUgKyB0aGlzLl9taW51dGVzIC8gMik7XG5cbiAgICBpZiAoaG91cnNBbmdsZSA+PSBGVUxMX0FOR0xFKSB7XG4gICAgICBob3Vyc0FuZ2xlIC09IEZVTExfQU5HTEU7XG4gICAgfVxuXG4gICAgdGhpcy5fY2xvY2tIYW5kSG91cnM/LnN0eWxlLnNldFByb3BlcnR5KCd0cmFuc2Zvcm0nLCBgcm90YXRlWigke2hvdXJzQW5nbGV9ZGVnKWApO1xuICB9XG5cbiAgLyoqIE1vdmUgdGhlIG1pbnV0ZXMgaGFuZCB0byB0aGUgbmV4dCB2YWx1ZS4gKi9cbiAgcHJpdmF0ZSBfbW92ZU1pbnV0ZXNIYW5kKCk6IHZvaWQge1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIHRoaXMuX21vdmVNaW51dGVzSGFuZEZuKTtcblxuICAgIHRoaXMuX3JlbW92ZVNlY29uZHNBbmltYXRpb25TdHlsZXMoKTtcblxuICAgIHRoaXMuX2FkZE1pbnV0ZXNBbmRTZXRIYW5kcygpO1xuXG4gICAgdGhpcy5faGFuZE1vdmVtZW50ID0gc2V0SW50ZXJ2YWwoXG4gICAgICAoKSA9PiB0aGlzLl9hZGRNaW51dGVzQW5kU2V0SGFuZHMoKSxcbiAgICAgIFRPVEFMX1NFQ09ORFNfT05fQ0xPQ0tfRkFDRSAqIDEwMDAsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX2FkZE1pbnV0ZXNBbmRTZXRIYW5kcygpOiB2b2lkIHtcbiAgICB0aGlzLl9taW51dGVzKys7XG4gICAgdGhpcy5fc2V0TWludXRlc0hhbmQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmluZyBhbmltYXRpb24gYnkgb3ZlcnJpZGluZyB3aXRoIGVtcHR5IHN0cmluZyxcbiAgICogdGhlbiB0cmlnZ2VyaW5nIGEgcmVmbG93IGFuZCByZSBhZGQgb3JpZ2luYWwgYW5pbWF0aW9uIGJ5IHJlbW92aW5nIG92ZXJyaWRlLlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfcmVzZXRTZWNvbmRzSGFuZEFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2Nsb2NrSGFuZFNlY29uZHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcy5zdHlsZS5hbmltYXRpb24gPSAnJztcbiAgICAvLyBIYWNrIHRvIHRyaWdnZXIgcmVmbG93XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtZXhwcmVzc2lvbnNcbiAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzLm9mZnNldEhlaWdodDtcbiAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCdhbmltYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZUV2ZW50TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIGRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgdGhpcy5faGFuZGxlUGFnZVZpc2liaWxpdHlDaGFuZ2UpO1xuICAgIHRoaXMuX2Nsb2NrSGFuZEhvdXJzPy5yZW1vdmVFdmVudExpc3RlbmVyKCdhbmltYXRpb25lbmQnLCB0aGlzLl9tb3ZlSG91cnNIYW5kRm4pO1xuICAgIHRoaXMuX2Nsb2NrSGFuZFNlY29uZHM/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2FuaW1hdGlvbmVuZCcsIHRoaXMuX21vdmVNaW51dGVzSGFuZEZuKTtcbiAgICBjbGVhckludGVydmFsKHRoaXMuX2hhbmRNb3ZlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIF9yZW1vdmVIb3Vyc0FuaW1hdGlvblN0eWxlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9jbG9ja0hhbmRIb3Vycz8uY2xhc3NMaXN0LnJlbW92ZSgnc2JiLWNsb2NrX19oYW5kLWhvdXJzLS1pbml0aWFsLWhvdXInKTtcbiAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tc3RhcnQtYW5nbGUnKTtcbiAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXNiYi1jbG9jay1ob3Vycy1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZVNlY29uZHNBbmltYXRpb25TdHlsZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvY2tIYW5kU2Vjb25kcz8uY2xhc3NMaXN0LnJlbW92ZSgnc2JiLWNsb2NrX19oYW5kLXNlY29uZHMtLWluaXRpYWwtbWludXRlJyk7XG4gICAgdGhpcy5fY2xvY2tIYW5kTWludXRlcz8uY2xhc3NMaXN0LnJlbW92ZSgnc2JiLWNsb2NrX19oYW5kLW1pbnV0ZXMtLW5vLXRyYW5zaXRpb24nKTtcbiAgICB0aGlzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCctLXNiYi1jbG9jay1zZWNvbmRzLWFuaW1hdGlvbi1zdGFydC1hbmdsZScpO1xuICAgIHRoaXMuc3R5bGUucmVtb3ZlUHJvcGVydHkoJy0tc2JiLWNsb2NrLXNlY29uZHMtYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItY2xvY2tcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzYmItY2xvY2tfX2ZhY2VcIiAuaW5uZXJIVE1MPSR7Y2xvY2tGYWNlU1ZHfT48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJzYmItY2xvY2tfX2hhbmQtaG91cnNcIlxuICAgICAgICAgIC5pbm5lckhUTUw9JHtjbG9ja0hhbmRsZUhvdXJzU1ZHfVxuICAgICAgICAgICR7cmVmKChlPzogRWxlbWVudCk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2xvY2tIYW5kSG91cnMgPSBlIGFzIEhUTUxTcGFuRWxlbWVudDtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cInNiYi1jbG9ja19faGFuZC1taW51dGVzIHNiYi1jbG9ja19faGFuZC1taW51dGVzLS1uby10cmFuc2l0aW9uXCJcbiAgICAgICAgICAuaW5uZXJIVE1MPSR7Y2xvY2tIYW5kbGVNaW51dGVzU1ZHfVxuICAgICAgICAgICR7cmVmKChlbD86IEVsZW1lbnQpOiB2b2lkID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Nsb2NrSGFuZE1pbnV0ZXMgPSBlbCBhcyBIVE1MU3BhbkVsZW1lbnQ7XG4gICAgICAgICAgfSl9XG4gICAgICAgID48L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJzYmItY2xvY2tfX2hhbmQtc2Vjb25kc1wiXG4gICAgICAgICAgLmlubmVySFRNTD0ke2Nsb2NrSGFuZGxlU2Vjb25kc1NWR31cbiAgICAgICAgICAke3JlZigoZWw/OiBFbGVtZW50KTogdm9pZCA9PiB7XG4gICAgICAgICAgICB0aGlzLl9jbG9ja0hhbmRTZWNvbmRzID0gZWwgYXMgSFRNTFNwYW5FbGVtZW50O1xuICAgICAgICAgIH0pfVxuICAgICAgICA+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNsb2NrJzogU2JiQ2xvY2tFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxNQUFBLGVBQWU7QUNBZixNQUFBLHNCQUFl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
@@ -190,4 +190,4 @@ let SbbContainerElement = (() => {
190
190
  export {
191
191
  SbbContainerElement
192
192
  };
193
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvbnRhaW5lci9jb250YWluZXIvY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGZvcmNlVHlwZSwgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY29udGFpbmVyLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgaXRzIGNvbnRlbnQgd2l0aCB0aGUgZGVmYXVsdCBwYWdlIHNwYWNpbmcuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYW55dGhpbmcgdG8gdGhlIGNvbnRhaW5lci5cbiAqIEBzbG90IHN0aWNreS1iYXIgLSBUaGUgc2xvdCB1c2VkIGJ5IHRoZSBzYmItc3RpY2t5LWJhciBjb21wb25lbnQuXG4gKiBAc2xvdCBpbWFnZSAtIFRoZSBzbG90IHVzZWQgdG8gc2xvdCBhbiBgc2JiLWltYWdlYCB0byB1c2UgYXMgYmFja2dyb3VuZC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWNvbnRhaW5lcicpXG5Ac2xvdFN0YXRlKClcbmNsYXNzIFNiYkNvbnRhaW5lckVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNvbnRhaW5lciBpcyBleHBhbmRlZC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGJhY2tncm91bmQgY29sb3IgaXMgc2hvd24gb24gZnVsbCBjb250YWluZXIgd2lkdGggb24gbGFyZ2Ugc2NyZWVucy4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUsIGF0dHJpYnV0ZTogJ2JhY2tncm91bmQtZXhwYW5kZWQnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBiYWNrZ3JvdW5kRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQ29sb3Igb2YgdGhlIGNvbnRhaW5lciwgbGlrZSB0cmFuc3BhcmVudCwgd2hpdGUgZXRjLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBjb2xvcjpcbiAgICB8ICd0cmFuc3BhcmVudCdcbiAgICB8ICd3aGl0ZSdcbiAgICB8ICdtaWxrJ1xuICAgIHwgJ21pZG5pZ2h0J1xuICAgIHwgJ2NoYXJjb2FsJyA9ICd3aGl0ZSc7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdleHBhbmRlZCcpKSB7XG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3I/Lignc2JiLXN0aWNreS1iYXInKT8udG9nZ2xlQXR0cmlidXRlKCdkYXRhLWV4cGFuZGVkJywgdGhpcy5leHBhbmRlZCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWNvbnRhaW5lclwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwiaW1hZ2VcIj48L3Nsb3Q+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItY29udGFpbmVyX19jb250ZW50XCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNsb3QgbmFtZT1cInN0aWNreS1iYXJcIj48L3Nsb3Q+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNvbnRhaW5lcic6IFNiYkNvbnRhaW5lckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXVCTSx1QkFBbUIsTUFBQTs7QUFGeEIsTUFBQSxtQkFBQSxDQUFBLGNBQWMsZUFBZSxHQUM3QixXQUFXOzs7O29CQUNzQjs7Ozs7Ozs7OztBQUFSLEVBQUEsbUJBQVEsWUFBVTtBQUFBOztBQU0xQyxxREFBQSxrQkFBQSxNQUFBLHdCQUFvQyxLQUFLO0FBS3pDLGdFQUFBLGtCQUFBLE1BQUEsMkJBQUEsR0FBQSxrQkFBQSxNQUFBLGtDQUE4QyxLQUFLO0FBR3RCLG1EQUFBLGtCQUFBLE1BQUEscUNBQUEsR0FBQSxrQkFBQSxNQUFBLHFCQUtaLE9BQU87Ozs7SUFieEIsSUFBZ0IsV0FBUTtBQUFBLGFB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
193
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvbnRhaW5lci9jb250YWluZXIvY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBMaXRFbGVtZW50LFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxufSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCwgcHJvcGVydHkgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGZvcmNlVHlwZSwgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY29udGFpbmVyLnNjc3M/bGl0JmlubGluZSc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgaXRzIGNvbnRlbnQgd2l0aCB0aGUgZGVmYXVsdCBwYWdlIHNwYWNpbmcuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYW55dGhpbmcgdG8gdGhlIGNvbnRhaW5lci5cbiAqIEBzbG90IHN0aWNreS1iYXIgLSBUaGUgc2xvdCB1c2VkIGJ5IHRoZSBzYmItc3RpY2t5LWJhciBjb21wb25lbnQuXG4gKiBAc2xvdCBpbWFnZSAtIFRoZSBzbG90IHVzZWQgdG8gc2xvdCBhbiBgc2JiLWltYWdlYCB0byB1c2UgYXMgYmFja2dyb3VuZC5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWNvbnRhaW5lcicpXG5Ac2xvdFN0YXRlKClcbmNsYXNzIFNiYkNvbnRhaW5lckVsZW1lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGNvbnRhaW5lciBpcyBleHBhbmRlZC4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSlcbiAgcHVibGljIGFjY2Vzc29yIGV4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGJhY2tncm91bmQgY29sb3IgaXMgc2hvd24gb24gZnVsbCBjb250YWluZXIgd2lkdGggb24gbGFyZ2Ugc2NyZWVucy4gKi9cbiAgQGZvcmNlVHlwZSgpXG4gIEBwcm9wZXJ0eSh7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUsIGF0dHJpYnV0ZTogJ2JhY2tncm91bmQtZXhwYW5kZWQnIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBiYWNrZ3JvdW5kRXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogQ29sb3Igb2YgdGhlIGNvbnRhaW5lciwgbGlrZSB0cmFuc3BhcmVudCwgd2hpdGUgZXRjLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBjb2xvcjpcbiAgICB8ICd0cmFuc3BhcmVudCdcbiAgICB8ICd3aGl0ZSdcbiAgICB8ICdtaWxrJ1xuICAgIHwgJ21pZG5pZ2h0J1xuICAgIHwgJ2NoYXJjb2FsJyA9ICd3aGl0ZSc7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdleHBhbmRlZCcpKSB7XG4gICAgICB0aGlzLnF1ZXJ5U2VsZWN0b3I/Lignc2JiLXN0aWNreS1iYXInKT8udG9nZ2xlQXR0cmlidXRlKCdkYXRhLWV4cGFuZGVkJywgdGhpcy5leHBhbmRlZCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLWNvbnRhaW5lclwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwiaW1hZ2VcIj48L3Nsb3Q+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzYmItY29udGFpbmVyX19jb250ZW50XCI+XG4gICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPHNsb3QgbmFtZT1cInN0aWNreS1iYXJcIj48L3Nsb3Q+XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWNvbnRhaW5lcic6IFNiYkNvbnRhaW5lckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXVCTSx1QkFBbUIsTUFBQTs7QUFGeEIsTUFBQSxtQkFBQSxDQUFBLGNBQWMsZUFBZSxHQUM3QixXQUFXOzs7O29CQUNzQjs7Ozs7Ozs7OztBQUFSLEVBQUEsbUJBQVEsWUFBVTtBQUFBOztBQU0xQyxxREFBQSxrQkFBQSxNQUFBLHdCQUFvQyxLQUFLO0FBS3pDLGdFQUFBLGtCQUFBLE1BQUEsMkJBQUEsR0FBQSxrQkFBQSxNQUFBLGtDQUE4QyxLQUFLO0FBR3RCLG1EQUFBLGtCQUFBLE1BQUEscUNBQUEsR0FBQSxrQkFBQSxNQUFBLHFCQUtaLE9BQU87Ozs7SUFieEIsSUFBZ0IsV0FBUTtBQUFBLGFB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
@@ -4,10 +4,6 @@ declare const SbbStickyBarElement_base: import('../../core/mixins.js').AbstractC
4
4
  * A container that sticks to the bottom of the page if slotted into `sbb-container`.
5
5
  *
6
6
  * @slot - Use the unnamed slot to add content to the sticky bar.
7
- * @event {CustomEvent<void>} willStick - Emits when the animation from normal content flow to `position: sticky` starts. Can be canceled.
8
- * @event {CustomEvent<void>} didStick - Emits when the animation from normal content flow to `position: sticky` ends.
9
- * @event {CustomEvent<void>} willUnstick - Emits when the animation from `position: sticky` to normal content flow starts. Can be canceled.
10
- * @event {CustomEvent<void>} didUnstick - Emits when the animation from `position: sticky` to normal content flow ends.
11
7
  * @cssprop [--sbb-sticky-bar-padding-block=var(--sbb-spacing-responsive-xs)] - Block padding of the sticky bar.
12
8
  * @cssprop [--sbb-sticky-bar-bottom-overlapping-height=0px] - Define an additional area where
13
9
  * the sticky bar overlaps the following content on the bottom.
@@ -18,10 +14,10 @@ declare const SbbStickyBarElement_base: import('../../core/mixins.js').AbstractC
18
14
  export declare class SbbStickyBarElement extends SbbStickyBarElement_base {
19
15
  static styles: CSSResultGroup;
20
16
  static readonly events: {
21
- readonly willStick: "willStick";
22
- readonly didStick: "didStick";
23
- readonly willUnstick: "willUnstick";
24
- readonly didUnstick: "didUnstick";
17
+ readonly beforestick: "beforestick";
18
+ readonly stick: "stick";
19
+ readonly beforeunstick: "beforeunstick";
20
+ readonly unstick: "unstick";
25
21
  };
26
22
  /** Color of the container, like transparent, white etc. */
27
23
  accessor color: 'white' | 'milk' | 'midnight' | 'charcoal' | null;
@@ -33,10 +29,6 @@ export declare class SbbStickyBarElement extends SbbStickyBarElement_base {
33
29
  /** The state of the component. */
34
30
  private set _state(value);
35
31
  private get _state();
36
- private _willStick;
37
- private _didStick;
38
- private _willUnstick;
39
- private _didUnstick;
40
32
  private _intersector?;
41
33
  private _observer;
42
34
  connectedCallback(): void;
@@ -51,6 +43,8 @@ export declare class SbbStickyBarElement extends SbbStickyBarElement_base {
51
43
  private _stickyCallback;
52
44
  private _unstickyCallback;
53
45
  private _onAnimationEnd;
46
+ private _dispatchBeforeStickEvent;
47
+ private _dispatchBeforeUnStickEvent;
54
48
  protected render(): TemplateResult;
55
49
  }
56
50
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"sticky-bar.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/container/sticky-bar/sticky-bar.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;;AAWb;;;;;;;;;;;;;;GAcG;AACH,qBAEM,mBAAoB,SAAQ,wBAAmC;IACnE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,gBAAuB,MAAM;;;;;MAKlB;IAEX,2DAA2D;IAC3D,SAA6C,KAAK,EAC9C,OAAO,GACP,MAAM,GACN,UAAU,GACV,UAAU,GACV,IAAI,CAAQ;IAEhB;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF,kCAAkC;IAClC,OAAO,KAAK,MAAM,QAEjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,UAAU,CAEf;IACH,OAAO,CAAC,SAAS,CAEd;IACH,OAAO,CAAC,YAAY,CAIlB;IACF,OAAO,CAAC,WAAW,CAIjB;IAEF,OAAO,CAAC,YAAY,CAAC,CAAkB;IACvC,OAAO,CAAC,SAAS,CAKd;IAEa,iBAAiB,IAAI,IAAI;IAiBzB,oBAAoB,IAAI,IAAI;cAMzB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAU9E,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,kBAAkB;IA+B1B,wEAAwE;IACjE,KAAK,IAAI,IAAI;IAWpB,mEAAmE;IAC5D,OAAO,IAAI,IAAI;IAYtB,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,eAAe;cAWJ,MAAM,IAAI,cAAc;CAU5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}
1
+ {"version":3,"file":"sticky-bar.component.d.ts","sourceRoot":"","sources":["../../../../../src/elements/container/sticky-bar/sticky-bar.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;;AAUb;;;;;;;;;;GAUG;AACH,qBAEM,mBAAoB,SAAQ,wBAAmC;IACnE,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,gBAAuB,MAAM;;;;;MAKlB;IAEX,2DAA2D;IAC3D,SAA6C,KAAK,EAC9C,OAAO,GACP,MAAM,GACN,UAAU,GACV,UAAU,GACV,IAAI,CAAQ;IAEhB;;;OAGG;IACH,SAA6C,IAAI,EAAE,GAAG,GAAG,GAAG,CAAwB;IAEpF,kCAAkC;IAClC,OAAO,KAAK,MAAM,QAEjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,YAAY,CAAC,CAAkB;IACvC,OAAO,CAAC,SAAS,CAKd;IAEa,iBAAiB,IAAI,IAAI;IAiBzB,oBAAoB,IAAI,IAAI;cAMzB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAU9E,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,kBAAkB;IA+B1B,wEAAwE;IACjE,KAAK,IAAI,IAAI;IAWpB,mEAAmE;IAC5D,OAAO,IAAI,IAAI;IAYtB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,yBAAyB;IAKjC,OAAO,CAAC,2BAA2B;cAKhB,MAAM,IAAI,cAAc;CAU5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,gBAAgB,EAAE,mBAAmB,CAAC;KACvC;CACF"}