@sbb-esta/lyne-elements 1.10.0 → 1.11.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 (285) hide show
  1. package/autocomplete/autocomplete.d.ts.map +1 -1
  2. package/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  3. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +0 -3
  4. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
  5. package/autocomplete-grid/autocomplete-grid-button.js +32 -28
  6. package/autocomplete-grid/autocomplete-grid.js +16 -17
  7. package/autocomplete.js +23 -24
  8. package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts +0 -1
  9. package/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  10. package/breadcrumb/breadcrumb-group.js +25 -24
  11. package/button/button/button.d.ts +1 -1
  12. package/button/button-link/button-link.d.ts +1 -1
  13. package/button/button-link.js +14 -14
  14. package/button/button.js +9 -9
  15. package/button/mini-button/mini-button.d.ts +1 -1
  16. package/button/mini-button/mini-button.d.ts.map +1 -1
  17. package/button/mini-button.js +15 -17
  18. package/button/secondary-button/secondary-button.d.ts +1 -1
  19. package/button/secondary-button-link/secondary-button-link.d.ts +1 -1
  20. package/button/secondary-button-link.js +15 -15
  21. package/button/secondary-button.js +6 -6
  22. package/button/tertiary-button/tertiary-button.d.ts +1 -1
  23. package/button/tertiary-button-link/tertiary-button-link.d.ts +1 -1
  24. package/button/tertiary-button-link.js +12 -12
  25. package/button/tertiary-button.js +13 -13
  26. package/button/transparent-button/transparent-button.d.ts +1 -1
  27. package/button/transparent-button-link/transparent-button-link.d.ts +1 -1
  28. package/button/transparent-button-link.js +15 -15
  29. package/button/transparent-button.js +8 -8
  30. package/card/card-badge/card-badge.d.ts.map +1 -1
  31. package/card/card-badge.js +7 -9
  32. package/card/common/card-action-common.d.ts.map +1 -1
  33. package/card/common.js +24 -25
  34. package/container/sticky-bar/sticky-bar.d.ts +0 -1
  35. package/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  36. package/container/sticky-bar.js +20 -20
  37. package/core/a11y/arrow-navigation.d.ts.map +1 -1
  38. package/core/a11y.js +46 -47
  39. package/core/base-elements/action-base-element.d.ts +1 -0
  40. package/core/base-elements/action-base-element.d.ts.map +1 -1
  41. package/core/base-elements/link-base-element.d.ts.map +1 -1
  42. package/core/base-elements.js +52 -49
  43. package/core/controllers/language-controller.d.ts.map +1 -1
  44. package/core/controllers.js +22 -23
  45. package/core/dom/get-document-writing-mode.d.ts +3 -0
  46. package/core/dom/get-document-writing-mode.d.ts.map +1 -1
  47. package/core/mixins/disabled-mixin.d.ts +9 -4
  48. package/core/mixins/disabled-mixin.d.ts.map +1 -1
  49. package/core/mixins.js +68 -58
  50. package/core/observers/intersection-observer.d.ts +6 -0
  51. package/core/observers/intersection-observer.d.ts.map +1 -1
  52. package/core/observers/mutation-observer.d.ts +6 -0
  53. package/core/observers/mutation-observer.d.ts.map +1 -1
  54. package/core/observers/resize-observer.d.ts +6 -0
  55. package/core/observers/resize-observer.d.ts.map +1 -1
  56. package/core/styles/core.scss +23 -0
  57. package/core/styles/mixins/overlay.scss +2 -2
  58. package/core.css +23 -0
  59. package/custom-elements.json +1268 -159
  60. package/datepicker/datepicker/datepicker.d.ts +1 -1
  61. package/datepicker/datepicker/datepicker.d.ts.map +1 -1
  62. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -2
  63. package/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  64. package/datepicker/datepicker-toggle.js +36 -45
  65. package/datepicker/datepicker.js +34 -35
  66. package/development/autocomplete/autocomplete.d.ts.map +1 -1
  67. package/development/autocomplete-grid/autocomplete-grid/autocomplete-grid.d.ts.map +1 -1
  68. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts +0 -3
  69. package/development/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.d.ts.map +1 -1
  70. package/development/autocomplete-grid/autocomplete-grid-button.js +17 -15
  71. package/development/autocomplete-grid/autocomplete-grid.js +2 -3
  72. package/development/autocomplete.js +4 -5
  73. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts +0 -1
  74. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.d.ts.map +1 -1
  75. package/development/breadcrumb/breadcrumb-group.js +9 -8
  76. package/development/button/button/button.d.ts +1 -1
  77. package/development/button/button-link/button-link.d.ts +1 -1
  78. package/development/button/button-link.js +3 -3
  79. package/development/button/button.js +3 -3
  80. package/development/button/mini-button/mini-button.d.ts +1 -1
  81. package/development/button/mini-button/mini-button.d.ts.map +1 -1
  82. package/development/button/mini-button.js +3 -5
  83. package/development/button/secondary-button/secondary-button.d.ts +1 -1
  84. package/development/button/secondary-button-link/secondary-button-link.d.ts +1 -1
  85. package/development/button/secondary-button-link.js +3 -3
  86. package/development/button/secondary-button.js +3 -3
  87. package/development/button/tertiary-button/tertiary-button.d.ts +1 -1
  88. package/development/button/tertiary-button-link/tertiary-button-link.d.ts +1 -1
  89. package/development/button/tertiary-button-link.js +3 -3
  90. package/development/button/tertiary-button.js +3 -3
  91. package/development/button/transparent-button/transparent-button.d.ts +1 -1
  92. package/development/button/transparent-button-link/transparent-button-link.d.ts +1 -1
  93. package/development/button/transparent-button-link.js +3 -3
  94. package/development/button/transparent-button.js +3 -3
  95. package/development/card/card-badge/card-badge.d.ts.map +1 -1
  96. package/development/card/card-badge.js +3 -5
  97. package/development/card/common/card-action-common.d.ts.map +1 -1
  98. package/development/card/common.js +8 -10
  99. package/development/container/sticky-bar/sticky-bar.d.ts +0 -1
  100. package/development/container/sticky-bar/sticky-bar.d.ts.map +1 -1
  101. package/development/container/sticky-bar.js +8 -9
  102. package/development/core/a11y/arrow-navigation.d.ts.map +1 -1
  103. package/development/core/a11y.js +2 -3
  104. package/development/core/base-elements/action-base-element.d.ts +1 -0
  105. package/development/core/base-elements/action-base-element.d.ts.map +1 -1
  106. package/development/core/base-elements/link-base-element.d.ts.map +1 -1
  107. package/development/core/base-elements.js +7 -4
  108. package/development/core/controllers/language-controller.d.ts.map +1 -1
  109. package/development/core/controllers.js +9 -4
  110. package/development/core/dom/get-document-writing-mode.d.ts +3 -0
  111. package/development/core/dom/get-document-writing-mode.d.ts.map +1 -1
  112. package/development/core/dom.js +1 -1
  113. package/development/core/mixins/disabled-mixin.d.ts +9 -4
  114. package/development/core/mixins/disabled-mixin.d.ts.map +1 -1
  115. package/development/core/mixins.js +25 -9
  116. package/development/core/observers/intersection-observer.d.ts +6 -0
  117. package/development/core/observers/intersection-observer.d.ts.map +1 -1
  118. package/development/core/observers/mutation-observer.d.ts +6 -0
  119. package/development/core/observers/mutation-observer.d.ts.map +1 -1
  120. package/development/core/observers/resize-observer.d.ts +6 -0
  121. package/development/core/observers/resize-observer.d.ts.map +1 -1
  122. package/development/core/observers.js +1 -1
  123. package/development/datepicker/datepicker/datepicker.d.ts +1 -1
  124. package/development/datepicker/datepicker/datepicker.d.ts.map +1 -1
  125. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts +0 -2
  126. package/development/datepicker/datepicker-toggle/datepicker-toggle.d.ts.map +1 -1
  127. package/development/datepicker/datepicker-toggle.js +2 -12
  128. package/development/datepicker/datepicker.js +6 -7
  129. package/development/dialog/dialog/dialog.d.ts +0 -1
  130. package/development/dialog/dialog/dialog.d.ts.map +1 -1
  131. package/development/dialog/dialog.js +10 -10
  132. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +1 -1
  133. package/development/expansion-panel/expansion-panel-header.js +3 -3
  134. package/development/flip-card/flip-card-details/flip-card-details.d.ts +2 -5
  135. package/development/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  136. package/development/flip-card/flip-card-details.js +10 -22
  137. package/development/form-field/form-field/form-field.d.ts.map +1 -1
  138. package/development/form-field/form-field.js +11 -12
  139. package/development/header/common.js +42 -21
  140. package/development/header/header/header.d.ts +2 -0
  141. package/development/header/header/header.d.ts.map +1 -1
  142. package/development/header/header.js +12 -1
  143. package/development/journey-header/journey-header.d.ts.map +1 -1
  144. package/development/journey-header.js +3 -4
  145. package/development/link/block-link-button/block-link-button.d.ts +1 -1
  146. package/development/link/block-link-button.js +3 -3
  147. package/development/link/link-button/link-button.d.ts +1 -1
  148. package/development/link/link-button.js +3 -3
  149. package/development/logo.js +2 -4
  150. package/development/map-container/map-container.d.ts +8 -5
  151. package/development/map-container/map-container.d.ts.map +1 -1
  152. package/development/map-container.js +31 -34
  153. package/development/menu/common/menu-action-common.d.ts +1 -2
  154. package/development/menu/common/menu-action-common.d.ts.map +1 -1
  155. package/development/menu/common.js +1 -1
  156. package/development/menu/menu/menu.d.ts.map +1 -1
  157. package/development/menu/menu-button/menu-button.d.ts +1 -1
  158. package/development/menu/menu-button.js +3 -3
  159. package/development/menu/menu-link/menu-link.d.ts +1 -1
  160. package/development/menu/menu-link/menu-link.d.ts.map +1 -1
  161. package/development/menu/menu-link.js +5 -2
  162. package/development/menu/menu.js +4 -2
  163. package/development/navigation/navigation/navigation.d.ts +1 -1
  164. package/development/navigation/navigation/navigation.d.ts.map +1 -1
  165. package/development/navigation/navigation-marker/navigation-marker.d.ts +1 -2
  166. package/development/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  167. package/development/navigation/navigation-marker.js +8 -15
  168. package/development/navigation/navigation.js +13 -10
  169. package/development/notification/notification.d.ts +0 -1
  170. package/development/notification/notification.d.ts.map +1 -1
  171. package/development/notification.js +11 -13
  172. package/development/option/optgroup/optgroup-base-element.d.ts +0 -2
  173. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  174. package/development/option/optgroup.js +9 -14
  175. package/development/option/option/option-base-element.d.ts +0 -3
  176. package/development/option/option/option-base-element.d.ts.map +1 -1
  177. package/development/option/option.js +6 -10
  178. package/development/popover/popover-trigger/popover-trigger.d.ts +1 -1
  179. package/development/popover/popover-trigger.js +3 -3
  180. package/development/select/select.d.ts.map +1 -1
  181. package/development/select.js +4 -5
  182. package/development/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  183. package/development/selection-expansion-panel.js +10 -9
  184. package/development/signet/signet.d.ts +4 -1
  185. package/development/signet/signet.d.ts.map +1 -1
  186. package/development/signet.js +37 -8
  187. package/development/slider/slider.d.ts.map +1 -1
  188. package/development/slider.js +12 -10
  189. package/development/stepper/step/step.d.ts +1 -2
  190. package/development/stepper/step/step.d.ts.map +1 -1
  191. package/development/stepper/step.js +9 -14
  192. package/development/table/table-wrapper/table-wrapper.d.ts +0 -1
  193. package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  194. package/development/table/table-wrapper.js +7 -7
  195. package/development/tabs/tab-group/tab-group.d.ts +0 -1
  196. package/development/tabs/tab-group/tab-group.d.ts.map +1 -1
  197. package/development/tabs/tab-group.js +19 -18
  198. package/development/tag/tag/tag.d.ts +1 -1
  199. package/development/tag/tag.js +3 -3
  200. package/development/toggle/toggle/toggle.d.ts +0 -1
  201. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  202. package/development/toggle/toggle-option.js +2 -2
  203. package/development/toggle/toggle.js +7 -7
  204. package/development/train/train-formation/train-formation.d.ts +1 -2
  205. package/development/train/train-formation/train-formation.d.ts.map +1 -1
  206. package/development/train/train-formation.js +10 -8
  207. package/dialog/dialog/dialog.d.ts +0 -1
  208. package/dialog/dialog/dialog.d.ts.map +1 -1
  209. package/dialog/dialog.js +16 -17
  210. package/expansion-panel/expansion-panel-header/expansion-panel-header.d.ts +1 -1
  211. package/expansion-panel/expansion-panel-header.js +1 -1
  212. package/flip-card/flip-card-details/flip-card-details.d.ts +2 -5
  213. package/flip-card/flip-card-details/flip-card-details.d.ts.map +1 -1
  214. package/flip-card/flip-card-details.js +20 -28
  215. package/form-field/form-field/form-field.d.ts.map +1 -1
  216. package/form-field/form-field.js +26 -27
  217. package/header/common.js +3 -3
  218. package/header/header/header.d.ts +2 -0
  219. package/header/header/header.d.ts.map +1 -1
  220. package/header/header.js +21 -18
  221. package/journey-header/journey-header.d.ts.map +1 -1
  222. package/journey-header.js +14 -15
  223. package/link/block-link-button/block-link-button.d.ts +1 -1
  224. package/link/block-link-button.js +10 -10
  225. package/link/link-button/link-button.d.ts +1 -1
  226. package/link/link-button.js +4 -4
  227. package/logo.js +1 -1
  228. package/map-container/map-container.d.ts +8 -5
  229. package/map-container/map-container.d.ts.map +1 -1
  230. package/map-container.js +35 -37
  231. package/menu/common/menu-action-common.d.ts +1 -2
  232. package/menu/common/menu-action-common.d.ts.map +1 -1
  233. package/menu/menu/menu.d.ts.map +1 -1
  234. package/menu/menu-button/menu-button.d.ts +1 -1
  235. package/menu/menu-button.js +13 -13
  236. package/menu/menu-link/menu-link.d.ts +1 -1
  237. package/menu/menu-link/menu-link.d.ts.map +1 -1
  238. package/menu/menu-link.js +15 -12
  239. package/menu/menu.js +9 -7
  240. package/navigation/navigation/navigation.d.ts +1 -1
  241. package/navigation/navigation/navigation.d.ts.map +1 -1
  242. package/navigation/navigation-marker/navigation-marker.d.ts +1 -2
  243. package/navigation/navigation-marker/navigation-marker.d.ts.map +1 -1
  244. package/navigation/navigation-marker.js +17 -22
  245. package/navigation/navigation.js +40 -34
  246. package/notification/notification.d.ts +0 -1
  247. package/notification/notification.d.ts.map +1 -1
  248. package/notification.js +17 -18
  249. package/option/optgroup/optgroup-base-element.d.ts +0 -2
  250. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  251. package/option/optgroup.js +31 -33
  252. package/option/option/option-base-element.d.ts +0 -3
  253. package/option/option/option-base-element.d.ts.map +1 -1
  254. package/option/option.js +16 -18
  255. package/package.json +3 -2
  256. package/popover/popover-trigger/popover-trigger.d.ts +1 -1
  257. package/popover/popover-trigger.js +1 -1
  258. package/select/select.d.ts.map +1 -1
  259. package/select.js +14 -15
  260. package/selection-expansion-panel/selection-expansion-panel.d.ts.map +1 -1
  261. package/selection-expansion-panel.js +25 -24
  262. package/signet/signet.d.ts +4 -1
  263. package/signet/signet.d.ts.map +1 -1
  264. package/signet.js +34 -23
  265. package/slider/slider.d.ts.map +1 -1
  266. package/slider.js +5 -5
  267. package/standard-theme.css +23 -0
  268. package/stepper/step/step.d.ts +1 -2
  269. package/stepper/step/step.d.ts.map +1 -1
  270. package/stepper/step.js +19 -24
  271. package/table/table-wrapper/table-wrapper.d.ts +0 -1
  272. package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  273. package/table/table-wrapper.js +19 -18
  274. package/tabs/tab-group/tab-group.d.ts +0 -1
  275. package/tabs/tab-group/tab-group.d.ts.map +1 -1
  276. package/tabs/tab-group.js +37 -33
  277. package/tag/tag/tag.d.ts +1 -1
  278. package/tag/tag.js +19 -19
  279. package/toggle/toggle/toggle.d.ts +0 -1
  280. package/toggle/toggle/toggle.d.ts.map +1 -1
  281. package/toggle/toggle-option.js +1 -1
  282. package/toggle/toggle.js +32 -31
  283. package/train/train-formation/train-formation.d.ts +1 -2
  284. package/train/train-formation/train-formation.d.ts.map +1 -1
  285. package/train/train-formation.js +23 -22
@@ -1,7 +1,7 @@
1
1
  import { property, customElement } from "lit/decorators.js";
2
2
  import { getNextElementIndex } from "./core/a11y.js";
3
3
  import { hostAttributes } from "./core/decorators.js";
4
- import { findReferencedElement, isSafari, getDocumentWritingMode } from "./core/dom.js";
4
+ import { findReferencedElement, isSafari } from "./core/dom.js";
5
5
  import { isEventOnElement, setOverlayPosition, removeAriaComboBoxAttributes, overlayGapFixCorners, setAriaComboBoxAttributes } from "./core/overlay.js";
6
6
  import { css, isServer, html, nothing } from "lit";
7
7
  import { ref } from "lit/directives/ref.js";
