@sbb-esta/lyne-elements 3.11.0 → 3.12.0

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 (173) hide show
  1. package/action-group/action-group.component.js +1 -1
  2. package/alert/alert/alert.component.js +1 -1
  3. package/autocomplete/autocomplete-base-element.d.ts +5 -0
  4. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  5. package/autocomplete/autocomplete-base-element.js +72 -59
  6. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +1 -1
  7. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  8. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  9. package/badge.css +1 -0
  10. package/breadcrumb/breadcrumb/breadcrumb.component.js +4 -4
  11. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  12. package/button/common.js +1 -1
  13. package/button/mini-button/mini-button.component.js +1 -1
  14. package/button.js +1 -1
  15. package/calendar/calendar.component.js +1 -1
  16. package/card/card/card.component.js +1 -1
  17. package/card/card-badge/card-badge.component.js +1 -1
  18. package/carousel/carousel-list/carousel-list.component.d.ts +8 -3
  19. package/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
  20. package/carousel/carousel-list/carousel-list.component.js +62 -40
  21. package/checkbox/checkbox-group/checkbox-group.component.js +1 -1
  22. package/chip/chip/chip.component.js +1 -1
  23. package/chip/chip-group/chip-group.component.js +1 -1
  24. package/chip-label/chip-label.component.js +1 -1
  25. package/container/container/container.component.js +11 -11
  26. package/container/sticky-bar/sticky-bar.component.js +9 -9
  27. package/core/mixins.js +1 -1
  28. package/core/overlay/overlay-option-panel.d.ts +2 -1
  29. package/core/overlay/overlay-option-panel.d.ts.map +1 -1
  30. package/core/overlay/overlay-option-panel.js +8 -5
  31. package/core/overlay/position.d.ts +2 -0
  32. package/core/overlay/position.d.ts.map +1 -1
  33. package/core/overlay/position.js +19 -17
  34. package/core/styles/layout.scss +4 -0
  35. package/core/styles/mixins/badge.scss +3 -0
  36. package/core/styles/mixins/layout.scss +5 -4
  37. package/core/styles/mixins/link.scss +0 -11
  38. package/custom-elements.json +352 -197
  39. package/date-input/date-input.component.js +1 -1
  40. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  41. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  42. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
  43. package/development/autocomplete/autocomplete-base-element.d.ts +5 -0
  44. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  45. package/development/autocomplete/autocomplete-base-element.js +25 -5
  46. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -2
  47. package/development/carousel/carousel-list/carousel-list.component.d.ts +8 -3
  48. package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
  49. package/development/carousel/carousel-list/carousel-list.component.js +51 -19
  50. package/development/container/container/container.component.js +3 -3
  51. package/development/container/sticky-bar/sticky-bar.component.js +5 -5
  52. package/development/core/overlay/overlay-option-panel.d.ts +2 -1
  53. package/development/core/overlay/overlay-option-panel.d.ts.map +1 -1
  54. package/development/core/overlay/overlay-option-panel.js +6 -3
  55. package/development/core/overlay/position.d.ts +2 -0
  56. package/development/core/overlay/position.d.ts.map +1 -1
  57. package/development/core/overlay/position.js +3 -2
  58. package/development/footer/footer.component.js +3 -3
  59. package/development/header/header/header.component.js +3 -3
  60. package/development/lead-container/lead-container.component.js +8 -7
  61. package/development/link/common/block-link-common.js +2 -12
  62. package/development/link/common/inline-link-common.js +2 -10
  63. package/development/link/common/link-common.js +1 -1
  64. package/development/link/common.js +1 -1
  65. package/development/{link-common-DPLJx5Uo.js → link-common-BDFF9Oiz.js} +1 -3
  66. package/development/link-list/link-list-anchor/link-list-anchor.component.js +1 -2
  67. package/development/link.js +1 -1
  68. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  69. package/development/mini-calendar/mini-calendar/mini-calendar.component.js +5 -7
  70. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +3 -3
  71. package/development/paginator/common/paginator-common.d.ts +2 -1
  72. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  73. package/development/paginator/common/paginator-common.js +87 -49
  74. package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  75. package/development/paginator/compact-paginator/compact-paginator.component.js +3 -2
  76. package/development/paginator/paginator/paginator.component.d.ts +6 -0
  77. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  78. package/development/paginator/paginator/paginator.component.js +19 -4
  79. package/development/tag/tag/tag.component.js +2 -1
  80. package/dialog/dialog/dialog.component.js +1 -1
  81. package/dialog/dialog-actions/dialog-actions.component.js +1 -1
  82. package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  83. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  84. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  85. package/file-selector/common.js +1 -1
  86. package/file-selector-common-BEWjyy75.js +5 -0
  87. package/file-selector.js +1 -1
  88. package/flip-card/flip-card/flip-card.component.js +1 -1
  89. package/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
  90. package/footer/footer.component.js +8 -8
  91. package/form-error/form-error.component.js +1 -1
  92. package/form-field/form-field/form-field.component.js +1 -1
  93. package/form-field/form-field-clear/form-field-clear.component.js +1 -1
  94. package/header/common/header-action-common.js +1 -1
  95. package/header/header/header.component.js +32 -32
  96. package/icon-sidebar-button-common-XcKoF2SP.js +7 -0
  97. package/layout.css +9 -3
  98. package/lead-container/lead-container.component.js +8 -8
  99. package/link/common/block-link-common.js +25 -25
  100. package/link/common/inline-link-common.js +7 -7
  101. package/link/common/link-common.js +1 -1
  102. package/link/common.js +1 -1
  103. package/link-common-nA3q92jp.js +46 -0
  104. package/link-list/link-list/link-list.component.js +1 -1
  105. package/link-list/link-list-anchor/link-list-anchor.component.js +5 -5
  106. package/link.js +1 -1
  107. package/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  108. package/logo/logo.component.js +1 -1
  109. package/map-container/map-container.component.js +1 -1
  110. package/menu/common/menu-action-common.js +1 -1
  111. package/menu/menu/menu.component.js +1 -1
  112. package/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  113. package/mini-calendar/mini-calendar/mini-calendar.component.js +5 -9
  114. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
  115. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +16 -16
  116. package/navigation/common/navigation-action-common.js +1 -1
  117. package/navigation/navigation/navigation.component.js +1 -1
  118. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  119. package/navigation/navigation-section/navigation-section.component.js +1 -1
  120. package/notification/notification.component.js +1 -1
  121. package/off-brand-theme.css +10 -3
  122. package/option/option/option.component.js +1 -1
  123. package/overlay/overlay.component.js +1 -1
  124. package/package.json +1 -1
  125. package/paginator/common/paginator-common.d.ts +2 -1
  126. package/paginator/common/paginator-common.d.ts.map +1 -1
  127. package/paginator/common/paginator-common.js +102 -81
  128. package/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  129. package/paginator/compact-paginator/compact-paginator.component.js +2 -1
  130. package/paginator/paginator/paginator.component.d.ts +6 -0
  131. package/paginator/paginator/paginator.component.d.ts.map +1 -1
  132. package/paginator/paginator/paginator.component.js +57 -45
  133. package/popover/popover/popover.component.js +1 -1
  134. package/popover/popover-trigger/popover-trigger.component.js +1 -1
  135. package/radio-button/common.js +1 -1
  136. package/radio-button/radio-button-group/radio-button-group.component.js +1 -1
  137. package/radio-button-common-Bw2t3Sxz.js +5 -0
  138. package/radio-button.js +1 -1
  139. package/safety-theme.css +10 -3
  140. package/select/select.component.js +1 -1
  141. package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  142. package/sidebar/common.js +1 -1
  143. package/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  144. package/sidebar.js +1 -1
  145. package/signet/signet.component.js +1 -1
  146. package/slider/slider.component.js +1 -1
  147. package/standard-theme.css +10 -3
  148. package/stepper/step-label/step-label.component.js +1 -1
  149. package/stepper/stepper/stepper.component.js +1 -1
  150. package/tabs/tab-label/tab-label.component.js +1 -1
  151. package/tag/tag/tag.component.js +4 -4
  152. package/teaser/teaser.component.js +1 -1
  153. package/teaser-hero/teaser-hero.component.js +1 -1
  154. package/teaser-product/common.js +1 -1
  155. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  156. package/teaser-product-common-Du28QCY3.js +5 -0
  157. package/teaser-product.js +1 -1
  158. package/time-input/time-input.component.js +1 -1
  159. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  160. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  161. package/toggle/toggle/toggle.component.js +1 -1
  162. package/toggle-check/toggle-check.component.js +1 -1
  163. package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  164. package/train/train-formation/train-formation.component.js +1 -1
  165. package/train/train-wagon/train-wagon.component.js +1 -1
  166. package/transparent-button-DJIkG5hj.js +9 -0
  167. package/visual-checkbox/visual-checkbox.component.js +1 -1
  168. package/file-selector-common-D88J9PEh.js +0 -5
  169. package/icon-sidebar-button-common-BeRXvifI.js +0 -7
  170. package/link-common-BBKGg9HN.js +0 -46
  171. package/radio-button-common-Nm9ULjVb.js +0 -5
  172. package/teaser-product-common-DIra6aVg.js +0 -5
  173. package/transparent-button-Bg9fU_iZ.js +0 -9
@@ -1,6 +1,6 @@
1
1
  import { __esDecorate, __runInitializers } from "tslib";
2
2
  import { IntersectionController } from "@lit-labs/observers/intersection-controller.js";
3
- import { css, LitElement, html } from "lit";
3
+ import { css, LitElement, isServer, html } from "lit";
4
4
  import { customElement } from "lit/decorators.js";
5
5
  import { isArrowKeyPressed } from "../../core/a11y.js";
6
6
  import { SbbLanguageController } from "../../core/controllers.js";
@@ -16,7 +16,7 @@ const style = css`*,
16
16
  --sbb-carousel-list-border-radius: var(--sbb-border-radius-4x);
17
17
  display: flex;
18
18
  height: var(--sbb-carousel-list-height);
19
- width: var(--sbb-carousel-list-width);
19
+ width: var(--sbb-carousel-list-width, 0);
20
20
  overflow-x: auto;
21
21
  scroll-snap-type: x mandatory;
22
22
  scroll-behavior: smooth;
@@ -30,8 +30,8 @@ const style = css`*,
30
30
  outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
31
31
  content: "";
32
32
  position: absolute;
33
- height: var(--sbb-carousel-list-height);
34
- width: var(--sbb-carousel-list-width);
33
+ height: inherit;
34
+ width: inherit;
35
35
  border-start-start-radius: var(--sbb-carousel-list-border-radius);
36
36
  border-start-end-radius: var(--sbb-carousel-list-border-radius);
37
37
  border-end-start-radius: var(--sbb-carousel-inherit-border-radius);