@@ -41,7 +41,7 @@ const style = css`/** This mixin can be used to avoid spacing problems by insert
41
41
  .sbb-gap-fix-corner#left {
42
42
  left: calc(var(--sbb-options-panel-border-radius) / 2 * -1);
43
43
  }
44
- :host([dir=rtl]) .sbb-gap-fix-corner#left {
44
+ :host(:dir(rtl)) .sbb-gap-fix-corner#left {
45
45
  right: calc(var(--sbb-options-panel-border-radius) / 2 * -1);
46
46
  left: unset;
47
47
  }
@@ -49,7 +49,7 @@ const style = css`/** This mixin can be used to avoid spacing problems by insert
49
49
  .sbb-gap-fix-corner#right {
50
50
  right: calc(var(--sbb-options-panel-border-radius) / 2 * -1);
51
51
  }
52
- :host([dir=rtl]) .sbb-gap-fix-corner#right {
52
+ :host(:dir(rtl)) .sbb-gap-fix-corner#right {
53
53
  left: calc(var(--sbb-options-panel-border-radius) / 2 * -1);
54
54
  right: unset;
55
55
  }
@@ -728,7 +728,6 @@ let SbbAutocompleteElement = class extends SbbAutocompleteBaseElement {
728
728
  SbbAutocompleteElement = __decorateClass([
729
729
  customElement("sbb-autocomplete"),
730
730
  hostAttributes({
731
- dir: getDocumentWritingMode(),
732
731
  role: ariaRoleOnHost ? "listbox" : null
733
732
  })
734
733
  ], SbbAutocompleteElement);
@@ -736,4 +735,4 @@ export {
736
735
  SbbAutocompleteBaseElement,
737
736
  SbbAutocompleteElement
738
737
  };
739
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1iYXNlLWVsZW1lbnQudHMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBpc1NlcnZlcixcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyIH0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmaW5kUmVmZXJlbmNlZEVsZW1lbnQsIGlzU2FmYXJpIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgU2JiTmVnYXRpdmVNaXhpbiwgU2JiSHlkcmF0aW9uTWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQge1xuICBpc0V2ZW50T25FbGVtZW50LFxuICBvdmVybGF5R2FwRml4Q29ybmVycyxcbiAgcmVtb3ZlQXJpYUNvbWJvQm94QXR0cmlidXRlcyxcbiAgc2V0T3ZlcmxheVBvc2l0aW9uLFxufSBmcm9tICcuLi9jb3JlL292ZXJsYXkuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcHRpb25CYXNlRWxlbWVudCB9IGZyb20gJy4uL29wdGlvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2F1dG9jb21wbGV0ZS1iYXNlLWVsZW1lbnQuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBPbiBTYWZhcmksIHRoZSBhcmlhIHJvbGUgJ2xpc3Rib3gnIG11c3QgYmUgb24gdGhlIGhvc3QgZWxlbWVudCwgb3IgZWxzZSBWb2ljZU92ZXIgd29uJ3Qgd29yayBhdCBhbGwuXG4gKiBPbiB0aGUgb3RoZXIgaGFuZCwgSkFXUyBhbmQgTlZEQSBuZWVkIHRoZSByb2xlIHRvIGJlIFwiY2xvc2VyXCIgdG8gdGhlIG9wdGlvbnMsIG9yIGVsc2Ugb3B0Z3JvdXBzIHdvbid0IHdvcmsuXG4gKi9cbmNvbnN0IGFyaWFSb2xlT25Ib3N0ID0gaXNTYWZhcmk7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYkh5ZHJhdGlvbk1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgd2hlcmUgdGhlIGF1dG9jb21wbGV0ZSB3aWxsIGF0dGFjaDsgYWNjZXB0cyBib3RoIGFuIGVsZW1lbnQncyBpZCBvciBhbiBIVE1MRWxlbWVudC5cbiAgICogSWYgbm90IHNldCwgaXQgd2lsbCBzZWFyY2ggZm9yIHRoZSBmaXJzdCAnc2JiLWZvcm0tZmllbGQnIGFuY2VzdG9yLlxuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIG9yaWdpbj86IHN0cmluZyB8IEhUTUxFbGVtZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgYXV0b2NvbXBsZXRlIG9wZW5pbmc7IGFjY2VwdHMgYm90aCBhbiBlbGVtZW50J3MgaWQgb3IgYW4gSFRNTEVsZW1lbnQuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBhdXRvY29tcGxldGUgd2lsbCBvcGVuIG9uIGZvY3VzLCBjbGljaywgaW5wdXQgb3IgYEFycm93RG93bmAga2V5cHJlc3Mgb2YgdGhlICd0cmlnZ2VyJyBlbGVtZW50LlxuICAgKiBJZiBub3Qgc2V0LCB3aWxsIHNlYXJjaCBmb3IgdGhlIGZpcnN0ICdpbnB1dCcgY2hpbGQgb2YgYSAnc2JiLWZvcm0tZmllbGQnIGFuY2VzdG9yLlxuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIHRyaWdnZXI/OiBzdHJpbmcgfCBIVE1MSW5wdXRFbGVtZW50O1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBpY29uIHNwYWNlIGlzIHByZXNlcnZlZCB3aGVuIG5vIGljb24gaXMgc2V0LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwcmVzZXJ2ZS1pY29uLXNwYWNlJywgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgcHJlc2VydmVJY29uU3BhY2U/OiBib29sZWFuO1xuXG4gIC8qKiBSZXR1cm5zIHRoZSBlbGVtZW50IHdoZXJlIGF1dG9jb21wbGV0ZSBvdmVybGF5IGlzIGF0dGFjaGVkIHRvLiAqL1xuICBwdWJsaWMgZ2V0IG9yaWdpbkVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIGlmICghdGhpcy5fb3JpZ2luRWxlbWVudCkge1xuICAgICAgdGhpcy5fb3JpZ2luRWxlbWVudCA9IHRoaXMuX2ZpbmRPcmlnaW5FbGVtZW50KCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9vcmlnaW5FbGVtZW50O1xuICB9XG4gIHByaXZhdGUgX29yaWdpbkVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcblxuICAvKiogUmV0dXJucyB0aGUgdHJpZ2dlciBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IHRyaWdnZXJFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VyRWxlbWVudDtcbiAgfVxuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3ZlcmxheUlkOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBwYW5lbFJvbGU6IHN0cmluZztcbiAgcHJvdGVjdGVkIGFib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfb3ZlcmxheSE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9vcHRpb25Db250YWluZXIhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2RpZExvYWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaXNQb2ludGVyRG93bkV2ZW50T25NZW51OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBvcHRpb25zKCk6IFNiYk9wdGlvbkJhc2VFbGVtZW50W107XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzeW5jTmVnYXRpdmUoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNldFRyaWdnZXJBdHRyaWJ1dGVzKGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3BlbmVkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNlbGVjdEJ5S2V5Ym9hcmQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0TmV4dEFjdGl2ZU9wdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZXNldEFjdGl2ZUVsZW1lbnQoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IG9uT3B0aW9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkO1xuXG4gIC8qKiBPcGVucyB0aGUgYXV0b2NvbXBsZXRlLiAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnN0YXRlICE9PSAnY2xvc2VkJyB8fFxuICAgICAgIXRoaXMuX292ZXJsYXkgfHxcbiAgICAgIHRoaXMub3B0aW9ucy5sZW5ndGggPT09IDAgfHxcbiAgICAgIHRoaXMuX3JlYWRvbmx5KClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLndpbGxPcGVuLmVtaXQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5fc2V0T3ZlcmxheVBvc2l0aW9uKCk7XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBhdXRvY29tcGxldGUuICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLndpbGxDbG9zZS5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIuYWJvcnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGlmIChhcmlhUm9sZU9uSG9zdCkge1xuICAgICAgdGhpcy5pZCB8fD0gdGhpcy5vdmVybGF5SWQ7XG4gICAgfVxuICAgIGNvbnN0IHNpZ25hbCA9IHRoaXMuYWJvcnQuc2lnbmFsO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKSA/PyB0aGlzLmNsb3Nlc3QoJ1tkYXRhLWZvcm0tZmllbGRdJyk7XG5cbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gZm9ybUZpZWxkLmhhc0F0dHJpYnV0ZSgnbmVnYXRpdmUnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZGlkTG9hZCkge1xuICAgICAgdGhpcy5fY29tcG9uZW50U2V0dXAoKTtcbiAgICB9XG4gICAgdGhpcy5zeW5jTmVnYXRpdmUoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZTogTW91c2VFdmVudCkgPT4gdGhpcy5vbk9wdGlvbkNsaWNrKGUpLCB7IHNpZ25hbCB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnb3JpZ2luJykpIHtcbiAgICAgIHRoaXMuX3Jlc2V0T3JpZ2luQ2xpY2tMaXN0ZW5lcih0aGlzLm9yaWdpbiwgY2hhbmdlZFByb3BlcnRpZXMuZ2V0KCdvcmlnaW4nKSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3RyaWdnZXInKSkge1xuICAgICAgdGhpcy5fcmVzZXRUcmlnZ2VyQ2xpY2tMaXN0ZW5lcih0aGlzLnRyaWdnZXIsIGNoYW5nZWRQcm9wZXJ0aWVzLmdldCgndHJpZ2dlcicpKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbmVnYXRpdmUnKSkge1xuICAgICAgdGhpcy5zeW5jTmVnYXRpdmUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9jb21wb25lbnRTZXR1cCgpO1xuICAgIHRoaXMuX2RpZExvYWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIC8qKiBXaGVuIGFuIG9wdGlvbiBpcyBzZWxlY3RlZCwgdXBkYXRlIHRoZSBpbnB1dCB2YWx1ZSBhbmQgY2xvc2UgdGhlIGF1dG9jb21wbGV0ZS4gKi9cbiAgcHJvdGVjdGVkIG9uT3B0aW9uU2VsZWN0ZWQoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIFNiYk9wdGlvbkJhc2VFbGVtZW50O1xuICAgIGlmICghdGFyZ2V0LnNlbGVjdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRGVzZWxlY3QgdGhlIHByZXZpb3VzIG9wdGlvbnNcbiAgICB0aGlzLm9wdGlvbnNcbiAgICAgIC5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLmlkICE9PSB0YXJnZXQuaWQgJiYgb3B0aW9uLnNlbGVjdGVkKVxuICAgICAgLmZvckVhY2goKG9wdGlvbikgPT4gKG9wdGlvbi5zZWxlY3RlZCA9IGZhbHNlKSk7XG5cbiAgICBpZiAodGhpcy50cmlnZ2VyRWxlbWVudCkge1xuICAgICAgLy8gU2V0IHRoZSBvcHRpb24gdmFsdWVcbiAgICAgIHRoaXMudHJpZ2dlckVsZW1lbnQudmFsdWUgPSB0YXJnZXQudmFsdWUgYXMgc3RyaW5nO1xuXG4gICAgICAvLyBNYW51YWxseSB0cmlnZ2VyIHRoZSBjaGFuZ2UgZXZlbnRzXG4gICAgICB0aGlzLnRyaWdnZXJFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgdGhpcy50cmlnZ2VyRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIH1cblxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5faGlnaGxpZ2h0T3B0aW9ucyh0aGlzLnRyaWdnZXJFbGVtZW50Py52YWx1ZSk7XG4gIH1cblxuICAvKiogVGhlIGF1dG9jb21wbGV0ZSBzaG91bGQgaW5oZXJpdCAncmVhZG9ubHknIHN0YXRlIGZyb20gdGhlIHRyaWdnZXIuICovXG4gIHByaXZhdGUgX3JlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJFbGVtZW50Py5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5JykgPz8gZmFsc2U7XG4gIH1cblxuICAvKiogUmVtb3ZlcyB0cmlnZ2VyIGNsaWNrIGxpc3RlbmVyIG9uIHRyaWdnZXIgY2hhbmdlLiAqL1xuICBwcml2YXRlIF9yZXNldE9yaWdpbkNsaWNrTGlzdGVuZXIoXG4gICAgbmV3VmFsdWU/OiBzdHJpbmcgfCBIVE1MRWxlbWVudCxcbiAgICBvbGRWYWx1ZT86IHN0cmluZyB8IEhUTUxFbGVtZW50LFxuICApOiB2b2lkIHtcbiAgICBpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7XG4gICAgICB0aGlzLl9jb21wb25lbnRTZXR1cCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZW1vdmVzIHRyaWdnZXIgY2xpY2sgbGlzdGVuZXIgb24gdHJpZ2dlciBjaGFuZ2UuICovXG4gIHByaXZhdGUgX3Jlc2V0VHJpZ2dlckNsaWNrTGlzdGVuZXIoXG4gICAgbmV3VmFsdWU/OiBzdHJpbmcgfCBIVE1MRWxlbWVudCxcbiAgICBvbGRWYWx1ZT86IHN0cmluZyB8IEhUTUxFbGVtZW50LFxuICApOiB2b2lkIHtcbiAgICBpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7XG4gICAgICB0aGlzLl9jb21wb25lbnRTZXR1cCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NvbXBvbmVudFNldHVwKCk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl90cmlnZ2VyRXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuXG4gICAgdGhpcy5fb3JpZ2luRWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICdkYXRhLW9wdGlvbi1wYW5lbC1vcmlnaW4tYm9yZGVybGVzcycsXG4gICAgICAhIXRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpPy5oYXNBdHRyaWJ1dGUoJ2JvcmRlcmxlc3MnKSxcbiAgICApO1xuXG4gICAgdGhpcy5fYmluZFRvKHRoaXMuX2dldFRyaWdnZXJFbGVtZW50KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSBlbGVtZW50IHdoZXJlIHRoZSBhdXRvY29tcGxldGUgd2lsbCBiZSBhdHRhY2hlZC5cbiAgICogQHJldHVybnMgJ29yaWdpbicgb3IgdGhlIGZpcnN0ICdzYmItZm9ybS1maWVsZCcgYW5jZXN0b3IuXG4gICAqL1xuICBwcml2YXRlIF9maW5kT3JpZ2luRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgbGV0IHJlc3VsdDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgfCBudWxsO1xuXG4gICAgaWYgKCF0aGlzLm9yaWdpbikge1xuICAgICAgcmVzdWx0ID0gdGhpcy5jbG9zZXN0Py4oJ3NiYi1mb3JtLWZpZWxkJyk/LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3I/LignI292ZXJsYXktYW5jaG9yJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IGZpbmRSZWZlcmVuY2VkRWxlbWVudCh0aGlzLm9yaWdpbik7XG4gICAgfVxuXG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0Nhbm5vdCBmaW5kIHRoZSBvcmlnaW4gZWxlbWVudC4gUGxlYXNlIHNwZWNpZnkgYSB2YWxpZCBlbGVtZW50IG9yIHJlYWQgdGhlIFwib3JpZ2luXCIgcHJvcCBkb2N1bWVudGF0aW9uJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgYXV0b2NvbXBsZXRlIG9wZW5pbmcuXG4gICAqIEByZXR1cm5zICd0cmlnZ2VyJyBvciB0aGUgZmlyc3QgJ2lucHV0JyBpbnNpZGUgdGhlIG9yaWdpbiBlbGVtZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0VHJpZ2dlckVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgaWYgKCF0aGlzLnRyaWdnZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLmNsb3Nlc3Q/Lignc2JiLWZvcm0tZmllbGQnKT8ucXVlcnlTZWxlY3RvcignaW5wdXQnKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGZpbmRSZWZlcmVuY2VkRWxlbWVudDxIVE1MSW5wdXRFbGVtZW50Pih0aGlzLnRyaWdnZXIpO1xuXG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0Nhbm5vdCBmaW5kIHRoZSB0cmlnZ2VyIGVsZW1lbnQuIFBsZWFzZSBzcGVjaWZ5IGEgdmFsaWQgZWxlbWVudCBvciByZWFkIHRoZSBcInRyaWdnZXJcIiBwcm9wIGRvY3VtZW50YXRpb24nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfYmluZFRvKHRyaWdnZXJFbGVtOiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKCF0cmlnZ2VyRWxlbSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFJlc2V0IGF0dHJpYnV0ZXMgdG8gdGhlIG9sZCB0cmlnZ2VyIGFuZCBhZGQgdGhlbSB0byB0aGUgbmV3IG9uZVxuICAgIHRoaXMuX3JlbW92ZVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMudHJpZ2dlckVsZW1lbnQpO1xuICAgIHRoaXMuc2V0VHJpZ2dlckF0dHJpYnV0ZXModHJpZ2dlckVsZW0pO1xuXG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSB0cmlnZ2VyRWxlbTtcblxuICAgIHRoaXMuX3NldHVwVHJpZ2dlckV2ZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0dXBUcmlnZ2VyRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX3RyaWdnZXJFdmVudHNDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gICAgLy8gT3BlbiB0aGUgb3ZlcmxheSBvbiBmb2N1cywgY2xpY2ssIGlucHV0IGFuZCBgQXJyb3dEb3duYCBldmVudFxuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgKCkgPT4gdGhpcy5vcGVuKCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5vcGVuKCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnaW5wdXQnLFxuICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB0aGlzLl9oaWdobGlnaHRPcHRpb25zKChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUpO1xuICAgICAgfSxcbiAgICAgIHsgc2lnbmFsOiB0aGlzLl90cmlnZ2VyRXZlbnRzQ29udHJvbGxlci5zaWduYWwgfSxcbiAgICApO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAna2V5ZG93bicsXG4gICAgICAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHRoaXMuX2Nsb3NlZFBhbmVsS2V5Ym9hcmRJbnRlcmFjdGlvbihldmVudCksXG4gICAgICB7IHNpZ25hbDogdGhpcy5fdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8vIFNldCBvdmVybGF5IHBvc2l0aW9uLCB3aWR0aCBhbmQgbWF4IGhlaWdodFxuICBwcml2YXRlIF9zZXRPdmVybGF5UG9zaXRpb24oKTogdm9pZCB7XG4gICAgc2V0T3ZlcmxheVBvc2l0aW9uKFxuICAgICAgdGhpcy5fb3ZlcmxheSxcbiAgICAgIHRoaXMub3JpZ2luRWxlbWVudCxcbiAgICAgIHRoaXMuX29wdGlvbkNvbnRhaW5lcixcbiAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignLnNiYi1hdXRvY29tcGxldGVfX2NvbnRhaW5lcicpISxcbiAgICAgIHRoaXMsXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBPbiBvcGVuL2Nsb3NlIGFuaW1hdGlvbiBlbmQuXG4gICAqICBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAgKiAgVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBfb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX29uT3BlbkFuaW1hdGlvbkVuZCgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX29uQ2xvc2VBbmltYXRpb25FbmQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbk9wZW5BbmltYXRpb25FbmQoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuX2F0dGFjaE9wZW5QYW5lbEV2ZW50cygpO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICd0cnVlJyk7XG4gICAgdGhpcy5kaWRPcGVuLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uQ2xvc2VBbmltYXRpb25FbmQoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpO1xuICAgIHRoaXMucmVzZXRBY3RpdmVFbGVtZW50KCk7XG4gICAgdGhpcy5fb3B0aW9uQ29udGFpbmVyLnNjcm9sbFRvcCA9IDA7XG4gICAgdGhpcy5kaWRDbG9zZS5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIF9hdHRhY2hPcGVuUGFuZWxFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIC8vIFJlY2FsY3VsYXRlIHRoZSBvdmVybGF5IHBvc2l0aW9uIG9uIHNjcm9sbCBhbmQgd2luZG93IHJlc2l6ZVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3NldE92ZXJsYXlQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gdGhpcy5fc2V0T3ZlcmxheVBvc2l0aW9uKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMuX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgLy8gQ2xvc2UgYXV0b2NvbXBsZXRlIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgKGV2KSA9PiB0aGlzLl9wb2ludGVyRG93bkxpc3RlbmVyKGV2KSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgKGV2KSA9PiB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljayhldiksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBLZXlib2FyZCBpbnRlcmFjdGlvbnNcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2tleWRvd24nLFxuICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLm9wZW5lZFBhbmVsS2V5Ym9hcmRJbnRlcmFjdGlvbihldmVudCksXG4gICAgICB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgbWVudS5cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25NZW51ID0gaXNFdmVudE9uRWxlbWVudCh0aGlzLl9vdmVybGF5LCBldmVudCk7XG4gIH07XG5cbiAgLy8gSWYgdGhlIGNsaWNrIGlzIG91dHNpZGUgdGhlIGF1dG9jb21wbGV0ZSwgY2xvc2VzIHRoZSBwYW5lbC5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk1lbnUgJiZcbiAgICAgICFpc0V2ZW50T25FbGVtZW50KHRoaXMuX292ZXJsYXksIGV2ZW50KSAmJlxuICAgICAgIWlzRXZlbnRPbkVsZW1lbnQodGhpcy5vcmlnaW5FbGVtZW50LCBldmVudClcbiAgICApIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfY2xvc2VkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBIaWdobGlnaHQgdGhlIHNlYXJjaGVkIHRleHQgb24gdGhlIG9wdGlvbnMuICovXG4gIHByaXZhdGUgX2hpZ2hsaWdodE9wdGlvbnMoc2VhcmNoVGVybT86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChzZWFyY2hUZXJtID09PSBudWxsIHx8IHNlYXJjaFRlcm0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiBvcHRpb24uaGlnaGxpZ2h0KHNlYXJjaFRlcm0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZVRyaWdnZXJBdHRyaWJ1dGVzKGVsZW1lbnQ/OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgcmVtb3ZlQXJpYUNvbWJvQm94QXR0cmlidXRlcyhlbGVtZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX2dhcC1maXhcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItYXV0b2NvbXBsZXRlX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX2dhcC1maXhcIj4ke292ZXJsYXlHYXBGaXhDb3JuZXJzKCl9PC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25BbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItYXV0b2NvbXBsZXRlX19wYW5lbFwiXG4gICAgICAgICAgP2RhdGEtb3Blbj0ke3RoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJ31cbiAgICAgICAgICAke3JlZigob3ZlcmxheVJlZj86IEVsZW1lbnQpID0+ICh0aGlzLl9vdmVybGF5ID0gb3ZlcmxheVJlZiBhcyBIVE1MRWxlbWVudCkpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItYXV0b2NvbXBsZXRlX19vcHRpb25zXCJcbiAgICAgICAgICAgICAgcm9sZT0keyFhcmlhUm9sZU9uSG9zdCA/IHRoaXMucGFuZWxSb2xlIDogbm90aGluZ31cbiAgICAgICAgICAgICAgaWQ9JHshYXJpYVJvbGVPbkhvc3QgPyB0aGlzLm92ZXJsYXlJZCA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgICR7cmVmKChjb250YWluZXJSZWYpID0+ICh0aGlzLl9vcHRpb25Db250YWluZXIgPSBjb250YWluZXJSZWYgYXMgSFRNTEVsZW1lbnQpKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG4iLCJpbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4IH0gZnJvbSAnLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGdldERvY3VtZW50V3JpdGluZ01vZGUsIGlzU2FmYXJpIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgc2V0QXJpYUNvbWJvQm94QXR0cmlidXRlcyB9IGZyb20gJy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdEdyb3VwRWxlbWVudCwgU2JiT3B0aW9uRWxlbWVudCB9IGZyb20gJy4uL29wdGlvbi5qcyc7XG5cbmltcG9ydCB7IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUtYmFzZS1lbGVtZW50LmpzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogT24gU2FmYXJpLCB0aGUgYXJpYSByb2xlICdsaXN0Ym94JyBtdXN0IGJlIG9uIHRoZSBob3N0IGVsZW1lbnQsIG9yIGVsc2UgVm9pY2VPdmVyIHdvbid0IHdvcmsgYXQgYWxsLlxuICogT24gdGhlIG90aGVyIGhhbmQsIEpBV1MgYW5kIE5WREEgbmVlZCB0aGUgcm9sZSB0byBiZSBcImNsb3NlclwiIHRvIHRoZSBvcHRpb25zLCBvciBlbHNlIG9wdGdyb3VwcyB3b24ndCB3b3JrLlxuICovXG5jb25zdCBhcmlhUm9sZU9uSG9zdCA9IGlzU2FmYXJpO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBuYXRpdmUgaW5wdXQsIGl0IGRpc3BsYXlzIGEgcGFuZWwgd2l0aCBhIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1vcHRpb25gIG9yIGBzYmItb3B0Z3JvdXBgIGVsZW1lbnRzIHRvIHRoZSBgc2JiLWF1dG9jb21wbGV0ZWAuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWF1dG9jb21wbGV0ZWAgc3RhcnRzIHRoZSBvcGVuaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1hdXRvY29tcGxldGVgIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWF1dG9jb21wbGV0ZWAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItYXV0b2NvbXBsZXRlYCBpcyBjbG9zZWQuXG4gKiBAY3NzcHJvcCBbLS1zYmItYXV0b2NvbXBsZXRlLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1hdXRvY29tcGxldGUnKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgZGlyOiBnZXREb2N1bWVudFdyaXRpbmdNb2RlKCksXG4gIHJvbGU6IGFyaWFSb2xlT25Ib3N0ID8gJ2xpc3Rib3gnIDogbnVsbCxcbn0pXG5leHBvcnQgY2xhc3MgU2JiQXV0b2NvbXBsZXRlRWxlbWVudCBleHRlbmRzIFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IHtcbiAgcHJvdGVjdGVkIG92ZXJsYXlJZCA9IGBzYmItYXV0b2NvbXBsZXRlLSR7KytuZXh0SWR9YDtcbiAgcHJvdGVjdGVkIHBhbmVsUm9sZSA9ICdsaXN0Ym94JztcbiAgcHJpdmF0ZSBfYWN0aXZlSXRlbUluZGV4ID0gLTE7XG5cbiAgcHJvdGVjdGVkIGdldCBvcHRpb25zKCk6IFNiYk9wdGlvbkVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1vcHRpb24nKSA/PyBbXSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25PcHRpb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIChldmVudC50YXJnZXQgYXMgRWxlbWVudCkubG9jYWxOYW1lICE9PSAnc2JiLW9wdGlvbicgfHxcbiAgICAgIChldmVudC50YXJnZXQgYXMgU2JiT3B0aW9uRWxlbWVudCkuZGlzYWJsZWRcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY29uc3Qgc2lnbmFsID0gdGhpcy5hYm9ydC5zaWduYWw7XG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ29wdGlvblNlbGVjdGlvbkNoYW5nZScsXG4gICAgICAoZTogQ3VzdG9tRXZlbnQ8dm9pZD4pID0+IHRoaXMub25PcHRpb25TZWxlY3RlZChlKSxcbiAgICAgIHsgc2lnbmFsIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW5jTmVnYXRpdmUoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeVNlbGVjdG9yQWxsPy4oJ3NiYi1kaXZpZGVyJykuZm9yRWFjaCgoZGl2aWRlcikgPT4gKGRpdmlkZXIubmVnYXRpdmUgPSB0aGlzLm5lZ2F0aXZlKSk7XG5cbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/LjxTYmJPcHRpb25FbGVtZW50IHwgU2JiT3B0R3JvdXBFbGVtZW50PihcbiAgICAgICdzYmItb3B0aW9uLCBzYmItb3B0Z3JvdXAnLFxuICAgICkuZm9yRWFjaCgoZWxlbWVudCkgPT4gZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbmVnYXRpdmUnLCB0aGlzLm5lZ2F0aXZlKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3BlbmVkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdvcGVuZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICBjYXNlICdUYWInOlxuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdFbnRlcic6XG4gICAgICAgIHRoaXMuc2VsZWN0QnlLZXlib2FyZCgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnQXJyb3dEb3duJzpcbiAgICAgIGNhc2UgJ0Fycm93VXAnOlxuICAgICAgICB0aGlzLnNldE5leHRBY3RpdmVPcHRpb24oZXZlbnQpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VsZWN0QnlLZXlib2FyZCgpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVPcHRpb24gPSB0aGlzLm9wdGlvbnNbdGhpcy5fYWN0aXZlSXRlbUluZGV4XTtcblxuICAgIGlmIChhY3RpdmVPcHRpb24pIHtcbiAgICAgIGFjdGl2ZU9wdGlvbi5zZXRTZWxlY3RlZFZpYVVzZXJJbnRlcmFjdGlvbih0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc2V0TmV4dEFjdGl2ZU9wdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlcmVkT3B0aW9ucyA9IHRoaXMub3B0aW9ucy5maWx0ZXIoXG4gICAgICAob3B0KSA9PiAhb3B0LmRpc2FibGVkICYmICFvcHQuaGFzQXR0cmlidXRlKCdkYXRhLWdyb3VwLWRpc2FibGVkJyksXG4gICAgKTtcblxuICAgIC8vIEdldCBhbmQgYWN0aXZhdGUgdGhlIG5leHQgYWN0aXZlIG9wdGlvblxuICAgIGNvbnN0IG5leHQgPSBnZXROZXh0RWxlbWVudEluZGV4KGV2ZW50LCB0aGlzLl9hY3RpdmVJdGVtSW5kZXgsIGZpbHRlcmVkT3B0aW9ucy5sZW5ndGgpO1xuICAgIGNvbnN0IG5leHRBY3RpdmVPcHRpb24gPSBmaWx0ZXJlZE9wdGlvbnNbbmV4dF07XG4gICAgbmV4dEFjdGl2ZU9wdGlvbi5zZXRBY3RpdmUodHJ1ZSk7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudD8uc2V0QXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnLCBuZXh0QWN0aXZlT3B0aW9uLmlkKTtcbiAgICBuZXh0QWN0aXZlT3B0aW9uLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcblxuICAgIC8vIFJlc2V0IHRoZSBwcmV2aW91cyBhY3RpdmUgb3B0aW9uXG4gICAgY29uc3QgbGFzdEFjdGl2ZU9wdGlvbiA9IGZpbHRlcmVkT3B0aW9uc1t0aGlzLl9hY3RpdmVJdGVtSW5kZXhdO1xuICAgIGlmIChsYXN0QWN0aXZlT3B0aW9uKSB7XG4gICAgICBsYXN0QWN0aXZlT3B0aW9uLnNldEFjdGl2ZShmYWxzZSk7XG4gICAgfVxuXG4gICAgdGhpcy5fYWN0aXZlSXRlbUluZGV4ID0gbmV4dDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNldEFjdGl2ZUVsZW1lbnQoKTogdm9pZCB7XG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IHRoaXMub3B0aW9uc1t0aGlzLl9hY3RpdmVJdGVtSW5kZXhdO1xuXG4gICAgaWYgKGFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgIGFjdGl2ZUVsZW1lbnQuc2V0QWN0aXZlKGZhbHNlKTtcbiAgICB9XG4gICAgdGhpcy5fYWN0aXZlSXRlbUluZGV4ID0gLTE7XG4gICAgdGhpcy50cmlnZ2VyRWxlbWVudD8ucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWFjdGl2ZWRlc2NlbmRhbnQnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRUcmlnZ2VyQXR0cmlidXRlcyhlbGVtZW50OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgc2V0QXJpYUNvbWJvQm94QXR0cmlidXRlcyhlbGVtZW50LCBhcmlhUm9sZU9uSG9zdCA/IHRoaXMuaWQgOiB0aGlzLm92ZXJsYXlJZCwgZmFsc2UpO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYXV0b2NvbXBsZXRlJzogU2JiQXV0b2NvbXBsZXRlRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImFyaWFSb2xlT25Ib3N0IiwiX19kZWNvcmF0ZUNsYXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNkJBLE1BQU1BLG1CQUFpQjtBQUVoQixNQUFlLDhCQUFmLE1BQWUsb0NBQW1DO0FBQUEsRUFDdkQsa0JBQWtCLHVCQUF1QjtBQUMzQyxFQUFFO0FBQUEsRUFGSyxjQUFBO0FBQUEsVUFBQSxHQUFBLFNBQUE7QUF1Q0ssU0FBQSxRQUFRLElBQUksNEJBQTRCLElBQUk7QUFLdEQsU0FBUSxXQUFXO0FBQ25CLFNBQVEsNEJBQXFDO0FBcVRyQyxTQUFBLHVCQUF1QixDQUFDLFVBQThCO0FBQzVELFdBQUssNEJBQTRCLGlCQUFpQixLQUFLLFVBQVUsS0FBSztBQUFBLElBQUE7QUFJaEUsU0FBQSx3QkFBd0IsQ0FBQyxVQUE4QjtBQUM3RCxVQUNF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
738
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS1iYXNlLWVsZW1lbnQudHMiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENTU1Jlc3VsdEdyb3VwLFxuICBodG1sLFxuICBpc1NlcnZlcixcbiAgbm90aGluZyxcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBUZW1wbGF0ZVJlc3VsdCxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuaW1wb3J0IHsgcmVmIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVmLmpzJztcblxuaW1wb3J0IHsgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyIH0gZnJvbSAnLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBmaW5kUmVmZXJlbmNlZEVsZW1lbnQsIGlzU2FmYXJpIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgU2JiTmVnYXRpdmVNaXhpbiwgU2JiSHlkcmF0aW9uTWl4aW4gfSBmcm9tICcuLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQge1xuICBpc0V2ZW50T25FbGVtZW50LFxuICBvdmVybGF5R2FwRml4Q29ybmVycyxcbiAgcmVtb3ZlQXJpYUNvbWJvQm94QXR0cmlidXRlcyxcbiAgc2V0T3ZlcmxheVBvc2l0aW9uLFxufSBmcm9tICcuLi9jb3JlL292ZXJsYXkuanMnO1xuaW1wb3J0IHR5cGUgeyBTYmJPcHRpb25CYXNlRWxlbWVudCB9IGZyb20gJy4uL29wdGlvbi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2F1dG9jb21wbGV0ZS1iYXNlLWVsZW1lbnQuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBPbiBTYWZhcmksIHRoZSBhcmlhIHJvbGUgJ2xpc3Rib3gnIG11c3QgYmUgb24gdGhlIGhvc3QgZWxlbWVudCwgb3IgZWxzZSBWb2ljZU92ZXIgd29uJ3Qgd29yayBhdCBhbGwuXG4gKiBPbiB0aGUgb3RoZXIgaGFuZCwgSkFXUyBhbmQgTlZEQSBuZWVkIHRoZSByb2xlIHRvIGJlIFwiY2xvc2VyXCIgdG8gdGhlIG9wdGlvbnMsIG9yIGVsc2Ugb3B0Z3JvdXBzIHdvbid0IHdvcmsuXG4gKi9cbmNvbnN0IGFyaWFSb2xlT25Ib3N0ID0gaXNTYWZhcmk7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTYmJBdXRvY29tcGxldGVCYXNlRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYkh5ZHJhdGlvbk1peGluKFNiYk9wZW5DbG9zZUJhc2VFbGVtZW50KSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgd2hlcmUgdGhlIGF1dG9jb21wbGV0ZSB3aWxsIGF0dGFjaDsgYWNjZXB0cyBib3RoIGFuIGVsZW1lbnQncyBpZCBvciBhbiBIVE1MRWxlbWVudC5cbiAgICogSWYgbm90IHNldCwgaXQgd2lsbCBzZWFyY2ggZm9yIHRoZSBmaXJzdCAnc2JiLWZvcm0tZmllbGQnIGFuY2VzdG9yLlxuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIG9yaWdpbj86IHN0cmluZyB8IEhUTUxFbGVtZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgYXV0b2NvbXBsZXRlIG9wZW5pbmc7IGFjY2VwdHMgYm90aCBhbiBlbGVtZW50J3MgaWQgb3IgYW4gSFRNTEVsZW1lbnQuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBhdXRvY29tcGxldGUgd2lsbCBvcGVuIG9uIGZvY3VzLCBjbGljaywgaW5wdXQgb3IgYEFycm93RG93bmAga2V5cHJlc3Mgb2YgdGhlICd0cmlnZ2VyJyBlbGVtZW50LlxuICAgKiBJZiBub3Qgc2V0LCB3aWxsIHNlYXJjaCBmb3IgdGhlIGZpcnN0ICdpbnB1dCcgY2hpbGQgb2YgYSAnc2JiLWZvcm0tZmllbGQnIGFuY2VzdG9yLlxuICAgKi9cbiAgQHByb3BlcnR5KCkgcHVibGljIHRyaWdnZXI/OiBzdHJpbmcgfCBIVE1MSW5wdXRFbGVtZW50O1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBpY29uIHNwYWNlIGlzIHByZXNlcnZlZCB3aGVuIG5vIGljb24gaXMgc2V0LiAqL1xuICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdwcmVzZXJ2ZS1pY29uLXNwYWNlJywgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgcHJlc2VydmVJY29uU3BhY2U/OiBib29sZWFuO1xuXG4gIC8qKiBSZXR1cm5zIHRoZSBlbGVtZW50IHdoZXJlIGF1dG9jb21wbGV0ZSBvdmVybGF5IGlzIGF0dGFjaGVkIHRvLiAqL1xuICBwdWJsaWMgZ2V0IG9yaWdpbkVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIGlmICghdGhpcy5fb3JpZ2luRWxlbWVudCkge1xuICAgICAgdGhpcy5fb3JpZ2luRWxlbWVudCA9IHRoaXMuX2ZpbmRPcmlnaW5FbGVtZW50KCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9vcmlnaW5FbGVtZW50O1xuICB9XG4gIHByaXZhdGUgX29yaWdpbkVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcblxuICAvKiogUmV0dXJucyB0aGUgdHJpZ2dlciBlbGVtZW50LiAqL1xuICBwdWJsaWMgZ2V0IHRyaWdnZXJFbGVtZW50KCk6IEhUTUxJbnB1dEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VyRWxlbWVudDtcbiAgfVxuICBwcml2YXRlIF90cmlnZ2VyRWxlbWVudDogSFRNTElucHV0RWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3ZlcmxheUlkOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBwYW5lbFJvbGU6IHN0cmluZztcbiAgcHJvdGVjdGVkIGFib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfb3ZlcmxheSE6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9vcHRpb25Db250YWluZXIhOiBIVE1MRWxlbWVudDtcbiAgcHJpdmF0ZSBfdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIhOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgX2RpZExvYWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfaXNQb2ludGVyRG93bkV2ZW50T25NZW51OiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBvcHRpb25zKCk6IFNiYk9wdGlvbkJhc2VFbGVtZW50W107XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzeW5jTmVnYXRpdmUoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNldFRyaWdnZXJBdHRyaWJ1dGVzKGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3BlbmVkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNlbGVjdEJ5S2V5Ym9hcmQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgc2V0TmV4dEFjdGl2ZU9wdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQ7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZXNldEFjdGl2ZUVsZW1lbnQoKTogdm9pZDtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IG9uT3B0aW9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkO1xuXG4gIC8qKiBPcGVucyB0aGUgYXV0b2NvbXBsZXRlLiAqL1xuICBwdWJsaWMgb3BlbigpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLnN0YXRlICE9PSAnY2xvc2VkJyB8fFxuICAgICAgIXRoaXMuX292ZXJsYXkgfHxcbiAgICAgIHRoaXMub3B0aW9ucy5sZW5ndGggPT09IDAgfHxcbiAgICAgIHRoaXMuX3JlYWRvbmx5KClcbiAgICApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLndpbGxPcGVuLmVtaXQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG4gICAgdGhpcy5fc2V0T3ZlcmxheVBvc2l0aW9uKCk7XG4gIH1cblxuICAvKiogQ2xvc2VzIHRoZSBhdXRvY29tcGxldGUuICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCF0aGlzLndpbGxDbG9zZS5lbWl0KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIHRoaXMuX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIuYWJvcnQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGlmIChhcmlhUm9sZU9uSG9zdCkge1xuICAgICAgdGhpcy5pZCB8fD0gdGhpcy5vdmVybGF5SWQ7XG4gICAgfVxuICAgIGNvbnN0IHNpZ25hbCA9IHRoaXMuYWJvcnQuc2lnbmFsO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdCgnc2JiLWZvcm0tZmllbGQnKSA/PyB0aGlzLmNsb3Nlc3QoJ1tkYXRhLWZvcm0tZmllbGRdJyk7XG5cbiAgICBpZiAoZm9ybUZpZWxkKSB7XG4gICAgICB0aGlzLm5lZ2F0aXZlID0gZm9ybUZpZWxkLmhhc0F0dHJpYnV0ZSgnbmVnYXRpdmUnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZGlkTG9hZCkge1xuICAgICAgdGhpcy5fY29tcG9uZW50U2V0dXAoKTtcbiAgICB9XG4gICAgdGhpcy5zeW5jTmVnYXRpdmUoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoZTogTW91c2VFdmVudCkgPT4gdGhpcy5vbk9wdGlvbkNsaWNrKGUpLCB7IHNpZ25hbCB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnb3JpZ2luJykpIHtcbiAgICAgIHRoaXMuX3Jlc2V0T3JpZ2luQ2xpY2tMaXN0ZW5lcih0aGlzLm9yaWdpbiwgY2hhbmdlZFByb3BlcnRpZXMuZ2V0KCdvcmlnaW4nKSk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ3RyaWdnZXInKSkge1xuICAgICAgdGhpcy5fcmVzZXRUcmlnZ2VyQ2xpY2tMaXN0ZW5lcih0aGlzLnRyaWdnZXIsIGNoYW5nZWRQcm9wZXJ0aWVzLmdldCgndHJpZ2dlcicpKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbmVnYXRpdmUnKSkge1xuICAgICAgdGhpcy5zeW5jTmVnYXRpdmUoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9jb21wb25lbnRTZXR1cCgpO1xuICAgIHRoaXMuX2RpZExvYWQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXI/LmFib3J0KCk7XG4gICAgdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgfVxuXG4gIC8qKiBXaGVuIGFuIG9wdGlvbiBpcyBzZWxlY3RlZCwgdXBkYXRlIHRoZSBpbnB1dCB2YWx1ZSBhbmQgY2xvc2UgdGhlIGF1dG9jb21wbGV0ZS4gKi9cbiAgcHJvdGVjdGVkIG9uT3B0aW9uU2VsZWN0ZWQoZXZlbnQ6IEN1c3RvbUV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIFNiYk9wdGlvbkJhc2VFbGVtZW50O1xuICAgIGlmICghdGFyZ2V0LnNlbGVjdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gRGVzZWxlY3QgdGhlIHByZXZpb3VzIG9wdGlvbnNcbiAgICB0aGlzLm9wdGlvbnNcbiAgICAgIC5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLmlkICE9PSB0YXJnZXQuaWQgJiYgb3B0aW9uLnNlbGVjdGVkKVxuICAgICAgLmZvckVhY2goKG9wdGlvbikgPT4gKG9wdGlvbi5zZWxlY3RlZCA9IGZhbHNlKSk7XG5cbiAgICBpZiAodGhpcy50cmlnZ2VyRWxlbWVudCkge1xuICAgICAgLy8gU2V0IHRoZSBvcHRpb24gdmFsdWVcbiAgICAgIHRoaXMudHJpZ2dlckVsZW1lbnQudmFsdWUgPSB0YXJnZXQudmFsdWUgYXMgc3RyaW5nO1xuXG4gICAgICAvLyBNYW51YWxseSB0cmlnZ2VyIHRoZSBjaGFuZ2UgZXZlbnRzXG4gICAgICB0aGlzLnRyaWdnZXJFbGVtZW50LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnLCB7IGJ1YmJsZXM6IHRydWUgfSkpO1xuICAgICAgdGhpcy50cmlnZ2VyRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBJbnB1dEV2ZW50KCdpbnB1dCcsIHsgYnViYmxlczogdHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpO1xuICAgIH1cblxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5faGlnaGxpZ2h0T3B0aW9ucyh0aGlzLnRyaWdnZXJFbGVtZW50Py52YWx1ZSk7XG4gIH1cblxuICAvKiogVGhlIGF1dG9jb21wbGV0ZSBzaG91bGQgaW5oZXJpdCAncmVhZG9ubHknIHN0YXRlIGZyb20gdGhlIHRyaWdnZXIuICovXG4gIHByaXZhdGUgX3JlYWRvbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJFbGVtZW50Py5oYXNBdHRyaWJ1dGUoJ3JlYWRvbmx5JykgPz8gZmFsc2U7XG4gIH1cblxuICAvKiogUmVtb3ZlcyB0cmlnZ2VyIGNsaWNrIGxpc3RlbmVyIG9uIHRyaWdnZXIgY2hhbmdlLiAqL1xuICBwcml2YXRlIF9yZXNldE9yaWdpbkNsaWNrTGlzdGVuZXIoXG4gICAgbmV3VmFsdWU/OiBzdHJpbmcgfCBIVE1MRWxlbWVudCxcbiAgICBvbGRWYWx1ZT86IHN0cmluZyB8IEhUTUxFbGVtZW50LFxuICApOiB2b2lkIHtcbiAgICBpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7XG4gICAgICB0aGlzLl9jb21wb25lbnRTZXR1cCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBSZW1vdmVzIHRyaWdnZXIgY2xpY2sgbGlzdGVuZXIgb24gdHJpZ2dlciBjaGFuZ2UuICovXG4gIHByaXZhdGUgX3Jlc2V0VHJpZ2dlckNsaWNrTGlzdGVuZXIoXG4gICAgbmV3VmFsdWU/OiBzdHJpbmcgfCBIVE1MRWxlbWVudCxcbiAgICBvbGRWYWx1ZT86IHN0cmluZyB8IEhUTUxFbGVtZW50LFxuICApOiB2b2lkIHtcbiAgICBpZiAobmV3VmFsdWUgIT09IG9sZFZhbHVlKSB7XG4gICAgICB0aGlzLl9jb21wb25lbnRTZXR1cCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NvbXBvbmVudFNldHVwKCk6IHZvaWQge1xuICAgIGlmIChpc1NlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl90cmlnZ2VyRXZlbnRzQ29udHJvbGxlcj8uYWJvcnQoKTtcbiAgICB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyPy5hYm9ydCgpO1xuXG4gICAgdGhpcy5fb3JpZ2luRWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnRvZ2dsZUF0dHJpYnV0ZShcbiAgICAgICdkYXRhLW9wdGlvbi1wYW5lbC1vcmlnaW4tYm9yZGVybGVzcycsXG4gICAgICAhIXRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpPy5oYXNBdHRyaWJ1dGUoJ2JvcmRlcmxlc3MnKSxcbiAgICApO1xuXG4gICAgdGhpcy5fYmluZFRvKHRoaXMuX2dldFRyaWdnZXJFbGVtZW50KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIHRoZSBlbGVtZW50IHdoZXJlIHRoZSBhdXRvY29tcGxldGUgd2lsbCBiZSBhdHRhY2hlZC5cbiAgICogQHJldHVybnMgJ29yaWdpbicgb3IgdGhlIGZpcnN0ICdzYmItZm9ybS1maWVsZCcgYW5jZXN0b3IuXG4gICAqL1xuICBwcml2YXRlIF9maW5kT3JpZ2luRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgbGV0IHJlc3VsdDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQgfCBudWxsO1xuXG4gICAgaWYgKCF0aGlzLm9yaWdpbikge1xuICAgICAgcmVzdWx0ID0gdGhpcy5jbG9zZXN0Py4oJ3NiYi1mb3JtLWZpZWxkJyk/LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3I/LignI292ZXJsYXktYW5jaG9yJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IGZpbmRSZWZlcmVuY2VkRWxlbWVudCh0aGlzLm9yaWdpbik7XG4gICAgfVxuXG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0Nhbm5vdCBmaW5kIHRoZSBvcmlnaW4gZWxlbWVudC4gUGxlYXNlIHNwZWNpZnkgYSB2YWxpZCBlbGVtZW50IG9yIHJlYWQgdGhlIFwib3JpZ2luXCIgcHJvcCBkb2N1bWVudGF0aW9uJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSB0aGUgZWxlbWVudCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgYXV0b2NvbXBsZXRlIG9wZW5pbmcuXG4gICAqIEByZXR1cm5zICd0cmlnZ2VyJyBvciB0aGUgZmlyc3QgJ2lucHV0JyBpbnNpZGUgdGhlIG9yaWdpbiBlbGVtZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0VHJpZ2dlckVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB7XG4gICAgaWYgKCF0aGlzLnRyaWdnZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLmNsb3Nlc3Q/Lignc2JiLWZvcm0tZmllbGQnKT8ucXVlcnlTZWxlY3RvcignaW5wdXQnKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGZpbmRSZWZlcmVuY2VkRWxlbWVudDxIVE1MSW5wdXRFbGVtZW50Pih0aGlzLnRyaWdnZXIpO1xuXG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0Nhbm5vdCBmaW5kIHRoZSB0cmlnZ2VyIGVsZW1lbnQuIFBsZWFzZSBzcGVjaWZ5IGEgdmFsaWQgZWxlbWVudCBvciByZWFkIHRoZSBcInRyaWdnZXJcIiBwcm9wIGRvY3VtZW50YXRpb24nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBfYmluZFRvKHRyaWdnZXJFbGVtOiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKCF0cmlnZ2VyRWxlbSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFJlc2V0IGF0dHJpYnV0ZXMgdG8gdGhlIG9sZCB0cmlnZ2VyIGFuZCBhZGQgdGhlbSB0byB0aGUgbmV3IG9uZVxuICAgIHRoaXMuX3JlbW92ZVRyaWdnZXJBdHRyaWJ1dGVzKHRoaXMudHJpZ2dlckVsZW1lbnQpO1xuICAgIHRoaXMuc2V0VHJpZ2dlckF0dHJpYnV0ZXModHJpZ2dlckVsZW0pO1xuXG4gICAgdGhpcy5fdHJpZ2dlckVsZW1lbnQgPSB0cmlnZ2VyRWxlbTtcblxuICAgIHRoaXMuX3NldHVwVHJpZ2dlckV2ZW50cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0dXBUcmlnZ2VyRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX3RyaWdnZXJFdmVudHNDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gICAgLy8gT3BlbiB0aGUgb3ZlcmxheSBvbiBmb2N1cywgY2xpY2ssIGlucHV0IGFuZCBgQXJyb3dEb3duYCBldmVudFxuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgKCkgPT4gdGhpcy5vcGVuKCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gdGhpcy5vcGVuKCksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnaW5wdXQnLFxuICAgICAgKGV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgICB0aGlzLl9oaWdobGlnaHRPcHRpb25zKChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWUpO1xuICAgICAgfSxcbiAgICAgIHsgc2lnbmFsOiB0aGlzLl90cmlnZ2VyRXZlbnRzQ29udHJvbGxlci5zaWduYWwgfSxcbiAgICApO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAna2V5ZG93bicsXG4gICAgICAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHRoaXMuX2Nsb3NlZFBhbmVsS2V5Ym9hcmRJbnRlcmFjdGlvbihldmVudCksXG4gICAgICB7IHNpZ25hbDogdGhpcy5fdHJpZ2dlckV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8vIFNldCBvdmVybGF5IHBvc2l0aW9uLCB3aWR0aCBhbmQgbWF4IGhlaWdodFxuICBwcml2YXRlIF9zZXRPdmVybGF5UG9zaXRpb24oKTogdm9pZCB7XG4gICAgc2V0T3ZlcmxheVBvc2l0aW9uKFxuICAgICAgdGhpcy5fb3ZlcmxheSxcbiAgICAgIHRoaXMub3JpZ2luRWxlbWVudCxcbiAgICAgIHRoaXMuX29wdGlvbkNvbnRhaW5lcixcbiAgICAgIHRoaXMuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcignLnNiYi1hdXRvY29tcGxldGVfX2NvbnRhaW5lcicpISxcbiAgICAgIHRoaXMsXG4gICAgKTtcbiAgfVxuXG4gIC8qKiBPbiBvcGVuL2Nsb3NlIGFuaW1hdGlvbiBlbmQuXG4gICAqICBJbiByYXJlIGNhc2VzIGl0IGNhbiBiZSB0aGF0IHRoZSBhbmltYXRpb25FbmQgZXZlbnQgaXMgdHJpZ2dlcmVkIHR3aWNlLlxuICAgKiAgVG8gYXZvaWQgZW50ZXJpbmcgYSBjb3JydXB0IHN0YXRlLCBleGl0IHdoZW4gc3RhdGUgaXMgbm90IGV4cGVjdGVkLlxuICAgKi9cbiAgcHJpdmF0ZSBfb25BbmltYXRpb25FbmQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmFuaW1hdGlvbk5hbWUgPT09ICdvcGVuJyAmJiB0aGlzLnN0YXRlID09PSAnb3BlbmluZycpIHtcbiAgICAgIHRoaXMuX29uT3BlbkFuaW1hdGlvbkVuZCgpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX29uQ2xvc2VBbmltYXRpb25FbmQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbk9wZW5BbmltYXRpb25FbmQoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdvcGVuZWQnO1xuICAgIHRoaXMuX2F0dGFjaE9wZW5QYW5lbEV2ZW50cygpO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICd0cnVlJyk7XG4gICAgdGhpcy5kaWRPcGVuLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX29uQ2xvc2VBbmltYXRpb25FbmQoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZSA9ICdjbG9zZWQnO1xuICAgIHRoaXMudHJpZ2dlckVsZW1lbnQ/LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsICdmYWxzZScpO1xuICAgIHRoaXMucmVzZXRBY3RpdmVFbGVtZW50KCk7XG4gICAgdGhpcy5fb3B0aW9uQ29udGFpbmVyLnNjcm9sbFRvcCA9IDA7XG4gICAgdGhpcy5kaWRDbG9zZS5lbWl0KCk7XG4gIH1cblxuICBwcml2YXRlIF9hdHRhY2hPcGVuUGFuZWxFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIC8vIFJlY2FsY3VsYXRlIHRoZSBvdmVybGF5IHBvc2l0aW9uIG9uIHNjcm9sbCBhbmQgd2luZG93IHJlc2l6ZVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsICgpID0+IHRoaXMuX3NldE92ZXJsYXlQb3NpdGlvbigpLCB7XG4gICAgICBwYXNzaXZlOiB0cnVlLFxuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gdGhpcy5fc2V0T3ZlcmxheVBvc2l0aW9uKCksIHtcbiAgICAgIHBhc3NpdmU6IHRydWUsXG4gICAgICBzaWduYWw6IHRoaXMuX29wZW5QYW5lbEV2ZW50c0NvbnRyb2xsZXIuc2lnbmFsLFxuICAgIH0pO1xuXG4gICAgLy8gQ2xvc2UgYXV0b2NvbXBsZXRlIG9uIGJhY2tkcm9wIGNsaWNrXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgKGV2KSA9PiB0aGlzLl9wb2ludGVyRG93bkxpc3RlbmVyKGV2KSwge1xuICAgICAgc2lnbmFsOiB0aGlzLl9vcGVuUGFuZWxFdmVudHNDb250cm9sbGVyLnNpZ25hbCxcbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgKGV2KSA9PiB0aGlzLl9jbG9zZU9uQmFja2Ryb3BDbGljayhldiksIHtcbiAgICAgIHNpZ25hbDogdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgfSk7XG5cbiAgICAvLyBLZXlib2FyZCBpbnRlcmFjdGlvbnNcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2tleWRvd24nLFxuICAgICAgKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLm9wZW5lZFBhbmVsS2V5Ym9hcmRJbnRlcmFjdGlvbihldmVudCksXG4gICAgICB7XG4gICAgICAgIHNpZ25hbDogdGhpcy5fb3BlblBhbmVsRXZlbnRzQ29udHJvbGxlci5zaWduYWwsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgcG9pbnRlcmRvd24gZXZlbnQgdGFyZ2V0IGlzIHRyaWdnZXJlZCBvbiB0aGUgbWVudS5cbiAgcHJpdmF0ZSBfcG9pbnRlckRvd25MaXN0ZW5lciA9IChldmVudDogUG9pbnRlckV2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5faXNQb2ludGVyRG93bkV2ZW50T25NZW51ID0gaXNFdmVudE9uRWxlbWVudCh0aGlzLl9vdmVybGF5LCBldmVudCk7XG4gIH07XG5cbiAgLy8gSWYgdGhlIGNsaWNrIGlzIG91dHNpZGUgdGhlIGF1dG9jb21wbGV0ZSwgY2xvc2VzIHRoZSBwYW5lbC5cbiAgcHJpdmF0ZSBfY2xvc2VPbkJhY2tkcm9wQ2xpY2sgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9pc1BvaW50ZXJEb3duRXZlbnRPbk1lbnUgJiZcbiAgICAgICFpc0V2ZW50T25FbGVtZW50KHRoaXMuX292ZXJsYXksIGV2ZW50KSAmJlxuICAgICAgIWlzRXZlbnRPbkVsZW1lbnQodGhpcy5vcmlnaW5FbGVtZW50LCBldmVudClcbiAgICApIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBfY2xvc2VkUGFuZWxLZXlib2FyZEludGVyYWN0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgIT09ICdjbG9zZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBIaWdobGlnaHQgdGhlIHNlYXJjaGVkIHRleHQgb24gdGhlIG9wdGlvbnMuICovXG4gIHByaXZhdGUgX2hpZ2hsaWdodE9wdGlvbnMoc2VhcmNoVGVybT86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChzZWFyY2hUZXJtID09PSBudWxsIHx8IHNlYXJjaFRlcm0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiBvcHRpb24uaGlnaGxpZ2h0KHNlYXJjaFRlcm0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZVRyaWdnZXJBdHRyaWJ1dGVzKGVsZW1lbnQ/OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgcmVtb3ZlQXJpYUNvbWJvQm94QXR0cmlidXRlcyhlbGVtZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPGRpdiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX2dhcC1maXhcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItYXV0b2NvbXBsZXRlX19jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX2dhcC1maXhcIj4ke292ZXJsYXlHYXBGaXhDb3JuZXJzKCl9PC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25BbmltYXRpb25FbmR9XG4gICAgICAgICAgY2xhc3M9XCJzYmItYXV0b2NvbXBsZXRlX19wYW5lbFwiXG4gICAgICAgICAgP2RhdGEtb3Blbj0ke3RoaXMuc3RhdGUgPT09ICdvcGVuZWQnIHx8IHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJ31cbiAgICAgICAgICAke3JlZigob3ZlcmxheVJlZj86IEVsZW1lbnQpID0+ICh0aGlzLl9vdmVybGF5ID0gb3ZlcmxheVJlZiBhcyBIVE1MRWxlbWVudCkpfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1hdXRvY29tcGxldGVfX3dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItYXV0b2NvbXBsZXRlX19vcHRpb25zXCJcbiAgICAgICAgICAgICAgcm9sZT0keyFhcmlhUm9sZU9uSG9zdCA/IHRoaXMucGFuZWxSb2xlIDogbm90aGluZ31cbiAgICAgICAgICAgICAgaWQ9JHshYXJpYVJvbGVPbkhvc3QgPyB0aGlzLm92ZXJsYXlJZCA6IG5vdGhpbmd9XG4gICAgICAgICAgICAgICR7cmVmKChjb250YWluZXJSZWYpID0+ICh0aGlzLl9vcHRpb25Db250YWluZXIgPSBjb250YWluZXJSZWYgYXMgSFRNTEVsZW1lbnQpKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNsb3QgQHNsb3RjaGFuZ2U9JHt0aGlzLl9oYW5kbGVTbG90Y2hhbmdlfT48L3Nsb3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG4iLCJpbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBnZXROZXh0RWxlbWVudEluZGV4IH0gZnJvbSAnLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IGhvc3RBdHRyaWJ1dGVzIH0gZnJvbSAnLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGlzU2FmYXJpIH0gZnJvbSAnLi4vY29yZS9kb20uanMnO1xuaW1wb3J0IHsgc2V0QXJpYUNvbWJvQm94QXR0cmlidXRlcyB9IGZyb20gJy4uL2NvcmUvb3ZlcmxheS5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYk9wdEdyb3VwRWxlbWVudCwgU2JiT3B0aW9uRWxlbWVudCB9IGZyb20gJy4uL29wdGlvbi5qcyc7XG5cbmltcG9ydCB7IFNiYkF1dG9jb21wbGV0ZUJhc2VFbGVtZW50IH0gZnJvbSAnLi9hdXRvY29tcGxldGUtYmFzZS1lbGVtZW50LmpzJztcblxubGV0IG5leHRJZCA9IDA7XG5cbi8qKlxuICogT24gU2FmYXJpLCB0aGUgYXJpYSByb2xlICdsaXN0Ym94JyBtdXN0IGJlIG9uIHRoZSBob3N0IGVsZW1lbnQsIG9yIGVsc2UgVm9pY2VPdmVyIHdvbid0IHdvcmsgYXQgYWxsLlxuICogT24gdGhlIG90aGVyIGhhbmQsIEpBV1MgYW5kIE5WREEgbmVlZCB0aGUgcm9sZSB0byBiZSBcImNsb3NlclwiIHRvIHRoZSBvcHRpb25zLCBvciBlbHNlIG9wdGdyb3VwcyB3b24ndCB3b3JrLlxuICovXG5jb25zdCBhcmlhUm9sZU9uSG9zdCA9IGlzU2FmYXJpO1xuXG4vKipcbiAqIENvbWJpbmVkIHdpdGggYSBuYXRpdmUgaW5wdXQsIGl0IGRpc3BsYXlzIGEgcGFuZWwgd2l0aCBhIGxpc3Qgb2YgYXZhaWxhYmxlIG9wdGlvbnMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1vcHRpb25gIG9yIGBzYmItb3B0Z3JvdXBgIGVsZW1lbnRzIHRvIHRoZSBgc2JiLWF1dG9jb21wbGV0ZWAuXG4gKiBAZXZlbnQge0N1c3RvbUV2ZW50PHZvaWQ+fSB3aWxsT3BlbiAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWF1dG9jb21wbGV0ZWAgc3RhcnRzIHRoZSBvcGVuaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZE9wZW4gLSBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1hdXRvY29tcGxldGVgIGlzIG9wZW5lZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IHdpbGxDbG9zZSAtIEVtaXRzIHdoZW5ldmVyIHRoZSBgc2JiLWF1dG9jb21wbGV0ZWAgYmVnaW5zIHRoZSBjbG9zaW5nIHRyYW5zaXRpb24uIENhbiBiZSBjYW5jZWxlZC5cbiAqIEBldmVudCB7Q3VzdG9tRXZlbnQ8dm9pZD59IGRpZENsb3NlIC0gRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItYXV0b2NvbXBsZXRlYCBpcyBjbG9zZWQuXG4gKiBAY3NzcHJvcCBbLS1zYmItYXV0b2NvbXBsZXRlLXotaW5kZXg9dmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KV0gLSBUbyBzcGVjaWZ5IGEgY3VzdG9tIHN0YWNrIG9yZGVyLFxuICogdGhlIGB6LWluZGV4YCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBkZWZpbmluZyB0aGlzIENTUyB2YXJpYWJsZS4gVGhlIGRlZmF1bHQgYHotaW5kZXhgIG9mIHRoZVxuICogY29tcG9uZW50IGlzIHNldCB0byBgdmFyKC0tc2JiLW92ZXJsYXktZGVmYXVsdC16LWluZGV4KWAgd2l0aCBhIHZhbHVlIG9mIGAxMDAwYC5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1hdXRvY29tcGxldGUnKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgcm9sZTogYXJpYVJvbGVPbkhvc3QgPyAnbGlzdGJveCcgOiBudWxsLFxufSlcbmV4cG9ydCBjbGFzcyBTYmJBdXRvY29tcGxldGVFbGVtZW50IGV4dGVuZHMgU2JiQXV0b2NvbXBsZXRlQmFzZUVsZW1lbnQge1xuICBwcm90ZWN0ZWQgb3ZlcmxheUlkID0gYHNiYi1hdXRvY29tcGxldGUtJHsrK25leHRJZH1gO1xuICBwcm90ZWN0ZWQgcGFuZWxSb2xlID0gJ2xpc3Rib3gnO1xuICBwcml2YXRlIF9hY3RpdmVJdGVtSW5kZXggPSAtMTtcblxuICBwcm90ZWN0ZWQgZ2V0IG9wdGlvbnMoKTogU2JiT3B0aW9uRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2JiLW9wdGlvbicpID8/IFtdKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbk9wdGlvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KS5sb2NhbE5hbWUgIT09ICdzYmItb3B0aW9uJyB8fFxuICAgICAgKGV2ZW50LnRhcmdldCBhcyBTYmJPcHRpb25FbGVtZW50KS5kaXNhYmxlZFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICBjb25zdCBzaWduYWwgPSB0aGlzLmFib3J0LnNpZ25hbDtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnb3B0aW9uU2VsZWN0aW9uQ2hhbmdlJyxcbiAgICAgIChlOiBDdXN0b21FdmVudDx2b2lkPikgPT4gdGhpcy5vbk9wdGlvblNlbGVjdGVkKGUpLFxuICAgICAgeyBzaWduYWwgfSxcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bmNOZWdhdGl2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2JiLWRpdmlkZXInKS5mb3JFYWNoKChkaXZpZGVyKSA9PiAoZGl2aWRlci5uZWdhdGl2ZSA9IHRoaXMubmVnYXRpdmUpKTtcblxuICAgIHRoaXMucXVlcnlTZWxlY3RvckFsbD8uPFNiYk9wdGlvbkVsZW1lbnQgfCBTYmJPcHRHcm91cEVsZW1lbnQ+KFxuICAgICAgJ3NiYi1vcHRpb24sIHNiYi1vcHRncm91cCcsXG4gICAgKS5mb3JFYWNoKChlbGVtZW50KSA9PiBlbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSgnZGF0YS1uZWdhdGl2ZScsIHRoaXMubmVnYXRpdmUpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvcGVuZWRQYW5lbEtleWJvYXJkSW50ZXJhY3Rpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ0VudGVyJzpcbiAgICAgICAgdGhpcy5zZWxlY3RCeUtleWJvYXJkKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdBcnJvd0Rvd24nOlxuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIHRoaXMuc2V0TmV4dEFjdGl2ZU9wdGlvbihldmVudCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZWxlY3RCeUtleWJvYXJkKCk6IHZvaWQge1xuICAgIGNvbnN0IGFjdGl2ZU9wdGlvbiA9IHRoaXMub3B0aW9uc1t0aGlzLl9hY3RpdmVJdGVtSW5kZXhdO1xuXG4gICAgaWYgKGFjdGl2ZU9wdGlvbikge1xuICAgICAgYWN0aXZlT3B0aW9uLnNldFNlbGVjdGVkVmlhVXNlckludGVyYWN0aW9uKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzZXROZXh0QWN0aXZlT3B0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgZmlsdGVyZWRPcHRpb25zID0gdGhpcy5vcHRpb25zLmZpbHRlcihcbiAgICAgIChvcHQpID0+ICFvcHQuZGlzYWJsZWQgJiYgIW9wdC5oYXNBdHRyaWJ1dGUoJ2RhdGEtZ3JvdXAtZGlzYWJsZWQnKSxcbiAgICApO1xuXG4gICAgLy8gR2V0IGFuZCBhY3RpdmF0ZSB0aGUgbmV4dCBhY3RpdmUgb3B0aW9uXG4gICAgY29uc3QgbmV4dCA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZlbnQsIHRoaXMuX2FjdGl2ZUl0ZW1JbmRleCwgZmlsdGVyZWRPcHRpb25zLmxlbmd0aCk7XG4gICAgY29uc3QgbmV4dEFjdGl2ZU9wdGlvbiA9IGZpbHRlcmVkT3B0aW9uc1tuZXh0XTtcbiAgICBuZXh0QWN0aXZlT3B0aW9uLnNldEFjdGl2ZSh0cnVlKTtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5zZXRBdHRyaWJ1dGUoJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCcsIG5leHRBY3RpdmVPcHRpb24uaWQpO1xuICAgIG5leHRBY3RpdmVPcHRpb24uc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnIH0pO1xuXG4gICAgLy8gUmVzZXQgdGhlIHByZXZpb3VzIGFjdGl2ZSBvcHRpb25cbiAgICBjb25zdCBsYXN0QWN0aXZlT3B0aW9uID0gZmlsdGVyZWRPcHRpb25zW3RoaXMuX2FjdGl2ZUl0ZW1JbmRleF07XG4gICAgaWYgKGxhc3RBY3RpdmVPcHRpb24pIHtcbiAgICAgIGxhc3RBY3RpdmVPcHRpb24uc2V0QWN0aXZlKGZhbHNlKTtcbiAgICB9XG5cbiAgICB0aGlzLl9hY3RpdmVJdGVtSW5kZXggPSBuZXh0O1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc2V0QWN0aXZlRWxlbWVudCgpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVFbGVtZW50ID0gdGhpcy5vcHRpb25zW3RoaXMuX2FjdGl2ZUl0ZW1JbmRleF07XG5cbiAgICBpZiAoYWN0aXZlRWxlbWVudCkge1xuICAgICAgYWN0aXZlRWxlbWVudC5zZXRBY3RpdmUoZmFsc2UpO1xuICAgIH1cbiAgICB0aGlzLl9hY3RpdmVJdGVtSW5kZXggPSAtMTtcbiAgICB0aGlzLnRyaWdnZXJFbGVtZW50Py5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCcpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldFRyaWdnZXJBdHRyaWJ1dGVzKGVsZW1lbnQ6IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICBzZXRBcmlhQ29tYm9Cb3hBdHRyaWJ1dGVzKGVsZW1lbnQsIGFyaWFSb2xlT25Ib3N0ID8gdGhpcy5pZCA6IHRoaXMub3ZlcmxheUlkLCBmYWxzZSk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1hdXRvY29tcGxldGUnOiBTYmJBdXRvY29tcGxldGVFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiYXJpYVJvbGVPbkhvc3QiLCJfX2RlY29yYXRlQ2xhc3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE2QkEsTUFBTUEsbUJBQWlCO0FBRWhCLE1BQWUsOEJBQWYsTUFBZSxvQ0FBbUM7QUFBQSxFQUN2RCxrQkFBa0IsdUJBQXVCO0FBQzNDLEVBQUU7QUFBQSxFQUZLLGNBQUE7QUFBQSxVQUFBLEdBQUEsU0FBQTtBQXVDSyxTQUFBLFFBQVEsSUFBSSw0QkFBNEIsSUFBSTtBQUt0RCxTQUFRLFdBQVc7QUFDbkIsU0FBUSw0QkFBcUM7QUFxVHJDLFNBQUEsdUJBQXVCLENBQUMsVUFBOEI7QUFDNUQsV0FBSyw0QkFBNEIsaUJBQWlCLEtBQUssVUFBVSxLQUFLO0FBQUEsSUFBQTtBQUloRSxTQUFBLHdCQUF3QixDQUFDLFVBQThCO0FBQzdELFVBQ0UsQ0FBQyxLQUFLLDZCQUNOLENBQUMsaUJBQWlCLEtBQUssVUFBVSxLQUFLLEtBQ3RDLENBQUMsaUJB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
@@ -19,7 +19,6 @@ export declare class SbbBreadcrumbGroupElement extends SbbBreadcrumbGroupElement
19
19
  private _handleKeyDown;
20
20
  connectedCallback(): void;
21
21
  protected firstUpdated(changedProperties: PropertyValues<this>): void;
22
- disconnectedCallback(): void;
23
22
  protected willUpdate(changedProperties: PropertyValues<WithListChildren<this>>): void;
24
23
  protected updated(changedProperties: PropertyValues<WithListChildren<this>>): void;
25
24
  /** Apply the aria-current attribute to the last sbb-breadcrumb element. */
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb-group.d.ts","sourceRoot":"","sources":["../../../../../src/elements/breadcrumb/breadcrumb-group/breadcrumb-group.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAYb,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAI7D,OAAO,eAAe,CAAC;;AAIvB;;;;GAIG;AACH,qBAIa,yBAA0B,SAAQ,8BAGlC;IACX,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,mBAA4B,mBAAmB,WAAsB;IAIrE,OAAO,KAAK,MAAM,QAEjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,eAAe,CAAoE;IAC3F,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,cAAc;IAiBN,iBAAiB,IAAI,IAAI;cAMtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAO9D,oBAAoB,IAAI,IAAI;cAKzB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;cAQ3E,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;IAa3F,2EAA2E;IAC3E,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,UAAU;IAYlB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAK1B,kGAAkG;IAClG,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,eAAe;cAgBJ,MAAM,IAAI,cAAc;CAQ5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,sBAAsB,EAAE,yBAAyB,CAAC;KACnD;CACF"}
1
+ {"version":3,"file":"breadcrumb-group.d.ts","sourceRoot":"","sources":["../../../../../src/elements/breadcrumb/breadcrumb-group/breadcrumb-group.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAYb,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAI7D,OAAO,eAAe,CAAC;;AAIvB;;;;GAIG;AACH,qBAIa,yBAA0B,SAAQ,8BAGlC;IACX,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,mBAA4B,mBAAmB,WAAsB;IAIrE,OAAO,KAAK,MAAM,QAEjB;IACD,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,eAAe,CAIpB;IACH,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,cAAc;IAiBN,iBAAiB,IAAI,IAAI;cAMtB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;cAO3D,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;cAQ3E,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI;IAa3F,2EAA2E;IAC3E,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,UAAU;IAYlB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAK1B,kGAAkG;IAClG,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,eAAe;cAgBJ,MAAM,IAAI,cAAc;CAQ5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,sBAAsB,EAAE,yBAAyB,CAAC;KACnD;CACF"}
@@ -1,3 +1,4 @@
1
+ import { ResizeController } from "@lit-labs/observers/resize-controller.js";
1
2
  import { css, LitElement, html, nothing } from "lit";
2
3
  import { state, customElement } from "lit/decorators.js";
3
4
  import { isArrowKeyPressed, sbbInputModalityDetector, getNextElementIndex } from "../core/a11y.js";
@@ -6,7 +7,6 @@ import { hostAttributes } from "../core/decorators.js";
6
7
  import { setOrRemoveAttribute } from "../core/dom.js";
7
8
  import { i18nBreadcrumbEllipsisButtonLabel } from "../core/i18n.js";
8
9
  import { SbbNamedSlotListMixin } from "../core/mixins.js";
9
- import { AgnosticResizeObserver } from "../core/observers.js";
10
10
  import "../icon.js";
11
11
  const style = css`/** This mixin can be used to avoid spacing problems by inserting an invisible space as pseudo element. */
12
12
  /*
@@ -126,7 +126,11 @@ let SbbBreadcrumbGroupElement = class extends SbbNamedSlotListMixin(LitElement)
126
126
  constructor() {
127
127
  super(...arguments);
128
128
  this.listChildLocalNames = ["sbb-breadcrumb"];
129
- this._resizeObserver = new AgnosticResizeObserver(() => this._evaluateCollapsedState());
129
+ this._resizeObserver = new ResizeController(this, {
130
+ target: null,
131
+ skipInitial: true,
132
+ callback: () => this._evaluateCollapsedState()
133
+ });
130
134
  this._abort = new SbbConnectedAbortController(this);
131
135
  this._language = new SbbLanguageController(this);
132
136
  this._markForFocus = false;
@@ -159,10 +163,6 @@ let SbbBreadcrumbGroupElement = class extends SbbNamedSlotListMixin(LitElement)
159
163
  this._resizeObserver.observe(this);
160
164
  this.toggleAttribute("data-loaded", true);
161
165
  }
162
- disconnectedCallback() {
163
- super.disconnectedCallback();
164
- this._resizeObserver.disconnect();
165
- }
166
166
  willUpdate(changedProperties) {
167
167
  super.willUpdate(changedProperties);
168
168
  if (changedProperties.has("listChildren")) {
@@ -221,7 +221,8 @@ let SbbBreadcrumbGroupElement = class extends SbbNamedSlotListMixin(LitElement)
221
221
  _evaluateCollapsedState() {
222
222
  if (!this._state && this.scrollWidth > this.offsetWidth && this.listChildren.length >= MIN_BREADCRUMBS_TO_COLLAPSE) {
223
223
  this._state = "collapsed";
224
- this._resizeObserver.disconnect();
224
+ this._resizeObserver.hostDisconnected();
225
+ this.removeController(this._resizeObserver);
225
226
  }
226
227
  }
227
228
  _renderCollapsed() {
@@ -288,4 +289,4 @@ SbbBreadcrumbGroupElement = __decorateClass([
288
289
  export {
289
290
  SbbBreadcrumbGroupElement
290
291
  };
291
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1ncm91cC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1ncm91cC9icmVhZGNydW1iLWdyb3VwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIG5vdGhpbmcsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHtcbiAgZ2V0TmV4dEVsZW1lbnRJbmRleCxcbiAgaXNBcnJvd0tleVByZXNzZWQsXG4gIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvcixcbn0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciwgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBzZXRPclJlbW92ZUF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IGkxOG5CcmVhZGNydW1iRWxsaXBzaXNCdXR0b25MYWJlbCB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJOYW1lZFNsb3RMaXN0TWl4aW4sIHR5cGUgV2l0aExpc3RDaGlsZHJlbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IEFnbm9zdGljUmVzaXplT2JzZXJ2ZXIgfSBmcm9tICcuLi8uLi9jb3JlL29ic2VydmVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNiYkJyZWFkY3J1bWJFbGVtZW50IH0gZnJvbSAnLi4vYnJlYWRjcnVtYi5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2JyZWFkY3J1bWItZ3JvdXAuc2Nzcz9saXQmaW5saW5lJztcblxuaW1wb3J0ICcuLi8uLi9pY29uLmpzJztcblxuY29uc3QgTUlOX0JSRUFEQ1JVTUJTX1RPX0NPTExBUFNFID0gMztcblxuLyoqXG4gKiBJdCBjYW4gYmUgdXNlZCBhcyBhIGNvbnRhaW5lciBmb3Igb25lIG9yIG1vcmUgYHNiYi1icmVhZGNydW1iYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1icmVhZGNydW1iYCBlbGVtZW50cy5cbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1icmVhZGNydW1iLWdyb3VwJylcbkBob3N0QXR0cmlidXRlcyh7XG4gIHJvbGU6ICduYXZpZ2F0aW9uJyxcbn0pXG5leHBvcnQgY2xhc3MgU2JiQnJlYWRjcnVtYkdyb3VwRWxlbWVudCBleHRlbmRzIFNiYk5hbWVkU2xvdExpc3RNaXhpbjxcbiAgU2JiQnJlYWRjcnVtYkVsZW1lbnQsXG4gIHR5cGVvZiBMaXRFbGVtZW50XG4+KExpdEVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gc3R5bGU7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBsaXN0Q2hpbGRMb2NhbE5hbWVzID0gWydzYmItYnJlYWRjcnVtYiddO1xuXG4gIC8qIFRoZSBzdGF0ZSBvZiB0aGUgYnJlYWRjcnVtYiBncm91cC4gKi9cbiAgQHN0YXRlKClcbiAgcHJpdmF0ZSBzZXQgX3N0YXRlKHN0YXRlOiAnY29sbGFwc2VkJyB8ICdtYW51YWxseS1leHBhbmRlZCcgfCBudWxsKSB7XG4gICAgc2V0T3JSZW1vdmVBdHRyaWJ1dGUodGhpcywgJ2RhdGEtc3RhdGUnLCBzdGF0ZSk7XG4gIH1cbiAgcHJpdmF0ZSBnZXQgX3N0YXRlKCk6ICdjb2xsYXBzZWQnIHwgJ21hbnVhbGx5LWV4cGFuZGVkJyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1zdGF0ZScpIGFzICdjb2xsYXBzZWQnIHwgJ21hbnVhbGx5LWV4cGFuZGVkJyB8IG51bGw7XG4gIH1cblxuICBwcml2YXRlIF9yZXNpemVPYnNlcnZlciA9IG5ldyBBZ25vc3RpY1Jlc2l6ZU9ic2VydmVyKCgpID0+IHRoaXMuX2V2YWx1YXRlQ29sbGFwc2VkU3RhdGUoKSk7XG4gIHByaXZhdGUgX2Fib3J0ID0gbmV3IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2UgPSBuZXcgU2JiTGFuZ3VhZ2VDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9tYXJrRm9yRm9jdXMgPSBmYWxzZTtcblxuICBwcml2YXRlIF9oYW5kbGVLZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLmxpc3RDaGlsZHJlbi5sZW5ndGggfHxcbiAgICAgIC8vIGRvbid0IHRyYXAgbmVzdGVkIGhhbmRsaW5nXG4gICAgICAoKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpICE9PSB0aGlzICYmIChldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5wYXJlbnRFbGVtZW50ICE9PSB0aGlzKVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc0Fycm93S2V5UHJlc3NlZChldnQpKSB7XG4gICAgICBpZiAodGhpcy5fc3RhdGUgPT09ICdjb2xsYXBzZWQnKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb2N1c05leHRDb2xsYXBzZWQoZXZ0KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2ZvY3VzTmV4dChldnQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNvbnN0IHNpZ25hbCA9IHRoaXMuX2Fib3J0LnNpZ25hbDtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZSkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihlKSwgeyBzaWduYWwgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl9yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMpO1xuICAgIHRoaXMudG9nZ2xlQXR0cmlidXRlKCdkYXRhLWxvYWRlZCcsIHRydWUpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICAgICAgdGhpcy5fc3luY0JyZWFkY3J1bWJzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPFdpdGhMaXN0Q2hpbGRyZW48dGhpcz4+KTogdm9pZCB7XG4gICAgc3VwZXIudXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbGlzdENoaWxkcmVuJykpIHtcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4gdGhpcy5fZXZhbHVhdGVDb2xsYXBzZWRTdGF0ZSgpKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX21hcmtGb3JGb2N1cyAmJiBzYmJJbnB1dE1vZGFsaXR5RGV0ZWN0b3IubW9zdFJlY2VudE1vZGFsaXR5ID09PSAna2V5Ym9hcmQnKSB7XG4gICAgICB0aGlzLmxpc3RDaGlsZHJlblsxXT8uZm9jdXMoKTtcblxuICAgICAgLy8gUmVzZXQgbWFyayBmb3IgZm9jdXNcbiAgICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBBcHBseSB0aGUgYXJpYS1jdXJyZW50IGF0dHJpYnV0ZSB0byB0aGUgbGFzdCBzYmItYnJlYWRjcnVtYiBlbGVtZW50LiAqL1xuICBwcml2YXRlIF9zeW5jQnJlYWRjcnVtYnMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0Q2hpbGRyZW5cbiAgICAgIC5zbGljZSgwLCAtMSlcbiAgICAgIC5maWx0ZXIoKGMpID0+IGMuaGFzQXR0cmlidXRlKCdhcmlhLWN1cnJlbnQnKSlcbiAgICAgIC5mb3JFYWNoKChjKSA9PiBjLnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1jdXJyZW50JykpO1xuICAgIHRoaXMubGlzdENoaWxkcmVuW3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aCAtIDFdPy5zZXRBdHRyaWJ1dGUoJ2FyaWEtY3VycmVudCcsICdwYWdlJyk7XG5cbiAgICAvLyBJZiBpdCBpcyBub3QgZXhwYW5kYWJsZSwgcmVzZXQgc3RhdGVcbiAgICBpZiAodGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoIDwgTUlOX0JSRUFEQ1JVTUJTX1RPX0NPTExBUFNFKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGZvY3VzIG9uIHRoZSBjb3JyZWN0IGVsZW1lbnQgd2hlbiB0aGUgZWxsaXBzaXMgYnJlYWRjcnVtYiBpcyBkaXNwbGF5ZWQgYW5kIHRoZSB1c2VyIGlzIG5hdmlnYXRpbmcgd2l0aCBrZXlib2FyZCdzIGFycm93cy5cbiAgICovXG4gIHByaXZhdGUgX2ZvY3VzTmV4dENvbGxhcHNlZChldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCBhcnJheUNvbGxhcHNlZDogU2JiQnJlYWRjcnVtYkVsZW1lbnRbXSA9IFtcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuWzBdLFxuICAgICAgdGhpcy5zaGFkb3dSb290IS5xdWVyeVNlbGVjdG9yKCcjc2JiLWJyZWFkY3J1bWItZWxsaXBzaXMnKSBhcyBTYmJCcmVhZGNydW1iRWxlbWVudCxcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuW3RoaXMubGlzdENoaWxkcmVuLmxlbmd0aCAtIDFdLFxuICAgIF07XG4gICAgdGhpcy5fZm9jdXNOZXh0KGV2dCwgYXJyYXlDb2xsYXBzZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZm9jdXNOZXh0KFxuICAgIGV2dDogS2V5Ym9hcmRFdmVudCxcbiAgICBicmVhZGNydW1iczogU2JiQnJlYWRjcnVtYkVsZW1lbnRbXSA9IHRoaXMubGlzdENoaWxkcmVuLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50OiBudW1iZXIgPSBicmVhZGNydW1icy5maW5kSW5kZXgoXG4gICAgICAoZSkgPT4gZSA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCB8fCBlID09PSB0aGlzLnNoYWRvd1Jvb3QhLmFjdGl2ZUVsZW1lbnQsXG4gICAgKTtcbiAgICBjb25zdCBuZXh0SW5kZXg6IG51bWJlciA9IGdldE5leHRFbGVtZW50SW5kZXgoZXZ0LCBjdXJyZW50LCBicmVhZGNydW1icy5sZW5ndGgpO1xuICAgIGJyZWFkY3J1bWJzW25leHRJbmRleF0/LmZvY3VzKCk7XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICAvKipcbiAgICogTm90ZTogZHVlIHRvIEBTdGF0ZSBhbm5vdGF0aW9uIG9uIF9zdGF0ZSwgdGhpcyBtZXRob2QgdHJpZ2dlcnMgYSBuZXcgcmVuZGVyOyBhcyBhIGNvbnNlcXVlbmNlLCB0aGUgZm9jdXMgaXMgbW92ZWRcbiAgICogdG8gdGhlIGBib2R5YCwgc28gaWYgdGhlIGVsbGlwc2lzIGVsZW1lbnQgaGFzIGZvY3VzLCBpdCdzIGFzeW5jaHJvbm91c2x5IGZvcmNlZCB0byB0aGUgZmlyc3QgZWxlbWVudC5cbiAgICovXG4gIHByaXZhdGUgX2V4cGFuZEJyZWFkY3J1bWJzKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ21hbnVhbGx5LWV4cGFuZGVkJztcbiAgICB0aGlzLl9tYXJrRm9yRm9jdXMgPSB0cnVlO1xuICB9XG5cbiAgLyoqIEV2YWx1YXRlIGlmIHRoZSBleHBhbmRlZCBicmVhZGNydW1iIGVsZW1lbnQgZml0cyBpbiBwYWdlIHdpZHRoLCBvdGhlcndpc2UgaXQgbmVlZHMgZWxsaXBzaXMgKi9cbiAgcHJpdmF0ZSBfZXZhbHVhdGVDb2xsYXBzZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5fc3RhdGUgJiZcbiAgICAgIHRoaXMuc2Nyb2xsV2lkdGggPiB0aGlzLm9mZnNldFdpZHRoICYmXG4gICAgICB0aGlzLmxpc3RDaGlsZHJlbi5sZW5ndGggPj0gTUlOX0JSRUFEQ1JVTUJTX1RPX0NPTExBUFNFXG4gICAgKSB7XG4gICAgICB0aGlzLl9zdGF0ZSA9ICdjb2xsYXBzZWQnO1xuICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlckNvbGxhcHNlZCgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8bGkgY2xhc3M9XCJzYmItYnJlYWRjcnVtYi1ncm91cF9faXRlbVwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwibGktMFwiPjwvc2xvdD5cbiAgICAgIDwvbGk+XG4gICAgICA8bGkgY2xhc3M9XCJzYmItYnJlYWRjcnVtYi1ncm91cF9faXRlbVwiIGlkPVwic2JiLWJyZWFkY3J1bWItZ3JvdXAtZWxsaXBzaXNcIj5cbiAgICAgICAgPHNiYi1pY29uXG4gICAgICAgICAgbmFtZT1cImNoZXZyb24tc21hbGwtcmlnaHQtc21hbGxcIlxuICAgICAgICAgIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2RpdmlkZXItaWNvblwiXG4gICAgICAgID48L3NiYi1pY29uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgaWQ9XCJzYmItYnJlYWRjcnVtYi1lbGxpcHNpc1wiXG4gICAgICAgICAgYXJpYS1sYWJlbD0ke2kxOG5CcmVhZGNydW1iRWxsaXBzaXNCdXR0b25MYWJlbFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIlxuICAgICAgICAgIEBjbGljaz0keygpID0+IHRoaXMuX2V4cGFuZEJyZWFkY3J1bWJzKCl9XG4gICAgICAgID5cbiAgICAgICAgICAuLi5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2l0ZW1cIj5cbiAgICAgICAgPHNiYi1pY29uXG4gICAgICAgICAgbmFtZT1cImNoZXZyb24tc21hbGwtcmlnaHQtc21hbGxcIlxuICAgICAgICAgIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2RpdmlkZXItaWNvblwiXG4gICAgICAgID48L3NiYi1pY29uPlxuICAgICAgICA8c2xvdCBuYW1lPSR7YGxpLSR7dGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoIC0gMX1gfT48L3Nsb3Q+XG4gICAgICA8L2xpPlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJFeHBhbmRlZCgpOiBUZW1wbGF0ZVJlc3VsdFtdIHtcbiAgICByZXR1cm4gdGhpcy5saXN0U2xvdEVudHJpZXMoKS5tYXAoXG4gICAgICAoc2xvdCwgaW5kZXgsIGFycmF5KSA9PiBodG1sYFxuICAgICAgICA8bGkgY2xhc3M9XCJzYmItYnJlYWRjcnVtYi1ncm91cF9faXRlbVwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9JHtzbG90Lm5hbWV9Pjwvc2xvdD5cbiAgICAgICAgICAke2luZGV4ICE9PSBhcnJheS5sZW5ndGggLSAxXG4gICAgICAgICAgICA/IGh0bWxgPHNiYi1pY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cImNoZXZyb24tc21hbGwtcmlnaHQtc21hbGxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2RpdmlkZXItaWNvblwiXG4gICAgICAgICAgICAgID48L3NiYi1pY29uPmBcbiAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgPC9saT5cbiAgICAgIGAsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPG9sIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBcIj5cbiAgICAgICAgJHt0aGlzLl9zdGF0ZSA9PT0gJ2NvbGxhcHNlZCcgPyB0aGlzLl9yZW5kZXJDb2xsYXBzZWQoKSA6IHRoaXMuX3JlbmRlckV4cGFuZGVkKCl9XG4gICAgICA8L29sPlxuICAgICAgJHt0aGlzLnJlbmRlckhpZGRlblNsb3QoKX1cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYnJlYWRjcnVtYi1ncm91cCc6IFNiYkJyZWFkY3J1bWJHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJzdGF0ZSJdLCJtYXBwaW5n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
292
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi1ncm91cC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi1ncm91cC9icmVhZGNydW1iLWdyb3VwLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIExpdEVsZW1lbnQsXG4gIG5vdGhpbmcsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50LCBzdGF0ZSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHtcbiAgZ2V0TmV4dEVsZW1lbnRJbmRleCxcbiAgaXNBcnJvd0tleVByZXNzZWQsXG4gIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvcixcbn0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkNvbm5lY3RlZEFib3J0Q29udHJvbGxlciwgU2JiTGFuZ3VhZ2VDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS9jb250cm9sbGVycy5qcyc7XG5pbXBvcnQgeyBob3N0QXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycy5qcyc7XG5pbXBvcnQgeyBzZXRPclJlbW92ZUF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2NvcmUvZG9tLmpzJztcbmltcG9ydCB7IGkxOG5CcmVhZGNydW1iRWxsaXBzaXNCdXR0b25MYWJlbCB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJOYW1lZFNsb3RMaXN0TWl4aW4sIHR5cGUgV2l0aExpc3RDaGlsZHJlbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiQnJlYWRjcnVtYkVsZW1lbnQgfSBmcm9tICcuLi9icmVhZGNydW1iLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vYnJlYWRjcnVtYi1ncm91cC5zY3NzP2xpdCZpbmxpbmUnO1xuXG5pbXBvcnQgJy4uLy4uL2ljb24uanMnO1xuXG5jb25zdCBNSU5fQlJFQURDUlVNQlNfVE9fQ09MTEFQU0UgPSAzO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciBvbmUgb3IgbW9yZSBgc2JiLWJyZWFkY3J1bWJgIGNvbXBvbmVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBgc2JiLWJyZWFkY3J1bWJgIGVsZW1lbnRzLlxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWJyZWFkY3J1bWItZ3JvdXAnKVxuQGhvc3RBdHRyaWJ1dGVzKHtcbiAgcm9sZTogJ25hdmlnYXRpb24nLFxufSlcbmV4cG9ydCBjbGFzcyBTYmJCcmVhZGNydW1iR3JvdXBFbGVtZW50IGV4dGVuZHMgU2JiTmFtZWRTbG90TGlzdE1peGluPFxuICBTYmJCcmVhZGNydW1iRWxlbWVudCxcbiAgdHlwZW9mIExpdEVsZW1lbnRcbj4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IGxpc3RDaGlsZExvY2FsTmFtZXMgPSBbJ3NiYi1icmVhZGNydW1iJ107XG5cbiAgLyogVGhlIHN0YXRlIG9mIHRoZSBicmVhZGNydW1iIGdyb3VwLiAqL1xuICBAc3RhdGUoKVxuICBwcml2YXRlIHNldCBfc3RhdGUoc3RhdGU6ICdjb2xsYXBzZWQnIHwgJ21hbnVhbGx5LWV4cGFuZGVkJyB8IG51bGwpIHtcbiAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZSh0aGlzLCAnZGF0YS1zdGF0ZScsIHN0YXRlKTtcbiAgfVxuICBwcml2YXRlIGdldCBfc3RhdGUoKTogJ2NvbGxhcHNlZCcgfCAnbWFudWFsbHktZXhwYW5kZWQnIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QXR0cmlidXRlKCdkYXRhLXN0YXRlJykgYXMgJ2NvbGxhcHNlZCcgfCAnbWFudWFsbHktZXhwYW5kZWQnIHwgbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICBjYWxsYmFjazogKCkgPT4gdGhpcy5fZXZhbHVhdGVDb2xsYXBzZWRTdGF0ZSgpLFxuICB9KTtcbiAgcHJpdmF0ZSBfYWJvcnQgPSBuZXcgU2JiQ29ubmVjdGVkQWJvcnRDb250cm9sbGVyKHRoaXMpO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG4gIHByaXZhdGUgX21hcmtGb3JGb2N1cyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2hhbmRsZUtleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMubGlzdENoaWxkcmVuLmxlbmd0aCB8fFxuICAgICAgLy8gZG9uJ3QgdHJhcCBuZXN0ZWQgaGFuZGxpbmdcbiAgICAgICgoZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCkgIT09IHRoaXMgJiYgKGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnBhcmVudEVsZW1lbnQgIT09IHRoaXMpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ2NvbGxhcHNlZCcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZvY3VzTmV4dENvbGxhcHNlZChldnQpO1xuICAgICAgfVxuICAgICAgdGhpcy5fZm9jdXNOZXh0KGV2dCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGNvbm5lY3RlZENhbGxiYWNrKCk6IHZvaWQge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgY29uc3Qgc2lnbmFsID0gdGhpcy5fYWJvcnQuc2lnbmFsO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChlKSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGUpLCB7IHNpZ25hbCB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBmaXJzdFVwZGF0ZWQoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcyk7XG4gICAgdGhpcy50b2dnbGVBdHRyaWJ1dGUoJ2RhdGEtbG9hZGVkJywgdHJ1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgd2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8V2l0aExpc3RDaGlsZHJlbjx0aGlzPj4pOiB2b2lkIHtcbiAgICBzdXBlci53aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzKTtcblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ2xpc3RDaGlsZHJlbicpKSB7XG4gICAgICB0aGlzLl9zeW5jQnJlYWRjcnVtYnMoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlZChjaGFuZ2VkUHJvcGVydGllczogUHJvcGVydHlWYWx1ZXM8V2l0aExpc3RDaGlsZHJlbjx0aGlzPj4pOiB2b2lkIHtcbiAgICBzdXBlci51cGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzKTtcbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdsaXN0Q2hpbGRyZW4nKSkge1xuICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB0aGlzLl9ldmFsdWF0ZUNvbGxhcHNlZFN0YXRlKCkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fbWFya0ZvckZvY3VzICYmIHNiYklucHV0TW9kYWxpdHlEZXRlY3Rvci5tb3N0UmVjZW50TW9kYWxpdHkgPT09ICdrZXlib2FyZCcpIHtcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuWzFdPy5mb2N1cygpO1xuXG4gICAgICAvLyBSZXNldCBtYXJrIGZvciBmb2N1c1xuICAgICAgdGhpcy5fbWFya0ZvckZvY3VzID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLyoqIEFwcGx5IHRoZSBhcmlhLWN1cnJlbnQgYXR0cmlidXRlIHRvIHRoZSBsYXN0IHNiYi1icmVhZGNydW1iIGVsZW1lbnQuICovXG4gIHByaXZhdGUgX3N5bmNCcmVhZGNydW1icygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RDaGlsZHJlblxuICAgICAgLnNsaWNlKDAsIC0xKVxuICAgICAgLmZpbHRlcigoYykgPT4gYy5oYXNBdHRyaWJ1dGUoJ2FyaWEtY3VycmVudCcpKVxuICAgICAgLmZvckVhY2goKGMpID0+IGMucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWN1cnJlbnQnKSk7XG4gICAgdGhpcy5saXN0Q2hpbGRyZW5bdGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoIC0gMV0/LnNldEF0dHJpYnV0ZSgnYXJpYS1jdXJyZW50JywgJ3BhZ2UnKTtcblxuICAgIC8vIElmIGl0IGlzIG5vdCBleHBhbmRhYmxlLCByZXNldCBzdGF0ZVxuICAgIGlmICh0aGlzLmxpc3RDaGlsZHJlbi5sZW5ndGggPCBNSU5fQlJFQURDUlVNQlNfVE9fQ09MTEFQU0UpIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgZm9jdXMgb24gdGhlIGNvcnJlY3QgZWxlbWVudCB3aGVuIHRoZSBlbGxpcHNpcyBicmVhZGNydW1iIGlzIGRpc3BsYXllZCBhbmQgdGhlIHVzZXIgaXMgbmF2aWdhdGluZyB3aXRoIGtleWJvYXJkJ3MgYXJyb3dzLlxuICAgKi9cbiAgcHJpdmF0ZSBfZm9jdXNOZXh0Q29sbGFwc2VkKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGFycmF5Q29sbGFwc2VkOiBTYmJCcmVhZGNydW1iRWxlbWVudFtdID0gW1xuICAgICAgdGhpcy5saXN0Q2hpbGRyZW5bMF0sXG4gICAgICB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3IoJyNzYmItYnJlYWRjcnVtYi1lbGxpcHNpcycpIGFzIFNiYkJyZWFkY3J1bWJFbGVtZW50LFxuICAgICAgdGhpcy5saXN0Q2hpbGRyZW5bdGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoIC0gMV0sXG4gICAgXTtcbiAgICB0aGlzLl9mb2N1c05leHQoZXZ0LCBhcnJheUNvbGxhcHNlZCk7XG4gIH1cblxuICBwcml2YXRlIF9mb2N1c05leHQoXG4gICAgZXZ0OiBLZXlib2FyZEV2ZW50LFxuICAgIGJyZWFkY3J1bWJzOiBTYmJCcmVhZGNydW1iRWxlbWVudFtdID0gdGhpcy5saXN0Q2hpbGRyZW4sXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnQ6IG51bWJlciA9IGJyZWFkY3J1bWJzLmZpbmRJbmRleChcbiAgICAgIChlKSA9PiBlID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IHx8IGUgPT09IHRoaXMuc2hhZG93Um9vdCEuYWN0aXZlRWxlbWVudCxcbiAgICApO1xuICAgIGNvbnN0IG5leHRJbmRleDogbnVtYmVyID0gZ2V0TmV4dEVsZW1lbnRJbmRleChldnQsIGN1cnJlbnQsIGJyZWFkY3J1bWJzLmxlbmd0aCk7XG4gICAgYnJlYWRjcnVtYnNbbmV4dEluZGV4XT8uZm9jdXMoKTtcbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3RlOiBkdWUgdG8gQFN0YXRlIGFubm90YXRpb24gb24gX3N0YXRlLCB0aGlzIG1ldGhvZCB0cmlnZ2VycyBhIG5ldyByZW5kZXI7IGFzIGEgY29uc2VxdWVuY2UsIHRoZSBmb2N1cyBpcyBtb3ZlZFxuICAgKiB0byB0aGUgYGJvZHlgLCBzbyBpZiB0aGUgZWxsaXBzaXMgZWxlbWVudCBoYXMgZm9jdXMsIGl0J3MgYXN5bmNocm9ub3VzbHkgZm9yY2VkIHRvIHRoZSBmaXJzdCBlbGVtZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBfZXhwYW5kQnJlYWRjcnVtYnMoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnbWFudWFsbHktZXhwYW5kZWQnO1xuICAgIHRoaXMuX21hcmtGb3JGb2N1cyA9IHRydWU7XG4gIH1cblxuICAvKiogRXZhbHVhdGUgaWYgdGhlIGV4cGFuZGVkIGJyZWFkY3J1bWIgZWxlbWVudCBmaXRzIGluIHBhZ2Ugd2lkdGgsIG90aGVyd2lzZSBpdCBuZWVkcyBlbGxpcHNpcyAqL1xuICBwcml2YXRlIF9ldmFsdWF0ZUNvbGxhcHNlZFN0YXRlKCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgICF0aGlzLl9zdGF0ZSAmJlxuICAgICAgdGhpcy5zY3JvbGxXaWR0aCA+IHRoaXMub2Zmc2V0V2lkdGggJiZcbiAgICAgIHRoaXMubGlzdENoaWxkcmVuLmxlbmd0aCA+PSBNSU5fQlJFQURDUlVNQlNfVE9fQ09MTEFQU0VcbiAgICApIHtcbiAgICAgIHRoaXMuX3N0YXRlID0gJ2NvbGxhcHNlZCc7XG4gICAgICB0aGlzLl9yZXNpemVPYnNlcnZlci5ob3N0RGlzY29ubmVjdGVkKCk7XG4gICAgICB0aGlzLnJlbW92ZUNvbnRyb2xsZXIodGhpcy5fcmVzaXplT2JzZXJ2ZXIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlbmRlckNvbGxhcHNlZCgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8bGkgY2xhc3M9XCJzYmItYnJlYWRjcnVtYi1ncm91cF9faXRlbVwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwibGktMFwiPjwvc2xvdD5cbiAgICAgIDwvbGk+XG4gICAgICA8bGkgY2xhc3M9XCJzYmItYnJlYWRjcnVtYi1ncm91cF9faXRlbVwiIGlkPVwic2JiLWJyZWFkY3J1bWItZ3JvdXAtZWxsaXBzaXNcIj5cbiAgICAgICAgPHNiYi1pY29uXG4gICAgICAgICAgbmFtZT1cImNoZXZyb24tc21hbGwtcmlnaHQtc21hbGxcIlxuICAgICAgICAgIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2RpdmlkZXItaWNvblwiXG4gICAgICAgID48L3NiYi1pY29uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgaWQ9XCJzYmItYnJlYWRjcnVtYi1lbGxpcHNpc1wiXG4gICAgICAgICAgYXJpYS1sYWJlbD0ke2kxOG5CcmVhZGNydW1iRWxsaXBzaXNCdXR0b25MYWJlbFt0aGlzLl9sYW5ndWFnZS5jdXJyZW50XX1cbiAgICAgICAgICBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIlxuICAgICAgICAgIEBjbGljaz0keygpID0+IHRoaXMuX2V4cGFuZEJyZWFkY3J1bWJzKCl9XG4gICAgICAgID5cbiAgICAgICAgICAuLi5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2l0ZW1cIj5cbiAgICAgICAgPHNiYi1pY29uXG4gICAgICAgICAgbmFtZT1cImNoZXZyb24tc21hbGwtcmlnaHQtc21hbGxcIlxuICAgICAgICAgIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2RpdmlkZXItaWNvblwiXG4gICAgICAgID48L3NiYi1pY29uPlxuICAgICAgICA8c2xvdCBuYW1lPSR7YGxpLSR7dGhpcy5saXN0Q2hpbGRyZW4ubGVuZ3RoIC0gMX1gfT48L3Nsb3Q+XG4gICAgICA8L2xpPlxuICAgIGA7XG4gIH1cblxuICBwcml2YXRlIF9yZW5kZXJFeHBhbmRlZCgpOiBUZW1wbGF0ZVJlc3VsdFtdIHtcbiAgICByZXR1cm4gdGhpcy5saXN0U2xvdEVudHJpZXMoKS5tYXAoXG4gICAgICAoc2xvdCwgaW5kZXgsIGFycmF5KSA9PiBodG1sYFxuICAgICAgICA8bGkgY2xhc3M9XCJzYmItYnJlYWRjcnVtYi1ncm91cF9faXRlbVwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9JHtzbG90Lm5hbWV9Pjwvc2xvdD5cbiAgICAgICAgICAke2luZGV4ICE9PSBhcnJheS5sZW5ndGggLSAxXG4gICAgICAgICAgICA/IGh0bWxgPHNiYi1pY29uXG4gICAgICAgICAgICAgICAgbmFtZT1cImNoZXZyb24tc21hbGwtcmlnaHQtc21hbGxcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBfX2RpdmlkZXItaWNvblwiXG4gICAgICAgICAgICAgID48L3NiYi1pY29uPmBcbiAgICAgICAgICAgIDogbm90aGluZ31cbiAgICAgICAgPC9saT5cbiAgICAgIGAsXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPG9sIGNsYXNzPVwic2JiLWJyZWFkY3J1bWItZ3JvdXBcIj5cbiAgICAgICAgJHt0aGlzLl9zdGF0ZSA9PT0gJ2NvbGxhcHNlZCcgPyB0aGlzLl9yZW5kZXJDb2xsYXBzZWQoKSA6IHRoaXMuX3JlbmRlckV4cGFuZGVkKCl9XG4gICAgICA8L29sPlxuICAgICAgJHt0aGlzLnJlbmRlckhpZGRlblNsb3QoKX1cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYnJlYWRjcnVtYi1ncm91cCc6IFNiYkJyZWFkY3J1bWJHcm91cEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJzdGF0ZSJdLCJtYXBw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
@@ -1,6 +1,6 @@
1
1
  import { CSSResultGroup } from 'lit';
2
2
  import { SbbButtonBaseElement } from '../../core/base-elements.js';
3
- declare const SbbButtonElement_base: import('../../core/mixins.js').AbstractConstructor<import('../common.js').SbbButtonCommonElementMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & typeof SbbButtonBaseElement;
3
+ declare const SbbButtonElement_base: import('../../core/mixins.js').AbstractConstructor<import('../common.js').SbbButtonCommonElementMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType & import('../../core/mixins.js').SbbDisabledInteractiveMixinType> & typeof SbbButtonBaseElement;
4
4
  /**
5
5
  * It displays a button enhanced with the SBB Design in the 'primary' variant.
6
6
  *
@@ -1,6 +1,6 @@
1
1
  import { CSSResultGroup } from 'lit';
2
2
  import { SbbLinkBaseElement } from '../../core/base-elements.js';
3
- declare const SbbButtonLinkElement_base: import('../../core/mixins.js').AbstractConstructor<import('../common.js').SbbButtonCommonElementMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & typeof SbbLinkBaseElement;
3
+ declare const SbbButtonLinkElement_base: import('../../core/mixins.js').AbstractConstructor<import('../common.js').SbbButtonCommonElementMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledInteractiveMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & typeof SbbLinkBaseElement;
4
4
  /**
5
5
  * It displays a button enhanced with the SBB Design in the 'primary' variant, which will behave as a link.
6
6
  *
@@ -1,6 +1,6 @@
1
1
  import { customElement } from "lit/decorators.js";
2
2
  import { SbbLinkBaseElement } from "../core/base-elements.js";
3
- import { SbbDisabledMixin } from "../core/mixins.js";
3
+ import { SbbDisabledInteractiveMixin, SbbDisabledMixin } from "../core/mixins.js";
4
4
  import { SbbButtonCommonElementMixin, buttonCommonStyle, buttonPrimaryStyle } from "./common.js";
5
5
  var __defProp = Object.defineProperty;
6
6
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -13,7 +13,7 @@ var __decorateClass = (decorators, target, key, kind) => {
13
13
  return result;
14
14
  };
15
15
  let SbbButtonLinkElement = class extends SbbButtonCommonElementMixin(
16
- SbbDisabledMixin(SbbLinkBaseElement)
16
+ SbbDisabledInteractiveMixin(SbbDisabledMixin(SbbLinkBaseElement))
17
17
  ) {
18
18
  };
19
19
  SbbButtonLinkElement.styles = [buttonCommonStyle, buttonPrimaryStyle];
@@ -23,4 +23,4 @@ SbbButtonLinkElement = __decorateClass([
23
23
  export {
24
24
  SbbButtonLinkElement
25
25
  };
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWxpbmsuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9idXR0b24vYnV0dG9uLWxpbmsvYnV0dG9uLWxpbmsudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJMaW5rQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IGJ1dHRvbkNvbW1vblN0eWxlLCBidXR0b25QcmltYXJ5U3R5bGUsIFNiYkJ1dHRvbkNvbW1vbkVsZW1lbnRNaXhpbiB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBidXR0b24gZW5oYW5jZWQgd2l0aCB0aGUgU0JCIERlc2lnbiBpbiB0aGUgJ3ByaW1hcnknIHZhcmlhbnQsIHdoaWNoIHdpbGwgYmVoYXZlIGFzIGEgbGluay5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBidXR0b24tbGluay5cbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gZGlzcGxheSB0aGUgaWNvbiwgaWYgb25lIGlzIHNldFxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWJ1dHRvbi1saW5rJylcbmV4cG9ydCBjbGFzcyBTYmJCdXR0b25MaW5rRWxlbWVudCBleHRlbmRzIFNiYkJ1dHRvbkNvbW1vbkVsZW1lbnRNaXhpbihcbiAgU2JiRGlzYWJsZWRNaXhpbihTYmJMaW5rQmFzZUVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtidXR0b25Db21tb25TdHlsZSwgYnV0dG9uUHJpbWFyeVN0eWxlXTtcbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1idXR0b24tbGluayc6IFNiYkJ1dHRvbkxpbmtFbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFjTyxJQUFNLHVCQUFOLGNBQW1DO0FBQUEsRUFDeEMsaUJBQWlCLGtCQUFrQjtBQUNyQyxFQUFFO0FBRUY7QUFKYSxxQkFHWSxTQUF5QixDQUFDLG1CQUFtQixrQkFBa0I7QUFIM0UsdUJBQU4sZ0JBQUE7QUFBQSxFQUROLGNBQWMsaUJBQWlCO0FBQUEsR0FDbkIsb0JBQUE7In0=
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWxpbmsuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9idXR0b24vYnV0dG9uLWxpbmsvYnV0dG9uLWxpbmsudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJMaW5rQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRJbnRlcmFjdGl2ZU1peGluLCBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgYnV0dG9uQ29tbW9uU3R5bGUsIGJ1dHRvblByaW1hcnlTdHlsZSwgU2JiQnV0dG9uQ29tbW9uRWxlbWVudE1peGluIH0gZnJvbSAnLi4vY29tbW9uLmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGJ1dHRvbiBlbmhhbmNlZCB3aXRoIHRoZSBTQkIgRGVzaWduIGluIHRoZSAncHJpbWFyeScgdmFyaWFudCwgd2hpY2ggd2lsbCBiZWhhdmUgYXMgYSBsaW5rLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGJ1dHRvbi1saW5rLlxuICogQHNsb3QgaWNvbiAtIFNsb3QgdXNlZCB0byBkaXNwbGF5IHRoZSBpY29uLCBpZiBvbmUgaXMgc2V0XG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItYnV0dG9uLWxpbmsnKVxuZXhwb3J0IGNsYXNzIFNiYkJ1dHRvbkxpbmtFbGVtZW50IGV4dGVuZHMgU2JiQnV0dG9uQ29tbW9uRWxlbWVudE1peGluKFxuICBTYmJEaXNhYmxlZEludGVyYWN0aXZlTWl4aW4oU2JiRGlzYWJsZWRNaXhpbihTYmJMaW5rQmFzZUVsZW1lbnQpKSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYnV0dG9uQ29tbW9uU3R5bGUsIGJ1dHRvblByaW1hcnlTdHlsZV07XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYnV0dG9uLWxpbmsnOiBTYmJCdXR0b25MaW5rRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBY08sSUFBTSx1QkFBTixjQUFtQztBQUFBLEVBQ3hDLDRCQUE0QixpQkFBaUIsa0JBQWtCLENBQUM7QUFDbEUsRUFBRTtBQUVGO0FBSmEscUJBR1ksU0FBeUIsQ0FBQyxtQkFBbUIsa0JBQWtCO0FBSDNFLHVCQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLGlCQUFpQjtBQUFBLEdBQ25CLG9CQUFBOyJ9
@@ -1,6 +1,6 @@
1
1
  import { customElement } from "lit/decorators.js";
2
2
  import { SbbButtonBaseElement } from "../core/base-elements.js";
3
- import { SbbFocusableDisabledActionMixin } from "../core/mixins.js";
3
+ import { SbbDisabledTabIndexActionMixin } from "../core/mixins.js";
4
4
  import { SbbButtonCommonElementMixin, buttonCommonStyle, buttonPrimaryStyle } from "./common.js";
5
5
  var __defProp = Object.defineProperty;
6
6
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -13,7 +13,7 @@ var __decorateClass = (decorators, target, key, kind) => {
13
13
  return result;
14
14
  };
15
15
  let SbbButtonElement = class extends SbbButtonCommonElementMixin(
16
- SbbFocusableDisabledActionMixin(SbbButtonBaseElement)
16
+ SbbDisabledTabIndexActionMixin(SbbButtonBaseElement)
17
17
  ) {
18
18
  };
19
19
  SbbButtonElement.styles = [buttonCommonStyle, buttonPrimaryStyle];
@@ -23,4 +23,4 @@ SbbButtonElement = __decorateClass([
23
23
  export {
24
24
  SbbButtonElement
25
25
  };
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvYnV0dG9uL2J1dHRvbi9idXR0b24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJCdXR0b25CYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJGb2N1c2FibGVEaXNhYmxlZEFjdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgYnV0dG9uQ29tbW9uU3R5bGUsIGJ1dHRvblByaW1hcnlTdHlsZSwgU2JiQnV0dG9uQ29tbW9uRWxlbWVudE1peGluIH0gZnJvbSAnLi4vY29tbW9uLmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGJ1dHRvbiBlbmhhbmNlZCB3aXRoIHRoZSBTQkIgRGVzaWduIGluIHRoZSAncHJpbWFyeScgdmFyaWFudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBidXR0b24uXG4gKiBAc2xvdCBpY29uIC0gU2xvdCB1c2VkIHRvIGRpc3BsYXkgdGhlIGljb24sIGlmIG9uZSBpcyBzZXRcbiAqL1xuQGN1c3RvbUVsZW1lbnQoJ3NiYi1idXR0b24nKVxuZXhwb3J0IGNsYXNzIFNiYkJ1dHRvbkVsZW1lbnQgZXh0ZW5kcyBTYmJCdXR0b25Db21tb25FbGVtZW50TWl4aW4oXG4gIFNiYkZvY3VzYWJsZURpc2FibGVkQWN0aW9uTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtidXR0b25Db21tb25TdHlsZSwgYnV0dG9uUHJpbWFyeVN0eWxlXTtcbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1idXR0b24nOiBTYmJCdXR0b25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFjTyxJQUFNLG1CQUFOLGNBQStCO0FBQUEsRUFDcEMsZ0NBQWdDLG9CQUFvQjtBQUN0RCxFQUFFO0FBRUY7QUFKYSxpQkFHWSxTQUF5QixDQUFDLG1CQUFtQixrQkFBa0I7QUFIM0UsbUJBQU4sZ0JBQUE7QUFBQSxFQUROLGNBQWMsWUFBWTtBQUFBLEdBQ2QsZ0JBQUE7In0=
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvYnV0dG9uL2J1dHRvbi9idXR0b24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJCdXR0b25CYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZFRhYkluZGV4QWN0aW9uTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBidXR0b25Db21tb25TdHlsZSwgYnV0dG9uUHJpbWFyeVN0eWxlLCBTYmJCdXR0b25Db21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgYnV0dG9uIGVuaGFuY2VkIHdpdGggdGhlIFNCQiBEZXNpZ24gaW4gdGhlICdwcmltYXJ5JyB2YXJpYW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIGJ1dHRvbi5cbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gZGlzcGxheSB0aGUgaWNvbiwgaWYgb25lIGlzIHNldFxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLWJ1dHRvbicpXG5leHBvcnQgY2xhc3MgU2JiQnV0dG9uRWxlbWVudCBleHRlbmRzIFNiYkJ1dHRvbkNvbW1vbkVsZW1lbnRNaXhpbihcbiAgU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbk1peGluKFNiYkJ1dHRvbkJhc2VFbGVtZW50KSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYnV0dG9uQ29tbW9uU3R5bGUsIGJ1dHRvblByaW1hcnlTdHlsZV07XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItYnV0dG9uJzogU2JiQnV0dG9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBY08sSUFBTSxtQkFBTixjQUErQjtBQUFBLEVBQ3BDLCtCQUErQixvQkFBb0I7QUFDckQsRUFBRTtBQUVGO0FBSmEsaUJBR1ksU0FBeUIsQ0FBQyxtQkFBbUIsa0JBQWtCO0FBSDNFLG1CQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLFlBQVk7QUFBQSxHQUNkLGdCQUFBOyJ9
@@ -1,6 +1,6 @@
1
1
  import { CSSResultGroup } from 'lit';
2
2
  import { SbbMiniButtonBaseElement } from './mini-button-base-element.js';
3
- declare const SbbMiniButtonElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & typeof SbbMiniButtonBaseElement;
3
+ declare const SbbMiniButtonElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType & import('../../core/mixins.js').SbbDisabledInteractiveMixinType> & typeof SbbMiniButtonBaseElement;
4
4
  /**
5
5
  * It displays an icon-only button enhanced with the SBB Design;
6
6
  * it's meant to be used mainly within the sbb-form-field in prefix/suffix slot.
@@ -1 +1 @@
1
- {"version":3,"file":"mini-button.d.ts","sourceRoot":"","sources":["../../../../../src/elements/button/mini-button/mini-button.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAK1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;;AAGzE;;;;;GAKG;AACH,qBACa,oBAAqB,SAAQ,yBAEzC;IACC,OAAuB,MAAM,EAAE,cAAc,CAAS;CACvD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
1
+ {"version":3,"file":"mini-button.d.ts","sourceRoot":"","sources":["../../../../../src/elements/button/mini-button/mini-button.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAK1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;;AAGzE;;;;;GAKG;AACH,qBACa,oBAAqB,SAAQ,yBAAwD;IAChG,OAAuB,MAAM,EAAE,cAAc,CAAS;CACvD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { SbbButtonBaseElement } from "../core/base-elements.js";
2
2
  import { slotState } from "../core/decorators.js";
3
- import { SbbNegativeMixin, SbbFocusableDisabledActionMixin } from "../core/mixins.js";
3
+ import { SbbNegativeMixin, SbbDisabledTabIndexActionMixin } from "../core/mixins.js";
4
4
  import { SbbIconNameMixin } from "../icon.js";
5
5
  import { customElement } from "lit/decorators.js";
6
6
  import { css } from "lit";
@@ -151,9 +151,7 @@ var __decorateClass = (decorators, target, key, kind) => {
151
151
  if (kind && result) __defProp(target, key, result);
152
152
  return result;
153
153
  };
154
- let SbbMiniButtonElement = class extends SbbFocusableDisabledActionMixin(
155
- SbbMiniButtonBaseElement
156
- ) {
154
+ let SbbMiniButtonElement = class extends SbbDisabledTabIndexActionMixin(SbbMiniButtonBaseElement) {
157
155
  };
158
156
  SbbMiniButtonElement.styles = style;
159
157
  SbbMiniButtonElement = __decorateClass([
@@ -163,4 +161,4 @@ export {
163
161
  SbbMiniButtonBaseElement,
164
162
  SbbMiniButtonElement
165
163
  };
166
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1idXR0b24uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9idXR0b24vbWluaS1idXR0b24vbWluaS1idXR0b24tYmFzZS1lbGVtZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2J1dHRvbi9taW5pLWJ1dHRvbi9taW5pLWJ1dHRvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgU2JiQnV0dG9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5qcyc7XG5cbkBzbG90U3RhdGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYk1pbmlCdXR0b25CYXNlRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYkljb25OYW1lTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpLFxuKSB7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIHN1cGVyLnJlbmRlckljb25TbG90KCk7XG4gIH1cbn1cbiIsImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiRm9jdXNhYmxlRGlzYWJsZWRBY3Rpb25NaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcblxuaW1wb3J0IHsgU2JiTWluaUJ1dHRvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi9taW5pLWJ1dHRvbi1iYXNlLWVsZW1lbnQuanMnO1xuaW1wb3J0IHN0eWxlIGZyb20gJy4vbWluaS1idXR0b24uc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBpY29uLW9ubHkgYnV0dG9uIGVuaGFuY2VkIHdpdGggdGhlIFNCQiBEZXNpZ247XG4gKiBpdCdzIG1lYW50IHRvIGJlIHVzZWQgbWFpbmx5IHdpdGhpbiB0aGUgc2JiLWZvcm0tZmllbGQgaW4gcHJlZml4L3N1ZmZpeCBzbG90LlxuICpcbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gZGlzcGxheSB0aGUgaWNvbiwgaWYgb25lIGlzIHNldFxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLW1pbmktYnV0dG9uJylcbmV4cG9ydCBjbGFzcyBTYmJNaW5pQnV0dG9uRWxlbWVudCBleHRlbmRzIFNiYkZvY3VzYWJsZURpc2FibGVkQWN0aW9uTWl4aW4oXG4gIFNiYk1pbmlCdXR0b25CYXNlRWxlbWVudCxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1taW5pLWJ1dHRvbic6IFNiYk1pbmlCdXR0b25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX19kZWNvcmF0ZUNsYXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBUU8sSUFBZSwyQkFBZixjQUFnRDtBQUFBLEVBQ3JELGlCQUFpQixvQkFBb0I7QUFDdkMsRUFBRTtBQUFBLEVBQ21CLGlCQUFpQztBQUNsRCxXQUFPLE1BQU07RUFDZjtBQUNGO0FBTnNCLDJCQUFmQSxrQkFBQTtBQUFBLEVBRE4sVUFBVTtBQUFBLEdBQ1csd0JBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDT2YsSUFBTSx1QkFBTixjQUFtQztBQUFBLEVBQ3hDO0FBQ0YsRUFBRTtBQUVGO0FBSmEscUJBR1ksU0FBeUI7QUFIckMsdUJBQU4sZ0JBQUE7QUFBQSxFQUROLGNBQWMsaUJBQWlCO0FBQUEsR0FDbkIsb0JBQUE7In0=
164
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaS1idXR0b24uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9idXR0b24vbWluaS1idXR0b24vbWluaS1idXR0b24tYmFzZS1lbGVtZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2J1dHRvbi9taW5pLWJ1dHRvbi9taW5pLWJ1dHRvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHsgU2JiQnV0dG9uQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgc2xvdFN0YXRlIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5qcyc7XG5cbkBzbG90U3RhdGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNiYk1pbmlCdXR0b25CYXNlRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oXG4gIFNiYkljb25OYW1lTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpLFxuKSB7XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIHN1cGVyLnJlbmRlckljb25TbG90KCk7XG4gIH1cbn1cbiIsImltcG9ydCB0eXBlIHsgQ1NTUmVzdWx0R3JvdXAgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHsgU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuXG5pbXBvcnQgeyBTYmJNaW5pQnV0dG9uQmFzZUVsZW1lbnQgfSBmcm9tICcuL21pbmktYnV0dG9uLWJhc2UtZWxlbWVudC5qcyc7XG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9taW5pLWJ1dHRvbi5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGFuIGljb24tb25seSBidXR0b24gZW5oYW5jZWQgd2l0aCB0aGUgU0JCIERlc2lnbjtcbiAqIGl0J3MgbWVhbnQgdG8gYmUgdXNlZCBtYWlubHkgd2l0aGluIHRoZSBzYmItZm9ybS1maWVsZCBpbiBwcmVmaXgvc3VmZml4IHNsb3QuXG4gKlxuICogQHNsb3QgaWNvbiAtIFNsb3QgdXNlZCB0byBkaXNwbGF5IHRoZSBpY29uLCBpZiBvbmUgaXMgc2V0XG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItbWluaS1idXR0b24nKVxuZXhwb3J0IGNsYXNzIFNiYk1pbmlCdXR0b25FbGVtZW50IGV4dGVuZHMgU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbk1peGluKFNiYk1pbmlCdXR0b25CYXNlRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1taW5pLWJ1dHRvbic6IFNiYk1pbmlCdXR0b25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOlsiX19kZWNvcmF0ZUNsYXNzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBUU8sSUFBZSwyQkFBZixjQUFnRDtBQUFBLEVBQ3JELGlCQUFpQixvQkFBb0I7QUFDdkMsRUFBRTtBQUFBLEVBQ21CLGlCQUFpQztBQUNsRCxXQUFPLE1BQU07RUFDZjtBQUNGO0FBTnNCLDJCQUFmQSxrQkFBQTtBQUFBLEVBRE4sVUFBVTtBQUFBLEdBQ1csd0JBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDT2YsSUFBTSx1QkFBTixjQUFtQywrQkFBK0Isd0JBQXdCLEVBQUU7QUFFbkc7QUFGYSxxQkFDWSxTQUF5QjtBQURyQyx1QkFBTixnQkFBQTtBQUFBLEVBRE4sY0FBYyxpQkFBaUI7QUFBQSxHQUNuQixvQkFBQTsifQ==
@@ -1,6 +1,6 @@
1
1
  import { CSSResultGroup } from 'lit';
2
2
  import { SbbButtonBaseElement } from '../../core/base-elements.js';
3
- declare const SbbSecondaryButtonElement_base: import('../../core/mixins.js').AbstractConstructor<import('../common.js').SbbButtonCommonElementMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & typeof SbbButtonBaseElement;
3
+ declare const SbbSecondaryButtonElement_base: import('../../core/mixins.js').AbstractConstructor<import('../common.js').SbbButtonCommonElementMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType & import('../../core/mixins.js').SbbDisabledInteractiveMixinType> & typeof SbbButtonBaseElement;
4
4
  /**
5
5
  * It displays a button enhanced with the SBB Design in the 'secondary' variant.
6
6
  *
@@ -1,6 +1,6 @@
1
1
  import { CSSResultGroup } from 'lit';
2
2
  import { SbbLinkBaseElement } from '../../core/base-elements.js';
3
- declare const SbbSecondaryButtonLinkElement_base: import('../../core/mixins.js').AbstractConstructor<import('../common.js').SbbButtonCommonElementMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & typeof SbbLinkBaseElement;
3
+ declare const SbbSecondaryButtonLinkElement_base: import('../../core/mixins.js').AbstractConstructor<import('../common.js').SbbButtonCommonElementMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledInteractiveMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & typeof SbbLinkBaseElement;
4
4
  /**
5
5
  * It displays a button enhanced with the SBB Design in the 'primary' variant, which will behave as a link.
6
6
  *
@@ -1,6 +1,6 @@
1
1
  import { customElement } from "lit/decorators.js";
2
2
  import { SbbLinkBaseElement } from "../core/base-elements.js";
3
- import { SbbDisabledMixin } from "../core/mixins.js";
3
+ import { SbbDisabledInteractiveMixin, SbbDisabledMixin } from "../core/mixins.js";
4
4
  import { SbbButtonCommonElementMixin, buttonCommonStyle, buttonSecondaryStyle } from "./common.js";
5
5
  var __defProp = Object.defineProperty;
6
6
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -13,7 +13,7 @@ var __decorateClass = (decorators, target, key, kind) => {
13
13
  return result;
14
14
  };
15
15
  let SbbSecondaryButtonLinkElement = class extends SbbButtonCommonElementMixin(
16
- SbbDisabledMixin(SbbLinkBaseElement)
16
+ SbbDisabledInteractiveMixin(SbbDisabledMixin(SbbLinkBaseElement))
17
17
  ) {
18
18
  };
19
19
  SbbSecondaryButtonLinkElement.styles = [buttonCommonStyle, buttonSecondaryStyle];
@@ -23,4 +23,4 @@ SbbSecondaryButtonLinkElement = __decorateClass([
23
23
  export {
24
24
  SbbSecondaryButtonLinkElement
25
25
  };
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vjb25kYXJ5LWJ1dHRvbi1saW5rLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvYnV0dG9uL3NlY29uZGFyeS1idXR0b24tbGluay9zZWNvbmRhcnktYnV0dG9uLWxpbmsudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJMaW5rQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRNaXhpbiB9IGZyb20gJy4uLy4uL2NvcmUvbWl4aW5zLmpzJztcbmltcG9ydCB7IGJ1dHRvbkNvbW1vblN0eWxlLCBidXR0b25TZWNvbmRhcnlTdHlsZSwgU2JiQnV0dG9uQ29tbW9uRWxlbWVudE1peGluIH0gZnJvbSAnLi4vY29tbW9uLmpzJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGJ1dHRvbiBlbmhhbmNlZCB3aXRoIHRoZSBTQkIgRGVzaWduIGluIHRoZSAncHJpbWFyeScgdmFyaWFudCwgd2hpY2ggd2lsbCBiZWhhdmUgYXMgYSBsaW5rLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGNvbnRlbnQgdG8gdGhlIHNlY29uZGFyeS1idXR0b24tbGluay5cbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gZGlzcGxheSB0aGUgaWNvbiwgaWYgb25lIGlzIHNldFxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLXNlY29uZGFyeS1idXR0b24tbGluaycpXG5leHBvcnQgY2xhc3MgU2JiU2Vjb25kYXJ5QnV0dG9uTGlua0VsZW1lbnQgZXh0ZW5kcyBTYmJCdXR0b25Db21tb25FbGVtZW50TWl4aW4oXG4gIFNiYkRpc2FibGVkTWl4aW4oU2JiTGlua0Jhc2VFbGVtZW50KSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYnV0dG9uQ29tbW9uU3R5bGUsIGJ1dHRvblNlY29uZGFyeVN0eWxlXTtcbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zZWNvbmRhcnktYnV0dG9uLWxpbmsnOiBTYmJTZWNvbmRhcnlCdXR0b25MaW5rRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBY08sSUFBTSxnQ0FBTixjQUE0QztBQUFBLEVBQ2pELGlCQUFpQixrQkFBa0I7QUFDckMsRUFBRTtBQUVGO0FBSmEsOEJBR1ksU0FBeUIsQ0FBQyxtQkFBbUIsb0JBQW9CO0FBSDdFLGdDQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLDJCQUEyQjtBQUFBLEdBQzdCLDZCQUFBOyJ9
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vjb25kYXJ5LWJ1dHRvbi1saW5rLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvYnV0dG9uL3NlY29uZGFyeS1idXR0b24tbGluay9zZWNvbmRhcnktYnV0dG9uLWxpbmsudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJMaW5rQmFzZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UtZWxlbWVudHMuanMnO1xuaW1wb3J0IHsgU2JiRGlzYWJsZWRJbnRlcmFjdGl2ZU1peGluLCBTYmJEaXNhYmxlZE1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgYnV0dG9uQ29tbW9uU3R5bGUsIGJ1dHRvblNlY29uZGFyeVN0eWxlLCBTYmJCdXR0b25Db21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgYnV0dG9uIGVuaGFuY2VkIHdpdGggdGhlIFNCQiBEZXNpZ24gaW4gdGhlICdwcmltYXJ5JyB2YXJpYW50LCB3aGljaCB3aWxsIGJlaGF2ZSBhcyBhIGxpbmsuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgc2Vjb25kYXJ5LWJ1dHRvbi1saW5rLlxuICogQHNsb3QgaWNvbiAtIFNsb3QgdXNlZCB0byBkaXNwbGF5IHRoZSBpY29uLCBpZiBvbmUgaXMgc2V0XG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItc2Vjb25kYXJ5LWJ1dHRvbi1saW5rJylcbmV4cG9ydCBjbGFzcyBTYmJTZWNvbmRhcnlCdXR0b25MaW5rRWxlbWVudCBleHRlbmRzIFNiYkJ1dHRvbkNvbW1vbkVsZW1lbnRNaXhpbihcbiAgU2JiRGlzYWJsZWRJbnRlcmFjdGl2ZU1peGluKFNiYkRpc2FibGVkTWl4aW4oU2JiTGlua0Jhc2VFbGVtZW50KSksXG4pIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW2J1dHRvbkNvbW1vblN0eWxlLCBidXR0b25TZWNvbmRhcnlTdHlsZV07XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItc2Vjb25kYXJ5LWJ1dHRvbi1saW5rJzogU2JiU2Vjb25kYXJ5QnV0dG9uTGlua0VsZW1lbnQ7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQWNPLElBQU0sZ0NBQU4sY0FBNEM7QUFBQSxFQUNqRCw0QkFBNEIsaUJBQWlCLGtCQUFrQixDQUFDO0FBQ2xFLEVBQUU7QUFFRjtBQUphLDhCQUdZLFNBQXlCLENBQUMsbUJBQW1CLG9CQUFvQjtBQUg3RSxnQ0FBTixnQkFBQTtBQUFBLEVBRE4sY0FBYywyQkFBMkI7QUFBQSxHQUM3Qiw2QkFBQTsifQ==
@@ -1,6 +1,6 @@
1
1
  import { customElement } from "lit/decorators.js";
2
2
  import { SbbButtonBaseElement } from "../core/base-elements.js";
3
- import { SbbFocusableDisabledActionMixin } from "../core/mixins.js";
3
+ import { SbbDisabledTabIndexActionMixin } from "../core/mixins.js";
4
4
  import { SbbButtonCommonElementMixin, buttonCommonStyle, buttonSecondaryStyle } from "./common.js";
5
5
  var __defProp = Object.defineProperty;
6
6
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -13,7 +13,7 @@ var __decorateClass = (decorators, target, key, kind) => {
13
13
  return result;
14
14
  };
15
15
  let SbbSecondaryButtonElement = class extends SbbButtonCommonElementMixin(
16
- SbbFocusableDisabledActionMixin(SbbButtonBaseElement)
16
+ SbbDisabledTabIndexActionMixin(SbbButtonBaseElement)
17
17
  ) {
18
18
  };
19
19
  SbbSecondaryButtonElement.styles = [buttonCommonStyle, buttonSecondaryStyle];
@@ -23,4 +23,4 @@ SbbSecondaryButtonElement = __decorateClass([
23
23
  export {
24
24
  SbbSecondaryButtonElement
25
25
  };
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vjb25kYXJ5LWJ1dHRvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2J1dHRvbi9zZWNvbmRhcnktYnV0dG9uL3NlY29uZGFyeS1idXR0b24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJCdXR0b25CYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJGb2N1c2FibGVEaXNhYmxlZEFjdGlvbk1peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHsgYnV0dG9uQ29tbW9uU3R5bGUsIGJ1dHRvblNlY29uZGFyeVN0eWxlLCBTYmJCdXR0b25Db21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuLi9jb21tb24uanMnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgYnV0dG9uIGVuaGFuY2VkIHdpdGggdGhlIFNCQiBEZXNpZ24gaW4gdGhlICdzZWNvbmRhcnknIHZhcmlhbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgc2Vjb25kYXJ5LWJ1dHRvbi5cbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gZGlzcGxheSB0aGUgaWNvbiwgaWYgb25lIGlzIHNldFxuICovXG5AY3VzdG9tRWxlbWVudCgnc2JiLXNlY29uZGFyeS1idXR0b24nKVxuZXhwb3J0IGNsYXNzIFNiYlNlY29uZGFyeUJ1dHRvbkVsZW1lbnQgZXh0ZW5kcyBTYmJCdXR0b25Db21tb25FbGVtZW50TWl4aW4oXG4gIFNiYkZvY3VzYWJsZURpc2FibGVkQWN0aW9uTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFtidXR0b25Db21tb25TdHlsZSwgYnV0dG9uU2Vjb25kYXJ5U3R5bGVdO1xufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNlY29uZGFyeS1idXR0b24nOiBTYmJTZWNvbmRhcnlCdXR0b25FbGVtZW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFjTyxJQUFNLDRCQUFOLGNBQXdDO0FBQUEsRUFDN0MsZ0NBQWdDLG9CQUFvQjtBQUN0RCxFQUFFO0FBRUY7QUFKYSwwQkFHWSxTQUF5QixDQUFDLG1CQUFtQixvQkFBb0I7QUFIN0UsNEJBQU4sZ0JBQUE7QUFBQSxFQUROLGNBQWMsc0JBQXNCO0FBQUEsR0FDeEIseUJBQUE7In0=
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vjb25kYXJ5LWJ1dHRvbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2J1dHRvbi9zZWNvbmRhcnktYnV0dG9uL3NlY29uZGFyeS1idXR0b24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBTYmJCdXR0b25CYXNlRWxlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS1lbGVtZW50cy5qcyc7XG5pbXBvcnQgeyBTYmJEaXNhYmxlZFRhYkluZGV4QWN0aW9uTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBidXR0b25Db21tb25TdHlsZSwgYnV0dG9uU2Vjb25kYXJ5U3R5bGUsIFNiYkJ1dHRvbkNvbW1vbkVsZW1lbnRNaXhpbiB9IGZyb20gJy4uL2NvbW1vbi5qcyc7XG5cbi8qKlxuICogSXQgZGlzcGxheXMgYSBidXR0b24gZW5oYW5jZWQgd2l0aCB0aGUgU0JCIERlc2lnbiBpbiB0aGUgJ3NlY29uZGFyeScgdmFyaWFudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBzZWNvbmRhcnktYnV0dG9uLlxuICogQHNsb3QgaWNvbiAtIFNsb3QgdXNlZCB0byBkaXNwbGF5IHRoZSBpY29uLCBpZiBvbmUgaXMgc2V0XG4gKi9cbkBjdXN0b21FbGVtZW50KCdzYmItc2Vjb25kYXJ5LWJ1dHRvbicpXG5leHBvcnQgY2xhc3MgU2JiU2Vjb25kYXJ5QnV0dG9uRWxlbWVudCBleHRlbmRzIFNiYkJ1dHRvbkNvbW1vbkVsZW1lbnRNaXhpbihcbiAgU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbk1peGluKFNiYkJ1dHRvbkJhc2VFbGVtZW50KSxcbikge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbYnV0dG9uQ29tbW9uU3R5bGUsIGJ1dHRvblNlY29uZGFyeVN0eWxlXTtcbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1zZWNvbmRhcnktYnV0dG9uJzogU2JiU2Vjb25kYXJ5QnV0dG9uRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBY08sSUFBTSw0QkFBTixjQUF3QztBQUFBLEVBQzdDLCtCQUErQixvQkFBb0I7QUFDckQsRUFBRTtBQUVGO0FBSmEsMEJBR1ksU0FBeUIsQ0FBQyxtQkFBbUIsb0JBQW9CO0FBSDdFLDRCQUFOLGdCQUFBO0FBQUEsRUFETixjQUFjLHNCQUFzQjtBQUFBLEdBQ3hCLHlCQUFBOyJ9
@@ -1,6 +1,6 @@
1
1
  import { CSSResultGroup } from 'lit';
2
2
  import { SbbButtonBaseElement } from '../../core/base-elements.js';
3
- declare const SbbTertiaryButtonElement_base: import('../../core/mixins.js').AbstractConstructor<import('../common.js').SbbButtonCommonElementMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & typeof SbbButtonBaseElement;
3
+ declare const SbbTertiaryButtonElement_base: import('../../core/mixins.js').AbstractConstructor<import('../common.js').SbbButtonCommonElementMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType & import('../../core/mixins.js').SbbDisabledInteractiveMixinType> & typeof SbbButtonBaseElement;
4
4
  /**
5
5
  * It displays a button enhanced with the SBB Design in the 'tertiary' variant.
6
6
  *
@@ -1,6 +1,6 @@
1
1
  import { CSSResultGroup } from 'lit';
2
2
  import { SbbLinkBaseElement } from '../../core/base-elements.js';
3
- declare const SbbTertiaryButtonLinkElement_base: import('../../core/mixins.js').AbstractConstructor<import('../common.js').SbbButtonCommonElementMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & typeof SbbLinkBaseElement;
3
+ declare const SbbTertiaryButtonLinkElement_base: import('../../core/mixins.js').AbstractConstructor<import('../common.js').SbbButtonCommonElementMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledInteractiveMixinType> & import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbDisabledMixinType> & typeof SbbLinkBaseElement;
4
4
  /**
5
5
  * It displays a button enhanced with the SBB Design in the 'tertiary' variant, which will behave as a link.
6
6
  *