@@ -49,7 +49,9 @@ let SbbCarouselListElement = (() => {
49
49
  super();
50
50
  this._currentIndex = 0;
51
51
  this._language = new SbbLanguageController(this);
52
+ this._observedCarouselItems = [];
52
53
  this._beforeShowObserver = new IntersectionController(this, {
54
+ target: null,
53
55
  callback: (entry) => {
54
56
  const item = entry.filter((e) => e.isIntersecting && e.target !== this);
55
57
  item.forEach((e) => {
@@ -64,6 +66,7 @@ let SbbCarouselListElement = (() => {
64
66
  config: { threshold: 0.01, root: this, rootMargin: "100% 0% 100% 0%" }
65
67
  });
66
68
  this._showObserver = new IntersectionController(this, {
69
+ target: null,
67
70
  callback: (entryArr) => {
68
71
  for (const entry of entryArr) {
69
72
  if (entry.target === this) {
@@ -85,6 +88,19 @@ let SbbCarouselListElement = (() => {
85
88
  },
86
89
  config: { threshold: 0.99, root: this, rootMargin: "100% 0% 100% 0%" }
87
90
  });
91
+ this._firstVisibleIntersectionController = new IntersectionController(this, {
92
+ callback: (entries) => {
93
+ entries.forEach((entry) => {
94
+ if (entry.intersectionRatio > 0) {
95
+ this._readDimensions();
96
+ this._firstVisibleIntersectionController.unobserve(this);
97
+ }
98
+ });
99
+ },
100
+ config: {
101
+ root: !isServer ? document?.documentElement : null
102
+ }
103
+ });
88
104
  this.addEventListener?.("keydown", (e) => this._onKeyDown(e));
89
105
  }
90
106
  /** Gets the slotted items. */
@@ -92,16 +108,37 @@ let SbbCarouselListElement = (() => {
92
108
  return Array.from(this.querySelectorAll?.("sbb-carousel-item") ?? []);
93
109
  }
94
110
  _handleSlotchange() {
95
- const children = Array.from(this.children);
96
- const childrenLength = children.length;
97
- children.forEach((item, index) => {
98
- item.ariaLabel ||= i18nCarouselItemAriaLabel(index + 1, childrenLength)[this._language.current];
111
+ this._observedCarouselItems.forEach((item) => {
112
+ this._beforeShowObserver.unobserve(item);
113
+ this._showObserver.unobserve(item);
114
+ });
115
+ const carouselItems = this._carouselItems();
116
+ carouselItems.forEach((item, index) => {
117
+ item.ariaLabel ||= i18nCarouselItemAriaLabel(index + 1, carouselItems.length)[this._language.current];
99
118
  item.ariaHidden = index === this._currentIndex ? null : "true";
100
119
  });
101
- const firstItem = children.find((el) => el.localName === "sbb-carousel-item");
102
- if (firstItem) {
120
+ this._readDimensions();
121
+ }
122
+ /**
123
+ * Reads the dimensions of the first carousel item and sets the CSS properties accordingly.
124
+ * Should set the dimensions only once, when the first item becomes visible and if the value is non-zero.
125
+ */
126
+ _readDimensions() {
127
+ const carouselItems = this._carouselItems();
128
+ if (carouselItems.length === 0) {
129
+ return;
130
+ }
131
+ const firstItem = carouselItems[0];
132
+ if (firstItem.clientHeight > 0) {
103
133
  this.style.setProperty("--sbb-carousel-list-height", `${firstItem.clientHeight}px`);
134
+ }
135
+ if (firstItem.clientWidth > 0) {
104
136
  this.style.setProperty("--sbb-carousel-list-width", `${firstItem.clientWidth}px`);
137
+ carouselItems.forEach((item) => {
138
+ this._beforeShowObserver.observe(item);
139
+ this._showObserver.observe(item);
140
+ });
141
+ this._observedCarouselItems = carouselItems;
105
142
  }
106
143
  }
107
144
  _onKeyDown(evt) {
@@ -119,7 +156,9 @@ let SbbCarouselListElement = (() => {
119
156
  }
120
157
  if (newIndex !== this._currentIndex) {
121
158
  this._currentIndex = newIndex;
122
- this.scrollTo({ left: this._carouselItems()[this._currentIndex].offsetLeft });
159
+ this.scrollTo({
160
+ left: this._carouselItems()[this._currentIndex].offsetLeft - this.offsetLeft
161
+ });
123
162
  }
124
163
  }
125
164
  connectedCallback() {
@@ -127,13 +166,6 @@ let SbbCarouselListElement = (() => {
127
166
  this.internals.ariaLive = "polite";
128
167
  this.internals.ariaAtomic = "true";
129
168
  }
130
- firstUpdated(_changedProperties) {
131
- super.firstUpdated(_changedProperties);
132
- this.querySelectorAll("sbb-carousel-item").forEach((item) => {
133
- this._beforeShowObserver.observe(item);
134
- this._showObserver.observe(item);
135
- });
136
- }
137
169
  render() {
138
170
  return html`<slot @slotchange=${this._handleSlotchange}></slot>`;
139
171
  }
@@ -148,4 +180,4 @@ let SbbCarouselListElement = (() => {
148
180
  export {
149
181
  SbbCarouselListElement
150
182
  };
151
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC1saXN0L2Nhcm91c2VsLWxpc3QuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUHJvcGVydHlWYWx1ZXMgfSBmcm9tICdAbGl0L3JlYWN0aXZlLWVsZW1lbnQnO1xuaW1wb3J0IHsgSW50ZXJzZWN0aW9uQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvaW50ZXJzZWN0aW9uLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBDU1NSZXN1bHRHcm91cCwgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgaHRtbCwgTGl0RWxlbWVudCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBpc0Fycm93S2V5UHJlc3NlZCB9IGZyb20gJy4uLy4uL2NvcmUvYTExeS5qcyc7XG5pbXBvcnQgeyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9jb3JlL2NvbnRyb2xsZXJzLmpzJztcbmltcG9ydCB7IGkxOG5DYXJvdXNlbEl0ZW1BcmlhTGFiZWwgfSBmcm9tICcuLi8uLi9jb3JlL2kxOG4uanMnO1xuaW1wb3J0IHsgU2JiRWxlbWVudEludGVybmFsc01peGluIH0gZnJvbSAnLi4vLi4vY29yZS9taXhpbnMuanMnO1xuaW1wb3J0IHR5cGUge1xuICBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50LFxuICBTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbCxcbn0gZnJvbSAnLi4vY2Fyb3VzZWwtaXRlbS9jYXJvdXNlbC1pdGVtLmNvbXBvbmVudC5qcyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2Nhcm91c2VsLWxpc3Quc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhIGxpc3Qgb2YgYHNiYi1jYXJvdXNlbC1pdGVtYCBjb21wb25lbnRzLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGBzYmItY2Fyb3VzZWwtaXRlbWAgZWxlbWVudHMuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1jYXJvdXNlbC1saXN0JylcbmNsYXNzIFNiYkNhcm91c2VsTGlzdEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4oTGl0RWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcml2YXRlIF9jdXJyZW50SW5kZXggPSAwO1xuICBwcml2YXRlIF9sYW5ndWFnZSA9IG5ldyBTYmJMYW5ndWFnZUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHJpdmF0ZSBfYmVmb3JlU2hvd09ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIGNhbGxiYWNrOiAoZW50cnkpID0+IHtcbiAgICAgIGNvbnN0IGl0ZW0gPSBlbnRyeS5maWx0ZXIoKGUpID0+IGUuaXNJbnRlcnNlY3RpbmcgJiYgZS50YXJnZXQgIT09IHRoaXMpO1xuICAgICAgaXRlbS5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIFNiYkNhcm91c2VsSXRlbUVsZW1lbnQ7XG4gICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbD4oJ2JlZm9yZXNob3cnLCB7XG4gICAgICAgICAgICBkZXRhaWw6IHsgaW5kZXg6IHRoaXMuX2Nhcm91c2VsSXRlbXMoKS5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRhcmdldCkgfSxcbiAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgY29uZmlnOiB7IHRocmVzaG9sZDogMC4wMSwgcm9vdDogdGhpcywgcm9vdE1hcmdpbjogJzEwMCUgMCUgMTAwJSAwJScgfSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfc2hvd09ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIGNhbGxiYWNrOiAoZW50cnlBcnIpID0+IHtcbiAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cnlBcnIpIHtcbiAgICAgICAgaWYgKGVudHJ5LnRhcmdldCA9PT0gdGhpcykge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGVudHJ5LnRhcmdldCBhcyBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50O1xuICAgICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHtcbiAgICAgICAgICB0YXJnZXQuYXJpYUhpZGRlbiA9IG51bGw7XG4gICAgICAgICAgdGhpcy5fY3VycmVudEluZGV4ID0gdGhpcy5fY2Fyb3VzZWxJdGVtcygpLmZpbmRJbmRleCgoZWwpID0+IGVsID09PSB0YXJnZXQpO1xuICAgICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50PFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsPignc2hvdycsIHtcbiAgICAgICAgICAgICAgZGV0YWlsOiB7IGluZGV4OiB0aGlzLl9jdXJyZW50SW5kZXggfSxcbiAgICAgICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgICAgICAgY29tcG9zZWQ6IHRydWUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldC5hcmlhSGlkZGVuID0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBjb25maWc6IHsgdGhyZXNob2xkOiAwLjk5LCByb290OiB0aGlzLCByb290TWFyZ2luOiAnMTAwJSAwJSAxMDAlIDAlJyB9LFxuICB9KTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX29uS2V5RG93bihlKSk7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgc2xvdHRlZCBpdGVtcy4gKi9cbiAgcHJpdmF0ZSBfY2Fyb3VzZWxJdGVtcygpOiBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2Fyb3VzZWwtaXRlbScpID8/IFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4pIGFzIFNiYkNhcm91c2VsSXRlbUVsZW1lbnRbXTtcblxuICAgIC8vIFNldCB0aGUgYXJpYS1sYWJlbCBpZiBub3QgcHJvdmlkZWRcbiAgICBjb25zdCBjaGlsZHJlbkxlbmd0aCA9IGNoaWxkcmVuLmxlbmd0aDtcbiAgICBjaGlsZHJlbi5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgaXRlbS5hcmlhTGFiZWwgfHw9IGkxOG5DYXJvdXNlbEl0ZW1BcmlhTGFiZWwoaW5kZXggKyAxLCBjaGlsZHJlbkxlbmd0aClbXG4gICAgICAgIHRoaXMuX2xhbmd1YWdlLmN1cnJlbnRcbiAgICAgIF07XG4gICAgICBpdGVtLmFyaWFIaWRkZW4gPSBpbmRleCA9PT0gdGhpcy5fY3VycmVudEluZGV4ID8gbnVsbCA6ICd0cnVlJztcbiAgICB9KTtcblxuICAgIC8vIFNldCB0aGUgY29tcG9uZW50IGRpbWVuc2lvbnNcbiAgICBjb25zdCBmaXJzdEl0ZW0gPSBjaGlsZHJlbi5maW5kKFxuICAgICAgKGVsKSA9PiBlbC5sb2NhbE5hbWUgPT09ICdzYmItY2Fyb3VzZWwtaXRlbScsXG4gICAgKSBhcyBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50O1xuICAgIGlmIChmaXJzdEl0ZW0pIHtcbiAgICAgIHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoJy0tc2JiLWNhcm91c2VsLWxpc3QtaGVpZ2h0JywgYCR7Zmlyc3RJdGVtLmNsaWVudEhlaWdodH1weGApO1xuICAgICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItY2Fyb3VzZWwtbGlzdC13aWR0aCcsIGAke2ZpcnN0SXRlbS5jbGllbnRXaWR0aH1weGApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29uS2V5RG93bihldnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIWlzQXJyb3dLZXlQcmVzc2VkKGV2dCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBsZXQgbmV3SW5kZXggPSB0aGlzLl9jdXJyZW50SW5kZXg7XG4gICAgY29uc3QgaXNQcmV2ID0gZXZ0LmtleSA9PT0gJ0Fycm93VXAnIHx8IGV2dC5rZXkgPT09ICdBcnJvd0xlZnQnO1xuICAgIGNvbnN0IGlzTmV4dCA9IGV2dC5rZXkgPT09ICdBcnJvd0Rvd24nIHx8IGV2dC5rZXkgPT09ICdBcnJvd1JpZ2h0JztcblxuICAgIGlmIChpc1ByZXYpIHtcbiAgICAgIG5ld0luZGV4ID0gTWF0aC5tYXgoMCwgdGhpcy5fY3VycmVudEluZGV4IC0gMSk7XG4gICAgfSBlbHNlIGlmIChpc05leHQpIHtcbiAgICAgIG5ld0luZGV4ID0gTWF0aC5taW4odGhpcy5fY2Fyb3VzZWxJdGVtcygpLmxlbmd0aCAtIDEsIHRoaXMuX2N1cnJlbnRJbmRleCArIDEpO1xuICAgIH1cblxuICAgIGlmIChuZXdJbmRleCAhPT0gdGhpcy5fY3VycmVudEluZGV4KSB7XG4gICAgICB0aGlzLl9jdXJyZW50SW5kZXggPSBuZXdJbmRleDtcbiAgICAgIHRoaXMuc2Nyb2xsVG8oeyBsZWZ0OiB0aGlzLl9jYXJvdXNlbEl0ZW1zKClbdGhpcy5fY3VycmVudEluZGV4XS5vZmZzZXRMZWZ0IH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUxpdmUgPSAncG9saXRlJztcbiAgICB0aGlzLmludGVybmFscy5hcmlhQXRvbWljID0gJ3RydWUnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGZpcnN0VXBkYXRlZChfY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzKTogdm9pZCB7XG4gICAgc3VwZXIuZmlyc3RVcGRhdGVkKF9jaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoJ3NiYi1jYXJvdXNlbC1pdGVtJykuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgdGhpcy5fYmVmb3JlU2hvd09ic2VydmVyLm9ic2VydmUoaXRlbSk7XG4gICAgICB0aGlzLl9zaG93T2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jYXJvdXNlbC1saXN0JzogU2JiQ2Fyb3VzZWxMaXN0RWxlbWVudDtcbiAg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
183
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jYXJvdXNlbC9jYXJvdXNlbC1saXN0L2Nhcm91c2VsLWxpc3QuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVyc2VjdGlvbkNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL2ludGVyc2VjdGlvbi1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIGlzU2VydmVyLCBMaXRFbGVtZW50LCB0eXBlIFRlbXBsYXRlUmVzdWx0IH0gZnJvbSAnbGl0JztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdsaXQvZGVjb3JhdG9ycy5qcyc7XG5cbmltcG9ydCB7IGlzQXJyb3dLZXlQcmVzc2VkIH0gZnJvbSAnLi4vLi4vY29yZS9hMTF5LmpzJztcbmltcG9ydCB7IFNiYkxhbmd1YWdlQ29udHJvbGxlciB9IGZyb20gJy4uLy4uL2NvcmUvY29udHJvbGxlcnMuanMnO1xuaW1wb3J0IHsgaTE4bkNhcm91c2VsSXRlbUFyaWFMYWJlbCB9IGZyb20gJy4uLy4uL2NvcmUvaTE4bi5qcyc7XG5pbXBvcnQgeyBTYmJFbGVtZW50SW50ZXJuYWxzTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIFNiYkNhcm91c2VsSXRlbUVsZW1lbnQsXG4gIFNiYkNhcm91c2VsSXRlbUV2ZW50RGV0YWlsLFxufSBmcm9tICcuLi9jYXJvdXNlbC1pdGVtL2Nhcm91c2VsLWl0ZW0uY29tcG9uZW50LmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vY2Fyb3VzZWwtbGlzdC5zY3NzP2xpdCZpbmxpbmUnO1xuXG4vKipcbiAqIEl0IGRpc3BsYXlzIGEgbGlzdCBvZiBgc2JiLWNhcm91c2VsLWl0ZW1gIGNvbXBvbmVudHMuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYHNiYi1jYXJvdXNlbC1pdGVtYCBlbGVtZW50cy5cbiAqL1xuZXhwb3J0XG5AY3VzdG9tRWxlbWVudCgnc2JiLWNhcm91c2VsLWxpc3QnKVxuY2xhc3MgU2JiQ2Fyb3VzZWxMaXN0RWxlbWVudCBleHRlbmRzIFNiYkVsZW1lbnRJbnRlcm5hbHNNaXhpbihMaXRFbGVtZW50KSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IHN0eWxlO1xuXG4gIHByaXZhdGUgX2N1cnJlbnRJbmRleCA9IDA7XG4gIHByaXZhdGUgX2xhbmd1YWdlID0gbmV3IFNiYkxhbmd1YWdlQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfb2JzZXJ2ZWRDYXJvdXNlbEl0ZW1zOiBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50W10gPSBbXTtcblxuICBwcml2YXRlIF9iZWZvcmVTaG93T2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uQ29udHJvbGxlcih0aGlzLCB7XG4gICAgdGFyZ2V0OiBudWxsLFxuICAgIGNhbGxiYWNrOiAoZW50cnkpID0+IHtcbiAgICAgIGNvbnN0IGl0ZW0gPSBlbnRyeS5maWx0ZXIoKGUpID0+IGUuaXNJbnRlcnNlY3RpbmcgJiYgZS50YXJnZXQgIT09IHRoaXMpO1xuICAgICAgaXRlbS5mb3JFYWNoKChlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGUudGFyZ2V0IGFzIFNiYkNhcm91c2VsSXRlbUVsZW1lbnQ7XG4gICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbD4oJ2JlZm9yZXNob3cnLCB7XG4gICAgICAgICAgICBkZXRhaWw6IHsgaW5kZXg6IHRoaXMuX2Nhcm91c2VsSXRlbXMoKS5maW5kSW5kZXgoKGUpID0+IGUgPT09IHRhcmdldCkgfSxcbiAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICBjb21wb3NlZDogdHJ1ZSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgY29uZmlnOiB7IHRocmVzaG9sZDogMC4wMSwgcm9vdDogdGhpcywgcm9vdE1hcmdpbjogJzEwMCUgMCUgMTAwJSAwJScgfSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfc2hvd09ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbkNvbnRyb2xsZXIodGhpcywge1xuICAgIHRhcmdldDogbnVsbCxcbiAgICBjYWxsYmFjazogKGVudHJ5QXJyKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJ5QXJyKSB7XG4gICAgICAgIGlmIChlbnRyeS50YXJnZXQgPT09IHRoaXMpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0YXJnZXQgPSBlbnRyeS50YXJnZXQgYXMgU2JiQ2Fyb3VzZWxJdGVtRWxlbWVudDtcbiAgICAgICAgaWYgKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSB7XG4gICAgICAgICAgdGFyZ2V0LmFyaWFIaWRkZW4gPSBudWxsO1xuICAgICAgICAgIHRoaXMuX2N1cnJlbnRJbmRleCA9IHRoaXMuX2Nhcm91c2VsSXRlbXMoKS5maW5kSW5kZXgoKGVsKSA9PiBlbCA9PT0gdGFyZ2V0KTtcbiAgICAgICAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudDxTYmJDYXJvdXNlbEl0ZW1FdmVudERldGFpbD4oJ3Nob3cnLCB7XG4gICAgICAgICAgICAgIGRldGFpbDogeyBpbmRleDogdGhpcy5fY3VycmVudEluZGV4IH0sXG4gICAgICAgICAgICAgIGJ1YmJsZXM6IHRydWUsXG4gICAgICAgICAgICAgIGNvbXBvc2VkOiB0cnVlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YXJnZXQuYXJpYUhpZGRlbiA9ICd0cnVlJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgY29uZmlnOiB7IHRocmVzaG9sZDogMC45OSwgcm9vdDogdGhpcywgcm9vdE1hcmdpbjogJzEwMCUgMCUgMTAwJSAwJScgfSxcbiAgfSk7XG5cbiAgLy8gT2JzZXJ2ZXIgdG8gcmVhZCB0aGUgZGltZW5zaW9ucyBvZiB0aGUgZmlyc3QgaXRlbSB3aGVuIGl0IGJlY29tZXMgdmlzaWJsZS5cbiAgcHJpdmF0ZSBfZmlyc3RWaXNpYmxlSW50ZXJzZWN0aW9uQ29udHJvbGxlciA9IG5ldyBJbnRlcnNlY3Rpb25Db250cm9sbGVyKHRoaXMsIHtcbiAgICBjYWxsYmFjazogKGVudHJpZXMpID0+IHtcbiAgICAgIGVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgICAgaWYgKGVudHJ5LmludGVyc2VjdGlvblJhdGlvID4gMCkge1xuICAgICAgICAgIHRoaXMuX3JlYWREaW1lbnNpb25zKCk7XG4gICAgICAgICAgdGhpcy5fZmlyc3RWaXNpYmxlSW50ZXJzZWN0aW9uQ29udHJvbGxlci51bm9ic2VydmUodGhpcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0sXG4gICAgY29uZmlnOiB7XG4gICAgICByb290OiAhaXNTZXJ2ZXIgPyBkb2N1bWVudD8uZG9jdW1lbnRFbGVtZW50IDogbnVsbCxcbiAgICB9LFxuICB9KTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdrZXlkb3duJywgKGUpID0+IHRoaXMuX29uS2V5RG93bihlKSk7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgc2xvdHRlZCBpdGVtcy4gKi9cbiAgcHJpdmF0ZSBfY2Fyb3VzZWxJdGVtcygpOiBTYmJDYXJvdXNlbEl0ZW1FbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbD8uKCdzYmItY2Fyb3VzZWwtaXRlbScpID8/IFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgLy8gSW4gY2FzZSBvZiByZW1vdmVkIGNhcm91c2VsIGl0ZW1zLCB3ZSBuZWVkIHRvIHVub2JzZXJ2ZSB0aGUgY3VycmVudCBvYnNlcnZlcnMuXG4gICAgdGhpcy5fb2JzZXJ2ZWRDYXJvdXNlbEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIHRoaXMuX2JlZm9yZVNob3dPYnNlcnZlci51bm9ic2VydmUoaXRlbSk7XG4gICAgICB0aGlzLl9zaG93T2JzZXJ2ZXIudW5vYnNlcnZlKGl0ZW0pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgY2Fyb3VzZWxJdGVtcyA9IHRoaXMuX2Nhcm91c2VsSXRlbXMoKTtcblxuICAgIC8vIFNldCB0aGUgYXJpYS1sYWJlbCBpZiBub3QgcHJvdmlkZWRcbiAgICBjYXJvdXNlbEl0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpdGVtLmFyaWFMYWJlbCB8fD0gaTE4bkNhcm91c2VsSXRlbUFyaWFMYWJlbChpbmRleCArIDEsIGNhcm91c2VsSXRlbXMubGVuZ3RoKVtcbiAgICAgICAgdGhpcy5fbGFuZ3VhZ2UuY3VycmVudFxuICAgICAgXTtcbiAgICAgIGl0ZW0uYXJpYUhpZGRlbiA9IGluZGV4ID09PSB0aGlzLl9jdXJyZW50SW5kZXggPyBudWxsIDogJ3RydWUnO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fcmVhZERpbWVuc2lvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyB0aGUgZGltZW5zaW9ucyBvZiB0aGUgZmlyc3QgY2Fyb3VzZWwgaXRlbSBhbmQgc2V0cyB0aGUgQ1NTIHByb3BlcnRpZXMgYWNjb3JkaW5nbHkuXG4gICAqIFNob3VsZCBzZXQgdGhlIGRpbWVuc2lvbnMgb25seSBvbmNlLCB3aGVuIHRoZSBmaXJzdCBpdGVtIGJlY29tZXMgdmlzaWJsZSBhbmQgaWYgdGhlIHZhbHVlIGlzIG5vbi16ZXJvLlxuICAgKi9cbiAgcHJpdmF0ZSBfcmVhZERpbWVuc2lvbnMoKTogdm9pZCB7XG4gICAgY29uc3QgY2Fyb3VzZWxJdGVtcyA9IHRoaXMuX2Nhcm91c2VsSXRlbXMoKTtcbiAgICBpZiAoY2Fyb3VzZWxJdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdEl0ZW0gPSBjYXJvdXNlbEl0ZW1zWzBdO1xuXG4gICAgaWYgKGZpcnN0SXRlbS5jbGllbnRIZWlnaHQgPiAwKSB7XG4gICAgICB0aGlzLnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1jYXJvdXNlbC1saXN0LWhlaWdodCcsIGAke2ZpcnN0SXRlbS5jbGllbnRIZWlnaHR9cHhgKTtcbiAgICB9XG5cbiAgICBpZiAoZmlyc3RJdGVtLmNsaWVudFdpZHRoID4gMCkge1xuICAgICAgdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItY2Fyb3VzZWwtbGlzdC13aWR0aCcsIGAke2ZpcnN0SXRlbS5jbGllbnRXaWR0aH1weGApO1xuXG4gICAgICAvLyBXZSBzaG91bGQgb25seSBvYnNlcnZlIHRoZSBpdGVtcyBpZiB0aGV5IGhhdmUgYSBub24temVybyB3aWR0aC4gT3RoZXJ3aXNlLCBhbiB1bndhbnRlZCBzY3JvbGxpbmcgY2FuIGhhcHBlbi5cbiAgICAgIGNhcm91c2VsSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICB0aGlzLl9iZWZvcmVTaG93T2JzZXJ2ZXIub2JzZXJ2ZShpdGVtKTtcbiAgICAgICAgdGhpcy5fc2hvd09ic2VydmVyLm9ic2VydmUoaXRlbSk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuX29ic2VydmVkQ2Fyb3VzZWxJdGVtcyA9IGNhcm91c2VsSXRlbXM7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25LZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghaXNBcnJvd0tleVByZXNzZWQoZXZ0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBldnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIGxldCBuZXdJbmRleCA9IHRoaXMuX2N1cnJlbnRJbmRleDtcbiAgICBjb25zdCBpc1ByZXYgPSBldnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZ0LmtleSA9PT0gJ0Fycm93TGVmdCc7XG4gICAgY29uc3QgaXNOZXh0ID0gZXZ0LmtleSA9PT0gJ0Fycm93RG93bicgfHwgZXZ0LmtleSA9PT0gJ0Fycm93UmlnaHQnO1xuXG4gICAgaWYgKGlzUHJldikge1xuICAgICAgbmV3SW5kZXggPSBNYXRoLm1heCgwLCB0aGlzLl9jdXJyZW50SW5kZXggLSAxKTtcbiAgICB9IGVsc2UgaWYgKGlzTmV4dCkge1xuICAgICAgbmV3SW5kZXggPSBNYXRoLm1pbih0aGlzLl9jYXJvdXNlbEl0ZW1zKCkubGVuZ3RoIC0gMSwgdGhpcy5fY3VycmVudEluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgaWYgKG5ld0luZGV4ICE9PSB0aGlzLl9jdXJyZW50SW5kZXgpIHtcbiAgICAgIHRoaXMuX2N1cnJlbnRJbmRleCA9IG5ld0luZGV4O1xuICAgICAgdGhpcy5zY3JvbGxUbyh7XG4gICAgICAgIGxlZnQ6IHRoaXMuX2Nhcm91c2VsSXRlbXMoKVt0aGlzLl9jdXJyZW50SW5kZXhdLm9mZnNldExlZnQgLSB0aGlzLm9mZnNldExlZnQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHRoaXMuaW50ZXJuYWxzLmFyaWFMaXZlID0gJ3BvbGl0ZSc7XG4gICAgdGhpcy5pbnRlcm5hbHMuYXJpYUF0b21pYyA9ICd0cnVlJztcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1jYXJvdXNlbC1saXN0JzogU2JiQ2Fyb3VzZWxMaXN0RWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbImUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXNCTSwwQkFBc0IsTUFBQTs7MEJBRDNCLGNBQWMsbUJBQW1CLENBQUM7Ozs7b0JBQ0UseUJBQXlCLFVBQVU7QUFBM0MsRUFBQSxtQkFBUSxZQUFvQztBQUFBLElBa0V2RSxjQUFBO0FBQ0UsWUFBQTtBQWhFTSxXQUFBLGdCQUFnQjtBQUNoQixXQUFBLFlBQVksSUFBSSxzQkFBc0IsSUFBSTtBQUMxQyxXQUFBLHlCQUFtRCxDQUFBO0FBRW5ELFdBQUEsc0JBQXNCLElBQUksdUJBQXVCLE1BQU07QUFBQSxRQUM3RCxRQUFRO0FBQUEsUUFDUixVQUFVLENBQUMsVUFBUztBQUNsQixnQkFBTSxPQUFPLE1BQU0sT0FBTyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLElBQUk7QUFDdEUsZUFBSyxRQUFRLENBQUMsTUFBSztBQUNqQixrQkFBTSxTQUFTLEVBQUU7QUFDakIsbUJBQU8sY0FDTCxJQUFJLFlBQXdDLGNBQWM7QUFBQSxjQUN4RCxRQUFRLEVBQUUsT0FBTyxLQUFLLGVBQUEsRUFBaUIsVUFBVSxDQUFDQSxPQUFNQSxPQUFNLE1BQU0sRUFBQTtBQUFBLGNBQ3BFLFNBQVM7QUFBQSxjQUNULFVBQVU7QUFBQSxZQUFBLENBQ1gsQ0FBQztBQUFBLFVBRU4sQ0FBQztBQUFBLFFBQ0g7QUFBQSxRQUNBLFFBQVEsRUFBRSxXQUFXLE1BQU0sTUFBTSxNQUFNLFlBQVks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
@@ -79,17 +79,17 @@ const style = css`@charset "UTF-8";
79
79
  background-color: transparent;
80
80
  }
81
81
  :host(:not([expanded])) .sbb-container {
82
- padding-inline: var(--sbb-layout-base-offset-responsive);
82
+ padding-inline: var(--sbb-page-spacing-padding, var(--sbb-layout-base-offset-responsive));
83
83
  margin-inline: auto;
84
84
  width: 100%;
85
85
  }
86
86
  @media (min-width: calc(90rem)) {
87
87
  :host(:not([expanded])) .sbb-container {
88
- max-width: calc(var(--sbb-layout-base-page-max-width) + 2 * var(--sbb-layout-base-offset-responsive));
88
+ max-width: var(--sbb-spacing-max-width, calc(var(--sbb-layout-base-page-max-width) + 2 * var(--sbb-layout-base-offset-responsive)));
89
89
  }
90
90
  }
91
91
  :host([expanded]) .sbb-container {
92
- padding-inline: var(--sbb-spacing-responsive-xxs);
92
+ padding-inline: var(--sbb-page-spacing-padding, var(--sbb-spacing-responsive-xxs));
93
93
  }
94
94
  :host([data-slot-names~=image]:not([background-expanded])) .sbb-container {
95
95
  position: relative;
@@ -120,13 +120,13 @@ const style = css`*,
120
120
  padding: 0 !important;
121
121
  }
122
122
  :host(:not([data-expanded])) .sbb-sticky-bar__wrapper::before {
123
- padding-inline: var(--sbb-layout-base-offset-responsive);
123
+ padding-inline: var(--sbb-page-spacing-padding, var(--sbb-layout-base-offset-responsive));
124
124
  margin-inline: auto;
125
125
  width: 100%;
126
126
  }
127
127
  @media (min-width: calc(90rem)) {
128
128
  :host(:not([data-expanded])) .sbb-sticky-bar__wrapper::before {
129
- max-width: calc(var(--sbb-layout-base-page-max-width) + 2 * var(--sbb-layout-base-offset-responsive));
129
+ max-width: var(--sbb-spacing-max-width, calc(var(--sbb-layout-base-page-max-width) + 2 * var(--sbb-layout-base-offset-responsive)));
130
130
  }
131
131
  }
132
132
  .sbb-sticky-bar__wrapper::after {
@@ -156,17 +156,17 @@ const style = css`*,
156
156
  box-shadow: var(--sbb-shadow-elevation-level-11-shadow-2-offset-x) var(--sbb-shadow-elevation-level-11-shadow-2-offset-y) var(--sbb-shadow-elevation-level-11-shadow-2-blur) var(--sbb-shadow-elevation-level-11-shadow-2-spread) var(--sbb-shadow-color-soft-2), var(--sbb-shadow-elevation-level-11-shadow-1-offset-x) var(--sbb-shadow-elevation-level-11-shadow-1-offset-y) var(--sbb-shadow-elevation-level-11-shadow-1-blur) var(--sbb-shadow-elevation-level-11-shadow-1-spread) var(--sbb-shadow-color-soft-1);
157
157
  }
158
158
  :host(:not([data-expanded])) .sbb-sticky-bar {
159
- padding-inline: var(--sbb-layout-base-offset-responsive);
159
+ padding-inline: var(--sbb-page-spacing-padding, var(--sbb-layout-base-offset-responsive));
160
160
  margin-inline: auto;
161
161
  width: 100%;
162
162
  }
163
163
  @media (min-width: calc(90rem)) {
164
164
  :host(:not([data-expanded])) .sbb-sticky-bar {
165
- max-width: calc(var(--sbb-layout-base-page-max-width) + 2 * var(--sbb-layout-base-offset-responsive));
165
+ max-width: var(--sbb-spacing-max-width, calc(var(--sbb-layout-base-page-max-width) + 2 * var(--sbb-layout-base-offset-responsive)));
166
166
  }
167
167
  }
168
168
  :host([data-expanded]) .sbb-sticky-bar {
169
- padding-inline: var(--sbb-spacing-responsive-xxs);
169
+ padding-inline: var(--sbb-page-spacing-padding, var(--sbb-spacing-responsive-xxs));
170
170
  }
171
171
 
172
172
  .sbb-sticky-bar__intersector {
@@ -5,6 +5,7 @@
5
5
  * @param optionContainer The reference to the option panel.
6
6
  * @param container The element which has the position:fixed applied.
7
7
  * @param element The reference to the component.
8
+ * @param position The allowed position of the overlay relative to the origin.
8
9
  */
9
- export declare function setOverlayPosition(dialog: HTMLElement, originElement: HTMLElement, optionContainer: HTMLElement, container: HTMLElement, element: HTMLElement): void;
10
+ export declare function setOverlayPosition(dialog: HTMLElement, originElement: HTMLElement, optionContainer: HTMLElement, container: HTMLElement, element: HTMLElement, position?: 'auto' | 'above' | 'below'): void;
10
11
  //# sourceMappingURL=overlay-option-panel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-option-panel.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/overlay/overlay-option-panel.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,WAAW,EAC1B,eAAe,EAAE,WAAW,EAC5B,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,WAAW,GACnB,IAAI,CAmBN"}
1
+ {"version":3,"file":"overlay-option-panel.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/overlay/overlay-option-panel.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,WAAW,EAC1B,eAAe,EAAE,WAAW,EAC5B,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,WAAW,EACpB,QAAQ,GAAE,MAAM,GAAG,OAAO,GAAG,OAAgB,GAC5C,IAAI,CAsBN"}
@@ -1,11 +1,14 @@
1
1
  import { getElementPosition } from "./position.js";
2
- function setOverlayPosition(dialog, originElement, optionContainer, container, element) {
2
+ function setOverlayPosition(dialog, originElement, optionContainer, container, element, position = "auto") {
3
3
  if (!dialog || !originElement) {
4
4
  return;
5
5
  }
6
6
  element.style.setProperty("--sbb-options-panel-width", `${originElement.offsetWidth}px`);
7
7
  element.style.setProperty("--sbb-options-panel-origin-height", `${originElement.offsetHeight}px`);
8
- const panelPosition = getElementPosition(optionContainer, originElement, container);
8
+ const panelPosition = getElementPosition(optionContainer, originElement, container, {
9
+ forceBelow: position === "below",
10
+ forceAbove: position === "above"
11
+ });
9
12
  element.style.setProperty("--sbb-options-panel-position-x", `${panelPosition.left}px`);
10
13
  element.style.setProperty("--sbb-options-panel-position-y", `${panelPosition.top}px`);
11
14
  element.style.setProperty("--sbb-options-panel-max-height", panelPosition.maxHeight);
@@ -15,4 +18,4 @@ function setOverlayPosition(dialog, originElement, optionContainer, container, e
15
18
  export {
16
19
  setOverlayPosition
17
20
  };
18
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1vcHRpb24tcGFuZWwuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL292ZXJsYXkvb3ZlcmxheS1vcHRpb24tcGFuZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0RWxlbWVudFBvc2l0aW9uIH0gZnJvbSAnLi9wb3NpdGlvbi5qcyc7XG5cbi8qKlxuICogUGxhY2VzIHRoZSBvdmVybGF5IGluIHRoZSBjb3JyZWN0IHBvc2l0aW9uLlxuICogQHBhcmFtIGRpYWxvZyBUaGUgcmVmZXJlbmNlIHRvIHRoZSBkaWFsb2cgZWxlbWVudC5cbiAqIEBwYXJhbSBvcmlnaW5FbGVtZW50IFRoZSByZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgdGhlIGRpYWxvZyBpcyBhdHRhY2hlZCB0by5cbiAqIEBwYXJhbSBvcHRpb25Db250YWluZXIgVGhlIHJlZmVyZW5jZSB0byB0aGUgb3B0aW9uIHBhbmVsLlxuICogQHBhcmFtIGNvbnRhaW5lciBUaGUgZWxlbWVudCB3aGljaCBoYXMgdGhlIHBvc2l0aW9uOmZpeGVkIGFwcGxpZWQuXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRPdmVybGF5UG9zaXRpb24oXG4gIGRpYWxvZzogSFRNTEVsZW1lbnQsXG4gIG9yaWdpbkVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICBvcHRpb25Db250YWluZXI6IEhUTUxFbGVtZW50LFxuICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbik6IHZvaWQge1xuICBpZiAoIWRpYWxvZyB8fCAhb3JpZ2luRWxlbWVudCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIFNldCB0aGUgd2lkdGggdG8gbWF0Y2ggdGhlIHRyaWdnZXIgZWxlbWVudFxuICBlbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1vcHRpb25zLXBhbmVsLXdpZHRoJywgYCR7b3JpZ2luRWxlbWVudC5vZmZzZXRXaWR0aH1weGApO1xuXG4gIC8vIFNldCB0aGUgb3JpZ2luIGhlaWdodFxuICBlbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1vcHRpb25zLXBhbmVsLW9yaWdpbi1oZWlnaHQnLCBgJHtvcmlnaW5FbGVtZW50Lm9mZnNldEhlaWdodH1weGApO1xuXG4gIC8vIENhbGN1bGF0ZSBhbmQgc2V0IHRoZSBwb3NpdGlvblxuICBjb25zdCBwYW5lbFBvc2l0aW9uID0gZ2V0RWxlbWVudFBvc2l0aW9uKG9wdGlvbkNvbnRhaW5lciwgb3JpZ2luRWxlbWVudCwgY29udGFpbmVyKTtcblxuICBlbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1vcHRpb25zLXBhbmVsLXBvc2l0aW9uLXgnLCBgJHtwYW5lbFBvc2l0aW9uLmxlZnR9cHhgKTtcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1wb3NpdGlvbi15JywgYCR7cGFuZWxQb3NpdGlvbi50b3B9cHhgKTtcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1tYXgtaGVpZ2h0JywgcGFuZWxQb3NpdGlvbi5tYXhIZWlnaHQpO1xuICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1vcHRpb25zLXBhbmVsLXBvc2l0aW9uJywgcGFuZWxQb3NpdGlvbi5hbGlnbm1lbnQudmVydGljYWwpO1xuICBvcmlnaW5FbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1vcHRpb25zLXBhbmVsLXBvc2l0aW9uJywgcGFuZWxQb3NpdGlvbi5hbGlnbm1lbnQudmVydGljYWwpO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFVTSxTQUFVLG1CQUNkLFFBQ0EsZUFDQSxpQkFDQSxXQUNBLFNBQW9CO0FBRXBCLE1BQUksQ0FBQyxVQUFVLENBQUMsZUFBZTtBQUM3QjtBQUFBLEVBQ0Y7QUFHQSxVQUFRLE1BQU0sWUFBWSw2QkFBNkIsR0FBRyxjQUFjLFdBQVcsSUFBSTtBQUd2RixVQUFRLE1BQU0sWUFBWSxxQ0FBcUMsR0FBRyxjQUFjLFlBQVksSUFBSTtBQUdoRyxRQUFNLGdCQUFnQixtQkFBbUIsaUJBQWlCLGVBQWUsU0FBUztBQUVsRixVQUFRLE1BQU0sWUFBWSxrQ0FBa0MsR0FBRyxjQUFjLElBQUksSUFBSTtBQUNyRixVQUFRLE1BQU0sWUFBWSxrQ0FBa0MsR0FBRyxjQUFjLEdBQUcsSUFBSTtBQUNwRixVQUFRLE1BQU0sWUFBWSxrQ0FBa0MsY0FBYyxTQUFTO0FBQ25GLFVBQVEsYUFBYSwrQkFBK0IsY0FBYyxVQUFVLFFBQVE7QUFDcEYsZ0JBQWMsYUFBYSwrQkFBK0IsY0FBYyxVQUFVLFFBQVE7QUFDNUY7In0=
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1vcHRpb24tcGFuZWwuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL292ZXJsYXkvb3ZlcmxheS1vcHRpb24tcGFuZWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0RWxlbWVudFBvc2l0aW9uIH0gZnJvbSAnLi9wb3NpdGlvbi5qcyc7XG5cbi8qKlxuICogUGxhY2VzIHRoZSBvdmVybGF5IGluIHRoZSBjb3JyZWN0IHBvc2l0aW9uLlxuICogQHBhcmFtIGRpYWxvZyBUaGUgcmVmZXJlbmNlIHRvIHRoZSBkaWFsb2cgZWxlbWVudC5cbiAqIEBwYXJhbSBvcmlnaW5FbGVtZW50IFRoZSByZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgdGhlIGRpYWxvZyBpcyBhdHRhY2hlZCB0by5cbiAqIEBwYXJhbSBvcHRpb25Db250YWluZXIgVGhlIHJlZmVyZW5jZSB0byB0aGUgb3B0aW9uIHBhbmVsLlxuICogQHBhcmFtIGNvbnRhaW5lciBUaGUgZWxlbWVudCB3aGljaCBoYXMgdGhlIHBvc2l0aW9uOmZpeGVkIGFwcGxpZWQuXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgcmVmZXJlbmNlIHRvIHRoZSBjb21wb25lbnQuXG4gKiBAcGFyYW0gcG9zaXRpb24gVGhlIGFsbG93ZWQgcG9zaXRpb24gb2YgdGhlIG92ZXJsYXkgcmVsYXRpdmUgdG8gdGhlIG9yaWdpbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldE92ZXJsYXlQb3NpdGlvbihcbiAgZGlhbG9nOiBIVE1MRWxlbWVudCxcbiAgb3JpZ2luRWxlbWVudDogSFRNTEVsZW1lbnQsXG4gIG9wdGlvbkNvbnRhaW5lcjogSFRNTEVsZW1lbnQsXG4gIGNvbnRhaW5lcjogSFRNTEVsZW1lbnQsXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICBwb3NpdGlvbjogJ2F1dG8nIHwgJ2Fib3ZlJyB8ICdiZWxvdycgPSAnYXV0bycsXG4pOiB2b2lkIHtcbiAgaWYgKCFkaWFsb2cgfHwgIW9yaWdpbkVsZW1lbnQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBTZXQgdGhlIHdpZHRoIHRvIG1hdGNoIHRoZSB0cmlnZ2VyIGVsZW1lbnRcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC13aWR0aCcsIGAke29yaWdpbkVsZW1lbnQub2Zmc2V0V2lkdGh9cHhgKTtcblxuICAvLyBTZXQgdGhlIG9yaWdpbiBoZWlnaHRcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1vcmlnaW4taGVpZ2h0JywgYCR7b3JpZ2luRWxlbWVudC5vZmZzZXRIZWlnaHR9cHhgKTtcblxuICAvLyBDYWxjdWxhdGUgYW5kIHNldCB0aGUgcG9zaXRpb25cbiAgY29uc3QgcGFuZWxQb3NpdGlvbiA9IGdldEVsZW1lbnRQb3NpdGlvbihvcHRpb25Db250YWluZXIsIG9yaWdpbkVsZW1lbnQsIGNvbnRhaW5lciwge1xuICAgIGZvcmNlQmVsb3c6IHBvc2l0aW9uID09PSAnYmVsb3cnLFxuICAgIGZvcmNlQWJvdmU6IHBvc2l0aW9uID09PSAnYWJvdmUnLFxuICB9KTtcblxuICBlbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXNiYi1vcHRpb25zLXBhbmVsLXBvc2l0aW9uLXgnLCBgJHtwYW5lbFBvc2l0aW9uLmxlZnR9cHhgKTtcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1wb3NpdGlvbi15JywgYCR7cGFuZWxQb3NpdGlvbi50b3B9cHhgKTtcbiAgZWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zYmItb3B0aW9ucy1wYW5lbC1tYXgtaGVpZ2h0JywgcGFuZWxQb3NpdGlvbi5tYXhIZWlnaHQpO1xuICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1vcHRpb25zLXBhbmVsLXBvc2l0aW9uJywgcGFuZWxQb3NpdGlvbi5hbGlnbm1lbnQudmVydGljYWwpO1xuICBvcmlnaW5FbGVtZW50LnNldEF0dHJpYnV0ZSgnZGF0YS1vcHRpb25zLXBhbmVsLXBvc2l0aW9uJywgcGFuZWxQb3NpdGlvbi5hbGlnbm1lbnQudmVydGljYWwpO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFXTSxTQUFVLG1CQUNkLFFBQ0EsZUFDQSxpQkFDQSxXQUNBLFNBQ0EsV0FBdUMsUUFBTTtBQUU3QyxNQUFJLENBQUMsVUFBVSxDQUFDLGVBQWU7QUFDN0I7QUFBQSxFQUNGO0FBR0EsVUFBUSxNQUFNLFlBQVksNkJBQTZCLEdBQUcsY0FBYyxXQUFXLElBQUk7QUFHdkYsVUFBUSxNQUFNLFlBQVkscUNBQXFDLEdBQUcsY0FBYyxZQUFZLElBQUk7QUFHaEcsUUFBTSxnQkFBZ0IsbUJBQW1CLGlCQUFpQixlQUFlLFdBQVc7QUFBQSxJQUNsRixZQUFZLGFBQWE7QUFBQSxJQUN6QixZQUFZLGFBQWE7QUFBQSxFQUFBLENBQzFCO0FBRUQsVUFBUSxNQUFNLFlBQVksa0NBQWtDLEdBQUcsY0FBYyxJQUFJLElBQUk7QUFDckYsVUFBUSxNQUFNLFlBQVksa0NBQWtDLEdBQUcsY0FBYyxHQUFHLElBQUk7QUFDcEYsVUFBUSxNQUFNLFlBQVksa0NBQWtDLGNBQWMsU0FBUztBQUNuRixVQUFRLGFBQWEsK0JBQStCLGNBQWMsVUFBVSxRQUFRO0FBQ3BGLGdCQUFjLGFBQWEsK0JBQStCLGNBQWMsVUFBVSxRQUFRO0FBQzVGOyJ9
@@ -37,6 +37,8 @@ export declare function getElementPosition(element: HTMLElement, trigger: HTMLEl
37
37
  horizontalOffset?: number;
38
38
  centered?: boolean;
39
39
  responsiveHeight?: boolean;
40
+ forceAbove?: boolean;
41
+ forceBelow?: boolean;
40
42
  }): SbbElementPositionInfos;
41
43
  /**
42
44
  * Determines the position of an element relative to a trigger element by evaluating
@@ -1 +1 @@
1
- {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/overlay/position.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,WAAW,EACX,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CACjG,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,YAAY,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,gBAAgB,CAoCrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,KAAK,EAAE,UAAU,GAAG,YAAY,GAC/B,OAAO,CAYT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GACA,uBAAuB,CAqGzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA,uBAAuB,CAgEzB"}
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../../../src/elements/core/overlay/position.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,WAAW,EACX,cAAc,GAAG,cAAc,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,CACjG,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,YAAY,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,WAAW,GAAG,gBAAgB,CAoCrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,KAAK,EAAE,UAAU,GAAG,YAAY,GAC/B,OAAO,CAYT;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,uBAAuB,CAsGzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,WAAW,EACtB,UAAU,CAAC,EAAE;IACX,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA,uBAAuB,CAgEzB"}
@@ -57,7 +57,8 @@ function getElementPosition(element, trigger, container, properties) {
57
57
  if (triggerLeft < elementXOverflow && availableSpaceRight < elementXOverflow || document.documentElement.clientWidth < elementRec.offsetWidth) {
58
58
  elementXPosition = document.documentElement.clientWidth / 2 - elementRec.offsetWidth / 2;
59
59
  }
60
- if (availableSpaceBelow - verticalOffset < elementRec.scrollHeight && availableSpaceAbove - verticalOffset > (responsiveHeight ? elementRec.clientHeight : elementRec.scrollHeight) || availableSpaceAbove > availableSpaceBelow && availableSpaceBelow - verticalOffset < elementRec.clientHeight && !responsiveHeight) {
60
+ const shouldOpenAbove = availableSpaceBelow - verticalOffset < elementRec.scrollHeight && availableSpaceAbove - verticalOffset > (responsiveHeight ? elementRec.clientHeight : elementRec.scrollHeight) || availableSpaceAbove > availableSpaceBelow && availableSpaceBelow - verticalOffset < elementRec.clientHeight && !responsiveHeight;
61
+ if (!properties?.forceBelow && (properties?.forceAbove || shouldOpenAbove)) {
61
62
  elementYPosition = availableSpaceAbove < elementRec.scrollHeight ? elementYPosition - triggerRec.height - availableSpaceAbove - verticalOffset : triggerTop - elementRec.clientHeight - verticalOffset;
62
63
  elementMaxHeight = `${availableSpaceAbove - verticalOffset}px`;
63
64
  alignment.vertical = "above";
@@ -121,4 +122,4 @@ export {
121
122
  getElementRectangle,
122
123
  isEventOnElement
123
124
  };
124
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL292ZXJsYXkvcG9zaXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRWxlbWVudFJlY3RhbmdsZSA9IFBpY2s8XG4gIEhUTUxFbGVtZW50LFxuICAnc2Nyb2xsSGVpZ2h0JyB8ICdjbGllbnRIZWlnaHQnIHwgJ29mZnNldEhlaWdodCcgfCAnc2Nyb2xsV2lkdGgnIHwgJ2NsaWVudFdpZHRoJyB8ICdvZmZzZXRXaWR0aCdcbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiQWxpZ25tZW50IHtcbiAgaG9yaXpvbnRhbDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG4gIHZlcnRpY2FsOiAnYWJvdmUnIHwgJ2JlbG93Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50UG9zaXRpb25JbmZvcyB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIG1heEhlaWdodDogc3RyaW5nO1xuICBhbGlnbm1lbnQ6IFNiYkFsaWdubWVudDtcbn1cblxuLyoqXG4gKiBHZXRzIGhlaWdodCBhbmQgd2lkdGggb2YgYW4gZWxlbWVudCBldmVuIGlmIGl0J3MgaGlkZGVuIChgZGlzcGxheTogbm9uZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFJlY3RhbmdsZShlbDogSFRNTEVsZW1lbnQpOiBFbGVtZW50UmVjdGFuZ2xlIHtcbiAgY29uc3QgZWxlbWVudFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpLFxuICAgIGVsZW1lbnREaXNwbGF5ID0gZWxlbWVudFN0eWxlLmRpc3BsYXksXG4gICAgZWxlbWVudE1heEhlaWdodCA9IHBhcnNlSW50KGVsZW1lbnRTdHlsZS5tYXhIZWlnaHQsIDEwKS50b1N0cmluZygpO1xuXG4gIC8vIElmIGl0IGlzIG5vdCBoaWRkZW4gd2UganVzdCByZXR1cm4gbm9ybWFsIGhlaWdodFxuICBpZiAoZWxlbWVudERpc3BsYXkgIT09ICdub25lJyAmJiBlbGVtZW50TWF4SGVpZ2h0ICE9PSAnMCcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Nyb2xsSGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICBjbGllbnRIZWlnaHQ6IGVsLmNsaWVudEhlaWdodCxcbiAgICAgIG9mZnNldEhlaWdodDogZWwub2Zmc2V0SGVpZ2h0LFxuICAgICAgc2Nyb2xsV2lkdGg6IGVsLnNjcm9sbFdpZHRoLFxuICAgICAgY2xpZW50V2lkdGg6IGVsLmNsaWVudFdpZHRoLFxuICAgICAgb2Zmc2V0V2lkdGg6IGVsLm9mZnNldFdpZHRoLFxuICAgIH07XG4gIH1cblxuICAvLyBUaGUgZWxlbWVudCBpcyBoaWRkZW4gc286XG4gIC8vIG1ha2UgdGhlIGVsIGJsb2NrIGluIG9yZGVyIHRvIG1lYXN1cmUgaXRzIGhlaWdodCBidXQgc3RpbGwgYmUgaGlkZGVuXG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICBjb25zdCBzY3JvbGxIZWlnaHQgPSBlbC5zY3JvbGxIZWlnaHQsXG4gICAgY2xpZW50SGVpZ2h0ID0gZWwuY2xpZW50SGVpZ2h0LFxuICAgIG9mZnNldEhlaWdodCA9IGVsLm9mZnNldEhlaWdodCxcbiAgICBzY3JvbGxXaWR0aCA9IGVsLnNjcm9sbFdpZHRoLFxuICAgIGNsaWVudFdpZHRoID0gZWwuY2xpZW50V2lkdGgsXG4gICAgb2Zmc2V0V2lkdGggPSBlbC5vZmZzZXRXaWR0aDtcblxuICAvLyBSZXZlcnRpbmcgdG8gdGhlIG9yaWdpbmFsIHZhbHVlc1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJyc7XG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJyc7XG4gIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAnJztcblxuICByZXR1cm4geyBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCwgb2Zmc2V0SGVpZ2h0LCBzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGgsIG9mZnNldFdpZHRoIH07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGV2ZW50IGlzIGZpcmVkIG9uIGEgc3BlY2lmaWMgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRXZlbnRPbkVsZW1lbnQoXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgZXZlbnQ6IE1vdXNlRXZlbnQgfCBQb2ludGVyRXZlbnQsXG4pOiBib29sZWFuIHtcbiAgaWYgKCFlbGVtZW50IHx8ICFldmVudCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICByZXR1cm4gKFxuICAgIHJlY3QudG9wIDw9IGV2ZW50LmNsaWVudFkgJiZcbiAgICBldmVudC5jbGllbnRZIDw9IHJlY3QudG9wICsgcmVjdC5oZWlnaHQgJiZcbiAgICByZWN0LmxlZnQgPD0gZXZlbnQuY2xpZW50WCAmJlxuICAgIGV2ZW50LmNsaWVudFggPD0gcmVjdC5sZWZ0ICsgcmVjdC53aWR0aFxuICApO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgdGhlIHBvc2l0aW9uIG9mIGFuIGVsZW1lbnQgcmVsYXRpdmUgdG8gYSB0cmlnZ2VyIGVsZW1lbnQgYnkgZXZhbHVhdGluZ1xuICogdGhlIG9wdGltYWwgcG9zaXRpb24gYmFzZWQgb24gdGhlIGF2YWlsYWJsZSBzcGFjZS5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCBvZiB3aGljaCB0byBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uLlxuICogQHBhcmFtIHRyaWdnZXIgVGhlIGVsZW1lbnQgcmVsYXRpdmUgdG8gd2hpY2ggdG8gY2FsY3VsYXRlIHRoZSBwb3NpdGlvbi5cbiAqIEBwYXJhbSBjb250YWluZXIgVGhlIGVsZW1lbnQgd2hpY2ggaGFzIHRoZSBwb3NpdGlvbjpmaXhlZCBhcHBsaWVkLlxuICogQHBhcmFtIHByb3BlcnRpZXMgUHJvcGVydGllcyB0byB0YWtlIGludG8gYWNjb3VudCBpbiBjYWxjdWxhdGlvbnMgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLnZlcnRpY2FsT2Zmc2V0IFRoZSBkaXN0YW5jZSB0byBiZSBhZGRlZCBiZXR3ZWVuIHRoZSBlbGVtZW50IGFuZCB0aGUgdHJpZ2dlciAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMuaG9yaXpvbnRhbE9mZnNldCBUaGUgaG9yaXpvbnRhbCBvZmZzZXQgdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudCAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMuY2VudGVyZWQgV2hldGhlciB0aGUgZWxlbWVudCBzaG91bGQgYmUgcGxhY2VkIGluIHRoZSBjZW50ZXIgYnkgZGVmYXVsdCAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMucmVzcG9uc2l2ZUhlaWdodCBXaGV0aGVyIHRoZSBlbGVtZW50IGNhbGN1bGF0ZXMgaXRzIGhlaWdodCBiYXNlZCBvbiBpdHMgY29udGVudCAob3B0aW9uYWwpLlxuICogQHJldHVybnMgUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgbGVmdCBwb3NpdGlvbiwgdGhlIHRvcCBwb3NpdGlvbiwgdGhlIG1heGltdW0gaGVpZ2h0XG4gKiBvZiB0aGUgZWxlbWVudCBhbmQgdGhlIGN1cnJlbnQgYWxpZ25tZW50IG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRQb3NpdGlvbihcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gIHRyaWdnZXI6IEhUTUxFbGVtZW50LFxuICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICBwcm9wZXJ0aWVzPzoge1xuICAgIHZlcnRpY2FsT2Zmc2V0PzogbnVtYmVyO1xuICAgIGhvcml6b250YWxPZmZzZXQ/OiBudW1iZXI7XG4gICAgY2VudGVyZWQ/OiBib29sZWFuO1xuICAgIHJlc3BvbnNpdmVIZWlnaHQ/OiBib29sZWFuO1xuICB9LFxuKTogU2JiRWxlbWVudFBvc2l0aW9uSW5mb3Mge1xuICBjb25zdCBtYXhXaWR0aE9mZnNldCA9IDE2O1xuICBjb25zdCB2ZXJ0aWNhbE9mZnNldCA9IHByb3BlcnRpZXM/LnZlcnRpY2FsT2Zmc2V0IHx8IDA7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy5ob3Jpem9udGFsT2Zmc2V0IHx8IDA7XG4gIGNvbnN0IHJlc3BvbnNpdmVIZWlnaHQgPSBwcm9wZXJ0aWVzPy5yZXNwb25zaXZlSGVpZ2h0IHx8IGZhbHNlO1xuXG4gIGNvbnN0IHRyaWdnZXJSZWMgPSB0cmlnZ2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBjb25zdCBlbGVtZW50UmVjID0gZ2V0RWxlbWVudFJlY3RhbmdsZShlbGVtZW50KTtcblxuICBjb25zdCB0cmlnZ2VyTGVmdCA9IHRyaWdnZXJSZWMubGVmdDtcbiAgY29uc3QgdHJpZ2dlclRvcCA9IHRyaWdnZXJSZWMudG9wO1xuXG4gIGNvbnN0IGF2YWlsYWJsZVNwYWNlUmlnaHQgPVxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAtICh0cmlnZ2VyTGVmdCArIHRyaWdnZXJSZWMud2lkdGgpO1xuICBjb25zdCBhdmFpbGFibGVTcGFjZUFib3ZlID0gdHJpZ2dlclRvcCAtIHZlcnRpY2FsT2Zmc2V0O1xuICBjb25zdCBhdmFpbGFibGVTcGFjZUJlbG93ID1cbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gKHRyaWdnZXJUb3AgKyB0cmlnZ2VyUmVjLmhlaWdodCArIHZlcnRpY2FsT2Zmc2V0KTtcblxuICAvLyBEZWZhdWx0IGVsZW1lbnQgYWxpZ25tZW50IGlzIFwic3RhcnQvYmVsb3dcIlxuICBsZXQgZWxlbWVudFhQb3NpdGlvbiA9IHRyaWdnZXJMZWZ0O1xuICBsZXQgZWxlbWVudFlQb3NpdGlvbiA9IHRyaWdnZXJUb3AgKyB0cmlnZ2VyUmVjLmhlaWdodCArIHZlcnRpY2FsT2Zmc2V0O1xuICBsZXQgZWxlbWVudFhPdmVyZmxvdyA9IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggLSB0cmlnZ2VyUmVjLndpZHRoO1xuICBjb25zdCBhbGlnbm1lbnQ6IFNiYkFsaWdubWVudCA9IHsgaG9yaXpvbnRhbDogJ3N0YXJ0JywgdmVydGljYWw6ICdiZWxvdycgfTtcblxuICAvLyBDYWxjdWxhdGUgZWxlbWVudCBtYXgtaGVpZ2h0XG4gIGxldCBlbGVtZW50TWF4SGVpZ2h0ID0gYCR7YXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0fXB4YDtcblxuICAvLyBDaGVjayBpZiBob3Jpem9udGFsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwiY2VudGVyXCJcbiAgaWYgKFxuICAgIHByb3BlcnRpZXM/LmNlbnRlcmVkICYmXG4gICAgdHJpZ2dlckxlZnQgLSBtYXhXaWR0aE9mZnNldCArIHRyaWdnZXJSZWMud2lkdGggLyAyID4gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCAvIDIgJiZcbiAgICBhdmFpbGFibGVTcGFjZVJpZ2h0IC0gbWF4V2lkdGhPZmZzZXQgPiBlbGVtZW50WE92ZXJmbG93IC8gMlxuICApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uIC09IGVsZW1lbnRYT3ZlcmZsb3cgLz0gMjtcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCA9ICdjZW50ZXInO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgaG9yaXpvbnRhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImVuZFwiXG4gIGlmIChhdmFpbGFibGVTcGFjZVJpZ2h0IDwgZWxlbWVudFhPdmVyZmxvdyAmJiB0cmlnZ2VyTGVmdCA+IGVsZW1lbnRYT3ZlcmZsb3cpIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uID0gZWxlbWVudFhQb3NpdGlvbiAtIGVsZW1lbnRYT3ZlcmZsb3c7XG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgPSAnZW5kJztcbiAgfVxuXG4gIC8vIEFkZCBob3Jpem9udGFsIG9mZnNldFxuICBpZiAoXG4gICAgaG9yaXpvbnRhbE9mZnNldCAmJlxuICAgIGFsaWdubWVudC5ob3Jpem9udGFsICE9PSAnY2VudGVyJyAmJlxuICAgIHRyaWdnZXJSZWMud2lkdGggLyAyIDwgaG9yaXpvbnRhbE9mZnNldFxuICApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uICs9IGhvcml6b250YWxPZmZzZXQgKiAoYWxpZ25tZW50Lmhvcml6b250YWwgPT09ICdzdGFydCcgPyAtMSA6IDEpO1xuICB9XG5cbiAgLy8gQ2hlY2sgd2hldGhlciB0aGVyZSBpcyBpbnN1ZmZpY2llbnQgc3BhY2Ugb24gYm90aCBzaWRlc1xuICBpZiAoXG4gICAgKHRyaWdnZXJMZWZ0IDwgZWxlbWVudFhPdmVyZmxvdyAmJiBhdmFpbGFibGVTcGFjZVJpZ2h0IDwgZWxlbWVudFhPdmVyZmxvdykgfHxcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggPCBlbGVtZW50UmVjLm9mZnNldFdpZHRoXG4gICkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggLyAyIC0gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCAvIDI7XG4gIH1cblxuICAvLyBDaGVjayBpZiB2ZXJ0aWNhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImFib3ZlXCI6XG4gIGlmIChcbiAgICAoYXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0IDwgZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQgJiZcbiAgICAgIGF2YWlsYWJsZVNwYWNlQWJvdmUgLSB2ZXJ0aWNhbE9mZnNldCA+XG4gICAgICAgIChyZXNwb25zaXZlSGVpZ2h0ID8gZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgOiBlbGVtZW50UmVjLnNjcm9sbEhlaWdodCkpIHx8XG4gICAgKGF2YWlsYWJsZVNwYWNlQWJvdmUgPiBhdmFpbGFibGVTcGFjZUJlbG93ICYmXG4gICAgICBhdmFpbGFibGVTcGFjZUJlbG93IC0gdmVydGljYWxPZmZzZXQgPCBlbGVtZW50UmVjLmNsaWVudEhlaWdodCAmJlxuICAgICAgIXJlc3BvbnNpdmVIZWlnaHQpXG4gICkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gPVxuICAgICAgYXZhaWxhYmxlU3BhY2VBYm92ZSA8IGVsZW1lbnRSZWMuc2Nyb2xsSGVpZ2h0XG4gICAgICAgID8gZWxlbWVudFlQb3NpdGlvbiAtIHRyaWdnZXJSZWMuaGVpZ2h0IC0gYXZhaWxhYmxlU3BhY2VBYm92ZSAtIHZlcnRpY2FsT2Zmc2V0XG4gICAgICAgIDogdHJpZ2dlclRvcCAtIGVsZW1lbnRSZWMuY2xpZW50SGVpZ2h0IC0gdmVydGljYWxPZmZzZXQ7XG5cbiAgICBlbGVtZW50TWF4SGVpZ2h0ID0gYCR7YXZhaWxhYmxlU3BhY2VBYm92ZSAtIHZlcnRpY2FsT2Zmc2V0fXB4YDtcbiAgICBhbGlnbm1lbnQudmVydGljYWwgPSAnYWJvdmUnO1xuICB9XG5cbiAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAvLyBXaGVuIHpvb21pbmcgaW4gU2FmYXJpIHRoZSBjb250YWluZXIgcmVjdGFuZ2xlIGNvbnRhaW5zIG5lZ2F0aXZlIHZhbHVlcyBmb3IgdGhlIHBvc2l0aW9uXG4gIC8vIGFuZCB3ZSBuZWVkIHRvIHJlLWFkZCB0aGVtIHRvIHRoZSBjYWxjdWxhdGVkIGNvb3JkaW5hdGVzLlxuICBpZiAoY29udGFpbmVyUmVjdC5sZWZ0IDwgMCkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC5sZWZ0O1xuICB9XG5cbiAgLy8gTm9ybWFsbHkgdGhlIGNvbnRhaW5lclJlY3QncyB0b3AgdmFsdWUgd291bGQgYmUgemVybywgaG93ZXZlciB3aGVuIHRoZSBvdmVybGF5IGlzIGF0dGFjaGVkIHRvIGFuIGlucHV0XG4gIC8vIChlLmcuIGluIGFuIGF1dG9jb21wbGV0ZSksIG1vYmlsZSBicm93c2VycyB3aWxsIHNoaWZ0IGV2ZXJ5dGhpbmcgaW4gb3JkZXIgdG8gcHV0IHRoZSBpbnB1dCBpbiB0aGUgbWlkZGxlXG4gIC8vIG9mIHRoZSBzY3JlZW4gYW5kIHRvIG1ha2Ugc3BhY2UgZm9yIHRoZSB2aXJ0dWFsIGtleWJvYXJkLiBXZSBuZWVkIHRvIGFjY291bnQgZm9yIHRoaXMgb2Zmc2V0LFxuICAvLyBvdGhlcndpc2Ugb3VyIHBvc2l0aW9uaW5nIHdpbGwgYmUgdGhyb3duIG9mZi5cbiAgLy8gQWRkaXRpb25hbGx5LCB3aGVuIHpvb21pbmcgaW4gU2FmYXJpIHRoaXMgZml4ZXMgdGhlIHZlcnRpY2FsIHBvc2l0aW9uLlxuICBpZiAoY29udGFpbmVyUmVjdC50b3AgPCAwKSB7XG4gICAgZWxlbWVudFlQb3NpdGlvbiAtPSBjb250YWluZXJSZWN0LnRvcDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdG9wOiBlbGVtZW50WVBvc2l0aW9uLFxuICAgIGxlZnQ6IGVsZW1lbnRYUG9zaXRpb24sXG4gICAgbWF4SGVpZ2h0OiBlbGVtZW50TWF4SGVpZ2h0LFxuICAgIGFsaWdubWVudDogYWxpZ25tZW50LFxuICB9O1xufVxuXG4vKipcbiAqIERldGVybWluZXMgdGhlIHBvc2l0aW9uIG9mIGFuIGVsZW1lbnQgcmVsYXRpdmUgdG8gYSB0cmlnZ2VyIGVsZW1lbnQgYnkgZXZhbHVhdGluZ1xuICogdGhlIG9wdGltYWwgcG9zaXRpb24gYmFzZWQgb24gdGhlIGF2YWlsYWJsZSBzcGFjZS5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCBvZiB3aGljaCB0byBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uLlxuICogQHBhcmFtIHRyaWdnZXIgVGhlIGVsZW1lbnQgcmVsYXRpdmUgdG8gd2hpY2ggdG8gY2FsY3VsYXRlIHRoZSBwb3NpdGlvbi5cbiAqIEBwYXJhbSBjb250YWluZXIgVGhlIGVsZW1lbnQgd2hpY2ggaGFzIHRoZSBwb3NpdGlvbjpmaXhlZCBhcHBsaWVkLlxuICogQHBhcmFtIHByb3BlcnRpZXMgUHJvcGVydGllcyB0byB0YWtlIGludG8gYWNjb3VudCBpbiBjYWxjdWxhdGlvbnMgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLnZlcnRpY2FsT2Zmc2V0IFRoZSBkaXN0YW5jZSB0byBiZSBhZGRlZCBiZXR3ZWVuIHRoZSBlbGVtZW50IGFuZCB0aGUgdHJpZ2dlciAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMuaG9yaXpvbnRhbE9mZnNldCBUaGUgaG9yaXpvbnRhbCBvZmZzZXQgdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudCAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMucmVzcG9uc2l2ZUhlaWdodCBXaGV0aGVyIHRoZSBlbGVtZW50IGNhbGN1bGF0ZXMgaXRzIGhlaWdodCBiYXNlZCBvbiBpdHMgY29udGVudCAob3B0aW9uYWwpLlxuICogQHJldHVybnMgUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgbGVmdCBwb3NpdGlvbiwgdGhlIHRvcCBwb3NpdGlvbiwgdGhlIG1heGltdW0gaGVpZ2h0XG4gKiBvZiB0aGUgZWxlbWVudCBhbmQgdGhlIGN1cnJlbnQgYWxpZ25tZW50IG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRQb3NpdGlvbkhvcml6b250YWwoXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgcHJvcGVydGllcz86IHtcbiAgICB2ZXJ0aWNhbE9mZnNldD86IG51bWJlcjtcbiAgICBob3Jpem9udGFsT2Zmc2V0PzogbnVtYmVyO1xuICAgIHJlc3BvbnNpdmVIZWlnaHQ/OiBib29sZWFuO1xuICAgIGNvbnRlbnRTZWxlY3Rvcj86IHN0cmluZztcbiAgfSxcbik6IFNiYkVsZW1lbnRQb3NpdGlvbkluZm9zIHtcbiAgY29uc3QgbWF4SGVpZ2h0T2Zmc2V0ID0gMTY7XG5cbiAgY29uc3QgdmVydGljYWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy52ZXJ0aWNhbE9mZnNldCB8fCAwO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0ID0gcHJvcGVydGllcz8uaG9yaXpvbnRhbE9mZnNldCB8fCAwO1xuXG4gIGNvbnN0IHRyaWdnZXJSZWMgPSB0cmlnZ2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBjb25zdCBlbGVtZW50UmVjID0gZ2V0RWxlbWVudFJlY3RhbmdsZShlbGVtZW50KTtcbiAgY29uc3QgdHJpZ2dlclBhcmVudFJlYyA9IHRyaWdnZXJcbiAgICAucGFyZW50RWxlbWVudCEuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcihcbiAgICAgIHByb3BlcnRpZXM/LmNvbnRlbnRTZWxlY3RvciA/PyBgLiR7ZWxlbWVudC5jbGFzc05hbWV9YCxcbiAgICApIVxuICAgIC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICBjb25zdCBhdmFpbGFibGVTcGFjZVJpZ2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC0gdHJpZ2dlclBhcmVudFJlYy5yaWdodDtcbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VCZWxvdyA9XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtICh0cmlnZ2VyUmVjLnRvcCAtIHZlcnRpY2FsT2Zmc2V0KTtcbiAgY29uc3QgYXZhaWxhYmxlVmVydGljYWxTcGFjZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gIGNvbnN0IGVsZW1lbnRNYXhIZWlnaHQgPSBgJHthdmFpbGFibGVWZXJ0aWNhbFNwYWNlIC0gbWF4SGVpZ2h0T2Zmc2V0ICogMn1weGA7XG4gIGNvbnN0IGFsaWdubWVudDogU2JiQWxpZ25tZW50ID0geyBob3Jpem9udGFsOiAnZW5kJywgdmVydGljYWw6ICdhYm92ZScgfTtcbiAgY29uc3QgZWxlbWVudFhPdmVyZmxvdyA9IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggKyBob3Jpem9udGFsT2Zmc2V0O1xuXG4gIC8vIERlZmF1bHQgZWxlbWVudCBhbGlnbm1lbnQgaXMgXCJlbmQvYWJvdmVcIlxuICBsZXQgZWxlbWVudFhQb3NpdGlvbiA9IHRyaWdnZXJQYXJlbnRSZWMucmlnaHQ7XG4gIGxldCBlbGVtZW50WVBvc2l0aW9uID0gdHJpZ2dlclJlYy50b3AgKyB2ZXJ0aWNhbE9mZnNldDtcblxuICAvLyBDaGVjayBpZiBob3Jpem9udGFsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwic3RhcnRcIlxuICBpZiAoYXZhaWxhYmxlU3BhY2VSaWdodCA8IGVsZW1lbnRYT3ZlcmZsb3cgJiYgdHJpZ2dlclJlYy5sZWZ0ID4gZWxlbWVudFhPdmVyZmxvdykge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gPSBlbGVtZW50WFBvc2l0aW9uIC0gdHJpZ2dlclBhcmVudFJlYy53aWR0aCAtIGVsZW1lbnRSZWMub2Zmc2V0V2lkdGg7XG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgPSAnc3RhcnQnO1xuICB9XG5cbiAgLy8gQWRkIGhvcml6b250YWwgb2Zmc2V0XG4gIGlmIChob3Jpem9udGFsT2Zmc2V0ICYmIGFsaWdubWVudC5ob3Jpem9udGFsICE9PSAnY2VudGVyJykge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gKz0gaG9yaXpvbnRhbE9mZnNldCAqIChhbGlnbm1lbnQuaG9yaXpvbnRhbCA9PT0gJ3N0YXJ0JyA/IC0xIDogMSk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB2ZXJ0aWNhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImFib3ZlXCI6XG4gIGlmIChhdmFpbGFibGVTcGFjZUJlbG93IDwgZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQpIHtcbiAgICBlbGVtZW50WVBvc2l0aW9uID0gYXZhaWxhYmxlVmVydGljYWxTcGFjZSAtIGVsZW1lbnRSZWMuY2xpZW50SGVpZ2h0IC0gbWF4SGVpZ2h0T2Zmc2V0O1xuICB9XG5cbiAgLy8gV2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGUgY29udGFpbmVyIHJlY3RhbmdsZSBjb250YWlucyBuZWdhdGl2ZSB2YWx1ZXMgZm9yIHRoZSBwb3NpdGlvblxuICAvLyBhbmQgd2UgbmVlZCB0byByZS1hZGQgdGhlbSB0byB0aGUgY2FsY3VsYXRlZCBjb29yZGluYXRlcy5cbiAgaWYgKGNvbnRhaW5lclJlY3QubGVmdCA8IDApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uIC09IGNvbnRhaW5lclJlY3QubGVmdDtcbiAgfVxuXG4gIC8vIE5vcm1hbGx5IHRoZSBjb250YWluZXJSZWN0J3MgdG9wIHZhbHVlIHdvdWxkIGJlIHplcm8sIGhvd2V2ZXIgd2hlbiB0aGUgb3ZlcmxheSBpcyBhdHRhY2hlZCB0byBhbiBpbnB1dFxuICAvLyAoZS5nLiBpbiBhbiBhdXRvY29tcGxldGUpLCBtb2JpbGUgYnJvd3NlcnMgd2lsbCBzaGlmdCBldmVyeXRoaW5nIGluIG9yZGVyIHRvIHB1dCB0aGUgaW5wdXQgaW4gdGhlIG1pZGRsZVxuICAvLyBvZiB0aGUgc2NyZWVuIGFuZCB0byBtYWtlIHNwYWNlIGZvciB0aGUgdmlydHVhbCBrZXlib2FyZC4gV2UgbmVlZCB0byBhY2NvdW50IGZvciB0aGlzIG9mZnNldCxcbiAgLy8gb3RoZXJ3aXNlIG91ciBwb3NpdGlvbmluZyB3aWxsIGJlIHRocm93biBvZmYuXG4gIC8vIEFkZGl0aW9uYWxseSwgd2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGlzIGZpeGVzIHRoZSB2ZXJ0aWNhbCBwb3NpdGlvbi5cbiAgaWYgKGNvbnRhaW5lclJlY3QudG9wIDwgMCkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC50b3A7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHRvcDogZWxlbWVudFlQb3NpdGlvbixcbiAgICBsZWZ0OiBlbGVtZW50WFBvc2l0aW9uLFxuICAgIG1heEhlaWdodDogZWxlbWVudE1heEhlaWdodCxcbiAgICBhbGlnbm1lbnQ6IGFsaWdubWVudCxcbiAgfTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQk0sU0FBVSxvQkFBb0IsSUFBZTtBQUNqRCxRQUFNLGVBQWUsT0FBTyxpQkFBaUIsRUFBRSxHQUM3QyxpQkFBaUIsYUFBYSxTQUM5QixtQkFBbUIsU0FBUyxhQUFhLFdBQVcsRUFBRSxFQUFFLFNBQUE7QUFHMUQsTUFBSSxtQkFBbUIsVUFBVSxxQkFBcUIsS0FBSztBQUN6RCxXQUFPO0FBQUEsTUFDTCxjQUFjLEdBQUc7QUFBQSxNQUNqQixjQUFjLEdBQUc7QUFBQSxNQUNqQixjQUFjLEdBQUc7QUFBQSxNQUNqQixhQUFhLEdBQUc7QUFBQSxNQUNoQixhQUFhLEdBQUc7QUFBQSxNQUNoQixhQUFhLEdBQUc7QUFBQSxJQUFBO0FBQUEsRUFFcEI7QUFJQSxLQUFHLE1BQU0sV0FBVztBQUNwQixLQUFHLE1BQU0sYUFBYTtBQUN0QixLQUFHLE1BQU0sVUFBVTtBQUVuQixRQUFNLGVBQWUsR0FBRyxjQUN0QixlQUFlLEdBQUcsY0FDbEIsZUFBZSxHQUFHLGNBQ2xCLGNBQWMsR0FBRyxhQUNqQixjQUFjLEdBQUcsYUFDakIsY0FBYyxHQUFHO0FBR25CLEtBQUcsTUFBTSxVQUFVO0FBQ25CLEtBQUcsTUFBTSxXQUFXO0FBQ3BCLEtBQUcsTUFBTSxhQUFhO0FBRXRCLFNBQU8sRUFBRSxjQUFjLGNBQWMsY0FBYyxhQUFhLGFBQWEsWUFBQTtBQUMvRTtBQUtNLFNBQVUsaUJBQ2QsU0FDQSxPQUFnQztBQUVoQyxNQUFJLENBQUMsV0FBVyxDQUFDLE9BQU87QUFDdEIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLE9BQU8sUUFBUSxzQkFBQTtBQUNyQixTQUNFLEtBQUssT0FBTyxNQUFNLFdBQ2xCLE1BQU0sV0FBVyxLQUFLLE1BQU0sS0FBSyxVQUNqQyxLQUFLLFFBQVEsTUFBTSxXQUNu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
125
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL292ZXJsYXkvcG9zaXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRWxlbWVudFJlY3RhbmdsZSA9IFBpY2s8XG4gIEhUTUxFbGVtZW50LFxuICAnc2Nyb2xsSGVpZ2h0JyB8ICdjbGllbnRIZWlnaHQnIHwgJ29mZnNldEhlaWdodCcgfCAnc2Nyb2xsV2lkdGgnIHwgJ2NsaWVudFdpZHRoJyB8ICdvZmZzZXRXaWR0aCdcbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiQWxpZ25tZW50IHtcbiAgaG9yaXpvbnRhbDogJ3N0YXJ0JyB8ICdjZW50ZXInIHwgJ2VuZCc7XG4gIHZlcnRpY2FsOiAnYWJvdmUnIHwgJ2JlbG93Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50UG9zaXRpb25JbmZvcyB7XG4gIHRvcDogbnVtYmVyO1xuICBsZWZ0OiBudW1iZXI7XG4gIG1heEhlaWdodDogc3RyaW5nO1xuICBhbGlnbm1lbnQ6IFNiYkFsaWdubWVudDtcbn1cblxuLyoqXG4gKiBHZXRzIGhlaWdodCBhbmQgd2lkdGggb2YgYW4gZWxlbWVudCBldmVuIGlmIGl0J3MgaGlkZGVuIChgZGlzcGxheTogbm9uZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudFJlY3RhbmdsZShlbDogSFRNTEVsZW1lbnQpOiBFbGVtZW50UmVjdGFuZ2xlIHtcbiAgY29uc3QgZWxlbWVudFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWwpLFxuICAgIGVsZW1lbnREaXNwbGF5ID0gZWxlbWVudFN0eWxlLmRpc3BsYXksXG4gICAgZWxlbWVudE1heEhlaWdodCA9IHBhcnNlSW50KGVsZW1lbnRTdHlsZS5tYXhIZWlnaHQsIDEwKS50b1N0cmluZygpO1xuXG4gIC8vIElmIGl0IGlzIG5vdCBoaWRkZW4gd2UganVzdCByZXR1cm4gbm9ybWFsIGhlaWdodFxuICBpZiAoZWxlbWVudERpc3BsYXkgIT09ICdub25lJyAmJiBlbGVtZW50TWF4SGVpZ2h0ICE9PSAnMCcpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Nyb2xsSGVpZ2h0OiBlbC5zY3JvbGxIZWlnaHQsXG4gICAgICBjbGllbnRIZWlnaHQ6IGVsLmNsaWVudEhlaWdodCxcbiAgICAgIG9mZnNldEhlaWdodDogZWwub2Zmc2V0SGVpZ2h0LFxuICAgICAgc2Nyb2xsV2lkdGg6IGVsLnNjcm9sbFdpZHRoLFxuICAgICAgY2xpZW50V2lkdGg6IGVsLmNsaWVudFdpZHRoLFxuICAgICAgb2Zmc2V0V2lkdGg6IGVsLm9mZnNldFdpZHRoLFxuICAgIH07XG4gIH1cblxuICAvLyBUaGUgZWxlbWVudCBpcyBoaWRkZW4gc286XG4gIC8vIG1ha2UgdGhlIGVsIGJsb2NrIGluIG9yZGVyIHRvIG1lYXN1cmUgaXRzIGhlaWdodCBidXQgc3RpbGwgYmUgaGlkZGVuXG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICdoaWRkZW4nO1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblxuICBjb25zdCBzY3JvbGxIZWlnaHQgPSBlbC5zY3JvbGxIZWlnaHQsXG4gICAgY2xpZW50SGVpZ2h0ID0gZWwuY2xpZW50SGVpZ2h0LFxuICAgIG9mZnNldEhlaWdodCA9IGVsLm9mZnNldEhlaWdodCxcbiAgICBzY3JvbGxXaWR0aCA9IGVsLnNjcm9sbFdpZHRoLFxuICAgIGNsaWVudFdpZHRoID0gZWwuY2xpZW50V2lkdGgsXG4gICAgb2Zmc2V0V2lkdGggPSBlbC5vZmZzZXRXaWR0aDtcblxuICAvLyBSZXZlcnRpbmcgdG8gdGhlIG9yaWdpbmFsIHZhbHVlc1xuICBlbC5zdHlsZS5kaXNwbGF5ID0gJyc7XG4gIGVsLnN0eWxlLnBvc2l0aW9uID0gJyc7XG4gIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAnJztcblxuICByZXR1cm4geyBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCwgb2Zmc2V0SGVpZ2h0LCBzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGgsIG9mZnNldFdpZHRoIH07XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGV2ZW50IGlzIGZpcmVkIG9uIGEgc3BlY2lmaWMgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRXZlbnRPbkVsZW1lbnQoXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCxcbiAgZXZlbnQ6IE1vdXNlRXZlbnQgfCBQb2ludGVyRXZlbnQsXG4pOiBib29sZWFuIHtcbiAgaWYgKCFlbGVtZW50IHx8ICFldmVudCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICByZXR1cm4gKFxuICAgIHJlY3QudG9wIDw9IGV2ZW50LmNsaWVudFkgJiZcbiAgICBldmVudC5jbGllbnRZIDw9IHJlY3QudG9wICsgcmVjdC5oZWlnaHQgJiZcbiAgICByZWN0LmxlZnQgPD0gZXZlbnQuY2xpZW50WCAmJlxuICAgIGV2ZW50LmNsaWVudFggPD0gcmVjdC5sZWZ0ICsgcmVjdC53aWR0aFxuICApO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgdGhlIHBvc2l0aW9uIG9mIGFuIGVsZW1lbnQgcmVsYXRpdmUgdG8gYSB0cmlnZ2VyIGVsZW1lbnQgYnkgZXZhbHVhdGluZ1xuICogdGhlIG9wdGltYWwgcG9zaXRpb24gYmFzZWQgb24gdGhlIGF2YWlsYWJsZSBzcGFjZS5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCBvZiB3aGljaCB0byBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uLlxuICogQHBhcmFtIHRyaWdnZXIgVGhlIGVsZW1lbnQgcmVsYXRpdmUgdG8gd2hpY2ggdG8gY2FsY3VsYXRlIHRoZSBwb3NpdGlvbi5cbiAqIEBwYXJhbSBjb250YWluZXIgVGhlIGVsZW1lbnQgd2hpY2ggaGFzIHRoZSBwb3NpdGlvbjpmaXhlZCBhcHBsaWVkLlxuICogQHBhcmFtIHByb3BlcnRpZXMgUHJvcGVydGllcyB0byB0YWtlIGludG8gYWNjb3VudCBpbiBjYWxjdWxhdGlvbnMgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLnZlcnRpY2FsT2Zmc2V0IFRoZSBkaXN0YW5jZSB0byBiZSBhZGRlZCBiZXR3ZWVuIHRoZSBlbGVtZW50IGFuZCB0aGUgdHJpZ2dlciAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMuaG9yaXpvbnRhbE9mZnNldCBUaGUgaG9yaXpvbnRhbCBvZmZzZXQgdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudCAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMuY2VudGVyZWQgV2hldGhlciB0aGUgZWxlbWVudCBzaG91bGQgYmUgcGxhY2VkIGluIHRoZSBjZW50ZXIgYnkgZGVmYXVsdCAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMucmVzcG9uc2l2ZUhlaWdodCBXaGV0aGVyIHRoZSBlbGVtZW50IGNhbGN1bGF0ZXMgaXRzIGhlaWdodCBiYXNlZCBvbiBpdHMgY29udGVudCAob3B0aW9uYWwpLlxuICogQHJldHVybnMgUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgbGVmdCBwb3NpdGlvbiwgdGhlIHRvcCBwb3NpdGlvbiwgdGhlIG1heGltdW0gaGVpZ2h0XG4gKiBvZiB0aGUgZWxlbWVudCBhbmQgdGhlIGN1cnJlbnQgYWxpZ25tZW50IG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRQb3NpdGlvbihcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gIHRyaWdnZXI6IEhUTUxFbGVtZW50LFxuICBjb250YWluZXI6IEhUTUxFbGVtZW50LFxuICBwcm9wZXJ0aWVzPzoge1xuICAgIHZlcnRpY2FsT2Zmc2V0PzogbnVtYmVyO1xuICAgIGhvcml6b250YWxPZmZzZXQ/OiBudW1iZXI7XG4gICAgY2VudGVyZWQ/OiBib29sZWFuO1xuICAgIHJlc3BvbnNpdmVIZWlnaHQ/OiBib29sZWFuO1xuICAgIGZvcmNlQWJvdmU/OiBib29sZWFuO1xuICAgIGZvcmNlQmVsb3c/OiBib29sZWFuO1xuICB9LFxuKTogU2JiRWxlbWVudFBvc2l0aW9uSW5mb3Mge1xuICBjb25zdCBtYXhXaWR0aE9mZnNldCA9IDE2O1xuICBjb25zdCB2ZXJ0aWNhbE9mZnNldCA9IHByb3BlcnRpZXM/LnZlcnRpY2FsT2Zmc2V0IHx8IDA7XG4gIGNvbnN0IGhvcml6b250YWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy5ob3Jpem9udGFsT2Zmc2V0IHx8IDA7XG4gIGNvbnN0IHJlc3BvbnNpdmVIZWlnaHQgPSBwcm9wZXJ0aWVzPy5yZXNwb25zaXZlSGVpZ2h0IHx8IGZhbHNlO1xuXG4gIGNvbnN0IHRyaWdnZXJSZWMgPSB0cmlnZ2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBjb25zdCBlbGVtZW50UmVjID0gZ2V0RWxlbWVudFJlY3RhbmdsZShlbGVtZW50KTtcblxuICBjb25zdCB0cmlnZ2VyTGVmdCA9IHRyaWdnZXJSZWMubGVmdDtcbiAgY29uc3QgdHJpZ2dlclRvcCA9IHRyaWdnZXJSZWMudG9wO1xuXG4gIGNvbnN0IGF2YWlsYWJsZVNwYWNlUmlnaHQgPVxuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCAtICh0cmlnZ2VyTGVmdCArIHRyaWdnZXJSZWMud2lkdGgpO1xuICBjb25zdCBhdmFpbGFibGVTcGFjZUFib3ZlID0gdHJpZ2dlclRvcCAtIHZlcnRpY2FsT2Zmc2V0O1xuICBjb25zdCBhdmFpbGFibGVTcGFjZUJlbG93ID1cbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IC0gKHRyaWdnZXJUb3AgKyB0cmlnZ2VyUmVjLmhlaWdodCArIHZlcnRpY2FsT2Zmc2V0KTtcblxuICAvLyBEZWZhdWx0IGVsZW1lbnQgYWxpZ25tZW50IGlzIFwic3RhcnQvYmVsb3dcIlxuICBsZXQgZWxlbWVudFhQb3NpdGlvbiA9IHRyaWdnZXJMZWZ0O1xuICBsZXQgZWxlbWVudFlQb3NpdGlvbiA9IHRyaWdnZXJUb3AgKyB0cmlnZ2VyUmVjLmhlaWdodCArIHZlcnRpY2FsT2Zmc2V0O1xuICBsZXQgZWxlbWVudFhPdmVyZmxvdyA9IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggLSB0cmlnZ2VyUmVjLndpZHRoO1xuICBjb25zdCBhbGlnbm1lbnQ6IFNiYkFsaWdubWVudCA9IHsgaG9yaXpvbnRhbDogJ3N0YXJ0JywgdmVydGljYWw6ICdiZWxvdycgfTtcblxuICAvLyBDYWxjdWxhdGUgZWxlbWVudCBtYXgtaGVpZ2h0XG4gIGxldCBlbGVtZW50TWF4SGVpZ2h0ID0gYCR7YXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0fXB4YDtcblxuICAvLyBDaGVjayBpZiBob3Jpem9udGFsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwiY2VudGVyXCJcbiAgaWYgKFxuICAgIHByb3BlcnRpZXM/LmNlbnRlcmVkICYmXG4gICAgdHJpZ2dlckxlZnQgLSBtYXhXaWR0aE9mZnNldCArIHRyaWdnZXJSZWMud2lkdGggLyAyID4gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCAvIDIgJiZcbiAgICBhdmFpbGFibGVTcGFjZVJpZ2h0IC0gbWF4V2lkdGhPZmZzZXQgPiBlbGVtZW50WE92ZXJmbG93IC8gMlxuICApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uIC09IGVsZW1lbnRYT3ZlcmZsb3cgLz0gMjtcbiAgICBhbGlnbm1lbnQuaG9yaXpvbnRhbCA9ICdjZW50ZXInO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgaG9yaXpvbnRhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImVuZFwiXG4gIGlmIChhdmFpbGFibGVTcGFjZVJpZ2h0IDwgZWxlbWVudFhPdmVyZmxvdyAmJiB0cmlnZ2VyTGVmdCA+IGVsZW1lbnRYT3ZlcmZsb3cpIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uID0gZWxlbWVudFhQb3NpdGlvbiAtIGVsZW1lbnRYT3ZlcmZsb3c7XG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgPSAnZW5kJztcbiAgfVxuXG4gIC8vIEFkZCBob3Jpem9udGFsIG9mZnNldFxuICBpZiAoXG4gICAgaG9yaXpvbnRhbE9mZnNldCAmJlxuICAgIGFsaWdubWVudC5ob3Jpem9udGFsICE9PSAnY2VudGVyJyAmJlxuICAgIHRyaWdnZXJSZWMud2lkdGggLyAyIDwgaG9yaXpvbnRhbE9mZnNldFxuICApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uICs9IGhvcml6b250YWxPZmZzZXQgKiAoYWxpZ25tZW50Lmhvcml6b250YWwgPT09ICdzdGFydCcgPyAtMSA6IDEpO1xuICB9XG5cbiAgLy8gQ2hlY2sgd2hldGhlciB0aGVyZSBpcyBpbnN1ZmZpY2llbnQgc3BhY2Ugb24gYm90aCBzaWRlc1xuICBpZiAoXG4gICAgKHRyaWdnZXJMZWZ0IDwgZWxlbWVudFhPdmVyZmxvdyAmJiBhdmFpbGFibGVTcGFjZVJpZ2h0IDwgZWxlbWVudFhPdmVyZmxvdykgfHxcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggPCBlbGVtZW50UmVjLm9mZnNldFdpZHRoXG4gICkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggLyAyIC0gZWxlbWVudFJlYy5vZmZzZXRXaWR0aCAvIDI7XG4gIH1cblxuICAvLyBDaGVjayBpZiB2ZXJ0aWNhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImFib3ZlXCI6XG4gIGNvbnN0IHNob3VsZE9wZW5BYm92ZSA9XG4gICAgKGF2YWlsYWJsZVNwYWNlQmVsb3cgLSB2ZXJ0aWNhbE9mZnNldCA8IGVsZW1lbnRSZWMuc2Nyb2xsSGVpZ2h0ICYmXG4gICAgICBhdmFpbGFibGVTcGFjZUFib3ZlIC0gdmVydGljYWxPZmZzZXQgPlxuICAgICAgICAocmVzcG9uc2l2ZUhlaWdodCA/IGVsZW1lbnRSZWMuY2xpZW50SGVpZ2h0IDogZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQpKSB8fFxuICAgIChhdmFpbGFibGVTcGFjZUFib3ZlID4gYXZhaWxhYmxlU3BhY2VCZWxvdyAmJlxuICAgICAgYXZhaWxhYmxlU3BhY2VCZWxvdyAtIHZlcnRpY2FsT2Zmc2V0IDwgZWxlbWVudFJlYy5jbGllbnRIZWlnaHQgJiZcbiAgICAgICFyZXNwb25zaXZlSGVpZ2h0KTtcblxuICBpZiAoIXByb3BlcnRpZXM/LmZvcmNlQmVsb3cgJiYgKHByb3BlcnRpZXM/LmZvcmNlQWJvdmUgfHwgc2hvdWxkT3BlbkFib3ZlKSkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gPVxuICAgICAgYXZhaWxhYmxlU3BhY2VBYm92ZSA8IGVsZW1lbnRSZWMuc2Nyb2xsSGVpZ2h0XG4gICAgICAgID8gZWxlbWVudFlQb3NpdGlvbiAtIHRyaWdnZXJSZWMuaGVpZ2h0IC0gYXZhaWxhYmxlU3BhY2VBYm92ZSAtIHZlcnRpY2FsT2Zmc2V0XG4gICAgICAgIDogdHJpZ2dlclRvcCAtIGVsZW1lbnRSZWMuY2xpZW50SGVpZ2h0IC0gdmVydGljYWxPZmZzZXQ7XG5cbiAgICBlbGVtZW50TWF4SGVpZ2h0ID0gYCR7YXZhaWxhYmxlU3BhY2VBYm92ZSAtIHZlcnRpY2FsT2Zmc2V0fXB4YDtcbiAgICBhbGlnbm1lbnQudmVydGljYWwgPSAnYWJvdmUnO1xuICB9XG5cbiAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAvLyBXaGVuIHpvb21pbmcgaW4gU2FmYXJpIHRoZSBjb250YWluZXIgcmVjdGFuZ2xlIGNvbnRhaW5zIG5lZ2F0aXZlIHZhbHVlcyBmb3IgdGhlIHBvc2l0aW9uXG4gIC8vIGFuZCB3ZSBuZWVkIHRvIHJlLWFkZCB0aGVtIHRvIHRoZSBjYWxjdWxhdGVkIGNvb3JkaW5hdGVzLlxuICBpZiAoY29udGFpbmVyUmVjdC5sZWZ0IDwgMCkge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC5sZWZ0O1xuICB9XG5cbiAgLy8gTm9ybWFsbHkgdGhlIGNvbnRhaW5lclJlY3QncyB0b3AgdmFsdWUgd291bGQgYmUgemVybywgaG93ZXZlciB3aGVuIHRoZSBvdmVybGF5IGlzIGF0dGFjaGVkIHRvIGFuIGlucHV0XG4gIC8vIChlLmcuIGluIGFuIGF1dG9jb21wbGV0ZSksIG1vYmlsZSBicm93c2VycyB3aWxsIHNoaWZ0IGV2ZXJ5dGhpbmcgaW4gb3JkZXIgdG8gcHV0IHRoZSBpbnB1dCBpbiB0aGUgbWlkZGxlXG4gIC8vIG9mIHRoZSBzY3JlZW4gYW5kIHRvIG1ha2Ugc3BhY2UgZm9yIHRoZSB2aXJ0dWFsIGtleWJvYXJkLiBXZSBuZWVkIHRvIGFjY291bnQgZm9yIHRoaXMgb2Zmc2V0LFxuICAvLyBvdGhlcndpc2Ugb3VyIHBvc2l0aW9uaW5nIHdpbGwgYmUgdGhyb3duIG9mZi5cbiAgLy8gQWRkaXRpb25hbGx5LCB3aGVuIHpvb21pbmcgaW4gU2FmYXJpIHRoaXMgZml4ZXMgdGhlIHZlcnRpY2FsIHBvc2l0aW9uLlxuICBpZiAoY29udGFpbmVyUmVjdC50b3AgPCAwKSB7XG4gICAgZWxlbWVudFlQb3NpdGlvbiAtPSBjb250YWluZXJSZWN0LnRvcDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgdG9wOiBlbGVtZW50WVBvc2l0aW9uLFxuICAgIGxlZnQ6IGVsZW1lbnRYUG9zaXRpb24sXG4gICAgbWF4SGVpZ2h0OiBlbGVtZW50TWF4SGVpZ2h0LFxuICAgIGFsaWdubWVudDogYWxpZ25tZW50LFxuICB9O1xufVxuXG4vKipcbiAqIERldGVybWluZXMgdGhlIHBvc2l0aW9uIG9mIGFuIGVsZW1lbnQgcmVsYXRpdmUgdG8gYSB0cmlnZ2VyIGVsZW1lbnQgYnkgZXZhbHVhdGluZ1xuICogdGhlIG9wdGltYWwgcG9zaXRpb24gYmFzZWQgb24gdGhlIGF2YWlsYWJsZSBzcGFjZS5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgZWxlbWVudCBvZiB3aGljaCB0byBjYWxjdWxhdGUgdGhlIHBvc2l0aW9uLlxuICogQHBhcmFtIHRyaWdnZXIgVGhlIGVsZW1lbnQgcmVsYXRpdmUgdG8gd2hpY2ggdG8gY2FsY3VsYXRlIHRoZSBwb3NpdGlvbi5cbiAqIEBwYXJhbSBjb250YWluZXIgVGhlIGVsZW1lbnQgd2hpY2ggaGFzIHRoZSBwb3NpdGlvbjpmaXhlZCBhcHBsaWVkLlxuICogQHBhcmFtIHByb3BlcnRpZXMgUHJvcGVydGllcyB0byB0YWtlIGludG8gYWNjb3VudCBpbiBjYWxjdWxhdGlvbnMgKG9wdGlvbmFsKS5cbiAqIEBwYXJhbSBwcm9wZXJ0aWVzLnZlcnRpY2FsT2Zmc2V0IFRoZSBkaXN0YW5jZSB0byBiZSBhZGRlZCBiZXR3ZWVuIHRoZSBlbGVtZW50IGFuZCB0aGUgdHJpZ2dlciAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMuaG9yaXpvbnRhbE9mZnNldCBUaGUgaG9yaXpvbnRhbCBvZmZzZXQgdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudCAob3B0aW9uYWwpLlxuICogQHBhcmFtIHByb3BlcnRpZXMucmVzcG9uc2l2ZUhlaWdodCBXaGV0aGVyIHRoZSBlbGVtZW50IGNhbGN1bGF0ZXMgaXRzIGhlaWdodCBiYXNlZCBvbiBpdHMgY29udGVudCAob3B0aW9uYWwpLlxuICogQHJldHVybnMgUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyB0aGUgbGVmdCBwb3NpdGlvbiwgdGhlIHRvcCBwb3NpdGlvbiwgdGhlIG1heGltdW0gaGVpZ2h0XG4gKiBvZiB0aGUgZWxlbWVudCBhbmQgdGhlIGN1cnJlbnQgYWxpZ25tZW50IG9iamVjdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRQb3NpdGlvbkhvcml6b250YWwoXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICB0cmlnZ2VyOiBIVE1MRWxlbWVudCxcbiAgY29udGFpbmVyOiBIVE1MRWxlbWVudCxcbiAgcHJvcGVydGllcz86IHtcbiAgICB2ZXJ0aWNhbE9mZnNldD86IG51bWJlcjtcbiAgICBob3Jpem9udGFsT2Zmc2V0PzogbnVtYmVyO1xuICAgIHJlc3BvbnNpdmVIZWlnaHQ/OiBib29sZWFuO1xuICAgIGNvbnRlbnRTZWxlY3Rvcj86IHN0cmluZztcbiAgfSxcbik6IFNiYkVsZW1lbnRQb3NpdGlvbkluZm9zIHtcbiAgY29uc3QgbWF4SGVpZ2h0T2Zmc2V0ID0gMTY7XG5cbiAgY29uc3QgdmVydGljYWxPZmZzZXQgPSBwcm9wZXJ0aWVzPy52ZXJ0aWNhbE9mZnNldCB8fCAwO1xuICBjb25zdCBob3Jpem9udGFsT2Zmc2V0ID0gcHJvcGVydGllcz8uaG9yaXpvbnRhbE9mZnNldCB8fCAwO1xuXG4gIGNvbnN0IHRyaWdnZXJSZWMgPSB0cmlnZ2VyLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBjb25zdCBlbGVtZW50UmVjID0gZ2V0RWxlbWVudFJlY3RhbmdsZShlbGVtZW50KTtcbiAgY29uc3QgdHJpZ2dlclBhcmVudFJlYyA9IHRyaWdnZXJcbiAgICAucGFyZW50RWxlbWVudCEuc2hhZG93Um9vdCEucXVlcnlTZWxlY3RvcihcbiAgICAgIHByb3BlcnRpZXM/LmNvbnRlbnRTZWxlY3RvciA/PyBgLiR7ZWxlbWVudC5jbGFzc05hbWV9YCxcbiAgICApIVxuICAgIC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgY29udGFpbmVyUmVjdCA9IGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICBjb25zdCBhdmFpbGFibGVTcGFjZVJpZ2h0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC0gdHJpZ2dlclBhcmVudFJlYy5yaWdodDtcbiAgY29uc3QgYXZhaWxhYmxlU3BhY2VCZWxvdyA9XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCAtICh0cmlnZ2VyUmVjLnRvcCAtIHZlcnRpY2FsT2Zmc2V0KTtcbiAgY29uc3QgYXZhaWxhYmxlVmVydGljYWxTcGFjZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gIGNvbnN0IGVsZW1lbnRNYXhIZWlnaHQgPSBgJHthdmFpbGFibGVWZXJ0aWNhbFNwYWNlIC0gbWF4SGVpZ2h0T2Zmc2V0ICogMn1weGA7XG4gIGNvbnN0IGFsaWdubWVudDogU2JiQWxpZ25tZW50ID0geyBob3Jpem9udGFsOiAnZW5kJywgdmVydGljYWw6ICdhYm92ZScgfTtcbiAgY29uc3QgZWxlbWVudFhPdmVyZmxvdyA9IGVsZW1lbnRSZWMub2Zmc2V0V2lkdGggKyBob3Jpem9udGFsT2Zmc2V0O1xuXG4gIC8vIERlZmF1bHQgZWxlbWVudCBhbGlnbm1lbnQgaXMgXCJlbmQvYWJvdmVcIlxuICBsZXQgZWxlbWVudFhQb3NpdGlvbiA9IHRyaWdnZXJQYXJlbnRSZWMucmlnaHQ7XG4gIGxldCBlbGVtZW50WVBvc2l0aW9uID0gdHJpZ2dlclJlYy50b3AgKyB2ZXJ0aWNhbE9mZnNldDtcblxuICAvLyBDaGVjayBpZiBob3Jpem9udGFsIGFsaWdubWVudCBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIFwic3RhcnRcIlxuICBpZiAoYXZhaWxhYmxlU3BhY2VSaWdodCA8IGVsZW1lbnRYT3ZlcmZsb3cgJiYgdHJpZ2dlclJlYy5sZWZ0ID4gZWxlbWVudFhPdmVyZmxvdykge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gPSBlbGVtZW50WFBvc2l0aW9uIC0gdHJpZ2dlclBhcmVudFJlYy53aWR0aCAtIGVsZW1lbnRSZWMub2Zmc2V0V2lkdGg7XG4gICAgYWxpZ25tZW50Lmhvcml6b250YWwgPSAnc3RhcnQnO1xuICB9XG5cbiAgLy8gQWRkIGhvcml6b250YWwgb2Zmc2V0XG4gIGlmIChob3Jpem9udGFsT2Zmc2V0ICYmIGFsaWdubWVudC5ob3Jpem9udGFsICE9PSAnY2VudGVyJykge1xuICAgIGVsZW1lbnRYUG9zaXRpb24gKz0gaG9yaXpvbnRhbE9mZnNldCAqIChhbGlnbm1lbnQuaG9yaXpvbnRhbCA9PT0gJ3N0YXJ0JyA/IC0xIDogMSk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB2ZXJ0aWNhbCBhbGlnbm1lbnQgbmVlZHMgdG8gYmUgY2hhbmdlZCB0byBcImFib3ZlXCI6XG4gIGlmIChhdmFpbGFibGVTcGFjZUJlbG93IDwgZWxlbWVudFJlYy5zY3JvbGxIZWlnaHQpIHtcbiAgICBlbGVtZW50WVBvc2l0aW9uID0gYXZhaWxhYmxlVmVydGljYWxTcGFjZSAtIGVsZW1lbnRSZWMuY2xpZW50SGVpZ2h0IC0gbWF4SGVpZ2h0T2Zmc2V0O1xuICB9XG5cbiAgLy8gV2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGUgY29udGFpbmVyIHJlY3RhbmdsZSBjb250YWlucyBuZWdhdGl2ZSB2YWx1ZXMgZm9yIHRoZSBwb3NpdGlvblxuICAvLyBhbmQgd2UgbmVlZCB0byByZS1hZGQgdGhlbSB0byB0aGUgY2FsY3VsYXRlZCBjb29yZGluYXRlcy5cbiAgaWYgKGNvbnRhaW5lclJlY3QubGVmdCA8IDApIHtcbiAgICBlbGVtZW50WFBvc2l0aW9uIC09IGNvbnRhaW5lclJlY3QubGVmdDtcbiAgfVxuXG4gIC8vIE5vcm1hbGx5IHRoZSBjb250YWluZXJSZWN0J3MgdG9wIHZhbHVlIHdvdWxkIGJlIHplcm8sIGhvd2V2ZXIgd2hlbiB0aGUgb3ZlcmxheSBpcyBhdHRhY2hlZCB0byBhbiBpbnB1dFxuICAvLyAoZS5nLiBpbiBhbiBhdXRvY29tcGxldGUpLCBtb2JpbGUgYnJvd3NlcnMgd2lsbCBzaGlmdCBldmVyeXRoaW5nIGluIG9yZGVyIHRvIHB1dCB0aGUgaW5wdXQgaW4gdGhlIG1pZGRsZVxuICAvLyBvZiB0aGUgc2NyZWVuIGFuZCB0byBtYWtlIHNwYWNlIGZvciB0aGUgdmlydHVhbCBrZXlib2FyZC4gV2UgbmVlZCB0byBhY2NvdW50IGZvciB0aGlzIG9mZnNldCxcbiAgLy8gb3RoZXJ3aXNlIG91ciBwb3NpdGlvbmluZyB3aWxsIGJlIHRocm93biBvZmYuXG4gIC8vIEFkZGl0aW9uYWxseSwgd2hlbiB6b29taW5nIGluIFNhZmFyaSB0aGlzIGZpeGVzIHRoZSB2ZXJ0aWNhbCBwb3NpdGlvbi5cbiAgaWYgKGNvbnRhaW5lclJlY3QudG9wIDwgMCkge1xuICAgIGVsZW1lbnRZUG9zaXRpb24gLT0gY29udGFpbmVyUmVjdC50b3A7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHRvcDogZWxlbWVudFlQb3NpdGlvbixcbiAgICBsZWZ0OiBlbGVtZW50WFBvc2l0aW9uLFxuICAgIG1heEhlaWdodDogZWxlbWVudE1heEhlaWdodCxcbiAgICBhbGlnbm1lbnQ6IGFsaWdubWVudCxcbiAgfTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQk0sU0FBVSxvQkFBb0IsSUFBZTtBQUNqRCxRQUFNLGVBQWUsT0FBTyxpQkFBaUIsRUFBRSxHQUM3QyxpQkFBaUIsYUFBYSxTQUM5QixtQkFBbUIsU0FBUyxhQUFhLFdBQVcsRUFBRSxFQUFFLFNBQUE7QUFHMUQsTUFBSSxtQkFBbUIsVUFBVSxxQkFBcUIsS0FBSztBQUN6RCxXQUFPO0FBQUEsTUFDTCxjQUFjLEdBQUc7QUFBQSxNQUNqQixjQUFjLEdBQUc7QUFBQSxNQUNqQixjQUFjLEdBQUc7QUFBQSxNQUNqQixhQUFhLEdBQUc7QUFBQSxNQUNoQixhQUFhLEdBQUc7QUFBQSxNQUNoQixhQUFhLEdBQUc7QUFBQSxJQUFBO0FBQUEsRUFFcEI7QUFJQSxLQUFHLE1BQU0sV0FBVztBQUNwQixLQUFHLE1BQU0sYUFBYTtBQUN0QixLQUFHLE1BQU0sVUFBVTtBQUVuQixRQUFNLGVBQWUsR0FBRyxjQUN0QixlQUFlLEdBQUcsY0FDbEIsZUFBZSxHQUFHLGNBQ2xCLGNBQWMsR0FBRyxhQUNqQixjQUFjLEdBQUcsYUFDakIsY0FBYyxHQUFHO0FBR25CLEtBQUcsTUFBTSxVQUFVO0FBQ25CLEtBQUcsTUFBTSxXQUFXO0FBQ3BCLEtBQUcsTUFBTSxhQUFhO0FBRXRCLFNBQU8sRUFBRSxjQUFjLGNBQWMsY0FBYyxhQUFhLGFBQWEsWUFBQTtBQUMvRTtBQUtNLFNBQVUsaUJBQ2QsU0FDQSxPQUFnQztBQUVoQyxNQUFJ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
@@ -57,17 +57,17 @@ const style = css`*,
57
57
  }
58
58
 
59
59
  :host(:not([expanded])) .sbb-footer-wrapper {
60
- padding-inline: var(--sbb-layout-base-offset-responsive);
60
+ padding-inline: var(--sbb-page-spacing-padding, var(--sbb-layout-base-offset-responsive));
61
61
  margin-inline: auto;
62
62
  width: 100%;
63
63
  }
64
64
  @media (min-width: calc(90rem)) {
65
65
  :host(:not([expanded])) .sbb-footer-wrapper {
66
- max-width: calc(var(--sbb-layout-base-page-max-width) + 2 * var(--sbb-layout-base-offset-responsive));
66
+ max-width: var(--sbb-spacing-max-width, calc(var(--sbb-layout-base-page-max-width) + 2 * var(--sbb-layout-base-offset-responsive)));
67
67
  }
68
68
  }
69
69
  :host([expanded]) .sbb-footer-wrapper {
70
- padding-inline: var(--sbb-spacing-responsive-xxs);
70
+ padding-inline: var(--sbb-page-spacing-padding, var(--sbb-spacing-responsive-xxs));
71
71
  }
72
72
 
73
73
  .sbb-footer__title {
@@ -92,17 +92,17 @@ const style = css`*,
92
92
  height: var(--sbb-header-height);
93
93
  }
94
94
  :host(:not([expanded])) .sbb-header__wrapper {
95
- padding-inline: var(--sbb-layout-base-offset-responsive);
95
+ padding-inline: var(--sbb-page-spacing-padding, var(--sbb-layout-base-offset-responsive));
96
96
  margin-inline: auto;
97
97
  width: 100%;
98
98
  }
99
99
  @media (min-width: calc(90rem)) {
100
100
  :host(:not([expanded])) .sbb-header__wrapper {
101
- max-width: calc(var(--sbb-layout-base-page-max-width) + 2 * var(--sbb-layout-base-offset-responsive));
101
+ max-width: var(--sbb-spacing-max-width, calc(var(--sbb-layout-base-page-max-width) + 2 * var(--sbb-layout-base-offset-responsive)));
102
102
  }
103
103
  }
104
104
  :host([expanded]) .sbb-header__wrapper {
105
- padding-inline: var(--sbb-spacing-responsive-xxs);
105
+ padding-inline: var(--sbb-page-spacing-padding, var(--sbb-spacing-responsive-xxs));
106
106
  }
107
107
 
108
108
  ::slotted(:is(sbb-header-button, sbb-header-link):first-child) {
@@ -12,7 +12,8 @@ const style = css`*,
12
12
  --sbb-lead-container-background-color: var(--sbb-background-color-1);
13
13
  --sbb-lead-container-image-ratio: 2 / 1;
14
14
  --sbb-lead-container-image-overlap: var(--sbb-spacing-fixed-24x);
15
- --sbb-lead-container-padding-block: var(--sbb-spacing-responsive-l);
15
+ --sbb-lead-container-content-padding-block: var(--sbb-spacing-responsive-l);
16
+ --sbb-lead-container-padding-block: 0 var(--sbb-spacing-responsive-l);
16
17
  --sbb-lead-container-padding-inline: var(--sbb-layout-base-offset-responsive);
17
18
  --sbb-lead-container-border-radius: var(--sbb-border-radius-6x);
18
19
  --sbb-lead-container-image-border-radius: 0;
@@ -29,7 +30,7 @@ const style = css`*,
29
30
  }
30
31
 
31
32
  .sbb-lead-container {
32
- padding-block-end: var(--sbb-spacing-responsive-l);
33
+ padding-block: var(--sbb-lead-container-padding-block);
33
34
  }
34
35
 
35
36
  ::slotted([slot=image]) {
@@ -71,13 +72,13 @@ const style = css`*,
71
72
  display: grid;
72
73
  gap: var(--sbb-grid-base-gutter-responsive);
73
74
  grid-template-columns: repeat(var(--sbb-grid-base-columns), 1fr);
74
- padding-inline: var(--sbb-layout-base-offset-responsive);
75
+ padding-inline: var(--sbb-page-spacing-padding, var(--sbb-layout-base-offset-responsive));
75
76
  margin-inline: auto;
76
77
  width: 100%;
77
78
  }
78
79
  @media (min-width: calc(90rem)) {
79
80
  .sbb-lead-container-content-wrapper {
80
- max-width: calc(var(--sbb-layout-base-page-max-width) + 2 * var(--sbb-layout-base-offset-responsive));
81
+ max-width: var(--sbb-spacing-max-width, calc(var(--sbb-layout-base-page-max-width) + 2 * var(--sbb-layout-base-offset-responsive)));
81
82
  }
82
83
  }
83
84
  @media (min-width: calc(64rem)) {
@@ -87,9 +88,9 @@ const style = css`*,
87
88
  }
88
89
 
89
90
  .sbb-lead-container-content {
90
- z-index: 1;
91
+ position: relative;
91
92
  border-radius: var(--sbb-lead-container-border-radius);
92
- padding-block: var(--sbb-lead-container-padding-block);
93
+ padding-block: var(--sbb-lead-container-content-padding-block);
93
94
  background-color: var(--sbb-lead-container-background-color);
94
95
  grid-column: 1/-1;
95
96
  }
@@ -149,4 +150,4 @@ let SbbLeadContainerElement = (() => {
149
150
  export {
150
151
  SbbLeadContainerElement
151
152
  };
152
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGVhZC1jb250YWluZXIvbGVhZC1jb250YWluZXIuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIExpdEVsZW1lbnQsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbGVhZC1jb250YWluZXIuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBUaGUgYHNiYi1sZWFkLWNvbnRhaW5lcmAgY2FuIGJlIHVzZWQgZm9yIHByb2R1Y3QgcGFnZXMgdG8gZGlzcGxheSBhIGxlYWQgaW1hZ2UgYW5kIGZvbGxvd2luZyBjb250ZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGFueSBjb250ZW50IHRvIHRoZSBjb250YWluZXIuXG4gKiBAc2xvdCBpbWFnZSAtIFVzZSB0aGUgaW1hZ2Ugc2xvdCB0byBwcm92aWRlIHRoZSBsZWFkIGltYWdlLlxuICogYHNiYi1pbWFnZWAsIGBpbWdgIGFuZCBgcGljdHVyZWAgZWxlbWVudHMgYXJlIHN1cHBvcnRlZC5cbiAqIEZvciBvdGhlciBlbGVtZW50cyB0aGUgYXNwZWN0IHJhdGlvIGhhcyB0byBiZSBzZXQgbWFudWFsbHkuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1sZWFkLWNvbnRhaW5lcicpXG5jbGFzcyBTYmJMZWFkQ29udGFpbmVyRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItbGVhZC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1sZWFkLWNvbnRhaW5lci1pbWFnZVwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJpbWFnZVwiPjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gQ29udGVudCB3cmFwcGVyIG5lZWRlZCBiZWNhdXNlIGdyaWQgbmVlZHMgdG8gYmUgYXBwbGllZCBidXQgY29udGFpbmVyIGltYWdlIHNob3VsZCBub3QgYmUgdG91Y2hlZCBieSBncmlkLiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1sZWFkLWNvbnRhaW5lci1jb250ZW50LXdyYXBwZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWxlYWQtY29udGFpbmVyLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbGVhZC1jb250YWluZXInOiBTYmJMZWFkQ29udGFpbmVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWVNLDJCQUF1QixNQUFBOzswQkFENUIsY0FBYyxvQkFBb0IsQ0FBQzs7OztvQkFDRTtBQUFSLEVBQUEsbUJBQVEsWUFBVTtBQUFBLElBRzNCLFNBQU07QUFDdkIsYUFBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBYVQ7QUFBQTs7QUFqQkYsaUJBQUEsTUFBQSxtQkFBQSxFQUFBLE9BQUEsV0FBQSxHQUFBLGtCQUFBLEVBQUEsTUFBQSxTQUFBLE1BQUEsV0FBQSxNQUFBLFVBQUEsVUFBQSxHQUFBLE1BQUEsdUJBQUE7OztRQUN5QixHQUFBLFNBQXlCLE9BRDVDLGtCQUFBLFlBQUEsdUJBQUEsR0FBd0I7OzsifQ==
153
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZWxlbWVudHMvbGVhZC1jb250YWluZXIvbGVhZC1jb250YWluZXIuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIExpdEVsZW1lbnQsIHR5cGUgVGVtcGxhdGVSZXN1bHQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vbGVhZC1jb250YWluZXIuc2Nzcz9saXQmaW5saW5lJztcblxuLyoqXG4gKiBUaGUgYHNiYi1sZWFkLWNvbnRhaW5lcmAgY2FuIGJlIHVzZWQgZm9yIHByb2R1Y3QgcGFnZXMgdG8gZGlzcGxheSBhIGxlYWQgaW1hZ2UgYW5kIGZvbGxvd2luZyBjb250ZW50LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIGFueSBjb250ZW50IHRvIHRoZSBjb250YWluZXIuXG4gKiBAc2xvdCBpbWFnZSAtIFVzZSB0aGUgaW1hZ2Ugc2xvdCB0byBwcm92aWRlIHRoZSBsZWFkIGltYWdlLlxuICogYHNiYi1pbWFnZWAsIGBpbWdgIGFuZCBgcGljdHVyZWAgZWxlbWVudHMgYXJlIHN1cHBvcnRlZC5cbiAqIEZvciBvdGhlciBlbGVtZW50cyB0aGUgYXNwZWN0IHJhdGlvIGhhcyB0byBiZSBzZXQgbWFudWFsbHkuXG4gKi9cbmV4cG9ydFxuQGN1c3RvbUVsZW1lbnQoJ3NiYi1sZWFkLWNvbnRhaW5lcicpXG5jbGFzcyBTYmJMZWFkQ29udGFpbmVyRWxlbWVudCBleHRlbmRzIExpdEVsZW1lbnQge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBzdHlsZTtcblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGBcbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItbGVhZC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1sZWFkLWNvbnRhaW5lci1pbWFnZVwiPlxuICAgICAgICAgIDxzbG90IG5hbWU9XCJpbWFnZVwiPjwvc2xvdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0gQ29udGVudCB3cmFwcGVyIG5lZWRlZCBiZWNhdXNlIGdyaWQgbmVlZHMgdG8gYmUgYXBwbGllZCBidXQgY29udGFpbmVyIGltYWdlIHNob3VsZCBub3QgYmUgdG91Y2hlZCBieSBncmlkLiAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNiYi1sZWFkLWNvbnRhaW5lci1jb250ZW50LXdyYXBwZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2JiLWxlYWQtY29udGFpbmVyLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItbGVhZC1jb250YWluZXInOiBTYmJMZWFkQ29udGFpbmVyRWxlbWVudDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFlTSwyQkFBdUIsTUFBQTs7MEJBRDVCLGNBQWMsb0JBQW9CLENBQUM7Ozs7b0JBQ0U7QUFBUixFQUFBLG1CQUFRLFlBQVU7QUFBQSxJQUczQixTQUFNO0FBQ3ZCLGFBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQWFUO0FBQUE7O0FBakJGLGlCQUFBLE1BQUEsbUJBQUEsRUFBQSxPQUFBLFdBQUEsR0FBQSxrQkFBQSxFQUFBLE1BQUEsU0FBQSxNQUFBLFdBQUEsTUFBQSxVQUFBLFVBQUEsR0FBQSxNQUFBLHVCQUFBOzs7UUFDeUIsR0FBQSxTQUF5QixPQUQ1QyxrQkFBQSxZQUFBLHVCQUFBLEdBQXdCOzs7In0=
@@ -9,19 +9,13 @@ import { __esDecorate, __runInitializers } from "tslib";
9
9
  import { property } from "lit/decorators.js";
10
10
  import { html } from "lit/static-html.js";
11
11
  import { SbbIconNameMixin } from "../../icon.js";
12
- import { S as SbbLinkCommonElementMixin, s as style } from "../../link-common-DPLJx5Uo.js";
12
+ import { S as SbbLinkCommonElementMixin, s as style } from "../../link-common-BDFF9Oiz.js";
13
13
  import { css } from "lit";
14
14
  const blockStyle = css`:host {
15
15
  --sbb-link-color-hover: var(--sbb-color-primary125);
16
16
  --sbb-link-color-hover: light-dark(var(--sbb-color-primary125), var(--sbb-color-graphite));
17
17
  --sbb-link-color-active: var(--sbb-color-primary150);
18
18
  --sbb-link-color-active: light-dark(var(--sbb-color-primary150), var(--sbb-color-metal));
19
- --sbb-link-text-decoration-color: color-mix(in srgb, currentcolor 80%, white);
20
- --sbb-link-text-decoration-color: light-dark(
21
- color-mix(in srgb, currentcolor 80%, white),
22
- color-mix(in srgb, currentcolor 80%, black)
23
- );
24
- --sbb-link-text-decoration-color-hover: currentcolor;
25
19
  --sbb-link-color-normal: var(--sbb-color-granite);
26
20
  --sbb-link-color-normal: light-dark(var(--sbb-color-granite), var(--sbb-color-white));
27
21
  --sbb-link-color-hover: var(--sbb-color-primary125);
@@ -34,8 +28,6 @@ const blockStyle = css`:host {
34
28
 
35
29
  :host([negative]) {
36
30
  --sbb-focus-outline-color: var(--sbb-focus-outline-color-dark);
37
- --sbb-link-text-decoration-color: color-mix(in srgb, currentcolor 80%, black);
38
- --sbb-link-text-decoration-color-hover: currentcolor;
39
31
  --sbb-link-color-normal: var(--sbb-color-1-negative);
40
32
  --sbb-link-color-hover: var(--sbb-color-4-negative);
41
33
  --sbb-link-color-active: var(--sbb-color-silver);
@@ -45,13 +37,11 @@ const blockStyle = css`:host {
45
37
  --sbb-link-color-normal: var(--sbb-color-black);
46
38
  --sbb-link-color-normal: light-dark(var(--sbb-color-black), var(--sbb-color-cement));
47
39
  --sbb-link-text-decoration-line: underline;
48
- --sbb-link-text-decoration-color: currentcolor;
49
40
  }
50
41
 
51
42
  :host(.sbb-active[negative]) {
52
43
  --sbb-link-color-normal: var(--sbb-color-cement);
53
44
  --sbb-link-text-decoration-line: underline;
54
- --sbb-link-text-decoration-color: currentcolor;
55
45
  }
56
46
 
57
47
  .sbb-action-base {
@@ -141,4 +131,4 @@ const SbbBlockLinkCommonElementMixin = (superClass) => {
141
131
  export {
142
132
  SbbBlockLinkCommonElementMixin
143
133
  };
144
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stbGluay1jb21tb24uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9saW5rL2NvbW1vbi9ibG9jay1saW5rLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkFjdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiSWNvblBsYWNlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5qcyc7XG5cbmltcG9ydCB7IFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuL2xpbmstY29tbW9uLmpzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9vcmRlclxuaW1wb3J0IGJsb2NrU3R5bGUgZnJvbSAnLi9ibG9jay1saW5rLnNjc3M/bGl0JmlubGluZSc7XG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9saW5rLnNjc3M/bGl0JmlubGluZSc7XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIFNiYkJsb2NrTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGUgZXh0ZW5kcyBTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluKFxuICBTYmJJY29uTmFtZU1peGluKFNiYkFjdGlvbkJhc2VFbGVtZW50KSxcbikge1xuICBwdWJsaWMgYWNjZXNzb3IgaWNvblBsYWNlbWVudDogU2JiSWNvblBsYWNlbWVudDtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkJsb2NrTGlua0NvbW1vbkVsZW1lbnRNaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJBY3Rpb25CYXNlRWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50XG4gICAgZXh0ZW5kcyBTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluKFNiYkljb25OYW1lTWl4aW4oc3VwZXJDbGFzcykpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkJsb2NrTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbc3R5bGUsIGJsb2NrU3R5bGVdO1xuXG4gICAgLyoqIE1vdmVzIHRoZSBpY29uIHRvIHRoZSBlbmQgb2YgdGhlIGNvbXBvbmVudCBpZiBzZXQgdG8gdHJ1ZS4gKi9cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpY29uLXBsYWNlbWVudCcsIHJlZmxlY3Q6IHRydWUgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgaWNvblBsYWNlbWVudDogU2JiSWNvblBsYWNlbWVudCA9ICdzdGFydCc7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWxpbmtfX2ljb25cIj4gJHtzdXBlci5yZW5kZXJJY29uU2xvdCgpfSA8L3NwYW4+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIGA7XG4gICAgfVxuICB9XG4gIHJldHVybiBTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlPiAmXG4gICAgVDtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFCTyxNQUFNLGlDQUFpQyxDQUM1QyxlQUMrRDtNQUNoRCw2QkFBeUIsTUFBQTs7QUFDOUIsUUFBQSxjQUFBLDBCQUEwQixpQkFBaUIsVUFBVSxDQUFDOzs7O0FBRGpELFdBQUEsbUJBQ0wsWUFBdUQ7QUFBQTs7QUFPL0QsNERBQUEsa0JBQUEsTUFBQSw2QkFBa0QsT0FBTzs7OztNQUF6RCxJQUFnQixnQkFBYTtBQUFBLGVBQUEsbUJBQUE7QUFBQSxNQUFBO0FBQUEsTUFBN0IsSUFBZ0IsY0FBYSxPQUFBO0FBQUEsMkJBQUEsaUNBQUE7QUFBQSxNQUFBO0FBQUEsTUFFVixpQkFBYztBQUMvQixlQUFPO0FBQUEsd0NBQzJCLE1BQU0sZ0JBQWdCO0FBQUE7QUFBQTtBQUFBLE1BRzFEO0FBQUEsT0FQQTs7bUNBREMsU0FBUyxFQUFFLFdBQVcsa0JBQWtCLFNBQVMsS0FBQSxDQUFNLENBQUM7QUFDekQsbUJBQUEsSUFBQSxNQUFBLDJCQUFBLEVBQUEsTUFBQSxZQUFBLE1BQUEsaUJBQUEsUUFBQSxPQUFBLFNBQUEsT0FBQSxRQUFBLEVBQUEsS0FBQSxDQUFBLFFBQUEsbUJBQUEsS0FBQSxLQUFBLENBQUEsUUFBQSxJQUFnQixlQUFhLEtBQUEsQ0FBQSxLQUFBLFVBQUE7QUFBQSxZQUFiLGdCQUFhO0FBQUEsTUFBQSxLQUFBLFVBQUEsVUFBQSxHQUFBLDZCQUFBLGdDQUFBOztVQUpmLEdBQUEsU0FBeUIsQ0FBQyxPQUFPLFVBQVUsR0FKNUM7QUFBQTtBQWlCZixTQUFPO0FBRVQ7In0=
134
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2stbGluay1jb21tb24uanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9lbGVtZW50cy9saW5rL2NvbW1vbi9ibG9jay1saW5rLWNvbW1vbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENTU1Jlc3VsdEdyb3VwLCBUZW1wbGF0ZVJlc3VsdCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQvc3RhdGljLWh0bWwuanMnO1xuXG5pbXBvcnQgdHlwZSB7IFNiYkFjdGlvbkJhc2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlLWVsZW1lbnRzLmpzJztcbmltcG9ydCB0eXBlIHsgU2JiSWNvblBsYWNlbWVudCB9IGZyb20gJy4uLy4uL2NvcmUvaW50ZXJmYWNlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IEFic3RyYWN0Q29uc3RydWN0b3IgfSBmcm9tICcuLi8uLi9jb3JlL21peGlucy5qcyc7XG5pbXBvcnQgeyBTYmJJY29uTmFtZU1peGluIH0gZnJvbSAnLi4vLi4vaWNvbi5qcyc7XG5cbmltcG9ydCB7IFNiYkxpbmtDb21tb25FbGVtZW50TWl4aW4gfSBmcm9tICcuL2xpbmstY29tbW9uLmpzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQteC9vcmRlclxuaW1wb3J0IGJsb2NrU3R5bGUgZnJvbSAnLi9ibG9jay1saW5rLnNjc3M/bGl0JmlubGluZSc7XG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9saW5rLnNjc3M/bGl0JmlubGluZSc7XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIFNiYkJsb2NrTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGUgZXh0ZW5kcyBTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluKFxuICBTYmJJY29uTmFtZU1peGluKFNiYkFjdGlvbkJhc2VFbGVtZW50KSxcbikge1xuICBwdWJsaWMgYWNjZXNzb3IgaWNvblBsYWNlbWVudDogU2JiSWNvblBsYWNlbWVudDtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFNiYkJsb2NrTGlua0NvbW1vbkVsZW1lbnRNaXhpbiA9IDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJBY3Rpb25CYXNlRWxlbWVudD4+KFxuICBzdXBlckNsYXNzOiBULFxuKTogQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlPiAmIFQgPT4ge1xuICBhYnN0cmFjdCBjbGFzcyBTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50XG4gICAgZXh0ZW5kcyBTYmJMaW5rQ29tbW9uRWxlbWVudE1peGluKFNiYkljb25OYW1lTWl4aW4oc3VwZXJDbGFzcykpXG4gICAgaW1wbGVtZW50cyBQYXJ0aWFsPFNiYkJsb2NrTGlua0NvbW1vbkVsZW1lbnRNaXhpblR5cGU+XG4gIHtcbiAgICBwdWJsaWMgc3RhdGljIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbc3R5bGUsIGJsb2NrU3R5bGVdO1xuXG4gICAgLyoqIE1vdmVzIHRoZSBpY29uIHRvIHRoZSBlbmQgb2YgdGhlIGNvbXBvbmVudCBpZiBzZXQgdG8gdHJ1ZS4gKi9cbiAgICBAcHJvcGVydHkoeyBhdHRyaWJ1dGU6ICdpY29uLXBsYWNlbWVudCcsIHJlZmxlY3Q6IHRydWUgfSlcbiAgICBwdWJsaWMgYWNjZXNzb3IgaWNvblBsYWNlbWVudDogU2JiSWNvblBsYWNlbWVudCA9ICdzdGFydCc7XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyVGVtcGxhdGUoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2JiLWxpbmtfX2ljb25cIj4gJHtzdXBlci5yZW5kZXJJY29uU2xvdCgpfSA8L3NwYW4+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIGA7XG4gICAgfVxuICB9XG4gIHJldHVybiBTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50IGFzIHVua25vd24gYXMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxTYmJCbG9ja0xpbmtDb21tb25FbGVtZW50TWl4aW5UeXBlPiAmXG4gICAgVDtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBcUJPLE1BQU0saUNBQWlDLENBQzVDLGVBQytEO01BQ2hELDZCQUF5QixNQUFBOztBQUM5QixRQUFBLGNBQUEsMEJBQTBCLGlCQUFpQixVQUFVLENBQUM7Ozs7QUFEakQsV0FBQSxtQkFDTCxZQUF1RDtBQUFBOztBQU8vRCw0REFBQSxrQkFBQSxNQUFBLDZCQUFrRCxPQUFPOzs7O01BQXpELElBQWdCLGdCQUFhO0FBQUEsZUFBQSxtQkFBQTtBQUFBLE1BQUE7QUFBQSxNQUE3QixJQUFnQixjQUFhLE9BQUE7QUFBQSwyQkFBQSxpQ0FBQTtBQUFBLE1BQUE7QUFBQSxNQUVWLGlCQUFjO0FBQy9CLGVBQU87QUFBQSx3Q0FDMkIsTUFBTSxnQkFBZ0I7QUFBQTtBQUFBO0FBQUEsTUFHMUQ7QUFBQSxPQVBBOzttQ0FEQyxTQUFTLEVBQUUsV0FBVyxrQkFBa0IsU0FBUyxLQUFBLENBQU0sQ0FBQztBQUN6RCxtQkFBQSxJQUFBLE1BQUEsMkJBQUEsRUFBQSxNQUFBLFlBQUEsTUFBQSxpQkFBQSxRQUFBLE9BQUEsU0FBQSxPQUFBLFFBQUEsRUFBQSxLQUFBLENBQUEsUUFBQSxtQkFBQSxLQUFBLEtBQUEsQ0FBQSxRQUFBLElBQWdCLGVBQWEsS0FBQSxDQUFBLEtBQUEsVUFBQTtBQUFBLFlBQWIsZ0JBQWE7QUFBQSxNQUFBLEtBQUEsVUFBQSxVQUFBLEdBQUEsNkJBQUEsZ0NBQUE7O1VBSmYsR0FBQSxTQUF5QixDQUFDLE9BQU8sVUFBVSxHQUo1QztBQUFBO0FBaUJmLFNBQU87QUFFVDsifQ==